From b7209aecdeb793a6c8e1dfbd1619068473b3ea7b Mon Sep 17 00:00:00 2001 From: Julian P Samaroo Date: Wed, 6 Nov 2024 08:39:04 -0800 Subject: [PATCH] GPU stencil updates --- Manifest.toml | 1074 ++++++++++++++++++++++++++++++++++++++- Project.toml | 2 + parts/gpu/stencil.ipynb | 456 +++++++++++------ 3 files changed, 1351 insertions(+), 181 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index ea017d0..abef563 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,21 +2,23 @@ julia_version = "1.10.4" manifest_format = "2.0" -project_hash = "69e713aa7bef30d3e086df1df9ca4df7c891129e" +project_hash = "d8dba53aed75f9022c283d23d81b971f05df008e" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] [deps.AbstractFFTs.extensions] AbstractFFTsChainRulesCoreExt = "ChainRulesCore" AbstractFFTsTestExt = "Test" - [deps.AbstractFFTs.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +[[deps.AbstractTrees]] +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.5" [[deps.Accessors]] deps = ["CompositionsBase", "ConstructionBase", "InverseFunctions", "LinearAlgebra", "MacroTools", "Markdown"] @@ -53,6 +55,23 @@ weakdeps = ["StaticArrays"] [deps.Adapt.extensions] AdaptStaticArraysExt = "StaticArrays" +[[deps.AdaptivePredicates]] +git-tree-sha1 = "7e651ea8d262d2d74ce75fdf47c4d63c07dba7a6" +uuid = "35492f91-a3bd-45ad-95db-fcad7dcfedb7" +version = "1.2.0" + +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" + +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" @@ -66,6 +85,24 @@ git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be" uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" version = "0.1.0" +[[deps.Automa]] +deps = ["PrecompileTools", "SIMD", "TranscodingStreams"] +git-tree-sha1 = "a8f503e8e1a5f583fbef15a8440c8c7e32185df2" +uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" +version = "1.1.0" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.1.0" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.7" + [[deps.BFloat16s]] deps = ["LinearAlgebra", "Printf", "Random", "Test"] git-tree-sha1 = "2c7cc21e8678eff479978a0a2ef5ce2f51b63dff" @@ -103,11 +140,26 @@ git-tree-sha1 = "f1dff6729bc61f4d49e140da1af55dcd1ac97b2f" uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" version = "1.5.0" +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "8873e196c2eb87962a2048b3b8e08946535864a1" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+2" + [[deps.CEnum]] git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" version = "0.5.0" +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" + [[deps.CUDA]] deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "Crayons", "DataFrames", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LLVMLoopInfo", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "NVTX", "Preferences", "PrettyTables", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "StaticArrays", "Statistics", "demumble_jll"] git-tree-sha1 = "e0725a467822697171af4dae15cec10b4fc19053" @@ -142,17 +194,67 @@ git-tree-sha1 = "e43727b237b2879a34391eeb81887699a26f8f2f" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" version = "0.15.3+0" +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "7b6ad8c35f4bc3bca8eb78127c8b99719506a5fb" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.1.0" + +[[deps.CairoMakie]] +deps = ["CRC32c", "Cairo", "Cairo_jll", "Colors", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] +git-tree-sha1 = "fbfdb7cbe17bd14b60646c14c27a16e5038cde54" +uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +version = "0.12.15" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "009060c9a6168704143100f36ab08f06c2af4642" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.18.2+1" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "3e4b134270b372f2ed4d4d0e936aabaefc1802bc" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.25.0" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" + [[deps.ChunkSplitters]] git-tree-sha1 = "397b871ff701290cc122cca06af61c5bdf9f5605" uuid = "ae650224-84b6-46f8-82ea-d812ca08434e" version = "3.1.0" +[[deps.ColorBrewer]] +deps = ["Colors", "JSON", "Test"] +git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" +uuid = "a2cac450-b92f-5266-8821-25eda20663c8" +version = "0.4.0" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "13951eb68769ad1cd460cdb2e64e5e95f1bf123d" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.27.0" + [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" version = "0.11.5" +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" + [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" @@ -193,16 +295,17 @@ version = "1.10.2" git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" version = "1.5.8" +weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"] [deps.ConstructionBase.extensions] ConstructionBaseIntervalSetsExt = "IntervalSets" ConstructionBaseLinearAlgebraExt = "LinearAlgebra" ConstructionBaseStaticArraysExt = "StaticArrays" - [deps.ConstructionBase.weakdeps] - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +[[deps.Contour]] +git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.3" [[deps.Crayons]] git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" @@ -235,6 +338,12 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DelaunayTriangulation]] +deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "PrecompileTools", "Random"] +git-tree-sha1 = "89df54fbe66e5872d91d8c2cd3a375f660c3fd64" +uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" +version = "1.6.1" + [[deps.DelimitedFiles]] deps = ["Mmap"] git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" @@ -245,6 +354,22 @@ version = "1.9.1" deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" +[[deps.Distributions]] +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "3101c32aab536e7a27b1763c0797dba151b899ad" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.113" + + [deps.Distributions.extensions] + DistributionsChainRulesCoreExt = "ChainRulesCore" + DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" + + [deps.Distributions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + [[deps.DocStringExtensions]] deps = ["LibGit2"] git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" @@ -256,20 +381,136 @@ deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" +[[deps.EarCut_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" +uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" +version = "2.2.4+0" + +[[deps.EnumX]] +git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" +uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" +version = "1.0.4" + +[[deps.ExactPredicates]] +deps = ["IntervalArithmetic", "Random", "StaticArrays"] +git-tree-sha1 = "b3f2ff58735b5f024c392fde763f29b057e4b025" +uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" +version = "2.2.8" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.6.2+0" + [[deps.ExprTools]] git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" version = "0.1.10" +[[deps.Extents]] +git-tree-sha1 = "81023caa0021a41712685887db1fc03db26f41f5" +uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" +version = "0.1.4" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "8cc47f299902e13f90405ddb5bf87e5d474c0d38" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "6.1.2+0" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.8.0" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4d81ed14783ec49ce9f2e168208a12ce1815aa25" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+1" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "62ca0547a14c57e98154423419d8a342dca75ca9" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.4" + +[[deps.FilePaths]] +deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"] +git-tree-sha1 = "919d9412dbf53a2e6fe74af62a73ceed0bce0629" +uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824" +version = "0.8.3" + +[[deps.FilePathsBase]] +deps = ["Compat", "Dates"] +git-tree-sha1 = "7878ff7172a8e6beedd1dea14bd27c3c6340d361" +uuid = "48062228-2e41-5def-b9a4-89aafe57970f" +version = "0.9.22" +weakdeps = ["Mmap", "Test"] + + [deps.FilePathsBase.extensions] + FilePathsBaseMmapExt = "Mmap" + FilePathsBaseTestExt = "Test" + [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +[[deps.FillArrays]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "6a70198746448456524cb442b8af316927ff3e1a" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.13.0" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" + [[deps.FixedPointNumbers]] deps = ["Statistics"] git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" version = "0.8.5" +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] +git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.96+0" + +[[deps.Format]] +git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.7" + +[[deps.FreeType]] +deps = ["CEnum", "FreeType2_jll"] +git-tree-sha1 = "907369da0f8e80728ab49c1c7e09327bf0d6d999" +uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" +version = "4.1.1" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.2+0" + +[[deps.FreeTypeAbstraction]] +deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] +git-tree-sha1 = "84dfe824bd6fdf2a5d73bb187ff31b5549b2a79c" +uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" +version = "0.10.4" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.14+0" + [[deps.Future]] deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" @@ -292,29 +533,143 @@ git-tree-sha1 = "1d6f290a5eb1201cd63574fbc4440c788d5cb38f" uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" version = "0.27.8" +[[deps.GeoFormatTypes]] +git-tree-sha1 = "59107c179a586f0fe667024c5eb7033e81333271" +uuid = "68eda718-8dee-11e9-39e7-89f7f65f511f" +version = "0.4.2" + +[[deps.GeoInterface]] +deps = ["Extents", "GeoFormatTypes"] +git-tree-sha1 = "826b4fd69438d9ce4d2b19de6bc2f970f45f0f88" +uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" +version = "1.3.8" + +[[deps.GeometryBasics]] +deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "b62f2b2d76cee0d61a2ef2b3118cd2a3215d3134" +uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" +version = "0.4.11" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Giflib_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0224cce99284d997f6880a42ef715a37c99338d1" +uuid = "59f7168a-df46-5410-90c8-f2779963d0ec" +version = "5.2.2+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.80.5+0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.GridLayoutBase]] +deps = ["GeometryBasics", "InteractiveUtils", "Observables"] +git-tree-sha1 = "fc713f007cff99ff9e50accba6373624ddd33588" +uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" +version = "0.11.0" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] +git-tree-sha1 = "401e4f3f30f43af2c8478fc008da50096ea5240f" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "8.3.1+0" + [[deps.Hwloc]] deps = ["CEnum", "Hwloc_jll", "Printf"] git-tree-sha1 = "6a3d80f31ff87bc94ab22a7b8ec2f263f9a6a583" uuid = "0e44f5e4-bd66-52a0-8798-143a42290a1d" version = "3.3.0" +weakdeps = ["AbstractTrees"] [deps.Hwloc.extensions] HwlocTrees = "AbstractTrees" - [deps.Hwloc.weakdeps] - AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" - [[deps.Hwloc_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "dd3b49277ec2bb2c6b94eb1604d4d0616016f7a6" uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" version = "2.11.2+0" +[[deps.HypergeometricFunctions]] +deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "7c4195be1649ae622304031ed46a2f4df989f1eb" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.24" + [[deps.IJulia]] deps = ["Base64", "Conda", "Dates", "InteractiveUtils", "JSON", "Libdl", "Logging", "Markdown", "MbedTLS", "Pkg", "Printf", "REPL", "Random", "SoftGlobalScope", "Test", "UUIDs", "ZMQ"] -git-tree-sha1 = "1702f79fa30f56b68d5b2fd6fb3a9a14ff6f9130" +git-tree-sha1 = "1b1299f7d6617291f3d260e9f5b0250afdaac8c0" uuid = "7073ff75-c697-5162-941a-fcdaad2a7d2a" -version = "1.25.0" +version = "1.26.0" + +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.11" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.7" + +[[deps.ImageCore]] +deps = ["ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"] +git-tree-sha1 = "b2a7eaa169c13f5bcae8131a83bc30eff8f71be0" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.10.2" + +[[deps.ImageIO]] +deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs", "WebP"] +git-tree-sha1 = "696144904b76e1ca433b886b4e7edd067d76cbf7" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.9" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.9" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0936ba688c6d201805a83da835b55c61a180db52" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.11+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + +[[deps.Inflate]] +git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.5" [[deps.InitialValues]] git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3" @@ -334,10 +689,59 @@ version = "1.4.2" ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] +git-tree-sha1 = "10bd689145d2c3b2a9844005d01087cc1194e79e" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2024.2.1+0" + [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "88a101217d7cb38a7b481ccd50d21876e1d1b0e0" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.15.1" +weakdeps = ["Unitful"] + + [deps.Interpolations.extensions] + InterpolationsUnitfulExt = "Unitful" + +[[deps.IntervalArithmetic]] +deps = ["CRlibm_jll", "LinearAlgebra", "MacroTools", "RoundingEmulator"] +git-tree-sha1 = "24c095b1ec7ee58b936985d31d5df92f9b9cfebb" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.22.19" + + [deps.IntervalArithmetic.extensions] + IntervalArithmeticDiffRulesExt = "DiffRules" + IntervalArithmeticForwardDiffExt = "ForwardDiff" + IntervalArithmeticIntervalSetsExt = "IntervalSets" + IntervalArithmeticRecipesBaseExt = "RecipesBase" + + [deps.IntervalArithmetic.weakdeps] + DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + +[[deps.IntervalSets]] +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.7.10" + + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" + + [deps.IntervalSets.weakdeps] + Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + [[deps.InverseFunctions]] git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" @@ -353,6 +757,22 @@ git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" version = "1.3.0" +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.Isoband]] +deps = ["isoband_jll"] +git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" +uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" +version = "0.1.1" + +[[deps.IterTools]] +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.10.0" + [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" uuid = "82899510-4779-5014-852e-03e436cf321d" @@ -370,6 +790,18 @@ git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" +[[deps.JpegTurbo]] +deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] +git-tree-sha1 = "fa6d0bcff8583bac20f1ffa708c3913ca605c611" +uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" +version = "0.1.5" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "25ee0be4d43d0269027024d75a24c24d6c6e590c" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "3.0.4+0" + [[deps.JuliaNVTXCallbacks_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "af433a10f3942e882d3c671aacb203e006a5808f" @@ -392,6 +824,24 @@ version = "0.9.29" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +[[deps.KernelDensity]] +deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] +git-tree-sha1 = "7d703202e65efa1369de1279c162b915e245eed1" +uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" +version = "0.6.9" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.2+0" + +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "36bdbc52f13a7d1dcb0f3cd694e01677a515655b" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "4.0.0+0" + [[deps.LLVM]] deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Unicode"] git-tree-sha1 = "d422dfd9707bec6617335dc2ea3c5172a87d5908" @@ -413,6 +863,18 @@ git-tree-sha1 = "2e5c102cfc41f48ae4740c7eca7743cc7e7b75ea" uuid = "8b046642-f1f6-4319-8d3c-209ddc03c586" version = "1.0.0" +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "78211fb6cbc872f77cad3fc0b6cf647d923f4929" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "18.1.7+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.2+1" + [[deps.LaTeXStrings]] git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" @@ -422,6 +884,11 @@ version = "1.4.0" deps = ["Artifacts", "Pkg"] uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" +[[deps.LazyModules]] +git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" +uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" +version = "0.3.1" + [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -449,13 +916,83 @@ version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] +git-tree-sha1 = "8be878062e0ffa2c3f67bb58a595375eda5de80b" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.11.0+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c6ce1e19f3aec9b59186bdf06cdf3c4fc5f5f3e6" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.50.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "61dfdba58e585066d8bce214c5a51eaa0539f269" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+1" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.40.1+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "b404131d06f7886402758c9ce2214b636eb4d54a" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.7.0+0" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.40.1+0" + [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.28" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] +git-tree-sha1 = "f046ccd0c6db2832a9f639e2c669c6fe867e5f4f" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2024.2.0+0" + [[deps.MPI]] deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] git-tree-sha1 = "892676019c58f34e38743bc989b0eca5bce5edc5" @@ -494,10 +1031,33 @@ git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.13" +[[deps.Makie]] +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageBase", "ImageIO", "InteractiveUtils", "Interpolations", "IntervalSets", "InverseFunctions", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"] +git-tree-sha1 = "f7907907eb914138cc9e9ee66ab46f7a9efac8e8" +uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +version = "0.21.15" + +[[deps.MakieCore]] +deps = ["ColorTypes", "GeometryBasics", "IntervalSets", "Observables"] +git-tree-sha1 = "4604f03e5b057e8e62a95a44929cafc9585b0fe9" +uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" +version = "0.8.9" + +[[deps.MappedArrays]] +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.2" + [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +[[deps.MathTeXEngine]] +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] +git-tree-sha1 = "f45c8916e8385976e1ccd055c9874560c257ab13" +uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" +version = "0.6.2" + [[deps.MbedTLS]] deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" @@ -524,6 +1084,12 @@ version = "1.2.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.4" + [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2023.1.10" @@ -540,10 +1106,42 @@ git-tree-sha1 = "ce3269ed42816bf18d500c9f63418d4b0d9f5a3b" uuid = "e98f9f5b-d649-5603-91fd-7774390e6439" version = "3.1.0+2" +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore", "ImageMetadata"] +git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.1.1" + [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" +[[deps.Observables]] +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.5.5" + +[[deps.OffsetArrays]] +git-tree-sha1 = "1a27764e945a152f7ca7efa04de513d473e9542e" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.14.1" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + [[deps.OhMyThreads]] deps = ["BangBang", "ChunkSplitters", "StableTasks", "TaskLocalValues"] git-tree-sha1 = "5f81bdb937fd857bac9548fa8ab9390a06864bb5" @@ -555,23 +1153,99 @@ deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.23+4" +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "97db9e07fe2091882c765380ef58ec553074e9c7" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.3" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "8292dd5c8a38257111ada2174000a33745b06d4e" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.2.4+0" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+2" + [[deps.OpenMPI_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML", "Zlib_jll"] git-tree-sha1 = "bfce6d523861a6c562721b262c0d1aaeead2647f" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" version = "5.0.5+0" +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.15+1" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6703a85cb3781bd5909d48730a67205f3f31a575" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.3+0" + [[deps.OrderedCollections]] git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.6.3" +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+1" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.31" + +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.4.3" + +[[deps.Packing]] +deps = ["GeometryBasics"] +git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" +version = "0.5.0" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.12" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e127b609fb9ecba6f201ba7ab753d5a605d53801" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.54.1+0" + [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.8.1" +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.43.4+0" + [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" @@ -583,6 +1257,17 @@ git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" version = "0.3.3" +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] +git-tree-sha1 = "3ca9a356cd2e113c420f2c13bea19f8d3fb1cb18" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.4.3" + +[[deps.PolygonOps]] +git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" +uuid = "647866c9-e3ac-4575-94e7-e3d426903924" +version = "0.1.2" + [[deps.PooledArrays]] deps = ["DataAPI", "Future"] git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" @@ -615,6 +1300,35 @@ uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" deps = ["Printf"] uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.10.2" + +[[deps.PtrArrays]] +git-tree-sha1 = "77a42d78b6a92df47ab37e177b2deac405e1c88f" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.2.1" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "cda3b045cf9ef07a08ad46731f5a3165e56cf3da" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.11.1" + + [deps.QuadGK.extensions] + QuadGKEnzymeExt = "Enzyme" + + [deps.QuadGK.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" @@ -635,21 +1349,65 @@ git-tree-sha1 = "c6ec94d2aaba1ab2ff983052cf6a606ca5985902" uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143" version = "1.6.0" +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" + [[deps.Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" version = "1.2.2" +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.1" + [[deps.Requires]] deps = ["UUIDs"] git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "1.3.0" +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "852bd0f55565a9e973fcfee83a84413270224dc4" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.8.0" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.5.1+0" + +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" +[[deps.SIMD]] +deps = ["PrecompileTools"] +git-tree-sha1 = "98ca7c29edd6fc79cd74c61accb7010a4e7aee33" +uuid = "fdea26ae-647d-5447-a871-4b548cad5224" +version = "3.6.0" + [[deps.Scratch]] deps = ["Dates"] git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" @@ -665,6 +1423,40 @@ version = "1.4.7" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.ShaderAbstractions]] +deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "79123bc60c5507f035e6d1d9e563bb2971954ec8" +uuid = "65257c39-d410-5151-9873-9b3e5be5013e" +version = "0.4.1" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SignedDistanceFields]] +deps = ["Random", "Statistics", "Test"] +git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" +uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" +version = "0.4.0" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.3" + [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -685,25 +1477,44 @@ deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" version = "1.10.0" +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.4.0" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.StableRNGs]] +deps = ["Random"] +git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5" +uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" +version = "1.0.2" + [[deps.StableTasks]] git-tree-sha1 = "073d5c20d44129b20fe954720b97069579fa403b" uuid = "91464d47-22a1-43fe-8b7f-2d57ee82463f" version = "0.1.5" +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] git-tree-sha1 = "777657803913ffc7e8cc20f0fd04b634f871af8f" uuid = "90137ffa-7385-5640-81b9-e52037218182" version = "1.9.8" +weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] StaticArraysChainRulesCoreExt = "ChainRulesCore" StaticArraysStatisticsExt = "Statistics" - [deps.StaticArrays.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - [[deps.StaticArraysCore]] git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" @@ -714,12 +1525,52 @@ deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" version = "1.10.0" +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.3" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "b423576adc27097764a90e163157bcfc9acf0f46" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.3.2" +weakdeps = ["ChainRulesCore", "InverseFunctions"] + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + [[deps.StringManipulation]] deps = ["PrecompileTools"] git-tree-sha1 = "a6b1675a536c5ad1a60e5a5153e1fee12eb146e3" uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" version = "0.4.0" +[[deps.StructArrays]] +deps = ["ConstructionBase", "DataAPI", "Tables"] +git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" +uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +version = "0.6.18" +weakdeps = ["Adapt", "GPUArraysCore", "SparseArrays", "StaticArrays"] + + [deps.StructArrays.extensions] + StructArraysAdaptExt = "Adapt" + StructArraysGPUArraysCoreExt = "GPUArraysCore" + StructArraysSparseArraysExt = "SparseArrays" + StructArraysStaticArraysExt = "StaticArrays" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + [[deps.SuiteSparse_jll]] deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" @@ -758,6 +1609,12 @@ git-tree-sha1 = "d155450e6dff2a8bc2fcb81dcb194bd98b0aeb46" uuid = "ed4db957-447d-4319-bfb6-7fa9ae7ecf34" version = "0.1.2" +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -779,12 +1636,28 @@ git-tree-sha1 = "bb3c6f3b5600fbff028c43348365681b34d06499" uuid = "6f48bc29-05ce-4cc8-baad-4adcba581a18" version = "0.4.5" +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "SIMD", "UUIDs"] +git-tree-sha1 = "6ee0c220d0aecad18792c277ae358129cc50a475" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.11.0" + [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] git-tree-sha1 = "3a6f063d690135f5c1ba351412c82bae4d1402bf" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" version = "0.5.25" +[[deps.TranscodingStreams]] +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.11.3" + +[[deps.TriplotBase]] +git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" +uuid = "981d1d27-644d-49a2-9326-4793e63143c3" +version = "0.1.0" + [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" @@ -792,6 +1665,23 @@ uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.21.0" +weakdeps = ["ConstructionBase", "InverseFunctions"] + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + [[deps.UnsafeAtomics]] git-tree-sha1 = "6331ac3440856ea1988316b46045303bef658278" uuid = "013be700-e6cd-48c3-b4a1-df204f14c38f" @@ -808,6 +1698,84 @@ git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" version = "1.3.0" +[[deps.WebP]] +deps = ["CEnum", "ColorTypes", "FileIO", "FixedPointNumbers", "ImageCore", "libwebp_jll"] +git-tree-sha1 = "f1f6d497ff84039deeb37f264396dac0c2250497" +uuid = "e3aaa7dc-3e4b-44e0-be63-ffb868ccd7c1" +version = "0.1.2" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "c1a7aa6219628fcd757dede0ca95e245c5cd9511" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "1.0.0" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "6a451c6f33a176150f315726eba8b92fbfdb9ae7" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.13.4+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.41+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "15e637a697345f6743674f1322beefbc5dcd5cfc" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.6.3+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.6+0" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.11+0" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.17.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + [[deps.ZMQ]] deps = ["FileWatching", "PrecompileTools", "Sockets", "ZeroMQ_jll"] git-tree-sha1 = "18cfd00df3cbbebf8ea4ec7ea6bbceb3af716bd0" @@ -825,29 +1793,101 @@ deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+1" +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "555d1076590a6cc2fdee2ef1469451f872d8b41b" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.6+1" + [[deps.demumble_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "6498e3581023f8e530f34760d18f75a69e3a4ea8" uuid = "1e29f10c-031c-5a83-9565-69cddfc27673" version = "1.3.0+0" +[[deps.isoband_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" +uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" +version = "0.2.3+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.9.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "e17c115d55c5fbb7e52ebedb427a0dca79d4484e" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.2+0" + [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8a22cf860a7d27e4f3498a0fe0811a7957badb38" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.3+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "b70c870239dc3d7bc094eb2d6be9b73d27bef280" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.44+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] +git-tree-sha1 = "7dfa0fd9c783d3d0cc43ea1af53d69ba45c447df" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.10.3+1" + [[deps.libsodium_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "f76d682d87eefadd3f165d8d9fda436464213142" uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" version = "1.0.20+1" +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+2" + +[[deps.libwebp_jll]] +deps = ["Artifacts", "Giflib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libglvnd_jll", "Libtiff_jll", "libpng_jll"] +git-tree-sha1 = "ccbb625a89ec6195856a50aa2b668a5c08712c94" +uuid = "c5f90fcd-3b7e-5836-afba-fc50a0988cb2" +version = "1.4.0+0" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" version = "1.52.0+1" +[[deps.oneTBB_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493" +uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" +version = "2021.12.0+0" + [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+2" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "35976a1216d6c066ea32cba2150c4fa682b276fc" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "10164.0.0+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "dcc541bb19ed5b0ede95581fb2e41ecf179527d2" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.6.0+0" diff --git a/Project.toml b/Project.toml index 3abc490..617978d 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,7 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ChunkSplitters = "ae650224-84b6-46f8-82ea-d812ca08434e" Conda = "8f4d0f93-b110-5947-807f-2305c1781a2d" IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" @@ -8,6 +9,7 @@ KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" OhMyThreads = "67456a42-1dca-4109-a031-0a68de7e3ad5" +ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" ThreadPinning = "811555cd-349b-4f26-b7bc-1f208b848042" [compat] diff --git a/parts/gpu/stencil.ipynb b/parts/gpu/stencil.ipynb index 61f8ea6..80e5ca6 100644 --- a/parts/gpu/stencil.ipynb +++ b/parts/gpu/stencil.ipynb @@ -13,17 +13,7 @@ "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `/global/u2/t/train920/.julia/environments/v1.9/Project.toml`\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `/global/u2/t/train920/.julia/environments/v1.9/Manifest.toml`\n" - ] - } - ], + "outputs": [], "source": [ "#using Pkg\n", "#Pkg.add(\"CUDA\")" @@ -35,87 +25,46 @@ "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `/global/u2/t/train920/.julia/environments/v1.9/Project.toml`\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `/global/u2/t/train920/.julia/environments/v1.9/Manifest.toml`\n" - ] - } - ], + "outputs": [], "source": [ - "#import Pkg; \n", + "#import Pkg\n", "#Pkg.add(\"BenchmarkTools\")" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 23, "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/global/u2/t/train920/.julia/environments/v1.9/Project.toml`\n", - " \u001b[90m[92933f4c] \u001b[39m\u001b[92m+ ProgressMeter v1.10.2\u001b[39m\n", - "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `/global/u2/t/train920/.julia/environments/v1.9/Manifest.toml`\n", - " \u001b[90m[92933f4c] \u001b[39m\u001b[92m+ ProgressMeter v1.10.2\u001b[39m\n", - " \u001b[90m[8ba89e20] \u001b[39m\u001b[92m+ Distributed\u001b[39m\n" - ] - } - ], + "outputs": [], "source": [ - "#import Pkg; \n", + "#import Pkg\n", "#Pkg.add(\"ProgressMeter\")" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `/global/u2/t/train920/.julia/environments/v1.9/Project.toml`\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `/global/u2/t/train920/.julia/environments/v1.9/Manifest.toml`\n" - ] - } - ], + "outputs": [], "source": [ - "#import Pkg; \n", + "#import Pkg\n", "#Pkg.add(\"KernelAbstractions\")" ] }, { "cell_type": "code", "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `~/Julia_rabab/SC24/Project.toml`\n", - "\u001b[32m\u001b[1m No Changes\u001b[22m\u001b[39m to `~/Julia_rabab/SC24/Manifest.toml`\n" - ] - } - ], + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ - "#import Pkg; \n", - "#Pkg.add(\"Plots\")" + "#import Pkg\n", + "#Pkg.add(\"CairoMakie\")" ] }, { @@ -137,7 +86,7 @@ }, "outputs": [], "source": [ - "using BenchmarkTools" + "using BenchmarkTools # for benchmarking" ] }, { @@ -146,9 +95,20 @@ "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m\u001b[1mPrecompiling\u001b[22m\u001b[39m CairoMakie\n", + " CairoMakie\u001b[36m Being precompiled by another process (pid: 1288681, pidfile: /pscratch/sd/t/train921/depot/compiled/v1.10/CairoMakie/9mSey_z5c7n.ji.pidfile)\u001b[39m\n", + "\u001b[32m ✓ \u001b[39mCairoMakie\n", + " 1 dependency successfully precompiled in 9 seconds. 240 already precompiled.\n" + ] + } + ], "source": [ - "using ProgressMeter" + "using CairoMakie # for plotting" ] }, { @@ -171,7 +131,7 @@ "text": [ "CUDA runtime 12.2, local installation\n", "CUDA driver 12.6\n", - "NVIDIA driver 535.216.1, originally for CUDA 12.2\n", + "NVIDIA driver 535.183.6\n", "\n", "CUDA libraries: \n", "- CUBLAS: 12.2.1\n", @@ -180,24 +140,24 @@ "- CUSOLVER: 11.5.0\n", "- CUSPARSE: 12.1.1\n", "- CUPTI: 2023.2.0 (API 20.0.0)\n", - "- NVML: 12.0.0+535.216.1\n", + "- NVML: 12.0.0+535.183.6\n", "\n", "Julia packages: \n", - "- CUDA: 5.4.3\n", - "- CUDA_Driver_jll: 0.9.2+0\n", - "- CUDA_Runtime_jll: 0.14.1+0\n", + "- CUDA: 5.5.2\n", + "- CUDA_Driver_jll: 0.10.3+0\n", + "- CUDA_Runtime_jll: 0.15.3+0\n", "- CUDA_Runtime_Discovery: 0.3.5\n", "\n", "Toolchain:\n", - "- Julia: 1.9.4\n", - "- LLVM: 14.0.6\n", + "- Julia: 1.10.4\n", + "- LLVM: 15.0.7\n", "\n", "Preferences:\n", "- CUDA_Runtime_jll.version: 12.2\n", "- CUDA_Runtime_jll.local: true\n", "\n", "1 device:\n", - " 0: NVIDIA A100-SXM4-40GB (sm_80, 39.390 GiB / 40.000 GiB available)\n" + " 0: NVIDIA A100-PCIE-40GB (sm_80, 30.909 GiB / 40.000 GiB available)\n" ] } ], @@ -281,11 +241,11 @@ } ], "source": [ - "\n", "# Grid spacing, distance between cels in the grid along the x-axis (dx) and y-axis (dy), \n", - "#Small distance likely indicates a high-resolution simulation.\n", + "# Small distance likely indicates a high-resolution simulation.\n", "dx = 0.01\n", "dy = 0.01\n", + "\n", "# Default temperatures\n", "tdisc = 5.0\n", "tarea = 65.0\n", @@ -380,7 +340,7 @@ { "data": { "text/plain": [ - "initialize" + "show_heatmap (generic function with 1 method)" ] }, "execution_count": 14, @@ -388,6 +348,40 @@ "output_type": "execute_result" } ], + "source": [ + "# heatmap plotting helper\n", + "function show_heatmap(field::Field)\n", + " # Copy to CPU, if necessary\n", + " data_raw = Matrix(field.data)\n", + "\n", + " # Slice out ghost regions\n", + " data = data_raw[begin+1:end-1,begin+1:end-1]\n", + " \n", + " # Generate and display a heatmap\n", + " display(heatmap(data))\n", + " \n", + " return\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "initialize" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\"\"\"\n", " initialize(nx::Int, ny::Int, arraytype = Matrix)\n", @@ -397,7 +391,6 @@ "temperature distributions along with boundary conditions.\n", "\"\"\"\n", "function initialize(nx = 1000, ny = 1000, arraytype = Matrix)\n", - "\n", " data = zeros(nx+2, ny+2)\n", " \n", " # generate a field with boundary conditions\n", @@ -414,13 +407,13 @@ " \n", " current = Base.deepcopy(previous)\n", "\n", - " return previous, current\n", + " return current, previous\n", "end" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": { "tags": [] }, @@ -431,14 +424,14 @@ "generate_field!" ] }, - "execution_count": 15, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", - " generate_field!(field0::Field)\n", + " generate_field!(field::Field)\n", "\n", "Generate a temperature field. Pattern is disc with a radius\n", "of nx / 6 in the center of the grid. Boundary conditions are \n", @@ -446,9 +439,9 @@ "\"\"\"\n", "function generate_field!(field::Field)\n", " # Square of the disk radius\n", - " #calculates the square of the radius of a disc to be placed in the center of the grid. \n", - " #The radius is one-sixth of the grid width (field.nx). \n", - " #Squaring this value simplifies distance comparisons in the subsequent loop.\n", + " # calculates the square of the radius of a disc to be placed in the center of the grid. \n", + " # The radius is one-sixth of the grid width (field.nx). \n", + " # Squaring this value simplifies distance comparisons in the subsequent loop.\n", " radius2 = (field.nx / 6.0)^2 \n", "\n", " for j = 1:field.ny+2\n", @@ -467,12 +460,14 @@ " field.data[:,field.ny+2] .= tright\n", " field.data[1,:] .= tupper\n", " field.data[field.nx+2,:] .= tlower\n", - "end\n" + " \n", + " return\n", + "end" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "metadata": { "tags": [] }, @@ -483,7 +478,7 @@ "swap_fields!" ] }, - "execution_count": 16, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -498,12 +493,13 @@ " tmp = curr.data\n", " curr.data = prev.data\n", " prev.data = tmp\n", - "end\n" + " return\n", + "end" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 19, "metadata": { "tags": [] }, @@ -514,7 +510,7 @@ "average_temperature" ] }, - "execution_count": 17, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -537,7 +533,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "metadata": { "tags": [] }, @@ -548,7 +544,7 @@ "calculate_cpu!" ] }, - "execution_count": 18, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -569,7 +565,6 @@ "\n", "\"\"\"\n", "function calculate_cpu!(currdata, prevdata, dx2, dy2, nx, ny, α, dt)\n", - "\n", " \"\"\"\n", " Threads.@threads for j = 2:curr.ny+1: This loop is parallelized using \n", " Julia's threading capabilities, iterating over the grid rows except \n", @@ -589,7 +584,18 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 24, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "using ProgressMeter" + ] + }, + { + "cell_type": "code", + "execution_count": 25, "metadata": { "tags": [] }, @@ -600,20 +606,18 @@ "simulate_cpu!" ] }, - "execution_count": 19, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", - " simulate!(current, previous, nsteps)\n", - "\n", - "simulate the evolution of a temperature field over a specified number of time steps using a heat diffusion model.\n", + " simulate!(current::Field, previous::Field, nsteps::Integer)\n", "\n", + "Simulate the evolution of a temperature field over a specified number of time steps using a heat diffusion model.\n", "\"\"\"\n", - "function simulate_cpu!(curr::Field, prev::Field, nsteps)\n", - "\n", + "function simulate_cpu!(curr::Field, prev::Field, nsteps::Integer)\n", " println(\"Initial average temperature: $(average_temperature(curr))\")\n", "\n", " # Diffusion constant, which affects how rapidly temperature spreads through the medium.\n", @@ -637,37 +641,38 @@ " next!(p)\n", " end \n", "\n", - " # print final average temperature\n", " println(\"Final average temperature: $(average_temperature(curr))\")\n", "end" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 26, "metadata": { "tags": [] }, "outputs": [ { "data": { - "text/plain": [ - "(Field{Matrix{Float64}}(10240, 10240, 0.01, 0.01, [85.0 85.0 … 85.0 85.0; 20.0 65.0 … 65.0 70.0; … ; 20.0 65.0 … 65.0 70.0; 5.0 5.0 … 5.0 5.0]), Field{Matrix{Float64}}(10240, 10240, 0.01, 0.01, [85.0 85.0 … 85.0 85.0; 20.0 65.0 … 65.0 70.0; … ; 20.0 65.0 … 65.0 70.0; 5.0 5.0 … 5.0 5.0]))" + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAIAAAA+D1+tAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeZRU5Z344bdp7EVAQaJsBhWkRSMSEWIicQMSBVHQSKK4MIkyRs04GnVwiSfGGQyaHB2N5CQSlcR9ISNK3FBPErVFVAIYBEVRRGSJbEIDTS/1++Oe1K/Smwh0d1W9z/NX8dbXS5WHOud++r1dtyCVSgUAAADi06a1XwAAAACtQxACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEqm1rv4CoFRQUtPZLAAAAsloqlWq+g9shBAAAiJQdwtZXs6JPa78EAAAg6xR2W9zcf4UdQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEi1QhCuX79+9erV2zNZW1u7fv367b8PY0VFxdatW7dz+IsefNu2bZ999tl2DgMAAGS/lg7CVCr11a9+tVevXk2PPfroo4MHDy4uLu7UqVNJScm3v/3t5557rrHhVatWXXzxxV26dGnfvn1paWnPnj0nTJjQRLx9oYNXVVVNmjTpoIMOKikp2XPPPTt27HjOOecsXtzs9wMBAABobgXbv0W2S/zlL3857rjj2rVrt2nTpsZmLrnkkl/96ld1FgsKCiZOnHj11VfXWX/77beHDBmyatWqOuu9evV66aWXunfvvjMHr6ioGDZs2KxZs+qst2vXbvr06UOHDm3sLWyngoKC4Mb0AABAQ5Ib0zdrsrXoDuGaNWvGjx/f9Mzdd9+dBNuRRx553333LViwYMqUKQcddFAqlbr22mufeeaZzOHKyspRo0atWrWqsLDwuuuumzVr1osvvvijH/0ohLBkyZLTTz99Zw4eQrjwwguTGhw7duxTTz01Z86cm266qX379hUVFWPGjFm5cuXO/f8AAABoTS2xQzhv3rwFCxa89NJL9913X7Ix2NgOYWVlZe/evZcvX15WVjZr1qxOnTol6x9++OGR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EC5fvnz//fevrq7+1re+NWPGjPT+3qZNmwYPHjx//vz27dt/+umn6cs1Z8yYcfLJJ4cQxo0bN3Xq1GSxurp6+PDhzz//fAhh7ty5/fv3Tx9/0KBBb7zxRvv27cvLy/v165csPv/888OHD6+urj711FP/+Mc/podXr159wAEHbN68+dBDDy0vL+/QoUOyfv311//sZz8LIdx2222XXHLJzrxfQQgAADSmBYIwu75U5rXXXkuuFL3pppsyr/Zs3779DTfcEELYtGnT/Pnz0+u/+tWvQgj777//nXfemV5s27btI488kuzd3XHHHen1V1999Y033ggh3HLLLekaDCEMGzbs8ssvDyE8/vjjH3/8cXr9rrvu2rx5c0FBwWOPPZauwRDC9ddf//Wvfz39twMAAOSo7ArCRYsWJQ/69Km7aXbQQQclDxYuXJg8qKio+POf/xxCOPvss+v8rmCnTp2GDBkSQkiuJk3MmDEjhFBcXHzWWWfVOfh3vvOdEEIqlUouB82cHzx4cPqvTjvttNNCCO+9997ixYu/6HsEAADIEtkVhF26dEkevP3223WeSq+kvw503rx527ZtCyF885vfrH+okSNHhhA++eST5cuXJyuvv/56COHwww/ffffd6wwPHDgw+atnz56drNTW1s6ZM6fpg2fOAwAA5JzsCsJTTz11jz32CCFcfvnlmV8EumbNmmuuuSaE8OUvf/n4449PFt99993kQVlZWf1DfeUrX0kepDfxkvkGhwsKCg455JDM4Y8++mjr1q2NzR900EFt27bNnAcAAMg52XUfwr322uv//u//Ro8e/fLLL5eVlZ1++unJt4w+/PDD69at69Kly5NPPrnbbrslwytXrkwedOvWrf6hunfvnjxYsWJF5nyDw+n5OsONzbdp06ZLly7Lly9PzzdmyZIlTQ8AAAC0luwKwhDCkCFDnn322WOOOeaTTz65/fbb0+sdO3YsLy/v1atXeiXZQmzTpk2D934oLS3NHKupqamsrAwh1L9eNHM+vS2ZfrCd843p3bt30wMAAACtJeuC8NFHH/33f//36urq4uLiQw45ZN999/3ggw8WLVq0fv36Y4455oEHHjjmmGOSyeQXCAsLCxs8TnJJZwghufIzGc5cb3A+Gd6B+cZkFmx99g8BAIBWlF1B+Mwzz5x55pk1NTWnnHLK5MmT991332R90aJF48ePf/nll0eMGPHyyy9/9atfDf/cu6uqqkqlUskN/TKlUy3ZyistLS0oKEilUsk+YX3JfHpfMb0xuJ3zjXn//febeLb+ywYAAGgx2fWlMldccUVNTc1XvvKVhx9+OF2DIYS+ffs+/vjj3bp1q6iouPbaa5PF9L0BP/vss/qHSi+mx9q3b9/YcHo9Pdz0wevPAwAA5JwsCsIVK1YsWLAghHDWWWfV/7XAzp07jxo1KoTwwgsv1NbWhhAOOOCA5KnMu8mnpe82kR5LHjQ4nJ6vM9zY/JYtW9auXZs5BgAAkHOyKAiTxAqNV1byBS2VlZXJ7tzBBx+crM+fP7/+cLJYUFDQt2/fZCWZb3C4pqYmadH0MTt16pTcmbDB+bfeeivzmAAAALkoi4KwT58+RUVFIYR33nmnwYFFixaFEPbdd9+OHTuGEPr27dujR48QwgsvvFB/OFn82te+lr6qc8iQISGExYsXL1u2rM7w7NmzN23aFEIYNmxYejGZf/HFFxs7+G677Zb+hhsAAICck0VBWFRU1K9fvxDCPffcU/8395YtWzZt2rQQwsCBA9OL3/nOd0IIjzzyyOrVqzOH33nnneeffz6E8N3vfje9eMoppxQVFaVSqcmTJ9c5+B133BFC+NKXvpS+630IYcyYMSGE995775lnnskcrqys/N3vfhdCOPHEE/fYY48dfbsAAACtLIuCMIQwceLEgoKCpUuXjhgxIrmGM/HXv/51+PDh69evLy4u/ulPf5pev/LKK4uLizdu3HjOOeds3LgxWVy1atWZZ55ZW1u7zz77XHDBBenhrl27jh8/PoRw6623zpgxI70+ZcqUBx54IITwX//1X8XFxen10aNHJ4F6wQUXLF68OFnctm3bD3/4wyVLlhQUFPzkJz9pjv8JAAAALaMglUq19mv4F1dfffWkSZOSxz169OjevfsHH3zw6aefhhAKCgruuOOOiy66KHP+7rvvPu+880IIJSUlxxxzzKZNm2bPnl1dXd22bdtnnnlm6NChmcMbN278xje+kaRmr169+vfv/+qrr65cuTKEMGzYsKeffrrOXQffeuuto446atOmTQUFBUccccTee+/90ksvJReXXn/99ZlpumOS207UrOizk8cBAADyT2G3xSGEZk22rAvCEMLMmTMvvfTSt99+O3PxG9/4xm233TZo0KD6848+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efOrr76alOSvf/3rCy+8MHP4448/Hjhw4KpVq0IIBx544OGHH15eXr58+fIQQllZ2WuvvdaxY8fM+Wefffakk06qqalp06bNwIEDu3bt+uc///mzzz4LIXz3u999+OGHd/KdCkKgxahB2LU0IdACYgzCe++999xzzw0h/OAHP/jtb3/btm3bEMKKFSuGDx8+b968Dh06LF26tFOnTsnwW2+91b9//1QqdcQRR/z5z39u3759CGHlypXf+MY3Pvzww5KSkg8++KBr167pg59++unTpk0L/xqWkyZNuvrqq0MIl1566a233poerqys7N279/Llyzt27FheXn7wwQeHEKqqqk477bQZM2aEEB5//PFRo0btzJsVhEDLUIPQHDQh0NxaIAiz60tlampqfvrTn4YQTjjhhClTpiQ1GELo1q3bH/7whxDCxo0b//SnP6Xnf/GLX6RSqT333POJJ55IajCE0LVr1yeffLKgoGDr1q133HFHevi999774x//GEK48sorM7cZr7rqqjFjxoQQfvvb3ya7f4n7778/2Ty8//77kxoMIey2224PPvjgAQcckPztzfE/AWDXUoPQTHy4gDyQXUH40ksvffDBByGEyy67rE2bf3lthx122HXXXXfxxRenK7GmpibZqTvzzDO7d++eOXzooYcOGjQohDB9+vT04hNPPJFKpQoKCi677LI6f+/3v//9EMKWLVtmzpyZXnz88cdDCH379h0xYkTmcPv27ZOAfPXVV//xj3/s5FsGaFZOWAGAJmRXECa7f126dBk2bFj9Z2+44YY77rjjjDPOSP741ltvrVu3LoQwdOjQ+sOnnHJKCOHvf/97MhNC+Otf/xpCOOSQQ7p161ZneMiQIckGYzKTeOmll5o+eG1t7csvv/wF3yJAy1GD0Nx8yoBcl11BOHfu3BDC4YcfXlhYmKxs3rx527ZtDQ6/8847yYNDDz20/rNf+9rXkgfvvvtu5nyDw8XFxYcddljm8KpVq9avX9/Y/KBBg5Jf/0vPAwBx0oRATsuuIFy0aFEIoWvXrhs3brz66qt79uzZrl279u3bH3bYYf/xH/+R3utLLFu2LHmw77771j9UevGjjz7KnG9wOL1eZ7ix+aKiouSmiOl5gGzjJBVajI8bkLvatvYL+BfpX8k74ogjFi9enDyuqqp666233nrrrccee+yBBx44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ACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSbVv7BTRswYIFDz744LvvvrtkyZKuXbseeuihw4cPP/bYYxscrq2tnTZt2mOPPbZkyZLCwsKysrIzzzxz+PDhjR38ww8/nDJlyqxZs9asWbPPPvscd9xxP/jBD7p27drY/Kuvvjp16tQFCxZs3ry5Z8+eJ5988tlnn11cXLwL3icAAEDrKUilUq39Gv7Ftm3brrvuultuuaW6urrOU2ecccZtt922zz77ZC5u2LDhtNNOe/HFF+sMn3766ffff39RUVGd9Yceeuj888+vqKjIXOzcufNDDz00bNiw+q/n8ssvv+WWW+os9uvX78knn9xvv/22/301qKCgIIRQs6LPTh4HAADIP4XdFocQmjXZsi4Ib7zxxmuvvTaEcMABB5x77rl9+vRZunTptGnT5syZE0I49thjX3zxxTZt/v+VrieddNJTTz0VQjj66KNPOumkzZs3P/HEE3Pnzg0hnH/++VOmTMk8+CuvvHL88cdXVVV17tz51FNPPfzww8vLy6dPn75p06YOHTrMnj27b9++mfM333zzhAkTQghlZWWjR4/u2rXrzJkzn3766RBCv379Zs+eXVJSsjNvVhACAACNiS4IP/roo4MPPnjz5s1HH330n/70pw4dOiTrNTU1V1xxxf/+7/+GEG699dZLL700WZ8xY8bJJ58cQhg3btzUqVOTxerq6uHDhz///9q7/yirynp/4M8wMyA/xBCQK8QoFgKSIIIY5o8wSyWtJaRrEdxuLjJFTde9k2XaD7xJYVgtEswVlGVL8wd01fSigS2tREAQGCRMELvCoCBSgswMw8yc7x9P7e+5c2YmDt7jnGG/Xn+defZn9pwz5zPPM+9z9tl76dIQwtq1a0eOHJns/7TTTlu1alWPHj2WLVt28sknx8GlS5deeOGFDQ0Nl1xyya9//eukeOfOnYMGDaqpqfnQhz60bNmy5M7MmDHjlltuCSHMmTPnuuuuezePVyAEAABa8x4EwuI6qcwvfvGLmpqakpKSOXPmJAEshFBaWjp79uxhw4aFEB555JFk/I477gghHH/88T/5yU+SwbKysgcffDC+dzd37txk/Lnnnlu1alUI4Qc/+EGSBkMI5513XmVlZQjh4Ycf3rZtWzL+05/+NN6ZhQsXZt+ZGTNmfPjDH05+OgAAQAdVXIFw+fLlIYRBgwaNGjWq2aaysrJzzz03hPDCCy/EiLxv376nn346hDB16tRmnxXs1atXLI5Hk0aPPfZYCKFLly5TpkxptvNJkyaFEDKZTDwcNLv+Ix/5yJAhQ5rVT5w4MYSwefPmTZs2HfKDBQAAaF/FFQi3b98eQjjppJNa3NqtW7cQwoEDB+KX69atq6+vDyGceeaZucUXXXRR3GF1dXUcef7550MIo0aNivvJNmbMmH79+oUQVq5cGUeampripxbb2Hl2PQAAQIdTXJedePbZZ5uamsrLy1vcGj8WOHTo0PjRu5dffjmOn3jiibnFw4cPjzc2bdo0YMCApL7F4pKSkpNOOmnHjh3JO36vvfZaXV1da/VDhgwpKytraGjwDiEAANBxFVcgzH3vLjF37tw1a9aEEK688so48sYbb8Qbxx57bG59//79443XX389u77F4qS+WXFr9Z06derXr191dXVS35oYYgEAAIpQcQXCFjU0NNx6663f/va3Qwhjx469/PLL43i8lmCnTp1avPZD165ds8saGxv3798fWs+csT65PmFy4yDrW/Pxj3+87QIAAID2UuyBcPHixZWVlRs3bgwhjBw58r//+7+T88fEDxCWlpa2+I1lZX9/aPHIz1icPd5ifSw+hPrWtHix+4T3DwEAgHZUvIHw5Zdf/tKXvvTb3/42hFBaWlpZWfmf//mfXbp0SQqSc8xkMpn4qcJsSVSLb+V17dq1pKQkk8nE9wlzxfrkfcXkjcGDrG/NkiVL2tiae7cBAADeM8V1ltEok8ncdtttJ598ckyDF1988bp162677bbsNBhCSK4NuGfPntydJINJWY8ePVorTsaT4rZ3nlsPAADQ4RRdIMxkMlOnTr3xxhvr6+tHjBjx+9///tFHH01OGZpt0KBB8Ub21eQTydUmkrJ4o8XipL5ZcWv1tbW1u3fvzi4DAADocIouEF5//fX33XdfCOGmm25atWrVWWed1VrlsGHD4o2qqqrcrXGwpKRk6NCh2fUtFjc2Nm7YsCF7n7169YpXJmyxfv369c3uAwAAQIdTXIHwueeeu+OOO0IIs2fPnjlzZmsXJIyGDh0aLzD41FNP5W6Ng2PHjk2O6jz33HNDCJs2bdq6dWuz4pUrV77zzjvhf58DJtb/7ne/a23n5eXlZ5999sE/OgAAgKJSXIEwpsFRo0ZVVlYeTP2kSZNCCA8++ODOnTuzx//85z/HE3hedtllyeCnPvWpzp07ZzKZefPmNdvP3LlzQwh9+vQZP358MnjppZeGEDZv3vzEE09kF+/fv3/BggUhhAsuuKBnz555PDwAAIBiUpLJZNr7PvxdJpPp3r17bW3tueeee8kll7RW1r179+RShNu2bfvgBz+4f//+T3ziEwsXLoxvBu7YsePCCy9cs2bNMcccs2XLlu7duyffe+21186bN69z586LFi266KKL4uD8+fO/+MUvhhC+973v3XDDDdn3Z+TIkevXr6+oqFi6dOngwYNDCPX19VdeeeXPf/7zkpKS5cuXjx079t085HiW0cbXB7+bnQAAAIel0mM3hRAKGtmKKBBu27Zt4MCB/7SsX79+b7zxRvLlz372s2nTpoUQjjjiiLPPPvudd95ZuXJlQ0NDWVnZE0888bGPfSz7e/fu3Ttu3Lj4ccETTjhh5MiRzz33XNzbeeedt3jx4mZXHVy/fv0ZZ5zxzjvvlJSUjB49um/fvn/4wx/iwaUzZsz41re+9S4fskAIAAC0Jl2B8JlnnvnoRz/6T8uaBcIQwkMPPXT99de//vrryciJJ544f/78Fj/g99Zbb02fPn3RokVNTU1xpHPnzldcccXs2bNbvKhgVVXV5Zdf/sILLyQjvXr1mjlz5vTp0w/uYbVFIAQAAFqTrkD4bjQ2Nj777LNbtmwpLS0dOnToaaed1nb9tm3bVqxYsXv37n79+p155plHH3102/VVVVUbNmyora2tqKg466yzml0R8ZAJhAAAQGsEwsOcQAgAALTmPQiExXWWUQAAAN4zAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAjhzIBwAAFgNJREFUQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFIlmUymve9DepWUlLT3XQAAAIpaQSObdwgBAABSyjuEcNjq06fPW2+9tWvXrt69e7f3feEwNGbMmNWrV69atWr06NHtfV84DH3mM59ZtGjRwoULJ02a1N73hcPQl7/85e9///u33357ZWVle98XDkN33HHHdddd96UvfelHP/pRe9+Xf847hAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKVWSyWTa+z4AAADQDrxDCAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASpXOmDGjve8D8P81NTX95S9/WblyZXV19ZFHHtmtW7e266urq1euXPniiy/W1tb269evpKSkjeKGhobVq1evWrXq9ddf79GjR/fu3dve+Z49e1auXLlmzZrdu3f36dOnvLw878dDEdu6devixYtra2sHDBjQWk2+PbBx48aVK1du2bKlU6dOvXr1artYgx2W9u3bt3r16jVr1uzfv/9973tfWVlZG8UFbbB8Zzw6hG3btq1YsWLr1q1du3bt0aNH28X59kBBl1SK0K5dux599NHy8vI+ffq0XVnQ1a39Z7YMUBzq6upmzJjRLAEOHjz4kUceabH+1VdfPf/887OXq4qKinvvvbe1/d9xxx3HHHNMUlxWVnbppZfu3LmzxeJ9+/ZdffXVXbt2Tep79ux500031dfX/988WtpbfX39aaedFkKYNm1aiwX59sBTTz110kknZXfv2LFjV69e/X+yczqEvXv3XnPNNdn/nXTv3n3WrFktPq0FbbBMnjMeHcK99977/ve/P7sHhg4d+vjjj7dWn1cPFHRJpWh997vfDSHMnj27jZqCrm5FMrMJhFAU9u3bl8wIJSUlxx133NFHH538wef+y7558+bevXsn00H260ktzmvXX399UtCnT59Onf5+uPjxxx+fO4/U1dWdfvrpSX3fvn2T2xdffHFjY2Ohfgu8h77yla+01l2Z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RsTX7NtoyN69eycn0dZgh5+TTz453ti0aVPu1rfeeiuedWbYsGFx5D1osIOf8Sh+vXr1Cv/7RDLZGhsbYyMdddRRcSSvHij0kkrHVdDVrehmtgzQ3tauXRv/Hh988MGDqZ8xY0YIoXPnzrt27Wq26bLLLgshVFRUJCM1NTXxEz6VlZXNipProv7sZz9LBuPhhSGE3/zmN83q77zzzrjplVdeyePhUaxiApw2bVqz8Xx74KMf/WhcrpoVNzQ09O/fP4Twuc997pB3TocQT1b0b//2b7mb7r777vi0Ll++PI4UtMHynfEofnfddVd84l566aXcrUuWLIlbH3/88TiSbw8UdEmlyMWnbPbs2S1uLejqVlQzm0AI7e/KK69stuS07bXXXotvIV511VXZ48uXL4+nn5k1a1b2+PTp00MI3bt3z56JmpqaLr744hBC37599+7dm4w3NjYOHz48hHDKKafU1dUl43/961/jUQ0XXHDBoTxIik9rgTDfHnjggQfianT//fdnjycHqT733HOHvHM6hNtuuy2EUFJS8tBDD2WPb9q0KX70ZcyYMQ0NDXGwoA2WyXPGo/i98sor8V/hcePG7dmzJ3vTjh07PvjBD4YQ+vTp89e//jUZz6sHCrqkUuTaDoQFXd2KamYTCKH9jRkzJoRQXl7eu02bNm1KvuWmm26K88XUqVMfe+yxFStWzJw5M16Z9MQTT9y3b1/2/qurq+P/ZAMHDvzhD3+4du3aBx54YMKECXEP8+fPb3Z/nnjiiXhhnDPOOOOee+5Zt27dj3/84zjNde3add26de/FL4XCay0QZvLsgaampjPPPDOE0KVLl5tuumnZsmW//e1vr7322riHKVOmvJud0yHU1NQkVzSZPHny3XffvWjRoq9+9avxzHjl5eXNntaCNli+Mx7Fb968efHp69+//6233vpf//Vf999//4033pgcJvroo49m1+fbAwVdUilmbQfCgq5uRTWzCYTQ/o4++uhwEDZu3Jh8S2Nj47/+67/m1nzgAx94+eWXc3/Es88+m5zSKlFSUvL1r3+9xbs0b9683E8t9+jR45FHHinUb4H3XBuBMJNnD+zYsWPUqFG5DXn++efX1NS8y53TIWzevHnw4MG5PVBRUfHkk0/m1he0wfKd8Sh+3/3ud5NLRGTr3bv3ggULcuvz6oFCL6kUrfjctRYIMwVe3YpnZivJ/ON3AbSLxsbGW2+99WD+Eq+99tpmp+P/zW9+c/fdd2/YsKG2traiouLTn/709OnTW7sKzY4dO+bOnfvkk09u3769Z8+eo0ePvuqqqz7ykY+09uPWrVt35513Llu2bPfu3f369Rs/fvy11147aNCgfB8gRetHP/rR7t27Tz311E996lMtFuTVA/X19QsWLFi4cOGWLVtKS0uHDh06ZcqUyZMnt3adXA12+KmtrV2wYMHDDz/86quvlpeXjxgx4rTTTrv66qtbm5QK2mD5zngUv+rq6jvvvPPFF1/cuHFjeXn5sGHDTjnllGuuuSaedSZXvj1Q0CWV4hQ/QfqJT3zijDPOaK2moKtbkcxsAiEAAEBKuewEAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAAp9f8AOCebTskDiWIAAAAASUVORK5CYII=", + "text/html": [ + "" ] }, - "execution_count": 35, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ "# initialize current and previous states to the same state\n", - "curr, prev = initialize(nx, ny)" + "curr, prev = initialize(nx, ny)\n", + "\n", + "show_heatmap(curr)" ] }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 27, "metadata": { "tags": [] }, @@ -676,28 +681,40 @@ "name": "stdout", "output_type": "stream", "text": [ - "Initial average temperature: 59.66948531363336\n" + "Initial average temperature: 59.76400241851807\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32mProgress: 100%|█████████████████████████████████████████| Time: 0:00:38\u001b[39m\n" + "\u001b[32mProgress: 100%|█████████████████████████████████████████| Time: 0:00:47\u001b[39m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Final average temperature: 59.62877070436581\n", - " 38.770937 seconds (54.34 k allocations: 1.566 GiB, 0.02% gc time)\n" + "Final average temperature: 59.66948531363336\n", + " 50.141055 seconds (1.91 M allocations: 1.686 GiB, 0.47% gc time, 5.17% compilation time)\n" ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAIAAAA+D1+tAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeZRcZZ3/8e9da6+u7s4ORhYJiyyyuRBFhbgQWRVmBFSOIiOIw4jIT0E5gnNQ0Dl6QDjjwKi4gLI5RBhBWY7KjopAhAQTsnW603vXXnXX5/fH7S6KTicTEpJ0ct+vk5Pcfuqbp6s6J398zvdZNKWUAAAAAADiR9/ZbwAAAAAAsHMQCAEAAAAgpgiEAAAAABBTBEIAAAAAiCkCIQAAAADEFIEQAAAAAGKKQAgAAAAAMUUgBAAAAICYIhACAAAAQEwRCAEAAAAgpgiEAAAAABBTBEIAAAAAiCkCIQAAAADEFIEQAAAAAGKKQAgAAAAAMUUgBAAAAICYIhACAAAAQEwRCAEAAAAgpgiEAAAAABBTBEIAAAAAiCkCIQAAAADEFIEQAAAAAGKKQAgAAAAAMUUgBAAAAICYIhACAAAAQEwRCAEAAAAgpgiEAAAAABBTBEIAAAAAiCkCIQAAAADEFIEQAAAAAGLK3NlvINY0TdvZbwEAAADAtKaU2n6T0yEEAAAAgJiiQ7jz3fTye1Y1Z9aCRKD07Zj9AQAAAEx7SmmN0FpX7Vz18ty1F1y6vb8dgXDnC5XmK8MNzUBpSlhECgAAAMRXqDQnMJueqbk7IhoQCHc+9eovbXsuDwYAAAAwzWlq4pe2Q6IBewinCU1ECIMAAABAjGmb/XK7oEM4PbFwFAAAAMB2R4cQAAAAAGKKQAgAAAAAMbUTAmGxWBwcHNySyjAMi8Xilt/DWKvVms3mFha/3sld1y2Xy1tYDAAAAADT344OhEqpt73tbfvss8/my+68886FCxcmEonOzs5kMvnBD37w97///aaKBwYGLrzwwtmzZ2ez2VQqNX/+/K985SubCW+va3LP86655pr9998/mUx2dHQUCoVPfvKTK1as2JIPCwAAAADTmbblLbI3xB//+Mf3ve99mUymWq1uquaiiy76wQ9+MGlQ07Srr776sssumzT+0ksvHXfccQMDA5PG99lnn0cffXTevHnbMnmtVlu0aNFTTz01aTyTySxZsuT444/f1EfYQpqmich/Lj92ZXNOxU/4Sp84aZRDZQAAAIA4CkVrBNbacufAslmrv3iJiGzXyLZDO4QjIyPnnXfe5mt+/OMfR4HtHe94xy9+8YsXX3zx5ptv3n///ZVSX/va1x544IH2YsdxTjnllIGBAcMwrrjiiqeeeuqRRx75whe+ICKrVq06/fTTt2VyEbnggguiNHjWWWf99re/ffbZZ6+99tpsNlur1c4444z+/v5t+3kAAAAAwM60IzqEzz///Isvvvjoo4/+4he/iBqDm+oQOo6z77779vb2Lliw4Kmnnurs7IzG16xZ8453vGNwcPCII47461//2qq/8cYbo/h34403fv7zn2+Nf+UrX/nOd74jIkuWLDn55JO3bvK///3vhx56qFLqjDPOuP3226Nunojcd999p5xyShiGF1988fe+971t+cnQIQQAAADQbjfsEH7oQx86++yzf/jDH25mmWjk97//fW9vr4hcf/31rcAmInvttdfll18uIs8+++wLL7zQGv/xj38sIu985zvb06CIfOtb3+ru7haRW265Zasn/8lPfqKUSqVSN910UysNisiJJ54Yhcyf//znYRhu+c8BAAAAAKaVHREI//mf//mcCYcddthmKqNFm4VC4QMf+MCkl0466aT2GhEZHBz829/+JiJnnHHGpGLDMBYvXiwiDz30kO/7WzF563nRokWFQmHK+uHh4b/85S+b+TgAAAAAMJ3tiEB43XXX3TLh1FNP3Uzl888/LyJHHXWUrk9+Y/vss89+++0nIq0m3gsvvBA1T9/xjndsPNWHP/xhEalUKmvWrNmKyR3Hefnllzc/eXs9AAAAAOxyptfF9NF1DnvvvfeUr+67776tmvaHKeuj4o3rt3DyVatWBUGwqfp58+alUqn2egAAAADY5Zg7+w28xujoqIjMmjVrylej8ZGRkfbiTdW3BifVvyGTi8jMmTPXrVvXqt+Ua6+9dvMFAAAAALCzTKNA6LputN8vmUxOWRA15Wq1WvRl9GAYhmlO8Smi4lbZ1k2+5fWb8tWvfnXzBQAAAACws0yjQNg6TbX9SM+NC1qHxERfbr64Vb91k295/aZ85Stf2cyr9A8BAAAA7ETTKBAmEgnDMIIgaDabUxY4jiMimUwm+jJ68H0/CALDMKYsbpVt3eQisoX1m3LNNdds5lUCIQAAAICdaHodKhNd8NDavzfJ8PBwq6b9Ycr6qHjj+jdkcpnYbbjxjRQAAAAAsKuYXoEwuvth7dq1U77a09PTqml/mLI+Kt64fgsn33fffaPFolPWj42NVavV9noAAAAA2OVMr0B4yCGHiMhf//rXjV9qNBrLli0TkYMPPjgaaT1MWR8NJhKJVmZ7XZOnUqm3vOUtm5+8vR4AAAAAdjnTKxB+6EMfEpH+/v6NY9jvfvc7z/NEZPHixdHIHnvsEeWx++67b+OposHjjz/etu2tmLxV/+CDD7quO+XkHR0dxxxzzNZ8TgAAAACYBqZXIDzhhBNmzpwpIt/+9rfbx8MwjM5fOeigg4466qjW+Kc+9SkRuf/++5977rn2+vvvv//5558XkXPOOWcbJx8ZGbnpppva6zds2HDLLbeIyFlnnWVZ1rZ8XgAAAADYiaZXIEyn01/72tdE5O677/7yl78c7etbvnz5Oeec89RTT4nIt771rfZ7ID7/+c/vscceQRCcdtppDz74oOd5tVrt7rvv/uQnPykiRxxxxBlnnLHVkx999NGnnnqqiFx66aU/+tGPSqVSEARPPPHEiSeeWCqVcrnc5ZdfvkN+KgAAAACwXWitC/d2jCuvvPKqq67KZDLRoSwbU0qdffbZv/zlL6MvOzs7x8bGoufLL7/86quvnlT/5z//+fjjj69UKiKSzWYdx4kWf86bN++JJ55485vfvC2Tj42NLVy4MNpeaJpmKpWKvpFt23ffffeJJ564lT+FCVH+/M/lx65szqn4CV/pMnH94TbODAAAAGBXFIrWCKy15c6BZbNWf/ESabsjfXvY0R3Cvfba673vfe973vOeTRVomnbrrbfeeOONCxYsEJEosB1xxBF33nnnxoFNRI4++ujnnnvujDPOSCQS1WrV87xcLnfeeec9//zzk9LgVkze2dn5zDPPfOlLX+ru7vZ9v1KpmKa5ePHip59+etvTIAAAAADsXDu6Q/i6jIyMjI6Ozp49O5/P/5/Fruv29fUZhjFv3ryN76nfxsnDMBwYGGg0GvPmzUsmk1v07rcAHUIAAAAA7XZwh9DcflNvu+7u7u7u7i0stm17r7322k6T67o+d+7cLZ8cAAAAAKa/6XWoDAAAAABghyEQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQUwRCAAAAAIgpAiEAAAAAxBSBEAAAAABiikAIAAAAADFFIAQAAACAmCIQAgAAAEBMEQgBAAAAIKYIhAAAAAAQU+bOfgNTW7Zs2c9+9rNly5b19PTss88+Bx100Lnnnjt//vwpi8MwvPvuu++6665Vq1YZhrFgwYIzzzzzhBNO2NTka9asufnmm5966qmRkZFZs2a9733v+8xnPjNnzpxN1T/55JO33HLLiy++WK/X58+ff9JJJ33iE59IJBJvwOcEAAAAgJ1HU0rt7PfwGmEYXnrppddff73v++3jqVTqiiuuuOyyyybVl0qlj370o4888sik8dNPP/3WW2+1bXvS+K9+9avPfvaztVqtfbC7u/tXv/rVokWLNn4/l1xyyfe+971Jg4cccsi999775je/ecs/15Q0TROR/1x+7MrmnIqf8JUu4/8a2jbODAAAAGBXFIrWCKy15c6BZbNWf/ESEdmukW3adQi//e1vRwFsv/32+8QnPrHnnnuuWrXqJz/5SV9f3+WXXz5v3rxzzjmnvf6ss86K0uB73vOej3zkI/V6/Te/+c1zzz131113FQqFm2++ub348ccf/9SnPuV5Xnd392mnnXb44Yc/8cQTS5YsGRkZ+ehHP/rMM88ccMAB7fXf+c53ojezYMGCU089dc6cOQ8++OD999+/dOnSk0466Zlnnkkmk9v9JwIAAAAA28f06hD29vbutddevu9/4AMfuO+++1r9vWq1unDhwhdeeCGbzQ4PD7eWa953330nnXSSiJxzzjm33HJLNOj7/gknnPDQQw+JyHPPPXfYYYe15j/66KP/8pe/ZLPZJ5544pBDDokGH3rooRNOOMH3/dNOO+3Xv/51q3hwcHDvvfeu1+sHH3zwE088kcvlovErr7zyqquuEpHrrrvuoosu2pbPS4cQAAAAQLsd3CGcXofKPP3009FK0WuvvbZ9tWc2m/3mN78pItVq9YUXXmiN/+AHPxCRvfba66abbmoNmqZ5xx13RL27G264oTX+5JNP/uUvfxGR733ve600KCKLFi265JJLROSee+5Zv359a/xHP/pRvV7XNO2uu+5qpUERufLKK9/5zne2vjsAAAAA7KKmVyBcvnx59LDffvtNemn//fePHpYtWxY91Gq1P/zhDyLyiU98YtJewc7OzuOOO05Efvvb37YG77vvPhFJJBJnn332pMk/9rGPiYhS6v77759Uv3Dhwta3bvnoRz8qIitXrlyxYsXr/YwAAAAAME1Mr0A4e/bs6OGll16a9FJrpHUc6PPPP++6roi8+93v3niqE088UUT6+vp6e3ujkT//+c8icvjhh6fT6UnFRx11VPStn3nmmWgkDMNnn31285O31wMAAADALmd6BcLTTjstn8+LyCWXXNJ+EOjIyMjll18uIm9605ve//73R4P/+Mc/oocFCxZsPNVb3/rW6KHVxIvqpyzWNO2ggw5qL163bl2z2dxU/f7772+aZns9AAAAAOxyptcpo11dXf/zP/9z6qmnPvbYYwsWLDj99NOjU0Zvv/32sbGx2bNn33vvvZZlRcX9/f3Rw9y5czeeat68edHDhg0b2uunLG7VTyreVL2u67Nnz+7t7W3Vb8qqVas2XwAAAAAAO8v0CoQictxxx/3ud7879thj+/r6rr/++tZ4oVB44okn9tlnn9ZI1ELUdX3Kux9SqVR7WRAEjuOIyMbrRdvrW23J1sMW1m/Kvvvuu/kCAAAAANhZpl0gvPPOO//lX/7F9/1EInHQQQftueeeq1evXr58ebFYPPbYY2+77bZjjz02qow2EBqGMeU80ZJOEYlWfkbF7eNT1kfFW1G/Ke0JdmP0DwEAAADsRNMrED7wwANnnnlmEAQnn3zyjTfeuOeee0bjy5cvP++88x577LHFixc/9thjb3vb22Sid+d5nlIqutCvXSuqRa28VCqlaZpSKuoTbiyqb/UVW43BLazflFdeeWUzr278tgEAAABgh5leh8p8+ctfDoLgrW996+23395KgyJywAEH3HPPPXPnzq3Val/72teiwdbdgOVyeeOpWoOtsmw2u6ni1nirePOTb1wPAAAAALucaRQIN2zY8OKLL4rI2WefvfG2wO7u7lNOOUVEHn744TAMRWTvvfeOXmq/Tb6lddtEqyx6mLK4VT+peFP1jUZjdHS0vQwAAAAAdjnTKBBGEUs2nbKiA1ocx4m6cwceeGA0/sILL2xcHA1qmnbAAQdEI1H9lMVBEERZtDVnZ2dndDPhlPVLly5tnxMAAAAAdkXTKBDut99+tm2LyMsvvzxlwfLly0Vkzz33LBQKInLAAQfsscceIvLwww9vXBwNvv3tb2+t6jzuuONEZMWKFT09PZOKn3nmmWq1KiKLFi1qDUb1jzzyyKYmtyyrdcINAAAAAOxyplEgtG37kEMOEZGf/OQnG+/c6+npufvuu0XkqKOOag1+7GMfE5E77rhjcHCwvfjll19+6KGHROSf/umfWoMnn3yybdtKqRtvvHHS5DfccIOIzJgxo3XrvYicccYZIrJy5coHHnigvdhxnP/+7/8WkQ9/+MP5fH5rPy4AAAAA7GTTKBCKyNVXX61p2tq1axcvXhyt4Yz86U9/OuGEE4rFYiKR+MY3vtEav/TSSxOJRKVS+eQnP1mpVKLBgYGBM888MwzDWbNmfe5zn2sVz5kz57zzzhOR73//+/fdd19r/Oabb77ttttE5P/9v/+XSCRa46eeemoUUD/3uc+tWLEiGnRd9/zzz1+1apWmaV//+te3xw8BAAAAAHYMTSm1s9/Da1x22WXXXHNN9LzHHnvMmzdv9erVw8PDIqJp2g033PD5z3++vf7HP/7xueeeKyLJZPLYY4+tVqvPPPOM7/umaT7wwAPHH398e3GlUnnXu94VRc199tnnsMMOe/LJJ/v7+0Vk0aJF999//6RbB5cuXXrMMcdUq1VN04488siZM2c++uij0eLSK6+8sj2abp3o2on/XH7syuacip/wlS7j/xpcRwEAAADEUShaI7DWljsHls1a/cVLRGS7RrZpFwhF5MEHH/ziF7/40ksvtQ++613vuu66644++uiN6++8885/+7d/27BhQ2tkwYIFN99885Qb/EZGRi644IK77747OqpURGzbPu+887773e9OeangCy+88OlPf/rZZ59tjXR2dl599dUXXHDB1n26dgRCAAAAAO0IhON6enqWLVu2fv36vffe+8ADD5wzZ85mioMgePzxx1etWmUYxgEHHDBlbmy3fv36p59+enR0dPbs2e9+97u7uro2X//CCy+8+OKLjUZj/vz573nPe9pXlm4LAiEAAACAdgTCGCEQAgAAAGi3gwPh9DpUBgAAAACwwxAIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFMEQgAAAACIKQIhAAAAAMQUgRAAAAAAYopACAAAAAAxRSAEAAAAgJgiEAIAAABATBEIAQAAACCmCIQAAAAAEFPmzn4DAADsVtT/Ma695stNVbfT2v7axN/RNlkIAMDrQCAEAOB1U1N8qSk18SCilKZElGjRQ6g09ep4VPlqWfRX2mkiIioKeJqmNBFNlKZFvyu99fzqYPSlaKJEe81ff+2cAAC8BoEQAIDNUa951pSIKAlFU0pr/R4oLVR6EGq+0gOlB6EeKN0P9SDUJh70MNQCpYWhHoaaUlqoNKVEhZqo8Tkn00TTRNOUpqnoQdeVroe6pgxd6XpoaKGhK1MPDT00tdCYGDG00NBCQ1O6pnQJdU3pbelxUlAkJQJAzBEIAQB4lXrNg6basl+g9EBpfmj4oe6FhhfqXmC4oeEFhucbnm/4vhH4eujr4mvi6+Jrmq9pgab5ovuaFormixaKFogeihGKFoqEMtFJ3OidRP0+XZQmoovSRRni66IMUYaEpihDKVOUqZSplBlqhtLMULdC0wxNM7CMwDIDSw8tw7eN0NIDUw/MKDpqUUqM5h7vLkbflHwIAHFDIAQAxFp7AoxWeIZKC5QWKN1XUfAznMB0fNPxTdc3XM/0XCNwDeUamqvprq67Yria7ortiOGK7onuieEp3RPdU7of6l4UJZUeqKiZKNHvSmmhiFKtlaOvai391DWlaRKlt6g5aGjK0EJTU6YWmhKaWmjpgaWHlhZaEtgS2hLY4tkSJlRgK2UrZYe6HRh2YNuBZfoJ00+avm0GCd23jMBqdRe1KB8qrbVadYf+UwAAdgICIQAgdtTE71ECjBZ8RvHPCQwnMJu+1fAsxzNd1/SapnIMvakbDc1wNKMp6YaYTTGaynTEaIaGqwwn1J1Ad0PdCzQvED/Q/ECCQIJQglCCQMJQlJIwlFCJUkqpKAeKyPjvol6zalSb2AmoRX9qommaHq0i1UXXRNdF18XQxTDE0MU0lGEoa/xXmNAD2wgSWmDrQVL3k0aQsPyUBElpJKSaUkEyVMlQTwZWwk/aXsLyk6afNL2E4dt6YOnBq4tONSXkQwDYfREIAQCxMJG6tFCJkvHFn24YxT+z6Vt1z2o4ltu0woahNwyjrpsNSdQlUxezrqy6MhuB2QyNRqA3fd3xNdcT1xfPlyAQ35cgUEEoYSBBqJRSoRIVilJKRZEvynuq7d1syQGj7bSJQDbxoGkimqZpommiR4lR13RdDN00DDEMMU0xDbFMZVvKNsOkGSbNIGH4ad1L6X7a8NOWlxYnLbWUCtKhpAIj6SeSfsp2k5aftryE4SWMwNIDUwt1LdTH+4fRmwAA7A4IhACA3VZbCIwWgupeaDih0QyshmfVXLvu2G7DCuqmXtfNmm7VJFcVqyZ2LbRqvlkPjLqvNzy96YnjiuuJ74vnq8CXIAyDQMJQha1e33jHT00R9tSkP7fVq2nstUtNNW38igotai1GcVEXQ9d03TAN0zTFNMUyxbZVwlIpO0iZftr004aX0b2M4WVtLyOlrBpNKZUJjLSXTHrphJux3JT1mv4h4RAAdg8EQgDAbuXV5aBKC0QPQs1ThhOYDd+qe3bVSdQbttewpGqYVd2qatmK2BVl1ZRd8c2qb9Zdre5qTVccVzxPeZ74fuhH2S+UiaWer019SuSNC3tb/iE3/q5Kvfq1Ju1xcSIqji86jRqJmmmYpmVZptiWJBIqZYdp289YXtbwMoabs9yc5WVlNKeGsoGW8e2kl0m5GdtNW27K9BJ6YEbhcGLbIckQAHY5BEIAwO6gvRkYdQKb4yHQqjiJeiPh1SytYloV3S5LpiqJsrLLgVXxzYqn1x2t4YjjiuMqz1O+r4JATez3k4n8N/4ddmTw2xavbVS++hHaguL4ctMoIhq6Zhi6ZSYsO5GwJWGrdCLIJPyc5eYMN284edPLJct5NZoLtayXyLjZpJu23YzlpgzPNgJLC6I9h9GZpYRDANglEAgBALswNdEMDEX3Qt0LjUZg1Ty74iSq9YRTs6VqWhXDKkmmJImSSpR8u+wZFUevOdJoiuMo11OeN5EAw/ETX1rT7yrxb8u1BcXxTxpFRF/G+4iaLrquGbpmmoZlmradTCYknQwyySBruXnL6dCdQtLtSI7l1XAu1HJeKu3kUk7OdtKWmzT81pk0JEMAmP4IhACAXU8rB0aXQzQDs+7bVQS+Pd4AACAASURBVDdRaSZq9YRfsc2SYRe1QlHsskqO+XbJM8qOXmtIfTwEhr6v/Ojwz/DVBKh2v/y3BV6NiEopES2UUFO+iOtqoomuabohpqFblmHbdiqRTSeDbMrP207BdPO6U0g6heRQIRzI+3bWzaadXMLJWk7K9Gw9MPUgujJDSIYAMC0RCAEAu4z2HBjtDKx5dtlNlOvJRjWhypZVMlJFSYxJcjRIFH2r5OjVptQa0mwqxw2j82Be0wbcHXuA26iVDyd2SqogEE+0ZjNaWSqGqdtmIpFIpJIqnQzzKbdgO51ms9N2Ou1SITOaD4y8m804+VQzZztp0yUZAsC0RSAEAEx3UWQLRQuV7oV6M7Cqnl11E6V6sl5JaiXLHtNzo5IcVcmib4+5ZrGpVetSbyjHCV1f+b6EwashMJ5twK02kQ+VUqKFKtTE8zRHk1pd0w0xTT1hpZLJVDoV5lN+IdnstJxOo9mZrnelS4VA73Cz2WY+2cwlnIzp2rpv6SH7DAFg+iAQAgCmqdY5MdGdgU5o1jy77CSLbTkwPyKpEZUa8ewxxyjVpdaQelM5Tuh5KroWgk7gG6g9HKpQBYF4nuY0pVrTDEMbsu1kwk6nVDblF1JOl93oNprdqUZXqlwI9A43l2t2pBp520mZbmL8eNKQs0kBYOciEAIApp1oaWiotEAZTmjUPbviJYr1VLWSCotWYsTIj0hyVKVGvMSIY5TqUqmpRjN0HPF9FbS2BRICt6fxcKhUIBKGyvc115V6XSuVNcuyEgkrk8rkMn4h5XQnml16Y0aq3p0qdeXMDqcj2+xINbKWkzI8Ww8MPWQpKQDsLARCAMB00d4SjM4LrbjJsUaqXEn5ZdsaMTMjkhxS6eFWDqyreiN0HOX5EgYqHN9jSA7c0dRr2oaa50mjqVWq2mjRGkhY6XQml/Y7080ZdmOm2ZhhFrvTI11eIu8UMo1CspG13KThmW33GQIAdhgCIQBg5xvfJai0QOluaNR9u+Qmx2rpajkpo3ZyWM+OSHooTA251mhdK9WkVlfRjRFBQD9wGhkPhtFuw0DzPWk2tWpNG7OsoZTVl84UMu6MVH2m1ZhpN7vsgRnp4U6nI9foTNVztpMyPEsPDGIhAOxABEIAwM40sTo0uj3CqriJkpMcq6adsaQ9YmYHJT2o0oOuPdrUi9XxpaGuq3xy4PTWSoZKqSDQXFcaTa1c0Ubs5IZUMp/1uzJOd6I+y6jPShdnpka7c5mORiHdKCQaGctN6L6hhbrGOlIA2O4IhACAnUOJKNFCpbmh0QisspMcqafLpbQU7cSQ3jUomYEgOehYIzUpV1W9ETad6LxQcuCu5NXVpEoF0T7DhlaqmMMJM5NOd2TdGZnGbKs2y27Osnu7swOdzc58vTPVyFnNpOFbWqBpioNnAGD7IRACAHY0Nb5RUHcCo+7bRSc1WkvXxlLGsJUZ1FJDKjPgJQbr+ljUEmyEridhoMJQhEsjdlnjyTAQFUrgB46jVWtasZQYSid6s9mubHN2sj7TqM/ODM9KjXS7+Y56d7qet5tJw7P1gPNIAWA7IRACAHacKAr6oe6EZtVLjDZTxWq6MZayB838gGT6w3S/Y43WtGJFVeths6l8f+LqCFqCuws1scnQnTh+plwxR1LZ/ky6kHVnpmtzrPqcZGV2ojgjkys0OjP1QqKRMV22FwLA9kAgBADsCO1RsOIlRhvp0XLGG0kmhoyufslsCFIDTXO4Mr461HFV4NMS3J21bTKUIAgcV6vVtLFScjCd6MvnZmZqc+za3ERjtl2ekRnqbMzI1aLthbbuEwsB4A1EIAQAbF9KJBQtmIiCI/XMaDnjDydT/Xq+X9IDfqq/YYxUpFwJ6w3leRKwSzBOWg1DJ9A8T2s0tErVHk7bG3LZ9dn6nGR9tlWfa62blR7qrs/I1ToTjYzp2gaxEADeGARCAMD20uoKNkOz4iZHG6nRctYfSqYG9EKfyvR5yYG6PlaRcjVsNJTnja8OpSUYQ1HDMAxUGGq+L82mXq1aY+mOgVy2K1ufm6rOM+tz8z2z0yPd9a5svStZn+gWsrcQALYJgRAA8MabODZGcwKr7CVG6pmRUiYYSaT6jUKfyvZ5if6aPlJWlWrYbCovWh1KFIy9tnWkYRCI42rVmjGayg3l0hvy47FwXr53ZnqkuzEjX+1K1jOmy5EzALAtCIQAgDdSdK9goHQ3NKteYqSRHi5lvaFkqt9I90u210tuiKJgJWw4yvfYKIgpqInthc0gcF2tXjdKlfFYuCFVm2PW5uV65iRHu+szc9XOZCNjuqYWGlooxEIAeJ0IhACAN0YU6QKlu6FR8xNjzdRQOdscTiU3mPleyfZ6yYG6PlxW5UrYaE5EQTYKYtNasTAMA8/T6g2jXMkN59N9uUx/qrKnVZ/XsXZOaqyrNjNb7bCbadMz9UBnYyEAvB4EQgDAG0CJhErzlFH3rTEnPVTO1sbS9gars1ey6/10X10fKqnK+F5BoiBeh1djYXM8FpbKuZF8aqCjNpCs7GnX5lmV2alCoTYzU+tINJKGb2oh580AwBYiEAIAtsn4yTFKbwZmyUkN1rLFkYzZn8hvkNz6MN1bNwfLUiyH9bryfBUGREFsjdcsIvW0RtMsVztGOlID+epgorJnsjjHLs9OzShUZ6RrOctJ6D4bCwFgSxAIAQBbqX2NaMVLDNezQ8WsGkhm1+u59WG6z7H7yzJWCmt15boq4NgYbLNWLGwEgevq9YZdrnaOFFKD2eo8q/qm9MC8RHlWcla+2pWsp03X0gJdo1UIAJtDIAQAbI3odkEvNOq+PeakBsu5+mA62Wdme1Sux0n0VbSxsqpUQ8cZv1eQKIg3imqdRBpqrqfVG6lyLjGUTw9nyyNmbc/82rnJ0ozqjEyt024kTY8VpACwGQRCAMDr0zpHtBlYJTc5UM0VRzPmhkShR3I9fnp9TR8sqnIlbDrK94iC2F6UUhIoL9QCX3McrVrLlDoSox2pkVRl1C7tWajMSlU6KzPT1Zzl2Hp0kT0AYDICIQDgdWgdHlP1EsONzMBYLhhIZfr03Lowu65p9ZdkrBTW65wcgx1h/Dr7ULmu5vta0zGr9Y6xQnIknxy1qnukBvawKrMSc/KVzmQ9bXimTqsQACYjEAIAtshEY9BoBmbRSfVXcuWhbKLX6lgnuV4vub6sDRfDSlU5jgpCkZAoiB1EqfFFpM1m4Pl6s5ms1u1iITWcLo+Z1fn51XMTle7KrEw1bzVtPTC0kEwIAC0EQgDA/y1qDLqhUfWTI430wFgu3JDK9ej5tUFmXd0YKqliKaw3lO+zRhQ7x/jGQi+sBZrr6Y1GtphPjBUSxWSllBza06rNtufkK4VkI2O4tAoBoIVACADYnPYdg2NOqr+SrwxnEr1Wx1rpWOMkeksyUgxrdeW4XCmBnU8pFYbiOkHJ15uOVWt0lTuTxVypZFYr+TXz7O7O6qxsNW81E7rPAaQAIARCAMBmRHcMeqFR9e3heqZ/LB9uSGd7tfyaMLu2ZvSPqVI5bDQ4RxTTSPsZpJ6nOU6m1rTKhUQ5Wa6khubZtdn23I5KV6KeMl2DuwoBxB6BEAAwtWiZqBOaJTfVX82NDuXs9XbHGsn1uMmesjY8FlarynVVGBIFMe1EZ5C6oRaEuuvZ9WZnpcsuZytFo1rLr5lnNbqsmelq1nIsPdBZPgogxgiEAIDJWufH1H1rpJneUMo3+zOZdUZ+dZhbWzcGimqsFNQbErBjENNYdAZp4IeNUPN83XFz9c7EWN6uJMrVdN+brMYsc06ukrecpOFx0gyA2CIQAgBeo3XjfNlNjjbT/aN56U11rNEKq7zUurI2OBZWq+M7BomCmP6UUmEgngrKge65dq3RWeu0K9lS1SrWOuvz7LmF8oxkLW16hhawfBRADBEIAQCvai0TLbqp/kp+bDCXWGfl16iOVQ2rd0yNFcNag+vmsYtRolQoSoW1uub6huvmGp7ZyJtNq+Jm186y6jOsOdlqzmqyfBRADBEIAQDjlIiv9EZgjTQyfcUOpy+T3qB3rApzq+vGhlFVLIWNpgp8jhLFLql1AOlYoLtuut60Kl1WOVnZOznoGd4sY05OL9gNTh8FEDcEQgDAq5sGa7413Mj2jXYEven8ai23Psisqej9o2GpohyHZaLYtSmlRInvhVWlB6HlB51ul+mkS6415nV4c4wgr3cm6knDZ0shgPggEAJA3EV3S7ihUfPtgVpuYLjD6EkWVkvHK05yfUmGR8NqTXksE8VuoXXSTL2hBaHh+x31glnPmw2z4uTXzjO8TmNGspYyPUML9J39ZgFgByAQAkCsRZsG3dAsusnBWm54MJ9Ya3esUvlVDWv9qCqWwlp0mmjIMlHsPqKTZpqNMAh01826vtksGE277GTXeYbXrc9I17KmY+mhxpZCALs7AiEAxFeUBpuhNeakeksdlcFsZo3Z8UqYW1Uz+kZUsRQ6jgpYJordUbR81HODcqD7QdLzu5xOw0mW3XSvbzS7rbnZct5u2nogZEIAuzUCIQDElBIJoiNkmuneYsHpzeTW6YWVQXZ1WesfCcsVLp3Hbk6JklB8FdZqehDYnt/pdhtuuuQmhhzdn6PPy5ULdsM2fI4eBbAbIxACQByNHyjq20PNTO9oR9CT6VildazxU6uL2uBIWKkpz2XTIHZ/41sKg7DR0MLQDIKC12142VLTKvodwVw96NC6EnWOHgWwGyMQAkDshCKB0mu+PVjP9Y10aOtShVe0wkonsb6ooiNkfDYNIk6iGymaTjha1IMg7wdGI6d7ZtXP94R6WNC6OHoUwO6LQAgA8RKK+NGBovXchuEOY20q/4oqrGjYPaNqrBjW6soPREiDiBmllITiOmFR6UGYdXzdL+iBVQ6yPaEWdmpdyXra8MiEAHY/BEIAiIvoskEvNCpecqie3TDUYa1NdqxUHSsaVs+IGiuO3zvPMlHE08QxM2G5ogVBOgz1oFML7HKY7VGaXzBmpaop0zXJhAB2LwRCAIiF6LJBL9QrXrKvmh8ezttrEh0rVMfKurl+WI0Wwyb3ziP2xo+Z8VS1qqswGYadQZcWJMphZr2vqxkyK1VNkwkB7F4IhACw+5uUBof6OxLr7MJK1bGiZqwfDosl1WxyoCgg0nb0aLWuK5VUqlN1i0pUvHSvEjVDm52ukAkB7E4IhACwm5tYKapXvGRfJT800JFaZedXq44VNaN3OBwrKschDQKvGj961A9rDV2NJpR0qS7dT5Yk3SeizVCz0vQJAew+CIQAsDub3Bsc6Eitsgsrwtzqid4gaRCYklIq8MN6XR8WW6lOv0tTyaKke0VkpsxKVTOmyxkzAHYDBEIA2J1FvcGqn+iv5YYGOpKr7cLKML+yqm8YIQ0C/welVBCE9bouygrDgsxQWqqkpfs00WaIlq6kDI8+IYBd3fQNhENDQ0uWLHnllVcMw3jrW9+6aNGimTNnbqp4w4YN99xzz6pVqwzDWLBgwamnntrV1bWp4jAMH3744aeeempkZGTWrFnve9/7jjnmmM28k3q9vmTJkhdffLFer8+fP//EE098y1vesk2fDQB2iOiGiYqXHKhlBwY6kmvswsowt7Kq9w2HpTJpEPi/jWfChq6UJVpB6xY9VdRTfbrSNTUjWUvTJwSwi5uOgdD3/auuuuraa6/1PK81WCgUrrnmms997nOTipVS3/zmN//93/89CILW4IUXXvgf//EfF1544caTv/TSSx//+MeXLl3aPrhw4cLbbrtt/vz5G9ffc88955577ujoaGvk4osvPu+8866//vpkMrl1HxAAdgAl4isj6g0ODucTaxMdK1X+lZrRNxIWS8p1SYPAFokyYaOpj47ZmlbQu5WeLOnpXk2pLpmVUinuJwSwK5uOgfCzn/3sT3/6UxHJ5/PHHnusiPzxj38sFovnn39+Lpc766yz2ou//vWvf+tb3xKRVCr13ve+t16vP/nkk81m8wtf+IKu6xdccEF78fr164877riBgQERectb3nL44Yc/8cQTvb29jz/++Ac+8IGnn366UCi01//ud787/fTTgyDQdf2oo46aM2fOH/7wh3K5fPPNN5dKpdtvv317/ygAYOsoEV/pdd8eqGcHh/LWumTHKyr/Ss3oJQ0Cr994Jmzoo2O2rhWM7tBIlI1Mn4jRHc5I1lKGp2uKTAhgV6Tv7Dcw2c9//vMoDX7mM58ZGRm5995777333pdffvmwww4TkfPPP39sbKxVvHTp0m9/+9sicuSRRw4ODt5///1//OMf161bt9dee4nIl770pf7+/vbJv/jFL0Zp8NZbb12xYsUdd9yxfv36aIZ//OMfV111VXux4zjnnntuEASFQuHvf//7008/vWTJkuHh4RNPPFFE7rjjjiVLlmznHwYAbA0lEii94dtD9Uz/cIe1LplfpfKvNMxe9g0CW2ti7agaGUusHSusdHOrNb8301fsGHPSTmiGovGfCsCuaHoFwiAIvvGNb4jIhz70oZtvvtk0xxuYc+fO/dnPfiYilUrlf//3f1v13/3ud5VSHR0dv/nNb7LZbDQ4Z86ce++9V9O0ZrN5ww03tIpXrlz561//WkQuvfTS9jbjV7/61TPOOENE/uu//qtcLrfGb7311t7e3ujhwAMPjAYty/rlL3+59957R999e/wQAGBbKJFQac3AHG6mN4x16D3J/CrV8YpjrR9VYyXVJA0CW2vi3FE1MppaWyys9LOrtWZftq+cL7opNzQUmRDALmh6BcJHH3109erVInLxxRfr+mve26GHHnrFFVdceOGFrZQYBMF9990nImeeeea8efPaiw8++OCjjz5aRNqbeL/5zW+UUpqmXXzxxZO+76c//WkRaTQaDz74YGvwnnvuEZEDDjhg8eLF7cXZbDYKkE8++eTQ0NA2fmQAeAMpkVA0JzTHnPSGYkewPp1brXWscuyeUTU2FjabKgxIg8DWU0r5garVZXg0tbZUeMXPrNGr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IIiRRGRRgQwOGgcQROIHNIJBoxi2aAiRNUbzYuRN2CQyatgSURTZ/GIyDqLIEEEERIdhZnqr5SzPfi/vh6e6aGdjBqbrnKr6/9IU1c+5OZzzoU4//7ru+7pgNvan1U8zeW63e1eV3k3mbHx+2pk0UeMlfiwBYD6xn7PfIt92221Pf/rTq6pSSj3taU977GMfe9ddd332s5/d3t4moje+8Y2XZj8iesUrXvHOd76TiNq5FNPp9G//9m/vuOMOIvqDP/iD3/7t37508de//vUf+ZEf2d3dXVxcvPnmmx/3uMfddtttH//4x7MsO3369Oc///mlpaVL13/oQx96wQteQETXXHPN8573vOXl5c985jOf+cxnvPfPfe5zP/axjz3gCMSHr/2f/7+v/vg3yrWJCY0XF+/i0JAMAB6UI2qc2qniO3eG07t7/a+KxS9X4TfPuQvbviy9w2ZRgNlhZilFJ+W15el1C1s3qvy6enltdKI76upSscM/8ADwXTniwuo7x8Oz/7Hy37/520R0WSPb3AVCIvrkJz/5y7/8y/fee++lFxcXF//v//2/L37xi++zuGma3/zN32wz4T6l1Bvf+MbXvva193/y22+//YUvfOGlFUIi+qEf+qEPfehD11577f3Xv/e9733lK195nwH0L3jBC97znvd815kT3xUCIQA8Uu1m0akJvz3pn717mHxTL3zFdv9z29973k0zbw3SIMAsMRELobQY9NzJ1Z0buzs/wO50fmplZzWZRLIRhCkUAPBdIBASEWVZ9rGPfexzn/vc1tbWVVdd9bjHPe4nfuInFhcXH2z9V77ylY985CPf/OY3pZQ33HDD85///CuuuOLBFhdF8Vd/9Ve33Xbb9vb26urq0572tGc/+9lKPehIxrNnz37wgx/88pe/XBTFqVOnbr755nYAxvcPgRAAHhFP5IlLq84VnTvPL/B/pYOv+eFXpvJbZ93uyDeNd27WrxHg2GNmFhxFYmmhunpl6wfD8TUuPT2+YrgzDHIt7Hwd1wGA+YNAeIwgEALAI+KJGidHTXzn7mB052DwVTH8zzr6xnl//oLDZlGA+cHMUolOSusr0xuG29fL/Lp6fWNnszNKVS2xcRQAHtIBB8IHLYsBAMBc2esl49R2GY920viM6NxjwzNTPx67ukYaBJgj3pOzvijFzii+J+p003oQbHXSblAF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6UoLTB0EgEMGgRAA4Ohop9XHslmKMrMg7zZi3ESiTvreS2ud81RVnpAJAb5XzCyliCNeHFanhqOrwsmVPtjI1tFIBgAOLQRCAIAjZW9avWqWk6lZEmeMGJuAKe1ZJ51zu57qyhMhEwI8YswspIgiXhjUJ4a7V4Xjq4hPFBvD8UKYhwIz6AHgUEIgBAA4atqmox1VraYTsyLO2z55zabTs04470aemhqZEOCRYWYhOAp52G9OLI6uicZXkztZbC6MFqMslg0ayQDAIXU4AmGWZZPJZDAYRFH00MuklA+9Zp9zbjwe9/t95of1AV7XdVmWvV7vYb1iAICZYiIlXFdX652xXeVt6rHVwna71gvv3HhCTYNMCPBwtWkwDMWgbzaXRtfEo6vYnSzWlkYryTRBW1EAOMzErF/Ad5fn+ROf+MT19fWPfOQjD7jg7Nmzr3jFK1ZXVzudThzHp06devWrXz0ejx/sCT/84Q8/5SlPCcNwOBxGUfRTP/VTn/rUpx5scdM0b33rW6+//vooivr9/mAweMlLXvL1r3/9UXhjAACXDRMxeS1sLyg3uuPFtXF2pdm9Rk6v7vm1JdHtsg6YmXAPC/BdXZIG7ebS+JpkfDWbK8r1pdFqMk1UrZAGAeAwOwSB8Dd+4ze++tWvPtijX/nKVx73uMe9853vPHfuXHvlrrvuevvb3/74xz/+nnvuuf/6V77ylc9//vNvu+02YwwR1XX96U9/+lnPetZb3vKW+y/OsuzHf/zHX/va137ta1/z3hPRaDS69dZbH//4x3/2s599dN4eAMDl0WbCQNh+UK53x8OLmTC7qu/XFkW/zYQCmRDgoeztFI3aNDi6Nt29hqsrqrXl0Woy6ahKscXPEAAcavMeCD/ykY+85z3vebBHq6q6+eabz549K6X83d/93dtvv/0f/uEffv3Xf52IvvnNb/78z//8fda/733v++M//mMievKTn3zrrbd++ctffve733399dd771//+tf//d///X3W/9qv/drtt99ORC960Yv+7u/+7gtf+MLb3va2TqeTZdktt9xy5syZR/ndAgA8qvYyoTSDoNjojfobk+lVdufaNhMuXZIJcUML8ED20+CwbzeXxtd2RtdwdbpaWxmtpZNU1UrYeb+RAgD4bub6DOFdd931K7/yKw+x4D3vec83vvENInrHO97x8pe/vL34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IFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBIVbT3DjRvxYoVv/rVr15++eU1a9bsscceBx100JgxY4455phmi3O53MyZM2fMmLFmzZry8vKBAwdOmDBhzJgxLW38tddemzZt2vz58997770+ffp88Ytf/Na3vrXHHnu0VP/ss8/eddddK1asqKmp6dev37hx4yZOnNi5c+e/w+sEAABoP5kkSdp7H/5GfX39D3/4w5tuuqmhoaHRqn/8x3+cMmVKnz59Chvff//98ePHP/XUU42KTzvttHvuuadTp06N2qdPn37uuedu2bKlsLFXr17Tp08//vjjm+5PVVXVTTfd1Khx6NChDz/88L777rv9r6tZmUwmhHDbS0evrttjc0PnhqQsbHs3Mp9wywAAQEeUC5nabOXrm3quX9nn1e9WhRCKGtlK7gjhjTfeeP3114cQ+vfvf/bZZw8YMOD111+fOXPmCy+8MH369Lfeeuupp54qK/vrma5nnnlmmgZHjx590kkn1dTUPPTQQ0uWLJkxY8auu+46bdq0wo3PnTv37LPP3rp1a69evU455ZThw4fPmzfvwQcffO+998aPH79w4cLBgwcX1l9//fVpGhw4cOA//MM/7LHHHrNnz541a9by5cvHjRu3cOHCnXbaaUf8UAAAAIqgtI4QvvHGG0OGDKmpqRk9evSjjz7avXv3tD2bzV522WX//d//HUL46U9/+t3vfjdtf+SRR8aNGxdC+PrXv37XXXeljQ0NDWPGjJkzZ04IYcmSJcOGDctv/7DDDlu0aFG3bt3mzZs3dOjQtHHOnDljxoxpaGg45ZRTfvOb3+SL33nnnf79+9fU1Bx00EHz5s3L78ykSZOuvvrqEMKUKVMuvfTST/J6HSEEAAAK7eAjhKV1U5lf/vKXNTU1mUxmypQp+QAWQigvL7/hhhuGDBkSQnjwwQfz7TfffHMIYb/99vuf//mffGNFRcX999+fHrubOnVqvv3ZZ59dtGhRCOGmm27Kp8EQwvHHH19VVRVCeOCBB9atW5dv//nPf57uzIwZMwp3ZtKkSZ///Ofz/zoAAEAHVVqBcP78+SGE/v37Dx8+vNGqioqK4447LoTwwgsvpBF5y5YtTz/9dAhh4sSJja4V7NmzZ1r8u9/9Lt/4yCOPhBA6d+581llnNdr4qaeeGkJIkmTWrFmN6r/whS8MGjSoUf348eNDCKtXr161atXHfrEAAADtq7QC4ZtvvhlCOOCAA5pdu/POO4cQtm7dmn65dOnS+vr6EMJRRx3VtPjkk09ON1hdXZ22PPfccyGE4cOHp9spNHLkyL59+4YQFi5cmLbkcrkXXnih9Y0X1gMAAHQ4pXVTmblz5+ZyucrKymbXppcFDh48OL307uWXX07bBw4c2LT4wAMPTBdWrVq199575+ubLc5kMgcccMD69evzR/zeeOONurq6luoHDRpUUVHR0NDgCCEAANBxlVYgbHrsLm/q1KmLFy8OIZx//vlpy9tvv50u7Lnnnk3r99prr3ThrbfeKqxvtjhf36i4pfqysrK+fftWV1fn61uShlgAAIASVFqBsFkNDQ3XXHPNj3/84xDCqFGjvvnNb6bt6bMEy8rKmn32Q5cuXQrLstnshx9+GFrOnGl9/vmE+YXtrG/Jl7/85dYLAAAA2kupB8JZs2ZVVVWtXLkyhDBs2LDf/e53+fvHpBcQlpeXN/uNFRXbXlp65mdaXNjebH1a/DHqW9Lsw+7zHD8EAADaUekGwpdffvnb3/72E088EUIoLy+vqqr6j//4j86dO+cL8veYSZIkvaqwUD6qpYfyunTpkslkkiRJjxM2ldbnjyvmDwxuZ31LZs+e3craprsNAACww5TWXUZTSZJcd911Q4cOTdPguHHjli5det111xWmwRBC/tmAmzZtarqRfGO+rFu3bi0V59vzxa1vvGk9AABAh1NygTBJkokTJ15xxRX19fUHH3zw73//+4ceeih/y9BC/fv3TxcKnyafl3/aRL4sXWi2OF/fqLil+tra2o0bNxaWAQAAdDglFwi/853v3HvvvSGEK6+8ctGiRaNHj26pcsiQIenCsmXLmq5NGzOZzODBgwvrmy3OZrMrVqwo3GbPnj3TJxM2W798+fJG+wAAANDhlFYgfPbZZ2+++eYQwg033HDttde29EDC1ODBg9MHDD755JNN16aNo0aNyp/Vedxxx4UQVq1atXbt2kbFCxcu/OCDD8Lf3gMmrX/qqada2nhlZeXRRx+9/a8OAACgpJRWIEzT4PDhw6uqqran/tRTTw0h3H///e+8805h+5/+9Kf0Bp5nnHFGvvGrX/1qp06dkiS55ZZbGm1n6tSpIYTevXsfe+yx+cbTTz89hLB69SAmQiYAABlHSURBVOrHHnussPjDDz+84447Qggnnnhijx492vDyAAAASkkmSZL23odtkiTp2rVrbW3tcccdd8opp7RU1rVr1/yjCNetW/e5z33uww8//MpXvjJjxoz0YOD69evHjBmzePHiPn36rFmzpmvXrvnvveSSS2655ZZOnTrNnDnz5JNPThunTZv2z//8zyGE66+//vLLLy/cn2HDhi1fvrxfv35z5swZMGBACKG+vv7888+/6667MpnM/PnzR40a9UlecnqX0dteOnp13R6bGzo3JGVh27vh7qMAABCjXMjUZitf39Rz/co+r363KoRQ1MhWQoFw3bp1++yzz/+3rG/fvm+//Xb+y1/84hfnnHNOCGGnnXY6+uijP/jgg4ULFzY0NFRUVDz22GNf+tKXCr938+bNRxxxRHq54P777z9s2LBnn3023drxxx8/a9asRk8dXL58+ZFHHvnBBx9kMpkRI0bsvvvuf/jDH9KTSydNmvTv//7vn/AlC4QAAEChHRwIS+iU0VdeeeVjfNe3vvWt+++/f88996yrq3viiSfmzZvX0NAwcODAJ598slEaDCF07979mWeeOf3008vKytasWfPb3/727bff7tSp08UXX/zQQw81fQb90KFD586de+ihhyZJsmjRolmzZn3wwQc9e/a89dZbP3kaBAAAaF8ldITwk8hms3Pnzl2zZk15efngwYMPO+yw1uvXrVu3YMGCjRs39u3b96ijjtptt91ar1+2bNmKFStqa2v79es3evToRk9E/NgcIQQAAArFe8pohARCAACgULynjAIAALAjCYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhCUo0947AAAARKGivXeAkIRMLglJkkkSURAAAOKVhJDs2GggELa/2lynmmznLdlO2aQsSdp7bwAAgPaThExtQ2V9tjyT3RH/nEDY/l7YtO8r7/eqra/MOUIIAAARS0IISaYhW1a7ufNOm3ZEOsgkjkm1n0xGAgQAAFpT1MjmpjIAAACRcoQQPrV69+793nvvbdiwoVevXu29L3wKjRw58vnnn1+0aNGIESPae1/4FDrttNNmzpw5Y8aMU089tb33hU+hyy677L/+679uvPHGqqqq9t4XPoVuvvnmSy+99Nvf/vbPfvaz9t6X/z9HCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAilUmSpL33AQAAgHbgCCEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASJVPmjSpvfcB+KtcLvfaa68tXLiwurq6e/fuO++8c+v11dXVCxcufPHFF2tra/v27ZvJZFopbmhoeP755xctWvTWW29169ata9eurW9806ZNCxcuXLx48caNG3v37l1ZWdnm10MJW7t27axZs2pra/fee++WatraB1auXLlw4cI1a9aUlZX17Nmz9WId7FNpy5Ytzz///OLFiz/88MNdd921oqKileKidrC2jnh0COvWrVuwYMHatWu7dOnSrVu31ovb2geKOqVSgjZs2PDQQw9VVlb27t279cqizm7tP7IlQGmoq6ubNGlSowQ4YMCABx98sNn6V1999YQTTiicrvr163fPPfe0tP2bb765T58++eKKiorTTz/9nXfeabZ4y5YtF110UZcuXfL1PXr0uPLKK+vr6/8+r5b2Vl9ff9hhh4UQzjnnnGYL2toHnnzyyQMOOKCw944aNer555//u2ycDmHz5s0XX3xx4V8nXbt2nTx5crNva1E7WNLGEY8O4Z577vnMZz5T2AcGDx786KOPtlTfpj5Q1CmVkvWTn/wkhHDDDTe0UlPU2a1ERjaBEErCli1b8iNCJpPZd999d9ttt/wvfNM/2VevXt2rV6/8cFD4eVKz49p3vvOdfEHv3r3LyradLr7ffvs1HUfq6uoOP/zwfP3uu++eXx43blw2my3WT4Ed6N/+7d9a6l1J2/vAzJkz852qe/fuO+20U7rcuXPnP/7xj59w43QIGzduHDJkSH4Q22uvvfJd4rTTTmtUXNQOlrRxxKNDOPfcc/PvaZ8+fXbdddf8l5MmTWpa36Y+UNQplZJVV1c3aNCglt7lVFFnt9IZ2QRCKAlXXHFF+lt9/vnn/+Uvf0kbFy9e/PnPfz5tv/vuuwvrR40aFUIoKyu7/fbb33///Ww2u2DBggEDBqSNixcvLix+9NFH040ceeSRy5YtS5Lk3Xffvfrqq9PGU045pdHO5KPCBRdcsG7duiRJVq1adcopp6SNU6ZMKeIPgh1i9uzZ+Q/Cmw2EbeoD69evT0/c6t2795NPPllfX19TUzNjxoz0I9K99tqrtrb2Y2+cjmLs2LEhhEwmc9NNN6V/mmzYsOHMM89M39af//znhcVF7WBtHfEofffdd1/69o0dO3bNmjVp47Jly4444oh01vv9739fWN/WPlDUKZXS9O67706YMCF911oKhEWd3UpqZBMIof1VV1d36tQpneoardq8efNnP/vZEMLee++db5w1a1b6+z958uTC4pdffnmXXXYJTT6PTz+v6tevX6MPkC666KL0D7jly5fnGzds2JCetjp27NjCT7NqampGjBiRDlLO6+vQ3n333T333DN965sNhG3tA9/73vdCCBUVFY0+0bz//vvTjjp16tSPvXE6hCeffLLpe50kydatW9O39fDDD883FrWDJW0c8egQTjjhhBDC/vvvX1NTU9j+zjvvpEfzzj333ML2NvWBok6plJoXX3zxqquuOvnkk/OH41oJhEWd3UpqZBMIof397//+b/rL3+wZAlOmTEnXvvnmm2nLN77xjRBCnz59mv7dfM4554QQdtppp/ys+dprrzX70VSSJGvXrk1X/ehHP8o33nXXXWnj0qVLW9rPp5566pO8XtrXySefHEIYP358+llD00DY1j6w3377tfTxZPpPHH300R9743QIp556agihf//+TVfdc889Bx544NChQ99///20pagdrK0jHh1Cej7nhRde2HTVSSedFEIYNmxYvqWtfaCo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Mv8t2Wz2n/7pn5rWfPazn3355Zeb/hNz587N39IqL5PJ/OAHP2h2l2655ZamVy1369btwQcfLNZPgR2ulUCYtLEPrF+/fvjw4U075AknnFBTU/MJN06HsHr16gEDBjTtA/369Xv88ceb1he1g7V1xKP0/eQnP8k/IqJQr1697rjjjqb1beoDxZ5SKVnpe9dSIEyKPLuVzsiWST76WQDtIpvNXnPNNdvzm3jJJZc0uh3/ww8/fOedd65YsaK2trZfv35f+9rXLrzwwpaeQrN+/fqpU6c+/vjjb775Zo8ePUaMGHHBBRd84QtfaOmfW7p06a233jpv3ryNGzf27dv32GOPveSSS/r379/WF0jJ+tnPfrZx48ZDDz30q1/9arMFbeoD9fX1d9xxx4wZM9asWVNeXj548OCzzjprwoQJLT0nVwf79Kmtrb3jjjseeOCBV199tbKy8uCDDz7ssMMuuuiilgalonawto54lL7q6upbb731xRdfXLlyZWVl5ZAhQw455JCLL744vetMU23tA0WdUilN6RWkX/nKV4488siWaoo6u5XIyCYQAgAARMpjJwAAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABE6v8BAYul7q9ABX4AAAAASUVORK5CYII=", + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "# simulate temperature evolution for nsteps\n", - "@time simulate_cpu!(curr, prev, nsteps)" + "@time simulate_cpu!(curr, prev, nsteps)\n", + "\n", + "show_heatmap(curr)" ] }, { @@ -709,7 +726,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 28, "metadata": { "tags": [] }, @@ -720,14 +737,13 @@ "calculate_cuda! (generic function with 1 method)" ] }, - "execution_count": 22, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function calculate_cuda!(currdata, prevdata, dx2, dy2, nx, ny, a, dt)\n", - "\n", " i = (blockIdx().x - 1) * blockDim().x + threadIdx().x\n", " j = (blockIdx().y - 1) * blockDim().y + threadIdx().y\n", " if i > 1 && j > 1 && i < nx+2 && j < ny+2\n", @@ -737,12 +753,12 @@ " end\n", " \n", " return\n", - "end\n" + "end" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 29, "metadata": { "tags": [] }, @@ -753,14 +769,13 @@ "simulate_gpu! (generic function with 1 method)" ] }, - "execution_count": 23, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "function simulate_gpu!(curr::Field, prev::Field, nsteps)\n", - "\n", + "function simulate_gpu!(curr::Field, prev::Field, nsteps::Integer)\n", " println(\"Initial average temperature: $(average_temperature(curr))\")\n", "\n", " # Diffusion constant\n", @@ -786,37 +801,38 @@ " next!(p)\n", " end \n", "\n", - " # print final average temperature\n", " println(\"Final average temperature: $(average_temperature(curr))\")\n", - "end\n" + "end" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 46, "metadata": { "tags": [] }, "outputs": [ { "data": { - "text/plain": [ - "(Field{CuArray{Float64, 2, CUDA.DeviceMemory}}(10240, 10240, 0.01, 0.01, [85.0 85.0 … 85.0 85.0; 20.0 65.0 … 65.0 70.0; … ; 20.0 65.0 … 65.0 70.0; 5.0 5.0 … 5.0 5.0]), Field{CuArray{Float64, 2, CUDA.DeviceMemory}}(10240, 10240, 0.01, 0.01, [85.0 85.0 … 85.0 85.0; 20.0 65.0 … 65.0 70.0; … ; 20.0 65.0 … 65.0 70.0; 5.0 5.0 … 5.0 5.0]))" + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAIAAAA+D1+tAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeZRU5Z344bdp7EVAQaJsBhWkRSMSEWIicQMSBVHQSKK4MIkyRs04GnVwiSfGGQyaHB2N5CQSlcR9ISNK3FBPErVFVAIYBEVRRGSJbEIDTS/1++Oe1K/Smwh0d1W9z/NX8dbXS5WHOud++r1dtyCVSgUAAADi06a1XwAAAACtQxACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEqm1rv4CoFRQUtPZLAAAAsloqlWq+g9shBAAAiJQdwtZXs6JPa78EAAAg6xR2W9zcf4UdQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEi1QhCuX79+9erV2zNZW1u7fv367b8PY0VFxdatW7dz+IsefNu2bZ999tl2DgMAAGS/lg7CVCr11a9+tVevXk2PPfroo4MHDy4uLu7UqVNJScm3v/3t5557rrHhVatWXXzxxV26dGnfvn1paWnPnj0nTJjQRLx9oYNXVVVNmjTpoIMOKikp2XPPPTt27HjOOecsXtzs9wMBAABobgXbv0W2S/zlL3857rjj2rVrt2nTpsZmLrnkkl/96ld1FgsKCiZOnHj11VfXWX/77beHDBmyatWqOuu9evV66aWXunfvvjMHr6ioGDZs2KxZs+qst2vXbvr06UOHDm3sLWyngoKC4Mb0AABAQ5Ib0zdrsrXoDuGaNWvGjx/f9Mzdd9+dBNuRRx553333LViwYMqUKQcddFAqlbr22mufeeaZzOHKyspRo0atWrWqsLDwuuuumzVr1osvvvijH/0ohLBkyZLTTz99Zw4eQrjwwguTGhw7duxTTz01Z86cm266qX379hUVFWPGjFm5cuXO/f8AAABoTS2xQzhv3rwFCxa89NJL9913X7Ix2NgOYWVlZe/evZcvX15WVjZr1qxOnTol6x9++OGR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EC5fvnz//fevrq7+1re+NWPGjPT+3qZNmwYPHjx//vz27dt/+umn6cs1Z8yYcfLJJ4cQxo0bN3Xq1GSxurp6+PDhzz//fAhh7ty5/fv3Tx9/0KBBb7zxRvv27cvLy/v165csPv/888OHD6+urj711FP/+Mc/podXr159wAEHbN68+dBDDy0vL+/QoUOyfv311//sZz8LIdx2222XXHLJzrxfQQgAADSmBYIwu75U5rXXXkuuFL3pppsyr/Zs3779DTfcEELYtGnT/Pnz0+u/+tWvQgj777//nXfemV5s27btI488kuzd3XHHHen1V1999Y033ggh3HLLLekaDCEMGzbs8ssvDyE8/vjjH3/8cXr9rrvu2rx5c0FBwWOPPZauwRDC9ddf//Wvfz39twMAAOSo7ArCRYsWJQ/69Km7aXbQQQclDxYuXJg8qKio+POf/xxCOPvss+v8rmCnTp2GDBkSQkiuJk3MmDEjhFBcXHzWWWfVOfh3vvOdEEIqlUouB82cHzx4cPqvTjvttNNCCO+9997ixYu/6HsEAADIEtkVhF26dEkevP3223WeSq+kvw503rx527ZtCyF885vfrH+okSNHhhA++eST5cuXJyuvv/56COHwww/ffffd6wwPHDgw+atnz56drNTW1s6ZM6fpg2fOAwAA5JzsCsJTTz11jz32CCFcfvnlmV8EumbNmmuuuSaE8OUvf/n4449PFt99993kQVlZWf1DfeUrX0kepDfxkvkGhwsKCg455JDM4Y8++mjr1q2NzR900EFt27bNnAcAAMg52XUfwr322uv//u//Ro8e/fLLL5eVlZ1++unJt4w+/PDD69at69Kly5NPPrnbbrslwytXrkwedOvWrf6hunfvnjxYsWJF5nyDw+n5OsONzbdp06ZLly7Lly9PzzdmyZIlTQ8AAAC0luwKwhDCkCFDnn322WOOOeaTTz65/fbb0+sdO3YsLy/v1atXeiXZQmzTpk2D934oLS3NHKupqamsrAwh1L9eNHM+vS2ZfrCd843p3bt30wMAAACtJeuC8NFHH/33f//36urq4uLiQw45ZN999/3ggw8WLVq0fv36Y4455oEHHjjmmGOSyeQXCAsLCxs8TnJJZwghufIzGc5cb3A+Gd6B+cZkFmx99g8BAIBWlF1B+Mwzz5x55pk1NTWnnHLK5MmT991332R90aJF48ePf/nll0eMGPHyyy9/9atfDf/cu6uqqkqlUskN/TKlUy3ZyistLS0oKEilUsk+YX3JfHpfMb0xuJ3zjXn//febeLb+ywYAAGgx2fWlMldccUVNTc1XvvKVhx9+OF2DIYS+ffs+/vjj3bp1q6iouPbaa5PF9L0BP/vss/qHSi+mx9q3b9/YcHo9Pdz0wevPAwAA5JwsCsIVK1YsWLAghHDWWWfV/7XAzp07jxo1KoTwwgsv1NbWhhAOOOCA5KnMu8mnpe82kR5LHjQ4nJ6vM9zY/JYtW9auXZs5BgAAkHOyKAiTxAqNV1byBS2VlZXJ7tzBBx+crM+fP7/+cLJYUFDQt2/fZCWZb3C4pqYmadH0MTt16pTcmbDB+bfeeivzmAAAALkoi4KwT58+RUVFIYR33nmnwYFFixaFEPbdd9+OHTuGEPr27dujR48QwgsvvFB/OFn82te+lr6qc8iQISGExYsXL1u2rM7w7NmzN23aFEIYNmxYejGZf/HFFxs7+G677Zb+hhsAAICck0VBWFRU1K9fvxDCPffcU/8395YtWzZt2rQQwsCBA9OL3/nOd0IIjzzyyOrVqzOH33nnneeffz6E8N3vfje9eMoppxQVFaVSqcmTJ9c5+B133BFC+NKXvpS+630IYcyYMSGE995775lnnskcrqys/N3vfhdCOPHEE/fYY48dfbsAAACtLIuCMIQwceLEgoKCpUuXjhgxIrmGM/HXv/51+PDh69evLy4u/ulPf5pev/LKK4uLizdu3HjOOeds3LgxWVy1atWZZ55ZW1u7zz77XHDBBenhrl27jh8/PoRw6623zpgxI70+ZcqUBx54IITwX//1X8XFxen10aNHJ4F6wQUXLF68OFnctm3bD3/4wyVLlhQUFPzkJz9pjv8JAAAALaMglUq19mv4F1dfffWkSZOSxz169OjevfsHH3zw6aefhhAKCgruuOOOiy66KHP+7rvvPu+880IIJSUlxxxzzKZNm2bPnl1dXd22bdtnnnlm6NChmcMbN278xje+kaRmr169+vfv/+qrr65cuTKEMGzYsKeffrrOXQffeuuto446atOmTQUFBUccccTee+/90ksvJReXXn/99ZlpumOS207UrOizk8cBAADyT2G3xSGEZk22rAvCEMLMmTMvvfTSt99+O3PxG9/4xm233TZo0KD6848+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efOrr76alOSvf/3rCy+8MHP4448/Hjhw4KpVq0IIBx544OGHH15eXr58+fIQQllZ2WuvvdaxY8fM+Wefffakk06qqalp06bNwIEDu3bt+uc///mzzz4LIXz3u999+OGHd/KdCkKgxahB2LU0IdACYgzCe++999xzzw0h/OAHP/jtb3/btm3bEMKKFSuGDx8+b968Dh06LF26tFOnTsnwW2+91b9//1QqdcQRR/z5z39u3759CGHlypXf+MY3Pvzww5KSkg8++KBr167pg59++unTpk0L/xqWkyZNuvrqq0MIl1566a233poerqys7N279/Llyzt27FheXn7wwQeHEKqqqk477bQZM2aEEB5//PFRo0btzJsVhEDLUIPQHDQh0NxaIAiz60tlampqfvrTn4YQTjjhhClTpiQ1GELo1q3bH/7whxDCxo0b//SnP6Xnf/GLX6RSqT333POJJ55IajCE0LVr1yeffLKgoGDr1q133HFHevi999774x//GEK48sorM7cZr7rqqjFjxoQQfvvb3ya7f4n7778/2Ty8//77kxoMIey2224PPvjgAQcckPztzfE/AWDXUoPQTHy4gDyQXUH40ksvffDBByGEyy67rE2bf3lthx122HXXXXfxxRenK7GmpibZqTvzzDO7d++eOXzooYcOGjQohDB9+vT04hNPPJFKpQoKCi677LI6f+/3v//9EMKWLVtmzpyZXnz88cdDCH379h0xYkTmcPv27ZOAfPXVV//xj3/s5FsGaFZOWAGAJmRXECa7f126dBk2bFj9Z2+44YY77rjjjDPOSP741ltvrVu3LoQwdOjQ+sOnnHJKCOHvf/97MhNC+Otf/xpCOOSQQ7p161ZneMiQIckGYzKTeOmll5o+eG1t7csvv/wF3yJAy1GD0Nx8yoBcl11BOHfu3BDC4YcfXlhYmKxs3rx527ZtDQ6/8847yYNDDz20/rNf+9rXkgfvvvtu5nyDw8XFxYcddljm8KpVq9avX9/Y/KBBg5Jf/0vPAwBx0oRATsuuIFy0aFEIoWvXrhs3brz66qt79uzZrl279u3bH3bYYf/xH/+R3utLLFu2LHmw77771j9UevGjjz7KnG9wOL1eZ7ix+aKiouSmiOl5gGzjJBVajI8bkLvatvYL+BfpX8k74ogjFi9enDyuqqp666233nrrrccee+yBBx44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ACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSbVv7BTRswYIFDz744LvvvrtkyZKuXbseeuihw4cPP/bYYxscrq2tnTZt2mOPPbZkyZLCwsKysrIzzzxz+PDhjR38ww8/nDJlyqxZs9asWbPPPvscd9xxP/jBD7p27drY/Kuvvjp16tQFCxZs3ry5Z8+eJ5988tlnn11cXLwL3icAAEDrKUilUq39Gv7Ftm3brrvuultuuaW6urrOU2ecccZtt922zz77ZC5u2LDhtNNOe/HFF+sMn3766ffff39RUVGd9Yceeuj888+vqKjIXOzcufNDDz00bNiw+q/n8ssvv+WWW+os9uvX78knn9xvv/22/301qKCgIIRQs6LPTh4HAADIP4XdFocQmjXZsi4Ib7zxxmuvvTaEcMABB5x77rl9+vRZunTptGnT5syZE0I49thjX3zxxTZt/v+VrieddNJTTz0VQjj66KNPOumkzZs3P/HEE3Pnzg0hnH/++VOmTMk8+CuvvHL88cdXVVV17tz51FNPPfzww8vLy6dPn75p06YOHTrMnj27b9++mfM333zzhAkTQghlZWWjR4/u2rXrzJkzn3766RBCv379Zs+eXVJSsjNvVhACAACNiS4IP/roo4MPPnjz5s1HH330n/70pw4dOiTrNTU1V1xxxf/+7/+GEG699dZLL700WZ8xY8bJJ58cQhg3btzUqVOTxerq6uHDhz///9q7/yirynp/4M8wMyA/xBCQK8QoFgKSIIIY5o8wSyWtJaRrEdxuLjJFTde9k2XaD7xJYVgtEswVlGVL8wd01fSigS2tREAQGCRMELvCoCBSgswMw8yc7x9P7e+5c2YmDt7jnGG/Xn+defZn9pwz5zPPM+9z9tl76dIQwtq1a0eOHJns/7TTTlu1alWPHj2WLVt28sknx8GlS5deeOGFDQ0Nl1xyya9//eukeOfOnYMGDaqpqfnQhz60bNmy5M7MmDHjlltuCSHMmTPnuuuuezePVyAEAABa8x4EwuI6qcwvfvGLmpqakpKSOXPmJAEshFBaWjp79uxhw4aFEB555JFk/I477gghHH/88T/5yU+SwbKysgcffDC+dzd37txk/Lnnnlu1alUI4Qc/+EGSBkMI5513XmVlZQjh4Ycf3rZtWzL+05/+NN6ZhQsXZt+ZGTNmfPjDH05+OgAAQAdVXIFw+fLlIYRBgwaNGjWq2aaysrJzzz03hPDCCy/EiLxv376nn346hDB16tRmnxXs1atXLI5Hk0aPPfZYCKFLly5TpkxptvNJkyaFEDKZTDwcNLv+Ix/5yJAhQ5rVT5w4MYSwefPmTZs2HfKDBQAAaF/FFQi3b98eQjjppJNa3NqtW7cQwoEDB+KX69atq6+vDyGceeaZucUXXXRR3GF1dXUcef7550MIo0aNivvJNmbMmH79+oUQVq5cGUeampripxbb2Hl2PQAAQIdTXJedePbZZ5uamsrLy1vcGj8WOHTo0PjRu5dffjmOn3jiibnFw4cPjzc2bdo0YMCApL7F4pKSkpNOOmnHjh3JO36vvfZaXV1da/VDhgwpKytraGjwDiEAANBxFVcgzH3vLjF37tw1a9aEEK688so48sYbb8Qbxx57bG59//79443XX389u77F4qS+WXFr9Z06derXr191dXVS35oYYgEAAIpQcQXCFjU0NNx6663f/va3Qwhjx469/PLL43i8lmCnTp1avPZD165ds8saGxv3798fWs+csT65PmFy4yDrW/Pxj3+87QIAAID2UuyBcPHixZWVlRs3bgwhjBw58r//+7+T88fEDxCWlpa2+I1lZX9/aPHIz1icPd5ifSw+hPrWtHix+4T3DwEAgHZUvIHw5Zdf/tKXvvTb3/42hFBaWlpZWfmf//mfXbp0SQqSc8xkMpn4qcJsSVSLb+V17dq1pKQkk8nE9wlzxfrkfcXkjcGDrG/NkiVL2tiae7cBAADeM8V1ltEok8ncdtttJ598ckyDF1988bp162677bbsNBhCSK4NuGfPntydJINJWY8ePVorTsaT4rZ3nlsPAADQ4RRdIMxkMlOnTr3xxhvr6+tHjBjx+9///tFHH01OGZpt0KBB8Ub21eQTydUmkrJ4o8XipL5ZcWv1tbW1u3fvzi4DAADocIouEF5//fX33XdfCOGmm25atWrVWWed1VrlsGHD4o2qqqrcrXGwpKRk6NCh2fUtFjc2Nm7YsCF7n7169YpXJmyxfv369c3uAwAAQIdTXIHwueeeu+OOO0IIs2fPnjlzZmsXJIyGDh0aLzD41FNP5W6Ng2PHjk2O6jz33HNDCJs2bdq6dWuz4pUrV77zzjvhf58DJtb/7ne/a23n5eXlZ5999sE/OgAAgKJSXIEwpsFRo0ZVVlYeTP2kSZNCCA8++ODOnTuzx//85z/HE3hedtllyeCnPvWpzp07ZzKZefPmNdvP3LlzQwh9+vQZP358MnjppZeGEDZv3vzEE09kF+/fv3/BggUhhAsuuKBnz555PDwAAIBiUpLJZNr7PvxdJpPp3r17bW3tueeee8kll7RW1r179+RShNu2bfvgBz+4f//+T3ziEwsXLoxvBu7YsePCCy9cs2bNMcccs2XLlu7duyffe+21186bN69z586LFi266KKL4uD8+fO/+MUvhhC+973v3XDDDdn3Z+TIkevXr6+oqFi6dOngwYNDCPX19VdeeeXPf/7zkpKS5cuXjx079t085HiW0cbXB7+bnQAAAIel0mM3hRAKGtmKKBBu27Zt4MCB/7SsX79+b7zxRvLlz372s2nTpoUQjjjiiLPPPvudd95ZuXJlQ0NDWVnZE0888bGPfSz7e/fu3Ttu3Lj4ccETTjhh5MiRzz33XNzbeeedt3jx4mZXHVy/fv0ZZ5zxzjvvlJSUjB49um/fvn/4wx/iwaUzZsz41re+9S4fskAIAAC0Jl2B8JlnnvnoRz/6T8uaBcIQwkMPPXT99de//vrryciJJ544f/78Fj/g99Zbb02fPn3RokVNTU1xpHPnzldcccXs2bNbvKhgVVXV5Zdf/sILLyQjvXr1mjlz5vTp0w/uYbVFIAQAAFqTrkD4bjQ2Nj777LNbtmwpLS0dOnToaaed1nb9tm3bVqxYsXv37n79+p155plHH3102/VVVVUbNmyora2tqKg466yzml0R8ZAJhAAAQGsEwsOcQAgAALTmPQiExXWWUQAAAN4zAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAjhzIBwAAFgNJREFUQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFIlmUymve9DepWUlLT3XQAAAIpaQSObdwgBAABSyjuEcNjq06fPW2+9tWvXrt69e7f3feEwNGbMmNWrV69atWr06NHtfV84DH3mM59ZtGjRwoULJ02a1N73hcPQl7/85e9///u33357ZWVle98XDkN33HHHdddd96UvfelHP/pRe9+Xf847hAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKVWSyWTa+z4AAADQDrxDCAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASpXOmDGjve8D8P81NTX95S9/WblyZXV19ZFHHtmtW7e266urq1euXPniiy/W1tb269evpKSkjeKGhobVq1evWrXq9ddf79GjR/fu3dve+Z49e1auXLlmzZrdu3f36dOnvLw878dDEdu6devixYtra2sHDBjQWk2+PbBx48aVK1du2bKlU6dOvXr1artYgx2W9u3bt3r16jVr1uzfv/9973tfWVlZG8UFbbB8Zzw6hG3btq1YsWLr1q1du3bt0aNH28X59kBBl1SK0K5dux599NHy8vI+ffq0XVnQ1a39Z7YMUBzq6upmzJjRLAEOHjz4kUceabH+1VdfPf/887OXq4qKinvvvbe1/d9xxx3HHHNMUlxWVnbppZfu3LmzxeJ9+/ZdffXVXbt2Tep79ux500031dfX/988WtpbfX39aaedFkKYNm1aiwX59sBTTz110kknZXfv2LFjV69e/X+yczqEvXv3XnPNNdn/nXTv3n3WrFktPq0FbbBMnjMeHcK99977/ve/P7sHhg4d+vjjj7dWn1cPFHRJpWh997vfDSHMnj27jZqCrm5FMrMJhFAU9u3bl8wIJSUlxx133NFHH538wef+y7558+bevXsn00H260ktzmvXX399UtCnT59Onf5+uPjxxx+fO4/U1dWdfvrpSX3fvn2T2xdffHFjY2Ohfgu8h77yla+01l2Z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RsTX7NtoyN69eycn0dZgh5+TTz453ti0aVPu1rfeeiuedWbYsGFx5D1osIOf8Sh+vXr1Cv/7RDLZGhsbYyMdddRRcSSvHij0kkrHVdDVrehmtgzQ3tauXRv/Hh988MGDqZ8xY0YIoXPnzrt27Wq26bLLLgshVFRUJCM1NTXxEz6VlZXNipProv7sZz9LBuPhhSGE3/zmN83q77zzzrjplVdeyePhUaxiApw2bVqz8Xx74KMf/WhcrpoVNzQ09O/fP4Twuc997pB3TocQT1b0b//2b7mb7r777vi0Ll++PI4UtMHynfEofnfddVd84l566aXcrUuWLIlbH3/88TiSbw8UdEmlyMWnbPbs2S1uLejqVlQzm0AI7e/KK69stuS07bXXXotvIV511VXZ48uXL4+nn5k1a1b2+PTp00MI3bt3z56JmpqaLr744hBC37599+7dm4w3NjYOHz48hHDKKafU1dUl43/961/jUQ0XXHDBoTxIik9rgTDfHnjggQfianT//fdnjycHqT733HOHvHM6hNtuuy2EUFJS8tBDD2WPb9q0KX70ZcyYMQ0NDXGwoA2WyXPGo/i98sor8V/hcePG7dmzJ3vTjh07PvjBD4YQ+vTp89e//jUZz6sHCrqkUuTaDoQFXd2KamYTCKH9jRkzJoRQXl7eu02bNm1KvuWmm26K88XUqVMfe+yxFStWzJw5M16Z9MQTT9y3b1/2/qurq+P/ZAMHDvzhD3+4du3aBx54YMKECXEP8+fPb3Z/nnjiiXhhnDPOOOOee+5Zt27dj3/84zjNde3add26de/FL4XCay0QZvLsgaampjPPPDOE0KVLl5tuumnZsmW//e1vr7322riHKVOmvJud0yHU1NQkVzSZPHny3XffvWjRoq9+9avxzHjl5eXNntaCNli+Mx7Fb968efHp69+//6233vpf//Vf999//4033pgcJvroo49m1+fbAwVdUilmbQfCgq5uRTWzCYTQ/o4++uhwEDZu3Jh8S2Nj47/+67/m1nzgAx94+eWXc3/Es88+m5zSKlFSUvL1r3+9xbs0b9683E8t9+jR45FHHinUb4H3XBuBMJNnD+zYsWPUqFG5DXn++efX1NS8y53TIWzevHnw4MG5PVBRUfHkk0/m1he0wfKd8Sh+3/3ud5NLRGTr3bv3ggULcuvz6oFCL6kUrfjctRYIMwVe3YpnZivJ/ON3AbSLxsbGW2+99WD+Eq+99tpmp+P/zW9+c/fdd2/YsKG2traiouLTn/709OnTW7sKzY4dO+bOnfvkk09u3769Z8+eo0ePvuqqqz7ykY+09uPWrVt35513Llu2bPfu3f369Rs/fvy11147aNCgfB8gRetHP/rR7t27Tz311E996lMtFuTVA/X19QsWLFi4cOGWLVtKS0uHDh06ZcqUyZMnt3adXA12+KmtrV2wYMHDDz/86quvlpeXjxgx4rTTTrv66qtbm5QK2mD5zngUv+rq6jvvvPPFF1/cuHFjeXn5sGHDTjnllGuuuSaedSZXvj1Q0CWV4hQ/QfqJT3zijDPOaK2moKtbkcxsAiEAAEBKuewEAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAAp9f8AOCebTskDiWIAAAAASUVORK5CYII=", + "text/html": [ + "" ] }, - "execution_count": 38, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ "# initialize data on CPU and move it to GPU\n", - "curr, prev = initialize(nx, ny, CuArray)" + "curr, prev = initialize(nx, ny, CuArray)\n", + "\n", + "show_heatmap(curr)" ] }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 47, "metadata": { "tags": [] }, @@ -827,25 +843,71 @@ "text": [ "Initial average temperature: 59.76400241851807\n", "Final average temperature: 59.734468711088795\n", - " 1.422673 seconds (12.62 k allocations: 370.617 KiB)\n" + " 1.452977 seconds (9.51 k allocations: 319.664 KiB)\n" ] + }, + { + "data": { + "image/png": "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tvmDt88DAAAAwC5nagXhhz/8YRHp7+/fOMN++9vf+r4vIgsXLoxX9thjj7jHHnjggY0PFS+ecMIJtm1vxcFb8w8//LDneZMevKOj49hjj92a7wkAAAAAU8DUCsITTzxxxowZIvKtb32rfT2Kovj+KwcffPDRRx/dWv/nf/5nEXnwwQdfeOGF9vkHH3zwxRdfFJFzzjlnGw8+MjLywx/+sH1+7dq1t912m4icddZZlmVty/cFAAAAgJ1oagVhJpP52te+JiL33nvvV77ylfi6viVLlpxzzjnPPPOMiHzzm99sfw7E5z//+T322CMMw9NOO+3hhx/2fb9Wq917772f/vSnReTII48844wztvrgxxxzzKmnnioil1566Y9+9KNSqRSG4VNPPXXSSSeVSqV8Pn/FFVfskN8KAAAAAGwXWuuBezvG1Vdffc0112Sz2fimLBtTSp199tk///nP4z92dXWNjY3Fr6+44oprr712wvyf/vSnE044oVKpiEgul3NdNz75c+7cuU899dRb3/rWbTn42NjY/Pnz48sLTdNMp9PxD7Jt+9577z3ppJO28rewTtyf/7nkuGXNWZUgFShdduhfDQAAAABT163vvF3anpG+PezoHcK99977fe9733vf+95NDWiadscdd9x8883z5s0TkTjYjjzyyHvuuWfjYBORY4455oUXXjjjjDMcx6lWq77v5/P5888//8UXX5xQg1tx8K6urueee+5LX/pSd3d3EASVSsU0zYULFz777LPbXoMAAAAAsHPt6B3CN2RkZGR0dHTWrFmFQuH/HPY8r6+vzzCMuXPnbvyc+m08eBRFAwMDjUZj7ty5qVRqiz79FmCHEAAAAMCm7IAdQnP7HXrbdXd3d3d3b+Gwbdt77733djq4rutz5szZ8oMDAAAAwNQ3tW4qAwAAAADYYQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQyd/YHmNzixYt/8pOfLF68uKenZ9999z344IPPPffcvfbaa9LhKIruvffeX/7yl8uXLzcMY968eWeeeeaJJ564qYOvXLnylltueeaZZ0ZGRmbOnPn+97//s5/97OzZszc1//TTT992222vvPJKvV7fa6+9Pvaxj33qU59yHOdN+J4AAAAAsPNoSqmd/Rk2EEXRpZdeeuONNwZB0L6eTqevuuqqyy+/fMJ8qVT6+Mc//thjj01YP/300++44w7bties/+IXvzjvvPNqtVr7Ynd39y9+8YsFCxZs/Hm+/OUvf/e7352weOihh95///1vfetbt/x7TUrTNBH5zyXHLWvOqgSpQOkytf5qAAAAANhpbn3n7SKyXZNtygXhtddee+WVV4rI/vvv/6lPfWrPPfdcvnz5j3/8476+PhG57bbbzjnnnPb5j370o7/5zW9E5L3vfe9HP/rRer3+61//+oUXXhCR884775ZbbmkffvLJJz/wgQ/4vt/d3X3aaacdccQRTz311KJFi6rVaj6ff+655w488MD2+W9/+9uXXXaZiMybN+/UU0+dPXv2ww8//OCDD4rIoYce+txzz6VSqW35sgQhAAAAgE1JXBD29vbuvffeQRB88IMffOCBB1r7e9Vqdf78+S+99FIulxseHm6drvnAAw987GMfE5FzzjnntttuixeDIDjxxBMfeeQREXnhhRcOP/zw1vGPOeaYP//5z7lc7qmnnjr00EPjxUceeeTEE08MguC000771a9+1RoeHBzcZ5996vX6IYcc8tRTT+Xz+Xj96quvvuaaa0TkhhtuuPjii7fl+xKEAAAAADZlBwTh1LqpzLPPPhufKXr99de3n+2Zy+W+8Y1viEi1Wn3ppZda69///vdFZO+99/7hD3/YWjRN8+6774737m666abW+tNPP/3nP/9ZRL773e+2alBEFixY8OUvf1lE7rvvvjVr1rTWf/SjH9XrdU3TfvnLX7ZqUESuvvrqd7/73a2fDgAAAAC7qKkVhEuWLIlf7L///hPeOuCAA+IXixcvjl/UarXf//73IvKpT31qwrWCXV1dxx9/vIjEZ5PGHnjgARFxHOfss8+ecPBPfOITIqKUik8HbZ+fP39+60e3fPzjHxeRZcuWLV269I1+RwAAAACYIqZWEM6aNSt+8eqrr054q7XSuh3oiy++6HmeiPzDP/zDxoc66aSTRKSvr6+3tzde+dOf/iQiRxxxRCaTmTB89NFHxz/6ueeei1eiKHr++ec3f/D2eQAAAADY5UytIDzttNMKhYKIfPnLX26/EejIyMgVV1whIm95y1s+8IEPxIt///vf4xfz5s3b+FBvf/vb4xetTbx4ftJhTdMOPvjg9uHVq1c3m81NzR9wwAGmabbPAwAAAMAuZ2o9h3DatGn/8z//c+qppz7xxBPz5s07/fTT47uM3nXXXWNjY7Nmzbr//vsty4qH+/v74xdz5szZ+FBz586NX6xdu7Z9ftLh1vyE4U3N67o+a9as3t7e1vymLF++fPMDAAAAALCzTK0gFJHjjz/+t7/97XHHHdfX13fjjTe21js7O5966ql99923tRJvIeq6PumzH9LpdPtYGIau64rIxueLts+3tiVbL7ZwflP222+/zQ8AAAAAwM4y5YLwnnvu+Zd/+ZcgCBzHOfjgg/fcc88VK1YsWbKkWCwed9xxd95553HHHRdPxhcQGoYx6XHiUzpFJD7zMx5uX590Ph7eivlNaS/YjbF/CAAAAGAnmlpB+NBDD5155plhGJ588sk333zznnvuGa8vWbLk/PPPf+KJJxYuXPjEE0+84x3vkHV7d77vK6XiB/q1a6VavJWXTqc1TVNKxfuEG4vnW/uKrY3BLZzflNdff30z7278sQEAAABgh5laN5X5yle+Eobh29/+9rvuuqtVgyJy4IEH3nfffXPmzKnVal/72tfixdazAcvl8saHai22xnK53KaGW+ut4c0ffON5AAAAANjlTKEgXLt27SuvvCIiZ5999saXBXZ3d59yyiki8uijj0ZRJCL77LNP/Fb70+RbWk+baI3FLyYdbs1PGN7UfKPRGB0dbR8DAAAAgF3OFArCOLFk05UV36DFdd14d+6ggw6K11966aWNh+NFTdMOPPDAeCWen3Q4DMO4RVvH7Orqip9MOOn8yy+/3H5MAAAAANgVTaEg3H///W3bFpHXXntt0oElS5aIyJ577tnZ2SkiBx544B577CEijz766MbD8eI73/nO1lmdxx9/vIgsXbq0p6dnwvBzzz1XrVZFZMGCBa3FeP6xxx7b1MEty2rd4QYAAAAAdjlTKAht2z700ENF5Mc//vHGV+719PTce++9InL00Ue3Fj/xiU+IyN133z04ONg+/Nprrz3yyCMi8o//+I+txZNPPtm2baXUzTffPOHgN910k4hMnz699dR7ETnjjDNEZNmyZQ899FD7sOu6//3f/y0iH/nIRwqFwtZ+XQAAAADYyaZQEIrItddeq2naqlWrFi5cGJ/DGfvjH/944oknFotFx3G+/vWvt9YvvfRSx3EqlcqnP/3pSqUSLw4MDJx55plRFM2cOfNzn/tca3j27Nnnn3++iHzve9974IEHWuu33HLLnXfeKSL/7//9P8dxWuunnnpqHKif+9znli5dGi96nnfBBRcsX75c07Qrr7xye/wSAAAAAGDH0JRSO/szbODyyy+/7rrr4td77LHH3LlzV6xYMTw8LCKapt10002f//zn2+dvvfXWc889V0RSqdRxxx1XrVafe+65IAhM03zooYdOOOGE9uFKpfKe97wnTs1999338MMPf/rpp/v7+0VkwYIFDz744ISnDr788svHHntstVrVNO2oo46aMWPG448/Hp9cevXVV7en6daJHzvxn0uOW9acVQlSgdJlav3VAAAAALDT3PrO20VkuybblAtCEXn44Ye/+MUvvvrqq+2L73nPe2644YZjjjlm4/l77rnn3/7t39auXdtamTdv3i233DLpBX4jIyMXXnjhvffeG9+qVERs2z7//PO/853vTPpQwZdeeukzn/nM888/31rp6uq69tprL7zwwq37du0IQgAAAACbktAgjPX09CxevHjNmjX77LPPQQcdNHv27M0Mh2H45JNPLl++3DCMAw88cNJubLdmzZpnn312dHR01qxZ//AP/zBt2rTNz7/00kuvvPJKo9HYa6+93vve97afWbotCEIAAAAAm5LoIEwCghAAAADApuyAIJxaN5UBAAAAAOwwBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBCEYQAAAAAkFAEIQAAAAAkFEEIAAAAAAlFEAIAAABAQhGEAAAAAJBQBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBCEYQAAAAAkFAEIQAAAAAkFEEIAAAAAAlFEAIAAABAQhGEAAAAAJBQBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBCEYQAAAAAkFAEIQAAAAAkFEEIAAAAAAlFEAIAAABAQhGEAAAAAJBQBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBC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5JLzzz//xhtvTKVSW/cFAWAHUCKBMqqBM1DLDwwXnFVOxzJVeL1m9I1ExZLyPGoQ2CJxEzaa+uiYrWmderfSUyU906sr1SUz0yrN8wkB7MqmYhCed955t99+u4gUCoXjjjtORP7whz8Ui8ULLrggn8+fddZZ7cNXXnnlN7/5TRFJp9Pve9/76vX6008/3Ww2v/CFL+i6fuGFF7YPr1mz5vjjjx8YGBCRt73tbUccccRTTz3V29v75JNPfvCDH3z22Wc7Ozvb53/729+efvrpYRjqun700UfPnj3797//fblcvuWWW0ql0l133bW9fxUAsFU0JRIovR7YA/XcwFDBWp3qeF0VXq8ZvdQg8MaNN2FDHx2zda3T6I4Mp2xk+5QY3dH0VC1t+LqmaEIAuyJ9Z3+AiX7605/GNfjZz352ZGTk/vvvv//++1977bXDDz9cRC644IKxsbHW8Msvv/ytb31LRI466qjBwcEHH3zwD3/4w+rVq/fee28R+dKXvtTf399+8C9+8YtxDd5xxx1Lly69++6716xZEx/h73//+zXXXNM+7LruueeeG4ZhZ2fn3/72t2effXbRokXDw8MnnXSSiNx9992LFi3azr8MANgKmhIJld4I7KF6tn+4w1qdKixXhdcbZi/XDQJba925o2pkzFk11rnMy6/Qgt5sX7FjzM24kRmJpkREuMsMgF3M1ArCMAy//vWvi8iHP/zhW265xTTHNzDnzJnzk5/8REQqlcr//u//tua/853vKKU6Ojp+/etf53K5eHH27Nn333+/pmnNZvOmm25qDS9btuxXv/qViFx66aXt24xf/epXzzjjDBH5r//6r3K53Fq/4447ent74xcHHXRQvGhZ1s9//vN99tkn/unb45cAANtAUyKR0pqhOdzMrB3r0NekCstVx+uutWZUjZVUkxoEtta6+46qkdH0qmLnsiC3Qmv25frKhaKX9iJD0YQAdkFTKwgff/zxFStWiMgll1yi6xt8tsMOO+yqq6666KKLWpUYhuEDDzwgImeeeebcuXPbhw855JBjjjlGRNo38X79618rpTRNu+SSSyb83M985jMi0mg0Hn744dbifffdJyIHHnjgwoUL24dzuVwckE8//fTQ0NA2fmUAePNoSiQSzY3MMTezttgRrsnkl2sdy127Z1SNjUXNpopCahDYekqpIFS1ugyP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jgECxE0gBIBCH0lEjSJi2H7N398etb69KQmZD48rbj+6mAuZJAl/S48fLiQh/e/2c0W3nzEawkej2fZvsv2ZftuP4yVl6VHDTJL+N79QUBO2p8ztlx8mhRttdPSv4esFIDYCIQC0rGFkyqfEkJ5ruv1vSeF5qB/9ykwouM9o8mHFDkaxwu3lv2umQUvT9Q3IfgA0JBACwE5oIlxlGvy/8DjiR/6eNLuJpjQf8HZorwCgBQIhAPx97Wgqa03SA4CiKGvrHQAAAKBtCIQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABCpirbegaatWLHil7/85WuvvbZ69eo99tjjoIMOGjNmzDHHHNNkcS6Xmzlz5owZM1avXl1eXj5gwIAJEyaMGTOmuY2/+eab06dPnz9//vvvv9+7d+8vfelL3/nOd/bYY4/m6p9//vm77rprxYoV1dXVffv2HTdu3MSJEzt27Ph3eJ0AAABtJ5MkSVvvw0fU1dX98Ic/vPHGG+vr6xus+sd//MepU6f27t27sPGDDz4YP378M88806D41FNPvffeezt06NCg/f777z/77LO3bNlS2NizZ8/777//uOOOa7w/kyZNuvHGGxs0Dhky5NFHH9133313/HU1KZPJhBBuffXoVbV9NtV3qk/KQmm9GwAAQJu5Y+TdIYSiRraSC4Q/+clPrrzyyhBCv379zjzzzP79+//pT3+aOXPmSy+9FEI45phjnnnmmbKyv53peuKJJ/72t78NIYwaNerEE0+srq5+5JFHlixZEkI4++yzp0+fXrjxuXPnjh49etu2bT179jz55JOHDRs2b968hx9+ePPmzd26dVu4cOGgQYMK66+77rrLLrsshDBgwIB/+Id/2GOPPWbPnj1r1qwQwpAhQxYuXNipU6eP82IFQgAAoDnRBcK33npr8ODB1dXVo0aNevzxx7t165a2Z7PZSy655L//+79DCD/72c/+5V/+JW1/7LHHxo0bF0L45je/edddd6WN9fX1Y8aMmTNnTghhyZIlQ4cOzW//sMMOW7RoUdeuXefNmzdkyJC0cc6cOWPGjKmvrz/55JN//etf54vffffdfv36VVdXH3TQQfPmzcvvzOTJk6+66qoQwtSpUy+++OKP83oFQgAAoDmfQCAsrZvK3H333dXV1ZlMZurUqfkAFkIoLy+//vrrBw8eHEJ4+OGH8+033XRTCGG//fb7n//5n3xjRUXFgw8+mB67mzZtWr79+eefX7RoUQjhxhtvzKfBEMJxxx03adKkEMJDDz20du3afPsvfvGLdGdmzJhRuDOTJ0/+whe+kP/uAAAA7VRpBcL58+eHEPr16zds2LAGqyoqKo499tgQwksvvZRG5C1btjz77LMhhIkTJza4VrBHjx5pcXo2aeqxxx4LIXTs2PGMM85osPFTTjklhJAkSXo6aGH9F7/4xYEDBzaoHz9+fAhh1apVK1eu3OkXCwAA0LZKKxC+/fbbIYQDDjigybW77LJLCGHbtm3pX5cuXVpXVxdCOOqooxoXn3TSSekGq6qq0pYXXnghhDBs2LB0O4VGjBjRp0+fEMLChQvTllwul1612MLGC+sBAADandJ67MTcuXNzuVxlZWWTa9PLAgcNGpReevfaa6+l7QMGDGhcfOCBB6YLK1eu3HvvvfP1TRZnMpkDDjhg3bp1+SN+b731Vm1tbXP1AwcOrKioqK+vd4QQAABov0orEDY+dpc3bdq0xYsXhxDOPffctOWdd95JF/bcc8/G9XvttVe68Oc//7mwvsnifH2D4ubqy8rK+vTpU1VVla9vThpiAQAASlBpBcIm1dfXX3311T/+8Y9DCCNHjvz2t7+dtqfPEiwrK2vy2Q+dO3cuLMtms1u3bg3NZ860Pv98wvzCDtY35ytf+UrLBQAAAG2l1APhrFmzJk2a9Morr4QQhg4d+tvf/jZ//5j0AsLy8vImv7CiYvtLS8/8TIsL25usT4t3or45TT7sPs/xQwAAoA2VbiB87bXXvvvd7z711FMhhPLy8kmTJv3nf/5nx44d8wX5e8wkSZJeVVgoH9XSQ3mdO3fOZDJJkqTHCRtL6/PHFfMHBnewvjmzZ89uYW3j3QYAAPjElNZdRlNJklx77bVDhgxJ0+C4ceOWLl167bXXFqbBEEL+2YAbN25svJF8Y76sa9euzRXn2/PFLW+8cT0AAEC7U3KBMEmSiRMnXn755XV1dQcffPDvfve7Rx55JH/L0EL9+vVLFwqfJp+Xf9pEvixdaLI4X9+guLn6mpqaDRs2FJYBAAC0Ozd7C1UAABokSURBVCUXCL/3ve/dd999IYQrrrhi0aJFo0aNaq5y8ODB6cKyZcsar00bM5nMoEGDCuubLM5msytWrCjcZo8ePdInEzZZv3z58gb7AAAA0O6UViB8/vnnb7rpphDC9ddff8011zT3QMLUoEGD0gcMPv30043Xpo0jR47Mn9V57LHHhhBWrly5Zs2aBsULFy7cvHlz+Og9YNL6Z555prmNV1ZWHn300Tv+6gAAAEpKaQXCNA0OGzZs0qRJO1J/yimnhBAefPDBd999t7D9j3/8Y3oDz9NPPz3f+LWvfa1Dhw5Jktx8880NtjNt2rQQQq9evUaPHp1vPO2000IIq1ateuKJJwqLt27devvtt4cQTjjhhO7du7fi5QEAAJSSTJIkbb0P2yVJ0qVLl5qammOPPfbkk09urqxLly75RxGuXbv285///NatW7/61a/OmDEjPRi4bt26MWPGLF68uHfv3qtXr+7SpUv+ay+66KKbb765Q4cOM2fOPOmkk9LG6dOn//M//3MI4brrrrv00ksL92fo0KHLly/v27fvnDlz+vfvH0Koq6s799xz77rrrkwmM3/+/JEjR36cl5zeZfTWV49eVdtnU32n+qQslMq7AQAAtLE7Rt4dQihqZCuhQLh27dp99tnn/1vWp0+fd955J//XO+6446yzzgohdOrU6eijj968efPChQvr6+srKiqeeOKJL3/5y4Vfu2nTpiOOOCK9XHD//fcfOnTo888/n27tuOOOmzVrVoOnDi5fvvzII4/cvHlzJpMZPnz47rvv/vvf/z49uXTy5Mn/8R//8TFfskAIAAA05xMIhCV0yujrr7++E1/1ne9858EHH9xzzz1ra2ufeuqpefPm1dfXDxgw4Omnn26QBkMI3bp1e+6550477bSysrLVq1f/5je/eeeddzp06HDhhRc+8sgjjZ9BP2TIkLlz5x566KFJkixatGjWrFmbN2/u0aPHLbfc8vHTIAAAQNsqoSOEH0c2m507d+7q1avLy8sHDRp02GGHtVy/du3aBQsWbNiwoU+fPkcdddRuu+3Wcv2yZctWrFhRU1PTt2/fUaNGNXgi4k5zhBAAAGhOXKeMRkggBAAAmhPXKaMAAAB8kgRCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkKtp6B0hlmlkGAAAoFoGw7SUhkyQhSTJJIgoCAACfHIGw7dXkOmzJdtyS7ZBNypKkrfcGAABoU5kQQiaUZ3KfwPcSCNveSxv3ff2DnjV1lTlHCAEAgBDKMkmnyvpP4BtlEsek2k4mIwECAAAtKWpkc5dRAACASDlCCJ9avXr1ev/999evX9+zZ8+23hc+hUaMGPHiiy8uWrRo+PDhbb0vfAqdeuqpM2fOnDFjximnnNLW+8Kn0CWXXPJf//VfN9xww6RJk9p6X/gUuummmy6++OLvfve7P//5z9t6X/7/HCEEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiFQmSZK23gcAAADagCOEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACJVPnny5LbeB+Bvcrncm2++uXDhwqqqqm7duu2yyy4t11dVVS1cuPDll1+uqanp06dPJpNpobi+vv7FF19ctGjRn//8565du3bp0qXljW/cuHHhwoWLFy/esGFDr169KisrW/16KGFr1qyZNWtWTU3N3nvv3VxNa/vAK6+8snDhwtWrV5eVlfXo0aPlYh3sU2nLli0vvvji4sWLt27d+pnPfKaioqKF4qJ2sNaOeLQLa9euXbBgwZo1azp37ty1a9eWi1vbB4o6pVKC1q9f/8gjj1RWVvbq1avlyqLObm0/siVAaaitrZ08eXKDBNi/f/+HH364yfo33njj+OOPL5yu+vbte++99za3/Ztuuql379754oqKitNOO+3dd99tsnjLli0XXHBB586d8/Xdu3e/4oor6urq/j6vlrZWV1d32GGHhRDOOuusJgta2weefvrpAw44oLD3jhw58sUXX/y7bJx2YdOmTRdeeGHhbyddunSZMmVKk29rUTtY0soRj3bh3nvv/exnP1vYBwYNGvT44483V9+qPlDUKZWS9dOf/jSEcP3117dQU9TZrURGNoEQSsKWLVvyI0Imk9l333132223/A9841/ZV61a1bNnz/xwUPh5UpPj2ve+9718Qa9evcrKtp8uvt9++zUeR2praw8//PB8/e67755fHjduXDabLda/Ap+gf//3f2+udyWt7wMzZ87Md6pu3bp16tQpXe7YseMf/vCHj7lx2oUNGzYMHjw4P4jttdde+S5x6qmnNiguagdLWjni0S6cffbZ+fe0d+/en/nMZ/J/nTx5cuP6VvWBok6plKza2tqBAwc29y6nijq7lc7IJhBCSbj88svTn+pzzz33r3/9a9q4ePHiL3zhC2n7PffcU1g/cuTIEEJZWdltt932wQcfZLPZBQsW9O/fP21cvHhxYfHjjz+ebuTII49ctmxZkiTvvffeVVddlTaefPLJDXYmHxXOO++8tWvXJkmycuXKk08+OW2cOnVqEf8h+ETMnj07/0F4k4GwVX1g3bp16YlbvXr1evrpp+vq6qqrq2fMmJF+RLrXXnvV1NTs9MZpL8aOHRtCyGQyN954Y/qryfr167/xjW+kb+svfvGLwuKidrDWjniUvgceeCB9+8aOHbt69eq0cdmyZUcccUQ66/3ud78rrG9tHyjqlEppeu+99yZMmJC+a80FwqLObiU1sgmE0Paqqqo6dOiQTnUNVm3atOlzn/tcCGHvvffON86aNSv9+Z8yZUph8WuvvbbrrruGRp/Hp59X9e3bt8EHSBdccEH6C9zy5cvzjevXr09PWx07dmzhp1nV1dXDhw9PBynn9bVr77333p577pm+9U0Gwtb2gcsuuyyEUFFR0eATzQcffDDtqNOmTdvpjdMuPP30043f6yRJtm3blr6thx9+eL6xqB0saeWIR7tw/PHHhxD233//6urqwvZ33303PZp39tlnF7a3qg8UdUql1Lz88stXXnnlSSedlD8c10IgLOrsVlIjm0AIbe9///d/0x/+Js8QmDp1arr27bffTlu+9a1vhRB69+7d+Pfms846K4TQqVOn/Kz55ptvNvnRVJIka9asSVf96Ec/yjfeddddaePSpUub289nnnnm47xe2tZJJ50UQhg/fnz6WUPjQNjaPrDffvs19/Fk+i2OPvrond447cIpp5wSQujXr1/jVffee++BBx44ZMiQDz74IG0pagdr7YhHu5Cez3n++ec3XnXiiSeGEIYOHZpvaW0fKOqUSqm59dZbQyPNBcKizm4lNbJ57AS0vVdffTWEkMlkhg0b1njtgQcemC788Y9/TBdmz54dQjj++OMb37dq3LhxIYTa2to//OEPhcUhhDQGFPrsZz97yCGHhBDmzJmTb0zr99lnn4MPPrhB/dixY8vLyxvU075Mmzbtscce23vvvadPn95cTav6wKpVq9KJqnEHCx92yHnz5tXU1OzExmkX6urqnnzyyRDCxIkTG6/9xje+8fLLLy9btqx79+5pyyfQwZqsb3LEo11I399sNtt4VS6XCyHU1tbmW3Zu1ivSlEqpGT169J0FWqgs6uxWaiObQAht79BDD500aVLjW4ym/vSnP6UL6d3VNm3aVFVVFUJoMj2OHj06XUhDZgjh//7v/0IIu+666/77799cfb44X9/kxnfbbbd0mCuspx1Zvnz5pZdeWlZWds899xTetaiBVvWBtLi5+rSD1dfXr1q1aic2TruwYsWKzZs3hxCOO+64Han/BDrYjo94tAvpyXKzZs3atGlTYfvbb789d+7cEEJ6EWCqVX2g2FMqpWbgwIHfKtBCZVFnt1Ib2QRCaHvjx4+/4YYbfvSjHzVelc1mb7755hBC3759+/XrF0J4/fXX01X77rtv4/ru3bun917Ll61evTr98ia/dbqRDRs2/PWvfy2sb3Lj+fb8xmlHampqJkyYUFtbe+mllx577LEtVLaqD6TFzdXnGxvU62CfJq+88kq6sOeee7733ns/+clPvvKVrxx66KGnn376Nddcs3bt2gb1n0AH2/ERj3ZhypQpnTt3XrNmzYknnvjiiy9ms9m6urpnn312zJgxGzdu7Nmz5w9/+MN8cav6QLGnVNqvos5upTayCYRQurZt23bWWWe99NJLIYQrr7wyPd9g48aN6drCm24XSts/+OCD9K9pfcvFhfXp5687uHHakX/7t39bsWLF8OHDf/zjH7dc2ao+0HKH1MFi8Pbbb6cLr7766gEHHHDllVfOmTNn8eLFv/rVr37wgx8ceOCBt99+e2F9UTtYa0c82oWRI0fOmTNn3333/f3vfz9ixIhddtlll112GT169LJlyw4++ODnnnsuvSNoqlV9oNhTKu1XUWe3UhvZKnbuy4BiW7Bgwfnnn7948eIQwre//e1zzjknba+urk4XCm+QVSi9YfGWLVsK61suztfX1tam12Ps4MZpLx566KHbbrutS5cu9913X+PrZAq1tg+kHayysjL/QKTGxUEH+1RLfw3KZDJnnHHGpk2bxo4dO2rUqB49eixfvvzuu+/euHHjOeecs/vuu3/9618PRe5goZUjHu1L/jLUurq6fGOPHj0a9I1W9YGiTqm0a0Wd3UptZBMIoeS89dZb3//+93/5y18mSVJeXn7JJZdcc801+afGVVRs/7Ft8vL6EMK2bdvCh08UyNe3XJyvb+3GaReqqqrSe+VNnTp1wIABLRfrYLRWej+PJEm2bNny61//Ov/QrRDCpEmTjjnmmDVr1lx44YVf/vKXu3btWtQOthP1tAsPPPDAGWeckc1mBw8e/K//+q8HHXRQXV3d0qVLb7jhhueee27EiBFPPPHEqFGj0uKiDko6WDxKqiMVu+M5ZRRKSH19/ZQpUwYPHnzfffclSTJy5Mh58+ZNmTIlPVk01aVLl3Sh8KZqhdL29Gmn+fqWi/P1FRUV6RMRd3DjlL5cLjdx4sQNGzaccsopaSxsWWv7QNrBcrlcfkJqXBx0sE+1/IfTF1xwQWEaDCH069fvuuuuCyFUVVWlN/8oagcLrRzxaBfWrFlz5plnZrPZMWPGLFu27JxzzjniiCOOOeaYiy+++NVXXx02bFh1dfX48ePzx0Za1QeKOqXSrhV1diu1kc0RQigV69atGz9+/Lx580II/fv3v+aaa0477bTGZbvvvnu+vvHaJEnefffdEEKvXr0K65ssDiG88847IYRMJpM+5Smtr6qqark+v3FK36JFi5599tkQwv777z9lypTCVenV58uWLUvbDz/88PROZa3qA4UdMr0RbuPiBvU62KdMt27d0oX0pNAG0keKhxCWLVuWLhe7g4XWjHiUvunTp6fniE6fPj1/HCa1yy673HLLLUccccT69evvv//+9DOvVvWBYk+ptF9Fnd1KbWQTCKEkbNy48YQTTliyZEllZeX3v//9K6+8Mv2oqbF+/fp16NChrq4uf4uqQlVVVenEOWjQoLRl4MCBIYQ1a9Zs27at8cVjb7zxRghhn332yT/xYuDAgVVVVU1uPF+f3zilL72qIYRw/fXXN1nwwgsvvPDCCyGESZMmpYGwVX0g7WAhhNWrVzee1dLiBvU62KdM+gzlEMI+++zTeG2PHj26deu2adOm/L1nit3BQmtGPEpfejP9vn377r333o3XDh8+vGPHjlu3bs3f7bZVfaDYUyrtV1Fnt1Ib2ZwyCiVhwoQJS5Ys6d69++zZs6+66qrm0mAIoby8fOjQoSGE+fPnN167YMGCdOHQQw9NF4YPHx5CqKurS+9P02R9vjhfv2jRosanqq9fvz69A3JhPSWue/fuxzQjvTx9jz32SP+a/7W+VX3g4IMPTj+zb6FD9uzZM38TbR3s02fIkCHpwsqVKxuvff/999O7zgwePDht+QQ62I6PeJS+Hj16hI/eSKZQNptNO9Kuu+6atrSqDxR7SqX9KursVnIjWwK0tSVLlqQ/jw8++OCO1E+ePDmE0KFDh/Xr1zdYdfrpp4cQ+vbtm2+prq5Or/CZNGlSg+L8c1HvuOOOfGN6emEI4dFHH21Qf8stt6SrXn/99Va8PEpVmgDPOuusBu2t7QNf+tKX0umqQXF9ff1ee+0VQjjzzDN3euO0C+nNir75zW82XnXnnXemb+v8+fPTlqJ2sNaOeJS+2267LX3jXn311cZrZ8+ena59/PHH05bW9oGiTqmUuPQtu/7665tcW9TZraRGNoEQ2t65557bYMpp2VtvvZUeQjzvvPMK2+fPn5/efmbKlCmF7eeff34IoUuXLoUjUS6XGzduXAhh991337RpU749m80eeOCBIYRDDjmktrY23/6Xv/wlPavhhBNO2JkXSelpLhC2tg888MAD6Wx0//33F7bnT1J9/vnnd3rjtAvXXnttCCGTyfzqV78qbF+5cmV66cuIESPq6+vTxqJ2sKSVIx6l7/XXX09/FT7iiCM2btxYuGrdunWf//znQwi9evX6y1/+km9vVR8o6pRKiWs5EBZ1diupkU0ghLY3YsSIEEJlZWXPFq1cuTL/JVdccUU6XkycOPGxxx5bsGDBNddckz6ZdMCAAVu2bCncflVVVfo72T777POzn/1syZIlDzzwwNixY9MtTJ8+vcH+PPHEE+mDcY488sh77rln6dKlt956azrMde7ceenSpZ/EPwrF11wgTFrZB3K53FFHHRVC6Nix4xVXXDFv3rynnnrqoosuSrdwxhlnfJyN0y5UV1fnn2gyYcKEO++8c+bMmZdddll6Z7zKysoGb2tRO1hrRzxK380335y+fXvttdfVV1/9m9/85v7777/88svzp4k+8sgjhfWt7QNFnVIpZS0HwqLObiU1sgmE0PZ22223sANeeeWV/Jdks9l/+qd/alzzuc997rXXXmv8LebOnZu/pVVeJpP5wQ9+0OQu3XzzzY2vWu7atevDDz9crH8FPnEtBMKklX1g3bp1w4YNa9whjz/++Orq6o+5cdqFVatW9e/fv3Ef6Nu375NPPtm4vqgdrLUjHqXvpz/9af4REYV69ux5++23N65vVR8o9pRKyUrfu+YCYVLk2a10RrZM8uG/BdAmstns1VdfvSM/iRdddFGD2/E/+uijd95554oVK2pqavr27fv1r3/9/PPPb+4pNOvWrZs2bdqTTz759ttvd+/effjw4eedd94Xv/jF5r7d0qVLb7nllnnz5m3YsKFPnz6jR4++6KKL+vXr19oXSMn6+c9/vmHDhkMPPfRrX/takwWt6gN1dXW33377jBkzVq9eXV5ePmjQoDPOOGPChAnNPSdXB/v0qampuf322x966KE33nijsrLy4IMPPuywwy644ILmBqWidrDWjniUvqqqqltuueXll19+5ZVXKisrBw8efMghh1x44YXpXWcaa20fKOqUSmlKryD96le/euSRRzZXU9TZrURGNoEQAAAgUh47AQAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBS/w/txtkPmUQZcAAAAABJRU5ErkJggg==", + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "# simulate temperature evolution for nsteps\n", - "@time simulate_gpu!(curr, prev, nsteps)" + "@time simulate_gpu!(curr, prev, nsteps)\n", + "\n", + "show_heatmap(curr)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initial average temperature: 59.734468711088795\n", + "Final average temperature: 59.663490843418884\n", + " 13.677775 seconds (90.55 k allocations: 2.922 MiB)\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAIAAAA+D1+tAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdfZAlVXn48ec55/S9s7IgSHgnyIssiBJfAkFFiQJGQVRQSUrRUIkSo0mZFzVE1Ar5VWHUVJnyhaqURKSMGhVJJFKCglYSFRGVAAbBoOsL8hoWUHZm7u0+L78/TnffvjN3lmWB3dnt7ydT452e5u7Maqr8+pw+R1NKAgAAAADoH7OtfwAAAAAAwLZBEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE+5bf0D9JqqbusfAQAAAMCqllJ67N6cCSEAAAAA9BQTwm3vsh8/9efV7hv82o1hbhRdFa1PNiYTk0aRJCpJJL8AAAAA0BufOObCx/qPIAi3vT3tg6NUJFEjycjcSJJG8SIiKslESUk1dyFNCAAAAOBRRBBue2uM38mMdzLjsXFVslE0JhNFoxiVpElFJKlIEpEkNCEAAACARwnPEG57TuJA/VD9wIRCg9VoNBpJ/HsDAAAA4DFFdGx7VsVJtBqsRKPJSDKaVJNIUkkqkoeDwnAQAAAAwKOKINz2ND8sKKmuQUlaX8ySkIIAAAAAHgME4aqgKlrPA5No0umRIDUIAAAA4LGwDYLwgQceuOeeezbnzhjjAw88sPnnMM7Pz49Go828+eG+eVmWv/rVrzbz5odv8mMsjUByEAAAAMBjY2sHYUrp6U9/+sEHH7zp2y6++OJjjz12OBzutttuc3Nzv/M7v/OVr3xlpZvvvvvuP/mTP9lrr73Wrl27Zs2aAw444Oyzz95EvD2sN6+q6r3vfe9hhx02Nzf3+Mc/ftddd33d61536623bs4vu5mmFohO8o8zJgAAAAA8tnTzR2SPiv/8z/98/vOfv9NOO23cuHGle97ylrd8+MMfXnJRVc8777x3vOMdS67/4Ac/OP744+++++4l1w8++OCvf/3r++677yN58/n5+RNPPPGaa65Zcn2nnXa69NJLTzjhhJV+hc2kqiLyo9v2uSusucfvcm9Y+8uw08YwXAiDcXRlciGaIJqSJtHE8fQAAABAn+SD6R/TZNuqE8INGzacddZZm77nwgsvzMF2zDHHfPKTn7zpppsuuOCCww47LKX0zne+84orrujePB6PX/7yl999993W2ne/+93XXHPN1772tT/90z8VkfXr17/qVa96JG8uIm9605tyDb7mNa/50pe+dN11173vfe9bu3bt/Pz86aefftdddz2yvw8AAAAA2Ja2xoTwhhtuuOmmm77+9a9/8pOfzIPBlSaE4/H4kEMOuf3229etW3fNNdfstttu+fpPf/rTY4455p577nnmM5/5ve99r73//PPPz/l3/vnnv/nNb26vn3322e9///tF5NJLL33Zy162ZW/+P//zP7/xG7+RUjr99NM/+9nP5mmeiFx22WUvf/nLY4x/8Rd/8YEPfOCR/M0smRBuCGsf6EwIq+Q8E0IAAACgr3aQCeGLXvSiM8444x//8R83sUw0+8pXvnL77beLyIc+9KE22ETkwAMPPOecc0Tkuuuuu/HGG9vrF154oYg861nP6tagiLznPe/ZfffdReSiiy7a4jf/+Mc/nlJas2bNRz/60bYGReSUU07JkfnP//zPMcbN/3sAAAAAgFVlawTh7/3e753ZeNrTnraJO/OizV133fWFL3zhkm+99KUv7d4jIvfcc89///d/i8jpp5++5GZr7cknnywiV111lfd+C968fX3iiSfuuuuuM++/9957v/vd727i1wEAAACA1WxrBOEHP/jBixqnnnrqJu684YYbROSoo44yZukPdvDBBx966KEi0g7xbrzxxjw8PeaYY5a/1Ytf/GIRefDBB3/6059uwZuPx+Mf/vCHm37z7v0AAAAAsN1ZXQfT5+McDjrooJnfPeSQQ9p7ui9m3p9vXn7/Zr75+vXrQwgr3b/vvvuuWbOmez8AAAAAbHfctv4Bptx3330isueee878br6+YcOG7s0r3d9eXHL/o/LmIrLHHnv8/Oc/b+9fyfve975N3wAAAAAA28oqCsKyLPPzfnNzczNvyEO5+fn5/GV+Ya11bsZvkW9ub9uyN9/8+1fy13/915u+AQAAAAC2lVUUhO1uqt0tPZff0G4Sk7/c9M3t/Vv25pt//0rOPvvsTXyX+SEAAACAbWgVBeFwOLTWhhBGo9HMG8bjsYjstNNO+cv8wnsfQrDWzry5vW3L3lxENvP+lbz3ve/dxHcJQgAAAADb0OraVCYf8NA+v7fEvffe297TfTHz/nzz8vsflTeX5mnD5SdSAAAAAMD2YnUFYT774Wc/+9nM7952223tPd0XM+/PNy+/fzPf/JBDDsmLRWfef//992/cuLF7PwAAAABsd1ZXEB555JEi8r3vfW/5txYXF2+++WYReepTn5qvtC9m3p8vDofDttke1puvWbPmSU960qbfvHs/AAAAAGx3VlcQvuhFLxKRu+66a3mGffnLX66qSkROPvnkfGW//fbLPXbZZZctf6t88YQTThgMBlvw5u39V155ZVmWM9/88Y9//HOe85wt+T0BAAAAYBVYXUF40kkn7bHHHiLyd3/3d93rMca8/8oRRxxx1FFHtdd///d/X0Quv/zy66+/vnv/5ZdffsMNN4jImWee+QjffMOGDR/96Ee79995550XXXSRiLzmNa8piuKR/L4AAAAAsA2triB83OMe9853vlNELrnkkre97W35ub5bbrnlzDPPvOaaa0TkPe95T/cciDe/+c377bdfCOG000678sorq6qan5+/5JJLXve614nIM5/5zNNPP32L3/zoo48+9dRTReTtb3/7xz72sV/+8pchhKuvvvqUU0755S9/ufPOO59zzjlb5W8FAAAAAB4T2h64t3Wce+65f/u3f7vTTjvlTVmWSymdccYZ//Iv/5K/3G233e6///78+pxzzjnvvPOW3P+d73znhBNOePDBB0Vk7dq14/E4L/7cd999r7766ic+8YmP5M3vv//+Y489Nj9e6Jxbs2ZN/oMGg8Ell1xyyimnbOHfQiP3549u2+eusOYev8uGsPaBsNPGMFwIg3F0VXI+miCakibR/G9UktnnIgIAAADYwXzimAulc0b6Y2FrTwgPPPDA3/7t337e85630g2q+qlPfer8889ft26diORge+Yzn3nxxRcvDzYROfroo6+//vrTTz99OBxu3Lixqqqdd975rLPOuuGGG5bU4Ba8+W677Xbttdf+5V/+5e677+69f/DBB51zJ5988re//e1HXoMAAAAAsG1t7Qnhw7Jhw4b77rtvr7322mWXXR7y5rIs77jjDmvtvvvuu/yc+kf45jHGu+++e3Fxcd99952bm9usn34zMCEEAAAAsJKtMCF0j91bP3K777777rvvvpk3DwaDAw888DF6c2PMPvvss/lvDgAAAACr3+raVAYAAAAAsNUQhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA95bb1DzDbzTff/IlPfOLmm2++7bbbDj744COOOOL1r3/9AQccMPPmGOMll1zy+c9/fv369dbadevWvfrVrz7ppJNWevOf/vSnF1xwwTXXXLNhw4Y999zz+c9//h/+4R/uvffeK93/rW9966KLLrrpppsWFhYOOOCAl770pa997WuHw+Gj8HsCAAAAwLajKaVt/TNMiTG+/e1v/9CHPuS9715fs2bNu9/97ne84x1L7v/lL3/5ile84mtf+9qS66961as+9alPDQaDJdc/85nPvOENb5ifn+9e3H333T/zmc+ceOKJy3+et771rR/4wAeWXDzyyCO/+MUvPvGJT9z832smVRWRH922z11hzT1+lw1h7QNhp41huBAG4+iq5Hw0QTQlTaL536gk+gj/UAAAAADbhU8cc6GIPKbJtuqC8LzzznvXu94lIoceeuhrX/va/ffff/369R//+MfvuOMOEbnooovOPPPM7v0veclLvvSlL4nI8573vJe85CULCwv//u//fv3114vIG97whgsuuKB78ze/+c0XvOAFVVXtvvvup5122jOe8Yyrr7760ksv3bhx484773zttdcefvjh3fvf//73n3322SKybt26U089de+9977yyisvv/xyETnyyCOvvfbaubm5R/LLEoQAAAAAVtK7ILz99tsPPPBA7/0LX/jCyy67rJ3vbdy48dhjj73xxhvXrl177733tss1L7vsspe+9KUicuaZZ1500UX5ovf+pJNOuuqqq0Tk+uuvf9rTnta+/9FHH/3d73537dq1V1999ZFHHpkvXnXVVSeddJL3/rTTTvvXf/3X9uZ77rnnoIMOWlhYeOpTn3r11VfvvPPO+fq55577t3/7tyLywQ9+8C1vecsj+X0JQgAAAAAr2QpBuLo2lfn2t7+dV4q+733v6672XLt27f/7f/9PRDZu3HjjjTe21z/84Q+LyIEHHvjRj360veic+9znPpdndx/5yEfa69/61re++93visgHPvCBtgZF5MQTT3zrW98qIl/4whd+8YtftNc/9rGPLSwsqOrnP//5tgZF5Nxzz33Ws57V/ukAAAAAsJ1aXUF4yy235BeHHnrokm8ddthh+cXNN9+cX8zPz//Hf/yHiLz2ta9d8qzgbrvtdvzxx4tIXk2aXXbZZSIyHA7POOOMJW/+yle+UkRSSnk5aPf+Y489tv2jW694xStE5Ec/+tGtt976cH9HAAAAAFglVlcQ7rXXXvnFD37wgyXfaq+024HecMMNZVmKyHOf+9zlb3XKKaeIyB133HH77bfnK9/5zndE5BnPeMbjHve4JTcfddRR+Y++9tpr85UY43XXXbfpN+/eDwAAAADbndUVhKeddtouu+wiIm9961u7G4Fu2LDhnHPOEZFf//Vff8ELXpAv/u///m9+sW7duuVv9ZSnPCW/aId4+f6ZN6vqEUcc0b355z//+Wg0Wun+ww47zDnXvR8AAAAAtjur6xzCJzzhCf/2b/926qmnfuMb31i3bt2rXvWqvMvoZz/72fvvv3+vvfb64he/WBRFvvmuu+7KL/bZZ5/lb7XvvvvmF3feeWf3/pk3t/cvuXml+40xe+211+23397ev5L169dv+gYAAAAA2FZWVxCKyPHHH//lL3/5uOOOu+OOOz70oQ+113fddderr7764IMPbq/kEaIxZubZD2vWrOneFkIYj8cisny9aPf+dizZvtjM+1dyyCGHbPoGAAAAANhWVl0QXnzxxX/0R3/kvR8Oh0ccccT+++//k5/85JZbbnnggQeOO+64T3/608cdd1y+Mz9AaK2d+T55SaeI5JWf+ebu9Zn355u34P6VdAt2OeaHAAAAALah1RWEV1xxxatf/eoQwste9rLzzz9///33z9dvueWWs8466xvf+MbJJ5/8jW984+lPf7o0s7uqqlJK+UC/rjbV8ihvzZo1qppSynPC5fL97VyxHQxu5v0r+fGPf7yJ7y7/sQEAAABgq1ldm8q87W1vCyE85SlP+exnP9vWoIgcfvjhX/jCF/bZZ5/5+fl3vvOd+WJ7NuCvfvWr5W/VXmxvW7t27Uo3t9fbmzf95svvBwAAAIDtzioKwjvvvPOmm24SkTPOOGP5Y4G77777y1/+chH56le/GmMUkYMOOih/q3uafKs9baK9Lb+YeXN7/5KbV7p/cXHxvvvu694GAAAAANudVRSEObFk5crKG7SMx+M8nXvyk5+cr994443Lb84XVfXwww/PV/L9M28OIeQWbd9zt912yycTzrz/+9//fvc9AQAAAGB7tIqC8NBDDx0MBiLywx/+cOYNt9xyi4jsv//+u+66q4gcfvjh++23n4h89atfXX5zvvhbv/Vb7arO448/XkRuvfXW2267bcnN11577caNG0XkxBNPbC/m+7/2ta+t9OZFUbQ73AAAAADAdmcVBeFgMDjyyCNF5OMf//jyJ/duu+22Sy65RESOOuqo9uIrX/lKEfnc5z53zz33dG/+4Q9/eNVVV4nI7/7u77YXX/aylw0Gg5TS+eefv+TNP/KRj4jIr/3ar7Wn3ovI6aefLiI/+tGPrrjiiu7N4/H4n/7pn0TkxS9+8S677LKlvy4AAAAAbGOrKAhF5LzzzlPVn/3sZyeffHJew5n913/910knnfTAAw8Mh8O/+Zu/aa+//e1vHw6HDz744Ote97oHH3wwX7z77rtf/epXxxj33HPPN77xje3Ne++991lnnSUi//AP/3DZZZe11y+44IJPf/rTIvJXf/VXw+GwvX7qqafmQH3jG99466235otlWf7xH//x+vXrVfVd73rXY/GXAAAAAABbh6aUtvXPMOUd73jHe9/73vx6v/3223fffX/yk5/ce++9IqKqH/nIR9785jd377/wwgtf//rXi8jc3Nxxxx23cePGa6+91nvvnLviiitOOOGE7s0PPvjgs5/97JyaBx988NOe9rRvfetbd911l4iceOKJl19++ZJTB7///e8/5znP2bhxo6r+5m/+5h577PH1r389Ly4999xzu2m6ZfKxEz+6bZ+7wpp7/C4bwtoHwk4bw3AhDMbRVcn5aIJoSppE879RSTipAgAAAOiFTxxzoYg8psm26oJQRK688so///M//8EPftC9+OxnP/uDH/zg0Ucfvfz+iy+++M/+7M/uvPPO9sq6desuuOCCmQ/4bdiw4U1vetMll1yStyoVkcFgcNZZZ/393//9zEMFb7zxxj/4gz+47rrr2iu77bbbeeed96Y3vWnLfrsughAAAADASnoahNltt9128803/+IXvzjo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JTwFAiVGAlELhPAKwSgENLlCCLmZme5z9l7r98fe+5zTM3MvgcyjJ/l+ariZ23Pu3AxFN+fba+21ujTYNHmgaF4vgYGicDs1N2aGmYxUyyKKfAVbznjS3SrlL6W0R8ZMLKlOOGMiJu73VBALsab2URMiMkYmBICFtYiBMITwmte85vWvf33btt2DRx555Hnnnffc5z53w8Vmdu655/7Jn/xJjLF78Oyzz37Tm9509tlnb/7mX/nKV572tKddddVVwwdPOumkiy666Jhjjtl8/fve975nPetZN954Y/fIi170ouc85zlvfetbx+Pxj/cDAgDcFmXJROkUpTxWtB0MG+g1FQAAIABJREFUkpm1qVPU0zRvmPBr5NeoWrXqFqtWo19LabBFGoQ7oi0216tprhOm8aC5U7TLhEaUTgay5JogCRErU0hpMDWVMnGqGQqRRSLmdGARmRAAFtUiBsJnP/vZ73znO4noTne608///M8T0ac+9ambbrrpec973hFHHHHWWWcNL37lK1/5ute9jogmk8kv/MIvrK2tfeYzn5lOpy94wQtE5PnPf/7w4m9/+9unnHLKDTfcQET3v//9H/GIR1xxxRXf+c53Pv3pTz/2sY+98sorjzzyyOH1H/3oR5/ylKfEGEXkxBNPvMc97vFP//RPN9988/nnn/+DH/zgve99707/VwEAsMFg5SCrkRJHTYNkXKN+Fv2s9bPGz2Y+zFzaPj+XBnNtMG2YSOcGkQbhDmmL0aPzmZAGmZDZE+XpMUxEQvkTNhZlatkoRcE0jZSJKTAZCzGp5CE2WE4IAItI9vpfYKN3v/vdKQ3+1m/91ve+970PfOADH/jAB66++uqHP/zhRPS85z3v+9//fnfxVVdd9f/+3/8johNOOOHAgQMf+chHPvWpT33rW9+6z33uQ0S///u/f/311w+/+Qtf+MKUBt/znvdcc801F1988be//e30Hb7+9a+/5jWvGV48m82e9axnxRiPPPLIL33pS1deeeWll1763e9+94lPfCIRXXzxxZdeeukO/5cBADBnfuUgKUk6Ophqg03IzaKzpgozn9JgPje4Ntg+vxrdWpC1hqepNlhWz4ewdRo0pEG4nepHJaVBo0ampkoxWggUgjUtNQ3NGl5vZK3xq221GqtVrdbMr1J6n8WviayLTl0787PWz1o/C34WXasumIsmaqLG1p80BABYLIsVCGOMr371q4nol37pl84//3zvcwHznve857ve9S4iOnjw4Ic+9KHu+je+8Y1mduc73/n973//yspKevAe97jHBz7wAWaeTqdve9vbuou/8Y1v/P3f/z0RveQlLxmWGV/2spedeeaZRPSXf/mXN998c/f4e97znu985zvpk4c85CHpwaqq/vZv//a+971v+tt34r8EAIDDGC6ZUOOgEtS16pqygH7WbKwNVmvdAnr1a2WKTJ8G84YJyzNFh2mwP1MFcPt0yEyoORO2Lc1amjU8bWS9dWvBl0xYpUC4Tm5dZN2lTDht/TR0mVCCSjRWYzNWyicT8aQCgIWyWIHw8ssv/6//+i8ietGLXiQy9+92/PHHv+pVrzr77LO7lBhj/OAHP0hET3/60+91r3sNL37oQx/6qEc9ioiGRbz3v//9ZsbML3rRizb8vc985jOJaH19/eMf/3j34Pve9z4ievCDH3z66acPL15ZWUkB8jOf+cz//d//3cYfGQDgVurGGc4toDdp1c2inwU/C1XTVG3jdeZ4Km5d/Dr5lAbXtFpTvxbdWpD1tqTBwYaJsl5iPg3u6Q8MsDsOlwkjtYHaUiecNm698WvBr8VqVf1qyYRr5NaZp6Iz1878rPGz4Jvom+hbdUElmkTj1Omdnl54bgHA4lisQJiqf0cfffRpp522+avnnnvu2972tqc97Wnpt1dddVVqHz311FM3X/zkJz+ZiL70pS91Lab//M//TETHHXfcPe95zw0Xn3LKKanAmK5JLr/88sN/c1X9l3/5lx/xRwQA+HEMB8mkJROpPNimyaKpItH4duZs6iSNFV3Pt6rVmlar5teiH9YG29baQO2hzg0iDcIdyWF6R2O00FLbUpPqhK2stzkTrqlfsy4QunWhqYsz3zR+2vhp8LPoGnWtuZAaR4k1L7pnQiYEgIWxWIHwP/7jP4joEY94hHMuPbK2ttY0zZYXX3311emThz70oZu/+uhHPzp98vWvf314/ZYXj0aj448/fnjxDTfccNNNNx3q+kc96lFpalh3PQDAzhkMkqE0SEZLbbBNSyaCn7W+bZzOPE3FTdmvk8tp0Ko121gbbEunaDzEFBncq8IdzeHOE0ZLdcJZS7NGpo2stSkQ5ky4njOh5EzomiYfJmyia6MLKqE0jnZd34TnGQAshsUKhF/72teI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RM961rNSV2rym7/5m2n7/POe97zpdNo9/hd/8Ref/vSnieglL3nJNv7sAAC0cQ19niwajfvFg8G3rQuNs8bJjGXKLs+SMb9ufj26NEgmdYrm7fPRhmlw+Lfh9hPghxoeJqT0loqS5kxIbZ8J3TQ1jppPRcL1XCfkmViTDhO6WXRtdK1KtNI4ilX1ALCneO7eYAFcccUVp5xyymw2896ffPLJD3vYw6677rpPfOITN954IxGde+65w+xHRGefffaf//mfE1HaS3HLLbd86EMf+sIXvkBEb3rTm/7gD/5gePE111zz6Ec/+qabbjrqqKPOOOOMhz/84VdcccUHP/jB1dXV+9znPv/2b/92t7vdbXj9xRdf/NSnPpWI7n//+//Kr/zK3e9+98suu+yyyy4zsyc96UmXXnrplisQb730x79x3T2vj5MD4U7fiys3xeVb4mgt1jP1rfmgEin/X0XpJ8H/WwDcnqXTRJaXTORO0UbdLPppqNbbar2pptMqrlW85tyq+FWqbqH6INUHtT6o/pbWrbWyOuP1Gc0amjWWh4uqacTRQYAfH5f/MFNaG+GEnOPKc1XTqKbxyCYjXa7DctWu+OYIaY7gdoXaFQrLFpeVlkI1CeNxs1S3k6oduTByoZLouUwfJWNGLgSAOe96zAVEtKORbeECIRF99KMffeYzn/m///u/wwePOuqot7zlLc94xjM2XNy27Qtf+MKUCTve+3PPPfflL3/55m/+2c9+9mlPe9qwQkhEP/MzP3PxxRc/4AEP2Hz9X//1X59zzjkbFtA/9alPffvb3/5Dd078UAiEADA0WDxYlkyYNOqa6KfBT0O11lTTWdWsV7Tm3ar4W7hapeog1bdYfVCrg8Hf0spaw+szms5o1ljbWJsrhPM76JEGAX505V3gtIeQRFiEvaOq4rqi0YgmI10a6VIVVqrmCNesSHMEt0dQWKKwonFZZSmMxu1k1EzqduzD2IXahYrTRgplsrTrHv9PDwCdO2ggJKLV1dVLL730yiuv/N73vne/+93v4Q9/+C/+4i8eddRRh7r+K1/5yiWXXHLttdc65x784Af/+q//+k//9E8f6uL19fX3ve99V1xxxY033nj00UeffPLJT3jCE7w/5ErGG2644b3vfe+Xv/zl9fX1Y4455owzzkgLMG47BEIAGErniNLpQTUOllYOumn066Ga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+eZDfcO/+7u/O+mkk0aj0V3ucpfxePy4xz3uYx/72KEubtv2vPPOe9CDHjQej+985zsfeeSRv/Ebv3HNNddsww8GAPBjSfU+YhIyZhPOmwkribWLYxdGPozrUI1aGQcaa1yyuGRhidplape5XZZ22YVlH5cqndQ0rmlUU11z5cl7do6dEAsJE3F5y4zp1r13BrA/HD4NVl0aHNm41qVUG3TtsmuWuV3mrjYYcxqMo1EY1e24akdufutgv4MeaRAAFtQ+qBD+3u/93te+9rVDffUrX/nKKaeccsMNN3SPXHfddW94wxsuueSSyy+//F73uteG688555w/+7M/637bNM3HP/7xyy677LWvfe3LX/7yDRevrq6edtppn/3sZ7tHfvCDH1x44YX/8A//cOmll5566qm36QcDALgNmMw2DB0VIorUj4whMm6MIhGRI8tdo2RMJMREVKVvJf33ZOs6SNMuCut21ue6JEqFsO9tkQYH+wZTGqzn0+By1ynKYZnCcl8bdONQj9q+NpjHiur8WFEipEEAWFSLXiG85JJL3v72tx/qq7PZ7Iwzzrjhhhucc6961as++9nPfvKTn3zBC15ARNdee+1TnvKUDddfcMEFKQ0+5jGPufDCC7/85S+ff/75D3rQg8zsFa94xT/+4z9uuP75z39+SoNnnXXWhz/84c997nOvf/3rV1ZWVldXzzzzzOuvv36bf1oAgFunlO2MmZhSkVA9q+dYu1inImEVRnVbjYMbR53EuGRh2cJyqROuSLssYbmaqxOOaq4rqjx7z05YJFdOeNBbirta2Nf6NMgb06D3VFVcpefCfBpcKZ2iy6U2uKQ0SWkwjOswrtqR37hkYjBW1PC8AYCFtdAVwuuuu+63f/u3D3PB29/+9m984xtE9Na3vvV3fud30oMnn3zy0tLSG97whs985jPvf//7n/zkJ6fHZ7PZH/3RHxHRAx/4wI985CN3uctdiOi444477bTTHvOYxxw4cOAVr3jF4x//+O6bf+lLX7rwwguJ6Mwzz7zwwgvT/dAjHvGI44477owzzvj+97//hje84U//9E935CcHAPhhNi+iIFISIk2lwq6Yl8eIRiIy14+0YC7vCVbdPXJ6oeO08ZDIQmQiUyPSvk6II4Wwf3VpMP9vXUiYWciVmaJ1N0Wm0kkdl6uw5JsVaZc5LHG7TGG5dIqm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LrtsbPAb3vCGc889N8/zsfNf//rX3/Wudz3xxBPtk0uXLv36179+yCGHzLw/J5xwwqmnnjp2cq+99vrWt7614447rv3jmpWqisgdd217n594oFzysF/0W79wle+t9vl0cEV0ZTBeNEaNoukbFUWf4hcFAAAAsEn4yku+LCLrNbLNu0D4qU996uSTTxaRnXba6W1ve9vOO+985513XnDBBdddd52IvPrVr77sssuMGc50PeKII77zne+IyEEHHXTEEUesXr36wgsvvOGGG0TkXe9611lnndW+8csvv/zggw8uimLp0qVHH330Pvvsc8UVV3zzm99ctWrV4sWLly9fvttuu7XHf+5zn/vIRz4iIrvsssvrX//6Zz/72RdffPGyZctEZK+99lq+fHm/338qD5ZACAAAAGAunQuEv/71r3fffffVq1cfdNBB3/72txcvXpzOe+8//OEP/9M//ZOI/OM//uNf/dVfpfMXXXTRUUcdJSJvf/vbzznnnHSyLMvDDjvskksuEZEbbrhh7733bm7/gAMOuOaaaxYtWnTFFVfstdde6eQll1xy2GGHlWV59NFH/9d//Vcz+IEHHthpp51Wr179ohe96IorrmjuzCmnnPJ3f/d3InLaaad94AMfeCqPl0AIAAAAYC4bIBDOr01l/v3f/3316tWqetpppzUBTESstZ///Od33313EfnmN7/ZnD/99NNF5HnPe94Xv/jF5qRz7rzzzku1uzPOOKM5f+WVV15zzTUicuqppzZpUEQOOeSQE044QUT+53/+5+67727On3322enOnH/++e07c8opp7z0pS9tvjoAAAAAbKLmVyC86qqrRGSnnXbaZ599xq5yzr3mNa8Rkeuuuy5F5CeeeOIHP/iBiBx//PFjawW33HLLNDjNJk0uuugiEen1em9961vHbvzYY48VkRhjmg7aHv+KV7xi1113HRt/zDHHiMgdd9xx++23P+kHCwAAAAAb1/wKhPfee6+I7LHHHrNeu2DBAhEpiiJ9euONNw4GAxF55StfOXPwkUcemW7wnnvuSWd++tOfisg+++yTbqdt//3332abbURk+fLl6UwIIa1aXMONt8cDAAAAwCZnfrWduPzyy0MIWZbNem1aFrjbbrulpXe33XZbOr/LLrvMHLznnnumg9tvv3377bdvxs86WFX32GOP+++/v6n4/frXv56amppr/K677uqcK8uSCiEAAACATdf8CoQza3eNM8444/rrrxeRd7/73enMfffdlw623XbbmeO32267dPCb3/ymPX7Wwc34scFzjTfGbLPNNvfcc08zfi4pxAIAAADAPDS/AuGsyrL8+7//+0984hMicuCBB/7pn/5pOp96CRpjZu39MDEx0R7mvZ+enpa5M2ca3/QnbA7WcvxcXve61615AAAAAABsLPM9EC5btuyEE0649dZbRWTvvff+zne+0+wfkxYQWmtn/YPOVQ8tzfxMg9vnZx2fBj+J8XOZtdl9g/ohAAAAgI1o/gbC22677f3vf//3v/99EbHWnnDCCf/v//2/Xq/XDGj2mIkxplWFbU1US6W8iYkJVY0xpjrhTGl8U1dsCoNrOX4uF1988RqunXm3AQAAAGCDmV+7jCYxxs9+9rN77bVXSoNHHXXUjTfe+NnPfradBkWk6Q34+OOPz7yR5mQzbNGiRXMNbs43g9d84zPHAwAAAMAmZ94Fwhjj8ccf/9GPfnQwGLz4xS/+0Y9+dOGFFzZbhrbttNNO6aDdTb7RdJtohqWDWQc348cGzzV+cnLykUceaQ8DAAAAgE3OvAuEH/zgB//jP/5DRE466aRrrrnmoIMOmmvk7rvvng5uuummmdemk6q62267tcfPOth7f8stt7Rvc8stt0ydCWcdf/PNN4/dBwAAAADY5MyvQHjllVeefvrpIvL5z3/+k5/85FwNCZPddtstNRi89NJLZ16bTh544IHNrM7XvOY1InL77bffddddY4OXL1++atUqGd0DJo2/7LLL5rrxLMte9apXrf2jAwAAAIB5ZX4FwpQG99lnnxNOOGFtxh977LEict555z3wwAPt87/4xS/SBp5vfOMbm5N/9Ed/lOd5jPHMM88cu50zzjhDRLbaaquDDz64OXnccceJyB133PHd7363PXh6evpLX/qSiPzhH/7hkiVL1uHhAQAAAMB8ojHGjX0fKjHGhQsXTk5OvuY1rzn66KPnGrZw4cKmFeHdd9/9whe+cHp6+g/+4A/OP//8VAy8//77DzvssOuvv37rrbdesWLFwoULmz/7l3/5l2eeeWae5xdccMGRRx6ZTp511ll//ud/LiKf+9znTjzxxPb92XvvvW+++eYddtjhkksu2XnnnUVkMBi8+93vPuecc1T1qquuOvDAA5/KQ067jN5x17b3+YkHyiUP+0W/9QtX+d5qn08HV0RXBuNFY9Qomr5RUdiYFAAAAOiEr7zkyyKyXiPbPAqEd99993Of+9zfOWybbba57777mk+//OUvv/Od7xSRfr//qle9atWqVcuXLy/L0jn33e9+97WvfW37z65cufJlL3tZWi74/Oc/f++9977yyivTrR1yyCHLli0b6zp48803v/zlL1+1apWq7rfffs961rN+/OMfp8mlp5xyyt/+7d8+xYdMIAQAAAAwlw0QCOfRlNFf/vKXT+JPveMd7zjvvPO23Xbbqamp73//+1dccUVZlrvsssull146lgZFZPHixT/84Q+PO+44Y8yKFSv++7//+7777svz/H3ve9+FF144swf9Xnvtdfnll++7774xxmuuuWbZsmWrVq3acsst/+Vf/uWpp0EAAAAA2LjmUYXwqfDeX3755StWrLDW7rbbbgcccMCax999991XX331I488ss0227zyla985jOfuebxN9100y233DI5ObnDDjscdNBBYx0RnzQqhAAAAADm0q0pox1EIAQAAAAwl25NGQUAAAAAbEgEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSCcv+LGvgMAAAAANm8EwnmEBAgAAABgQyIQzmMzAiKJEQAAAMDTiEA4r2gr8mn1/yhxGAV1/E8AAAAAwJNFIJwv4sj/qv9HEREV0RQLAQAAAOBp5Db2HUAqAGp9IFG09anG0QEAAAAANnsbbGYggXBeiFGiaIwaRUOUEDVEjaIxSqjOS4zVs4JYCAAAAGxOdPQTlQ03QZBAuPGlAmAQDaI+mhBNOvDReDEhmhCrUqFE1hACAAAAmydNO4pEUYkqqrohMiGBcOMLUbyYMtoi2nRZhOqyjKapFkqqDUZhaxkAAABgM1GnvvTjvkpUFZVoNG6QPEggnAe8aBHtdHTTIZsK2WTIJkM27bPRQCgiGpktCgAAAGxmNJUERUVUo2q0Eo0Gq2EDfHEC4cZXRDMZsydCb5Xvryz7K31vdZlPe1cEU80gjdKkQSIhAAAAsHnQ+n+pr4BqNBqtRqvBGZ+bDTExkEC48U3G7HE/8Wi58OFi4SODhavKfHWZD7wtvfWpPJgqhMMsyO4yAAAAwCapFfLqyaKaLqPRaDQ6EzLje7YUV26A+0Mg3PgeC/0Hymf8ZnqL30wueXR6YnWRTxeu8NYHjcHEONxflG6EAAAAwGZDtTmIomI0GhOt9bnzE1kRN8jWIQTCje++cotfTW21YtXSB59YtGqyVxQ2FDaWGoNKFImt7YWIgwAAAMBmo6n7qIhGNSImqgs284O+kwUb4i4QCDe+n09u+7NHt7330SXTq3oyaXWgplT1IkGrtvQiMtx/CAAAAMBmopoLWC0ijNFKdLHsxZULXdwgPecIhBvfj+5/4T13LbWPut4TaqfFlKJeNEjVfHAsBxILAQAAgM2AjhxHETEajQSnIZdioV05MBviXkRaGWw8qnQUBAAAALAm6zWybYjQCQAAAACYh6gQAputrbba6uGHH37ooYeWLl26se8LNkP777//tddee8011+y3334b+75gM/SGN7zhggsuOP/884899tiNfV+wGfrwhz/8D//wD1/4whdOOOGEjX1fsBk6/fTTP/CBD7z//e//53/+5419X343KoQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEaY9zY9wEAAAAAsBFQIQQAAACAjiIQAgAAAEBHEQgBAAAAoKMIhAAAAADQUQRCAAAAAOgoAiEAAAAAdBSBEAAAAAA6ikAIAAAAAB1FIAQAAACAjiIQAgAAAEBH2VNOOWVj3wcAQyGEX/3qV8uXL7/nnnsWL168YMGCNY+/5557li9f/rOf/WxycnKbbbZR1TUMLsvy2muvveaaa37zm98sWrRo4cKFa77xxx9/fPny5ddff/0jjzyy1VZbZVm2zo8H89hdd921bNmyycnJ7bfffq4x6/ocuPXWW5cvX75ixQpjzJZbbrnmwTzBNktPPPHEtddee/31109PT2+xxRbOuTUMXq9PsHV9xcMm4e6777766qvvuuuuiYmJRYsWrXnwuj4H1utbKuahhx566MILL8yybKuttlrzyPX67rbxX9kigPlhamrqlFNOGUuAO++88ze/+c1Zx//f//3foYce2n672mGHHc4999y5bv/000/feuutm8HOueOOO+6BBx6YdfATTzzx3ve+d2Jiohm/ZMmSk046aTAYPD2PFhvbYDA44IADROSd73znrAPW9Tlw6aWX7rHHHu1n74EHHnjttdc+LTeOTcLKlSvf9773tX86Wbhw4Wc+85lZv63r9QkW1/EVD5uEc8899znPeU77ObDbbrt9+9vfnmv8Oj0H1utbKuatT3/60yLy+c9/fg1j1uu72zx5ZSMQAvPCE0880bwiqOqOO+74zGc+s/kHP/NH9jvuuGPp0qXNy0H790mzvq598IMfbAZstdVWxlTTxZ/3vOfNfB2Zmpp6yUte0ox/1rOe1RwfddRR3vv19beADeiv//qv53p2xXV/DlxwwQXNk2rx4sX9fj8d93q9n/zkJ0/xxrFJeOSRR3bffffmRWy77bZrnhJveMMbxgav1ydYXMdXPGwS3vWudzXf06233nqLLbZoPj3llFNmjl+n58B6fUvFvDU1NbXrrrvO9V1O1uu72/x5ZSMQAvPCRz/60fSv+t3vfvdvf/vbdPL6669/6Utfms5/5StfaY8/8MADRcQY82//9m+PPfaY9/7qq6/eeeed08nrr7++Pfjb3/52upGXv/zlN910U4zxwQcf/Lu/+7t08uijjx67M01U+Iu/+Iu77747xnj77bcfffTR6eRpp522Hv8isEFcfPHFzS/CZw2E6/QcuP/++9PEra222urSSy8dDAarV68+//zz069It9tuu8nJySd949hUHH744SKiqqeeemr60eShhx56y1vekr6tZ599dnvwen2CresrHua///zP/0zfvsMPP3zFihXp5E033fSyl70svev96Ec/ao9f1+fAen1Lxfz04IMPvvnNb07ftbkC4Xp9d5tXr2wEQmDju+eee/I8T291Y1etXLnyBS94gYhsv/32zclly5alf/+f+cxn2oNvu+22ZzzjGTLj9/Hp91U77LDc1mEKAAAOjklEQVTD2C+Q3vve96Yf4G6++ebm5EMPPZSmrR5++OHt32atXr16v/32Sy9SzOvbpD344IPbbrtt+tbPGgjX9TnwkY98REScc2O/0TzvvPPSE/WMM8540jeOTcKll14683sdYyyKIn1bX/KSlzQn1+sTLK7jKx42CYceeqiIPP/5z1+9enX7/AMPPJCqee9617va59fpObBe31Ix3/zsZz87+eSTjzzyyKYct4ZAuF7f3ebVKxuBENj4vvrVr6Z//LPOEDjttNPStffee2868yd/8icisvXWW8/8ufmd73yniPT7/eZd81e/+tWsv5qKMd51113pqo9//OPNyXPOOSedvPHGG+e6n5dddtlTebzYuI488kgROeaYY9LvGmYGwnV9Djzvec+b69eT6Uu86lWvetI3jk3CscceKyI77bTTzKvOPffcPffcc6+99nrsscfSmfX6BFvXVzxsEtJ8zve85z0zrzriiCNEZO+9927OrOtzYL2+pWK++dd//VeZYa5AuF7f3ebVKxttJ4CN7+c//7mIqOo+++wz89o999wzHfziF79IBxdffLGIHHrooTP3rTrqqKNEZGpq6ic/+Ul7sIikGND2nOc85/d+7/dE5JJLLmlOpvHPfe5zX/ziF4+NP/zww621Y+OxaTnjjDMuuuii7bff/qyzzpprzDo9B+644470RjXzCSb1E/KKK66YnJx8EjeOTcJgMPje974nIscff/zMa9/ylrf87Gc/u+mmm5YsWZLObIAn2KzjZ33FwyYhfX+99zOvCiGIyNTUVHPmyb3rrae3VMw3Bx988P/XsoaR6/Xdbb69shEIgY1v3333PeGEE2ZuMZrceeed6SDtrrZy5cp77rlHRGZNjwcffHA6SCFTRP73f/9XRJ7xjGc8//nPn2t8M7gZP+uNP/OZz0wvc+3x2ITcfPPNJ554ojHmK1/5SnvXojHr9BxIg+can55gZVnecccdT+LGsUm45ZZbVq1aJSKHHHLI2ozfAE+wtX/FwyYhTZZbtmzZypUr2+fvvffeyy+/XETSIsBknZ4D6/stFfPNrrvu+ictaxi5Xt/d5tsrG4EQ2PiOOeaYL3zhCx//+MdnXuW9P/PMM0Vkhx122GmnnUTkl7/8Zbpqxx13nDl+yZIlae+1ZtiKFSvSH5/1S6cbeeSRR37729+2x89648355saxCZmcnHzzm988NTV14oknvuY1r1nDyHV6DqTBc41vTo6N5wm2Obn11lvTwbbbbvvggw9+6lOfet3rXrfvvvu+8Y1v/OQnP3n33XePjd8AT7C1f8XDJuEzn/nMxMTEXXfddcQRR1x77bXe+8Fg8IMf/OCwww57/PHHly5d+rGPfawZvE7PgfX9lopN13p9d5tvr2wEQmD+Korine9853XXXSciJ598cppv8Pjjj6dr25tut6Xzjz32WPo0jV/z4Pb49PvXtbxxbEI+9KEP3XLLLfvtt98nPvGJNY9cp+fAmp+Q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", + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# simulate temperature evolution for 5000 additional steps\n", + "@time simulate_gpu!(curr, prev, 5000)\n", + "\n", + "show_heatmap(curr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## KernelAbstraction Implementation of the Discretized Heat Equation" + "## KernelAbstractions Implementation of the Discretized Heat Equation" ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 32, "metadata": { "tags": [] }, @@ -856,7 +918,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 34, "metadata": { "tags": [] }, @@ -867,7 +929,7 @@ "CUDABackend(false, false)" ] }, - "execution_count": 41, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -882,7 +944,7 @@ " Backend = CUDA.CUDABackend()\n", "elseif DEV == :AMD\n", " using AMDGPU\n", - " ArrayKA = AMDGPU.ROCArrays\n", + " ArrayKA = AMDGPU.ROCArray\n", " Backend = AMDGPU.ROCBackend()\n", "elseif DEV == :oneAPI\n", " using oneAPI \n", @@ -890,7 +952,7 @@ " Backend = oneAPI.oneAPIBackend()\n", "elseif DEV == :Metal\n", " using Metal \n", - " ArrayKA = Metal.MetalArray\n", + " ArrayKA = Metal.MtlArray\n", " Backend = Metal.MetalBackend()\n", "else DEV == :CPU\n", " ArrayKA = Array\n", @@ -900,14 +962,24 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 35, "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "calculate_kernel! (generic function with 4 methods)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "@kernel function calculate_kernel!(currdata, prevdata, dx2, dy2, nx, ny, a, dt)\n", - "\n", " i, j = @index(Global, NTuple)\n", " \n", " if i > 1 && j > 1 && i < nx+2 && j < ny+2\n", @@ -915,13 +987,12 @@ " @inbounds yderiv = (prevdata[i, j-1] - 2.0 * prevdata[i, j] + prevdata[i, j+1]) / dy2\n", " @inbounds currdata[i, j] = prevdata[i, j] + a * dt * (xderiv + yderiv)\n", " end\n", - " \n", "end" ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 36, "metadata": { "tags": [] }, @@ -932,14 +1003,13 @@ "simulate_KA! (generic function with 1 method)" ] }, - "execution_count": 43, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "function simulate_KA!(curr::Field, prev::Field, nsteps)\n", - "\n", + "function simulate_KA!(curr::Field, prev::Field, nsteps::Integer)\n", " println(\"Initial average temperature: $(average_temperature(curr))\")\n", "\n", " # Diffusion constant\n", @@ -967,37 +1037,38 @@ " next!(p)\n", " end \n", "\n", - " # print final average temperature\n", " println(\"Final average temperature: $(average_temperature(curr))\")\n", - "end\n" + "end" ] }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 43, "metadata": { "tags": [] }, "outputs": [ { "data": { - "text/plain": [ - "(Field{CuArray{Float64, 2, CUDA.DeviceMemory}}(10240, 10240, 0.01, 0.01, [85.0 85.0 … 85.0 85.0; 20.0 65.0 … 65.0 70.0; … ; 20.0 65.0 … 65.0 70.0; 5.0 5.0 … 5.0 5.0]), Field{CuArray{Float64, 2, CUDA.DeviceMemory}}(10240, 10240, 0.01, 0.01, [85.0 85.0 … 85.0 85.0; 20.0 65.0 … 65.0 70.0; … ; 20.0 65.0 … 65.0 70.0; 5.0 5.0 … 5.0 5.0]))" + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAIAAAA+D1+tAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeZRU5Z344bdp7EVAQaJsBhWkRSMSEWIicQMSBVHQSKK4MIkyRs04GnVwiSfGGQyaHB2N5CQSlcR9ISNK3FBPErVFVAIYBEVRRGSJbEIDTS/1++Oe1K/Smwh0d1W9z/NX8dbXS5WHOud++r1dtyCVSgUAAADi06a1XwAAAACtQxACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEShACAABEqm1rv4CoFRQUtPZLAAAAsloqlWq+g9shBAAAiJQdwtZXs6JPa78EAAAg6xR2W9zcf4UdQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEgJQgAAgEi1QhCuX79+9erV2zNZW1u7fv367b8PY0VFxdatW7dz+IsefNu2bZ999tl2DgMAAGS/lg7CVCr11a9+tVevXk2PPfroo4MHDy4uLu7UqVNJScm3v/3t5557rrHhVatWXXzxxV26dGnfvn1paWnPnj0nTJjQRLx9oYNXVVVNmjTpoIMOKikp2XPPPTt27HjOOecsXtzs9wMBAABobgXbv0W2S/zlL3857rjj2rVrt2nTpsZmLrnkkl/96ld1FgsKCiZOnHj11VfXWX/77beHDBmyatWqOuu9evV66aWXunfvvjMHr6ioGDZs2KxZs+qst2vXbvr06UOHDm3sLWyngoKC4Mb0AABAQ5Ib0zdrsrXoDuGaNWvGjx/f9Mzdd9+dBNuRRx553333LViwYMqUKQcddFAqlbr22mufeeaZzOHKyspRo0atWrWqsLDwuuuumzVr1osvvvijH/0ohLBkyZLTTz99Zw4eQrjwwguTGhw7duxTTz01Z86cm266qX379hUVFWPGjFm5cuXO/f8AAABoTS2xQzhv3rwFCxa89NJL9913X7Ix2NgOYWVlZe/evZcvX15WVjZr1qxOnTol6x9++OGR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EC5fvnz//fevrq7+1re+NWPGjPT+3qZNmwYPHjx//vz27dt/+umn6cs1Z8yYcfLJJ4cQxo0bN3Xq1GSxurp6+PDhzz//fAhh7ty5/fv3Tx9/0KBBb7zxRvv27cvLy/v165csPv/888OHD6+urj711FP/+Mc/podXr159wAEHbN68+dBDDy0vL+/QoUOyfv311//sZz8LIdx2222XXHLJzrxfQQgAADSmBYIwu75U5rXXXkuuFL3pppsyr/Zs3779DTfcEELYtGnT/Pnz0+u/+tWvQgj777//nXfemV5s27btI488kuzd3XHHHen1V1999Y033ggh3HLLLekaDCEMGzbs8ssvDyE8/vjjH3/8cXr9rrvu2rx5c0FBwWOPPZauwRDC9ddf//Wvfz39twMAAOSo7ArCRYsWJQ/69Km7aXbQQQclDxYuXJg8qKio+POf/xxCOPvss+v8rmCnTp2GDBkSQkiuJk3MmDEjhFBcXHzWWWfVOfh3vvOdEEIqlUouB82cHzx4cPqvTjvttNNCCO+9997ixYu/6HsEAADIEtkVhF26dEkevP3223WeSq+kvw503rx527ZtCyF885vfrH+okSNHhhA++eST5cuXJyuvv/56COHwww/ffffd6wwPHDgw+atnz56drNTW1s6ZM6fpg2fOAwAA5JzsCsJTTz11jz32CCFcfvnlmV8EumbNmmuuuSaE8OUvf/n4449PFt99993kQVlZWf1DfeUrX0kepDfxkvkGhwsKCg455JDM4Y8++mjr1q2NzR900EFt27bNnAcAAMg52XUfwr322uv//u//Ro8e/fLLL5eVlZ1++unJt4w+/PDD69at69Kly5NPPrnbbrslwytXrkwedOvWrf6hunfvnjxYsWJF5nyDw+n5OsONzbdp06ZLly7Lly9PzzdmyZIlTQ8AAAC0luwKwhDCkCFDnn322WOOOeaTTz65/fbb0+sdO3YsLy/v1atXeiXZQmzTpk2D934oLS3NHKupqamsrAwh1L9eNHM+vS2ZfrCd843p3bt30wMAAACtJeuC8NFHH/33f//36urq4uLiQw45ZN999/3ggw8WLVq0fv36Y4455oEHHjjmmGOSyeQXCAsLCxs8TnJJZwghufIzGc5cb3A+Gd6B+cZkFmx99g8BAIBWlF1B+Mwzz5x55pk1NTWnnHLK5MmT991332R90aJF48ePf/nll0eMGPHyyy9/9atfDf/cu6uqqkqlUskN/TKlUy3ZyistLS0oKEilUsk+YX3JfHpfMb0xuJ3zjXn//febeLb+ywYAAGgx2fWlMldccUVNTc1XvvKVhx9+OF2DIYS+ffs+/vjj3bp1q6iouPbaa5PF9L0BP/vss/qHSi+mx9q3b9/YcHo9Pdz0wevPAwAA5JwsCsIVK1YsWLAghHDWWWfV/7XAzp07jxo1KoTwwgsv1NbWhhAOOOCA5KnMu8mnpe82kR5LHjQ4nJ6vM9zY/JYtW9auXZs5BgAAkHOyKAiTxAqNV1byBS2VlZXJ7tzBBx+crM+fP7/+cLJYUFDQt2/fZCWZb3C4pqYmadH0MTt16pTcmbDB+bfeeivzmAAAALkoi4KwT58+RUVFIYR33nmnwYFFixaFEPbdd9+OHTuGEPr27dujR48QwgsvvFB/OFn82te+lr6qc8iQISGExYsXL1u2rM7w7NmzN23aFEIYNmxYejGZf/HFFxs7+G677Zb+hhsAAICck0VBWFRU1K9fvxDCPffcU/8395YtWzZt2rQQwsCBA9OL3/nOd0IIjzzyyOrVqzOH33nnneeffz6E8N3vfje9eMoppxQVFaVSqcmTJ9c5+B133BFC+NKXvpS+630IYcyYMSGE995775lnnskcrqys/N3vfhdCOPHEE/fYY48dfbsAAACtLIuCMIQwceLEgoKCpUuXjhgxIrmGM/HXv/51+PDh69evLy4u/ulPf5pev/LKK4uLizdu3HjOOeds3LgxWVy1atWZZ55ZW1u7zz77XHDBBenhrl27jh8/PoRw6623zpgxI70+ZcqUBx54IITwX//1X8XFxen10aNHJ4F6wQUXLF68OFnctm3bD3/4wyVLlhQUFPzkJz9pjv8JAAAALaMglUq19mv4F1dfffWkSZOSxz169OjevfsHH3zw6aefhhAKCgruuOOOiy66KHP+7rvvPu+880IIJSUlxxxzzKZNm2bPnl1dXd22bdtnnnlm6NChmcMbN278xje+kaRmr169+vfv/+qrr65cuTKEMGzYsKeffrrOXQffeuuto446atOmTQUFBUccccTee+/90ksvJReXXn/99ZlpumOS207UrOizk8cBAADyT2G3xSGEZk22rAvCEMLMmTMvvfTSt99+O3PxG9/4xm233TZo0KD6848+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efOrr76alOSvf/3rCy+8MHP4448/Hjhw4KpVq0IIBx544OGHH15eXr58+fIQQllZ2WuvvdaxY8fM+Wefffakk06qqalp06bNwIEDu3bt+uc///mzzz4LIXz3u999+OGHd/KdCkKgxahB2LU0IdACYgzCe++999xzzw0h/OAHP/jtb3/btm3bEMKKFSuGDx8+b968Dh06LF26tFOnTsnwW2+91b9//1QqdcQRR/z5z39u3759CGHlypXf+MY3Pvzww5KSkg8++KBr167pg59++unTpk0L/xqWkyZNuvrqq0MIl1566a233poerqys7N279/Llyzt27FheXn7wwQeHEKqqqk477bQZM2aEEB5//PFRo0btzJsVhEDLUIPQHDQh0NxaIAiz60tlampqfvrTn4YQTjjhhClTpiQ1GELo1q3bH/7whxDCxo0b//SnP6Xnf/GLX6RSqT333POJJ55IajCE0LVr1yeffLKgoGDr1q133HFHevi999774x//GEK48sorM7cZr7rqqjFjxoQQfvvb3ya7f4n7778/2Ty8//77kxoMIey2224PPvjgAQcckPztzfE/AWDXUoPQTHy4gDyQXUH40ksvffDBByGEyy67rE2bf3lthx122HXXXXfxxRenK7GmpibZqTvzzDO7d++eOXzooYcOGjQohDB9+vT04hNPPJFKpQoKCi677LI6f+/3v//9EMKWLVtmzpyZXnz88cdDCH379h0xYkTmcPv27ZOAfPXVV//xj3/s5FsGaFZOWAGAJmRXECa7f126dBk2bFj9Z2+44YY77rjjjDPOSP741ltvrVu3LoQwdOjQ+sOnnHJKCOHvf/97MhNC+Otf/xpCOOSQQ7p161ZneMiQIckGYzKTeOmll5o+eG1t7csvv/wF3yJAy1GD0Nx8yoBcl11BOHfu3BDC4YcfXlhYmKxs3rx527ZtDQ6/8847yYNDDz20/rNf+9rXkgfvvvtu5nyDw8XFxYcddljm8KpVq9avX9/Y/KBBg5Jf/0vPAwBx0oRATsuuIFy0aFEIoWvXrhs3brz66qt79uzZrl279u3bH3bYYf/xH/+R3utLLFu2LHmw77771j9UevGjjz7KnG9wOL1eZ7ix+aKiouSmiOl5gGzjJBVajI8bkLvatvYL+BfpX8k74ogjFi9enDyuqqp666233nrrrccee+yBBx44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ACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSghAAACBSbVv7BTRswYIFDz744LvvvrtkyZKuXbseeuihw4cPP/bYYxscrq2tnTZt2mOPPbZkyZLCwsKysrIzzzxz+PDhjR38ww8/nDJlyqxZs9asWbPPPvscd9xxP/jBD7p27drY/Kuvvjp16tQFCxZs3ry5Z8+eJ5988tlnn11cXLwL3icAAEDrKUilUq39Gv7Ftm3brrvuultuuaW6urrOU2ecccZtt922zz77ZC5u2LDhtNNOe/HFF+sMn3766ffff39RUVGd9Yceeuj888+vqKjIXOzcufNDDz00bNiw+q/n8ssvv+WWW+os9uvX78knn9xvv/22/301qKCgIIRQs6LPTh4HAADIP4XdFocQmjXZsi4Ib7zxxmuvvTaEcMABB5x77rl9+vRZunTptGnT5syZE0I49thjX3zxxTZt/v+VrieddNJTTz0VQjj66KNPOumkzZs3P/HEE3Pnzg0hnH/++VOmTMk8+CuvvHL88cdXVVV17tz51FNPPfzww8vLy6dPn75p06YOHTrMnj27b9++mfM333zzhAkTQghlZWWjR4/u2rXrzJkzn3766RBCv379Zs+eXVJSsjNvVhACAACNiS4IP/roo4MPPnjz5s1HH330n/70pw4dOiTrNTU1V1xxxf/+7/+GEG699dZLL700WZ8xY8bJJ58cQhg3btzUqVOTxerq6uHDhz///9q7/yirynp/4M8wMyA/xBCQK8QoFgKSIIIY5o8wSyWtJaRrEdxuLjJFTde9k2XaD7xJYVgtEswVlGVL8wd01fSigS2tREAQGCRMELvCoCBSgswMw8yc7x9P7e+5c2YmDt7jnGG/Xn+defZn9pwz5zPPM+9z9tl76dIQwtq1a0eOHJns/7TTTlu1alWPHj2WLVt28sknx8GlS5deeOGFDQ0Nl1xyya9//eukeOfOnYMGDaqpqfnQhz60bNmy5M7MmDHjlltuCSHMmTPnuuuuezePVyAEAABa8x4EwuI6qcwvfvGLmpqakpKSOXPmJAEshFBaWjp79uxhw4aFEB555JFk/I477gghHH/88T/5yU+SwbKysgcffDC+dzd37txk/Lnnnlu1alUI4Qc/+EGSBkMI5513XmVlZQjh4Ycf3rZtWzL+05/+NN6ZhQsXZt+ZGTNmfPjDH05+OgAAQAdVXIFw+fLlIYRBgwaNGjWq2aaysrJzzz03hPDCCy/EiLxv376nn346hDB16tRmnxXs1atXLI5Hk0aPPfZYCKFLly5TpkxptvNJkyaFEDKZTDwcNLv+Ix/5yJAhQ5rVT5w4MYSwefPmTZs2HfKDBQAAaF/FFQi3b98eQjjppJNa3NqtW7cQwoEDB+KX69atq6+vDyGceeaZucUXXXRR3GF1dXUcef7550MIo0aNivvJNmbMmH79+oUQVq5cGUeampripxbb2Hl2PQAAQIdTXJedePbZZ5uamsrLy1vcGj8WOHTo0PjRu5dffjmOn3jiibnFw4cPjzc2bdo0YMCApL7F4pKSkpNOOmnHjh3JO36vvfZaXV1da/VDhgwpKytraGjwDiEAANBxFVcgzH3vLjF37tw1a9aEEK688so48sYbb8Qbxx57bG59//79443XX389u77F4qS+WXFr9Z06derXr191dXVS35oYYgEAAIpQcQXCFjU0NNx6663f/va3Qwhjx469/PLL43i8lmCnTp1avPZD165ds8saGxv3798fWs+csT65PmFy4yDrW/Pxj3+87QIAAID2UuyBcPHixZWVlRs3bgwhjBw58r//+7+T88fEDxCWlpa2+I1lZX9/aPHIz1icPd5ifSw+hPrWtHix+4T3DwEAgHZUvIHw5Zdf/tKXvvTb3/42hFBaWlpZWfmf//mfXbp0SQqSc8xkMpn4qcJsSVSLb+V17dq1pKQkk8nE9wlzxfrkfcXkjcGDrG/NkiVL2tiae7cBAADeM8V1ltEok8ncdtttJ598ckyDF1988bp162677bbsNBhCSK4NuGfPntydJINJWY8ePVorTsaT4rZ3nlsPAADQ4RRdIMxkMlOnTr3xxhvr6+tHjBjx+9///tFHH01OGZpt0KBB8Ub21eQTydUmkrJ4o8XipL5ZcWv1tbW1u3fvzi4DAADocIouEF5//fX33XdfCOGmm25atWrVWWed1VrlsGHD4o2qqqrcrXGwpKRk6NCh2fUtFjc2Nm7YsCF7n7169YpXJmyxfv369c3uAwAAQIdTXIHwueeeu+OOO0IIs2fPnjlzZmsXJIyGDh0aLzD41FNP5W6Ng2PHjk2O6jz33HNDCJs2bdq6dWuz4pUrV77zzjvhf58DJtb/7ne/a23n5eXlZ5999sE/OgAAgKJSXIEwpsFRo0ZVVlYeTP2kSZNCCA8++ODOnTuzx//85z/HE3hedtllyeCnPvWpzp07ZzKZefPmNdvP3LlzQwh9+vQZP358MnjppZeGEDZv3vzEE09kF+/fv3/BggUhhAsuuKBnz555PDwAAIBiUpLJZNr7PvxdJpPp3r17bW3tueeee8kll7RW1r179+RShNu2bfvgBz+4f//+T3ziEwsXLoxvBu7YsePCCy9cs2bNMcccs2XLlu7duyffe+21186bN69z586LFi266KKL4uD8+fO/+MUvhhC+973v3XDDDdn3Z+TIkevXr6+oqFi6dOngwYNDCPX19VdeeeXPf/7zkpKS5cuXjx079t085HiW0cbXB7+bnQAAAIel0mM3hRAKGtmKKBBu27Zt4MCB/7SsX79+b7zxRvLlz372s2nTpoUQjjjiiLPPPvudd95ZuXJlQ0NDWVnZE0888bGPfSz7e/fu3Ttu3Lj4ccETTjhh5MiRzz33XNzbeeedt3jx4mZXHVy/fv0ZZ5zxzjvvlJSUjB49um/fvn/4wx/iwaUzZsz41re+9S4fskAIAAC0Jl2B8JlnnvnoRz/6T8uaBcIQwkMPPXT99de//vrryciJJ544f/78Fj/g99Zbb02fPn3RokVNTU1xpHPnzldcccXs2bNbvKhgVVXV5Zdf/sILLyQjvXr1mjlz5vTp0w/uYbVFIAQAAFqTrkD4bjQ2Nj777LNbtmwpLS0dOnToaaed1nb9tm3bVqxYsXv37n79+p155plHH3102/VVVVUbNmyora2tqKg466yzml0R8ZAJhAAAQGsEwsOcQAgAALTmPQiExXWWUQAAAN4zAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAjhzIBwAAFgNJREFUQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFIlmUymve9DepWUlLT3XQAAAIpaQSObdwgBAABSyjuEcNjq06fPW2+9tWvXrt69e7f3feEwNGbMmNWrV69atWr06NHtfV84DH3mM59ZtGjRwoULJ02a1N73hcPQl7/85e9///u33357ZWVle98XDkN33HHHdddd96UvfelHP/pRe9+Xf847hAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKVWSyWTa+z4AAADQDrxDCAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASpXOmDGjve8D8P81NTX95S9/WblyZXV19ZFHHtmtW7e266urq1euXPniiy/W1tb269evpKSkjeKGhobVq1evWrXq9ddf79GjR/fu3dve+Z49e1auXLlmzZrdu3f36dOnvLw878dDEdu6devixYtra2sHDBjQWk2+PbBx48aVK1du2bKlU6dOvXr1artYgx2W9u3bt3r16jVr1uzfv/9973tfWVlZG8UFbbB8Zzw6hG3btq1YsWLr1q1du3bt0aNH28X59kBBl1SK0K5dux599NHy8vI+ffq0XVnQ1a39Z7YMUBzq6upmzJjRLAEOHjz4kUceabH+1VdfPf/887OXq4qKinvvvbe1/d9xxx3HHHNMUlxWVnbppZfu3LmzxeJ9+/ZdffXVXbt2Tep79ux500031dfX/988WtpbfX39aaedFkKYNm1aiwX59sBTTz110kknZXfv2LFjV69e/X+yczqEvXv3XnPNNdn/nXTv3n3WrFktPq0FbbBMnjMeHcK99977/ve/P7sHhg4d+vjjj7dWn1cPFHRJpWh997vfDSHMnj27jZqCrm5FMrMJhFAU9u3bl8wIJSUlxx133NFHH538wef+y7558+bevXsn00H260ktzmvXX399UtCnT59Onf5+uPjxxx+fO4/U1dWdfvrpSX3fvn2T2xdffHFjY2Ohfgu8h77yla+01l2Z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RsTX7NtoyN69eycn0dZgh5+TTz453ti0aVPu1rfeeiuedWbYsGFx5D1osIOf8Sh+vXr1Cv/7RDLZGhsbYyMdddRRcSSvHij0kkrHVdDVrehmtgzQ3tauXRv/Hh988MGDqZ8xY0YIoXPnzrt27Wq26bLLLgshVFRUJCM1NTXxEz6VlZXNipProv7sZz9LBuPhhSGE3/zmN83q77zzzrjplVdeyePhUaxiApw2bVqz8Xx74KMf/WhcrpoVNzQ09O/fP4Twuc997pB3TocQT1b0b//2b7mb7r777vi0Ll++PI4UtMHynfEofnfddVd84l566aXcrUuWLIlbH3/88TiSbw8UdEmlyMWnbPbs2S1uLejqVlQzm0AI7e/KK69stuS07bXXXotvIV511VXZ48uXL4+nn5k1a1b2+PTp00MI3bt3z56JmpqaLr744hBC37599+7dm4w3NjYOHz48hHDKKafU1dUl43/961/jUQ0XXHDBoTxIik9rgTDfHnjggQfianT//fdnjycHqT733HOHvHM6hNtuuy2EUFJS8tBDD2WPb9q0KX70ZcyYMQ0NDXGwoA2WyXPGo/i98sor8V/hcePG7dmzJ3vTjh07PvjBD4YQ+vTp89e//jUZz6sHCrqkUuTaDoQFXd2KamYTCKH9jRkzJoRQXl7eu02bNm1KvuWmm26K88XUqVMfe+yxFStWzJw5M16Z9MQTT9y3b1/2/qurq+P/ZAMHDvzhD3+4du3aBx54YMKECXEP8+fPb3Z/nnjiiXhhnDPOOOOee+5Zt27dj3/84zjNde3add26de/FL4XCay0QZvLsgaampjPPPDOE0KVLl5tuumnZsmW//e1vr7322riHKVOmvJud0yHU1NQkVzSZPHny3XffvWjRoq9+9avxzHjl5eXNntaCNli+Mx7Fb968efHp69+//6233vpf//Vf999//4033pgcJvroo49m1+fbAwVdUilmbQfCgq5uRTWzCYTQ/o4++uhwEDZu3Jh8S2Nj47/+67/m1nzgAx94+eWXc3/Es88+m5zSKlFSUvL1r3+9xbs0b9683E8t9+jR45FHHinUb4H3XBuBMJNnD+zYsWPUqFG5DXn++efX1NS8y53TIWzevHnw4MG5PVBRUfHkk0/m1he0wfKd8Sh+3/3ud5NLRGTr3bv3ggULcuvz6oFCL6kUrfjctRYIMwVe3YpnZivJ/ON3AbSLxsbGW2+99WD+Eq+99tpmp+P/zW9+c/fdd2/YsKG2traiouLTn/709OnTW7sKzY4dO+bOnfvkk09u3769Z8+eo0ePvuqqqz7ykY+09uPWrVt35513Llu2bPfu3f369Rs/fvy11147aNCgfB8gRetHP/rR7t27Tz311E996lMtFuTVA/X19QsWLFi4cOGWLVtKS0uHDh06ZcqUyZMnt3adXA12+KmtrV2wYMHDDz/86quvlpeXjxgx4rTTTrv66qtbm5QK2mD5zngUv+rq6jvvvPPFF1/cuHFjeXn5sGHDTjnllGuuuSaedSZXvj1Q0CWV4hQ/QfqJT3zijDPOaK2moKtbkcxsAiEAAEBKuewEAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAApJRACAACklEAIAACQUgIhAABASgmEAAAAKSUQAgAApJRACAAAkFICIQAAQEoJhAAAACklEAIAAKSUQAgAAJBSAiEAAEBKCYQAAAAp9f8AOCebTskDiWIAAAAASUVORK5CYII=", + "text/html": [ + "" ] }, - "execution_count": 44, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ "# initialize data on CPU and move it to GPU\n", - "curr, prev = initialize(nx, ny, ArrayKA)" + "curr, prev = initialize(nx, ny, ArrayKA)\n", + "\n", + "show_heatmap(curr)" ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 44, "metadata": { "tags": [] }, @@ -1021,13 +1092,70 @@ "output_type": "stream", "text": [ "Final average temperature: 59.734468711088795\n", - " 1.820325 seconds (196.85 k allocations: 11.315 MiB)\n" + " 1.675810 seconds (43.77 k allocations: 1.437 MiB)\n" ] + }, + { + "data": { + "image/png": "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tvmDt88DAAAAwC5nagXhhz/8YRHp7+/fOMN++9vf+r4vIgsXLoxX9thjj7jHHnjggY0PFS+ecMIJtm1vxcFb8w8//LDneZMevKOj49hjj92a7wkAAAAAU8DUCsITTzxxxowZIvKtb32rfT2Kovj+KwcffPDRRx/dWv/nf/5nEXnwwQdfeOGF9vkHH3zwxRdfFJFzzjlnGw8+MjLywx/+sH1+7dq1t912m4icddZZlmVty/cFAAAAgJ1oagVhJpP52te+JiL33nvvV77ylfi6viVLlpxzzjnPPPOMiHzzm99sfw7E5z//+T322CMMw9NOO+3hhx/2fb9Wq917772f/vSnReTII48844wztvrgxxxzzKmnnioil1566Y9+9KNSqRSG4VNPPXXSSSeVSqV8Pn/FFVfskN8KAAAAAGwXWuuBezvG1Vdffc0112Sz2fimLBtTSp199tk///nP4z92dXWNjY3Fr6+44oprr712wvyf/vSnE044oVKpiEgul3NdNz75c+7cuU899dRb3/rWbTn42NjY/Pnz48sLTdNMp9PxD7Jt+9577z3ppJO28rewTtyf/7nkuGXNWZUgFShdduhfDQAAAABT163vvF3anpG+PezoHcK99977fe9733vf+95NDWiadscdd9x8883z5s0TkTjYjjzyyHvuuWfjYBORY4455oUXXjjjjDMcx6lWq77v5/P5888//8UXX5xQg1tx8K6urueee+5LX/pSd3d3EASVSsU0zYULFz777LPbXoMAAAAAsHPt6B3CN2RkZGR0dHTWrFmFQuH/HPY8r6+vzzCMuXPnbvyc+m08eBRFAwMDjUZj7ty5qVRqiz79FmCHEAAAAMCm7IAdQnP7HXrbdXd3d3d3b+Gwbdt77733djq4rutz5szZ8oMDAAAAwNQ3tW4qAwAAAADYYQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQiCAEAAAAgoQhCAAAAAEgoghAAAAAAEoogBAAAAICEIggBAAAAIKEIQgAAAABIKIIQAAAAABKKIAQAAACAhCIIAQAAACChCEIAAAAASCiCEAAAAAASiiAEAAAAgIQyd/YHmNzixYt/8pOfLF68uKenZ9999z344IPPPffcvfbaa9LhKIruvffeX/7yl8uXLzcMY968eWeeeeaJJ564qYOvXLnylltueeaZZ0ZGRmbOnPn+97//s5/97OzZszc1//TTT992222vvPJKvV7fa6+9Pvaxj33qU59yHOdN+J4AAAAAsPNoSqmd/Rk2EEXRpZdeeuONNwZB0L6eTqevuuqqyy+/fMJ8qVT6+Mc//thjj01YP/300++44w7bties/+IXvzjvvPNqtVr7Ynd39y9+8YsFCxZs/Hm+/OUvf/e7352weOihh95///1vfetbt/x7TUrTNBH5zyXHLWvOqgSpQOkytf5qAAAAANhpbn3n7SKyXZNtygXhtddee+WVV4rI/vvv/6lPfWrPPfdcvnz5j3/8476+PhG57bbbzjnnnPb5j370o7/5zW9E5L3vfe9HP/rRer3+61//+oUXXhCR884775ZbbmkffvLJJz/wgQ/4vt/d3X3aaacdccQRTz311KJFi6rVaj6ff+655w488MD2+W9/+9uXXXaZiMybN+/UU0+dPXv2ww8//OCDD4rIoYce+txzz6VSqW35sgQhAAAAgE1JXBD29vbuvffeQRB88IMffOCBB1r7e9Vqdf78+S+99FIulxseHm6drvnAAw987GMfE5FzzjnntttuixeDIDjxxBMfeeQREXnhhRcOP/zw1vGPOeaYP//5z7lc7qmnnjr00EPjxUceeeTEE08MguC000771a9+1RoeHBzcZ5996vX6IYcc8tRTT+Xz+Xj96quvvuaaa0TkhhtuuPjii7fl+xKEAAAAADZlBwTh1LqpzLPPPhufKXr99de3n+2Zy+W+8Y1viEi1Wn3ppZda69///vdFZO+99/7hD3/YWjRN8+6774737m666abW+tNPP/3nP/9ZRL773e+2alBEFixY8OUvf1lE7rvvvjVr1rTWf/SjH9XrdU3TfvnLX7ZqUESuvvrqd7/73a2fDgAAAAC7qKkVhEuWLIlf7L///hPeOuCAA+IXixcvjl/UarXf//73IvKpT31qwrWCXV1dxx9/vIjEZ5PGHnjgARFxHOfss8+ecPBPfOITIqKUik8HbZ+fP39+60e3fPzjHxeRZcuWLV269I1+RwAAAACYIqZWEM6aNSt+8eqrr054q7XSuh3oiy++6HmeiPzDP/zDxoc66aSTRKSvr6+3tzde+dOf/iQiRxxxRCaTmTB89NFHxz/6ueeei1eiKHr++ec3f/D2eQAAAADY5UytIDzttNMKhYKIfPnLX26/EejIyMgVV1whIm95y1s+8IEPxIt///vf4xfz5s3b+FBvf/vb4xetTbx4ftJhTdMOPvjg9uHVq1c3m81NzR9wwAGmabbPAwAAAMAuZ2o9h3DatGn/8z//c+qppz7xxBPz5s07/fTT47uM3nXXXWNjY7Nmzbr//vsty4qH+/v74xdz5szZ+FBz586NX6xdu7Z9ftLh1vyE4U3N67o+a9as3t7e1vymLF++fPMDAAAAALCzTK0gFJHjjz/+t7/97XHHHdfX13fjjTe21js7O5966ql99923tRJvIeq6PumzH9LpdPtYGIau64rIxueLts+3tiVbL7ZwflP222+/zQ8AAAAAwM4y5YLwnnvu+Zd/+ZcgCBzHOfjgg/fcc88VK1YsWbKkWCwed9xxd95553HHHRdPxhcQGoYx6XHiUzpFJD7zMx5uX590Ph7eivlNaS/YjbF/CAAAAGAnmlpB+NBDD5155plhGJ588sk333zznnvuGa8vWbLk/PPPf+KJJxYuXPjEE0+84x3vkHV7d77vK6XiB/q1a6VavJWXTqc1TVNKxfuEG4vnW/uKrY3BLZzflNdff30z7278sQEAAABgh5laN5X5yle+Eobh29/+9rvuuqtVgyJy4IEH3nfffXPmzKnVal/72tfixdazAcvl8saHai22xnK53KaGW+ut4c0ffON5AAAAANjlTKEgXLt27SuvvCIiZ5999saXBXZ3d59yyiki8uijj0ZRJCL77LNP/Fb70+RbWk+baI3FLyYdbs1PGN7UfKPRGB0dbR8DAAAAgF3OFArCOLFk05UV36DFdd14d+6ggw6K11966aWNh+NFTdMOPPDAeCWen3Q4DMO4RVvH7Orqip9MOOn8yy+/3H5MAAAAANgVTaEg3H///W3bFpHXXntt0oElS5aIyJ577tnZ2SkiBx544B577CEijz766MbD8eI73/nO1lmdxx9/vIgsXbq0p6dnwvBzzz1XrVZFZMGCBa3FeP6xxx7b1MEty2rd4QYAAAAAdjlTKAht2z700ENF5Mc//vHGV+719PTce++9InL00Ue3Fj/xiU+IyN133z04ONg+/Nprrz3yyCMi8o//+I+txZNPPtm2baXUzTffPOHgN910k4hMnz699dR7ETnjjDNEZNmyZQ899FD7sOu6//3f/y0iH/nIRwqFwtZ+XQAAAADYyaZQEIrItddeq2naqlWrFi5cGJ/DGfvjH/944oknFotFx3G+/vWvt9YvvfRSx3EqlcqnP/3pSqUSLw4MDJx55plRFM2cOfNzn/tca3j27Nnnn3++iHzve9974IEHWuu33HLLnXfeKSL/7//9P8dxWuunnnpqHKif+9znli5dGi96nnfBBRcsX75c07Qrr7xye/wSAAAAAGDH0JRSO/szbODyyy+/7rrr4td77LHH3LlzV6xYMTw8LCKapt10002f//zn2+dvvfXWc889V0RSqdRxxx1XrVafe+65IAhM03zooYdOOOGE9uFKpfKe97wnTs1999338MMPf/rpp/v7+0VkwYIFDz744ISnDr788svHHntstVrVNO2oo46aMWPG448/Hp9cevXVV7en6daJHzvxn0uOW9acVQlSgdJlav3VAAAAALDT3PrO20VkuybblAtCEXn44Ye/+MUvvvrqq+2L73nPe2644YZjjjlm4/l77rnn3/7t39auXdtamTdv3i233DLpBX4jIyMXXnjhvffeG9+qVERs2z7//PO/853vTPpQwZdeeukzn/nM888/31rp6uq69tprL7zwwq37du0IQgAAAACbktAgjPX09CxevHjNmjX77LPPQQcdNHv27M0Mh2H45JNPLl++3DCMAw88cNJubLdmzZpnn312dHR01qxZ//AP/zBt2rTNz7/00kuvvPJKo9HYa6+93vve97afWbotCEIAAAAAm5LoIEwCghAAAADApuyAIJxaN5UBAAAAAOwwBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBCEYQAAAAAkFAEIQAAAAAkFEEIAAAAAAlFEAIAAABAQhGEAAAAAJBQBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBCEYQAAAAAkFAEIQAAAAAkFEEIAAAAAAlFEAIAAABAQhGEAAAAAJBQBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBCEYQAAAAAkFAEIQAAAAAkFEEIAAAAAAlFEAIAAABAQhGEAAAAAJBQBCEAAAAAJBRBCAAAAAAJRRACAAAAQEIRhAAAAACQUAQhAAAAACQUQQgAAAAACUUQAgAAAEBC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5JLzzz//xhtvTKVSW/cFAWAHUCKBMqqBM1DLDwwXnFVOxzJVeL1m9I1ExZLyPGoQ2CJxEzaa+uiYrWmderfSUyU906sr1SUz0yrN8wkB7MqmYhCed955t99+u4gUCoXjjjtORP7whz8Ui8ULLrggn8+fddZZ7cNXXnnlN7/5TRFJp9Pve9/76vX6008/3Ww2v/CFL+i6fuGFF7YPr1mz5vjjjx8YGBCRt73tbUccccRTTz3V29v75JNPfvCDH3z22Wc7Ozvb53/729+efvrpYRjqun700UfPnj3797//fblcvuWWW0ql0l133bW9fxUAsFU0JRIovR7YA/XcwFDBWp3qeF0VXq8ZvdQg8MaNN2FDHx2zda3T6I4Mp2xk+5QY3dH0VC1t+LqmaEIAuyJ9Z3+AiX7605/GNfjZz352ZGTk/vvvv//++1977bXDDz9cRC644IKxsbHW8Msvv/ytb31LRI466qjBwcEHH3zwD3/4w+rVq/fee28R+dKXvtTf399+8C9+8YtxDd5xxx1Lly69++6716xZEx/h73//+zXXXNM+7LruueeeG4ZhZ2fn3/72t2effXbRokXDw8MnnXSSiNx9992LFi3azr8MANgKmhIJld4I7KF6tn+4w1qdKixXhdcbZi/XDQJba925o2pkzFk11rnMy6/Qgt5sX7FjzM24kRmJpkREuMsMgF3M1ArCMAy//vWvi8iHP/zhW265xTTHNzDnzJnzk5/8REQqlcr//u//tua/853vKKU6Ojp+/etf53K5eHH27Nn333+/pmnNZvOmm25qDS9btuxXv/qViFx66aXt24xf/epXzzjjDBH5r//6r3K53Fq/4447ent74xcHHXRQvGhZ1s9//vN99tkn/unb45cAANtAUyKR0pqhOdzMrB3r0NekCstVx+uutWZUjZVUkxoEtta6+46qkdH0qmLnsiC3Qmv25frKhaKX9iJD0YQAdkFTKwgff/zxFStWiMgll1yi6xt8tsMOO+yqq6666KKLWpUYhuEDDzwgImeeeebcuXPbhw855JBjjjlGRNo38X79618rpTRNu+SSSyb83M985jMi0mg0Hn744dbifffdJyIHHnjgwoUL24dzuVwckE8//fTQ0NA2fmUAePNoSiQSzY3MMTezttgRrsnkl2sdy127Z1SNjUXNpopCahDYekqpIFS1ugyP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jgECxE0gBIBCH0lEjSJi2H7N398etb69KQmZD48rbj+6mAuZJAl/S48fLiQh/e/2c0W3nzEawkej2fZvsv2ZftuP4yVl6VHDTJL+N79QUBO2p8ztlx8mhRttdPSv4esFIDYCIQC0rGFkyqfEkJ5ruv1vSeF5qB/9ykwouM9o8mHFDkaxwu3lv2umQUvT9Q3IfgA0JBACwE5oIlxlGvy/8DjiR/6eNLuJpjQf8HZorwCgBQIhAPx97Wgqa03SA4CiKGvrHQAAAKBtCIQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABCpirbegaatWLHil7/85WuvvbZ69eo99tjjoIMOGjNmzDHHHNNkcS6Xmzlz5owZM1avXl1eXj5gwIAJEyaMGTOmuY2/+eab06dPnz9//vvvv9+7d+8vfelL3/nOd/bYY4/m6p9//vm77rprxYoV1dXVffv2HTdu3MSJEzt27Ph3eJ0AAABtJ5MkSVvvw0fU1dX98Ic/vPHGG+vr6xus+sd//MepU6f27t27sPGDDz4YP378M88806D41FNPvffeezt06NCg/f777z/77LO3bNlS2NizZ8/777//uOOOa7w/kyZNuvHGGxs0Dhky5NFHH9133313/HU1KZPJhBBuffXoVbV9NtV3qk/KQmm9GwAAQJu5Y+TdIYSiRraSC4Q/+clPrrzyyhBCv379zjzzzP79+//pT3+aOXPmSy+9FEI45phjnnnmmbKyv53peuKJJ/72t78NIYwaNerEE0+srq5+5JFHlixZEkI4++yzp0+fXrjxuXPnjh49etu2bT179jz55JOHDRs2b968hx9+ePPmzd26dVu4cOGgQYMK66+77rrLLrsshDBgwIB/+Id/2GOPPWbPnj1r1qwQwpAhQxYuXNipU6eP82IFQgAAoDnRBcK33npr8ODB1dXVo0aNevzxx7t165a2Z7PZSy655L//+79DCD/72c/+5V/+JW1/7LHHxo0bF0L45je/edddd6WN9fX1Y8aMmTNnTghhyZIlQ4cOzW//sMMOW7RoUdeuXefNmzdkyJC0cc6cOWPGjKmvrz/55JN//etf54vffffdfv36VVdXH3TQQfPmzcvvzOTJk6+66qoQwtSpUy+++OKP83oFQgAAoDmfQCAsrZvK3H333dXV1ZlMZurUqfkAFkIoLy+//vrrBw8eHEJ4+OGH8+033XRTCGG//fb7n//5n3xjRUXFgw8+mB67mzZtWr79+eefX7RoUQjhxhtvzKfBEMJxxx03adKkEMJDDz20du3afPsvfvGLdGdmzJhRuDOTJ0/+whe+kP/uAAAA7VRpBcL58+eHEPr16zds2LAGqyoqKo499tgQwksvvZRG5C1btjz77LMhhIkTJza4VrBHjx5pcXo2aeqxxx4LIXTs2PGMM85osPFTTjklhJAkSXo6aGH9F7/4xYEDBzaoHz9+fAhh1apVK1eu3OkXCwAA0LZKKxC+/fbbIYQDDjigybW77LJLCGHbtm3pX5cuXVpXVxdCOOqooxoXn3TSSekGq6qq0pYXXnghhDBs2LB0O4VGjBjRp0+fEMLChQvTllwul1612MLGC+sBAADandJ67MTcuXNzuVxlZWWTa9PLAgcNGpReevfaa6+l7QMGDGhcfOCBB6YLK1eu3HvvvfP1TRZnMpkDDjhg3bp1+SN+b731Vm1tbXP1AwcOrKioqK+vd4QQAABov0orEDY+dpc3bdq0xYsXhxDOPffctOWdd95JF/bcc8/G9XvttVe68Oc//7mwvsnifH2D4ubqy8rK+vTpU1VVla9vThpiAQAASlBpBcIm1dfXX3311T/+8Y9DCCNHjvz2t7+dtqfPEiwrK2vy2Q+dO3cuLMtms1u3bg3NZ860Pv98wvzCDtY35ytf+UrLBQAAAG2l1APhrFmzJk2a9Morr4QQhg4d+tvf/jZ//5j0AsLy8vImv7CiYvtLS8/8TIsL25usT4t3or45TT7sPs/xQwAAoA2VbiB87bXXvvvd7z711FMhhPLy8kmTJv3nf/5nx44d8wX5e8wkSZJeVVgoH9XSQ3mdO3fOZDJJkqTHCRtL6/PHFfMHBnewvjmzZ89uYW3j3QYAAPjElNZdRlNJklx77bVDhgxJ0+C4ceOWLl167bXXFqbBEEL+2YAbN25svJF8Y76sa9euzRXn2/PFLW+8cT0AAEC7U3KBMEmSiRMnXn755XV1dQcffPDvfve7Rx55JH/L0EL9+vVLFwqfJp+Xf9pEvixdaLI4X9+guLn6mpqaDRs2FJYBAAC0Ozd7C1UAABokSURBVCUXCL/3ve/dd999IYQrrrhi0aJFo0aNaq5y8ODB6cKyZcsar00bM5nMoEGDCuubLM5msytWrCjcZo8ePdInEzZZv3z58gb7AAAA0O6UViB8/vnnb7rpphDC9ddff8011zT3QMLUoEGD0gcMPv30043Xpo0jR47Mn9V57LHHhhBWrly5Zs2aBsULFy7cvHlz+Og9YNL6Z555prmNV1ZWHn300Tv+6gAAAEpKaQXCNA0OGzZs0qRJO1J/yimnhBAefPDBd999t7D9j3/8Y3oDz9NPPz3f+LWvfa1Dhw5Jktx8880NtjNt2rQQQq9evUaPHp1vPO2000IIq1ateuKJJwqLt27devvtt4cQTjjhhO7du7fi5QEAAJSSTJIkbb0P2yVJ0qVLl5qammOPPfbkk09urqxLly75RxGuXbv285///NatW7/61a/OmDEjPRi4bt26MWPGLF68uHfv3qtXr+7SpUv+ay+66KKbb765Q4cOM2fOPOmkk9LG6dOn//M//3MI4brrrrv00ksL92fo0KHLly/v27fvnDlz+vfvH0Koq6s799xz77rrrkwmM3/+/JEjR36cl5zeZfTWV49eVdtnU32n+qQslMq7AQAAtLE7Rt4dQihqZCuhQLh27dp99tnn/1vWp0+fd955J//XO+6446yzzgohdOrU6eijj968efPChQvr6+srKiqeeOKJL3/5y4Vfu2nTpiOOOCK9XHD//fcfOnTo888/n27tuOOOmzVrVoOnDi5fvvzII4/cvHlzJpMZPnz47rvv/vvf/z49uXTy5Mn/8R//8TFfskAIAAA05xMIhCV0yujrr7++E1/1ne9858EHH9xzzz1ra2ufeuqpefPm1dfXDxgw4Omnn26QBkMI3bp1e+6550477bSysrLVq1f/5je/eeeddzp06HDhhRc+8sgjjZ9BP2TIkLlz5x566KFJkixatGjWrFmbN2/u0aPHLbfc8vHTIAAAQNsqoSOEH0c2m507d+7q1avLy8sHDRp02GGHtVy/du3aBQsWbNiwoU+fPkcdddRuu+3Wcv2yZctWrFhRU1PTt2/fUaNGNXgi4k5zhBAAAGhOXKeMRkggBAAAmhPXKaMAAAB8kgRCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkKtp6B0hlmlkGAAAoFoGw7SUhkyQhSTJJIgoCAACfHIGw7dXkOmzJdtyS7ZBNypKkrfcGAABoU5kQQiaUZ3KfwPcSCNveSxv3ff2DnjV1lTlHCAEAgBDKMkmnyvpP4BtlEsek2k4mIwECAAAtKWpkc5dRAACASDlCCJ9avXr1ev/999evX9+zZ8+23hc+hUaMGPHiiy8uWrRo+PDhbb0vfAqdeuqpM2fOnDFjximnnNLW+8Kn0CWXXPJf//VfN9xww6RJk9p6X/gUuummmy6++OLvfve7P//5z9t6X/7/HCEEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiFQmSZK23gcAAADagCOEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACJVPnny5LbeB+Bvcrncm2++uXDhwqqqqm7duu2yyy4t11dVVS1cuPDll1+uqanp06dPJpNpobi+vv7FF19ctGjRn//8565du3bp0qXljW/cuHHhwoWLFy/esGFDr169KisrW/16KGFr1qyZNWtWTU3N3nvv3VxNa/vAK6+8snDhwtWrV5eVlfXo0aPlYh3sU2nLli0vvvji4sWLt27d+pnPfKaioqKF4qJ2sNaOeLQLa9euXbBgwZo1azp37ty1a9eWi1vbB4o6pVKC1q9f/8gjj1RWVvbq1avlyqLObm0/siVAaaitrZ08eXKDBNi/f/+HH364yfo33njj+OOPL5yu+vbte++99za3/Ztuuql379754oqKitNOO+3dd99tsnjLli0XXHBB586d8/Xdu3e/4oor6urq/j6vlrZWV1d32GGHhRDOOuusJgta2weefvrpAw44oLD3jhw58sUXX/y7bJx2YdOmTRdeeGHhbyddunSZMmVKk29rUTtY0soRj3bh3nvv/exnP1vYBwYNGvT44483V9+qPlDUKZWS9dOf/jSEcP3117dQU9TZrURGNoEQSsKWLVvyI0Imk9l333132223/A9841/ZV61a1bNnz/xwUPh5UpPj2ve+9718Qa9evcrKtp8uvt9++zUeR2praw8//PB8/e67755fHjduXDabLda/Ap+gf//3f2+udyWt7wMzZ87Md6pu3bp16tQpXe7YseMf/vCHj7lx2oUNGzYMHjw4P4jttdde+S5x6qmnNiguagdLWjni0S6cffbZ+fe0d+/en/nMZ/J/nTx5cuP6VvWBok6plKza2tqBAwc29y6nijq7lc7IJhBCSbj88svTn+pzzz33r3/9a9q4ePHiL3zhC2n7PffcU1g/cuTIEEJZWdltt932wQcfZLPZBQsW9O/fP21cvHhxYfHjjz+ebuTII49ctmxZkiTvvffeVVddlTaefPLJDXYmHxXOO++8tWvXJkmycuXKk08+OW2cOnVqEf8h+ETMnj07/0F4k4GwVX1g3bp16YlbvXr1evrpp+vq6qqrq2fMmJF+RLrXXnvV1NTs9MZpL8aOHRtCyGQyN954Y/qryfr167/xjW+kb+svfvGLwuKidrDWjniUvgceeCB9+8aOHbt69eq0cdmyZUcccUQ66/3ud78rrG9tHyjqlEppeu+99yZMmJC+a80FwqLObiU1sgmE0Paqqqo6dOiQTnUNVm3atOlzn/tcCGHvvffON86aNSv9+Z8yZUph8WuvvbbrrruGRp/Hp59X9e3bt8EHSBdccEH6C9zy5cvzjevXr09PWx07dmzhp1nV1dXDhw9PBynn9bVr77333p577pm+9U0Gwtb2gcsuuyyEUFFR0eATzQcffDDtqNOmTdvpjdMuPP30043f6yRJtm3blr6thx9+eL6xqB0saeWIR7tw/PHHhxD233//6urqwvZ33303PZp39tlnF7a3qg8UdUql1Lz88stXXnnlSSedlD8c10IgLOrsVlIjm0AIbe9///d/0x/+Js8QmDp1arr27bffTlu+9a1vhRB69+7d+Pfms846K4TQqVOn/Kz55ptvNvnRVJIka9asSVf96Ec/yjfeddddaePSpUub289nnnnm47xe2tZJJ50UQhg/fnz6WUPjQNjaPrDffvs19/Fk+i2OPvrond447cIpp5wSQujXr1/jVffee++BBx44ZMiQDz74IG0pagdr7YhHu5Cez3n++ec3XnXiiSeGEIYOHZpvaW0fKOqUSqm59dZbQyPNBcKizm4lNbJ57AS0vVdffTWEkMlkhg0b1njtgQcemC788Y9/TBdmz54dQjj++OMb37dq3LhxIYTa2to//OEPhcUhhDQGFPrsZz97yCGHhBDmzJmTb0zr99lnn4MPPrhB/dixY8vLyxvU075Mmzbtscce23vvvadPn95cTav6wKpVq9KJqnEHCx92yHnz5tXU1OzExmkX6urqnnzyyRDCxIkTG6/9xje+8fLLLy9btqx79+5pyyfQwZqsb3LEo11I399sNtt4VS6XCyHU1tbmW3Zu1ivSlEqpGT169J0FWqgs6uxWaiObQAht79BDD500aVLjW4ym/vSnP6UL6d3VNm3aVFVVFUJoMj2OHj06XUhDZgjh//7v/0IIu+666/77799cfb44X9/kxnfbbbd0mCuspx1Zvnz5pZdeWlZWds899xTetaiBVvWBtLi5+rSD1dfXr1q1aic2TruwYsWKzZs3hxCOO+64Han/BDrYjo94tAvpyXKzZs3atGlTYfvbb789d+7cEEJ6EWCqVX2g2FMqpWbgwIHfKtBCZVFnt1Ib2QRCaHvjx4+/4YYbfvSjHzVelc1mb7755hBC3759+/XrF0J4/fXX01X77rtv4/ru3bun917Ll61evTr98ia/dbqRDRs2/PWvfy2sb3Lj+fb8xmlHampqJkyYUFtbe+mllx577LEtVLaqD6TFzdXnGxvU62CfJq+88kq6sOeee7733ns/+clPvvKVrxx66KGnn376Nddcs3bt2gb1n0AH2/ERj3ZhypQpnTt3XrNmzYknnvjiiy9ms9m6urpnn312zJgxGzdu7Nmz5w9/+MN8cav6QLGnVNqvos5upTayCYRQurZt23bWWWe99NJLIYQrr7wyPd9g48aN6drCm24XSts/+OCD9K9pfcvFhfXp5687uHHakX/7t39bsWLF8OHDf/zjH7dc2ao+0HKH1MFi8Pbbb6cLr7766gEHHHDllVfOmTNn8eLFv/rVr37wgx8ceOCBt99+e2F9UTtYa0c82oWRI0fOmTNn3333/f3vfz9ixIhddtlll112GT169LJlyw4++ODnnnsuvSNoqlV9oNhTKu1XUWe3UhvZKnbuy4BiW7Bgwfnnn7948eIQwre//e1zzjknba+urk4XCm+QVSi9YfGWLVsK61suztfX1tam12Ps4MZpLx566KHbbrutS5cu9913X+PrZAq1tg+kHayysjL/QKTGxUEH+1RLfw3KZDJnnHHGpk2bxo4dO2rUqB49eixfvvzuu+/euHHjOeecs/vuu3/9618PRe5goZUjHu1L/jLUurq6fGOPHj0a9I1W9YGiTqm0a0Wd3UptZBMIoeS89dZb3//+93/5y18mSVJeXn7JJZdcc801+afGVVRs/7Ft8vL6EMK2bdvCh08UyNe3XJyvb+3GaReqqqrSe+VNnTp1wIABLRfrYLRWej+PJEm2bNny61//Ov/QrRDCpEmTjjnmmDVr1lx44YVf/vKXu3btWtQOthP1tAsPPPDAGWeckc1mBw8e/K//+q8HHXRQXV3d0qVLb7jhhueee27EiBFPPPHEqFGj0uKiDko6WDxKqiMVu+M5ZRRKSH19/ZQpUwYPHnzfffclSTJy5Mh58+ZNmTIlPVk01aVLl3Sh8KZqhdL29Gmn+fqWi/P1FRUV6RMRd3DjlL5cLjdx4sQNGzaccsopaSxsWWv7QNrBcrlcfkJqXBx0sE+1/IfTF1xwQWEaDCH069fvuuuuCyFUVVWlN/8oagcLrRzxaBfWrFlz5plnZrPZMWPGLFu27JxzzjniiCOOOeaYiy+++NVXXx02bFh1dfX48ePzx0Za1QeKOqXSrhV1diu1kc0RQigV69atGz9+/Lx580II/fv3v+aaa0477bTGZbvvvnu+vvHaJEnefffdEEKvXr0K65ssDiG88847IYRMJpM+5Smtr6qqark+v3FK36JFi5599tkQwv777z9lypTCVenV58uWLUvbDz/88PROZa3qA4UdMr0RbuPiBvU62KdMt27d0oX0pNAG0keKhxCWLVuWLhe7g4XWjHiUvunTp6fniE6fPj1/HCa1yy673HLLLUccccT69evvv//+9DOvVvWBYk+ptF9Fnd1KbWQTCKEkbNy48YQTTliyZEllZeX3v//9K6+8Mv2oqbF+/fp16NChrq4uf4uqQlVVVenEOWjQoLRl4MCBIYQ1a9Zs27at8cVjb7zxRghhn332yT/xYuDAgVVVVU1uPF+f3zilL72qIYRw/fXXN1nwwgsvvPDCCyGESZMmpYGwVX0g7WAhhNWrVzee1dLiBvU62KdM+gzlEMI+++zTeG2PHj26deu2adOm/L1nit3BQmtGPEpfejP9vn377r333o3XDh8+vGPHjlu3bs3f7bZVfaDYUyrtV1Fnt1Ib2ZwyCiVhwoQJS5Ys6d69++zZs6+66qrm0mAIoby8fOjQoSGE+fPnN167YMGCdOHQQw9NF4YPHx5CqKurS+9P02R9vjhfv2jRosanqq9fvz69A3JhPSWue/fuxzQjvTx9jz32SP+a/7W+VX3g4IMPTj+zb6FD9uzZM38TbR3s02fIkCHpwsqVKxuvff/999O7zgwePDht+QQ62I6PeJS+Hj16hI/eSKZQNptNO9Kuu+6atrSqDxR7SqX9KursVnIjWwK0tSVLlqQ/jw8++OCO1E+ePDmE0KFDh/Xr1zdYdfrpp4cQ+vbtm2+prq5Or/CZNGlSg+L8c1HvuOOOfGN6emEI4dFHH21Qf8stt6SrXn/99Va8PEpVmgDPOuusBu2t7QNf+tKX0umqQXF9ff1ee+0VQjjzzDN3euO0C+nNir75zW82XnXnnXemb+v8+fPTlqJ2sNaOeJS+2267LX3jXn311cZrZ8+ena59/PHH05bW9oGiTqmUuPQtu/7665tcW9TZraRGNoEQ2t65557bYMpp2VtvvZUeQjzvvPMK2+fPn5/efmbKlCmF7eeff34IoUuXLoUjUS6XGzduXAhh991337RpU749m80eeOCBIYRDDjmktrY23/6Xv/wlPavhhBNO2JkXSelpLhC2tg888MAD6Wx0//33F7bnT1J9/vnnd3rjtAvXXnttCCGTyfzqV78qbF+5cmV66cuIESPq6+vTxqJ2sKSVIx6l7/XXX09/FT7iiCM2btxYuGrdunWf//znQwi9evX6y1/+km9vVR8o6pRKiWs5EBZ1diupkU0ghLY3YsSIEEJlZWXPFq1cuTL/JVdccUU6XkycOPGxxx5bsGDBNddckz6ZdMCAAVu2bCncflVVVfo72T777POzn/1syZIlDzzwwNixY9MtTJ8+vcH+PPHEE+mDcY488sh77rln6dKlt956azrMde7ceenSpZ/EPwrF11wgTFrZB3K53FFHHRVC6Nix4xVXXDFv3rynnnrqoosuSrdwxhlnfJyN0y5UV1fnn2gyYcKEO++8c+bMmZdddll6Z7zKysoGb2tRO1hrRzxK380335y+fXvttdfVV1/9m9/85v7777/88svzp4k+8sgjhfWt7QNFnVIpZS0HwqLObiU1sgmE0PZ22223sANeeeWV/Jdks9l/+qd/alzzuc997rXXXmv8LebOnZu/pVVeJpP5wQ9+0OQu3XzzzY2vWu7atevDDz9crH8FPnEtBMKklX1g3bp1w4YNa9whjz/++Orq6o+5cdqFVatW9e/fv3Ef6Nu375NPPtm4vqgdrLUjHqXvpz/9af4REYV69ux5++23N65vVR8o9pRKyUrfu+YCYVLk2a10RrZM8uG/BdAmstns1VdfvSM/iRdddFGD2/E/+uijd95554oVK2pqavr27fv1r3/9/PPPb+4pNOvWrZs2bdqTTz759ttvd+/effjw4eedd94Xv/jF5r7d0qVLb7nllnnz5m3YsKFPnz6jR4++6KKL+vXr19oXSMn6+c9/vmHDhkMPPfRrX/takwWt6gN1dXW33377jBkzVq9eXV5ePmjQoDPOOGPChAnNPSdXB/v0qampuf322x966KE33nijsrLy4IMPPuywwy644ILmBqWidrDWjniUvqqqqltuueXll19+5ZVXKisrBw8efMghh1x44YXpXWcaa20fKOqUSmlKryD96le/euSRRzZXU9TZrURGNoEQAAAgUh47AQAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBSAiEAAECkBEIAAIBICYQAAACREggBAAAiJRACAABESiAEAACIlEAIAAAQKYEQAAAgUgIhAABApARCAACASAmEAAAAkRIIAQAAIiUQAgAAREogBAAAiJRACAAAECmBEAAAIFICIQAAQKQEQgAAgEgJhAAAAJESCAEAACIlEAIAAERKIAQAAIiUQAgAABApgRAAACBS/w/txtkPmUQZcAAAAABJRU5ErkJggg==", + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "# simulate temperature evolution for nsteps\n", - "@time simulate_KA!(curr, prev, nsteps)" + "@time simulate_KA!(curr, prev, nsteps)\n", + "\n", + "show_heatmap(curr)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initial average temperature: 59.734468711088795\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32mProgress: 100%|█████████████████████████████████████████| Time: 0:00:15\u001b[39m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Final average temperature: 59.663490843418884\n", + " 15.625046 seconds (431.18 k allocations: 13.933 MiB)\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAIAAAA+D1+tAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdfZAlVXn48ec55/S9s7IgSHgnyIssiBJfAkFFiQJGQVRQSUrRUIkSo0mZFzVE1Ar5VWHUVJnyhaqURKSMGhVJJFKCglYSFRGVAAbBoOsL8hoWUHZm7u0+L78/TnffvjN3lmWB3dnt7ydT452e5u7Maqr8+pw+R1NKAgAAAADoH7OtfwAAAAAAwLZBEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE+5bf0D9JqqbusfAQAAAMCqllJ67N6cCSEAAAAA9BQTwm3vsh8/9efV7hv82o1hbhRdFa1PNiYTk0aRJCpJJL8AAAAA0BufOObCx/qPIAi3vT3tg6NUJFEjycjcSJJG8SIiKslESUk1dyFNCAAAAOBRRBBue2uM38mMdzLjsXFVslE0JhNFoxiVpElFJKlIEpEkNCEAAACARwnPEG57TuJA/VD9wIRCg9VoNBpJ/HsDAAAA4DFFdGx7VsVJtBqsRKPJSDKaVJNIUkkqkoeDwnAQAAAAwKOKINz2ND8sKKmuQUlaX8ySkIIAAAAAHgME4aqgKlrPA5No0umRIDUIAAAA4LGwDYLwgQceuOeeezbnzhjjAw88sPnnMM7Pz49Go828+eG+eVmWv/rVrzbz5odv8mMsjUByEAAAAMBjY2sHYUrp6U9/+sEHH7zp2y6++OJjjz12OBzutttuc3Nzv/M7v/OVr3xlpZvvvvvuP/mTP9lrr73Wrl27Zs2aAw444Oyzz95EvD2sN6+q6r3vfe9hhx02Nzf3+Mc/ftddd33d61536623bs4vu5mmFohO8o8zJgAAAAA8tnTzR2SPiv/8z/98/vOfv9NOO23cuHGle97ylrd8+MMfXnJRVc8777x3vOMdS67/4Ac/OP744+++++4l1w8++OCvf/3r++677yN58/n5+RNPPPGaa65Zcn2nnXa69NJLTzjhhJV+hc2kqiLyo9v2uSusucfvcm9Y+8uw08YwXAiDcXRlciGaIJqSJtHE8fQAAABAn+SD6R/TZNuqE8INGzacddZZm77nwgsvzMF2zDHHfPKTn7zpppsuuOCCww47LKX0zne+84orrujePB6PX/7yl999993W2ne/+93XXHPN1772tT/90z8VkfXr17/qVa96JG8uIm9605tyDb7mNa/50pe+dN11173vfe9bu3bt/Pz86aefftdddz2yvw8AAAAA2Ja2xoTwhhtuuOmmm77+9a9/8pOfzIPBlSaE4/H4kEMOuf3229etW3fNNdfstttu+fpPf/rTY4455p577nnmM5/5ve99r73//PPPz/l3/vnnv/nNb26vn3322e9///tF5NJLL33Zy162ZW/+P//zP7/xG7+RUjr99NM/+9nP5mmeiFx22WUvf/nLY4x/8Rd/8YEPfOCR/M0smRBuCGsf6EwIq+Q8E0IAAACgr3aQCeGLXvSiM8444x//8R83sUw0+8pXvnL77beLyIc+9KE22ETkwAMPPOecc0Tkuuuuu/HGG9vrF154oYg861nP6tagiLznPe/ZfffdReSiiy7a4jf/+Mc/nlJas2bNRz/60bYGReSUU07JkfnP//zPMcbN/3sAAAAAgFVlawTh7/3e753ZeNrTnraJO/OizV133fWFL3zhkm+99KUv7d4jIvfcc89///d/i8jpp5++5GZr7cknnywiV111lfd+C968fX3iiSfuuuuuM++/9957v/vd727i1wEAAACA1WxrBOEHP/jBixqnnnrqJu684YYbROSoo44yZukPdvDBBx966KEi0g7xbrzxxjw8PeaYY5a/1Ytf/GIRefDBB3/6059uwZuPx+Mf/vCHm37z7v0AAAAAsN1ZXQfT5+McDjrooJnfPeSQQ9p7ui9m3p9vXn7/Zr75+vXrQwgr3b/vvvuuWbOmez8AAAAAbHfctv4Bptx3330isueee878br6+YcOG7s0r3d9eXHL/o/LmIrLHHnv8/Oc/b+9fyfve975N3wAAAAAA28oqCsKyLPPzfnNzczNvyEO5+fn5/GV+Ya11bsZvkW9ub9uyN9/8+1fy13/915u+AQAAAAC2lVUUhO1uqt0tPZff0G4Sk7/c9M3t/Vv25pt//0rOPvvsTXyX+SEAAACAbWgVBeFwOLTWhhBGo9HMG8bjsYjstNNO+cv8wnsfQrDWzry5vW3L3lxENvP+lbz3ve/dxHcJQgAAAADb0OraVCYf8NA+v7fEvffe297TfTHz/nzz8vsflTeX5mnD5SdSAAAAAMD2YnUFYT774Wc/+9nM7952223tPd0XM+/PNy+/fzPf/JBDDsmLRWfef//992/cuLF7PwAAAABsd1ZXEB555JEi8r3vfW/5txYXF2+++WYReepTn5qvtC9m3p8vDofDttke1puvWbPmSU960qbfvHs/AAAAAGx3VlcQvuhFLxKRu+66a3mGffnLX66qSkROPvnkfGW//fbLPXbZZZctf6t88YQTThgMBlvw5u39V155ZVmWM9/88Y9//HOe85wt+T0BAAAAYBVYXUF40kkn7bHHHiLyd3/3d93rMca8/8oRRxxx1FFHtdd///d/X0Quv/zy66+/vnv/5ZdffsMNN4jImWee+QjffMOGDR/96Ee79995550XXXSRiLzmNa8piuKR/L4AAAAAsA2triB83OMe9853vlNELrnkkre97W35ub5bbrnlzDPPvOaaa0TkPe95T/cciDe/+c377bdfCOG000678sorq6qan5+/5JJLXve614nIM5/5zNNPP32L3/zoo48+9dRTReTtb3/7xz72sV/+8pchhKuvvvqUU0755S9/ufPOO59zzjlb5W8FAAAAAB4T2h64t3Wce+65f/u3f7vTTjvlTVmWSymdccYZ//Iv/5K/3G233e6///78+pxzzjnvvPOW3P+d73znhBNOePDBB0Vk7dq14/E4L/7cd999r7766ic+8YmP5M3vv//+Y489Nj9e6Jxbs2ZN/oMGg8Ell1xyyimnbOHfQiP3549u2+eusOYev8uGsPaBsNPGMFwIg3F0VXI+miCakibR/G9UktnnIgIAAADYwXzimAulc0b6Y2FrTwgPPPDA3/7t337e85630g2q+qlPfer8889ft26diORge+Yzn3nxxRcvDzYROfroo6+//vrTTz99OBxu3Lixqqqdd975rLPOuuGGG5bU4Ba8+W677Xbttdf+5V/+5e677+69f/DBB51zJ5988re//e1HXoMAAAAAsG1t7Qnhw7Jhw4b77rtvr7322mWXXR7y5rIs77jjDmvtvvvuu/yc+kf45jHGu+++e3Fxcd99952bm9usn34zMCEEAAAAsJKtMCF0j91bP3K777777rvvvpk3DwaDAw888DF6c2PMPvvss/lvDgAAAACr3+raVAYAAAAAsNUQhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA9RRACAAAAQE8RhAAAAADQUwQhAAAAAPQUQQgAAAAAPUUQAgAAAEBPEYQAAAAA0FMEIQAAAAD0FEEIAAAAAD1FEAIAAABATxGEAAAAANBTBCEAAAAA9BRBCAAAAAA95bb1DzDbzTff/IlPfOLmm2++7bbbDj744COOOOL1r3/9AQccMPPmGOMll1zy+c9/fv369dbadevWvfrVrz7ppJNWevOf/vSnF1xwwTXXXLNhw4Y999zz+c9//h/+4R/uvffeK93/rW9966KLLrrpppsWFhYOOOCAl770pa997WuHw+Gj8HsCAAAAwLajKaVt/TNMiTG+/e1v/9CHPuS9715fs2bNu9/97ne84x1L7v/lL3/5ile84mtf+9qS66961as+9alPDQaDJdc/85nPvOENb5ifn+9e3H333T/zmc+ceOKJy3+et771rR/4wAeWXDzyyCO/+MUvPvGJT9z832smVRWRH922z11hzT1+lw1h7QNhp41huBAG4+iq5Hw0QTQlTaL536gk+gj/UAAAAADbhU8cc6GIPKbJtuqC8LzzznvXu94lIoceeuhrX/va/ffff/369R//+MfvuOMOEbnooovOPPPM7v0veclLvvSlL4nI8573vJe85CULCwv//u//fv3114vIG97whgsuuKB78ze/+c0XvOAFVVXtvvvup5122jOe8Yyrr7760ksv3bhx484773zttdcefvjh3fvf//73n3322SKybt26U089de+9977yyisvv/xyETnyyCOvvfbaubm5R/LLEoQAAAAAVtK7ILz99tsPPPBA7/0LX/jCyy67rJ3vbdy48dhjj73xxhvXrl177733tss1L7vsspe+9KUicuaZZ1500UX5ovf+pJNOuuqqq0Tk+uuvf9rTnta+/9FHH/3d73537dq1V1999ZFHHpkvXnXVVSeddJL3/rTTTvvXf/3X9uZ77rnnoIMOWlhYeOpTn3r11VfvvPPO+fq55577t3/7tyLywQ9+8C1vecsj+X0JQgAAAAAr2QpBuLo2lfn2t7+dV4q+733v6672XLt27f/7f/9PRDZu3HjjjTe21z/84Q+LyIEHHvjRj360veic+9znPpdndx/5yEfa69/61re++93visgHPvCBtgZF5MQTT3zrW98qIl/4whd+8YtftNc/9rGPLSwsqOrnP//5tgZF5Nxzz33Ws57V/ukAAAAAsJ1aXUF4yy235BeHHnrokm8ddthh+cXNN9+cX8zPz//Hf/yHiLz2ta9d8qzgbrvtdvzxx4tIXk2aXXbZZSIyHA7POOOMJW/+yle+UkRSSnk5aPf+Y489tv2jW694xStE5Ec/+tGtt976cH9HAAAAAFglVlcQ7rXXXvnFD37wgyXfaq+024HecMMNZVmKyHOf+9zlb3XKKaeIyB133HH77bfnK9/5zndE5BnPeMbjHve4JTcfddRR+Y++9tpr85UY43XXXbfpN+/eDwAAAADbndUVhKeddtouu+wiIm9961u7G4Fu2LDhnHPOEZFf//Vff8ELXpAv/u///m9+sW7duuVv9ZSnPCW/aId4+f6ZN6vqEUcc0b355z//+Wg0Wun+ww47zDnXvR8AAAAAtjur6xzCJzzhCf/2b/926qmnfuMb31i3bt2rXvWqvMvoZz/72fvvv3+vvfb64he/WBRFvvmuu+7KL/bZZ5/lb7XvvvvmF3feeWf3/pk3t/cvuXml+40xe+211+23397ev5L169dv+gYAAAAA2FZWVxCKyPHHH//lL3/5uOOOu+OOOz70oQ+113fddderr7764IMPbq/kEaIxZubZD2vWrOneFkIYj8cisny9aPf+dizZvtjM+1dyyCGHbPoGAAAAANhWVl0QXnzxxX/0R3/kvR8Oh0ccccT+++//k5/85JZbbnnggQeOO+64T3/608cdd1y+Mz9AaK2d+T55SaeI5JWf+ebu9Zn355u34P6VdAt2OeaHAAAAALah1RWEV1xxxatf/eoQwste9rLzzz9///33z9dvueWWs8466xvf+MbJJ5/8jW984+lPf7o0s7uqqlJK+UC/rjbV8ihvzZo1qppSynPC5fL97VyxHQxu5v0r+fGPf7yJ7y7/sQEAAABgq1ldm8q87W1vCyE85SlP+exnP9vWoIgcfvjhX/jCF/bZZ5/5+fl3vvOd+WJ7NuCvfvWr5W/VXmxvW7t27Uo3t9fbmzf95svvBwAAAIDtzioKwjvvvPOmm24SkTPOOGP5Y4G77777y1/+chH56le/GmMUkYMOOih/q3uafKs9baK9Lb+YeXN7/5KbV7p/cXHxvvvu694GAAAAANudVRSEObFk5crKG7SMx+M8nXvyk5+cr994443Lb84XVfXwww/PV/L9M28OIeQWbd9zt912yycTzrz/+9//fvc9AQAAAGB7tIqC8NBDDx0MBiLywx/+cOYNt9xyi4jsv//+u+66q4gcfvjh++23n4h89atfXX5zvvhbv/Vb7arO448/XkRuvfXW2267bcnN11577caNG0XkxBNPbC/m+7/2ta+t9OZFUbQ73AAAAADAdmcVBeFgMDjyyCNF5OMf//jyJ/duu+22Sy65RESOOuqo9uIrX/lKEfnc5z53zz33dG/+4Q9/eNVVV4nI7/7u77YXX/aylw0Gg5TS+eefv+TNP/KRj4jIr/3ar7Wn3ovI6aefLiI/+tGPrrjiiu7N4/H4n/7pn0TkxS9+8S677LKlvy4AAAAAbGOrKAhF5LzzzlPVn/3sZyeffHJew5n913/910knnfTAAw8Mh8O/+Zu/aa+//e1vHw6HDz744Ote97oHH3wwX7z77rtf/epXxxj33HPPN77xje3Ne++991lnnSUi//AP/3DZZZe11y+44IJPf/rTIvJXf/VXw+GwvX7qqafmQH3jG99466235otlWf7xH//x+vXrVfVd73rXY/GXAAAAAABbh6aUtvXPMOUd73jHe9/73vx6v/3223fffX/yk5/ce++9IqKqH/nIR9785jd377/wwgtf//rXi8jc3Nxxxx23cePGa6+91nvvnLviiitOOOGE7s0PPvjgs5/97JyaBx988NOe9rRvfetbd911l4iceOKJl19++ZJTB7///e8/5znP2bhxo6r+5m/+5h577PH1r389Ly4999xzu2m6ZfKxEz+6bZ+7wpp7/C4bwtoHwk4bw3AhDMbRVcn5aIJoSppE879RSTipAgAAAOiFTxxzoYg8psm26oJQRK688so///M//8EPftC9+OxnP/uDH/zg0Ucfvfz+iy+++M/+7M/uvPPO9sq6desuuOCCmQ/4bdiw4U1vetMll1yStyoVkcFgcNZZZ/393//9zEMFb7zxxj/4gz+47rrr2iu77bbbeeed96Y3vWnLfrsughAAAADASnoahNltt9128803/+IXvzjo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JTwFAiVGAlELhPAKwSgENLlCCLmZme5z9l7r98fe+5zTM3MvgcyjJ/l+ariZ23Pu3AxFN+fba+21ujTYNHmgaF4vgYGicDs1N2aGmYxUyyKKfAVbznjS3SrlL6W0R8ZMLKlOOGMiJu73VBALsab2URMiMkYmBICFtYiBMITwmte85vWvf33btt2DRx555Hnnnffc5z53w8Vmdu655/7Jn/xJjLF78Oyzz37Tm9509tlnb/7mX/nKV572tKddddVVwwdPOumkiy666Jhjjtl8/fve975nPetZN954Y/fIi170ouc85zlvfetbx+Pxj/cDAgDcFmXJROkUpTxWtB0MG+g1FQAAIABJREFUkpm1qVPU0zRvmPBr5NeoWrXqFqtWo19LabBFGoQ7oi0216tprhOm8aC5U7TLhEaUTgay5JogCRErU0hpMDWVMnGqGQqRRSLmdGARmRAAFtUiBsJnP/vZ73znO4noTne608///M8T0ac+9ambbrrpec973hFHHHHWWWcNL37lK1/5ute9jogmk8kv/MIvrK2tfeYzn5lOpy94wQtE5PnPf/7w4m9/+9unnHLKDTfcQET3v//9H/GIR1xxxRXf+c53Pv3pTz/2sY+98sorjzzyyOH1H/3oR5/ylKfEGEXkxBNPvMc97vFP//RPN9988/nnn/+DH/zgve99707/VwEAsMFg5SCrkRJHTYNkXKN+Fv2s9bPGz2Y+zFzaPj+XBnNtMG2YSOcGkQbhDmmL0aPzmZAGmZDZE+XpMUxEQvkTNhZlatkoRcE0jZSJKTAZCzGp5CE2WE4IAItI9vpfYKN3v/vdKQ3+1m/91ve+970PfOADH/jAB66++uqHP/zhRPS85z3v+9//fnfxVVdd9f/+3/8johNOOOHAgQMf+chHPvWpT33rW9+6z33uQ0S///u/f/311w+/+Qtf+MKUBt/znvdcc801F1988be//e30Hb7+9a+/5jWvGV48m82e9axnxRiPPPLIL33pS1deeeWll1763e9+94lPfCIRXXzxxZdeeukO/5cBADBnfuUgKUk6Ophqg03IzaKzpgozn9JgPje4Ntg+vxrdWpC1hqepNlhWz4ewdRo0pEG4nepHJaVBo0ampkoxWggUgjUtNQ3NGl5vZK3xq221GqtVrdbMr1J6n8WviayLTl0787PWz1o/C34WXasumIsmaqLG1p80BABYLIsVCGOMr371q4nol37pl84//3zvcwHznve857ve9S4iOnjw4Ic+9KHu+je+8Y1mduc73/n973//yspKevAe97jHBz7wAWaeTqdve9vbuou/8Y1v/P3f/z0RveQlLxmWGV/2spedeeaZRPSXf/mXN998c/f4e97znu985zvpk4c85CHpwaqq/vZv//a+971v+tt34r8EAIDDGC6ZUOOgEtS16pqygH7WbKwNVmvdAnr1a2WKTJ8G84YJyzNFh2mwP1MFcPt0yEyoORO2Lc1amjU8bWS9dWvBl0xYpUC4Tm5dZN2lTDht/TR0mVCCSjRWYzNWyicT8aQCgIWyWIHw8ssv/6//+i8ietGLXiQy9+92/PHHv+pVrzr77LO7lBhj/OAHP0hET3/60+91r3sNL37oQx/6qEc9ioiGRbz3v//9ZsbML3rRizb8vc985jOJaH19/eMf/3j34Pve9z4ievCDH3z66acPL15ZWUkB8jOf+cz//d//3cYfGQDgVurGGc4toDdp1c2inwU/C1XTVG3jdeZ4Km5d/Dr5lAbXtFpTvxbdWpD1tqTBwYaJsl5iPg3u6Q8MsDsOlwkjtYHaUiecNm698WvBr8VqVf1qyYRr5NaZp6Iz1878rPGz4Jvom+hbdUElmkTj1Omdnl54bgHA4lisQJiqf0cfffRpp522+avnnnvu2972tqc97Wnpt1dddVVqHz311FM3X/zkJz+ZiL70pS91Lab//M//TETHHXfcPe95zw0Xn3LKKanAmK5JLr/88sN/c1X9l3/5lx/xRwQA+HEMB8mkJROpPNimyaKpItH4duZs6iSNFV3Pt6rVmlar5teiH9YG29baQO2hzg0iDcIdyWF6R2O00FLbUpPqhK2stzkTrqlfsy4QunWhqYsz3zR+2vhp8LPoGnWtuZAaR4k1L7pnQiYEgIWxWIHwP/7jP4joEY94hHMuPbK2ttY0zZYXX3311emThz70oZu/+uhHPzp98vWvf314/ZYXj0aj448/fnjxDTfccNNNNx3q+kc96lFpalh3PQDAzhkMkqE0SEZLbbBNSyaCn7W+bZzOPE3FTdmvk8tp0Ko121gbbEunaDzEFBncq8IdzeHOE0ZLdcJZS7NGpo2stSkQ5ky4njOh5EzomiYfJmyia6MLKqE0jnZd34TnGQAshsUKhF/72teI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RM961rNSV2rym7/5m2n7/POe97zpdNo9/hd/8Ref/vSnieglL3nJNv7sAAC0cQ19niwajfvFg8G3rQuNs8bJjGXKLs+SMb9ufj26NEgmdYrm7fPRhmlw+Lfh9hPghxoeJqT0loqS5kxIbZ8J3TQ1jppPRcL1XCfkmViTDhO6WXRtdK1KtNI4ilX1ALCneO7eYAFcccUVp5xyymw2896ffPLJD3vYw6677rpPfOITN954IxGde+65w+xHRGefffaf//mfE1HaS3HLLbd86EMf+sIXvkBEb3rTm/7gD/5gePE111zz6Ec/+qabbjrqqKPOOOOMhz/84VdcccUHP/jB1dXV+9znPv/2b/92t7vdbXj9xRdf/NSnPpWI7n//+//Kr/zK3e9+98suu+yyyy4zsyc96UmXXnrplisQb730x79x3T2vj5MD4U7fiys3xeVb4mgt1jP1rfmgEin/X0XpJ8H/WwDcnqXTRJaXTORO0UbdLPppqNbbar2pptMqrlW85tyq+FWqbqH6INUHtT6o/pbWrbWyOuP1Gc0amjWWh4uqacTRQYAfH5f/MFNaG+GEnOPKc1XTqKbxyCYjXa7DctWu+OYIaY7gdoXaFQrLFpeVlkI1CeNxs1S3k6oduTByoZLouUwfJWNGLgSAOe96zAVEtKORbeECIRF99KMffeYzn/m///u/wwePOuqot7zlLc94xjM2XNy27Qtf+MKUCTve+3PPPfflL3/55m/+2c9+9mlPe9qwQkhEP/MzP3PxxRc/4AEP2Hz9X//1X59zzjkbFtA/9alPffvb3/5Dd078UAiEADA0WDxYlkyYNOqa6KfBT0O11lTTWdWsV7Tm3ar4W7hapeog1bdYfVCrg8Hf0spaw+szms5o1ljbWJsrhPM76JEGAX505V3gtIeQRFiEvaOq4rqi0YgmI10a6VIVVqrmCNesSHMEt0dQWKKwonFZZSmMxu1k1EzqduzD2IXahYrTRgplsrTrHv9PDwCdO2ggJKLV1dVLL730yiuv/N73vne/+93v4Q9/+C/+4i8eddRRh7r+K1/5yiWXXHLttdc65x784Af/+q//+k//9E8f6uL19fX3ve99V1xxxY033nj00UeffPLJT3jCE7w/5ErGG2644b3vfe+Xv/zl9fX1Y4455owzzkgLMG47BEIAGErniNLpQTUOllYOumn066Ga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+eZDfcO/+7u/O+mkk0aj0V3ucpfxePy4xz3uYx/72KEubtv2vPPOe9CDHjQej+985zsfeeSRv/Ebv3HNNddsww8GAPBjSfU+YhIyZhPOmwkribWLYxdGPozrUI1aGQcaa1yyuGRhidplape5XZZ22YVlH5cqndQ0rmlUU11z5cl7do6dEAsJE3F5y4zp1r13BrA/HD4NVl0aHNm41qVUG3TtsmuWuV3mrjYYcxqMo1EY1e24akdufutgv4MeaRAAFtQ+qBD+3u/93te+9rVDffUrX/nKKaeccsMNN3SPXHfddW94wxsuueSSyy+//F73uteG688555w/+7M/637bNM3HP/7xyy677LWvfe3LX/7yDRevrq6edtppn/3sZ7tHfvCDH1x44YX/8A//cOmll5566qm36QcDALgNmMw2DB0VIorUj4whMm6MIhGRI8tdo2RMJMREVKVvJf33ZOs6SNMuCut21ue6JEqFsO9tkQYH+wZTGqzn0+By1ynKYZnCcl8bdONQj9q+NpjHiur8WFEipEEAWFSLXiG85JJL3v72tx/qq7PZ7Iwzzrjhhhucc6961as++9nPfvKTn3zBC15ARNdee+1TnvKUDddfcMEFKQ0+5jGPufDCC7/85S+ff/75D3rQg8zsFa94xT/+4z9uuP75z39+SoNnnXXWhz/84c997nOvf/3rV1ZWVldXzzzzzOuvv36bf1oAgFunlO2MmZhSkVA9q+dYu1inImEVRnVbjYMbR53EuGRh2cJyqROuSLssYbmaqxOOaq4rqjx7z05YJFdOeNBbirta2Nf6NMgb06D3VFVcpefCfBpcKZ2iy6U2uKQ0SWkwjOswrtqR37hkYjBW1PC8AYCFtdAVwuuuu+63f/u3D3PB29/+9m984xtE9Na3vvV3fud30oMnn3zy0tLSG97whs985jPvf//7n/zkJ6fHZ7PZH/3RHxHRAx/4wI985CN3uctdiOi444477bTTHvOYxxw4cOAVr3jF4x//+O6bf+lLX7rwwguJ6Mwzz7zwwgvT/dAjHvGI44477owzzvj+97//hje84U//9E935CcHAPhhNi+iIFISIk2lwq6Yl8eIRiIy14+0YC7vCVbdPXJ6oeO08ZDIQmQiUyPSvk6II4Wwf3VpMP9vXUiYWciVmaJ1N0Wm0kkdl6uw5JsVaZc5LHG7TGG5dIqm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LrtsbPAb3vCGc889N8/zsfNf//rX3/Wudz3xxBPtk0uXLv36179+yCGHzLw/J5xwwqmnnjp2cq+99vrWt7614447rv3jmpWqisgdd217n594oFzysF/0W79wle+t9vl0cEV0ZTBeNEaNoukbFUWf4hcFAAAAsEn4yku+LCLrNbLNu0D4qU996uSTTxaRnXba6W1ve9vOO+985513XnDBBdddd52IvPrVr77sssuMGc50PeKII77zne+IyEEHHXTEEUesXr36wgsvvOGGG0TkXe9611lnndW+8csvv/zggw8uimLp0qVHH330Pvvsc8UVV3zzm99ctWrV4sWLly9fvttuu7XHf+5zn/vIRz4iIrvsssvrX//6Zz/72RdffPGyZctEZK+99lq+fHm/338qD5ZACAAAAGAunQuEv/71r3fffffVq1cfdNBB3/72txcvXpzOe+8//OEP/9M//ZOI/OM//uNf/dVfpfMXXXTRUUcdJSJvf/vbzznnnHSyLMvDDjvskksuEZEbbrhh7733bm7/gAMOuOaaaxYtWnTFFVfstdde6eQll1xy2GGHlWV59NFH/9d//Vcz+IEHHthpp51Wr179ohe96IorrmjuzCmnnPJ3f/d3InLaaad94AMfeCqPl0AIAAAAYC4bIBDOr01l/v3f/3316tWqetpppzUBTESstZ///Od33313EfnmN7/ZnD/99NNF5HnPe94Xv/jF5qRz7rzzzku1uzPOOKM5f+WVV15zzTUicuqppzZpUEQOOeSQE044QUT+53/+5+67727On3322enOnH/++e07c8opp7z0pS9tvjoAAAAAbKLmVyC86qqrRGSnnXbaZ599xq5yzr3mNa8Rkeuuuy5F5CeeeOIHP/iBiBx//PFjawW33HLLNDjNJk0uuugiEen1em9961vHbvzYY48VkRhjmg7aHv+KV7xi1113HRt/zDHHiMgdd9xx++23P+kHCwAAAAAb1/wKhPfee6+I7LHHHrNeu2DBAhEpiiJ9euONNw4GAxF55StfOXPwkUcemW7wnnvuSWd++tOfisg+++yTbqdt//3332abbURk+fLl6UwIIa1aXMONt8cDAAAAwCZnfrWduPzyy0MIWZbNem1aFrjbbrulpXe33XZbOr/LLrvMHLznnnumg9tvv3377bdvxs86WFX32GOP+++/v6n4/frXv56amppr/K677uqcK8uSCiEAAACATdf8CoQza3eNM8444/rrrxeRd7/73enMfffdlw623XbbmeO32267dPCb3/ymPX7Wwc34scFzjTfGbLPNNvfcc08zfi4pxAIAAADAPDS/AuGsyrL8+7//+0984hMicuCBB/7pn/5pOp96CRpjZu39MDEx0R7mvZ+enpa5M2ca3/QnbA7WcvxcXve61615AAAAAABsLPM9EC5btuyEE0649dZbRWTvvff+zne+0+wfkxYQWmtn/YPOVQ8tzfxMg9vnZx2fBj+J8XOZtdl9g/ohAAAAgI1o/gbC22677f3vf//3v/99EbHWnnDCCf/v//2/Xq/XDGj2mIkxplWFbU1US6W8iYkJVY0xpjrhTGl8U1dsCoNrOX4uF1988RqunXm3AQAAAGCDmV+7jCYxxs9+9rN77bVXSoNHHXXUjTfe+NnPfradBkWk6Q34+OOPz7yR5mQzbNGiRXMNbs43g9d84zPHAwAAAMAmZ94Fwhjj8ccf/9GPfnQwGLz4xS/+0Y9+dOGFFzZbhrbttNNO6aDdTb7RdJtohqWDWQc348cGzzV+cnLykUceaQ8DAAAAgE3OvAuEH/zgB//jP/5DRE466aRrrrnmoIMOmmvk7rvvng5uuummmdemk6q62267tcfPOth7f8stt7Rvc8stt0ydCWcdf/PNN4/dBwAAAADY5MyvQHjllVeefvrpIvL5z3/+k5/85FwNCZPddtstNRi89NJLZ16bTh544IHNrM7XvOY1InL77bffddddY4OXL1++atUqGd0DJo2/7LLL5rrxLMte9apXrf2jAwAAAIB5ZX4FwpQG99lnnxNOOGFtxh977LEict555z3wwAPt87/4xS/SBp5vfOMbm5N/9Ed/lOd5jPHMM88cu50zzjhDRLbaaquDDz64OXnccceJyB133PHd7363PXh6evpLX/qSiPzhH/7hkiVL1uHhAQAAAMB8ojHGjX0fKjHGhQsXTk5OvuY1rzn66KPnGrZw4cKmFeHdd9/9whe+cHp6+g/+4A/OP//8VAy8//77DzvssOuvv37rrbdesWLFwoULmz/7l3/5l2eeeWae5xdccMGRRx6ZTp511ll//ud/LiKf+9znTjzxxPb92XvvvW+++eYddtjhkksu2XnnnUVkMBi8+93vPuecc1T1qquuOvDAA5/KQ067jN5x17b3+YkHyiUP+0W/9QtX+d5qn08HV0RXBuNFY9Qomr5RUdiYFAAAAOiEr7zkyyKyXiPbPAqEd99993Of+9zfOWybbba57777mk+//OUvv/Od7xSRfr//qle9atWqVcuXLy/L0jn33e9+97WvfW37z65cufJlL3tZWi74/Oc/f++9977yyivTrR1yyCHLli0b6zp48803v/zlL1+1apWq7rfffs961rN+/OMfp8mlp5xyyt/+7d8+xYdMIAQAAAAwlw0QCOfRlNFf/vKXT+JPveMd7zjvvPO23Xbbqamp73//+1dccUVZlrvsssull146lgZFZPHixT/84Q+PO+44Y8yKFSv++7//+7777svz/H3ve9+FF144swf9Xnvtdfnll++7774xxmuuuWbZsmWrVq3acsst/+Vf/uWpp0EAAAAA2LjmUYXwqfDeX3755StWrLDW7rbbbgcccMCax999991XX331I488ss0227zyla985jOfuebxN9100y233DI5ObnDDjscdNBBYx0RnzQqhAAAAADm0q0pox1EIAQAAAAwl25NGQUAAAAAbEgEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSCcv+LGvgMAAAAANm8EwnmEBAgAAABgQyIQzmMzAiKJEQAAAMDTiEA4r2gr8mn1/yhxGAV1/E8AAAAAwJNFIJwv4sj/qv9HEREV0RQLAQAAAOBp5Db2HUAqAGp9IFG09anG0QEAAAAANnsbbGYggXBeiFGiaIwaRUOUEDVEjaIxSqjOS4zVs4JYCAAAAGxOdPQTlQ03QZBAuPGlAmAQDaI+mhBNOvDReDEhmhCrUqFE1hACAAAAmydNO4pEUYkqqrohMiGBcOMLUbyYMtoi2nRZhOqyjKapFkqqDUZhaxkAAABgM1GnvvTjvkpUFZVoNG6QPEggnAe8aBHtdHTTIZsK2WTIJkM27bPRQCgiGpktCgAAAGxmNJUERUVUo2q0Eo0Gq2EDfHEC4cZXRDMZsydCb5Xvryz7K31vdZlPe1cEU80gjdKkQSIhAAAAsHnQ+n+pr4BqNBqtRqvBGZ+bDTExkEC48U3G7HE/8Wi58OFi4SODhavKfHWZD7wtvfWpPJgqhMMsyO4yAAAAwCapFfLqyaKaLqPRaDQ6EzLje7YUV26A+0Mg3PgeC/0Hymf8ZnqL30wueXR6YnWRTxeu8NYHjcHEONxflG6EAAAAwGZDtTmIomI0GhOt9bnzE1kRN8jWIQTCje++cotfTW21YtXSB59YtGqyVxQ2FDaWGoNKFImt7YWIgwAAAMBmo6n7qIhGNSImqgs284O+kwUb4i4QCDe+n09u+7NHt7330SXTq3oyaXWgplT1IkGrtvQiMtx/CAAAAMBmopoLWC0ijNFKdLHsxZULXdwgPecIhBvfj+5/4T13LbWPut4TaqfFlKJeNEjVfHAsBxILAQAAgM2AjhxHETEajQSnIZdioV05MBviXkRaGWw8qnQUBAAAALAm6zWybYjQCQAAAACYh6gQAputrbba6uGHH37ooYeWLl26se8LNkP777//tddee8011+y3334b+75gM/SGN7zhggsuOP/884899tiNfV+wGfrwhz/8D//wD1/4whdOOOGEjX1fsBk6/fTTP/CBD7z//e//53/+5419X343KoQAAAAA0FEEQgAAAADoKAIhAAAAAHQUgRAAAAAAOopACAAAAAAdRSAEAAAAgI4iEAIAAABARxEIAQAAAKCjCIQAAAAA0FEaY9zY9wEAAAAAsBFQIQQAAACAjiIQAgAAAEBHEQgBAAAAoKMIhAAAAADQUQRCAAAAAOgoAiEAAAAAdBSBEAAAAAA6ikAIAAAAAB1FIAQAAACAjiIQAgAAAEBH2VNOOWVj3wcAQyGEX/3qV8uXL7/nnnsWL168YMGCNY+/5557li9f/rOf/WxycnKbbbZR1TUMLsvy2muvveaaa37zm98sWrRo4cKFa77xxx9/fPny5ddff/0jjzyy1VZbZVm2zo8H89hdd921bNmyycnJ7bfffq4x6/ocuPXWW5cvX75ixQpjzJZbbrnmwTzBNktPPPHEtddee/31109PT2+xxRbOuTUMXq9PsHV9xcMm4e6777766qvvuuuuiYmJRYsWrXnwuj4H1utbKuahhx566MILL8yybKuttlrzyPX67rbxX9kigPlhamrqlFNOGUuAO++88ze/+c1Zx//f//3foYce2n672mGHHc4999y5bv/000/feuutm8HOueOOO+6BBx6YdfATTzzx3ve+d2Jiohm/ZMmSk046aTAYPD2PFhvbYDA44IADROSd73znrAPW9Tlw6aWX7rHHHu1n74EHHnjttdc+LTeOTcLKlSvf9773tX86Wbhw4Wc+85lZv63r9QkW1/EVD5uEc8899znPeU77ObDbbrt9+9vfnmv8Oj0H1utbKuatT3/60yLy+c9/fg1j1uu72zx5ZSMQAvPCE0880bwiqOqOO+74zGc+s/kHP/NH9jvuuGPp0qXNy0H790mzvq598IMfbAZstdVWxlTTxZ/3vOfNfB2Zmpp6yUte0ox/1rOe1RwfddRR3vv19beADeiv//qv53p2xXV/DlxwwQXNk2rx4sX9fj8d93q9n/zkJ0/xxrFJeOSRR3bffffmRWy77bZrnhJveMMbxgav1ydYXMdXPGwS3vWudzXf06233nqLLbZoPj3llFNmjl+n58B6fUvFvDU1NbXrrrvO9V1O1uu72/x5ZSMQAvPCRz/60fSv+t3vfvdvf/vbdPL6669/6Utfms5/5StfaY8/8MADRcQY82//9m+PPfaY9/7qq6/eeeed08nrr7++Pfjb3/52upGXv/zlN910U4zxwQcf/Lu/+7t08uijjx67M01U+Iu/+Iu77747xnj77bcfffTR6eRpp522Hv8isEFcfPHFzS/CZw2E6/QcuP/++9PEra222urSSy8dDAarV68+//zz069It9tuu8nJySd949hUHH744SKiqqeeemr60eShhx56y1vekr6tZ599dnvwen2CresrHua///zP/0zfvsMPP3zFihXp5E033fSyl70svev96Ec/ao9f1+fAen1Lxfz04IMPvvnNb07ftbkC4Xp9d5tXr2wEQmDju+eee/I8T291Y1etXLnyBS94gYhsv/32zclly5alf/+f+cxn2oNvu+22ZzzjGTLj9/Hp91U77LDc1mEKAAAOjklEQVTD2C+Q3vve96Yf4G6++ebm5EMPPZSmrR5++OHt32atXr16v/32Sy9SzOvbpD344IPbbrtt+tbPGgjX9TnwkY98REScc2O/0TzvvPPSE/WMM8540jeOTcKll14683sdYyyKIn1bX/KSlzQn1+sTLK7jKx42CYceeqiIPP/5z1+9enX7/AMPPJCqee9617va59fpObBe31Ix3/zsZz87+eSTjzzyyKYct4ZAuF7f3ebVKxuBENj4vvrVr6Z//LPOEDjttNPStffee2868yd/8icisvXWW8/8ufmd73yniPT7/eZd81e/+tWsv5qKMd51113pqo9//OPNyXPOOSedvPHGG+e6n5dddtlTebzYuI488kgROeaYY9LvGmYGwnV9Djzvec+b69eT6Uu86lWvetI3jk3CscceKyI77bTTzKvOPffcPffcc6+99nrsscfSmfX6BFvXVzxsEtJ8zve85z0zrzriiCNEZO+9927OrOtzYL2+pWK++dd//VeZYa5AuF7f3ebVKxttJ4CN7+c//7mIqOo+++wz89o999wzHfziF79IBxdffLGIHHrooTP3rTrqqKNEZGpq6ic/+Ul7sIikGND2nOc85/d+7/dE5JJLLmlOpvHPfe5zX/ziF4+NP/zww621Y+OxaTnjjDMuuuii7bff/qyzzpprzDo9B+644470RjXzCSb1E/KKK66YnJx8EjeOTcJgMPje974nIscff/zMa9/ylrf87Gc/u+mmm5YsWZLObIAn2KzjZ33FwyYhfX+99zOvCiGIyNTUVHPmyb3rrae3VMw3Bx988P/XsoaR6/Xdbb69shEIgY1v3333PeGEE2ZuMZrceeed6SDtrrZy5cp77rlHRGZNjwcffHA6SCFTRP73f/9XRJ7xjGc8//nPn2t8M7gZP+uNP/OZz0wvc+3x2ITcfPPNJ554ojHmK1/5SnvXojHr9BxIg+can55gZVnecccdT+LGsUm45ZZbVq1aJSKHHHLI2ozfAE+wtX/FwyYhTZZbtmzZypUr2+fvvffeyy+/XETSIsBknZ4D6/stFfPNrrvu+ictaxi5Xt/d5tsrG4EQ2PiOOeaYL3zhCx//+MdnXuW9P/PMM0Vkhx122GmnnUTkl7/8Zbpqxx13nDl+yZIlae+1ZtiKFSvSH5/1S6cbeeSRR37729+2x89648355saxCZmcnHzzm988NTV14oknvuY1r1nDyHV6DqTBc41vTo6N5wm2Obn11lvTwbbbbvvggw9+6lOfet3rXrfvvvu+8Y1v/OQnP3n33XePjd8AT7C1f8XDJuEzn/nMxMTEXXfddcQRR1x77bXe+8Fg8IMf/OCwww57/PHHly5d+rGPfawZvE7PgfX9lopN13p9d5tvr2wEQmD+Korine9853XXXSciJ598cppv8Pjjj6dr25tut6Xzjz32WPo0jV/z4Pb49PvXtbxxbEI+9KEP3XLLLfvtt98nPvGJNY9cp+fAmp+Q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", + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# simulate temperature evolution for 5000 additional steps\n", + "@time simulate_KA!(curr, prev, 5000)\n", + "\n", + "show_heatmap(curr)" ] }, { @@ -1040,15 +1168,15 @@ ], "metadata": { "kernelspec": { - "display_name": "Julia 1.9.4", + "display_name": "Julia Tutorial Single Threaded", "language": "julia", - "name": "julia-1.9.4" + "name": "julia-tutorial-single-threaded" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.9.4" + "version": "1.10.4" } }, "nbformat": 4,