From c33b825944811abd76654759771779c3c49c3d63 Mon Sep 17 00:00:00 2001 From: Brandon Rhodes Date: Fri, 24 Jul 2020 00:09:33 -0400 Subject: [PATCH] Example script that produces a comet finder chart --- ci/constellationship.fab | 88 +++++++++ examples/comet_neowise_chart.py | 127 ++++++++++++ skyfield/data/stellarium.py | 31 +++ .../_static/neowise-finder-chart.png | Bin 0 -> 70009 bytes skyfield/documentation/example-plots.rst | 187 ++++-------------- 5 files changed, 284 insertions(+), 149 deletions(-) create mode 100644 ci/constellationship.fab create mode 100644 examples/comet_neowise_chart.py create mode 100644 skyfield/data/stellarium.py create mode 100644 skyfield/documentation/_static/neowise-finder-chart.png diff --git a/ci/constellationship.fab b/ci/constellationship.fab new file mode 100644 index 0000000..60f86b4 --- /dev/null +++ b/ci/constellationship.fab @@ -0,0 +1,88 @@ +And 20 677 3092 3092 5447 5447 9640 113726 116631 116631 116805 116805 116584 116584 116805 116805 116631 116631 1473 1473 2912 2912 3092 3092 2912 2912 5447 5447 4436 4436 3881 3881 5434 5434 7607 3092 3031 3031 3693 3693 4463 +Ant 2 53502 51172 51172 46515 +Aps 3 72370 81065 80047 81852 81852 81065 +Aql 14 98036 97649 97649 97278 97278 95501 95501 93805 93805 95501 95501 93747 93747 95501 95501 97804 97804 99473 93244 93747 93805 93429 99473 96468 96468 93805 93805 93747 +Aqr 21 102618 106278 106278 109074 109074 110395 110395 110960 110960 111497 111497 110960 110960 110672 110672 109074 109139 106278 106278 109074 109074 110003 110003 112961 112961 114724 114724 115033 115033 115438 115438 115033 115033 114341 114341 115033 115033 113136 113136 112716 112716 112961 +Ara 8 85267 85727 85727 82363 82363 83081 83081 83153 83153 85792 85792 88714 88714 85792 85792 85258 +Ari 3 8832 8903 8903 9884 9884 13209 +Aur 11 25428 23015 23015 23767 23767 24608 24608 28360 28360 28380 28380 25428 23767 23453 23453 23416 23416 24608 24608 28358 28358 28360 +Boo 13 69673 72105 72105 74666 74666 73555 73555 71075 71075 71053 71053 69673 69673 67927 67927 67275 69673 71795 71075 69732 69732 70497 70497 69483 69483 69732 +CMa 12 30324 32349 32349 34444 34444 33579 33579 34444 34444 35904 30324 31592 31592 33152 33152 33579 32349 33347 33347 34045 34045 33160 33160 33347 +CMi 1 37279 36188 +CVn 1 63125 61317 +Cae 3 23595 21861 21861 21770 21770 21060 +Cam 9 23040 23522 23522 22783 22783 29997 29997 33694 33694 29997 29997 22783 22783 17959 17959 17884 17884 16228 +Cap 9 100064 100345 100345 102485 102485 102978 102978 105881 105881 106723 106723 107556 107556 106985 106985 104139 104139 100064 +Car 15 30438 45238 45238 50099 50099 52419 52419 51576 51576 50371 50371 45556 45556 42913 51576 53253 52419 54301 54301 54751 54751 54463 54463 53253 45556 41037 41037 38827 38827 39953 +Cas 4 746 3179 3179 4427 4427 6686 6686 8886 +Cen 27 61932 66657 66657 68702 68702 71683 71683 68702 68702 66657 66657 68002 68002 61932 61932 68002 68002 68282 68282 68245 68245 71352 71352 68245 68245 68862 68862 70090 70090 68933 68933 67464 67464 68002 55425 59196 59196 60823 60823 61932 61932 60823 60823 59449 59449 56243 67464 65936 65936 65109 65109 61789 71352 73334 +Cep 12 102422 105199 105199 106032 106032 112724 112724 106032 106032 116727 116727 112724 112724 110991 110991 109492 109492 109857 109857 107259 107259 105199 101093 102422 +Cet 14 12706 14135 14135 13954 13954 12828 12828 11484 11484 12706 12706 12387 12387 10826 10826 8645 8645 8102 8102 3419 3419 1562 1562 5364 5364 6537 6537 8645 +Cha 5 40702 51839 51839 52633 52633 60000 60000 58484 58484 51839 +Cir 2 74824 71908 71908 75323 +Cnc 5 44066 42911 42911 40526 40526 42911 42911 42806 42806 43103 +Col 5 26634 27628 25859 26634 28328 27628 27628 28199 28199 30277 +Com 3 64241 64241 64241 64394 64394 60742 +CrA 4 93825 94114 94114 94160 94160 94005 94005 90982 +CrB 6 76127 75695 75695 76267 76267 76952 76952 77512 77512 78159 78159 78493 +Crt 12 53740 54682 54682 55705 55705 57283 57283 58188 58188 57283 57283 55705 55705 55282 55282 55687 55687 56633 56633 55687 55687 55282 55282 53740 +Cru 3 60718 61084 62434 59747 62434 59747 +Crv 5 60965 59803 59803 59316 59316 61359 61359 60965 59316 59199 +Cyg 14 102098 100453 100453 102488 102488 100453 100453 95947 95947 100453 100453 97165 97165 95853 95853 94779 94779 95853 95853 99848 99848 102098 102098 103413 103413 104732 104732 102488 +Del 5 101421 101769 101769 101958 101958 102532 102532 102281 102281 101769 +Dor 8 19893 21281 21281 23693 23693 26069 26069 21281 21281 26069 26069 27100 27100 27890 27890 26069 +Dra 18 56211 61281 61281 68756 68756 75458 75458 78527 78527 80331 80331 83895 83895 89908 89908 89937 89937 89908 89908 94376 94376 97433 97433 94376 94376 87585 87585 85829 85829 85670 85670 87833 87833 87585 87585 94376 +Equ 2 104987 104858 104858 104521 +Eri 31 23875 22109 22109 21444 21444 19587 19587 18543 18543 17593 17593 17378 17378 16537 16537 13701 13701 12770 12770 12770 12770 12843 12843 14146 14146 15474 15474 16611 16611 17651 17651 18216 18216 18673 18673 21248 21248 21393 21393 20535 20535 20042 20042 17874 17874 17874 17874 16870 16870 15510 15510 13847 13847 12486 12486 12413 12413 11407 11407 9007 9007 7588 +For 2 14879 13147 13147 9677 +Gem 23 32362 35350 35350 35550 35550 34088 34088 31681 31681 34088 34088 35550 35550 36962 36962 37740 37740 36962 36962 37826 37826 36962 36962 36046 36046 34693 34693 36850 36850 34693 34693 33018 33018 34693 34693 32246 32246 30883 30883 32246 32246 30343 30343 29655 29655 28734 +Gru 8 108085 109111 109111 110997 110997 109268 109268 112122 112122 110997 110997 112122 112122 112623 112623 113638 +Her 29 84379 84345 84345 80816 80816 80170 80170 80816 80816 81693 81693 83207 83207 81693 81693 81833 81833 81126 81126 79992 79992 81126 81126 81833 81833 84380 84380 85112 85112 87808 87808 86414 86414 87808 87808 85112 85112 84380 84380 83207 83207 84379 84379 85693 85693 86974 86974 87933 87933 88794 77760 79101 79101 79992 80170 80463 80463 81008 +Hor 5 19747 12653 12653 12225 12225 12484 12484 14240 14240 13884 +Hya 19 43234 42799 42799 42402 42402 42313 42313 43109 43109 43813 43813 45336 45336 47431 47431 46390 46390 48356 48356 49402 49402 49841 49841 51069 51069 52943 52943 53740 54682 56343 56343 57936 57936 64962 64962 68895 68895 72571 +Hyi 4 2021 17678 17678 11001 11001 9236 9236 2021 +Ind 5 103227 102333 102333 101772 101772 105319 105319 108431 108431 103227 +LMi 5 46952 49593 49593 51233 51233 53229 53229 51056 51056 49593 +Lac 14 111022 111169 111169 110538 110538 110609 110609 111022 111022 110351 110351 111104 111104 111944 111944 111104 111104 111944 111944 111022 111022 111944 111944 111104 111104 109754 109754 109937 +Leo 17 49669 49583 49583 50583 50583 50335 50335 48455 48455 47908 50583 54872 54872 57632 57632 54879 54879 54872 54872 54879 54879 49583 48455 46146 46146 46750 46750 47908 47908 49583 54879 55642 55642 55434 +Lep 12 23685 24305 24305 25985 25985 25606 25606 23685 24845 24305 24305 24327 25606 27072 27072 27654 27654 28910 28910 28103 28103 27288 27288 25985 +Lib 7 72622 74785 72622 73714 74785 76333 76333 72622 72622 76333 76333 76470 76470 76600 +Lup 12 71860 74395 74395 75264 75264 76297 76297 75141 75141 73273 73273 75141 75141 76297 76297 78384 78384 75177 75177 77634 77634 78384 78384 74395 +Lyn 7 45860 45688 45688 44700 44700 44248 44248 41075 41075 36145 36145 33449 33449 30060 +Lyr 8 91262 91919 91919 91971 91971 91262 91262 91971 91971 92791 92791 93194 93194 92420 92420 91971 +Men 1 26264 26264 +Mic 1 103882 103882 +Mon 13 31978 31216 31216 30419 30419 30419 30419 32578 32578 31216 31216 32578 32578 34769 34769 30867 30867 29651 29651 30867 30867 34769 34769 39863 39863 37447 +Mus 6 57363 59929 59929 61585 61585 62322 62322 63613 63613 61199 61199 61585 +Nor 4 78639 80000 80000 80582 80582 78914 78914 78639 +Oct 3 70638 107089 107089 112405 112405 70638 +Oph 25 86032 83000 83000 80883 80883 79593 79593 79882 79882 80628 80628 81377 81377 80628 80628 79882 79882 79593 79593 80883 80883 83000 83000 81377 81377 84012 84012 86742 86742 87108 87108 88048 88048 87108 87108 86742 86742 86032 84012 84970 84970 85423 81377 80894 80894 80569 80569 80343 80343 80473 +Ori 27 27989 26727 26727 27366 27366 26727 26727 26311 26311 25930 25930 25336 25336 25930 25930 25281 25281 24436 27989 25336 25336 26207 26207 26207 26207 27989 23607 22957 22957 22845 22845 22509 22509 22449 22449 25336 25336 22449 22449 22549 22549 22797 22797 23123 27989 28614 28614 29038 29426 28716 28716 27913 27913 29038 +Pav 14 100751 99240 99240 102395 100751 105858 105858 102395 91792 99240 99240 98495 98495 99240 99240 93015 93015 88866 88866 86929 86929 88866 88866 90098 90098 92609 92609 99240 +Peg 13 109410 112158 112158 113881 113881 112748 112748 112440 112440 109176 109176 107354 677 113881 113881 113963 113963 1067 1067 677 107315 109427 109427 112029 112029 113963 +Per 24 17448 18246 18246 18614 18614 18532 18532 17358 17358 15863 15863 14328 14328 13268 13268 13531 13531 14328 14328 13531 13531 14632 14632 15863 15863 14632 14632 14668 14668 14576 14576 18532 18532 14576 14576 14354 17358 19343 19343 19812 19812 20070 20070 19167 14632 12777 12777 8068 +Phe 7 2081 5165 5165 6867 2081 765 765 5165 5165 5348 5348 7083 7083 6867 +Pic 2 32607 27530 27530 27321 +PsA 9 113368 113246 113246 112948 112948 111188 111188 109285 109285 107380 107380 107608 107608 109285 109285 111954 111954 113368 +Psc 16 5742 6193 6193 5586 5586 5742 5742 7097 7097 8198 8198 9487 9487 7884 7884 4906 4906 3786 3786 118268 118268 116771 116771 115830 115830 114971 114971 115738 115738 116928 116928 116771 +Pup 11 39953 39429 39429 39757 39757 38170 38170 37229 37229 36917 36917 35264 35264 31685 31685 30953 36917 37677 37677 38070 38070 38170 +Pyx 3 39429 42515 42515 42828 42828 43409 +Ret 4 19780 17440 17440 18597 18597 19921 19921 19780 +Scl 3 4577 117452 117452 115102 115102 116231 +Sco 18 78820 78401 78401 78265 78265 78401 78401 80112 80112 80763 80763 81266 81266 82396 82396 82514 82514 82729 82729 84143 84143 86228 86228 87073 87073 86670 86670 85696 85696 85927 85927 87261 78820 79374 78265 78104 +Sct 4 92175 91117 91117 90595 90595 91726 91726 92175 +Ser 13 77233 78072 78072 77450 77450 76852 76852 77233 77233 76276 76276 77070 77070 77622 77622 77516 77516 79593 84012 86263 86263 88048 88048 89962 89962 92946 +Sex 3 48437 49641 49641 51437 51437 51362 +Sge 4 98337 97365 97365 96757 96757 97365 97365 96837 +Sgr 20 90185 88635 88635 89931 89931 90185 90185 89931 89931 90496 90496 92041 92041 89931 89931 92041 92041 92855 92855 93864 93864 93506 93506 92041 92041 93506 93506 90185 90185 89642 90496 89341 95168 94141 94141 93683 93683 93085 93085 94141 +Tau 10 26451 21421 21421 20894 20894 20205 20205 20455 20455 20889 20889 25428 16083 18907 15900 16852 20205 18724 18724 16083 +Tel 2 89112 90422 90422 90568 +TrA 4 82273 77952 77952 76440 76440 74946 74946 82273 +Tri 3 8796 10064 10064 10670 10670 8796 +Tuc 6 2484 1599 1599 118322 118322 110838 110838 110130 110130 114996 114996 2484 +UMa 26 58001 57399 57399 54539 54539 50801 50801 50372 50372 50801 50801 54539 54539 57399 57399 55219 55219 55302 59774 54061 54061 53910 53910 58001 58001 59774 59774 62956 62956 65378 65378 67301 54061 46733 46733 48319 48319 46733 46733 41704 41704 48319 48319 53910 53910 48319 48319 46853 46853 44471 44471 44127 +UMi 7 11767 85822 85822 82080 82080 77055 77055 79822 79822 75097 75097 72607 72607 77055 +Vel 8 42913 39953 39953 44816 44816 46651 46651 50191 50191 52727 52727 48774 48774 45941 45941 42913 +Vir 20 60129 58948 58948 57380 57380 57757 57757 60129 60129 61941 61941 63090 63090 63608 63608 63090 63090 61941 61941 64238 64238 65474 65474 64238 64238 61941 61941 66249 66249 68520 68520 72220 72220 68520 68520 66249 66249 69701 69701 71957 +Vol 6 44382 41312 41312 39794 39794 35228 35228 34481 34481 39794 39794 44382 +Vul 1 95771 97886 diff --git a/examples/comet_neowise_chart.py b/examples/comet_neowise_chart.py new file mode 100644 index 0000000..8846dbd --- /dev/null +++ b/examples/comet_neowise_chart.py @@ -0,0 +1,127 @@ +import numpy as np +import pandas as pd +from matplotlib import pyplot as plt +from matplotlib.collections import LineCollection + +from skyfield import api +from skyfield.api import Star, load, tau +from skyfield.constants import GM_SUN_Pitjeva_2005_km3_s2 as GM_SUN +from skyfield.data import hipparcos, mpc, stellarium +from skyfield.projections import build_stereographic_projection + +# The comet is plotted on several dates `t_comet`. But the stars only +# need to be drawn once, so we take the middle comet date as the single +# time `t` we use for everything else. + +ts = load.timescale(builtin=True) +t_comet = ts.utc(2020, 7, range(17, 27)) +t = t_comet[len(t_comet) // 2] # middle date + +# An ephemeris from the JPL provides Sun and Earth positions. + +eph = load('de421.bsp') +sun = eph['sun'] +earth = eph['earth'] + +# The Minor Planet Center data file provides the comet orbit. + +with load.open(mpc.COMET_URL) as f: + comets = mpc.load_comets_dataframe(f) + +comets = comets.set_index('designation', drop=False) +row = comets.loc['C/2020 F3 (NEOWISE)'] +comet = sun + mpc.comet_orbit(row, ts, GM_SUN) + +# The Hipparcos mission provides our star catalog. + +with load.open(hipparcos.URL) as f: + stars = hipparcos.load_dataframe(f) + +# And the constellation outlines come from Stellarium. We make a list +# of the stars at which each edge stars, and the star at which each edge +# ends. + +url = ('https://raw.githubusercontent.com/Stellarium/stellarium/master' + '/skycultures/western_SnT/constellationship.fab') + +with load.open(url) as f: + constellations = stellarium.parse_constellations(f) + +edges = [edge for name, edges in constellations for edge in edges] +edges_star1 = [star1 for star1, star2 in edges] +edges_star2 = [star2 for star1, star2 in edges] + +# We will center the chart on the comet's middle position. + +center = earth.at(t).observe(comet) +projection = build_stereographic_projection(center) +field_of_view_degrees = 45.0 +limiting_magnitude = 7.0 + +# Now that we have constructed our projection, compute the x and y +# coordinates that each star and the comet will have on the plot. + +star_positions = earth.at(t).observe(Star.from_dataframe(stars)) +stars['x'], stars['y'] = projection(star_positions) + +comet_x, comet_y = projection(earth.at(t_comet).observe(comet)) + +# Create a True/False mask marking the stars bright enough to be +# included in our plot. And go ahead and compute how large their +# markers will be on the plot. + +bright_stars = (stars.magnitude <= limiting_magnitude) +magnitude = stars['magnitude'][bright_stars] +marker_size = (0.5 + limiting_magnitude - magnitude) ** 2.0 + +# The constellation lines will each begin at the x,y of one star and end +# at the x,y of another. We have to "rollaxis" the resulting coordinate +# array into the shape that matplotlib expects. + +xy1 = stars[['x', 'y']].loc[edges_star1].values +xy2 = stars[['x', 'y']].loc[edges_star2].values +lines_xy = np.rollaxis(np.array([xy1, xy2]), 1) + +# Time to build the figure! + +fig, ax = plt.subplots(figsize=[9, 9]) + +# Draw the constellation lines. + +ax.add_collection(LineCollection(lines_xy, colors='#00f2')) + +# Draw the stars. + +ax.scatter(stars['x'][bright_stars], stars['y'][bright_stars], + s=marker_size, color='k') + +# Draw the comet positions, and label them with dates. + +comet_color = '#f00' +offset = 0.002 + +ax.plot(comet_x, comet_y, '+', c=comet_color, zorder=3) + +for xi, yi, tstr in zip(comet_x, comet_y, t_comet.utc_strftime('%-m/%d')): + text = ax.text(xi + offset, yi - offset, tstr, color=comet_color, + ha='left', va='top', fontsize=9, weight='bold', zorder=-1) + text.set_alpha(0.5) + +# Finally, title the plot and set some final parameters. + +angle = np.pi - field_of_view_degrees / 360.0 * np.pi +limit = np.sin(angle) / (1.0 - np.cos(angle)) + +ax.set_xlim(-limit, limit) +ax.set_ylim(-limit, limit) +ax.xaxis.set_visible(False) +ax.yaxis.set_visible(False) +ax.set_aspect(1.0) +ax.set_title('Comet NEOWISE {} through {}'.format( + t_comet[0].utc_strftime('%Y %B %d'), + t_comet[-1].utc_strftime('%Y %B %d'), +)) + +# Save. + +fig.savefig('neowise-finder-chart.png', bbox_inches='tight') diff --git a/skyfield/data/stellarium.py b/skyfield/data/stellarium.py new file mode 100644 index 0000000..049ff62 --- /dev/null +++ b/skyfield/data/stellarium.py @@ -0,0 +1,31 @@ +"""Parse Stellarium data files.""" + +def parse_constellations(lines): + """Return a list of constellation outlines. + + Each constellation outline is a list of edges, each of which is + drawn between a pair of specific stars:: + + [ + (name, [(star1, star2), (star3, star4), ...]), + (name, [(star1, star2), (star3, star4), ...]), + ... + ] + + Each name is a 3-letter constellation abbreviation; each star is an + integer Hipparcos catalog number. + + """ + constellations = [] + for line in lines: + line = line.lstrip() + if line.startswith(b'#'): + continue + fields = line.split() + if not fields: + continue + name = fields[0] + edges = [(int(fields[i]), int(fields[i+1])) + for i in range(2, len(fields), 2)] + constellations.append((name.decode('utf-8'), edges)) + return constellations diff --git a/skyfield/documentation/_static/neowise-finder-chart.png b/skyfield/documentation/_static/neowise-finder-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..24d95d4d2f8f8f748b907e7b7149282b8e0e70e2 GIT binary patch literal 70009 zcmZU5byQVb)bF8`P`ac+QW2y>x*J5KL{hp#LMiExl5P+XkOomOXawmH0qGJ@KuKxd z+}`iKH^zH^c<&t-+-L8-)|~TK>qKg4C|<>-!bPD_SCy6Iv{5MZe)zMDeF^^0-UfC6 z{7b|`Uf<)Mvz3RJnVTg_-OR(q!P&#X)||o9(#_r0*@=&fkLxxkgN=uWi@PW{x8wi$ z1ukbdYi`jN!$)ut92X@6cNB`i4EcjrB3W#ULPMdH<)n4Ivo>bDyzi}0T>j&%koju; zCEojqA>JGJ4%n&X9z|ZUWS7M+%jLOT4U|$N~5XU0LG^o{^v>cRC^%~9Q|8jP= z?Uoq!mftaP`uVO;j+nYrV&N&WHT$D#L+?fWu?2pSt3Wy1B!)6yu_vPH@M z{+<(BKfhP35vs&2(-}pUkeGOH?c{!$Zf7rdv%?#8W@56ZKC9VYxSJN^l@HfuKixS! zJ)QsYBkX&{2S&-=NF8Vg49=!A?6yEozj0%Ybjl)ULze0+Qq<~}_A%O%G| zByn--j%qnO`O8Qg`DZCkl4|Dn`Pqs0Zokmo0)?v$jg9%*MJhJqm9($a(#<`ZOG--2 z1KvhNM68~3Sy))`IDY5nxBqs9?1oNYbF<{jmoNYPZoVM*x!BwDcz%uV5*iws7CY(M zP(H@Xf`XW>#1}7u==~4THow=)N=c!7eSL>s%HugqROfg5z1F#*mcftH+S(f5yJ9o@ zQRHBA>hE-e&)cL&on2iPJIh~?%ZQ1KN2_-qHG8?H4i_j&{`Fa0T)h4Gr;bsBODnHr zME1zKhklcS`9t?<> z`sm|c>hGk=zUhjFIzRhs;;}J7G&?){XKzm~kySnFESIfAM;o?Z?0Qx6d0QYF21DYP z+YS@AzgC&h+tpJk#?f`M<@yGd=~bC;FLug=8x$hTo+)_s?%lg3hV`$%#Hp&Ob-=rf zjgvf|C_M36AHix5yL$7@C(q6A3h&r7vLZy>f8&49W#c{WMyS}+<)}RoNON)_;3AQ z9+bT3C^x7ZD%PaGLN7r>6?5sPUZq?r*TX+u^a1nzLUUi|^omFGtp{@&ytkPoj+RLd zPfnI#@5@4^3}oL4H>|fqLuq6QKjUsXMCbmrN8EI}qpDP-?J!x36@2OH$VCMn6^}Wl zp!4i=0?AXtdb_cc_pYxO7*V))E!&;Bb zIrpXUVB_O|rgr}L4ED(q+~eW?xXJe4xq$1UqEv2;Mgem(AG``Qb0s38qS{W6c3qEl zEa5N729(!Q6p3)5T52tOZ@VokdB7^q`TeD3CdP4^Zg@5^q5sSueet%iOy9=V%!jP- z@XHiLM6I2jon*)76%XDu6EtZZ%mHbP@~|ot}I(mp#W)6PV+6#vJ?tI;(ERoT*rxu@|FLapmq^6{NcBScpXN$vVIs4O2 zaD4Kd_D)KoO3^el6ui!~_;^!~4}K>HMzH%-PA8+>R(i;|I5@u8JTNw%rUdp}#%5hTZ-BD{l-P)9LKFR*s%RBie$t8TwW;Q!oaj zWpnDCX7epJw(#BE-J2d+-e>#cBB3&^MXz4{d`Gq~WK?60bvf`s?W4%ygZGbrxm~5= zAEKv+H`sKzh^N6!>oUck3f9)vR(q^#V`5>E9sBoZ2yC}rreAZm=cn?8#$0l@;L;=BYefVa4Ig@Ad#`)NO-@1Kr>2NAbhd&+9}2@KL(nmb_KxRTbF=S}+ZD>&C=^Vz%V!*R_kOB1pC8*ZGc%_>#lfYKj2bVU|TAb!JVBN!+1&(31retE?Eac@M`dvA@1myd6MN(hQQitOe~ zlV<;8M;IU8oAu*=R&xV>nn;elzJHVS9ZbVq3BNq;QkTD54-5QMn2BM~C^Yx?_g}rP z7~2s^!q&sD%|aXrQ{k)3l!oMuh&5n9XWC`nUOQ&B91 zX%X#Z0y?>7|1+4Mx*KQsw4xzMFGT(Mk?H*N!X$;;#L1%>8nnmS5Zcz(7B&t}>&9dq z-lifmvDw-2{^3q9HxV&0I+W0(M*w~V9lwXLs%J=XrMAz_(K~0F$9vD9-qF#~Z@Vta z+0=hG58y`4|NI#RlZ)*8>^o-@R7<`6_}&ygomfOt5-Akkx3wmiRE zQGUL*v3PhCTp_w;oqOw}Xea{%gL&b~Li!lOL;ya0POAgiC9u2+&Xn@k1nfwgV5jgq zO;bvq?U8(c=Ny;LXKg-|Cmp)=^yI+t$~9h0*a>ZY>3j((DPi!}%wRtst`)@nfre=c zTdTo+72o*jroftq=$S>8@uw*ATZZ!hV$#HXcz^VzV}!~)lkht>oqFqt3WVXe0L5|{ z<$Hd#s$XwM25%!&^zqN6L-#k1Q{=D#J78hdUr!G7_R6}sx#dS2R$M|&zkiG;(mTO3a!FU>Di-DPJJ&+|0J9h|n8I7dB(FN-ZxZkw2G~!-- z*t$W`jA?{j@;Y+yP|zz9Bp-NszEzG3_?F0~Ilr}q4{Lw+c6W8Kz;)>}VRQ_E1w5rJ z%onHGj|PhpXq2C>fIuv*tG!wkd z-2`9bWfX z8!MyuR`DQwp*?(Q%DGwI*H;X7qw(@tz2Pm`5SJt+B~K5R;%w%c#9=}1{n)8pH1$O-xLoYlo^zH^| z`tGQPT>sdsdyD0AGxWd5G;7a|~t0i$bkKuH3uxaG!>6z~hWn!{1cyKV~oVj=B)*8I2 zENI6<9&1_!o4BDtPk&Xs!=1SR=(vb-d3vzH;hD?9!C_=-$}s-c@j<~RfYl{YsO7bD zy(;4slncBcU#D{U?19TI>gl{iLw>p9eh+ng6nax`HU8+&q!xGj^{t|atDb$+{=IS{ ztC5ygyz&YWOR_a;UboVybncaQX@g4g4Of`jPik zj(zd|?D$tzOimfh^H6h2314BoA{DZ;O_-uCsOKsjZwzmZ*I0DPNOt{MXor^yog?O8 zvgGddO8CUVvrnYO?yCbZf>WDlqToFN4#|>Z;@CNd9zP8@Hs`}2;3_xb$dC^{yRZDG z0Pq0-p_A~1hXi=YH2zXPdUdO=WaqhcK&sd|rT$P|mGgO;Q8lMrg|7Sg`MKqdCHAd` zd04FbC0frCzdV}OGx6(moc)+i&HD)Za$u&Ik6USOczlpeVR{-_fauuh=xE`|1#}Zs zAPxyDrQ<5wD4EzT9Mt1q-{j%N?Z3+ua>hrkP1Ib!p;u{Sb0^>@!k{kW)3n%EeG2RA zQ#m$3T3=r;z4(L? zhT{kDAFHK@TSi7ktI^F;PEM|6d|c1urCATNRA4sUCzl2ES?{H*)6D_&yFdD6Vccoe zn9Fk-)D{k%L5DJ29z0kGrtH-2`0@F)RNG#v6BfFtuPvHOSE+PtNSisu z#Ke&1yypDj{ri^&byfo_;D~j zJ_EhJ2EY!&yN}fpZUb}$)9;NfU0)i%5C3# z0xJ7wd%G2i_W4^1wdZKELSfa_)lBb-i;B=pEoo`GkRBu>B^5Xv>YSdEmS&^f$C57k z_(qPHPf#cxg~VTfXm4xKF7j1@k)u(*Sb5=}nx3An5cwEjz{1j!MH1yZrx_|#S(W2t zZPD=Gwzf9hGvjFO51x+YhV{5#zIt(FQgRyffXoKlJqXr*QG72lD|JC-l(yO;h{~ds?1hFeZN4 ziwx5)?WlbC;SUt31&I9W5?8aVSoB45ZakOXY0iSZfu-~R~9uWwi9{7)S7{m|JD_8m6IYXQkT+5Z^|gYM_QO~%N`2qjeT<%DOY z0fmA$FZf*oAo}u;ABOdup~7@38IcB{M=-+ZfGXn{TT)X;#-C&BdSSnEW#OE@%f65XQmbM&00E{k;6xjg)a@7{W~EG->+SEi{&w$I#K$Me%*W z`RPGFsVT|LfRjxjU+58(q8=p%2L`$<>dYAWZU=z(eg!l`e+W}4y0PDFWLy651Np+j zg3U-_q``sS$c2^kit=*Qov^f>r~WyMi`+5LG|eWe&DMZ+C(yqN4hqT}v%~Xq(JLDR zorYuQvDfyZ{KuW1n1}%MVrT+C21LtezVa z&tUCRe?C`G?!r1>UA#>1eHyYd;y=My$N+D2^3&-~FW@ST8b33<*V;w69-_2PGw&_m zh%+*xK^v0yv}ccoCXayvU>rq*wmIEc=l|v#&2{fnn_XzMJs;zsC<_2>O*HvEttsdS zVviXp6I~3T;ZkX7DbSu@jgx78$V+j#SpsB`QYsp z0EPGRiLM)icmWc{LmRh2Ae#V~j7#SBgRt-r?Z)?TAzZ=FId^8YKT{~C=i#B>&K!3I zF4+yzjOtgqW$NeISE&WB05RwQWLXVZg5T~dHjKcVk7-^BKmJJy(#6Bqcdb-oyfKC@ zF6J6s3x@u}d@=LzW&ip2O5Tu-2LJ^^dU_KZ#+Os?oHH30+mJrk(Tj=EiLCd2Jb?$~}i^K#d?GBMX&}CMQcTCw2H$ zq{WWPQ{&t90dS%S3JS2W{pq)+EJslF2(0)E6A_wVoC_V({&+cNgf?k=9=s{Kf`sGqT}c4Vka?J#UB9ZDD+3(K-f33o+JC(!U8HRWd>q6( zpL|}1dtXcLVnFTW4!`Y;rpOc%9WPKM00jsUl!Sc`t2-6b(M-GJ8CfMi(_C|&@`BvmFNthx-|KI}9Dqm5HBW4T7R886F8fUw zNeJ(OzHj(5w^$*DO6x|lf_3xa($cFj^H znt^(Pn)n$dmaP$P*_+ZjK0fYXtrg+^k_;_!5~K+X`|-+7XwZn_SU`prM=u$xo+-F~ zGAd{@glZ2b=vwTIPRPlL1(dJ^SVJ$aG}3rGP77X0boaqpFykJBkqC{WvYj#c_KOz%C` z(F4blb41)PAy7h1?TT^0*<+m&Ewtg`VZii~^Q)`jPq0Dz!yi@#N~REPYi4$a$Xo{DlAj#pAmsAiz~nnPQ%8Gean z_qD`q#~su(%imIA{ShO*z2u$d-TtHidnTsEHEC zYuC^G=AQhz)t7yTV&?thcAy9eX=xDv8D0Y6Rj|f~l?{e^U4R$<8Oj&9&oe}KNzD-& z@AiR)j)2HFZ}@$8zOaR|-uhN@S5~sr06-nW<{Dg=Zkx8CJYdu+#?rLH(r$0Qo1@yF z+5!#;f1-iFlLDd~yAVfPvbfwr+^=Wsg9ZGy6JWIq5Rg-75R?LTNy?7=xdJvr42aAQ z^JuI}7a?Fsmk&*;;vT3rYySh*!aPW;u(MK><2d?V^MSIheJv%i8pw(S0EX-Z=%8J& zD{J7jF|jESoAa7wdJ!sm?*34B+FKho0(vE)r>8eCI+|!d^IkwG;M}+1t@F{*(KO7C z1^^+hTwGj6`udcAC#`d@&4e#SIn8`_m9MJQ)0yH2<^|}~1r}xL#{JhFjSa98jEvK8 zSA78FC)fN{Q#coZS`H{PzaW0_n9M=sFK5$=uC3t!*_fa`!mdDl-m6H0ZSutr;H10+ zTNTtMkha}HN$$N*Q0%!FE&DL^hyF$#&%hEq2LYKzui4*kU}`GU-PLsguzp_*B~Q=? zn4Sre?yjk;3jwK}4|C4$6ux@p1`5+M*er-xS_!Xk8V1tytvb-FSGRU2b!}k;PJ;r~ zh;S+1^yg2vJ1KIfnkw_m+QVFpjg1wifFudojxZ0*&E>j#d9A{-f1YXbn<`9k|2SH# z36v91Tn6doD*gZj>jCFA@joik8Ekc>`3oAD8&H##LhaJw-)|bo&~hCg>W=($2cR|& zJ+cFYw1M&Q)Tf|NHo|Todp`#|r4jzPS5{UU!7FVHI6o@x7PLipZ#<){FtBdqp{YS( z_u81?!AHIGKYLOj9BoKcT|#a@xOfp4^?`KE$`SktBX4iv)t^6m5XJRmy*O7mTf^ET zcZBW^486|+4ioV}w~RpI`wMmDW>%B(-5)<*0Y$$NY_iNfqY$yUh$Wj+ z8X0V!a4>WhKuxkV6#3)BW&AM$+J-rFprY4kEU%`T{O%kdY(^I-#!>a7x#%Je4yZoc zFbZCR0&F$oRiF?v|La#YjK<8z%^~_!V_*VCTm$V1tPbkOygaEaswpk)?d>*ST(mt0 zJ?n?<>cJ?IKx{ey3eR5F-U6Kn4OQ2iGngYD4a9p*kB_AzM@t<{!X!j{LxdD4@g=}# zhg%XOEpwOl5p} z`gajnbQ+&EJ~Z%`&JXpB0UWm?quqLd22|m7whbb4%@VO-LYbZgXoiR+3|!;3|EafH zmhiB{NhS0pVq)TPAjTIOJvjII*`?t$$U z%~hcC&vlI`a-j(a#*BISvMeW;zgT0RvO6Hp^pqr)e|Brfw~o)BnfUqNO#Dt2vHfA~ z+V%N!TW@b!`3J_11%BsQ8c^?0l3fSk^!_bi=3&N05t_fgIQt!N2qTO!L8--+1`(WK z)kXd8h|191S5QD+hsuVQ&X2-$?k^y*zAQ|SN8j1m*~8%r$Ou1I#IB)_CclN=LN1OL z2rX?1Tp7^RKE#_5$#9kzx>;mkD@CNM=Sn=hh@+sQQt725F}G$Wj#Qq)W*i6wZ@A9^ z#5-usmtcN}13bri%_8g;~lLbxvo;)~f{v-vE2IIgCz ze!Q`)v}I)h97GE?lq90C0?#HBrCEH0FiXU~LRGu1s3i8t89!NP0pDu@Hl;pT6h*Sk z9af-=<7A6ICKkOS6LB@aa8d?QkQrseq&Uf8Je{`yHd*HvuX)|jARN(Y4hskWkw|wB zdL&#aAF7W$HWqB~8tx?i2i@??Xw~wjU+n~5yg;^w?mmc?*TuzY>FDSv?|7Cg#~s0p zL53l4D^$x;R~*lyZbDGW=i#HIpcpx?@q)W3vFQFwP-USLlvihH% z)H8Ig0~EO~Bt!v-?=!r2992zo&cer!VsD)1 z=x{^PVVs0&6qATDo3nw{9t7s=*(R`E^SLI!ppKC$6UhiUCU#O>cm?wDl-P_#vdVRV z2oD6&#uS)kcW*BVe+vACMHqF8+S)JjTnV*bfEu*`8wwSObR_U4(G}%3aCZZViZf{+tm z6~U_#CmVe1$twA>j8=%k(a_L<3T$FcBD}Zvb4)ehAt$*kSL*efH}SwlC@@nts=NF)fyx|dK5Lrq$MO@czDtAzn$ z#HAwOiGyLb1XxnoWgcbhe`I-he2hy=Ttk9bw{Gt4HFje+4i69W;AWAX*A(1&w7Xgp zaN(cd&KxqqZYRQ)2aJ6Y@t*<5&jMVNX1hu!>VXZYwhMeOTB}C=BJD^>05G$%nuB1v zHd-7v#7MO00)! zK|x+3={AWu#4#|nOLYQL`uh9T=Oa|CHzsN*#h>uQAkqRxaSA*JX*V@y{74j~uIQ?IA1-kD4O~QEo2Brm@IHB`E^MA4~ zHTJ+iWB|${ArPZx{~4x1>3=_3WCke#jJi<#b`BVtNcA*$Ze|SS3x|TGhmL|q0Ce0j zVKvV(4*5Vf1b}*Meka@B-bQQ&&^E3BJj`!*(?{SrqKbDv;uZ7$g92DjD#{#w08S?Z z2L}$w!T{64<#U4n1#!TY&k?(ZgM)(#gmH?j4kf=$e9K*tN~j=IAoK#=GBRPRF1>si zEKdFEmY4tgelc^@r`Z$g%0c2~;O8e5u>U6K;!-`dK**QZss7&`ZcU3IcL=%$V$TDm z-*j4cm*H&PA{PRz)Y=w`cT4vp^1H&p7G1Fm74K%-AXN~bn_D$E3k@DBh>?p6AB5q& zko0)%+Vq|0@Yc)#je<{DV-qJ1k)e*e;^65)*9}rAc&1S-3-&h@`OAwYHC9;=;{%C^ z&6^!qZFSj66-1@I*-yJ3oI$ z1X?8M0eVa*emJ2_L?Qw^A^%a?Ebe>gf>yxTQ8Uq}RAQ~m0Fl%3Wtlq6kiRVcWW6XA+}z-n7AcRdX@fNvg@ zu#(!q?KSb+PaawzU3?RrX~Rzi{wFz%hE{-0JbuR>@Y?d*nLMGm%8fr!UAuP8`(*PS zl&CVb{T68tqBh}k?k*7R8c5Ct3D}sr$glie9sD)4iLyj2_id6S5k@ZYsD`h zQlJ&{f$9JgDHizuN^dG2EjeRHSfm^iJi6lAZ6zKUo4B_&&kwf&TXJNKej|e}D)v{9 zagc&NIhzQN|Dvk2OMn&?ad_J(Sk8usQAmsD@Arc8xwb z^g$rv0*O{$t9~xLskD2u>SGWHAQpgEk-Gz~!0e%fuU@KS4n#X%r6>*jaZvn2@Jo%5 zNzCWe(C0QX_LGe}6#f!z<`vX$?1 z&dq0G;8I8f#fBCRB86`L3DWgJngCed2~^nTK)l8P^m=(GO%)XYkNWDZwR(y^b6(GL zgC;(5+8yQS)^`U$D2@nB$p zHL(E30e+$|_rv$3FikiRqz&xm9<@5&g0P0<3(GHau3#V$k&=dVbb#Y;sKiW+dFc|> ztt$11q8JF%0Z70NZQIiI<-&)Yh)mWjWG!wxO$+Ok>0SlrIlQc_Z1^vdp8&yR%~_S1 z7-^ZXN2@(c$nS#B1Q;6~RcX{11cDL{O~TR_@KHeEbOrMFwele~)cu>alHYJk+aMS$ z0bPTbUkk8=wcjdAJZk;6w!+T{sb7t*S6g)9Z%n--usrp(7lK&;FY>Ci{{Wb)X27-d z-`L#E54k3lze5na1VXP<#UIW}@MusI8~d>LuxVl}3_p0@g4o$56k`2@-C;evisV7K zj2Z%=n?scE88HBCB!THLfow8pE(HLV5wUM*L0?T*m%OdL9nnxgO~<3vU<9p09%R4$ zcMx<6;<5OQO_|`+4^j-of;x&+Qz6vB>LHA;%$g_;h1GEYSt#-dsVL2hkFbHf0hD5Hf{iB0U;?7J&9(01*OWf!P@j z!v&j`n6WUali>`TVSC>@I&FJ*Z$>LtzKkj z$9#^VE&z3=M6W8RiFGCc8KIMtlQQ8j=XDj4S)KL;@PNze04=Kg;XD9Qtk~|4uQalw zpzpnewSqb#5d}hBa|21gcBp}q2Mr!0K?$=$HyRQw*t9PU5XOjl5PJlZ7+p~ooAI0c zzY9k~If7UojRZZQtE^4Es~TcVA5*0F!vy;U0MvgYA|iM}82{pQmjGZYT8zSV58)6} znHfHq9BFDr+O1GOObO7vB7%>=kof~h0s|F>PaBndQxBJh$d&x7II!D@NzgS^(jw&{ zBq|-?2YeY_K}Ko#KN1=-|K4-+b+fU{ z)wjV};f6^Blk79H7_KV7!{lL}qf9~ihPR~F=}MzpuKx@`E0ci0ePmK2;!6AbzKAy0w3yG~DBpSf9fZf;Xwr>Uq1vP5QwD4 zTwGnH{rx2nx(ajX!Nw6bTWEcH@))QlILaA}GK-urU=V;FEfH>55vEam z^NskOJ5w(QRk3Rv0qV#0D>9hGsth{1Nj~acyKx#pv$sprFs79j~2hRamz~N#vx66;dYvAJ}SycYtL4<6I ziYO*TCCry)7#s!_G$1c(m5l*VfnXiNm+(kj zEjJvK5)#myot=Rmdi(gK-{F!`YjdRmdnFWB$Q+1;&2&Qz{IU$TD=`fC&p<(k!CC@= z2#*$@twC@s;sff%LI($f5*#wt3a4y?r**)qWH5rGIi96Z|CQILa>Jlb%bwI-4sL`rm} z8i*o%`oG2w*%pXqRC{h30*34`1O7t`Q&AD2L#5g*4pVQ{*Wx#DldaQ~FV4?u!0CX= zfK;(+Di@h3Gc*lqaJ1otNE;ev3`a$P;2jYYBM*rItmm|LMOVs^@T>6mYn*|(eFr>s$a4yAzQ6jmleL2hAVoN6FLdyPObL15y+W!qXvl2x>WxA6Vqi22Fw_U z0i2-w_{k5ib7y0}HkNfJsWuifuj)h#c`WKn6zqk2Dc? zR*>~W@Ks&Dinrt9(+CHG%PUo(i!{b!&0GbDo`>K^W9NZ`cU;&A|Aa=Lb*(GepSgiE zN`*gKh4)DHOF<)-exn=pCH$<|y}d`M8rWtn0P+Zl7wxsxP6u~CcDygieOPRfI>PSw z;ue=R&m(Yt01}0;Y32YKbDoQZ-kIuLjIRdSzxmeS5-{$;$>8u17L>h_ya*QM%es6^ zIc0Z|J}`9uHC*tF5QGizmQ?r#QwZ{ML3Q{a2n+QuOc;A}hTX+BQF68}(n z=^3>Jl#}=AAwN2L5>Vct4;|l?9BG)DFRr8t;0OvF)hEB7-Sc3$jsZZawdGmG!VjzL)s=wDuLKF$g;J6z6 zbi#|(&d9hjl^ISjIUb18zh%Z19aKO0YLVo}$a5Qanh!So4)ny4mpwOx1ChN0*M-an z4lxOyB!#5R!;D%Yd*<(&Iby94Eert?9}`R!Q@Ov~WNJ6tzW((U>!f9c`ejZ@A~!f}bO@n?{fYr#c-5{; z3SiL{bbz}4*&OU^qz{67vgdP|@yDZ|a#D57kmtxcJ3Vzd*f0nQ3rn#~1(fPJsOnoW zcCBqXv5lsGtV~Lqc>XuRS2*Xye^6FV!r0sPmHA}(%Th#?9Y#yM9kfD3(0Q^KAu2?e zX}Z644X7c67Y~6`fQ}oGX8$e(dkc2=Kk1%4ng{X^;dc9l!#44$sh1%O^;%g_re|w!(xz~Q ziH|;fpy46h3!E7OIOP$j##(1cGw}6V5a}(!6uU4x6Q0;vq$2nL(~v@cbH0Y3`EdFLNHSU z#zU~xN_CjvGN>{WFiI35OZ;$r42~sSf^ZW|(;=~JOHz9JIPT_CVi1zr0T)5`+whg& zgE~IByOC8Do?#5~_sY=xX&I<2-x9E>hx83v_ZC`PqG@vs)mX>^J)`4P>>ioZgi!+H zUpLY~3FZxAl*2IrVCgPbq1;41 znGv1bhvebj)(kb6hioX*Kl81g*|*(k!iDC1Np2*oNOFW1kFF!&ixXJwZ?GRm9pRPf z4=ilnlJ+i6|V5mv!57A|x&{N5a6eo(5 zLzeDfYX%RP2iL>**tFV>NH_sxDXcs4KXF^IHZZD412JjXI^oou{9w-Sln;DzwhBR! zyTdm6BUgsl>pu1LTmIgioc!E{>*dulniw$X1!pNPOuxKfnP_xp1B!=4CO#f~w{OF8 zl84YFQnFw$K_3E&HsCPB2U-=Jz;gZ3XMlN0SHV;8MDd0&bj+FnCISLMbam&H5Pkf) zB>~CYhhObXe|^jLUd`S%jpS|VDf2+>t|y8?D76(qIv!C5eq33 z5jC3IV@s2#2fjqo(lm=p^g;brs~3~RXf7}`AgF*{J|Pt>oX@5?@k@^tBaxUg+@=X*K6{%rf=s(cpq&?u^jR6_j*WV_vmn*#z|XyzDY z@dAV8n51FoBl61bg-Zx&OB`=_$dG};gM#7ezbk!eOLh0TxXSn1Mo0a7xSt$sAan`% z3*-aV*p`X3byq5Fxk}I5Nqy0?v->M4mVa0&i_D9|cXk4k zNCj0k7tH2xJb(#8xSb7w%FazktQn(MD8u(0MC4nCmtOR696manj22N`M(jg49EY(w zFcYeq8T(4TtYvO)&R0`PiHA<&k%_E~!-;U^nB6w`+~&Z3!Q*HLIb^uTLNULc_hxd> z(7i^}BRFW3f7)g|hzX+ssUm&wEm7aNlG4JpOXVQjOh`f!4Cra~X2{0clq#)fO;M;$OT#kIWvwVpks~*Epa4u=MND zSzFHRyCky`{#Wujoj4VWkcuiwziGB7c5+O~-L+8rz-nu= z|9toeQ&cF`Pe!+NLV99sEM97AN1759ODB#Sy9Dvh{4qP^oS#aDW0pt{2W~7~YEf1j z@!=uu%GDPW68=dd?A-@(W1vxm$T2#inBU3op!R-^69C!_QDP3Ns^U(zo`|STxfjvdso7SyKbipy%f6=@ zH8MJR5i0&B{pm`w-fcKKRD5${9fpeH2i3IuH)P8if~=cq@=srKB1bsks1%Yc7KZrN z^hSl&lmeo>z$bJ-rfe7vIpnw3-1wlJf%igbLh@sAvDuM^Kc=W;E^XTA=ww8WOsj^_ zqzbw?oN)SDZa@MONGBYXEs6aaC0uz(w6vOhFG6mkp4merRK%8l<8SMQ10*&iduRwv z=@WZE?~VW!7&&560!g>ofD6BTS>8xp`+t@3a{lC1oxhgElRb7sqJ)J&PE~<4LMY1o zVGI;|IJT^|cDqNdV0b>7yQu{PoeVJ9yR?CIO(wY|po1K>j70*oy6M^TioKo%P@)6pe&05`*Sh zclFGLr6jMrYe_&LdsXi)&Ko)NEU7yu&pPO~S4id6+uXmp;kqv-T0N+`$r8KJig7SD zmrI))=~FTmrtF6`nDXTj{5wUo(zf1E%=eHG6z=-WV^eN!Zpf(Vt=*2es-&tKtj`JJ zO0Y&TUn6b4EK5JuHVF+WZhNsy({tG}%l*gKu7z1jk>MUQJK6W$*SPDlH(}h%(HA4> z_^Z6wHgX@BsIu~gXul7aWcGlTf4=s$x2nuxIX&MFZ%+f4-h{WtZkMtL44wlh9j9CRw77aZxU(hpxZGIT)=L zfBmxG``+K(eS6(iBLQ9{aZPZv(Ez@fkI(1pL#JvM=cdaGty{m;inne_7vFrJ6x72J z0tRQzrFyD}IO}oSq{h9S-K)W(Sc8>~@2PsYLqwmxb(#@HV&1UjC|FT4nDZXW?$TKQ zhN@;B9#?rA+t4XCKa0IQpQ1=--SsXV4Ksfz5)_>Iucec;qE92k^?c64vUEoVN}Ky< zr{pi^NuUI8ZeWk^ASg{HgsRe85=dU~RBFm5brTiLy}=#xB? zR9U}_`Jy<#6AhY>&}y&fp<9%-VyxJt87{q_RI zje6EpjAzee6fH906(%0z;)^ykP#Ttsj+{glfLBaaY0`|3g48>LL~lbF1gx`fQp$BW zMh_>8WUx%z!)__5e!!4=2A075#$*{H2)sy~WEYr=Y^NiC&i*pq>!xFDL4f^eGhPOgd=naw>lGB8I2LXWXH%>E# zYw;1u6Vi6p4TstuB~RjONL8`(^kFf{s~wgvEa%q0pYTN z!_y!rL1=&rE>}w})VX@)= zSg8@ZlH3z7wR?R?p5+Fd#YA=qgeZo=rQ#Kc64FDawuNZm9afc$>?xSP;35g2S|BrY z+x>@Hour}z=Lr?n&*_3bsu;8FgrJ)*c2+3p=-LQg$Jc@@-}+B*r1XT3cSP_m$`r;7 zG)mGo2VZo|vkxiKphqJky}(hMV}7%r%dmp+*+9Pl^H6CiC&vnjjh>$ALR%<=4qo~T zWPsjb4$_T$?0Hgg*2{*sjyf6(zU;Q1PVoA=yypBagSn7u{N&5ViKg14F7eW&WGi9n zSiU5a zGQ)NTe8Q?~+Iz60MQl{3gSB5UjC^A%!W0Rq+igjt(tTh+Z1zBHm^k zcQLyiF&%BZvNA4Lu6h;4>dL}`S;E>2o*r9y=eh6u9yxs-xLbpSxc$H)=Dan3lofp-B@dr~2M@kHZ&%vR&CorU=A>9|M z!WY3J?%Um@TfWvXV<0@>t!$s8^oac*c8HrO2G;rY^?f8@sSgiziGYsNL#Yrui62jn z^V0XXjv>($anc3Km|9oM<*r|oVg>dt*BQ0Z1nRz4=~ox`U2-ndMMBVxQ(h#r{%}Oa ziu4#6{R4I;3UR7H(y*XhtcjJ<}2=CCiSm^X&5!t$VGW!vJQRjSxxg+fANqg~qN zwrU248S4tPA#vm=6=dC8LvTny<01`K$iUJ8e-oJj5c2HI5x<OiaLD1+A%Obdst;;FrlxaT5QoZ)u*Og*O#bt zMb&WhvYHI`V5y`KJxI!cArQj=iG@Li^ZtV9X z@Ax%xC1OCYHejw?{If!VgHvwpvuU}-cLBg|3EHMllXga=Ag7^Ii-K^LYJa>^QF zY;6y&ph-*rlCsR&VFa7+$H5_wY8Dx8%UrWZoF5Xp(`ALIzxA`Vl2e)DQ8Tb2ON<(M z|9uCKupknPMZU%ctvd1m1Y3FV%OE#8fmf`N0b(ZN(1BZpO&gUXgH~8b$%-kugO;sN z0Xs3vLsZb`8v6s2A7CXjfCCFhXOJkEfkkh>WhAd;MxVQvb!2Vbb5=MV_72gt7$NHb zF{hC5a6H-<^KY=MebBqP8K+vy(HTZ@P&m@kW43#Q}=ZxB9^ zR%69L$56fShKw7Wacy(hUS6eENX8q$aeXY{(OeyhQw@oyiRJ)FINXSDf=54pH0%rd z62t>kGSHCI3UH>Q9nNbFHM(1aNb>;38Z9I`FZp;Q=k!&}1j@}7uJ;#y^bnQJY^=V$ zU|6&6;lMA#mzZ3?-C-_!gf-VRs*8Me4G#|wL|kqm(qy#6IItxQxFs-&^Wn{r`*A(p zfuAgagh?TK#XOwd_N_E7)}6;C!_`9Q{%#D6mYuoJl2o#n-n^+e1PL0r4;);=O29Z< zBq1?~sgA~bKs5OM(1+f@;PVQFTceq>{e!c|){@yP*^Z%;v+#`&hmeKiJQoWQ#w*^+ zF)KU#riglakD(8YJmeb>AOetVC6-D&#`j2uu>*!`&Tad3rbnLv*b($N>PY&b#D)bXr22$WK z<|AuryKS@+_GX3N*9T0Xh8&huNax+bPnlS36jXiZLj-suO0(Z}m+@$`|l>G_y}&sok)Q ztSv5HdEp@w;m#*eT$Eu&{h7P$%%SS8j7sp*m0JycA|t0rh!)QDVzuB4!@oWqd1^Qi z|D$F(A?Zu{FHe_oro8NKsHVv?r7&N{sxe%_C1W>Z4Z)7Xmlf>mkNI@hhM&{*N1~04 zifn<|mq?{YvmFKV#jXiTa@JWiM!Mvxc4&Dj$vc~>MZ9oV`u^Y!us0LFj-h1?Aq~e@ z6^zwPDviFxaZ`1S4>@uRjb9$l$HOp-hH%ffkD5{rJ;9eZ%9;Zvf9TuP2Wo%OCGtH@ zOU_yM*a*&wBlz`~hNka@l}Z{85prbCWuXl#zr9)+48x_JT?6sgN*x;azPCl`b~Ldk zJJ@=L2C2_76}|xtC6R4%|8or5J%S^eE^@n`zDFiLz7NzjHFw7*NSF%Yn>Zd>TIQ?x zXtrZJ0B}0KPYg#_!+|Q}(Ih<9Qm+ekaW%VXxLuK2z5wZB2!n{i&#bfAn91dPtrK@( zH~aajsiuwD9Y}93$TBdt#^3IJY0ZFY(=@k{S&Ww;u=O-G%XD8*f9q6@4e9tKoeF`~Z@PSbJs&LG< z63S`S#*9RpE{?t~WU{@$rLE7kJWkBSzm=dhLaux(ox3?Nr>7&K9=?zXzQ}6aPCgV%I|)!)o8um~MZ5sr?48xR5kcx+ny8aO?> z34Q$W3oGDYMjt${f+isk3d4d*Xtieyy=970$#pcI8F(rlI2wlr2KLI_u-EHpi3I0g3<{uf*S z9gg+?hyUZ3QMQCAQT85@>>`^oldSBKqL7r7JriZ`87(7wgzU0Oip32e`{TTy=j~pcJJ@CRTrn&;(vWH(w}nYfIM|$YpL~gQ zGYlWw`C`Y?veR2B(c_MLKcQ&Cy2{~R$A=>0i;cPY_x)ouBGKBJz01xnhwXgYjXnkZ z6eb0;1&al9k}^o62{~6;3JO9ak5Kc378Z@iH#AjmcZ-X>FzR)lMTyt(Gj`(UY|d%Q zKjQ+W{t{NQ?eSb^+P%j~A4yeh-tKdw5rSLbnAt5b=ofCM6&utE=Sp&TqU&stImP_^ zW11@MW4{AU?-j_6Ph?5h{8;;@0gKhQhM<3kibnUHk~OV4{el9LNt4!U0SC}!WN`=~;>gq3<>pmMA8cKMM ziOA-w@`GwC3uV|Hbs8E*VxyU+-pmP~a)T^BrB~u2G55PSBwQudD7(n?uh)#QuTm=a zvL3WJjz3NKrYfrE;`zN0G4Eu!r5X1!t4zng`k0<)*AF209XFkmDh>OK0x|+&D zzznnUR0++_uw2({abt0|7HR$Q!;z+1U+aq`4NtHpZ#&vkOHg+TpfaHo%dEs-g8k1B ziiII#7OQXqHCMuU_T;sGUL{|Dl6JzPbo*Cb>@T^Wt8`(ZChXW-*ZNyg8 zjm!J}rS-WKch&#vEr;Z6^U#+DJRSM-MW5P@$dh&FC{l_oN|GYVmR4O=-TdTsi`?1f z6wc)4l(g%fc?nS_Rs{Syixky%6R3XPFMMWUiHF! z1rJ)YQVX0-arvY4%c2HCbQuFTIkTFQB5p#@IHk~9m7kY40`GG4h4GIC>*$k@wFJnM z-rva!>_C(tr!Ym&-Tx9vL`2;Cc0%54iDk7QkuWB{G|X$-8NZeh5$JgJiXAyf$Os9$ z_++K@GyCtnPkg37v#e~nB*1p1aIr^Xv$=(#HH&t~;<=h^WWqWHlRiOTn`g;J6@0A2 zhCU{I#cgoVh0kt>DDK9W#9n8Zi-^ME!Gm)dzoy}N1koW=TBaX2&i9HC-Lcecwuea( zBOiTM3xf0B%uVz8YN8i>P%c9jP>?Bnbt3fwW0fe}34@&)zl$tUfg^-K{JczA_fTxY zY#`sI+vjTVCM1hF)CncavJY-ovZNlIn5YE2KbwV+HjyXpudiacU@nFO~e7v0n(W0VdO?@ z0+}=)*t?J@LaF^qoj!1)NDVt+}u*5X8rC%*<eYj8iI##p3!H@H(_Q1&VmVmMPK-S4=xv zF7ByCbvnF=$5yHA!--^aauPB1r9#2>&?EYeG!b`%n3%YIWi@q0L?ZR9)K^9gkQXO5 zf0W7%$-Dt~4B1xsRQE>5xxDJ^;GEUq;88~$j0TPGFgzt6uy@_0F*!5eMVNex#t$zY zdE@FvvAG%VZc$bQbiwS@za!1$H^{T^e_K(kHX?GgBiLt8dXoh!46-b!5hoTQ; zYRXI^NM)pelWaC7Qhc}O4B3L6#1+3l>9QQn&giwW9Zmcao;;W=a*R7cm%xVVr+e-c z7%X1;*vsPV=7uO4hkBGLe?(~9Z)X>i(Zx~}=tJDkb;x8r; z0%}XfDrSkuw1bL@ybH2s*Aa-O+v)yPMdf3DlGDoN;9p<#~kg0q8*XbLSv66XDn6q;K?x->g!L(Dj|slCmT z%@1CH{rEbkA~TT$bj!OMiAQhe)qlVW7^@!qwgD#`&34BaXBoMNJ>KFbJVQ@LR|XUn z2}@X+wVJQ&(z~Fx@#?n0EVV1m1=SH|w7>t7AHPpp`AngxxR#I?MA>%y<42p$GV41c z4s})kOTJPd_0Vv6<^K3;iE%}1y?OuU=8!1zEkxb7kD7-~Q*Zeg9J1Q=$BrF~JG%`z zd&G4^?%WZAdCP5ZM8Er4($(5pd8zp63j22QE6Ae2_rk8kiL&^^ixYNQu;RH6r1SVH zxH=6LS(dq$7)&-%*))(i57K5ILe_{;C2&BS?azJ=TU#|GZ*f16#JUL`ihxacwyrx0k(8g!c%Vzam60hAhcB(^g_TxQb7>_i}1g4YpLB3sgmpnZW2)?D_S?YPGpJ1n*^ z+Nwv;?$BS{pSw1odIJF|^O9QUOW{l*#-oeDDk>gQ?q4Afq5pCXNmRTHrgL6IUmn>P zYIyS=6Ky516==9jGthyDxJ-i+`{job8%IjaGKid|@jcUhFp9e+bF-iLw&@{6w{6>m zm5-97Wcf%PT>tu+21Ulg1BXH^5sASLwk`qFDqve2aU56A)|W{8a7Mw5=>VfISVoeZf@>Qy$z{{>{7_anSkl#;eU~>L9OaH#2P-zw%YeBGk=7hnyuo` zjGO~C9o_za+Z;o2Rr!!%gJ@3*Mw}Lvvi?nr=nw}JONn3)FHWlB(ZCaeErA;kAHCs) zlni;Vn}~NUZoGZ_mM~Ki-9_*%{MN{_nM`H$Gr4YRb}Sg4_ZjQqT`{cPtHjlGsy5;Q zd#&fI^8TB;rw<+E65ql^*~U&Pxzl{%Gn=o{fh$)}_BVg@g^P_?ItKo@3+W33Da(jvq_;MV7i+0u2HJZ7w2VzTVzp zf%)4wNcE)O6g`wTX(|<{zDykHOKB#|wV-Fa4d*|#$I&e`?)H`~TO2@d4posCd5zq0 zH0}c*;y{SJ2WzuLH><3jTG1M;hwVa2A&_M1%#$ZNL-a%Dz z5S(`R z-}Ja+tDoPeA*0mdUWxcKQ7L9zof00>*{FRv8@q$lv{J z-j@hdRif2NFqTm6MzyxKzR1n9ThzSekYsc(G*Tgp$j#x_G=NgKm3}8T9Oc(FvmMxU z?jhApsMq?%Rc03=h(ZBN9YXNlFcVh)q7&GxT6P=aHc@gnKJn5C64{BM+>$cPrYqM zE+XR5aZhbo8~GJyh!5s_-5*{2wg+ZBd>rh}I9+fza$=?Bhgm9YZ0s524`#Uj<8WS~ zeSQ9Qa*@205t3D|yh?w`VKKw7KAVLN`+%_jUUCSTyeB2_I7~xgl%U;6;{qb#)hhe-swIl%~l< z)^Av*&|}!7jOk*x^5o!8l-;;?9H1ZJ6H^1P)>3c3DUe-x1W7aSp*?wk|Jkt$GJ~u~ z)CoO5oqvsg?s^1<87o4sogfbU7tHLe+>N{{p}Qk)%YdK(C#?H;O4+#?xew-CI8DP? z_xBmd7QG&RMUBXFqb#ql&3idd(1XAf5g_fVv63Ruo~rF71>@+%^`Q9&EktJ9+n4Ri zUaAOe8{Yk8u&05dQh`P(ha;HL>dQg1lGVbKhN8SK`_Z#S(qsy95)PoPBOk^X?Ck7p z9$nc5=K^7x0#ZmwmlJJFhIm6!i4)^r-9tIu*(BChPif0Odja-~xJh{U{ zOvZ@xg7opQxL-Tmj)-4>buIfPF-YyD7u4}S6qi!InLLVhf*E2|D{B+x;0xJAyq( z?l*P2aH_L2EBBaKc?3r^FmI3Wf`{OIid;?h(Z_=Pv!ALS4L*8=vN+mh=F=xfxB^ar z6MJ7leL~c+OZ%BX7#iXnZ(p9S1x>wB?djMJoY>fOGf$E}Qs`3Lq$rc4gEaw|-zK7S zBfXRtAS2WFZY`V1`WG5;MAKOVX~cYqewhbdx5uyaJ;y3{i^COhQJ{`ZVE@;^t*b!J z6bnvtw@h?5vo1g3Yefc5XiTOD%EQ#xp}z+{`+8L3j_%46KGw0AUOMShE{;_woakkv zj3v6fr~^OD&$~aJ^<~|*hnROzb_sw!UfwrLFRl5E!3iKj6}%vOMx#>020-8th!h)~ z*cB$9K02E}vuUgvdCKIdh&&si84wZ&Vu-X@{}S#gmYsx4dF?sCa6D=K5}P*hn#JUM zRQD);6o+o76_E!0&>=3Ie=fFu;3}+qB zM=D`L@TEIQQp81Gz0hU(8UG>?b=c=RuoHwr{EOSi@N*JUAG0kzJtYfPuf;>(dm|3p zD;N*1uiZ3t&zWt8d4ix96O6Sf|4FasK4blmN#8OV?1}MT-pa~0XJJLs02j%79J*AE;fICUNRMxv6Ty-Hy;Dh z;r+gitgEZb;^QBpk%TlVG-r*4=sT~Y2}ZgX%u%O)%Uew?E#AJJk!)~9<#PfD6KUj) z-qakz+XPnuku?}iqyHAY-dW3W=_hpqmf1(Y9fdnO&)B1;hFE{z$A>$u-+hOrqaT{z z>WEgs&mBcjv_Z+Z&1|at$%}d&i#y*Pv4M&><+!1C*j> z`CC$>ul@ks+(P{2FQ;e0|T+FqovDf6s;K^sRCI?so1-)0lr-oeY+5{^Sg%&iY(o%8M85K5bMG3A{ z+P4r@xBmErfnT6<_576+4C;$|y1LXb5Agc#{HO?jFgDFdT!@8XYSt6E4x$|He)d<= z1Tqy2A#p-$TTIiYa7LDu0i*z^*mP*4Ya`N494%4Wrkn{%HdNfF^Y!Ub>PkDDY~0;F zYBJ7g=}_~0GDA!sb={c9+AVyMPdz1M%<7A~?NSR&E4LU?i^ReDPH<#hJV@HQU_UIj zA>YR2Si;Y&@$L6d-@_U_ev#jTjmxYK;B4DyCUz(nnLmOijV`ssP9B^=WtI1Vg+pEG zGC8?;#xVYa#vze|INRZ&CI)bKGuqJ9|%MY zo(V5t#1Wvqi<0+N)pbM>llGPb{Cy10(A}D_WDbEr#{2dM_t&21)dKWi4ePuKU@wHd z00kxPTQ-yGYX}I37L!Kdo6Za@U_cAC=^|c}M6Ig;uEC9caReD%f>ucgh4bD>1QMou z)F06}3#u0wTPT=LRDwJZ9v%)-FFV@YFM}>|7i;vNQodU%&MloF!Oz6X?gC)ujzg^=<=?+mJ1F$#3DYg=QVqa^|Br_ey+5SrE4QQS z)dcqr$$_9hGwcK;id@^p`v0ghCO2G76VYFarYm&-M>z_2mW+>g=-OUSb5SxSC)>-g zgFeCc^_m|Q$Uby6liAhrBS<<-I}~QbQH8Pp^-(5r2)PLEs4m|n&%ga^MEbrBvf*9pkc=EaEwDE!<-{+XH!uUV z8a23ahYjP;tn+GD+)+GBVn5ghAzp~exFjO3n-g1J6!4>1B3Q_qIq2--mEtwuW7TdD7Rn%TPazoP36t|fe!h#ef z#z%C5Be(?gA$km*L`gz;qQIShkGcn>26iR>DayMu*%a5}Ae=t0i(zs+0;qV*c0O%x z85w2-Q^RV~Ib`CUo=C@SrKTpS94zA$=IOd;+^;AEb3%CfFoXgkRSfbj9oIEWcUcZ+ zOaDJD#9|NLHm+K?-~h>bG5mq2p;5h|2jD2oIJ#cf?$mbIyN5q8;B(x&{mi5 ztf&{8(jdJ45y@9@UO}ephJy>g?uj>1h(M%quKP-fbMW8diM%Jzl4=K#ospQM=FvQb zOS5w!`*8FhI3rKy39G^}3_ljRj`JQUUJX~*_NC%o5Ry#;v40R+A;})@BMgdRQ{Y`Dqy#)>aG1~&80en0 zD*$5>=82#67r|r1%4sd8Ns45Sdt>v&ViC{hJKhJ zFW;?Enj-`l?|R}##8<8$jKy|!sIbS`qn#zdj`*ej?iy8xH3sb+nGYT@ZhLWj?$n|k z4h~?PMk8n9M7Vs2>X}E8a_`=~!gK>)AEI{%&=;@0W_Le|1)_F9(;I0|qY(?#MnB8G z5!g_$pR9iVf%DZ121_&rkZT|>C+9M&styUKlvAwmaam1aQXl9B1z`vv z$t5ylnv+`QcazgtpENuEBKcfGTxGcJk=13v+4_J88LCADewLP&D%8Wbt~)Dm{fjYE zL-dU3BSRu5hA>fc#UJ+%K)CfXeM~V+!sNVa5!3Z}qw$8MDp>Y(|J=6RGTG|7Z90s*%zJkgRO=O3|tR zx-CX-|LeAt4hoKz0R7+ya7NG2kTxD`X|MNc*!Pb-zm=hIpXl+SYQ=)1gFrWIf7D$Q zSpoz8{=xd)N@oCys3m?IrWfg8=ti7On#L6sYelhrHzlamsCnWAMQC~koS!IU{slpj z3hDAJ_cv&IsneWSBsdUVPrsjIv9zoigOKnL945h;PVX8HZl131jStCv6q{`GU&!-> zTi_Zph8n@q^3n$cJkA|NUEw}wU_{N6s*U#{UoRMa#1CJG;*pU(l8w*ez=F*L;~llP zAWV!UroDa7z>OFs{;Mp_&E&_#%7@%}a-}~bPw4WJeeo#{2J5jHCUx<+L|3ZAd}#6$ z{sYXyA{<`pFkz`jY3ODwVRx;Q=2-%?j7WEG-@RMRS2&!BuE1OGe}4%+&z_*ap#Tm5 z9;DtEZ^vU?>`0f}&`8661P#ucDJc;cXHsfiZ`gpV!=@pU8kQdu++~L0MQwO}h{g?g zO6Ca0i|mgHPjN?o_NgmR(kI-00w)JccBR*0e9LS2miaF@1UoF8iWITM0X7q?U)+HV zInCZcZN|#o5SLh#DAfl#aIXf($32$R?uLW`2geP05`BgaN;T?A1+3<3?W6PwJwJwj zq0!=q86${kBHjt`=A)UsWG3}%?-%;4MrJ-%Jar8Ua+m_N2#B<)_osOCDgJlSwPSOb z)JsFOGr59mg~-4!-i~mhUGCvhApwCcgx;Z|qOuQIsGdJ7;WXZkK8m}&%}YYA(`#&V z!vi6NZ$SLLz8N1(Acg3fk!`Hqh%7mCA<8h*${FMRSy;T0(70;3)!Pu5BFZ+yLDfr3YVS{ZJVEz{jD(=DmFJ-!%f~7myJ@p5tR_sc zyG9T&V}zU#^FvvV`dsI~xI`S&VW^@tm%bEeb9 zBGyv^YEM$JTN5iZ9tK1P6(4P^TH|(-6I5sr9Z`!v#p{Kr5<=yc+VzT(Tv+mYdbj&k zvK#@Cj8I!Y4doE9*L?J;iGh1@vMhIY?A{%V(Jvcca7$2f92QK<_<8A2ny4N^h&b8g zqrKEKFwg~=OxnIJ_{Z18WO4&?Uk`Zp5Pl%D-|5ajbPpc~Lw4DS!x+)1cR~p9?|x~e z99pT?H)OaRh&0jin$TL+dBlL}6~cEw3hX>koh%6)1TiX+2tMJ6PDX+@Nl2vd(7KLJ z=N&55oHgdC5FHd0a5{L$D-{Xy`y|FV5L|G4 zDnLtQ9i3tYkg(>S%`(7Q%8vg^Y)uOBEJ`-&(Oa-N5YG~%g(!6X03j!)SD{=@`)yIo z+|$4Ri@&DLt{c4n^CxOUZzJaCArww6W?rg>MWMe+*;E_$;29?ha*~k|p#?BGxHvl# zN{F%O!8UJ6(kQ8jf<%xP;mk_DoQFU!;mv@?Pziem^pEjUX%_W?JFq(`1g*-wb9CAPZXN^2j`Ah1TF0u6xU>lT5CLQ8<>M;j24D~(Qd7;yzxo5vq za7RM$h3T}fX88Y*Y=9_lhX6FlCdSjXP7oRhj2GHt!v^V!@eHOkP z6BH$GIXN~wrfPD*19z-73ZC_X{$+jpD&`vY-|Th9UQL{52X=_^bYZX;IWa}>7VOT$ zEq0fc@=Ys;oHjRaf5}R8RlfbS!bq2QJ03H2Y7#M9iz85$Y@YOkq|2QU&MQ;J*EiZ& ziQ9uG=`gV9(7f^j-hphu2ObL|C1M*apc<%`x$5n2V|I<{s(F&qbi1+W?>0xp#zwU( zD!W}6=~$FF)Ty`UV&Oq&3&b*tFV9l)GW%214Xe4uU&tWk#F^f_|GiKbf9@v`OC8{h_7oEBAXc|UXf zuc``EBBd1lEh+lNK{rO{5n<(CcE49$BF40{=TT-qBu`?_;w=Qtuo6f9@dH9fKIK}R z424H{hMhZzeV}nFr`{wvyHOyQTwf1i5p1HKA=lVlr)oV6bt7m&wjVJ8^*3fZSm%bt zE9q_9Rzos$W_B3{_kmSa^b?*G+2pG;3VtsoC5L_%`{J}GbRcEp#u0vxib`>qrJPWp zKyTLOb-3e3L2l81uUSQoHYI__*EyW&e1E@_*gvwxpvmWFcMW4bHw49}-mowM(`7|= z8yU$hh^JMX%zkvP8(nzzcy~CH@)IdX@``^KkFm>$(85D^jqn^=80^8+*{THnkbG{x zK68F@AD^+i=l$wN61J=Ni3vo^95rM`B(>f|@m zqh%zbaldWPmKS`yCejR{gB`lPyyOQ+4bOs@n$V{}w3< zL~MN1FJAmN&PiCw{sWYz3M5tPgEY*RP9lmc@=U9QehWu}tmF z8*)p1VvCo3Wsjt%iIZ{2yG~>~C&R;MFuBE|p8k9u4St5QX7MhU^LPue9`Qg$fD8=> zgnD$&kEMOKOacNCIlE@5WT`73=5xby$lmt5j)i~FN@8svUB#%#`BaxBTsMtX2Nb zt!!0I8Qva3xrOZ5ZH4YR87Z;;iqJa(eKMEiGW`+?VWskzY~FR|)t+G8qP7YLse*Iw z4ArBKM@L0bAz%&B3*#UG+`Ei_jRzEN3|Gq}k`RUYvOP9$513!IcIij1<>#P>b z_IN_l*11+IFfh_n{%pm>=H{YSc4Eh&9g~kv{tU#}nw8Juhou^f==Aj+JwG|iOxsK{ zYjU2bTZ#MsF~4b~9xW?ZrW0Tg8JQpRW%o&%B*za6qQus?Uixziui=j?oK!`(s}kIT zQ%1LJwQ_Z2=5a|)rd(g$-E_!LT=@VwDVDuDVYd7v!!HBFt$`aUCxg)1%g^S7m(YT1 ze)l=jfiqUZmjw4GZS3UTZr%RuMXkr0G~D~ckNk*!?Uu7KBw5P$bhTD-C~Rq2Sh1q0 zYx2tVu(5VAyT(PX_!=4%yEJ&3UQrQ~_NsHaW0Y+#)$_WRf#$sS)_}^$s5H+!5+9^#FgemCspHFL|AvD@;8SqEil8o>2_Qq&_7Cah~8k0e$B< z{W!_%f`L}vp$Cpj?_=PWqncXs%Jjfbsnad6KQM@Mbdxr`xc}&>E578eF^c{F7p2+* z@vo~SRQD>Jk31=*z*}lc_UkK|OUAxo@6tCE_AC?x)u?IrCT zt3l@2P%tZAMKUnx?N{x4Qxv1MTR<#jF-V(VX5eIv;Aus-sKmrE-G~Pd3O*mXtmHLA ztL#}|jC|np$!I2Zj~r9?x%)f`6`Yy{OiH3cEL?+$E$3(H^{T6%&Ij)eBq?32`>pG3 zIfJCxe$FSGMgtj_P5Tw8%)N>-W~Vz3{p@uvwf(y8-#K*T_NR-4WKJ+k!<_{=BCU?(r0`=^kon$@s&ZJ_M%-R z6_sG^xG@AE9QWpyDQc{tm~6+3h2!^`79oM~WNUuwB-3WveDzY6U}X}U7=wVIS-qIVvOet}Vb zbas}0w>Ic2 zZ7&^ue>Xer=wqwd+eH<&HTnW#wRH3~bL*l%N`LykpUsQiw0&{EEqeRnU-%L`BHDg` zUmUzRYnb}s`%1#Fq+(7s{o=cAh$|hV`TEu4$H`aaa>{*T{0IfRG&ETYI!F?DxG411 z3ot;N(4YGh?Ck`vjIK9l%2%e>=1m(py=kUVxn$p%4*ChfYb5~Lt>4d#v#2k2z(_(2 z!2s)s2|L4K^mT}P5~I1eXm8A0;ki8;cz zh@%C-e;-MGUR%BzmG zj|zT&+3orIKYUP&ply3}wMNrJy#VguJxWK_{ign}9$0u!>V(vi)!h5~P*VA=_3F7@HxbYpAJ_kbn4&|Kod5 zXkF-f%ySM69?A)igeiAt-MfZ%*YT{&ug&jJyexI#JMs1*ncbCk^O>fryT@vJWhy6l zti}7^Bjj=CXxW*-)K*n%%I@w6u2aK#^0ubAuuH&}sE(#F1P8Yl@ycD5m;5W&4FsM1 zEgX5RS&M7FQ9(u_EN)n{zV`~{5#M20YA~9p+MfwwbL%A{px~63w;sWqFaoVB^`|1> z&mXW+7B9D(xTah)V4eD$VUUpK_B)(~qi-_$&$QYuo!?vxPby#SZyPEfv(ngp9~J*? z-x1;XH1@2TfbYD!?c+D?w`%kA%)HvKSCnFO-JXyzZ*F3Jaj@)9ma_DojRmJX?s9-(v^Ntp-~uadWTg$RCw2LM1Z3p)5KQq!;}dU}~A?n?U*f5WZ6{|7rz=>ALGV}Gq2 zNg;@{Z9@|oNj!_+WL5EZ+Wn{xH~Y%VBRx+a2-q+2yInyr(sNoTJ&N98 z!~T!FZ9=p}=}1$3M9|KOw6rIOD9IPABP8U+@^_GZF+*6=r==y%TANJ>T~mlsgb{fO z)0P~ef{-jSUKStmV6Lzj5Tx6>)k+TG37${g7xzymG2Tn&>VNyDuW|a`F-tvd>D#fI z=^cN_m&k8Yaqoc`0RwIqwkpdZp?VV~F0>}qW`}SlQrDSgQiy*sixqIo(bBg`<7j+r zUB2XaZ8TmM-H%qn;z4@ODIh6U0c5esL)$VV1CT;QH?$>k4%e^6aN3v*Tp8 zSL^CI&{Uh9eys-M3LcwcgG}q%(_6mXF*s=FKeOZ3x9=rX=A}JntuL>r;n$|}q*W`r zuKRS(&qr>qyD+nM^-=w%%Wt)9G}?P*?TH_d4zSbahaMH|BsN39;FAAERUW6^^0~z0 zO!f0cv$K-Q6AWW#v1AL9zrHsrIEZ$`V*qIg%NO>CijiO4j&e`hU+h5TmlV4ELtkDx zov8qAL^##+;9!E#3Os#!M7y-&X~H8Coc%l=<4& zWj;6!3Gpx*+}SV7`2B}WsoB{Q;wQSyKU-}?lF;-H#X)+P99EXJi77!aU7d;_WSCr z@m^7JacytlDHYb-44TDv!`j}zJz6!W>hg6J1q1{DcVQ$#eLx(Psae~y4Q1~294_0pS@~e*$ zvIl&|ssbM$)pM|GX(ruM-&%9Z;mU{MYIc<-|LLtwU%m~?+)ifgoZ2%yrC|TXYW36f z2Qp3Vs{B`F`};jsAeDW9M32VOV`AL>*Nucx5sTChUpylvrOe^z&0&t|GcPp3As>#@ zoe%c(Y@d-fLQ5f(T=gjR=)pvN%lL)aCzBfglVAMiSCdk@x0-ZK-J$68Q5SW=Jv`(@`I^iv&SWxC-z z)dFiPpHC29Nzc%=F}5t(<>TyZmai&KKo*v1qmm4PD{2|nbFL`|P44SIfUN{US}jJG z(Qu~yzzTO0E)|U91j#^Sd3CG0Iz3$>KYvAWtbyX0-d|x`EjnyI-k%UMtWbVg?s=*q zE1_LG+92noZN;9O=l-=ncrYOJY{t0S)qrqx5+lprhi&U?QFVNXMz57rNXX+ekEw~& z1ogg3Y1!lVUQ5S>8$7S}rMc6jycQhvoj0J;?jhyxzmJKr_vqN{RPf@42jtv1H_rO! z-ZXdan~MR(f50)J_tLky)~;rAfe)8)6G)xRY5XR znbj_0H=I1$(Q%ZnLVb(h{pC>s^Th9q=hH*#>+2uw5UXS?ONGX_sF8M5@RR~67{SB# z=NC4?>4~>|sB(+@#0j~n#pzDQbhqLA5LS;_V;EE26;il`B|6E(Xj(MgBWK-~Xpk$2d0T>clC^r@ zzqb`?c^qiD^JUy4BWriR_c7Bk-73@Gg&Ycsaov2Yvd7ph-Y-~f=bWWrXYZU6(f+X< zvfpiNCG^&S=#Dd+{}xJ$>5i7T#Gp74cd~2A^n74)>!|7-K7eI4%*|6z*1Z_$b95`w z;`P(kn5&|nB*umy7LzojgzD%?X^t#KB!anbNS9Zy>}tbU=F1TfH+y?Sbor6tFsnZ& zfMp9atad0}|M8y?NMY;WEt%*VEU<5Lvow@fBxa`d#$Jl1ix0X_*tJB})cET1zj*q< zE(l#svuI7N8fAr`T!X;xD=sB2-_O2tH8S2eKG;jP`qkwCPjgGaIFoahoOpVUvgPfW zFN3b)g8UV)6IQ=S{EDq`fbA9m4F*DI!ja1f>NPlmGANdW>F^Gv3j`cU<5$V%nn25% zy_Vzd@%}@9#hD$i5uPQiv+4*l1j20vKTntF@2csK&VWU*>{Q)6LOM$#2g{<;f0@Iq zG(8UT`fk;m(=cp~ucS)EMQz8$xPQX!9EVD6W^IyKbk1W+4moGN^WE1x!v9VlTpfFO zA;d6epsBQgOA*7>nez-I5m3EzQeaR|Py9pz5Jrmp4niL#S`puF}#t^KHm*rqsXNI+WvtIgDd<0!Qd4 zCIhX_(<3B;6slYHm9x@sW8{!0a6(ZehEKcFQ1AcSXw*V_H6nuode zR^_MM%$4m2bku~Nez9nO?NC;io{~}8)7e=;P1}0e-kIO}_)VgZaL>4ad?;HnjF?5J z;Qxakc9W$cFGd?+sjlNF?P}1N`K4@m~F`DAuFXzX! z=8AUNZyefvz%f?A#if#C_V0?PlczsKplkWu=A9lXTXS5afg?uJ!g}$OT@%pH26f6?YS^R``N(m zULw&ph~7cDWk>GMv|PsZ_47}EJ+Rt=p{FNVXSOu|F8n^lTXd97(k2?%A#xHNWT2Stod(*OT*qZCS^s5V zmR(m@0+<&$)x{4#h5mj)f$oTD(1y~|QUTF%iB@x#$=9Nr2AS^>CLT7t!%?lSRn=>j z@kn}!nL}&@v^v`!<%=9&gMRQ=oZFjqm1|e;BcOh>m0aHD4U^q76TSLH4*BcB!5s>` z6KQ$dP$GQ}46NIq?k0&sf7auG`&Ns2-ImKpLwdN}Yq~hDn#}SbSRWDo|83WPka;`+ zC{bHJ`^LURhphCt^#j{TijDTLwhx_)`Lq?=V{Yk;ubi-TxX~2IWzo9l_cv9!siSer z{T?t-5fNIXOo-vY?!$Gg{1NLO5CMu{KAvc%2lu{8Z z9*bcSZ=&8NpWQjsLz;FwiKJQ z0ZWZdpE&U%!NL*BnXmmear7Bk%C(kyWh>OPXmPo1L$7a0@?ir>{v0_CjYn5w;8lHi zPz;5|Vh2;VUO#i=+?#!+P8+4l7cE30Ej)Hs4&hnMvpZ1ueqnpEY+9CjftuL;ZBhwV z3`ND2xQg*jZM%v=DKk>4wR%rTUEnz09K4}2mj2#eqcA(OPwC7O1#D$gKuNh$wT>9e z6}CY%8O&shC1!ddZOMaXWc}tki$zl^mkJf5?DGcyOFQ@UKM*bkDboM4)utPd;f-nf zw=!?ua;>@OpbDGT$-H$-is)A$bEqO{m@VvKJpAF?x#r978_#>BN}v}Qv3}+Kz%IX* z_tdxbyHAhhzT9sFw+FH?4d>V70yCwSI8y?}hN!OwDya3_tFL2V9k5oftGZ!DjJW`HmGR1>N2PpQ zzpZ-8i7d?v`@m+%%@&jYV%~W0NmPo5%_I87@lHunzv=55hgTODLGh>Z`{GzXQCIv| z-qBlh$B|4jIbqkq6<&q->dB;oTK`P^;)6oq&EzD~dFV_KP+NyEnUE+dYf3Fiw|~Cu zk~=rQV`dD7H>ArAHi8i3bfK3tf^=@8zx-L!i;~Z05?>)+c`t11hhMn|r3+k+ynlUQ z)nc>b%sBJhn+yYvM&FpLUq&M?OmcUHqDv;s`uK%5Yk~D7{6>ptJakweSG-; z^7I6nIV>=Zu^Vq1rZvjC({}vH0`ToeLq3(#G|YYc+Ubyq-SAnXy#6U%#YOBt;)8 z3m-3Uhv=}I%zqn9>bjgeFFgF|{0CAP`~bXCd1rNN03H?OnmM2R4;xeUW=$6D2z19z zEG=f0T^tdGYRpjX+6SwNpm!ai2_}c4gUvfvkQI;MidcvAQMndIP-E%%UL!C@hi-v0p zkKhM|x@ejF6Q}{`pal2VIVGLXTghNCf+Q+avb&?(rjY zJ=8p|%c~O}GfKg6;y3m%h+8@e4_CaO+77?zSpB)Zg|}`=<4(jL+$No)eXG67r5`|I zg1x}o_S9NRA^N$QT!lb_f*p=fgN$mt4pR03hME2cPFMJgU;I|ZsDJvvk=yRf3OtP5 z!gswK;lp}yI`dXxA(Iy0L%C^!V@u4Z#2a{d?LkC+_%9#O%8g$#&7QTyy&NuJs1gW{f{k#IT8WWF+7Qk>C;yDG=8Xbvfdq%-5uwiTI)& z|M$J;NJMt_|G;~;T<`N!a2%zth)3J1Dsa=%(!(HlD+3836h6KoZn%Pw%_P`g!~`wbs9L&Mx3E0x^&H!KNtfJdN}J}MP50p(rX&nThJHQi?>(x{?J48dx6xGIm`>k2z@qE=)qnVWF8kInGS})| zn0#lIHhqwmHu&P?y^U{H^=#I96l&&(HR-fHzvpQ7w)~{p+44(;)QoHgZ95}l%5=!Q z3%ep2rp^z#RvwtIaUWbCG(L&Zr4#wXtr$*0kR{Mcq2$xP-sYlW-8?>C?-Cv!ZP44C zV%>aVr;IaoZqTOx&Nyw%)FGZr7}e5Wx-`-oF%AaLWi5;!yIw1u)fkY!pOuyMeci-a z4LF6ph7bO_G~-VR#6EHhREPeppI@I<{rB`C=eG}^>F9SFZxlY#pV-S{sJDHujuzRI z8?kNK$^1i{lA_E_pEiEq`m#Kn!(zlOVWseEjVFqhfuS2hg4f@l?ic}?>6vNh^)*}J zLC>k5lXdhd)?cWF`(>al4wsh|G~0;h?u=7&EPVMwc5kd!HmijhKO@71#hzEKpL~!G zal{Dp3ahf4{4_UIeo#*~jxFppIp5bycIda7P0$>VH%2~w8e|b0er3a#OR}!1DB~`* z+vf2`nEdxMqZ6&Is+%P9()arNO%5if#Dpo4nD%~a{F1PzkuRTLkA9$b>1T>-N;~)E z>|2Fh9}2^$LVo&|mHar0gi7Sf`nF{8{;_Je8;^G+yn6lc_~Px6M=cWj*muN~X}qv~ z+0d|{tbA|UFS{mR<73R?gp9hzLHT|1;noqZ_j5LS8Xt4Xd+kl6^!-ZT)fIi?1{cfj zf}2h!&kr6r9(54Xs`mAr1>Ra8Q}p$_J_wL@%J%pL=wF+gxc_D3_4nz*0~(3JCbzPW z2_;bV4ep5b*1n}6o%iOWrrJZ=%7}I-K(9gHnCH?P9|R z)+~Q5ZZBg`qH@K>EnBFy3pNZ=*Vcmi!RqgMeLy0hq@xbnW zNb-=^>nBgBq*{I^zI3@MzdtJ^N4fjL+VM|)`reo3Q>{JfMQAI|a#i?O?=0Kz&1>wm zz`Xq=6q||v!hth8NV;t+uiix)9rCAp^r)O=#|g}1h}v_R8k-&ge?YaA{r9&dtJGbQ z=Hds9x5Fu|jfVy=w7jM0@9QHTN{cdc{6WglJWJ6~lfBaIhC;t0uR5odDVMTfYRlq@ zgjWyPLv}Gq><-$bSzoVixNCYWg7=7- zi+6TJoI7JRR+w1U#V z4d>oHik@aXWoDO=;Ye|F;Aokcdj%FjVr&R8zBEb7`w_H9?Ax>d>D zyAVEN?JF(3@Fwy`D_0v|{W1wpqJ-Snxfe%1pI-QaKE~YZS}{}vg~E78(c;iS^d{5q zNfrG-F2nVmJewz@@Am5J2eSzM@cJ`zb?6;0g>F=PekW0WArC0gf1dURr=kwgE8GXF zTl2>1L`C*Dt))+RF&_rxx3((WZ*ntQ*&}fk{OU%2(!eIQ$+1c{3 ztxoA&Y8u7HS}e~O4kDp}NfZ$n3o($b$P#CBp4W#)Kme{J9H5w3Swq&o<* zquyw{-Y(+;LU$pE+)=PHw*L3e#c`IcVFjmO*7NJl%|xgCXj8MF8@c_?h|eHXmbffY zFHU!3Esln?Q`I}YbK4#jY7%a7HJ?8JLw>F8590p(nYt^^Jw!vxu;tMDk~=*I>kUYY zL=K8r_+I;v8yuh?Jo^dw8DS}@2Y)XSEUbo6kKrdel(Q66nm3k1DBc{r`KIShV_U40 zdFz+WHP2UW158(kBugO&BReZXz^zDaFrGf`-E=-Ae*s?a`|{+Zo8w)!%WxzSSzuBy zZ1IjzaSR@+7RH*eR#w><8y^&piio*YIn?EiLMtOD%H6)WDqb-QPKOS-Map* zwf>`M8?i}hC;5IGdP~vEV35IkIsM`n^5?c4f0jM#4KfNnudcvMsj&FAi5+K*?l}3$ zyB8GMYvHnLhC}nX6OWV&;Md1rp$!p%XpZcBC3HhZEt7m(Gdu01$Uuh?HnZ+fude^Lt zNq-MFv1#55aE!!JL6-8yPaO1n4`okOCw;zKwo!OOs$OaPNRACwXyVqxd5S`A;Yi@u z8uw>JKNK`22UJQ(9Gw|;dgniz1Ga(hiwnFuCMQytmpz>FG^Yr}$~Sx$x>F<}1E1PVVQPl*%M= zQW}T%OE%H##B)BaQ!D%{Dom1G)qZf{jM~8jAu+n&bA0eEKD||QChd}zgcMb1Sof}~ z&PcL_A*;_X$#ibKPQBOB5q#)sSGqi}kK$?=Xw#;zqYrTj7J2St<(Gi=}gto@?U<{K%X_Tw@ug7<_5ci?eIw2^|N*_0`jnWRLzSwn-Mh(FcIh#Gz4Vk|ErzwdEFhcu(6 zaib&E>0^d+y3G%rDwMl3hL(5#o`z}_IIyfPqh{*jbZ?&s=A>Y71zGRMbtjhiDK#G_ zhzt7vG>ZTA^-{2|!rsx2eE+lBvIq5=+2k(2xfO(y$xQXW(D`S|5_8!YO@sAi5^PRu z`+g`o)D_fO2)pId&-ec#^Dz}82i+{@HxiBRsi=^^?jIH(PhO(xddaXZR(JGZD|F4q z)lduV@;&~lNOzZxH2(e}1frL5sn5gdq~z*aQU6I!5U*A^W-?3(Ns^`n$~W>tRr7Z( zJk-Zu8PlGhmE4hX7L0yy*omz*mmpK9A~Li2Pz_)+qHtl5_TqcFXRUsYX_Drm*g)5u zw>N097a#SdP*Qd7O;u#;E3a~Hi84xVMV}!x1ay} ztF)2Abd#dr)>hu+YlK-wasN;k4UTM2gL^)O5MTUNLeIB_g(2g1U^Hu5GjoS?XZcC8 z*-VOzpr(vu*GD@|ZsQlwae&o^ctAh^b+?;?fHf#<=gnJ+hBqgmpZRW${)s0o)H#2KB_TC|hF#3A^Y=^Sx_9i?4c%AcxAy3R$kzxoVdutSCXKUg>G2nwyNsRui$?d zK>~E{?Fx8GA!%}m_zhNk!)&5yP*70K*Plyx)sDP3-EKwJKY4~5MH%-+T~y}%kG*oG zBd|E%0ow>O7|4?kSXD`|<7z*!EPY4Iwez;QFU01XUfsFLCPre?FtbJM@8YRMEq#)J zldCR&>xma=xMIB%uudP1#owh^RvhW*>A~h5756|<{IphvP&ZRnSu1(1i-NfDU(p&K zrA)}5)w*?X;^Bsf*qLRizP>(?H4#BH;!S`qV#8pvWA@}UM%Ag^yrM*=cq`|_2aHU2 zx3Em=N3Tt);&wE;^>WgriPpbkvZJ5U^KajDO5bR$#ZaJfq+;4ic=o;B+i*XLyq&<4 z^^aX@4XOVZbeg>qp*(HZGIjdEtV5wAU}e+;OsS#i{$1Ow4N)Hvc`NLp=@gx>8Oh98NmNO zMDSW|CpST!Rxv&vFC-MNSm4I1m#E&}+E(&t@9`pqsG@Ia$M4?;C64n<3u~7c3X7zw z+RrtLf*V7*=f-`AB1eK~4AQg(Y9cIISPU-`Hqb>{QRYWl?bDaZ!7wcX7Uh#CPv#4f zf*85Z0#~Z5rDqk5;fHAu+d03w2h?u|ITr;q6?pWL#!qpj%M#`R=FH**bxf?9P5l`Y1vji1%9 zneN@?n}d_N3$Nf{>hCkgsiC>Z%Wpj#`@@)nqqf3xy>CzPBle!c7+tLYzPW}l+V&&Z z4)O`}`7^`YGMY|uVNAxLnksG9XnyPpI#>8w=c0{TeEP?>Z8hxj86O>#Rz?nF{Xsz( zzLOJsgA0;W3RO|I1MjTtOtiEXQ_{HF-L;a5hk&Z>QB6E-6l#-SFY&2kz>6H?hKaQN z)jqOm#*k^Oi+xm2OB=myq{$jqbs-lRI6h9*^%A+im9Xj-6_58Rh49#ybiy#7+JEKX?Tp=N;;a zs>+ZgIo#Lk=c70q`)gut|x!SyN zG~8MD{mor&l|Vdf{9bBn<}zkgtHaH;VoMBeSO}^Rs0r@MFP- zE}^)RgaoZ${1RL3I2pAX4ceTJ_Uh8l6n{?e3T{ow4fW#GI@6m?%Bj713GGK+P8y(_5xV2FBz+*zC`Ac5>pNLlJ|d&%A4wNdG+Te zsO6*bxnaLR;-z1n@)VGfkWw!+yi;?yo0@vrKzw(%lg4A?3;FP!O3z}6-08eK>Pn&eCsNAMe2HTwJ!S1(qAD8S0OU`RUwCJ2mk}CjZ?!6zH*9M+c4v@ zfY=3u>A>tWkCP_xrei!^ZE-?>uJ=3&7q9D+Y^3E~ArXHD73v#sNp@AC|2mw8hc!HC z**Riz2!w^ZczQzdFfw&^9Aa8|ae`Tjg#<-q*L3g4$}#NYUzh*8_|A~X;Va*nE0;R0 z|BK>>`j4DhSa$m97)d(2X9%5X8qz7R|D}R|1b_R6lxX51orqf!zGfEQl$x0Cy$rqypPB$FH zYZ-vFcdPyfKve4(A>YYucoAZjap6|c$-Qb_SmcoTi3U%ZuqlTxjZA6XAFK}dKdTDl z!3l?SNT0y|4&0O0!-jWu&ii^j5Y^y?>qFaZ(adX$y1xZr}HRLD3h$RmwzX0)Q@P z>I%$6r;Fdw4kt4**0wUyvP;#On=_>U`0N4G<5j2h{Co@q-sYE=Q?U)os2#wXY`^3^ zi-Uq8J}==|cJuA=hgPu>HET8%;&=^F0GzxCmpUe2B;W^&3xIo?A5!LbVJZ!8MLJG~ zx3oB}G!z+&3)7@a(*sj$=1%`LL4Pqpb9|uweHo_`y;wCB4|#LuAcSN9|0X!j30MTw zBA-6Zrzm(g;AN=!SWjQs_BAe zxFFC&YPE&+;xec0z{0ARIYDdvp(h7+u+K(h5wbYGG?EW$Ye$zGnK->qfG631^`^VFHZAy1zVT#q z3eTJRgQV>t4k5Am^GGG|+>XTo4>k=7&@})w5XIL&vat_2imM!WRkGnXeoJ$4#?EIy zn?eeOZk6vyYRgmaxrgzkyv=wo2d@(DVLzWpbU@rH|lsMJfQWo3Jw` zl}x|ztg5n8n^lw#Hb$>1Ykx*byx;+u$Luj&w4x%a0ruDs;(lRk6CeK@IQd_LiL_8| z{eP1U7-I8pKX{1SlNfj7xA6qq6%u0ZK3sr?)1`Fy_BN*pmcPd?y=-eU|Grah7E6OZvY?I>~sFlYq z^98KzYWg)xEIZX)d#-sYAh0WU7L`BrV7K-)t7tzFL0ewW5Fz-8q>pK{6Lhn({vSAi z$7}nAUM~L?9H)jZuWzxqe1`V}^?0;|e@v9IeE9SIVoCoC!s#k&N+d`9$+Kq&>QxWu zqt^Y`3PB%AbkvOX&rw+Fac&8!`*H(F;GuGM)>^1lo8<0BRS_tSSqu%^*>WwS<>p3J z9$Kay*Hh=FizDslJmLip`qMCj26B& z`Ev8}cKH8ljsmk;a>i@;VBjDRs;g@L)Sj&p2sjo zjFs>3sK{E0_Ev+zh|>uiptcyE^}Z^f8CMVzxmWPy3F_o9ZX=vfXO1Z)BkZT+?GbAa zGOS|EjGKGc>#&pH+cfVfZl^eQHRj{$RpQ&sU8vu^y&6P$j*5XH8kr`-jG_z7&Tyi~ ztx@HAe6V|UXE}d(YZ-%OUVy%N6%IzpU@g>gLH;5!2E&lvTLXvMjl~ zaE!$=zbI;7gfbSo5<9^v#>s|zMsT?t6kAfiVK_hI#$SjC z+ZLOAPY=I)cqRUgr9d?xi8<50B)cxgMF?3()G6#ZYxotUUW_RDvWd%*lKTChqh;EO zSOQQgyAdYNAtufQtV^)RFG=Dpr%aA+=0U|j3WiEMU}%cK1HeHYZ_Hi?b3-#R3~qUF zo0OMYcEV_F$yP1Ae}h@*c|4Cs8Df=>vJ!!vl#&r2xYuS_2yBuby9$3QdOGQXdZUg5 zCRrc8B-|S6>g=44yvW?{{SC~La9oH{to_#jH+*eri)BWD&&m27?}4m3rl(I8p>oKr zUrLm&<_Av9&z(L+ir0}=PELzbz(YdPj zgFsom^h1l6R`S+yo&s@*UYw)FrzH=g;D^?68j>#Z4w;_~Qm9tqe|5CM(13_JoucYb z;NQP{MCE$7M~ZZKoA$pL!ns}kWd-f~sMOdW0_2&ANvSXLqZ@c~@^j}t%PT4>f;+aN znHk&7&Ea&eG)?_0UK-aJIv?TLy%daa`OfG&KLtw6O{8Rl17cxW=QewT@Rv$;d!`=KsMm zJerA3T(_wgWc@An*rEI1)cUQ1D7(Oer*8n?BtYx$4_1Xp@;1>4BRrLq?Vig?^+BeD zSo6(q4>k`bP;zoeJt%vRnx-qO?(^LWA_QjRHPTH>!F&jOfE*7(THu$Q8=BG6Hej{$ z=2M~LC9J2Je`M5M1>w5SUYB6Hj6`?=Ozv^8MOn%xsOg~gSy@gl|Gd-{5@l5yrR%p< zLp!3nZhM$xs4i~!U4L#pgp!n8^n0W3G#Yki`PrDzFY>|V^`pD)CgGH5LA2f03j&hsy?W{6rycmM`DDDY%nm#pH9{l2p(syZ(cJ z9r3{4Dqgc+%nXyqP1dP)ck_HbPk<~I{&bSK$_i<1mMv~Rwf1~e{b_Pu%n4(MUwSQ7 z+RWy_G`IZoU+_0ujN!^{O&78l0ZWtbf#uWF0)G3I5ms&zD%7LK)YMoO*TL=V$Ea$D zAKAH!!qyHK&wKs28`#c_7NtB8{@409?Xo1!?PMNRgFwlNg*DpsDOZhMfSE` zw;k(Skw?Fj)jT$N%K7l1HoxA{KH06dtmZJx>J3Oi8$)ImEC0E4$*N;V0)kfQUt?!~ zKrEKZ8MC3U->SrdbMH;8Ez^6im>;J|TVHPT?2?!oIf^iZ;$r8k*I7=ujo#j^;!9BR z;ai_<8yVPLG^D5JYA?Cm?tVMA-nl?)z=9LAYG%Xv--nH*7BXaB>YUKs{9*gNXQyWNLt0M*ADz&fjHT~A#&FUIDn)$8F3&-!IpQM2ZcG0%6kk&L}Qy! z!no{IAHM?E@s1m#DdJfWZRp&5zCTR>8SOq^-nvW(=RzxRME{M*K zi|y=lH_2Vg?(IeMel9WS_1PQDNSE~&&GxMOuz6>+9&&My;L*$hJRJVR zBT<$Sa+?{!60!rL{cwAy3~L&w|Myt_4=)do7!R_NZ?e#TPp9|6=r>j)Q~UH6PV%l@ z0e^?)Q+Tj9Q`iBtg>SBX^8PWEki$z|ff>ms4GpdLGy=o*tDfcMx1(AqTP?xAHr!|Z ztuz&Nd$0wjM8eJOBREYagKiW^E|{xVOMZAOYmmx0*0ZcN@FgCAI36^OFb31v zLoi-pv6vHk%CmdC-}-%U(a#*Sz509+chW$F?kaVtl-PazUof9MSxFQBcerT9?7NHx zbFgz@Bj&S;S^9VLCit-{5)JmI-sdy^KQ0>xja?GMTn^2Z?OLWN;)Fw7dR*sB3hXGZ8q(z#+K7gTq4IH-aSHKW zsQj9l!D{K9u!!#c`-{m+%%Qyx+d;dQ^y0+}&LDa$zC`UCNk~k9Mp=`Vz-;z&Y9xpZ&CbbTX2s97pxD2!tcUlzk4PXVc z>Ob3o!*LO~bPO^_oZwki<*VRs#VP2`FK8Ki=p=1y!hb(f+H0(ly3#_B0Xd!L;m=3r zYXd85Vgsys!hu#d?#lw|3PpJPp;8p=JbQEpV<)1Nlm#~aG#`MF_4*t76UQ2@qSl4I zi2tknu*;HE&Gh}AVZ9CQ*3GgByy#YF=m-@ejZ7RzrJ|;rFRslQI?&G*>k7+8+b3Hx z!q@ADJ|8%Olxh%DMwpBHGiAU^__caYEC?VJ0vqGN5(#kaPrV|!#zN@+!IQn9Fz}ZQp90Yz!gnlz>{QA&<$2MN$ zGep1~yWy%>}n?9mg{QMd4hK<^-CaJ_@)jZFV)VPC=bx zXG}f504&f>D1Ip*Ay8(glLpWjYFfoMAd_r^O&cBxF{%W`7#r9@F7@?{3W=mjyZy)pc$C;U=sl6{b_2@8HRhb1#BwhN&lC3o~?IYYtHDyn~Y5Ut9P2J01W*5H~aUC|E)H>|Nqqn^AF?q zA+tsm`pPcllY9>+1zVkr7_JG2dTxY_Y451B@{u!K!(aQ_tlz?c!Pqs1;j#*7$aEB2J-0^m`}s#3*)exqX0taWK-2`d?@Z--?}~rs+aH%RH%j?|Xa z%d*N>d!t(C+gj^gTPeh&lQeSid3dw_`R5UCj2F`*=O@@IF$}fb9?BF|T`I~JfT{xU z&-TB6_7?1e&3Q$O5pN^N3y}wVQ!$6h5TF_=Z=^J3P9udEC0`1{o+?}S0}B$-cb$RT zfw}aW&(lRRMjgcPq`hM|4vGh!KEMeOaj|cug+w;>Yd1T-p2*3(L!oqx9&sdSLGbVU- z)g2?GRc-wD&zmDX$4{`(^eV9dUmM&Z`*;zSc!R@2J2@fV&xTdzl73bJkN&H5re}Zu zzzz?5yZ`C?dyB_KCBw73VdFs@*Bi;}@_UmUEiE~o2|P%IgqK}%H?9#r5#HD}RYDlS zJC>Xeu^CiWCkzO1s5^gts+2`a`}D)u$ZSoq-m9}yZ=rU6c5JmBIpb%UZ+Pg28sOxc zcSKSkeeFn%z3!~nj3e@GB_zXVGdQ!dWDX`R5E&U2HFX$(XZZN|BCqj_xQfTcJTQ{_ zGX|(=x#X#;Q1s=Hugx{3kG~a4_7m^0Gsn z>}`r%l77P@KrftuR0AohMZkTe(U1v6GP&A_Sg=5@`NDxlH;5j+;MJ?Dm{bDabwI5>#>nc2xql+lb(`MX)s>xg#-SuzO<1nXCoxqRlpy|;AJ3zcn*k^@1J@2@@C7U5 z)AGp-@FD(ljl6#!`P&R~0rhxA>`xo}-XVvc|6)=}+Q>$ibikdDLk(|#&b?m(swzA^ zWHK;aQw-nalP_49!dwT>tj2(?{~D6XjH#gjj zaCI}A9~CIL!|V0cXNdwaTZJFdaUJ#ngF00&Yh+6*YdI_OWW;L60mr$+Mg#~et#&nH z4YHTHx!1yIM#ICxGCiJaUpmQ{>xVR!I1bfkt)_ye0Qn*ngb1Ug(oouS0e&_%d2Q{{ zU(RrVB7{j=#ZX9>gV-NrNs68(0xQ}U9{K;41S8Az`=3AGg=`MQ*@FlL?kw|2YQoK% zVV7@np!D_S^)q}Z%pF`PLB9a@LGtE6a(^XK46k3Lm4KEuKH%eR=Y@psyf6Fw`Lltp zDJdx_)rAYw)zVy;&j?bBgfeNv^F@HZ`1r9#_9Q?M)79jSnC5?#d5U7ifYTtOyvQ-8 zKbUAUEXY8vWB7Uc=Yz211Uu~VNAS3GfjAXA<47d~_%0t#oCGkJ3$_P@z1zQCzqyeT zeIcF;*N;T$K;-23coC|n>%lFHiO++MZGUbmW3lu|3+B|YazEg7UmSv|BpE~sSz=>j z5zMa*SP>j*oUS%%Wke|{OzzKNw=9xEZ#Qm~LSCNxz$F@VvJw>ikekYVMuJ95D(GjNv*`XxnWIkm0ypJh7?AwI8~K%|EtcZr$fjabV0bDV zqJQBV(GQqI_0Y|G1qTKMpkyI9obv_?aN>@~Y~dAV9fZ|Ra|Ro`a3i)DO|U6g(}RyA zO(35`z9lD$1L>sDZ!vt>rqB4FQ=6$VN5R$W)mM*~LI^#-++y z2EUCPGhxw%S}-kWzv(J_?d~HhHvw4fFmMt_PF^_A?2Qxq%`~bAH@!bs>G7%i8#$ZU z5{5wa_+KSXI8KE|hXN990p2>O5D?_p8==vnkMdC)G7fi0Y3gn z>K#!l?E{ShjGM&8EZA)C&<`$QFb_lx)?8n@Ed|2?f_WC&+ z1FmKBNIP_!;^(8hsW?Fq8nkaBgc2}=!WXQtJAgCiasbud6FKw2m?}qek9)J0p3r)zxE{ z#cq>OQg$Qs$T!!WAbsI6I6Q}i;eswv`gCWG0t({fA@B13$~A?hSv3siP!z5&;AE=~ zd1|lKG8Uh7i)1O9*6N|cZ{UC5yIQVJ4<_EghjnD04TrNF2&3{F*Ji`iZ69{~0y>3c z7wG9BDWXafii69YBs~I#eD4T>Y5r#V%rt_`)MMbT}3Cn^E5|r zJ_Sy0g=d!8Ql6xosVcDSl`jJwYKdAA2Y4xZlDYEgU*q9teq{kM_%8#i11>8XfO`7zFTGcO;#XfQJ$ldJ{1y7t#h9O%7DpF(PAUW zaO(`g!F%D}E=;YP`IcYW`)4QE$D?4RlheMt(l1&HWzQ8bMf6rTqNE^@7*9}k=^c>) z#Ve@7KtGC$NC_L6l7QC8mF=$V!~;d|+1c6SA(m$#agRf)j;d^FuA9QBM^Sjm$p+CHL&#qubkFR%3Vcf|xWvLjfSFU0mhd5&`HWT{AMTYd4b%5R@B#JYld;InJFoIcX`IZ85CJsq= zuxW5oMM!uh!v6sw(#zMcfnH2*RYeSFkEvjE>*i7c@Bn@y4c5*>c?{+k(w+k`6-j|c zqbt(oPVc0vU5mekPEWX1!prW)LOy8HV|;TD#5#zOZysQ{iAGusrVjDJjc2*e3}_-M zKue!7^zhq1)VF{=$;G9v+rsE^7FeuqQ6o)|uk;_=A1n=ag8v-`gLTXsC=x}d;gKT~ zz5jGHOnTTcQ}A-sA0Nt@95}F*TuElBllN;S7 zrZGhei6I_Z2DR28cf0^nJ0UgB)IFB$=pM2fr=0kUPW3o=guks#ogN|H=F|3NUDCgr z3Ouj86v`!Di`Wzw*P@-NogQ?A;<6rgZX7s8bGw9xWtOsuI5E5C>pKr)`X5qQ)ffoD zZF!QGW&vj)k{s0N@gv_;|0Vj2)Rzr;39U=TRK12LQ^>CSr#*X?pPzqo<66^KIGy2M zoP)jJ)|fQe@ZPYj=fWG~G!7N&_V#uZiZDEMtI%YKH#h_4JOYZD zPY_tO30Z6@>3-DMgSLX^^J$2x=R1IGhm) z11=t34gVYU^}WFVw^S~T;=(oQgcKZbFnEQDb#oeTPLbZ>pfZUeaRiCt8duYaDzQxEO^!~LQdLv<2%2F z+rr5fK65c4BqSs{SrqU(Rzo`QQf#$Z@HN({|0dSZ5`~3@2?iXwl=SahfEk+#iKYSR z(Vv>rX{_n8Kxqb(Duf|F^7bBAsfhclh6~LmNx%Zsf>$AI ziky}{uH2zwh3fC=uR}k?e8f2$47Po^wQ!lKT1;Tc5F`b0H{@w6ZK8r))5M5``We4f-LUHke3AZ%*&? zB3&McGtD8;+6M-%FGhc88u5MjVva*f*3~tk8(^$SrTe*XXTS>mn3va){%M)>qdE6i zlqfQA1S!5{(|ApBp+^#<>CdR9ng|3v! z5y-u%Nd}pk)Pu|^`;VhY=JEUPFXZ{J_ZpMk*|qQEGBPeIwy6$Byu5W=LqkbVPp@Q^ zQ;!eRNk^|s$?4Zz5|Q8F_n4Q*fo<+X)M$`smdx{UgXTflUXDLeJpH66%X)I;V^uDa z(b*%}%&dI-bK?cfg!VVJ4bM?wWlhRaS77+@u(9P$cUL-W+^hYjtTmuZ7dp;ZWp?_v zljGWFx>;UcMMvlwDDwSwUxW?^FyGL^a#uf4tiAqLn?q$Bud=M{kSTP2nHUz>%-x+P`xm%#leurX%V?0oW+l$3Yk zSDFwNFWzt0S)RW2fsvfP6eGQ1?bMsXkuGd~4rK~v96qqTD?kyqDpQX)PL~PNss#U^ z4MgCifp89C%u;yA73%~n^Cpm&Vc@Ox_4Td)*|-6?>=meM>?(iVtEChIKcJ@u8U_`W zEXHpRZ`T>`x6%8yeC` zG?t#xuC$BA9mfak?YW;`rgL?5mGIeSMb14id&>i*t3lcrcTL29X~+=1_$Vof5+JU( zD#qBK(OFqO6=Ap)VRTI7SS5R73emcc4%TPPYR@}gG`1GgrR+(&@W+bfvFxdG z1h2IJ{l7zyQGEFd)`QK->87W-f26m~(AK-=2=Tn1nH z9KVkI$A!JqJ+j#aGvKsmGy49OnFSkToX00)kYh&DcIqNx#p|;T_ zr6IKBx#vHd7!<0kU7sR9{1f;6Tu|27xw}>z9hMbRrMa(mw)iVYZwyx4hYu~oJaAYx z9MpN}Y@@Kl4sBH;Xf5FL=AQF9ThB3pY)i=g3k-AwQU4J=S5W1HrC#HoJlA`~PeKCz z=Xxj79HkRHHz$RVQy&?&y17-pu5nS4hb12qVxp!6)^A<=UrJ=T^nCHWXNIP=ppy&( z+h!apcMnKf5-D9<^S|G`2K-!m;~|c>1se|=j@KGfs9jw<*Q7j`vrdhcrxTe}K1USy{0($w z2Dw6bzy~e>B>x+)h=_>S$U>iJ6nwgm;D|^mfnS}N1aeQ|9Y_=Jqt3?ILPp02E{lY%4YO61#|FU*Ql>87c!?NHVtMy zr8i(u3#*sy%9XcM%pFe+udU}tPWAMx7i{$Pby}VtKL9C~hJo%ysF@Yvl}b)eUrS$v4MPLp z15es(GXz4+U@mki=o?V(x-#D@+IHNltrE*n+de!jTVMITvvWgHk-+0?{qmH&U74Q> ziJ-??f`r#5IZ8I93N-**>VjUA4_iQ>0vNutE*%s{E&oog!(Mp-+Kw9lK~6Xv z4nDP7-Rs?(R60wj^zRypO-zq7*@ z7y!BP?^~&yGWzU~6H(E6&_Vqh@`)jVE7u1X;KZ>~8}ZLA!NGUlXxFE#=K7yIfBt;A z!FZa_4*oy51qh8+0piPQc!%OH!PO$Jfv)2^x(i@{GuoI<2Hla)rK|XwHN-c?9EP{u zy1MceJHD}u9I-psSykx$cl^L;q7beVu3QK_Lyde_G@Y!sx;Dk1U*Ro2v+C{cuKg3w zdsviuLIP;NudgKP0qPTq4^_#kLj5&h?@rWnP4)fJ3JWD<@|IfAK7Ja~*ccVW9VV53&5$MKUBRUwl7+G>WPG&P1Fsy-s?(jTNVE~ED z{a46~3SRTL#_ao$^tDC{%fdpbG-o1{!d(5!>gwa)G|tljkwzUbNlt{A+E#;tUqhhj z0ACHzkX+EQN`3Y$^1hdV6wFJzfihjg+e3oD)SyFH{9jz4nm=mO6ZpP!^Yho97!rh_rHl#s`gYA~a2p!r&GPh& zfA659md3Bk2Do+=WDM5!(jRPzum4Vc!76n6=wJ7;8sM==)O$H3nt@ePPbE3fRsfMt z1JRY<_}C8*or`Tg9ok7RU$O)Eac|>VAqmKSy1<%4K?e98BO3zJEf`nQz~kTT@Kff8 z&qCvF-?;qZD*DPIZAF!Z z)!y^Rb=BrOT<6rBdnLr(bNc%E<5i)oLFCm(xPOQ&f6F--F=(phFU~}^ba?4Og;21a z6#TbiX-2rmb6kA%nu!0~#YJ-%KxO~(SH)$;Q4UwP?gAP)5U73Rmq?8#0FuxW6*erJ zSOT$97dTqDz^kvb75#>r6xqs=9u-81<$9gBU-mwHpFT+ci(}%4!@`uD=0$RH3j@tn z+q5UZwSTJ4bv!!$Vv``w5@sS%TZ|qmAh7BF)4GYrN-lp6<=W!_oj&ewRl_gL{+tGnaqFP>w9SEPifA_(a{$^UcL#`m`TXB1w?QJ;=^G}BQuYiVnu18 zVo~WRJysRM!P@7Z^e_?!n-m3TlA%PMcMl>5VX=S{kVgpT(k{HVzuVz4C||-|yK%4y z|CMW7)N(v<_Z<21mvKP)dbXY)!`l3J`t2Wd(?KDhY&v1O7j0kGd>_<)1~+c7g@vVz zyy_QZ0#43-d$tgF6bdjVtJN5x|A z24b@V`{O^^WCgSZ3uAuWGctr)MZ_X-Q(YiN z+$iXeDM}0BbV8GC3kMG!3TB3}2xwu4X_(+4TQa;V62G$CD;uq@5D~gznUck4DlN%ij1~bC&EH!y^sqpcOif>Wu}qGf zl@n3AbqmA8L;B~>9~foB69yhinip6&JV~?0L*e4aR@hIJNqDSL!2yM!h3bR#(J;D0 zFn{i=SG(?r&yBq+9!SV5WuBmWZNHK6K`-5;!R^wAzizT98t8^qfsr&?tS#%_*S zqe1v<-u#IjtW__F}2D5{fu3>xhFTfbNP?CiTVpG^C| z9<+Mlf5=QsasHl8qvyrgcYHgdDIN>#lm(w;+dYh{ps(yA$;`fe6MGPU%c4fer?ftf zMUo!MQatpbFWhVJ59XQS2rosz!fa=S9;jX@O9A(bkgrFm;NDSzJ_7 z(g6(zAKgr}#L!*N{Ex_F41pdIFaUB>fMKOF9`kJ<#_KJio-EXFJ&yu z5>_ilmQd)Pl6G++@?9iVGpfx%01j{5_O?rjYM$RZ@X_FC3kUcfa3s++drSR~Q28Yx z#@e$aB84lqH%hkOYtjwE5M2bs^kY0@I81m+P{;%W_`0$e zbXQ~!xG1KpC`UzSWccY`?;lSqEs2V$^;g0pcC8?QnhF_xK^4-i-?w}Xx&%<_>#_o% z2XfVRu<)us$;o=m{V#ont{X8%dF#o3A zzG4Q+-N+&x%Noz+4C~yk6pjbD+-=#CWoGNzP9qAX3y6;%WYnSNM>Vc@z0 zow01hgm!5OuWE`MT1Pj-^kUeOkUNA3H0wZ{4s;xu0}-0!d!P-qC$u}cLMQrTzZGbV zAyAq7qDWDA>{l3|1Hc0;7q?YRwZWnrKU+2n2UWiid2t(@V#H4lvDz%ijM=Gvfe?xz zcxo_-bG@5P5A=|$P?CoOe;diEATE^r8f`@ApBdBhYR$v^r|aNU_rb-gNg}&A#do*= z9d9_JZsM%r=;d)sIm{ef^gB@d2wx`bTkwM<7(bhRekr~E@uIUlj|~H9J(AUV@221G_#Q+i~f8 zPK(|Y7S{gt6c0(dtC>lN1UiD=BqSh+tOW{@7f?um>&i_~n^p5>N6&r))+-_#r=_FI z2eT@mWrX(+F1-1!3tF1Jo|qmEl@z_FLHpy@Bl!``@^T>o@l28oNVNp7?LE(HPuW#^ z`uc8ykqiu73cn(JSvU?+t$=!OA8(YwXu9DVz@~1t;0uLpQ$b+MjnIjKwh#u}`jad7 ziu~{k^7FUrT2AjQ-Hz#*qot?Uy;O4dI%gw8tu3Kz1tAar*Kx&>pbN0#Z^J zKo4YQ%Gvk`5tGBvOBV4!FHwD)rd4pu49>;+t=gIOzq6pSHG`eM+{li6*cZ6LQNVNn z3M$eLp;~1RXTzZp`EQI3Tmi=PA1U?VT7g~810RzSC^Avv?QcG`4^X3TU%e|;v$01b^1I!Dvn0)Ux|o)7o_)g1I4JsQ<6DKb`ZO)xzwGc z1lh8v|Li%Tgn?;p<{~1D2h&{_nCSrnHQx`J03l~&(W;pnQ>h4zZysnG%pu4g^a?E_ zFhLo}k){WGnsW`m03t&`Zvg2Ka;1k6BhYFD7pA*2D+HVj7Xj405_UhoPnTfz_$ zA%Ot#djZVij=-V=v0W6|&7L=4Ot=N5gP@>)2qFmq=~?~G$BQ-m5z)%`vU6`NTO#Kc zB*i~)@dsmHxNV|^(a}A^PoF)*fEg8hZ6mCU8L*b%mDs%o&xL;0O5_5XmiFZhn5^a6 z0+$3re{aCD6a>9Tkrw{rUCITuFlF&+E8{}Z^ zu)^Uaf|EPu%L4ihw_E)s8dw!5FIu%s3%GK>7CV#h4KO z_!%1--waSsQ$s-aD{#<^yTZ?3df*BKIbab3Rpt@W|AJY)g!^}LWL-7Eb_D&iCg24! zz0=_?S7M`k!lC`Agb?Yn<0J3{4SW9ldE|NYl*i9m#@Kuys=$c!25fWuG05U$9x|^m z-S|?1?Afq~)bK|Y-UiqLF~ArZ(S${ldzJiU%zwl-42FIi?&XWZLSpeb4;n5bs)j;% zo0pK{6J7|!re64;4>6#Z*kw+Hk`jMGl$3^3trbR8d7hG34>WW+Jg|2}Assq^&B4I4VSz)BOD#Q{`Nsj5E70uUFVzxk)%;`&VbqH`Ye(lhPbd6AQ?2f<7ZX~ z0y`kg8I&pFIA3F@6aL{0+Gm8|h}2849xp(u=<>NtliOOfh<_RgPc3Z@Si#Q{yKK6i zYU|=suJB77+&-a@&r|r7>Hsm;=TuTaSquO1b-pZkDM9>kP7Z~B28*ki|X=nes@h^s{MC9hP&Hv=g;26&z{}ZxP%PNMrEmSxkcd zSi+;%2U_5)37~2P^giI0U12-QNu-O#{*27a=!wXNgefSnp(ce5;lbZg->8J0w}}}s!2=cu+2Ybt-oys{{shs0z$m}@ zfBk=uJ#M0cw-F|G<5O=68!-5 zGBR+AoY+8w8_32En-LrX%Z}%mWuoEj0}-g$Y;$=eu#^hzKUVThoXoN@9|AWJ^Z#^q z-SJrd@BTp~qsYt(l}$2A)5xQgl7^L82%#jtR6?SMCs{>CWsA&=P)6BFb_$h*3JqnI z)Omk=f9G}1pXYV@JI}iB`*U5_dtDERc*(5D0e-DlGP1Hz#Kfk_u-!g4CVTc%=i;e> zM^qUkgxdYWnlnQdIGuS)A7ey9Cbwm+34!v1dg+eUa z_*rq>y-{|INm^0A2R{g0BIE6N=YSZROj1vq;8G027IheU7}rX9;UV4@CZ9h6QG(LF zs<;@8DM~{iUCFtjrRD!39ha=?c7Vm$F(U0p`T#w<94 zmf`O^%Oua7z;BPNznB;HTt-Zgc5eIqtyVdqRXNUpoFeGUAfDZQC?Ei7-?`LO=gX?< zHyevjkm#0PtMiH!aWoEo^ZjqtAl;%R>SuO6woyK8Is5LF;czf{q>YRq{FYTzBsjDC zD|^?-=xDD$rBZKmO@7>L&*>c}d>zrBK>?<-h!};iQoaEUh)0&|G!F3X_k zM=2j~xSAb~X_i=?O>eHro)!Tuk=Ogd$KX6mqogU;nw#6Fic05) z5}AQ=dgO-5mMQf$2NcwbsHyyrmg-dQ2*;5*?1gJ{x>58Was{A{;=B_ml#EV-R3h9} z%0O1Kfgp7nLzGPdoy4}E)0nb@6NQ9tpXy;#F6d2Sd(a^z8Lkdom@ruWFDu;h5(nr;VuAm1Vcn)8P`u zc6N5+va%~7MQBZ*SZ#N z52OtojHs~F2~)u|1{O9MeFt#6&I%F9aFnbaL>di;BTgYAF;RBzmdWgW%paBk2@JQ9 zB59Z*bh1H^Flj-Hl`_q6C6$$VHWU0hq!ZbX{PgrUT|)6pnT~2=COAW!W#r_ZkQi+v zBL-Yw$hy#{TA(B}?Ryn|t?Sd-_~#QVIF>xW#dELK_@1e6#;?V<;=~>TJh=H=jFe!% zebb+_lDlUL^4v8OzpqK6E%p9f(yMl_-iFeBNU*GLK$*-1>Oj{>#_^HWn%`=eL>l#m zsia)ZzV%y;L|gZ!1<;S&Q0CU4wBag+!gupjVz%EjF{MLeVBj+CEkxq0fm90g4dNOag3vI7lq-8-zxjGSW8&LfB!Ief430|a>h7~q6C%4O;HQz4 zZfR|$YHKr4xRZ*Cinc4M-BT30apPD?+{ruBwJ7%(Y<`$Oa0`Q}c_n@pa@dhn&fLAu z{P-xR|E)LQRUA~4z7!38RuuZTpT?hkSJ6v#4b?M?D=jHw|93=MpH}L4{kr4PD-X#; zl&u|OPatVhL6EmY`eLm5jIbvv^=zY^9zNwSKVDV>mO{H5Oy~l1$xpCSs1O$(r}3su z2t0-eku=Yp6}&0VSM_QdcUhdE>%AuB$GO0odw5J-y$71*ibCp(pPVxI=KNPG22HH{p`pQa zwp?yhNhFM z8R-C;?7a`sSr$9}ZxF}c$7z?2g2u%UBUu40%z?v8mMjH7Wp2`S zfj}tTS4nF|_&D5`&_PP3IM}}Jedcu0UwfPp7j_@$1frY=Mzm(b25zvNf#K+4>|ss0 zUR~|jQD9CDFRHG7!RJJm$Fai+JHiJ1UnUA%KBsXuhsmR_5lc+5twsOUt%V9ui$D=@ zgv6r_1caRGMnyLCU{3NCgqj@Hj@5_q;aS~cc)J#Gh~cf2$NZd__qo-Dm{hrafHknP za`jeLQUeJL(o}1YxG}=?p`UsxcEPy-1tL@W@+drH#K~3%=_%8_p1!1fd(=$!^9$3x zlfe5@@gRa}-VhZXU7{318+b^8FUr@l)1g2K$B;xNtjjmorcqAm789 zM}Ma-hopi7E5s2*9~~WtR4DC!$>!XTXG?h)_wFgqO|OE#n?w}@a3uX0#UIg~nDStP zge@G>pd{_tW?W1Gdq37AG4_xRI-7EGJ0aqH&z<^%3vKZan$Jwc#6O&Q@K+8=5J)IK2qL7i1xyhjiaE=hbgz}AKH{$`&LZ7Pa{msVZ&7)NiQsCUQ z4*U|0lYz>KPSV7}o%!PY=S_kfEO{KlX?Im{|@&zW}sq>*z3IND@AK zXA9M7pu6(dm#%%fVaRMHzz^Ivk{dS~V=}+X0DadlD+Sj6r9;0uKk0HAGfme2xjqrU zo*o(sFqLU;VK$ed;{HA?l~}mv%Fm5S#Cpu+IJU8JGE1&0$;)sHO-U*)=G7jHyDDJx zAGobsE7m!@;BQe?x3Yzac#M#{)It4a5w~*1*MC(oFJT0@Ep$;@m-6(fKWLJom)SR7 z^l0q&RaGRnD((40Q`S76qdU7fs!N!URaW^_t=5`K9y`0G_@qGKw{N58MZRBfrU%zE zLUV|nI3~juq%IFnj`d4*L>$kLHRmg>&Ra)kmRT>*8yHxU8#HjIq66nd8E`%y8U`t{ zw_-6i7LT=)<#KLyCbO!uT*iN090l_X6E1IcVKuW*_%k&t;K`$Y#3qULS$g`Hj^2sg z6HZd$d{9onED8V}Llyc~3I%Kxew|H2Fb0_x*f8W({c;YIU-#WWb76|d%5T9Fz3egc z3y3BVK+5rf{QTTi!Rz^H!aTv_<`Q04lr5~YvWDJfQQ7Z*6~wsUxvNiNtT?Do%V&)DOC87#DX%I9XUukCN()!mnlIv*2C z$7B9$XpgFo0@dg=gsw2S39&qU9|iYm1I!{e8)K+RE))t^pT4g4;e<&H%J0)-tvU<# zKv8c~LjecH6S|VMhE<&6&yZg^!-AN1>-_nMw2Jv4&ftc8j-^YNrlKPR*@enNHX#g% zmdkiVBD!bKs{LMANSJ+` zXb?j!VDM%X-+a5e+PlbkBa;-*>8kk-_;aF7_UzxU2hA8pFCShr76^sYt*eblYNg#P zwj>V!W%n)oHyp1(WL2&_AMtP#*cIS&K>iic<4UsJ+cS6Uc;h*jn7A{_MNtULLUb>` z;M=@QwK`nd5Ybu}e|?hvjdLNe8T(sAB+qOxmXC;)-oK@#P2k)^An(oVQtbdpbkQjsA8ynNLxk4|;48UK!by4iTqwpU6F7bDt2Dvq= z_`DUe`(>zJ_1H+(0a-T8jn?B)Y9Cw`g$y(gXF_LUg9V91x=I|g1UHaI+N}JZPoGM) z__?s7;r)>A>AV$z+AjAQXzjT(ucO{0X;RFivg+dB^=O~ABFp#RXpEPm>)XQ!ee?Y% z!w}|C>kE@X4SY_9t{wP^>*1_Ebn8FHcrx0vdKDGzAueWyRUYsBy(gAx*A_ z4-*40B5BvjDj&#^YiwY=c#*T((9f^m7Q^sY?_^J@c^=Amm(wB$53e;4m@8KKr``+= zSOEV{@+y9M|0+z0P8N|fYnx|Ap9vc$_(+QTm(n<=Q_Y1aM=*39x(2jj66Nf z@8&@G0k&lKdA%0C5lg>4^8HLd7S(E*-aNj4X4wjXd%gDd$Cw}5w~XFtp5V+eo;<~- z=HeW@Flu<#{qL{dYBKi_UL8)}S`^(RPkki`d4cB9c^m5kO*MNCP+wyNT$3z&%LK{agxg8XC*JJlL{?m+f@}#yT<=n$U!wC z`hD5_v;&gc?ySy?R$B_71wwl+^id=YvvHH~2WFN&bG2sfwl0RYpO7BKcaA<*u=<96^2KfTgEMsSfCfV6U z{tCVcE{fA%GeqGSwS@z1SRz9vs%CfT@=AGjI57*-;* zSEM?NcF__yG&J#MD1wVSX73(dZ^PYO_u9LasnnsiB=MOm(Lb`@OZ9-B>l3SM-3MsZ zKZRy<{c$6xw{X{rAgo+_ceF17F+$cEK3T-;x;=s zx5PEm@@PQzq>=PdHsiM~FKFkF;bb{#>J@Z4+wDSBq=fOUAKzVEg%2Z_aPqHC? z7b6qZQAyFWy4`|MGrD3;&Lu%3KbY)n)ItS-MD((@KqTSbY3o&b_f=bXW%+daZA#N~ z)y{)9NjEF4%w)~0x4DB)w&8@CrRB`5K(zGG``4<< z_omJjGD(P6ZBiFJ=s7YXd2@HvdC`61ZRx%J`}L;l;#$RK#QbS@y`c6LAm(?9mYJDZ z&lkTh8MtQ@`m4p6m(Xt8TU)n2J)`00*O46=D{Y*I)^L2@V+qcOS5I{EB$W>ooA?~F zRs~$rBoEo~nn6Hm2M;UF-u>l~r+X#~_e(!H<9K&Icm$HxM_~A1oqo)@ zX@L02dw;4&t=-SD%|q{Z0xz%kmxg7Wk9jD~H?l}|zReepV5?w4*<8Qt5lj);>h(-^ zAr1_g%;>7kx~o0w zv&(5>Cp?u3AE?B+XbKOsU$%(!r3Y8=WJ%jNdhNvIT+p|`i#8U3nELqfJnL#Pu&Rzd z*?cN0D)G~Wv`1knv>Ua>Y8{tsR6_V(6euShkuOXymcHut3kfD@AFv+nu}uxw@3DoF z$B#>o^c0=go^NtrqPv9dPuY;`-_#?>QCcct7>_e*A{Zw+gZ}-6UNZ%L;B9GUt36=I zAZBqH86s&|e8->^+O2scMlSb;YqaIvJ4uCIy57bzW5_n1`cN%_ToVw^n?8=Grs%H7 z?~%Jyv?aDLK_=97Cr_zEg#4lKOWp?^XZ%apzy3fmk=VLbcyEkCK!;-;1R-Itwrw0g zj+F5QAcQ-C2xAHwbnsP>G|UVhxy0C?ytmS-*!J>e+TcXU=<{22IJ1e#l1PEwF`?mI zd%_G=RO)QsKH65u_H`d5;B8l}zP>3cYyQE^!iW~bOK$qai`Soc)7`)JU|JyxwkJQn=6}L z7By{ONUPx}P!Al~iFu(lJv~n}ew>~~r`?S+&6RwKteRh^d@tw@vUAv(x`lo_-H`&I zGA%u>;AHO#Bto&GH6t^`6T{any@7WtpIyB8W>P9(z}hCsbtnvZr?5OF?G?vRaZz-wv>B`_irq08NIG-gfI|*|MMNuK>k+Yxsj*P2_h8D$% zHX;{ktUHSY0zrvL1AcYVGHMrA5a|Roue}ykHs7X{U>l+&v2GnRWVYCQuDgH#HPEJX z)dcE8E%SI+&sS}R6UTb*BN0ATKkCwz)m6-h<)d7(DV$@X5QH0`N|RXeS1)SN+|SNW za~{L2(6iS=W;=;hDqHREFr6CJKcohjPw5?!R&=1$Ml0_Q1t7XD0eh7YZbv7l(jI$1 zKk*$_78)Z-K2U|O);R09!tSR6Mbuw|VpL$haQeF)3rMXr_n>R3c`8epeZHLKJ3+)} z0J|^)p#{r^0AinSw2775*34QGZ2kpOy!$mNx;oLsWDEsFQUd6z< zh;4LaWQ2C`K|&h9ofISUu{WBvC}^=Z2myo(!P%0f{AMVdxMuY)ujc^)SkW@)XcD^# z51}`{8A)zCaodN5s61A(BnkR+OKJ&I=8{01V5P*-zy)F9TVI}te}4b|QS^1PZRFvX z3ignYke5}yTLEXS|M?SUw~w&Z^!YYzfO&zt$x0xTmBS98-FG=u5e1XOFWuOe^GnZ_ zKN(BkME-2ic|lSMqzuY<;64`SrLsgUPvStog3Jfeys8RO11awKeNz2YqdKEYPoIv> z=Jxhh$$kFlMT5GU*iS$jg9u{6Oy}3!_F!KitJeOR(R| zt*x!05N3hD3>gI3$;F2`KD9mL4KT~(QQdX4gfS&`)y-R3xIaE(yV|9|KzD>FLw;6H zR7)VN7-a%+*1_RT);S7tq*zL+9saFZ;*?oglQoi6 z*Dz^#vhCi-mk>HU60&iby7#6R#J&KgiU`~AnPY!j6up{}+P6J9wCVNTQ(C#ktIEsm z&11V92e>14A1B@|;@Fl6Wz>)2TD2+!WB$k2zDeoA%}q@;B!eGuKVSt30Z12EA6)IH z#>S?*o6*G<{lvuZu0CLEQ0r(~>)0mGRkO0m!BZj!E;ksY#VQK%kOLveygh5?t8QL- zck8AXXdbPGe z*<|hWTMx;i&tstJ&0|?=V(iDwcezdN@qq3EyB~yqq!R#JS81K1A}6#w0t@qcR~*b@ z+()0SLZ(Eok2k@+F}=!$ULtDr#zyNi9CoSyDzG9S3{DYh`_, +then of course the plotting calls you make +will be completely different. +But the basic data loading and filtering will be the same, +so hopefully the script will still help get you started +in targeting a more modern plotting library. + Satellite altitude during re-entry ================================== +Here is the decreasing altitude of a satellite as its orbit decayed +and it re-entered the atmosphere above the Pacific Ocean: + +.. image:: _static/goce-reentry.png + +The code to produce the diagram +using `matplotlib `_, +including custom tick marks that are based on the date, +is: + .. testcode:: from matplotlib import pyplot as plt @@ -228,9 +119,7 @@ Satellite altitude during re-entry # Render the plot to a PNG file. - fig.savefig('goce-reentry.png') - -.. image:: _static/goce-reentry.png + fig.savefig('goce-reentry.png', bbox_inches='tight') .. testcleanup::