##// END OF EJS Templates
Converting notebooks to JSON format.
Brian E. Granger -
Show More
@@ -281,7 +281,7 b' class NotebookHandler(web.RequestHandler):'
281 281 last_mod, name, data = nbm.get_notebook(notebook_id, format)
282 282 if format == u'json':
283 283 self.set_header('Content-Type', 'application/json')
284 self.set_header('Content-Disposition','attachment; filename="%s.json"' % name)
284 self.set_header('Content-Disposition','attachment; filename="%s.ipynb"' % name)
285 285 elif format == u'py':
286 286 self.set_header('Content-Type', 'application/x-python')
287 287 self.set_header('Content-Disposition','attachment; filename="%s.py"' % name)
@@ -1,68 +1,63 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>helloworld</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source># Distributed hello world
10
11 Originally by Ken Kinder (ken at kenkinder dom com)</source>
12 </markdowncell>
13 <codecell>
14 <input>from IPython.parallel import Client</input>
15 <language>python</language>
16 <prompt_number>3</prompt_number>
17 <collapsed>1</collapsed>
18 <outputs />
19 </codecell>
20 <codecell>
21 <input>rc = Client()
22 view = rc.load_balanced_view()</input>
23 <language>python</language>
24 <prompt_number>4</prompt_number>
25 <collapsed>1</collapsed>
26 <outputs />
27 </codecell>
28 <codecell>
29 <input>def sleep_and_echo(t, msg):
30 import time
31 time.sleep(t)
32 return msg</input>
33 <language>python</language>
34 <prompt_number>5</prompt_number>
35 <collapsed>1</collapsed>
36 <outputs />
37 </codecell>
38 <codecell>
39 <input>world = view.apply_async(sleep_and_echo, 3, 'World!')
40 hello = view.apply_async(sleep_and_echo, 2, 'Hello')
41 </input>
42 <language>python</language>
43 <prompt_number>6</prompt_number>
44 <collapsed>1</collapsed>
45 <outputs />
46 </codecell>
47 <codecell>
48 <input>print "Submitted tasks:", hello.msg_ids, world.msg_ids
49 print hello.get(), world.get()</input>
50 <language>python</language>
51 <prompt_number>7</prompt_number>
52 <collapsed>0</collapsed>
53 <outputs>
54 <output>
55 <output_type>stream</output_type>
56 <text>Submitted tasks: [&amp;apos;9e533683-d54e-4588-929e-984dd3eb6dc4&amp;apos;] [&amp;apos;90395f15-723f-44df-a743-a5d88cdeb6a0&amp;apos;]
57 Hello</text>
58 </output>
59 <output>
60 <output_type>stream</output_type>
61 <text>World!</text>
62 </output>
63 </outputs>
64 </codecell>
65 </cells>
66 </worksheet>
67 </worksheets>
68 </notebook>
1 {
2 "nbformat": 2,
3 "name": "helloworld",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "# Distributed hello world\n\nOriginally by Ken Kinder (ken at kenkinder dom com)",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 3,
17 "input": "from IPython.parallel import Client"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 4,
25 "input": "rc = Client()\nview = rc.load_balanced_view()"
26 },
27 {
28 "cell_type": "code",
29 "language": "python",
30 "outputs": [],
31 "collapsed": true,
32 "prompt_number": 5,
33 "input": "def sleep_and_echo(t, msg):\n import time\n time.sleep(t)\n return msg"
34 },
35 {
36 "cell_type": "code",
37 "language": "python",
38 "outputs": [],
39 "collapsed": true,
40 "prompt_number": 6,
41 "input": "world = view.apply_async(sleep_and_echo, 3, 'World!')\nhello = view.apply_async(sleep_and_echo, 2, 'Hello')\n"
42 },
43 {
44 "cell_type": "code",
45 "language": "python",
46 "outputs": [
47 {
48 "output_type": "stream",
49 "text": "Submitted tasks: [&apos;9e533683-d54e-4588-929e-984dd3eb6dc4&apos;] [&apos;90395f15-723f-44df-a743-a5d88cdeb6a0&apos;]\nHello"
50 },
51 {
52 "output_type": "stream",
53 "text": "World!"
54 }
55 ],
56 "collapsed": false,
57 "prompt_number": 7,
58 "input": "print \"Submitted tasks:\", hello.msg_ids, world.msg_ids\nprint hello.get(), world.get()"
59 }
60 ]
61 }
62 ]
63 } No newline at end of file
This diff has been collapsed as it changes many lines, (2295 lines changed) Show them Hide them
@@ -1,2054 +1,241 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>mcpricer</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source># Parallel Monto-Carlo options pricing</source>
10 </markdowncell>
11 <markdowncell>
12 <source>## Problem setup</source>
13 </markdowncell>
14 <codecell>
15 <input>import sys
16 import time
17 from IPython.parallel import Client
18 import numpy as np
19 from mckernel import price_options
20 from matplotlib import pyplot as plt</input>
21 <language>python</language>
22 <prompt_number>1</prompt_number>
23 <collapsed>1</collapsed>
24 <outputs />
25 </codecell>
26 <codecell>
27 <input>cluster_profile = "default"
28 price = 100.0 # Initial price
29 rate = 0.05 # Interest rate
30 days = 260 # Days to expiration
31 paths = 10000 # Number of MC paths
32 n_strikes = 5 # Number of strike values
33 min_strike = 90.0 # Min strike price
34 max_strike = 110.0 # Max strike price
35 n_sigmas = 5 # Number of volatility values
36 min_sigma = 0.1 # Min volatility
37 max_sigma = 0.4 # Max volatility</input>
38 <language>python</language>
39 <prompt_number>2</prompt_number>
40 <collapsed>1</collapsed>
41 <outputs />
42 </codecell>
43 <codecell>
44 <input>strike_vals = np.linspace(min_strike, max_strike, n_strikes)
45 sigma_vals = np.linspace(min_sigma, max_sigma, n_sigmas)</input>
46 <language>python</language>
47 <prompt_number>3</prompt_number>
48 <collapsed>1</collapsed>
49 <outputs />
50 </codecell>
51 <markdowncell>
52 <source>## Parallel computation across strike prices and volatilities</source>
53 </markdowncell>
54 <markdowncell>
55 <source>The Client is used to setup the calculation and works with all engines.</source>
56 </markdowncell>
57 <codecell>
58 <input>c = Client(profile=cluster_profile)</input>
59 <language>python</language>
60 <prompt_number>4</prompt_number>
61 <collapsed>1</collapsed>
62 <outputs />
63 </codecell>
64 <markdowncell>
65 <source>A LoadBalancedView is an interface to the engines that provides dynamic load
66 balancing at the expense of not knowing which engine will execute the code.</source>
67 </markdowncell>
68 <codecell>
69 <input>view = c.load_balanced_view()</input>
70 <language>python</language>
71 <prompt_number>5</prompt_number>
72 <collapsed>1</collapsed>
73 <outputs />
74 </codecell>
75 <codecell>
76 <input>print "Strike prices: ", strike_vals
77 print "Volatilities: ", sigma_vals</input>
78 <language>python</language>
79 <prompt_number>6</prompt_number>
80 <collapsed>0</collapsed>
81 <outputs>
82 <output>
83 <output_type>stream</output_type>
84 <text>Strike prices: [ 90. 95. 100. 105. 110.]
85 Volatilities: [ 0.1 0.175 0.25 0.325 0.4 ]</text>
86 </output>
87 </outputs>
88 </codecell>
89 <markdowncell>
90 <source>Submit tasks for each (strike, sigma) pair.</source>
91 </markdowncell>
92 <codecell>
93 <input>t1 = time.time()
94 async_results = []
95 for strike in strike_vals:
96 for sigma in sigma_vals:
97 ar = view.apply_async(price_options, price, strike, sigma, rate, days, paths)
98 async_results.append(ar)</input>
99 <language>python</language>
100 <prompt_number>7</prompt_number>
101 <collapsed>1</collapsed>
102 <outputs />
103 </codecell>
104 <codecell>
105 <input>print "Submitted tasks: ", len(async_results)</input>
106 <language>python</language>
107 <prompt_number>8</prompt_number>
108 <collapsed>0</collapsed>
109 <outputs>
110 <output>
111 <output_type>stream</output_type>
112 <text>Submitted tasks: 25</text>
113 </output>
114 </outputs>
115 </codecell>
116 <markdowncell>
117 <source>Block until all tasks are completed.</source>
118 </markdowncell>
119 <codecell>
120 <input>c.wait(async_results)
121 t2 = time.time()
122 t = t2-t1
123
124 print "Parallel calculation completed, time = %s s" % t</input>
125 <language>python</language>
126 <prompt_number>9</prompt_number>
127 <collapsed>0</collapsed>
128 <outputs>
129 <output>
130 <output_type>stream</output_type>
131 <text>Parallel calculation completed, time = 2.57819604874 s</text>
132 </output>
133 </outputs>
134 </codecell>
135 <markdowncell>
136 <source>## Process and visualize results</source>
137 </markdowncell>
138 <markdowncell>
139 <source>Get the results using the `get` method:</source>
140 </markdowncell>
141 <codecell>
142 <input>results = [ar.get() for ar in async_results]
143 </input>
144 <language>python</language>
145 <prompt_number>10</prompt_number>
146 <collapsed>1</collapsed>
147 <outputs />
148 </codecell>
149 <markdowncell>
150 <source>Assemble the result into a structured NumPy array.</source>
151 </markdowncell>
152 <codecell>
153 <input>prices = np.empty(n_strikes*n_sigmas,
154 dtype=[('ecall',float),('eput',float),('acall',float),('aput',float)]
155 )
156
157 for i, price in enumerate(results):
158 prices[i] = tuple(price)
159
160 prices.shape = (n_strikes, n_sigmas)
161 strike_mesh, sigma_mesh = np.meshgrid(strike_vals, sigma_vals)</input>
162 <language>python</language>
163 <prompt_number>11</prompt_number>
164 <collapsed>1</collapsed>
165 <outputs />
166 </codecell>
167 <markdowncell>
168 <source>Plot the value of the European call in (volatility, strike) space.</source>
169 </markdowncell>
170 <codecell>
171 <input>plt.contourf(sigma_mesh, strike_mesh, prices['ecall'])
172 plt.axis('tight')
173 plt.colorbar()
174 plt.title('European Call')
175 plt.xlabel("Volatility")
176 plt.ylabel("Strike Price")</input>
177 <language>python</language>
178 <prompt_number>12</prompt_number>
179 <collapsed>0</collapsed>
180 <outputs>
181 <output>
182 <output_type>pyout</output_type>
183 <text>&amp;lt;matplotlib.text.Text at 0x2c54750&amp;gt;</text>
184 <prompt_number>12</prompt_number>
185 </output>
186 <output>
187 <output_type>display_data</output_type>
188 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVdjQUFBRWFDQVlBQUFETkJKYVNBQUFBQkhOQ1NWUUlD
189 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6czNYZDBW
190 SFgrLy9Ibm5abk1wUGRPR2hCcWVrSUtoRlNLdEFpc3FMQkhYWVhkClZYQVY2Mzczck4vZmQ4SHZy
191 cTZ1KzdVZ1NuSEJnb2h0RlJSQlFFM29DU1doaHA3UU5RUklTRWdqeWYzOWdXUkJVbWFTbWJsVFBv
192 OXoKY2s2bTNEdnYzQ1N2dWZPNW55TEpzaXdqQ0lJZ1dCU1YwZ1VJZ2lBSXR4UGhMQWlDWUlGRU9B
193 dUNJRmdnRWM2Q0lBZ1dTSVN6SUFpQwpCUkxoTEFpQ1lJRkVPQXVDRVVWRVJQRDk5OThETUdmT0hP
194 Ni8vMzZGS3hLc2xRaG5vVU1SRVJFNE96dmo1dWJXOXZYNDQ0OHJYWmJKCkZSWVdjc2NkZHhBVUZJ
195 U2ZueC9aMmRsODlkVlhlbTByU1ZLNzN3dUNvVVE0Q3gyU0pJbXZ2LzZhbXBxYXRxODMzbmpENFAz
196 SXNveTEKakhWYXUzWXRvMGFOb20vZnZxeGR1NVpUcDA3eDV6Ly9tWTgvL3RqZ2ZWbkx6eXhZSmhI
197 T1FyZjg4aU43ZVhrNUtwV0sxdFpXQUxLegpzM25oaFJjWVBYbzBIaDRlbEpXVmNlVElFUjUvL0hI
198 Q3dzS1lQWHMyUjQ4ZWJkcytPenVidi8zdGIrVG01aElTRXNMZi8vNTNybDY5CjJ2YjQ4ZVBIK2VN
199 Zi8waDRlRGkvKzkzdk9IandZTnRqUzVjdVpmRGd3WGg2ZWpKcDBxUmJ6bkx6OC9NSkNRbGgwYUpG
200 OU9uVGgvVDAKZE5hc1dkUGh6L1hZWTQ4eGJkbzAzbnJyTGVMaTRuQnljbUwwNk5Fc1c3YXNyWTdj
201 M0Z4OGZYMkpqWTNscFpkZW9yYTJ0dWNIVkJCKwpRWVN6MEttT3p2NzArY2crZi81OFpzK2V6YVZM
202 bHdnTkRXWDA2TkVFQkFSUVhGeE1VRkFRbzBlUHZ1WDViNzc1Sms4KytTUUZCUVZzCjJMQ0J2Lzcx
203 cndDMHRMUXdiTmd3Qmc4ZXpQNzkrOG5JeU9DT08rNW8yeTRnSUlEVnExZHo0Y0lGcGs2ZHlyMzMz
204 a3RkWFYzYjR4VVYKRlpTVWxGQllXTWhERHozRTczLy8rM2JyUFgvK1BNZVBIK2ZPTysvczlPZDY3
205 cm5uT0gvK1BNdVdMZU9UVHo1aHhZb1ZYUjRMUVRDVQpDR2VoUTdJc00yblNKTHk4dk5xKy92V3Zm
206 N1U5MWhsSmtoZ3paZ3pqeDQ5SG85R3dmLzkrbXBxYWVPNjU1L0R4OGVGUGYvb1QxNjVkCm83aTR1
207 RzJiVWFOR2taZVhSOSsrZmZuakgvL0kxMTkvRGNEMzMzOVBYRndjRHo3NElHNXVianp3d0FQNCt2
208 cXlZOGNPQU1hTkcwZnYKM3IxeGNIQmc2dFNwSkNVbDNYSjIzTnJheXZQUFA0K2ZueDhQUHZnZ1ZW
209 VlZIRDU4K0xhYVQ1OCtEY0N3WWNNNi9MbjY5dTNMaUJFagpjSEJ3SURZMmxwa3paN0p5NVVvOWo2
210 Z2c2RStFczlBaFNaSll1WElsbHk5ZmJ2dWFNV05HMjJOZFNVMU5iZnQreTVZdEpDWW0zdkw0CmtD
211 RkQyTHg1Yzl2KzR1UGoyeDVMU0VqZ3dJRUQxTmJXc21IREJqWnQyblRMbThTeFk4Zll1SEVqQUpz
212 M2IyYmF0R21FaDRmajZlbEoKVVZFUmUvZnViZHRYVUZBUXZyNitBR2cwR254OWZUbDc5dXh0OVlh
213 R2hnS3dkZXZXRG4rbTJ0cGFacytlVFhKeU1oNGVIano1NUpPMwp2SllnR0lzSVo2RmJldlhxeFU4
214 Ly9kUjIrK1l6NEJzMEdrM2I5OE9IRDJmMzd0MjNQTDVyMXk0eU1qS0E2MmZpTis5ajkrN2RSRVZG
215 CjRlcnFTbTV1THRuWjJiZThTZFRVMVBEMDAwOGp5eklQUC93d1dWbFo3TjY5bTZxcUtsSlNVcnAx
216 TVM0b0tJakl5RWhXclZyVjRYUG0KejUvUDRjT0grZVNUVDZpcXF1TFZWMTl0YTJjWEJHTVM0U3gw
217 cXFPUXk4M05aZnYyN2V6ZXZadkRodzh6Zi83OFRyZU5qNDlIcTlYeQo0b3N2VWxsWnljc3Z2NHhH
218 bzdubGJQbTc3NzVqOWVyVm5EaHhnbGRlZVlXOHZEd0FSbzRjeWI1OSszai8vZmU1ZlBreURRME41
219 T2ZuCmMvYnNXWnFhbXJodzRRSUJBUUU0T2pxeWRPbFNDZ3NMdS8zenpwczNqeFVyVnZEWVk0K3hk
220 KzllNnV2citlNjc3OW91ZnA0N2R3NHYKTHkvOC9mM1pzV01IYjc3NVpyZGZTeEE2SThKWjZGUmVY
221 dDR0L1p6dnV1c3VBUHIwNmNPY09YTzQ1NTU3bURadEdyLzk3Vzl2YStyNAo1ZTIxYTlkeTl1eFpF
222 aElTT0gzNk5HdlhycjNsdVk4Kytpai85My8vUjBaR0JqazVPVHozM0hNQXFOVnE4dlB6T1h6NE1F
223 bEpTWVNGCmhmSFBmLzRUV1piUjZYUzgvdnJyUFAvODgwUkdSckp6NTA2bVRwM2FhUjJkdWVPT08x
224 aS9majFIamh4aDlPalJoSWFHOHJlLy9ZMWYKLy9yWEFEejU1SlBVMTljVEhoN08wMDgvemF4WnN6
225 cmN2eVJKb3ErejBHMlNtR3hmc0FRNU9UbmNmLy85VEo4K1hlbFNCTUVpaURObgp3V0tJOHdSQitB
226 OFJ6b0xGRUUwQWd2QWZvbGxERUFUQkFobjl6SG42OU9rRUJBUVFFeFBUZHQrbm4zNUtWRlFVYXJY
227 NnR1NVViN3p4CkJ2MzY5V1B3NE1GdGZWNEZRUkNzMWVuVHA4bkp5U0VxS29yczdHeVdMMTkreStQ
228 Ly9PYy9VYWxVWExwMHFkUDlHRDJjSDNyb29WdXUKd2dQRXhNVHd4UmRma0ptWmVjdjlGUlVWdlBY
229 V1czejMzWGU4L2ZiYmRqSGptU0FJdHMzQndZRlhYMzJWQXdjTzhObG5uL0hmLy8zZgoxTlRVQU5l
230 RGUvMzY5WVNIaDNlNUg2T0hjMFpHQmw1ZVhyZmNOM0RnUVByMzczL2Jjd3NMQ3hrelpneGhZV0Zr
231 WldVaHkzTGJEeUVJCmdtQ05BZ01EMi9ydisvcjZFaFVWeGM2ZE93RjQ2cW1uZVBubGwvWGFqNklY
232 Qkl1S2loZzBhRkRiN1FFREJsQlVWS1JnUllJZ0NNWnoKN05neERodzRRRXBLQ2l0WHJpUWtKSVRZ
233 MkZpOXR0VjAvUlRUYWU5YVpIdFg3TVZWZkVFUUROSFRmZzd1a29TK24rRmRYVjNiL2NSZgpVMVBE
234 dmZmZXk2dXZ2b29rU2J6d3dndXNYNzllN3hvVkRlZlUxRlEyYk5qUWR2dlFvVU1rSnllMysxeHJ1
235 MVM0QkREMmNBcS9POUlKCkR6aUc3dHBQWFQrNUcrYnNnemt4WFQvUDdDSUd3NFJxY0xsMXNxSTVD
236 MkRPSXdyVjFFMjJYck9zOXFIU0w1TTlQdGVvMHpTWnRyQU8KVEpUVzlYZ2ZOZWlmT2NQYm1jLzcy
237 clZyM0hYWFhkeC8vLzFNbkRpUmZmdjJVVjVlVGx4Y0hBQm56cHdoS1NtSm9xSWkvUDM5Mjkydgoy
238 Y1A1NW5lTGxKUVVubjMyV1U2ZE9zV0pFeWRRcVZTNHVibVp1eVNMNTVFU1Q4VGdPbHdidDhBMXBh
239 c3hzOHdNU05rRzZtYWxLeEU2CjBhb041NXhmQ251OWEybFdYZTE2QXhzbXl6SXpac3dnT2pxYUo1
240 NTRBcmplS2VMbWljSjY5KzdOcmwyNzhQYjI3bkEvUmcvbmFkT20KVVZCUVFHVmxKYUdob2N5ZE94
241 ZHZiMjhlZSt3eEtpc3JHVDkrUEFrSkNheFpzNGFBZ0FCbXpweEpibTR1V3EyV2hRc1hHcnNjcSti
242 VQpyeThSNlo1NE5leENhbFM2R2pOemNvZkpneUIwazlLVkNKMW9kb3FpM0QrYWd4NlhRYXBXdWh5
243 THNHWExGcFl0VzBac2JDd0pDUWtBCnZQRENDNHdkTzdidE9mbzAxVnJGSUJSSmtxeXVXYU1ZU09q
244 bXRnNytmb1RkTVlDQWExdVFKUFA5ZXZKL2d1d0FzNzFjeDBJSHdKMTEKNEhxNjA2Zmw3NFRzSVdh
245 cXlVaHNwZVpHdDZFYzhRK2x6T1V5V05nMW9ZblN1aDYzT1J1U09jTXh6ZFFESXB3dGlNclptVjRU
246 a3VubApVSVM2dFY3cGNwU1JuZ0ZEdDRQYTN0cHZMSitNaGpxdkxBNzRlZktqaytWMmViV1ZjRmIw
247 Z3FEd001V0tnREhEQ1BNOWpQWmFBZGpqCjNPMk9yakFwR3NKRk00YWxrVlV1Vkh0bnM5ZFBRNVcy
248 SHZUdXh5RDBoQWhuaFhtbER5RzgzeVZjR2pmYjM4VytHMEw2UVY0VHVHOVgKdWhMaEpyTEdqd3Ur
249 R2V6MWFmcTU1NFc5L29FcVE0U3pRbHdHRHlBaXhRblB4cDFnYnhmN2JqWjBPQXpiQVJwN1BnaVdw
250 VlhibTdQKwp5ZXp6dWtLejZ2WnVZb0o1aUhBMk0yMXdFT0VqZStQWHROWCtlbURjVE9jTUUrT2h0
251 ejFjVGJBT3pjNHhsUGtOcHRUak1raFZTcGRqCjkwUTRtNG5helkyUThZa0VxYmFodm5ZZUxPc0N0
252 M2tGOVlGSk1yaDN2TXExWUQ0TmJ1a2M4ZTlGdWN0bGtDNHJYWTd3TXhIT3BxWlcKRXpndW5WRFAv
253 V2liQzhEaSs4YVlXRW82RE44RkRnMUtWMkxYWkRSYzljcmhvSi83enowdnFyRHZNd2JMSThMWmhM
254 eXpVb21JK0JHbgpwbzFnN3dQY0hCemh6aVRvdTBWa2dJSmtsU3RWUGpuczlWVlJMWHBlV0RRUnpp
255 YmdHanVZaUVRVkhvMkZvTXowQXBZbE1BSW1hY0JqCmk5S1YyQzFaRTBDRmJ6cDdmQnRwVU52enhR
256 N3JJY0xaaUhTaElZVG5odURidU4yK0wvYmRiTWhReU53RERuVktWMktYV25SOU9ldVgKeEQ2dmFs
257 cEV6d3VySXNMWkNOU2VIb1NPalNPSXJhaWF6b2lQN1FBT09waVFEUDAyaStPaGdHdk84WlQ1RCtD
258 USt5WFI4OEpLaVhEdQpBVW1ySldoY0dpR3VKVGkwYkZTNkhNdmhId2FUSE1GTGRKTXp0d2IzNFJ6
259 MkQrYWtTeFZ3R2ZIT2FMMUVPSGVUNzRpaGhJZWN3ckZwCkk3UW9YWTBGU1VpRDdQMmdGUitoemFu
260 V2F5VDcvZDJwY0t6bGVzOEx3ZHFKY0RhUWUySU1FWEhOdURWc0V4ZjdicVoyZ0FscE1HQ1QKT0Zr
261 em8xWnRPQWRDVXlsenJRTEVHNkl0RWVHc0o4ZmVFVVJrK2VQZFVJUWt1dWpleWpjRUpydUN0NWkw
262 eUZ4a0pLcDl4N0U5c0pVbQp0VGhUdGtVaW5MdWc4ZkVoYk14Z0FscTNvR29zRjJlRnZ4U1hBam1I
263 UUhkRzZVcnNScXUyTi90Q2gzRFNWVXh1Yjh0RU9IZEE1ZWhJCjhQaFVlam50UXRNaXpnaHZvOWJB
264 dUdFd2FLTjR3eklUR1lrcXZ3bHNDMnltV1NXQzJkYUpjUDRsU2NKdjlMQ2ZGMUl0RUJmNzJ1TWQK
265 REwveUJCL1JROFZjV25SOTJSdWF5R2tYRWNyMlFvVHpUVHhTRTRnWWZCWFhCanRjU0ZWZjBVTmc1
266 RkhRblZPNkVyc2dvK0t5L3dTMgpCelNKczJVN28xSzZBRXZnM0QrU3dROGxFZFc3R05lR0kwcVhZ
267 NWxVYWhpZkJlTjJnazZFaERtME9QYW51Tit2MkJ6VVFMUEtIcGZICnNVNm5UNThtSnllSHFLZ29z
268 ck96V2I1OE9RQ2Zmdm9wVVZGUnFOVnFkdS9lM2VWKzdQck0yU0hBbjdEUi9hOHZwTm9naTdiVGpu
269 Z0cKd0svOHdLOUE2VXJzZ295YWkvNTVGQWJVMDZLNm9uUTVnb0VjSEJ4NDlkVlhpWStQcDdLeWtw
270 U1VGUEx5OG9pSmllR0xMNzdnNFljZgoxbXMvZGhuT0toY1hlbzFMb3BkMkIrcG1NYnk0VTRNVFlW
271 UVpPTzVYdWhLNzBPSTRrT0xRYU00NWkxQzJWb0dCZ1FRR0JnTGc2K3RMClZGUVVPM2Z1SkNjbng2
272 RDkyRmM0MzFoSTFlY1EydWFOOXJtUXFyNGtGZHd4SEdKRmJ3eHprTkZRR1pCSG9YOGRyZUpzMldZ
273 Y08zYU0KQXdjT2tKS1NZdkMyZGhQT1hzT0hFQkY1Q2VmR3pXSnU1YTU0K01Qa0lBZ1F2VEhNb2Rs
274 cE1NV2hnem52SkVMWmtxUlBhLy8rL0o4Zwp2K0ttT3pyNFVGbFRVOE85OTk3THE2Kytpb3VMaThH
275 dmIvUGhmSDBoVlVleGtLcStCc1REbU5QZ3VFZnBTbXllTERsd0lTQ1BJdjlhCldpVVJ6TllpTytE
276 NjF3MXoyd25uYTlldWNkZGRkM0gvL2ZjemNlTEVicjJPellheldFalZRSklFb3pJaHJrRDA0VEdE
277 WnFkb2RvY08KK0htSktNR1d5TExNakJremlJNk81b2tubnVqd09WMlJaSDJlcFRCSmt0QjM4a20x
278 dXpzaDQrSUpVbTFITFl1WmlmVGk1Z08vQ29YQQpFcVVyc1hteXBPT253UEhzOEt0RkZtMzVKakZS
279 V3FkWCtIVkdraVRrRHBvMWJudnVSN2VHN2ViTm04bk16Q1EyTmhaSnV2NUxmdUdGCkYyaHNiT1N4
280 eHg2anNySVNEdzhQRWhJU1dMTm1UY2Y3dFpWd2xqUWFBc2NPSmRSalB3NHRZZ1ZodmZXTGhiSG53
281 ZW1DMHBYWXZHdk8KY2V3Szdmdnp0SjZDcVNnZHpzWmlFODBhM3RtcFJJU2Z4Nmxwa3hodWJZaVJX
282 WkN3RVZRVy8vNXMxV1RKa1IrREpyREQ5d3BJSXBnRgovVmgxT0x2R1JkRTdVY0s5UVN5a2FoQlhi
283 L2hWQkFTSlFTV21kczBsa1IyaDRWVHF4QVUvd1RCV0djNjZzRkFpY25yaDA3aGR6SzFzCnFMN1JN
284 TzRDT0hjOWZGVG9QbGx5NG56UWVIYjZWb04wVmVseUJDdGtWZUdzOGZJa1pHd3NRZkpXVkUybnhl
285 QUlRK1ZrUXRKbVVJdlIKTjZaMHpXVUlSYUdoWE5SZFFmeVJDdDFsTmVFY1BEbVRVSmNTTkdJaFZj
286 TzVlTUxrU09nbGpwMHB5U29YemdhTlpiZVBPRnNXZXM1cQp3cm0zbzFoSXRWdDZENGJ4VmVDeVUr
287 bEtiRnFUYXdxRm9jRmMxb3F6WmNFNHJDYWNoVzdJeW9Ua0xhQVc3MnFtSXF2Y09CTThobUx2Cktw
288 RHFsQzdIcm1tSm80QTRZSjNTcFJpRkNHZGI1T1FPa3dkQ3FHakdNS1ZHdHpRS1F3S28wbFlqenBh
289 Vm8yTXcyMGlpQ0dlbFN6RXEKRWM2Mkpud2dUS2dGMXlLbEs3Rlpzc3FEVTczdVlJL1haWkRxbFM3
290 SGJqa1N5VTVTMll5cjBxV1loQWhuVzVLUkFhbmJRUzNXMkRLVgpCcmQwdG9mNmNNV2hDbkcyckF4
291 SEl0akhVTDdERFZ2K0hZaHd0Z1dPcmpBcEdzTEZLdUdtSXFzOU9SazhtcjFlbHhHZDY1V2hJNFFq
292 CkRHTU5udGh5S044Z3d0bmFoZlNIT3h2QWJidlNsZGlzQnZjTXRvVjRVU1BPbGhXaEk0QnlNdmdL
293 TDFydGFNcEVFYzdXYk5od0dGb0UKR2pGMjNSUmt0VGRsdlVheTMxT2NMU3RCaXcvbnlPUUxmR214
294 bzFDK1FZU3pOZEk1dzhRNDZLM3ZSS3FDb2VvOXN0ald5NTFhY2JacwpkZzU0VUVrVy95YUFSanNN
295 NVJ0RU9GdWI0RWlZMkF6dTI1U3V4Q2JKR2wrTzk4cmxvR2NWWXVrYzg5TGdTaldaL0p0ZVhMWGpV
296 TDVCCmhMTzFjSFNGM0VRWXZCWFVZaEZFVTZqenpHVmJMeGV1YXFxVUxzV3VxSEdpaml5V0U4SVYx
297 RXFYWXpGRU9GdUR0SFJJT1F4T1lsQ0oKS2NnYWY0NkZaRlBxSWM2V3pVbUZqaWFHOHhtOXFSU2hm
298 QnNSenBhc2R4U01iQVh2TFVwWFlyT3VlbzFnVzdBVGRlSnMyV3drTkxTUwp6aGRFY2w1RVVJZU0z
299 ckF6ZmZwMEFnSUNpSW1KYWJ1dnBxYUdpUk1uRWhZV3hxUkprNml0dmI0YVJIbDVPVTVPVGlRa0pK
300 Q1FrTUNzCldiT01YWTUxOGd5QWU0YkIzUWZBdTFUcGFteVNyQW5rY01ROWZCZW1wazcwZGpFTENS
301 VXEwdm1HQjFqSVFCSE1YVEI2T0QvMDBFT3MKWGJ2Mmx2dmVmdnR0d3NMQ09IcjBLQ0VoSVN4WXNL
302 RHRzY2pJU0lxTGl5a3VMdWF0dDk0eWRqbldSYU85dm5UVTlCcm92VlYwRWpDUgpXcTlSckIrUXhH
303 RVBjYlpzSGhJYVVsblBiM2lMYUU3aW9IUkJKdFhlQ2VyQmd3ZVpNR0VDOGZIeDVPWGxVVnJhOVVt
304 WDBjTTVJeU1ECkx5K3ZXKzRyS2lwaXhvd1o2SFE2cGsrZlRtRmhvYkZmMXZyRnBjREQvcEJVQUE1
305 aWRqTlRhSFVJcHJUM3ZYd2ZKdEdnRVVQY3pjR0IKSkRieUc5NGtubU5vbFM3SExObzdRWDMrK2Vk
306 NTRJRUhLQ2twNGRlLy9qWFBQLzk4bC9zeHkrZUtIVHQyTUhEZ1FBQUdEaHhJVWRGLwpKdVVwS3lz
307 alBqNmUxTlJVWnMyYVJWeGNuRGxLc2h6QmZXR1VHd1NLaVlwTXFjYjdEcllGYTJoUWk1WFp6VUZI
308 REFVa1VvS2owcVdZClhVWkdCdVhsNWJmYzUrSGh3Y1dMRjJsdGJlWGl4WXUzbmNDMnh5emgzTkd5
309 NGNIQndadytmUm92THkvV3JGbkQvZmZmejk2OWU5dDkKN3B4OS8vaysyeCt5QTB4UnFabU56b0k0
310 c2ZxMUtiVnF3eWdOU2VPNFd4VWd6cFpOelpGSXRwRkdJUzVtZTgyTCtmdTVsSC9BK0R2Vwp0WDkz
311 L28vWHZ3enhqMy84ZzVTVUZQNzBwejhSSEJ4OHl3bHFSOHdTenNuSnlaU1dscEtRa0VCcGFTbkp5
312 Y2tBYUxWYXROcnJIM1hHCmpoM0xjODg5eDdGang0aU1qTHh0SDNOaWJydkx1dVZtUW9KWS9kcFVa
313 RFJjOGg5UFlVQVR6U3JSdG14cU92dzVTamJmS0RBcGtVOTIKTkQ3WjBXMjNqODM5eERnN2ZxTDl1
314 N04vL3JwaGJuelh1NW8rZlRxUFBmWVlEei84TVBQbnoyZkdqQmw4OGtubmRacGxHRTVxYWlwTAps
315 aXlodnI2ZUpVdVdrSmFXQmtCbFpTVXRMZGRYNmRpOWV6ZjE5Zlh0QnJQTlNVdUhJYUxQc3FsY2M0
316 NW5SLytKYkFtcXAxa2xWb0V4CkpRMHUxRENCdDVuSU4zZ2hybUszYi9QbXpVeWZQaDJOUnNPTUdU
317 UFl1TEhyLzMramgvTzBhZE1ZTm13WVI0NGNJVFEwbEtWTGx6SnoKNWt4T25UckZnQUVET0h2MkxJ
318 ODg4Z2dBR3pkdUpDNHVqdmo0ZUY1NDRRVVdMbHhvN0hJc1Qxd0taSWllR0tZZ3F6dzRIWElQYXlM
319 OQorTkdwUnVseWJKcUVHcGxzVmpDTkQrbEZreGh1M2FtY25CeFdyVm9Gd01xVkt4azFhbFNYMjBo
320 eVJ3M0NGa1NTSk9ScFNsZGhCUDNpCjRNNVNNWXVjQ2RSNTVsQVk3RXFOZ3hqaFoycGFFbGxESEVj
321 dHRQZkZHdW11RHE5ejZVdVNKT1FTUFo4YmYrdDF0V25UcGxGUVVFQmwKWlNVQkFRRTgvL3p6cEtT
322 azhOZS8vcFdEQnc4U0hSM04vL3QvLzYrdGswU0greFhoYkNhaEEyREtXZERXS2wySlRXblZobks0
323 MXpDTwp1b3RlR0tibVNCK0tHTXBXQzE4V1N1bHdOaFl4Uk1jYy9NUGdWNVVpbUkzc3NsOGVoUUhO
324 TkludWNTYWx4WWR5Y2xpRk42STl6bnhFCk9KdWFad0RjMHdLT0Y1V3V4R2JJS25lT2hJMFJJL3hN
325 VEkwVE5XVHpMaUUwaURabHN4UGhiRXJPSGpEVkZWeU9LMTJKeldoeDdNLzIKaUdndTZrUXdtNDRL
326 aVhRK1pRQVZZclk0eFlod05oV3RFMHdMQVE4VGRJNjNVM1dldVd3TTBkR2tGczFEcHFJbGx2VWtV
327 dHJSQ0F6QgpiRVE0bTRKS0RmY09CdDlkU2xkaUUyUTBuQStleEU3ZmFwQkV2MlZUMEJGR0NjTXB3
328 RTNwVW9TZmlYQTJoU2twRUN5V2tUSUdXUlBBCjN2Qk1UcnBXSXk1R0daOERYcHdsaHkveHNhdVZy
329 YTJCQ0dkanV6TURlbTlTdWdxYmNNMGxrYzNoSWRRNFZDdGRpczFSb2FPZWJENGcKVEt6WFo2RkVP
330 QnZUeUV3WUpJWmxHME9WNzNnMkIxK2pWV3BRdWhRYkk2RW1qUzhaekZueDcyL1J4Ry9IV0lZTmgw
331 UVJ6RDBscTV3cApDNW5BZmkvUkc4UFlkQXptQjVMWmE0ZlRlRm9qRWM3R2tKQUs2WnRGazJnUHRX
332 b2oyQm1SeEk5T0lwaU5TVWN2OXBQSmQ3Z2gva2l0Cmh3am5uaG9ZRHlOMm1XbCtQOXZWNEQ2Y2pX
333 RWVOS2pGaEVYRzRvQUhQNUhENS9qUkl2NUFyWTRJNTU0SUh3VGpqb0M2V2VsS3JKYU0KeElYQXlX
334 ejNyd0ZKVEladkRDb2NhQ1NMNVVSd1JRd2lzVm9pbkxzck1BSW0vU2pXKytzQldlMUZhZGdvanJs
335 WElUNXVHNGVHVkw0aQp5dVlYVWJVSElweTd3eXNRcGpTQ281aHdwN3VhbmFMWUZ0R1B5MXJSdm13
336 TU92cXptVlIyNGF4MEtZS1JpSEEybEtzWFRIVUNsektsCks3RmF0VjZqMlJpaW9sa2xQblgwbEFa
337 WHpqS2FML0JGZlBxd0xTS2NEYUZ6aHFsQjRINVE2VXFza2l4cE9kMXJJaVhlVlNDMUtsMk8KMWRP
338 UXdzZkVjRUg4RzlzazhWdlZsOW9CN2gwQVBzVktWMktWV2gxNnNTZGlHS2VkeFREc250TGl4MzVH
339 OGIyWUI4T21pWERXaHlUQgpsQ1FJMnE1MEpWYXB5VFdaVGVHQlhOV0lZZGc5bzZLRmJQNUZYekhr
340 Mmc2STM3QStKZzZIQ0JITTNYSEovMDYrN2VQRlZZMVkyNjhuCkhPbk5OdTVqTWYxRU1GdTQ2ZE9u
341 RXhBUVFFeE1UTnQ5YytiTUlTUWtoSVNFQkJJU0VsaTdkbTJYK3hHLzVhN2NrUVVEeEVSR2hwSlYK
342 Ymh3TnY1Zk5RUTNJb2hXajIxVG9xQ0dQZVl4a0QwNUtseVBvNGFHSEhyb3RmQ1ZKNHFtbm5xSzR1
343 SmppNG1MR2pCblQ1WDVFczBabgpNaklncmtEcEtxeE9peTZTb29oWUxvaXVoajJpSTRhVkpGTXUr
344 aXhibFl5TURNckx5Mis3MzlCRllNV1pjMGVTaHNMUVRlTGFsWUhxClBMSlozNjhmRnh6RmFpWGQ1
345 WUFIWjdpYjF4a3FndG1HekpzM2o3UzBORjU2NlNWcWFycWVwa0NjT2JkbmNDTGtGSWxnTm9DTW1o
346 K0QKSnJIRDc0cFlyYVFIVktUeklZTzRKSVpkSys2cXR2MEJQWnVLV3RpMDQrYXVvRjFQT3pCejVr
347 eis1My8raHl0WHJ2RHNzOCt5Y09GQwpubm5tbVU2MzZUS2NHeHNiK2ZMTEw5bTRjU1B6NTgvbjZO
348 R2pIRDU4bUFrVEpuUlprRlhxSFFWalMwRXRBa1pmc3NhUC9lRTVsTG1LCllkamRwU09ZbmVTeUJS
349 ZWxTeEYrOXQyZzRlMC9NQWhTZjNQVDdmbnJ1dHlYdjc4L0FCNGVIano2NktQTW1qV3I1K0g4bDcv
350 OEJWbVcKeWMvUEJ5QTRPSmdwVTZiWVpqZ0g5WUdKWjBCVHIzUWxWdU9hY3h4Ynd5T29Gc093dTBW
351 Q1F5TzVMQ1djUnRIS2FMUE9uejlQVUZBUQp6YzNOTEYrK25ISGp4blc1VFpmaC9NTVBQMUJZV01p
352 NmRkZmZIVnhjWEF4dTJMWUtQcjFneWxYUWliNjQrcnJpTTQ2TndTMjBxc1NiCldYYzQwcDl2R1Na
353 V3VyWXgwNlpObzZDZ2dNcktTa0pEUTVrN2R5NzUrZm1VbEpTZzFXckp6TXhrNXN5WlhlNm55M0Fl
354 TUdBQTFkWC8KQ2F6dDI3ZVRrSkRRcytvdGpac1AzS01CNTdOS1YySVZaTW1Sa3lGM3N0ZGJuQzEz
355 aHhwbkxqQ2FUL0JITkFQWm5vOCsrdWkyKzZaUApuMjd3ZnJvTTU4Y2VlNHhKa3laeDVzd1pjbkp5
356 K09tbm4vamdndzhNZmlHTDVlZ0swM3pCL2JEU2xWaUZWbTA0dXlPR2NFNnNWdEl0CkRpVHhiK0xG
357 K24xQ2w3cjhDMGxPVHVhSEgzNWcxNjVkdExhMmtweWNiSTY2ekVPamhhbDl3V3VQMHBWWWhRYTNZ
358 V3dNODZKQkkxWXIKTVpRV0h3NHppbS94VUxvVXdVcDBlUVhpMy8vK04xVlZWU1FsSlpHY25FeFZW
359 UlZmZnZtbE9Xb3pMVW1DZXhJZ1FBUnpWMlFrTGdSTQpabDF2RnhvMFlyVVN3MGhBRnUveUt4SE1n
360 a0c2RE9lNWMrZmk2ZW5aZHR2VDA1TTVjK2FZc2liem1Kd09vWVZLVjJIeFpMVW5oM3ZmCnpiYkFx
361 OWZmMEFTOTZRaGxGL2V4Z0lGY0VUMHh6Q0tnMVhabTZ1dXlXY1BSMFpHNnVqcWNuYTkzeUs2cnEw
362 T3R0dklPOG1Nem9kOUcKcGF1d2VDMk9nOWdlTVlDTE90RytiQWdWRHRReWluZm9SYk1JWmJOd2wz
363 V29LZ2J6d2VGd3BVc3htaTdEK2U2NzcyYm16Sm5NbkRrVApXWlpac0dBQlU2ZE9OVWR0cHBHVkNU
364 RWltTHR5MVdza0JTRU9ZclVTQStrWXpHcFNPWVpXNlZMc2dsWlc0WGVsSDUrVzlxZTZ5YmFHCnVu
365 Y1p6ck5temVLVFR6N2hyMy85SzdJc00yWEtGT3NONStSaGtMcFI5RjdxaEN3NWNEWjRJcnQ5cXNV
366 d2JBTm9jT01Nby9rU0g4UWYKbUhtRTE0Znk3YUVveW1wc2M5MUVTYmFDRVNXU0pDRlA2K0ZPb29m
367 QW1OMmdGc3NqZFVUV0JMSW5Jb05UTG1JZ2ppRTBwUEl4MFdLNQpLRE1KYmZhbDVGZ01SUlZlN1Q4
368 aFMrcnhRRGxKa2xncGo5YnJ1Uk9sZFNZWm1OZmhYOVBzMmJONS9mWFh5Y3ZMdSsweFNaSll0V3FW
369 CjBZc3htYjdSY01jK0VjeWR1T1l5aEUzaFFkUTZpR0RXbHc1LzlqQ1NmTEZjbEZuNHRicHk2VXcw
370 aThxRHNJZFBKeDJHOHdNUFBBREEKTTg4OGM5dTdnbVJOVisxN1JVTGVLUkFyY1hUb3NsOGVtNE1h
371 a1NWeGpQUWhvYUtaSE42aGoxaVZ4QXhjWlMyNnlvRjhkTGdQMTFydAo1M2gzR001SlNVazBOemV6
372 YU5FaVB2endRM1BXWkR5K0lYQlhOZWl1S0YySlJaSlZMaHdQSGM5QlQ5RWJRMStPOU9FSE10aURv
373 OUtsCjJEeU5yQ0tvcGkrZkhSekFwU2I3dThEYWFTT1pScU9odkx5Y0N4Y3U0T2ZuWjY2YWpNUGRG
374 KzZWd09tQzBwVllwRlpkSDRvaTRxbHcKRk1Hc0R6V09YR0lVaXdta1Jad3RtMXg0UXkrK094VE5W
375 MWZzZHdyVkxxOWdSRVZGa1pHUndZUUpFd2dLQ2dMK3N4Nld4WEp5aDZuZQo0SHBFNlVvc1VyMUhK
376 aHREWFdsVWk5Vks5S0VsbHBVTTRhUllsY1RrZWpWN1Uzb2loZ1UvK2loZGl1SzZET2ZnNEdDbVRw
377 MktKRW5VCjFsckJQN09ERHFhRmc5YytwU3V4T0RJcWZncWFSSkZmRFVqTlNwZGo4Unp3NUFTaldZ
378 MG45bkFCU2trK3JjN1Vub3ZtblJPOUVNZjYKdWs3RCtmTGx5NlNscFpHWm1kazJRdENpU1NxNEp4
379 YjhkaWhkaWNXUjFUNGNEQi9CY1RleFdvaytKSWF6aklGY0ZzdEZtWlN6N0lEcgpwUUY4WE5xWGhs
380 WnhyRy9XWWVQWjRzV0xpWTJOWmY3OCtmVHYzOTg2Smp2NjFWQUlFY0g4UzgxT01XenFQL3puWUJZ
381 Nm95T1lQZHpICjIwU0pZRFlodFN3UlZ0dUhUVHRHODk2Qi9pS1kyOUhobWZONzc3M0huajE3OFBi
382 MjVzU0pFOHllUFp0Smt5YVpzemJEak0rRVNERXMKKzVkcWZNYXdNVmltUmF4VzBpa0pEUTJNWUNs
383 aFlya29Fd3R2REdMamtXaSt2aXo2aDNlbXczQytldlVxM3Q3ZUFQVHAwNGV6WnkxNApsWkNjVEln
384 alJ3UVZBQUFnQUVsRVFWUVd3WHd6V2RKeEttUWllOFJxSlYzUzBaOTFZcmtva3d0cThlUkVXUXdM
385 emxsWnp5K0ZkQmpPCkowNmN1R1YwNE0yM0xXcUVZRm82Skl0Z3ZsbXJRd2pGRVdtY2RSYkIzQmsx
386 emxRd21rL0ZjbEVtNVNrNzBudytpaVhId2hESFdYOGQKaHZQS2xTdHZ1ZjMwMDArM2ZkL1pDTUhw
387 MDZlemV2VnEvUDM5MmJmdmVvK0ptcG9hN3J2dlBvcUxpMGxNVEdUWnNtVzR1cm9DOE1ZYgpiekJ2
388 M2p3Y0hCeFl0R2dSdzRkM3NCeDVlMkpUSUdPcitIM2ZwTkV0alUxaHZ0UnB4TUNiempnd2hNK0k0
389 N3lZRDhOa2RMSWE3OHNECldIRW9rcnBtK3puTzdXWGdzODgreTlkZmY0MlRreE9abVptOCtPS0xP
390 RGs1ZGJvZm8wOTh0R25USmx4ZFhYbmdnUWZhQ252NTVaYzUKZmZvMHI3enlDazgvL1RRUkVSRTg4
391 OHd6VkZSVWtKbVp5YnAxNnlncksrUEpKNTlrOSs3ZHR4Zlozc1JIL2VMZ3psTFFOQm16Zkt0Vwo2
392 VCtKcllGMTRzMnFFMXA4S0dVVTY4V3FKQ2Fqa2lHMFBvSlZCd2R6cms2QmtaUUtUM3pVWGdhdVg3
393 K2VFU05HQVBEd3d3K1RscGJHCmpCa3pPdDJ2MGE5OFpHUms0T1YxNjJ4UlJVVkZ6Smd4QTUxT3gv
394 VHAweWtzdkw0Q1NXRmhJV1BHakNFc0xJeXNyQ3hrV2FhbVJvLzEKNlVMN3c0VGpJcGgvSnF2Y09S
395 eHhEMXVEUkRCM1RFSW1teVZNRnNGc1F1Rk5BWnc1TUlJRk94T1ZDV1lMMEY0R2pobzFDcFZLaFVx
396 bAo0bzQ3N3FDZ29LREwvWmpsczhhT0hUc1lPSEFnQUFNSERxU29xQWk0SHM2REJnMXFlOTZBQVFN
397 b0tpcHFlNGRwbDM4WS9Pb2lhSzFnClFJd1p0RGoyWjN0RXRGaXRwQk02d3RsTUpydXdncjc2Vmlx
398 Z3haMnpKMk5ZY0NaQTZWSXMzdUxGaS9udGIzL2I1ZlAwRHVlR2hnWWMKSGJ2M1RtaklSNHlPMnJQ
399 bjdBTTBEdUJZVGZiK2FyS0hkS3NVbTlMZ1BwejhNRGVheEREc0RxaG9aQ1NMQ1JmellaaUlzK3lB
400 N2tJVQo3eDNxamF6VXg3YmlmQ2pKTi9wdWZ5S28zZnNQNS8vSWtmd2ZBVEMwOGVUNTU1L0h6YzJO
401 dSsrK3U4dm5kaG5PSlNVbFBQZmNjeHc4CmVKQ3lzakpLU2twWXRHZ1JiNzMxbHQ0RkpTY25VMXBh
402 U2tKQ0FxV2xwU1FuSndPUW1wcktoZzBiMnA1MzZOQ2h0c2QrYVU0TWNIY0sKOU5taTkrdmFzbXJm
403 Y1JRRU40dlZTanFneFpjaXhyQWQrNTA0eDlUQzY4TDU4a0FVUDlZcjNIeVJrSDM5NjRaMzV4cGx0
404 MTl3Wi9zUApaUC84ZGNQY3UvVGEzN3Z2dnN1MzMzN0xkOTk5cDlmenV6eWQrTnZmL3NaTEw3M1V0
405 Z0ozZkh5OFh1MGxOMHROVFdYSmtpWFUxOWV6ClpNa1MwdExTQUVoSlNlSGJiNy9sMUtsVDVPZm5v
406 MUtwY0hQcm9HTjYwbERvTFlKWlJ1Sjg4RjBVQkY4VDdjc2RjR0FJSHpCSkJMT0oKQkxhNFUzczBr
407 d1U3azVRUFppdXhkdTFhL3ZHUGY3QnExU3E5V3lDNlBITStkKzRjMGRIUmJiY2JHeHM3bldkajJy
408 UnBGQlFVY1BIaQpSVUpEUTNuKytlZVpPWE1tOTkxM0h3TUdEQ0F4TVpHWFhub0pnSUNBQUdiT25F
409 bHViaTVhclphRkN4ZDJYRWptZmhGR1FIbllQZXp6CnVvdzRHTGRUNDhnNXh2T0ZXTWZQSkJ4bERX
410 NFhCL0grd2I2aW1hZ1ROekt3c3JLUzBOQlE1czZkeTRzdnZraFRVeE1qUjQ0RVlPalEKb1YyMlBu
411 VFpsVzd1M0xuRXg4Y3paODRjVnE1Y3lieDU4L0R3OE9DLy8vdS9qZmZUZEVHU0pPUVNzNzJjeGJv
412 UU1KbHRnVmVWTHNNaQpPZEtIMVdSeFZLeDZiUkxoRFNGOGZTQ0dNMWM3NzV0ckVZelVsVzZzL0xs
413 ZXoxMGozV1dTTlFTN2ZQdWJQWHMyeGNYRnRMUzBNSGJzCldEdzlQWG5zc2NlTVhvalF1VHJQSExZ
414 RmlBdC83V2xoQlBNWklZTFpCUHhiWFdrNlBwd0ZSU25XRWN3MnBNc3o1elZyMWpCMjdOaGIKN2x1
415 d1lBR1BQUEtJU1F1N21iMmZPVGM3UmJNdU1wUm1sYmo0ZHpNSHZOakxXQXJFQXF0R3A1WFZlRjhl
416 eUxLRC9heHYzVDU3T1hQKwozLy85MzF1dUxyNzg4c3ZXTVgyb2paQTFBV3p1M1VjRTh5ODQwb2RQ
417 K1pVSVpoTUlid3hpWDhrb2x1NGZZSDNCYkVPNnZDQzRhdFVxCkpreVlnRmFyWmUzYXRSdzZkTWh5
418 SmoyeWNiTGtTSEh2REs0NGlIa3licVlsbnNVa2k1V3ZqY3luMVlXTHAySlpjS3I5L3IyQ2VYVVoK
419 enI2K3ZxeGF0WW9SSTBZd1pNZ1FQdnZzczA0blBoS001MFRZUk00NFgxYTZEQXVUeFp2MHAxVUVz
420 OUU0eUNyOHF3Znc0WUgrMUxlSQpTZTh0UllmaDdPcnFla3NJTnpVMVVWWlcxaGJPVjY2SXN6bFRx
421 Z3lZeEFGUEVjdzNxMkVDSHhLTTZDWm5QR0ZOQWVTWHhyR3EybFhwClVvUmY2RENjcldJeFZ4dFY3
422 NUhGMW9DcmlCQzZUb1VEWlV4bURWNWRQMW5RaTVmc1JPM3BXQmFXaXpjN1M5VmhPQjg2ZElpQkF3
423 ZTIKTzRVblFHSmlvc21Lc21mTlRsSDhFT1lzaG1YL1RJTWJPNWhFb1ppMHlDalVza1JRVFQ4KzJq
424 K1FXanVhWTlrYWRmamIrZWMvLzhuaQp4WXQ1NnFtbjJtMWovdUdISDB4YW1EMlNOUUZzaVlpa1dh
425 ejNCNENPUUZZemxtT2kvN0pSaEY3elpkdWhlTDYrN0s1MEtZSWVPdTNuCjNOcmF5clp0MjBoUFR6
426 ZG5UYmV4aDM3T3N1UklTV1FlcDUycmxTN0ZJamdTeVlka2MwR3NnTjFqN3JLTzVuT3hmSDQ4Qkx0
427 b3dyQ1IKZnM2ZGZxNVJxVlE4K3VpamxKVFllREphZ0xMUU96a3QxdndEd0lFa0ZwQklnK2lSMFNN
428 cUdVSnErL0x4Z2NGVU5Ua29YWTVnb0M3LwordlB5OG5qampUZEU3d3dUcXZTZnlINHZFY3dBcmVR
429 d1h3UnpqL1ZxOXViSDBsd1dGc2VKWUxaU1hRN2ZkblYxcGE2dURwVksxYllnCm9ibTcwdGx5czBh
430 OVJ5YnJ3M1ZnOTMzSEphcklZMFVIRTV3TCtuR1Z0YWgrak9iam8rSFlSUk5HZSt5aFdRTkVsenBU
431 YW5ZY1JFR28KaTkzM3pGQ2g0emlUK1ZhczdkZHRrZ3hoZFJGOGZpQ0tDdzA2cGNzUmpLREx6NDd0
432 cmVmWDZScC9nbDVralQ5YmV2ZW5TVzNmd2V5QQpCNFhjSTRLNUIzeGJYYWc2a3MyQ1hZa2ltRzFJ
433 aDJmTzlmWDExTlhWY2VIQ0JTNWR1dFIyZjBWRmhYNHJaQXNka2lVZEpSRlpWR3Z0CnUyZUdqbUJX
434 Y1FkbG9xdGN0MFhVaC9GaFNSeFhyb2wyWlZ2VFlUZ3ZYTGlRMTE5L25YUG56cEdVbE5SMmYzaDRP
435 RTg4OFlSWmlyTlYKNWFHVE9PMWkzME96ZFF6Z0F6SzRKTHJLZFl1VHJFRTZGOC9ieDhPVUxrVXdr
436 UzR2Q0w3eHhoczgvdmpqNXFxblhiWjBRZkNpLzBTMgpCTm4zSUJNTnlTd21ua2JSSTZOYmVqVjdz
437 ZkZBTWtmRWZCanRzNUVMZ2gzK2QrellzWVB6NTgrM0JmTTMzM3pEL2ZmZno5dHZ2MDFkClhaM1JD
438 N0VIRGU0WmJBbTA3MlBYekFqZUpFRUVjemRJTW9SVTkrZmRiVmtpbU8xQWgvOGh2Ly85NzlGcXI3
439 Y0ZIanQyakljZWVvZ1IKSTBhd1o4OGUvdnpuUDV1dFFGdlI0amlJL0RCWE8rNHlwK0lpazNpSFNP
440 eTJpMWNQZU1pT05KNFl6dUk5MFRUTDRvM04waTFmdnB5cwpyQ3lpb3FKNDU1MTN1cldQRHR1Y1cx
441 cGE4UEh4QWE0M2JUejQ0SU04K09DRDNIZmZmWW9QNTdZMnNzYnY1NTRaOXRtY29jYVJRMHptCk84
442 U2NEdDBSM2hUSUZ5VkovQ1I2WWxpRjZ1cHE1czZkeS9idDIzRndjQ0EzTjVlNzc3NGJEdy9EZWlS
443 MStCYnM1ZVhWMW55eGN1VksKcGt5WkFvQkdveEY5bncwZ1MxcjJSR1JUcGJYUFlIYkFpeTNjSzRL
444 NUd4eGtGVDRYNGxpd2ZhZ0laaXV5ZGV0V0VoTVQ4Zkx5d3RYVgpsWnljSExadDIyYndmam84Yzc3
445 dnZ2dElTMHZEMzkrZnZuMzdrcHljRE1EUm8wZng5UFRzZnVWMjVtVElKRTY1Mk9mUWJCMGhmTWxv
446 ClRpSzZlUm5LdjlXTnZhVXBGRjhVL2IrdFRXWm1Kbi80d3g4b0t5dkQwZEdSYjc3NUJwMU94NWd4
447 WXd6YVQ0ZmgvTHZmL1k3eDQ4ZHoKNU1nUnNyS3kydTZYWlpsNTgrWjF2M0k3Y3NuL1R2WjYyMnN3
448 RCtKZDBxa1dYZVVNRm40MWd2ZjN4RkluNWx0VzFJOFZvZTNlWDdObApGN1ZiMjUvbkhzREZ4WVhY
449 WG51TlJ4OTlsT3JxYW1KaVluQjBkRFQ0OWJ2c1NtY0pyTEVyWFlQN2NOWkZPTm5sQlVBMXFTd21s
450 aWJSCkk4TWd6cklEMTA0bnNxcThsOUtsV0RjamRhV2pRTTk5ZFBGNlU2ZE81WTkvL0tQQkM1U0l0
451 MllUYUhFY1FINllPMGpOU3BkaWRrMk0KWmdrUmlCNFpoZ2xwOW1IRHZtVEthc1NLTDdhZ29xSUNm
452 MzkvTm16WXdMNTkrN3ExY3BRSVp5T1ROYjVzN1QySUpyVjk5V2VXVVBFVAprL2czZmtxWFlsVlVN
453 Z1JXRFdMSnZnRzBpRThhTm1QS2xDbFVWRlRnNXViRzBxVkx1N1VQRWM1R0pFc083QTNQNGJLZHpa
454 bWh4b2tEClRDWWZONlZMc1NyZXNoT25qaVd6K3J5djBxVUlSclp4NDhZZTcwT0VzeEdkREpuTVNW
455 Zjd1Z0NveFljZm1NQStETC9nWWMvQ0czdngKU1hFQ2w1ckVwRTlDKzBRNEc4bGx2enk3NjVtaEk0
456 elBHY2taMFZWT2IxcFpqZE5Qc1N3NEVvRm9seGM2SThMWkNCcmMwOWtVMUtoMApHV2FsSTVxbHBI
457 RkZkSlhUVzJDTEJ6c09Kck5mckg0dDZFR0VjdysxT1BhbklNekRybnBtcUJqR20wU0pDMWdHQ0t2
458 cHkzdDdvbWxvCkZXOW1nbjVFT1BlQXJQWmhhMFFVamVxclNwZGlOdldNNFQzQ0VCL0o5ZU1tYTZr
459 NW1jVENVMkp0Uk1Fd0lweTdTWlljMkJjeGdzczYKKzJobmxsQnpqa21zUlBRczBGZllOWCsrM3BQ
460 RTJUb25wVXV4Q3hJd3ZBRTJLVjJJa1lodzdxWlRJWk1wdDVPZUdScGNLR0VTbXhGegpDT3RETFV2
461 NFhvcGk0WUYraUU4WTVoR2xnZWF2WUZPaDBwVVlqd2puYnJqc040RTlkdEl6UTRzdjY1bEFLV0pX
462 TkgzNHRycHc1RWdLClgxZDRLVjJLWGZCV3crQ2pzUGtEd09Jbm9qQ01DR2NETmJnTlkxTlFrOUps
463 bUlVakVYek1DTTZMUHhPOWhOZUhzVndzdG1vV0VqQzgKRWZZc2hzMlZTbGRqR3VLL3pnQXR1bjRV
464 aEh2YVJjOE1MYkVzSnBXcm9rZEdseHhsRGFyejhTdzRKaFpiTllmQkdtaXhzU2FNOW9odwoxcE9z
465 OW1aNzd5Z2E3V0RPRElrTTVqTlFkSlhUZzFoczFYeTgxVERvR0d4NUg1dHJ3bWlQQ0djOXlHallI
466 ekdTaTNiUU0rTXE0L21BClhvZ0xXWjJUWk9oMXBUOUw5dzRXYS9xWjJJMG1qTDN2d0pZTFNsZGpQ
467 aUtjOVhBNlpESmxOdDR6UTBMRGFTYnpOZDVLbDJMeFBHUkgKTHB3WXd1S3ova3FYWXZNR2FVRCtH
468 alp0VjdvUzh4UGgzSVVxMy9HVStOajJMSE1hWE5uRkpMYmhvblFwRms4c3Rtb2VYbXFJT2c2Ygoz
469 d2RhbGE1R0dTS2NPOUhvbHNhbTRHdEtsMkZTV3Z6NWx2RWNSc3lPMWhrSFdZVjdaUXdMU3ZzZ21u
470 eE1Sd0xTbTJEL083QzVRdWxxCmxDWEN1UU10dXI0VWhQc2dTN1liem83MFpUazVWSWpKaXpybDMr
471 ckd2a1BKN0s0VUN4dWIwaUFOOEExczNxcDBKWlpCaEhNN1pMVVgKMjN2SDBtRERjMlpvU1dBeFEw
472 Ulh1UzZJeFZaTnoxTU4wU2RnODN2WWJSTkdlOFJmM0M5Yzc1a3h5cVo3WnNoazhTYjlhUlhCM0tF
473 YgppNjB1RUl1dG10UncwWVRSSVJIT3YzREdwbnRtU0Z4aEFzc0pRclNiZGt3c3RtcDZBelNnWGdP
474 YnR5aGRpZVV5NjZuVDh1WEx5Y3JLCklpb3FpbmZlZVFlQU9YUG1FQklTUWtKQ0Fna0pDYXhkdTlh
475 Y0pkMmkybmNjeFRiYU0wT0ZBeWU1bStVRUk0SzVmU29aZ2k4UFlzblcKREJITUp1S2hob3lUY1Bo
476 LzRLQU5CL1BWcTFmNXpXOStRLy8rL1JrOGVERGJ0eHZlRjFDU1pka3NZMjJxcTZ0SlNVbGgrL2J0
477 T0RnNAprSnVieS9yMTYzbnR0ZGR3YzNQanFhZWU2cmhJU1VJdU1XMTlqVzVwck92dGpteUR1YVhC
478 alNJbVVZUUluSTdjV0d4MWsxaHMxV1NHClg0TUQ3OERsbjB6OFFqOUk5RFRXSkVtQ0FqMzNrWFg3
479 NnozenpETTRPVG54M0hQUG9kRm91SHIxS2g0ZUhnYlZZTFptamExYnQ1S1kKbUlpWDEvWFp1bkp5
480 Y3RpMmJSdEFqdzlrVDlseXp3d2RnYXhtTE1kRVY3a09pY1ZXVFd1QUJ0UnJZZk5tcFNzeG53MGJO
481 ckJ0MnpZYwpIYTh2Zkd4b01JTVptelV5TXpNcEtpcWlyS3lNOCtmUDg4MDMzN0IxNi9VK00vUG16
482 U010TFkyWFhucUptcG9hYzVVRWdLejJaSHZ2Ck9CclV0aGZNamtTeW5Ba2ltRHVnbGRWNC9KakFn
483 c0lVRWN3bTRLNkdqTk0vTjJIWVVUQ2ZPWE9HaG9ZR1pzNmNTV3BxS2krOTlCSU4KRFEwRzc4ZHN6
484 Um9BWDMzMUZXKy8vVGJWMWRXRWg0Y1RIUjNONzM3M08zeDlmYmx5NVFyUFB2c3MvZnYzNTVsbm5y
485 bTFTRW5pTDQvOAo1M2Iya090ZnhuQXE1QjVLZkd6dkFxQWpmVmxNcnVncTF3SC9WamVLRDZheTk1
486 SlliTlhZdEJLazFjTGU5NkRLSEwwd0x1ZERWZjUvCmJwZlBOVTZ6eHR3TzlsR1dEK1UzdlY3K3Jh
487 OTM3Tmd4K3Zmdno4cVZLeGs1Y2lRUFAvd3dJMGVPNUlFSEhqQ3NCbk9HODgybVRwM0sKSC8vNFJ4
488 SVRFOXZ1MjdObkQ3Tm16V0xMbGx1dkZKaXF6YmxGMTQ5dkJ2UzJ1WFptSGNGOHlEZ3F4ZUNTZG9Y
489 WGgvRkJjVHhYUmQ5bApvNUtBWVMxUTloR2NPNlpnSWNacWM4N1JjeC90dk42Z1FZTW9MUzBGWU0y
490 YU5iei8vdnQ4OU5GSEJ0VmcxdE9xaW9ycmI2TWJObXhnCjM3NTlKQ1ltY3Y3OGVRQ2FtNXRadm53
491 NTQ4YU5NMXM5eDRJVGJTNll0Zmp3SldORU1MZERLNnR3L3pHUkJUdVNSREFiMlJBVjlQMEsKdHZ5
492 dndzRnNJZnIxNjBkaFlTR3RyYTJzWHIyYWtTTkhHcndQcy82RlRwa3loWXFLQ3R6YzNGaTZkQ2tB
493 Ly9WZi8wVkpTUWxhclpiTQp6RXhtenB4cGxscXV1U1J4Mk8wU3R0U3RUSU1MRzhqakpHSWxqbC95
494 YTNWbFgya3F4UmNOdnpBamRHeXdCaHgrZ0ozZktWMkpaWG5sCmxWZDQ0SUVIYUdob1lPVElrVXlk
495 T3RYZ2ZTaldyR0VJVXpSckZQZTdtOVBPdHRPbldZV1dYZHhEb1poWjdqYmg5U0VzTDBrUXkwY1oK
496 VVlRR0FvcWg4SE9sSzJtSEJUUnJHSU5kZnJhcjg4aTJxV0NXVUhHVVg0bGcvZ1VIV1lWclJSd0xE
497 a2RnUzUrUWxPU25nWUhIWWNzSApVRzc3cTdVcHl1N0NXVVpEY1pBWFlEdVRHdjNJSk5ZalBxN2Z6
498 TGZWaFlPSFV0a2xacEl6Q2pjVkpGWkE0YnV3cVZicGF1eUQzWVh6CkZkL1JYTlRaVGpEWE1ZNHY4
499 Rk82RElzUzN0aUxGY1dKVkRXSlpveWVjcEJnNkZYWTl4NFVtSHBrbjNBTHV3cG5XZVhLTG44MVlC
500 dWYKeDJTeWVaOFFwY3V3R0JwWnd1TkNMQXNPaVFueGUwb0NocmJBeVk5Z28raDlvUWk3Q3VjTC9x
501 T29kYkNOczJZTktieEpmMFFJWGVmVAo2c3lSSTZsOFZlR2xkQ2xXTDBtQ0s2dGc2eTZsSzdGdmRo
502 UE9zaWFBM2I2R0Q2RzBSRHFpZVlzNFJEQmZGOTRZeENmRlNXSUlkZzhOCjBvQTJIM1p0VUxnUUFi
503 Q2pjRDRkbUVtVDJ2cDdhRGpTaDNkSTQ1b1lsbzFhbHZDK0dNT0NnMzBSYjFUZEY2NkJvQkxZL3Bu
504 U2xRZzMKczR0d2J0SDFaWSszOVFlekNpMWZrazJ0R1AySFRsWno2Vmc2WDRzcFBydnQ1bTV4SjIz
505 ak1veE5zWXR3UGhZMEJGbTZySFFaUFhhVgpFWlNMMFg5b1pSVlZ4NGV4VVFSenQ3aXFJT2tDRkww
506 TG04dzdDYVJnQUpzUDUyc3VpUngydC81aDJqcUNXQ0o2WnFDUkplckwwOGcvCko3b1BHa3AwaTdN
507 dU5oL08rNFA2Z21UOVRScDd5S0hKenR1WlZiSUVwMU5aZHpwUTZWS3N6akRSTGM3cTJIUTQxM3Rr
508 Y2RyRitvUFoKZ1NIazQ2WjBHWXFTWk5DZEc4Sy95NE9WTHNXcUpLbWdaaFZzM2FsMEpZS2hiRGFj
509 WmRRVUIzbGo3Y08wMVRqeUJiRktsNkU0OTU4UwpXSEU4Vk9reXJJYm9GbWY5YkRhY2EzeEdVMmtE
510 dzdTckdNa1pPNzhJNkhNaGxtVkhlaXRkaGxVSTAwQndDV3ovSExENCtTYUZ6dGhrCk9Nc3FWM1lH
511 YUlBV3BVdnBFUjJoTENaSTZUSVVGWGdwaXFXbGtVcVhZZkY4MVRDb0RMYThENmRFdHppYllKUGhY
512 T2xuRzhPMGQ1QkoKaXgxZkJPeFZOWUIzOWc5UXVneUxsd29jK0Nkc3NyMmxNTzJhellXenJQRm5s
513 NS8xRDlOV2s4cFdYSlV1UXpGaE5aRXMzRHRZNlRJcwpta2FDWVdkaDR5S2xLeEZNd2ViQytVeGdO
514 azFxNno2RlVPUE01MFFyWFlaaXdxOUdzS0E0Qm12dm0yNUtnUnJ3K1JZMmJsSzZFc0ZVCmJDcWNX
515 M1I5S2ZHMjdtQUdxR1FVUDlyV3IwWnY0ZldoTE5pVmdBam1qaVdxb0d3ZUhCQURTV3lhVFNYQWNS
516 c1lwdTFJQkovaXIzUVoKaWdodkRHYnhqaVJFTUxkUEFqSXZRY0diUUt2UzFRZ2RhV2hvSUNzcmk4
517 YkdSaHdkSGJuMzNudDU4c2tuRGQ2UHpZVHpOZWQ0RHRuQQpNTzB0Wk5CcWh4Y0J3NXNDK2RlT0ZM
518 dStBTm9aSHpXRWJZR0N0VXBYSW5URjBkR1JIMzc0QVdkblp4b2JHMGxLU2lJdkw0L0lTTU42Ckhk
519 bE1PQjhJN21mMXc3UWwwdG1CczlKbG1GM29OVC9lTFVybFdxc0k1dlpFYStEQ1lpZytxWFFsZ3I2
520 Y25hLy9IOWZXMXRMYzNJeE8KcHpONEh6WVJ6dlVlbVp5eThtSGFHdHhZemtDbHl6QzdrR1p2bHU4
521 WVNrT3JtQWExUFpsWFlmT3IwQ3I2THB1ZFdvKzJJNW4yVzVoYQpXMXRKU0VqZ3dJRUR2UGJhYTRT
522 R0dqNjYxZXJEV1VaTlNhQXZZTjFMQXA5bkpKZXMvOWRoa09BV1R6N2RtVTV0czMzOTNQcHdWOEhB
523 Cll0ajRoZEtWMksrV1ErWHRQOUM0SFpvS085MVdwVkt4Wjg4ZXlzdkxHVGR1SE9ucDZTUWtKQmow
524 K2xiL1gxSGpNNW9ManRZZHpJNUUKOHJtZHJhQWQwT0xPcWwzcFlvWHNkdlRYUVAwSFVIUlk2VXJz
525 M1BrTEhUelE5K2V2Rzk3b2NCY1JFUkdNR3plT3dzSkNnOFBacWh2NQpaSlVMdXdLcy9mMUZ4UStr
526 WSswWE1nM2gxK3JLdXVMaFhHZ3d2QjNPMWcxdmd2Sy93V2tSekZhcnNyS1NxcXJyWFhvdlhyekl1
527 blhyCm1EaHhvc0g3c2Vwa3UrZzNtaG9ySDZZdGs4RWVISlV1dzJ5OFpXYzJsZ3puWEozOS9NejZj
528 RkpCd21IWS9LSFNsUWc5ZGY3OGVYN3oKbTkvUTB0SkNZR0Fnenp6ekRFRkJocytSWTdYaExHdjgy
529 T25YcUhRWlBlS0FKKy9UVCtreXpNWlRkcVJvVHdibHRmYlhJNlV6RVJwUQpmd1piUzVTdVJEQ0dt
530 SmdZZHUvZTNlUDlXRzA0bnczSW9rbDlSZWt5ZXVRa0k2bTJrOFZhM1dRZGUvZG5jUFNLaTlLbFdK
531 UzBWdGozCkQ3aHEzWjJOQkJPd3luQnUxZmFteE1lNmcxbkhJRmJoclhRWlp1RWlPM0NzTkowRGwr
532 MTdOWmViT1VpUWRobzJ2YU4wSllLbHNzcHcKUGg2VVFxc1ZEOU9XVUxPT1ZPemhJcUNUck9ITTRY
533 UjJWM29xWFlyRkNOYUE1eHJZdEVYcFNnUkxablhoZk0wNWpsSVA2eDZtM1V3MgpwZGgrVHdXdHJL
534 YnkyREMyVjlqSEp3UjlKRWx3L0EwNFY2RjBKWUtsczdwd1BoalUzNnFIYVd2eDRWLzBVYm9NazlQ
535 SUt1ckswdGg0CjNsZnBVaXlDQ2hoZUNSdm5JNWFQRXZSaVZlSGM0SjdCU1ZmckRXYUFvNHpncW5W
536 M0wrK1NXcFpvUFpYSytqTUJTcGRpRVh6VjBLc0EKTm9yRlZnVURXRTFLeUtnb0NiTHVVWFE2b2xt
537 RGJiZTlxbVRRbkUxbTlVbjdYdnZ3aGhnMVNJdGdqd2htd1VCV0U4NjEzcU9wc09KaAoyaElhVnBP
538 TU5iZVY2OFBseHlTK1BCR2lkQmtXSWFzV0RzeUZDNmVWcnNSKzlBKzI3a1dkYjJZMXpSbzdBN1dB
539 OWE0TjJFZ3V4OUFxClhZWkplVmZFOCtIUmNLWExVSnk3R2dic2dJSlZTbGRpUC9vRXRPSi85U2Uy
540 ZjNoSzZWS014bXJDdWNiQmVvTlpoei92WXR1aDVWOFoKelh1SGJQOUNaMWNHYUtEMlBkaHhWT2xL
541 N0VPb2J5dWhMUmZZK25FNUoyenNRcXZWaExNMU84QUlHcXluQmNsZ3daY0g4YStEL1pVdQpRM0hE
542 RzZIdzczRE5lczhqckVhZ2wweWtwcEt0L3k3amRMT05wZkxQUkRpYm1KWUVOdUN1ZEJrbUUzcWxI
543 NHYyMmQ4aUFUZHpWa0ZjCktXeitTT2xLYkordnU4eGdsMHRzKy93RVB6YmE5a0tLSXB4TlNJV09W
544 UmcyaDZzMUNhdnR3OEtTYUd6OUltZG5lbXRBK2hTMjdWRzYKRXR2bTZTb1Q1MWxOMFJmSDJWaHJI
545 OHZDaUhBMm9WcEdVSTV0VGlZZlhoZk9ndDF4MkhNd0QyMkZQUzlEblhWUDgyTFJYQjFsa2dKcQoy
546 TDN5T0FXWG01UXV4NnhFT0p1SWptQ1cwRXZwTWt3aXZDR0VoVHNUc2RkZ2RwQWc3U1JzV3FKMEpi
547 YkxTU3VUSEh5VnZWOGZvK0NDCmRVOE4zRjBpbkUya21CeWFiUEFpWUhoakVPL3NHSUpzcDhIY1N3
548 UHVxMkhUTnFVcnNVME9HcG0wc0RwSzF4NW40N2YxU3BlaktCSE8KSnVCQU1odHhWYm9Nb3d1NzVz
549 KzdPMUpvbG0zdlRVY2ZReVE0OGhxY3JWUzZFdHVqVnNrTWpXamcrUGZIMmJUZXVsYzNNaFlSemth
550 bQp4b2wvRTZ0MEdVWVgwdXpEQnp2U2FHaTFqOFVCYnFZQ01pNUF3VnVJU1l1TVRKSmswbm8zY21i
551 ekNUWi9WNk4wT1JaRmhMT1JWVEdTCnN6WjJXSHMxZS9ISnptSFVOZHZXejZVUFB3MEVmUThGM3l0
552 ZGllMUo3ZFBFaGFJeXRuMWZwWFFwRnNtc24wK1hMMTlPVmxZV1VWRlIKdlBQTzlTVWdhbXBxbURo
553 eEltRmhZVXlhTkluYVd1dWRQME5IS0NzSUJPQmkvbjZGcXpGY2V6VUh0bmp3NWU1MHFwc3NzTmRK
554 Y2I1SgpkeCtuQnZsdDJHdk1ZTDZjYjhTZG1ZbVJheDdTK3hvRGFvNVMrSzlpVHV5enpXRGV1SEVq
555 Z3dZTm9sKy9mc3liTjY5Yit6QmJPRmRYClZ6TjM3bHkrL1BKTENnc0xXYlJvRWRYVjFiejk5dHVF
556 aFlWeDlPaFJRa0pDV0xCZ2dibEtNcnBDc21qNStaQmV5aitnY0RXRysyWE4KL3ExdXJObWRUbVdE
557 aGM0SlVwSnZzbDFuWFlHOWM2RHlySkYzWEpWdjVCMmFnWkZxamd0dkpycXBqSjFMZG5ONDV5V2o3
558 Tk5Telo0OQptNFVMRjdKaHd3Ym16NTlQWmFYaEZ5ck1GczVidDI0bE1URVJMeTh2WEYxZHljbkpZ
559 ZHUyYlJRVkZURmp4Z3gwT2gzVHAwK25zTERRClhDVVpsWnFoYk1kMkZpLzFhWFhoaCtMaC9GanZx
560 SFFwWnVXaGhpRTdvZUQvUUxhZENjNFVGUlhhUWp3bjJmUHVMdlp2c2YwbFlLcXIKcjg4NW41bVpT
561 WGg0T0tOSGorNVdycG10RVRFek01TS8vT0VQbEpXVjRlam95RGZmZklOT3AyUEhqaDBNSEhoOStP
562 L0FnUU1wS2lwcQpkM3NQSXMxVmFqZG95R2Nva1RjTk9MbUlJNUZXTm5mempabzFzcHF5WTBQd2xa
563 end0ZUJPSitlMUVHVEUrandBN2Jkd29Sd1MreGx2CnZ6Yzdmd1dDVExSdlUrbHV6YzY2VmtKYUwz
564 RjQyM2trSURIUjJlaTF0V2YzYnVQc3g4T2o2NHZmMTY3SjFOWGRldC9ObVFZd2VQQmcKdG0vZnp2
565 ang0dzE2ZmJPRnM0dUxDNis5OWhxUFB2b28xZFhWeE1URW9OUHBrR1g5TG45blMyK1p1TUtlZXVP
566 MmU0cm12cTlBSFQxagpiVFdmWHpSWDZSSU1kbjZYcU5rYVZGY242L1U4VjFmVG5NR1k5Zko3WGw0
567 ZWVYbDVBRXlkT3BVeFk4YXdlL2R1U2t0TFNVaElvTFMwCmxPVGsydytJdmdFdUNJSmdERDNKbk9U
568 a1pKNTk5dG0yMndjT0hHRE1tREVHNzhlc3ZUVXFLcTYzTjIzWXNJSDkrL2VUbUpoSWFtb3EKUzVZ
569 c29iNituaVZMbHBDV2xtYk9rZ1JCRUl6S3c4TUR1TjVqbzd5OG5QWHIxNU9hbW1yd2ZpVFpqS2Vs
570 bVptWlZGUlU0T2JteHZ6NQo4MGxKU2FHbXBvYjc3cnVQNHVKaUVoTVRXYlpzbWNrK0pnaUNJSmhE
571 UVVFQmp6enlDTmV1WGVQeHh4L244Y2NmTjN3bnNvSUtDZ3JrCmdRTUh5cEdSa2ZJYmI3eHgyK09s
572 cGFWeVdscWFyTlBwNUZkZWVjV2diVTJsSnpXSGg0ZkxNVEV4Y254OHZKeWNuR3l1a3J1c2VkbXkK
573 WlhKc2JLd2NHeHNyVDVzMlRUNTgrTERlMjFwYXZaWjZqTC84OGtzNU5qWldqb3VMazhlTkd5Y1hG
574 UlhwdmEwbDFxekVjZGIzT0JVVgpGY2xxdFZyKzdMUFBETjdXa2lnYXp2SHg4WEpCUVlGY1hsNHVE
575 eGd3UUw1dzRjSXRqMWRVVk1nN2R1eVFuM3Z1dWR1Q3JxdHRMYkhtCmlJZ0krZUxGaTJhcDgyWmQx
576 YngxNjFhNXFxcEtsbVZaZnZmZGQrWDc3cnRQNzIwdHJWNUxQY2ExdGJWdDMrZm41OHNaR1JsNmIy
577 dUoKTlN0eG5QVTVUczNOelhKT1RvNDhmdno0VzhKWnFXUGNFNHJOWUtOUFgwQS9QeitHREJtQ2c0
578 T0R3ZHRhV3MwM3lHYSt1S2xQelVPSApEcXp1aHBJQUFBWFRTVVJCVkcxckp4cy9mandGQlFWNmIy
579 dEo5ZDVnaWNmWXhjWGxsdWM3T2pycXZhMmwxWHlET1krenZzZHAzcng1ClRKa3lCVDgvUDRPM3RU
580 U0toWE5IZlFGTnZXMVA5UFIxSlVraU56ZVhTWk1tc1dxVmVaWm1OclRtUllzV3RmV29VZUk0OTZS
581 ZXNPeGoKL01VWFh4QVJFY0gwNmROWnZIaXhRZHRhUXMyTEZpMXF1OS9jeDFtZmVzK2VQY3ZLbFN1
582 Wk9YTm1XNDM2Ym11SjdHOG1Hd1Z0MmJLRgpvS0FnU2t0THljdkxJeVVsaGNEQVFLWExhck5od3dh
583 V0xWdkcxcTFibFM1RkwrM1ZhOG5IZVBMa3lVeWVQSm1QUC82WVNaTW1VVnhjCnJIUkpYYnE1NXNt
584 VEo3ZlZiSW5IK1lrbm51RHZmLzg3a2lRaFgyK3lWYlNlbmxMc3pEazVPWmxEaHc2MTNUNXc0SURl
585 M2VoNnNtMVAKOVBSMWc0S0NBQmcwYUJCMzNua25YMzMxbGRGci9DVjlhOTY3ZHkrUFBQSUlxMWF0
586 d3RQVDA2QnRMYVZlc094amZNTzk5OTdMdVhQbgpxSyt2WjhpUUlWYnh0M3h6eldEKzQ2eFB2YnQy
587 N1dMcTFLbjA3dDJienovL25GbXpackZxMVNyRjhxTEhsR3p3dnRGSVgxWlcxbWtqCi9WLys4cGNP
588 THdoMnRhMnhkYmZtcTFldnlsZXVYSkZsK2ZwRnc4R0RCOHVuVHAyeWlKcFBuandwUjBaR3l0dTNi
589 emQ0VzB1cTE1S1AKOGJGangrVFcxbFpabG1WNTllclY4dGl4WS9YZTF0SnFWdW80RzNLY0huendR
590 Zm56enovdjFyYVdRdEZ3enMvUGx3Y09IQ2ozN2R0WApmdjMxMTJWWmx1VUZDeGJJQ3hZc2tHVlps
591 cytmUHkrSGhJVEk3dTd1c3FlbnB4d2FHaXJYMU5SMHVLMGwxM3o4K0hFNUxpNU9qb3VMCmszTnpj
592 K1YvL2V0ZkZsUHpqQmt6Wkc5dmJ6aytQdjYycmxGS0hPZnUxbXZKeC9pbGwxNlNvNktpNVBqNGVQ
593 bWhoeDZTOSszYjErbTIKbGx5elVzZTVxM3B2OXN0d1Z1b1k5NFJaQjZFSWdpQUkrckhQeGVBRVFS
594 QXNuQWhuUVJBRUN5VENXUkFFd1FLSmNCWUVRYkJBSXB3RgprOHZOeldYZHVuVzMzUGZhYTY4eGE5
595 YXNkcDhmRVJIQnBVdWRyekgzd2dzdjNISTdQVDBkZ1BMeWNtSmlZZ0RZdVhNbnMyZlBCcTdQCkVy
596 WnQyN1p1MVM4SVNoRGhMSmpjdEduVFdMRml4UzMzZmZ6eHgvejYxNzl1OS9rM2h0MTI1c1VYWDd6
597 bDlwWXRXMjU3enBBaFEzajkKOWRjQitPR0hINnhtNUtNZ2dBaG53UXp1dXVzdVZxOWVUWE56TTNE
598 OTdQYmN1WE0wTlRVeGJ0dzQwdFBUZWVlZGQ5cmRkdkxreVNRbApKWkdibThzWFgzd0J3Si8rOUNm
599 cTYrdEpTRWpnL3Z2dkI5cGZLaWcvUDUrOHZEeE9uanpKd29VTGVmWFZWMGxNVEdUejVzMzA2ZE9u
600 CnJaNHJWNjdRcDA4ZldsckVpcTZDNVJCemF3Z201KzN0VFVwS0N0OTg4dzEzM25rbksxYXNZTXFV
601 S2Z6Kzk3OW43ZHExK1BqNE1HYk0KR05MVDB4azBhTkF0Mnk1WnNnUXZMeSt1WExsQ2RuWTJreWRQ
602 NXU5Ly96dno1OCsvWlc2S3pzNjJ3OFBEZWVTUlIzQnpjK09wcDU0QwpJRHM3bTlXclZ6Tng0a1JX
603 ckZqQlhYZmRoVnJkOVlLZWdtQXU0c3haTUl1Ym16WSsvdmhqN3JyckxnWU5Ha1JrWkNSZVhsNU1t
604 VEtsCjNkbk5WcXhZd1lnUkkwaFBUK2ZFaVJQczI3ZXZXNjh2LzJJaW5OLys5cmNzWGJvVWdIZmZm
605 WmVISG5xb1cvc1ZCRk1SNFN5WXhaMTMKM3NsMzMzMUhjWEV4ZFhWMXQ1M3B5cko4MjMwblRwemc3
606 YmZmNXROUFAyWGZ2bjMwN3QyYnk1Y3ZkK3YxZjdudlljT0dVVjVlVG41KwpQaTB0TFF6Ky8rM2Rv
607 YytDUUJ6RzhZZHVZaU9UdGRFTUdOeWN4WTErc0xHQitmNFhxLytBMVdJMzBTeU1RcUZhRERUeW0x
608 NzJ1aG5lCitVN2YyL3grMGczR2NWZWUvWGJjanRuc3FYNkJWeUdjOFJhVHlVVEw1VkpGVVNoTlU4
609 M25jN1Z0cTY3cjFQZTlqc2Vqa2lTNWUrWjYKdlNvSUF2bStyNnFxVk5mMWVDOElBZzNEOE92M2gy
610 R28yKzEyZHkzUGMyVlpwcklzL3pZNTRBVUlaN3lOTVVaTjA4Z1lJOC96dE4vdgpaYTNWWnJQUmRy
611 c2REMFQvcm5Mak9GWVlocHBPcDlydGRscXRWbU5mMWxvdEZvdnhnK0RQeXZoUmU3MWU2M0s1S0lx
612 aWNXZEhtcWJxCisxN0dtTmRPSEhnQ0J4L2hZeDBPQjUzUDUvR3ZKSUJMMksyQmoyU3RWVlZWT3Ax
613 Ty96MFU0Q0VxWndCd0VHdk9BT0Fnd2hrQUhFUTQKQTRDRENHY0FjQkRoREFBT0lwd0J3RUZmRnpK
614 Z250aDhxdm9BQUFBQVNVVk9SSzVDWUlJPQo=
615 </png>
616 </output>
617 </outputs>
618 </codecell>
619 <markdowncell>
620 <source>Plot the value of the Asian call in (volatility, strike) space.</source>
621 </markdowncell>
622 <codecell>
623 <input>plt.contourf(sigma_mesh, strike_mesh, prices['acall'])
624 plt.axis('tight')
625 plt.colorbar()
626 plt.title("Asian Call")
627 plt.xlabel("Volatility")
628 plt.ylabel("Strike Price")</input>
629 <language>python</language>
630 <prompt_number>13</prompt_number>
631 <collapsed>0</collapsed>
632 <outputs>
633 <output>
634 <output_type>pyout</output_type>
635 <text>&amp;lt;matplotlib.text.Text at 0x2e14610&amp;gt;</text>
636 <prompt_number>13</prompt_number>
637 </output>
638 <output>
639 <output_type>display_data</output_type>
640 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVdjQUFBRVhDQVlBQUFCeG1vVk1BQUFBQkhOQ1NWUUlD
641 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6c25YbDhW
642 T1c5Lzk5blpyS3ZrejBoQzRRQUNSQ3lRQmFXaE1VTlJSU0szb3BWCnEyQnZ4V3ExM3ZiMnZ0cmVY
643 OEhiMnVKeVZieVdUUU1peGJWVnFBZ3FhZ2dFU01JV0lBUlp3eTVoVFVKV2twemZINVNVSldGbWtw
644 bDUKenBsNTNxOFhyMWN5Yzg1elBwek1mT2FaNS9rdWlxcXFLaEtKUkNMUkZBYlJBaVFTaVVSeUk5
645 S2NKUktKUklOSWM1WklKQklOSXMxWgpJcEZJTklnMFo0bEVJdEVnMHB3bEVvbEVnMGh6bGdobjNi
646 cDFKQ2NuaTViUktRYURnWU1IRHdMdzZLT1A4dC8vL2QrQ0ZVbmNCV25PCkVyc3pac3dZUWtKQ2FH
647 bHBzZXI0dkx3ODl1elo0ekE5cTFhdFl2VG8wWVNIaHhNVkZjVmRkOTFGY1hHeHplTW9pb0tpS0E1
648 UUtKSGMKaURSbmlWMnBxcXFpdExTVWlJZ0lWcXhZSVZvT0N4Y3U1RWMvK2hHNXVibHMyclNKZmZ2
649 Mk1XM2FORDc0NElOdWpTZHp0aVRPUXBxegp4SzRzV2JLRVcyKzlsWWNmZnBoMzNubm5tdWZXcjEv
650 UG5YZmVTVWhJQ0xHeHNienl5aXNBRkJZV0VoY1gxM0hjbi8vOFo1S1NrZ2dOCkRlVkhQL29SNjlh
651 dDYzaHU4ZUxGakJvMWl1ZWZmNTVldlhveGZ2eDRObTdjMkttV3VybzZmdjNyWC9PclgvMksyYk5u
652 MDdkdlh3SUMKQXJqdnZ2dVlNMmNPQUtXbHBRd2ZQaHl6MmN6dzRjUDV2Ly83UDFwYlcrMTlXeVFT
653 bTVIbUxMRXJTNVlzNFljLy9DSC85bS8veGhkZgpmRUYxZFhYSGM3LzR4Uy80NlU5L3lwa3paNmlv
654 cUdEY3VIR2RqcEdVbE1UNjllczVkdXdZdzRZTjQ4RUhIN3ptK2JLeU1nQjI3ZHBGCmJtNHUvL21m
655 LzlucE9MdDI3ZUxDaFF2Y2M4ODlYZW8xbVV5OC92cnJuRGx6aGxkZWVZV1hYMzZad3NKQ0cvL1hF
656 b245a2VZc3NSdnIKMTYvbitQSGozSFBQUGZUcjE0K0JBd2V5Yk5teWp1ZmIyOXM1Y09BQXRiVzFC
657 QVVGa1pHUjBlazQ5OTEzSDFGUlVmajQrUERzczgraQpLQXBidG16cGVON1B6NC9mL2U1M21NMW1m
658 dnJUbjFKU1VrSjlmZjBONHh3OWVwU0FnQUFHRFJyVXBlYk16RXl5czdNeEdvMk1HREdDCmh4NTZp
659 T1hMbC9mZ0xrZ2s5a0dhczhSdXZQUE9POXgrKyswRUJBUUFjUC85OTErenRMRmt5UkxLeTh0SlRF
660 emsvdnZ2cDd5OHZOTngKVnF4WXdROSs4QU5pWW1JSUNRbmg1TW1UN05peG8rUDVRWU1HWVRCY2Z1
661 bEdSMGZUMnRyS3FWT25iaGduTGk2T3VybzZLaW9xdXRSOAovUGh4bm5qaUNZWU1HVUpnWUNDdnZ2
662 cnFOZGVTU0VRaHpWbGlGeG9iRy9ud3d3LzU1cHR2aUk2T0pqbzZtbGRlZVlYeTh2SU9zeHMwCmFC
663 QkxsaXpoNU1tVHBLYW04dmpqajk4d1RuMTlQVC81eVUvNDhZOS96SjQ5ZXpoMzdoeTlldlhxMWti
664 YzRNR0RNWnZOTjkyWS9NTWYKL3NDbFM1ZjQvUFBQcWFtcDRSZS8rQVh0N2UwMlgwc2lzVGZTbkNW
665 MjRkTlBQOFZrTWxGWldVbDVlVG5sNWVWVVZsYVNsNWZIa2lWTAp1SFRwRW4vOTYxK3BxYWtCd05m
666 WHQyT0dmVFYxZFhWY3ZIaVI2T2hvMnR2YitkT2Yvc1NKRXllNnBTa2dJSURaczJmenlpdXY4SnZm
667 Ci9LWmpTZVdUVHo3aG1XZWVBZURFaVJPRWhJUVFHaHBLWVdFaFM1WXM2WEk4R2FraGNTYlNuQ1Yy
668 WWNtU0pVeWJObzNZMkZnaUlpS0kKaUlnZ01qS1NwNTU2cW1QZGVlblNwZlRwMDRmNCtIaEtTa3A0
669 N2JYWE9zNi9FajhjRlJYRm4vNzBKeDUrK0dIUzB0Sm9hV2xoMUtoUgoxeHgzZmF6eHpXS1BIMy84
670 Y1pZdVhVcHhjVEU1T1RuMDc5K2Znb0lDcGs2ZENzRE1tVFBadm4wN3NiR3h2UFRTU3p6MTFGUFhq
671 SGY5Cnp6TE9XZUlzRkZsc1h5S1JTTFNIM1dmTzA2Wk5Jekl5a3RUVTFJN0hQdnJvSXdZTkdvVFJh
672 R1RyMXEzWEhEOW56cHlPbmYzMTY5ZmIKVzQ1RUlwRTRsYzQ4RUdEUm9rV2twS1F3YU5BZ2Z2M3JY
673 MXNjeCs3bS9OaGpqN0Y2OWVwckhrdE5UZVdUVHo0aFB6Ly9tc2VycTZ2NQp5MS8rd3RkZmY4M2N1
674 WFA1K2M5L2JtODVFb2xFNGxRNjg4QmR1M2F4WU1FQ1ZxeFlRVVZGQmIvODVTOHRqbU95dDdDOHZE
675 eXFxcXF1CmVheXJvallsSlNXTUh6K2UrUGg0NHVQalVWV1Z1cnE2VGplS0pCS0pSQTkwNW9HclZx
676 MWkrdlRwOU92WEQ0RHc4SENMNHdqZEVDd3QKTFNVbEphWGo5d0VEQmxCYVdpcFFrVVFpa2RpZkw3
677 LzhrbDI3ZGpGczJEQWVmL3h4ZHUvZWJmRWN1OCtjYmFHenZjak9kc1BsRHJsRQpJckdGbnNZNUJD
678 b0tkVlllNisvdlQxM2R6WTl1YW1yaTNMbHpyRnUzampWcjF2RFVVMC94elRmZjNQUWNvZWFjazVQ
679 RG1qVnJPbjdmCnMyY1BXVmxablI2cjlhM0N3S3cwQnZjdDU4cm55TXlkTURQMTV1ZG9ob2VIUXN3
680 V1pzNkRtVStJRnRNMXFrYzBYdzdJb05sNHVURFIKZXpNUE1IVm1YOEdxYk1NUm1qMEpZd1gzVUlX
681 SFhjZTl3cjZaSDlCdjVnOGRNcllqV0tWTTZmRVlkVmp2T2FNdVhyUjRURzV1TG1QRwpqTUhIeDRl
682 SkV5ZnkwNS8rbEthbUpyeTl2YnM4eCtuTEdsZC9vbVZuWi9QRkYxOXc1TWdSQ2dzTE1SZ011bHh2
683 TnZqNzAyL2dhWFE1CndSK2REekZiTEIrbkFmYjJ5dXN3WnNsbFBERHpPUk1kWnN3Uyt6QjgrSEJX
684 clZxRnFxcVVsSlRRdDIvZm14b3pPR0RtUEhYcVZOYXUKWGN1Wk0yZUlpNHRqMXF4WmhJU0U4UFRU
685 VDNQbXpCa21USmhBUmtZR3ExYXRJakl5a2hrelpqQnUzRGc4UFQyWlAzKyt2ZVU0aGNUSgphWGkz
686 MkY2OFhUaHhBeUJyZzJnVlZ0RVFQSmJ2Z2k2SWxxRXBUQVN3aG52Wmo2ZG9LWktydU9LQlo4K2VK
687 UzR1anVlZmY1NUhIbm1FCkw3Lzhrb0VEQjVLY25Nei8vdS8vV2h4SEYwa29pcUpvZGxuRG5KZEZT
688 cSt5RzJiTmhhZGdUS1FZVFZiaDVRdlRJeUNncXVPaHdzMHcKWnBnNFNWMmhHczE4TzJBVUZ6MmFy
689 M2w4WitFNVVzZUVDRkxWUGV5bDJZZ3Y2N21QY256c29Pcm1uQzNjUmVpWXdRNi9qcjFZcFV6cAo4
690 WnF6TFo0ekNzZWs5a3R6N2dHbWtCQXlKaWg0dHA0VkxjVjJwb3lFSkgzTTlxdmkvbzBkSVhMV2ZB
691 VWozcFJ4UDZYNGlwYWlTVnpGCm5HVnRqUjdRZDJJL2ZScnowT0hRVngvRzNCeVF5dzd6ZWRFeU5J
692 TUJEOHFaSW8zWkRaRG0zRTNDYmh0QldFdUphQm0yRXhZTCtidEEKQjV1WHFzR1AwdGhJOUxuVGFu
693 OFVUT3poUHRiakwxcUt4QWxJYys0R25sR1I5STNjSlZxRzdSaU1NQ2tRUEsyTjRCVEx5YWc3T2Uv
694 WgpLRnFHUmpCUXhRLzRoa0RSUWlST1FwcHpOMGdhSDRPcHJWYTBETnU1WXhTRVdzNU0wZ0tYZk5Q
695 WkhLYkRlK3dRRkU3eUExWmhGaTFFCjRrU2tPZHRJMU4xNW1KdTNpWlpoT3dQU1lmQmEwU3FzUWxV
696 ODJSS1hxSXVsRjJkd2hudFpUcWhvR1JJbkk4M1pCcng3eDlNN2FMTm8KR2Jiakh3SjNuTkROWC90
697 TXhBU3F2UzFuWGJrRHRVemtZN1Fja3lseEZEcDV1Mm9BUmFIZm1BQ003VHBjQTUyVUNEN1ZvbFZZ
698 Ulp0MwpmMG9pR2tUTDBBU05qR2NaTWFKbFNBUWh6ZGxLZWszT0k3QzU2eTdPbWlVL0gzcnBZN2F2
699 WW1CSFhCcnRCczJIM2p1Y1M5ektPOFNMCmxpRVJpRFJuSy9BZGtFUzhsejdTbks4aHRqOWtieFN0
700 d21vdWhOM0ZVZDhhMFRLRW96S0d0MGxFTHJyYmpsbDFmTWFrczVEbWJBSEYKdzROK3d4VU02S3pn
701 anFjUFRHd0I0eVhSU3F5aTNUT2VrcWcyMFRLRVkyQUU4K21QTkdiYmlXK0o1S3V5Y2FKbDJBMXB6
702 aGFJKzhFSQovSnYzaVpaaE94T0hRbUNWYUJWV1V4bWJTNHZSdmMzWlJEYnpHSVEwWnRzd3FCQjFi
703 aUR6TjQzZ2RKT1hhRGwyUTJnOVo2MFRrRDZJCldLVkl0QXpieWN5RnZscXNSdEk1RjgyM2NTREF2
704 V3RuZUpMQm02VFJMdWRMTmhHb2VuSDZZQmFMamtlSWxtSjNwRGwzZ2NISGgzNXAKZFNndE90dWND
705 dTBGb3l0ME0vbFNUUkZzaXZFQ1drUkxFWVlYZzVuTE1OcWtNZHRFYkdzb3E4cXpPVmJ2T3V2TVZ5
706 UE51UXQ2LzJBWQpQaTNyUk11d0RZTVJKZ1dENTNIUlNxem1RSzh4TkpqY2Q5YnN4UUFXa0V1TE5H
707 YWJpS3Z0UjBINUlGcFYxNzF2MHB3N0lTZ25nNmkyCmRicVpmWFp3K3lnSTAwY1dJRUJUWUI2N2c4
708 Nmp2eHR0SDd6cFN3SDVORXBqdGhwZjFZT21JME5aY05qMTQ3K2xPVitITVNpUWZnTk8Kb09nanlP
709 RmY5RStEVlAwWXMyb0lZbE5zQ0NnNlRPcXhBMTRrc0lTeDFFcGp0cHJvdG1EVzdjeGhYNjJmYUNs
710 T1FacnpkU1RlT3hpdgpTenFMYWZZM3d4M2Y2eXIyNW1qTUhkUjZ1T2R5aGhjeExPTld6bUVVTFVV
711 M0pOVDNadkcyTkpyYTNlZWVTWE8raXBBeE9ZUzNiTkRmCnQreDdrOEMzVExRS3Eybnh6Mko3aUhz
712 dVozZ1J3Y2ZjeVduNTFyTUtUOVdJNThsMDV1MVBFQzNGNmVob3J1VllQTUpDU1lyZHE3KzYKN25u
713 NUVLc2ZZMVlWYjhwaVk5MnlnTDRub1N6bmJvNUxZN2FLaUhaL3Fpckc4SkhPakhuYXRHbEVSa2FT
714 bXBwNnczT3Z2UElLQm9PQgpjK2ZPV1J4SG12TS82WHQzSWg1dE9tdUhGTnNQc2plSlZtRVRwNklt
715 Y05hclhyUU1wK05CRUt1NWh5bzhSRXZSQlFsTnZmaWtaQ3psCjU0SkVTN0daeHg1N2pOV3JWOS93
716 K05HalIvbnFxNjlJU0xEdXcwYWFNeEF4ZmlTaHpmcVpmUUwvVE05dUJaTis0b05iZlFaUkZxNlAK
717 TGl6MnhJUS8zekNadlhpS2xxSjVUS3BDNk9rMDVwVm1VM3RKbng5a2VYbDVtTTAzTmtaNDdybm5l
718 UEhGRjYwZXgrMi9YM24yaXFGUApXRG5vTFhQNDdxRVFxSjhzUUJVVDIrSlNVQlgzNm01aXhJY04v
719 SUFLWENldDJGR0VxRDRjM0p2RFAwNkZpSlppZDVZdlgwNXNiQ3hECmhneXgraHkzTitkK3Q0Vmph
720 ajRoV29adFpPUkFrbjZNR2VCY3hBUk8rcmlYTVJ2d1lqTlQySXByWnJEWmsvaVdTUDYrZlppbWFt
721 T00Kbk5yNTQ0V25vUERxOHVnVzJvazJORFR3d2dzdjhOVlhYM1U4cHFxV000L2QycHlqNzhranVG
722 bG5XWUFoTVRDNlVsZUJEbTFlZlNtSgpiQll0dzZrWThHQVg5MUdDZThUa2RoZURDcEhuQnpKLzF3
723 RDA4cUllRTNuNTN4Vm1XVERuQXdjT1VGVlZSVnBhR2dESGpoMWo2TkNoCmxKYVdFaEhSZFUwUXR6
724 Vm43OFRlSlBpWGdwNUtaeGlNTU5rTVh2cWE2VmZFRHFYVjRENHh6UXBHOWpHRkl2eEZTOUUwZ2Fv
725 WFp3NW0KVWVDQ1JZdXVKalUxbFZPblRuWDgzcWRQSDdaczJVSkl5TTJYYjl4elE5QmdvUDlvSDR5
726 cXptWno0MGRCbUw2NnNkU0cza21Wdi9zWQpNeGc0ekJTK1FuOVJCczRrdGpXVTRxM2orTm9Galhu
727 cTFLbU1HREdDdlh2M0VoY1h4NkpGaTY1NVhyRXlqTlF0Wjg2eGswY1IwS1N6ClVxQ0RodW1tZS9Z
728 VjJqMWkyQml0ajYrcTl1SjdKdk01Tis3VVMvNkZxeGN0ZXUrOTkyNzYvTUdEQjYwYXgrM00yVy9n
729 QU9JOGkwWEwKc0ExekZOeDZRQzlMY2gzc2pSMUZzOUY5WnMzbnVKZFBDUk10UTdQNHFoNDBIeDNL
730 Z2lyWEwxcGtEOXpLbkJWUFQvcGxYOExRcktPNApPWU1SZmhBRzNoWjJIVFJHUS9BNDlnYTZqekhY
731 Y1RjZkVpVmFobWFKYmd0bS9hNXM5dGJJZFhocmNTdHpUcGlTaTErenpwWXp4dXVyCkRDaUFhZ3ho
732 WXk4L1FHZHIrdDJrbVR2NEs3MUV5OUFzQ1EyOVdielZ2WW9XMlFPM01lZkF6RlJpMUNKOUxRME1I
733 S3E3ZFdhQXFsNjMKVVcvU1dTcDhOMm5qRmhhaHI5b1B6c0tkaXhiWkE3Y3daNE9mSDBtcDUxSDBr
734 K2tNd1pGdzJ5RjlmWmdBelFIRDJSbDhEdDBKN3hiNQpMS1F2N3ZGL3RZM3dkbjkyVk9hdy9heU1X
735 dWt1cnJsZGVoMTlKbWZnMDNKTXRBenJVUXp3Z3dqd3RseTVTa3VvQm45S1lpUGNvdUtjCmtlSE1J
736 eGxwekRlUzBOU0xUMHZHU21QdUlTNC9jdzRlT1pUSTF2WDZlZytOejROdy9TMW5uSWdlendWUDEw
737 L1I5bUFZZjJFdytucFIKT1I2VHFoQjBaZ2p6S2hPUjk2Ym51TFE1bTh6QkpDVWVSV2tWcmNRR1Vq
738 SjExVzdxQ3BmOE10Z1NXb09ydnlrOVNXY3VHYkpUOW5XWQpWUjhPdVdqUklsRzR0RGtuM3BPTVY0
739 dU82aDBIUjhMdFZicnpOMVh4WkhOc0gxQXVpcGJpVUx3WXhEeXl1Q1NOK1JxMFdMVElGWEJaCmN3
740 NGJsMHRZOHliOUdKMWlnTW1SNEwxRHRCS2JPUjA1Z2RQZXJtN00vWG1MRVRSTFkrNUFVU0hxd2tE
741 bTc5UlAwU0k5NFpMbTdCRVoKUVdKTUpZcU9jazI0SXc4aTlMZWMwZVk5Z05Md0J0RXlISW8zaVJT
742 UVQ3MDA1ZzRDVkMvT0hzcWk0SmpyMWNiUUNpNXB6a2wzeHVIUgp2RVcwRE90Snp0RGxPck9LZ2ZL
743 NFZOb05ycnNKNkVVY1N4aExyZXlVM1VGc2F5aGZsR2R6cEY3V3FYWWtMbWZPa1hlTklxUlpSNFhv
744 Cmd5TGdqaU82REdxOEVENkJZNzZ1Yk13eHZNY2RuSlBHM0lHckZ5M1NFaTVsemw1eHNmUXhiNFYy
745 MFVxc1JGRmdjalI0bDR0V1lqUHQKbmdsc2pOSlRHSXh0ZUJMTzN4aFB0VFJtQUh4VUV5MUhoOG1p
746 UlU3RWRjeFpVZWgzcXhsams0NlNUVzdQaDBqOUxXY0FWTWJtdUd3QgpmVTlDK0FkM2MweDJ5Z1ln
747 dWkySTlidHlaTkVpSitNeTVoeHpieDVCZXFyUm5Kd09RL1JwekJkRGJ1ZEFnR3Nhc3dkQmZNRzlI
748 SktkCnNvSExSWXZlMlpaR1k1djhCdUZzWE1LY2ZmcjFKY0YzbzM1YVRnV0Z3eDNIZExuT3JKb2ky
749 UkR0QVZ3U0xjWHVtUENqa0VsOEo0MVoKRmkzU0FMbzNaOFZrb3Y5SUU0Wm1uWmlGb3NEa0dGMnVN
750 d1BzN3pXR0poZXNPR2ZFaDAxTVlTZmVvcVVJUnhZdDBnYTZOK2ZZeVNQdwoxMU9ONXR2MHU4N2NH
751 SlJQWmJEckdiTUJMN1l5aGMzSTBMQ0VwbDY4dHoyVG1oYTUzaTRhdTMreG5qWnRHcEdSa2FTbXBu
752 WThWbGRYCng3MzMza3Q4ZkR5VEprM2k0c1hMMldSVlZWWDQrUGlRa1pGQlJrWUdUejc1cEUzWDhr
753 OU5JZGFrbzdDNS9tbVFwazlqVm8zQmJPb1YKTEZxRzNWRXdzWnNwYk1SUHRCU2htRlNGc05OcHpD
754 dk5sc2JjUXpyendGLzk2bGVrcEtTUW1abkpzODgrUzJOam84Vng3RzdPanozMgpHS3RYcjc3bXNi
755 bHo1eElmSDgrK2ZmdUlqWTFsM3J4NUhjOGxKU1d4YmRzMnRtM2J4bC8rOGhlcnI2TjRlZEV2c3hH
756 RFh1TG1Bc05nCi9IRmRyak1ESEltK2pUcVBKdEV5N0lxQ2dRTk1vWkFBMFZLRVlsWjlPTHQzTk85
757 V3l0clU5cUF6RDd6OTl0dXBxS2hnOCtiTjFOZlgKczJ6Wk1vdmoyTjBxOHZMeU1KdXY3VDVjV2xy
758 SzlPblQ4Zkx5WXRxMGFaU1VsUFQ0T3IybjVPRGJVdFhqY1p5Q29zRGtXUEE1STFwSgp0Mmp4ejZJ
759 OHhOV2lNeFNPTW9VdmNiMXZBN1lRM3hMSm1ySnhiSkRWNU94R1p4NTQyMjIzWVRBWU1CZ00zSEhI
760 SGF4ZGEva2J0RlBXCm5Ndkt5a2hPVGdZZ09UbVowdExTanVjT0hUcEVlbm82T1RrNVBQbmtrNlNs
761 cFhVNlJzRlZQdy92SGNlSWRoMjFuTW9iQlZIclJLdm8KRnFyaVExbHNMQ2oxb3FYWWxUTk00alBj
762 MjVCaUxpUXpmMGNLK25ramRjRzJRdGhlYVA5eHV5aXlWL2o5NVgvZFplSENoVHorK09NVwpqM09L
763 T2F0cTV6RnVNVEV4SEQxNkZMUFp6S3BWcTNqNDRZZlpzYVB6cW16VHJ2cTU3NmdFbExhakRsRHFB
764 QXhHU05zbldrVzMrVDc2CkxzNTYxWW1XWVZlYUdNL0h1Ry9CSGcvVmdPbkVVTjQrRUNkYWluM0lH
765 SFA1M3hVV3o3TFB1TTkyL3ZDWWYvNjd3cXgwNjRkOC92bm4KQ1FnSTRQNzc3N2Q0ckZOV1FMT3lz
766 cWlzckFTZ3NyS1NyS3dzQUR3OVBUdW0vM2ZlZVNjbWs0bjkrL2ZmZEN5RHR6ZGhxbzdDMERLeQp3
767 YmNISDdNQ2FmVWRRbG1ZYXhtendpZ1dFeTlhaGpBQ1ZDL083c3ZqNzY1aXpEcGk4ZUxGZlBIRkZ5
768 eGR1dFNxNDUxaXpqazVPUlFVCkZORFkyRWhCUVFHNXVia0FuRGx6aHJhMnkzVTl0MjdkU21Oakkw
769 bEpTVGNkSzJSVUJxWjJIUmxHcGo3WGFsWEZneTF4L1hUL2pmZHEKUEVsbkFTN3dOYjZiUkxZSHNM
770 VjhETVhmaDRxVzRuYXNYcjJhbDE1NmlSVXJWdUR0YlYwc3ZkM05lZXJVcVl3WU1ZSzllL2NTRnhm
771 SApva1dMbURGakJrZU9IR0hBZ0FFY1AzNmNKNTU0QW9DaW9pTFMwdEpJVDAvbmhSZGVZUDc4K1Ji
772 SGo0eXpISUtpR1pKU0lhUlN0SXB1CmNTYnliazU1NitoRDBBTGVKUEUyV1c3YlhpcitVZ1NmbG81
773 aGY2MTdod3c2Z3lzZStOMTMzeEVYRjBkQlFRRlBQLzAwRnk5ZTVOWmIKYjdVNmJGaFJ1MW9RMWhD
774 S29yQWU4T3dWdzdDOEUvcHA3dnhnTnNTVldqNU9ZN1I1SjdPcWZ6enRlcm5QRnZBaW1tVk00TFNi
775 VnBoTApxTy9Ed2kxcDd2UEJORnJwY3AvTFdoUkZRZDF1NWJIcFhlK3I5UVJkL2JVaWhpZnB4NWpE
776 NDZDWC9veFp4Y0QydU1FdVk4d2VCTEdDCjhXNXB6SW9LWWFlSE1HOUx1dnNZc3d1aHE3OVloTjlC
777 MFJLc1ozZ2ZuZDNkeTV3UHY1dmpMbEpBMzRnMzY1amtsaFhtdkZRajZwSGgKdkZ1WmhMdXVzZXNk
778 M2RUV0NCeVdoaytMVHFJMGZBSWhhYk5vRlRiVDd0bUhUVkV0b21YWUJRVWpGZnlBN1c1WXlNaXMr
779 ckNuY2poYgp6N2gzZ28zZTBjM2NMaUpGUnhzWnVlbmdvYittcDd2aXNtZzE2Q1FkM2dJbm1PU1dh
780 ZGt4YmNHczNUSkdHck1Mb0p1WmMxajdOdEVTCnJNTmdoRUg2U3pxcENiMkxLbjk5aHYxZFR3TjNz
781 Wnd3MFRLY1RrSnpERXUyREtPaFZUZHZhOGxOME0xZjBkaXVreEM2OUN6dzJ5UmEKaFUyMGUvUmlZ
782 N1JvRmZZaW55WEVpaGJoZE9KcSt6RnYrMkRrK3JMcm9KdGxEZDJRV1NOYWdjM3NpUjFKaTFIL3pW
783 bzl5V0FCQTNBMwpnNHEvbU1nQ2Fjd3VoelJuZTlJM0ZVTDFsWFJ5MFh3Yit3UDF2NXpoVFg4V01J
784 eDJOM3RKSnpUSHNHQnJHdEtZWFEvM2VpVTdtaHhmCjBRcHNRalZGc0NtbWk5SmJPc0tMWGl3aGp5
785 WTNlem5IdFlheHVDd0xWUnF6UytKZXIyWkhFaGFydTZTVC9iM0cwbURTZCtpY0IyWSsKNVE3TzZX
786 Zjd4QzVFdGdYeTBlWmNtdHJkTDduR1haRG1iQzlHSklKQjg1bndIVFFHamRaOVAwQWpQcXpsSGc3
787 alhtMlZ6S29QMzJ3Zgp5ZmtXOTB1dWNTZWtPZHNEN3dCSTJpSmFoZFZjN2djWUtGcEdqNmxrRWp2
788 Y0xNbkVYL1ZreDY2UkhLbVh6V2hkSFduTzlpQTNBenowCjB5bmtjTXp0MUhrMGk1YlJRL0w1QnYx
789 L3dOaUNwMnJreE43aDdEcnZYdjl2ZDBXYWMwOVJEREJZUDBrbnpRSEQyV0hXOTNLR0Y1RzgKeXdE
790 Uk1weUtRVlc0ZENTYjRsT3lGck83SU0yNXAyUmtnOTlKMFNxc1FqWDRVeEliZ1g1SyszV0d3aVp1
791 bzk3Tlhycitwekw0L0xETApaQXBKck1DOVh1R09JRk0vRmR5T1I0L25ncWRPTWkyN29JMXhsS0Nq
792 T2l0MklQcjhRRDdZMjF1MERJbVRrZWJjRS9vT2h0RGRvbFZZCnhTVy9vV3dOMVYvMjR0VjRFY3NT
793 RWtYTGNDcnhGeE1wMk9sZVN6aVN5MGh6N2duWitwakJxWW8zcFhFSnVsN09VREN5bGx0b2RxT1gK
794 ck16K3N3MGZBMlJiMmIxRUQ3alBLOTNlaFBhQ1dIMGtuWnlLbXNCWnI0dWlaZlNJUm01enE5ck1N
795 dnZQTmlKTkVMOFNTajhWclFTbQpUWnRHWkdRa3FhbXBIWS9WMWRWeDc3MzNFaDhmejZSSms3aDQw
796 Zkw3VVpwemR4blJWeGRKSjYwK2d5Z0wxM2VqVm04U2VaYzQwVEtjCmhzeitzNDMrSm1BaGZGY2lX
797 c2xsSG52c01WYXZYbjNOWTNQbnppVStQcDU5Ky9ZUkd4dkx2SG56TEk0anpiazdlQWRBUCswbm5h
798 aVkKMkJxWGpLcmp5WmNCRDc0ZzMyMTY0TW5zUDl2SVV1RG9iRGgxV0xTU2Y1R1hsNGZaYkw3bXNk
799 TFNVcVpQbjQ2WGx4ZlRwazJqcE1UeQpKNGw3dk9MdGpVNlNUczVHM3MzM1B2cWVOZGR3QjVYb3Z6
800 aVROY2pzUDl2SXI0ZXlXZENvZzVkNFdWa1p5Y25KQUNRbkoxTmFhbmxKCjFMMnF4ZGdEeFFDRDk0
801 dFdZWkUyNy82VVJPZzdiTTZMQVN6QVBXSjdaZmFmOVJpQjRWVlF0Tml4MTZuMzdMeks1THJTTnRh
802 VlhkM08KN1pMRnNWVFY5aVZRaStiYzNOek1wNTkrU2xGUkVXKysrU2I3OXUzanUrKys0KzY3Nzdi
803 NVlpNUJlcmJtTzUyb0dOZ1JtMGFiUWIraApjMGE4K1FjajNLSStzOHorczU1QUl5U3VoL1ZmT1A1
804 YVg2ZU02dnlKRk1qNThWVy92L21seGJHeXNyS29yS3drSXlPRHlzcEtzckt5CkxKNWo4WlgvKzkv
805 L25xMWJ0MUpZV0FoQVRFd012LzN0YnkwTzdMSU0xZjUzcUF2aGQzSFVUNy9HREZETmVBN2lIdXV1
806 TXZ2UE91Sk0KRVBvUmJIZUNNZHVibkp3Y0Nnb0thR3hzcEtDZ2dOemNYSXZuV0RUbmI3LzlsdG16
807 WitQcGVmbU40dWZuMTYwcHVrdVFPQmhDSzBTcgp1Q250bnIzWkdOVW1Xa2FQOEdJd0h4RWhXb1pU
808 aUQ0bnMvK3NZYkFSTHI0QmgzYUlWbUtacVZPbk1tTEVDUGJ1M1V0Y1hCeUxGaTFpCnhvd1pIRGx5
809 aEFFREJuRDgrSEdlZU9JSmkrTllYTllZTUdBQU5UWC9tb1Z0MnJTSmpJeU1ucW5YS3pwSU9xbUl5
810 NmJWb04rMlV5YjgKK0J2WnVFUGlSZnpGUk9idmt0bC9saGplQnB2L0RKZWFSQ3V4anZmZWU2L1R4
811 NWN2WDI3VE9CYk4rZW1ubjJiU3BFa2NPM2FNc1dQSApjdXJVS2Q1OTkxMmJMdUlTaFBhQ09HMG5u
812 ZFNGak9lUXYzNk5HZUFJZDNMTURZcm5KelRITUY5bS8xa2sveHdVelJHdFFnd1d6VGtyCks0dHZ2
813 LzJXTFZ1MjBON2VidFZDdGtzeW9pOFlqb3RXMFNXcVJ6UWJZNHhBdThWanRZb0hRMWxCaUdnWkRr
814 ZG0vMW5HVTRHaHU2SG8KQTlGS3hHRnh6Zm52Zi84N0Z5NWNZT2pRb1dSbFpYSGh3Z1UrL1ZRRE9a
815 TE94TnNma3JhS1ZuRlR2b3ZObzhsb09hUkhxM2dReFB0awo0T296U1puOVo1bFFJL1JiQXh2ZDJK
816 akJDbk9lTldzV3djSEJIYjhIQndjemMrWk1SMnJTSHJtWjRLbmQyaFQxd2Jld04xRGZ5eGw3CnVa
817 UFR1TFpoaGNqc1A0djBOWUgzTzFDeFRyUVM4VmcwWjI5dmJ4b2FHanArYjJob3dHaDA3VGZSTlNn
818 R0dIeEF0SW91VVUxaGJPeWwKNzR3eUk3bDhRWkJvR1E3RlgvV2tYR2IvM1pSTUE1eDZHWTVyUDhm
819 TEtWaGNjNzcvL3Z1Wk1XTUdNMmJNUUZWVjVzMmJ4d01QUE9BTQpiZG9nUFF2OE5GSlJwUk1POXJx
820 RkJwTisyMDU1RXNvN0RCWXR3NkhJN0QvTDVEVkQ4VXZRM2lwYWlYYXdhTTVQUHZra0gzNzRJWC80
821 Cnd4OVFWWlg3N3J2UHZjdzVVN3MxTkpvQzg2Z0lPb2VlMTJsM2NBYzFMcnljSWJQL2JvNEM1SjJB
822 b2dXaWxXZ1BpK2JzNit2TG80OCsKeXFPUFB1b0VPUnFqenlBSTNTVmFSYWVvaGlBMnhZYUFvdWY2
823 R2ZrVUVpQmFoRVB4UDVYQkJ6TDdyMVA4REpCU0JrWC9FSzFFbTNScAp6czg4OHd5dnYvNDZFeWRP
824 dk9FNVJWRllzV0tGUTRWcGdwd0F6VTVLai9TNmcxb1AvVzRDZWhISld5N2VRVHY2M0VBS1pQWmZw
825 MFNiCndQOFQyS3o5eXJ2QzZOS2NIM25rRVFCKytjdGYzcEN1cmVpNDNaSFZoUGFDT0cydU5iZjRa
826 MU51UG85bVB6a3M0dm9kdEdYMlg5ZWsKbU9ETWZOaDNWTFFTYmRPbE9ROGRPcFRXMWxZV0xGakFY
827 Ly82VjJkcTBnWWFUVHBSRGI2VXhQWUNSYnRyNFpadzlRN2FNdnV2YTNKVQpLUDh6TkdrM01sVXoz
828 SFRxWWpLWnFLcXE0dlRwMDg3U293MDBuSFR5ZmVTZG5QZlNyekY3RWVmU0hiUmw5bC9YNU5kQ3lm
829 UFNtSzNGCjRvYmdvRUdEeU12TDQrNjc3eVk2K3ZMR2hxSW9QUGZjY3c0WEo0eWNUUEFzRXEzaUJs
830 UlRKTnZDOUd2TWx6dG9qM1BaRHRveSs2OXoKVEFyazdJT2lwYUtWNkF1TDVod1RFOE1ERHp5QW9p
831 aFdkWXpWUFlvQlVyV1pkUEo5eENoYURkcXZKOTBWcnR4QlcyYi9kVTZ3RVJJSwpvZmhyMFVyMHgw
832 M04rZno1OCtUbTVwS2ZuNCt2YitjdFcxeU9ORzBtbmFqR1VNcERHaXdmcUZHOFNXU2hpM2JRbHRs
833 L25aTmdBcFpCCitXN1JTdlJKbDk4dkZ5NWN5SkFoUTNqenpUZnAzNysvK3hRN0dxck5aWVBxOE5H
834 MEdQVlpSTitWTzJqTDdML09TVFBDaGRmaHNEVG0KYnRQbHpQbWRkOTZodkx5Y2tKQVFEaDQ4eURQ
835 UFBNT2tTWk9jcWMzNTlCbW95YVFUMVdobVc1aE9LbzEzZ3F0MjBEYW9DaTB5Kys4RwpSclpDeVo5
836 dWsrUVlBQUFnQUVsRVFWU2d0Vm0wRW4zVDVWU212cjZla0pETHRYVVRFeE01Zmx4N1lXVjJKenRR
837 azlGUFo4TEgwR0xVClo5RUJMd2J3bm90MjBQWS9sY0VxbWYxM0RmbW5vZmdQMHBqdFFaY3o1NE1I
838 RDE2VEhYajE3eTZaSVJnU284bE9KNm9oa0cxaExhSmwKZEFzajNxeHcwUTdhTXZ2dldyd1ZTQ3VI
839 b3IrTFZ1STZkR25PMS9lNytvLy8rSStPbjIrV0lUaHQyalJXcmx4SlJFUUVPM2Z1QktDdQpybzZI
840 SG5xSWJkdTJrWm1aeWRLbFMvSDM5d2RnenB3NXZQSEdHM2g0ZUxCZ3dRSkdqZXFpSGJtakdaRUV4
841 aE5pcm4wVHpvYVBvOG1vCno0M0Fhc1p6eUFVN2FNdnN2MnNKTjBIWVNpalpLRnFKZGxpNGNDR0xG
842 aTJpdWJtWnZMdzhYbnZ0Tlp2SFVGUTd0OUpldDI0ZC92NysKUFBMSUl4M20vT0tMTDNMMDZGRmVm
843 dmxsL3VNLy9vUGV2WHZ6eTEvK2t1cnFhdkx6OC9ueXl5ODVkT2dRdi9qRkw5aTY5Y2JrRDBWUgpV
844 S2ZhVStWMWVQdkREQVU4dFJXbXBocjgrVHBsREEwbS9jMmN2VWpsZFlhanlYV2lIcERRSE1QOGto
845 eVpaUEpQK3BtZzdtMzQvcEJvCkpWZnhyWEpEeVFsYlVSU0Y1ZXJ0VmgxN3IvTGxOZGM3ZCs0Y1E0
846 Y09aZGV1WGZqNCtIRDMzWGZ6ekRQUGNNY2RkOWlrd2U3Zk4vUHkKOGpDYnpkYzhWbHBheXZUcDAv
847 SHk4bUxhdEdtVWxGd09WU3NwS1dIOCtQSEV4OGN6ZXZSb1ZGV2xyazZBUVdabmFzNllBYzZIamRP
848 bApNWnZ3NDJNWDdLQXRzLyt1WlpnQ0oxN1NtREZyQUI4ZkgxUlZwYWFtaHNiR1Job2FHbTd3Ukd0
849 d3ltSmdXVmtaeWNuSkFDUW5KMU5hCmVubHR0NlNraEpTVWxJN2pCZ3dZMFBHYzAxQVVHS0s5cEJQ
850 VjRNdjJNTHQrcVhFYVI3aVQ0NWJ6bTNSRmxNeit1NGI4QnRqeVBOVFgKaUZhaVBYeDhmSmc3ZHk2
851 OWUvY21LaXFLa1NOSGtwMmRiZk00VnIrRG1wcWE4UGJ1WG5hWExWOHh1bHJQbnJuelh6K1BpWUF4
852 a2QyUwpjaU1EMHNCdnU1MEdzeDhYemZsYzlORGZscmNYcVM3WFFUdFk5ZVpybWYwSGdCRVljUVNL
853 Q2tRcnVZcnpoWENoME83RG51b2l5dWk3Cnd1L1pXL2c5QUowNTIrblRwNWt4WXdhN2QrL0diRFp6
854 Ly8zM3MzTGxTaVpNbUdEVDlTMmE4L2J0Mi9udGIzL0w3dDI3T1hUb0VOdTMKYjJmQmdnWDg1Uzkv
855 c2ZvaVdWbFpWRlpXa3BHUlFXVmxKVmxaV1FEazVPU3daczJhanVQMjdOblQ4ZHoxekV5MStuSzJr
856 YWpONUlFRAo1a0JBWC9XYUZZeXNaaGl1dEp6aHJacjRybktFelA0REFvM1F0eGpXclJhdDVEck1Z
857 eTcvdTBMVkxMc00rd24zZFA3RW1ILyt1OEtzCktkYzhYVnBhU201dUxrbEpTY0RsVm45RlJVVTJt
858 N1BGWlkwLy92R1B6SjQ5dTZNRGQzcDZPbXZYcnJYcElqazVPUlFVRk5EWTJFaEIKUVFHNXVia0Fa
859 R2RuODhVWFgzRGt5QkVLQ3dzeEdBd0VCRGk1TTBiY0tlZGV6d3JhUFh0enhGZC9mUUhieU9NN0Y0
860 ck9NS2pRVUpYTgoxalBCbGc5MmNlSk1FUElCYk5PYU1XdVF2THc4Tm0vZXpMbHo1Mmh1Ym1iVnFs
861 WGNmcnQxbTR0WFkzSG1mT0xFQ1FZUC9sY0R6dWJtCjVwdlcyWmc2ZFNwcjE2N2w3Tm16eE1YRjhm
862 enp6ek5qeGd3ZWV1Z2hCZ3dZUUdabUpyTm56d1lnTWpLU0dUTm1NRzdjT0R3OVBaay8KZjc3Ti80
863 RWU0UjhDUWQ4NTk1cFdjTmFjb2J0NnpTWUMrQ3RKb21YWWxhRFQ2U3c3R2lWYWhuQ0dHT0hJSExo
864 UUxWcUpQZ2dNRE9SMwp2L3Nka3lkUHBxR2hnZkhqeHpOMjdGaWJ4N0VZU2pkcjFpelMwOU9aT1hN
865 bXk1Y3Y1NDAzM2lBb0tJamYvZTUzM1Jadkt3NExwY3NjCkRyZHBMeml6T0hrU1o3MzBGZHQ4am52
866 NUVOY3hzcmphZml6WTdxaTFOUDB3OGhLVXZLeXpqRDg3aGRMZHFmN05xbU5YS1ZONmZMM08Kc0xp
867 czhjd3p6N0J0MnpiYTJ0cTQ4ODQ3Q1E0TzV1bW5uN2E3RUNIMDFsN20yaVcvVE4wWnN4ZHgvSTBJ
868 MFRMc1JrSnpEQXUyRDdaOApvQXVqQVBtbm9QaVBPak5tRjhLaU8yM2N1SkdaTTJleVk4Y09LaW9x
869 K08xdmY4dDc3NzNuREcyT0owWjdBWm9uelgxRlM3Q1piUzVVCmNhNVhxNWtsVzF4clU5TldmQTB3
870 YkJzVXpSV3R4TDJ4K0k3Nm4vLzVINzcrK2wrVnNsOTg4VVhYS0I4YUVROSsya3JYVmhVdjlnVHIK
871 YTlic1NRWkYrSXVXWVJkQzIzMVp1WDA0RGEydUZhTnRDOUVtaUYwQlpjc3RIeXR4TEJaZmhTdFdy
872 T0R1dSsvRzA5T1QxYXRYczJmUApIdGNvZXRRdkFUZ2lXc1UxTkFZT3A4bDRTYlFNcTFFdzhUbnBv
873 bVhZQlYvVmcvS0tFWnhzY00xT0xkWXcwQVRWYzJHdkd4U2cxQU1XCnpUa3NMSXdWSzFad3l5MjNN
874 R3pZTUQ3KytPT2JGajdTRFFuYVcwZzdhbzVBVDdITnJlU3ozd1ZDNTR5cXdvV0RPZXgwNDRMNXVl
875 MncKN1FWbzF0Y1hONWVtUzNQMjkvZS94b1JiV2xvNGRPaFFoem5YMXRZNlJhQkRVQlNJMkNOYXhU
876 V294bEQyQmVySG1EMElZcG1MZE5IMgovVDZUejQ2N3pvYW1yWXcrRDJ2bjBIbTZtMFFZWFpxelN6
877 ZHpUVWdCTDIzMXo2azE1OUN1NktlZy9rbkdVWXYrNjB6MHVwRE1XL3NTClJNc1FncGNDbVpXdzlu
878 M1JTaVNkMGFVNTc5bXpoK1RrNUU1TGVBSmtabVk2VEpURFNRb1RyZUFHOXB2OUFIMVVrZkVtZ2Ir
879 anZYdG8KS3dtTnNjemJrV0w1UUJja3pBZ1JYOERHOWFLVlNMcWlTM04rNVpWWFdMaHdJYzg5OTF5
880 bmE4emZmdnV0UTRVNWxEaHRtV0NiVnhMSApmUzZnbC9DdE12SjAzOTBrdGpXVXhWdUdvcGQ3Ymsr
881 U1RGQmZBTHNQaWxZaXVSbGRtdlBDaFF0cGIyL25qMy84SXlOSGpuU21Kc2ZpCjVRdWhGYUpWWE1N
882 Wjh4QlE5TEdNNU1GUWl2RVRMYU5IaExYN3NYeXJlNWIvSEtiQTdoZWhRY2RiUnU3Q1RhYy9Cb09C
883 bi8zc1o4N1MKNGh5U1VrQkR6VkpWRkw0enQ0bVdZUlVLSmo1amlHZ1pQY0pmOWFSczUwaXFtMXl2
884 RzdnbDh1dGg4eXhwekhyQjRuZlRpUk1uTW1mTwpISDFIWjF4TkgyM04raTc1RCtPQ1o2Tm9HVmJS
885 d2xoZDl3UTBxUWErMzUvTG5oclhTSnF4RnBNQ0l3OUIwVXRBdTJnMUVtdXhHT2Y4CjZxdXYwdERR
886 d0hQUFBZZVB6K1dhdHJvT3BZdlZWbGJnU1hNZjlCRGI3RUV3UzlGM1ZJUEhpYUdzTzZuL2pVeGJD
887 RFpDd2xvb1htUDUKV0ltMnNHak9MaFZTRnhnR2dmdEZxK2hBVlh5b0ROTEgvVDNHT0M3cU9IUXU2
888 dHhBRmgySUV5M0RxZlEyUWZ0Zm9ieFN0QkpKZDdDNApySEhMTGJkWTlaZ3U2TjlmVTV2empVRWph
889 TkhRK25kWGVOT0hUM1FjT3BmUWtNQ2lYUU5FeTNBcTZVWTQ5eG9ja2Nhc1c3cWNPVi9wCkdudjY5
890 R25PblR2WDhYaDFkYldZRHRuMm9MZUduQms0YkE1RkQwc2FteGlKcGo3VmJDRHVVamh2YjgxQXIv
891 cTd3NmdXMlBBaXRHdi8KYzE5eUU3bzA1L256NS9QNjY2OXo0c1FKaGc0ZDJ2RjRRa0lDeno3N3JG
892 UEUyWjFvRFMxcG1DTFpINkI5WS9ZZ2kwMDZEWjJMYkEvZwpveTA1WEdyWGQweTJ0U2hBM2drb1dp
893 QmFpY1FlZEduT3p6NzdMTTgrK3l4ejVzemg1ei8vdVRNMU9ZYW9QdUNybmZyTkY4eFpxRXFMCmFC
894 azN4WUFuSzlCbk41QkExWXQxNVNQY3BtTzJ2d0dTUzZIb005RktKUGFpeXlsRldWa1pKMCtlN0RE
895 bXp6Ly9uSWNmZnBpNWMrZlMKMEtERDBsWDl0TFVadE4rcy9kS1VUWXpoTUI2aVpkaU1wMnJrOEhm
896 RE9WQ256eG0vclFRWUlPWWZzRmthczB2UnBUbi8rNy8vTzU2ZQpsMmNkKy9mdjU3SEhIdU9XVzI2
897 aHZMeWMzL3ptTjA0VGFEZml0Uk5MM09hZHpFa2ZiWWNpZWhMQ0J6b01uVk5VYUQrYXhhYnFFTkZT
898 Cm5JSVJTTm9BZTh0RUs1RmNUWDE5UFQvKzhZL3AzNzgvQXdjT1pOT21UVGFQMGVXeVJsdGJHNkdo
899 b1FETW1UT0hSeDk5bEVjZmZaU0gKSG5wSWYrbmNCaU5FYUdmYityUjVFS0R0VGRYRGpLTmVoL1V6
900 d3MrbThrNVZqR2daVGlQM0lCU3ZGcTFDY2oyLy8vM3ZpWStQWi83OAorWmhNSnVycjYyMGVvMHR6
901 TnB2Tk5EUTA0T3ZyeS9MbHkvbjQ0NDh2bjJBeTZTLzJ1VThLZU80U3JRSUFGUU43ek5yZVJ2ZW1M
902 OHZSCjM4d3pvYjRQODNZbmlaYmhORWJYd05vbG9sVklPbVBObWpWczNMZ1JiKy9MeTVkQlFVRTJq
903 OUhsMU9paGh4NGlOemVYVzIrOWxiNTkKKzVLVmxRWEF2bjM3Q0E0TzdxWmtRZlFORmEyZ2c1YUFi
904 R285dExQRTBobkZqRUJ2b1dmeExaRXMzSktHM25SM2wrRnRzUFkxMFNvawpuWEhzMkRHYW1wcVlN
905 V01HT1RrNXpKNDltNmFtSnB2SDZYTG0vSk9mL0lRSkV5YXdkKzllUm84ZTNmRzRxcXE4OGNZYjNW
906 TXRpcml6Cm9oVjBjTUtjQUp3WExhTkxUT1JRaHE5b0dUWVIxUmJFZTF1eVhhWUR1Q1dHR0dIem41
907 R2RTeHpNOTlXZEJ4SFVGVy9oNG9iTzY5d0QKTkRVMXNYZnZYbDU2NlNWdXZmVldmdnJUbi9MaGh4
908 L3l5Q09QMkhSOVJWVlZ6ZitKRlVWQm5kck5rNzM5NGFrR01JcXYrS0lhL1BoaQpZRDR0Um0xV29U
909 UGd4UXAreERFZFJXZ0VxOTVzMkRhV3d4ZDlSRXR4Q24xTWNQWTFxRDBqV29tRytWYWhwN2FtS0Fx
910 c3RYS00wVGRlCkx5VWxoY3JLeS90Y3ExYXRZc21TSmJ6MzNuczJhWEQ5cVVaU3NpYU1HYUErYUlS
911 bWpSbWdnYkc2TW1ZdjFjamV5aEZ1WTh5aFJtaDUKUnhxekh1alhyeDhsSlNXMHQ3ZXpjdVZLYnIz
912 MVZwdkhjSDF6VHRUT1YvVERack5vQ1YzaVNSZ2ZFQ3RhaGsyMEh4M0dsak02Mi8vbwpKdDRLUks2
913 RzQvdEVLNUZZdzhzdnY4d3p6enhEWm1ZbTN0N2VQUERBQXphUFliRXFuZTZKT1NaYUFRRHRIakVj
914 OE5kdXV2WkJ4dEtvCm82cHpDYzNSekt2cUpWcUdVMUNBSWR1aHRGaTBFb20xOU8vZnYxdXh6VmZq
915 MmpQbjRFZ0kxRWFqdEF2bVlab05KUENtUDUraDNWbjkKOVhpcFJyN1luU1phaHRQSU93R2xuNGhX
916 SVhFMnJtM08vZnRxeGhEM21iVzdsbHRFTHBxNVVWWVFkSFlnaCtxMHMxemxTUElhWkNFagpkOFcx
917 emJtM2FBR1hhZlVaekNsdmJXWUVHaG5PVnZTem9SYlZGc1JmSy91S2x1RVVzb0IxTDR0V0lSR0Zh
918 NXR6bERaMlQ2ck55YUlsCmRJb1JiLzdPUU5FeWJHTHZnWFJhVmRkKzJRS2ttR0RueThpZWYyNk02
919 NzdLWTVMQTU3Um9GYWdZMlJQY0xGcEdwOVF4bHBNNjJoTk8KYU9oTjhmZmF5ZlowRkwxTVVEMFht
920 blJXSlVGaVgxelhuUHRwby9oTmMwQXVGejIwWjg2ZWhQT2hqa0xuQWxSUFB0NDFXTFFNaHhObwpC
921 TThQNGV4eDBVcjBTWDZDdHFzOTJvTHJtbk84Tm1wT0h3L1JwZ0h1WXl4Tk92cnpxeWRUT2RQazJv
922 WHpQUlRvVXdpSGRvaFdvajg4ClRTckRnNytuYUxGMnFrLzJGUDI4TzIzQmFJTHczYUpWb0JvQytT
923 NndSclNNRy9CaUFLdlFUL0pHWEdzWUgrMlBGeTNENFF6YkErVmYKaTFhaFAwSURWZnJWSDJMako0
924 ZEZTN0Vycm1uT2lRUEJRL3pNK1dMd2NGb05XdHZSVVNqVVVlaWNTVlhZVUptT1h2UjJsOUhuWUtO
925 dApwUmNrUUZKVU8xNDdkMU94UWZ6K2tyMXhVWFBXeHF6d2tObjJHcTZPeHNBSXl0RitpNndyUk5Y
926 MFo5ZjVRTkV5SE1ySVM3QjJqbWdWCittTlluMHVjWExtTkV3ZGRjK2RVUDF2MXRxQ0JFcUh0bm5G
927 VStaMUhTek0rSXo1OFJJcG9HVllUMnU3SDBncHRoaUhhaXd3RGJIcFIKdEFyOWtkK25ubldMZDZG
928 cTdZdXBIWEU5Yy9ZSkJMUDQ5ZVp6d1ptZ2FLdW9mZzNqcU5aUi9ZenF3MmswdHVsSHI2MGttV0Qv
929 LzBMYgpKZEZLOUlQUm9ESTg5Q3hGQlFkRVMzRTRycmVzMFQ4WkRPSkxWTzhOMGRhdDlTS0tEOUZH
930 ZUtFMTlHN3F4WmRIbzBUTGNCZ1JKcmo0Ck50U2RFNjFFUHdUNnFxUzJIMkg5aDY1dnpPQ0tNK2Zl
931 WHFJVmNNazNqVE5ldGpkMGRDUjdHRU9MVGo2TGZWUVRLeXVHaUpiaE1Qd00KRUx3YzloNFNyVVEv
932 eEllM1k5aTFsKzI3dFJmOTVDajA4VzYxaFY1SFJTdmdsTG1mYUFuWDRNVkF2a0EvbTJwK1p3Wnlw
933 RjQvOVQ1cwp3UUNrbE1MZU10Rks5RU5hUWlzMTM1UlQ1VWJHREs0MmN3NkpCdjhxb1JKVXhZTTl3
934 YlkzYzNRY0JyNG1DeTF0VE42TTZMWmczcWxNCkZDM0RZWXc0QXVzL0U2MUNQNHhNYkdUVGtsMjBY
935 WExobmI4dWNLMlpzd1pLaERZSDVOSmdhaEVyNGlvVVJySkxKNkZ6aWdvVit6SmMKdGxIcjZJdXd2
936 a0MwQ24yZ0tDcjV2YzVUL1BZT3R6Um1jRFZ6VGhEZm4rOW9pSFkyM1V6NDhURURSTXV3bXZqNlJF
937 cXE5VlAwM3haeQpWVmo3aW1nVitzRFBXMldvNTNHS2x1NFZMVVVvcnJXc0VTWDJqNmthZzlrYm9K
938 MVdWT2NZeDJtZGhNNEZxZDY4djJ1UWFCa09ZYkFKCnR2NFJFQjlFcEhtaVExVDhEKzVuOHpZWnh1
939 TFVtZk95WmNzWVBYbzBnd1lONHEyMzNnSmc1c3laeE1iR2twR1JRVVpHQnF0WHIrN2UKNExIOXdW
940 dHM4a2xkOEhEYU5CREdCK0JGREIraG4xQzBsaE9wWEdqUmJyZVk3aEp2Z3VOdlFJdTJRdDQxeWNE
941 WU5pNXQyc2srRnpIbQp0clkyTWpJeW1EaHhZcmZPZDlyTXVhYW1obG16WnJGcDB5WThQRHdZTjI0
942 Yzk5OS9QNHFpOE54enovSGNjOC8xN0FMOW9nQ3hNK2VEClpuOUFHenZLRll6bWtrNVdyZUl2UlRE
943 L2dEYXI5L1VFc3hINEs1dy9KVnFKOXNsTmJHYnJzaDIwTkxyTyt2THJyNy9Pd0lFRHFhdnIKWGhj
944 a3A3MTdOMnpZUUdabUptYXpHWDkvZjhhT0hjdkdqUnNCVUZVN3pEYmp4T2JYdDN2MjVvaXZOcFkw
945 dkJqTUdnSkV5N0FLRDlYQQoydDJ1VjlqSVM0R1lyK0NJNjFTd2RCaWpFMnJaOVBaMmx6TG1ZOGVP
946 OGZubm4vUDQ0NDkzMjkrY1pzNzUrZm1VbHBaeTZOQWhUcDQ4CnllZWZmODZHRFJzQWVPT05OOGpO
947 eldYMjdObmQrNVF4ZVVLWTJKVHRzK1lNVU1RYmpJS0JMeG1HWHN3dS9NSUE5dFQ0aTVaaGR6SjIK
948 UVVXUmFCWGF4c3REWlhqUTk2eDFvUnJNVi9qRkwzN0JTeSs5aE1IUWZZdDEycktHbjU4ZnI3MzJH
949 ai83MmMrb3Fha2hOVFVWYjI5dgpmdktUbi9ELy90Ly9vN2EybGwvOTZsZk1ueitmWC83eWx6ZWNQ
950 M1BudjM0ZUV3RmpJcTk2c2xkZjhCRDdCejRTcUkyTk54T1pWQ0krClM5SWFBbFV2M3F2VVZzS09Q
951 Y2l2aHFLUFJLdlFOZ25oN1hnZE9NREdMKzJ4dnJ6MW4vL3NUR0VYang4cWhLcXVub1RQUHZ1TWlJ
952 Z0kKTWpJeUtDenMramhMS0twZDFoUnM1NEVISHVBLy8vTS95Y3pNN0hpc3ZMeWNKNTk4a3VMaTRt
953 dU9WUlFGZGVwTkJzc2VDV09MYjNLQQpZMUVWSDFhbTV0R3VnY25xSGg2a1VDZExHcEZuQjdHNFFq
954 K2hmdFl3cWhuVy8wbTBDbTB6UExHSkhSOVZVRi9iNnFBcjVQWjRxVlJSCkZCaHI1UmpmS3RkYzd6
955 ZS8rUTN2dnZzdUpwT0pwcVltYW10cm1USmxDa3VXTExGSmcxTjNqS3FycXdGWXMyWU5PM2Z1SkRN
956 ems1TW4KVHdMUTJ0cktzbVhMdU91dXUyd2ZPRXhzUkdDcmI0b21qTm1UY0FyUnh4S0JuK3JCSi90
957 Y0t4TndtQUxGc3Z4bmwvaDRxb3dNUGMzRwp0OHNkYU16aWVlR0ZGemg2OUNpSERoM2kvZmZmWjl5
958 NGNUWWJNemc1enZtKysrNmp1cnFhZ0lBQUZpMWFCTUN2Zi8xcnRtL2ZqcWVuCkovbjUrY3lZTWNQ
959 MmdVUEVkajI1Nk5zTEVOL0V0VVpIYTgxQk5VblV1RkRvM0FBVDdINFJWUEY1VUpxa2IxUTc2cTU5
960 Rk8vVXhxYTUKTTFHNnVSY2xiRm5ERml3dWEvd3NEdnpGRlR6YWwvQkRLb1BQQzd2K1pReDh4cU1j
961 US91RzU2MmFXRmMyM21VYXRrYWJvSFUrbkJaZgpjMHVUak9yYlNObXlDcG9iblBYSkpYWlp3MTdv
962 UDBQUXd4dDh4YjRyanZ1SkwzVGt5V0JkR0ROQVdGMml5eGh6b0FGOFA0WUQwcGh2CndOOWJaYkRu
963 OTZ4LzY0aG9LYnBFSDFrS055TXFRZWovb3Qwamxsb1A4ZWxmM3pGUXRBU3I4RlFOZkxZM1NiUU11
964 MkJTSUhFZEhOZ3UKV29uMlNPN1ZodmxBSlp1V1MyUHVMdnFmT1VlRkNyMThrNi80VURBUGduV1Rk
965 QkpWMzRlVERmcW9rbWVKbkgxUS9KVm9GZG9qdjA4OQpHNWJ1cHJYRmRaSktSS0IvY3c0VCsxVyt4
966 aThFNkY1NnByMW9ZSmd1eW15YVZJVXY5b3IvTUxNSG95L0EycVdpVldpTFlIK1ZmcTBuCktDbzRK
967 bHFLUzZEOWQ3UWxRc1F1S1p6eUZYOEwxeEluV29KVjlHcE1vT3FpcjJnWlBXWkVHNng5VGJRS2JU
968 RTRyZzN2blJXVXJaTEcKYkMvMFAzTU9FbGRWUmxVOE9lRWpkdGJzUlFyNzBmN21ta0dGYi9mMUZ5
969 Mmp4NlFab2VTUG9sVm9pOUc5NjFqM2JpWHRyWm9QL05JVgo0cWQ5UGNIa0NYN2lOaHphZkpKcE5Z
970 aGRWenVJUG1vZ3h6ZkY4WjNPYTJna211RFFxOUIyU2JRU2JSQVdxSkpoT01MYVJidWxNVHNBCmZa
971 dHpWTUxsS1prZ0x2cUtYVTR3NGMrWDZLTnpTUEVCZmFkcGh4bWhhVEhVdWthcDRSNlRudEFLbTNl
972 eTdldVRvcVc0TFBvMjU4Z3cKb1pjLzZ5ZDJKbmlKWVRUcjRFL1l1em1HSGVmMDAvMzdlbndORUxZ
973 U1R1d1hyVVE4Qm9QSzZMZ2F0cit6aFRQSHhZZVF1akw2WG5NTwpGN3ZXZXNKWGJNcDJNUWxDcjI4
974 dG13L3FkOWFzQUFNM3crWk5vcFdJSjhxc0VuNzZNR3VYeU80QnprRDcwNjZiRVNJdU0wODFSWExl
975 Cm8xN1k5YjNwcTR1dTJna3RrWlNkMXNmU1MyZU1PZ2FiVjRoV0laNWhmVnBvV2xmT3puWFNtSjJG
976 dm1mT1FkWENMdDNzMjE5b2NmMWoKREJGMmJWdllkVGhadElSdWsxOFBSVytKVmlFV0Q1UEs4SWp6
977 RkJYc0V5M0Y3ZER2ek5sb0FyL0R3aTUvd1M5QzJMV05lTE1hc1ptUgoxaERYR3NiNms5clgyUms1
978 UU5Fcm9sV0lKUzZzbmFTYWd4VDlWUnF6Q1BScnpwRUpZQlFYeGxidEs2N3ppY3BRTHFLTnppczM0
979 K0FSCmZjNmFCNWxnKzR1QUcyY2Y1eVkyYy82cmNpcEx6NGlXNHJibzJKekRoVjFheFNnMCthUU03
980 UmVwNzlWcVpzMHhjWCtqN2hKbmdwUC8KQjgxaVM0UUx3OHREWlZURUdUYTl2WjJMRjFwRXkzRnI5
981 THZtSENHdVQxNmJ6d0JhakdLcXFuc1JSeGsrUXE1dEN5ZVBKNk9Yd3Y5WApDRGFDNFQwNDk3MW9K
982 V0pJakd6SFVMbWY5VitLcmswdUFUMmJzMWxjR0Z1RGJ3SWd4cHpQa0liV1RTK3FMWWhGaDZORXk3
983 QUpUd1ZpCnY0WmRGYUtWaUdGa1loTmJQNmlnOGFMcnRvL1NHem8yNTlQQ0xuM09OeEFRTTd2WWl2
984 YVhDczZmSElEV1AwQ3VKN01DTmhXS1Z1RjgKL0x4VmhuaFhVL3gybFdncGt1dlFwemtiakVJak5V
985 NzRpU211NEVrSWxScnZkaExSN3MrU2c3MUV5N0NKL05OUTlLRm9GYzZuZjB3Ygp6VnYzc2JHeVJy
986 UVVTU2ZvYzBNd0loNk1ZcjUrcVVZelp6ekZiQWEyMFIrdHowZ2JUdzFBMWJqR3F4blZBa1Z2aWxi
987 aGZQSVNHNmo2CisxWU9TMk8yTzBlUEhtWHMyTEVNR2pTSU1XUEdzR3pac202Tm84K1pjMVFFY0Vq
988 SXBadDlVNFFsbnh3alZzaDFyU1ZFOWVXRC9mcW8KTFEwd1ZJRU5MNHBXNFZ3Q2ZWVlNsSk9zZTFz
989 MlBYUVVIaDRldlBycXE2U25wM1BtekJteXM3T1pPSEVpQVFHMmRTdlM1OHc1WEZ5awpScTFmcExC
990 cmJ5WkkyTFd0UVQzZG4xWlZIeStwL2lhb2ZBWGEzV2ovYTJCc0d3RjdkbFB5bVRSbVJ4SVZGVVY2
991 ZWpvQVlXRmhEQm8wCmlNMmJOOXM4amo1bnpxSGlDdXFlOXZVRW5GOVR3NHRZam12NHp4V2tldlAz
992 dmZvb3hCUmxnZ3NMb0tGV3RCTG5rZC9uSXNYdlZ0SjIKeVkwemEyekVhRVVXa3NyTmM1WDI3OTlQ
993 UlVVRjJkblpObDlmdSsvMm14RWtKbXRKUmVHNDcwVWgxMjVDMngyclBjLzJvNmxkKzFtTApBUWJ3
994 L3p2c2Q1T20wQ0VCS24yYWpsRlVjRUswRk4zUnRxZXE4eWVhTjBGTGljWHo2K3JxK09FUGY4aXJy
995 NzZLbjUrZnpkZlhuemtyCkJ2QVhFNm5SN3QyUEpxT1lXZnRCdEJzMzdLOTY4cmU5ZlVUTHNJZ1JT
996 Tm9BMjdhS1Z1SWMwaEphK2Y2YlNyWWNjZE4weDU1eXNxdHcKM2I3Ly9IZUZPVGNjY2VuU0phWk1t
997 Y0xERHovTXZmZmUyNjNMNjgrY3crUEFKTWFjRzN6N2NQbUxqTE14VUlKMld6ejVuMCtpdmxYNwpM
998 NlhjQTFDOFdyUUt4Nk1vS3ZueGRSUXRxVVNWcXhoT1IxVlZwaytmenVEQmczbjIyV2U3UFk0K2Rt
999 K3VKa3JjaHR4NVh6RWJjdDRrClVxdlJRa2UrcWdlZjdPMXIrVURCakw0QXhlK0tWdUY0SW9KVmhy
1000 UWZadTFpYWN5aUtDNHVadW5TcFh6enpUZGtaR1NRa1pIQjZ0VzIKendxMFA5MjVubkJ4QmVaUCtv
1001 bDV0ZGRxdU5DUnVTYVJDeTNhVG93WjNnWnJYeE90d3ZGazlyNUUxZWU3S1Q4bHJnbUZCRWFOR2tW
1002 NwplOCs5UW4vbUhDb28rY1FReUNtdkdrUWtnZXhCWE8zb20rR2xHbG14VjlzYmxXbEdLUHVUYUJX
1003 T0p6K3VocUpGZTBUTGtOZ1IvUzFyCm1NOEt1V3lMb09RVEExNXMxbWdWdXNpTGZhaHVFaGR6Ym9r
1004 K0pqajBPclNLYmZYb2NFYjNycU5vaVRSbVYwTmY1cXdvNEY4bDVOSjEKZnRGQ3J1dEJmMW8wK0dj
1005 eXFRWlc3dTBuV2thWGhCbWhaVEhVdW5pdCtCR0pUYXhkdEZ1MERJa0QwTjY3L21hRXhZSkp6RFRv
1006 aksrWQpHZUlaalhiWTd0V1F3TEY2YmM3b2ZRd1EvamtjM3k5YWlXTkpUMmlsWk1sTzBUSWtEa0pm
1007 NWh3bEx0YjNtSytZVHR1N05OZ3IwS0FxCmZMVzN2MmdabmFJQWc3ZEE1VWJSU2h4THYraDI5bis2
1008 VTJiOHVURDZNdWR3WHlHWGJmZnNRNFBKK1MxN1BBaWtITzJ0NmNZM3huT2cKenZhTUoyY3c2amlV
1009 TFJldHdyRkVtVlZxMTFmSU5sSXVqcjdNV1ZCTmpVWS9VUkVKMml0YXI2aXc5b0EyWjgzNURiQnVv
1010 V2dWamlYUQpWOFZ2L3o1T3lhdy9sMGRmNWh3c3B2dkllZDlnSWRjOWdmYktieVkweDdMN3ZHMmxE
1011 NTFCTmxEMHNtZ1Zqc1hEcE5Lbi9qQUhkc2dlCmYrNkF2c3c1UUV6YTl2ZCtJbEsyWVF0aVBoUnV4
1012 cVlEQTBSTHVJR0JKaWgva1p1WEIzTUJodm1kb3J6d2xHZ1pFaWVoSDNNTzdRVWUKenY4cXB4cDhP
1013 ZW50L05xU1hrUlNwYkdXVkFuTlVXdzdxNjJhMG5FbU9QVVhhSGJ4Yi9tall5K3c4Vk54cmRra3pr
1014 Yy81aXdvVXFQVgpaeUNxZ0dYZkZyUzNybHRlbFN4YXdqVUVHY0g0SHB4MThXcVllWWtOckgzM085
1015 RXlKRTVHUCtZY0xpWTZvTTR2UnNoMUR5TW02YVVyCjRpOUZzUEZVaUdnWjE5Q3ZCS29xUkt0d0xO
1016 bDlXbGhYSUdPWjNSSDltSE5vbTVETG52RVZrV2loVUVxZ2dPdDJ6WGVIdGJYV25HYUUKelorSlZ1
1017 RllCc1cxVWY3K0RqRlZhaVhDMFk4NW04WHNVQi8zZGY1aXBqZTlPYU9oRXFHeHJhRVVuZ2dUTGVN
1018 YUxuMGhXb0ZqU1Fodgo1OFRxWFRRM2lKbVVTTVNqSDNNT2NINWZvWGJQT09vOG5KOHVmbEZqSlVL
1019 UEhOVld2SFVXc0h1OWFCV09JelJBcFgzN0hzNVh5OUtmCjdveCt6Tm5UK2IzN21uekZGUGJaajdp
1020 R0F0Y1QweGJNRjBlMW8wY0J6bjBxV29YajhQRlVpVGgxa0tONzYwUkxrUWhHUCtZc2dBdSsKenQ4
1021 QVV6QlJncGcwOWM2b1BxNnRXZlB3Tmppd1hiUUt4MkF3cUF4U2psTlo0dUtsOUNSV0ljMzVKcHp5
1022 ZGI0cGVkS2ZSbzJzTjBlMgpCL0NQS2pIUktwMWhVdUR3KzZKVk9JNFJZV2ZadlBxNGFCa1NqU0RO
1023 dVF0VXhZdmpQczVQUGpsUGI2ZGZzeXZxVG1wczF0d0l4L2VKClZ1RVlSdmV1WS8wSEIwVExrR2dJ
1024 cDVyenNtWExHRDE2TklNR0RlS3R0OTRDb0s2dWpudnZ2WmY0K0hnbVRackV4WXZPWDF2dWpGYWYK
1025 Rk5vTjNZOWgybGw0cmx2blZTQXVLdUpzNGE2T244UGEvZmowUUt3d0xkZmpZNERLNnh1MG5pOFVJ
1026 YVZuZEtKWit3WHp0NG9Xb0R1Swppb3BJU1VtaFg3OSt2UEhHRzkwYXcybm1YRk5UdzZ4WnMvajAw
1027 MDhwS1NsaHdZSUYxTlRVTUhmdVhPTGo0OW0zYngreHNiSE1temZQCldaSnVTcjF2ejR4cFY2SHRv
1028 WDhtL05nbXNFVG91Y0ovWlhSY3F1NVBtNGErV0dWZGdEUFhmK08vVUNoQ1NzKzRUck0rQ3VaTGM3
1029 YVYKWjU1NWh2bno1N05telJyZWZQTk56cHl4ZlIvQmFlKytEUnMya0ptWmlkbHN4dC9mbjdGang3
1030 Sng0MFpLUzB1WlBuMDZYbDVlVEpzMgpqYlYwbm1NQUFBa0xTVVJCVkpLU0VtZEp1aWxuL1p5ZmtX
1031 aGdBTzBhTUVTejZzUGY5bXVuQTB1UUViWXZGcTNDL3NpQythNUpUVTBOCkFQbjUrU1FrSkhENzdi
1032 ZDN5OWVjMW4wN1B6K2ZwNTU2aWtPSER1SHQ3YzNubjMrT2w1Y1haV1ZsSkNkZnJ0bVFuSnhNYVds
1033 cDV3UDQKWkRwTEtnQjF2dEVFOWFBTGlUZm5DY0syT3REbkdFeVN3RXAwWi9FbWlXQjhMaVNTNml2
1034 K1ErSUt5V2RoVHloYy8rYzRXUXZSMm0xagoyQ2xYTkh0N3FQaFdIU0lnMFlRVDM0YmQ0dVJKRDZL
1035 anRSTkJaSW10ZHByb0J3VlozcGkvZEVtbDRibzh0YXM5RFdEZ3dJRnMyclNKCkNSTW0ySFI5cDcw
1036 cS9QejhlTzIxMS9qWnozNUdUVTBOcWFtcGVIbDVvYXJXcmVzcUE1ejkxYXJuMTFzOHE4ekdNLzdT
1037 NDJ2MmxOSloKUzBSTHVJR2IvU1ZPYnBubE5CMzJRcGVhVDg0VkxjSHAxTlJrV1hXY3Y3Ky9RNjd2
1038 MUkvc2lSTW5NbkhpUkFBZWVPQUJ4bzhmejlhdApXNm1zckNRakk0UEt5a3F5c202OElkWWF1RVFp
1039 a2RpRG5uaE9WbFlXdi9yVnJ6cCtyNmlvWVB6NDhUYVA0OVR2cnRYVjFRQ3NXYk9HClhidDJrWm1a
1040 U1U1T0RnVUZCVFEyTmxKUVVFQnVicTR6SlVra0VvbGRDUXE2WFBPOHFLaUlxcW9xdnZycUszSnlj
1041 bXdlUjFHZE9DM04KejgrbnVycWFnSUFBM256elRiS3pzNm1ycStPaGh4NWkyN1p0WkdabXNuVHBV
1042 b2Q5VFpCSUpCSm5zSGJ0V3A1NDRna3VYYnJFejMvKwpjMzcrODUvYlBvZ3FrTFZyMTZySnljbHFV
1043 bEtTT21mT25CdWVyNnlzVkhOemMxVXZMeS8xNVpkZnR1bGNSOUVUelFrSkNXcHFhcXFhCm5wNnVa
1044 bVZsT1V1eVJjMUxseTVWaHd3Wm9nNFpNa1NkT25XcSt0MTMzMWw5cnRiMGF2VWVmL3JwcCtxUUlV
1045 UFV0TFEwOWE2NzdsSkwKUzB1dFBsZUxta1hjWjJ2dlUybHBxV28wR3RXUFAvN1k1bk8xaEZCelRr
1046 OVBWOWV1WGF0V1ZWV3BBd1lNVUUrZlBuM044OVhWMVdwWgpXWm42MjkvKzlnYWpzM1N1RmpYMzd0
1047 MWJQWHYyckZOMFhvMGx6UnMyYkZBdlhMaWdxcXFxTGw2OFdIM29vWWVzUGxkcmVyVjZqeTllCnZO
1048 anhjMkZob1pxWGwyZjF1VnJVTE9JK1czT2ZXbHRiMWJGang2b1RKa3k0eHB4RjNlT2VJQ3hleXBw
1049 WXdQRHdjSVlORzRhSGg0Zk4KNTJwTjh4VlVKMjl1V3FONStQRGhIZXRrRXlaTVlPM2F0VmFmcXlX
1050 OVY5RGlQZmE3S202K3BxWUdiMjl2cTgvVm11WXJPUE0rVzN1ZgozbmpqRGU2Nzd6N0N3OE50UGxk
1051 ckNEUG5ybUlCSFgxdVQranBkUlZGWWR5NGNVeWFOSWtWSzFZNFF1SU4yS3A1d1lJRkhSRTFJdTV6
1052 ClQvU0N0dS94SjU5OFF1L2V2WmsyYlJvTEZ5NjA2Vnd0YUY2d1lFSEg0ODYrejlib1BYNzhPTXVY
1053 TDJmR2pCa2RHcTA5VjR0b08vcmQKeFNndUxpWTZPcHJLeWtvbVRweElkblkyVVlJYTEzYkdtalZy
1054 V0xwMEtSczJiQkF0eFNvNjA2dmxleng1OG1RbVQ1N01CeDk4d0tSSgprOWkyYlp0b1NSYTVXdlBr
1055 eVpNN05HdnhQai83N0xQOCtjOS9SbEVVMU10THRrTDE5QlJoTStlc3JDejI3Tm5UOFh0RlJZWFZZ
1056 WFE5Ck9iY245UFM2MGRHWG03YW1wS1J3enozMzhJOS8vTVB1R3EvSFdzMDdkdXpnaVNlZVlNV0tG
1057 UVFIQjl0MHJsYjBncmJ2OFJWKytNTWYKY3VMRUNSb2JHeGsyYkpndVhzdFhhd2JuMzJkcjlHN1pz
1058 b1VISG5pQVBuMzY4TGUvL1kwbm4zeVNGU3RXQ1BPTEhpTnl3ZnZLSXYyaApRNGR1dWtqLys5Ly92
1059 c3NOUVV2bjJwdnVhcTZ2cjFkcmEydFZWYjI4YVRodzRFRDF5SkVqbXRCOCtQQmhOU2twU2QyMGFa
1060 UE41MnBKCnI1YnY4Zjc5KzlYMjluWlZWVlYxNWNxVjZwMTMzbW4xdVZyVExPbysyM0tmSG4zMFVm
1061 VnZmL3RidDg3VkNrTE51YkN3VUUxT1RsYjcKOXUycnZ2NzY2NnFxcXVxOGVmUFVlZlBtcWFxcXFp
1062 ZFBubFJqWTJQVndNQkFOVGc0V0kyTGkxUHI2dXE2UEZmTG1nOGNPS0NtcGFXcAphV2xwNnJoeDQ5
1063 UzMzMzViTTVxblQ1K3Vob1NFcU9ucDZUZUVSb200ejkzVnErVjdQSHYyYkhYUW9FRnFlbnE2K3Ro
1064 amo2azdkKzY4CjZibGExaXpxUGx2U2V6WFhtN09vZTl3VG5KcUVJcEZJSkJMcjBFN3BNWWxFSXBG
1065 MElNMVpJcEZJTklnMFo0bEVJdEVnMHB3bEVvbEUKZzBoemxqaWNjZVBHOGVXWFgxN3oyR3V2dmNh
1066 VFR6N1o2Zkc5ZS9mbTNMbWJOOGg5NFlVWHJ2bDk1TWlSQUZSVlZaR2FtZ3JBNXMyYgplZWFaWjRE
1067 TFZjSTJidHpZTGYwU2lRaWtPVXNjenRTcFUzbi8vZmV2ZWV5RER6N2d3UWNmN1BUNEsybTNOK05Q
1068 Zi9yVE5iOFhGeGZmCmNNeXdZY040L2ZYWEFmajIyMjkxay9rb2tZQTBaNGtUbURKbENpdFhycVMx
1069 dFJXNFBMczljZUlFTFMwdDNIWFhYWXdjT1pLMzNucXIKMDNNblQ1N00wS0ZER1RkdUhKOTg4Z2tB
1070 Ly9WZi8wVmpZeU1aR1JrOC9QRERRT2V0Z2dvTEM1azRjU0tIRHg5bS92ejV2UHJxcTJSbQpackor
1071 L1hvU0V4TTc5TlRXMXBLWW1FaGJXNXNqL3ZzU1NiZVF0VFVrRGlja0pJVHM3R3crLy94ejdybm5I
1072 dDUvLzMzdXUrOCsvdjNmCi81M1ZxMWNUR2hySytQSGpHVGx5SkNrcEtkZWNXMUJRZ05sc3ByYTJs
1073 akZqeGpCNThtVCsvT2MvOCthYmIxNVRtK0ptcysyRWhBU2UKZU9JSkFnSUNlTzY1NXdBWU0yWU1L
1074 MWV1NU41NzcrWDk5OTlueXBRcEdJMldHM3BLSk01Q3pwd2xUdUhxcFkwUFB2aUFLVk9ta0pLUwpR
1075 bEpTRW1hem1mdnV1Ni9UNm1idnYvOCt0OXh5Q3lOSGp1VGd3WVBzM0xtelc5ZFhyeXVFOC9qamo3
1076 Tm8wU0lBRmk5ZXpHT1BQZGF0CmNTVVNSeUhOV2VJVTdybm5IcjcrK211MmJkdEdRMFBERFROZFZW
1077 VnZlT3pnd1lQTW5UdVhqejc2aUowN2Q5S25UeC9PbnovZnJldGYKUC9hSUVTT29xcXFpc0xDUXRy
1078 WTJCZzRjMksxeEpSSkhJYzFaNGhUOC9mMFpPM1lzanozMkdBOCsrQ0M1dWJuczJiT0hBd2NPY1A3
1079 OAplVDc1NUJQdXVlZWVhODQ1Y2VJRTRlSGhoSVNFVUZ4Y1RIbDVlY2R6NGVIaE5EUTBXSDM5aElR
1080 RVRwOCtmYzFqanp6eUNELzYwWStZCk5tMWF6LzV6RW9rRGtPWXNjUnBUcDA1bDU4NmRUSjA2RlVW
1081 Um1EOS9QazgvL1RRVEpreGcrdlRwSFFYUnI4eHlSNDBhUlVKQ0Fpa3AKS2J6MjJtdmNldXV0SFdN
1082 OS9mVFQ1T1hsZFd3SVhqMHo3dXpuMjIrL25jMmJONU9Sa2RFUjJmSGdndzl5L3Z4NXBrNmQ2dGov
1083 dUVUUwpEV1RoSTRuYnNtelpNcjc5OXR1T3JpUVNpWmFRMFJvU3QrVHBwNSttdUxpWXp6NzdUTFFV
1084 aWFSVDVNeFpJcEZJTkloY2M1WklKQklOCklzMVpJcEZJTklnMFo0bEVJdEVnMHB3bEVvbEVnMGh6
1085 bGtna0VnM3kvemRhT0krQ1VUQUtSc0VnQkFEUHVEZDBmV0ZIWGdBQUFBQkoKUlU1RXJrSmdnZz09
1086 Cg==
1087 </png>
1088 </output>
1089 </outputs>
1090 </codecell>
1091 <markdowncell>
1092 <source>Plot the value of the European put in (volatility, strike) space.</source>
1093 </markdowncell>
1094 <codecell>
1095 <input>plt.contourf(sigma_mesh, strike_mesh, prices['eput'])
1096 plt.axis('tight')
1097 plt.colorbar()
1098 plt.title("European Put")
1099 plt.xlabel("Volatility")
1100 plt.ylabel("Strike Price")</input>
1101 <language>python</language>
1102 <prompt_number>14</prompt_number>
1103 <collapsed>0</collapsed>
1104 <outputs>
1105 <output>
1106 <output_type>pyout</output_type>
1107 <text>&amp;lt;matplotlib.text.Text at 0x32ee190&amp;gt;</text>
1108 <prompt_number>14</prompt_number>
1109 </output>
1110 <output>
1111 <output_type>display_data</output_type>
1112 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVhFQUFBRVpDQVlBQUFCaElCV1RBQUFBQkhOQ1NWUUlD
1113 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6czNYbDgx
1114 Tlc5Ly9IWGQ3SnZaQ0dRaFd3UVFnaVFrQUJKMkxLd2lDQWlJSWdFCmhWWXNJbmlMRnRIYi91eTEy
1115 R3U5MTdiWGlwU3lxRkJiaTNWSEJBRkJEV0hMbnJCbVljdENOaElnK3pxWitmMFJpQ0RaTTVudlRM
1116 N24KK1hqazhTQXozL2wrUHduSk8yZk9PZDl6SksxV3EwVVFCRUV3U2lxNUN4QUVRUkI2VG9TNElB
1117 aUNFUk1oTGdpQ1lNUkVpQXVDSUJneApFZUtDSUFoR1RJUzRJQWlDRVJNaExuVEl4OGNIYTJ0cjdP
1118 enNXai9XclZzbmQxbDlLam82R2lzcksrenM3QWdNREdURGhnM2N2SG16CjA5ZkZ4c2JpNmVtcGh3
1119 b0Y0VWNpeElVT1NaTEV2bjM3cUtxcWF2MTQ1NTEzdW4wZXJWYUxzZHlTSUVrU1c3WnNvYXFxaWkr
1120 KytJTFkKMkZoMjdOZ2hkMW1DMENZUjRrS1BiZHk0a2VYTGw3ZCtucE9UZzBxbFFxUFJBQzB0Mmpm
1121 ZWVJTlpzMlpoYjIvUDFhdFh5YzdPWnQyNgpkWGg1ZWZIODg4OXo4ZUxGMXRkSFIwZnpoei84Z2Vu
1122 VHArUGg0Y0gvL3UvL1VsTlQwL3I4NWN1WGVmbmxsL0gyOW1iVnFsVmN1SENoCjlibGR1M1l4YXRR
1123 b0hCd2NXTEJnQVY5Ly9YWHJjN0d4c1hoNGVMQmp4dzZHRFJ2R2xDbFRPSERnUUplK1JqOC9QeFl0
1124 V3NUKy9mc0IKVUtsVVhMbHlwZlg1bi8vODUvelhmLzBYdGJXMXpKa3poOExDUXV6czdCZ3dZQURG
1125 eGNYZC9JNEtRdmVKRUJjNjFWNExXcEtrVGwrNwpaY3NXbm4vK2VXN2V2SW1ucHllelpzM0N4Y1dG
1126 dExRMDNOemNtRFZyMWozSC8vV3ZmK1ZYdi9vVlI0OGU1Y2lSSTd6Kyt1c0FORGMzCk0zbnlaRWFO
1127 R3NXNWMrZUlpSWpnd1FjZmJIMmRpNHNMKy9mdnA3UzBsS1ZMbC9MNDQ0OVRXMXZiK3Z6MTY5ZEpU
1128 MDhuSVNHQnA1NTYKaW1lZWVhWkxYM05XVmhhZmZmWVpDeGN1YlBkN0lFa1MxdGJXSER4NEVIZDNk
1129 NnFxcXFpc3JNVFYxYlhUNzQ4ZzlKWUljYUZEV3EyVwpCUXNXNE9qbzJQcngvdnZ2dHo3WEVVbVNt
1130 RDE3Tm5QbnpzWFUxSlJ6NTg3UjJOaklLNis4d3NDQkEvbjFyMzlOVTFNVGFXbHByYTk1CjRJRUht
1131 RGR2SHI2K3Zyejg4c3ZzMjdjUGdPKy8vNTZ4WThmeTg1Ly9IRHM3TzFhc1dJR3pzek5KU1VrQVBQ
1132 VFFRd3dkT2hRek16T1cKTGwzSytQSGo3Mmx0YXpRYWZ2Lzczek5vMENCKy92T2ZVMTVlVGxaV1Zy
1133 dGY4N3AxNjNCMGRPVEpKNTlrN3R5NS9PSVh2K2p3ZTlTVgo3NGNnOUFWVHVRc1FESnNrU1h6MTFW
1134 ZE1uejY5emVjNkV4NGUzdnJ2RXlkT01HN2N1SHVlbnpCaEFzZVBIeWNrSkFSSmtnZ09EbTU5Ckxp
1135 UWtoUFBuejFOZFhjMlJJMGM0ZHV3WWpvNk9yYytyMVdyaTR1SUlEUTNsK1BIamJObXloWk1uVDFK
1136 UlVVRmRYUjFuenB4aDBhSkYKQUxpNXVlSHM3QXlBcWFrcHpzN09GQlFVNE8vdjMrYlh0WG56Wmxh
1137 dVhObnAxeWNJY2hNdGNhSEhoZ3daUWtsSlNldm5kN2VvN3pBMQovYkdkTUhYcVZGSlRVKzk1UGlV
1138 bGhZaUlDS0NsSlh2M09WSlRVeGs5ZWpTMnRyWk1uejZkNk9ob2J0MjYxZnBSVlZYRml5KytpRmFy
1139 ClpmWHExVVJGUlpHYW1rcDVlVGxoWVdGOTBqSjJkM2UvcDY4N05UVzE5WStaaVltSmFJMExlaWRD
1140 WE9oVWU4RTBmZnAwNHVQalNVMU4KSlNzcml5MWJ0blQ0MnVEZ1lNek56Zm1mLy9rZnlzcksrT01m
1141 LzRpcHFlazlyZS92dnZ1Ty9mdjNjK1hLRmY3ODV6OHpiOTQ4QUdiTwpuTW5aczJmNXh6Lyt3YTFi
1142 dDZpdnJ5YzJOcGFDZ2dJYUd4c3BMUzNGeGNVRlMwdExkdTNhUlVKQ1FwOTh6VE5tekdEWHJsMlVs
1143 NWZ6Ci92dnZrNW1aMmZyYzJMRmpLU3NybzZpb3FGZlhGb1R1RUNFdWRHcmV2SG4zekJPLzAwVXhi
1144 Tmd3Tm03Y3lKSWxTNGlKaWVFWHYvakYKZlYwc1AvMzg0TUdERkJRVUVCSVNRbjUrUGdjUEhyem4y
1145 T2VlZTQ2MzNucUxpSWdJcGsyYnhpdXZ2QUswdEhKalkyUEp5c3BpL1BqeAplSGw1OFgvLzkzOW90
1146 Vm9zTEN6WXRHa1R2Ly85N3hrK2ZEakp5Y2tzWGJxMHd6bzYwOTd4di83MXJ5a3ZMMmZreUpHa3Bx
1147 YmVjNTBCCkF3Ync4c3N2RXhrWmlaT1RrNWlkSXVpRkpOWVRGd3pGdEduVFdMNTh1ZWlMRm9SdUVD
1148 MXh3YUNJTm9VZ2RJOEljY0dnZExmYlF4Q1UKVG5TbkNJSWdHREdkdDhSWHJseUppNHNMZ1lHQnJZ
1149 OTkrdW1uakI0OUdoTVRrL3VtbUwzenpqdjQrZmt4YXRRb2poOC9ydXR5QkVFUQo5Q28vUDU5cDA2
1150 WXhldlJvb3FPajJiMTdOd0JWVlZYTW56OGZMeTh2Rml4WVFIVjFkWnV2ajR1TEl5QWdBRDgvUHpa
1151 djN0ejVCYlU2CkZoY1hwMDFOVGRXT0dUT205YkdNakF4dFZsYVdOam82V3B1U2t0TDZlRWxKaWRi
1152 ZjMxK2JtNXVyalkyTjFZYUVoT2k2SEVFUUJMMHEKS2lyU3BxV2xhYlZhcmJhMHRGUTdkT2hRYldW
1153 bHBmYk5OOS9VL3NkLy9JZTJ2cjVlKzl4enoybi85S2MvdGZuNjRPQmc3ZEdqUjdVNQpPVGxhZjM5
1154 L2JXbHBhWWZYMDNsTFBDSWk0cDY3NmdCR2poekppQkVqN2pzMklTR0IyYk5uNCtYbFJWUlVGRnF0
1155 bHFxcUtsMlhKQWlDCm9EZXVycTZ0OXo0NE96c3pldlJva3BLU1NFeE01T21ubjhiQ3dvS1ZLMWUy
1156 ZVM5RFJVVUZBSkdSa1hoN2V6TnIxcXhPNzNtUWRXQXoKTVRHUmdJQ0Excy85L2YxSlRFeVVzU0pC
1157 RUFUZHVYVHBFdWZQbnljc0xJeWtwQ1JHamh3SnREUnMyOHE2dTQ4QkdEVnFGUEh4OFIxZQpROWEx
1158 VTdSdGpLbTJOVHRCekZnUUJLRTcyc3FXN2hnZ1NYUzFUOERXMXJiTkhvU3FxaW9lZi94eC92S1h2
1159 MkJyYTl0bjAyZGxEZkh3CjhIQ09IRG5TK25sbVppYWhvYUZ0SGp0SCs3bSt5dEtKaXhzL1p0Ykdo
1160 VHhDUEExa3lGMU9sM3kwOFRJeEczMzc3UHltR2hWVGlsVFkKbDMyamsvTnQzQVlibjlYSnFmU21T
1161 elhYdXNCUmJ6aGpHTzlLTjU2RmpZR2RIOWVaV290aG5EOVlRMk54U2VjSDk4SlVIWnlqQ3VqcQpO
1162 SXVwYlF4UU5qVTFzV2pSSXBZdlg4NzgrZk1CQ0EwTkpTTWpnNUNRRURJeU10ck11dERRVUY1NjZh
1163 WFd6OCtmUDgvczJiTTd2TDdlCnUxUHUvbXNVRmhiR29VT0h5TXZMSXpZMkZwVktoWjJkbmI1TDZq
1164 TlhNV2NURWR4a0FTWll5bDJPN05RcURVZUhxTW55V1lMV3hFbnUKY2d5WGRRbk1Ub1JsNFdBL1NP
1165 NXFkTWE2NFFxQkQ1cGdPZFJiN2xMNmxGYXI1ZW1ubjJiTW1ERzg4TUlMclkrSGg0ZXpjK2RPNnVy
1166 cQoyTGx6SnhNblRyenZ0ZmIyOWtETERKV2NuQndPSHo1OHowcWdiZEY1aU1mRXhEQjU4bVN5c3JM
1167 dzlQUms1ODZkN05tekIwOVBUK0xqCjQ1azdkeTV6NXN3QldoYnlYN05tRGRPblQyZnQyclZzMnJS
1168 SjErVVlBSWxQY0dFL3k3QmdsTnpGR0lRcyszS08raytsMFdhQzNLVVkKTGdud1RJQ25HbUNTTHRx
1169 V2hzR3lzWkRBcWRYWUJOdy8wYUcvT0hIaUJCOSsrQ0hmZi84OUlTRWhoSVNFY1BEZ1FkYXNXVU5l
1170 WGg3KwovdjRVRkJUdzdMTXRiOGtLQ3d1Wk8zZHU2K3ZmZnZ0dFZxOWV6Y3laTTFtN2RtM3JFc3J0
1171 TVlxYmZTUkpNcnJ1bEJ1eDV4Z1lQZVluCmoycDVqT3NNNWhETjFNbFNWMGZPeHQ0a01GcVBMV1F0
1172 VEx4dXc2RGl2VWcwZC92bHNja1FiV1IvQjNwY2M4bFkrT1lXWE0vVGVVMmQKaVMyQmFCZmRubE90
1173 c2lNanc0ZksxTE82UFRFdDNTbTlqVFZKa3JyZW5hS0Q2L1dHQ0hFWitOREVmT0pwNEVMbkJ5dUFk
1174 NDA5Z2JrbgpVVFVWeUYyS1lWT2JRL29rK09FNGFMci9SOC9RTkVzV1pPVUZjdXQ0c2s3UHE3UVFG
1175 MnVueUNBSE16WXhsUnNzd0FRcnVjdVJYYTVOCkJVZEdCRk5uSHlWM0tZYk50QkVtSElWZitJTDN5
1176 TTZQTjNBbTJnWkdlcWJpL01Ba3VVc3hhaUxFWlNQeEtTN3NKd1lMUnN0ZGpPenEKVFpzNDdHMU92
1177 c2RqYUNVeENOd2h4MnhZa2dVUFI0SzVjVGNDVkdnWU1mQVVidk1pNUM3RmFJa1FsMWxMcTN3S1pT
1178 d1VyWEpKSW0xZwpCWWtqNXRKczJYOEh2blJDcFlYUmNiQnFJSXdNa2J1YVhwRWtHR3B6RE04bDRw
1179 MVlUNGdRTndnU256R1lmY1Jnd1U4SFE1V254TEtLClEzN0RxQnc0Uis1U0RKL3ROWGdrRGVaRnls
1180 MUpyMGdTZUprY1plZ1Rva1hlWFNMRURVZ3VabXhpc21pVjB6S25QTmFqbVlzK1M5Q2EKT01oZGpt
1181 R1RnRkZ4OE5oa2tJejdWOXBkYzR3Ukt5YUJpWW5jcFJnTjQvNGY3NWRhV3VWN1Jhc2NnQXo3Y282
1182 TmlLTEpacHpjcFJpKwpZU2NoWmdLWW1zdGRTYThNYWpwRndQSVFWSlppYktRclJJZ2JxUHpicmZK
1183 U0hsVjhxN3pjdkk2RHZzNlV1U3hFSzM1a08rYVpDRStPCkFnc2J1U3ZwRmFlR1pFYkYrR0V5WUlE
1184 Y3BSZzg4UnRoMENRK1o5RHRWcmtPRnE4d1lsb0pUcnJXY05aM0VSb3pkN25MTVd3dTZiRGMKRzZ6
1185 dDVhNmtWK3pyenpKbWtTdG1nenErWTFIcFJJZ2JnWlpXK1NTdTh5Z21XTXRkanF4eWJDdjRmc1E0
1186 NmdlSUFiQU9EYndBS3dZWgovZG9ydHZYWkJENWtoWVhuRUxsTE1WZ2l4STJHeEJjTVloOUxzY0Jm
1187 N21Ka1ZXdmF5TGMrbGkxenlsWDlaOEUwbmJPL0JFOWF3a0RqCkRrQ3J4bndDbzV1dzh1dTdGVGFO
1188 bVFoeEk1T0xHWnVKcEk0NVNFcis3N3M5cC95WS8zUWE3TVFkZisyeXpZZGxhbkFiSm5jbHZXS2gK
1189 dms1Z2VCbTJRV0lSdVo5U2NBb1lMdzBxUHNDTEpKN0VBbGU1eTVGVnVYa2RoNGJha3VNcHBpSzJ5
1190 N29FbHR3Qzc0RE9qelZnWnMwVgpqQW04aXYxRTQ3NjVTZGRFaUJ1eFpLeDRuNGN4WWJMY3BjaExr
1191 ampqVkU2c2Y2VG9LMitQNVMxWWxBZCtZK1d1cEZkTU5IV01HbnFXCmdkTTZYbU5iU1VTSUc3bHFU
1192 TmhDSUxrc3dSVGpubGJXVzFWbTlYenJZOGxsNzhmUm1neVV1eHpEWTFZRGoyVEFHQ05idi9jblZL
1193 angKZDBuQTVhSCtzODU2YjRnUTd5Y080TWdlSHNjQzQzN0wzR3VTeEhtSFczdy9jaksxRHRQbHJz
1194 YndtRGJDN0ZTWVlOempDSklFdmdPTwpNK1JSc2Q2S0NQRis1QnBtYkdZcU5UeUVoTEp2VzY0eGJl
1195 Q0l0Mm5MVm5DbU90N1J3TmlaYUdEYUtaaGkzRjFQa2dRK0ZrZnhYbXJjCjY4YjBsZ2p4ZmthRGlu
1196 L2lTVHhQWUlHYjNPWElMc3Urbk1NakoxRHRORXZ1VWd5TENwaHlER1lZZjB2V1E0cGorUElwb0ZK
1197 bW5DbnoKcTFhQU5LeDRqNGRSTVVYdVVtUlhiOUxFOTU1d1lkZ1NOR2JHUFdkYXB5UmFOcGw0eVBo
1198 YnNpN3FFNHhjUGdISjNMalhqZWtKbzltZQpiYkZtTHpWU2s5eWxHS1habERPYy9haXBscnNVMlpr
1199 M216SzVTTXVBR3dma0xzV3daRStGUFNmQThPT2dRK1VXd1RqK1BWM1c3ZGxXCnJsekovdjM3R1R4
1200 NE1HZlB0dXdodW5UcFVyS3lzbHBxTEMvSHdjR0J0TFMwKzg3bDQrUERnQUVETURFeHdjek1qTVRF
1201 eE01ck5aWVEKSDVKVXk3ekFkSEl0aXVRdXh5aDUwTVFpc2E5bks1OXFlOGJrSjZGcXpKRzdGTU9S
1202 T3hFK1RZWm10ZHlWOUlyMGtieDdiQjQ3ZGd4YgpXMXRXckZqUkd1SjMyN0JoQXc0T0R2ejJ0Nys5
1203 NzdtaFE0ZVNrcEtDazFQWE55dzNtdTZVZ2xvcnRpVk14S29nRkZ1dDh0NHk5ZGExCjIvdDZWdk13
1204 RXFaeWx5TzdITnNLRHZvSGNHdlFQTEV5NGgzZThiQnNMSmlKSldCN0l5SWlBa2RIeHphZjAycTFm
1205 UExKSjhURXhMVDcKK3U3K0FUS3luMTZKTHk1N2NqeGxKdDROWWlXNzdwUDRrQ0djWkJrV2lPK2ZX
1206 dFhNTWZjRzBvY3ZvdGxpdU56bEdBYjNGRmp1QjVaaQpUWnErY096WU1WeGNYUEQxYlhzZEdFbVNt
1207 RDU5T2dzV0xHRHYzcjFkT3FkUk5zbUthaTNabGhET2dtRUZtQTlKcDBwcWxMc2tvM0lhCkt5NHhs
1208 eFZrb3VXWTNPWElMdCttZ3NJUnZvU1hqR0hnOWErUmFKYTdKSGtOT2dzci9HRjNLVlRmbExzYTJV
1209 eHBwN0VjV3dLeDErOTYKNEZ6WHovblJSeCt4Yk5teWRwOC9jZUlFYm01dVpHUmtNRy9lUE1MQ3du
1210 QjE3WGhwRGFQcEUrZG8yMlc2V3RXek1QQTBPWllGZXE2cQpmNWhGT1NQNEJqVlZjcGRpRU56ckJo
1211 Q2NkeDdUK2d5NVM1RmY1VkQ0ZHgzY0twYTdrbTdSVlorNHR2MGVqMDZ2bDVPVHc3eDU4KzdwCkUx
1212 ZXIxWGg0ZUpDYW1vcTdlK2Z2aE5ldlgwOUFRQUNyVnEzcThEZ2o2MDY1WDNHZEpWc1R3ekhQRDhO
1213 T2F5RjNPVWJuV3h6NG5DVmkKSzdqYkNxMHFPVGpDayt1dWo2S1ZGRDcyTXVBcVBLR0N3VjV5VjlJ
1214 dkhEbHloSUNBZ0hZRHZMYTJscXFxbHNaVWFXa3BodzRkWXZicwoyWjJlMStoRC9JNnZybnB3Tkdr
1215 bVB2VWVjcGRpZElvd1pST1RxV1NlR1BRRU5CTEV1MVNUTU9KaDFOWkJjcGNqTDV0Q2lLa0JEeis1
1216 Ckt6RWFNVEV4VEo0OG1lenNiRHc5UGRtMWF4Y0FIMy84OFgwRG1vV0ZoY3lkT3hlQTR1SmlJaUlp
1217 Q0E0T1p1blNwYno0NG90NGVucDIKZWoyajcwNXB5enlmQXF3OTA2bVVHdnF3cXY0cGlIcW04UjBO
1218 WEpPN0ZNT2doZEN5QWJnVzdVUFMxc3Rkalh3YUI4QlhubkRsdk55VgpkTW9RdWxQMHFkKzB4Ty8y
1219 ZGM0UXZrK2FpVTlkNTMvRmhIdWR3WklkekFhTS95NCtuWkFnYVZBbEovM24wR1JqM0t2LzlZcDVK
1220 U3k4CkFpUEZXdDZHcGwrR09FQnB2UVZiazBKUjVVN0VYaXZtdlhaSEhTWnNJNEJMeEdDRzJHMGM0
1221 SVpGRFFkOEhiazI1REcwS2x1NXk1R0gKYVIwOGZCYUN4VnJlaHFUZmh2Z2QrM1BkT1pJMEU1ODZN
1222 VGpUWFVjWXdLYzhoZ1dCY3BkaUdDU0pWT2NLanZ2UG9NRnVvdHpWeU1ORQpEUThrUXJoWWs4ZFE5
1223 UHNRQnlpck4yZHIwZ1NrM0VtaVZkNU54Wml5aVVsVThBZ3F6T1F1eHlEY01xL2owRkE3Y2oyWG9G
1224 WFp5MTJPCi9xbTBFSFVDSWtXWG15RlFSSWpmOFUydUc5OG16TVNuMWx2dVVveU14RWU0Y1pRbnNF
1225 Q01Nd0FnU1p4Mkt1Zm95R2pxQnlod2h4a0oKbUJnSER4ci9VcmJHVGxFaERuQ3owWnl0eWVQUjVr
1226 ekdRYlRLdStVOEZteG5ObHFpNVM3RllGU2ExZkd0anhXWHZSNUhhOUwxUll2NgpCUWtJUGdxUEdQ
1227 Zm1Fc1pPY1NGK3g4RThWdzZLVm5tMzFhTmlPLzVrc3d3ekZOaVYwQlpKNHJ6akxYN3duMEt0d3pT
1228 NXE5Ry9nR093CmVBcElpbzBUV1NuNnUzN3JkcXU4K2Vwa0hMVldjcGRqVkw3SGpuK3pHSE1VZmpQ
1229 TVhhck5HamppYlVhMnorUEsyeExPOXdURVRBQVQKTVc2aWI0b084VHUrelhmbG00U1plTmY2eUYy
1230 S1VTbkZsSGVZeUMzbW8wTGh0NmpmSmRQK0ZvZjlKMUR0K0lEY3BlaVhaeUk4T1FZcwpyT1d1UkZG
1231 RWlOOVczbWpHdHVSeHFLOU1FYTN5YnBINEdGZCtZQmtXaUs2cE8rcE5tL2plU3lKanFNSzJoSE5O
1232 Z3llSGdyWG9hdE1YCkVlSS9jZmlhQy9zVFp1SmRNMVR1VW94S0JoWnNZeFlhRk5nbjNJR0xBOG81
1233 N0QrV3lvRno1QzVGZjV6UHcvSkJNTUJaN2tvVVFZUjQKR3lvYXpkaVdFa0xqbGFrNGFjVmJ3NjVx
1234 UU1VT1JwREpNc3hvZTJjVEpXb3dVUlByMGN4WjN5Vm96Qlh5YnNYaEVqeHBCUU1WOUM1RQpKaUxF
1235 Ty9EZHRjRjhIVDhENzVwaGNwZGlWR0t4NDk4c3doeXh6c2JkcnRxVzgrMklVZHh5ZmhndGt0emw5
1236 RDI3ZkZpbUJsZnhycll2CmlSRHZSR1dUR2R0U2dxbS9GTUZBaldpVmQxVXBKcnhES0RkWWdBcXh6
1237 dnNkalNiTkhCdlN5T25oaTJtMmFIdUxybjdGdWdRZUx3ZnYKa1hKWDBtK0pFTytpSHdvSHNTZCtK
1238 dDdWb2xYZWRSS2Y0c0wzeEdDSmo5ekZHSlE4bXdvT2pmRGp4dUQ1YURHUnU1eStaWGtMSHIwRwpm
1239 bUk2YWw4UUlkNE4xV3BUdHFVR1Uzc3Bnb0VhRzduTE1ScVpXUEEzSHFDWkdYS1hZbERVS2cwbjNP
1240 cEk4VnRJczJVL2I2bWFWOE1qCldUQmF3Y3Y1OWhFUjRqMXd0SEFRWDhiUHdLdktGOG5ndDlRd0RJ
1241 Mm9lSmZoWE9BSnpGSFk3ZW1kS0xTdTVJQ2ZONld1QzlGSy9maG0KR2RNR21KTUc0eWZKWFVtL0lr
1242 SzhoMnJVcG14UEcwdjFwVWljUmF1OHkrS3c1VU1XaWtIUG45Q290Snh5cVNISjd4SFVWdjE0NlYr
1243 VApacGgrQ2lZcmNOR3dQcUx6RUYrNWNpVXVMaTRFQnY3NGcxaFZWY1g4K2ZQeDh2Sml3WUlGVkZk
1244 WEF5MDdRbHRaV1JFU0VrSklTQWhyCjE2N1ZkVGw5THE3SW1jL2paK0JaTlZ5MHlydm9KcWE4UXlo
1245 bExCU0RuajlSYkZYRkFUODNpdDBXb1pYNjZRSnRLbURxY1pndWxyTFYKQloySCtGTlBQY1hCZ3dm
1246 dmVXenIxcTE0ZVhseDhlSkZQRHc4MkxadFcrdHp3NGNQSnkwdGpiUzBOUDcydDcvcHVoeTlxRldi
1247 c2lNdAppSXFMVVF6U0tIVFhsMjZUK0l6QkhHRVpsb2pCNHJ0cEpVZ2NYTVVwL3prMDJZeVR1NXkr
1248 SVFHaGNmQlEvMXZLdHEyRzdNYU5HL0h3CjhHaHRzUDQwSSsrSWk0c2pJQ0FBUHo4L05tL2UzS1hy
1249 NlR6RUl5SWljSFM4OTBhUHhNUkVubjc2YVN3c0xGaTVjaVVKQ1FtNnZxeEIKT0ZFOGtFOVB6Y0N6
1250 MGcrVmFKVjNTVGJtYkdFR1Rjd0VKY3lkN29ZeWl4b08rQTZrWU1oamFGWDl0TXN1OENnc2pBQ3Av
1251 L3pmdDlXUQpsU1NKOWV2WHR6WllaOCtlM2Vacm4zLytlYlp2Mzg2UkkwZllzbVVMWldWbG5WNVBM
1252 MzNpU1VsSmpCelpNdm8rY3VSSUVoTVRXNSs3CmV2VXF3Y0hCckY2OW10T25UK3VqbkQ1VjEyekNq
1253 dlJBYm1WSE0xaGpKM2M1UnFFSkZlL2p5MW1XWWM1QXVjc3hMSkpFaW5NRngvMGYKb05FMlRPNXEr
1254 c2FJWTdCa0lxajZ4MVRMdGhxeUFGcHR4eTI3aW9vS0FDSWpJL0gyOW1iV3JGbGRhdkNhOXF6TTdt
1255 bXZlSGQzZC9Mego4M0YwZE9UQWdRTXNYNzZjTTJmT3RIMlNYUnQvL0hkd05JUkU2N3BNblRwWjRr
1256 UnE2WFNXQjJaUU9PQWlHdEZoM3FrVDJKTEJRbUk0ClN6UDk4OTFhVDkweXIrWGdNSHVDYno2R1or
1257 RitKRTJ0M0NYcGxzOHBlR0k4ZkpvTjlWWGRlbWxzQ2NSZTc0T2EyaG11aVMxdStlaXUKelpzMzgr
1258 bW5uN0p3NFVMV3JsMkxuZDI5amJ5N0c3c0FvMGFOSWo0K25ybHo1M1o0WHIyRWVHaG9LQmtaR1lT
1259 RWhKQ1JrVUZvYUNnQQo1dWJtbUp1M0xHRTZaODRjWG5ubEZTNWR1c1R3NGNQdlA4bFRHL1ZScWs3
1260 VmEweDQ5L1FZeGp0N01OWS9sU0tUY3JsTE1uZzNNV0VMCndVUXluQkMrbzRFZS9MYjBWNUpFK3NB
1261 S3J0aytTRmp1UlV6cnpzbGRrVzY1cDhCS0gvaHlFQlJkNmZMTG9sMWFQdTU0VFZmZmxoZmEKdWQ3
1262 dGo5YnJCWGQrcWpWcjF2RHFxNjlTV1ZuSlN5Kzl4UGJ0Mjltd1lVUHZhMFJQM1NuaDRlSHMzTG1U
1263 dXJvNmR1N2N5Y1NKTFR1RgpsNVdWMGR6Y0RFQnFhaXAxZFhWdEI3aVJTeWx6NElNVDBRd3VDOFJj
1264 MnovZU12YTFPR3paemp3YW1ZWFUzKzlvN0tZeWl4b09EaC9DCnpjR1A5TDgxV094eUlLWUV4dmF2
1265 cnFQQmd3Y2pTUkwyOXZZODk5eHpmUG5sbC9jZEV4b2FTbVptWnV2bjU4K2ZiODNLanVnOHhHTmkK
1266 WXBnOGVUTFoyZGw0ZW5xeWE5Y3UxcXhaUTE1ZUh2NysvaFFVRlBEc3M4OENMU094WThlT0pUZzRt
1267 RGZlZUlQdDI3ZnJ1aHlEMFl5SwpEeTc0Y2VIMFRMeWFCc3RkamxHb1I4Vk9oaExMY2l3WklYYzVC
1268 a1dqMG5MY3JaNXp2bytoTVhPWHV4emRNcXVCQnhQaHdmNHpCYkdvCnFBZ0F0VnJON3QyN2VlaWho
1269 KzQ3eHQ2K1pRMzJ1TGc0Y25KeU9IejRNT0hoNFoyZVc5SjIxdHR1QUNSSmdxTUdYMlkzYUZuaWw0
1270 ZkcKOVF3MVVwUGN4UmdKTFlzcHhaVnZVVk1qZHpFR3hWcHR6dFQ4Q2l3cmo4bGRpdTRWVElEUHM2
1271 R3Vzc3N2a1Q3cWZCQ3gwM05JRXRyMApMaDRiZk8vMVltSmlPSHIwS0dWbFpiaTR1UERhYTY4Ukd4
1272 dExlbm82NXVibVJFWkc4dHZmL2hZbkp5Y0tDd3RadFdvVisvZnZCK0RvCjBhTTgrK3l6TkRVMXNX
1273 N2RPdGF0VzlmNTlVV0l5OGZOdXA3NVk4NlFhM2xON2xLTWhpdHFGbk1XTlltZEg2d2tXaTNoMSsw
1274 WVhQd2wKRXYzc2Q2WEtDNzQwN1hJL3Vkd2hybThpeEEzQVE5NUZPSGlsYzB1cWs3c1VvekdOU2dM
1275 NWprYjZZbHFDOFJwZTVVQkE3cmRJemYxcwpFTDNKR3I0UGhQVE9aeTJKRURkQS9UM0VBZXpObTRn
1276 WmM1NDhteXRvKzlsWVZWOFpnSWJsbktXWmVMbExNU2lPRFRaTXpzbkVwRDVECjdsSjBTd3VjallT
1277 RHg2Q0QyQkloYm9DVUVPSjNUSFc3Z2E5dkt0ZFYzWnNycTJTUGNBTlA5dE9NZUNkemg2bkdoS2o4
1278 Um16S3Y1TzcKRk4wckhBK2ZYNFRhdHZ2SlJZZ2JJQ1dGT0lDNXFwa1ZZN0lwc2M5RUxXNFM2cEpo
1279 TlBJSXg2am5rdHlsR0E2dGxnbGw5cmdWZm9sRQpzOXpWNkZhVkord3hoOExMOXowbFF0d0FLUzNF
1280 N3doeXFpUnNaQ29GcGpmbExzVW9tS0RoWitSaXptSG9iNE43dmVCVDdVQmc3ZzlJCjZsSzVTOUd0
1281 Sm12NElSRFM3dTBuRnlGdWdKUWE0Z0FTV3A0SXVFS044M25xSmJYYzVSaUZLZFF3bmdNMGNrUHVV
1282 Z3lHZmFNVlUzS3YKWWxyYnpySVd4a29Mbkl1Q0EzR3QvZVFpeEEyUWtrUDhqcUYydFR3NE9wMWNj
1283 M0ViZWxjNDBjd1RwTkpFcXR5bEdBd1RqVVJrZ1lUZAp6YmFYUVRWcVJlUGdzOHRRV3lGQzNCQ0pF
1284 TDlEeTBMZmExaTRuNlZDcXBlN0dDUFFjb1BRWUw1QlE0UGN4UmlNNEJ2MmVCWjhoYVJ0CmxMc1Uz
1285 YXIyaEQwV1NIKytKRUxjMElnUXY1ZTllUk5MUjJkd3pmWVNHakVkc1ZNamFXQTJQMUJQcnR5bEdB
1286 elBHbnVDYzQ4ak5SWEoKWFlwdXFhMlFKdFNKRURjMElzVGJOczY1blBFajBya21CajQ3Wlk2R24z
1287 TUpGVC9JWFlyQnNHMnlJQ0szRUxPYUZMbEwwU2xkaEtvSQpjUjBUSWQ0UkxZLzc1YUp4UFVlMTFN
1288 L2VIdmVCNlZReG12MDBVU0YzS1FaQnBZV3BoV1k0bE8yWHV4U2RFU0Z1Z0VTSWQyNlFaUU9MClJw
1289 OG56enBIM1BIWmljRTBFME1DRFp5VnV4U0RNZWFXQTBQenYwYlNHdjhOVXlMRURaQUk4YTZiNUhL
1290 VGdPSHBZZ09LVG1tSm9RZ0gKRHFCRlROMEVjS3Nid1BpY1JGU05lWEtYMGlzaXhBMlFDUEh1a2RE
1291 eXhNZ3IxQTI2UUsxWTZyWkRRZFF6alNNMFVDQjNLUWJCV20xTwpSRjRaRmxYR3V4Nk5DSEVESkVL
1292 OFo5eXQ2M2xrOUZseXJmTGxMc1dnMmFCaEJabG82WWZyY2ZlRUZxWVVXekh3K2xkeVY5SWpJc1FO
1293 CmtBangzb2wyTDhWbldEb2xZbEd0RHMybW5PSHNSMDIxM0tVWWhJQUtCNGJuSFVEU0dOZlBqUWh4
1294 QXlSQ3ZQZk1WQnFlQ0xoRXVWTUcKRFZJL1d3eEpoenhvWWhHbmFLQ2ZMZVBhUTRQcWJRbkxPWTFK
1295 dy8wTFRSa3FFZUlHU0lTNDdneTFxK1hCVVdmSXRTaVV1eFNEcFVMRApreFJndzBHMGFPUXVSM1lX
1296 emFaRTVWVVp6Zlp2U2d0eHZleDJMeGlPcTFYV2JFdVlpT2JxWkp3MU5uS1hZNUEwcVBnSG5pVHhK
1297 QmFJClRhMGJUTlI4NjJQSmRkZEgwU0xtcjNabTVjcVZ1TGk0RUJnWTJQcllTeSs5UkVCQUFPUEdq
1298 ZU9GRjE2Z3JxN3RxWncrUGo0RUJRVVIKRWhKQ1dGaFlsNjVuTkNFK3ptZ3FOUTZIOGwzNTlPUk0z
1299 RzhGWUtZVjM5eTJKR1BGTHVaandrUzVTNUdmSkJIdlVrM20wTWZRbWpqSQpYWTFCZStxcHB6aDQ4
1300 TjVGeG1iTm1zWDU4K2RKVGs2bXBxYUczYnQzdC9sYVNaS0lqWTBsTFMyTnhNU3U3U05yTkwrOXFh
1301 L0NwQXh3Ck5wRzdrdjZqWG1QQysyY0R5RG96RTY5R0Y3bkxNVWlWcU5qQ1dBcFpqQWxXY3BjanU0
1302 c0R5am5wRjAyelpZRGNwUmlzaUlnSUhCMGQKNzNuc2dRY2VRS1ZTb1ZLcGVQREJCemw2OUdpN3Ir
1303 OXUxNHpSaERqQXFZK2g4Uzh3VlN4SXAxTlpGYlpzajUrTVdWNDRqbG9SVkczWgp5MEFPc0JSTGhz
1304 dGRpdXh1V05SeXlNK0hHb2ZwY3BkaWxONTk5MTNtelp2WDVuT1NKREY5K25RV0xGakEzcjE3dTNR
1305 K1UxMFdwdytWCk4rSDQvOENvcWFDZURkbmlaanNka2RpYk13VGJheTRzRzVOSm9kMUZtc1hXY1Bl
1306 NGdqbWJtY2JQR0tiNDNZUFVxbWErOHpKaGd2WGkKL3JuOUcxQmpidDNtNDhjU216bVdkUGVBZDlk
1307 dnFQdjk3MytQblowZGp6MzJXSnZQbnpoeEFqYzNOekl5TXBnM2J4NWhZV0c0dXJwMgplTTVPWjZl
1308 V1JaRk1BQUFnQUVsRVFWUTBORFN3Wjg4ZTR1TGkyTEpsQ3hjdlhpUXJLNHVISDM2NHk0WDNsaVJK
1309 TU8zK01sV21NUFVYCmtPd090V0lTZ1U0Rk9WVXljV1E2K2FabGNwZGlrQ1pUelFRT2l0MkRBSjlx
1310 ZXdKell3MW0remRkelU3NVNqdXJTOGZPbDc2OTczbzUKT1RuTW16ZVBzMmQvWEovbjczLy9PKysr
1311 K3k3ZmZmY2RscGFXblo1My9mcjFCQVFFc0dyVnFnNlA2N1E3NVhlLyt4MnBxYW5FeHNZQwo0Tzd1
1312 eml1dnZOSnBBZnFnVVVQY05yRC9PNFRLWFV3L2MrYm1BSGFjak1DNmNBSUR0Qlp5bDJOd1RtTExo
1313 eXpFalBGeWx5SzdITnNLCjR2d21vN1lPN1B4Z2hUcDQ4Q0IvK3RPZjJMdDNiN3NCWGx0YlMxVlZ5
1314 NDFWcGFXbEhEcDBpTm16WjNkNjdrNUQvSWNmZnVETk45L0UKM053Y0FCc2JHMW5uUkxhbDZBb2ti
1315 WVN3ZEhBMXVnNGlReWJ4K1NVdnZrMTRBSy9xWWFnTTY3OWRkamN4WVRQaktXTWhLcFQ5aDY3Qwp2
1316 STVEdnU1VU9UMG9keW15aTRtSllmTGt5V1JsWmVIcDZjbk9uVHY1NVM5L1NYVjFOVE5uemlRa0pJ
1317 UzFhOWNDVUZoWXlOeTVjd0VvCkxpNG1JaUtDNE9CZ2xpNWR5b3N2dm9pbnAyZW4xK3UwTzJYRmlo
1318 VnMzcnlaNk9obzB0TFNpSStQWit2V3JYend3UWM2K0hLN3ByM3UKbExaWUQ0QUp6OEp4YThSdEdq
1319 bzJ3ZmtXd1NQU0tUQzlKWGNwQmtmc0h2UWp1YmQvTTRUdUZIM3FOTVNUa3BKNCtlV1hPWGZ1SEdQ
1320 RwpqS0drcElSLy92T2ZqQit2djdlUjNRbnhPMGFFZ3NsOHlCQURuenFtSmNZL2g2YkI1NmdSS3lU
1321 ZVErd2U5Q001dDM4VElkNk9sSlFVCk5Cb05vYUg2NzMzdVNZZ0RvSUtJbFpEdUJWV2lXYTVUTHBZ
1322 TkxCeHpqbHhyMGZMOEtiRjdVQXU1dG45VFdvaDMyaWYreFJkZlVGNWUKenZqeDR3a05EYVc4dkp3
1323 OWUvYm9vN2JlMDhDeDk4RHlYWmdvUWx5blN1b3QySlk4bnNyc0tGeWI3ZVV1eDZCOGp4MGY4eGdX
1324 S0h1ZwpyOXFzZ1VPK0F5bDNuaXQzS2YxYXB5M3hzV1BIY3ZyMDZYc2VDdzRPSmoyOWk2dkQ2RUNQ
1325 VytJL01YNHVsRXlDYTZLTFJhZE0wTEFzCjRBbzF6aGVvazhRMzkwZGk5NkE3QW04NTRLT243ZDlF
1326 Uy93bkxDMHRxYTJ0YmYyOHRyWVdFeFBqdlBjOVpUK1V2Z0dSbFdBcTF2SFIKbVdaVS9ETmpPSW1w
1327 RCtCVDd5RjNPUVpFNGlQY09jRVRXREJFN21Ka2RkYXhuQlMvaDlDWWU4bGRTci9UYVlnLzl0aGpy
1328 Rm16aHZqNAplRTZkT3NXYU5XdFl1blNwUG1yckV3MjFFUGNXZUgwQlk0enpiNUhCdWxaanhkYkVN
1329 Qm92VDJXd3hsYnVjZ3pHR1N6WndSd2twc3BkCmlxd0tyYXI0M2krSUJqdXhvSmd1ZGRxZFVsdGJ5
1330 eWVmZk1Kbm4zMkdWcXRsOGVMRkxGMjZGQ3NyL2EyeG9hdnVsUHRQREZOWHdMbmgKVU43LzdocVds
1331 Ym1xbVNkR1hlS21ZeWFOWWhPS1ZtTDNJUHA4K3plbGRhY1l6NllRZlJIaXR6bTV3c2hmd0VseG81
1332 RE8rZHJWOE1DbwpNK1JhNkgrcW1hRVN1d2UxQ0NoM1pIaitmaVNOYnYrZ2lSQy83Zm5ubjJmVHBr
1333 MXRycllsU1ZLWFY5alNoYjRPOFR2R3pvU0thTWhSCjloaFVuM2pJdXdnbno5UGNVTlYyZnJBQ2lO
1334 MkRXZ3l1dHlWVXg5dS9pUkMvTFNVbGhmSGp4M1AwNk5IN0NwUWtpYWlvS0wwVWVPZDYKK2doeEFE
1335 TkxtUFFNeEErRVJvTi9qMkpjckUzVkxCdVZUWWw5Tm1wSnVjRjF0d25VTVlWRE5GQWlkeW15MGZY
1336 MmJ5TEU3NkpXcS9uWgp6MzdHdi83MUwzM1dkQjk5aHZnZFhnSGdGQVBwSW10MExzQ2hpc2lBMCtT
1337 WlhaZTdGSU13QUEzTE9VTXpDWEtYSWgrdGxvblg3UmhVCi9DVlNMNWY0VlZxSWR6Zzd4ZFRVbEp5
1338 Y0hFcExEV09KU1gzS3k0RDBWMkZTRmd3VXMxaDBLcVBjanUybnBtQnhMUXdIYmVkTGN2WjMKTGJz
1339 SEJTdDc5NkRXN2QrV2lPM2Z1cW5UZ2Mxbm5ubUd1TGc0SG43NFlkemMzRnBlSkVtc1g3OWVMd1hl
1340 dVo2K1crSjNHK0FNUWMvQQpjWFBaU3VpM0JwZzFzWFIwQmdWMmw5R0lUU2dZU2lQek9VWTlsK1F1
1341 UlRZREcyeVltSE1Cay9xc0hyMWV0TVIvd3QzZG5hVkxsMkpuClowZDFkVFhWMWRXdGE5NHFSV1Va
1342 SEg4RFJuOFB3OFVNRnAycWJESmpSM29RQlJlbTQ2RWVLSGM1c3J0NmUvZWdSbWFCUW5lV3YyRlIK
1343 dytIaHc2Z1YyNzkxU1ljdDhWdTNicEdRa0VCa1pDVFcxbTF2VmFRUGNyZkU3Nll5aGFuUFFKSXIx
1344 SW4rY2gzVHNzUXZEMXpQVWlYSgpzNHlwSVZIODdrRmFMYUZsQTNBdDNOT3Q3ZDlFUy95MmQ5OTls
1345 NkNnSUxaczJjS0lFU09NWjlHclBxWlJROXpmd09rZk1FR1pEYVUrCkpQSEpSVysrVDVxRmQ4MVFs
1346 TjY3b3ZqZGd5U0pwRUZWblBOZGhOYlVXZTVxREZhN0lmN0JCeDl3K3ZScHZ2NzZhK0xpNG5qLy9m
1347 ZjEKV1pmQks3Z0V5YitEOExQZ0lycFlkS3FzM3B4dEtTSGN6SnFHZTdPeUI3bkU3a0Z3MWJhY09M
1348 OHBxSzJVdlNwa2U5b044WnFhR3B5YwpuQUFZTm13WUJRVUZlaXZLbUNSOER0Vi9nb2hhcGZaZzlw
1349 MzQ2NDdzUERFTnArdkJXR3ZONUM1SFJoS2ZNWmp2V0lZbFBuSVhJNHNLCjh6cStIVDVFYlAvV2hu
1350 Yjd4TzN0N1ltTWpHejkvTml4WTBSRVJMUzhxSi9lc2RsYi91RWd6WU5NY2NlbnpybFoxek4vOURs
1351 eXJmTGsKTGtWV1l2Y2dDTGxoajBmQkhpUnQyenRMS2ExUHZOMFF2N083ZlpzdjZ1Q096WlVyVjdK
1352 Ly8zNEdEeDdNMmJObkFhaXFxdUxKSjU4awpMUzJOY2VQRzhlR0hIMkpyMjdMSzNUdnZ2TVBtelpz
1353 eE16Tmp4NDRkVEoxNi8wcHZ4aExpQUpJSlRGMEphWjVRTFFZK2RTN0tyWXloCnZ1bVVxQ3JsTGtW
1354 VzA2aGtETjhvZHZjZ3p4cDdnbk9PSWFtTDczdE83aER2YmdiZUxTNHVqdFdyVjZOV3ExbTNiaDIv
1355 L09Vdk82OVYKMXd0Z0hUdDJERnRiVzFhc1dOSDZCZnp4ajM4a1B6K2ZQLy81ejd6NDRvdjQrUGl3
1356 WWNNR3JsKy9UbVJrSk45Kyt5MVhyMTdsVjcvNgpGYW1wcWZjWGFVUWhmb2VMTi9qOEhCSkVINHZP
1357 bVVvYW5naTRSTVhBREJvVXZFTGlZSnFKSVlFR3pzcGRpaXpzbWl5WW1sdUFXYzI5Cm1TRjNpSGNu
1358 QTM4cUpDU0VUWnMyNGUzdHpZTVBQc2p4NDhkeGR1NTRVTGZUZWVMZEZSRVJnYU9qNHoyUEpTWW04
1359 dlRUVDJOaFljSEsKbFN0SlNHaTV2VGdoSVlIWnMyZmo1ZVZGVkZRVVdxMjIzOHhCTDhtRmhOZGdR
1360 aklNRVFPZk9xWFdxdmpnd2dqT241N0pFTFZqNXkvbwpwNjVqd2lZbVVjRThKSlQzUTFabDFzQWhY
1361 MmVEMi82dE94bDR0NHFLbG5kVmtaR1JlSHQ3TTJ2V3JEYVAreW1kaDNoYmtwS1NHRGx5CkpBQWpS
1362 NDRrTVRFUmFBbnhnSUNBMXVQOC9mMWJuK3N2a3ZmQmpmK0Z5R29RZCsvcjFzVktHLzUrS29vaDVm
1363 NEtubzdZc252UUtaN0EKbkVGeUY2TjNHZ25paGpSeDFXc0pXc2x3bDNCb0x3UGJPd1pnMUtoUnhN
1364 ZkhkM3J1THYvNXJxK3Z4OUt5WjkrazdyeTFrYVIyK2grdQpidnp4M3c3UjRCamRvMXJrVUY4TmNY
1365 K0c0ZVBBZWlHY1VXNFBnTTZwdFNyZU96T2FLRGNYUEgyVEZidlViVHFXWEdNK1R5aXdlK1ZzCjdF
1366 MCtpcjJNblhvb2J1VkZRTGxPemx1Q1c1dVBaOFVXa3gzYjBoZmYxV1RyeTRIUFRrTThQVDJkVjE1
1367 NWhRc1hMbkQxNmxYUzA5UFoKc1dNSGYvdmIzN3A4a2REUVVESXlNZ2dKQ1NFakk0UFEwRkFBd3NQ
1368 RE9YTGtTT3R4bVptWnJjL2RaK2pHTGwvUFVGMUtCVkpoOGxLNApOQWF1aTFrc09uTzB5SmtCWlRO
1369 WU52WXN1ZFk1Y3Bjamk3TGIzU3ZMOGNSV1FldVVCMFk3RVJqZE1oM2FvbmtvYlBsR0orZjlra2Zh
1370 CmZpTDY5c2NkcnkzcTlGenRaZUJQajNucHBaZGFQejkvL2p5elo4L3U5TnlkZHFmODRROS80TTAz
1371 MzhUQm9lV21pK0RnWUk0ZVBkcnAKaWU4V0hoN096cDA3cWF1clkrZk9uVXljMkxMSFhsaFlHSWNP
1372 SFNJdkw0L1kyRmhVS2hWMmRuYmRPcmN4T3ZsdnFQa1RSTmFJTGhaZApxbXd5WTF2eU9NaVpoTDFp
1373 VjBlVStDZWVwTEVNYzVTM0ZrMkRpV0cyak5yTHdMdloyOXNETFROVWNuSnlPSHo0TU9IaDRaMmV1
1374 OU1RCkx5d3NaTXlZTWEyZk56UTBkTGlPU2t4TURKTW5UeVk3T3h0UFQwOTI3ZHJGbWpWcnlNdkx3
1375 OS9mbjRLQ0FwNTk5bGtBWEZ4Y1dMTm0KRGRPblQyZnQyclZzMnJTcDA0TDdpNW9LaVBzVGVIOEpZ
1376 MFdTNjlTQlBEZStTNXFCZDcxeWQ1aVB4NGFQV0lnRjRpNUhmZXRPQmhZVwpGakozN284RHMyKy8v
1377 VGFyVjY5bTVzeVpyRjI3dHRPWktkQ0ZLWWF2dmZZYXdjSEJiTnk0a2ErKytvck5temRqYjIvUGIz
1378 LzcyMTUrCnFWMW5qRk1NdTJ2U0VyZ1NCQ1dHMlpBd1dvLzY1cU55VDZkR2F2dkdrUDVQeTNLdUth
1379 cDdSUmMzMzBpU3hCenQ1MTA2OW9DMHlEQVgKd0xyaitlZWZKeTB0amVibVp1Yk1tWU9EZzBPWEpx
1380 QUwzWFBxRTZqNkkwUlZnNm1ZVzY0elgxejJKRDUxSmw2TkxuS1hJcE83dTFlYwo1QzVHNkFPZHRz
1381 UVBIRGpBbkRsejdubHMyN1p0clc4SDlFRUpMZkc3K1l3Qnh5V1Fwb3lHazU1b2lmSFBvVzd3R2NY
1382 ZUlEU0lacFlwCllQYUthSW4veEgvLzkzL3ozWGZmdFg3K3h6LytVU3hMMjhkeXprSGFxeTBySkxv
1383 cDd4Nk9QaUx4VWRaUUxweVpvZGpOSjBwdnoxNnAKNVNIMGRJdUlvQWVkUnNUZXZYdDUrT0dITVRj
1384 MzUrREJnMlJtWnVwMThTc2xTL2djckw2RnlGVnd5aDZhbFBObXBNOWtWOWh5OFdRawpLMFpmNUti
1385 VEJkU1MwdDd1U1B3RFR5YXhqRkMrb1pHYmNoY2s5RktuZjQ2ZG5aM1p1M2N2YTlldXBiQ3drTTgr
1386 K3d4emM3SFpwTDdVClZVSGNXK0QrQ1l3VGpTZWQwQ0x4d2ZrUjVKMmZocHRDMXlzL2hRMGY4YWlZ
1387 dmRJUHROc25ibXRyZTgvZGs0Mk5qWmlabVNGSkVwSWsKVVZtcHYxWGtsTlluM3BIUVIrQldHRndT
1388 czFoMHdreWw0V2RqTWlteXoxTG9SczFhVm5BTmF3NUNQNW05b3JRK2NaMnZZdGdYUklqLwpoQW9t
1389 UFFZRmdaQW53bHduSnJuY3hNOHZtVkpWdGR5bHlHSVNOZjJtZTBXRStHMlptWm1NSERteXphVmhB
1390 Y2FORzllbmhkMU5oSGpiClZLWXcrUW00N0FkRklzeDd6ZHBVemZMQTgrVFpYWmE3RkZrTVFuMTc5
1391 c281dVV2cEZSSGl0NjFhdFlwMzMzMlg2T2pvTmhlbCt1RUgKL2Uwc0lrSzhZMmFXTUhFRlhQQ0VH
1392 OHFjUGFkVDA0ZGN4M1ZZQ3Jla09ybExrWUh4ZDYrSUVMK0xScVBoMUtsVFRKa3lSWjgxM1VlRQpl
1393 TmRZMlVIWXp5RE5CU3BGbVBlS2cza1RNVUZueUxIT2xic1VXVXlpaGduc3A0bGJjcGZTYlVvTDhR
1394 N25PNmhVS3A1NzdqbDkxU0wwClVsMFZIUDByOEJlSXJBQWJNWnVseDhvYnpkaWFQQjVWN2tUc3RN
1395 cmJaZjRVTnZ5YlI3RmdUT2NIQzdMcTlOZDgzcng1dlBQT08zcWQKalNMMFR1Vk5pUHNMV0c2RHlG
1396 b3dGN2Z4OTlqK1hIZmlrbWZnM2VBdWR5bDZWNG9wbTVoTUhYTVFOd2Nacms1bnA5amEybEpiVzR0
1397 SwpwY0xLeXFybFJXS0tvVkZ4OFFHL1pYREtIRVF2UzA5cFdUdzhINjNiYVdvVnVKaldaS29aenpk
1398 RzBiMGl1bE4rb3JxNkdvMUdnMXF0CnBxcXFpcXFxS3RFcU56SWxPWEQ4RFhEL04weHFCdEV3N3dt
1399 Snp5NTVrWkkyQTYrbXdYSVhvM2Nuc1JYZEt3YXEweENmTVdOR2x4NFQKREY5K0pwejZieGkyQjhM
1400 a0xzWkk1VlJicy8zVUZBWmVINHU1VmxrTHdZdnVGY1BVN3Y5RVhWMGROMjdjb0xTMGxKczNiN1or
1401 WkdabQo5cHNkNlpYcWNqb2tib1NBUStKVy9wNlIrRERUbCt5ejB4bWlWdHJ5cmhJZjRNVVpZakRE
1402 c2ZQRGhUN1g3Z0pZMjdkdlo5T21UUlFXCkZqSisvUGpXeDcyOXZYbmhoUmYwVXB6UXR6Sk9BYWNn
1403 Y0Rvd0RjNktEdk51eVNpM0kvdGtKQ3ZHWEtUTThRSnFCZDIyZnhKYkx2Sm8KdjdnNXlOaDFPckQ1
1404 emp2dnNHN2RPbjNWMHlZeHNLa2Y0K2RDOVNUSUVuZC9kdHM0NTNMRytpZFRiS0swOFNJdFB5TWZL
1405 dzVoS0RjSAppWUhOMjVLU2tpZ3FLbW9OOEcrKytZYmx5NWV6ZGV0V2FtdHI5VmFnb0Q4cCt5SHJ2
1406 eUQ4REF3VDY1aDNTMnFaQS84Nk5RMlBpaEdvCkZOWGVhT2xlT2NzeTBiMGlrM1pEL0psbm5tbGRj
1407 dmJTcFVzODlkUlR6Smd4ZzlPblQvUC8vdC8vMDF1QmdwNXBJZUVMdVBJcVRNNEcKRHhIbVhkYW9N
1408 ZUhkMDJNb3Z4aUZzOFpHN25MMDZnUTJmTXdpTEJndGR5bXl5OHJLSWlRa3BQWEQzdDZlZDk1NTU1
1409 NWpZbU5qc2JlMwpiejNtOWRkZjcvSDEydTFPQ1FvSzRzeVpNd0NzVzdjT0t5c3Izbnp6VGRScU5W
1410 T21UQ0VoSWFISEYrMTJrYUk3UlRZbVpqQnBPVndjCkpqWng3ZzViVXpWUGpqMUxyczFWdVV2Ukt4
1411 VWFsbk5OMXU0VlErcE8wV2cwREJreWhNVEVSRHc5UFZzZmo0Mk41YTIzM3RMSkJqdnQKdHNRZEhS
1412 MWJ1MDIrK3VvckZpOWVESUNwcVNuVjFjcGNybE9KbXB2ZytFNG9md01paThGSldiUHFlcXhhYmNx
1413 MmxCRFVWNmJnb0xXVQp1eHk5MGFBUzNTdDNPWExrQ0w2K3Z2Y0UrQjI2Nmtkdk44U2ZmUEpKSms2
1414 Y3lNeVpNL0gxOVNVME5CU0FpeGN2NHVDZ3pOMVFsS3loCkZ1SzJRY09mSWVvbTJJbXBpVjF5K0pv
1415 TGh4Sm00bDEzL3k5eGZ5YTZWMXI4KzkvL1p0bXlaZmM5TGtrU0owK2VKRGc0bVBYcjEzUDUKY3Mr
1416 WFArNXdka3BoWVNIWjJkbEVSVVcxTGtlYm5aMU5kWFcxV0U5YzRld0h3ZGpsa09RQWRZWXhLY0hn
1417 elI5YWdMbEhHdFZTbzl5bAo2STBjM1N1NjZrNEpLVWxzODdtcUV5bFVuL3h4bjRYaVA3L2I1dlVh
1418 R3hzWk1tUUlGeTVjWU5DZ1FmZWVvNm9LRXhNVHpNek0rT0NECkQ5aXpady83OXUzcldhMWlaeCto
1419 TjV5SFFNQ1RFRzh0Tm5MdUNuZnJlaDRKVENYWG9sanVVdlJxQ2pXTTA5UFN0cm9LY1k1MjhSeFIK
1420 VXB2WCsrcXJyOWk2ZFNzSER4N3M4T1ZhclJaWFYxZnk4dkt3c09qK2lwbmlUYkhRSzJVRmNPeE5H
1421 UFJQbU5va2ZxQTZVMWhyeWJhRQpTUXdvR29lVlZqbFRmNVRZdmZMUlJ4OFJFeFBUNW5NbEpTV3R3
1422 Zi8xMTE4VEZCVFVvd0FIMFJJWGRNeG5OTGd1Z25pUjVwM3l0YXRoCnhwZ1U4czNLNUM1RmIvVFJ2
1423 V0lJTGZHYW1ocTh2YjI1ZXZVcWRuWjJRTXRkOEFDclY2OW15NVl0Yk4yNkZWTlRVNEtDZ3Rpd1lR
1424 TkIKUVVFOXE5VllRdHoxVVEzRnQ4VDZlOGJDYnp3NFBBSkpCdi9USlRjdHl3TXVVK2w4amtaSk9Z
1425 TUxVNmhtWEI4dGJXc0lJYTVQUnROZQp1bmtnbVNpUFc5amJpRlF3QmhkVElPbDNNT29JQkl0cGlS
1426 MlErR2ZHY0M2Zm00NTdzM0ptZlozQVZuSGRLMzNGYUZyaUVBL0FnSUhtCmhNd2ZUa0tCTGZXTm9t
1427 VnVMTWJPQkhVMG5CYzNETFhMVk5Ld1lrd1cxeDB5YVZiSVlsb3FOS3dnSDBzT0FicjVtcFhXRWpl
1428 NkVML0QKeGNzYXYxbkRPWG5WRW8xR2hMbXhtUEFJVklUQlJSSG03UW9kZEl2Ui9zbVVxSlN6NVBO
1429 VXFnbGhQMDJVOS9wY0lzUU5VRnNoZnNmUQpNZllNRGg5R3doVnovUllsOUp3RWt4NkRvaURJRVdI
1430 ZUprdFZNeXVDTG5ETjdpSmFoYlJSWEZIek9QRTBjTDVYNXhFaGJvQTZDdkU3ClJrOGVoSW1mRjJm
1431 eWxETnR5OWhKSmpCNUdWejFoMElSNW0yS2NpdkQwemVaR3lwbHJCeXFpKzRWRWVJR3FDc2hmc2VF
1432 QjRkUVB0Q2QKUzBWR00yYXJlS1lXTFl0c1pYaERtZGlZNGo0RHpKcFlOdllzdWRZNWNwZWlONzNw
1433 WGhFaGJvQzZFK0l0TDRESkMzM0lWUTJtNElaQwozb3YyQTVhMkVMWUN6cmhCdVFqeis4enhLc0xl
1434 TzQwS3FWN3VVdlNpcDkwcklzUU5VTGREL0RZekN4V1RGdnR5dHRLUlc5VWl6STJGCm5ST0VySUFV
1435 SjZoUnp0VHBMaGxrMmNEaW9OUGtXRjZUdXhTOTZFbjNpZ2h4QTlUVEVML0R6c0dja0FYRFNTcXlw
1436 VTVNU3pRYWppNFEKdUFJU2JLSEI0SDlLOVd1aGJ6NG03dW5VU0UxeWw2SVgzZWxlRVNGdWdIb2I0
1437 bmNNOHJCbTVJTytuTXl4b2xsTVN6UWFMdDdndHd6aQpMVUZ0OEQrdCt1TmhVOGZjd0ZUeXpFdmtM
1438 a1V2V3JwWFR0SEFoUTZQRXlGdWdIUVY0bmQ0Qjlqak5ua284VmQ2dHVDTUlBOFBmL0JlCkFpZE5k
1439 SFZiU0grZ0pjWS9oN3JCWjJpUSt2OUFRbGU2VjBTSUd5QmRoL2dkQVdIT21JL3k1blN1bUpab1RJ
1440 YU5oVUVMSUVHOG1XbzEKeXJHSzhGRUpGSnRVeWwyS1hrUlFUWEE3M1NzaXhBMVFYNFg0SGVObXVs
1441 UHQ0azUyb1Zqa3c1aU1pWVNxV1pBcjVwZ0RZR1hTek05QwpUaXRtS21KNzNTc2l4QTFRWDRmNEha
1442 TVdlSFBOYkRENVpXS091Ykd3dElYUXRYRE1XdTVLRE1maTRYbW8zZElVMjcwaVF0d0E2U3ZFCkFV
1443 ek1WRXhaUEl6ek5VN2NxQkx2MTQzRjJKbFFGZzBGb2xVT1FLQmpKZU5HSjNCZElldXYzTjI5SWtM
1444 Y0FPa3p4Tyt3R1dES2hJVisKSkYrM282WmVoTGt4c0xHSGtPZmd1RmhHQndBYlV6WExROUxKdGNx
1445 VHV4UzljRVBORWs0eFczcGJoTGloa1NQRTd4am9hc21vdWNNNQpsV3VOdWxtRXVURVk5eEFVVElZ
1446 UzBTb0h0RHcrSXBkNmwzUkZiRHFoUXNOKzZURkZoYmpvL08zRWplSjZqcjEvRHJlOERDWU5hNUM3
1447 CkhLRUxVcitCdXJkZ2N2L3ZFdTRDaVkremZjaTdNSTFCR2x1NWkrbHpHZ1ZHbXZLKzRoN0t6Njdp
1448 MVB2cGpLaTh5RGdmWmR3bFo4d3EKYjhMSi80YXdkQmdvSmgyUmRzT2VQUW5UOEs3M2tMc1VRY2Yw
1449 R3VLN2QrOG1LaXFLMGFOSDg5NTc3d0d3Y2VOR1BEdzhDQWtKSVNRawpoSU1IRCtxenBHN0xUcmxK
1450 NnE1VWdza2xZSWhvNmhtNnhEMmcrU3VFRzN5bllkK3JiREpqVzJJb2p0ZURNZFdLOWx0Zjh2SHhJ
1451 U2dvCmlKQ1FFTUxDd3RvODVqZS8rUTNEaGcxai9QanhaR1ptOXZoYWV1c1RyNmlvSUN3c2pQajRl
1452 TXpNekpnK2ZUcUhEeC9tN2JmZnhzN08KanZYcjE3ZGZwSXg5NHAyWitJZ1hoWll1NUpXS1h3cERO
1453 M0VKWkFhS0ZSSUJKampmWXVUSVJHNm9hdVF1UmVjT1NJdGs3eE1mT25RbwpLU2twT0RrNXRmbVN4
1454 TVJFMXE5Zno5NjllemwwNkJELyt0ZS8yTGR2WDQ5cTFWdnluRHg1a25Ianh1SG82SWl0clMzVHBr
1455 M2oxS2xUCkFMSU9DdlJXL040OHJuMlJ6TlRCWlF5eU45NnZRd25pUHdIVGJSQXF4cWRKTG5Oa1gr
1456 SjB2QnZjNVM2bDMrb28xeElTRWxpOGVERk8KVGs3RXhNU1FrWkhSNCt2b0xjUWpJeU5KVEV6azZ0
1457 V3JGQlVWOGMwMzMzRHk1RWtBTm0vZXpNU0pFM256elRlcHFqSytlYTBhdFpiagpIMSttK2tncVVa
1458 NFYyRm1KTURkVVpRV1E5RHVZY2drR0tQek5VM21qR2RzU3dobFlHb1NwVXZhQTB4TkprcGcrZlRv
1459 TEZpeGc3OTY5Cjl6MmZtSmpJcUZHaldqOGZOR2dRbHk5Zjd0RzE5TFpvaUkyTkRXKy8vVGJQUGZj
1460 Y0ZSVVZCQVlHWW1scHlhcFZxM2oxMVZlcHJLemsKcFpkZVl2djI3V3pZc0tHTk03eDMxNy9IM2Y0
1461 d0xIWFZhbzcrSXhON1ozT2k1ZzBucGRpV2FqSEgzQ0NkK0JEY2hvSDNVM0JXMGQwcgpFaDltRENm
1462 Q3pRRzM0ZkZVU1kxeUY5UnROMkxQY1RPMmQvdHl0aW0ybmNldnhrSk9lMCsyT0hIaUJHNXVibVJr
1463 WkRCdjNqekN3c0p3CmRYVnRmVjZyMWQ3WFVtL3BOdTQrMmVhSkwxMjZsSmRmZnBseDQzNE00OU9u
1464 VDdOMjdWcE9uRGh4ejdHRzNDZmVFWHRuYzRKRm1CczAKeVFRaTFzS0pnYURvTEFkODdXcUlDRHBG
1465 aVpFdm9xV3pQdkZwWFR6SER4M1BFMSsvZmowQkFRR3NXcldxOWJITm16ZWpWcXY1MWE5KwpCWUN2
1466 cjIrUFcrSjZmVU41L2ZwMUFJNGNPY0xaczJjWk4yNGNSVVZGQUtqVmFuYnYzczFERHoya3o1TDZW
1467 RVZaSTBkM1hjQWtLWjBvCm55cHNMVVUzaTZIUk5rUGNadkEvREo0S1g4enljcFVOWHlSRzRkM2cy
1468 dm5CUXJ0cWEydGJ1NFZMUzBzNWRPZ1FzMmZQdnVlWThQQncKUHYvOGMyN2N1TUh1M2JzSkNBam84
1469 ZlgwK21PN2VQRmlybCsvanAyZEhidDI3UUxnUC8velAwbFBUOGZjM0p6SXlFaldyRm1qejVMMAo0
1470 azZZaTI0V3czWGhCTmljZ3ltL2hCTUtEdlBLSmpPMkoweGlWZkI1OGdka3kxMk9VU29wS1dIaHdv
1471 VUFEQnc0a0JkZmZCRlBUMCsyCmI5OE93T3JWcXdrTEMyUHExS2xNbURBQkp5Y25Qdnp3d3g1ZlQ5
1472 eDJMd1BSeldMWUpqNEdGNEtnVXVIOUswdjhjcWx6VFVOdFpMZnIKRzFwM1NsOVQrUGk4UE83cFp2
1473 R3VGTjBzQmliK1U3RGVDVUVLdjlQems0dmUzTG9VZ1oxVzdJQmx5RVNJeTZpaXJKR2pmODhRWVc2
1474 QQppcS9DbWQ5QlpCa29PY3VQRncwa0pUMGExK1lCY3BjaXRFT0V1QUVRWVc2Z05CRDNWeGp4TFhn
1475 cHVKLzhjcFVObnlkRzRkM2dKbmNwClFodEVpQnVRbjRhNXVHbklNR1NjaExJL3doUUZyM3ZXTXVB
1476 NUVZK0tFWEtYSXZ5RUNIRURkQ2ZNVllraXpBMUZiU1djK0FPRW53TjcKaGZhdmFKRjQ5L1FZYkF2
1477 SGl3VzBESWo0bnpCZ0lzd05UOEpuWUxVVHhpbzB5QUUrdmVUTnpZc1JEQkFEbmdaQmhMZ1J1QlBt
1478 VWtJNgprZDZWRExBV1lTNm40cXR3K25jUVdRcW1DcDBoZXFKNElFbnAwM0J0dHBlN0ZNVVRJVzVF
1479 S204MEV2ZjNERFFuMG9uMEtHZmdBQkhtCnN0RkEzQllZZmdDOEZUcm9lYVhLbWs4VHhJQ24zRVNJ
1480 RzZIcThrYmkvcGxGOWVFVUlseHY0T29vd2x3dW1mRncvVTJZcXRCQnoycTEKS2R2RWdLZXNSSWdi
1481 c1liYVpvNTlkSW15ZmNsTWNTN0ZhNUJ4M1ZuWFg5UlZ3ZkUvUVBoWnBRNTZ0Z3g0MmhST0VBT2VN
1482 aERmOFg1QQozYWpoeEtkWHlQOHNpVWtEaWhudUtzSmNEZ21mZytYN3loMzAvT3lTRnplenhZQ252
1483 b2tRNzBlMEdqajFWUzZYUGtvaTFMS0FBQStGCkwvNGhnNUtjMjRPZTE1VTU2SG1pUkF4NDZwdFlB
1484 S3VmQzVuaGhzYlRuZE81Q2gxOWs1Ri9PRFRNZ3h5MTNKWG9uNjJwbWlmSEo1RnIKVWFUM2E0c0Zz
1485 SVIrSmUyN0lrNy9QWVV4alZlWk1GU2hvMjh5eVVxQWtqZGhxdkZ0bHROclB3NTQrc3RkU3I4blFs
1486 d2h6cDI0VHZMTwpWRVpVWGlSOFdBT1NaUEJ2d1BxRnVpbzQvZ2FFblFFSHhmV1ZTN3g3ZWpUV2hS
1487 TXdFd09lZlVaOFp4VW1PK1VtQ2UrbjQxMlN4ZVJoCjlaaW9SSmpyUStJWFlQRWVCQ3N1eU9IelMx
1488 NlVaVWVLQWM4K0lrSmNvWExPVjNEeS9kTzQ1bVl3ZFZndDVxWWl6UHRhU1M2ay93NmkKU3BRMzZI
1489 bXl4SWxFTWVEWkowU0lLMXpCcFNxT3YzOFdoOHh6UkE2dHh0cENoSG1mMHNEUnJlRDdEZmdvYkt6
1490 NWF1c2RudTV5bDlLdgppQkFYQUxpZVgwdmN6dk9ZcDV3VzY3UG9RVllDRlArdjhnWTlXd1k4dy9F
1491 b0Z3T2V1aUpDWExoSGVXbURXSjlGVCtxcmJ3OTZwb09qCm92cktKZDQ5TXhycmd2NDU0Sm1mbjgr
1492 MGFkTVlQWG8wMGRIUjdONjkrNzVqWW1OanNiZTNKeVFraEpDUUVGNS8vZlVlWDAvTUV4YzYKWkdG
1493 dFF0ajhvVnhzY0tMNGxzSTZjdlZvc0JlNC93TFNGWGF6N1dTWG0zaU9PRVdsMUtDemM4bzlUN3k0
1494 dUpqaTRtS0NnNE1wS3lzagpMQ3lNMDZkUFkyZG4xM3BNYkd3c2I3MzFGbnYzN3UxVm5TQmE0a0lu
1495 eFBvcytuRTlyMlhRTTdJRXpCVDB0L0praVJNSmFkTnc2MGNECm5xNnVyZ1FIQndQZzdPek02Tkdq
1496 U1U1T3Z1ODRYYldmUllnTFhTTFdaOUVETGNSdGhhSDdZS2lDQmoxenFxMzUyQUFIUEUzUWRQcWgK
1497 b3VQZmcwdVhMbkgrL0huQ3dzTHVlVnlTSkU2ZVBFbHdjRERyMTYvbjh1WExQYTVUZEtjSVBSWTZ4
1498 NE5xWjFjeXJpbXFRMWN2TEcwaAo5SmR3VEZGVHE3WDhJdWdDQlE1WnZUcUx6cnBUM05vSjFvWjRh
1499 RXo0OGZQcWQ5cThYbFZWRmRIUjBiejY2cXZNbnovL3Z1ZE1URXd3Ck16UGpndzgrWU0rZVBlemJ0
1500 NjludFlvUUYzcExyTS9TZDBMbncrVUpjRk5CYTVrOTZwdVAyajJGSnFsbjcvWjBGdUpkenB5Sjkx
1501 MnYKcWFtSnVYUG44dEJERC9IQ0N5OTArR3F0Vm91cnF5dDVlWGxZV0hUL3I3Ym9UaEY2VGF6UDBu
1502 ZVN2Z0tUSFJDaW9OL1VMeTU3VXBvZAppYzdVZkF3QUFBMW5TVVJCVkwzV1V1NVNla1NyMWZMMDAw
1503 OHpac3lZZGdPOHBLU2tOZmkvL3ZwcmdvS0NlaFRnSUZyaVFoOFlNZDRKCngyQXZFcSthbzlVcWFK
1504 U3VMMGtRdVJwT3VVR1R3Zi9HNm9hUGJTM1R4OFpUWkZMZXJkZkozUkkvZnZ3NGtaR1JCQVVGM1Q0
1505 UHZQSEcKRytUbDVRR3dldlZxdG16Wnd0YXRXekUxTlNVb0tJZ05HellRRkJUVXMxcEZpQXQ5eFdl
1506 MFBlNFRmVWpJc2FCWkk4SmNGMFpNQVBVQwp1S0tRNVcxdFROVXNINTlNcmtWaGwxOGpkNGpybTRM
1507 ZXBBbjZKdFpuMGIzc1pDaDRBeUowTjYzYW9OWGN2c056U1BsSXVVc3hXQ0xFCmhUNG4xbWZSclla
1508 YU9QWS9FSm9LVG9xWUdDVHgzcGxSV0JXRTlzczdQSHRMZkVjRXZSSHJzK2hXMGw1UWJZTnhDdmt0
1509 L3VLeUo5ZXoKakhmQXM2OG81TDlmTUNSaWZSYmRLU3VBMU45QlpDa29ZZFFoL3JvVHA5S200ZGJz
1510 SUhjcEJrT0V1Q0NiNnZKRzR2NlpSZlhoRkNKYwpiK0RxS01LOFI3UVF0d1VtcElLTkFuNmpjNnV0
1511 K0RnaEV1K0dJWEtYWWhBVThGOHVHRHF4UG90dUpPMEZ0ejB3UkFIM1hMVU1lSWJoCkxnWThSWWdM
1512 aGtPc3o5SjdsMUtoL204d1JpRURudStmR1lYbHRURE1GVHpncWR5dlhEQllXZzJjK2lxWFN4OGxF
1513 V3BaUUlDSGd1NDUKMTRFYmhaRDVPa3hSeUZ6eUw2OTRVSndWcGRnQlR4SGlna0ZMT25DTmpIOG1F
1514 NkxLWTZ5M1FsSkpCOVFOY09MMWxxVnRsVERnbVhEZAprWk9wMDNCWDRJQ251R05UTUNwanBnekcw
1515 dCtENUt0bWNwZGlOQ1k4QXBrVG9Gb0J2VlBXcG1wcXA1Z3A2bzVORWVLQ1VSb3gzZ203CnNUNmtp
1516 RER2a3VIam9PNVJLRkRDbTVrb1NWRWhMcnBUQktPVW5YS1RsSjJwVEIxVWlvMmx3YmREWkhjcEZl
1517 citDb0dLR1BCVUZoSGkKZ2xFNy9za1ZuQzVuTU5wVERINTI1bVl4WkNob3dGTXBSSWdMUmk4L3U0
1518 b0xIeVlUNVZtQnFZbG9sWGRFYVFPZVNpQkNYT2dYdEJvNAorbzlNZkNzdU05UkZBU040dlJTM0Zj
1519 YW5nSzFJQUtNbi9ndUZmaVVyNlFhRmUxT0pIRllqZHlrR0wvbHJjUGtDUEJSd2gyZC9Ka0pjCjZI
1520 Y2FhcHVKZS84Y0lhcDhYQnhFOTBwSExxZER6V1l4NEduTVJJZ0wvVmJhZDRYVUgwdG40akNGN0tE
1521 UVE3ZEtiZzk0aXUxUmpaSUkKY2FGZnF5aHJKUDc5ZENZN0ZJdjF5enVnYm9BVGY0RElZakhnYVd6
1522 MEd1SzdkKzhtS2lxSzBhTkg4OTU3N3dGUVZWWEYvUG56OGZMeQpZc0dDQlZSWFYrdXpwRDZVS25j
1523 QlBXQnNOWGU5M3BOZjVtSjkvcno4dCs3ZmlwWDMrcDJJMndiamszOHk0SmtXSzFjNVJpc3VMbzZB
1524 CmdBRDgvUHpZdkhsem04Zjg1amUvWWRpd1lZd2ZQNTdNek13ZVgwdHZJVjVSVWNGcnI3M0duajE3
1525 U0VoSVlNZU9IVlJVVkxCMTYxYTgKdkx5NGVQRWlIaDRlYk51MlRWOGw5VEZqQzBRd3ZwcTdWMjl4
1526 VGcybi81NUNwUHROK2ZiN0xJK1Y1N3Jka0x3UEJuOSsxNEJuZXF5Ywo1UmlsNTU5L251M2J0M1Br
1527 eUJHMmJObENXVm5aUGM4bkppWnk3Tmd4a3BPVDJiQmhBeHMyYk9qeHRmUVc0aWRQbm1UY3VIRTRP
1528 anBpCmEydkx0R25UK1AvdDNXMUlVMzhiQi9EdjZCL3pmNXVscTBGQ01aLys2QXgxMm53b1M5U2l6
1529 TEhWY053NXMwaU5UTXVLSUFoNkVmZWIKVWdqU0l0SWV6QmZlTWlteExDUEswTjNrUTh1S1dyWGlu
1530 MDlCeXEyWWFhWGNQZjN1RjlGd2FiazVkODVaWFo5WDduaXVuYThYY1huYQorWGxPYTJzclRDWVRj
1531 bkp5SUJhTGtaMmRqVHQzN25BVmlmeW0vdlB2djdINHYzL2pMMTlhaXZnam5RKy9YdkFNcHd1ZURo
1532 c2VIZ1lBCkpDUWtRQ2FUWWMyYU5SUG0ycDA3ZDZEVDZTQ1JTS0RYNjJHeFdLWjlQTTRXRnlVa0pH
1533 RFhybDNvNnVxQ2g0Y0hybDI3QnJGWWpMdDMKN3lJazVPdU4zVU5DUW1BeW1TYXRqNHI2QjFkUlow
1534 UmYzMno0K2xKbVYzSXU3Ly93Uitjei9ETXBFQzhHeFRPYTYyZjZSZ0RmdnpnNwpuTk5tR1FENUg4
1535 Q2ZjL2hPWXIrWit2L2t2SGxUL3diNytKRmhkTlIyMi9pWkJnQ2hvYUZvYTJ1RFNxV3liak9aVE5p
1536 OGViUDF0VlFxClJVZEhCd0lEQXgzT3lka1E5L1QwUkhGeE1YYnUzSW5oNFdHRWhZVkJMQmJiZmVP
1537 WSsvZkRYWnh3NXZYMW5lSTdnc1BjTGJPemVVMDgKM0ZldDc5Ni91RCtvczg2NllXWW5EUTlIMjdY
1538 Zm5EbU8vNFpqakUyWWZWOXZ1dVU0VHBmNXE5VnFxTlZxQUVCNmVqcFNVbEp3Ly81OQpXQ3dXUkVa
1539 R3dtS3hJRHA2WXVQYzRFYUxoSkJmaURNekp6bzZHdnYzNzdlK2Z2TGtDVkpTVW16MmlZMk54ZE9u
1540 VDdGMjdWb0F3TURBCkFBSUNBcVoxUEU1WHAvVDM5d01BR2hvYThQanhZMFJGUlNFMk5oYmw1ZVVZ
1541 R3h0RGVYazU0dUxpdUl4RUNDRXphdDY4ZVFDK3JsRHAKN3U3R3paczNFUnNiYTdOUGJHd3NhbXBx
1542 TURnNGlLcXFLc2psOG1rZmo5TXpjWjFPaC83K2ZuaDVlYUc4dkJ3aWtRaDVlWG5Jek14RQpjSEF3
1543 b3FLaVVGUlV4R1VrUWdpWmNjWEZ4Y2pOemNYSGp4K3hlL2R1TEZpd0FHVmxaUUNBM054Y3hNVEVZ
1544 TVdLRlZBcWxaQklKS2lzCnJKeit3UmlQakVZakN3a0pZVUZCUWV6NDhlTVR2bSt4V0ZoY1hCd1Rp
1545 OFhzNk5HakR0VzZpak9aWlRJWkN3c0xZd3FGZ2tWSFIzTVYKZWNyTWxaV1ZMRHc4bklXSGh6TzlY
1546 cytlUDM5dWQ2M1E4Z3ExeDVjdVhXTGg0ZUVzSWlLQ3BhYW1NcFBKWkhldEVEUHowV2Q3KzJReQpt
1547 ZGlzV2JQWXhZc1hIYTUxUjd3T2NZVkN3WXhHSSt2dTdtYkJ3Y0ZzWUdEQTV2djkvZjNzN3QyNzdP
1548 REJneE1HNGxTMVFzenM1K2ZICkJnY0hPY2s1M2xTWlcxcGEySnMzYnhoampGVlVWTERNekV5N2E0
1549 V1dWNmc5ZnZmdW5mWHJwcVltdG5MbFNydHJoWmlaano3YjA2ZFAKbno2eHBLUWtwbEtwYklZNFh6
1550 M21BbTkvZG0vUFdrcXBWQXFsVW9uWnMyYzdYQ3Uwek44d2ppL1MycE41MmJKbDFzL3hWQ29WakVh
1551 agozYlZDeXZ1TkVIdnM2ZWxwczcrSGg0ZmR0VUxML0EyWGZiYTNUeWRPbklCT3A0TlVLblc0MWwz
1552 eE5zUi90SmJTMWJYT2NQYTRJcEVJCnljbkoyTEJoQStycTZsd1JjUUpITTU4K2ZkcTZnb2lQUGp1
1553 VEZ4QjJqMnRyYStIbjU0ZnM3R3ljT1hQR29Wb2haRDU5K3JSMU85ZDkKdGlmdnExZXZjUG55WmVU
1554 bDVWa3oybHZyenVoT3doeHFibTZHcjY4dkxCWUwxR28xWW1KaXNIRGhRcjVqV1RVME5LQ3lzaEl0
1555 TFMxOApSN0hMWkhtRjNHT3RWZ3V0Vm92cTZtcHMyTEFCRHg0ODREdlNsTVpuMW1xMTFzeEM3UFBl
1556 dlh0UldGZ0lrVWcwNlRyc1h4VnZaK0xSCjBkRTJOMzE1OHVTSjNjc0xuYWwxaHJQSDlmWDFCUURJ
1557 NVhKb05CcGN1WEpseGpOK3o5N01qeDQ5d280ZE8xQlhWd2R2YjIrSGFvV1MKRnhCMmo3L1p1SEVq
1558 ZW50N01UWTJCcVZTNlJiL2xzZG5Ccmp2c3oxNTc5MjdoL1QwZFBqNys2T21wZ2I1K2Ztb3E2dmpi
1559 VjV3aHM4UAo1TDlkYk9qcTZ2cnB4WVpEaHc3OThNTG1WTFV6YmJxWjM3OS96MFpHUmhoalh5OSto
1560 b2FHc3Bjdlh3b2ljMDlQRHdzS0NtSnRiVzBPCjF3b3ByNUI3L09MRkMvYmx5eGZHR0dQMTlmVnMz
1561 YnAxZHRjS0xUTmZmWGFrVDF1M2JtVTFOVFhUcW5VM3ZBN3hwcVltRmhJU3dnSUQKQTFsSlNRbGpq
1562 TEhTMGxKV1dscktHR09zcjYrUExWcTBpTTJkTzVkNWUzdXp4WXNYczdkdjMvNndWc2laT3pvNldF
1563 UkVCSXVJaUdESgp5Y25zM0xsemdzbWNrNVBESkJJSlV5Z1VFNWFNOGRIbjZlWVZjbytMaW9yWWtp
1564 VkxtRUtoWUZsWldjeHNOdiswVnNpWitlcnpWSG5ICiszNkk4OVZqTG9nWSswMCtPQ0tFa0Y4UVBk
1565 bUhFRUxjR0ExeFFnaHhZelRFQ1NIRWpkRVFKNFFRTjBaRG5MaGNjbkl5YnR5NFliT3QKdUxnWStm
1566 bjVrKzd2NStlSDE2OWYvL1E5RHg4K2JQTTZQajRlQU5EZDNZMndzREFBUUh0N08vYnMyUU1BTUJx
1567 TmFHMXRuVlorUW9TTQpoamh4T2IxZUQ0UEJZTE90dXJvYUdSa1prKzV2enhOT2podzVZdk82dWJs
1568 NXdqNUtwUklsSlNVQWdNYkdScmY1UzFSQ0hFRkRuTGhjCldsb2E2dXZyOGVuVEp3QmZ6NVo3ZTN2
1569 eDRjTUhwS2FtSWo0K0htZlBucDIwVnF2Vll1blNwVWhPVGtadGJTMEE0TUNCQXhnYkcwTmsKWktU
1570 MU9ZV1RQU0tycWFrSmFyVWFQVDA5S0Nzcnc3Rmp4eEFWRllYYnQyOGpJQ0RBbW1ka1pBUUJBUUg0
1571 L1BtekszNThRbHlLN3AxQwpYRTRpa1NBbUpnYlhybDJEUnFPQndXQ0FUcWZEOXUzYmNmMzZkY3lm
1572 UHg4cEtTbUlqNCtmOElTVDh2SnkrUGo0WUdSa0JJbUppZEJxCnRTZ3NMTVRKa3lkdDdqM3lzN04z
1573 bVV5R0hUdDJ3TXZMQy92MjdRTUFKQ1ltb3I2K0h1dlhyNGZCWUVCYVdocG16YUpIdXhQM1EyZmkK
1574 aEJQalAxS3BycTVHV2xvYTVISTVnb0tDNE9QakE1MU9OK25kOEF3R0ExYXRXb1g0K0hoMGRuYkNi
1575 RFpQNi9qc3V4c2liZHUyRGVmUApud2NBVkZSVUlDc3JhMXJ2U3dqZmFJZ1RUbWcwR3R5NmRRc1BI
1576 anpBNk9qb2hETm54dGlFYloyZG5UaDE2aFF1WExnQXM5a01mMzkvCkRBME5UZXY0MzcvMzh1WEww
1577 ZDNkamFhbUpueisvQm1ob2FIVGVsOUMrRVpEbkhCaXpwdzVTRXBLUWxaV0ZqSXlNaEFYRjRkbno1
1578 NmgKbzZNRFEwTkRxSzJ0aFVhanNhbnA3ZTJGVkNxRlJDSkJjM016SGo1OGFQMmVWQ3JGNk9pbzNj
1579 ZVh5V1FZR0JpdzJiWmx5eFpzMnJRSgoyZG5aenYxd2hQQ0loampoakY2dmg5bHNobDZ2aDBna1Fs
1580 bFpHUW9LQ3FCU3FaQ1RrMk85Y2YrM3MrWVZLMVpBSnBOQkxwZWp1TGdZCnExZXZ0cjVYUVVFQlZx
1581 NWNhYjJ3T2Y1TWU3S3YxNnhaZy9iMmRrUkdSbHBYc21Sa1pHQm9hQWg2dmQ2MVB6Z2hMa1Ezd0NL
1582 L3JhcXEKS2pRMk5scWZza09JTzZMVktlUzNWRkJRZ09ibVpseTllcFh2S0lRNGhjN0VDU0hFamRG
1583 bjRvUVE0c1pvaUJOQ2lCdWpJVTRJSVc2TQpoamdoaExneEd1S0VFT0xHYUlnVFFvZ2IrejlSck1B
1584 ZGgrc2ZSUUFBQUFCSlJVNUVya0pnZ2c9PQo=
1585 </png>
1586 </output>
1587 </outputs>
1588 </codecell>
1589 <markdowncell>
1590 <source>Plot the value of the Asian put in (volatility, strike) space.</source>
1591 </markdowncell>
1592 <codecell>
1593 <input>plt.contourf(sigma_mesh, strike_mesh, prices['aput'])
1594 plt.axis('tight')
1595 plt.colorbar()
1596 plt.title("Asian Put")
1597 plt.xlabel("Volatility")
1598 plt.ylabel("Strike Price")
1599 </input>
1600 <language>python</language>
1601 <prompt_number>15</prompt_number>
1602 <collapsed>0</collapsed>
1603 <outputs>
1604 <output>
1605 <output_type>pyout</output_type>
1606 <text>&amp;lt;matplotlib.text.Text at 0x3487c50&amp;gt;</text>
1607 <prompt_number>15</prompt_number>
1608 </output>
1609 <output>
1610 <output_type>display_data</output_type>
1611 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVdjQUFBRVhDQVlBQUFCeG1vVk1BQUFBQkhOQ1NWUUlD
1612 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYbGNW
1613 T1grQi9EUGM0WnQyRUZsY2NNdEJVbFpGRUVSWERKenlWMHJ1OVV0CnJYdlZydG05ZGUvdjNtdjlz
1614 bFV0TFpmSzFGSXpzODF5U2MzU2tsVTJSWEZEY01NRlVGQVVCbVpnbURuUDd3OS9raWJMekRBenp6
1615 bG4KbnZmcnhlc2xNM1BPZkRqQ2w4T3pFa29wQmNkeEhDY3BBdXNBSE1keDNMMTRjZVk0anBNZ1hw
1616 dzVqdU1raUJkbmp1TTRDZUxGbWVNNApUb0o0Y2VZNGpwTWdYcHc1U1VoTlRVVm9hQ2pyR0J3bkdi
1617 dzRjell4ZE9oUStQdjdRNi9YbS9UNmhJUUVuRHAxeWlaWnVuVHBBbmQzCmQzaDVlU0VtSmdhdnZ2
1618 cXFTYmsyYk5pQWhJUUVtMlRpdUpidzRzeFpYVkZSRWJLenN4RVFFSUFkTzNhd2pnTkNDSGJ1M0Ft
1619 TlJvTlAKUC8wVW4zLytPWDc0NFFmV3NUaXVXYnc0YzFhM2NlTkdqQmd4QWs4KytTUSsvL3p6dTU1
1620 TFMwdkQ2TkdqNGUvdmo0NGRPMkxwMHFVQQpnS1NrSkhUcTFLbmhkWXNXTFVLUEhqM1FwazBiL09s
1621 UGYwSnFhbXJEY3hzMmJNRGd3WVB4eGh0dm9FT0hEaGcxYWhReU1qSk15aFlSCkVZSFJvMGRqMTY1
1622 ZHVIRGhBZ1JCZ0NpS0RjOFBIVG9VbjMzMkdVNmRPb1ZaczJZaEl5TURYbDVlOFBmM2I4MGw0VGl6
1623 OGVMTVdkM0cKalJ2eDZLT1A0cEZISHNIUFAvK01zckt5aHVmKy92ZS80NjkvL1N1dVhidUdFeWRP
1624 WVBqdzRZMmVvMGVQSGtoTFM4UGx5NWZSdjM5LwpQUDc0NDNjOW41T1RBd0E0ZnZ3NDR1TGk4Szkv
1625 L2F2WlRMZFhLVGg4K0RCKyt1a25USm8wQ1kydFhFQUlBU0VFb2FHaFdMMTZOUVlPCkhBaU5Sb09L
1626 aWdxenJnSEh0Ull2enB4VnBhV2xvYmk0R09QSGo4ZDk5OTJIM3IxN1kvUG16UTNQaTZLSXMyZlBv
1627 cXFxQ2o0K1BvaUsKaW1yMFBGT25Ua1ZRVUJEVWFqVmVmUEZGRUVKdzZOQ2hodWM5UER6d3lpdXZ3
1628 TS9QRDMvOTYxK1JsWldGbXBxYVJzOUZLY1hFaVJQaAo3KytQZWZQbVljNmNPWmc0Y1dLTFh3dGZk
1629 b1pqaVJkbnpxbysvL3h6akJ3NUVsNWVYZ0NBYWRPbTNkVzBzWEhqUnVUbDVhRmJ0MjZZCk5tMGE4
1630 dkx5R2ozUGpoMDdNSG55WkxSdjN4NysvdjRvTFMzRjBhTkhHNTRQRHcrSElOejY5ZzBPRG9iQllN
1631 RFZxMWNiUFJjaEJOdTMKYjBkRlJRVlNVbEx3NzMvL3UrRllqcE1xL2gzS1dZMU9wOE8zMzM2TDMz
1632 NzdEY0hCd1FnT0RzYlNwVXVSbDVmWFVGakR3OE94Y2VORwpsSmFXb2srZlBuajIyV2Z2T1U5TlRR
1633 MmVlKzQ1L1BuUGY4YXBVNmRRVVZHQkRoMDZXUDFPdGwyN2RuQjJkc2FWSzFjQUFBYURBY2VPCkhX
1634 dDRYcVZTOGJ0bmpobGVuRG1yMmJadEc1eWNuSkNmbjQrOHZEems1ZVVoUHo4ZkNRa0oyTGh4SSty
1635 cjYvSGxsMStpc3JJU0FCcUcKdC8yUlJxTkJkWFUxZ29PRElZb2lGaTVjaUpLU0Vxdm45ZkR3UUZ4
1636 Y0hOYXNXWU9LaWdvc1hMZ1FHbzJtNGZsKy9mcmg5T25UcUs2dQp0dnA3YzF4TGVISG1yR2JqeG8y
1637 WU1XTUdPbmJzaUlDQUFBUUVCQ0F3TUJCLys5dmZHdHFkTjIzYWhLNWR1Nkp6NTg3SXlzckNzbVhM
1638 CkdvNG5oQUFBZ29LQ3NIRGhRano1NUpPSWlJaUFYcS9INE1HRDczcmQ3ZGYrOFZoekxWcTBDQmta
1639 R2VqVHB3OUVVVVI4Zkh6RGM3MTcKOThiRWlSTVJIaDZPZ0lBQWk4N1BjWllpZkxGOWp1TTQ2Ykg2
1640 bmZPTUdUTVFHQmlJUG4zNk5EejIzWGZmSVR3OEhDcVZDcm01dVhlOQpmc1dLRlEyOSttbHBhZGFP
1641 dzNFY1oxZU4xY0RibGk1ZENrRVFUQnFhYWZYaS9Nd3p6MkRQbmoxM1BkYW5UeDlzM2JvVmlZbUpk
1642 ejFlClZsYUdqei8rR0wvKytpdFdyVnFGRjE1NHdkcHhPSTdqN0txeEdnZ0FseTVkd3Q2OWV4RVNF
1643 bUxTZWF4ZW5CTVNFdURuNTNmWFk2R2gKb2VqWnMrYzlyODNLeXNLb1VhUFF1WE5uREJreUJKVFN1
1644 enBrT0k3ajVLYXhHZ2dBLy9qSFAvRHV1KythZkI2bUhZTFoyZGtJQ3d0cgorTHhYcjE3SXpzNW1t
1645 SWpqT003NnRtL2ZqbzRkTzZKdjM3NG1IK05rd3p3dGFtcjZyQ21QY1J6SE5hVzE0eHg4Q0VHVmlh
1646 LzE5UFJzCjlpOStyVmFMZDk1NUIzdjM3alVySDlQaUhCc2JpMzM3OWpWOGZ1clVLY1RFeERUKzR1
1647 a3RmekYrZ1NJNi9GZUxRcFhZNG10dHpiaDQKSVZULzh4L1dNZTRTS09qd2dzOVhxQ0xsalQ2ZnZD
1648 QVZReGJJWjRuTTV2SjJweUltaVdzQVNHdU04c0kzalBqUC82cGFkeEtSd25OagpKSVQ4SE91RWFz
1649 R0NBOENDUWVZZmQ3VjhDSzV1VExaK29CWkVXT0VjVlFBYW43dmF5UHUxTUE3KzdObXpLQ29xUWtU
1650 RXJXU1hMMTlHCnYzNzlHbFp1YklyZG16WHUvSTB4WU1BQS9Qenp6N2g0OFNLU2twSWdDRUtqa3hK
1651 TWRlT3FnQXNMUE5DN3ZwWGYvQXAxVlZSalErVTAKZUZCdjFsRnM3aXdSY0ZENE0rc1l0aUVRVkQ5
1652 NkZyUk5aOVpKbXRXdTdRRzRkSkYyUm52bzA2Y1BybDY5aXZQbnorUDgrZlBvMkxFagpjbk56V3h3
1653 N2IvWGlQSDM2ZEF3YU5BZ0ZCUVhvMUtrVDFxMWJoMjNidHFGVHAwN0l6TXpFMkxGak1YcjBhQUJB
1654 WUdBZ1pzK2VqZUhECmgyUE9uRGxZdm54NXE5OWZjNE9nNEgvZEVWSExDM1JqVG90ZStGSHpDRnlw
1655 Rytzb05wZEUxQ2dsMDFuSHNBMTFOWFJQdW9NNnExa24KYVpKQTZ0RitYRHZXTWV6dWRnMHNMQ3hF
1656 cDA2ZHNINzkrcnVlTjdXWlZoYVRVQWdoSmpWcjNNbkZqYUxmR3pvY2NqZllLRlh6eExSVQpDSU9s
1657 MjBRdzByVUVNZTVmd1VCK3Z6NUZTUmZRWmFocHczeWt3SlM4QXFXWUkyYkREYW5OdnM1ZVVwTkZK
1658 QXl4M2oyUjYrRVl1SDZkCmJyWHpOU2JwRWpDMFU4dXZhOHI1Z3pIUUpOdW5DUWE0MWF6UjJySkdD
1659 REc5V2NNSzc5ZG9CcVVXWndCd2NxR0lXNkJEdGplYkFpMTEKajdxZFExZjFGbEFpK1crQlZ2R2lG
1660 SDhSZndEQmVkWlJiTUo5eDBBNHBkdS9iZGRVZGJRakNqOHNBelZ4eTdMV1VrcHhWdlRhR2dZOQpR
1661 Zm9yYWd5c2NHWWRSWksrcWUyR1N2MFkxakZzVGtNSXRnc1RBWGl5am1JVDJqSFpvSjNEV2Nkb2tp
1662 dTVqSFpUQjdLT0lUdUtMczRBClFFV0M1TmZjRUgvRmhYVVVTVnBWY3orSWZnanJHRFozaHFod1NL
1663 a2RoRTVHNkNaU1VBa1BPUTBJeW9Senh3NnNZOGlLNG9zekFJQVMKN0gvTEZZTXY4Z0xkbUVYVnNY
1664 QTM5R2NkdytiMkV6V3VrTWRZeDdBSlE0Y3pFQWNNYnZtRmpBaWtEdTBuZG1RZFExWWNvemdEQUFo
1665 KwplOWNOZzArN3NnNGlRUVN2VncyRGp4alc4a3RsYmpQcGdGcEl0NGkxaG01a0FhaWJkSWRKZXJ0
1666 a3dYTlE0OXVTY2ZkeW9PSjh5Mi9MClhUSHdtUEtIa1psTGhJQTNiNDZCcnlpZjBScVdFQW5CRjBJ
1667 c0tMcXdqbUoxb3VkTkdCNlVidkVqQkdnZmR3TndZanIzVFRZY3JqZ0QKUVBKcUY4Um11em5tRjk4
1668 TUhaeXd0R29pZkdnZzZ5ZzJWVWtJZGdpVEFYaXdqbUoxdW9GWm9BSGRXTWRva2hzcFF0dkpGa3cz
1669 ZEVBTwpXNTlTTjdvZ09rWE5kdjY2QkYwVDNiQzJjaW84cUEvcktEWjFtZ2pJVldJSG9VcEUzY050
1670 V0tkb1ZtQ25RM0FLNUR2THRNUmhpek1BCkhQaldHZmYvb2dadmhiN2JlZEVUV3pXUHdvMUtkL2Fa
1671 TmZ4RzNIRlZnUjJFK2w1NUVNTUdzSTdSSkJWcUVEeTVCK3NZa3VmUXhSa0EKc25jNG84ZDJkd1gr
1672 Z2RzNmh3MStTS3Q1QkU1VTJXUEV2eVFkVUlmNGxsOG9NN3F4MTBCVjB2Mi84MVVmZ0h2L2UzY0s0
1673 WDduOE1VWgpBQTd2ZFVLSGI5d2gzWDV1Tm43VkI2RlFOd21FS3ZmYlJDUUVHNFU0VUNpckk5VFk3
1674 aktNZzZYYnRrc0kwQ0doRmhDVSs3M1ZXdnpLCi9ML2pxVTVvODdrSC9DSGRnZndzZkZmYkZSVjFZ
1675 MW5Ic0tsS1F2Q2pBanNJdGNPUGducTJaUjJqU1dyaE5OcE1WT2F3Um12Z3hma08KQlRrcXVLOXhS
1676 d0F2MEhkWm8rME5VVCtNZFF5YktpUXE1WFVRdXRXZ2ZuUnYxaW1hRmRqMUNGUnRwTjJCeVFvdnpu
1677 OXc3cWdLWktVSApPbEJlb08vMFhuVU0xQWJwZGpKWnc2ME93a2RaeDdDcTJ1Z00wSTdTblZ6a2hD
1678 b0VUNUZ1UHBaNGNXN0VwUUlCMmlVZTZDTHl5L003CmdnVlZRK0Z0bE80Q085YndKZW1JT2tpM3Jk
1679 WnNBa0h0T0drdlcrRG5tUVoxaExUdjhGbmcxYWNKVnk4SXVQYU9PM29ZK1NYNkhjR2IKbGFQZ0sz
1680 WmxIY1JtYm5VUURsUlVCMkY5bDN3WW82VDdDNGNRb01Nd1pTOWJhd2xlZVpwUmNVVkE4WnNlQ09Q
1681 YlhqV29oUk9XVkU2QQpEdzFpSGNWbWJuVVFUZ0hnempxSzFlaEdYd1IxbHU3WDQ2N0toOTg0NVEx
1682 cGJBMWVuRnRRZVkzZzlHdnU2RnZIQy9SdDE2a3IxbFJPCmhTZjFaUjNGWmdxSmdNUGthZFl4ckVi
1683 MEtZTmh1TFQ3RElKNzVrUHc0UU5hYitQRjJRVGFLb0tqcjdvaldzY25lOTlXSkhwZ2krWlIKdUZI
1684 cDNvMjExcStDTzhySUk2eGpXSTB1NFNDb24zU1g3WFJDQllLbVJyS09JUm04T0p0SXJ5VTRPRitO
1685 R0EwdjBMZmxHWHlSWERNTgp6bFRhSFU2dHNZbDBRaDBVc291SHN4NzZzZExlRGJ1TlR5cmN3dTVq
1686 SFVNU2VIRTJnMEZQa1BHS0duRTNwRHN0MXQ2UzlFRTRxWjBNClFhR3pDRzkxRUE0Q2hiU0xtcW5x
1687 N3MrQjJGMjZkNmVFVUxSL2lDL3BDL0RpYkRiUlNKRHl2MjRZVk1ZTDlHMC8xSVdnck81aDFqRnMK
1688 cHBJUTdCS21BRkRBUWxDRW9IWmNMU2lSN28rK3Arb1lmRWRKZDNTSnZVajNmMGpLS0VIU0cyNkl2
1689 NnpjUCtmTjlaazJEQWI5Q05ZeApiT1lVVWVHSVFqb0lEY0huSU1aSmU5cDBjUGhwQ0o3SzNKRFhW
1690 THc0VzR4Zy95SlhERDdERnh5OWJXbDFOTnpxNDFqSHNKbDlnZ2ZLCnlEVFdNYXhDOStBcFVMVjAx
1691 K3gyUmprQ3BrYXpqbUdSR1RObUlEQXdFSDM2L0w3cTNqLy8rVStFaFlVaE9qb2FMNzc0SW5RNlhZ
1692 dm4KNGNXNVZRaCtXK2FLUWNkNWdiNkY0SFZOSXJ5TnlsMEtjaFBwREQzay93dEk5TGlKK3BIUzNk
1693 SUtBTnI2cDhPMWgvd21QRDN6ekRQWQpzMmZQWFkrTkhEa1NKMDZjd01HREIxRlRVNFBObXplM2VC
1694 NWVuSzBnNlJOWHhCMTA0OHNsQVFBSVhxOThDTDVpZDlaQmJPSldCMkU4CktEcXhqdEpxdGJHWm9J
1695 SFMvWDhTaUJIdHg4aHZMSDFDUWdMOC9QenVldXpCQngrRUlBZ1FCQUVQUGZRUWtwT1RXendQTDg1
1696 V2tyTEIKQmYzUzFPQlRWUUE5VkZoOGN4eDhhSHZXVVd6aUppSFlKVXlGN0RzSVZTSnF4L20xL0Rx
1697 R3ZKd1B3L3VCV05ZeDdwSURZTlVkSCtaYQp1M1l0eG8wYjErTHIrS0JkS3pyd3RUTmlhNEVUSTNU
1698 UXN3N0QyRTI0NHVQS0taamw4eVUwcElKMUhLczdSVlRvUko1R0JMWGt4MU02CjZ1ODdDdGZ3V0Fn
1699 bnNsaEhhVkw3aUV2UXBMdUIxdGJhOVgzN3Z0VEU0d0JtM3ZINUowdE5QK2NiYjd3Qkx5OHZUSnZX
1700 Y3Q4RnYzTzIKc3F4dHp1aTUwMTFCcXpKWTdyTG9qcTgxMDZDbXlsckUvcmE5Z2dmS3lWVFdNVnBO
1701 TzZZY1ZDWGRrVWN1cEFRQlU2VjE5MnlKRFJzMgo0T2VmZjhhbVRadE1lajB2emphUXU4Y0puYjV6
1702 aHhmcklCSnczT0NMWDZzZlVld3N3aTlJQ1BTUWQrRVEyMTZHTVVIYTQ0cmJCV1RBCkpVUys3Zng3
1703 OXV6QmUrKzloeDA3ZHNETnpiUkpOcnc0MjhpeFpDZTArOElEdnJ5YkVLbjFBVGltblFLQktxOUZY
1704 aVFFWHdpRFFTSGQKTlN0TW9SMStCTlFyZ0hXTUpnbEVqK0R4OGxnSmNmcjA2UmcwYUJBS0NnclFx
1705 Vk1uckZ1M0RuUG56a1YxZFRWR2pCaUJxS2dvekpregpwOFh6RUVxcDVCZFNKWVFBMHlVZnMxSGRJ
1706 NHlvZlU2TGNzZ3p2elU5N1Y2QVFMZHRyR1BZUkJnMVlxeTRDb0I5MjBXdHllMVFMRnkrClRXVWRv
1707 MG1VQWtVNS9hRkpQZGpzNnlJQXRMYXNFVUpBbTJoenZ1ZTFTMXYvZm8zaGQ4NDJkalpQQmRWS0Q3
1708 VG4yMTVoZzdZWDZ1cEcKc281aEUvbEVoYU15bjBGWUc1VUoya202TzVJUUFyU1B1UXJpb3N3bXNq
1709 L2l4ZGtPTGhZSXFIdmZBeUY4Mnlzc3E0bUNTNzIwMnpjdAo5WXZnaVd0eTdpQVVDR3JIUzNzQWx5
1710 dTVoTFpURkxKS1lBdDR0YkNUMHZNQ2JpeHlSM2UrN1JYZTFBeUdsekdDZFF5YjJDanpEc0w2Cnpx
1711 ZGdqSmIyamlTQndWbHdiaC9NT29iTjhVcGhSOWRLQkpTKzVZNVFnNk5mZG9MWEt4K0VyNmk4ZFh0
1712 RlFyQko1aDJFdXRIblFWMmsKTy94UklMVUlucVNjUFI2YjR1aFZ3dTV1bGdzNCs1b0grdWlWTjNM
1713 QkhQVlE0WjJiRDhPWGRtQWR4ZW9xQ01GdVlSb0FlYTVMTEhwZgpnMkY0RE9zWXpmSnh6WVJIbkhU
1714 WHBiWUdYcHdacUtra09QNktPNkowamwyZ05YREJoNVZUNEVYYnNJNWlkZmxFaFdQa3o2eGpXRXcz
1715 Ck9BZTBqWFRIRlJNQ2RCaFlCYWlVK3pQRWl6TWpkVnFDM1BudWlLbVdkZ2VNclJXTGFteldUSU03
1716 VmQ3YXZUOExYcmhHcHJDT1lSbm4KZXVqSFNydHB4azA0aDdhVHBOMCszaHE4T0ROVXJ5ZkltSzlH
1717 M0UzSDNsWGxwTUVIZTZvZmdRdFYzdEtybTBnWDZDSHRYYStiVXRmNwpJTVFlMGw1V05MQnpMcHph
1718 dFdVZHd5WjRjV1pNTkJLa3ZPcUdRZVdPWGFBejZ0c2hWenNWS29YTklqUVFnaStGQkZESXNHMmRF
1719 TlNPCnF3RVZwUHQvb2lMVkNKclNpM1VNbStERldRb29RZExyYm9ndmRvekI5VTNaVmRjUkYyc25B
1720 QXFic0hPZEVPd1JwZ0dRMzE4R2hxQWkKeVc5cDVlZWVEdmZvKzFuSHNEcGVuQ1dEWVA5Q1Z3dytK
1721 NzhmWUd2YXBMc1BXdjFEckdOWTNRbmloT015blVGWTgrQUpVSGZwcnZ0TQpDTkJoaVA3V1B4U0VG
1722 MmRKSWZqdGZWY01PdW5ZQlhwbFRRU2M2aE5ZeDdDNlBZSVhycFBKckdPWXo3MEs5U1A3c2s3UkxM
1723 VlFDUDhKCjByN0ROeGN2emhLVTlMRXI0bklkZTl1cnR6VUQ0V21RZG1lVUpiNGdYVkVQYVk4aGJr
1724 enRnRXpRb0I2c1l6UXJxTnRScVB5bGU0ZHYKTGw2Y0pTcGxuUXY2SDNCejRHMnZDQlpVallDdjJK
1725 TjFFS3N5RUlKTlFpSW9aTGFGbDRxaWRweDBkK3NHQUNkU2lhQ3A0YXhqV0Ewdgp6aEtXdnRrRmZY
1726 OVZ3MUhIY1JnaDRPMmJEOE5YbE81a0NFdmM2aUI4RkhMcklLenZjUXhpSDJudlBPN3ZtY1k2Z3RW
1727 WXZUalBtREVECmdZR0I2Tk9uVDhOakdvMEdFeVpNUU9mT25URng0a1JVVjFjREFJcUtpcUJXcXhF
1728 VkZXWHlBdFNPSm11ck0wSjN1Y3Q5SzFHTFZjTVoKeTZzbXdadTJZeDNGcWs0UUZVN0lzSU5RTytZ
1729 S3FKTjBmNmtvcVUvUTZzWDVtV2Vld1o0OWUrNTZiTldxVmVqY3VUTk9uejZOamgwNwo0cE5QUG1s
1730 NHJrZVBIamg4K0RBT0h6Nk1qei8rMk5weEZPSFFUMDRJK2Q0ZHlwdERaNW9yb2hxZlYwMkZCL1Zt
1731 SGNXcWZoSzhVRUVtCnNZNWhGdEcvQk1aRXgxaXlreldyRitlRWhBVDQrZDNkS0orZG5ZMlpNMmZD
1732 MWRVVk0yYk1RRmFXZEhmNmxhcWorNTBRdU1rRHZxeUQKTUZKbzlNYk82a2ZnU3VXNW1GQlROcEp1
1733 cUVkLzFqSE1vaDE2R05RN2tIVU14YlBMd2c0NU9Ua0lEUTBGQUlTR2hpSTdPN3ZodWZQbgp6eU15
1734 TWhLeHNiR1lNMmNPSWlLYVdPZjMySUxmL3gwd0ZBZ2Nhck84VXBXZnFVSVlQS0Ivb2daYTFtRVl5
1735 SzV2QXovdE5QUjMveG9HClVzODZqbFhjbWtFNEJFK0xGd0dVc1k1akdsY2Q5QS9mRDlmTlYxa25B
1736 UUFrWGJyMW9UUjJLYzVON2EvVnZuMTdYTHAwQ1g1K2Z2anAKcDUvdzVKTlA0dWpSbzQyZnBNOEMy
1737 d1dVa2Z4TUZmcjd1K1BrR0MwTXJNTXc4SE5kZTNoaU1ucTZiNEZJakt6aldNVTFRcEFxUElZRQpj
1738 U1VnazcwbTYvcG13L2xRUHdnRmgxaEh3ZEJPdHo1dWV6MkRYUlpyc3N0b2paaVlHT1RuNXdNQTh2
1739 UHpFUk56YTV5bmk0dExReFBJCjZOR2o0ZVRraERObnp0Z2prcXdkM08yRTZBeGwvWGx2anUvcnV1
1740 QlM3UVFRQlUzenppSXV1RW9lWVIzRGRJUkFPL0VhcUxNNzZ5U0sKWlpmaUhCc2JpM1hyMWtHbjAy
1741 SGR1bldJaTdzMUhPZmF0V3N3R20vZC9lVG01a0tuMDZGSEQya1BkSmVLdEM5ZEVGOGczVjV6Vzl1
1742 awp1dzg2L1lPc1kxalZWNlFqREpEUDlsMmlmeWtNRDhsenhUMDVzSHB4bmo1OU9nWU5Hb1RDd2tK
1743 MDZ0UUo2OWV2eCt6WnMzSHg0a1gwCjZ0VUx4Y1hGbURWckZnQWdKU1VGRVJFUmlJeU14RHZ2dklQ
1744 VnExZGJPNDZpN1YvcGd2aFN4MTBzYVhsTkpIekVNTll4ck1aQUNINFEKSGdEZ3hUcUt5WFNETWtB
1745 N0t1Zi93QnJNR1U3Y0hFS2JhaENXRUVJSU1GM3lNZGtnRkFsdjY1RGw3WWd0MEVCYm9SYnpmRDVI
1746 TmJuSgpPb3JWakJTcjBaZCswdklMSmNLcHVBZlVIeGFBaU5Mb0F5QkxtKzduTXZrY2hJQytaTm43
1747 cGFhbXd0UFRFMDg5OVJTT0hUc0dBSGozCjNYZHg2ZElsTEZteUJDKzk5Qks2ZE9tQ2wxOSt1ZG56
1748 OGhtQ2NrY0pNaGVvRVZIcm1CTzlyNGx1MkY4ekFRSlZ6cmZ5TDRJbk5HUTAKNnhnbU0zUTRBMk9D
1749 c2hZZGFnMXJEU2RXem5lMEE2dlhFNXg4MHgwOWpZNzUzL21iUGdpMStnZFl4N0NxVGFRM0tMcXlq
1750 bUV5N1loYwpVSDlsVGJPM3B1YUdFemZGTVgrYUZhaW1rdURLWW5kMFZOQUlCbk44VUJNRlgxRTVP
1751 MkxVRUlJOXdrUkFMaXVydU5TaGJsSVE2eFJXCkpYcVFSajkrS3dkZU8vajdoeWtzYVdaeDdOMUZG
1752 ZVphaVFEM2o5M2gvN3dXRlRJWkwyczlCTXVxSHNMelBsZFFReXBaaDdHS0UwU0YKTVBJbmRLRWJX
1753 RWN4aWI1bkhweWo0NkhLVFdjZHhTcXEvN2Z4WDR6OS8vL2p0amVjOUMyZTYvWnc0cWlvcUx1R0V6
1754 ZUgzemtyek1WOApGZncydWNPRGRSQUdyb3BxcEdvbmdDaW8vWGtMYVlNNkRHSWR3MlM2c2FkQjNm
1755 MVp4NUNjcG9ZVE4wYzUzOFZjZy94TUZicnZkbmZJClA0djIxZ1hEVUQrVWRRenJJUVJmQ1FNQnlH
1756 TlZQdEh6SnVySDlXWWRneWx6aGhNM2h3K2xVN0RCZjlJamUyQXQ2eGdNVUN6MDNZcWIKd21uV1Fh
1757 eG1FSzNESUhFbDZ4aW1vUlNlNi9wQUtNeGw4dmJXR2twWGFUQnREb0dQazc3Vjc5Y1lmdWVzWUds
1758 ZnVpRCtsQ1BPSWlUNApzR28wM0tsOEpuTzA1QUJ4UlRtWnlqcUdhUWlCZG1JRnFMT2pya0p1SGJ3
1759 NEs5eitEeDF6Rm1HeHFFYW1WbG5yYjN4RlFtREUvYXhqCm1FUnNVd0xEZzdHc1k4Z2FMODZLUjdE
1760 L0hWZkVWanBlQy9SUGRSMUE2NGV3am1FMWVrS3dWUmdKeUtTN1Z6YzRBN1M5Y29ZMzJoc3YKem82
1761 QUVtUys3cGl6Q04rcmpvR3YySTExREtzcElnSk9rQ2RZeHpDTmlrSTN4UW1VOERKakNYN1ZIRVRE
1762 TEVLRFkvMlhpeER3Y2RWWQp1RlBsYlBMMUUvRkVOUm5KT29aSkRCMVB3emc0Z1hVTVdYS3NuMVFI
1763 VjFOSmNPVmR4NXRGZUVsMHgwSHRlRUFwWHpjaCtKTDBBVVZuCjFrbE1vbjN3Q0toZkI5WXhaSWNY
1764 WndkenJVU0E0V04zdElGQ0NwV0pmcXpyQk1HZ25EczREU0hZSzB5QkxDYjV1dXBRTjVFWFozUHgK
1765 NHV5QUx1YXI0T3VBc3dnWGEyTGhLM1poSGNOcWpoSVZMcExwckdPWVJCOTZCR0trZkdZNlNvRnNp
1766 bk4wc0dPdVYyd3JqamlMVUlTQQpOVlZqb2FiSytiVzBoUVJBRDNrTVdkT09Pd3VxZHRUOTQ4MG5t
1767 K0o4Zk5VcDlHdlBDN1ExT2VKZWhPZEZUK1JweHltbS9Wa2tCRjhMCmd3RzBZUjJsUmFMbkRkUS8z
1768 S2ZsRjNJQVpGU2M5VG9SUno4NmhmN3Q2MWxIVVJSSG5FVzR0UzRFVG9aNDFqR3Nwb3dRSENQVFdN
1769 Y3cKU1cyL1RJamRJMW5Ia0FYWkZHY0FxSzhWY2VUREFnemdCZHFxSEhFVzRTTE5RUGlLSWF4aldN
1770 M1B4QVAxZHkxa0tWR0VRRHRaQStyawpXRGNFbHBCVmNRWUFRNTJJUXl0T0laWVhhQ3R5dkZtRVJn
1771 ajRyR29zM0tnNzZ5aldRUWgrRWhJQVNIK2lrZGoyRWd3akJyS09JWG15Cks4NEFZS3lueUZtZWo3
1772 ajJMUzl5elpuSUFXY1JuaEc5Y0VMM01Pc1lWbE5JVkxoR0pyR09ZUkpkWWlabzBIMnNZMGlhTElz
1773 ekFJZ0cKSUd2WktRemtCZHBxSEhFVzRaYmFybkNwVjg0UXJ5MGtCRUFBNnhndFU0blFUWEVESmNy
1774 b21MVUZXZjhVVWlPUXVld1VCcmF2WXgxRgpNUnh4RnVFaXpTRDRpc3JZbkxTYUVPU1JLYXhqbU1U
1775 UXVRREdRWW1zWTBoV2k4VzVycTRPMzN6ekRaNS8vbmtBd09uVHA3Rno1MDZiCkJ6TVZOUUlaSHhS
1776 Z0VDL1FWdU5vc3dqcm9jSjZ6Y053cGNwWWYzZ3ZjVWM5V3Q2alRncTBEK1dCK3JabkhVT1NXaXpP
1777 cjczMkduSnoKYzVHVWxBUUFhTisrUGViUG4yL3JYT1lSZ1FNZkZDQSttQmRvYTNHMFdZU0ZSbThV
1778 S0tYOW1SRHNFZ1pERHAyRGNOV2libUpIMWlrawpxY1hpdkgvL2ZpeGV2Qmd1THJlR1dubDRlTmhr
1779 UzVaV0U0SDA5d3N3T05nUnQyV3lqZnhNRmJydGNweFpoTi9VZG9PYlFSNno3VnB5CmhxaFFMcFBP
1780 UVgzWUVZaDkrZWlOUDJxeE9QZnExUXVWbGI5dk5aK1ptWW1vcUNpYmhtcU50UGNMa1JDa1l4MURN
1781 UTc5NUZpekNCZFcKSmNDWEttT1JudTlKQ0lCQTFqRk1vaDFmQktyMllSMURVbG9zem5QbnpzWEVp
1782 Uk54K2ZKbERCczJERE5tek1BTEw3eGdqMndXUy8zZwpOQy9RVnVSSXN3ajFVT0VMelRpNFV2bi9R
1783 cnJWT1RpWmRReVRpRjdYVVQ4MmduVU1TVEY1OSsxRGh3NUJGRVhFeE5pL280RVFBaURQCjdPTVNY
1784 K3lCbEtzS21XVEFITVd3LzlZaDNVR0dMdjVKZlFZZDFkK3pqdEY2bE9JRk1SVXV5R2FkcEdXVXdt
1785 dE5iNUJ6NXYrczM4bGgKZHQvKzRZY2ZjUFBtVGZUcjF3OHhNVEc0ZWZNbXRtM2JadlVndHBDeTdB
1786 d1NBN1NzWXlnRXdmNkZqak9MOEV0ZEQ2Z05BMWpIYUQxQwpzRnVJaHl6V2ZTWUUyc25WZkdyMy8y
1787 dXhPTC8rK3V2dzlmMTltVDlmWDE4c1dMREFscG1zS21YNUdTUzJxMkVkUXhrb1FjYnJha1E2CnlD
1788 ekN4VlVKOEtIQnJHTzAyaG1pUXBsTU9nZU43UzdCOElEOE93ZlhybDJMUVlNR29WKy9mbmp4eFJj
1789 dE9rZUx4ZG5OelExYTdlOTMKbjFxdEZpcVZ2SDQ0VTFhY1JXTGJhdFl4Rk1HZ0p6amhJTE1JZFhE
1790 Q1Y1cnhjS0h5djVQN25uUUdSUkRyR0NiUkpXYUJCdlpnSGNOaQpGUlVWZU9lZGQ3QjM3MTdrNU9T
1791 Z3NMQVFQLy84czlubmFmRW5iTnEwYVpnOWV6WXlNek9Sa1pHQjJiTm40N0hISHJNb05Fc3BLODlo
1792 CmlEOHYwTlpRVTBsUStxNDdPam5BTE1KakJsOWNyQnZET2thcjFjaW9jeEJPUnRST2NaZnQxRzYx
1793 V2cxS0tTb3JLNkhUNmFEVmF1SG4KNTJmMmVWb3N6blBtek1Hd1ljUHcxbHR2NGEyMzNzTFFvVVB4
1794 dDcvOXphTFFyQ1YvZEE2SmZocldNUlRoZW9tQWVnZVpSZmk1dGlmYwpEZjFZeDJpMWZVUXRtMTFU
1795 NmtOT1FSd296ejBmMVdvMVZxMWFoUzVkdWlBb0tBang4ZkVZTU1EOC9ndVRSMnV3Wk9sb2phWWt6
1796 dTZLCmxKdGVWanVmSXd1TE0rTEtFelZRZXF1K08rcnhpdCtYcUNSWFdVZHBsZTVVeENSeEJRQVo3
1797 Q3BVNndHdjkxMUJLcStZZFppMVJtdWMKTlRRK2N6RXp1UTVaeWJkbkkxT3NlRU56MS91Vmw1Y2pK
1798 aVlHKy9idGc1K2ZINlpObTRhWFhub0pZOGVPTlN0RGsxMjQ4K2JOdy9MbAp5ekZ1M0xoR2crL1lz
1799 Y09zTjVLU2xGWG5rZmpYTGtpcDhtWWRSZmJ5TTFYbzUrZU8vTEZhT2Z5NFcwd0xaM3lybVlDSHZU
1800 YWduc2gzCk9PRlpJcUNNVEVZQS9aWjFsSmE1MVVBL29SZGNONXBYbksxbGcrcXB4cDhZRHZnTXYr
1801 UHpOOTY1NituczdHekV4Y1doUjQ5YjdlYlQKcGsxRFNrcUs5WXJ6VTAvZEN2Ynl5eS9mODF1SXlM
1802 UXQ2RTRwcTR1UStKY1FwR2o0cktUV092U1RFK0w5M0pBelNObFQ1NDhZL05DdgpiaFRhdXNuM3hn
1803 UUF0cEJPbUUyRFFWREtPa3FMNnNKejRkd25Ec0t4VE5aUlRKYVFrSUI1OCthaG9xSUNIaDRlK09t
1804 bm56QnYzanl6Cno5TmtjZTdYcng4TUJnUFdyRm1ETDcvOHNsVmhwU3BselFVa1BOc1pxVFY4UitE
1805 V1N0L3NnbUgrRk9taHlsNTg2ak50R041MHVvUnEKcDhPc28xaE1Td2lPQ0pNUUpYN01Pb3BKdE9N
1806 dnd1TzBOMGh0RmVzb0p2SDI5c1lycjd5Q1NaTW1RYXZWWXRTb1VSZzJiSmpaNTJtMgpROURKeVFs
1807 eGdaL1pBQUFnQUVsRVFWUkZSVVVvTHkrM09LalVwWDU2RVFucW02eGpLTUwrRDEwUVg2TDh2UWdY
1808 VncyRE41WEJndmJOCitCVnE2Q0dQOGNTaTl6WFVqNUh1ZWo2TmVmcnBwNUdjbkl5Y25CeTgrZWFi
1809 RUFUemg1NjJlRVI0ZURnU0VoTHc4c3N2WStuU3BWaTYKZENuZWYvOTlpd0pMVmVxNml4anNlb04x
1810 REFWd2pGbUUxWERHVnMwRU9GRm4xbEVzUndoMkNnTUJ5T05ycUkwNUFOcTFMK3NZZHRWaQpjVzdm
1811 dmowZWUrd3hlSGw1b2JxNkd0WFYxZEJvbERjY0xXM0RKY1M3VkxDT0lYOE9Nb3Z3b01FZjVYV2pX
1812 TWRvbFhORXdGVzVqSDBXCkNMU1R0YUFxNWY5bGRsdXp0emczYnR4QVhGd2NFaE1UNGU2dS9BV0Uw
1813 aisvalBnbmdRTkdQMUFIbUdCaEt3WTl3ZkUzM05IcmpSb1UKT0ltczQ5ak1HbTBZM25LK0FJM3FL
1814 T3NvRnZ1ZWRNUnMyaDRFSmF5anRNZ1ljQkdHNGZGdzNydWZkUlM3YVBMT2VlM2F0ZWpidHk4Kwor
1815 dWdqOU96WlV6YUxIYlZXK2hlWE1SQVZJRVR5dzc4bFRWdEZVS0w0V1lRRTcxVStBRy9hbG5VUWky
1816 a0p3V0ZoSXVzWUp0TU56UUlOCjZNWTZobDAwV1p3Ly8veHo1T1hsNGNjZmYwUktTZ28rKyt3emUr
1817 Wmk2c0RtWXNUUjZ4QjRnVzZWNnlVQzZqLzBVUFFzd2txNFlFZjEKQkRoUitiYXovd1kxNm1UU09R
1818 Z25BMm9uTzhiOGhDYUxjMDFORGZ6OS9RRUEzYnAxUTNGeHNkMUNTVUhHVnlVWVlMZ0dsY0FMZEd0
1819 YwpMQkFVdnhkaFZuMWIzTkEveERxRzVXVFdPVmpmOVNTTWNmS2MybTJPSm4vZG56dDM3cTdaZ1hk
1820 K0x2Y1pncWJLL0xZVXNWT0JnNjV0CllSU1ZlL2RuYS9tWkt2VHpkVWYrdzhxZFJmaHhUVGplZHJx
1821 QUt0VngxbEVzY3A0SXVFcW1JSkIrelRxS1NXcEdIWWZYeVVDUUtubFAKcDI5T2s4VjUrL2J0ZDMz
1822 KzBrc3ZOZnk3dVJtQ00yYk13SzVkdXhBUUVJQmp4NDRCQURRYURaNTQ0Z2tjUG53WTBkSFIyTFJw
1823 RXp3OQpQUUVBSzFhc3dNcVZLK0hzN0l3MWE5Wmc4T0RCcmZxQ3JDMXJTeWtHVEtiSWRXOEhnNUVY
1824 YUVzZDJ1T0VlSDhsenlJa1dGSTVBaS81CmxVQkQ1RG5xWnd2cGdEbTBBd2hrOEZleXVnYjZDYUZ3
1825 L1VLNXhkbnFDeCtscHFiQzA5TVRUejMxVkVOeGZ2ZmRkM0hwMGlVc1diSUUKTDczMEVycDA2WUtY
1826 WDM0WlpXVmxTRXhNeEMrLy9JTHo1OC9qNzMvL08zSnpjKzhOYWVXRmp5d1JNekVRUnp3RFVNOExk
1827 S3NNZTc0Two2V0hLblVVWTcxeUdJWjRiWVNSRzFsRXNNb3pxMEUvOGlIVU0wMUFLenkraUlaekl1
1828 dXRoYXkxODlDcjlyMG12ZlpPOHcyYWJLbk1sCkpDVGNzM1pwZG5ZMlpzNmNDVmRYVjh5WU1RTlpX
1829 YmN1WmxaV0ZrYU5Hb1hPblR0anlKQWhvSlJLZGd4MXpyYXJpS2k2Q2hjbjNnYmQKR3ZzL2NzVmdC
1830 YzhpVEs4UGdFYi9JT3NZRnRzUE45UWhublVNMHhBQzdZUmlVRmRscmpCcGwrMHNjbkp5RUJvYUNn
1831 QUlEUTFGZHZhdAp6U2F6c3JJUUZoYlc4THBldlhvMVBDZEZCM2VVNGY0YlYrREtDM1NyL0tid1dZ
1832 UXJhL3JDeDlpYmRRekxFSUlmaFZnQTh2Z0ZLdnFVCm9YNTBOT3NZTm1GeWNhNnR0Ynl0MEp4Yi9x
1833 YmJzMWZkOFpGamNaYld5dDFaamw2bEpmQjE1d1hhWXY4L2kxQzVCWnBnYWRWSWVOTjIKcklOWXBJ
1834 Z0lLQ0ZUV2NjdzJkN2FOQ3c0MFE0TERnQUxEckJPWXowdEZ1Y2pSNDVnN05peERYZTRSNDRjd1p3
1835 NWM4eDZrNWlZR09Ubgo1d01BOHZQekVSTVRBd0NJalkzRnlaTW5HMTUzNnRTcGh1ZnVOZnVPajZa
1836 ZVl4OUg5MTJIVjhZNWRHbWozTmx2dG1iUUU2VE9WMk53CmtUenUwTXgxbmJyaUs4MWt1RkY1enF6
1837 ZFFvSkIwWlYxREpNa0RGUGhYNnZiNGJWNEFRc0dzVTVqUFMwVzU3ZmZmaHVMRnk5dTJJRTcKTWpJ
1838 U3ljbkpacjFKYkd3czFxMWJCNTFPaDNYcjFpRXVMZzRBTUdEQUFQejg4OCs0ZVBFaWtwS1NJQWdD
1839 dkx6azBYNTA2V1FOS3I0NgpoYWhncFE0T3N3ZUMzNWE0SVRiYnJmbDFCR1RxdU1FWFdkckpFS2o4
1840 MWhuUkU0SlU0ZDZOTnFUSzBPRU14SUhTR3VuVldpMFc1NUtTCkV0eC8vLzBObjlmVjFUVzd6c2Iw
1841 NmRNeGFOQWdGQllXb2xPblRsaS9majFtejU2Tml4Y3ZvbGV2WGlndUxzYXNXYk1BQUlHQmdaZzkK
1842 ZXphR0R4K09PWFBtWVBueTVWYjRrdXluNnJvQmVTdE9JaUZJeHpxS3JLVnVkRUhvRG5mSTQ5ZXll
1843 ZmJVZGNCMW1XNFFtMDFjVUVYawprNzFtNUhGUVQvbE9wZitqRm9mU3ZmNzY2NGlNak1TQ0JRdXdm
1844 ZnQyckZ5NUVqNCtQbmpsbFZmc2xWRVNRK2xha2pDek05SjFQaEFWCnZaYUViWFdQTU1MNHJCWWxD
1845 cHcyLzZwWEt2VE84bXNROWFNVU04WDFBT1F4ZHRzdGR3QmNCNlE1eGxDNmVmUG00ZkRod3pBYWpS
1846 ZzkKZWpSOGZYMHhkKzVjcXdlUnU5VFBMaUt5NmdxODNKUlhXT3psYko0S05ZczgwTXRnbDBGRWR2
1847 V21aakI4eEZEV01jeDJneEFjSjlOWQp4ekJaYlZSV3l5K1NpUlovQ2pJeU1yQmd3UUljUFhvVUow
1848 NmN3UHo1OC9IVlYxL1pJNXZzNU80c1I3c2pSZWpreHd1MHBjcUxCWngrCnhRUDlhcFRXQ2sydytP
1849 Wm8rTkFnMWtITXRvZDRRbzlZMWpGTW80RDlUVzlyc1RpLytlYWIrUFhYWHhzK2YvZmRkeDFtK1ZC
1850 TG5EdXMKUWZVUEJlZ1RKTThaWWxKUVcwMlErUjgxNHE4b2F5UkhKVnl3dm5JeTNLa242eWptSVFR
1851 N2hIZ0FycXlUT0pRV2kvT09IVHN3Zi81OApwS2FtWXY3OCtjakt5bktJUlk5YTQ4WVZQZkkvemtk
1852 OHNIS25LZHNhRlFuMnYrV0dRY2RkRmJYZzZHblJDMGsxVTJTM3hHZ1JFWEJaClJzMGJTdEJpY1c3
1853 YnRpMTI3TmlCT1hQbW9LU2tCRnUyYklHTGk3THVhR3pCVUNjaS9mMENKSHBYOFlYN1d5SHBFMWRF
1854 N2xORHpUcUkKRmUzWEIrRnluWHlHcWQyMmhRUkN4SDJzWXppTUpvdXpwNmNudkx5ODRPWGxoZTdk
1855 dTZPd3NCRGZmZmNkdkwyOTRlM3RHSXRkVzBQSwo2aUwwMTVYRDNZVVhhRXRsYlhORyswMGVhS2Vn
1856 ZStqUHRUMUI5SW1zWTVqRlFBajJDL0laV2lkM1RSYm4yeHU1M3Y2b3E2dHJlS3lxCnFzcWVHV1V2
1857 WitzVmRNaS9pR0FmWHFBdGxaK3BBcFo1b0p1b25KRWNpNnJqNEcyOHYrVVhTc2hoNG95YlpEenJH
1858 QTZoeWUvMFU2ZE8KQVFCeWMzTWIvZURNY3pxN0V2VzdUcU4zSU84b3RGVHhHUUhGcjNrZ1FqRTdl
1859 eE84WFRrU3ZtSkgxa0hNOGgyNUQ0QTgxdzJ4bDVxYQpHdno1ejM5R3o1NDkwYnQzYjJSbVpwcDlq
1860 aVlub1R6MzNITll1M1l0aGc0ZDJ1aGlSUHYzMjI4SFhEbE1RakdWaTFwQXZ6azlrYUhnClpUTnR6
1861 Y21GSXY2VldtVDQxN09PWWhVaFFnMW0rbnlCR2xMSk9vckpIaFJyRUVGWHNZN1JLQjhuUGZOSktD
1862 Ky8vRExVYWpYbXo1OFAKSnljbjFOVFV3TWZIeDd3TXpjMFFGRVVSR1JrWmlJOW51NzZya29yemJV
1863 T2U3NGJrQ3BrTnFaSVVpbUgvcVVONkJ6M3JJRll4MExrYwpEM2h1UWoyUnlkZERLZWFLbVhCRk91
1864 c2s5NUJDY1k2TWpFUkdSZ2JVYXN1N3NwdHR3Qk1FQWM4Ly83ekZKK2VhbHZ6Uk9jU0o1WEJ6CjV1
1865 M1FsaUhZdjhoVk1aTlZNdXJiNGJSdUFpQ1g2ZitFWUpzUUJ5aHFISTExWEw1OEdiVzF0Wmc5ZXpa
1866 aVkyT3hlUEZpaTVaY2JyRjMKWmR5NGNWaXhZZ1h2QkxTQnpHOUswZlhjSmJUejRnWGFJcFRnNkR0
1867 cWREY3FvNVB3bTlwdU1OUVBaeDNEWkpjSXdRVUZqMzArcisvZQo2RWZtM25wc2YvVTR0cjk2SE50
1868 ZXZYZEQzOXJhV2hRV0ZtTEtsQ2xJU2tyQ2lSTW44TzIzMzVyOS9pMHVmT1RwNlFtdFZndEJFQnB1
1869 CjBRa2hkaTNXU216V3VGTmdOelY4SHU2T3duSmxGQmw3NjlSTFJOM2NHdHlFRW43SlVienA4d3Vx
1870 VlVkWUJ6R0pFNldZSys2R0N2bXMKb3pTd1ZyT0d5M1hUK2dEMGJYenVlYit3c0xDR05leC8rdWtu
1871 Yk55NDBleGxMMXFzQnRYVjFSQkZFUWFEb1dGWUhiK0x0cTZyNTNTNAp0RDRmQTlvcm80UEwzaTRW
1872 Q09pd1hRMWxqT0VnZUxOeUJIekZFTlpCVEdJZ0JMOEtEd0VLR29OdURmZmRkeCt5c3JJZ2lpSjI3
1873 ZHFGCkVTTkdtSDJPRm92ekF3ODhZTkpqWE92b05FWmtMODFIWXJzYTFsRms2ZkJlSjhUbXViR09Z
1874 UlY2cUxDaWFnSThxVi9MTDVhQW84UUoKRldRQzZ4aVNzbVRKRXN5Yk53L1IwZEZ3YzNQRFk0ODla
1875 dlk1bXV4TjBlbDAwR3ExS0M4dlIwWEY3MnU1bHBXVlNYYUhiQ1ZJV1hFVwpnNTdvZ0J6NG85N0k3
1876 MGJNa2JUV0dVTmZNK0pBTy9uL0JWSXFxckZWTXhVUGUzMkJPbUw1L3AzMjhoM3Bqci9TUUFCWFdV
1877 ZVJoSjQ5CmUxbzB0dmxPVGQ0NXIxNjlHdjM3OTBkQlFRSDY5ZXZYOERGcjFpeTgrT0tMclhwVHJu
1878 a0hOaFdqVjBreC9EMlUwSVpxVHdScEM5M1EKdDA0WkRSeTVCbjhjMDA0RW9kTHZpOUFRZ2tQQ0ZO
1879 WXhGS1hGRHNFVksxYmdoUmRlc0ZlZVJpbTlRN0FwSFhxNXcyMWtONXk5SnYwZgpUaW54Q3hUaCsw
1880 b05paFd5NE5SY2p6eTR1KzVoSGFObGxPSjU4U0RVTUcrUFVXdVRRb2VnTlRUNVU1K1RrNFBTMHRL
1881 R3dyeDc5MjQ4CitlU1RXTFZxRmJSYXJkV0RjUGNxTHREaTZxWlQ2TmVlYnlKcmpodFhCVGl0ZDRj
1882 SDZ5QldzckltQW1vRDJ4M25UVUlJZmhENkE0cTUKOG13MVdaei84cGUvTkN3TmV1Yk1HVHp6ekRO
1883 NDRJRUhrSmVYaC8vKzE3U1pNMXpyVmQ4d0lIZlpTU1FHOGwrSTVqaWRxMExQWDVVegpRZUxOcXFI
1884 d0ZidXpqdEdpVWtKd2pqekNPb1lpTkZtY2pVWWoyclJwQStCVzA4YlRUeitOcDU5K0doOSsrQ0V5
1885 TWpMc0ZwQURxQkZJCldYWUdnMTF2UUNVbzQwOTFlOGphNm96NE04cll2Y01JQVV1ckhvWTNsZjd1
1886 MHR1SVA0eVExMnA3VXRSa2NmYno4MnRvdnRpK2ZUdW0KVHAwS0FIQnlja0oxZGJWOTBuRjNTZHR3
1887 Q1gydTgwMWt6YkYvbVF0aXE1UXh4ZnVhNklhdk5GUGdSdDFaUjJtV1NBaCtFVWJBaEpHNgpYRE9h
1888 dkhwUFBQRUU0dUxpTUdMRUNIVHYzaDB4TWJmYXZFNmZQZzFmWDErN0JlVHVkbVJQT1FLUFhVQ1FO
1889 eS9RcGlISWZrdXRtQjI5Cmp4dDhrYTJkRElGS2UwVEtDZUtFYTJRUzZ4aXkxdXhvalpLU0VoUVdG
1890 bUxJa0NFTnk0WVdGaGFpdXJvYTBkSFI5Z3Zwb0tNMW1oTVEKNGdiZkNUMzRsRzhUQlhVUm9YcTVC
1891 dVdLbU9JTi9NWDlKUHpjZm1RZG8xbnVsR0syK0RVSWl1MzZ2a29acmRIaVVEb3A0TVc1Y1I2KwpU
1892 Z2lkMlJPSFNwVHhaN3V0M1QvWWdLTEh0SkRKb3B3dGV0VXJGWHJuQTZ4ak5DdUIxaUpXL05DdTc2
1893 bVU0c3h2dTJTczVxWUJoNWVmCnhPQmc2YzhnazRMamFVNkl6RlRHRkc4QWVGc1REMSt4RitzWXpV
1894 b2xidEJDUGl2dFNRa3Z6akluR29DMDl3dVI2TWVuMUpzaWJaTUwKNG91VnNRdU5DQUdMYm82QkR3
1895 MWlIYVZaM3d0UkFMeFl4NUFkWHB3Vkl1WGo4eGlJYTNCV1NiNlZpcm1reGE2STBrbTdRODFVbFhE
1896 QgpocXBKVUZQcDdxcHpsUkNjNW1PZnpjYUxzNEprZkZXQzNsZEw0SzNtQmJvNVZDUTQrWTQ3UWhT
1897 eWszZWgwUnZIZEdOWngyaldqOFFYCkJrU3dqaUVyeXZqdTVCcms3YjJPdG9lTDBNR1hGK2ptYUc0
1898 UTFIK2loamZySUZieWZXMFhlQm1sVy94RVFyQmJlQUJReUtyYjlzQ0wKc3dLZE82eEIzYzdUQ0Ew
1899 UVdVZVJ0S0tUS29Uc2NsZk1EOEZ5elZDNFUrbTI3UllTQVdXRXIxeG5LcVY4WDNKL2NPMVNMUzZz
1900 eTBkLwp2cnRLc3c3OTVJUzRFOHFZNGwwdXV1R2tiaFRyR00zNmxuUUNSV2ZXTVdTQkYyY0YwMm1N
1901 T0xRc0h3bEJPdFpSSkMxcGxRc0dWaml6CmptRVYzOVIyZzdleEQrc1lUYW9sQkJrQzN6WEZGTHc0
1902 S3h3MUFxa2ZuRWFpTjkvM3NXa0VCOTV5UTNpOU10cERWMnFHUVUybHUyem4KQWVLS2FqS1NkUXpK
1903 NDhYWlFhU3NMa0tjc1J3dVRyeWpzREgxZW9LTDc2a1JST1cvTmRnVlVZM1R0ZEp1M3RoQytnRHdZ
1904 UjFEMG5oeApkaUNaMzVhaVozRXhmTjE1Z1c3TTlSSUI2bzN1VU1JcTBGL3Flc0RIR000NlJwT3VF
1905 WUpUZk94enMzaHhkakRIZjZ1QVQ5WjVkUExqCkJib3hCVGtxOUU1V1Fua0dQdFlNbC9UeW9qdUpO
1906 K3JSajNVTXllTEYyUUZkT0Y0TjdmWUM5QTQwc280aVNSbmZPV053a2Z5bmVGOFcKM1hHaFRzSnR1
1907 NFJncHpBRWdESTZZNjJORjJjSGRiMVlqN05yOHpHQUQ3VnIxRzlMWFJGVExmL1YvalpvZThKSERH
1908 VWRvMGxuaVlCUwpNcFYxREVuaXhkbUIxZFdJeVA0Z24rOVAyQmhLa1B1MkdqMk1jdjhSSVZoZE5R
1909 S3VWTHBOTmQrUjlxRG95anFHMVJtTlJrUkZSV0hjCnVIRVdIUy8zN3p5dXRjUmIreE1tZWxhQ0VO
1910 NE9mU2VkaHFCeXBUdjhJZThSSEJkRUR4VFhQY2c2UnBQMGhDQlZzS3lBU2RueTVjdlIKdTNmdmhv
1911 MUt6TVdMTXdjQVNGbDdBVEYxNVhCejVnWDZUc1ZuQkFSOHI0YmNHemcrMDRiQ1YrekpPa2FUc29r
1912 TE5HUTA2eGhXYy9ueQpaZXpldlJ2UFB2dXN4UXZ4OCtMTU5jaisvZ3E2RlJXampRY3YwSGM2dXQ4
1913 Si9YUGx2a2cvd2RxcUIrRktwZnQxZkV0NkEvQm5IY01xCi92NzN2K085OTk2RElGaGVZdVYrUThC
1914 WjJjbVVDblFxcjRQbjhLNjRVTUYvZDkrV3NzNEZ3em9Za1I0bzN3N1VjNklucnRhTmdLL2IKVHRa
1915 UkduV0RFSndnMHhCT1Y3T09BZ0FROXpVK1lvZWVTQUU5bVhMcjM0MDh2M1BuVGdRRUJDQXFLZ3BK
1916 U1VrV3Z6L2ZRNUJybEcrZwpDem8rZmgrT1gxSEdsR1pyVURsUlJDL1NJczlOemtNUUtSYjYvb0Ni
1917 d2huV1FScEhLVjRRMCtDQ0xJdFBZYTA5QkRIZHhITjhSZTU2CnYvLys5Ny80NG9zdjRPVGtoTnJh
1918 V2xSVlZXSEtsQ25ZdUhHamVSbDRjZWFhNHFJV0VEV25KN0pLNUQvbTExcDgyNGxvODc4MXVDVGoK
1919 enRPZXFpbzg2cjBPZWxMSE9rcWp1bEFSVThXUEFGaVdqM1Z4dmxOeWNqS1dMRm1DSDM4MGY2ZDAv
1920 bmNyMXlTOVRrVFcwbE5JRE9CRAo3VzY3V1M2QXJuV0hkRGVGYWxtaDBSc1YrZ2RZeDJoU0VSRndt
1921 VXhqSGNOcVpERmFZL1BtelJneVpBakN3OFB4NmFlZkFnQVdMRmlBCmpoMDdJaW9xQ2xGUlVkaXpa
1922 NDg5STNFbVNGbCtCZ25xbXhCa2ZMZG9UZWVPcXREOVo3V3NCOWg5VkhNL2ZFWHBqaTMrZ1FSQ3hI
1923 MnMKWTdUYWtDRkRzR1BIRG91T3RWdXpSbVZsSlFZTUdJRE16RXc0T3p0aitQRGgyTHQzTDVZdFd3
1924 WXZMeS84NHgvL2FEb2tiOWFRaFA0VApBbkhDTndBNnZaekxrdlVNbTF1SDlGN1NiQm93UlcrblNr
1925 ejJXb2Q2b21jZHBWSFJ0QjdEeGVWbUh5ZWxabzNXc051ZDg0RURCeEFkCkhRMC9Qejk0ZW5waTJM
1926 Qmh5TWpJQUFDYmZHR2M5UjNjZmhVaHB5K2hyU2YvL3dLQS9TdGRFSGRUdnV0Q25EVDRvRW8vakhX
1927 TUp1VVMKWjFRUzVVMU9NWlhkaW5OaVlpS3lzN054L3Z4NWxKYVdZdmZ1M1RodzRBQUFZT1hLbFlp
1928 TGk4UGl4WXVoMFdqc0ZZbXp3S2tETitHYQpmQlpkMi9EOUNRR0N6SGZjRUdxUWI5Zk5pcG9JK0lv
1929 aHJHTTA2VnZTRTBBNzFqR1lzT3RvalI5Ly9CR3JWcTFDWldVbFFrSkNjUC85CjkrTzU1NTVEMjda
1930 dFVWVlZoWC8rODUvbzJiTW5Ybjc1NWJ0REVnSmcxaDJQOUFjUVk2L1lYQ084MnppaDI1OTc0a2dw
1931 SHlvZjNGV0UKOGFWcTNHUWR4RUtKemxjeDBHc0Q2eGhObWlxV293djl2TW5uVTVORnBDWC9Yc1lX
1932 dldGVVJMTUdzNkYwanozMkdQNzFyMzhoT2pxNgo0Ykc4dkR6TW1UTUg2ZW5wZDcyV3R6bExrK0FF
1933 REpyYkUybFhwRHZyekY3aUp0Y2pkN2g4OTJwYzZQc2RiZ3JuV01kb2xCK2xtQ2wrCkNGT0gxdkUy
1934 Wnd1VWxaVUJBUGJ0MjRkang0NGhPam9hcGFXbEFBQ0R3WURObXpkanpKZ3g5b3pFdFlKb0FOSStL
1935 RVNDQngvSmtmbUQKTXdhVnk3ZjlPVnNYeXpwQ2syNFFBZzJSYnR1NHJkaTFPRStkT2hXaG9hSDR6
1936 My8rZy9YcjF3TUEvdWQvL2dkOSsvWkZYRndjNnV2cgpNWHYyYkh0RzRxd2c5ZE9MaUtxNkNpODN4
1937 eTdRQjk1elEzZVpMakc2dGE0VGZHZ3c2eGhOeWlUU1haUGFWdmdNUWM1cXVrVjdvUzYyCkM0cHZP
1938 dTVRdSs0UlJwUS9WNE5hMWtFczhMUjdBUUxkdHJHTzBUaEs4WGR4TjFUSWIvR2x2Rm1ENC83Z1hL
1939 NEd1bTBGdUQ5SXptdFAKdE03WlBCV2laTHFDM1JmYSsrQkovVmpIYUJ3aE9FUGlXYWV3SzE2Y09h
1940 dXFLTldqWUZVK0JyV1g3K1NNMWtwZTU0d1lqZnhHc1JnaApvRnd2M2Jiblg0a1BBQy9XTWV5R0Yy
1941 Zk82dXByUlJ4WVdvQkVYMGNkczA1d2JJa2F3VlIrelR2cmFucExkc2R1TFNHb0lDTll4N0FiClhw
1942 dzVtMGxaZFI2eDlXVlF1MGkrVzhQcXFxNFRlRzlSeSs0SHJCck9xS3VYN2h5Q0ZOS0ZkUVM3a2R2
1943 M0RpY3pXVnV1b0hQaEpRUjYKTzE2QlBwYnNoRUZuWFZuSE1Oc0diUVNjcVRTSEJaNGhLdFNqUCtz
1944 WWRzR0xNMmR6QlJrM2daOVBvMWVBNDAzNTNyL2NCWDNyNUxWaAp3UlZSRFNkakZPc1lUVHBKcEh0
1945 bmIwMjhPSE4yY2JXb0ZoYytPNG5ZOXZMZDVza1NWQ1M0dEVJTlg1a3RNUHBWVFQ4UUtzM3lrRXpj
1946 CjRRanJiVWp6Nm5PS1ZGc3RJbXRwUGhMYjFyQ09ZbGRYTHdqb3VrOWV3K3NLak43d0VzTlp4MmlV
1947 bmhCY0lkTGRMTUJhZUhIbTdDNWwKNVZrTUl0ZmhySEtjZHVpc2JjNkl2eXJOZHR5bS9LZ2R3RHBD
1948 ay9hVERvRE0vaG94RnkvT0hCTUhOaGVqVjNFeDJuZzRUb0ZPZjg4TgpQV1EwdlR1enZpMTh4UjZz
1949 WXpTcW1CRFVZakRyR0RZbG4rOFVUbkdPNzYrQVcrcFpkRy9yR0IyRitsb0MzVm8xMUt5RG1DRk53
1950 Z3NpCkhSWWlXVWV3S1Y2Y09hYUtDN1M0dXVrVStyVTNzSTVpRitlUHF4QnhVRDd0ejd2cU9zQ1hk
1951 bUFkbzFFWmNBRkZKOVl4YklZWFo0NjUKNmhzRzVDNDdpY1JBK2E2SGJJNlVEYzRZVUNXWDZkMEV4
1952 MnZqV0lkb2xFZ0lMaWw0S1ZGZW5EbEpvRVlnWmRscERIYTdBWldnOUhabwpncnozMU9nZ2srbmRY
1953 K202d1l1MllSMmpVYitTZGdEazFkRnFLbDZjT1VsSlczOEpmYTVmZ2JkYTJRVmFjNFBBNHhzMTVE
1954 QTlSWVNBCkVva3VpSFNkRUZTVDRheGoyQVF2enB6a0hObFREditjSW5UMlYzYUJQcDdtaExqVDhw
1955 amV2YjRtREdycXlUcEdvN0lrdGhEL3BVdVgKTUd6WU1JU0hoMlBvMEtIWXZIbXpSZWZoeFptVHBL
1956 SmpHbFIrVjRDSVlHV3ZEWjIwMGdVUnRkSy9mOWJCQ1RVU1hSRHBNSndnb2hmcgpHQTJjblozeHdR
1957 Y2Y0TVNKRTlpeVpRdGVlZVVWYURUbXI5RElpek1uV1pWbGVoeGZlUkx4d2NwZEc1cUtCQmVXcStF
1958 dmd3a1Y2N1Y5CjRVeGRXTWU0RnlFNFM2UXo1amtvS0FpUmtiZUcrYlZ0MnhiaDRlRTRlUENnMmVm
1959 aHhabVROR005UmZyN0JVajByZ1JSNkNheVpaY0UKZE5vai9lRjExMFEzQ0laK3JHTTA2bGZpQzhD
1960 NnpTNHFpQzErQ0dqK2UvTE1tVE00Y2VJRUJnd3dmN2FsWE1iemNBNHVaZlVGOUo4UQppSHkvQU5U
1961 VVNmOHUwMXc1TzUweExNS0k5R0E5NnlqTjJsUVRqVWQ5c2lFU2FUVTNWUk9DRytRQitOSHRWanVu
1962 TWFlMDhTZDBHYmMrCldxRFJhUERvbzQvaWd3OCtnSWVIaDludnp6ZDQ1V1NsUjR3M3RQMUNVRktw
1963 dkFMdDdFTFI2NzBhRktxa1BXUHlMWitmb1ZFZFlSM2oKSGoycGlQSGkrOWJiNE5Ya21oTnh6L3ZW
1964 MTlkajdOaXhHRE5tREY1ODhVV0xNdkJtRFU1V3p1UlVvVzVuSVhvSFN1dk96UnJxOVFUVgpxOVdR
1965 NWlaUnYvdWhScG9kZzRWRWdBSFJyR09BVW9xWk0yZmkvdnZ2dDdnd0E3dzRjekowL1hJZHpxek9S
1966 MzhGcmcxZGRGS0ZQdG5TCmJuL09OZmpEVjVUTzZJZzduU1RzeDJPbnA2ZGowNlpOK08yMzN4QVZG
1967 WVdvcUNqczJiUEg3UFB3WmcxT3RyemJ1Y0JqU2krVUtxNkoKZ3lMaGJSMnlmS1M3M3NoSTF4SkVl
1968 WHpCT3NZOVhDakZxOEpDNXMwYTFzRHZuRG5acWlyWEkrQnNpUUpIY1JBY1hxSkdSd2xQNy82bApy
1969 ajE4eGM2c1k5eERUNlI3emN6Rml6TW5hM2w3cnlPeHJaWjFES3VydmtIZzlyVmEwc09wanRTeWIw
1970 SlFNbDZjT2RsTFczVU9vUXJjClBQWmt1aE5pQzZRN3ZmdWIycTd3cHNyZnk0OFZYcHc1MlRQV1Ur
1971 aCtMWUxhUlduTkc4RCtEMTBRS2RucDNRUVg2cVM1bktnUzhPTE0KS2NLRjQ5WG9SMjZ5am1GOWxP
1972 RDhCMnEwa2VqMDdnM2FYdkNnM3F4aktCSXZ6cHhpcEcyNGhBRUtIRjVYWGl5Z3cwL1MzTnhLRHhW
1973 dQoxa3QzSTFnNTQ4V1pVNVRUWDU1RmdKZnltamNPN25KQ2ZMRUVGeDBDc0w3NmZyaFNhWS9ObGlO
1974 ZW5EbEZ1WEZGanc2WHI3Q09ZUk9wClMxM1J5eUM5SDlrYmNJVm82TTg2aHVKSTczK2E0MXJwOE81
1975 eUpBWXFiM2lkUVU5UXVWb044NWZRc2IwdmFpS2hvbEllK0NjL3ZEaHoKaXBUeHlUbmMxMDU1dytz
1976 dTVxc1FuaUc5Sm9RTG9nZmNqQkdzWXlnS0w4NmNJdFhYaWpDbVhZQ3JrL0xhbjlPK2RFSGNUZWx0
1977 YXZxOQp0aDhnNFZtTmNzT0xNNmRZNTNJMWlIV3BaQjNESmc2KzY0Yk9vclIrZlBNTWZ2Q2hZYXhq
1978 S0lhMC9uYzV6c3BTUHJ1SWZ1Mmx1NENRCnBiUlZCTTZiMVpEYS9mTXZXbWt1SnlwSHZEaHppbGYw
1979 elZtMDhWUmU4MForcGdvRDhxVTF2VHRKSHdSZnNRdnJHSXJBaXpPbmVOY3YKMTZIcjFhdXNZOWpF
1980 L285ZEVLV1QxdlR1ZzN4QkpLdmd4Wmx6Q0FkM2xDRWhTTWM2aHZWUmdqTWZxTkZPUXRPN3Y2OE5n
1981 UThOWkIxRAo5bmh4NWh4RzlwcXo2TlpXZWNQcnJwY0k2SkVycGVZTmdyTjhRYVJXNDhXWmN4aDFO
1982 U0pVV1pmZ3JGSmUrL09CVGM0SWx0QXd0bzNhCisrQkJmVmpIa0RWZW5EbUhjanE3RWdNOXFsakhz
1983 THA2UFVHWG85SzVlNjZIQ3RmMXZPMjVOWGh4NWh4T3l1b0xpQXhXM3ZDNmpDK2MKRVNDaHR1ZDFO
1984 ZUZ3bzlKY1RVOE9lSEhtSEZMSjkrZmc2NjZzNWcxOUxVR1A0OUpadVU0REYrZ05mTnl6cFhoeDVo
1985 eFMyWVZhOUx4Wgp6anFHMVdWc2RFRmJDZDA5YjZ5SmhCT1YybFFaZWVERm1YTlkyZDlmd2VEZ1d0
1986 WXhyS3BPUzlEcmxIVHVub3RGTlp5TmtheGp5SkpkCmkvUG16WnN4Wk1nUWhJZUg0OU5QUHdVQWFE
1987 UWFUSmd3QVowN2Q4YkVpUk5SWFYxdHowZzJsTU02Z0FYa2xybjFlUSt0UFlzUWZ6c08Kcjd1YVpQ
1988 TzN5UHpjQmY1V3ZIc1cwMUpiZGZ5MzJuNGdFaHBKWWc4cEtTa0lDd3ZEZmZmZGg1VXJWMXAwRHJz
1989 VjU4cktTcnorK3V2WQp0bTBic3JLeXNHYk5HbFJXVm1MVnFsWG8zTGt6VHA4K2pZNGRPK0tUVHo2
1990 eFZ5UWJPOGc2Z0FYa2xybjFlWFVhSTlTSEw4UEpYc1ByCnlwSnMvaFk2RFVGWW9mWHVubWw2V3F1
1991 T1AybndnWmNZYnFVMDhqQnYzanlzWHIwYSsvYnR3MGNmZllScjE2NlpmUTY3RmVjREJ3NGcKT2pv
1992 YWZuNSs4UFQweExCaHc1Q1JrWUhzN0d6TW5Ea1RycTZ1bURGakJyS3lzdXdWaWVNQUFLY08zRVM4
1993 bDRaMURLdksvdHdGdnF4RAozR0czQXkySVZGbDVheVhFeE1SRWhJU0VZT1RJa1JiVk5idHRYWkNZ
1994 bUlpLy9lMXZPSC8rUE56YzNMQjc5MjY0dXJvaUp5Y0hvYUdoCkFJRFEwRkJrWjJjM2VueDB0THlH
1995 NUpTV09pTTRtR2UySld2bXJjNjVpakVUUFhCRmE5dDFLa292QThGZGJmb1cvNDhndk5RVmhSMWIK
1996 ditIdFpZR2dvNnAxOTNGYU1RZ2hZaFQwZ256V09QSHhhZmxycnErbjBQNWgwNTA3YXhvQTlPN2RH
1997 NW1abVJnN2RxeFo3MiszNHV6aAo0WUZseTViaCtlZWZSMlZsSmZyMDZRTlhWMWRRYXRxZms3bTVQ
1998 VzJjMFBwS1N5MXJhMkpKYnBtdG10ZE9yVHFscWEvYjVYMXkzN0hlCnVZb1hMV3oxT2VUMk4zRmxa
1999 UitUWHVmcDZXbVQ5N2ZycGwvanhvM0R1SEhqQUFDUFBmWVlSbzBhaGR6Y1hPVG41eU1xS2dyNStm
2000 bUkKaWJuM3p4OVRDempIY1p3MXRLYm14TVRFNEovLy9HZkQ1eWRPbk1Db1VhUE1QbzlkUjJ1VWxa
2001 VUJBUGJ0MjRmang0OGpPam9hc2JHeApXR0pJNjNjQUFBZGhTVVJCVkxkdUhYUTZIZGF0VzRlNE9M
2002 NWdDc2R4OHVYamMydE5rWlNVRkJRVkZXSHYzcjJJalRWL0tqdWhkcnd0ClRVeE1SRmxaR2J5OHZQ
2003 RFJSeDlod0lBQjBHZzBlT0tKSjNENDhHRkVSMGRqMDZaTk52c3pnZU00emg2U2s1TXhhOVlzMU5m
2004 WDQ0VVgKWHNBTEw3eGcva2tvUThuSnlUUTBOSlQyNk5HRHJsaXg0cDduOC9QemFWeGNISFYxZGFW
2005 TGxpd3g2MWhiYVUzbWtKQVEycWRQSHhvWgpHVWxqWW1Mc0ZibkZ6SnMyYmFKOSsvYWxmZnYycGRP
2006 blQ2Y0ZCUVVtSHl1MXZGSzl4dHUyYmFOOSsvYWxFUkVSZE15WU1UUTdPOXZrClk2V1ltY1YxTnZV
2007 NlpXZG5VNVZLUmJkczJXTDJzVkxDdERoSFJrYlM1T1JrV2xSVVJIdjE2a1hMeTh2dmVyNnNySXpt
2008 NU9UUStmUG4KMzFQb1dqcFdpcG03ZE9sQ3IxKy9icGVjZDJvcDg0RURCK2pObXpjcHBaUnUyTENC
2009 UHZIRUV5WWZLN1c4VXIzRzFkWFZEZjlPU2txaQpDUWtKSmg4cnhjd3Nyck1wMThsZ01OQmh3NGJS
2010 c1dQSDNsV2NXVjNqMW1BMmZkdVVzWUR0MnJWRC8vNzk0ZXpzYlBheFVzdDhHN1Z6CjU2WXBtUWNP
2011 SE5qUVRqWjI3RmdrSnllYmZLeVU4dDRteFd2czRlRngxK3ZkM054TVBsWnFtVyt6NTNVMjlUcXRY
2012 TGtTVTZkT1JidDIKN2N3K1ZtcVlGZWVteGdMYSt0aldhTzM3RWtJd2ZQaHdUSnc0RVR0MjdMQkZ4
2013 SHVZbTNuTm1qVU5JMnBZWE9mVzVBV2tmWTIzYnQySwpMbDI2WU1hTUdWaTdkcTFaeDBvaDg1bzFh
2014 eG9ldC9kMU5pVnZjWEV4dG0vZmp0bXpaemRrTlBWWUtiTHJVRHBIbDU2ZWp1RGdZT1RuCjUyUGN1
2015 SEVZTUdBQWdvS0NXTWRxc0cvZlBtemF0QWtIRGh4Z0hjVWtqZVdWOGpXZU5Ha1NKazJhaEcrKytR
2016 WVRKMDdFNGNPSFdVZHEKMFoyWkowMmExSkJaaXRmNXhSZGZ4S0pGaTBBSUFiM1ZaTXMwVDJzeHUz
2017 T09pWW5CcVZPbkdqNC9jZUtFeWNQb1duTnNhN1QyZllPRApnd0VBWVdGaEdEOStQSDc4OFVlclov
2018 d2pVek1mUFhvVXMyYk53bzRkTytEcjYydldzVkxKQzBqN0d0LzI2S09Qb3FTa0JEcWREdjM3Cjk1
2019 ZkY5L0tkbVFIN1gyZFQ4aDQ2ZEFpUFBmWVl1bmJ0aXUrLy94NXo1c3pCamgwN21OV0xWbVBaNEgy
2020 N2tmNzgrZlBOTnRLLzl0cHIKVFhZSXRuU3N0Vm1hdWFhbWhsWlZWVkZLYjNVYTl1N2RtMTY4ZUZF
2021 U21TOWN1RUI3OU9oQk16TXp6VDVXU25tbGZJM1BuRGxEUlZHawpsRks2YTljdU9ucjBhSk9QbFZw
2022 bVZ0ZlpuT3YwOU5OUDArKy8vOTZpWTZXQ2FYRk9Ta3Fpb2FHaHRIdjM3blQ1OHVXVVVrby8rZVFU
2023 Citza25uMUJLS1MwdExhVWRPM2FrM3Q3ZTFOZlhsM2JxMUlscU5Kb21qNVZ5NXJObno5S0lpQWdh
2024 RVJGQmh3OGZUai83N0RQSlpKNDUKY3liMTkvZW5rWkdSOXd5TlluR2RMYzByNVd1OGVQRmlHaDRl
2025 VGlNakkra3p6enhEangwNzF1eXhVczdNNmpxM2xQZE9meXpPcks1eAphOWgxRWdySGNSeG5HcjRU
2026 Q3NkeG5BVHg0c3h4SENkQnZEaHpITWRKRUMvT0hNZHhFc1NMTTJkenc0Y1B4eSsvL0hMWFk4dVdM
2027 Y09jCk9YTWFmWDJYTGwxUVVWSFI3RG5mZWVmdWxlVGo0K01CQUVWRlJlalQ1OVlpNlFjUEhzUzhl
2028 Zk1BM0ZvbExDTWp3Nkw4SE1jQ0w4NmMKelUyZlBoMWZmLzMxWFk5OTg4MDNlUHp4eHh0OS9lMXB0
2029 ODFadVBEdW5UblMwOVB2ZVUzLy92MnhmUGx5QU1EKy9mdGxNL09SNHdCZQpuRGs3bURKbENuYnQy
2030 Z1dEd1FEZzF0MXRTVWtKOUhvOXhvd1pnL2o0ZUh6NjZhZU5IanRwMGlUMDY5Y1B3NGNQeDlhdFd3
2031 RUEvLzczCnY2SFQ2UkFWRllVbm4zd1NRT05iQlNVbEpXSGN1SEc0Y09FQ1ZxOWVqUTgrK0FEUjBk
2032 RklTMHREdDI3ZEd2SlVWVldoVzdkdU1CcU4KdHZqeU9jNGlmRzBOenViOC9mMHhZTUFBN042OUcr
2033 UEhqOGZYWDMrTnFWT240aTkvK1F2MjdObURObTNhWU5Tb1VZaVBqMGRZV05oZAp4NjVidHc1K2Zu
2034 Nm9xcXJDMEtGRE1XblNKQ3hhdEFnZmZmVFJYV3RUTkhlM0hSSVNnbG16WnNITHl3di8rTWMvQUFC
2035 RGh3N0ZybDI3Ck1HSENCSHo5OWRlWU1tVUtWQ3JiYnU3S2NlYmdkODZjWGR6WnRQSE5OOTlneXBR
2036 cENBc0xRNDhlUGVEbjU0ZXBVNmMydXJyWjExOS8KalFjZWVBRHg4ZkU0ZCs0Y2poMDdadEg3MHo4
2037 c2hQUHNzODlpL2ZyMUFJQU5HemJnbVdlZXNlaThIR2NydkRoemRqRisvSGo4K3V1dgpPSHo0TUxS
2038 YTdUMTN1cFRTZXg0N2QrNGNWcTFhaGUrKyt3N0hqaDFEMTY1ZGNlUEdEWXZlLzQvbkhqUm9FSXFL
2039 aXBDVWxBU2owWWplCnZYdGJkRjZPc3hWZW5EbTc4UFQweExCaHcvRE1NOC9nOGNjZlIxeGNIRTZk
2040 T29Xelo4L2l4bzBiMkxwMUs4YVBIMy9YTVNVbEpXalgKcmgzOC9mMlJucDZPdkx5OGh1ZmF0V3NI
2041 clZacjh2dUhoSVNndkx6OHJzZWVldW9wL09sUGY4S01HVE5hOThWeG5BM3c0c3paemZUcAowM0hz
2042 MkRGTW56NGRoQkNzWHIwYWMrZk94ZGl4WXpGejVzeUdCZEZ2MytVT0hqd1lJU0VoQ0FzTHc3Smx5
2043 ekJpeElpR2M4MmRPeGNKCkNRa05IWUozM2hrMzl1K1JJMGZpNE1HRGlJcUthaGpaOGZqamorUEdq
2044 UnVZUG4yNmJiOXdqck1BWC9pSWMxaWJOMi9HL3YzN0czWWwKNFRncDRhTTFPSWMwZCs1Y3BLZW5Z
2045 K2ZPbmF5amNGeWorSjB6eDNHY0JQRTJaNDdqT0FuaXhabmpPRTZDZUhIbU9JNlRJRjZjT1k3agpK
2046 SWdYWjQ3ak9Bbml4Wm5qT0U2Qy9nOThaRERrMHdkQ3pRQUFBQUJKUlU1RXJrSmdnZz09Cg==
2047 </png>
2048 </output>
2049 </outputs>
2050 </codecell>
2051 </cells>
2052 </worksheet>
2053 </worksheets>
2054 </notebook>
1 {
2 "nbformat": 2,
3 "name": "mcpricer",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "# Parallel Monto-Carlo options pricing",
9 "cell_type": "markdown"
10 },
11 {
12 "source": "## Problem setup",
13 "cell_type": "markdown"
14 },
15 {
16 "cell_type": "code",
17 "language": "python",
18 "outputs": [],
19 "collapsed": true,
20 "prompt_number": 1,
21 "input": "import sys\nimport time\nfrom IPython.parallel import Client\nimport numpy as np\nfrom mckernel import price_options\nfrom matplotlib import pyplot as plt"
22 },
23 {
24 "cell_type": "code",
25 "language": "python",
26 "outputs": [],
27 "collapsed": true,
28 "prompt_number": 2,
29 "input": "cluster_profile = \"default\"\nprice = 100.0 # Initial price\nrate = 0.05 # Interest rate\ndays = 260 # Days to expiration\npaths = 10000 # Number of MC paths\nn_strikes = 5 # Number of strike values\nmin_strike = 90.0 # Min strike price\nmax_strike = 110.0 # Max strike price\nn_sigmas = 5 # Number of volatility values\nmin_sigma = 0.1 # Min volatility\nmax_sigma = 0.4 # Max volatility"
30 },
31 {
32 "cell_type": "code",
33 "language": "python",
34 "outputs": [],
35 "collapsed": true,
36 "prompt_number": 3,
37 "input": "strike_vals = np.linspace(min_strike, max_strike, n_strikes)\nsigma_vals = np.linspace(min_sigma, max_sigma, n_sigmas)"
38 },
39 {
40 "source": "## Parallel computation across strike prices and volatilities",
41 "cell_type": "markdown"
42 },
43 {
44 "source": "The Client is used to setup the calculation and works with all engines.",
45 "cell_type": "markdown"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [],
51 "collapsed": true,
52 "prompt_number": 4,
53 "input": "c = Client(profile=cluster_profile)"
54 },
55 {
56 "source": "A LoadBalancedView is an interface to the engines that provides dynamic load \nbalancing at the expense of not knowing which engine will execute the code.",
57 "cell_type": "markdown"
58 },
59 {
60 "cell_type": "code",
61 "language": "python",
62 "outputs": [],
63 "collapsed": true,
64 "prompt_number": 5,
65 "input": "view = c.load_balanced_view()"
66 },
67 {
68 "cell_type": "code",
69 "language": "python",
70 "outputs": [
71 {
72 "output_type": "stream",
73 "text": "Strike prices: [ 90. 95. 100. 105. 110.]\nVolatilities: [ 0.1 0.175 0.25 0.325 0.4 ]"
74 }
75 ],
76 "collapsed": false,
77 "prompt_number": 6,
78 "input": "print \"Strike prices: \", strike_vals\nprint \"Volatilities: \", sigma_vals"
79 },
80 {
81 "source": "Submit tasks for each (strike, sigma) pair.",
82 "cell_type": "markdown"
83 },
84 {
85 "cell_type": "code",
86 "language": "python",
87 "outputs": [],
88 "collapsed": true,
89 "prompt_number": 7,
90 "input": "t1 = time.time()\nasync_results = []\nfor strike in strike_vals:\n for sigma in sigma_vals:\n ar = view.apply_async(price_options, price, strike, sigma, rate, days, paths)\n async_results.append(ar)"
91 },
92 {
93 "cell_type": "code",
94 "language": "python",
95 "outputs": [
96 {
97 "output_type": "stream",
98 "text": "Submitted tasks: 25"
99 }
100 ],
101 "collapsed": false,
102 "prompt_number": 8,
103 "input": "print \"Submitted tasks: \", len(async_results)"
104 },
105 {
106 "source": "Block until all tasks are completed.",
107 "cell_type": "markdown"
108 },
109 {
110 "cell_type": "code",
111 "language": "python",
112 "outputs": [
113 {
114 "output_type": "stream",
115 "text": "Parallel calculation completed, time = 2.57819604874 s"
116 }
117 ],
118 "collapsed": false,
119 "prompt_number": 9,
120 "input": "c.wait(async_results)\nt2 = time.time()\nt = t2-t1\n\nprint \"Parallel calculation completed, time = %s s\" % t"
121 },
122 {
123 "source": "## Process and visualize results",
124 "cell_type": "markdown"
125 },
126 {
127 "source": "Get the results using the `get` method:",
128 "cell_type": "markdown"
129 },
130 {
131 "cell_type": "code",
132 "language": "python",
133 "outputs": [],
134 "collapsed": true,
135 "prompt_number": 10,
136 "input": "results = [ar.get() for ar in async_results]\n"
137 },
138 {
139 "source": "Assemble the result into a structured NumPy array.",
140 "cell_type": "markdown"
141 },
142 {
143 "cell_type": "code",
144 "language": "python",
145 "outputs": [],
146 "collapsed": true,
147 "prompt_number": 11,
148 "input": "prices = np.empty(n_strikes*n_sigmas,\n dtype=[('ecall',float),('eput',float),('acall',float),('aput',float)]\n)\n\nfor i, price in enumerate(results):\n prices[i] = tuple(price)\n \nprices.shape = (n_strikes, n_sigmas)\nstrike_mesh, sigma_mesh = np.meshgrid(strike_vals, sigma_vals)"
149 },
150 {
151 "source": "Plot the value of the European call in (volatility, strike) space.",
152 "cell_type": "markdown"
153 },
154 {
155 "cell_type": "code",
156 "language": "python",
157 "outputs": [
158 {
159 "output_type": "pyout",
160 "prompt_number": 12,
161 "text": "&lt;matplotlib.text.Text at 0x2c54750&gt;"
162 },
163 {
164 "output_type": "display_data",
165 "png": "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\n"
166 }
167 ],
168 "collapsed": false,
169 "prompt_number": 12,
170 "input": "plt.contourf(sigma_mesh, strike_mesh, prices['ecall'])\nplt.axis('tight')\nplt.colorbar()\nplt.title('European Call')\nplt.xlabel(\"Volatility\")\nplt.ylabel(\"Strike Price\")"
171 },
172 {
173 "source": "Plot the value of the Asian call in (volatility, strike) space.",
174 "cell_type": "markdown"
175 },
176 {
177 "cell_type": "code",
178 "language": "python",
179 "outputs": [
180 {
181 "output_type": "pyout",
182 "prompt_number": 13,
183 "text": "&lt;matplotlib.text.Text at 0x2e14610&gt;"
184 },
185 {
186 "output_type": "display_data",
187 "png": "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\n/53Vq1cTGhrK+PHjGTlyJCkpKdecW1BQgNlspra2ljFjxjB58mT+/Oc/8+abb15Tm+Jms+2EhASe\neOIJAgICeO655wAYM2YMK1eu5N577+X9999nypQpGI2WG3pKJM5CzpwlTuHqpY0PPviAKVOmkJKS\nQlJSEmazmfvuu6/T6mbvv/8+t9xyCyNHjuTgwYPs3LmzW9dXryuE8/jjj7No0SIAFi9ezGOPPdat\ncSUSRyHNWeIU7rnnHr7++mu2bdtGQ0PDDTNdVVVveOzgwYPMnTuXjz76iJ07d9KnTx/Onz/fretf\nP/aIESOoqqqisLCQtrY2Bg4c2K1xJRJHIc1Z4hT8/f0ZO3Ysjz32GA8++CC5ubns2bOHAwcOcP78\neT755BPuueeea845ceIE4eHhhISEUFxcTHl5ecdz4eHhNDQ0WH39hIQETp8+fc1jjzzyCD/60Y+Y\nNm1az/5zEokDkOYscRpTp05l586dTJ06FUVRmD9/Pk8//TQTJkxg+vTpHQXRr8xyR40aRUJCAikp\nKbz22mvceuutHWM9/fTT5OXldWwIXj0z7uzn22+/nc2bN5ORkdER2fHggw9y/vx5pk6d6tj/uETS\nDWThI4nbsmzZMr799tuOriQSiZaQ0RoSt+Tpp5+muLiYzz77TLQUiaRT5MxZIpFINIhcc5ZIJBIN\nIs1ZIpFINIg0Z4lEItEg0pwlEolEg0hzlkgkEg3y/zdaOI+CUTAKRsEgBADPuDd0fWFHXgAAAABJ\nRU5ErkJggg==\n"
188 }
189 ],
190 "collapsed": false,
191 "prompt_number": 13,
192 "input": "plt.contourf(sigma_mesh, strike_mesh, prices['acall'])\nplt.axis('tight')\nplt.colorbar()\nplt.title(\"Asian Call\")\nplt.xlabel(\"Volatility\")\nplt.ylabel(\"Strike Price\")"
193 },
194 {
195 "source": "Plot the value of the European put in (volatility, strike) space.",
196 "cell_type": "markdown"
197 },
198 {
199 "cell_type": "code",
200 "language": "python",
201 "outputs": [
202 {
203 "output_type": "pyout",
204 "prompt_number": 14,
205 "text": "&lt;matplotlib.text.Text at 0x32ee190&gt;"
206 },
207 {
208 "output_type": "display_data",
209 "png": "iVBORw0KGgoAAAANSUhEUgAAAXEAAAEZCAYAAABhIBWTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl81NW9//HXd7JvZCGQhWwQQgiQkABJ2LKwiCAiIIgE\nhVYsIniLFtHb/uy12Gu917bXipSyqFBbi3VHBAFBDWHLnrBmYctCNhIg+zqZ+f0RiCDZM5nvTL7n\n+Xjk8SAz3/l+PwnJO2fOOd9zJK1Wq0UQBEEwSiq5CxAEQRB6ToS4IAiCERMhLgiCYMREiAuCIBgx\nEeKCIAhGTIS4IAiCERMhLnTIx8cHa2tr7OzsWj/WrVsnd1l9Kjo6GisrK+zs7AgMDGTDhg3cvHmz\n09fFxsbi6emphwoF4UcixIUOSZLEvn37qKqqav145513un0erVaLsdySIEkSW7Zsoaqqii+++ILY\n2Fh27Nghd1mC0CYR4kKPbdy4keXLl7d+npOTg0qlQqPRAC0t2jfeeINZs2Zhb2/P1atXyc7OZt26\ndXh5efH8889z8eLF1tdHR0fzhz/8genTp+Ph4cH//u//UlNT0/r85cuXefnll/H29mbVqlVcuHCh\n9bldu3YxatQoHBwcWLBgAV9//XXrc7GxsXh4eLBjxw6GDRvGlClTOHDgQJe+Rj8/PxYtWsT+/fsB\nUKlUXLlypfX5n//85/zXf/0XtbW1zJkzh8LCQuzs7BgwYADFxcXd/I4KQveJEBc61V4LWpKkTl+7\nZcsWnn/+eW7evImnpyezZs3CxcWFtLQ03NzcmDVr1j3H//Wvf+VXv/oVR48e5ciRI7z++usANDc3\nM3nyZEaNGsW5c+eIiIjgwQcfbH2di4sL+/fvp7S0lKVLl/L4449TW1vb+vz169dJT08nISGBp556\nimeeeaZLX3NWVhafffYZCxcubPd7IEkS1tbWHDx4EHd3d6qqqqisrMTV1bXT748g9JYIcaFDWq2W\nBQsW4Ojo2Prx/vvvtz7XEUmSmD17NnPnzsXU1JRz587R2NjIK6+8wsCBA/n1r39NU1MTaWlpra95\n4IEHmDdvHr6+vrz88svs27cPgO+//56xY8fy85//HDs7O1asWIGzszNJSUkAPPTQQwwdOhQzMzOW\nLl3K+PHj72ltazQafv/73zNo0CB+/vOfU15eTlZWVrtf87p163B0dOTJJ59k7ty5/OIXv+jwe9SV\n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\n"
210 }
211 ],
212 "collapsed": false,
213 "prompt_number": 14,
214 "input": "plt.contourf(sigma_mesh, strike_mesh, prices['eput'])\nplt.axis('tight')\nplt.colorbar()\nplt.title(\"European Put\")\nplt.xlabel(\"Volatility\")\nplt.ylabel(\"Strike Price\")"
215 },
216 {
217 "source": "Plot the value of the Asian put in (volatility, strike) space.",
218 "cell_type": "markdown"
219 },
220 {
221 "cell_type": "code",
222 "language": "python",
223 "outputs": [
224 {
225 "output_type": "pyout",
226 "prompt_number": 15,
227 "text": "&lt;matplotlib.text.Text at 0x3487c50&gt;"
228 },
229 {
230 "output_type": "display_data",
231 "png": "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\n"
232 }
233 ],
234 "collapsed": false,
235 "prompt_number": 15,
236 "input": "plt.contourf(sigma_mesh, strike_mesh, prices['aput'])\nplt.axis('tight')\nplt.colorbar()\nplt.title(\"Asian Put\")\nplt.xlabel(\"Volatility\")\nplt.ylabel(\"Strike Price\")\n"
237 }
238 ]
239 }
240 ]
241 } No newline at end of file
This diff has been collapsed as it changes many lines, (1496 lines changed) Show them Hide them
@@ -1,1270 +1,226 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>rmt</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source># Eigenvalue distribution of Gaussian orthogonal random matrices</source>
10 </markdowncell>
11 <markdowncell>
12 <source>The eigenvalues of random matrices obey certain statistical laws. Here we construct random matrices
13 from the Gaussian Orthogonal Ensemble (GOE), find their eigenvalues and then investigate the nearest
14 neighbor eigenvalue distribution $\rho(s)$.</source>
15 </markdowncell>
16 <codecell>
17 <input>from rmtkernel import ensemble_diffs, normalize_diffs, GOE
18 import numpy as np
19 from IPython.parallel import Client</input>
20 <language>python</language>
21 <prompt_number>1</prompt_number>
22 <collapsed>0</collapsed>
23 <outputs />
24 </codecell>
25 <markdowncell>
26 <source>## Wigner's nearest neighbor eigenvalue distribution</source>
27 </markdowncell>
28 <markdowncell>
29 <source>The Wigner distribution gives the theoretical result for the nearest neighbor eigenvalue distribution
30 for the GOE:
31
32 $$\rho(s) = \frac{\pi s}{2} \exp(-\pi s^2/4)$$</source>
33 </markdowncell>
34 <codecell>
35 <input>def wigner_dist(s):
36 """Returns (s, rho(s)) for the Wigner GOE distribution."""
37 return (np.pi*s/2.0) * np.exp(-np.pi*s**2/4.)</input>
38 <language>python</language>
39 <prompt_number>2</prompt_number>
40 <collapsed>1</collapsed>
41 <outputs />
42 </codecell>
43 <codecell>
44 <input>def generate_wigner_data():
45 s = np.linspace(0.0,4.0,400)
46 rhos = wigner_dist(s)
47 return s, rhos</input>
48 <language>python</language>
49 <prompt_number>3</prompt_number>
50 <collapsed>1</collapsed>
51 <outputs />
52 </codecell>
53 <codecell>
54 <input>s, rhos = generate_wigner_data()</input>
55 <language>python</language>
56 <prompt_number>4</prompt_number>
57 <collapsed>0</collapsed>
58 <outputs />
59 </codecell>
60 <codecell>
61 <input>plot(s, rhos)
62 xlabel('Normalized level spacing s')
63 ylabel('Probability $\rho(s)$')</input>
64 <language>python</language>
65 <prompt_number>17</prompt_number>
66 <collapsed>0</collapsed>
67 <outputs>
68 <output>
69 <output_type>pyout</output_type>
70 <text>&amp;lt;matplotlib.text.Text at 0x3828790&amp;gt;</text>
71 <prompt_number>17</prompt_number>
72 </output>
73 <output>
74 <output_type>display_data</output_type>
75 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVl3QUFBRU1DQVlBQUFEWGlZR1NBQUFBQkhOQ1NWUUlD
76 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYbGNW
77 UFgreC9IWHFMaW1tS0pwcVNCSkFTSXdLcUJwT3FVQ1NtWm1wZGF2ClRLM3dkaE8xckt4cmliYWJG
78 cVpvWkxmRjFKdG1wVWxkRVV0RU14Q0ZjczhWbHpTdml1REM0aWpuOThlSkNRUmtCbWJtekF5ZjUr
79 UEIKUTRZNW52UG05R2crbnUrcVV4UkZRUWdoaEtoQ0hhMERDQ0dFY0E1U01JUVFRcGhGQ29ZUVFn
80 aXpTTUVRUWdoaEZpa1lRZ2doekNJRgpRd2doaEZrMEtSaXBxYW40K2ZuaDQrUEQzTGx6eTcxZlVG
81 REFxRkdqME92MTlPM2JsMVdyVm1tUVVnZ2hSR2s2TGVaaDZQVjY1c3laCmc2ZW5KeEVSRVd6YXRB
82 a1BEdy9UK3g5KytDSGJ0MjluL3Z6NUhEbHloTHZ2dnBzREJ3NmcwK25zSFZVSUljUmY3UDZFa1pl
83 WEIwQ2YKUG4zdzlQUWtQRHljOVBUME1zZTR1N3R6NGNJRmpFWWpPVGs1Tkc3Y1dJcUZFRUpvek80
84 Rkl5TWpBMTlmWDlOcmYzOS8wdExTeWh3egpjdVJJcmw2OWlvZUhCNzE3OTJiSmtpWDJqaW1FRU9J
85 YTliUU9VSkY1OCtaUnIxNDlUcDQ4eVk0ZE80aUtpdUxJa1NQVXFWTzJ2c2xUCmh4QkNWRTkxZWlQ
86 cy9vUVJFaExDM3IxN1RhOTM3ZHBGang0OXloeVRtcHJLSTQ4OFF1UEdqUWtMQytQbW0yOW0zNzU5
87 Rlo1UFVSU0gKLzVvMmJacm1HU1NuWkpTY2tyUGtxN3JzWGpEYzNkMEJ0U2hrWjJlVG5KeE1XRmhZ
88 bVdQNjlldkg2dFdyS1M0dTV0Q2hRK1RrNUpScAp4aEpDQ0dGL21qUkp4Y1hGRVIwZGpkRm9KQ1lt
89 Qmc4UER4SVNFZ0NJam81bXhJZ1I3TjY5bSs3ZHU5T3FWU3ZtekptalJVd2hoQkNsCmFGSXcrdmJ0
90 eTU0OWU4cjhMRG82MnZTOXU3dTdTeFVKZzhHZ2RRU3pTRTdyY1lhTUlEbXR6Vmx5VnBjbTh6Q3NS
91 YWZUMWFnOVRnZ2gKYXFQcWZuYkswaUJDQ0NITUlnVkRDQ0dFV2FSZ0NDR0VNSXNVRENHRUVHWnh5
92 Sm5lNHZxS2lpQTlIZGF2aDh4TXVId1ppb3VoUXdlNAo0dzdvMnhlOHZiVk9LWVJ3TlRKS3lva1VG
93 RUJDQXN5Y0NiZmNBbmZkQldGaDBMZ3g2SFJ3NEFEOC9EUDg5QlBvOVRCNU12VHJwNzRuCmhCQWxx
94 dnZaS1FYRFNheGJCNk5HUVdnb1RKc0d3Y0dWSDF0VUJFdVd3T3paY1BQTjhPbW4wSzZkL2JJS0lS
95 eWJES3QxVVlvQzc3MEgKano0S2l4ZkR0OTlldjFnQU5HZ0FZOGJBYjcrcHpWUGR1c0h5NWZiSks0
96 UndYZktFNGNBS0N1REpKMkgzYnJWUWVIcFc3enhidHNELwovUi8wN3EwMmFibTVXVGVuRU1LNXlC
97 T0dpekVhNGI3NzFEODNiYXArc1FDMUdTc3JDLzczUDNqb0liWEpTZ2doTENVRnd3RXBDano5Ck5O
98 U3JwL1pGTkc1YzgzTTJhUUxmZkFOMTZxaUZxS0NnNXVjVVF0UXVVakFjME15WnNIVXJmUG1sV2pT
99 c3BYNTlXTFlNYnJ3Ujdya0gKOHZPdGQyNGhoT3VUUGd3SDg5Vlg4Tnh6OE1zdjZ0QlpXN2g2RlI1
100 NUJPcldWVHZTWmRpdEVMV0xES3QxQVljT3FmTXFrcE9ySGdsVgpVL241Y09lZE1IS2tPbDlEQ0ZG
101 N1NNRndjb3FpVHJJYk5NaCtIK0JIajZvRjZyUFBJQ0xDUHRjVVFtaFBSa2s1dVlVTDRkSWxtRFRK
102 CmZ0ZnMwRUdkbi9IWVkrb3NjU0dFdUI1NXduQUFSNCtxayt0U1VxQnpaL3RmZjhFQ21EY1AwdEtn
103 YVZQN1gxOElZVi9TSk9Xa0ZFVnQKaHVyZEcvNzFMKzB5UFBHRTJ2bjk4Y2ZhWkJCQzJJOVROVW1s
104 cHFiaTUrZUhqNDhQYytmT0xmZityRm16ME92MTZQVjZ1blRwUXIxNgo5Y2pOemRVZ3FlMTkvVFdj
105 T0FFdnZLQmRCcDBPNHVMZ3h4OWh6UnJ0Y2dnaEhKc21UeGg2dlo0NWMrYmc2ZWxKUkVRRW16WnR3
106 c1BECm84SmpFeE1UaVl1TFk5MjZkZVhlYy9ZbmpDdFgxQ2FvdVhNaFBGenJOR3JCR0QwYWR1d0Fk
107 M2V0MHdnaGJNVnBuakR5OHZJQTZOT24KRDU2ZW5vU0hoNU9lbmw3cDhVdVhMbVhreUpIMmltZFhu
108 MzJtenJVWU1FRHJKQ3A3ajlJU1FqZ1h1eGVNakl3TWZIMTlUYS85L2YxSgpTMHVyOE5qOC9IeVNr
109 cElZTm15WXZlTFpUVUVCVEo4T2I3M2xXQlBuWnM1VTU0R3NYYXQxRWlHRW8zSG9IZmRXcjE1Tjc5
110 NjlhZDY4CmVhWEh4TWJHbXI0M0dBd1lEQWJiQjdPQytIZ0lDVkhuUVRpU1pzM1VJYjVQUEFIYnQw
111 dlRsQkN1SUNVbGhaU1VsQnFmeCs1OUdIbDUKZVJnTUJyS3lzZ0FZUDM0OGtaR1JSRVZGbFR0MjZO
112 Q2hEQjgrbkJFalJsUjRMbWZ0dzhqTmhkdHVVNGZSK3Z0cm5hWmlUejJsTG9NZQpINjkxRWlHRXRU
113 bE5INGI3WC85a1RVMU5KVHM3bStUa1pNSXErR2QyWGw0ZXFhbXBEQmt5eE40UmJlNzk5eUVxeW5H
114 TEJjRGJiNnZyCld1M2NxWFVTSVlTajBLUkpLaTR1anVqb2FJeEdJekV4TVhoNGVKQ1FrQUJBZEhR
115 MEFDdFhyaVFpSW9KR2pScHBFZEZtQ2dyVWlYS2IKTm1tZDVQcGF0SUJYWGxGbm5xOWQ2MWo5TEVJ
116 SWJjakVQVHY3K0dOWXVSSVNFN1ZPVWpXakVRSUQ0ZDEzMWVYUWhSQ3V3V21hcEdvegpSWUU1YzJE
117 aVJLMlRtTWZOVGQxUC9Mbm40UEpscmRNSUliUW1CY09PZnZycDcxVnBuY1hBZ2VEdERmUG5hNTFF
118 Q0tFMWFaS3lvOEdECjRkNTc0Y2tudFU1aW1kMjdvVzlmMkxNSEtwbVFMNFJ3SXJMNG9JUGJ2eDk2
119 OVlJalI4QVorL0hIajFlZmp1Yk4wenFKRUtLbXBHQTQKdUpnWWRlbndOOTdRT2tuMW5EMEx2cjdh
120 TGNFdWhMQWVLUmdPTERkWDdRZllzY04yKzNUYlE4bUt0cXRYYTUxRUNGRVRNa3JLZ1gzeQppZHA1
121 N016RkFtRGNPTWpLZ293TXJaTUlJYlFnVHhnMnBpanFNaUJmZkFFOWVtaWRwdWJpNCtHSEgrRDc3
122 N1ZPSW9Tb0xubkNjRkJwCmFWQ3ZudU10TWxoZEpZc1NYbWRGZWlHRWk1S0NZV05mZkFHUFB1bzZT
123 MnMwYUFBdnZ3eWxGZ2tXUXRRUzBpUmxRMFZGYXI5RlppWjAKNktCMUd1c3BLbEtiMlpZdGM0MW1O
124 aUZxRzJtU2NrRGZmdzlkdXJoV3NRQjV5aENpdHBLQ1lVT0xGc0ZqajJtZHdqWkdqMVpuZnYveQpp
125 OVpKaEJEMklrMVNObkxtREhUcUJFZVBxcnZZdWFLUFBvSVZLMlE3VnlHY2pUUkpPWmhseTJEUUlO
126 Y3RGZ0NQUDY0dWVmTHp6MW9uCkVVTFlneFFNRzNIbDVxZ1M5ZXZEdi80RjA2WnBuVVFJWVE5U01H
127 emc5OS9WcHFqKy9iVk9ZbnVqUnNHaFE3QnhvOVpKaEJDMkpnWEQKQnI3NEFoNStXSjJ3NStyYzNP
128 Q2xsK0N0dDdST0lvU3dOZW4wdGpKRmdZNGQxVzFZZzRPMVRtTWZoWVhxNzV5Y0RBRUJXcWNSUWxU
129 RgpxVHE5VTFOVDhmUHp3OGZIaDdsejUxWjRURVpHQmlFaElmajUrV0V3R093YnNBWXlNOVY1Q2tG
130 QldpZXhuNFlONFpsbllOWXNyWk1JCklXeEpreWNNdlY3UG5EbHo4UFQwSkNJaWdrMmJOdUZSYWlz
131 M1JWRUlEQXprL2ZmZnAzLy8vcHc1YzZiTSt5VWM4UW5qbFZmVS9hL2YKZVVmckpQYVZrNk1PSTNi
132 MkpkeUZxQTJjNWdrakx5OFBnRDU5K3VEcDZVbDRlRGpwMTZ4a3QzWHJWZ0lEQStuL1Y2OXhSY1hD
133 VWExYwpDZmZkcDNVSysydlJRbDB6YTg0Y3JaTUlJV3pGN3QyeUdSa1orUHI2bWw3NysvdVRscFpH
134 VkZTVTZXZEpTVW5vZERydXZQTk9tamR2CnpqUFBQRU5FUkVTRjU0c3R0VDZGd1dEUXRQbnF3QUYx
135 d3A2cnJFeHJxVW1Ub0ZzM21EclZ0ZWVmQ09Gc1VsSlNTRWxKcWZGNUhISWMKVDJGaEliLysraXZy
136 MXEwalB6K2ZBUU1Hc0hQblRocFZzQmwyckFNdGFMUnFGUXdlREhWcTZkZ3pMeThJRDFkbmdFK2Vy
137 SFVhSVVTSgphLzh4UFgzNjlHcWR4KzRmYlNFaEllemR1OWYwZXRldVhmUzRac25UbmoxN01uRGdR
138 TnEwYVlPM3R6ZmR1M2NuTlRYVjNsRXRWbHViCm8wcDcvbm0xV2VyeVphMlRDQ0dzemU0Rnc5M2RI
139 VkJIU21Wblo1T2NuRXpZTlcwNFBYcjBZTU9HRGVUbjU1T1RrME5XVmhhOWV2V3kKZDFTTC9POS9h
140 b2Z2M1hkcm5VUmJYYnVxUzU5LythWFdTWVFRMXFaSmsxUmNYQnpSMGRFWWpVWmlZbUx3OFBBZ0lT
141 RUJnT2pvYUZxMgpiTW5vMGFQcDNyMDdyVnExWXNhTUdkeHd3dzFhUkRYYjZ0VnFjMHpEaGxvbjBk
142 N3p6OE1MTDdqV3hsRkNDSm00WnpXREI4UElrZW9NCjc5cE9VZFI1S0ROblFtU2sxbW1FRU5lcTdt
143 ZW5GQXdydUhnUmJyNVpYVCtxZVhPdDB6aUdSWXZnODgvaHh4KzFUaUtFdUpiVHpNTncKUld2WHFs
144 dVZTckg0MjRnUnNHK2ZPdk5kQ09FYXBHQllnWXlPS3E5K2ZaZ3dBZDU5Vitza1FnaHJrU2FwR2pJ
145 YW9VMGIrTzAzYU5kTwoweWdPNS94NWRWSENiZHZVT1JwQ0NNY2dUVklhMmJnUmJyMVZpa1ZGbWpX
146 RHNXUGgvZmUxVGlLRXNBWXBHRFVrelZIWE4yR0N1ajlJClRvN1dTWVFRTlNVRm93WVVSUzBZUTRa
147 b25jUngzWEtMT3VSNDRVS3Rrd2doYWtvS1JnM3MyYU91RytYdnIzVVN4elpwRXN5ZEs4dUYKQ09I
148 c3BHRFVRSEl5REJnZ3M1bXJFaHlzTGhmeTFWZGFKeEZDMUlRVWpCb29LUmlpYXM4K0MrKzlwemJq
149 Q1NHY2t4U01hcnA4R1ZKVApaYkZCY3cwYXBNNklkNEpGaDRVUWxaQ0NVVTFwYWVEakEwNjBHYUNt
150 NnRSUit6TGVlMC9ySkVLSTZwS0NVVTNyMWtsemxLVWVld3cyCmI0YjkrN1ZPSW9Tb0Rvc0x4b1VM
151 RjlpMWF4Y3BLU244OXR0dkZCUVUyQ0tYdzVQK0M4czFiZ3pSMGJMdnR4RE95dXlsUVZhc1dNSHUK
152 M2JzNWNlSUVYbDVldEduVGh1UEhqM1AwNkZHYU5XdkdnQUVES3QxMzIxYTBXaG9rTnhmYXQ0ZlRw
153 MlgvQzB1ZFBBbWRPNnY3bjdkbwpvWFVhSVdvbm15MXZmdm55WlQ3NTVCT0NnNFBMYmFWYVdtSmlJ
154 c2VQSDJmY3VIRVdoNmd1clFyR3Q5L0NoeDlDVXBMZEwrMFNSbzBDClB6K1lNa1hySkVMVVRnNnhI
155 NGFpS09qc09DbEJxNEx4OU5QZzdRMlRKOXY5MGk3aDExOGhLZ29PSDFaWHRSVkMySmZkRmgrOGNP
156 RUMKZS9mdUJkU25qMnREMUFiU2YxRXp3Y0hnNnd2TGwydWRSQWhoQ1lzTHhyZmZmc3Zldlh2cDBh
157 TUhFeVpNWU9YS2xSWmZORFUxRlQ4LwpQM3g4ZkpnN2QyNjU5MU5TVW5CM2QwZXYxNlBYNjNuOTlk
158 Y3R2b2F0WkdkRFhoNTA2YUoxRXVjbUUvbUVjRDRXRjR5aW9pTGMzTnhvCjFxd1pDeFlzNElZYmJy
159 RDRvaE1tVENBaElZRjE2OVlSSHgvUG1UTm55aDNUdDI5ZnNyS3l5TXJLWXVyVXFSWmZ3MWJXcllQ
160 Ky9kVjUKQmFMNkJnNkUvSHpZc0VIckpFSUljMVg1c1ZkVVZNUzVjK2RNcnlNaUl0aTVjeWZ4OGZI
161 TW1qV0xyS3dzMDN0SGpoeXA4b0o1ZVhrQQo5T25UQjA5UFQ4TER3MGxQVHk5M25OWWJJMVZHbXFP
162 c1F5YnlDZUY4cWl3WURSbzBZTU9HRGF4WXNRS2owVWlIRGgxNDhjVVg4Zkh4Cm9WKy9mb3dkTzVi
163 YzNGeGlZMlBadFd0WGxSZk15TWpBMTlmWDlOcmYzNSswdExReXgraDBPalp2M2t4d2NERFBQdnNz
164 Qnc4ZXJNYXYKWm4zRnhmRGpqMUl3ck9YUlI5VVo4L3YyYVoxRUNHR09ldVljZE45OTkzSGt5Qkhl
165 ZnZ0dHpwNDlTMkZoSVVhamtYUG56dEd3WVVQOAovZjE1NXBsbjhMRFNPaGxkdTNibDJMRmp1TG01
166 OGZubm56Tmh3Z1FTRXhNclBEWTJOdGIwdmNGZ3dHQXdXQ1ZEUmJLeW9GVXIyVjNQCldrcFA1SXVQ
167 MXpxTkVLNHJKU1dGbEpTVUdwK24yc05xaTR1THFWT05odnk4dkR3TUJvT3BLV3Y4K1BGRVJrWVNG
168 UlZWNGZHS290Q20KVFJ1T0hqMUtnd1lOeXJ4bjcyRzFiNzhOSjA3QUJ4L1k3Wkl1NytSSmRUK1Jn
169 d2RsSXA4UTltSzNZYlY1ZVhuOCs5Ly9adVhLbGVUbgo1MXQ4UVhkM2QwQWRLWldkblUxeWNqSmhZ
170 V0ZsampsMTZwVHBsMW05ZWpXQmdZSGxpb1VXWlAwbzYydmJWdDJ4TUNGQjZ5UkNpS3BZClhERGVl
171 dXN0R2pWcXhPKy8vODZERHo1b1ZyL0Z0ZUxpNG9pT2pxWi8vLzQ4L2ZUVGVIaDRrSkNRUU1KZm54
172 b3JWcXlnUzVjdUJBY0gKczJMRkNtYlBubTN4TmF5dG9BRFMwNkZ2WDYyVHVKNUprMkRlUE5tUlR3
173 aEhaM0dUMUpJbFMzamtrVWNBdFZscTNyeDV4TVRFMkNSYwpWZXpaSkxWMkxjeVlBWnMyMmVWeXRV
174 Ny8vdXFTSVk4K3FuVVNJVnlmM1pxazZ0YXR5MnV2dmNheFk4Y0FxRmZQckg1enB5ZkRhVzFMCkp2
175 SUo0ZmdzTGhnalJvd2dORFNVRjE5OGtZRURCOUt4WTBkYjVISTQwbjloVzVHUlVGZ0lWaGpJSVlT
176 d0Vhc3VQbWh2OW1xU0tsbk8KUENjSDNOeHNmcmxhNjZPUElERVJ2dnRPNnlSQ3VEYTdOVWxkdkhp
177 UkF3Y09VRnhjek1hTkcxbS9mcjNGRjNVMm16ZERhS2dVQzF1VAppWHhDT0RhTE95QmVmLzExR2pk
178 dXpPN2R1d0h3OFBEZ3JydnVzbm93UjdKeEkvVHVyWFVLMTllb2tUcVJMeTRPNXMvWE9vMFE0bHBt
179 Ck5Vbjk1ei8vSVRRMGxGdHZ2WldNakF4Q1FrSUE5V21qVHAwNk5HN2MyT1pCSzJLdkpxbmV2U0Uy
180 VmgzSkkyenJ6ei9WelpVT0hJQ1cKTGJWT0k0UnJzdWtHU2dNSERzVGIyNXZmZi8rZG5Kd2NRa0pD
181 R0Rac0dEMTc5cVJwMDZiVkNtd045aWdZaFlYZzRhRitrRlZqWVY1UgpEYU5IZzQ4UHZQeXkxa21F
182 Y0UwMkxSaVhMbDJpU1pNbUFPVG41N04xNjFhMmJObENSa1lHRFJvMFlOR2lSWlludGdKN0ZJeU5H
183 K0c1CjUyRExGcHRlUnBTeWZiczZhdXJ3WVhDQUNmNUN1QnlIMktMVjN1eFJNTjU4RTg2Y2tXVzQ3
184 VzNBQUxVVC9MSEh0RTRpaE91eDJ5aXAKMm1ialJyanpUcTFUMUQ0eWtVOEl4eU1GNHpxdVhvVmZm
185 cEVSVWxxSWlGRFhscEtKZkVJNERvc0t4aDkvL0dHckhBNXArM1oxTmRWVwpyYlJPVXZ2SWpueENP
186 QjZMQ3NhQUFRTVlPSEFneTVjdngyZzAyaXFUdzlpMFNacWp0UFIvLzZldUVQejc3MW9uRVVLQWhR
187 Vmo5KzdkCnZQTEtLNnhkdXhZZkh4L0dqeDlQWm1hbXJiSnBUaWJzYWF0Ukl4ZzNUcDNJSjRUUVhy
188 VkhTYTFaczRZeFk4Wnc5ZXBWT25YcXhPeloKcytuUm80ZTE4MTJYTFVkSktRcmNmTE82TEVndFdW
189 L1JJWlZNNU51L1g1MFBJNFNvT2J1TWtqcCsvRGh2dlBFR0FRRUJmUExKSjN6MgoyV2VjUEhtUytm
190 UG5NMmJNR0lzdjdzZ09Ib1M2ZGNITFMrc2t0VnViTmpCMHFPeklKNFFqc0toZ0RCdzRrRWFOR3BH
191 U2tzTHk1Y3NKCkR3K25UcDA2QkFVRk1XN2NPRnRsMUVUSmNGcWRUdXNrWXRJa2lJK0hvaUt0a3do
192 UnUxblVKTFZseXhaQ1EwT3IvSm05MkxKSmF1eFkKNk5vVi92bFBtNXhlV0NnOFhPMEVsNGw4UXRT
193 Y1hacWtLbnFLaUk2T3R2aWl6a0FtN0RrV21jZ25oUGJNS2hnWkdSbkV4OGR6K3ZScAo1cytmVDN4
194 OFBQSHg4Y1RHeG5MampUZGFmTkhVMUZUOC9Qenc4ZkZoN3R5NTE3MXV2WHIxK09hYmJ5eStSazM4
195 K1NlY1BnMEJBWGE5CnJMaU9pQWd3R3FFV2JMOGloTU15cTJEazVlVng3Tmd4akVZang0NGQ0L2p4
196 NHh3L2ZwdzJiZHJ3NmFlZlduelJDUk1ta0pDUXdMcDEKNjRpUGorZk1tVFBsanJsNjlTb3Z2dmdp
197 a1pHUmRsbkN2TFJObTZCWEwzWHltSEFNT2gxTW5DZ1QrWVRRa2tWOUdQdjI3ZU8yMjI2cgowUVh6
198 OHZJd0dBeGtaV1VCRUJNVFEwUkVCRkZSVVdXT2k0dUxvMzc5K21Sa1pIRFBQZmN3Yk5pdzh1RnQx
199 SWN4Y2FJNk9tZktGS3VmCld0UkFRWUU2YW0zREJ2RDExVHFORU03THBuMFlKUi9tNGVIaGRPellz
200 Y3lYdDdlM1JSZk15TWpBdDlULzdmNysvcVNscFpVNTVvOC8KL21EVnFsWDg0eC8vQU5SZnpwNmsv
201 OEl4eVVRK0liUmwxaGF0UzVZc0FXRHIxcTAyRFZOaTRzU0p2UDMyMjZZcWVMMUtHQnNiYS9yZQpZ
202 REJnTUJocWRPM3o1OVdsS0xwM3I5RnBoSTA4L2JUNmRQSDY2ektSVHdoenBhU2trR0tGbFR6dHZo
203 L0d0VTFTNDhlUEp6SXlza3lUCmxMZTN0NmxJbkRsemhzYU5HN053NFVMdXZmZmVNdWV5UlpOVVVw
204 SzZCOGFHRFZZOXJiQ2lzV1BWMmZkVHAycWRSQWpuWk5NTmxFNmQKT2xWaHM1Q2lLT2gwT2xxM2Jt
205 M1JSZlY2UFhQbXpLRkRodzVFUmtheWFkTW1QQ3I1NStMbzBhTVpQSGd3OTk5L2YvbndOaWdZVTZl
206 cQpRemZmZU1PcXB4Vld0SE9uT2k5RGR1UVRvbnFxKzlscFZwTlU3NzlXNEx1MmFKUVVqSDM3OWxs
207 MDBiaTRPS0tqb3pFYWpjVEV4T0RoCjRVSENYMnMvYUQydjQrZWY0WVVYTkkwZ3FoQVFBRjI2d0pk
208 ZndxaFJXcWNSb3ZZdzZ3a2pLaXFLNzcvL0hpOHZyM0tWU2FmVGNmancKWVp1R3JJeTFuekN1WG9Y
209 bXplSElFV2pSd21xbkZUYVFsS1FXOWw5L2xlVmJoTENVVFp1azh2THljSGQzcjNDK2hFNm5vMlhM
210 bGhaZgoyQnFzWFRCMjdJQmh3OERDQnlhaEFVVlJuelErK0FENjlkTTZqUkRPeGFaTlV1N3U3Z0NW
211 OWpPNGl2UjBDQXZUT29Vd2gwNzM5NDU4ClVqQ0VzQStMNXpLZk9YT0dKVXVXc0hUcFVzNmVQV3VM
212 VEpxUmd1RmNIbmtFdG02RlBYdTBUaUpFN1dCUndWaXlaQWs5ZS9ia2wxOSsKWWZQbXpmVHMyZE0w
213 UjhNVmJOa2lCY09aTkdvRS8vaUhUT1FUd2w0c21vY1JIQnpNbWpWcmFOT21EYUFPdDQySWlPRFhY
214 MysxV2NEcgpzV1lmeHNXTGNOTk5jTzRjMUs5dmxWTUtPemgxU3AzSUp6dnlDV0UrdXl4djNxSkZD
215 d29LQ2t5dkN3b0thT0VpdzRtMmJWT0hha3F4CmNDNDMzYVFPVlBqd1E2MlRDT0g2ek9yMEhqOStQ
216 QUN0V3JXaVc3ZHUzSG5ublNpS3dxWk5teGd3WUlCTkE5cUw5Rjg0cjBtVG9IOS8KZVA1NW1jZ25o
217 QzJaVlRDNmRldG1tclEzY09CQTA4L3Z2LzkrdXk4TWFDdGJ0a0FGazhtRkUramNHWUtDNEQvL2dj
218 Y2YxenFORUs3TAo3bXRKV1pNMSt6RGF0NGVVRkxqMVZxdWNUdGhaVXBMNmhQSGJiektSVDRpcTJI
219 VGlYb21DZ2dMV3JsMUxVbElTNTg2ZE16MWRMRjI2CjFPSUxXNE8xQ3NhSkV4QVlxTzZ5Sng4Mnpx
220 bGtJdCtjT1dyemxCQ2ljbmJwOUo0NmRTb2JOMjRrS1NrSmc4SEE4ZVBIOGZMeXN2aWkKamlZOUhV
221 SkRwVmc0TTUzdTczMi9oUkMyWWRFVFJ0ZXVYY25NektSejU4N3MycldMdkx3OCt2ZnZUMFpHaGkw
222 elZzcGFUeGhUcHFoagorcWROczBJb29abkNRblZIdnA5K0FuOS9yZE1JNGJqczhvVGg1dVlHUVBm
223 dTNVbE1UT1RVcVZNVUZoWmFmRkZISXhQMlhFUERoaktSClR3aGJzdWdKWTlHaVJRd2VQSmdqUjQ0
224 d1pjb1UvdmpqRDJiTW1NSFFvVU50bWJGUzFuakN1SG9WYnJ3UnNyTmxoVnBYOEwvL3dlMjMKcXd0
225 SXRtcWxkUm9oSEpOZE9yMUJYVXNxS1NrSmdJaUlDRTBYSkxSR3dkaTVVeDFPS3l2VXVvNG5uNFFP
226 SGVDVlY3Uk9Jb1Jqc2t1VApWT20xcE5MUzByampqanVjZmkycGtnNXY0VG9tVG9UNTg5VStEU0dF
227 OWRUNnRhU2lvOVhobUg5TlpoY3VZdUJBZU9naEdEMWE2eVJDCk9CNVpTNnFhWkVrUTExU3lWNGJ6
228 VGtzVnd2RlVheTJwa2oyK25YMHRxVXVYMUZWT2c0SzBUaUtzYmNBQXRWaXNXNmQrTDRTb3VXcXQK
229 SlZYeWZYWFhra3BOVFNVNk9wb3JWNjRRRXhOaktrZ2xWcTFheGF1dnZvcE9wK09XVzI0aE5qYVdr
230 SkFRaTY5VGxXM2IxT1lvV2JETwo5WlNleUNjRlF3anJxTlphVXR1MmJVT24wOUcxYTlkcVhWU3Yx
231 ek5uemh3OFBUMkppSWhnMDZaTlpVWmJYYnAwaVNaTm1nQ3dZY01HClhubmxGVkpUVTh1SHIyRWZ4
232 cXhaY1BTb3VpKzBjRDB5a1UrSWl0bWxEeU0xTlpYYmJydU5sMTkrbVpkZWVvbmJicnVOalJzM1du
233 VEIKdkx3OEFQcjA2WU9ucHlmaDRlR2twNmVYT2Fha1dKUWMzN0JoUTR1dVlTN3B2M0J0RFJ2QzAw
234 L0xSRDRock1XaWdqRno1a3krKys0NwprcEtTU0VwS1l2WHExYnp6empzV1hUQWpJd05mWDEvVGEz
235 OS9mOUxTMHNvZDkrMjMzK0xsNWNXWU1XTll1SENoUmRjd2x4UU0xL2VQCmY4RFhYNnRQa2tLSW1q
236 R3JENk5FVGs0T045OThzK2wxMjdadHljbkpzWG9vZ0tGRGh6SjA2RkNXTFZ2R2ZmZmRSMVpXVm9Y
237 SHhjYkcKbXI0M0dBd1lEQWF6em4veXBOcnBMY3VadTdaV3JkU2gwNis5QmpiNmQ0Y1FEaThsSllX
238 VWxKUWFuOGVpUG93RkN4YXdkT2xTSG56dwpRUlJGNFp0dnZtSGt5SkdNR3pmTzdBdm01ZVZoTUJo
239 TUJXRDgrUEZFUmtZU0ZSVlY2ZCs1NmFhYnlNN09wbEdqUm1YRDE2QVBZOVVxCmRWdlAvLzYzV245
240 ZE9KRno1K0MyMjJEelp2RHgwVHFORU5xemVSK0dvaWdNR1RLRU9YUG1rSnVieS9uejU0bUxpN09v
241 V0FDNHU3c0QKYW45SWRuWTJ5Y25KaEYzVExuVHc0RUhUTC9QRER6L1FyVnUzY3NXaXBxUTVxdmE0
242 OFVaMTlyZXNSaXhFelZqVUpCVWVIczdPblR1cgpQVHFxUkZ4Y0hOSFIwUmlOUm1KaVl2RHc4Q0Fo
243 SVFHQTZPaG92djc2YXhZdFdvU2JteHQ2dlo2Wk0yZlc2SG9WU1UrSHlaT3RmbHJoCm9DWk1nRTZk
244 WVB0MmRiTXNJWVRsTEdxU0dqdDJMUGZmZi85MW00L3NxYnFQVlZldnFpdlRIam9FTFZ2YUlKaHdT
245 SEZ4c0g2OTJod3AKUkcxbWw5VnFBd0lDMkwxN042MWJ0Nlp0MjdhbUMyZG1abHA4WVd1bzdpKzll
246 emNNR2FMTzhoYTFSMkdoMnBleGZEbjA2S0YxR2lHMApVOTNQVG91YXBGYXRXbVdWSGU2MEppdlUx
247 azRORzhLcnI4Sy8vZ1UvL3FoMUdpR2NqMW1kM2thamtjVEVSQll1WE1peFk4Znc5dmFtClU2ZE9w
248 aTluSXgzZXRkZW9VZXFjRENrWVFsak9ySUx4OHNzdnMyREJBbHExYXNXTUdUT0ljL0twczFJd2Fp
249 ODNONWd4UTMzS2NJR0gKWlNIc3lxdytqRzdkdXBHV2xvYWJteHU1dWJrTUdUS0VEUnMyMkNQZmRW
250 V25IUzQvWDUzTWxaTWppdzdXVnNYRkVCd01yNzhPOTk2cgpkUm9oN00rbTh6Q0tpNHR4YzNNRG9I
251 bno1cHcvZjk3aUN6bUt6RXpvM0ZtS1JXMVdwNDVhTEtaT1ZZdUhFTUk4WmhXTTdkdTMwN1JwClU5
252 UFhqaDA3VE44M2E5Yk0xaG10YXRzMnNNRks2Y0xKREI0TWpSdkRzbVZhSnhIQ2VaZzFTdXJxMWF1
253 MnptRTNtWm5RcDQvV0tZVFcKZERwNDR3MFlOdzRlZUVEdDJ4QkNYSjlGcTlXNmdzeE1xT0ZFZGVF
254 aSt2V0REaDNnazArMFRpS0VjNmpXQmtxT3d0S09tL3g4OFBDQQozRnlvWDkrR3dZVFR5TXlFUVlO
255 ZzcxNW8zbHpyTkVMWWgxMDJVSEoyTzNhQW41OFVDL0czcmwzVi9venAwN1ZPSW9UanExVUZRNXFq
256 ClJFWGVlQU1XTDRZOWU3Uk9Jb1JqazRJaGFyM1dyZFdKZkJNbnltUStJYTVIQ29ZUXdELy9DY2VP
257 UVdLaTFrbUVjRnkxcHRQNzhtVzEKVS9Qc1diRHlYa3pDUmF4ZHF4YU9uVHRsWXFkd2JkTHBYWVZk
258 dTlUOXU2VllpTXFFaDRPL3Y3cHZoaENpdkZwVE1LUTVTcGpqdmZmZwozWGZoNUVtdGt3amhlS1Jn
259 Q0ZIS3JiZkNrMC9DbENsYUp4SEM4VWpCRU9JYUw3K3M3cGVSbnE1MUVpRWNpeVlGSXpVMUZUOC9Q
260 M3g4CmZKZzdkMjY1OTVjc1dVSlFVQkJCUVVFOC9QREQ3TnUzcjBiWHUzSkZuYlFYSEZ5ajA0aGFv
261 bWxUZU9zdEdEOWVWck1Wb2pSTkNzYUUKQ1JOSVNFaGczYnAxeE1mSGMrYk1tVEx2ZTN0N2s1cWF5
262 bSsvL1VaRVJBU3Z2ZlphamE3MysrOXd5eTNxQjRFUTVuamtFWFZCd2c4LwoxRHFKRUk3RDdnVWpM
263 eThQZ0Q1OSt1RHA2VWw0ZURqcDF6ejc5K3paRTNkM2R3Q2lvcUpxdkZtVE5FY0pTOVdwQS8vK04w
264 eWJCa2VPCmFKMUdDTWRnOTRLUmtaR0JyNit2NmJXL3Z6OXBhV21WSHYvUlJ4OHhlUERnR2wxVENv
265 YW9EbDlmZU80NXRSUGNlV2NyQ1dFOVp1MkgKb1pWMTY5YXhlUEZpTm0vZVhPa3hzYkd4cHU4TkJn
266 TUdnNkhjTVptWmNNODlOZ2dvWE43a3liQmlCWHo2S1l3Wm8zVWFJYW9uSlNXRgpsSlNVR3AvSDdq
267 Tzk4L0x5TUJnTVpHVmxBVEIrL0hnaUl5T0ppb29xYzl6MjdkdTUvLzc3V2JObURaMDZkYXJ3WE9i
268 TVZpd3VoaHR2CmhNT0hvVVVMNi93T29uYlp2aDM2OTRlc0xMVXZUQWhuNXpRenZVdjZKbEpUVThu
269 T3ppWTVPWm13c0xBeXh4dzllcFJodzRheFpNbVMKU291RnVRNGVWQXVGRkF0UlhZR0I4UFRUNnU1
270 ODBqUWxhak5ObXFUaTR1S0lqbzdHYURRU0V4T0RoNGNIQ1FrSkFFUkhSek5qeGd4eQpjbklZTjI1
271 WEd1S3RBQUFWUjBsRVFWUWNBRzV1Ym16WnNxVmExNUwrQzJFTkw3OE0zYnJCMHFYcUNDb2hhaU9Y
272 WDN6d3hSZWhXVE4xCitXb2hhbUxyVm9pS1VwdW9icnBKNnpSQ1ZKL1RORW5abXp4aENHdnAzbDN0
273 K0g3bUdhMlRDS0VObHk0WWlpSUZRMWpYdEducXFnRXIKVm1pZFJBajdjK21DY2ZRb05Hd296UWZD
274 ZWhvMmhFOCtVWmNOT1hGQzZ6UkMySmRMRnd4NXVoQzJjTWNkOEk5L3dNaVI2anBsUXRRVwpVakNF
275 cUlaLy9RdnExMWVicUlTb0xhUmdDRkVOZGV2Q2tpWHcrZWV3Wm8zV2FZU3dENWN0R0lvQzI3Wkp3
276 UkMyMDdxMVdqUWVmeHlPCkg5YzZqUkMyNTdJRjQrUkp1SG9WMnJYVE9vbHdaWDM3UWt3TWpCZ0JS
277 cVBXYVlTd0xaY3RHQ1hOVVRxZDFrbUVxNXN5UmQxclplcFUKclpNSVlWc3VYVEM2ZGRNNmhhZ042
278 dFNCTDc2QS8vd0hFaE8xVGlPRTdiaDB3WkQrQzJFdkhoNXF3Umc3VnAzL0k0UXJrb0loaEpYMAo2
279 Z1hQUHc5RGg4TEZpMXFuRWNMNlhITHh3ZE9uNGJiYklDZEgrakNFZlNtS3VrUGZuMy9DeXBWUXo2
280 RzNLQk8xbFN3K1dFcFdGdWoxClVpeUUvZWwwc0dDQk9tSXFKa2IyenhDdXhTVUxoalJIQ1MyNXVj
281 RlhYOEdtVFRCcmx0WnBoTEFlS1JoQzJFQ3padkRERC9EQkIycngKRU1JVlNNRVF3a2JhdFlQVnEr
282 R2YvNFNmZjlZNmpSQTE1M0tkM3JtNTBMNjkrbWZkdWhvRkU2S1VwQ1FZTlFwU1U5WEJHRUpvVFRx
283 OQovL0xycnhBVUpNVkNPSTZJQ0hqckxlamZIL2J2MXpxTkVOV25TY0ZJVFUzRno4OFBIeDhmNXM2
284 ZFcrNzl2WHYzMHJOblR4bzJiTWpzCjJiTXRPcmMwUndsSE5IbzB2UG9xM0gyM0ZBM2h2RFFaSlQ1
285 aHdnUVNFaEx3OVBRa0lpS0NrU05INHVIaFlYcS9aY3VXekowN2w1VXIKVjFwODdzeE05Vjl5UWpp
286 YUo1NVFoOTNlZFJmODlKTTBUd25uWS9jbmpMeThQQUQ2OU9tRHA2Y240ZUhocEtlbmx6bW1WYXRX
287 ZE8vZQpIVGMzTjR2UEwwOFl3cEdOSFFzelpxaFBHci8vcm5VYUlTeGo5NEtSa1pHQnI2K3Y2Ylcv
288 dno5cGFXbFdPZmVsUzNEa0NQajVXZVYwClF0akVtREh3K3V0cTBkaTdWK3MwUXBqUDZSY3VpSTJO
289 TlgzdjRXR2djMmNEMVhnd0VjS3VIbjljYlo3cTEwOGRSUlVRb0hVaTRjcFMKVWxKSVNVbXA4WG5z
290 WGpCQ1FrSjQvdm5uVGE5MzdkcEZaR1JrdGM5WHVtRE1teWZOVWNKNWpCb0ZEUnFvVHhxTEZrRU4v
291 amNRNHJvTQpCZ01HZzhIMGV2cjA2ZFU2ajkyYnBOemQzUUYxcEZSMmRqYkp5Y21FaFlWVmVLeWw0
292 NFNsLzBJNG14RWo0SnR2MUZGVThmRmFweEhpCitqU1p1TGRod3diR2pSdUgwV2drSmlhR21KZ1lF
293 aElTQUlpT2p1YlBQLzhrSkNTRTgrZlBVNmRPSFpvMmJjcnUzYnU1NFlZYnlvYS8KWnZKSmNEQjgv
294 REYwNzI3WFgwZUlHanQwQ0tLaVlNQUFlTzg5V2VWVzJGWjFKKzY1ekV6dndrSm8wVUpkMHJ4aFE0
295 MkRDVkVOdWJudwo0SU5Rdno1OCthVzY3YXNRdGxEclozcnYzS21PYTVkaUlaeFY4K2JxZ29YdDI2
296 dWJNUjA0b0hVaUljcHltWUloL1JmQ0ZiaTVxZnRwClJFZER6NTVxWjdqenRnRUlWeU1GUXdnSG85
297 T3BLOXorK0NPODh3NDg4Z2o4TmQ5VkNFMUp3UkRDUVFVR3d0YXRhdDljY0xBc2tTNjAKNXhLZDNr
298 YWoydjc3di85Qmt5WmFweExDK2xhdlZ2Y0tIemNPWG41WjdSZ1hvcnBxZGFmM25qM2c2U25GUXJp
299 dXdZUFZ2ZXEzYmxXWAo3MDlPMWpxUnFJMWNvbUJJYzVTb0RkcTJWWjgwWnM1VU84V0hEVlBYVGhQ
300 Q1hxUmdDT0ZFZERyMWFXUDNiclZmbzFzM2RmWGJnZ0t0Cms0bmFRQXFHRUU2b1lVTjQ1UlhZdGcy
301 MmI0Zk9uZFVsUm9xTHRVNG1YSm5UZDNwZnVhTFF2RGtjTzZaMmZBdFJHNjFiQnkrOEFFWWoKdlBR
302 U1BQU1FMQzhpS2xkck83MzM3NGViYnBKaUlXcTMvdjNWcDQxMzM0VVBQNFRiYjRlUFBvS2lJcTJU
303 Q1ZmaTlBVkRtcU9FVU9sMAo2aExwcWFudytlZXdhaFY0ZThQczJYRGhndGJwaEN1UWdpR0VDK3Jk
304 Rzc3L0hoSVRZY3NXZFgycVVhUFV2Y1NsbjBOVWx4UU1JVnlZClhnL0xscW43aHdjSHc3UFBRc2VP
305 YW9lNUxHNG9MT1gwbmQ3dTdncjc5ME9yVmxxbkVjSTUvUHFyMm1TMWRDbjQrS2hQSHZmY284N3oK
306 RUxWRHJkMFBvMzE3aGFOSHRVNGloUE14R21ITkdsaThXSjA1M3I0OVJFU28vU0M5ZXFuYnh3clhW
307 R3NMeHBBaENpdFhhcDFFQ09kMgo1UXBrWkVCU2tscEVkdStHUG4zK0xpQ2RPcW1kNnNJMTFOcUNN
308 WDI2d3F1dmFwMUVDTmVTazZQTzdTZ3BJTVhGYWw5aHQyNS8vOW11Cm5SUVJaMVZyQzhicTFRcjMz
309 S04xRWlGY2w2S29FMk8zYlZNSG1XemJwbjRwaWxvOFNncElseTdnNVNVcjZUb0RwNXE0bDVxYWlw
310 K2YKSHo0K1BzeWRPN2ZDWTE1NjZTVzh2YjNwMXEwYmUvZnVyZlJjempCQ0tpVWxSZXNJWnBHYzF1
311 TU1HY0c4bkRvZGRPZ0FRNGZDYTYrcAoyOGorK2FlNmV1NC8vNmtXaU04L1Y1dXVtalpWaiszYkYw
312 YVBWdGU1K3VJTGRTK1BFeWVxUDZUWGxlNm5NOU5rOFlBSkV5YVFrSkNBCnA2Y25FUkVSakJ3NUVn
313 OFBEOVA3Vzdac1llUEdqV3pkdXBXa3BDUW1UNTVNWW1KaWhlZHlocEVkS1NrcEdBd0dyV05VU1hK
314 YWp6TmsKaE9ybjFPbmdsbHZVcjhHRC8vNzVsU3ZxMDhqaHczRG9rUHJuZi8vNzkvZm56NnRQSWUz
315 YWdZY0h0R3haL3MvUzN6ZHBvbDdMMWUrbgpzN0I3d2NqN2E2L0pQbjM2QUJBZUhrNTZlanBSVVZH
316 bVk5TFQwM25nZ1FkbzBhSUZJMGVPWk9yVXFaV2VUOXBRaFhBYzllcXA4enc2CmRvUzc3eTcvL3NX
317 TGtKME5mL3dCWjgrcVgyZk9xUE5FZnY3NTc5Y2w3MTI5cWhhT3ExZGh3d2ExZ0RScVZQRlg0OGFW
318 djNmdGNmWHIKUTUwNlVMZnUzMytXL2w0K1Z5cG05NEtSa1pHQnI2K3Y2Ylcvdno5cGFXbGxDc2FX
319 TFZ0NDlORkhUYTlidFdyRndZTUh1ZlhXVysyYQpWUWhoWFRmY0FBRUI2cGM1Q2dyVXd2SDY2K3FD
320 aXZuNTZzOEtDc3ArWDFDZ05wTlY5bDdwci94OGRVangxYXZxVjNGeCtUOTF1b29MClNlbnZLL3Ba
321 YnE0NlVmSjZmMCtuKzdzZ2xTNU05dnhaZFRua2VwYUtvcFRya05GVjhwdFc5bk5ITTMzNmRLMGpt
322 RVZ5V284elpBVG4KeVptUVlMK2NpdkozUWJIVTJiUE9jVCtydys0Rkl5UWtoT2VmZjk3MGV0ZXVY
323 VVJHUnBZNUppd3NqTjI3ZHhNUkVRSEE2ZE9uOGZiMgpMbmN1Sng3Z0pZUVFUc2Z1bzZUYzNkMEJk
324 YVJVZG5ZMnljbkpoSVdGbFRrbUxDeU1yNy8rbXJObno3SjA2Vkw4L1B6c0hWTUlJY1ExCk5HbVNp
325 b3VMSXpvNkdxUFJTRXhNREI0ZUhpUWtKQUFRSFIxTmFHZ292WHYzcG52MzdyUm8wWUxGaXhkckVW
326 TUlJVVJwaW9QYnNHR0QKNHV2cnEzVHExRW41NElNUEtqeG15cFFwU3NlT0haV3VYYnNxZS9ic3NY
327 TkNWVlU1MTY5ZnJ6UnIxa3dKRGc1V2dvT0RsZGRlZTgzdQpHVWVQSHEyMGJ0MWFDUWdJcVBRWVI3
328 aVhWZVYwaEh1cEtJcHk5T2hSeFdBd0tQNysva3Jmdm4yVkpVdVdWSGljMXZmVW5KeGEzOU9DCmdn
329 SWxORFJVQ1FvS1VzTEN3cFQzM251dnd1TzB2cGZtNU5UNlhwWjI1Y29WSlRnNFdMbm5ubnNxZk4v
330 UysrbndCU000T0ZqWnNHR0QKa3AyZHJkeCsrKzNLNmRPbnk3eWZucDZ1OU9yVlN6bDc5cXl5ZE9s
331 U0pTb3F5aUZ6cmwrL1hoazhlTEFtMlVxa3BxWXFtWm1abFg0UQpPOHE5ckNxbkk5eExSVkdVa3lk
332 UEtsbFpXWXFpS01ycDA2ZVZqaDA3S3VmUG55OXpqQ1BjVTNOeU9zSTl2WFRwa3FJb2lsSllXS2gw
333 Cjd0eFoyYjkvZjVuM0hlRmVLa3JWT1IzaFhwYVlQWHUyOHZEREQxZVlwenIzMDZIM3d5ZzlaOFBU
334 MDlNMFo2TzBhK2RzN05tenh5RnoKZ3ZhZDlIZmVlU2MzM25oanBlODd3cjJFcW5PQzl2Y1NvRTJi
335 TmdRSEJ3UGc0ZUZCNTg2ZDJicDFhNWxqSE9HZW1wTVR0TCtualJzMwpCdURpeFl0Y3VYS0ZCdGNz
336 bCtzSTl4S3F6Z25hMzB1QTQ4ZVA4OE1QUC9ERUUwOVVtS2M2OTlPaEMwWmxjelpLMjdKbEMvNysv
337 cWJYCkpYTTI3TW1jbkRxZGpzMmJOeE1jSE15enp6NXI5NHptY0lSN2FRNUh2SmNIRGh4ZzE2NWRo
338 SWFHbHZtNW85M1R5bkk2d2owdExpNG0KS0NpSW0yNjZpV2VlZVliMjdkdVhlZDlSN21WVk9SM2hY
339 Z0pNbWpTSmQ5OTlsenAxS3Y2WXI4NzlkT2lDWVE3Rmdqa2JXdXJhdFN2SApqaDBqSXlNRGYzOS9K
340 a3lZb0hXa2N1UmVWcytGQ3hjWVBudzQ3Ny8vUGsyYU5DbnpuaVBkMCt2bGRJUjdXcWRPSFg3NzdU
341 Y09IRGpBCi9Qbnp5Y3JLS3ZPK285ekxxbkk2d3IxTVRFeWtkZXZXNlBYNlNwOTJxbk0vSGJwZ2hJ
342 U0VsRmw0Y05ldVhmVG8wYVBNTVNWek5rcFUKTm1mRGxzekoyYlJwVXhvM2JveWJteHRqeDQ0bEl5
343 T0RvcUlpdSthc2lpUGNTM000MHIwMEdvME1HemFNUng5OWxDRkRocFI3MzFIdQphVlU1SGVtZWVu
344 bDVNV2pRb0hMTnVvNXlMMHRVbHRNUjd1WG16WnY1N3J2djZOaXhJeU5IanVTbm4zN2lzY2NlSzNO
345 TWRlNm5ReGNNClo1bXpZVTdPVTZkT21hcjU2dFdyQ1F3TXJMRHRVMHVPY0MvTjRTajNVbEVVeG80
346 ZFMwQkFBQk1uVHF6d0dFZTRwK2JrMVBxZW5qbHoKaHR6Y1hBRE9uajNMMnJWcnl4VTJSN2lYNXVU
347 VStsNEN2UG5tbXh3N2RvekRody96NVpkZmN2ZmRkN05vMGFJeXgxVG5manJrMGlDbApPY3VjamFw
348 eXJsaXhnZ1VMRmxDdlhqMENBd09aUFh1MjNUT09IRG1TRFJzMmNPYk1HZHEzYjgvMDZkTXhHbzJt
349 akk1eUw2dks2UWozCkV1RG5uMzltOGVMRkJBWUdvdGZyQWZWLzFLTi83Um5zS1BmVW5KeGEzOU9U
350 SjA4eWF0UW9ybDY5U3BzMmJaZzhlVEp0MjdaMXVQL1gKemNtcDliMnNTRWxUVTAzdnAxTnZvQ1NF
351 RU1KK0hMcEpTZ2doaE9PUWdpR0VFTUlzVWpDRUVFS1lSUXFHRUVJSXMwakJFRlpWcDA0ZApKaytl
352 YkhvOWE5WXN1Mi9RWXpBWXlNek1CQ0FxS29yejU4L1g2SHdwS1NrTUxyMXhkUlUvdDhXMWJPbkVp
353 Uk04K09DRGRyMm1jRTVTCk1JUlYxYTlmbjIrLy9aYXpaODhDbHMvRXZWcWRMYzZ1VWZxYTMzLy9Q
354 YzJhTmF2eE9WM1p6VGZmekZkZmZhVjFET0VFcEdBSXEzSnoKYytPcHA1N2kvZmZmTC9mZWlSTW5t
355 REJoQWtGQlFVeWFOSWxUcDA0QjhQampqL1Bzczg4U0ZoYkdpeSsreU9qUm8zbnV1ZWNJRFEzbAo5
356 dHR2Snlzcmk2ZWVlb3JPblRzVEd4dHJPdC9UVHo5TlNFZ0lkOXh4QndzWExxd3dqNWVYRjJmUG51
357 WEREejlFcjllajErdnAyTEVqCmQ5OTlONkN1QS9iWVk0OFJGaGJHbENsVFRETnlNekl5Nk5ldkgz
358 cTlucVNrcENwLzc0S0NBdDU3N3ozNjl1MUxWRlFVS1NrcEFQVHMKMmJQTWJOcVNwNS9Dd3NJS2o2
359 L01zV1BIR0Rod0lNSEJ3UVFGQlhIdzRFR3lzN1B4OS9kbjdOaXgrUG41TVgzNmRGUCsxMTU3amRE
360 UQpVRUpDUW5qenpUZkxuT2U1NTU1RHI5ZlRyVnMzRGg4K1RIWjJObDI2ZEFIZ3M4OCtZOFNJRVF3
361 YU5JaUFnQUErK09BRDA5OWRzMllOClBYdjJKRFEwbElrVEp6SisvUGh5T1gvOTlWZjY5ZXRIY0hB
362 d1hidDI1ZUxGaTFYZU8rRkVhckowcmhEWHV1R0dHNVR6NTg4clhsNWUKU2w1ZW5qSnIxaXdsTmpa
363 V1VSUkZtVFJwa2pKejVreEZVUlRselRmZlZGNTQ0UVZGVVJSbDFLaFJTdCsrZlUxTGJqLysrT1BL
364 d0lFRApsYUtpSXVXenp6NVRicmpoQmlVbEpVVXBLaXBTL1B6OFRFdkg1K1RrS0lxaUtFVkZSVXBZ
365 V0poeThlSkZSVkVVeFdBd0tOdTJiVk1VClJWRzh2THlVczJmUG12SVpqVWJsemp2dlZCSVRFMDNI
366 NXVibUtvcWlLQys4OElMeTVaZGZLb3FpS0lHQmdVcDZlcnB5OGVKRkpUSXkKc3NMbG9kZXZYMi9h
367 WitEVFR6OVY1c3lab3lpS292ejU1NTlLYUdpb29paUs4djc3N3l2VHBrMVRGRVZSVHB3NG9keCsr
368 KzNYUGI3MApPVXViTm0yYTh2SEhINXQraDRLQ0F1WHc0Y09LVHFkVHZ2bm1HNld3c0ZDNS8vNzds
369 UlVyVnBTNU4xZXVYRkVHRHg2czdOMjcxM1N2CjQrUGpUZmN0UHo5Zk9YejRzR2twK1U4Ly9WUnAz
370 YnExY3VMRUNlWDgrZk5LdTNidGxNdVhMeXRHbzFIeDh2SlNEaDgrckp3OWUxYnAKMnJXck1uNzgr
371 SEk1UjQwYXBheGJ0MDVSRkhVWjhDdFhycFE3UmpndmVjSVFWdGUwYVZNZWUreXhNdjg2QmZqdmYv
372 L0xtREZqQUJnNwpkaXlyVjY4RzFDYWtCeDU0Z0taTm01cU9mZUNCQjZoZnZ6NDllL2FrZWZQbTlP
373 M2JsL3IxNjZQWDYwMHJBU2NuSnhNVkZZVmVyK2ZRCm9VUDg5Tk5QVldhTGlZbWhYNzkrUkVWRnNX
374 M2JObmJ1M0luQllFQ3YxNU9ZbUVocWFpcC8vUEVIaXFJUUdocEtreVpOR0Q1OGVKWEwKVlgvOTlk
375 Y3NYTGdRdlY1UFpHUWtwMDZkNHZEaHd6ejAwRU9zV0xFQ2dPWExsNXY2Q2lvNi90Q2hRNVdlUHlR
376 a2hMaTRPTjU1NXgxeQpjbkpvMkxBaG9DNUxNM1RvVUJvMGFNRElrU05aczJZTkFGdTNibVhZc0dF
377 RUJnYVNtWm5KMnJWcnVYejVNdXZYcitmSko1OEUxT2JEClJvMGFsYnRXZUhnNGJkdTJwV25UcHZq
378 Nys1T1ptVWxhV2hwZHVuVEJ5OHVMRmkxYWNPKzk5MVo0VDNyMjdNbVVLVk9ZTjI4ZVY2NWMKb1c3
379 ZHVsWCtOeEhPdytHWEJoSE9hZUxFaVhUdDJwWFJvMGVYK1hsbEg3eHQyN1l0ODdwa2ZhNzY5ZXZU
380 dkhsejA4L3IxNi9QNWN1WAp1WERoQWxPbVRHSGp4bzNjY3NzdERCMDZsSFBuemwwMzAyZWZmY2F4
381 WThlWVAzOCtvQzVUSFJBUXdQcjE2OHNjZC96NGNmTit5VktLCmk0dUpqNCtuVDU4KzVkNXIyYkls
382 TzNic1lQbnk1YWFsR1NvN3ZtUzVqbXRGUlVYUnJWczNGaTllVEs5ZXZmanFxNi9LM0pjU0pmMDMK
383 NDhlUFo4V0tGUVFFQkRCcDBpVE9uVHVIVHFlcmNJWFNhMTE3dndzTEM2bFhyMTZadnFIS3poRWRI
384 YzJBQVFOTVM1R2twNmR6MDAwMwpYZmQ2d25uSUU0YXdpUnR2dkpHSEhucUlmLy83MzZZUG1rR0RC
385 dkg1NTU5VFhGek1KNTk4d3IzMzNsdXRjeXVLUW01dUxtNXViclJwCjA0WjkrL2J4NDQ4L1h2ZnZi
386 TnUyamRtelovUEZGMStZZmhZU0VzS3BVNmRNVHl5WExsMWkvLzc5dEd2WGpycDE2NUtSa2NHbFM1
387 ZFkKdm54NWxaa2VmdmhoRWhJU3VIRGhBa0NaSmErSER4L09PKys4dy9uejV3a0lDS2p5K0lvY1Bu
388 ell0SFpSdjM3OVRQMGllWGw1ckZ5NQprcUtpSXBZdFcwWmtaQ1NGaFlWY3VIQUJMeTh2L3ZqakQx
389 YXRXZ1dvL1V0MzNYVVhDeGN1UkZFVWlvcUtLQ2dvcVBKMzArbDA5T2pSCmd4MDdkcENkblUxT1Rn
390 NkppWWtWRG1nNGVQQWczdDdldlBycXEvajYranJFWGlYQ2VxUmdDS3NxL1NIeTNIUFBjZWJNR2RQ
391 cnlaTW4KYy9Ub1VmUjZQYWRPbmVMWlo1K3Q4TzlkKzdxaTk5cTNiOCt3WWNNSUNBamdtV2VlcVhR
392 b2FzbS9xdVBqNHpsMzdoeDMzWFVYZXIyZQpwNTU2Q29BdnZ2aUNCUXNXRUJnWXlCMTMzTUh2di84
393 T3dFY2ZmY1JMTDcxRTc5NjlDUW9LcXZERFVhZlRtWDcrd0FNUEVCb2FTa1JFCkJBRUJBVXliTnMx
394 MDNBTVBQTUN5WmN0NDZLR0h5dnlzb3VOTG43TzA1Y3VYRXhBUVFFaElDUG41K2FaeitmcjY4dDEz
395 M3hFY0hFeEEKUUFCUlVWRTBiTmlRS1ZPbUVCb2F5dkRod3hrMGFKRHBQRys4OFFZSERod2dLQ2lJ
396 WHIxNm1RWWVsRnl6c3V2WHJWdVhlZlBtTVh6NApjQ0lqSStuU3BRc2RPM1lzZDl5Y09YUG8wcVVM
397 b2FHaCtQcjZjc2NkZDFUNDMwVTRKMWw4VUFnbmxaMmR6ZURCZzlteFk0ZGRybmZwCjBpV2FOR2xD
398 WGw0ZTk5eHpEeDkvL0RHMzMzNjdYYTR0SElQMFlRamh4T3k1NDF4c2JDenIxcTNEemMyTi8vdS8v
399 NU5pVVF2SkU0WVEKUWdpelNCK0dFRUlJczBqQkVFSUlZUllwR0VJSUljd2lCVU1JSVlSWnBHQUlJ
400 WVF3aXhRTUlZUVFadmwvQ0hyZjBuUWF1Ym9BQUFBQQpTVVZPUks1Q1lJST0K
401 </png>
402 </output>
403 </outputs>
404 </codecell>
405 <markdowncell>
406 <source>## Serial calculation of nearest neighbor eigenvalue distribution</source>
407 </markdowncell>
408 <markdowncell>
409 <source>In this section we numerically construct and diagonalize a large number of GOE random matrices
410 and compute the nerest neighbor eigenvalue distribution. This comptation is done on a single core.</source>
411 </markdowncell>
412 <codecell>
413 <input>def serial_diffs(num, N):
414 """Compute the nearest neighbor distribution for num NxX matrices."""
415 diffs = ensemble_diffs(num, N)
416 normalized_diffs = normalize_diffs(diffs)
417 return normalized_diffs</input>
418 <language>python</language>
419 <prompt_number>6</prompt_number>
420 <collapsed>1</collapsed>
421 <outputs />
422 </codecell>
423 <codecell>
424 <input>serial_nmats = 1000
425 serial_matsize = 50</input>
426 <language>python</language>
427 <prompt_number>7</prompt_number>
428 <collapsed>1</collapsed>
429 <outputs />
430 </codecell>
431 <codecell>
432 <input>%timeit -r1 -n1 serial_diffs(serial_nmats, serial_matsize)</input>
433 <language>python</language>
434 <prompt_number>8</prompt_number>
435 <collapsed>0</collapsed>
436 <outputs>
437 <output>
438 <output_type>stream</output_type>
439 <text>1 loops, best of 1: 1.19 s per loop</text>
440 </output>
441 </outputs>
442 </codecell>
443 <codecell>
444 <input>serial_diffs = serial_diffs(serial_nmats, serial_matsize)</input>
445 <language>python</language>
446 <prompt_number>9</prompt_number>
447 <collapsed>0</collapsed>
448 <outputs />
449 </codecell>
450 <markdowncell>
451 <source>The numerical computation agrees with the predictions of Wigner, but it would be nice to get more
452 statistics. For that we will do a parallel computation.</source>
453 </markdowncell>
454 <codecell>
455 <input>hist_data = hist(serial_diffs, bins=30, normed=True)
456 plot(s, rhos)
457 xlabel('Normalized level spacing s')
458 ylabel('Probability $P(s)$')</input>
459 <language>python</language>
460 <prompt_number>10</prompt_number>
461 <collapsed>0</collapsed>
462 <outputs>
463 <output>
464 <output_type>pyout</output_type>
465 <text>&amp;lt;matplotlib.text.Text at 0x3475bd0&amp;gt;</text>
466 <prompt_number>10</prompt_number>
467 </output>
468 <output>
469 <output_type>display_data</output_type>
470 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVl3QUFBRU1DQVlBQUFEWGlZR1NBQUFBQkhOQ1NWUUlD
471 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYbGNW
472 UFgreC9IWGdHaHVxQWh1cFNKcEFxS0FKcmhEdWFDaWxXbHV2M0xOCjhONWNzcmhtM2ZxcDljdmJj
473 czFkSTF0dmFxbFptVmd1bUlBYmkxdmxsaXNxYnJFb0lMTHovZjJCekpVQW1XR1pNek44bnZjeGo4
474 dk0KK2M0NTcva1M4L0djN3puZm8xTktLWVFRUW9neTJHZ2RRQWdoaEdXUWdpR0VFTUlnVWpDRUVF
475 SVlSQXFHRUVJSWcwakJFRUlJWVJBcApHRUlJSVF4aThvSXhhZElrbWpadFNzZU9IVXR0ODlwcnIr
476 SGk0a0tYTGwwNGRlcVVDZE1KSVlRb2pja0x4c1NKRTltMmJWdXB5Mk5pCll0aXpadzhIRHg0a09E
477 aVk0T0JnRTZZVFFnaFJHcE1Yak42OWU5T29VYU5TbDBkSFJ6Tml4QWdjSEJ3WU0yWU1KMCtlTkdF
478 NklZUVEKcFRHN01ZeVltQmpjM2QzMXo1MmNuRGgzN3B5R2lZUVFRZ0RVMERyQVh5bWwrT3RzSlRx
479 ZHJzUzJwYjB1aEJEaS9zb3pLNVRaN1dINAordnB5NHNRSi9mT0VoQVJjWEZ4S2JWOVlZTXo1TVhm
480 dVhNMHpTRTdKS0RrbForR2p2TXl5WUd6YXRJbWtwQ1RXclZ1SG01dWIxcEdFCkVFS2d3U0dwTVdQ
481 R0VCRVJRV0ppSWkxYnRtVCsvUG5rNU9RQUVCUVVoSStQRDcxNjllTFJSeC9Gd2NHQk5XdldtRHFp
482 RUVLSUVwaTgKWUh6OTlkZGx0bm4zM1hkNTk5MTNUWkRHTlB6OS9iV09ZQkRKV1hrc0lTTkl6c3Bt
483 S1RuTFM2Y3Fja0JMWXpxZHJrTEg0NFFRb2pvcQo3M2VuMlkxaENDR0VNRTlTTUlRUVFoaEVDb1lR
484 UWdpRFNNRVFRZ2hoRUNrWVFnZ2hEQ0lGUXdnaGhFR2tZQWdoaERDSUZBd2hoQkFHCmtZSWhoQkRD
485 SUZJd2hCQkNHRVFLaGhCQ0NJTkl3YkJ3OXZZTzZIUzZNaDQxeTJ4amIrK2c5VWNSUXBnNW1YelF3
486 aFhjZGJDc1BqQ3MKVFhYdlN5R3FDNWw4VUFnaFJKV1NnaUdFRU1JZ1VqQ0VFRUlZUkFxR0VFSUln
487 MGpCRUVJSVlSQXBHRUlJSVF3aUJVTUlJWVJCcEdBSQpJWVF3aUJRTUlZUVFCcEdDSVlRUXdpQlNN
488 SVFRUWhoRUNvWVFRZ2lEU01FUVFnaGhFQ2tZNHE0YU12MjVFT0srWkhwekMxZVowNXZmCnY0MzB0
489 UkRXUXFZM0YwSUlVYVdrWUFnaGhEQ0lGQXdoaEJBR2tZSWhoQkRDSUZJd2hCQkNHRVFLaGhCQ0NJ
490 Tm9VakFpSXlOeGMzT2oKWGJ0MkxGdTJyTmp5akl3TXhvOGZqN2UzTjM1K2ZtemV2Rm1EbEVJSUll
491 Nmx5WFVZM3Q3ZUxGbXloTmF0V3hNUUVNRGV2WHR4ZEhUVQpMLy9vbzQvNDdiZmZXTGx5SlJjdlh1
492 VHh4eC9uN05temQ2ODV1Q2U4WEljaDEyRUlJWXhtTWRkaHBLU2tBTkNuVHg5YXQyN05nQUVECmlJ
493 Nk9MdEttUVlNR3BLV2xrWk9UUTNKeU1uWHExQ2xXTElRUVFwaVd5UXRHYkd3c3JxNnUrdWZ1N3U1
494 RVJVVVZhVE5tekJqeTh2SncKZEhTa1Y2OWVyRjI3MXRReGhSQkMvRVVOclFPVVpQbnk1ZFNvVVlO
495 cjE2N3grKysvRXhnWXlNV0xGN0d4S1Y3ZjVzMmJwLy9aMzk4ZgpmMzkvMHdVVlFnZ0xFQjRlVG5o
496 NGVJWFhZL0l4akpTVUZQejkvVGx5NUFnQTA2ZFBaK0RBZ1FRR0J1cmJqQnc1a3NtVEp4TVFFQUNB
497 CnI2OHZYMzc1WlpFOUU1QXhESkF4RENHRThTeG1ES05CZ3daQXdabFNjWEZ4N055NUUxOWYzeUp0
498 K3ZidHk1WXRXOGpQeitmOCtmTWsKSnljWEt4WkNDQ0ZNUzVORFVvc1hMeVlvS0lpY25CeG16SmlC
499 bzZNaklTRWhBQVFGQlRGNjlHaE9uRGpCbzQ4K2lwT1RFMHVXTE5FaQpwaEJDaUh2STlPWVdUZzVK
500 Q1NHTVpUR0hwSVFRUWxnbUtSaENDQ0VNSWdWRENDR0VRY3p5T2d4aG1QalVlR2dMcU8yUVZ3dHlh
501 MEZDCkI4aXkxenFhRU1JS1NjR3dJRW9wUWsrSHN2NzRldlplMmt0NlRqcDBCMWdJdHRsZ2R3Y2NU
502 OEoxTHpnM0FFNE9od1IzcldNTElheUUKbkNWbEFaUlNiRDJ6bFhuaDg4ak56K1h2WGYrT1gycy9I
503 bW44eU4ycjMrL3BBN3M3MEdvUFBMd0RPcTJGT0QrSTJBQUpjcGFVRUtKQQplYjg3cFdDWXVmalVl
504 TVpzR3NPdHpGdk04NXZITUxkaDJPaitPL1IwMzlOcTdkTEJad1gwZUJYT2pZVnRpK0dPVXlsYmtv
505 SWhSSFVoCnA5VmFvZDBYZHROMWRWZUd0QnZDcjFOL1piajc4Q0xGb2t3NWRXSGZiRmdDcExXQXFW
506 N2dFbFpsZVlVUTFrMzJNTXlRVW9xRkJ4YXkKOE1CQzFneGJRMStYdnFXMk5lckNQWmN3ZUdvQy9E
507 NFdmdmsveUt0WnZNMTkxbUdOZlMxRWRTU0hwS3pJYTd0ZVk5dlpiV3dldlpsVwpEVnJkdDYzUlYz
508 clhTWUJoNHd0KzN2QXQ1TlFwM3FhVWRWaGpYd3RSSGNraEtTdngvcjczK2ZHUEg5bjUzTTR5aTBX
509 NTNIR0NyMytFCk80N3c3RUNvbFZyNTJ4QkNXQ1VwR0daazlhSFZyRHE0aWgzUDdzQ3hqbVBaYnlp
510 di9Ccnd3eGR3b3lPTWZ4enFKRmJkdG9RUVZrTUsKaHBuNDd1UjN6SXVZeDg3bmR2S2cvWU5WdjBG
511 bEF6OHRoM1A5WVlJZjFLLzZUUW9oTEpzVURETnc0ZVlGZ2tLRDJEeDZNMjBkMnBwdwp5enJZOWEr
512 Q1FmQm5rY05UUW9qN2trRnZqZVhtNStMM2hSL0RYSWNSM0NQWTZQZFh6dlRtQ2diYmdNTUFXQmNL
513 K1hZbHJzUFMrMW9JClVVQUd2UzNVTzVIdlVNZXVEaTkzZjduWU1udDdCM1E2M1gwZmxVTUgyd0Js
514 QzRPblVYWUJFa0pVUjFJd05MVHYwajVXSFZ6RmwwOTkKV2VJRmVXbHBOeW40OHI3Zm81TGtBeHZY
515 dzBQUjBPUGZsYmRlSVlUVmtJS2hrWlRNRko3OS9sbENob1RRb240THJlTVV5SzVmY0VqSwpkeW00
516 ZjZ0MUdpR0VtWkV4REkxTStHRUN0ZTFxc3lwd1ZhbHRUSGY3MWIrMGFYNFluZzJBVC9kRGNqdjlj
517 a3Z0YXlGRVVUS0dZVUdpCjRxUFllWDRuSC9UL1FPc29KYnZXR2NMbndZalJZSnVsZFJvaGhKbVFn
518 bUZpU2lsbWJaL0Znc2NYVUs5bVBhM2psQzcyNzVEU0N2cTkKcG5VU0lZU1prSUpoWXQ4Yys0YWN2
519 QnllODN4TzZ5aGwwTUdQbjRMYkptajNrOVpoaEJCbVFBcUdDZDNKdWNPcllhK3lLR0NSY2RPVQph
520 eVhEQWI1YkEwOU1saXZCaFJCU01FenB3d01mNHZ1UUw3MWI5OVk2aXVFdTlZYURmNE5oa0plZnAz
521 VWFJWVNHcEdDWXlOVzBxeXlLCldzUjcvZDdUdjFiV2hYbG1JL0tmWUFQdjdYdXY3TFpDQ0tzbEJj
522 TkUvdm5MUDVuU2VRb3VqVnowcjVWOVlaNlpVTGJ3SFN5S1dzVHgKUDQ5cm5VWUlvUkVwR0Nad0p1
523 a01vYWREZWIzMzYxcEhLYjlVZVB1eHQ1bXlaUXI1S2wvck5FSUlEUmgxNFY1K2ZqNEhEaHdnTGk2
524 TwpoSVFFR2pac1NJY09IZWpTcFFzMk5xYXZQWlp5NGQ2VUxWTm9VYjhGOC8zbkYzbTk3QXZ6Tkxw
525 d3I1VGxlZmw1K0gzaHgrZ09vM25SCjU4VXkxaWVFTUZkVmVvdlc3T3hzRmkxYVJGNWVIZzBiTnNU
526 RnhZVm16Wm9SSHgvUHVYUG51SGJ0R2syYU5HSG16Sm5ZMnRxVzZ3T1UKaHlVVWpDdXBWK2k0cWlO
527 bnBwK2hjWjNHUlpaWldzRlFTbkV5NFNSOXZ1akQ0UmNPMDdKQnl6TFdLWVF3UjFWV01MS3lzbGkz
528 YmgxRApoZ3pCeWNtcDFIYm56NTluMTY1ZFRKa3l4ZWdRNVdVSkJlT1ZIYStRci9KWkZMQ28yREpM
529 TEJnQWIwZThUY3pWR0g0Yy9hTjVEYzRMCklReFNwWHNZNXNyY0MwYlNuU1RhTFd2SGIzLzdqWWZz
530 SHlxMjNMSUtoaDJRVy9DakxSQUVSQUQzaklIWHI5K0kxTlRrTXJZamhOQ2EKeWVhU09uWHFGRC85
531 OUJQSnljbWNQSG5TNkExV0o4dGpsalBNYlZpSnhjTHk1S0kvZXl0UHdZLzdZV0F6cUoya2Y3M2dy
532 QzhoaExVcQpWOEZvMXF3WjNicDFZK3ZXclh6MTFWZFZrY3ZpM2M2K3pZcllGY3p1TVZ2cktGVWp2
533 anVjR0FFRGpMOUxvQkRDTWhsZE1LNWV2Y3J1CjNidng5dlltT0RpWXBrMmJWa1V1aTdmNjBHcjhu
534 UDFvNzloZTZ5aFZaOWNDY0FtRE5ydTBUaUtFTUFHakM4YjQ4ZU54ZFhWbDFhcFYKdlBqaWl4dzll
535 clFxY2xtMDdMeHNGaDVZeUd1OXJIeW0xK3o2OE5OeUNId1JiSEswVGlPRXFHSVZHdlMrZWZNbURS
536 czIxT3hNR1hNZAo5RjUvYkQwZkhmcUkzZU4zMzdlZFpRMTZsN1pjd2JPRDRPeEFpSnBsbHI4UElV
537 UlJWVGJvblpXVnhSOS8vRkhpc2thTkdoVXBGbnYyCjdERm9vNUdSa2JpNXVkR3VYVHVXTFZ0V1lw
538 dlkyRmk2ZHUyS201c2IvdjcrQnEzWFhJUWNDbUZxbDZsYXh6QVJIV3hiQkwzZmdUcGEKWnhGQ1ZL
539 VXlDMGF0V3JWSVNrcGkrZkxsSlo0VmxacWF5cDQ5ZTVneFl3YU5HalV5YUtNelo4NGtKQ1NFc0xB
540 d1ZxeFlRV0ppWXBIbApTaWttVFpyRXYvNzFMMDZlUE1tMzMxck8vYVZQSjUzbTJKL0hlTDczMVB0
541 T0xHaFYxeThrdXNIdlkrRXhyWU1JSWFxU1FXTVlwMDZkCjRzMDMzOFRUMDVONjllb3hkZXBVSmt5
542 WXdOTlBQODJjT1hOSVRrNW15WklsZUhoNGxMbXVsSlFVQVByMDZVUHIxcTBaTUdBQTBkSFIKUmRv
543 Y1BIaVFUcDA2MGE5ZlB3QWNIUjJOL1Z5YVdYMTROUk84Sm5ENzFpM3VQN0dnbFIyNkNaOEhidkRi
544 amQrMFRpS0VxQ0kxREdsMAo5T2hSYnR5NFFWcGFHa3VYTHFWZnYzNzA3bDIrZXpyRXhzYmk2dXFx
545 Zis3dTdrNVVWQlNCZ1lINjE3WnYzNDVPcDZOMzc5NDBiTmlRCmFkT21FUkFRVUs3dG1WSldiaFpm
546 SHYyU2ZaUDI4UUZtZXIvdXFwTFpDQ0xnSlkrWDJEVnVsM1h0UVFraEFBTUxScWRPbmFoWnN5YU4K
547 R3pkbTd0eTVMRisrdk53Rnd4Q1ptWmtjUFhxVXNMQXc3dHk1US8vKy9UbDI3QmkxYTljdTFuYmV2
548 SG42bi8zOS9UVWQ3L2orMVBkMApiTnFSZG8zYmFaWkJVNGNnNFU0QzM1LzZucWZkbnRZNmpSRGly
549 dkR3Y01MRHd5dStJbVdBU1pNbXFaTW5UK3FmLy9EREQ0YThyVVMzCmJ0MVNYbDVlK3VmVHBrMVRv
550 YUdoUmRxRWhvYXE0T0JnL2ZPUkkwZXFiZHUyRlZ1WGdmRk54djhMZjdYKzJIcWxsTHA3ekVtVjhT
551 aXIKVFdXc3c3Ulp3czZGcVRhTDI2aU1uQXlOZnh0Q2lOS1U5N3ZUb0RHTWMrZk9FUndjVEpzMmJl
552 alpzeWNmZi93eGE5ZXU1Y0tGQzJ6Ywp1TkdvQXRXZ1FRT2c0RXlwdUxnNGR1N2NpYSt2YjVFMjNi
553 cDFJeUlpZ2p0MzdwQ2NuTXlSSTBmbzJiT25VZHN4dGROSnB6bVJjSUtuClhKL1NPb3FtK3JyMHhi
554 T1pKNHNPRko5c1VRaGgyUXk2RHVQNDhlTjA2TkFCS0ppVk5qbzZtdGpZV0tLam8vbjk5OTlKVFUw
555 MWFxTVIKRVJGTW5UcVZuSndjWnN5WXdZd1pNd2dKQ1FFZ0tDZ0lnRldyVnJGczJUS2NuSno0Mjkv
556 K3h1alJvNHVITjZQck1JSjNCR05yWTZ1LwpCV3ZaMTFoQSthOTkwS0tOWWV0UVNuRXUrUnkrbi9q
557 eTI5OStvMFg5Rm1XOFJ3aGhhcHJOVnJ0bzBTSm16WnBWa1ZXVW03a1VqTXpjClRGb3Rhc1greWZ0
558 cDY5QVdxTjRGQStDMVhhOXhOZTBxWHo3MVpSbnZFVUtZbXNsbXEvMnJHVE5tVkhRVkZ1LzdrOS9q
559 MmN4VFh5d0UKdk43cmRYYWUyMG5NbFJpdG93Z2hLa21GQzRZcDc3Qm5ya0lPaGZCQzV4ZTBqbUZX
560 NnRlcXo0SytDNWp4OHd5NUI3Z1FWc0wwTitLMgpNbWVTem5BeThTUlB1ajZwZFJTek04NXpITG41
561 dVd3NHZrSHJLRUtJU21CVXdiaHk1VXBWNWJCWTN4ejdobEVkUmxIVHRxYldVY3lPCmpjNkc5L3Uv
562 enh1L3ZFRjJYcmJXY1lRUUZXUlV3ZWpmdnorREJnMWl3NFlONU9USWROWktLYjQrOWpXalBZcWZ3
563 VlU5MVNnMlgxWmYKbDc2Y2l6bEhyUjYxME9sMDJOczdhQjFTQ0ZGT1JoV01FeWRPOE9hYmI3Smp4
564 dzdhdFd2SDlPblRPWHo0Y0ZWbE0zdkgvanhHZWs0NgozUjdxcG5VVU0zSFBiVnp2ZllRZGhUNU5v
565 V2FxM01aVkNBdFc3dE5xdDIzYnhxUkprOGpMeTZOdDI3WXNYTGlRYnQxTSs4V3A5V20xCmhZZGEz
566 dS8vZnJGbDFmVzAybExiREhzT2JqNE00ZlBONGxSb0lhb3prNXhXR3g4Znp6dnZ2SU9IaHdlZmZm
567 WVpYM3p4QmRldVhXUGwKeXBWTW1qVEo2STFiTXFXVWZ2eENHR0QzMitDekRPcHFIVVFJVVY0R1RU
568 NVlhTkNnUVV5Y09KSHc4UEFpVTQ1N2Vub3lkV3AxdVdGUQpnVVBYRHFIVDZlamN2TFBXVVN6RExX
569 ZjRkUno0TGRZNmlSQ2luSXc2SkJVVEU0T1BqMCtacjVtS2xvZWtnbmNFVTl1dU5tOC85bmFKCnkr
570 V1FWQW5xSk1JMEowN1BQbDE5Wi9RVndneVk1SkJVU1hzUmhYTS9WU2Y1S3AvMXg5Y3p1b09jSFdX
571 VU80NXdBTjdZL1liV1NZUVEKNVdEUUlhblkyRmhpWW1KSVNFaGc1Y3FWK3NxVWtKQmc4RzFacmNt
572 Qnl3ZG9VS3NCSFpwMDBEcUs1WW1DdlUvdEpmWktMRjBmN0twMQpHaUdFRVF6YXcwaEpTZUh5NWN2
573 azVPUncrZkpsNHVQamlZK1BwMW16Wm56KytlZFZuZEhzZkhQOEc3bjJvcnh5WUs3ZlhGNE5lMVhP
574 CmxoTEN3aGcxaG5INjlHa2VlZVNScXN4akZDM0dNSEx6YzNub3c0ZllNM0hQZlkvRHl4aEc2VzF5
575 OG5Mb3NMSURTd2N1SmFDdCtkOTYKVndoclU2VmpHSVgzMng0d1lBQnQyclFwOG5CeGNURjZvNVlz
576 SWk2Q2grd2Zra0hiQ3FoaFU0Ti85ZjBYcjRhOUtoTVRDbUZCRE5yRAp1SFhyRmcwYk5pUXhNYkhF
577 NWZlZVltdEtXdXhoVE5reWhmYU4yeFBjSS9pKzdXUVBvL1EyU2ltVVVuVC90RHZUZktieGJLZG55
578 M2lQCkVLSXlhWFlESlMyWnVtQms1MlhUWW1FTERnY2RwbFdEVnZkdEt3V2o5RGFGdjdQSWk1R00r
579 MzRjZjB6N2cxbzFhcFh4UGlGRVpTbnYKZDZkQlowbmR1SEhqN2hkZ1VVb3BkRG9kVFpvME1YckRs
580 aWpzZkJqdEhkdmowZEpMNWtRcXR4cEYvMXNhQXcvMGZnQ2lDcDdXcjkrSQoxTlJrYmFJSkllN0xv
581 SUxScTFjdmdHSkZvN0JnbkQ1OXV2S1RtYUZ2am4zRDZBNmoyWjgyQThQK3RTMktLNXlnOEs1ZHgy
582 QmNYemh5CkdySWFrSlltL1NhRXVUSm8wUHVSUng3aHpKa3paR2RuazVPVFEzWjJ0djduNmpMTmVW
583 WnVGbHRPYjJHRSt3aXRvMWlYUHozZ3pHRG8KK1lIV1NZUVFaVEJvRDJQZHVuVUFIRHg0c05peWtn
584 NVZXYVB3dUhEY25keHBYcis1MWxHc1QvaDhDUEtHbUJmaHR0WmhoQkNsTWFoZwpOR2pRQU5EdWJD
585 aHpzT1gwRm9ZK01sVHJHTllwcFJVY21RVCs4eUJVNnpCQ2lOSVlOVnN0UUdKaUl0dTNiMGVuMHhF
586 UUVFRGp4bzJyCklwZFpVVW9SZWpxVXJXTzNhaDNGZXUxOURhYTExdzkrQ3lITWoxR1RENjVkdTVi
587 dTNidHo0TUFCOXUvZlQvZnUzVm03ZG0xVlpUTWIKeC80OGhrNm53OTNKWGVzbzFpdkRBZllIdytO
588 YUJ4RkNsTWFvNnpDOHZMell0bTBielpvMUF3cE90dzBJQ09EbzBhTlZGdkIrVEhVZAp4b0k5Qzdo
589 Kyt6cExCeTNWYjlmU3JuMndpQ3cxTW1CNkhRNjhmRUJ1ZXl0RUZUTEo5T1lPRGc1a1pHVG9uMmRr
590 Wk9EZzRHRDBSaTFOCjZPbFFoand5Uk9zWTFpKzNOb1REN0oyelpXSkNJY3lRUVdNWTA2ZFBCOERK
591 eVlrdVhiclF1M2R2bEZMczNidVgvdjM3VjJsQXJmMloKL2ljbkVrN2cxOXBQNnlqVnc2K1FsSkhF
592 VDJkK0l2Q1JRSzNUQ0NIdVlWREI2TktsaS83MDJVR0RCdWxmZi9ycHA2Myt0TnFmei94TQpQNWQr
593 TW5XRnFlVER2L3IraXptNzVqQ3c3VUJzYld5MVRpU0V1RXZta2lyRGlBMGpHUExJRUNaNFRTaXlY
594 YXNaTnpDN0xEcnk4L1BwCi9YbHZudS84ZkpGK0YwSlVEcE5NUHBpUmtjR09IVHZZdm4wN04yL2Ux
595 TzlkRkY3WVoycFZYVEN5ODdKcDhrRVRUazgvVFpPNi81MHYKU3dwRzFXNUhLY1crUy9zWXMya01m
596 MHo3ZzlwMnRjdFlweERDR0NZWjlIN2pqVGZZczJjUDI3ZHZ4OS9mbi9qNGVKeWRuWTNlcUtXSQpp
597 SXZBemNtdFNMRVFwdEd6VlUrNnRPakMwdWlsV2tjUlF0eGwxQjVHNTg2ZE9YejRNQjA2ZE9ENDhl
598 T2twS1RRcjE4L1ltTmpxekpqCnFhcDZEMlBHenpOb1ZxOFpyL2QrdmRoMnJldGY5ZWFVNWIrLzA5
599 TkpwK254YVE5T3ZuZ1NwN3BPWmF4WENHRW9rK3hoMk5uWkFmRG8KbzQ4U0docktqUnMzeU16TU5I
600 cWpscUR3Nm02WkRzVFVDcVkvMStsMHRIZHNUMUo0RWsyZWFhSi9UYWZUWVc5di9hZHlDMkdPakNv
601 WQpMNzc0SWpkdjNtVFdyRmtzWDc2YzRjT0g4OVpiYjFWVk5rMmRTRGhCbnNyRG80bUgxbEdxbWNM
602 cHorOCtJaEtnWTJOb2ZFci9tdHlMClJBaHRHSDJXVk9GY1VnQUJBUUdhVGtoWWxZZWszdHY3SHBk
603 VEw3Tjg4UElTdDJ0ZGg0SE1LVXNKeTN1K0R5MzN3VGViOVcwcytPUSsKSVRSbmtrTlM5ODRsRlJV
604 VlJZOGVQYXgyTHFrdHA3ZkkxZDNtSW5vR05QME5uTU8xVGlKRTlhYU00T25wcWE1ZHU2Wi9mdjM2
605 ZGVYcAo2V25NS3BSU1NrVkVSQ2hYVjFmVnRtMWJ0WFRwMGxMYnhjVEVLRnRiVzdWcDA2WVNseHNa
606 MzJBSjZRbksvbC8yS2lNbm85VHRnaXJqClVSbHRUTFVkYzhwU3luS1ByeFV2ZEZibzhxcnM5eTVF
607 ZFZIZXZ5Rk41cEthT1hNbUlTRWhoSVdGc1dMRkNoSVRFNHUxeWN2TDQ5VlgKWDJYZ3dJRW1QL3p3
608 ODVtZmViek40enhRNHdHVGJsZmN4N0ZSa0Y4RE9tcHp6WThRb3B4elNSWGU0N3M4YzBtbHBLUUEw
609 S2RQSHdBRwpEQmhBZEhRMGdZRkY1dzFhdG13WkkwYU0wT1NVWGJsWmtqblN3WTZGTUh3c25OQTZp
610 eERWVTdubWtpcjh1VHh6U2NYR3h1THE2cXAvCjd1N3VUbFJVVkpHQ2NlWEtGVFp2M3N3dnYveENi
611 R3lzU2VlcnlzN0xadVBoYjlrNGNTT1QweWViYkx2Q0FKZDZ3Wld1MFAyeTFrbUUKcUpZTUtoZ1RK
612 a3dvOHZ6UW9VUG9kRG82ZCs1Y0ZabDQ2YVdYZVBmZGQvVWorZmM3SkRWdjNqejl6LzcrL3ZqNysx
613 ZG8yM3N1N29GRQpCZWxsbmNrak5CSDJIanovSFRkdTM2QnB2YVphcHhIQ0lvU0hoeE1lSGw3eEZS
614 a3o0QkVSRWFIYXRXdW5CZ3dZb0FZTUdLRGF0V3VuCklpTWpqUm8wdVhYcmx2THk4dEkvbnpadG1n
615 b05EUzNTcGsyYk5zcloyVms1T3p1cmV2WHFxU1pObXFqTm16Y1hXNWVSOFEzeTByYVgKRkgzTWZB
616 RFlxck1Zc0k0QTFOVFFxWlgrdXhlaXVpanZkNmRSN3dvTURGUW5UNTdVUHo5MTZwUUtEQXcwZXFO
617 ZVhsNHFJaUpDWGJodwpRYlZ2MzE0bEpDU1UybmJDaEFrbVBVdXEvYkwyaXVZVzlPVnBkVmtNV0Vk
618 dGxPUDdqdXI0bjhjci9mY3ZSSFZRM3U5T284NlNTazVPCnBrV0xGdnJuelpzM0p6azUyZWk5bXNX
619 TEZ4TVVGRVMvZnYzNCs5Ly9qcU9qSXlFaElZU0VoQmk5cnNwME9lVXlTUmxKY0YzVEdLSXMKR2ZC
620 YXI5ZVl2WE8yMWttRXFGYU11dEo3MWFwVnJGdTNqbWVlZVFhbEZOOTk5eDFqeG94aDZ0U3BWWm14
621 VkpWOXBmZm5SejVuKzdudApySDltUFpqclZjOVduOFd3ZFdUbVpPSyswcDJQaDN4TVg1ZStaYlFY
622 UXR5cnl1K0hvWlRpMnJWclhMOStuZERRVUhRNkhVT0dETUhiCjI5dm9qVmFXeWk0WVl6ZU41ZkUy
623 anpPbHl4UXM2Y3ZUdXJJWXRnNmxGQnVQYitTZFBlOXc2SVZEY21jK0lZeGdrb0xSc1dOSGpoMDcK
624 WnZSR3FrcGxGb3g4bFUvemhjMkplVDRHNTBiT1dOS1hwM1ZsTWJ4Z0tLWG8rVmxQWHVqeWd0eVpU
625 d2dqVlBsY1VqcWREbDlmWDdadQozV3IwUml6QnNUK1BZVi9MbnRZTlcyc2RSUmhJcDlPeGNNQkMz
626 dmpsRGRLejA3V09JNFRWTTJyUU96bzZtcUZEaDlLc1dUTzh2YjN4Cjl2YXVzbXN4VEczbnVaMzBk
627 ekh1cW5XaHZlNHR1OU96VlU4K1BQQ2gxbEdFc0hwR0RYcWZPM2V1eE4yWXRtM2JWbW9vUTFYbUlh
628 bEIKYXdjeHBmTVVublo3Mm9EcHk4M3I4SXgxWlRGa0hYWVUzRGZqcmtiQUZHQWxjTHZncGZyMUc1
629 R2FhdndaZkVKVUIxVTZocEdUazhQMgo3ZHZadTNjdkFRRUIrUG41WVdOajFNNUpsYWlzZ3BHVm00
630 WFRCMDVjZk9raWpXbzNrb0poaWRzWkVBeTFVbUhMeC9vMmxYbENoQkRXCnBFckhNRjUvL1hWV3JW
631 cUZrNU1UYjczMUZvc1hMelo2UStic1FQd0IzSnpjYUZTN2tkWlJSSGxGL2hQYWI0Ym1oN1ZPSW9U
632 Vk1tZ1AKbzB1WExrUkZSV0ZuWjhldFc3ZDQ4c2tuaVlpSU1FVysrNnFzUFl4Ly92SlBkT2o0djhm
633 L1Q3OWVpLzdYdGtWbnFjQTZ2RCtGTHF2aAowLzJnYkdVUFE0aFNWT2tlUm41K1BuWjJkZ0EwYk5p
634 UTFOUlVvemRrenNMT2g5SFBwWi9XTVVSRkhaMEl5cWFnY0FnaEtwMUJleGkyCnRyYlVxVk5IL3p3
635 akk0UGF0V3NYckVDbjA2eUFWTVlleHMyTW03UmUzSnFFZnlSUXEwWXQvWG90L2wvYkZwdWxndXRv
636 K2l1TTZ3OHIKa3VGTzNuM1hJZ1Bqb3JvcTczZW5RZE9iNStYZC93L1BrdTJPMjAzUFZqMzF4VUpZ
637 dUJ1ZThOdi9RTC9GOE9QOS95RFMwbVNhZWlHTQpvZjJwVGhyYmVYNG4vZHJJNFNpckVqNGYyZ0l0
638 OTJtZFJBaXJVdTBMUnRqNU1Qby9MQmZzV1pVc2U5Z09EUGtiMk9TVzJWd0lZWmhxClhURGlic1dS
639 bXBXS1J4TVByYU9JeW5ZY3VOMFVmSlpwblVRSXExR3RDMGJoMlZFMnVtcmREZGJycHhYUTV4Mm9m
640 MFhySkVKWWhXcjkKVFNuakYxWXU2UkU0T0JVQ1h0WTZpUkJXb2RvV2pIeVZ6Njd6dStUNkMydTM1
641 M1Y0TUFZZTNxRjFFaUVzWHJVdEdMOWUveFhIT282MApiTkJTNnlpaUt1WFVnWitYd2VBWG9VYW0x
642 bW1Fc0dqVnRtRHNQTDlUem82cUxrNFBnWVFPME9NRHJaTUlZZEdxYmNFSU94OG00eGZWCnljOUxv
643 TnNTYUhSZTZ5UkNXS3hxV1RBeWN6TTVFSDhBZjJkL3JhTUlVMGxwRFh0ZmhTZWVCMTIrMW1tRXNF
644 alZzbURzdTdTUGprMDYKMHVDQkJscEhFYVowNEdXb2tRRmRWMnFkUkFpTFZDMExob3hmVkZQS0Zu
645 NzRBdnpuZ2NNWnJkTUlZWEdxWmNHUThZdHFMS2s5Ukw0QgpUMDBvbVBSV0NHR3dhbGN3a3U0a2NT
646 YjVETDRQK1dvZFJXZ2xlZ2JrMTREdVdnY1J3ckpVdTRLeE8yNDN2VnIxb3FadFRhMmpDSzBvCkc5
647 ajhPZlNDRXdrbnRFNGpoTVdvZGdVajhtSWsvcTM5dFk0aHRIYlRCWDZ4b2NNL082Q3oxYUhURlgv
648 WTJ6dG9uVklJczFMdENrYkUKeFFqNnRPNmpkUXhoRGc3bVEyWi82UGwvRk56QnIrZ2pMZTJtcHZH
649 RU1EZlZxbUFrWnlSejRlWUZPamZ2ckhVVVlTNDJmd3JkRmhmYwoybFVJY1YvVnFtRHN2YlNYYmc5
650 MXc4N1dUdXNvd2x5a3RvU2Q3OE93OFdDYnJYVWFJY3hhdFNvWUVSY2o4R3Z0cDNVTVlXNk9Ub0NV
651 Cmx0RG5iYTJUQ0dIV3FsWEJpTHdZS2VNWG9nUTYyUEl4ZEZrTnJTTzFEaU9FMmFvMkJTTTFLNVdU
652 Q1NmeGVkQkg2eWpDSE4xdURqOTgKRHNQSFF0MGJXcWNSd2l4Vm00S3gvL0orSG0zeEtMVnExTkk2
653 aWpCWFp3Y1ZISjRhL2orZ3k5TTZqUkJtcDlvVWpJaUxFZmc1KzJGdgo3MURpT2ZmM1BrUTF0bnQr
654 d1d5MmZtOXBuVVFJczZOSndZaU1qTVROelkxMjdkcXhiTm15WXN2WHJsMkxwNmNubnA2ZWpCMDds
655 dE9uClQxZDhteGNqNmRPcXo5MXo2NHVmYzEvMElhb3RaUXViMWtIblQrQmhyY01JWVY0MEtSZ3pa
656 ODRrSkNTRXNMQXdWcXhZUVdKaVlwSGwKTGk0dVJFWkc4dXV2dnhJUUVNRGJiMWZzN0pVN09YZjQ5
657 ZnF2ZEc4cGt3Y0pBOXh1QnQrdGhhY2dQalZlNnpSQ21BMlRGNHlVbEJRQQordlRwUSt2V3JSa3dZ
658 QURSMGRGRjJuVHYzcDBHRFFydVZSRVlHRWhFUkVTRnRoa1ZIMFducHAyb1kxZW5RdXNSMVVpY1A4
659 VFkwSEpXCnkxS25EcEhwUTBSMVkvS0NFUnNiaTZ1cnEvNjV1N3M3VVZGUnBiYi8rT09QR1RwMGFJ
660 VzJXVGgrSVlSUjl1WkQxaURvRzB4cGh5OWwKK2hCUm5kVFFPc0Q5aElXRnNXYk5HdmJ2MzE5cW0z
661 bno1dWwvOXZmM3g5L2Z2MWlieUl1UnpPNHh1d29TQ3F1bWdPKytncURPY0trWAovUEdrMW9tRUtK
662 Znc4SERDdzhNcnZCNmRVc3Frbzd3cEtTbjQrL3R6NU1nUkFLWlBuODdBZ1FNSkRBd3MwdTYzMzM3
663 ajZhZWZadHUyCmJiUnQyN2JFZGVsME9zcUtuNVdiaGVNSGpseDUrUXIydGV6dm5nVlYxa2N1cTAx
664 bHJNT2N0bU5PV2N6d016OFlEV09Id245MndnM1AKWW0xTS9DY2tSSVVaOHQxWkVwTWZraW9jbTRp
665 TWpDUXVMbzZkTzNmaTYxdjBaa2FYTGwxaStQRGhyRjI3dHRSaVlhaVlLekc0T3JwaQpYOHUrUXVz
666 Ylh5WTFBQUFXSjBsRVFWUVIxZGdWWC9ocGVVSFJxSDlGNnpSQ2FFYVRRMUtMRnk4bUtDaUluSndj
667 WnN5WWdhT2pJeUVoCklRQUVCUVh4MWx0dmtaeWN6TlNwVXdHd3M3TWpKaWFtWE51UzZVQkVwVGcr
668 RWhxZGg3RkQ0UE5JeUs2dmRTSWhUTTdraDZRcWt5RzcKVlFPK0dzQTBuMms4MGY0Si9Yc3M1N0NK
669 R1I2ZXNacnRsQ2VMZ3FFdlFQMnI4TTNtZ3R1OHlpRXBZWUVzNXBDVUtlWGs1UkFWSDBXdgpWcjIw
670 amlLc2dnNjJyZ1NiWEJnNEU3bklVMVEzVmwwd0RsODdUSnRHYlhDb0xlZktpMHFTYndjYk54VE1h
671 dHQ5a2RacGhEQXBzejZ0CnRxSmsvRUpVaWF3R3NHNHJUTzRCY2htR3FFYXNlZzlEYnBna3FreEtL
672 L2g2TXd5RkE1Y1BhSjFHQ0pPdzJvS1JsNS9IdnN2NzZOMnEKdDlaUmhMVzYxZ1craHllL2VaTG8r
673 T2l5Mnd0aDRheTJZUHgyNHplYTFXdEcwM3BOdFk0aXJObForUHpKenhuNjlWQmlycFR2MUc4aApM
674 SVhWRmd3WnZ4Q21FdmhJSUo4OStSbER2eDVLN0pWWXJlTUlVV1dzdG1ESStJVXdwU0dQRE9IVEp6
675 NWx5TmREcEdnSXEyVlZGKzdaCjJ6djhkL2JRZndBaFFHcEo3N1NVaTh2TStTSTJTOTlPNVdXNTk3
676 L0JMWDlzWWZLUGs5azZkaXRkSCt4YXhudUYwSVpjdUFmL3ZadWUKMHpISWNvRlV1WnVlTUsyaDdZ
677 Znl5Uk9mTU9UcklSeThlbERyT0VKVUt1dThEcU4xSkZ5VThRdWhqU2ZhUDRGU2lzQjFnV3g4WnFP
678 TQpwUW1yWVZWN0dIck9FWEJSeGkrRWRwNTBmWkkxdzlZd1lzTUkxdnkyUnVzNFFsUUtLeXdZQ2xw
679 SFFKd1VES0d0L2cvM1ovZjQzYnk1CiswM21oYytUU1FxRnhiTytndUZ3dG1BVzBWdk9XaWNSZ2c1
680 Tk9oQTFPWXFmei83TXVCL0drWldicFhVa0ljck5xczZTMHVsMDBIazEKT0lmRGQ2VWRCckNrTTNr
681 czc0d2h5OWxPNVdVcDYwL0kzdDZCdE15Yk1BeW9DM3dEWlB4M2VmMzZqVWhOVFM1ak8wSlVIamxM
682 cXBBTQplQXN6azVaMkUzSVViTXlEeTYvQzgyMmg4UjhVbnJtblB4VmNDRE5uaFFWRHhpK0VtVkky
683 RVBZdTdIc1ZKdldDRGh1MFRpU0VVYXpyCnROb0dRSTBzU0hwRTZ5UkNsTzd3ODNEZEM0YVBoYmJi
684 NEdldEF3bGhHT3ZhdzNEbTd1RW9uY1pCUlBWUkE1MU9kOTlIaWE0K0NpR0gKUWVrZ0NMbklUMWdF
685 NnlvWXJaSHhDMkZpdVJTZlRjREEyUVd5NjhHUG44SXZNSGp0WU43Zjl6NzVLci9xSXd0UlR0WlhN
686 R1Q4UWxpYQo0eEE3SlpZdHA3Y3c0S3NCWEVtOW9uVWlJVXBrTlFYamF0cFZxQTBrZE5BNmloQkdh
687 OTJ3TmJ2SDc4YXZ0UitlSDNueTcvMy9KaWN2ClIrdFlRaFJoTlFVajhtSWtYS0xnVEJRaExGQU5t
688 eHE4NmZjbSt5ZnZKK3g4R0o0ZmViTHIvQzZ0WXdtaFp6WGZycEVYSStHaTFpbUUKcUxoSEdqL0N6
689 Ly96TXd2NkxtRHlqNU1adVhFa2wxTXVheDFMQ09zcEdCRVhJeUJPNnhSQ1ZBNmRUc2RUcms5eDRz
690 VVR1RG01NFJYaQp4WUk5QzhqSXlTajd6VUpVRWFzb0dBbnBDY1NueHNNTnJaTUlVYm5xMk5WaHZ2
691 OThZcWZFRW5zMWxvZVhQc3pDL1F0SnowN1hPcHFvCmhxeWlZT3k1dEllZUxYdUNuSkVvckpSTEl4
692 ZStIL1U5UC8zUFQwUmRpY0pscVFzTDlpd2dOYXZFVzBvS1VTV3NvbURJL2J1RlpTdjcKNGo5N2V3
693 Y0F2SnA1c2ZHWmpld2V2NXVUaVNkeFdlTEMzUEM1SkdmSTVJV2k2bGxGd1lpOEdDbDNOUk1Xck95
694 TC8vNDZRYUc3a3p0ZgpEZnVLcU9lanVKSjZoWWVYUHN5a3paUFlkMm1mM0hkRFZCbUxuOTQ4K1U0
695 eXJSYTNJbWwyRXJWcTFNS2NwcjIybk8yWVV4YjV6S1cxCnVkK2Y2dlhiMS9uUHIvL2gweU9mWXFP
696 ellaTFhKTVo1anFOcHZhWmxyRmRVUjlWMmV2TjlsL2ZoKzZBdk5XMXJhaDFGQ00wMHE5ZU0KMlQx
697 bmMrckZVNndldXBvVGlTZG92N3c5dzlZUEkvUjBLTG41dVZwSEZGYkE0dmN3Z25jRVkxL1RuamY5
698 M3J3NzBadjUvSXZRY3JaagpUbG5rTTVmV3h0Zy8xYlNzTk5ZZlg4K25SejdsVE5JWkF0b0dFTmd1
699 a0lGdEIrSlEyOEdvZFFuclV0NDlESXN2R0Q2cmZYaS8zL3Y0Ck9mdEp3YkNLTFBLWlMydFRrVC9W
700 K05SNGZqcnpFMXZQYkNVOExweE9UVHNSMkM2UXdIYUJlRFR4S0gxV1hXR1ZxbTNCcVB0T1hSSm4K
701 Si9KQWpRZWtZRmhGRnZuTUpiT2pZSEM4ZEliZTZqVXpONVB3dUhDMm50bksxdE5ieVZONURHdzdr
702 TzRQZGNmM1FWL2FPN2JIUm1meApSNnZGZlZUYmd0SDdzOTVFVG96VVB6ZWZQM0JMMm80NVpaSFBY
703 SkUyeHY0NUs2VTRsWGlLSGVkMkVIMGxtcGdyTVNUZVNlVFJGby9pCjg2QVBQZy82NFB1Z0w4M3JO
704 emRxdmNLOGxiZGdXUHdkOS95Yy9iU09JSVRGMHVsMHVEbTU0ZWJrcG44dDhVNGlzVmRpaWI0U3pj
705 ZUgKUHViNUg1K250bDF0ZkI3MHdjM1JqYllPYldubjBJNTJqZHZoVk1kSkRtZFZJNXJzWVVSR1Jo
706 SVVGRVJ1Ymk0elpzeGcrdlRweGRxOAo5dHByckYrL25rYU5HckYyN1ZwY1hWMkx0ZEhwZE93NHU0
707 UCtEL2ZYUHpmUGZ4R0dBLzRtMkU1RjIreW01SnltekdJdGV4amgvTGN2CnpYY1BJenc4SEg5Ly8v
708 dTJVVXB4L3VaNVlxL0c4a2ZpSDV5OWVaWXpTV2M0bTN5V25Qd2MyanEwL1c4UmNXaW5mKzVVMTZu
709 U0RtMFoKa3RNY1dFcE9pOXJEbURsekppRWhJYlJ1M1pxQWdBREdqQm1EbzZPamZubE1UQXg3OXV6
710 aDRNR0RiTisrbmVEZ1lFSkRRMHRjVjQrVwpQVXdWdXdMQ0tmMkwySnlFWXhrNUxVRTRsdENYaG56
711 QjZYUTZIblo0bUljZEhpNjI3R2JHVGM0a0Z4U1BNMGxuQ0xzUXhxcURxemgzCjh4eTNNbS9SdUha
712 am10UnRRcE82VFdoYXIybkJ6M1h1K2Jsd1dkMm0xTGFyWGFHYzVzQlNjcGFYeVF0R1Nrb0tBSDM2
713 RkZ5WlBXREEKQUtLam93a01ETlMzaVk2T1pzU0lFVGc0T0RCbXpCamVlT09OVXRkWHQyYmRxZzBz
714 aE1Xb1ljRGhJVHVnNkkyWjVzK2ZmOS9saHF6agpyK3JYYjhTZG0zZEl2SlBJbitsLzZoODMwbS93
715 Wi9xZm5FaytvLy81ei9RL3VYSDdCanFkam5vMTYxSFhyaTUxYTliVi8xeXZaajB1Cm5MekFsUzFY
716 OU04TC8zLzJyRGxrcHQ2QjdMdVJjaW1ZVSs2ZVI5M2E5aHo3N1ZkcTJOUW85V0dyczVWRGF3WXdl
717 Y0dJalkwdGNuakoKM2QyZHFLaW9JZ1VqSmlhRzU1NTdUdi9jeWNtSmMrZk84ZkREeGYrRkk0UW9W
718 RGpGeVAzODlkRFd2THVQMHBZYnNvN2kwdEowMk5uYQowYngrYzRNR3pKVlNaT1Jta0o2ZFRucE9P
719 cmV6YjVPZWZmZi9jOUw1ejU3LzROUENSNzhzTlR1VnE3ZXZrdG5rRGp3NEVtcmVMbmpZClpvTk5i
720 cEZIdXMwcEh2dnlNWEx5Y3NqTnp5M3hrYWZ5c05YWkZpa2lkcloycFJhWXdrTnRPZ3FLakU2blE0
721 ZU9hNGV1c2VYakxmcGwKaFVYb3IrMEtmOWF5WFhtWTVhQzNVcXJZOGJYU1BtVHgxdzNwak1wb1kr
722 dzY1aHZRcGpLMlU1RTI4eWs5cHltem1QSXpWMldXK1FhMApxWXp0VkxUTlgzL25sYk9keXY0WCs2
723 WlZtMHBac3FITTk4WVpjTE9jdkx2L3l5TEx1R0IvY1QzMGVvWGViODVNWGpDNmR1M0tQLzd4CkQv
724 M3o0OGVQTTNEZ3dDSnRmSDE5T1hIaUJBRUJBUUFrSkNUZzR1SlNiRjBXZkVhd0VFSllISk5mbmRP
725 Z1FRT2c0RXlwdUxnNGR1N2MKaWErdmI1RTJ2cjYrYk5xMGlhU2tKTmF0VzRlYm0xdEpxeEpDQ0dG
726 Q21oeVNXcng0TVVGQlFlVGs1REJqeGd3Y0hSMEpDUWtCSUNnbwpDQjhmSDNyMTZzV2pqejZLZzRN
727 RGE5YXMwU0ttRUVLSWV5a3pGeEVSb1Z4ZFhWWGJ0bTNWMHFWTFMyd3paODRjMWFaTkc5VzVjMmQx
728 Cjh1UkpFeWNzVUZiTzNidDNLM3Q3ZStYbDVhVzh2THpVMjIrL2JmS01FeWRPVkUyYU5GRWVIaDZs
729 dGpHSHZpd3Jwem4wcFZKS1hicDAKU2ZuNyt5dDNkM2ZsNStlbjFxNWRXMkk3cmZ2VWtKeGE5MmxH
730 Um9ieThmRlJucDZleXRmWFYzMzQ0WWNsdHRPNkx3M0pxWFZmM2lzMwpOMWQ1ZVhtcElVT0dsTGpj
731 MlA0MCs0TGg1ZVdsSWlJaVZGeGNuR3JmdnIxS1NFZ29zanc2T2xyMTdObFRKU1VscVhYcjFxbkF3
732 RUN6CnpMbDc5MjQxZE9oUVRiSVZpb3lNVkljUEh5NzFpOWhjK3JLc25PYlFsMG9wZGUzYU5YWGt5
733 QkdsbEZJSkNRbXFUWnMyS2pVMXRVZ2IKYytoVFEzS2FRNSttcDZjcnBaVEt6TXhVSFRwMFVHZk9u
734 Q215M0J6NlVxbXljNXBEWHhaYXVIQ2hHanQyYklsNXl0T2ZaajNEMkwzWApiTFJ1M1ZwL3pjYTkv
735 bnJOeHNtVEo4MHlKMmcvU04rN2QyOGFOV3BVNm5KejZFc29PeWRvMzVjQXpabzF3OHZMQ3dCSFIw
736 YzZkT2pBCndZTUhpN1F4aHo0MUpDZG8zNmQxNnRRQjRQYnQyK1RtNWxLclZxMGl5ODJoTDZIc25L
737 QjlYd0xFeDhmejAwOC84Znp6ejVlWXB6ejkKYWRZRm83UnJOdTRWRXhPRHU3dTcvbm5oTlJ1bVpF
738 aE9uVTdIL3YzNzhmTHk0dVdYWHpaNVJrT1lRMThhd2h6Nzh1elpzeHcvZmh3ZgpINThpcjV0Ym41
739 YVcweHo2TkQ4L0gwOVBUNW8yYmNxMGFkTm8yYkpsa2VYbTBwZGw1VFNIdmdTWU5Xc1dIM3p3QVRZ
740 MkpYL05sNmMvCnpicGdHRUlaY2MyR2xqcDM3c3pseTVlSmpZM0YzZDJkbVRObmFoMnBHT25MOGts
741 TFMyUFVxRkVzV3JTSXVuV0x6anhnVG4xNnY1em0KMEtjMk5qYjgrdXV2bkQxN2xwVXJWM0xreUpF
742 aXk4MmxMOHZLYVE1OUdSb2FTcE1tVGZEMjlpNTFiNmM4L1duV0JhTnIxNjZjT25WSwovL3o0OGVO
743 MDY5YXRTSnZDYXpZS2xYYk5SbFV5SkdmOSt2V3BVNmNPZG5aMlRKNDhtZGpZV0xLeUtuYUJVR1V6
744 aDc0MGhEbjFaVTVPCkRzT0hEK2U1NTU3anlTZWZMTGJjWFBxMHJKem0xS2ZPenM0TUhqeTQyR0Zk
745 YytuTFFxWGxOSWUrM0w5L1B6LysrQ050MnJSaHpKZ3gKL1BMTEw0d2JONjVJbS9MMHAxa1hERXU1
746 WnNPUW5EZHUzTkJYOHkxYnR0Q3BVNmNTajMxcXlSejYwaERtMHBkS0tTWlBub3lIaHdjdgp2ZlJT
747 aVczTW9VOE55YWwxbnlZbUpuTHIxaTBBa3BLUzJMRmpSN0hDWmc1OWFVaE9yZnNTWU1HQ0JWeStm
748 SmtMRnk3d3pUZmY4UGpqCmovT2YvL3luU0p2eTlLZFpUZzF5TDB1NVpxT3NuTjkrK3kyclZxMmlS
749 bzBhZE9yVWlZVUxGNW84NDVneFk0aUlpQ0F4TVpHV0xWc3kKZi81OGNuSnk5Qm5OcFMvTHlta09m
750 UW13Yjk4KzFxeFpRNmRPbmZEMjlnWUsvbEF2WGJxa3oyb09mV3BJVHEzNzlOcTFhNHdmUDU2OAp2
751 RHlhTld0R2NIQXd6WnMzTjd1L2RVTnlhdDJYSlNrODFGVFIvclRvTys0SklZUXdIYk0rSkNXRUVN
752 SjhTTUVRUWdoaEVDa1lRZ2doCkRDSUZRd2doaEVHa1lJaEtaV05qUTNCd3NQNzV2Ly85NzcvY0Fy
753 VHErZnY3Yy9qd1lRQUNBd05KVFUydDBQckN3OE1aT25Tb3dhOVgKeGJhcTB0V3JWM25tbVdkTXVr
754 MWhtYVJnaUVwVnMyWk52di8rZTVLU2tnRGpyOFROeTh1cmNJWjd0N2wxNjFiczdlMHJ2RTVyMXFK
755 RgpDelp1M0toMURHRUJwR0NJU21Wblo4Y0xMN3pBb2tXTGlpMjdldlVxTTJmT3hOUFRrMW16Wm5I
756 anhnMEFKa3lZd01zdnY0eXZyeSt2CnZ2b3FFeWRPNUpWWFhzSEh4NGYyN2R0ejVNZ1JYbmpoQlRw
757 MDZNQzhlZlAwNi92NzMvOU8xNjVkNmRHakI2dFhyeTR4ajdPek0wbEoKU1h6MDBVZDRlM3ZqN2Ux
758 Tm16WnRlUHp4eDRHQ2VjREdqUnVIcjY4dmMrYk0wVitSR3hzYlM5KytmZkgyOW1iNzl1MWxmdTZN
759 akF3KwovUEJEL1B6OENBd01KRHc4SElEdTNic1h1WnEyY084bk16T3p4UGFsdVh6NU1vTUdEY0xM
760 eXd0UFQwL09uVHRIWEZ3Yzd1N3VUSjQ4CkdUYzNOK2JQbjYvUC8vYmJiK1BqNDBQWHJsMVpzR0JC
761 a2ZXODhzb3JlSHQ3MDZWTEZ5NWN1RUJjWEJ3ZE8zWUU0SXN2dm1EMDZORU0KSGp3WUR3OFBsaTVk
762 cW4vdnRtM2I2TjY5T3o0K1ByejAwa3RNbno2OVdNNmpSNC9TdDI5ZnZMeTg2Tnk1TTdkdjN5Nno3
763 NFFGcWNqVQp1VUw4VmIxNjlWUnFhcXB5ZG5aV0tTa3A2dC8vL3JlYU4yK2VVa3FwV2JObXFmZmZm
764 MThwcGRTQ0JRdlU3Tm16bFZKS2pSOC9Ydm41CitlbW4zSjR3WVlJYU5HaVF5c3JLVWw5ODhZV3FW
765 NitlQ2c4UFYxbFpXY3JOelUwL2RYeHljckpTU3Ftc3JDemw2K3VyYnQrK3JaUlMKeXQvZlh4MDZk
766 RWdwcFpTenM3TktTa3JTNTh2SnlWRzllL2RXb2FHaCtyYTNidDFTU2lrMWUvWnM5YzAzM3lpbGxP
767 clVxWk9Lam81Vwp0Mi9mVmdNSERpeHhldWpkdTNmcjd6UHcrZWVmcXlWTGxpaWxsTHArL2JyeThm
768 RlJTaW0xYU5FaU5YZnVYS1dVVWxldlhsWHQyN2UvCmIvdDcxM212dVhQbnFrOCsrVVQvR1RJeU10
769 U0ZDeGVVVHFkVDMzMzNuY3JNekZSUFAvMjArdmJiYjR2MFRXNXVyaG82ZEtnNmRlcVUKdnE5WHJG
770 aWg3N2M3ZCs2b0N4Y3U2S2VTLy96enoxV1RKazNVMWF0WFZXcHFxbnJvb1lkVWRuYTJ5c25KVWM3
771 T3p1ckNoUXNxS1NsSgpkZTdjV1UyZlByMVl6dkhqeDZ1d3NEQ2xWTUUwNExtNXVjWGFDTXNsZXhp
772 aTB0V3ZYNTl4NDhZVitkY3B3TTgvLzh5a1NaTUFtRHg1Ck1sdTJiQUVLRGlHTkdER0MrdlhyNjl1
773 T0dER0NtalZyMHIxN2R4bzJiSWlmbng4MWE5YkUyOXRiUHhQd3pwMDdDUXdNeE52Ym0vUG4Kei9Q
774 TEw3K1VtVzNHakJuMDdkdVh3TUJBRGgwNnhMRmp4L0QzOThmYjI1dlEwRkFpSXlPNWN1VUtTaWw4
775 Zkh5b1c3Y3VvMGFOS25PNgo2azJiTnJGNjlXcTh2YjBaT0hBZ04yN2M0TUtGQzR3Y09aSnZ2LzBX
776 Z0EwYk51akhDa3BxZi83OCtWTFgzN1ZyVnhZdlhzeDc3NzFICmNuSXlEenp3QUZBd0xjMndZY09v
777 VmFzV1k4YU1ZZHUyYlFBY1BIaVE0Y09IMDZsVEp3NGZQc3lPSFR2SXpzNW05KzdkVEpreUJTZzQK
778 ZkZpN2R1MWkyeG93WUFETm16ZW5mdjM2dUx1N2MvandZYUtpb3VqWXNTUE96czQ0T0Rqd3hCTlBs
779 TmduM2J0M1o4NmNPU3hmdnB6YwozRnhzYlczTC9KMEl5MkgyVTRNSXkvVFNTeS9SdVhObkprNmNX
780 T1QxMHI1NG16ZHZYdVI1NGZ4Y05XdldwR0hEaHZyWGE5YXNTWFoyCk5tbHBhY3laTTRjOWUvYnc0
781 SU1QTW16WU1HN2V2SG5mVEY5ODhRV1hMMTltNWNxVlFNRTAxUjRlSHV6ZXZidEl1L2o0ZU1NKzVE
782 M3kKOC9OWnNXSUZmZnIwS2Jhc2NlUEcvUDc3NzJ6WXNFRS9OVU5wN1F1bjYvaXJ3TUJBdW5UcHdw
783 bzFhK2pac3ljYk4yNHMwaStGQ3NkdgpwaytmenJmZmZvdUhod2V6WnMzaTVzMmI2SFM2RW1jby9h
784 dS85bmRtWmlZMWF0UW9NalpVMmpxQ2dvTG8zNysvZmlxUzZPaG9talp0CmV0L3RDY3NoZXhpaVNq
785 UnExSWlSSTBmeTZhZWY2cjlvQmc4ZXpKZGZma2wrZmo2ZmZmWVpUenp4UkxuV3JaVGkxcTFiMk5u
786 WjBheFoKTTA2ZlBzMnVYYnZ1KzU1RGh3NnhjT0ZDdnZycUsvMXJYYnQyNWNhTkcvbzlsdlQwZE02
787 Y09jTkREejJFcmEwdHNiR3hwS2VuczJIRApoakl6alIwN2xwQ1FFTkxTMGdDS1RIazlhdFFvM252
788 dlBWSlRVL0h3OENpemZVa3VYTGlnbjd1b2I5KysrbkdSbEpRVWZ2amhCN0t5CnNsaS9majBEQnc0
789 a016T1R0TFEwbkoyZHVYTGxDcHMzYndZS3hwY2VlK3d4VnE5ZWpWS0tyS3dzTWpJeXl2eHNPcDJP
790 YnQyNjhmdnYKdnhNWEYwZHljaktob2FFbG50Qnc3dHc1WEZ4YytOLy8vVjljWFYzTjRsNGxvdkpJ
791 d1JDVjZ0NHZrVmRlZVlYRXhFVDk4K0RnWUM1ZAp1b1MzdHpjM2J0emc1WmRmTHZGOWYzMWUwcktX
792 TFZzeWZQaHdQRHc4bURadFdxbW5vaGIrcTNyRmloWGN2SG1UeHg1N0RHOXZiMTU0CjRRVUF2dnJx
793 SzFhdFdrV25UcDNvMGFNSGYvenhCd0FmZi93eHI3MzJHcjE2OWNMVDA3UEVMMGVkVHFkL2ZjU0lF
794 Zmo0K0JBUUVJQ0gKaHdkejU4N1Z0eHN4WWdUcjE2OW41TWlSUlY0cnFmMjk2N3pYaGcwYjhQRHdv
795 R3ZYcnR5NWMwZS9MbGRYVjM3ODhVZTh2THp3OFBBZwpNRENRQng1NGdEbHo1dURqNDhPb1VhTVlQ
796 SGl3ZmozdnZQTU9aOCtleGRQVGs1NDllK3BQUENqY1ptbmJ0N1cxWmZueTVZd2FOWXFCCkF3ZlNz
797 V05IMnJScFU2emRraVZMNk5peEl6NCtQcmk2dXRLalI0OFNmeS9DTXNua2cwSllxTGk0T0lZT0hj
798 cnZ2Lzl1a3UybHA2ZFQKdDI1ZFVsSlNHREprQ0o5ODhnbnQyN2MzeWJhRmVaQXhEQ0VzbUNudk9E
799 ZHYzanpDd3NLd3M3UGoyV2VmbFdKUkRja2VoaEJDQ0lQSQpHSVlRUWdpRFNNRVFRZ2hoRUNrWVFn
800 Z2hEQ0lGUXdnaGhFR2tZQWdoaERDSUZBd2hoQkFHK1g4TEF4UDFCZTVmQkFBQUFBQkpSVTVFCnJr
801 SmdnZz09Cg==
802 </png>
803 </output>
804 </outputs>
805 </codecell>
806 <markdowncell>
807 <source>## Parallel calculation of nearest neighbor eigenvalue distribution</source>
808 </markdowncell>
809 <markdowncell>
810 <source>Here we perform a parallel computation, where each process constructs and diagonalizes a subset of
811 the overall set of random matrices.</source>
812 </markdowncell>
813 <codecell>
814 <input>def parallel_diffs(rc, num, N):
815 nengines = len(rc.targets)
816 num_per_engine = num/nengines
817 print "Running with", num_per_engine, "per engine."
818 ar = rc.apply_async(ensemble_diffs, num_per_engine, N)
819 diffs = np.array(ar.get()).flatten()
820 normalized_diffs = normalize_diffs(diffs)
821 return normalized_diffs</input>
822 <language>python</language>
823 <prompt_number>11</prompt_number>
824 <collapsed>1</collapsed>
825 <outputs />
826 </codecell>
827 <codecell>
828 <input>client = Client()
829 view = client[:]
830 view.run('rmtkernel.py')
831 view.block = False</input>
832 <language>python</language>
833 <prompt_number>12</prompt_number>
834 <collapsed>1</collapsed>
835 <outputs />
836 </codecell>
837 <codecell>
838 <input>parallel_nmats = 40*serial_nmats
839 parallel_matsize = 50</input>
840 <language>python</language>
841 <prompt_number>13</prompt_number>
842 <collapsed>1</collapsed>
843 <outputs />
844 </codecell>
845 <codecell>
846 <input>%timeit -r1 -n1 parallel_diffs(view, parallel_nmats, parallel_matsize)</input>
847 <language>python</language>
848 <prompt_number>14</prompt_number>
849 <collapsed>0</collapsed>
850 <outputs>
851 <output>
852 <output_type>stream</output_type>
853 <text>Running with 10000 per engine.
854 1 loops, best of 1: 14 s per loop</text>
855 </output>
856 <output>
857 <output_type>stream</output_type>
858 <text />
859 </output>
860 </outputs>
861 </codecell>
862 <codecell>
863 <input>pdiffs = parallel_diffs(view, parallel_nmats, parallel_matsize)</input>
864 <language>python</language>
865 <prompt_number>15</prompt_number>
866 <collapsed>0</collapsed>
867 <outputs>
868 <output>
869 <output_type>stream</output_type>
870 <text>Running with 10000 per engine.</text>
871 </output>
872 </outputs>
873 </codecell>
874 <markdowncell>
875 <source>Again, the agreement with the Wigner distribution is excellent, but now we have better
876 statistics.</source>
877 </markdowncell>
878 <codecell>
879 <input>hist_data = hist(pdiffs, bins=30, normed=True)
880 plot(s, rhos)
881 xlabel('Normalized level spacing s')
882 ylabel('Probability $P(s)$')</input>
883 <language>python</language>
884 <prompt_number>16</prompt_number>
885 <collapsed>0</collapsed>
886 <outputs>
887 <output>
888 <output_type>pyout</output_type>
889 <text>&amp;lt;matplotlib.text.Text at 0x376c950&amp;gt;</text>
890 <prompt_number>16</prompt_number>
891 </output>
892 <output>
893 <output_type>display_data</output_type>
894 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVl3QUFBRU1DQVlBQUFEWGlZR1NBQUFBQkhOQ1NWUUlD
895 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYbGNW
896 UFgreC9IWElMZ2pMcWhvRm1xaGdDZ01Db2dtVG01Z3FOMVNNNjFjCjZoWmxpcmxVMXErdVdyZHVk
897 YStwbVJyWnRWVXJ5OHF0TWt6SDBRVEVMWGROQlJPM0ZCVlEyVG0vUDRpNWptd3pNTXlaWVQ3UCs1
898 aEgKek16WDcvZk40VElmenZtZTh6MGFSVkVVaEJCQ2lFcTRxQjFBQ0NHRVk1Q0NJWVFRd2l4U01J
899 UVFRcGhGQ29ZUVFnaXpTTUVRUWdoaApGaWtZUWdnaHpLSkt3VEFZRFBqNStlSGo0OFBDaFF0THZa
900 K1ZsY1gwNmRNSkNnb2lQRHljRXlkT3FKQlNDQ0hFelZRcEdGT21UQ0V1CkxvNk5HemV5YU5FaUxs
901 MjZaUEwrRjE5OFFYNStQbnYzN3VXZGQ5N2grZWVmVnlPbUVFS0ltOWk4WUdSa1pBQVFFUkdCdDdj
902 M2d3WU4KSWlrcHlhVE5wazJiaUk2T0JpQThQSnpqeDQvYk9xWVFRb2hiMkx4Z0pDY240K3ZyYTN6
903 dTcrOVBZbUtpU1p2SXlFaSsrT0lMc3JPegpXYk5tRGZ2Mzd5Y2xKY1hXVVlVUVF0ekVWZTBBWlJr
904 MWFoUnBhV24wN2R1WHpwMDc0K1BqUTcxNjlVcTEwMmcwS3FRVFFnakhWNlZWCm9SUWJ1M3IxcWhJ
905 VUZHUjhQbW5TSkdYZHVuWGx0cy9LeWxJQ0F3UExmRStGK0ZVeWE5WXN0U09ZUlhKYWp5TmtWQlRK
906 YVcyT2tyT3EKbjUwMlB5VGw0ZUVCRko4cGxacWFTbng4UEdGaFlTWnRNakl5eU12TDQ4YU5HL3py
907 WC85aTRNQ0J0bzRwaEJEaUZxb2NrcG8vZno0eApNVEhrNStjVEd4dUxwNmNuY1hGeEFNVEV4SERv
908 MENIR2p4OVBVVkVSNGVIaHZQLysrMnJFRkVJSWNSTlZDa2Jmdm4wNWZQaXd5V3N4Ck1USEdyOFBE
909 d3psNjlLaXRZOVVZblU2bmRnU3pTRTdyY1lTTUlEbXR6VkZ5VnBYbXIrTlpEa21qMFZSdDRrWUlJ
910 WnhZVlQ4N1pXa1EKSVlRUVpwR0NJWVFRd2l4U01JUVFRcGhGQ29ZUVFnaXpTTUVRUWdoaEZpa1lR
911 Z2doekNJRlF3Z2hoRm1rWUFnaGhEQ0xGQXdoaEJCbQprWUloaEJEQ0xGSXdoQkJDbUVVS2hnTnEw
912 cVE1R28ybTBrZVRKczNWamlxRXFFVms4VUVIVkh5blFYTytiK2ZjUGtLSWlzbmlnMElJCklXcVVG
913 QXdoaEJCbVVhVmdHQXdHL1B6ODhQSHhZZUhDaGFYZXo4N09adHk0Y1dpMVd2cjI3Y3ZxMWF0VlND
914 bUVFT0ptcXN4aGFMVmEKRml4WWdMZTNONUdSa1d6YnRnMVBUMC9qKysrLy96Nzc5dTFqOGVMRm5E
915 cDFpbjc5K25IOCtQRy9qdDNmRkY3bU1DcHI2WlRiUndoUgpNWWVadzhqSXlBQWdJaUlDYjI5dkJn
916 MGFSRkpTa2trYkR3OFBzckt5eU0vUDUvTGx5elJzMkxCVXNSQkNDR0ZiTnIrbmQzSnlNcjYrCnZz
917 Ym4vdjcrSkNZbUVoMGRiWHh0OU9qUnJGMjdGazlQVHdvS0NraElTQ2kzdjltelp4dS8xdWwwdGY2
918 ZXVrSUlZU205WG85ZXI2OTIKUHpZdkdPWjQ3NzMzY0hWMTVkeTVjK3pmdjUvbzZHaE9uVHFGaTB2
919 cEhhS2JDNFlRUW9qU2J2MWplczZjT1ZYcXgrYUhwRUpDUWpoeQo1SWp4K2NHREIrblpzNmRKRzRQ
920 QndNTVBQMHpEaGcwSkN3dWpiZHUySER0MnpOWlJhd0ZYdWNCUENHRTFOaThZSGg0ZVFIRlJTRTFO
921 CkpUNCtuckN3TUpNMi9mdjNaKzNhdFJRVkZYSHk1RWt1WDc1c2NoaExtS3VBNHNueGloOVpXVmRV
922 U3lpRWNCeXFISkthUDM4K01URXgKNU9mbkV4c2JpNmVuSjNGeGNRREV4TVR3MEVNUGNlalFJWHIw
923 NkVITGxpMVpzR0NCR2pHRkVFTGNSSllHc1JOTm1qUzM4Qzk5ODA2cgpsZE52aFJDM3F1cG5weFFN
924 TzJIK3RSVmdTU0dRZ2lHRXVKWERYSWNoaEJEQ01VbkJFRUlJWVJhN3ZBNURtRXVCSm1lZzBaK1E0
925 d0U1CnpTQzdHY1dIb29RUXdycWtZRGlhQnVrUUFIVHREVjYvUWE0N1hHOE45VEtoNFNXNDVnVkho
926 OEhSb1hBYUtES25VMWV6bGw1eGQyOUcKWnVibGFuNERRZ2hISlpQZWRxTFNTVyszNjNEUExBaitF
927 SDdQZ045K2dOTzlJTmZqcGtZS3ROa0RuZGRBNTlWUWJ5OXMvQm9PRGFmaQp2UTZaSEJmQ21jaFpV
928 ZzZ1d29KeDU4OHc1Q2s0SFE0YjVoWHZVWmp6QWQ5QkE1R0JrTmNZTnJ3RFowTExHOTI4L3FSZ0NG
929 RXJTTUZ3CmNHVVdERTBoREk2RlR1dGgzUkk0UHJqa2pkSnR5KzRWTkFVUStDbjBmd2tTbjRWZm42
930 ZjAzb1lVRENHY2lSUU1CMWVxWUxqa3d3T1AKUXNPTDhPWDNrT2QrYzJzc3ZnNmp5V2tZTlJ5dWRJ
931 RFZ5eUMvVVpYNnF5M2JXd2huSnRkaDFDYXVPY1VmN203WFljWDZXNHBGRldYZQpEaDhaSUw4aC9E
932 MGNQUDZvZnA5Q0NLY2lCY1BlMU1tRjBjTWd2d0Y4OVMwVTFMZGUzd1gxaS9jdWZoc0w0L3BCNDNQ
933 VzYxc0lVZXZKCmFiWDJKdXJaNHIyQVZTdEFxVk1EQTJoZys0emlRMTVqQjhESGVyaFJBOE1JSVdv
934 ZEtSajJKT2dqNkxBSmxpYlhVTEc0eWJZWG9lNDEKZURRU1BnRnlhblk0SVlUamswTlM5cUlOTVBC
935 NStPbzd5RzFpbXpFMy9STk85WUdIS1M0ZVFnaFJBU2tZZGlEOVJqbzhDS3hmQWhmOQpiVGl5cHZp
936 NmpvdkE4REdnTWV1eWNDR0VrMUtsWUJnTUJ2ejgvUER4OFdIaHdvV2wzdi9QZi82RFZxdEZxOVhT
937 dFd0WFhGMWR1WHIxCnFncEpiU1AycDFnNEFod2FZZnZCRlJkWVQvR1NJM2UvYWZ2eGhSQU9RNVhy
938 TUxSYUxRc1dMTURiMjV2SXlFaTJiZHVHcDZkbm1XM1gKclZ2SC9QbnoyYmh4WTZuM2FzTjFHQnVP
939 YitEcDlVK1Q4bHdLNUt0M1B3emMwK0RKSHZEZFozQnlRTG50SEgxN0N5RWM2RHFNakl3TQpBQ0lp
940 SXZEMjltYlFvRUVrSlNXVjIzN0ZpaFdNSGozYVZ2RnM2a2IrRFNiK01KRkY5eTZDZkpYRFpOMEcz
941 eTZIK3g4dHZzaFBDQ0Z1CllmT0NrWnljaksrdnIvRzV2NzgvaVltSlpiYTljZU1HR3pac1lQanc0
942 YmFLWjFPdkdWNGpwRzBJZzMwR1Y5N1lGbEw2UWRJVWVIQWsKMU1sVE80MFF3czdZOVdtMWE5ZXU1
943 ZTY3NzZacDA2Ymx0cGs5ZTdieGE1MU9oMDZucS9sZ1ZyRC93bjcrdS91LzdIdDZuOXBSVEcxNwpB
944 ZG9sd3NEbjRLY0ZhcWNSUWxpQlhxOUhyOWRYdXgrYnoyRmtaR1NnMCtuWXMyY1BBSk1uVHlZcUtv
945 cm82T2hTYmUrLy8zNUdqUnJGClF3ODlWR1pmampxSG9TZ0t1azkwakFrWVEweVBHRUQ5ZTNxYnRL
946 dC9CU1oyaFc4L2gxU2RTVHRIM041Q0NGTU9NNGZoNFZGOC93YUQKd1VCcWFpcng4ZkdFaFlXVmFw
947 ZVJrWUhCWU9DKysrNnpkY1FhRjM4eW5ndlhMdkQzNEwrckhhVnNPYzFnL1dJWTl2Zmk5YXlNaW0r
948 MApaTTZqU1pQbXFzVVhRdFFNVlU2cm5UOS9QakV4TVF3WU1JQ0pFeWZpNmVsSlhGd2NjWEZ4eGpi
949 ZmYvODlrWkdSTkdqUVFJMklOVVpSCkZGN1ovQXF6ZGJPcDQxTERWM05YeDlGaGtCWUcvVjY1NmNV
950 Q2l2ZEVLbjlrWlYyeGNXQWhSRTJUNWMxdGJQMng5Y3o4WlNhL1BmVWIKTHByLzFXdTdPaVJWb3VF
951 bGVMb3JyRnhWZkhjL3Mvc3I3dFBSZmpaQ09BdUhPU1RsekJSRjRSLzZmekJITjhla1dOaXRHNTd3
952 NDBLNAo3N0hpSmRlRkVFN05BVDYxYW8vdmozeVBvaWpjNzN1LzJsSE1kMmdFL0JrQWZlZW9uVVFJ
953 b1RJcEdEWlNwQlR4RC8wL2VQV2VWLzg2Ci9PUkExaThDN1RKb3EzWVFJWVNhcEdEWXlOY0h2NmFS
954 V3lPaWZVcWZQbXozcnJlR24rZkNNSXJ2TXk2RWNFb3k2VjNEbWpScFR0YTEKS3pBUitBazRVVkZy
955 TzV2ME5xSEFCQmZZRndlN25qU3JUM3YvMlFqaHJHVFMyMDVsWlYyQk8zK0VnaUE0VVVUNXA2TGFP
956 dzM4Q056egpENmhmZTFjT0ZrS1VUd3FHTFlRdWhCMlRLZjVMM29HZEI0NE9oWWpYMUU0aWhGQ0JG
957 SXlhMWh5NExSbjIxNUlWZHpmOUU0SStnUmJICjFFNGloTEF4S1JnMUxRVFk4eGdVMUpJcjFxKzNM
958 bDZnY05CMHRaTUlJV3hNQ2tZTnVwWjNEUUtCNUtmVmptSmRTYkhnZVFUdTNLQjIKRWlHRURVbkJx
959 RUdmNy9zY1RnRVozbXBIc2E3Q2VzV24yVVpOQlJlMTcvd2toTEFWS1JnMVJGRVUzdHZ4SHBSL00w
960 SEhkblFvWkxhRApIdStyblVRSVlTTlNNR3JJNXRUTnhWK2txaHFqQm1uZ3AzblE5elZva0s1MkdD
961 R0VEVWpCcUNFTGR5eGtVdWdrdFdQVXJJdGQ0T0NECm9KTjFwb1J3QmxJd2FrQmFaaHFHVXdZZTZm
962 YUkybEZxbm40V2RGME9IcWZVVGlLRXFHRlNNR3JBOG4zTEdlRS9nc1oxRzZzZHBlYmQKYUFuSkU2
963 SHZxMm9uRVVMVU1GVUtoc0Znd00vUER4OGZIeFl1WEZobW0rVGtaRUpDUXZEejgwT24wOWsyWURV
964 b2lzSm4rejdqa2E1TwpzSGRSSW1FNmRGNGpGL01KVWN1cHN2aWdWcXRsd1lJRmVIdDdFeGtaeWJa
965 dDIvRDA5RFMrcnlnSzNicDFZOTY4ZVF3WU1JQkxseTZaCnZGL0NIaGNmL08zOGI5ejM1WDJjbkhJ
966 U0Y0MkxCWGZTczhNNzdsblNyczhiMEdvL3JQckMyTmJlZmpaQ2lHSU9zL2hnUmtZR0FCRVIKRVho
967 N2V6Tm8wQ0NTa2t6UFBkMjVjeWZkdW5WandJQUJBR1VXQzN2MTJiN1BlS1RiSTQ1eFJ6MXJTb3FG
968 RHB1aDlUNjFrd2doYW9qTgpQOVdTazVQeDlmVTFQdmYzOXljeE1kR2t6WVlORzlCb05QVHAwNGVo
969 UTRleVlZTmpYRkZjV0ZUSWl2MHJlTGpydzJwSHNiMjh4ckJ0Ckp0enppdHBKaEJBMXhGWHRBR1hK
970 eWNsaDc5NjliTnk0a1JzM2JqQnc0RUFPSERoQWd3YWwxMk9hUFh1MjhXdWRUcWZxZk1lbWxFMjAK
971 ZFcrTFgwcy8xVEtvYXVkVEVENFhia3VDTTJxSEVVS1UwT3YxNlBYNmF2ZGo4NElSRWhMQ2M4ODla
972 M3grOE9CQm9xS2lUTnFFaDRlVAptNXVMbDVjWEFEMTY5TUJnTUJBWkdWbXF2NXNMaHRvKzMvKzVj
973 NXhLVzU2QyttQjRCZnE5REorcEhVWUlVZUxXUDZibnpLbmF0Vk1XClRYb1hGUldSa0pCQWFtb3FG
974 eTllcEduVHBuVHAwb1h1M2J2ajRtTCswYTJTU2U4NzdyaURxS2lvVXBQZTZlbnBEQjQ4R0wxZVQw
975 NU8KRGoxNzltVDM3dDAwYm14Nm1xbzlUWHBmejd0T3UzbnRPUExNRVZvM2JtMTgzV2ttdlV1NDVN
976 TWtYMWh6Q2xJcnY1MnJ1M3N6TWpNdgptekcyRU1KYXF2clphZFllUmw1ZUh2UG16YU93c0pDbVRa
977 dlNzV05IdW5UcFFscGFHdHUzYjJmVnFsVzBhdFdLS1ZPbVVLZE9uVXI3Cm16OS9QakV4TWVUbjV4
978 TWJHNHVucHlkeGNYRUF4TVRFMEtKRkN5Wk1tRUNQSGoxbzJiSWxyNzc2YXFsaVlXOVdIMTFOejNZ
979 OVRZcUYKVXlweUEvMXM2RGNXbGhWUjJVMmpzckljL0taU1FqaVJTdmN3Y25OeldiRmlCVU9HREtG
980 bHk1Ymx0anQ1OGlTLy9QSUxUenp4aE5WRApsc2VlOWpEdVhYNHZEM2Q5bUllN21VNTRPOTBlQm9D
981 bUVKNTJoZmoxOFB1OWxmWnBMejlESVp4RlZUODdWYmtPdzFyc3BXQmN1SGFCCnp1OTE1c3kwTXpT
982 cTI4amtQYWNzR0FCK0dvalFRdHd1S3Q3THNJK2ZvUkRPeEdiWFlSdzVjb1FmZnZpQnk1Y3ZjL2p3
983 WVlzSHJJMisKUFBBbHd6b1BLMVVzbk5waFFOR0EzN2RxSnhGQ1dFbVZDb2FYbHhjOWUvWmsvZnIx
984 ZlBhWm5BN2o5R2RIbFdmVFA2SGZLOFdIcUlRUQpEcy9pZ25IMjdGazJiOTZNVnF0bHhvd1p0Rzd0
985 M0pPOHY2Zi9UbHBtR3YwNjlGTTdpdjA1SGdYWnpTRGdLN1dUQ0NHc3dPS0NNVzdjCk9IeDlmVm15
986 WkFuUFBQTU1lL2Z1cllsY0R1UDdJOTl6WCtmN2NIV3h5MnNnVmFZcHZpNmp6eHVnS1ZJN2pCQ2lt
987 cW8xNlgzbHloV2EKTm0zNjE4U3U3ZG5EcEhmdlpiMTV1Yy9MRFBZWlhPYjdUanZwYld5cndCT2hz
988 TzFGT1B4QW1lM1UvaGtLNFd4cWJOSTdOemVYbzBlUApsdmxlczJiTlRJckYxcTFiTFE3Z3lDNWN1
989 OENCUHcvSTRhZ0thY0R3TWtUOEUvT0xqUkRDSGxWYU1PclZxMGQ2ZWpydnZmZGVtV2RGClpXWm1z
990 blhyVm1KalkybldyRm1OaExSWDY0NnRZOUNkZzZqbldrL3RLUGJ0MkZCd0tRQ2ZIOVZPSW9Tb0Jy
991 TU92Qjg1Y29SWFhubUYKYWRPbVViZHVYUjU1NUJGeWNuTEl6TXpFeTh1THlNaElGaXhZb05xaEti
992 V3NQcnFhQjdzOHFIWU0rNmU0Z09IL0lPSTErSDB3bFYzOQpMWVN3VDJZVmpMMTc5M0xod2dXeXNy
993 SjQ5OTEzR1RCZ0FIMzY5S25wYkhidGV0NTE5S2w2UHZuYkoycEhjUXlIUnNBOXM2RERKa2pwCnIz
994 WWFJVVFWbUhXV1ZMZHUzYWhidHk0dFdyUmcxcXhaN05tenA2WnoyYjM0ay9HRTNCWkNzd2JPZFJp
995 dXlwUTZzUFdsditZeWhCQ08KeUt5Q2taQ1F3SkVqUjRyL2dZc0wzdDdlTlJyS0Vhdyt1cHI3T3Qr
996 bmRnekhzbjgwTkQwRmQyeFRPNGtRb2dyTU9xMVdwOVBSdUhGagpEaDQ4U051MmJXbmF0Q2xqeG95
997 aFY2OWU3Tnk1azVFalI5b2lheWxxblZaYldGU0kxMXd2ZGo2eEUrK21GUmRQT2EzMkZzRkx3WDhW
998 CmZQNlRzWjJjVml1RWJkWG80b01IRHg2a1M1Y3VRUEdxdEVsSlNTUW5KNU9VbE1UKy9mdkp6TXkw
999 UExFVnFGVXd0cDdheXVRZko3UDMKcWNvdldwU0NjWXM2dVJEckExK3Rnck1oU01FUXd2WlVXNjEy
1000 M3J4NVRKMDZ0VHBkVkpsYUJXUEd6ek5ZT0hjUmVUL25tUGt2cEdDWQpDSDBQT3NiRGw2dVJnaUdF
1001 N2FsV01Bb0xDODI2YVZKTlVLTmdLSXBDcC9jNmNmeGZ4K0djSFg0WTIwVzdTdHE2WnNPVWpzV0hw
1002 UzRFClNjRVF3c1pzdHJ6NXJhcFNMQXdHQTM1K2Z2ajQrTEJ3NGNKUzcrdjFlanc4UE5CcXRXaTFX
1003 djc1VC9zNXMrYndwY1BrRnVUQ09iV1QKT0xDQ0JwQXd2WGlOS1NHRXcxQmx4YndwVTZZUUZ4ZUh0
1004 N2Mza1pHUmpCNDkydVNlM2dCOSsvWmx6Wm8xYXNTcjBPb2pxeG5XZVJpTApXS1IyRk1lMjh5bVk4
1005 alo0VnQ1VUNHRWZMTnJET0hQbVRMVUh6TWpJQUNBaUlnSnZiMjhHRFJwRVVsSlNxWGIyZXBoQ1Rx
1006 ZTFrcnpHCmtEZ0ZuUHY2VHlFY2lrVUZZK0RBZ1F3ZVBKaVZLMWVTbjU5ZnBRR1RrNVB4OWZVMVB2
1007 ZjM5eWN4TWRHa2pVYWpZZnYyN1FRRkJURnQKMmpST25EaFJwYkdzN1Z6V09ZNm1INlZ2Kzc1cVI2
1008 a2Rka3dDSHpoeDJUNSt2a0tJaWxsMFNPclFvVU5zMzc2ZFpjdVc4Znp6enpOMAo2RkFtVEpoQWNI
1009 Q3dWVU1GQndkeit2UnAzTnpjK09TVFQ1Z3laUXJyMXEwcnMrM3MyYk9OWCt0ME9uUTZuVld6M0d6
1010 dHNiVkUzUlZGCjNUcDFhMndNcDVMckFjbnc1cTl2c25Ub1VyWFRDRkZyNmZWNjlIcDk5VHRTcXVq
1011 SEgzOVUyclJwbzdScTFVcnAxYXVYa3BDUVlOYS8KdTNyMXFoSVVGR1I4UG1uU0pHWGR1blhsdGk4
1012 cUtsSmF0V3FsNU9Ua2xIcXZHdkdyNU43bDl5cGY3UC9DT0RZb1pqeXMzVTdOc1dzZwpZNE02Q2kr
1013 ZzRGRnk4NHl5SCs3dXpXejZzeGFpTnF2cVo2ZEZoNlRTMHRKNC9mWFhDUWdJWU5teVpYejg4Y2Vj
1014 TzNlT3hZc1g4OWhqCmo1blZoNGVIQjFCOHBsUnFhaXJ4OGZHRWhZV1p0TGx3NFlKeERtUHQyclYw
1015 NjlhTmV2WFVYVUw4ZXQ1MXRwN2F5dUM3eXI1UmtxaWkKN0VMWS9SejBta1FGOVlLc3JDc3FoaFJD
1016 Z0lXSHBBWVBIc3lFQ1JQUTYvVW1aelVGQmdieTFGTlBtZDNQL1BuemlZbUpJVDgvbjlqWQpXRHc5
1017 UFltTGl3TWdKaWFHYjc3NWhpVkxsdURxNmtxM2J0MllPM2V1SlRGcmhPR1VBVzBiTFI3MVBkU09V
1018 dnRzbnc2VC9Jb1hKN3pXClJ1MDBRb2h5V0hUaDNvNGRPd2dORGEzME5WdXg1WVY3MHpaTW8xbjla
1019 cnpTOXhYajJIWjVVWnhkdEt0Q24xRlRvTWdOZnY1UHVlMXMKOWJNV29yYXp5WVY3WmUxRnhNVEVX
1020 RHlvSTlwNGNpTUQ3eHlvZG96YWEvdHpvRjBHRFMrcG5VUUlVUTZ6RGtrbEp5ZXpZOGNPTGw2OAp5
1021 T0xGaTQyVjZlTEZpMDV4VzliejE4NXpPdk0wUGRyMlVEdEs3WlhaRGc0K0NEM253YWJYMVU0amhD
1022 aURXWHNZR1JrWm5ENTltdno4CmZFNmZQazFhV2hwcGFXbDRlWG54MFVjZjFYUkcxVzA4dVpGNzJ0
1023 K0RxNHNxRjhZN2oyMHZRSS8zb2I1TWNBdGhqeXlhd3poMjdCaWQKT25XcXlUd1dzZFVjeHJqdng5
1024 SHp0cDQ4SGZLMHlkZ09NejlnODNiVjZQTnY0K0h5bldCNHBWUTdtY01Rd2pwcWRMWGE2T2hvMXE5
1025 ZgpUL3YyN2YvNm9EUWQrT1RKa3hZUGJBMjJLQmlLb25EYk83ZGhtR0RncnVaM21ZenRjQi9HTm10
1026 WGpUNWJISVBIZXNPQ2s1RG5idEpPCkNvWVExbEhWejA2empyRXNYNzRjZ0owN2QxbzhnS003ZFBF
1027 UTlWenJjV2V6TzlXTzRoelNPOEhKQVJDeUJINTlYdTAwUW9pYm1GVXcKbWpadENsQnFSVmxuRUg4
1028 eW5vRWRCNWJhc3hJMWFPdExNSFpnOFZwVCtRM1ZUaU9FK0l0WkJlUENoUXRsZm1BcWlvSkdvNkZW
1029 cTFaVwpEMll2NGsvR016NXd2Tm94bk11ZlhlRjBMK2orQVNRK3EzWWFJY1JmekpyRDhQSHhLVzU4
1030 UzlFb0tSakhqaDJybVhTVnFPazVqTHpDClBEemY5aVJsU2dvdEdyWW9OYmJEelEvWXJKMFYrdlRh
1031 QXc5SHc0SVR4VGRja2prTUlheW1SaS9jNjlTcEU3Ly8vanQ1ZVhuazUrZVQKbDVkbi9McXF5NXc3
1032 Z29UVENYVDI3RnlxV0FnYk9LK0ZNNkhRWFZheEZjSmVtTFdIa1pHUmdZZUhCNWN1bGI0S1Y2UFIw
1033 S0tGT2grbwpOYjJIOGZLbWx5bFNpbmlqZitsYmljb2VoZzM2YkxNYlJnK0ZkNDlEUVVQWnd4RENT
1034 bXIwTEttU0ZXYWRiZEk3L21ROGIvWi9VKzBZCnp1dGNNSnp0VWJ5WFVmcW1qRUlJRzdQNDB1Vkxs
1035 eTZ4WWNNR05Cb05rWkdScXUxZDFMUXIyVmM0ZlBFd3ZXN3ZwWFlVNTdabFZ2RmUKeGk2MWd3Z2hM
1036 RnA4Y1BueTVZU0hoNU9Ra01EMjdkc0pEdzgzWHFOUjIyeEsyVVR2TzNwVHoxWGQrM0E0dlpLOURP
1037 dmUxRkVJVVFVVwo3V0g4KzkvL1p1dldyWGg1ZVFIRnA5dEdSa2J5OE1NUDEwZzROVzFNMmNqQWpy
1038 STZyVjNZOGc4WXZZYWNnaHpxdTlaWE80MFFUc3VpClBZem16WnVUbloxdGZKNmRuVTN6NXMydEhz
1039 b2V4SitJWjBESEFXckhFQURudXNNNVdMcEx6cGdTUWsxbUZZekpreWN6ZWZKa1dyWnMKU2ZmdTNi
1040 bnZ2dnNZTm13WXdjSEJ0R3paMHVKQkRRWURmbjUrK1BqNHNIRGh3bkxiSlNjbjQrcnF5cmZmZm12
1041 eEdOV1JjaVdGYTNuWAo2TnFxcTAzSEZSWFF3MXUvdmtWT1FZN2FTWVJ3V21ZZGt1cmV2YnZ4b3Iz
1042 QmcvOTNUK3NISG5pZ1NrdG1USmt5aGJpNE9MeTl2WW1NCmpHVDA2TkdsenNBcUxDemtoUmRlSUNv
1043 cXl1YW5VOGFmTE42N2tPVkE3TWc1MExiUjh1SHVENWtVT2tudE5FSTRKYk1LeHZqeDQ2MDIKWUVa
1044 R0JnQVJFUkVBREJvMGlLU2tKS0tqbzAzYUxWeTRrQkVqUnBDY25HeTFzYzBWZnpLZUlUNURiRDZ1
1045 cU5pc3ZyUDQyNWQvNCsvQgpmNWU1RENGVVlORWNSbloyTnF0WHIyYml4SW1NSGoyYU1XUEdNR2JN
1046 R0lzR1RFNU94dGZYMS9qYzM5K2Z4TVJFa3pabnpweGg5ZXJWClBQMTA4ZjBuYlBtWGZtRlJJWnRT
1047 TnNuOGhSM3EwYllIMmpaYS9ydjd2MnBIRWNJcFdYU1cxTXN2djR4R28ySERoZzA4Ly96ekxGKysK
1048 bkx2dnZ0dnFvWjU5OWxuZWZQTk40OVdJRlIyU21qMTd0dkZyblU2SFRxZXIxdGk3eiszR3E3RVh0
1049 elc1clZyOWlKcFJzcGZ4ZVBEagpzcGNoaEpuMGVqMTZ2YjdhL1ZoMHg3M2c0R0IyNzk1Tmx5NWRP
1050 SGp3SUJrWkdRd1lNTUNpdzBZWkdSbm9kRHIyN05rREZFK29SMFZGCm1SeVM2dGl4bzdGSVhMcDBp
1051 WVlORzdKMDZWS0dEUnRtR3I0R2xnWjVZK3NiL0huOVQrWkh6YSt3blN3Tll2dXhTMzdXUTFZTVlm
1052 QmQKZzNrbTlCa3pzd2doYmxhaml3K1djSE56QTZCSGp4NnNXN2VPQ3hjdWtKTmoyVmtySmN1TUdB
1053 d0dVbE5UaVkrUEp5d3N6S1ROeVpNbgpTVWxKSVNVbGhSRWpSckJreVpKU3hhS21iRHk1VVE1SDJT
1054 VlhOQm9OR28yRzljK3RaOUtYazlDNGFveXZsVHlhTkttZHAza0xZUThzCk9pVDF6RFBQY09YS0Zh
1055 Wk9uY3JNbVRNNWMrWU1yNzc2cXNXRHpwOC9uNWlZR1BMejg0bU5qY1hUMDVPNHVEZ0FZbUppTE83
1056 UFd2SUsKODloeFpnZDk3dWlqV2daUm5nS01leUpuZ1F2UkVCd055Uk5OV21WbHlabHRRdFFVaXc1
1057 SndmL1drZ0tJakl4VWRVRkNheCtTU2ppZAp3RE0vUE1QdW1OMW1qVjJiRHZjNFhNYmJkc0NEdzR0
1058 WHNpMnNaOUpPVnJVVm9tSTJPU1IxODFwU2lZbUo5T3JWcTFhdEpXVTRaYUNQCnQreGRPSVF6b1hD
1059 aEcyaVhxWjFFQ0tkaDBSNUdVRkFRUC8zMFU2bTFwUGJ1M1Z0akFTdGk3VDJNNkJYUlBCYjBHTVA5
1060 aDVzMWRxMzkKNjczYTdXdzBkcGw3R2JLSElVUmxiTEtIVVp2WGtpb3NLdVRYUDM3bDdqdXNmNXF3
1061 cUNGblFvdnYveTE3R1VMWWhGbVQzcE1uVHdZdwpyaVZWY3UzRnRtM2JHRGl3ZHF6b3V2L1AvWGcx
1062 OXFKMTQ5WnFSeEdXME0rQ0IwZkNuc2R1bWNzUVFsaGJsZGFTS3ZtNnFtdEoyYU90CnA3WVM0UjFC
1063 a3liTnljcTZvblljWWE0ellmQm5GOUIrQkR1ZlVqdU5FTFdheFdkSkFlemF0UXVOUmtOd3NMcDN0
1064 YkhtSE1iSXIwY3kKck5Nd3hnYU5SZVlIcXR2T3htTzNTNFNSRDhLN3YwTmhmWm5ERUtJU05wbkRN
1065 QmdNZE9yVWlaZGVlb2tYWDN5UlRwMDZzWFhyVm9zSAp0VGVLb21BNFpTRENPMEx0S0tJcTBuckNu
1066 d0hRSTA3dEpFTFVhaFpkdVBmMjIyK3paczBhNCtLQlI0OGVaZnIwNmZUcDQ5aW5vdjUrCitYZnF1
1067 OWJIdTZtMzJsRkVWVzE4RXg0ZENPcWNzQ2VFVTdCb0QrUHk1Y3UwYmR2VytMeE5telpjdm56WjZx
1068 RnN6WERLSUZkM083b0wKM2VCNEZQUldPNGdRdFpkRmV4aVBQdm9vMGRIUmpCdzVFa1ZSK1BiYmJ4
1069 azdkbXhOWmJNWk9SeFZTMngrRFdJKzVXeldXZHE2dDYyOAp2UkRDSW1aUGVpdUt3cmx6NXpoLy9q
1070 enIxcTFEbzlFd1pNZ1F0RnB0VFdjc2w3VW12VHNzNk1BUFkzN0FyNldmaWhmazJlbUVjcFhhCnFU
1071 ajJRQTFQVEg2Q0Q0WitZRWFmUWppbnFuNTJXbFF3dW5idHlvRURCeXdlcEtaWW8yQ2N6amhOOEFm
1072 Qi9EbmpUK09LcC9KaFhOMTIKS281ZFgwUExWMXV5WmZ3Vy9GcjZtZEd2RU02bnhzK1MwbWcwaElX
1073 RnNYNzllb3NIc1dkYi95aSsvcUsyWEUvaTlITGcrZDdQOCtJdgpMNnFkUkloYXg2Sko3NlNrSklZ
1074 T0hZcVhseGRhclJhdFZxdjZ0UmpWSlJQZXRjK2swRW5zT2IrSFgvLzRWZTBvUXRRcUZrMTZyMTY5
1075 CnV0WmRGR1U0WmVESjdrK3FIVU5ZVVgzWCtyeDJ6MnM4Ri84Y3Z6NzJxK3c5Q21FbFp1MWg1T2Zu
1076 czI3ZE9wWXVYY3JwMDZmcDJMRWoKZDkxMWwvSGhxQzVldjhpWnJETUV0ZzVVTzRxd3NvZTdQc3ox
1077 L090OGYrUjd0YU1JVVd1WVZUQmVldWtsbGl4WlFzdVdMWG4xMVZlWgpQNy9pKzExWHhtQXc0T2Zu
1078 aDQrUER3c1hMaXoxL3VyVnF3a01EQ1FvS0lqbzZHaUw3aGx1aVcxL2JLUFg3YjJvNDFLblJ2b1g2
1079 cW5qClVvZTNCcnpGaTcrOFNFRlJnZHB4aEtnZEZETUVCd2NyZVhsNWlxSW95cFVyVjVTSWlBaHov
1080 bG01Z29LQ2xDMWJ0aWlwcWFsSzU4NmQKbFlzWEw1cThmKzNhTmVQWGVyMWU2ZE9uVDVuOW1CbS9Y
1081 TS8rOUt6eWh1R05VbjJDWXNaRHJYYVNzYkoySllxS2lwUituL1JUM2s5Kwp2MXIvUHhHaXRxbnFa
1082 NmRaZXhoRlJVVzR1YmtCMExScFV6SXpNNnRjb0RJeU1nQ0lpSWpBMjl1YlFZTUdrWlNVWk5LbVVh
1083 TkdKdTNyCjE2OWY1ZkVxc3ZYVVZybkRYaTJtMFdoNGU4RGJ6Tmt5aCt0NTE5V09JNFRETTJ2U2U5
1084 KytmYmk3dXh1ZloyZG5HNTlyTkJxTENraHkKY3JKeExTb0FmMzkvRWhNVGlZNk9ObW4zM1hmZk1Y
1085 WHFWSzVkdThhdVhidks3Vy8yN05uR3IzVTZIVHFkenF3Y21ibVpITGwwaEpDMgpJV1puRjQ3QXRm
1086 UWs5M0JvdktZeEdFeGZkbmR2Um1hbTR5OXRJMFJsOUhvOWVyMisydjJZVlRBS0N3dXJQWkNsN3Iv
1087 L2Z1Ni8vMzYrCit1b3IvdmEzdjdGbno1NHkyOTFjTUN5eC9mUjJ1cmZ0VGoxWHVlbE83VkpBcVF2
1088 OE5wMkVKMEpoMXlHNDNzcjRjbGFXbkQwbG5NT3QKZjB6UG1UT25TdjFZZEIyR05ZU0VoSERreUJI
1089 ajg0TUhEOUt6Wjg5eTI0OGFOWXF6WjgrYTNCcldHa291MkJOTzRFcEgyUGN3NkdhcgpuVVFJaDJi
1090 aTNkZEpBQUFjV1VsRVFWVHpndUhoNFFFVW55bVZtcHBLZkh3OFlXRmhKbTFPbkRoaHZON2poeDkr
1091 b0h2MzdqUm8wTUNxCk9ReW5ERVRjSVFYRGFXeVpCWDdmUXB2ZGFpY1J3bUZaZE9HZXRjeWZQNStZ
1092 bUJqeTgvT0pqWTNGMDlPVHVMamltOS9FeE1Td2F0VXEKUHYzMFU5emMzTkJxdGJ6OTl0dFdIVCtu
1093 SUljOTUvWVFmbnU0VmZzVmRpeTdPZnp5QnR6N0RDejdGY3c3MzBNSWNaTXEzYUxWWGxSMQpBUzNE
1094 S1FNemZwN0JqaWQybE5tbkxPeFgzWFpxamwxQk8wMFJQTlliZGo4QmV4NERySGVMWHlFY2lVMXUw
1095 VnBiR0U0WjVIUmFaNlM0CndBK0xvUDlMMEVET2poTENVazVaTUxiK3NWWG1MNXpWdVdBNE5BTDZ2
1096 YXgyRWlFY2p0TVZqSUtpQWhKT0ozRDNIWGVySFVXb1pkTnIKNFBzZHRGRTdpQkNPeGVrS3hwNXpl
1097 N2pENHc1YU5HeWhkaFNobHB4bThNdS9JQnFLbENLMTB3amhNSnl1WUNTa0pkRDdqdDVxeHhCcQor
1098 MjBzRk1HeVBjdlVUaUtFdzNES2doSGVUazZuZFhxS0Mvd0EvN2ZwLzBpL2thNTJHaUVjZ3RNVmpN
1099 UzBSSHEySy8vS2N1RkV6c09vCkxxUDR2MDMvcDNZU0lSeUNVeFdNODlmT2s1R1RRYWNXbmRTT0l1
1100 ekVxL2U4eXVxanEwaytVelAzWEJHaU5uR3FncEdVbGtSWXV6QmMKTkU3MWJZc0tOSzNmbExjR3ZN
1101 WEVIeVpTV0dUN1JUYUZjQ1JPOWNtWmtKWkF6OXZrY0pRdzlXaTNSMm5vMXBCM2s5NVZPNG9RZHMy
1102 cApDb2JNWDRpeWFEUWFsZzFieHV0YlgrZm9wYU5xeHhIQ2JqbE53U2dvS21EWHVWMkUzaGFxZGhS
1103 aGgrNXNmaWR6ZEhNWXYzcThISm9TCm9oeE9VVENhTkdtTzIyMXVYRHR6amVZTm02UFJhTXA5Q09m
1104 MWRNalROSEJ0d055RXVXcEhFY0l1T1VYQnlNcTZBdTBXUTlvRWlsY3kKcmVnaG5KV0x4b1ZsOXkz
1105 ajM5di96Y0UvRDZvZFJ3aTc0eFFGQTRCMmlaQW04eGVpWXUyYnR1ZjFmcTh6N3Z0eDVCZm1xeDFI
1106 Q0x1aQpTc0V3R0F6NCtmbmg0K1BEd29VTFM3Mi9mUGx5QWdNRENRd01aTXlZTVJ3N2RxejZnMHJC
1107 RUdaNkl2Z0pXalJzd1Z1L3ZxVjJGQ0hzCmlpbzNVTkpxdFN4WXNBQnZiMjhpSXlQWnRtMGJucDZl
1108 eHZjVEVoTHc5L2ZIdzhPRFR6NzVoSTBiTi9MWlo1K1Y2c2ZjbTRCb0dtcmcKV1hkNDh3b29kU3By
1109 amQzZCtNZHV4cTV0R2QyQWdyTGZhZ0xFQUorQys0MW1aR2JLL1RORTdlRXdOMURLeU1nQUlDSWlB
1110 bTl2YndZTgpHa1JTVXBKSm0vRHdjT085djZPam85bXlaVXYxQm0wSG5Ba3hvMWdJNTFKQXVYTlpt
1111 UXJFZndUM0I1SjE0NHFhSVlXd0d6WXZHTW5KCnlmajYraHFmKy92N2s1aVlXRzc3RHo3NGdLRkRo
1112 MVp2MEhiSTRTaGh1YjNqSU9OMmtIdHRDUUdBcTlvQktySng0MFkrLy94enRtL2YKWG02YjJiTm5H
1113 Ny9XNlhUb2RMclNqZG9CU2JKQ3JiQ1VCdForQURGdDBhZnEwYlhYcVIxSWlDclI2L1hvOWZwcTky
1114 UHpPWXlNakF4MApPaDE3OXV3QllQTGt5VVJGUlJFZEhXM1NidCsrZlR6d3dBUDg5Tk5QM0hYWFhX
1115 WDJaYzV4dUNLbGlEb3YxWUYzLzRRYkxjMUk2QWpICjNpVmo5ZHRaMExhamhqWVQyN0RyeVYyMGNa
1116 ZmI5QW5INXpCekdDVnpFd2FEZ2RUVVZPTGo0d2tMQ3pOcDg4Y2ZmekI4K0hDV0wxOWUKYnJFdzEr
1117 R0xoK0VHWmhZTEljcHdFbUs2eHpCNjFXZ0tpc3FaSkJmQ0NhaHlXdTM4K2ZPSmlZbGh3SUFCVEp3
1118 NEVVOVBUK0xpNG9pTAppd1BnMVZkZjVmTGx5enoxMUZOb3RWcENRNnUrbkVkaVdpS2tXU3U1Y0ZZ
1119 dlI3eE0zVHAxZVdYeksycEhFVUkxcXB4V2F5M203Rlk5CnNmWUpQbnp0UTBoMndrTXBrdEZxZlNx
1120 S3dzWHJGK24rUVhjV1J5OW1TS2NoWm80aGhQMXhtRU5TdHBad09rSDJNSVJWdEd6VWtpOUgKZk1u
1121 amF4NG45V3FxMm5HRXNMbGFYVEF5Y2pLS2Y3RXZxSjFFMUJhOWJ1L0ZDNzFmWU9UWEk4a3R5RlU3
1122 amhBMlZhc0xSdkxaWklMYgpCRU9SMmtsRWJUSzE1MVJ1YjNJNzAzNmVwbllVSVd5cVZoZU1oTk1K
1123 Y3NNa1lRV3VKa3ZndTdpNDhOMjQ3MWk4WVRHYXdQKzkzcVJKCmM3V0RDbEdqYW5YQlNEd2pkOWdU
1124 MWxER0VpSzVDbnk1RHlKYmd2Y1dRQ2xlUmwrSVdxeldGZ3hGVWVTV3JLSm0vZGtWVmkySGtTT2gK
1125 NVNHMTB3aFI0MnB0d1RoKytUaU42emFtclh0YnRhT0kydXprUUloL0d4NitGeHFySFVhSW1sVnJD
1126 MFpDbXN4ZkNCdjViUnpzZmh3ZQpocXpjTExYVENGRmphbTNCU0V4THBPZHRVakNFalJoZWhyUHc0
1127 RGNQeXAzNlJLMVZ1d3VHN0dFSW05SEFldENnNGVuMVQxZnBLbG9oCjdGMnRMQmpYODY1ek5QMW84
1128 VFVZUXRoS0Vhd2N1Wkk5NS9md1Q4TS8xVTRqaE5YVnlvS3g4K3hPdXJicVNqM1hlbXBIRVU2bWNk
1129 M0cKckIrem5tVjdsN0ZveHlLMTR3aGhWWFo5QTZXcWtzTlJRazFlamIzWU5IWVQvVDd0UjE1aEhs
1130 UERwNm9kU1FpcnFKVjdHSWxuRWdsdgpKM2ZZRStycDBLd0RXOFp2WWZIT3hmeHI2Ny9VamlPRVZk
1131 UzZnaUVYN0FsN2NZZkhIV3dadjRWUDkzM0tMUDBzbVFnWERxL1dGWXhUCkdhZUE0bDlXSWRUVzFy
1132 MHQrbkY2dmozOExTLys4cUlVRGVIUVZDa1lCb01CUHo4L2ZIeDhXTGh3WWFuM2p4dzVRbmg0T1BY
1133 cjEyZnUKM0xrVzlWMnlkNkhSYUt3VlY0aHFhZDI0Tlp2SGJXYkRpUTFNKzNtYUZBM2hzRlFwR0ZP
1134 bVRDRXVMbzZOR3pleWFORWlMbDI2WlBKKwppeFl0V0xod0lUTm16TEM0NzhRMG1iOFE5c2V6b1Nl
1135 YnhtN2kxejkrWmVJUEV5a3NLbFE3a2hBV3MzbkJ5TWpJQUNBaUlnSnZiMjhHCkRScEVVbEtTU1p1
1136 V0xWdlNvMGNQM056Y0xPNWZsZ1FSNmpGZEJ2M1dSL09HelVtZW5NelNWUjh5NUlzaFhNMjVxblpn
1137 SVN4aTg0S1IKbkp5TXI2K3Y4Ym0vdnorSmlZbFc2VHVuSUljRGZ4NmdlNXZ1VnVsUENNdVVzUXg2
1138 R2N1aUYzNVN3RjNON3lMc3d6Q09YanFxWGx3aApMT1R3MTJITW5qM2IrSFZMLzViNGV2clNxRzRq
1139 OVFJSlVaa2lXRGg0SVV0M0xhWFBSMzM0NUcrZk1OaG5zTnFwUkMybTErdlI2L1hWCjdzZm1CU01r
1140 SklUbm5udk8rUHpnd1lORVJVVlZ1YitiQzhhOGhIbjBiQ3lIbzRSamVLTDdFL2kxOUdQazF5T1pI
1141 ajZkNmVIVDVXUU4KVVNOME9oMDZuYzc0Zk02Y09WWHF4K2FIcER3OFBJRGlNNlZTVTFPSmo0OG5M
1142 Q3lzekxhV25rMlNrSllnSzlRS2gzTDNIWGVUOVBjawpWdXhmd2Rqdng1SlRrS04ySkNIS3BWRlVP
1143 TWR2eTVZdFBQWFVVK1RuNXhNYkcwdHNiQ3h4Y1hFQXhNVEVjUDc4ZVVKQ1Fzak16TVRGCnhRVjNk
1144 M2NPSFRwRTQ4YW1kNmpSYURRbVJlV09lWGZ3eTloZjhHbmhVNnBkOFRGa2M1amJWcTEyYW80dEdh
1145 M1Y3dFpmdXh2NU4zaHMKOVdNY1N6L0dwL2QvU2tDckFEUDZFYUpxYnYzc05QdmZxVkV3ck9YbWIv
1146 cE01aGtDM3cvazRuTVhTKzNXUzhHd2RUczF4M2FNakdYOQoyaW1Ld29lN1ArU2xUUzh4STN3R00z
1147 ck5vSTVMSFRQNkU4SXlUbHN3alB3QUxiQ2l2TmIyL3lFaUdXM1pUczJ4Sy81bFRiMmF5b1RWCkU4
1148 Z3R5T1hqdjMxTXB4YWR6T2hUQ1BOVnRXRFVncVZCL2pwZHNkME1TSHZ0Zjg5TkhrSTRqdlpOMi9Q
1149 TDJGOTRLT0FoZXYyM0YrOG0KdlV1UlVxUjJMQ0ZxUThINFM3dEVTSk1KYjFFN3VHaGNpQTJMWmZ2
1150 ajIvbnl3SmYwLzdRL3h5OGZWenVXY0hLMW8yQzQ1RU9iUFhBbQpWTzBrUWxoVnB4YWQyRHBoSzlF
1151 KzBmVDhzQ2RUTjB6bGN2Wmx0V01KSjFVN0NrYnJmWENsQStRMlVUdUpFR2FvZUFtUm14OU5talNu
1152 Cmprc2RadlNhd2NHSkI4a3R5S1h6ZTUxNUorRWRjZ3R5MWY1R2hKT3BIUVhqOWdRNUhDVWNpQmxM
1153 aVB6MXlNcTZZdnhYclJ1M1puSDAKWWd6akRlaFQ5Zmd0OG1QbHdaV3krcTJ3bVZwd2xwUUNEendD
1154 S2YxZ3oyUGx0Y1FSenB5UmpMWnNwK2JZbG1VczcxZDBjOHBtWnNUUAp3TTNGamYvcjgzOUVkNHJH
1155 UlZNNy9nWVVOY3VKVDZ0VklQWXUrR0lOWFBRdnJ5VzE3VU5FTWxhM25acGpXNmRnQUJRcFJhdzh1
1156 SkovCmIvODMxL091TTdYblZCNE5mSlNHYmczTjdGODRvNm9XRElkZmZKQkdmMExEUzNESnQvSzJR
1157 amdjVjdQV2wycnMzcFIxKzc1bmJzSmMKWHRuOENrLzFlSXBuUXA2aGRlUFdOc2dvbklYajc3L2Vs
1158 bFI4ZHBUaStOK0tFS1daTjk5eExlc3FmZHYzWmMzb05XeWRzSldMTnk3aQp1OGlYOGQrUFoxUEtK
1159 cmxoazdBS3h6OGsxZThsS0hJRmZVV3JMOWErd3hTU3NicnQxQnk3WmpMZStxdDg2Y1lsUHQ3N01W
1160 OGMrSUp6CldlY1lGVENLTVFGajZORzJoNnlLNitTY2R3NWpiRC9ZUGdPT1YzUS9BZWY5RUpHTTlq
1161 aTJiUXJHelk1Y09zSVhCNzVneGY3aXRYUEcKZEIzRDZJRFIrSHJLb1Z4bjVMd0Y0MFYzbUo4SzJj
1162 MHJhb216Zm9oSVJuc2MyL1lGbzRTaUtPdzh1NU12RG56Qmx3ZStwRW05Smd6bwpPSUQrSGZxamE2
1163 K2pXWU5tWnVZU2pzeDVDOGFrenZEZWtjcGE0cXdmSXBMUkhzZXVpWXh1Rk05M1ZNemR2Um1abWNW
1164 WGloY3BSZngyCi9qYzJudHpJTHltLzhPdnBYL0h6OURNV2tONTM5S2ErYTMwemN3cEg0cndGNDIv
1165 ajRQdVBLMnVKYzM2SVNFYjdIRnZkak9YOXl1Y1cKNUpLWWxzakdsSTM4Y3ZJWDl2KzVuKzV0dWhQ
1166 Y0pwZ2dyeUNDdklMdzgvVERyWTZibWRtRnZYTGVndEZqQ2V4OHFyS1d5SWVJTGR1cApPYlprckt5
1167 ZHViL3ltYm1aSkp4T1lPLzV2ZXk5c0plOTUvZHk2dW9wZkQxOWpRVWt5Q3VJd05hQmVOVDNNS3RQ
1168 WVI4Y3FtQVlEQVppClltSW9LQ2dnTmphV3laTW5sMnJ6NG9zdjh0VlhYOUdzV1RPV0wxK09yMi9w
1169 eVRtTlJnTmVlK0I4VUNVanF2MGhzaG5RV2FrL1M4ZTIKcEoyZWluUGFRMGFvT0tka3JKamxoNjV1
1170 ZGozdk9nZitQR0JTUlBaZjJFOTkxL3A0Ti9XbWZkUDJ4UStQNHYrV3ZOYWtYdlhXZWRQcgo5U2Iz
1171 cExaWGpwTFRvUzdjbXpKbENuRnhjWGg3ZXhNWkdjbm8wYVB4OVBRMHZyOWp4dzYyYnQzS3pwMDcy
1172 YkJoQXpObXpHRGR1blZsCmQvYW5JOXpLVWsvbEJjTWU2SkdjMXFMSFBqT1dYTmRSWXZaZkQxTlpX
1173 V1dmZHR1b2JpUEMyb1VSMWk3TStKcWlLRnk4Y1pIVXE2bWMKdW5xSzFLdXBIRWsvd2s4bmZqSytW
1174 cmRPWGRvM2JjL3RIcmZqMmRDVEZnMWEwS0pCQzVvM2FFNkxocVcvcnVkYXoyUmNSL2tnZHBTYwpW
1175 V1h6Z3BHUmtRRkFSRVFFQUlNR0RTSXBLWW5vNkdoam02U2tKRWFNR0VIejVzMFpQWG8wTDcvOGN2
1176 a2RGam4reGVwQzJCL3pyakF2CjVnYmtWOWppZXNQcjVMWXQ0T1UxTDVOK0k1MzA3T0xIc2N2SFNM
1177 K1J6dVhzeThXdi9mVzFXeDIzNHFMU3NMaVFuRGx3aHFPcmpsTGYKdFQ0TlhCdlF3SzFCOFg5di92
1178 cXYvOVozclYvcXRaTC8xbk90UngxTkhlcTQxTUZGNDBJZHpWLy8vZXU1cUpqTlAyMlRrNU5ORGkv
1179 NQorL3VUbUpob1VqQjI3TmpCbzQ4K2FuemVzbVZMVHB3NHdaMTMzbW5UckVJNHIxdjNSQ3BpeHVH
1180 d0czRGp1QnZEL1lkWDJsdGo5NmFjCnZmZ0g2ZGwvRlpJYjZmeDN4MzhaMm1rbzJmblpaQmRrazUy
1181 ZlRVNUJEdGZ6cjNNcCs1TEo2emUvZit0cnVZVzVGQllWVXFRVVVhajgKOWQraVFncVY0aXZoeXlv
1182 aVpUMHY3NzMwNUhTK1hmSnRtVzFkTkM1b0tDN0NOeGRqdFY2ckNydjg4MXhSbEZMSDE4ci9SczNk
1183 QUpacwpLR3YzT2Vldmg3WDZzNlN0cGUwcXkya1BHYUhpbkpMUnNuYmw1YXlKakpXN2xuV1ZKdlZM
1184 ejNsOHRlZ3JxNDFSbnFLLy9sY2RGMys0CmFLVTA5c2ZtQlNNa0pJVG5ubnZPK1B6Z3dZTkVSVVda
1185 dEFrTEMrUFFvVU5FUmtZQ2NQSGlSVHAyN0ZpcUx3Yyt3VXNJSVJ5T3pRL2EKZVhnVW4zNW5NQmhJ
1186 VFUwbFBqNmVzTEF3a3paaFlXR3NXcldLOVBSMFZxeFlnWitmbjYxakNpR0V1SVVxaDZUbXo1OVBU
1187 RXdNK2ZuNQp4TWJHNHVucFNWeGNIQUF4TVRHRWhvWnk5OTEzMDZOSEQ1bzNiODdubjMrdVJrd2ho
1188 QkEzVSt6Y2xpMWJGRjlmWCtXdXUrNVMzbjMzCjNUTGJ6Snc1VStuUW9ZTVNIQnlzSEQ1ODJNWUpp
1189 MVdXYy9QbXpVcVRKazJVb0tBZ0pTZ29TSG50dGRkc25uSENoQWxLcTFhdGxJQ0EKZ0hMYjJNTzJy
1190 Q3luUFd4TFJWR1VQLzc0UTlIcGRJcS92Ny9TdDI5Zlpmbnk1V1cyVTN1Ym1wTlQ3VzJhbloydGhJ
1191 YUdLb0dCZ1VwWQpXSmp5emp2dmxObE83VzFwVGs2MXQrWE5DZ29LbEtDZ0lHWElrQ0Zsdm0vcDly
1192 VDdnaEVVRktSczJiSkZTVTFOVlRwMzdxeGN2SGpSCjVQMmtwQ1NsZCsvZVNucDZ1ckppeFFvbE9q
1193 cmFMbk51M3J4WkdUcDBxQ3JaU2hnTUJtWDM3dDNsZmhEYnk3YXNMS2M5YkV0RlVaUnoKNTg0cGUv
1194 YnNVUlJGVVM1ZXZLaDA2TkJCeWN6TU5HbGpEOXZVbkp6MnNFMnZYNyt1S0lxaTVPVGtLRjI2ZEZG
1195 Ky8vMTNrL2Z0WVZzcQpTdVU1N1dGYmxwZzdkNjR5WnN5WU12TlVaWHZhOVluSE4xK3o0ZTN0YmJ4
1196 bTQyYTNYck54K1BCaHU4d0o2ay9TOStuVGgyYk55bCtOCjFCNjJKVlNlRTlUZmxnQmVYbDRFQlJX
1197 dk11RHA2VW1YTGwzWXVYT25TUnQ3MktibTVBVDF0Mm5EaHNXM2xiMTI3Um9GQlFYVXEyZDYKOFo0
1198 OWJFdW9QQ2VvdnkwQjB0TFMrT0dISC9qNzMvOWVacDZxYkUrN0xoamxYYk54c3gwN2R1RHYvNzk3
1199 ZVpkY3MyRkw1dVRVYURScwozNzZkb0tBZ3BrMmJadk9NNXJDSGJXa09lOXlXeDQ4ZjUrREJnNFNH
1200 aHBxOGJtL2J0THljOXJCTmk0cUtDQXdNcEhYcjFreWFOSW5iCmI3L2Q1SDE3MlphVjViU0hiUWt3
1201 ZGVwVS92M3ZmK1BpVXZiSGZGVzJwMTBYREhNb0ZsMnpvWjdnNEdCT256NU5jbkl5L3Y3K1RKa3kK
1202 UmUxSXBjaTJySnFzckN4R2pSckZ2SG56YU5Tb2tjbDc5clJOSzhwcEQ5dlV4Y1dGMzM3N2plUEhq
1203 N040OFdMMjdObGo4cjY5Yk12SwpjdHJEdGx5M2JoMnRXclZDcTlXV3U3ZFRsZTFwMXdVakpDU0VJ
1204 MGYrZDYrTGd3Y1Awck5uVDVNMkpkZHNsQ2p2bW8yYVpFNU9kM2QzCkdqWnNpSnViRzQ4Ly9qakp5
1205 Y25rNXViYU5HZGw3R0ZibXNPZXRtVitmajdEaHcvbjBVY2Y1Yjc3N2l2MXZyMXMwOHB5MnRNMmJk
1206 KysKUGZmZWUyK3B3N3Iyc2kxTGxKZlRIcmJsOXUzYldiTm1EUjA2ZEdEMDZORnMyclNKc1dQSG1y
1207 U3B5dmEwNjRMaEtOZHNtSlB6d29VTAp4bXErZHUxYXVuWHJWdWF4VHpYWnc3WTBoNzFzUzBWUmVQ
1208 enh4d2tJQ09EWlo1OHRzNDA5YkZOemNxcTlUUzlkdXNUVnExY0JTRTlQCjUrZWZmeTVWMk94aFc1
1209 cVRVKzF0Q2ZER0cyOXcrdlJwVWxKUytQTExMK25YcngrZmZ2cXBTWnVxYkUrN1hCcmtabzV5elVa
1210 bE9iLzUKNWh1V0xGbUNxNnNyM2JwMVkrN2N1VGJQT0hyMGFMWnMyY0tsUzVlNC9mYmJtVE5uRHZu
1211 NStjYU05ckl0Szh0cEQ5c1M0TmRmZitYegp6eituVzdkdWFMVmFvUGdYOVk4Ly9qQm10WWR0YWs1
1212 T3RiZnB1WFBuR0RkdUhJV0ZoWGg1ZVRGanhnemF0R2xqZDcvcjV1UlVlMXVXCnBlUlFVM1czcDBQ
1213 ZlFFa0lJWVR0MlBVaEtTR0VFUFpEQ29ZUVFnaXpTTUVRUWdoaEZpa1lRZ2doekNJRlExaVZpNHNM
1214 TTJiTU1ENy8KejMvK3c1dzU1dHc4eW5wME9oMjdkKzhHSURvNm1zek16R3IxcDlmckdUcDBxTm12
1215 MThSWU5lbnMyYk9NSERuU3BtTUt4eVFGUTFoVgozYnAxK2U2NzcwaFBUd2NzdnhLM3NMQ3cyaGx1
1216 SG5QOSt2VTBhVkw2N20zaWY5cTJiY3ZYWDMrdGRnemhBS1JnQ0t0eWMzUGp5U2VmClpONjhlYVhl
1217 TzN2MkxGT21UQ0V3TUpDcFU2ZHk0Y0lGQU1hUEg4KzBhZE1JQ3d2amhSZGVZTUtFQ1V5ZlBwM1Ew
1218 RkE2ZCs3TW5qMTcKZVBMSkorblNwUXV6Wjg4MjlqZHg0a1JDUWtMbzFhc1hTNWN1TFROUCsvYnRT
1219 VTlQNS8zMzMwZXIxYUxWYXVuUW9RUDkrdlVEaXRjQgpHenQyTEdGaFljeWNPZE40Ulc1eWNqTDkr
1220 L2RIcTlXeVljT0dTci92N094czNubm5IZnIyN1V0MGREUjZ2UjZBOFBCd2s2dHBTL1orCmNuSnl5
1221 bXhmbnRPblR6TjQ4R0NDZ29JSURBemt4SWtUcEthbTR1L3Z6K09QUDQ2Zm54OXo1c3d4NW4vdHRk
1222 Y0lEUTBsSkNTRU45NTQKdzZTZjZkT25vOVZxNmQ2OU95a3BLYVNtcHRLMWExY0FQdjc0WXg1NjZD
1223 SHV2ZmRlQWdJQ2VQZmRkNDMvOXFlZmZpSThQSnpRMEZDZQpmZlpaSmsrZVhDcm4zcjE3NmQrL1Aw
1224 RkJRUVFIQjNQdDJyVkt0NTF3SU5WWk9sZUlXelZ1M0ZqSnpNeFUycmR2cjJSa1pDai8rYzkvCmxO
1225 bXpaeXVLb2loVHAwNVYzbjc3YlVWUkZPV05OOTVRbm4vK2VVVlJGR1hjdUhGSzM3NTlqVXR1ang4
1226 L1hoazhlTENTbTV1cmZQengKeDByanhvMFZ2VjZ2NU9ibUtuNStmc2FsNHk5ZnZxd29pcUxrNXVZ
1227 cVlXRmh5clZyMXhSRlVSU2RUcWZzMnJWTFVSUkZhZCsrdlpLZQpubTdNbDUrZnIvVHAwMGRadDI2
1228 ZHNlM1ZxMWNWUlZHVTU1OS9Ydm55eXk4VlJWR1VidDI2S1VsSlNjcTFhOWVVcUtpb01wZUgzcng1
1229 CnMvRStBeDk5OUpHeVlNRUNSVkVVNWZ6NTgwcG9hS2lpS0lveWI5NDhaZGFzV1lxaUtNclpzMmVW
1230 enAwN1Y5ais1ajV2Tm12V0xPWEQKRHo4MGZnL1oyZGxLU2txS290Rm9sRysvL1ZiSnljbFJIbmpn
1231 QWVXYmI3NHgyVFlGQlFYSzBLRkRsU05IamhpMzlhSkZpNHpiN2NhTgpHMHBLU29weEtmbVBQdnBJ
1232 YWRXcWxYTDI3RmtsTXpOVGFkZXVuWktYbDZmazUrY3I3ZHUzVjFKU1VwVDA5SFFsT0RoWW1UeDVj
1233 cW1jCjQ4YU5Velp1M0tnb1N2RXk0QVVGQmFYYUNNY2xleGpDNnR6ZDNSazdkcXpKWDZjQVAvNzRJ
1234 NDg5OWhnQWp6LytPR3ZYcmdXS0R5R04KR0RFQ2QzZDNZOXNSSTBaUXQyNWR3c1BEYWRxMEtYMzc5
1235 cVZ1M2Jwb3RWcmpTc0R4OGZGRVIwZWoxV281ZWZJa216WnRxalJiYkd3cwovZnYzSnpvNm1sMjdk
1236 bkhnd0FGME9oMWFyWloxNjlaaE1CZzRjK1lNaXFJUUdocEtvMGFOR0RWcVZLWExWYTlhdFlxbFM1
1237 ZWkxV3FKCmlvcml3b1VMcEtTazhPQ0REL0xOTjk4QXNITGxTdU5jUVZudFQ1NDhXVzcvSVNFaHpK
1238 OC9uN2ZlZW92TGx5OVR2MzU5b0hoWm12dnYKdjU5Njllb3hldlJvZnZycEp3QjI3dHpKOE9IRDZk
1239 YXRHN3QzNytibm4zOG1MeStQelpzMzg4UVRUd0RGaHc4Yk5HaFFhcXhCZ3diUgpwazBiM04zZDhm
1240 ZjNaL2Z1M1NRbUp0SzFhMWZhdDI5UDgrYk5HVFpzV0puYkpEdzhuSmt6Wi9MZWUrOVJVRkJBblRw
1241 MUt2MlpDTWRoCjkwdURDTWYwN0xQUEVod2N6SVFKRTB4ZUwrK0R0MDJiTmliUFM5Ym5xbHUzTGsy
1242 Yk5qVytYcmR1WGZMeThzakt5bUxtekpsczNicVYKMjI2N2pmdnZ2NThyVjY1VW1Pbmpqei9tOU9u
1243 VExGNjhHQ2hlcGpvZ0lJRE5temVidEV0TFN6UHZtN3hKVVZFUml4WXRJaUlpb3RSNwpMVnEwWVAv
1244 Ky9heGN1ZEs0TkVONTdVdVc2N2hWZEhRMDNidDM1L1BQUDZkMzc5NTgvZlhYSnR1bFJNbjh6ZVRK
1245 ay9ubW0yOElDQWhnCjZ0U3BYTGx5QlkxR1UrWUtwYmU2ZFh2bjVPVGc2dXBxTWpkVVhoOHhNVEVN
1246 SERqUXVCUkpVbElTclZ1M3JuQTg0VGhrRDBQVWlHYk4KbXZIZ2d3L3kzLy8rMS9oQmMrKzk5L0xK
1247 SjU5UVZGVEVzbVhMR0Rac1dKWDZWaFNGcTFldjR1Ym1ocGVYRjhlT0hlT1hYMzZwOE4vcwoycldM
1248 dVhQbjh0bG5ueGxmQ3drSjRjS0ZDOFk5bHV2WHIvUDc3Ny9UcmwwNzZ0U3BRM0p5TXRldlgyZmx5
1249 cFdWWmhvelpneHhjWEZrClpXVUJtQ3g1UFdyVUtONTY2eTB5TXpNSkNBaW90SDFaVWxKU2pHc1g5
1250 ZS9mM3pndmtwR1J3ZmZmZjA5dWJpNWZmZlVWVVZGUjVPVGsKa0pXVlJmdjI3VGx6NWd5clY2OEdp
1251 dWVYN3JubkhwWXVYWXFpS09UbTVwS2RuVjNwOTZiUmFPalpzeWY3OSs4bk5UV1Z5NWN2czI3ZAp1
1252 akpQYURoeDRnUWRPM2JrSC8vNEI3Nit2blp4cnhKaFBWSXdoRlhkL0NFeWZmcDBMbDI2Wkh3K1k4
1253 WU0vdmpqRDdSYUxSY3VYR0RhCnRHbGwvcnRibjVmMTN1MjMzODd3NGNNSkNBaGcwcVJKNVo2S1d2
1254 Slg5YUpGaTdoeTVRcjMzSE1QV3EyV0o1OThFb0RQUHZ1TUpVdVcKMEsxYk4zcjE2c1hSbzBjQitP
1255 Q0REM2p4eFJlNSsrNjdDUXdNTFBQRFVhUFJHRjhmTVdJRW9hR2hSRVpHRWhBUXdLeFpzNHp0Um93
1256 WQp3VmRmZmNXRER6NW84bHBaN1cvdTgyWXJWNjRrSUNDQWtKQVFidHk0WWV6TDE5ZVhOV3ZXRUJR
1257 VVJFQkFBTkhSMGRTdlg1K1pNMmNTCkdocktxRkdqdVBmZWU0Mzl2UDc2Nnh3L2ZwekF3RUI2OSs1
1258 dFBQR2daTXp5eHE5VHB3N3Z2ZmNlbzBhTklpb3FpcTVkdTlLaFE0ZFMKN1JZc1dFRFhybDBKRFEz
1259 RjE5ZVhYcjE2bGZsekVZNUpGaDhVd2tHbHBxWXlkT2hROXUvZmI1UHhybCsvVHFOR2pjakl5R0RJ
1260 a0NGOAorT0dIZE83YzJTWmpDL3NnY3hoQ09EQmIzbkZ1OXV6WmJOeTRFVGMzTng1NTVCRXBGazVJ
1261 OWpDRUVFS1lSZVl3aEJCQ21FVUtoaEJDCkNMTkl3UkJDQ0dFV0tSaENDQ0hNSWdWRENDR0VXYVJn
1262 Q0NHRU1Ndi9BMkdrMllXcWd3ZTFBQUFBQUVsRlRrU3VRbUNDCg==
1263 </png>
1264 </output>
1265 </outputs>
1266 </codecell>
1267 </cells>
1268 </worksheet>
1269 </worksheets>
1270 </notebook>
1 {
2 "nbformat": 2,
3 "name": "rmt",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "# Eigenvalue distribution of Gaussian orthogonal random matrices",
9 "cell_type": "markdown"
10 },
11 {
12 "source": "The eigenvalues of random matrices obey certain statistical laws. Here we construct random matrices \nfrom the Gaussian Orthogonal Ensemble (GOE), find their eigenvalues and then investigate the nearest\nneighbor eigenvalue distribution $\\rho(s)$.",
13 "cell_type": "markdown"
14 },
15 {
16 "cell_type": "code",
17 "language": "python",
18 "outputs": [],
19 "collapsed": false,
20 "prompt_number": 1,
21 "input": "from rmtkernel import ensemble_diffs, normalize_diffs, GOE\nimport numpy as np\nfrom IPython.parallel import Client"
22 },
23 {
24 "source": "## Wigner's nearest neighbor eigenvalue distribution",
25 "cell_type": "markdown"
26 },
27 {
28 "source": "The Wigner distribution gives the theoretical result for the nearest neighbor eigenvalue distribution\nfor the GOE:\n\n$$\\rho(s) = \\frac{\\pi s}{2} \\exp(-\\pi s^2/4)$$",
29 "cell_type": "markdown"
30 },
31 {
32 "cell_type": "code",
33 "language": "python",
34 "outputs": [],
35 "collapsed": true,
36 "prompt_number": 2,
37 "input": "def wigner_dist(s):\n \"\"\"Returns (s, rho(s)) for the Wigner GOE distribution.\"\"\"\n return (np.pi*s/2.0) * np.exp(-np.pi*s**2/4.)"
38 },
39 {
40 "cell_type": "code",
41 "language": "python",
42 "outputs": [],
43 "collapsed": true,
44 "prompt_number": 3,
45 "input": "def generate_wigner_data():\n s = np.linspace(0.0,4.0,400)\n rhos = wigner_dist(s)\n return s, rhos"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [],
51 "collapsed": false,
52 "prompt_number": 4,
53 "input": "s, rhos = generate_wigner_data()"
54 },
55 {
56 "cell_type": "code",
57 "language": "python",
58 "outputs": [
59 {
60 "output_type": "pyout",
61 "prompt_number": 17,
62 "text": "&lt;matplotlib.text.Text at 0x3828790&gt;"
63 },
64 {
65 "output_type": "display_data",
66 "png": "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\nSUVORK5CYII=\n"
67 }
68 ],
69 "collapsed": false,
70 "prompt_number": 17,
71 "input": "plot(s, rhos)\nxlabel('Normalized level spacing s')\nylabel('Probability $\\rho(s)$')"
72 },
73 {
74 "source": "## Serial calculation of nearest neighbor eigenvalue distribution",
75 "cell_type": "markdown"
76 },
77 {
78 "source": "In this section we numerically construct and diagonalize a large number of GOE random matrices\nand compute the nerest neighbor eigenvalue distribution. This comptation is done on a single core.",
79 "cell_type": "markdown"
80 },
81 {
82 "cell_type": "code",
83 "language": "python",
84 "outputs": [],
85 "collapsed": true,
86 "prompt_number": 6,
87 "input": "def serial_diffs(num, N):\n \"\"\"Compute the nearest neighbor distribution for num NxX matrices.\"\"\"\n diffs = ensemble_diffs(num, N)\n normalized_diffs = normalize_diffs(diffs)\n return normalized_diffs"
88 },
89 {
90 "cell_type": "code",
91 "language": "python",
92 "outputs": [],
93 "collapsed": true,
94 "prompt_number": 7,
95 "input": "serial_nmats = 1000\nserial_matsize = 50"
96 },
97 {
98 "cell_type": "code",
99 "language": "python",
100 "outputs": [
101 {
102 "output_type": "stream",
103 "text": "1 loops, best of 1: 1.19 s per loop"
104 }
105 ],
106 "collapsed": false,
107 "prompt_number": 8,
108 "input": "%timeit -r1 -n1 serial_diffs(serial_nmats, serial_matsize)"
109 },
110 {
111 "cell_type": "code",
112 "language": "python",
113 "outputs": [],
114 "collapsed": false,
115 "prompt_number": 9,
116 "input": "serial_diffs = serial_diffs(serial_nmats, serial_matsize)"
117 },
118 {
119 "source": "The numerical computation agrees with the predictions of Wigner, but it would be nice to get more\nstatistics. For that we will do a parallel computation.",
120 "cell_type": "markdown"
121 },
122 {
123 "cell_type": "code",
124 "language": "python",
125 "outputs": [
126 {
127 "output_type": "pyout",
128 "prompt_number": 10,
129 "text": "&lt;matplotlib.text.Text at 0x3475bd0&gt;"
130 },
131 {
132 "output_type": "display_data",
133 "png": "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\nvDyaNWtGcHAwzZs3N7u/dUNyat2XJSk81FTR/rToO+4JIYQwHbM+JCWEEMJ8SMEQQghhECkYQggh\nDCIFQwghhEGkYIhKZWNjQ3BwsP75v//977/cArTq+fv7c/jwYQACAwNJTU2t0PrCw8MZOnSowa9X\nxbaq0tWrV3nmmWdMuk1hmaRgiEpVs2ZNvv/+e5KSkgDjr8TNy8urcIZ7t7l161bs7e0rvE5r1qJF\nCzZu3Kh1DGEBpGCISmVnZ8cLL7zAokWLii27evUqM2fOxNPTk1mzZnHjxg0AJkyYwMsvv4yvry+v\nvvoqEydO5JVXXsHHx4f27dtz5MgRXnjhBTp06MC8efP06/v73/9O165d6dGjB6tXry4xj7OzM0lJ\nSXz00Ud4e3vj7e1NmzZtePzxx4GCecDGjRuHr68vc+bM0V+RGxsbS9++ffH29mb79u1lfu6MjAw+\n/PBD/Pz8CAwMJDw8HIDu3bsXuZq2cO8nMzOzxPaluXz5MoMGDcLLywtPT0/OnTtHXFwc7u7uTJ48\nGTc3N+bPn6/P//bbb+Pj40PXrl1ZsGBBkfW88soreHt706VLFy5cuEBcXBwdO3YE4IsvvmD06NEM\nHjwYDw8Pli5dqn/vtm3b6N69Oz4+Prz00ktMnz69WM6jR4/St29fvLy86Ny5M7dv3y6z74QFqcjU\nuUL8Vb169VRqaqpydnZWKSkp6t///reaN2+eUkqpWbNmqffff18ppdSCBQvU7NmzlVJKjR8/Xvn5\n+emn3J4wYYIaNGiQysrKUl988YWqV6+eCg8PV1lZWcrNzU0/dXxycrJSSqmsrCzl6+urbt++rZRS\nyt/fXx06dEgppZSzs7NKSkrS58vJyVG9e/dWoaGh+ra3bt1SSik1e/Zs9c033yillOrUqZOKjo5W\nt2/fVgMHDixxeujdu3fr7zPw+eefqyVLliillLp+/bry8fFRSim1aNEiNXfuXKWUUlevXlXt27e/\nb/t713mvuXPnqk8++UT/GTIyMtSFCxeUTqdT3333ncrMzFRPP/20+vbbb4v0TW5urho6dKg6deqU\nvq9XrFih77c7d+6oCxcu6KeS//zzz1WTJk3U1atXVWpqqnrooYdUdna2ysnJUc7OzurChQsqKSlJ\nde7cWU2fPr1YzvHjx6uwsDClVME04Lm5ucXaCMslexii0tWvX59x48YV+dcpwM8//8ykSZMAmDx5\nMlu2bAEKDiGNGDGC+vXr69uOGDGCmjVr0r17dxo2bIifnx81a9bE29tbPxPwzp07CQwMxNvbm/Pn\nz/PLL7+UmW3GjBn07duXwMBADh06xLFjx/D398fb25vQ0FAiIyO5cuUKSil8fHyoW7cuo0aNKnO6\n6k2bNrF69Wq8vb0ZOHAgN27c4MKFC4wcOZJvv/0WgA0bNujHCkpqf/78+VLX37VrVxYvXsx7771H\ncnIyDzzwAFAwLc2wYcOoVasWY8aMYdu2bQAcPHiQ4cOH06lTJw4fPsyOHTvIzs5m9+7dTJkyBSg4\nfFi7du1i2xowYADNmzenfv36uLu7c/jwYaKioujYsSPOzs44ODjwxBNPlNgn3bt3Z86cOSxfvpzc\n3FxsbW3L/J0Iy2H2U4MIy/TSSy/RuXNnJk6cWOT10r54mzdvXuR54fxcNWvWpGHDhvrXa9asSXZ2\nNmlpacyZM4c9e/bw4IMPMmzYMG7evHnfTF988QWXL19m5cqVQME01R4eHuzevbtIu/j4eMM+5D3y\n8/NZsWIFffr0KbascePG/P7772zYsEE/NUNp7Qun6/irwMBAunTpwpo1a+jZsycbN24s0i+FCsdv\npk+fzrfffouHhwezZs3i5s2b6HS6Emco/au/9ndmZiY1atQoMjZU2jqCgoLo37+/fiqS6OhomjZt\net/tCcshexiiSjRq1IiRI0fy6aef6r9oBg8ezJdffkl+fj6fffYZTzzxRLnWrZTi1q1b2NnZ0axZ\nM06fPs2uXbvu+55Dhw6xcOFCvvrqK/1rXbt25caNG/o9lvT0dM6cOcNDDz2Era0tsbGxpKens2HD\nhjIzjR07lpCQENLS0gCKTHk9atQo3nvvPVJTU/Hw8CizfUkuXLign7uob9+++nGRlJQUfvjhB7Ky\nsli/fj0DBw4kMzOTtLQ0nJ2duXLlCps3bwYKxpcee+wxVq9ejVKKrKwsMjIyyvxsOp2Obt268fvv\nvxMXF0dycjKhoaElntBw7tw5XFxc+N///V9cXV3N4l4lovJIwRCV6t4vkVdeeYXExET98+DgYC5d\nuoS3tzc3btzg5ZdfLvF9f31e0rKWLVsyfPhwPDw8mDZtWqmnohb+q3rFihXcvHmTxx57DG9vb154\n4QUAvvrqK1atWkWnTp3o0aMHf/zxBwAff/wxr732Gr169cLT07PEL0edTqd/fcSIEfj4+BAQEICH\nhwdz587VtxsxYgTr169n5MiRRV4rqf2967zXhg0b8PDwoGvXrty5c0e/LldXV3788Ue8vLzw8PAg\nMDCQBx54gDlz5uDj48OoUaMYPHiwfj3vvPMOZ8+exdPTk549e+pPPCjcZmnbt7W1Zfny5YwaNYqB\nAwfSsWNH2rRpU6zdkiVL6NixIz4+Pri6utKjR48Sfy/CMsnkg0JYqLi4OIYOHcrvv/9uku2lp6dT\nt25dUlJSGDJkCJ988gnt27c3ybaFeZAxDCEsmCnvODdv3jzCwsKws7Pj2WeflWJRDckehhBCCIPI\nGIYQQgiDSMEQQghhECkYQgghDCIFQwghhEGkYAghhDCIFAwhhBAG+X8LAxP1Be5fBAAAAABJRU5E\nrkJggg==\n"
134 }
135 ],
136 "collapsed": false,
137 "prompt_number": 10,
138 "input": "hist_data = hist(serial_diffs, bins=30, normed=True)\nplot(s, rhos)\nxlabel('Normalized level spacing s')\nylabel('Probability $P(s)$')"
139 },
140 {
141 "source": "## Parallel calculation of nearest neighbor eigenvalue distribution",
142 "cell_type": "markdown"
143 },
144 {
145 "source": "Here we perform a parallel computation, where each process constructs and diagonalizes a subset of\nthe overall set of random matrices.",
146 "cell_type": "markdown"
147 },
148 {
149 "cell_type": "code",
150 "language": "python",
151 "outputs": [],
152 "collapsed": true,
153 "prompt_number": 11,
154 "input": "def parallel_diffs(rc, num, N):\n nengines = len(rc.targets)\n num_per_engine = num/nengines\n print \"Running with\", num_per_engine, \"per engine.\"\n ar = rc.apply_async(ensemble_diffs, num_per_engine, N)\n diffs = np.array(ar.get()).flatten()\n normalized_diffs = normalize_diffs(diffs)\n return normalized_diffs"
155 },
156 {
157 "cell_type": "code",
158 "language": "python",
159 "outputs": [],
160 "collapsed": true,
161 "prompt_number": 12,
162 "input": "client = Client()\nview = client[:]\nview.run('rmtkernel.py')\nview.block = False"
163 },
164 {
165 "cell_type": "code",
166 "language": "python",
167 "outputs": [],
168 "collapsed": true,
169 "prompt_number": 13,
170 "input": "parallel_nmats = 40*serial_nmats\nparallel_matsize = 50"
171 },
172 {
173 "cell_type": "code",
174 "language": "python",
175 "outputs": [
176 {
177 "output_type": "stream",
178 "text": "Running with 10000 per engine.\n1 loops, best of 1: 14 s per loop"
179 },
180 {
181 "output_type": "stream"
182 }
183 ],
184 "collapsed": false,
185 "prompt_number": 14,
186 "input": "%timeit -r1 -n1 parallel_diffs(view, parallel_nmats, parallel_matsize)"
187 },
188 {
189 "cell_type": "code",
190 "language": "python",
191 "outputs": [
192 {
193 "output_type": "stream",
194 "text": "Running with 10000 per engine."
195 }
196 ],
197 "collapsed": false,
198 "prompt_number": 15,
199 "input": "pdiffs = parallel_diffs(view, parallel_nmats, parallel_matsize)"
200 },
201 {
202 "source": "Again, the agreement with the Wigner distribution is excellent, but now we have better\nstatistics.",
203 "cell_type": "markdown"
204 },
205 {
206 "cell_type": "code",
207 "language": "python",
208 "outputs": [
209 {
210 "output_type": "pyout",
211 "prompt_number": 16,
212 "text": "&lt;matplotlib.text.Text at 0x376c950&gt;"
213 },
214 {
215 "output_type": "display_data",
216 "png": "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\n"
217 }
218 ],
219 "collapsed": false,
220 "prompt_number": 16,
221 "input": "hist_data = hist(pdiffs, bins=30, normed=True)\nplot(s, rhos)\nxlabel('Normalized level spacing s')\nylabel('Probability $P(s)$')"
222 }
223 ]
224 }
225 ]
226 } No newline at end of file
@@ -1,78 +1,87 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>task_1</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source># Simple task farming example</source>
10 </markdowncell>
11 <codecell>
12 <input>from IPython.parallel import Client</input>
13 <language>python</language>
14 <prompt_number>3</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <markdowncell>
19 <source>A `Client.load_balanced_view` is used to get the object used for working with load balanced tasks.</source>
20 </markdowncell>
21 <codecell>
22 <input>rc = Client()
23 v = rc.load_balanced_view()</input>
24 <language>python</language>
25 <prompt_number>4</prompt_number>
26 <collapsed>1</collapsed>
27 <outputs />
28 </codecell>
29 <markdowncell>
30 <source>Set the variable `d` on all engines:</source>
31 </markdowncell>
32 <codecell>
33 <input>rc[:]['d'] = 30</input>
34 <language>python</language>
35 <prompt_number>5</prompt_number>
36 <collapsed>1</collapsed>
37 <outputs />
38 </codecell>
39 <markdowncell>
40 <source>Define a function that will be our task:</source>
41 </markdowncell>
42 <codecell>
43 <input>def task(a):
44 return a, 10*d, a*10*d</input>
45 <language>python</language>
46 <prompt_number>6</prompt_number>
47 <collapsed>1</collapsed>
48 <outputs />
49 </codecell>
50 <markdowncell>
51 <source>Run the task once:</source>
52 </markdowncell>
53 <codecell>
54 <input>ar = v.apply(task, 5)</input>
55 <language>python</language>
56 <prompt_number>7</prompt_number>
57 <collapsed>1</collapsed>
58 <outputs />
59 </codecell>
60 <markdowncell>
61 <source>Print the results:</source>
62 </markdowncell>
63 <codecell>
64 <input>print "a, b, c: ", ar.get()</input>
65 <language>python</language>
66 <prompt_number>8</prompt_number>
67 <collapsed>0</collapsed>
68 <outputs>
69 <output>
70 <output_type>stream</output_type>
71 <text>a, b, c: [5, 300, 1500]</text>
72 </output>
73 </outputs>
74 </codecell>
75 </cells>
76 </worksheet>
77 </worksheets>
78 </notebook>
1 {
2 "nbformat": 2,
3 "name": "task_1",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "# Simple task farming example",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 3,
17 "input": "from IPython.parallel import Client"
18 },
19 {
20 "source": "A `Client.load_balanced_view` is used to get the object used for working with load balanced tasks.",
21 "cell_type": "markdown"
22 },
23 {
24 "cell_type": "code",
25 "language": "python",
26 "outputs": [],
27 "collapsed": true,
28 "prompt_number": 4,
29 "input": "rc = Client()\nv = rc.load_balanced_view()"
30 },
31 {
32 "source": "Set the variable `d` on all engines:",
33 "cell_type": "markdown"
34 },
35 {
36 "cell_type": "code",
37 "language": "python",
38 "outputs": [],
39 "collapsed": true,
40 "prompt_number": 5,
41 "input": "rc[:]['d'] = 30"
42 },
43 {
44 "source": "Define a function that will be our task:",
45 "cell_type": "markdown"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [],
51 "collapsed": true,
52 "prompt_number": 6,
53 "input": "def task(a):\n return a, 10*d, a*10*d"
54 },
55 {
56 "source": "Run the task once:",
57 "cell_type": "markdown"
58 },
59 {
60 "cell_type": "code",
61 "language": "python",
62 "outputs": [],
63 "collapsed": true,
64 "prompt_number": 7,
65 "input": "ar = v.apply(task, 5)"
66 },
67 {
68 "source": "Print the results:",
69 "cell_type": "markdown"
70 },
71 {
72 "cell_type": "code",
73 "language": "python",
74 "outputs": [
75 {
76 "output_type": "stream",
77 "text": "a, b, c: [5, 300, 1500]"
78 }
79 ],
80 "collapsed": false,
81 "prompt_number": 8,
82 "input": "print \"a, b, c: \", ar.get()"
83 }
84 ]
85 }
86 ]
87 } No newline at end of file
@@ -1,74 +1,69 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>taskmap</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source># Load balanced map and parallel function decorator</source>
10 </markdowncell>
11 <codecell>
12 <input>from IPython.parallel import Client</input>
13 <language>python</language>
14 <prompt_number>4</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>rc = Client()
20 v = rc.load_balanced_view()</input>
21 <language>python</language>
22 <prompt_number>5</prompt_number>
23 <collapsed>1</collapsed>
24 <outputs />
25 </codecell>
26 <codecell>
27 <input>result = v.map(lambda x: 2*x, range(10))
28 print "Simple, default map: ", list(result)</input>
29 <language>python</language>
30 <prompt_number>6</prompt_number>
31 <collapsed>0</collapsed>
32 <outputs>
33 <output>
34 <output_type>stream</output_type>
35 <text>Simple, default map: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]</text>
36 </output>
37 </outputs>
38 </codecell>
39 <codecell>
40 <input>ar = v.map_async(lambda x: 2*x, range(10))
41 print "Submitted tasks, got ids: ", ar.msg_ids
42 result = ar.get()
43 print "Using a mapper: ", result</input>
44 <language>python</language>
45 <prompt_number>7</prompt_number>
46 <collapsed>0</collapsed>
47 <outputs>
48 <output>
49 <output_type>stream</output_type>
50 <text>Submitted tasks, got ids: [&amp;apos;2a25ff3f-f0d0-4428-909a-3fe808ca61f9&amp;apos;, &amp;apos;edd42168-fac2-4b3f-a696-ce61b37aa71d&amp;apos;, &amp;apos;8a548908-7812-44e6-a8b1-68e941bee608&amp;apos;, &amp;apos;26435a77-fe86-49b6-b59f-de864d59c99f&amp;apos;, &amp;apos;6750c7b4-2168-49ec-bcc4-feb1e17c5e53&amp;apos;, &amp;apos;117240d1-5dfc-4783-948f-e9523b2b2f6a&amp;apos;, &amp;apos;6de16d46-f2e2-49bd-8180-e43d1d875529&amp;apos;, &amp;apos;3d372b84-0c68-4315-92c8-a080c68478b7&amp;apos;, &amp;apos;43acedae-e35c-4a17-87f0-9e5e672500f7&amp;apos;, &amp;apos;eb71dd1f-9500-4375-875d-c2c42999848c&amp;apos;]
51 Using a mapper: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]</text>
52 </output>
53 </outputs>
54 </codecell>
55 <codecell>
56 <input>@v.parallel(block=True)
57 def f(x): return 2*x
58
59 result = f.map(range(10))
60 print "Using a parallel function: ", result</input>
61 <language>python</language>
62 <prompt_number>8</prompt_number>
63 <collapsed>0</collapsed>
64 <outputs>
65 <output>
66 <output_type>stream</output_type>
67 <text>Using a parallel function: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]</text>
68 </output>
69 </outputs>
70 </codecell>
71 </cells>
72 </worksheet>
73 </worksheets>
74 </notebook>
1 {
2 "nbformat": 2,
3 "name": "taskmap",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "# Load balanced map and parallel function decorator",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 4,
17 "input": "from IPython.parallel import Client"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 5,
25 "input": "rc = Client()\nv = rc.load_balanced_view()"
26 },
27 {
28 "cell_type": "code",
29 "language": "python",
30 "outputs": [
31 {
32 "output_type": "stream",
33 "text": "Simple, default map: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
34 }
35 ],
36 "collapsed": false,
37 "prompt_number": 6,
38 "input": "result = v.map(lambda x: 2*x, range(10))\nprint \"Simple, default map: \", list(result)"
39 },
40 {
41 "cell_type": "code",
42 "language": "python",
43 "outputs": [
44 {
45 "output_type": "stream",
46 "text": "Submitted tasks, got ids: [&apos;2a25ff3f-f0d0-4428-909a-3fe808ca61f9&apos;, &apos;edd42168-fac2-4b3f-a696-ce61b37aa71d&apos;, &apos;8a548908-7812-44e6-a8b1-68e941bee608&apos;, &apos;26435a77-fe86-49b6-b59f-de864d59c99f&apos;, &apos;6750c7b4-2168-49ec-bcc4-feb1e17c5e53&apos;, &apos;117240d1-5dfc-4783-948f-e9523b2b2f6a&apos;, &apos;6de16d46-f2e2-49bd-8180-e43d1d875529&apos;, &apos;3d372b84-0c68-4315-92c8-a080c68478b7&apos;, &apos;43acedae-e35c-4a17-87f0-9e5e672500f7&apos;, &apos;eb71dd1f-9500-4375-875d-c2c42999848c&apos;]\nUsing a mapper: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
47 }
48 ],
49 "collapsed": false,
50 "prompt_number": 7,
51 "input": "ar = v.map_async(lambda x: 2*x, range(10))\nprint \"Submitted tasks, got ids: \", ar.msg_ids\nresult = ar.get()\nprint \"Using a mapper: \", result"
52 },
53 {
54 "cell_type": "code",
55 "language": "python",
56 "outputs": [
57 {
58 "output_type": "stream",
59 "text": "Using a parallel function: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
60 }
61 ],
62 "collapsed": false,
63 "prompt_number": 8,
64 "input": "@v.parallel(block=True)\ndef f(x): return 2*x\n\nresult = f.map(range(10))\nprint \"Using a parallel function: \", result"
65 }
66 ]
67 }
68 ]
69 } No newline at end of file
This diff has been collapsed as it changes many lines, (886 lines changed) Show them Hide them
@@ -1,606 +1,280 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>basic_quantum</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Basic Symbolic Quantum Mechanics&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>18</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>19</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <markdowncell>
33 <source>&lt;h2&gt;Bras and Kets&lt;/h2&gt;</source>
34 </markdowncell>
35 <markdowncell>
36 <source>Create symbolic states</source>
37 </markdowncell>
38 <codecell>
39 <input>phi, psi = Ket('phi'), Ket('psi')
40 alpha, beta = symbols('alpha beta', complex=True)</input>
41 <language>python</language>
42 <prompt_number>20</prompt_number>
43 <collapsed>1</collapsed>
44 <outputs />
45 </codecell>
46 <markdowncell>
47 <source>Create a superposition</source>
48 </markdowncell>
49 <codecell>
50 <input>state = alpha*psi + beta*phi; state
51 </input>
52 <language>python</language>
53 <prompt_number>21</prompt_number>
54 <collapsed>0</collapsed>
55 <outputs>
56 <output>
57 <output_type>pyout</output_type>
58 <text>Ξ±β‹…β˜ΟˆβŸ© + Ξ²β‹…β˜Ο†βŸ©</text>
59 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUY4QUFBQVhDQVlBQUFCdFI1UDBBQUFBQkhOQ1NWUUlD
60 QWdJZkFoa2lBQUFCSEJKUkVGVQphSUh0MlZtc1hXTVVCL0RmdmIwZHFCWXRqWkNyV3ZkQk9pRFZs
61 bXBUTFRXMFVpU0drSGpScG9aRVRTVWtUUXlKc2VhSUd6RlVFU1hFCkEwcnd3SldLNFVFMFNqd2dh
62 Rk5xbmtyYTRQS3c5czdaZDkrOTl6Mm5kMEJ5L3kvbmZHdDlhNTMxLzc3MXJXL3RmUmpFL3hMM1k4
63 eS8KSFVRL28xODVOdmZDZGpTR05URC9KZ3pOeVM3SGhGN0UwRmVZaG5ZUjQxcGNpeWFOY2J3VUIr
64 UmtsZnhhR2d5eU54aUpQM0t5cDdBYwpWd3hnSEhrc3hWKzRXTVRYakMvd1NZTisydkI1VGxiSnJ6
65 ZVozd2pHNHRzQytTYnNnVkc5OUQ5dEorMk93NTlZbzVZWW5mZ05oelhnCnAxbHNZQjZWL0FacThZ
66 OUNSNGx1TlpiMDB2OGRPMkV6Q3ZQeFNFNCtYbVR4MnczNG1vcjNTM1NsL0FacThXY29KL01XWmc1
67 Z0xDbk8Kd21NRjhodnhpaWdaOVdLdTh1UXE1VmRVOHljbWdiVmlITDdHbGZnbDBUZmg3d0s3WVRn
68 UFIySURic25vaHFvZDY5dkZ4WFJxUnI4TwppL0ZzQ1lIK3dIalJ6WXpHUTlndVl2OEtSeXZtbUVV
69 clZ1QjduSVNEc0F0dXdLZTV1WFh4TzFqVXFVWEp1Qm4zSmNicHp0MmRmRDZKCmZUSzJsMkNTMk9Y
70 dDJDMlI3NlhyaGJNYXYrZCt0MFZ4RnRhTGpnYm5qOHJFTkVwc3dtcVI3WjFZa09qeUhGTmNoSmV4
71 djFpWGV4UDUKNGRpaWU5ZlRJNzgyc2V0WDUrUW5paXlZaWYweStteGdRM0ZYOG4wRmZsRGJyTk5F
72 MlVreFZ2Zk1nS3R3U0ZXQUZlaG9jUDRpd1NlUAo0ZmhPY0tONDhjL0JSMnJKTlEzTE12cm44R0NC
73 NzBwK2E4WGlqOHpKVzhYaUx4Y0x2MjlCWU1QRnhzQkdjVnBTWEk4aG1mRVFrV1Y1CmpGSExvRWJS
74 MGVEOGxibVlzdGlJVjVQditjV2ZnQjFZbUpHdEVJbWI0Z0hGOTFzM2Ztbk5iOGF4ZUVHMFdWbHNU
75 ajZQRUgzc2x3V08KZDRqak5obFRSTStjb2tuWE5tdzZIaTd3a2M0dHd3UThvL2hpYmhQM1RCNWJ4
76 TW5ObzBWeGE5aUNBL0ZTU1F3TDhWTk8zNmJyTThGMAp2Rk5pMzRWZnV2aVRSVzMrb01TSWFLZVdW
77 dWhoamlDMVBobnZMUzdzTENiaWlRTGJjMFhXbE9FejVmMThCK2IxRUZ1SzBVbGNSVGhaClhKcnJT
78 dlNUOGJIYVpkd2luaE5TdElua1cxbGcyNDFmbWtXYkVvZjVoU0pxVzZmWTdlMGxRYVhveERhMXJK
79 cUgxekw2WmJseGloYXgKdWUvMTRMOHZNQmZINjM2Q1drUUpXWVBYUzJ6WHE1VmQ0a0hzM2VSN2sr
80 aWEydkZpZ2U5dS9OSUFmaFpIK3ZpYzBRTGNLbzdSdUdUKwpLU1dCd2ZPaWxwNlFqQ2VKMHpRQ3E4
81 U2RzclhBN25ROFhlRzNMekVEMTRpMk9LMzdhY2Z5bzY0bE00OTE0a245ekdROFh5VFRXSEdhCk4r
82 Q3lBcnRDZnRrKy8yemNKaTZaelVsQWIrSUMwWUxlSTE0OFBWNFIzRlpSODY3RExORlJyRXAwN2FK
83 MEZHRng4dnNEZ1JHaXVWaUsKUjBYaTdZazNjTDdxL240YmpoRk54R3hSWnNkZ1Y5eXMrTjZoSC9p
84 VjljQXBwdUxDT3Z6TVVwMXQ5YUNqem5tN0s2N0haYWppT0VTdAp2YTVDS2IvK2ZLU2ZyNzVGV2FL
85 NDlXd0UzOVE1YjY0NHpYMkJRNVcvejhtaWxGOXZGcjlUY2J1V1lnbys3TUZIcTZpenYvWWlEamlq
86 CnpubXpOZmJDcklyakhGR3FxdEJYL0xxaHA5ZkE3WFg0R09nL1V4cDkrMW5GOGM0NjdQOHJmeFlO
87 WWhDREdBVDhBKzB3M1dzNWRhbkkKQUFBQUFFbEZUa1N1UW1DQwo=
88 </png>
89 <latex>$$\alpha {\left|\psi\right\rangle } + \beta {\left|\phi\right\rangle }$$</latex>
90 <prompt_number>21</prompt_number>
91 </output>
92 </outputs>
93 </codecell>
94 <markdowncell>
95 <source>Dagger the superposition and multiply the original</source>
96 </markdowncell>
97 <codecell>
98 <input>ip = Dagger(state)*state; ip
99 </input>
100 <language>python</language>
101 <prompt_number>22</prompt_number>
102 <collapsed>0</collapsed>
103 <outputs>
104 <output>
105 <output_type>pyout</output_type>
106 <text>βŽ›βŽ½ ⎽ ⎞
107 βŽΞ±β‹…βŸ¨Οˆβ˜ + Ξ²β‹…βŸ¨Ο†β˜βŽ β‹…(Ξ±β‹…β˜ΟˆβŸ© + Ξ²β‹…β˜Ο†βŸ©)</text>
108 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5vQUFBQWFDQVlBQUFEUjlVSnZBQUFBQkhOQ1NWUUlD
109 QWdJZkFoa2lBQUFDSHBKUkVGVQplSnp0bkhlTVZFVWN4ejkzUjBmZ3dEdWFvaWg0b0lKS1FNQ1du
110 RjFBTUVyVTJFQVRRVVFsRmpSZzdCcERiSW1DR3ZWTUVLT29JV0pzCkpOWTFGaXlnU0FtaWxOaUFp
111 RmhqUWVYT1AzN3p2TGV6TS9ObTN0dTdOYnFmNUxLN00vTm1mci85dmpmbE4zTmJRWms0aHdHekxY
112 bmYKQStlMG9pMWwva2RNQVhxVzJvai9LYk9CTHFVMm9reHhxSFRrblEzc0FuelRTcmFVeWVjTllE
113 SFF2dFNHbEdrNURnS2VCeXBLYlVpTQpXMHR0UUF0ajh1OVJZRjZKYmZpdjhhL3k4VG1ndm9qMXpj
114 RC9vWjFoU2M4Vng1UlU3QWJNQXVZQURjQ1JoaksrUGw1dVNjOFowdm9BCjI0RTlQZW85Rk9qblVj
115 NkZ5UVlYSnEwT0FvN09hRWRXWEhybEF1b3hhZVh5cnhZNHlwVFJ4cEIyTUREUVlGRGFRRUUxVUFj
116 MFdmTGoKVkFIOVBjcTFKbU9Bb2NDVHdDYms1bCtQM05nZnF6SWhQZzRNYUhzTGNDZHdOWENCbzl3
117 SVplZTFBWFZueGFiVmFtQSs4R29yMmhMSApSeTlmVEZxNS9Oc0duQTU4QzZ4TXF2dzY0T1pBZzF4
118 Y0NSem9XWFlFc2pZMGtjdGdRN2VVMXgwR1hHVkkzNnFsKy9wWUE5eGd5Y3RaCjBrY0JuenZxckFa
119 ZXhOeHBobUt6d1lSTHExbEl6NStGTkpyNTZKWHpyTXVsbGN1L1hzQXFaRlIxOGlSd2txY3hTYlFC
120 SGdrb1B4UG8KYThuTHBiU2hPK0pUS0YyQld3enAvWkdSNjJUMU9jVEhVekJQTzhIdTM2NnFQVnNF
121 OGk1VmJ6R3cyV0RDcFZVUDRONE1kcVRSekZldgpuR2Q5THEyUy9KdWk1NXVpamtPQVpaN0dKREVS
122 ZURxZ2ZCOWdjNUhhanFoU2Y2R2NCVHhtU0o4TnZBTThxejZIK0RnU1dCcG94M2JnCkIyQi9RMTR0
123 TUI1NEpyRE9ZdURTNmp2Z1Q2UjNUME1helh6MThzV2xWWkovRGNEaFNOUWVLSnh1dEFVRzRMN1pP
124 d0RIQWtjZ1QvYnIKbUIwRXVRa21hV2tWd0JucStnWmd1VXF2VXNaSHpFSG11WTg3YkdsSitnRnJn
125 YzdJT3FrUzJWUHNCcHdJN0ZUbFREN0c2UTVNVnZVYwpvNjUvSDVubis2enBRTllZK3dQdmF1bGpr
126 SnVvMFhGdGlGNDZXYlI2QUpnRzNPalpWbFo4OVhJUm9wWEx2eWJnUytUaGZ3QUtSN1E2CllJZWgw
127 b2c5Z0JYQUlOWEE5Y0NGNUFkSnJsQ3ZvNEVQS0x3SlppTTN6a2ZBUGJIMDRUU1BwSlhLeUFzdGRy
128 UTB0VWdnQW1CMzlWY0wKREVZVzJwMVVuczNIaUVuQUU4Q2J5QmUrQkpnTzdJZU1RcjZSMkEyWVI3
129 UXh1RWZJRUwxTVpORnFMYkEzcmJNUDZLdVhpMUN0a3Z4YgpoMzNxeVVUZ0swdGVUM1d4dmc4eERl
130 a3RlaUVPWHFQU0g2UndYZEdONWtETFhFVEFpSm5JZWlUaU5HU1JINUd6R1oxQURiQW84SnBUCmtT
131 bTB6bDdJUXhYNVlQSXhZaXJTeTBjaW4wcHpXTGdDaVV5ZEdTdWZjOWh6Sy9uZlJjUnk1R0V6RWFx
132 WGJrTVdyU0tPQjg2ejJPY2kKVkROZnZjRDhQWWRxRmVIeWJ5cXhUbEFmMGJZaFRwcldibmNqVTQ4
133 NVd2cEtWWDQwRXVKZmdBemozd00vYTJWcmtDbElXeVFNR3Y4eQpkMFhXSXhITGtkNjRGT3lMaEhG
134 MU5pRVJyRHJzUG9MMCtQT0FjNEZmVmRxaHdOdnFmUlB3R1RLUDk2RWRvbzFPVDJXRGlSQzlUQlJE
135 CnE1ZVFhV3RMNDZPWGpTeGF1ZnhiUjJ6L1UxK2pyVUdHd243a2g1U3JnQk9BaGNCUDJqWHJZOFpW
136 QWw4Z3ZjRjZDdG1nWHNjaFEvdkMKbUIxL2FHV0h4L0o5R0lyMDN2b1EzeFk0QURucG9yTUp1Q1Nn
137 alU1QWIrUjdxc1BzSThpNlpnWHdZU3l0SS9DN2VsK0JUQVVYZTdaYgpxOW8wMldPYXRvYnFaYUlZ
138 V2pXcHNoMW85ajFPUzJzVzE4dEdGcTFjL24yTGRIUkE0WU8ySGVrQkJwTC9vSTFFOW10V0dScUxo
139 QjRQCkhLTGV2d2FjRHp4a0tBL05EK0pHOVhrRXN0YUpxRVNtTjZiMmJLeEJwa1c2YU4yUlhuMmE0
140 WnBmRFdtdVNOazRWZi9yd0Z2WWZUeUUKL0I1ZWo5QWRqRXc1WDNhMEZhY0djNCs5SGRnSFdiREhD
141 ZFhMUlJhdCtpRWpzZWtoZytKbzVxdVhqU3hhdWZ6YkIzbllBUE1tNXhyawpRWXZ2ZlAraVhqY1VG
142 djhubWpNZitGRzliMExtd2tkaWRyS2EvSjcwY0dTOUV6RVovOTQrb2hINDJwRCtPL0FiOXJXblRq
143 MHlyZEtwClFIclNwNUFGTTloOVhJbEVyaUxpWmRvQTl5R1JzWS93WXpmTXZmSldKTkNoRTZxWGl5
144 eGFUUWZ1ZDlSZERNM3E4ZGZMUkJhdFhQNE4KUnZRQnpHdXgxUlFlUFZtTjlHZ2p0ZlE2NERZazRs
145 T3Qwb2FyMXdYWVR3NHNRWHFTNkpvdXlCU25EWEl5WlJ1eWQxUUtoaUMrNnZQNgpXNUJOMFl0amFU
146 WWY1eU1oOGQ3cTh5amdQVVRRQnVTaE1aMWdNTkVMMlhRMW5RNVppZ2lxazBZdkcybTE2b3lzSVRj
147 YThvcEppRjRtCjVwTk9xeVQvQmhFTGhwaEd0R1hJdkRWT0kzQ2NNcW9yTWlUMlJBUzdDT2tCcmxM
148 bGxxaHJma09HNEFFVTlxeUxrTkR6NDhERHlEQjcKQXhMcGVvVFNCVUZBMWdlWEl5SGVDbVJLTkFy
149 eGRUVDUwd1Niais4aGkrc0daSjlyQ0hKVERrRDhmU1hBbnJIWXY0OFhNSi91VDZPWApqYlJhVGNZ
150 ZWFDa21JWHFaU0t0VmtuK0RnWnRjRGJkSEZweTJucTRQc21iUXFhWnd2Nkl2Y0llanJVcEUrS2sw
151 OTVnMmNnbjVOa0pDCnhiM0pQN0hkRHRrcmNaSGs0ekRnZHBMM2szS1c5RVhBQkV0ZUZUSjY5WGZV
152 RzZLWHpRWUkwNnFDc0VDV2pxOW1hZlRLT2ZKOHRVcnkKcncvd1Nid2UwOVJ4QnhJSnVnZnpodW9X
153 WW91OEdEOVF1RkRkakF5eFhTMEdOU0pmekVKYWJxcllpUHZrUkp4Njh1ZnpmNUE4OVVueQpzUTc1
154 dDZNZG5qYkVHWVk4eUxialF6dVJUV2pYT2loRUx4Y2hXbzBsZWFSTWFzdEhzM3JDOVhMaHExV1Nm
155 M09SWUU2aTVsVklhTFVZCnY1RXhITGpNa1crTFRPcmtNdGhnNnRGTjNFbTZVL0F1SCs5QXdyOUo1
156 TFRQN1pESXBzOHArR2N3YjZpR290dWc0NnZWQXNUK0xQaG8KbGthdm5DUFBWeXVYZnhPUXFIdmVJ
157 R2I3S1lPZHlPNzRCTEwvYnNWeTdEZExEZWJlMXNTbEdXendiYU1kOEZlSytsMCt4dmRrWE9qKwp6
158 VUpPYmZpc1YwOUhUb2owU0NvWWFFTWNYNjMyQXo2bGNLOHRGSisyMHVqbDh0RkhLNWQvWFpEamFC
159 UHduMFVCY3ZxNGMyS3BaR3h6Cit2Wmt2em1LU2Uva0lsWnNQcWF0TS9TNkRyVHNqL240YXRXSjdL
160 T1pMMW4wU2x1Znk3K094RTdzbHlsVHBreVpNbVhLbENtVGdyOEIKMktjNjJRN3k0RTRBQUFBQVNV
161 Vk9SSzVDWUlJPQo=
162 </png>
163 <latex>$$\left(\overline{\alpha} {\left\langle \psi\right|} + \overline{\beta} {\left\langle \phi\right|}\right) \left(\alpha {\left|\psi\right\rangle } + \beta {\left|\phi\right\rangle }\right)$$</latex>
164 <prompt_number>22</prompt_number>
165 </output>
166 </outputs>
167 </codecell>
168 <markdowncell>
169 <source>Distribute</source>
170 </markdowncell>
171 <codecell>
172 <input>qapply(expand(ip))
173 </input>
174 <language>python</language>
175 <prompt_number>23</prompt_number>
176 <collapsed>0</collapsed>
177 <outputs>
178 <output>
179 <output_type>pyout</output_type>
180 <text>⎽ ⎽ ⎽ ⎽
181 Ξ±β‹…Ξ±β‹…βŸ¨Οˆβ˜ΟˆβŸ© + Ξ±β‹…Ξ²β‹…βŸ¨Ο†β˜ΟˆβŸ© + Ξ²β‹…Ξ±β‹…βŸ¨Οˆβ˜Ο†βŸ© + Ξ²β‹…Ξ²β‹…βŸ¨Ο†β˜Ο†βŸ©</text>
182 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVU4QUFBQWFDQVlBQUFBMytkNENBQUFBQkhOQ1NWUUlD
183 QWdJZkFoa2lBQUFCOVZKUkVGVQplSnp0bkh1SUZWVWN4eiticm1CcFdxMWFtcGJQM0hWVnhDaWwx
184 S3NVb2VoS3BSbEZVWmxaVmhROW9LeklIb2daU0JtOUpEVjZVV1FVClBmNm9QMng3UDZDM1VsU1E5
185 dEswN0tFRitjaisrTTJ3czNOblpzL3ZuSm01c3pKZldOZzc4enUvTS9kenZuZG16bS9PdlhXVTZn
186 eXEKQjU1UDJIODE4RzFPeDFLcWxGYWxmMHVWS2xXcVZLbFNwVXFWc2xhWFdoK0FveTRDZGdJN2Fu
187 MGdCN0JLeHRtclpKeU5NdVY2VUJaSgpEVFVaR0djWU94YzRLbUw3Q0tCQjBXZFVubGxlbnM2a091
188 QnM0QzdnZnVCbW9HdE1yQ25uNFFpTHNBNEV4aHBlV3VYdDQ2aHhxalZmCjBERTJqYzNUdTJxdXJp
189 ZlBldURsaEw5aENXMHZCRFlZOW5NeXNNWCtNQlB6ZkFoY25rTHV2SFFFY0Nmd0czQVRjdXpOd01x
190 WWVGUE8KcHdDYlVqaStvakUyNGRXWmZCdzFUclgyc01hVG10Zzh2YXZtNm5yMTNRUE10R2pYQkh6
191 anRUZlJmeFo5bU9iNUJmbndISTdiN1gwdgo0RStIOWlicUNpd0ZGaVBtODdVQnVBUllGSXJYY0c0
192 Q0hrcmhHTE5pYk1QWGxGZG44bkhVT05YU3d4cFBhbUx6OXE2YWE2Mm03UXVCClZZYXhqY0NYS2ZT
193 WmxHY1ZzTUF4L3pySDlpYTZIcmlWOXNZRG1JQVlMU3dONS8zZW40dXlaR3pEVjh0THExcjRPRzZj
194 YXVWaERXTk4KYk43ZVZYT3R4Y216QWFsNS9Hb1lYd0hXcDlCdlVwNVBrYW1EeTUxNHZVTmJFeDBD
195 OUFTMmhyYVBCVTVGcGtCQmFUZ1BJNTJUU1lYcwpHR3Y1YW5scFZRc2ZKNDFUTFR5c1lheUp6ZHU3
196 Vmx5alFOY0QwNENweUp0NEQzZ1UyQmVUWEJ1L0VIZzRZdnQ0NU9uWUI4QmpnZTFECmFGdEFPeHVw
197 VFZ3Wms5c2x6M1BBSE9EcGhOeHBTOE51THJEVysvOENwSDdXQlppRVREbmZEOFhIY1E1cUpsS1FQ
198 eDdZQlF3Q1Z0QngKWGE0ek1OYnlLcHFQZ3pJZHA3dzlyR0dzaWMzU3V6WTVJcm1HN3p3YmdJK0JF
199 NEZsd0EzQW1jRHlRTXkxRHZIMXlOT3JqYUYrS3dqTQpwY0FqUU4vQXZtQ2RhQVp3QlZLYmlaSkxu
200 aGVCbHBpOFdVakxiaWh0VjhjSnlCUmpKSEFzTUNhVU80NnpyeUhJK3gyS1BQSDhFVGdQCmVBb3g4
201 ZWlFNDY3UU9SaHJlQlhOeDc2MDQ1UzNoeldNVFdPejlLNXRqZzY1SGdwOFJIV2RZUTd5Umh1OW1P
202 V1c4WGdIT0NPaTc1WEkKYmZwcFh0c0IzdlltNFB4QVhBT3lic3VmWGl4REJzSTFqNityZ0lrUngy
203 ZWlWa1dzRGJzbE1ibGVRcVkzd1F0aEhHZUFmc0RtMFA0SApBLy9mRHJ3YmVGMFV4cTNLK0NVeDI4
204 TzhpdWhqMEkrVHI3dzhERHBQbXNabTZWMmJITDRTdWQ0SC9FMzFPclFSaUJIbUkwL0R4bGpHCkF6
205 eUptQ3VvT21TcUJQQUVNbDN5dFFnNE9oVC9UT0QvSUJ5WFBMNTZZbDZrRHF0VkVhdGwxd2ljRlpO
206 cnNkZW1UMkJiRkdkZmJ3SnIKQXErYmFEOTlQQmQ1d3RuTmUxMFV4cTJLV0Eydm92bllsM2FjZk9Y
207 bFlRMWpUV3hXM3JYTjRhdUthN0RtT1JONGhlcjV2bCtuR1l0YwpLUit3ak8rRzFJL0NUN1QyQTY4
208 RDNZSFRnUnNEK3dZZ3Q5UytEa1BXWGtVcGpUdzdrYnVNT1BWQVBoaFJ0ZUxSeUpyQXNQWWdDNEwv
209 CkRXelRzcXNRL3lSMENMRGQrNE40emlCVHBFbkFkWUZ0VXhGdXdmZXhCZGdkMFQ1cnhtbnhyV0RP
210 cTJnK0JyZHh5c3ZERmN3Wm04Wm0KNlYzWEhGVmNmWUREdmNScnFKWmZxMm1oN1N5dWpjYzdtQzFl
211 dTAwUjdTWUNCd092ZXEvcnFDN1dUMGJ1RkpMa2ttY2F5VmZmWGNDbApSQnZ2V1c5ZldIdHBiem9i
212 ZHMyMG4xcjQ2Z3BNcC8zZ0ozR2VpQmp6czhDMlViU2RHRURNOUZwRVgrRThXVEJPZ3krWTh5cXFq
213 MTNHCktROFBnODZUcHJGWmV6Y1RydjI5cE9mRWRMcVA5alVmYmJ5dlk1QUNiWlRPOEhKMjkxNDMw
214 LzVXZnh3d0pkUW02cmJjSm8rdnRZangKYmRScUdHZkRiaXRTM0E1ckh2SmhHQnphSHNkNUZISlM2
215 TzI5cnFPOWNSWWc5YURnZzQ2aU1HNVZ4SnJ5S3FxUGJjYkpWeDRlQnAwbgpOYkZaZWpkVnJuNlI5
216 bWVrYUg1Q3FNRkFaTlg5NWtDSDR5M2lmVzFHcGl3OUlnNXVQWExsbWU2OW5rTGJGV2syY2dmd1Jr
217 Uzd0UElNCkEzNEMvakhvdzBWYWRxT0F4NEdMUS9HTndEM0lnSDhYMmhmSGVTUHdObEtVQjVtU2Z1
218 NzkzNExVZmxxQWJSMjhoeUl6MXZBcXFvOXQKeHlrdkQyc1lhLzJicFhkVDVScThkWitGRkd0WEly
219 Zk0vWkd2SkYyRDFDeFdBTGNnU3pwczRuMnRSYjZ6R3A2Mi9JR3NmYnNEV1cvbApMeGNZaVJUZmI4
220 Tk10bmt1ODQ0NUQybllIUXZjaTlScVhrQnFaUU9RSy9RTTRKT1lQdUk0VDBlVzBReEZUTG9ES1lS
221 dlE2N1NKaCs4CklqT3VvT05WVkIvYmpGTmVIcTVnemxnVDZ5dEw3MmJLdFE5d1pNVDJIa1FYb3JY
222 eElBWHJwRzgzRFVPdVZnTVRZaUI2U21tVHB4Y2QKTDhydFNLMFdiVXpZM1IzYU53anphVmtTNTI3
223 SVNTT3EvNkNLd3JqVk1NNldWMUY5YkRwT2VYcFl3OWgyUExMMnJqUFhxSVBiVHZWWApxRUJxRTMr
224 bEVBL3lSQy9waHhnR0l3dFRmMGlJTVpGcG52bkFhc2UrNHI2SmtxU08yTlZSdld6amU4eW5aVW1j
225 ZHdPL3gvU3ZVVjZNClRmaTY4Q3FxajAzSEtTOFBheGk3akVmVzNuWG1XcXNmQmxtSGZJTWpUaFhz
226 N3VSczhuUkI2bGxKUzBkTU5NK3hmWlNhZ2E4YzJpZHgKUGc3NDJpRzNyd3I1TURiaDY4cExxeng4
227 YkRKT2VYcFl3OWhsUExMMnJqUFhXcDA4OXlMRjIrYVkvZjFvV3lPV3BOWEFGd243VGZLMApJTFVZ
228 VjVuK1FJUkdVNEMzSE5vbmNUNEplTWNnUjFFWW0vQjE1YVZWSGo0MkdhYzhQYXhoN0RJZVdYczNU
229 NjZwcTU3NDJrZlVyMjNiCnlDUlBiK0svMFZCcjlVc2hSeHpudnFSejhTd1M0elI0YVpXMWowM0dL
230 VThQYXhpN2prZVczaTBhMTFLbFNwVXFWYXBVcVZLbFNwVXEKVmFwVWV2b2Z6NFNPd3VmaXE1Z0FB
231 QUFBU1VWT1JLNUNZSUk9Cg==
232 </png>
233 <latex>$$\alpha \overline{\alpha} \left\langle \psi \right. {\left|\psi\right\rangle } + \alpha \overline{\beta} \left\langle \phi \right. {\left|\psi\right\rangle } + \beta \overline{\alpha} \left\langle \psi \right. {\left|\phi\right\rangle } + \beta \overline{\beta} \left\langle \phi \right. {\left|\phi\right\rangle }$$</latex>
234 <prompt_number>23</prompt_number>
235 </output>
236 </outputs>
237 </codecell>
238 <markdowncell>
239 <source>&lt;h2&gt;Operators&lt;/h2&gt;</source>
240 </markdowncell>
241 <markdowncell>
242 <source>Create symbolic operators</source>
243 </markdowncell>
244 <codecell>
245 <input>A = Operator('A')
246 B = Operator('B')
247 C = Operator('C')</input>
248 <language>python</language>
249 <prompt_number>24</prompt_number>
250 <collapsed>1</collapsed>
251 <outputs />
252 </codecell>
253 <markdowncell>
254 <source>Test commutativity</source>
255 </markdowncell>
256 <codecell>
257 <input>A*B == B*A
258 </input>
259 <language>python</language>
260 <prompt_number>25</prompt_number>
261 <collapsed>0</collapsed>
262 <outputs>
263 <output>
264 <output_type>pyout</output_type>
265 <text>False</text>
266 <prompt_number>25</prompt_number>
267 </output>
268 </outputs>
269 </codecell>
270 <markdowncell>
271 <source>Distribute A+B squared</source>
272 </markdowncell>
273 <codecell>
274 <input>expand((A+B)**2)</input>
275 <language>python</language>
276 <prompt_number>26</prompt_number>
277 <collapsed>0</collapsed>
278 <outputs>
279 <output>
280 <output_type>pyout</output_type>
281 <text>2 2
282 Aβ‹…B + A + Bβ‹…A + B</text>
283 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1BQUFBQVpDQVlBQUFCbjdTSGdBQUFBQkhOQ1NWUUlD
284 QWdJZkFoa2lBQUFCT05KUkVGVQplSnp0Mmx1b0ZWVWN4L0ZQNmpuWnNkTk5LelZGS0xzWDFFT1Jw
285 R1lJS1JrRlJnUkpENzBvRkJSRm1sUXYwa3NQUVVWWVBZWFJUY1RxCklTcUtvdWhDRDBZU2RDVUt0
286 SXRkMEpKU3V1bnBZZTNOMlU0emU2ODFNL3NjT2N3WERwczlhODNNLy9mL25UWHJ2OVpzR2hvYUdo
287 STUKRW1kZ3luZ0gwdENUcmw1Tkh0dFlKZ1Fyc0JMSFlDT21ZdHU0UnRSUVJPTlZ6UXpncGRZbm5J
288 NFJYRGh1RVRVVTBYalZCMDdBbjFqUQpjZXdQckJtZmNCcTZFT1ZWYWcyN0VvUFkzS1hQUnN3cmFQ
289 c0hPMXZuZjVCNDcxUUc4WGRDL3p4dDJXdnN3Ykg0cS9WOVBvN1NmeTFGCjlDUFhNUjdYVFpGWEtm
290 cjY3dFdKcllzKzFxUGZJTTRYcHB2bk1TUU10Q21ZZzRkYmJldktCaExCTEt4TzZGK2s3VjZqVTJn
291 ZVc3RSsKTGJSYXFUdlhzUjdYU1RldlV2VDEzYXNuV2pkN01hTHZpbGJmNjNQYUJ2QXo5Z2tDWTBo
292 WnJFOFNERXc1cDBqYm1YaTg0SnkxdUNYaApIdDJvc2hsUlo2NVRQQzZpYnE5aTlaWHlhbEprb0pj
293 SzA4c0laa2IwWDl6NmZEdW43VURyT2tkRTNuOHBib3ZvMStZbXZONjZUd3pkCnRIMHBKUGk4elBG
294 VitFeVlvZ2V3TUNHK0xLbjZzdFNWNjFTUDgraUhWN0g2ZGlqaFZjdy80QlRjaDd1eFcvd0ErQncv
295 NWJRdHhVbDQKVmxpazlHSkEvRXdCTndpci94aGl0TDNnMEtmSGRUaEhTUHBWZ3VGSEo4U1hKVlZm
296 bGpweVhjYmpQUHJoVllxK3ZuaDF1OUdWOHlmWQozNlAva1BBa2VUU25iYUZRWTI0UlhsREVzRng4
297 N1hZODNvenNTNXkySVdHeEJkUHhQajdNL00xT3VHZVdGSDE1c2RXUjYxU1BpNmpiCnExUjl5Vjcx
298 MmdXYWphdUZrUVkvNGx4aGRiMjM0SndGd3BQZ1pLUEpHRzRGdkEvWDRxMGU5eTNMcWRnVjJUZFcy
299 MzRjRko1c3U0VlMKNFhDaGpseVg4YmdPWXJ4SzFaZnNWYThCOElBd0xSNXNmVzlQUXpNVko2ZGRz
300 NjBWUm1pYnJYZ1FHL0FWdnVzVlhBbW1DNG1KSVVYYgpUbUczWWtmVkFHdW1qbHlYOGJnT1lyd3Fv
301 eS9KcTI1cmdLWENYbXZudm1sbmNvcFloQy93RFg3citOc3UxSHlMOEhSTWNDWFlpN2tSCi9WSzF6
302 Y0x2MVVMckMxVnpYZGJqT29qeHFveStKSytLWm9CQllkVzhIUTkxSEwrNDR5WjVET0FTUEZQUS9v
303 TWdZTEV3bFhVR3VreFkKdEdTWkk3elZtNS9UOWg0MmRYemZLZnp3cVJ1cDJnWXhBNy8ydUc0djZ0
304 RFhTWlZjVTk1anhzYXJNdnFTdlNvYUFIY0tLK3N0bWVQZgpDblZaMGRQaEl1RnQyN3NGN1dmak9H
305 RlVadzNaSnRSdFdSWUlpWG95cHkxYlErNFM2c0J1YjRGVHRaMG0xSmtqQmRlTHBRNTluVlRKCk5l
306 VTlabXk4S3FNdjJhdThBVEFQbHd1ai9HQ21iV2JtTTB1N1ppc0src2JXNTFNNWJYc2NXdWUxbVlG
307 cHdnbytoczNDMUppM3cxQkcKMnhMRlQ2RVU2dExYcGtxdXEzak0ySGhWUnQ4U0ZiMGF4anZDVzdV
308 ODVndWphMU5CK3l1S0YxeXJXK2MrSnlRcGx0UnR3aUc4NXYrdgp4Y3RvbTRGWGhYM2tmbEYyRzdS
309 c3JxdDYzSTI2dkNKZFh5bXYyalBBTU83Qk5UaEwyQlBlNE5CZGdEWENDQ004UGRiaFpYeU5tNFZW
310 Ci9SWENOdHA2L05zUjJKV0MyRnZ4U0VxQUpkZ3Y3R3FzRm1yY0t0cFdDZHFxbGo5MU1WWDVYRmZK
311 dzZlMUt3bGt2YXFpN3c0bHZHcVAKbG1GYzFuRjhCRzhZL1NVZFlick1qdFNQOEVzcjJLS1Jkd0Fm
312 QzR1V01pekhCYmcvOGJ4VDhMMXEyaVlMTlhFL1NkRTNvSHl1cStRaAoxcnVxWGxYUk4xZi92Um9Y
313 bHVHdThRNmlqMHdrZlJOSnkySEROUDNma3g1UEpwSytpYVNsb2FHaG9hR2hvV0dpOGgrc1pjTHdo
314 djBRCnV3QUFBQUJKUlU1RXJrSmdnZz09Cg==
315 </png>
316 <latex>$$A B + \left(A\right)^{2} + B A + \left(B\right)^{2}$$</latex>
317 <prompt_number>26</prompt_number>
318 </output>
319 </outputs>
320 </codecell>
321 <markdowncell>
322 <source>Create a commutator</source>
323 </markdowncell>
324 <codecell>
325 <input>comm = Commutator(A,B); comm
326 </input>
327 <language>python</language>
328 <prompt_number>27</prompt_number>
329 <collapsed>0</collapsed>
330 <outputs>
331 <output>
332 <output_type>pyout</output_type>
333 <text>[A,B]</text>
334 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUM0QUFBQVdDQVlBQUFDL2tLNzNBQUFBQkhOQ1NWUUlD
335 QWdJZkFoa2lBQUFBa2hKUkVGVQpTSW50MTgyTFRXRWNCL0RQdk9XbEpwVEdZTEt3VUZNenpZWm1N
336 ek5KaVdsMi9nSEZRbFptNHlVYlk0V3RRc3FVRlJZaVNvUTRhSXBTCjhyS1FST1JkU1pFTU0xZzh6
337 K1hPblhQbW5udG5aa0crZFh2Ty9YM1A3L3Y3M3Q5em51YzhsNzhVTlNYZkwrQXJMdUZBbWR3OXFN
338 TzIKS3VvT1lDMDY4UU5EK0JLNVJpekIyWGpmK3hqdngwbzBvSzlVTU1sWnVCM2ZjYXdLMHdVMENH
339 WlBwWEJ0VWY4ZWFrdTRSRW93RDJxdwpEL1ZvcmlLL2dPV1loWXNwM0FOY0ZoclVscFpjamZIMXNk
340 aG5relBlRThlckdYd3JSdkU4ajFoU2hwOFhDOVhqTVQ3a0VjM0FPYnpLCjROYmhwekN6cFVqU0Vs
341 S0RSVGlFVmZGNktJclBLT2N3QmJYNGlPTWw4ZG5ZSExudHhtOGV2ejNXVjFCc2hkRHhLL0g3Mnpn
342 MjQxa0YKT3RDQk9aaUx2VEUyRTZ1RlhXME5ibFVpbUdURWEzRk4yS1lLT0NoMHZMT1NBaEZiWXU2
343 eUZHNGp2bUhEUkI3ekxzNU53dDVldkZDSwpPMTRwZXZBT2oxSzRRYndXR3RPWUpaRG5VV25Demxp
344 a3F5amVFc2RxakhmaitnVDhKMkYybCtKdUhzRWtKWFlVdlNueFBtRzZkK1VSCkxrSnJ6T3ZQNEJk
345 Ry9xa0pGbWU1UjZWTGVJT2RUK0ZleERHdDQ0c20wQ3pzM3pjeStJRTRIaEYrUUM0a1JkZnRlSU1G
346 R2ZjdWpzS24KUytJZHd2bGpNQ1B2cFBEeXFpdUpOMkUvUnJBanA4Y3h3Zm5DR1dFMEdudm96L05j
347 d0FtOGpQeXcwTDNDd2FjRlQzRGYyS2srZzVzeApaeVJlSi9Gelczak5IeloySFZWa2ZLcXdld3Ex
348 aXBGUTNWa2xMNlpUZTlyRWUzRm5tclF4M3ZpSThHY2lhNnZLcTlrdC9adzlHV3dWCnZBMVBzZTUv
349 L052NEJmcHZkNXROTFJsdUFBQUFBRWxGVGtTdVFtQ0MK
350 </png>
351 <latex>$$\left[A,B\right]$$</latex>
352 <prompt_number>27</prompt_number>
353 </output>
354 </outputs>
355 </codecell>
356 <markdowncell>
357 <source>Carry out the commutator</source>
358 </markdowncell>
359 <codecell>
360 <input>comm.doit()</input>
361 <language>python</language>
362 <prompt_number>28</prompt_number>
363 <collapsed>0</collapsed>
364 <outputs>
365 <output>
366 <output_type>pyout</output_type>
367 <text>Aβ‹…B - Bβ‹…A</text>
368 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUU0QUFBQVNDQVlBQUFEMTV1aVJBQUFBQkhOQ1NWUUlD
369 QWdJZkFoa2lBQUFBaTVKUkVGVQpXSVh0MXp0b1ZFRVlCZURQR0VHTGxRUU1haFFpcEJVRjBTcVl3
370 bWRockN4Rk8rMEYwVUt4VVZTMEVMRU5hV09oUWhvckZmR0JsWStnCklwcE9nbURBS2tyVXFMR1lR
371 ZGRrN3U1OUpBRmhEeXgzZHM0L2M4N1p1WFBuTGkyVXdwS0M5VmN3aVRNTmFnYXhEWnZ3RlUvd1BY
372 S3IKMEluck9JZXBndnFOc0JDNmVmSTJ4VmI4eEZDTzJnMll3YVVFdHk5eUkxWE1MSUp1a2J5WmFN
373 UGRLSHc3Ui8yaFdMc3JneCtMcG1wVgpUQzJnYnRPOGJUa05IY1VOVEdOTmp2cCtZWnM4VG5BMXJN
374 Y0VQdWZVejR2NTBpMmFONGt1NGRkdnd6Zys1Qmp6Rmc4enVCUENTaDRwCmEyaUJkY3ZrVFdJSWZi
375 SDlGRDgwdmxOWFI0Tm5aL1YzeEw0SkhDNXJaaEYwYytWdGJ6SkpINWI2ZSt0L2pOKzdZanVGL25q
376 dHhjWFkKcm1FQTcrS2NZMDN0RjhkODZKYkpPd2Z0ZUlTMWRYMUR3cXB1YmpEdUdyNWhlWUk3THh6
377 dnUvT2FLSUNxdW1YenpzRXhISi9WZHlGTwp0TGZCdUZIcGh6T3NFQjY0NzRzWXlZbXF1b1h5Wm0z
378 VjdqakpHLzhlN1QzeG1uWFNkR0FqTG1mdzA4SmRzVTdZUnBQQ1ZqcWRVWi9DCmlCQ29xbTQ5eXVh
379 ZGcySHNTUFFmRUZiZ1pNYTQvWkVmeU9DM1IvNU9YaU01VVZXM2NON1U2YmdUbjNBdndZM0hhOVlL
380 OUVlaDFKWloKaGxPeFBaZ3h2aXlxNkZiSit3ZGJoTk9qTTRQdmpRYUhNL2puZUpubzc4Rk5mTUhC
381 WmlaS29LeHUxYnk2OFFxL1l1RnI0YjJvSHJlRQpsOEVaNFUvMEErekJTbUcxWGtSdVNqaWQ3c2ZQ
382 S0o3aHF2QWNtaTlVMGEyU3Q0VVdXdmgvOEJ0MXY4VEcwN0FDaFFBQUFBQkpSVTVFCnJrSmdnZz09
383 Cg==
384 </png>
385 <latex>$$A B - B A$$</latex>
386 <prompt_number>28</prompt_number>
387 </output>
388 </outputs>
389 </codecell>
390 <markdowncell>
391 <source>Create a more fancy commutator</source>
392 </markdowncell>
393 <codecell>
394 <input>comm = Commutator(A*B,B+C); comm</input>
395 <language>python</language>
396 <prompt_number>29</prompt_number>
397 <collapsed>0</collapsed>
398 <outputs>
399 <output>
400 <output_type>pyout</output_type>
401 <text>[Aβ‹…B,B + C]</text>
402 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdBQUFBQVdDQVlBQUFBLzQ1bmtBQUFBQkhOQ1NWUUlD
403 QWdJZkFoa2lBQUFBM3RKUkVGVQphSUh0MkUyc1hWTVVCL0RmZXhxdlV2cjBReFhGUUkyazhkbjRh
404 dCtBMXdnbGtmaUltUkloRWhFRERCclZDTkxHTTJxakhSQTZFTVNFCmdmaElrU3Q5alU3RTkwY0lT
405 YVdFcEJKYURhckZZTzNiM2w3bjNMUFA2NzMzVGU1L3NzL1phKzMvWHVmc3RkWmVlelBBdEdLbzdm
406 MU4KL0ltdGVLcGk3RG9jZ3djNzZHekNwVGdQZitIOTFNSmNuSVNYOFNoK3IyRjNyM2lQQmlPNElk
407 bDFydmlQSTlpTWw3QVdEK0ZqWEliOQpSU1NOek1tVzRHKzhrS0c3RVA5aVE0SHN5aVI3SzNQZWZ2
408 Qk9CUmZoYzJ6QkZlTEhTKzNqMklqZk1DNmNmR1laVVNOanNpRzhMajd3CjNRejltNUx1dFNYeVQ1
409 TjhYZ1pYTDNubjRZeWFOaENldlY5NUpoakNKUDRRUC82b0YyQVY3c05lZkpHaHZ4RUhNTHRBTmpQ
410 eC9JTGgKREs1ZThsNHZ2cXNPYmhlTGZFZUYzaHE4azU2UFdJQVpOU2VjZzF1eEF2ZUlORkNGTVh5
411 SVBRV3lPM0U4N3NVL05XM3BGVzh1emhicApid2VlcWREOVRqaExKUm9WOHMwaXg4RjJzZm9qNWVw
412 T3hFRk10UFdQQ3EvWXJkcDcrc1ZiTndLMmllOGZ6OUM5RUl2VDg1UWpZS21JCmdHYmUvem0xQzdH
413 elpNeHlrUUxPeFByVU4wdms3WjFKL21VTkczck5tNHM1dUJ5ZjRPME0vUTl5aVJzbC9jTjR6NUdi
414 MUNiaEFSZDMKNEpzUW9YZENnZXhoN01QS1hPTjZ6RnNuQWxhS2IzK3U1aHkwUlVEdUJuV1hPQnQ4
415 MzlMWEdnRmxHQk4xNzk0QzJibzAvN1ArZng2cApRcTk0YzlGMHVzOHlkT2ZxVUlubHBLQUZXSTJ2
416 c2F5bGYxRnF5eFpnRmk1UWZxQTdLRXF6QmNuQTNSbTJkSU4zbFdKUEg4V3hTZDZPCjUvRmt5M3N6
417 NWY2WVllOXFQSmFoaCtJVXRBVlhGL1EzdzNCdENkZUtKTCt4Ukw0MHlTZHpqZXN4YjUwVWRGYWE0
418 NGtLdmNXNHY2MnYKVmdwYUprNjhieFRJZHFXMkxBTEdVcnV0UURaRFZDdndkTW40VTN2RTJ3MThL
419 NnJBNnhUdlE4UWlyUkY3WlRZYUxjOUw4Qk5PTHRFOQpUWGpCS3lYeUhmaW1vSDhSWGhScDRyYVNz
420 YzFUN2dOZDV1MkV1bVhvYkxFSWt6aTlwWDhVdDRoQ29haEVyeXhENTR0Uzh4eUhxNTl4Cmh6MmV1
421 RnhhbnA2dkVkNjRQbzE3VFpScDU0c0xzdTBpaW9qNnZaa2VMaEViYVJGMjRRY1JnUk00cmt1ODNj
422 UWVYQ1VPZlJ1RUEzeUYKWDBYQlV1UThsV2gweWJodTRaRSt6aldWcTRpcFlFcGw2SFJnV0hoMXY3
423 QlAvNjZ1RDZIdVhWQS9jVGRlN2VOOFcvczQxeUcwUjhBQgpFU0w5Q01WT21DL3kva2ZUYkVjM2Ni
424 UDR0NmZvM1FYaEFBTU1NRUFkL0FmM1FPSkhTbklZTndBQUFBQkpSVTVFcmtKZ2dnPT0K
425 </png>
426 <latex>$$\left[A B,B + C\right]$$</latex>
427 <prompt_number>29</prompt_number>
428 </output>
429 </outputs>
430 </codecell>
431 <markdowncell>
432 <source>Expand the commutator</source>
433 </markdowncell>
434 <codecell>
435 <input>comm.expand(commutator=True)</input>
436 <language>python</language>
437 <prompt_number>30</prompt_number>
438 <collapsed>0</collapsed>
439 <outputs>
440 <output>
441 <output_type>pyout</output_type>
442 <text>[A,B]β‹…B + [A,C]β‹…B + Aβ‹…[B,C]</text>
443 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU44QUFBQVdDQVlBQUFCQUhrbFFBQUFBQkhOQ1NWUUlD
444 QWdJZkFoa2lBQUFCT1ZKUkVGVQplSnp0bTB0b1hVVVl4MytKQ1duRitLclUra1lMWXRIYWhZK2dK
445 S1dJcjlxNkVWeXBGSFJSeFlBRm4zUmpYRm5CallLSzFFZ0VVUmMrClVOQ0lRaDBmUVZ4cGl3dVJn
446 TzgzaWxJdGF1dGo4YzNoM2h4bnpwazU4ODI5dDNKK0VFNHkzOHgzdnU5LzU4eWNPek9CbHBhV3Zq
447 QlUKK3Z0VjRIZmdkZUNobXJiM0FvY0FkelM0N3d4d09UQUIvQTBzQVB1c2JSdzRHWGpKMXZ2Qmxt
448 OEROZ0Nqd0NZbG56bUkwUkRTZEN3WQpBcTRFSm9GemtmekhnT2VBQjRIVndBYzJwa0hYcjQ0NnZY
449 ejZ6NUF2UHczOU1ZRTNXd3ZzQjU2S0RMS2JVU1Q1NXgyMnM2ei9QY0J3CnlXWXkrTlRFUk5UVjBQ
450 RlVlODk1cEFPTTIvSmg0SHJnU2VCVFlEb2d2a0hRcjRvUXZVeUZMVWQrYXZwN0RWME1BYThBL3dD
451 N0lvSXMKYzRIMWNhUEhQbS90WjVmS1RRYWZQbzRHVGdtc1cyQUM2Mm5vdUFYWUN6eUt6QVl1SHJm
452 M09DTWdQbTM5b0ptR0xrTDFNaFUyN2Z5Uwo5Rzh5Z20wQlhnTitCVlkxYUYrdzNsN2Y4TmpYQUg4
453 Qm4vZlI1NFhBMVJIM2p5RlZ4eWxnRnZuZ3R5SjV1WmdIdmdJK0N2Q1o0elBSCjBsQ2ozMm5tcDY2
454 L3FiRWZoUVErQWl3Q1B3VUU2ZU5sNEd1UDdTcGt0TGpQWVRNWmZQcllETndXVVIvQ1pyNVVIWThF
455 UGtOeVhWNVQKOXh6Z2ljRDR0UFdEWmhxV2lkSExWTmkwOHN1aXY5ZGdlUVM0eVA2K2dBUTdWdFBH
456 eFREd00vQjBxZnhRNENacnU1UC9MZ2hWeFpqaQowMGV1aHk5Vng1MjJ6WFJkUmVBa1pQYXBpeStI
457 ZnFEejhNWG9aVHpsbXZtcDZEOFMwTGpnUEdRRUt0NjN2N1BYVmNnb0VNTTY0QWhrCkJObGh5NVlC
458 bHlBclZaY0I3dzJBenh4bzZMZ1orYTZ4TTZEdUYvYW5qa0hWVDZ2ZmFlYVhRLy9LVWVOTlpEbTI0
459 R0hrNlo4SWNWemkKRnR2MmRJZnRCdUJQWktVb0pzWVVuejYwWno0TkhWZmIrdTlHeGxWZ1BPVTU5
460 SU8wbWErSlhzWlRycFdmbXY2aEN5NWJrVDJLN2kraQozU05RTE91Qjc0R1BIYlpaNEJ0RTVIR0h2
461 WmMrdGRIUXNlaDBId2JVSFdOcHg2MWlFUFhUN0hkYSthbnBIL0xhdVJMWWpnUTkyVlYrCm9yMDJY
462 YWw3cThLK0Z3bjZOR0IzRDN4ZUI5enFhSE00SXVDMUR0c3pkRjVmUXREU3NYalY4aTBjZEhNenN1
463 a2NRdXBub3EyaGRyL1QKNm5PNTlIZE8yWFBBUmtmNUptVDZ2VHZVdVdXTmJiZk5Zei9PMmo4aGZN
464 RWwxYWNQemRmT09YUjBIQVYrUTA1alZIRVljTCtqM0RqSwpjdWtIelY4NzUyaW1sM0dVYWVhbnBu
465 L2RhK2Nrc3VzLzc3QjlhYSt1RWVqNENwL0ZYc3ZiSHZ1TXZUNkdDQkpDRHArYWFPcTRINWt4CnBw
466 Q1ZOQmNya0dOTkR3VEdOMmo2TmRYTFI5UDhlcVUvc0hUVVdBdDhDeHpycVh1Q0RmU0ZVdms2NUd6
467 YnJLZmRzOGhHYWZsRXdFb2sKNEFQQVhZRXhhdm4wb1RIejVkQnhCT2tBaThpeHFJTGx3S1hJMHZ5
468 S3dQZ2duMzRRcjJGVHZRcU1vNnhKZnRuMWQzM25Pd1paMWoyVAp6bXJUeFhSR0hPZzgrUUJYSUNQ
469 S0RtUVQ4MGZrTE52NXlCUmVqQ1F2SW9KT0lLY0JGcEFsWHBBcGVwa3Qyd0M4NHdtOFRBNmZXdVRT
470 CkVhU3pYSU9zem0xSFZ2QVdnVitRZktmeG43am9acEQwUzlYTFJVcCt2ZEIvQ1NhMlFRWDNLUHJx
471 eG1UeTZ5TFhKbnNNMmpvYVpYOTEKYUd5eXgyQ1UvV1hUUCtmcDlINmRmTmRrSC9LNjBrOE9kaDBI
472 UWNNVXN1a2ZjOElsaG8zQSs1bDg5NUpkcFAzblJpci9CeDM3cldFSwpXZlV2UDlVSGtIMEozNUpz
473 cU04cDNQOHpsY0x0U0d4L0tQdlZSa05EME5meFlORXZsVmIvbHBhV2xwYVdscGFXbGc3L0FwMkpD
474 c0NZCkVCSG1BQUFBQUVsRlRrU3VRbUNDCg==
475 </png>
476 <latex>$$\left[A,B\right] B + \left[A,C\right] B + A \left[B,C\right]$$</latex>
477 <prompt_number>30</prompt_number>
478 </output>
479 </outputs>
480 </codecell>
481 <markdowncell>
482 <source>Carry out and expand the commutators</source>
483 </markdowncell>
484 <codecell>
485 <input>_.doit().expand()
486 </input>
487 <language>python</language>
488 <prompt_number>31</prompt_number>
489 <collapsed>0</collapsed>
490 <outputs>
491 <output>
492 <output_type>pyout</output_type>
493 <text>2
494 Aβ‹…Bβ‹…C + Aβ‹…B - Bβ‹…Aβ‹…B - Cβ‹…Aβ‹…B</text>
495 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU84QUFBQVpDQVlBQUFEWnUzbTlBQUFBQkhOQ1NWUUlD
496 QWdJZkFoa2lBQUFCYlJKUkVGVQplSnp0bTNsb0hVVWN4ejgyaHpIeXZHdmFSQnN4MFZvUFBHdGJQ
497 R093aWhWRkJTc2VVQlFNRkd5MUZxMFhLdjVURmRPb3FNVzdGUThDClZnUVZFVk9Mb2tYVVJNRnFL
498 R28xYXFnVlJJMHRhbHZqSDc5WnN0bnN2SjNaMmJmN3JQT0I1ZTB4TS92N3p2eDJkK1kzODhEajhY
499 ZzgKdWRBRU5CZHRoS2Q0ZGl2YUFJOHhOY0R0d0RBd0ZiZ0F1QXo0cWtpalBCNVBNbGNEVjRhT0h3
500 VGVMOGdXVHhVd3FXZ0RQTVljQ0Z3ZgpPaDRBVHNLMzRmOFcyMjd6eFVBOThGS1pOSThBclpwcjI0
501 RWhsWDk5bVRKcWdLT0JPY0FzNEUvZ1ZlQk5kWDB4OHVYSm15VDk5Y0RmCm1tczI5YUlyWjNmZ0w3
502 WGZBeHdMZENSYTdVWVc3UmtsTHo5eUpTcy9MRnp2Wk9BWDRMR0VkUFhBTWNBbzhETFFDTlNxN1NC
503 RTdDaHcKa3liL3VjQTNRQy9RQmJRQmh3RjNJQUtYQU8rbEVlQklrdjZ6Z05QTDVMZXBsK09RQnRm
504 UkJud050SnVibnhyWDlveVNseCs1a3BVZgpWb1hlcDFYbVZ3elN6bE5wNThkY3F3TzJBRnVWd1FF
505 bDRISGdONkJUVSs1eVZlNWRCamJVR0tTeG9aeitOdUJXZ3pKczZtVTU4cmFQCnNnL1N1RzBHOTh1
506 S05PMnBvOUorNUVyV2ZsaTQzbE9BbGNBL21IMjI3MVZHTk1WY213VDhCR3dER2tMbitvRE55RmRI
507 eHlHcTNOTU0KYkxnZk9OSWduUWxKK2xjRCt4bVVZMU12SldCVkpFMGpjQit3cnpydUlKOFpBOXYy
508 MUZGcFAzSWxhejhzWEc4dHNCWnh6cCtCVFFaNQoxZ05mYUs2ZHJReDhNblR1Wm5YdUNvT3loNUcz
509 VUJJOWxHOEFVNUwwN3crc01Tekx0bDZlQVk1USsvWHErRkxnZkxVOVlYaGZWMnp0CmppTVBQM0ls
510 U3orc0NyMDNJSDErZ00rUko3OGNqVWl3NWRHWWE2Y2kvZjllSlBnQ2NJSkt2d0d6eUtscG9DcXJo
511 emRKLzN4Z21VRTUKdHZVQ2NBdXdWTzFmQTN3YzJYb003dXRLR3J2anFMUWZ1WksxSDFaY2IyMUNn
512 YzNJWW9DZzc3OFpPQXJZR3hrVHhERUhlU00xTWViVQpKV1hBVnVBUzRKMVErZ1VxL1QxSTl5S0p4
513 UVpwc3NKRWZ6dnduVUZadHZVQ3NKR3hhUEpUYXN1Yk5IWkh5Y09QWEZsQWRuNVlGWHBmClVJVUdQ
514 STk4dXFlWHlYTzNTbk1vRWx3SnR1T0JkY0M3U1BRc29GK2xuMkpqbUFGWmZIbE45SGNERnhtVVpW
515 c3ZJRjhEazBCSEpVbGoKZDVROC9NaVZMUDJ3Y0wyZFRBeVlkS3NibkZFbTMxcmdTODIxWnBWL25U
516 b3VBVHVRTVVIV3VENjhwdnJ2QkJZWmxHZFRMd0h6a0dCWQprYVN4TzB3ZWZ1UktsbjZZbTE1ZHQ3
517 a2VtY3NhWVB5NDZtVDFPMVdUcnc2WWpieHA0aGdHZmtYbVEwdWg4eHMxNmNOTUJoWWliNmd3Ck53
518 SXpZdExQQnFZaFk0VW9LNUV4b3c0Yi9VUEFpV1hLQXZ0NkdWSG5wMlBXSlE5VEE2ekFmRHBoQnpK
519 M0dEY21TMnQzUUY1K3RJMXMKTkx2NEllU25kd1QwRCs5UzVOUGZHem4vUGRJZDBIVXRaZ0o3b0or
520 OG5vRjBCUVlaYStoK0pQU2V4SFZJeFVSWmcwUjhvelFDcnhIZgpJSU1KOTdMUjN3ZGNubEJlbW5v
521 QmVYaDFEYXBqSi9KeXNuRmtYVEFscmQwQmVmcVJpK1lSM1AwUTh0VWIrL0MySWtHU2M1ZzRjSjhT
522 CitZMFNyRERTR1hHVituMHVkTzR0NERiZ2NQUnZ2azdnRDJTZUs4b200c1B3VzVDdys2ZWFNblhZ
523 Nmg5U3R1MEYvSzRwTTAyOTFBQXQKd0FmSkprOUFOOTFnU3hxN0EvTDJJMWZOcm42WXQ5NEpsSkNC
524 c1c1ZzNZNzB2Wi9WWEg4RCtFRno3VnFWOTBWZ3o5RDVPaVFvTTBpOAp1QzdHTDhnM0pjMllONjMr
525 V2NCRFpjcE5VeTlMTUp0dnJDUnA3SVppL01nVkZ6OHNSRy93NVMwaGI1MExrVVVCWFVpZlBoelc3
526 Z0xPClZQc2R5SmpoZFdTTjdVS2s2em9YQ1lzdlE3b21BQWNBNXlIZDJFWEF3eEhqdGlNTER4NVFJ
527 cjRGUGtHNk1BMUtjSjlHV0ZhNDZOOEEKZkloRWhtY0NINmswRGFTdmw0T1JLWVB1Yk9SWjRXSjNr
528 WDdrU2hvL0xGUnZzTFN1eFBoSTJDandObVAvWUFIcERrUlhsUFFqRWJxNQo2SmZwN1FRK1F3YmRK
529 clFpYjc0QjlQL1FNYUVIcVhDVGJyT0wvckN1RnVCSHRWOUgrbnBwVWVkSERXelBHaGU3cThtUFhE
530 SHh3MTFKCmIxV3hBdm5Mbk1maitZOHhEYk0xMEI2UHgrUHhlRHdlajhmajJUWDVGN1NTV0xra1du
531 SzdBQUFBQUVsRlRrU3VRbUNDCg==
532 </png>
533 <latex>$$A B C + A \left(B\right)^{2} - B A B - C A B$$</latex>
534 <prompt_number>31</prompt_number>
535 </output>
536 </outputs>
537 </codecell>
538 <markdowncell>
539 <source>Take the dagger</source>
540 </markdowncell>
541 <codecell>
542 <input>Dagger(_)</input>
543 <language>python</language>
544 <prompt_number>32</prompt_number>
545 <collapsed>0</collapsed>
546 <outputs>
547 <output>
548 <output_type>pyout</output_type>
549 <text>2
550 † † † † † † βŽ› β€ βŽž † † † †
551 - B β‹…A β‹…B - B β‹…A β‹…C + ⎝B ⎠ β‹…A + C β‹…B β‹…A</text>
552 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVd3QUFBQWFDQVlBQUFDVGsyYlJBQUFBQkhOQ1NWUUlD
553 QWdJZkFoa2lBQUFCd1pKUkVGVQplSnp0blhtSVZWVVl3SDh6NHpLbUpZV2FXMlhtVXBKbVdZcWhF
554 bEdSTFdwa0N5MDZ4UmoxUndXYWxRU2xMWnFwYmYrMENiYUlCZGtDCnRraUxtVVVGWlNsYUZsbVVS
555 WVlsV0VHN1RuOTg5ekhYTy9lK2Q5Wjc1MDduQjQ4Mzk1eHp6M2UrNzV6djNIUFA4Z1lDZ1VBZ0VG
556 Q2sKRWRnVVpIaW43RFlvMnI1ZGdjVkFuYVA4VlBRNUZ6ak5rVHhUaXJhN0NiN0xYSmd2ZGZJc1ZJ
557 Vy9nTitERE8rVTNRWkYycmNCZUJSWQpBTFE0eWxORm56WEFhbUFuOEdsSy9DamdyRmphdERTMnRQ
558 ZDJuWWJ2TWhmbVMvV2VoYXJRQXJ3VFpIaW43RFlvMHI2emdQZUFyeDNtCnFhclBQT0E1b0hzaWZB
559 SndLckFFZUFsNEE1anNzSHdWMm51N1RzTjNtUXZ6SlZldmQ2YXNBNzVGUnZxOWdNK0FPVUdHYzhw
560 dWd5THQKMndQcHJNY0NmenJLVTFlZlc1RlI5bU94c0tlaWNqMFVYVDhDREFaT2QxUkdrM0syQjN5
561 WHVleSt0QjlkZ1lFWm53RzBIU1ZVV09CSQpmbmV5M3hwVVpaanFvQ1BEbG81ZzV5eDZwb1IxYzVT
562 M0NVM0FBelhTK0s2UFFjREhpYkJMZ0N0ajEvY0Q3eXZtbDRiUE92VkJ0WFlDCi92MjlFRjl5UFlj
563 OUJyZ1dtSWdvdXdINE1vcXJSeFpRZmtGR0RDL0U3aHZoUVBhQndEYmdZdURkbEhoVkdhWTY2TWl3
564 cFNQWXVVSXYKb0JrWUQvUUR2Z0VPQTU1Qk9zcExnZjdJcTM5ZTlvMXpOaklsVVEzZjliRURPQVk0
565 Z2RhT2UxVXN2Z3N3TmNyZkJOZDE2Z09kZGdMKwovYjA5K3BJeHp5Tktka21FTndCcmdiMklnU3JZ
566 akF3cTNJZk0rMXlRRWE4clExY0hFeG0ybE4zTzA1QlgvZHVBSVltNE9jaUMyei9BCmlRWjUxK0lV
567 MnRvdGpkMjBMVnNXUHV0akN6QXpJMjRaNXAwMXVQZWRhcHlDbXQzajZMWVQ4Ty92aGZpU3IwWEhD
568 Y2dUNCs5RStGN2sKaVZnUG5Ca0x0NTFMSHdWY0ZQM2ROeU9Ocmd4ZEhVeGsyRkpXT3pjQVR5Qmx2
569 QTU1OWR1ZVNMTU1HVlg5UnV1bzBxVjltNEUrTmRJMApBb2NBUHlubTZiTSt2Z0NPU0FtZkJXd0Zi
570 dGZJSzQ0UDM2bUdpdDBybUxZVDhPL3ZoZmlTanc1N0JOQWJlQ3NqZm16MHZkV1J2RHBrCmYreTg2
571 RHBMZVIzeTFzR0VNdHY1Rm1BR01BVjR0a3E2OVloKyt5eGsyZEE3a3YyclFscmY5WkhXWVU5RHBn
572 WldSTmMzYWVicHczZGMKa2xjN0tZMHYrZGlIUFNuNlhwOFNkelJ3WVJRWG54ZTAyZHZhaEt5cWZo
573 SmRaeW12SThORUIxMFp0cFRWenVPUjEvYzF3R3MxMG40SAo3TkxJMnpVdHlLQ21CektDcTRidit1
574 akUvZ09zYzRCRndGZkE5VWduc0VNalAvRGpPNjZ3YVNmZzM5L2JneTg1WVJXd0IzbWRxZEFUCm1h
575 ZlppY3piOUVqYzg3YWhySU9SUllMT3lHdFdDL0J5UmxvZEdTWTY2TXF3cGF4MjNvYU1oSTVUa0hz
576 c2NLaEczanFzUkhZQ1ZLTUwKb3VzWWhmeDgxOGVMeUtpc3dtUmtlaUgrVVNsbkJWKytVd3NWdTRO
577 ZE93SC8vbDZJTC9rWVlVOEVmZ1R1aW9VTlFlWnNsZ0FQQXY4bQo3dm5CVU5aQzRFNWt3ZUZuWkw0
578 cDYybWxJOE5FQjEwWnRwVFJ6b2NqSTVZTndHWUZ1Y2xYMER6dEN6S2Z1UXNZRG15c2tkWjNmUXdI
579 ClhvOWR2NnB4YnhxK2ZNY0Z0dTBFL1B0N0liN2t1c01lakR3OTV3SkxFM0c5a1VZL0hWa3Bqay91
580 YnpHUWRSTHloS3E4THUxRERKQ2wKdktvTVV4MTBaTmhTVmp0UGlMNVZuRkEzN3l6cVNWK3JxVU5H
581 VkVrZmFFR2NxTUk2WUZnTkdiN3JveE53RkhLYTBRVytmQ2VPamQxdAoyd240OS9laWZZbVJ5RGFT
582 RHhRL0Q2ZmswWVFZZmx5R2pFVlJmSE8xZ2loUWp4emJQRElSdmdsNWN0bXM0RGJoVHdjWE52WmR4
583 aml1CjdidzBLdGRWQ21rSG9iNmJvQnBQQWgrbGZIWWpIVUl5L0VOZ2RPeit5NEduYThob3dtOTlE
584 RVhtcWwzZzAzZmkyTmc5ejNiU1JJbDgKS2Y2VTI0Sk05TnN3Q2ZuQmt1U3ByQ1FETE9WY0RSeEU2
585 N0hjQ3Yxb1BjNnB1aFVyaVU4ZFhOZ1l5bXZuejZQdjNRcHBiOEROY2R3WgpHZUVyZ1p1QjcydmN2
586 eHBaelI5WUphM3YrcmdHdU5mdzNpUStmU2VPamQzemJDZGw5U1VuYkFmZXJCSy9FWGxhMlp6ZzZZ
587 T01QcnVsCnhDMlA4aDlwa1g4ZU90aFNWanNQamU1YlhDUGRPT0FLemJ4MVVWMzhBam13a2p6Vkdz
588 ZG5mUnlQZEdDZERlNU40dHQzVkZDeGU1N3QKcEt5K1pFMy9TUEQ4alBpWnlKeE5OZU9vc0lMc1Vl
589 cjhxQXltUDRDVGx3NDJsTjNPYXhFbjZaVVJmekl5Q21uSWlIZUZUb2RkaC96WQowcFNVT0ovMVVS
590 L2RON1pXUWtWOCtvNHFxbmJQbzUyVTNaZXNhSTRFbjVFSTd3dk1SbFpabHlPbngweG9CTzVHVm82
591 enVERXFRNU9oCkROODZ1S0RzZG01RWRqaHNSanFpeXNoeEJMTHdNNWQ4VG96cWROZ2dIY05DMnBi
592 TlozMU1wWFdQc0ExNStJNHFxbmJQbzUyVXpwZGMKT01aczVNVFZRR1RmNmg1azVSTmtoSEFBOGpP
593 UWE0RlhER1djRDl5RC9MSldDN0kvOGJKWS9ERGdjV1NlcVFINEEvbDV3dWxSZWRxRApEclowQkR0
594 WDZBcWNoMnluR28wc3FHMURIRFN2LzI2aU9vZWRSUm5hRE9SWHA2cm8yTjFYTytsSXZoUUkvQys0
595 QXpuRUVNaVhZUGRBCklCQUlCQUtCUUNBUUNBUUNnVUFnRUFnRUFvRkFJQkFvaXY4QUxKRDhNYVAw
596 U3pRQUFBQUFTVVZPUks1Q1lJST0K
597 </png>
598 <latex>$$- B^{\dagger} A^{\dagger} B^{\dagger} - B^{\dagger} A^{\dagger} C^{\dagger} + \left(B^{\dagger}\right)^{2} A^{\dagger} + C^{\dagger} B^{\dagger} A^{\dagger}$$</latex>
599 <prompt_number>32</prompt_number>
600 </output>
601 </outputs>
602 </codecell>
603 </cells>
604 </worksheet>
605 </worksheets>
606 </notebook>
1 {
2 "nbformat": 2,
3 "name": "basic_quantum",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Basic Symbolic Quantum Mechanics</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 18,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 19,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "source": "<h2>Bras and Kets</h2>",
29 "cell_type": "markdown"
30 },
31 {
32 "source": "Create symbolic states",
33 "cell_type": "markdown"
34 },
35 {
36 "cell_type": "code",
37 "language": "python",
38 "outputs": [],
39 "collapsed": true,
40 "prompt_number": 20,
41 "input": "phi, psi = Ket('phi'), Ket('psi')\nalpha, beta = symbols('alpha beta', complex=True)"
42 },
43 {
44 "source": "Create a superposition",
45 "cell_type": "markdown"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [
51 {
52 "output_type": "pyout",
53 "latex": "$$\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }$$",
54 "prompt_number": 21,
55 "png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAXCAYAAABtR5P0AAAABHNCSVQICAgIfAhkiAAABHBJREFU\naIHt2VmsXWMUB/Dfvb0dqBYtjZCrWvdBOiDVlmpTLTW0UiSGkHjRpoZETSUkTQyJseaIGzFUESXE\nA0rwwJWK4UE0SjwgaFNqnkra4PKw9s7Zd9+99z2nd0By/y/nfGt9a531/771rW/tfRjE/xL3Y8y/\nHUQ/o185NvfCdjSGNTD/JgzNyS7HhF7E0FeYhnYR41pciyaNcbwUB+RklfxaGgyyNxiJP3Kyp7Ac\nVwxgHHksxV+4WMTXjC/wSYN+2vB5TlbJrzeZ3wjG4tsC+SbsgVG99D9tJ+2Ow59Yo5YYnfgNhzXg\np1lsYB6V/AZq8Y9CR4luNZb00v8dO2EzCvPxSE4+XmTx2w34mor3S3Sl/AZq8WcoJ/MWZg5gLCnO\nwmMF8hvxiigZ9WKu8uQq5VdU8ycmgbViHL7Glfgl0Tfh7wK7YTgPR2IDbsnohqod69vFxXRqRr8O\ni/FsCYH+wHjRzYzGQ9guYv8KRyvmmEUrVuB7nISDsAtuwKe5uXXxO1jUqUXJuBn3Jcbpzt2dfD6J\nfTK2l2CS2OXt2C2R76XrhbMav+d+t0VxFtaLjgbnj8rENEpswmqR7Z1YkOjyHFNchJexv1iXexP5\n4diie9fTI782setX5+QniiyYif0y+mxgQ3FX8n0FflDbrNNE2UkxVvfMgKtwSFWAFehocP4iwSeP\n4fhOcKN48c/BR2rJNQ3LMvrn8GCB70p+a8Xij8zJW8XiLxcLv29BYMPFxsBGcVpSXI8hmfEQkWV5\njFHLoEbR0eD8lbmYstiIV5Pv+cWfgB1YmJGtEImb4gHF91s3fmnNb8axeEG0WVlsTj6PEH3slwWO\nd4jjNhlTRM+coknXNmw6Hi7wkc4twwQ8o/hibhP3TB5bxMnNo0Vxa9iCA/FSSQwL8VNO36brM8F0\nvFNi34VfuviTRW3+oMSIaKeWVuhhjiC1PhnvLS7sLCbiiQLbc0XWlOEz5f18B+b1EFuK0UlcRThZ\nXJrrSvST8bHaZdwinhNStInkW1lg241fmkWbEof5hSJqW6fY7e0lQaXoxDa1rJqH1zL6Zblxihax\nue/14L8vMBfH636CWkQJWYPXS2zXq5Vd4kHs3eR7k+ia2vFige9u/NIAfhZH+vic0QLcKo7RuGT+\nKSWBwfOilp6QjCeJ0zQCq8SdsrXA7nQ8XeG3LzED14i2OK37acfyo64lM4914kn9zGQ8XyTTWHGa\nN+CyArtCftk+/2zcJi6ZzUlAb+IC0YLeI148PV4R3FZR867DLNFRrEp07aJ0FGFx8vsDgRGiuViK\nR0Xi7Yk3cL7q/n4bjhFNxGxRZsdgV9ys+N6hH/iV9cAppuLCOvzMUp1t9aCjznm7K67HZajiOESt\nva5CKb/+fKSfr75FWaK49WwE39Q5b644zX2BQ5W/z8milF9vFr9TcbuWYgo+7MFHq6izv/YiDjij\nznmzNfbCrIrjHFGqqtBX/Lqhp9fA7XX4GOg/Uxp9+1nF8c467P8rfxYNYhCDGAT8A+0w3Ws5danI\nAAAAAElFTkSuQmCC\n",
56 "text": "\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9"
57 }
58 ],
59 "collapsed": false,
60 "prompt_number": 21,
61 "input": "state = alpha*psi + beta*phi; state\n"
62 },
63 {
64 "source": "Dagger the superposition and multiply the original",
65 "cell_type": "markdown"
66 },
67 {
68 "cell_type": "code",
69 "language": "python",
70 "outputs": [
71 {
72 "output_type": "pyout",
73 "latex": "$$\\left(\\overline{\\alpha} {\\left\\langle \\psi\\right|} + \\overline{\\beta} {\\left\\langle \\phi\\right|}\\right) \\left(\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }\\right)$$",
74 "prompt_number": 22,
75 "png": "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\n2Kc62Q7y4E4AAAAASUVORK5CYII=\n",
76 "text": "\u239b\u23bd \u23bd \u239e \n\u239d\u03b1\u22c5\u27e8\u03c8\u2758 + \u03b2\u22c5\u27e8\u03c6\u2758\u23a0\u22c5(\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9)"
77 }
78 ],
79 "collapsed": false,
80 "prompt_number": 22,
81 "input": "ip = Dagger(state)*state; ip\n"
82 },
83 {
84 "source": "Distribute",
85 "cell_type": "markdown"
86 },
87 {
88 "cell_type": "code",
89 "language": "python",
90 "outputs": [
91 {
92 "output_type": "pyout",
93 "latex": "$$\\alpha \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\psi\\right\\rangle } + \\alpha \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\psi\\right\\rangle } + \\beta \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\phi\\right\\rangle } + \\beta \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\phi\\right\\rangle }$$",
94 "prompt_number": 23,
95 "png": "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\nVapUevofz4SOwufiq5gAAAAASUVORK5CYII=\n",
96 "text": "\u23bd \u23bd \u23bd \u23bd \n\u03b1\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c8\u27e9 + \u03b1\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c8\u27e9 + \u03b2\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c6\u27e9 + \u03b2\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c6\u27e9"
97 }
98 ],
99 "collapsed": false,
100 "prompt_number": 23,
101 "input": "qapply(expand(ip))\n"
102 },
103 {
104 "source": "<h2>Operators</h2>",
105 "cell_type": "markdown"
106 },
107 {
108 "source": "Create symbolic operators",
109 "cell_type": "markdown"
110 },
111 {
112 "cell_type": "code",
113 "language": "python",
114 "outputs": [],
115 "collapsed": true,
116 "prompt_number": 24,
117 "input": "A = Operator('A')\nB = Operator('B')\nC = Operator('C')"
118 },
119 {
120 "source": "Test commutativity",
121 "cell_type": "markdown"
122 },
123 {
124 "cell_type": "code",
125 "language": "python",
126 "outputs": [
127 {
128 "output_type": "pyout",
129 "prompt_number": 25,
130 "text": "False"
131 }
132 ],
133 "collapsed": false,
134 "prompt_number": 25,
135 "input": "A*B == B*A\n"
136 },
137 {
138 "source": "Distribute A+B squared",
139 "cell_type": "markdown"
140 },
141 {
142 "cell_type": "code",
143 "language": "python",
144 "outputs": [
145 {
146 "output_type": "pyout",
147 "latex": "$$A B + \\left(A\\right)^{2} + B A + \\left(B\\right)^{2}$$",
148 "prompt_number": 26,
149 "png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAAAZCAYAAABn7SHgAAAABHNCSVQICAgIfAhkiAAABONJREFU\neJzt2luoFVUcx/FP6jnZsdNNKzVFKLsX1EORpGYIKRkFRgRJD70oFBRFmlQv0ksPQUVYPYXRTcTq\nISqKouhCD0YSdCUKtItd0JJSuunpYe3N2U4ze681M/scOcwXDps9a83M//f/nTXrv9ZsGhoaGhI5\nEmdgyngH0tCTrl5NHttYJgQrsBLHYCOmYtu4RtRQRONVzQzgpdYnnI4RXDhuETUU0XjVB07An1jQ\ncewPrBmfcBq6EOVVag27EoPY3KXPRswraPsHO1vnf5B471QG8XdC/zxt2WvswbH4q/V9Po7Sfy1F\n9CPXMR7XTZFXKfr67tWJrYs+1qPfIM4XppvnMSQMtCmYg4dbbevKBhLBLKxO6F+k7V6jU2geW7E+\nLbRaqTvXsR7XSTevUvT13asnWjd7MaLvilbf63PaBvAz9gkCY0hZrE8SDEw5p0jbmXi84Jy1uCXh\nHt2oshlRZ65TPC6ibq9i9ZXyalJkoJcK08sIZkb0X9z6fDun7UDrOkdE3n8pbovo1+YmvN66Twzd\ntH0pJPi8zPFV+EyYogewMCG+LKn6stSV61SP8+iHV7H6dijhVcw/4BTch7uxW/wA+Bw/5bQtxUl4\nVlik9GJA/EwBNwir/xhitL3g0KfHdThHSPpVguFHJ8SXJVVfljpyXcbjPPrhVYq+vnh1u9GV8yfY\n36P/kPAkeTSnbaFQY24RXlDEsFx87XY83ozsS5y2IWGxBdPxPj7M/M1OuGeWFH15sdWR61SPi6jb\nq1R9yV712gWajauFkQY/4lxhdb234JwFwpPgZKPJGG4FvA/X4q0e9y3LqdgV2TdW234cFJ5su4VS\n4XChjlyX8bgOYrxK1ZfsVa8B8IAwLR5sfW9PQzMVJ6dds60VRmibrXgQG/AVvusVXAmmC4mJIUXb\nTmG3YkfVAGumjlyX8bgOYrwqoy/Jq25rgKXCXmvnvmlncopYhC/wDX7r+Nsu1HyL8HRMcCXYi7kR\n/VK1zcLv1ULrC1VzXdbjOojxqoy+JK+KZoBBYdW8HQ91HL+44yZ5DOASPFPQ/oMgYLEwlXUGukxY\ntGSZI7zVm5/T9h42dXzfKfzwqRup2gYxA7/2uG4v6tDXSZVcU95jxsarMvqSvSoaAHcKK+stmePf\nCnVZ0dPhIuFt27sF7WfjOGFUZw3ZJtRtWRYIiXoypy1bQ+4S6sBub4FTtZ0m1JkjBdeLpQ59nVTJ\nNeU9Zmy8KqMv2au8ATAPlwuj/GCmbWbmM0u7ZisK+sbW51M5bXscWue1mYFpwgo+hs3C1Ji3w1BG\n2xLFT6EU6tLXpkquq3jM2HhVRt8SFb0axjvCW7U85guja1NB+yuKF1yrW+c+JyQpltRtwiG85v+v\nxctom4FXhX3kflF2G7Rsrqt63I26vCJdXymv2jPAMO7BNThL2BPe4NBdgDXCCCM8PdbhZXyNm4VV\n/RXCNtp6/NsR2JWC2FvxSEqAJdgv7GqsFmrcKtpWCdqqlj91MVX5XFfJw6e1Kwlkvaqi7w4lvGqP\nlmFc1nF8BG8Y/SUdYbrMjtSP8Esr2KKRdwAfC4uWMizHBbg/8bxT8L1q2iYLNXE/SdE3oHyuq+Qh\n1ruqXlXRN1f/vRoXluGu8Q6ij0wkfRNJy2HDNP3fkx5PJpK+iaSloaGhoaGhoWGi8h+sZcLwhv0Q\nuwAAAABJRU5ErkJggg==\n",
150 "text": "2 2\nA\u22c5B + A + B\u22c5A + B"
151 }
152 ],
153 "collapsed": false,
154 "prompt_number": 26,
155 "input": "expand((A+B)**2)"
156 },
157 {
158 "source": "Create a commutator",
159 "cell_type": "markdown"
160 },
161 {
162 "cell_type": "code",
163 "language": "python",
164 "outputs": [
165 {
166 "output_type": "pyout",
167 "latex": "$$\\left[A,B\\right]$$",
168 "prompt_number": 27,
169 "png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAWCAYAAAC/kK73AAAABHNCSVQICAgIfAhkiAAAAkhJREFU\nSInt182LTWEcB/DPvOWlJpTGYLKwUFMzzYZmMzNJiWl2/gHFQlZm4yUbY4WtQsqUFRYiSoQ4aIpS\n8rKQRORdSZEMM1g8z+XOnXPmnntnZkG+dXvO/X3P7/v73t9znuc8l78UNSXfL+ArLuFAmdw9qMO2\nKuoOYC068QND+BK5RizB2Xjf+xjvx0o0oK9UMMlZuB3fcawK0wU0CGZPpXBtUf8eaku4REowD2qw\nD/VoriK/gOWYhYsp3ANcFhrUlpZcjfH1sdhnkzPeE8erGXwrRvE8j1hShp8XC9XjMT7kEc3AObzK\n4NbhpzCzpUjSElKDRTiEVfF6KIrPKOcwBbX4iOMl8dnYHLntxm8evz3WV1BshdDxK/H72zg241kF\nOtCBOZiLvTE2E6uFXW0NblUimGTEa3FN2KYKOCh0vLOSAhFbYu6yFG4jvmHDRB7zLs5Nwt5evFCK\nO14pevAOj1K4QbwWGtOYJZDnUWnCzlikqyjeEsdqjHfj+gT8J2F2l+JuHsEkJXYUvSnxPmG6d+UR\nLkJrzOvP4BdG/qkJFme5R6VLeIOdT+FexDGt44sm0Czs3zcy+IE4HhF+QC4kRdfteIMFGfcujsKn\nS+IdwvljMCPvpPDyqiuJN2E/RrAjp8cxwfnCGWE0Gnvoz/NcwAm8jPyw0L3CwacFT3Df2Kk+g5sx\nZyReJ/FzW3jNHzZ2HVVkfKqwewq1ipFQ3VklL6ZTe9rEe3FnmrQx3viI8Gcia6vKq9kt/Zw9GWwV\nvA1Pse5//Nv4Bfpvd5tNLRluAAAAAElFTkSuQmCC\n",
170 "text": "[A,B]"
171 }
172 ],
173 "collapsed": false,
174 "prompt_number": 27,
175 "input": "comm = Commutator(A,B); comm\n"
176 },
177 {
178 "source": "Carry out the commutator",
179 "cell_type": "markdown"
180 },
181 {
182 "cell_type": "code",
183 "language": "python",
184 "outputs": [
185 {
186 "output_type": "pyout",
187 "latex": "$$A B - B A$$",
188 "prompt_number": 28,
189 "png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAASCAYAAAD15uiRAAAABHNCSVQICAgIfAhkiAAAAi5JREFU\nWIXt1ztoVEEYBeDPGEGLlQQMahQipBUF0SqYwmdhrCxFO+0F0UKxUVS0ELENaWOhQhorFfGBlY+g\nIppOgmDAKkrUqLGYQddk7u59JAFhDyx3ds4/c87ZuXPnLi2UwpKC9VcwiTMNagaxDZvwFU/wPXKr\n0InrOIepgvqNsBC6efI2xVb8xFCO2g2YwaUEty9yI1XMLIJukbyZaMPdKHw7R/2hWLsrgx+LpmpV\nTC2gbtO8bTkNHcUNTGNNjvp+YZs8TnA1rMcEPufUz4v50i2aN4ku4ddvwzg+5BjzFg8zuBPCSh4p\na2iBdcvkTWIIfbH9FD80vlNXR4NnZ/V3xL4JHC5rZhF0c+VtbzJJH5b6e+t/jN+7YjuF/njtxcXY\nrmEA7+KcY03tF8d86JbJOwfteIS1dX1DwqpubjDuGr5heYI7Lxzvu/OaKICqumXzzsExHJ/VdyFO\ntLfBuFHphzOsEB6474sYyYmquoXyZm3V7jjJG/8e7T3xmnXSdGAjLmfw08JdsU7YRpPCVjqdUZ/C\niBCoqm49yuadg2HsSPQfEFbgZMa4/ZEfyOC3R/5OXiM5UVW3cN7U6bgTn3AvwY3Ha9YK9Eeh1JZZ\nhlOxPZgxviyq6FbJ+wdbhNOjM4PvjQaHM/jneJno78FNfMHBZiZKoKxu1by68Qq/YuFr4b2oHreE\nl8EZ4U/0A+zBSmG1XkRuSjid7sfPKJ7hqvAcmi9U0a2St4UWWvh/8Bt1v8TG07AChQAAAABJRU5E\nrkJggg==\n",
190 "text": "A\u22c5B - B\u22c5A"
191 }
192 ],
193 "collapsed": false,
194 "prompt_number": 28,
195 "input": "comm.doit()"
196 },
197 {
198 "source": "Create a more fancy commutator",
199 "cell_type": "markdown"
200 },
201 {
202 "cell_type": "code",
203 "language": "python",
204 "outputs": [
205 {
206 "output_type": "pyout",
207 "latex": "$$\\left[A B,B + C\\right]$$",
208 "prompt_number": 29,
209 "png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAWCAYAAAA/45nkAAAABHNCSVQICAgIfAhkiAAAA3tJREFU\naIHt2E2sXVMUB/DfexqvUvr0QxXFQI2k8dn4at+A1wglkfiImRIhEhEDDBrVCNLGM2qjHRA6EMSE\ngfhIkSt9jU7E90cISaWEpBJaDarFYO3b3l7n3LPP6733Te5/ss/Za+3/XufstdZeezPAtGKo7f1N\n/ImteKpi7Docgwc76GzCpTgPf+H91MJcnISX8Sh+r2F3r3iPBiO4Idl1rviPI9iMl7AWD+FjXIb9\nRSSNzMmW4G+8kKG7EP9iQ4HsyiR7K3PefvBOBRfhc2zBFeLHS+3j2IjfMC6cfGYZUSNjsiG8Lj7w\n3Qz9m5LutSXyT5N8XgZXL3nn4YyaNhCevV95JhjCJP4QP/6oF2AV7sNefJGhvxEHMLtANjPx/ILh\nDK5e8l4vvqsObheLfEeF3hq8k56PWIAZNSecg1uxAveINFCFMXyIPQWyO3E87sU/NW3pFW8uzhbp\nbweeqdD9TjhLJRoV8s0ix8F2sfoj5epOxEFMtPWPCq/Yrdp7+sVbNwK2ie8fz9C9EIvT85QjYKmI\ngGbe/zm1C7GzZMxykQLOxPrUN0vk7Z1J/mUNG3rNm4s5uByf4O0M/Q9yiRsl/cN4z5Gb1CbhARd3\n4JsQoXdCgexh7MPKXON6zFsnAlaKb3+u5hy0RUDuBnWXOBt839LXGgFlGBN1794C2bo0/7P+fx6p\nQq94c9F0us8ydOfqUInlpKAFWI2vsaylf1FqyxZgFi5QfqA7KEqzBcnA3Rm2dIN3lWJPH8WxSd6O\n5/Fky3sz5f6YYe9qPJahh+IUtAVXF/Q3w3BtCdeKJL+xRL40ySdzjesxb50UdFaa44kKvcW4v62v\nVgpaJk68bxTIdqW2LALGUrutQDZDVCvwdMn4U3vE2w18K6rA6xTvQ8QirRF7ZTYaLc9L8BNOLtE9\nTXjBKyXyHfimoH8RXhRp4raSsc1T7gNd5u2EumXobLEIkzi9pX8Ut4hCoahEryxD54tS8xyHq59x\nhz2euFxanp6vEd64Po17TZRp54sLsu0iioj6vZkeLhEbaRF24QcRgRM4rku83cQeXCUOfRuEA3yF\nX0XBUuQ8lWh0ybhu4ZE+zjWVq4ipYEpl6HRgWHh1v7BP/66uD6HuXVA/cTde7eN8W/s41yG0R8AB\nESL9CMVOmC/y/kfTbEc3cbP4t6fo3QXhAAMMMEAd/Af3QOJHSnIYNwAAAABJRU5ErkJggg==\n",
210 "text": "[A\u22c5B,B + C]"
211 }
212 ],
213 "collapsed": false,
214 "prompt_number": 29,
215 "input": "comm = Commutator(A*B,B+C); comm"
216 },
217 {
218 "source": "Expand the commutator",
219 "cell_type": "markdown"
220 },
221 {
222 "cell_type": "code",
223 "language": "python",
224 "outputs": [
225 {
226 "output_type": "pyout",
227 "latex": "$$\\left[A,B\\right] B + \\left[A,C\\right] B + A \\left[B,C\\right]$$",
228 "prompt_number": 30,
229 "png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAWCAYAAABAHklQAAAABHNCSVQICAgIfAhkiAAABOVJREFU\neJztm0toXUUYx3+JCWnF+KrU+kYLYtHahY+gJKWIr9q6EVypFHRRxYAFn3RjXFnBjYKK1EgEURc+\nUNCIQh0fQVxpiwuRgO83ilItautj8c3h3hxnzpk58829t3J+EE4y38x3vu9/58ycOzOBlpaWvjBU\n+vtV4HfgdeChmrb3AocAdzS47wxwOTAB/A0sAPusbRw4GXjJ1vvBlm8DNgCjwCYlnzmI0RDSdCwY\nAq4EJoFzkfzHgOeAB4HVwAc2pkHXr446vXz6z5AvPw39MYE3WwvsB56KDLKbUST55x22s6z/PcBw\nyWYy+NTERNTV0PFUe895pAOM2/Jh4HrgSeBTYDogvkHQr4oQvUyFLUd+avp7DV0MAa8A/wC7IoIs\nc4H1caPHPm/tZ5fKTQafPo4GTgmsW2AC62nouAXYCzyKzAYuHrf3OCMgPm39oJmGLkL1MhU27fyS\n9G8ygm0BXgN+BVY1aF+w3l7f8NjXAH8Bn/fR54XA1RH3jyFVxylgFvngtyJ5uZgHvgI+CvCZ4zPR\n0lCj32nmp66/qbEfhQQ+AiwCPwUE6eNl4GuP7SpktLjPYTMZfPrYDNwWUR/CZr5UHY8EPkNyXV5T\n9xzgicD4tPWDZhqWidHLVNi08suiv9dgeQS4yP6+gAQ7VtPGxTDwM/B0qfxQ4CZru5P/LghVxZji\n00euhy9Vx522zXRdReAkZPapiy+HfqDz8MXoZTzlmvmp6D8S0LjgPGQEKt63v7PXVcgoEMM64Ahk\nBNlhy5YBlyArVZcB7w2Azxxo6LgZ+a6xM6DuF/anjkHVT6vfaeaXQ//KUeNNZDm24GHk6Z8IcVzi\nFtv2dIftBuBPZKUoJsYUnz60Zz4NHVfb+u9GxlVgPOU59IO0ma+JXsZTrpWfmv6hCy5bkT2K7i+i\n3SNQLOuB74GPHbZZ4BtE5HGHvZc+tdHQseh0HwbUHWNpx61iEPXT7Hda+anpH/LauRLYjgQ92VV+\nor02Xal7q8K+Fwn6NGB3D3xeB9zqaHM4IuC1DtszdF5fQtDSsXjV8i0cdHMzsukcQupnoq2hdr/T\n6nO59HdO2XPARkf5JmT6vTvUuWWNbbfNYz/O2j8hfMEl1acPzdfOOXR0HAV+Q05jVHEYcL+j3DjK\ncukHzV8752iml3GUaeanpn/da+cksus/77B9aa+uEej4Cp/FXsvbHvuMvT6GCBJCDp+aaOq4H5kx\nppCVNBcrkGNNDwTGN2j6NdXLR9P8eqU/sHTUWAt8CxzrqXuCDfSFUvk65GzbrKfds8hGaflEwEok\n4APAXYExavn0oTHz5dBxBOkAi8ixqILlwKXI0vyKwPggn34Qr2FTvQqMo6xJftn1d33nOwZZ1j2T\nzmrTxXRGHOg8+QBXICPKDmQT80fkLNv5yBRejCQvIoJOIKcBFpAlXpApepkt2wC84wm8TA6fWuTS\nEaSzXIOszm1HVvAWgV+QfKfxn7joZpD0S9XLRUp+vdB/CSa2QQX3KPrqxmTy6yLXJnsM2joaZX91\naGyyx2CU/WXTP+fp9H6dfNdkH/K60k8Odh0HQcMUsukfc8Ilho3A+5l895JdpP3nRir/Bx37rWEK\nWfUvP9UHkH0J35JsqM8p3P8zlcLtSGx/KPvVRkND0NfxYNEvlVb/lpaWlpaWlpaWlg7/Ap2JCsCY\nEBHmAAAAAElFTkSuQmCC\n",
230 "text": "[A,B]\u22c5B + [A,C]\u22c5B + A\u22c5[B,C]"
231 }
232 ],
233 "collapsed": false,
234 "prompt_number": 30,
235 "input": "comm.expand(commutator=True)"
236 },
237 {
238 "source": "Carry out and expand the commutators",
239 "cell_type": "markdown"
240 },
241 {
242 "cell_type": "code",
243 "language": "python",
244 "outputs": [
245 {
246 "output_type": "pyout",
247 "latex": "$$A B C + A \\left(B\\right)^{2} - B A B - C A B$$",
248 "prompt_number": 31,
249 "png": "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\n",
250 "text": "2 \nA\u22c5B\u22c5C + A\u22c5B - B\u22c5A\u22c5B - C\u22c5A\u22c5B"
251 }
252 ],
253 "collapsed": false,
254 "prompt_number": 31,
255 "input": "_.doit().expand()\n"
256 },
257 {
258 "source": "Take the dagger",
259 "cell_type": "markdown"
260 },
261 {
262 "cell_type": "code",
263 "language": "python",
264 "outputs": [
265 {
266 "output_type": "pyout",
267 "latex": "$$- B^{\\dagger} A^{\\dagger} B^{\\dagger} - B^{\\dagger} A^{\\dagger} C^{\\dagger} + \\left(B^{\\dagger}\\right)^{2} A^{\\dagger} + C^{\\dagger} B^{\\dagger} A^{\\dagger}$$",
268 "prompt_number": 32,
269 "png": "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\n",
270 "text": "2 \n \u2020 \u2020 \u2020 \u2020 \u2020 \u2020 \u239b \u2020\u239e \u2020 \u2020 \u2020 \u2020\n- B \u22c5A \u22c5B - B \u22c5A \u22c5C + \u239dB \u23a0 \u22c5A + C \u22c5B \u22c5A"
271 }
272 ],
273 "collapsed": false,
274 "prompt_number": 32,
275 "input": "Dagger(_)"
276 }
277 ]
278 }
279 ]
280 } No newline at end of file
This diff has been collapsed as it changes many lines, (1322 lines changed) Show them Hide them
@@ -1,1043 +1,279 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>decompose</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Gate Decomposition&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>1</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>2</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <markdowncell>
33 <source>&lt;h2&gt;Example 1&lt;/h2&gt;</source>
34 </markdowncell>
35 <markdowncell>
36 <source>Create a symbolic controlled-Y gate</source>
37 </markdowncell>
38 <codecell>
39 <input>CY10 = CGate(1, Y(0)); CY10
40 </input>
41 <language>python</language>
42 <prompt_number>3</prompt_number>
43 <collapsed>0</collapsed>
44 <outputs>
45 <output>
46 <output_type>pyout</output_type>
47 <text>C βŽ›Y ⎞
48 1⎝ 0⎠</text>
49 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURjQUFBQVlDQVlBQUFCZUlXV2xBQUFBQkhOQ1NWUUlD
50 QWdJZkFoa2lBQUFBeFpKUkVGVQpXSVh0MkV1b1ZsVVV3UEhmdmI2S1czYUx3Z2QxVXlTdk5BZ2ZH
51 WUpwQlE1Q3doQ0NCbXJxNEtLRU5YQlEwV01XRVNJUm9oTVJIMXlwCklLSkVNR2dRUW9XSUlEMndC
52 QlUxeEFpMHAybWhsWU8xUHp6MzNQUDZQck1HK1lmRHg5bDdQZlpqcmJYMytmZ2ZNeFZyOFM0K3cw
53 ZDQKQzVQUmhSMFkzNEhkdGZnYWY2Zm5GTllWeUMzQlgwbm1OMnp2d05jd1J1QUZuTWJUdUNmVGR4
54 ZjJZaHNPdDJHekYwL2wybmFKZ1MrcQowUHNBNnpHcW9POVpkTGN4Qm4zWWh4T1lWaUl6TXcxcVkw
55 T2JZekdJVzNMdFR5UTdPMHYwVm9oZEx1TVJ2Tmx3REVaaVA0NWpRbzNzCjkxamMwTzQyVEM5b3Z3
56 RS80eHg2Y24zenNhR0I3YTFpQjJ0NVRhemswZ2F5bjRwUXEyTTZkbGYwYjAwK2wyVGFwdUFkc2Ro
57 MTNDYlMKNDhZcW9SbjRFNGMwaStNbkc4akEyM2lzb24rQm1OeWU5TjZMOXpWYnVCYXZZbVdWd0V2
58 SnlVQWJSdXNZaVRNaTU4cm9Gb1hySWlhSwp4WmpTcHArbElwMUsrVkJNYmxhYmhxdVlpeThheUwy
59 UmZCOFN1ZFl1OStPU2lqRCtRWVJsWmV3bXBqWjB1c3lWY0t0aWtaamNpdzN0CjVyazU2VS9LTm1a
60 ejZ5Uit3b1VhUTNlb2llOE00NVBOT21hbTN5WUxVY1N2K0E1M1p4dXprOXNyS2s5ZmphRTFocDh0
61 ZmFLNjVSbXQKV2NXYkx4Ymh5NEsrQ1hnT3E1UGZpU1UyenVHbU1nZHo4THU0bVpTeEtqMHRldkN5
62 T0lTUEZzZ1BxTSs1VVRpdi9MalloWWN6WXl3cQpIS05GUVpwZDVlalI1T2daUTNPdkg2OWpZWW5l
63 QXNXVFc1anNkVlg0bkNmeTVmbUN2bjVSQzBhazl5NXhlYmd2SjNkdnNuRm5oUi9FCjdOZmpFM0ZS
64 M2lGMlozS0ZUdG5rYmhWVmJGSkIzekt4QzJmVHdFN2lZMFB6NW5GOGs5UDdITXR6Yll0eExPK2dL
65 QjhPcE9lZjRFY3gKZ1g1eFY4MHltSjRxYmhjN24rV0M0WGZVYWVJb0cwSmJOK29PMlN3dXlKMXdY
66 T3hxbGg0UnFpMjZ4Vkd5SmEvOGIweHVVRndNSHVwQQo5NkE0ZXJLTXc3ZVo5elU0SXNMMW1sQ1dj
67 eTFtaVZBZjA0SHR3NjU4VDg0UXgwVnJVL3J3bGZMajRhcm9FaCt6NzRuY2VFWDU5ZWxCCnhSV3hq
68 dGxpOTFkZ0V4N0k5RzFTVWVpcVNuUlQ4bjh6bk1jdkpiSmo4RWVIZm9wMHI4YmVkYTd6WDNBWmd6
69 dWJDa2Y3Z3o0QUFBQUEKU1VWT1JLNUNZSUk9Cg==
70 </png>
71 <latex>$$C_{1}{\left(Y_{0}\right)}$$</latex>
72 <prompt_number>3</prompt_number>
73 </output>
74 </outputs>
75 </codecell>
76 <markdowncell>
77 <source>Decompose it into elementary gates and plot it</source>
78 </markdowncell>
79 <codecell>
80 <input>CY10.decompose()
81 </input>
82 <language>python</language>
83 <prompt_number>4</prompt_number>
84 <collapsed>0</collapsed>
85 <outputs>
86 <output>
87 <output_type>pyout</output_type>
88 <text>S β‹…CNOT β‹…S β‹…Z
89 0 1,0 0 0</text>
90 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlnQUFBQWNDQVlBQUFDNlRmY0hBQUFBQkhOQ1NWUUlD
91 QWdJZkFoa2lBQUFCZ2xKUkVGVQphSUh0bW4rc2xtTVl4ejl2NXpqbnRKTFRjYUlpVFVScHhQcGhO
92 VkZNZGxqbE4vMWhUTm9vdEJTbG1qSVJFNlpWU0dUVFZLc0liZjA0Cjh6TmtSczJ2UDlDRXFDWDlH
93 RkVuNmZqamV6L2Urenp2L2Z4NG4vZDVTL1YrdDdPejU3NnUrN3F2KzN2ZnozMWYxL1c4VUVJSkNW
94 RU8KM0EzTUJ4WUN5NEJoUUF0Z2VRSjcvWUFwd0VyZ1hlQTk0RkdnSmRBYVdHVHBEZ2JXQUw4Q2pV
95 YlBqeEhBRmlQZkIzd0dWUHQwV2dKagpqZTl6Z2FWbS9HRU92VCtNclIrQVZjYS92MDNieDZiZkdt
96 Q0hhZXNiYzk3NUlnM2VLOGo2K1Erd0VYZ0x6V0VsOEl1UmpVcnFaSFBqCnpDU2dtZFYrUC9DTmNU
97 d3VXcVBKcmdkdUJOcFlzdjdBQ3VCRDRGbEgzNFZvd1g0REtoM3lZNEZOUUVlSGJMQ1JEYWZwSE5v
98 QTN3S3YKVysxRGdVK0JkcFplSmJEWHROdW9RZVIzY0l4WktOTGkvVkswTWFhU3kxdGZZQSt3Qk1n
99 a2RYUXg4SHlBYkROd1cwdzdBOUJ1clVlTAo2Y0k5YURkZjYyc3ZRNFJNTVBLYkhIMVBCSjUwdEY4
100 R2JBVzZCWXg1dHJFNXdqd3ZNTFpzOURNNjB4ejlsMU1BdVNGSWkvZW5nZHNkCjdaM1J5N1lXcU1y
101 Yk80UGowSkU5TUVDK0NqZzFocDFUZ0ozQUc4QXhJWHBkMFc0LzN0ZmVBeGlQRm00ZjhKR2o3M1hB
102 bGI2Mi9zQmYKd1BVUi9tMEJ2a01iZDU1RFBoRnRrRHFIYkg2RTdTUklpM2ZROWVqbnZCYk5kd05O
103 VC9HOGNRVWlabVNBZkZJTUcyWEErMmpDVVpPcQpSUEdESDZQSjN2TUxqVS9kZlRvemFMcXhlcUJZ
104 WW5FTUg5Y0FCOUFwMDlzaFh3M3NCMW81WkxmRXNKOHYwdUFkRkt2YzRHdXJRaS9ZCmR1Q01STjVa
105 cUVYRU5BRFRnUXNJUHdGY0dJVW02NG9yL0tnQXJuSzB6N2ZHdlNqQTNpdSs1MVZHNzVJWTQyNDJ1
106 clVPV1RuYWFLNk4KV3l5a3dic0xHZlRDN0VYWFppcTRGem5hYVA1MkE3UEl6UktDVUcvNmRVNDRm
107 b2JjZ094cnRHaGVMRk1EekxUa1hjMllQeElkSDFRYgozUTBCOHQ1RzdvcHZpb2xDZVhkaE9qb3Bo
108 eGJzblE5ZGdBZkpYaFdOS1BLTlFobGF5TjhMR0xzYk1OblhkaWROQThzaEtDdnlNTnpJCkY4U3dQ
109 OGpvdmh3Z0gydmsvdmptWUNBcDd5Nk1OUDBucE9OYU1Mb0JQNkc2UUZUMGU0NXhhbTFNMjY0NzhR
110 NFViTnBvaGQ2b0w4M3oKRTBCN1MvNllHZmVSR0dPK1kzUmRWeHNvc0Q1QWJ1QjhzSkVQNzM0TVFs
111 ZVdQeXZLQUpjbmRXaDhpR3dhMnRITkkyeTBSbG5KMGhqagoxUUhYT05wZndrM0lITFN3L2NpOWdy
112 eDBlVnpFbUQyTjNxSUFlUWJWT2I2S3NKTW0wdURkUmcvME1xMUU4WlNOZ2NCZGVYbG4wTklZCkRN
113 SXNWRkgwMEFkTmJBeUtzTzE3Znozd2ZZd3hud2xvRDFxODg5RGlMa2VieFVZdkkxc2RNbDV6NEFP
114 VTRnYWREdDRKT0R2RWpvZUwKZ1lkaTZJVnhsU2J2b0tMaEZ1QnozTFduWmVRV0ZxTnNBbnFiOXdP
115 bk9XUW5vTUxUQVBOY2d5cDczdTZjRHR4bjZZOUdKUGR4RFlReQpsNmNDNUtjRER3ZjBBNUhWU0c2
116 cVdZWXFwQTJJZEQvS2dUZFIyYmxYaUgwdjF2R25pamE2QWcrZ3pUWTNSQStpdVVxVDkyb1V6UDhN
117 Cm5PeXdOd0IzWlRqTTVuOTRIQlZTbGdCbldlMmQwS0tNc2RvbUFpOWF6eGVpeGJFeEJkaUZVazZ2
118 YkZ3T25BODhSM0NHTTQvd2J3UTMKb3dYczVKQjFRS1g1R1RRdFZmY0NYa1hwWGxoR2tFRW5VQ051
119 Z3YyWVN2UUdpZUlxTGQ0cmdMZFJnbkN1ejRjMktJaHZRT3NTMnovNwpmbXFMRnE4N0t0VldvOExL
120 SG5TLzI1WE1MbWdoUEd4R0M5NEMrTk8wVFFHK1FKbkdORlJ5M3dtc001UGU3WE4wTW5wN2E4MllR
121 OGgrClU3Q3h5T2k1cnJCTlpvTERnUmRRb0ZscHhwNUQ4RkUrMDh5cEhkbEZXbTNtVlk4QzRLU0k0
122 aW90M3NlaEUySWIyWHBSR2Rwb05lYTUKRVhndFQvOFNZUVg2Z09UaEpETjRlN2Y2RVlzNEowaWFY
123 QldEOTFDYnpWdzlZbUNqTWVLaGhmbS9JNkc5SXhscGNsVU0za050SnQwZwo2MUFBNWFFdE90cjJK
124 clIzSkNOTnJvckJlNmpOcEJ2a0U3S1JOZWp6ZWxES2VyU2hpcVpGdmpTNUtnYnZvVGJMRWhyZGlq
125 NVAxNkdVCnJ5MnFZRFlrdEhlNG9UMXdLMHFGejBROGJrTkJlRS8wNjYwVnFCNlJKbGZGNEQzVVpx
126 RS9lc21nTDQ3N0NyUnp1S0dDYkdiZ1lSZloKbzc0aitvUlFiOG5UNUtvWXZCK3RhM2xJY0RXSC9q
127 dE9La2dhZzVRUWpDcDB1bXcvMUk2VThQOUVodVN4WFFrbGxGQkNDU1dVVUVJSgp3TDl4anFTc1FZ
128 cHF6UUFBQUFCSlJVNUVya0pnZ2c9PQo=
129 </png>
130 <latex>$$S_{0} CNOT_{1,0} S_{0} Z_{0}$$</latex>
131 <prompt_number>4</prompt_number>
132 </output>
133 </outputs>
134 </codecell>
135 <codecell>
136 <input>circuit_plot(CY10.decompose(), nqubits=2)</input>
137 <language>python</language>
138 <prompt_number>5</prompt_number>
139 <collapsed>0</collapsed>
140 <outputs>
141 <output>
142 <output_type>pyout</output_type>
143 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x2c85f10&amp;gt;</text>
144 <prompt_number>5</prompt_number>
145 </output>
146 <output>
147 <output_type>display_data</output_type>
148 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVE4QUFBQ09DQVlBQUFBdnRJMzNBQUFBQkhOQ1NWUUlD
149 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNUNUpSRUZVZUp6dDNFdElW
150 SDhZeHZIMzJEQ2psZUNGTGhob0dCUkJFR0ZFRUZtTFNNelNMTHU0CmtHaFRVRkl0dWkyc0lJcWlG
151 a0VVRmFVdXdxZzJicnFIMVNLNi9CZWhkTEVMMnQwd0tteTZwL2IrZDVIbHFQTjY5TXlNM3cvTTVw
152 d3oKUDU3ZmVlTnBqb002cWhvVWtVUUJnREE0cXFwZWh3QVFmZUs4RGdBZ09sRWVBRXdvRHdBbWxB
153 Y0FFOG9EZ0FubEFjQ0U4Z0JnUW5rQQpNS0U4QUpoUUhnQk1LQThBSnBRSEFCUEtBNEFKNVFIQWhQ
154 SUFZRUo1QURDaFBBQ1lVQjRBVENnUEFDYVVCd0FUeWdPQUNlVUJ3SVR5CkFHQkNlUUF3b1R3QW1G
155 QWVBRXdvRHdBbWxBY0FFOG9EZ0FubEFjQ0U4Z0JnUW5rQU1LRThBSmhRSG9ncXo1OC9sMGVQSG9t
156 cWVoMWwKd0tNOEVCV2FtcHBrOHVUSk1uNzhlTW5LeXBMUm8wZkxuVHQzdkk0MW9EbEtoU01LWkdW
157 bFNWMWRuYlMzdC84K2xweWNMRTFOVFJJZgpIKzloc29HTFR4NkllRStmUHBYNit2b094U0VpMHQ3
158 ZUxoY3ZYdlFvRlVKKzhuQWNwNyt6QUlnaXZsQW5lSnBCcFBqMTY1ZWtwNmZMCjY5ZXZPeHhQU0Vp
159 UVY2OWVTVXBLaWtmSkJqWWVXeER4NHVMaXBMcTZXcEtTa2lReE1WRkVST0xqNDZXeXNwTGk4QkEv
160 TUVYVStQcjEKcTF5NGNFRVdMbHdvNzk2OWs5VFVWSzhqRFdpVUI2S080emc4VmtjQUhsc0FtRkFl
161 QUV3b0R3QW1sQWNBRThvRGdBbmxBY0NFOGdCZwpRbmtBTUtFOEFKaFFIZ0JNS0E4QUpwUUhBQlBL
162 QTRBSjVRSEFoUElBWUVKNUFEQ2hQQUNZVUI0QVRDZ1BBQ2FVQndBVHlnT0FDZVVCCndJVHlBR0JD
163 ZVFBd29Ud0FtRkFlQUV3b0R3QW1sQWNBRThvRGdBbmxBY0NFOGdCZ1Fua0FNS0U4QUpoUUhnQk1L
164 QThBSnBRSEFCUEsKQTRBSjVRSEFoUElBWUVKNUFEQ0pxZkpJU1VrUngzRmNmYVdrcEhpOXJRN2Mz
165 R09rN1MzV3hkcnNIRlZWcjBPNHhYRWNjWHM3ZmJGbQpiN2laSjlMMjFsUGtqb3g3RUZPZlBCQ2JY
166 cng0SVdWbFpUSnUzRGhKU2tvU0VaSFJvMGZMcWxXcjVPN2R1eDZuRzdnR1JIbThmZnRXCi9INi94
167 TVhGaWQvdmw3Rmp4OHJzMmJNbE56ZFhjbk56SlRVMVZlTGk0cVM2dXRycnFMM1MxdFltKy9mdmw1
168 S1NFaWt1THBiQ3drS3AKcUtpUUwxKyt5THg1ODd5T0Y3WTNiOTdJZ2dVTFpOS2tTZkxwMHljNWVm
169 S2tORFkyaW9qSXBVdVhaT1RJa1pLYm15dloyZGxTVjFmbgpjZHJlaTdyNWFRd0p0WjJLaWdvTkJB
170 SzZmLzkrYld0cjYzQ3V1cnBhQncwYXBHdlhyZzFyVGErRXl2UDE2MWZOeTh2VG5UdDNkamkrCmE5
171 Y3VIVHQyckJZWEYvZDRyVWp3K1BGanpjakkwQzFidHVqbno1ODduUHN6OTgrZlA3Vzh2RnlIRFJ1
172 bU5UVTEvUjB6TEYzZDczRG4KRndtejh6NkJpMExkMElVTEYrclpzMmYvT1g3cjFpMU5TRWpRK2ZQ
173 bmg3Mm1WMExsS1NvcTBoVXJWblI2TGkwdFRjdkx5M3U4bHRlYQptNXMxTXpOVER4OCszT241em5K
174 ZnZYcFZodzBicHJXMXRYMGR6NnlyK3gzdS9DSmhkdDRuY0ZGbk4vVEhqeDg2YytiTWY0NDNORFRv
175 CjhPSERkY3FVS2ZydDI3ZXcxdlJTWjNsYVdsclU3L2ZyNWN1WE8zMVBUazZPUG52MnJFZHJSWUxT
176 MGxKZHMyWk55UE9oY2g4OWVsU3oKczdQN0tsYXZoY3B0bVY4a3pDN21mK2JSM053c1pXVmxIWTU5
177 K1BCQjVzeVpJME9HREpFelo4NUlmSHk4UituY2NmMzZkV2x0YlpYSApqeDkzZW43NjlPbVNrWkhS
178 ejZsc1BuMzZKRlZWVmJKaHc0YXczN3RzMlRKNTh1U0ozTHQzcncrUzlaMm9uWi9YN2VXbW5tem4r
179 L2Z2Ck9uMzZkRTFKU2RINitucFgxdXhQbmVWNTkrNmQrbncrRFFRQ3VuNzllcjErL2JxMnRyYWEx
180 dkxhb1VPSHRMQ3dzTXRydXNxOWRldFcKWGJWcWxkdXhYQkVxdDJWK2tUQTc3eE80cUxzYit1dlhM
181 eTB1THRaQUlLQlhyMTUxWmMzK0ZpclAzcjE3TlJBSXFPTTQ2amlPRGhreQpSRmV2WHEwdExTMWhy
182 K1dsZ29JQ1BYbnlaSmZYZEpYN3dZTUhtcG1aNlhZc1YzU1ZPOXo1UmNMc3ZFL2dvdTV1Nk9iTm05
183 VnhIRDErCi9MaHJhL2EzcnZJOGZQaFF0MjNicHRuWjJlcjMrOVZ4SEMwcUtqS3Q1WlhzN094dWk3
184 MnIzTy9mdjlla3BDU1hVN21qdS9zZHp2d2kKWVhZaEU0aElWTDVDT1hMa2lEcU9vOXUzYis5dy9O
185 dTNiM3JseXBYUU55Z0M5dFRUUGY3cC92MzdtcDZlcm42L1gzLzgrQkUxZTR2MQpWMDkxTnordjl5
186 RWlBK09UeC9uejU5WG44K255NWN2L09WZGVYcTdWMWRWaHIrbVZ2L1BzM3IwNzVMV2JOMjlXdjkr
187 djM3OS83OUZhCmtXREpraVdkZnEzOHA2NXkvL2ZmZnpwKy9IaTNZN21pczl6VytVWEM3R0wrMjVi
188 YTJscFp2SGl4ekp3NVU0NGVQZnJQK2NyS1NzbkoKeWZFZ1dlOTkvdnhacmwyN0Z2SjhNQmlVckt3
189 c0NRUUMvUmVxbHhZdFdpU1ZsWlhtOTFkV1Zzcml4WXRkVE5SM29uNStYcmVYbS83ZQp6c3VYTHpV
190 dExVMG5USmlnd1dEd24rdXJxcW8wUHo4L3JEVzk5bWVlYytmT3FjL24wNGFHaG4rdWEyNXUxaEVq
191 UnVpMWE5ZDZ0RmFrCmFHMXQxVkdqUm1sZFhWM0lhMExsL3ZqeG95WW5KK3ZyMTYvN0tsNnYvSjI3
192 Ti9PTGhObkY3Q2VQWURBb2MrYk1FVldWczJmUFNtSmkKNHU5elRVMU5zbnYzYmlrcEtaR0NnZ0lQ
193 VS9iT2xTdFhKRE16VXpadDJpVDE5ZlcvanpjMk5rcEJRWUZzMnJSSlpzeVk0V0hDOFBsOApQbG01
194 Y3FXVWxaVkplM3Q3V08vZHRXdVh6Sm8xUzlMUzB2b29uYnVpZlg0K3J3UDBsWFhyMXNuOSsvZGwx
195 S2hSc21USkVoRVIrZm56CnB6UTBORWd3R0JRUkViL2ZINW0vY05SRHpjM05jdnYyYmFtdHJaVzFh
196 OWRLUzB1THBLYW1Ta0pDZ3V6YnQwK21UcDNxZFVTVGpSczMKU2s1T2pwU1dsc3FCQXdkazBLQkIz
197 YjduNE1HRGN1clVLYmw1ODJZL0pIUkh0TStQditmaHdacTlFV3QvRXlLVWxwWVdLU3dzbEtGRApo
198 OHFPSFR0azRzU0p2OC85bWZ2NTgrZXlaODhldVh6NXNwdy9mMTdHakJualZlUnV4ZHJzWXZheEJk
199 RXRLU2xKTGx5NElGT25UcFc1CmMrZkt0R25UNU5peFkzTHAwaVVSRVRseDRvVGs1K2RMVmxhVytQ
200 MSt1WEhqUmtRWFJ5emlrNGNIYS9aR3JQM3YxUk50YlcxeTVzd1oKT1gzNnRMeDkrMVpxYW1wa3dZ
201 SUZrcGVYSjB1WExwWEJnd2Q3SGJGSFltMTJsSWNIYS9aR3JQMERIRWhpYlhZOHRnQXdpYmx2V3h6
202 SApjWFc5NU9Sa1Y5ZHpnMXQ3ak1TOXhicFltbDFNUGJZQTZEODh0Z0F3b1R3QW1GQWVBRXdvRHdB
203 bWxBY0FFOG9EZ0FubEFjQ0U4Z0JnClFua0FNS0U4QUpoUUhnQk1LQThBSnBRSEFCUEtBNEFKNVFI
204 QWhQSUFZRUo1QURDaFBBQ1lVQjRBVENnUEFDYVVCd0FUeWdPQUNlVUIKd0lUeUFHQkNlUUF3b1R3
205 QW1GQWVBRXdvRHdBbWxBY0FFOG9EZ0FubEFjQ0U4Z0JnUW5rQU1LRThBSmo4RHdBb24zcHVmNG1n
206 QUFBQQpBRWxGVGtTdVFtQ0MK
207 </png>
208 </output>
209 </outputs>
210 </codecell>
211 <markdowncell>
212 <source>&lt;h2&gt;Example 2&lt;/h2&gt;</source>
213 </markdowncell>
214 <markdowncell>
215 <source>Create a controlled-Z gate</source>
216 </markdowncell>
217 <codecell>
218 <input>CZ01 = CGate(0, Z(1)); CZ01
219 </input>
220 <language>python</language>
221 <prompt_number>6</prompt_number>
222 <collapsed>0</collapsed>
223 <outputs>
224 <output>
225 <output_type>pyout</output_type>
226 <text>C βŽ›Z ⎞
227 0⎝ 1⎠</text>
228 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURrQUFBQVlDQVlBQUFCQTZGVVdBQUFBQkhOQ1NWUUlD
229 QWdJZkFoa2lBQUFBMUpKUkVGVQpXSVh0MkZ1SVZXVVV3UEhmTk9NTVhaalIwcHA1cUxCb3hxZ0gw
230 NHJJUUVub01rUVFYWVRvWXNKa1JCRkVwQlVSQlltOUdkUkRQaVF5ClVFUXZSWlFpaEQ1MEU4RXVV
231 RVpCV2c5Tzl3dFptV1Qxc1BiT2MvYnN2YzkzenB5SEh1WVArMkYvYTUyMTl0cmZXdXRiK3pDTFVk
232 eVAKbC9FMmR1QUZMRVFQdG1LNEMzNG04RTkyL1lyM3NUMjczc3pXZjhaZ0YzejlSeS9XNHlEdXhq
233 a05zdE94QzF2d2FSczI1K0syQ3RucgorQUtYbHNpMjRnaFcxdGkrcjQzbkFHZmdYUnpBb2dxZEpl
234 THRQcE5vY3hDVEdDcVJuWUQ5RmJMSE16K3JXOWkvQms4bVBvcys3TTZjCmpyVFEvUWJYSmRyZGdz
235 VVZzbXZ4VU1uNmFoSGdFNGsrWHNLYUZNVU5tZUZiRW5UZkVpbllpc1Y0clVaK3ZlbTd1RktrNkdT
236 Qy9aeGgKZklJNWRVb1g0Q2creG5FSlJsY2xPbjlScEZNcTU0c21zeFA5YmZ3T051SEdPb1ZIeEM1
237 T3RHbTRqajU4TDcwcmp1QXI3TU84RHZ6ZApKYnB4SmR0RWtFczdNRjdGTW55WXFIc1M5b3BhWDlp
238 aHZ4VTRWS2Z3bzBqWDR4T01qU1k2dlJWdkpPajFabnEvNGFLQzdFS2NsdWh2ClJHelUvTWJGeHRy
239 N1V0VENIeTBNTGNBZGlVNkhNNXV0ZUJaWDRtYnNLY2pXNFpkRWYxTmltRGl6Y2JFeHlGMDRXWnlU
240 ZGR3akNqeG4KbVJnY0hzRERCZDErVVpkMXJNTmFNVm05V3BDZExTYXJ3OW45SER5UHMycnNIUktw
241 WDhvbG1iSDFOUWJXWmxmT0FqSDE5R2IzbTdLSAp6WmxRWDVPcjhEZWVMcEgxaWJQdjl1eCtqVGd6
242 LzFJOXBBeUtkRDIzeHFlcjhEdnUxVnliWTlpSThZTCtZOWpjY0grNU9LdHl4ak43ClBTVytMaE12
243 OVJYTkdkV1hCYkZOQkhSSzRYZUhWUWQ1c1FpeTZmd3VwdEoyTEJkdmVJZW96eWw4anVmRUpOVElJ
244 czN6NjBIeEZnZncKcHhnUCswV05IR2pRNjgrQ0d4Q2Q5SjFzZlVpa2FINmc3OFFQRlFHVk1ZYVBG
245 UHBBV2Izc01iMzRxNWd2ZGlvbmIxcEQrQlkvaVRGeApUSE9RUnhRNllKZklNNkNKbE1tbWp2MGlQ
246 WEpPZE95ektHY3picGlobnhUNmNMVm9URTNNTk1pOU9MWGhmaGhmaTUzS21SUUR4dklaCittckZn
247 M2dQbjNYYjhCTE5xZjBVSGkzUlc1cnBEWFRCWjFuakdjVUhLa3FndDJ5eERhWXl3MWZnUExHckd6
248 VHZaSzYzRHplSmZ4ZzYKWVZ4OGZxMFE1K0JjeDQ2bmpiaFRqSVRUS0d2dG5kQWpPbUl4dUNKNTEr
249 MkVlWm96NFNpKzY0TGRXV2I1UC9Fdk4yS243REZxRG5vQQpBQUFBU1VWT1JLNUNZSUk9Cg==
250 </png>
251 <latex>$$C_{0}{\left(Z_{1}\right)}$$</latex>
252 <prompt_number>6</prompt_number>
253 </output>
254 </outputs>
255 </codecell>
256 <markdowncell>
257 <source>Decompose and plot it</source>
258 </markdowncell>
259 <codecell>
260 <input>CZ01.decompose()
261 </input>
262 <language>python</language>
263 <prompt_number>7</prompt_number>
264 <collapsed>0</collapsed>
265 <outputs>
266 <output>
267 <output_type>pyout</output_type>
268 <text>H β‹…CNOT β‹…H
269 1 0,1 1</text>
270 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUh3QUFBQWNDQVlBQUFDajZ0dmtBQUFBQkhOQ1NWUUlD
271 QWdJZkFoa2lBQUFCV1pKUkVGVQphSUh0bW10c0ZVVVV4MzlGb0FnK1FLaVNxdHhHVUxDQXFFQWsx
272 bUlOUGo2SUdKR0VEeEJCRVIvMWtXQWtCbVBVcUlTWUdLTDRxQXBHCkhzSFkrUG9naWkyb0JWRlJh
273 MUt4S1BWRjFFZ2dKR0FWQ2VEenczL1c3dDA3czd1M2R5ODBkSDlmNXQ0NXMyZG01OHljT1dmdWha
274 UVUKNEExZ0cvQXY4Q2ZRQWl3MXNnendQdkNMa2Y4R2ZBYmNsb2YrWTRHWndOUEFScUFCYUFLbUdm
275 bGx3SHhmK3llQnpjQmZ3Ti9BT1JhZAphNEg5Wmt4N2djV1dOaU9BNTRCWGdHWEEyMEE5TU5veHps
276 bEczMEdnR1hnSCtOclUvUXFzTjJQL0hQZ0grQ2JrblR0THNXM3hQeE9NCmtpY2M4Z1ZHUHIwVGV0
277 dlFvR3VBM3FhK0QvQVk4RGl3RDdnbzhOd2c0QXZUNTdNTzNiUFJCSlVFNm5zQWRlYjU0R0taZ2hi
278 S2RSWjkKRGNEOXZqRkN4eUs0M2RMM3U0NXhGVXF4YkpIRmZLUGtDb2U4QWUyMkFYbm9YQWdjQXU1
279 MHlJOUJLL1Izb0ZkQWRnMHdBOWhxNU1kYgpucjhMR0J1b0swR0xheTFhVkRZZVJidWozRmMzRUht
280 Q0lDK2dlUmtlcUIrQ0ZsVXhLSVl0Y2xpRGpOUFBJdXVGZG1GTEh2cHEwYUJuClJyUmJDTHhscVY4
281 TW5BYmNZZlRVV3Rxc1JJdkd6eExrOGdhRjlEbko2SHpBVnpjWCt3Ui9DK3kwMUk4RjVvWDBVUWhK
282 MnlLSEh1Z2MKL05BaHZ4Qk4wSktZK2tZaXQ5a1VvKzBjN0JQbjdiWVRnVCtBTHdQeUVtQlZvTzVo
283 TTg2ckkvck1tSGF2K2VwbW9YbndVMjdhMlhiKwpTR0I4UkQrZElWRmJCRi9JWXd6UUg3ZUJMakhs
284 aGppZEFNdFJvSFpmakxhdDZCejJjd0xRYmo2M0F5OEJvOGcrNTBjamQrOVJEdHlECmR2ZWFpRDZI
285 bXJLdnIyNEZDc1Q4VERUbFJvdU9yZWc0U3BwRWJkSFRVZSs5Mk9Ya25va0E0MHhwZS9FZ3A1ajJu
286 d0tiWXJUL3hGSlgKUmZZS3J3TnVCRzcxNmJ3NE1KNWE1TzVXb2ZNdGpNcVF2djE0OHhKM29TZEJr
287 clp3OGpwS2dZNnp5SG9pbC9wVlRGM1hJcGRUU0VDegppSTVkNkxFWnBVdGw1dnNLc2dPOURhYmZL
288 MlBvcnljOEtQSm9CZmFRbXdVVWt5UnRZWFhwSlVBMVNtSDJXZVRuSTljWGQwVmRZTXJXCkdHM0xz
289 RWVhWndEZkIrcnFVTG8weDN6dmpmSlVqMkdtM0I3Ulp3YVlDdXdDUGdwcE54QjVnazFvY1J3T2ty
290 YUYxZUNWS0tMOXdQR00KZDI3R2RXcy9tbkpIakxiM2ttMDAwTm0vMzlLMkh1MjJtOUdZMndMeVhh
291 WnNKNXg1YUtmTVJlbWVpMnBrZ0lKY1o1NGtiUXVyd2Iwegp3M1hlVnBuUzl1TFRVQzdzcDhtVTUw
292 V01wUkx0eHVCS25vRDliRDJBZ3NFSzVQS0Q0L0VtYVZKSW4rT1FvVjhFM293WVgxakFWZ2JjCkRk
293 eUNMbzRxSW5SNTJPYkwxbWRTdHJEeU1uSlpneDN5bmNCM2dicng2RWFxQlhna0lDdEIwZXNXc3FO
294 Z1A4T1I4VW90c2dlQnN4M1AKbllraTZVUElFL2laaU02K2VzZXpJNERkd0t2WXo4Y2d6Y2dEMkFM
295 ZDFjQms4M2tVU2hsZEdSQ0V6NWVmcEcyUlE2bFJFand2UGNhWQpBU3gzeUpjNU9obUFqUDRlY0tx
296 dnZqKzZQVnRFOXZXbHg4bkF6M1FFWmpiVzRUNTdaeUFqK1hkNVh4Ukl0cUVvUHc0WnRIaldXMlNu
297 Ckk2L2tYNncvb1B3NEN0ZDhRWkZzNGEzQ0RISUwyMUFhTlFTbFFkNXQxbFhBeDNTODhCUjBibFFS
298 ajczQXBlakhpbWRRaXJZU2VNakkKRnFCZDZsRnErdnNKM2E2MW9KemF4bE5vSWRsWWpZdzdGYm50
299 cGNEenlPVk9Kanh6cUtEalI1MW1kSU5YamR4ckl3cVlBTTR5NzNEUQo5K3dPb284d0Y4VzJSYUtF
300 cmRpamxlbmtCb3pyVUFBYVJUSG5LM1NIcDNTZTdlU21hZjFRQnRIbFNBMWVPRnVBa3dKMWc5Rngx
301 T1ZJCkRWNDRCMUJnZWE3NTdtVU9qZWI3TUhKdkNZOFlycnYwZkJtS2dvY2FkTlczRy8yaUZPZXk1
302 V2hnTmdvOEcxRnVmejJLNmtHLy9kZVEKL2NlTFlzNVhxTzZrN29UN29CVEx6eDZ5SSsvdVFDblow
303 VHBvam05QWY1endLT1o4cGJib0F0eDBwQWVRY3Zpb1JwY2tLZDJFcE9LawpsSlNVbEpTVWxHN01m
304 MjBkWGlkUDdJV25BQUFBQUVsRlRrU3VRbUNDCg==
305 </png>
306 <latex>$$H_{1} CNOT_{0,1} H_{1}$$</latex>
307 <prompt_number>7</prompt_number>
308 </output>
309 </outputs>
310 </codecell>
311 <codecell>
312 <input>circuit_plot(CZ01.decompose(), nqubits=2)</input>
313 <language>python</language>
314 <prompt_number>8</prompt_number>
315 <collapsed>0</collapsed>
316 <outputs>
317 <output>
318 <output_type>pyout</output_type>
319 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x472d550&amp;gt;</text>
320 <prompt_number>8</prompt_number>
321 </output>
322 <output>
323 <output_type>display_data</output_type>
324 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
325 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUIxTkpSRUZVZUp6dDNVMUlW
326 RzBid1BIclRJOVprMlZaazVDTEtLaVJYR2lVQzVueVl4T1ZWQWlSClVxc0tETVlXdFluMkxTSnBx
327 N1hLb1hiWklvSlNORFFzb3pBRE45R21ORnRVUXdiMm9WYk9YTS9xaWQ3WEdkUEp5ek56NXY4RE45
328 N04KNlRyZS9wMDduY3BSMWM4aXNsSUFMQ2hIVmRYdElRQXY4cms5QU9CVnhBVVlJUzdBQ0hFQlJv
329 Z0xNRUpjZ0JIaUFvd1FGMkNFdUFBagp4QVVZSVM3QUNIRUJSb2dMTUVKY2dCSGlBb3dRRjJDRXVB
330 QWp4QVVZSVM3QUNIRUJSb2dMTUVKY2dCSGlBb3dRRjJDRXVBQWp4QVVZCjhVUmNCUVVGNGppTzJW
331 dEJRWUhidCtocFh0MC9UL3hiOFk3amlPVnRXRjgvMjNsMS8vNVo5TjhSQzA1VjVmSGp4eEtKUkdS
332 MGRGU20KcHFZa1B6OWZLaW9xNU9USms3SisvWHEzUjh4S25qZ1daaXRWbFVna0ltVmxaWExpeEFr
333 cExpNldzMmZQU2w5Zm54dy9mbHhldlhvbAp3V0JRamgwN0ppOWZ2blI3M095akhqRGJiZFRWMVds
334 eGNiRTZqcU01T1RsYVZsYW1qWTJOcXFvNk1qS2lOVFUxV2xSVXBJN2o2S3BWCnE3Uzh2RnhiV2xy
335 bWZIMjNURTlQYTJOam81YVdsdXI5Ky9jMUhvLy9XdnQ5M2srZlB1bWxTNWMwRUFob1QwK1BHNlAr
336 a1ZmM0wvMCsKYTFMd3B3L2VreWRQMUhFY1BYUG1UTUwxaXhjdnF1TTRldlBtelpTdXY5amk4Ymcy
337 TlRWcGRYVzFmdjc4ZWNaNm9ubDdlbnAwM2JwMQpPakF3c0JnanpvdFg5eThyam9WOWZYMGlJckov
338 Ly82RTY3Mjl2YkpreVJMWnMyZlBZbzZWc3M3T1R1bnU3cGJidDIvTHlwVnorMDlCCmEycHE1T3JW
339 cTlMUTBDRHhlTng0d29XVnNmdm5TdElMN0UrM1VWdGJxN201dVRveE1URmo3Y2VQSDdwaXhRcmR2
340 bjE3eXRkZmJMVzEKdGRyVzFwWjBQZG04OFhoY2QrellvUjBkSFVhVHBjYXIrK2Y1WjY1NFBDNzkv
341 ZjFTWGw0dXk1Y3ZuN0UrTURBZ0V4TVRVbGxaNmNKMAo4emM4UEN4UG56NlYrdnI2ZVQvV2NSd0po
342 OFBTMHRKaU1KbU5UTjQvejhjMU5EUWs0K1BqVWwxZG5YQzl0N2RYUkVTcXFxb1djYXJVCjNicDFT
343 NDRjT1pMd0UyMHVHaG9hcEtlblI3NSsvYnJBazluSTVQM3ovTSs1L2p1dmQzVjF5Yk5uejJhc0R3
344 d01pT000YWZtVkw1Rm8KTkNvYk4yNU0rZkYrdjEvV3JsMHJZMk5qa3BlWHQ0Q1QyY2pvL1V0Mlho
345 U1JqSHBMcHE2dVRuTnljdlRidDI4ejFxYW5wOVh2OTJ0SgpTY21zWjJlMzd5MGIzcnk0ZjBtZnVU
346 U0RYdTdqT0U3Qzk2dXFQSHo0VUVwTFM4WHY5ODlZSHh3Y2xNbkp5VGw5MVV1WGo4ZUZDeGZrCnk1
347 Y3YwdHpjblBUWHpQWnluMWdzSnF0WHI1YlIwVkZaczJhTjFaano0dFg5OC9TZnVWNjhlQ0ZqWTJP
348 eWUvZnVoT3VQSGowU2tmUTgKcnllemI5OCthVzl2bDFnc2x0TGo3OTI3SnlVbEpXa1QxbXd5ZmY4
349 OEhkZC81L1ZkdTNZbFhPL3Y3eGNSU2MvemVoSTdkKzZVUUNBZwpuWjJkS1QyK3RiVlZ3dUh3QWs5
350 bEkrUDNiOWJEYW9aSWRodjE5ZlhxOC9uMHc0Y1BDZGNMQ3d0MXk1WXRLVi9mTFpGSVJDc3JLL1hu
351 Cno1OEoxNVBOT3pnNHFJRkFRQ2NuSnkzSG16ZXY3cDlubjdtK2YvOHVEeDQ4a00yYk55ZDhWZmpR
352 MEpCRW8xRUpoVUl1VFBkM2poNDkKS3JtNXVYTDY5T2s1djlwaWVIaFlEaDA2SkMwdExiSnMyVExq
353 Q2YrZUovYlBsYVFYMk8rMzhlYk5HNjJzck5STm16YXB6K2ZUcFV1WAphaWdVMGl0WHJxaXE2cDA3
354 ZDdTaW9rSURnWUQ2ZkQ0dEtDalFxcW9xN2Uvdm45UDEwOFg0K0xpR1FpR3RyNi9YOSsvZi84L2E3
355 L1BHCjQzSHQ3dTdXRFJzMmFHdHI2MktQT1NkZTNULytzbVFhWEQ5VlUxTlRjdTdjT2JseDQ0YnMz
356 YnRYVHAwNkpkdTJiWlBDd2tJWkdSbVIKdTNmdlNtdHJxOFJpTVdsdWJwWURCdzY0UFhKQ1h0MC80
357 a3FENi8rdDhmRnh1WDc5dXJTMXRjbmJ0Mi9sNDhlUFVsUlVKQlVWRlJJTwpoNlc2dWpycHQ3dlRn
358 VmYzajdqUzRQb0xqWGtYOS9ySmVQWWJHb0RiUFBQYVFzdGpUeWI4d0RYVGVYSC9QQkZYSmgyQk1K
359 Tlg5NDlqCklXQ0V1QUFqeEFVWUlTN0FDSEVCUm9nTE1FSmNnQkhpQW93UUYyQ0V1QUFqeEFVWUlT
360 N0FDSEVCUm9nTE1FSmNnQkhpQW93UUYyQ0UKdUFBanhBVVlJUzdBQ0hFQlJvZ0xNRUpjZ0JIaUFv
361 d1FGMkNFdUFBanhBVVlJUzdBQ0hFQlJvZ0xNRUpjZ0JIaUFvd1FGMkNFdUFBagp4QVVZSVM3QUNI
362 RUJSb2dMTUVKY2dCSGk4cEJZTENaZFhWMGlJdkw2OVd1WHB3RnhlY1M3ZCs5azY5YXRjdmp3WVJF
363 UktTa3BrZlBuCno3czhWWFp6VkZYZEhnSi83K0RCZzlMUjBTSFQwOU8vM3VmMys2V3JxMHRDb1pD
364 TGsyVXZucms4NHYvREVoR1puSnlVOXZaMmx5WkMKMG1jdXgzRVdleGJBVS81SnRzQnBNYk0wTlRY
365 SnRXdlhaR3BxNnRmNy9INi9QSC8rWElMQm9JdVRaUytPaFI1eCtmSmxxYTJ0bGR6YwpYTW5MeTVQ
366 OC9IeUpSQ0tFNVNLK29lRXgwV2hVb3RHb0JJTkJ5Y25KY1h1Y3JFWmNnQkdPaFlBUjRnS01FQmRn
367 aExnQUk4UUZHQ0V1CndBaHhBVWFJQ3pCQ1hJQVI0Z0tNRUJkZ2hMZ0FJOFFGR0NFdXdBaHhBVWFJ
368 Q3pCQ1hJQVI0Z0tNRUJkZ2hMZ0FJOFFGR0NFdXdBaHgKQVVhSUN6QkNYSUFSNGdLTUVCZGdoTGdB
369 SThRRkdDRXV3QWh4QVVhSUN6QkNYSUFSNGdLTUVCZGdoTGdBSThRRkdDRXV3QWh4QVVhSQpDekJD
370 WElBUjRnS00vQXZuK01DMi9PUDM1Z0FBQUFCSlJVNUVya0pnZ2c9PQo=
371 </png>
372 </output>
373 </outputs>
374 </codecell>
375 <markdowncell>
376 <source>&lt;h2&gt;Example 3&lt;/h2&gt;</source>
377 </markdowncell>
378 <markdowncell>
379 <source>Create a SWAP gate</source>
380 </markdowncell>
381 <codecell>
382 <input>SWAP10 = SWAP(1, 0); SWAP10
383 </input>
384 <language>python</language>
385 <prompt_number>9</prompt_number>
386 <collapsed>0</collapsed>
387 <outputs>
388 <output>
389 <output_type>pyout</output_type>
390 <text>SWAP
391 1,0</text>
392 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUU4QUFBQWNDQVlBQUFBZ0x1TGZBQUFBQkhOQ1NWUUlD
393 QWdJZkFoa2lBQUFCRGRKUkVGVQphSUh0Mkh1SVYxVVFCL0NQN3VyNjNEUnJlLzBSdUVUMlFIcFEw
394 c08wc2toSndoSktvaWlWSUFpRHBEQXF3WXdzaWg1WTlLU283RVZHClVWRXJiaVhhd3lpa0NJMG9r
395 dktQeU5JMHJWeGJzei9tL05pNzEvdjcvVzQrU25TL2NEbm56Snd6TTJmdXVUTnpMajNZSTJqRURD
396 ekEKUzNnZDB6QVE3NkFkSGRpT1Rpekg0TFIyRnI1UHZPMzRIRmRtWkYrRnRZbTNHWGVXc09jMVRL
397 M0I3NE5GK0RiSjNZREZhTU15ZkllMwpjR0lKWGJ1RS9rblJyZWlkb2QrTXI0VXo0ZTVrNkpNRk1s
398 b1Q3OVVxT2s3Rnh4aFV3cDZMazZ6WkplWmVtT1plbjZQM3dlUFlnbk5LCnlLbUwzbFhveitKSDNJ
399 Ry9NL1I1NG5TMXAvSGExRzRwa05HVTJyNVZkRnlVbnMxMWJCeUkyMVAvMERwellYUnEyM1AwdnpB
400 MzJUVzkKaEp5NktITGVBV0pUcjFSWjh5WGVUZjExTldUUFNPMndBdDd4K0VtWDgydmhOanlRK21X
401 Y053YnJzYXFBTnlDMWg1V1FVeGRGemp0VApIUEdqcXF4Wmh0V3B2NzdLbkhINEJwc1VPKzlhUEZM
402 Q3ZtUEU1LytNK0JUck9XOGdUc2FIYVg0ZW8xSzdvSVR1bmNKQklnRjA0RjVkCnppekNHY0xJaHpL
403 MEpoRXYrd29uLzV4Yk13a1RTdHJ5Tm9hbi9qb1I5R3ZodkdUUFRRVzhCbnlWYkJwY3dOOXR1RkZY
404 SnExa3hJY3gKSkRkdmhCMmROeHNUVS84ejhTSjZwWEVUNXBlMDRYSVJveXBZaFQvcXJKbWI3RGs5
405 Uno5Q1ZBc0xSVmphNHhpQk9WaUtyY21vaGJrNQpMYm83cnhWdlpQaUxFbjlvR3MvRTBTVjBOK01U
406 WFRFSzNrdXlhbTErS2JhSjdQOW9lcDVPK3hoWFF1OGV3WEg0UVdTc2ZobDZvKzdPCmV6UE5yZUNG
407 eEc4VlFYcE9TWDBQWW5LTzltS1NWYzM1L1VUVy83U2tqbDFHUG1ITXFqSnZKWjRYeHZmSzBEdXhN
408 ZlVuaThKNFpZYi8KUzJxSDRRYmNWOEttRXpCRmxCTnRtZWUweEsrV05FYUpzTENraEk3ZGdzWk1m
409 eERHNHE0cWM1dXhBbi9tNk90RUFKNk5zd3Q0TUY0VQoxeHZWUmkvaDRERWl1R2N4VXlTd2FzNDdL
410 N1ZMNnVqb2c4ZEVEVnN2QVJIaGE1S29ISTRVKzh6N3dIaHhrbG9MQkxTSXVpenZIT0l6CjZkQlYx
411 MlZ4blRpdHkxVXZ5TE9ZSnBKVkVTNVZmSE9vb0YzWTMxeEQvbFJSY0hjS3A5UkRnMGhVaDZUeGRE
412 eFZOUEVlVVpzdHhMRVoKK25DeCtabFZGTFFsQlkwRnZDbGl3Nk1MZUhsY0lPSnFReFgrdVVuV3ZB
413 SmVNMzRYMmIwTXRpam52RXZ3VVdiY0lrN2RnUHpFNTNDZwpPRjJMeFlscUV4ZnlmT3JQNGdtY1g0
414 VTNKc210aFpQRVM2dVVSY3QxZnhIOThiNElBZHZ4V3hxUFRNOHlyRW04VGZoQWxEbTFVTlo1CnQ5
415 anhwdFVwQ3ZIOUZtV2RkNys0M1dTeFNmcXhVQ1lPN2M5WWJjZHIzZ0RwV3RyanZOcFlJZUpjQlMy
416 aUlsanovNWl6ZDZEb3N4MkoKdzNPMFFlTFhYQ1ZCWElHWEs4eHFtVzFmeFFUeEYzdXNjTXdRZkpG
417 NDgzR1o3Z2x1cXpobDE0Z2IwaW5pbHJUaFA3RjJMOE5RVVdSWApub016dkFaY1hXTnRVNTVRVkp2
418 dHkvaTFCbStiMnY3bzJNMjI3Rk9ZS0s1ZlBkZ0o3RzlmWVE5NjBJTWUvQ3Y4QTk3RzZZNFE3TUxv
419 CkFBQUFBRWxGVGtTdVFtQ0MK
420 </png>
421 <latex>$$SWAP_{1,0}$$</latex>
422 <prompt_number>9</prompt_number>
423 </output>
424 </outputs>
425 </codecell>
426 <markdowncell>
427 <source>Decompose and plot it</source>
428 </markdowncell>
429 <codecell>
430 <input>SWAP10.decompose()</input>
431 <language>python</language>
432 <prompt_number>10</prompt_number>
433 <collapsed>0</collapsed>
434 <outputs>
435 <output>
436 <output_type>pyout</output_type>
437 <text>CNOT β‹…CNOT β‹…CNOT
438 1,0 0,1 1,0</text>
439 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9RQUFBQWNDQVlBQUFCeGxoUDVBQUFBQkhOQ1NWUUlD
440 QWdJZkFoa2lBQUFCVGhKUkVGVQplSnp0bTN1SVZVVWN4ejkzdDAxdGEwUEQyaDd1WnFRR1dXUmdT
441 dlorSzBRRVlVUVBlbUNSRWowa2tMVEFpRW9JQXd1V2lwRE5zcVJhCmdnaEN4WTBzTFhBVkNyUFdq
442 YzJnTXJRbnZTaHMrK1AzdTd0elorZWNNL2VlcytuZW1ROWN6ajN6KzgzcmUrYk0vYzNjY3lBU2lZ
443 d2EKcGdJUEFLOERId0xyZ2JYQVpLQUVkQUt0Nm5zUzBBM3NCZ2FBYlk3eVpnS2ZxMzBBNkFNdXRu
444 d2FnT3VBTG1DTmZ0WURqd05IV0w3ZApXczUrWUpQNi9hUnB2Y0M3bXI1SDB4NnFxdmZWRWJYeXB4
445 cXRJT3BGSTdBRStCWllDRXd4YkpPQTk0RFZpQUEyaTRGUHRKR3pFOHJ2CkJxNTFwSjhDN0FRNmdH
446 WWp2UW01WUwxYVA4QUp3RDVnbHFQc2Y0RHhSdHBod0ViZzVvVDI1Q0ZxNVU4ZXJTQTh2UUJvQTdZ
447 Q1h3R24KSmZpY2pZanlyTU8yRnBpajlzNkUvSzg0MGlZQi9jQ3RDWG5HYVp1NjlQeGU0QnJMNTNE
448 Z0Q2VDlObzh3WE9DOFJLMzh5YXNWaEtVWApJSGY3eDBqamo4L3cvWjdoTTFFSldLZmZlNEEvZ1Ft
449 V3p3UmdsWlhXaXN4UXoyWFV1UWE1R08xYVQ2TmxMMStzRlk2OHoxQTVzK1VsCmF1VlBYcTBnRUww
450 YXJQTkhnWE9BaDRIdk12THVSbjdDVGFZallRRklhREFXdU0zeU9SLzR3RGh2UVg3eWp3VHV5Nml6
451 VDQ5bkFlOEEKQnl6N2hYcDgzNUczQjFrREZFWFV5cCs4V2tGWWVnRXdReHV4aytFM3FvdnJIV21M
452 R0dwNE0vQXpJbkRKOEZsSjVZTDlRV1RtZWNLagp6cGZVMTFVM3lFTDdBSEMwUjFsNWlGcjVVNFJX
453 RUk1ZWd5elZCaTNJVVVZbk1uT1ZXYVZsWG02a3ZXcDhid0MrVnA5cEh1VnZVOStUCkhiWkc0RmRn
454 dTM5emF5WnE1VThSV2tFZ2Vwa3oxbmw2ekZQcFdPQXY0N3hEajNmcnNRWDR4YkMzSXd2dS9jQVhH
455 V1dQQjA0SDlpSUwKY0pzWndGRzRRNHFpaVZyNVU0UldFSWhlNWcwNUMvZ1grTXdqMzFSSDJoUWto
456 RERaaFd4bFh3MmNpRnljTFliOVZEMzJlOVM1RUxrbwpYUW4yQy9UNGZ3eXlxSlUvZWJXQ3NQUWFa
457 QWZ3ZzRmZlJOd3grUjNBRlk3MCtVZ29zQng0a3NxUTRFeTFiY2lvY3d3eWUvVWpNNVdMCnQ3U3Np
458 UmxsRlVIVXlwKzhXa0ZZZWczeXRGYmFsdUczSERqT2tmNGlzcHRsMDRSMCtCdmdUY3ZXZ094Ty9V
459 N2wrc0JtQlRMTFhwUmcKTHlHaGljOHMzQWE4NXVFM0Y5a1VXTXBRV0ZRbUJLM1MrdThpU2RlOFdz
460 SG8wQXVLR1Z1RHpFWmk5Q1VwQmQybEh4ZnJFdElCSGtNdQp5c3NPMi9OcW01dVFkekh5aCt6dEtl
461 VlAxekk2VW55YWdXWGFocjRVUDVBL3JqOWlhQWZ2RFdRMkxsUHZXbVgxM3lSTDE3eGF3YUd2ClY1
462 RmpxNEtydElIM0lFOHZsSm1HaEFUekV2TGRDTHlkMG9nMlpNdjRUb2V0U2ZOdW9mS1AzblprMXZ3
463 VVdYQ25zUXdSN2FZTVA0REwKeUJidEJlVHBpekszSU04eW10U3pWajc5dDBuVHRWYXRZSFRvVmFh
464 b3NWWEJUT0FwWUxNNmRtcWpKanQ4NXdGZk12UkE3dzRrZG5mUgpSZktpZlF4d1B4S2FyTlpQQi9K
465 ODRMaUVQQXVROWNGV0pPUVlRRUtYVGNnalZrbjRpTFlaV2JlWWVmWTUvT3BWSzkvK1kvbWs2VnFO
466 ClZqQzY5Q3BUNU5nS0JoL1JkZ0UzR09kemdMOUhyRVdISHJYMDMwZlhlaWYzMlBKNWNpSkUrcEZa
467 c1V3ejhPTkJhc3ZCSVBUK2p5U3AKMnNZYjBzMTI0RmpqdkJWNTZpTVVRdS8vU0pLcWJid2hoN2dV
468 MlFRQWVUUGhFc04ySmVtN2JQVkdWdjlOclNMWmVJOHQreFdUZXFhRQpQSkV4SDNudnJqd1o3VUhF
469 NmdGK1F3VHJSZDVPT0FNNEY5bkZXMGxscUZIUHBQWGYxaXBOMTFDSVk2dEdXcTFQaTJGclFyYWdU
470 UnFSCmQvbENKYW4vdGxacHVvWkNJV01ydE1HMk44VjJETVBmYWJQZmlRdU5wUDdiV3FYcEdncHhi
471 QlhNSXVLYTJwZW9WWFZFdldvZ3RHZ2gKRDFHcjZvaDZSU0tSU0NRU2lVUWlrVWlrY1A0RGNJbU5W
472 d2I2YnpNQUFBQUFTVVZPUks1Q1lJST0K
473 </png>
474 <latex>$$CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$</latex>
475 <prompt_number>10</prompt_number>
476 </output>
477 </outputs>
478 </codecell>
479 <codecell>
480 <input>circuit_plot(SWAP10.decompose(), nqubits=2)</input>
481 <language>python</language>
482 <prompt_number>11</prompt_number>
483 <collapsed>0</collapsed>
484 <outputs>
485 <output>
486 <output_type>pyout</output_type>
487 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x7f082c973650&amp;gt;</text>
488 <prompt_number>11</prompt_number>
489 </output>
490 <output>
491 <output_type>display_data</output_type>
492 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
493 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNybEpSRUZVZUp6dDNXdG9V
494 L2NmeC9GUC9rNU1VN3ZXU3kvTzBWUkJXcEZONnh5dVExMTNZVk9xCmlBVzEwd2RqVHF3R0ZjY1FW
495 K2NGdGoxeGJHeXNVeXVsRjhXaVZrVXBvclcyVnFadTBMS3RtNjNWVGV2TWRKdXhyZGlzTmtyUzcv
496 K0IKSUhaTm9zbjZ6VEhKNXdWNWtuTU9mSC8rK2lZbkY5QWtJbDBBNGtCRUE4b2tJbUwwRUVTUjZI
497 OUdEMEFVcVJnWGtSTEdSYVNFY1JFcApZVnhFU2hnWGtSTEdSYVNFY1JFcFlWeEVTaGdYa1JMR1Jh
498 U0VjUkVwWVZ4RVNoZ1hrUkxHUmFTRWNSRXBZVnhFU2hnWGtSTEdSYVNFCmNSRXBZVnhFU2hnWGtS
499 TEdSYVNFY1JFcFlWeEVTaGdYa1JMR1JhU0VjUkVwZWNyb0FlaS9FeEY4OTkxM0tDOHZoOTF1aDh2
500 bFFueDgKUExLeXN2RGVlKzhoS1NuSjZCR2pFbCs1d3BpSW9MeThISk1tVGNLU0pVdVFrWkdCOTk5
501 L0g5OSsreTNlZmZkZFhMNThHZW5wNlZpOAplREV1WExoZzlMalJSeWdzdWQxdVdiWnNtVXljT0ZG
502 cWEydWx0N2Yzd2JHSHQ3V3pzMU8yYk5raWlZbUpjdkxrU1NOR2pWcjgvN25DCmtJaGcxYXBWYUds
503 cFFWVlZGZUxpK3Y3ZmhTYVRDZi9lMXZyNmVpeFlzQURIamgzRGxDbFRRamx1MU9KdFlSaXFycTdH
504 aVJNbmNQancKNFg1aCtmTHFxNitpcUtnSWVYbDU2TzN0Vlo2UWdDaU1xNnVyQytmT25ZUFQ2VFI2
505 bEtCdDNib1ZCUVVGaUkrUEQraTYzTnhjSkNRawpvS2FtUm1reWZWZXZYc1hGaXhmN3ZUSS9rUXk5
506 S1EyaDN0NWVXYjkrdlpqTlpvbUxpNU9ZbUJqWnRHbFRuL2NxNGFDdHJVMUdqaHdwCmQrN2M4WG1P
507 djIwdEtTbVIyYk5uYTR5bTZ2cjE2L0xDQ3k5SVRFeU14TWJHU21wcXF2end3dzlHaitWWDFNUzFl
508 L2R1aVkyTkZRQVAKSHJHeHNWSlpXV24wYUFINTdMUFB4R2F6K1QzSFgxemQzZDFpc1ZqRTZYUU85
509 R2lxSmsrZUxJTUdEZXF6ZjhPR0RaT2VuaDZqUi9NcAphbTRMQ3dzTDBkM2QzZWU1N3U1dWZQMzEx
510 d1pORkJ5SHd3R3IxUnIwOVJhTEJTTkdqRUJIUjhjQVRxWHJ5cFVyYUcxdGhjZmo2Zk84CngrUEI4
511 ZVBIRFpycTBYeCtXbWd5bVVJOUMxRkU4Zm5LSmZkdkdTUG1zV1hMRnNURXhQUlpvOFZpd1pkZmZt
512 bjRiSUU4UHY3NFk2eGQKdTlidk9mNzJ6KzEyWStqUW9lanM3RFI4TFkvNzhIZzhHRDE2ZEwrLzBa
513 aVlHSFIwZEJnK244OTlrQ2poY3JuazlkZGZmL0MrS3pZMgpWdDU2NnkyNWUvZXUwYU1GcExHeFVk
514 TFMwc1R0ZHZzOEIzNjJ0YXFxU3FaT25hb3htcXFHaGdaSlNFaVF1TGc0QVNCbXMxbjI3dDFyCjlG
515 aCtSVTFjSXZjL01XeG9hQkFBMHRqWWFQUTRRWHZ4eFJmbHlKRWpQby83aTJ2bXpKbXljK2RPamJI
516 VWRYZDN5OEdEQndXQXRMZTMKR3ozT0kwWGxMelM4L1lJaG5PemN1Uk9scGFXb3E2dkRVMC8xLysy
517 MXIvWDkrT09QbURsekp1eDJPOHhtY3loR1ZSRXUreGMxbnhaRwpra1dMRm1ISWtDRll1WExsWS8v
518 YTRzcVZLNWc3ZHk2MmJ0MGExbUdGRThZVmhnWVBIb3dEQnc2Z3Via1ppeFl0d28wYk4zeWVLeUtv
519 CnJhM0Z0R25Uc0g3OWVzeWZQeitFazBZM3hoV21ubjc2YWRUVzFpSXBLUWtaR1JsNCsrMjNjZXJV
520 S1RnY0RnRDNmeWEwYmRzMlBQZmMKYzFpMWFoV0tpb3F3WXNVS2c2ZU9MbnpQRlFGdTM3Nk5YYnQy
521 b2F5c0RILzg4UWZhMjlzeGV2Um9aR1Zsd1dheklUczdPNksrdHd5WAovV05jRVlqcmV6THd0cEJJ
522 Q2VNaVVzSzRpSlF3TGlJbGpJdElDZU1pVXNLNGlKUXdMaUlsakl0SUNlTWlVc0s0aUpRd0xpSWxq
523 SXRJCkNlTWlVc0s0aUpRd0xpSWxqSXRJQ2VNaVVzSzRpSlF3TGlJbGpJdElDZU1pVXNLNGlKUXdM
524 aUlsakl0SUNlTWlVc0s0aUpRd0xpSWwKakl0SUNlTWlVc0s0aUpRd0xpSWxqSXRJQ2VNaVVzSzRp
525 SlF3TGlJbGpJdElTVlRFZGZmdVhlelpzd2ZaMmRsSVRrNEdBS1NrcE9DMQoxMTdEdm4zN2NPL2VQ
526 WU1uSkgvc2RqczJiTmlBOVBSMEpDUWtBQURTMHRKZ3M5bHc3dHc1ZzZmekxhTGpFaEY4OGNVWHNG
527 cXRLQzB0CnhlclZxOUhVMUFRQStPbW5uN0JpeFFyczJMRURWcXNWWDMzMUZVVEU0SW5wWVgvOTlS
528 ZHljM09SbVprSnA5T0p2WHYzb3EydERRQlEKVTFPRGxKUVV6Sm8xQ3pObXpNRFBQLzlzOExSZVNJ
529 VHllRHl5Wk1rU21USmxpclMydHZZNTl1OWx0N1MwU0dabXB1VG41NHZINHdubAptQ29pWVZ0Ly9m
530 VlhzVnF0c25IalJ2bm5uMy82SEh0NGZmZnUzWk9Ta2hKSlRFeVV1cnE2VUkvcFYvanZnZzhmZlBD
531 QlRKOCt2ZC9HCmlIai80K3ZxNnBLc3JDejU4TU1QUXpHZXFuQ1A2OGFOR3pKMjdGZ3BLaXJ5ZXR6
532 Yit1cnI2eVV4TVZHYW1wcTB4M3RzNGIwTFB2enkKeXk4eWF0UW82ZWpvOEhyYzF4L2Z6WnMzSlRr
533 NXVkOHJYYmdKOTdoV3Jsd3BxMWV2OW5uYzEvcUtpNHRseG93WldtTUZMQ0xmYzIzYgp0ZzNMbHkv
534 SDhPSERBN3B1NU1pUldMcDBLYlp2MzY0MG1TNlB4NE9hbWhvQWVQRGVKTnc0blU1VVZGUmc3ZHEx
535 QVYvN3pqdnY0TGZmCmZrTnpjN1BDWkVFd3V1NkJkdnYyYlVsSVNKRHIxNi83UE1mZnNxOWV2U3JE
536 aHcvM2VqdjVKUHZ6eno5bDdOaXhFaGNYSndERWJEYkwKdW5YcmpCNHJZTnUzYjVkNTgrYjVQY2Zm
537 L20zYXRFbHNOdHRBanhXVWlIdmxPblBtRENaUG5veG5ubmttcU90VFUxTXhZY0lFZlAvOQo5d004
538 bWE3OC9Ielk3WFk0blU0QWdNdmxRbUZoSWM2ZVBXdndaSUdwcnE3R3dvVUxnNzQrTHk4UDFkWFZB
539 emhSOENJdXJsdTNiajM0CkxpdFlTVWxKNk96c0hLQ0pRdVBZc1dOd3U5MTludXZwNmNIKy9mc05t
540 aWc0LzNYL2twT1RuNWk5TTRsNC8zTEhaREtGZWhhaWlPTHoKbFV2dWY1SVlkbys2dWpwTW5UclY3
541 em1QV2w5bVppWk9uejV0K0ZvQ2VkaHNOcGpONWo1N2FMRlljT0hDQmNObkMrU3hjT0ZDbEpTVQpC
542 TDEvRFEwTkdEOSt2T0hyRUpISXV5MmNObTBhN0hZN3pwOC9IOVQxVFUxTmFHOXZ4MHN2dlRUQWsr
543 bjYvUFBQa1pPVGd5RkRobURvCjBLR0lqNDlIZVhrNTB0UFRqUjR0SVBQbnowZFpXVm5RMTVlVmxX
544 SEJnZ1VET0ZId2ZONFdoclBObXplanM3TVRoWVdGWG8rYlRDYjQKV25aK2ZqNVNVMVB4MFVjZmFZ
545 Nm94dUZ3d09Gd0lEMDlIWU1IRHpaNm5JQzUzVzZrcGFYaDZOR2plUDc1NTcyZTQydi91cnE2a0ph
546 VwpodWJtNXFBLzBCcElFUm5YdFd2WE1ISGlSSnc5ZXhZWkdSbjlqdnZhbkphV0ZreWZQaDNuejU5
547 SFNrcEtLRVlsTHo3NTVCTTBOamJpCjBLRkRHRFJvVUwvanZ2YXZvS0FBbHk5ZlJtVmxaU2pHZkRT
548 SlVLV2xwVEptekJocGEydnJkOHpic2k5ZHVpUldxMVYyNzk0ZGl2SEkKRDVmTEphKzg4b29zWDc1
549 YzNHNTN2K1BlOXUrYmI3NlJNV1BHeU45Ly94MktFUjlMeE1ZbGN2OGZmTlNvVVZKUlVTRXVsK3ZC
550 OHc5dgpUazlQait6YXRVdFNVbEpreDQ0ZFJveEpYdHk2ZFV1eXM3Tmw5dXpaL1g0ditQRCsvZjc3
551 NzJLejJXVGN1SEZ5NmRLbFVJL3BWMFRICkpTSlNXMXNyYjd6eGhpUWxKVWxCUVlGVVZWVUpBS21x
552 cXBKMTY5WkpZbUtpdlBubW0xSmZYMi8wcVBRdkxwZExQdjMwVTNuMjJXZmwKNVpkZmx1TGlZamwr
553 L0xnQWtJcUtDcGt6WjQ2TUdERkMxcXhaSXpkdjNqUjYzSDRpOGoyWE54Y3ZYa1J4Y1RGYVcxdHg5
554 T2hSNU9UawpZUHo0OFZpMmJCbkdqUnRuOUhqa2g5dnR4cEVqUjFCWldRbUh3NEc2dWpyazV1WWlK
555 eWNIZVhsNXNGZ3NSby9vVmRURVJSUnFFZmM5CkY5R1RnbkVSS1dGY1JFb1lGNUVTeGtXa2hIRVJL
556 V0ZjUkVvWUY1RVN4a1draEhFUktXRmNSRW9ZRjVFU3hrV2toSEVSS1dGY1JFb1kKRjVFU3hrV2to
557 SEVSS1dGY1JFb1lGNUVTeGtXa2hIRVJLV0ZjUkVvWUY1RVN4a1draEhFUktXRmNSRW9ZRjVFU3hr
558 V2toSEVSS1dGYwpSRW9ZRjVFU3hrV2toSEVSS1dGY1JFb1lGNUVTeGtXazVQOENrR2JYaWgwNml3
559 QUFBQUJKUlU1RXJrSmdnZz09Cg==
560 </png>
561 </output>
562 </outputs>
563 </codecell>
564 <markdowncell>
565 <source>&lt;h2&gt;All together now&lt;/h2&gt;</source>
566 </markdowncell>
567 <codecell>
568 <input>gates = [CGate(1,Y(0)), CGate(0,Z(1)), SWAP(1, 0)]</input>
569 <language>python</language>
570 <prompt_number>12</prompt_number>
571 <collapsed>1</collapsed>
572 <outputs />
573 </codecell>
574 <codecell>
575 <input>for g in gates:
576 dg = g.decompose()
577 display(Eq(g, dg))
578 circuit_plot(g, nqubits=2)
579 circuit_plot(dg, nqubits=2) </input>
580 <language>python</language>
581 <prompt_number>16</prompt_number>
582 <collapsed>0</collapsed>
583 <outputs>
584 <output>
585 <output_type>display_data</output_type>
586 <text>C βŽ›Y ⎞ = S β‹…CNOT β‹…S β‹…Z
587 1⎝ 0⎠ 0 1,0 0 0</text>
588 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5NQUFBQWNDQVlBQUFEN3VZcTRBQUFBQkhOQ1NWUUlD
589 QWdJZkFoa2lBQUFDQzlKUkVGVQplSnp0bkhtc0ZkVWR4ei8zdmVjVFJCRnhBVGRjb0tMR0Jka2lv
590 czgxaWhhSk5rWU1Td1hYaWx1ck5aUmFVdmNGMTZqRUpSVTFiS1pvCkxKcFd4QzVVQlJWY1VJdTdn
591 bHFyYUlOMXhZcjQvT043Sm5mZXVYTm16cDE3N3NXVytTU1R4NTF6NWpmbmZ1Y3N2OS92ekFVS0Nn
592 b2EKd2k3QWVjQWNZQ0V3SDVnRjdBU1VnSHVBbmpuc25nZThETFNiNDUvQWxJUjZvNEh2VEowdmdi
593 dHozS3ZlOUFkdUFtWUM5NXUvV3dHagpnTk55Mk11aitWemdPYVRURjBBM3E3d3I4QXl3eHRUNUFE
594 Zzc0ZDVEZ0JuQWJHQ2F1ZmVkd0xaV3ZVdU5uYStBSjRGNXdEdm0zRXB6CjNhUEFTK2Jjbi95K2V0
595 V0UwbjRTNWI3NEtkSnFuamtlcDZ4WlM1NUdOZ08vQXY0RlRBQitGQ3ZiSGxnQTNBVzhXb1hOYnNC
596 UHJYTnoKVFVOSHBGejNCK0JhWUlPRXNuT0FwaXJhRUpwaHdGS2dkK3pjdHNCZmdmOEN1MVpocTFi
597 Tmh3SXZJajEvN3FoemxUbHNOZ0wrQ1B3RgoyQzUydm9RRzlpZkFRYkh6cndQalRKc2pvZ0UyekxK
598 OUdYQzdvejIxRUZMN3A0RmxRRC9yZkRQd0VKcklCK1pwWkM4MDI2eElhVkIvCkpOd3RuamE3QXRP
599 QlRhM3p4eGs3TXh6WGpVTVAwOFhCd0kyZWJRaE5QMkExMHN2bU5MVGEraEpDODBsQUcvQVo3Z0Yz
600 SzNvV2NUb0IKZndhbTRwNlk1Z0p2bWJvRGdHc1M2dndkZGVMTzF2bERnUE1kZHZNU1V2c2VTSytO
601 RXNxbUFtdEpuK3lkdEtCUnVoellPcVB1U3VCWQpUN3QzVVRucVFRL25VK1NhZExISzJ0QVNuc1Uw
602 dEVJMW1pbkFJa2ZaRU9TTytSQks4M3ZSWUppS0J0MGhDWFZtV3A5YjBZcTBoT1NWClArSk1ZM01r
603 V3RuNldPVWJvczY5TU9IYWtjRFJLYmJ6RUVwN2dKT0FVeFBPL3hKOTU5eDk2d3BqWUl4SDNTZW85
604 TTJUNkllV1NoZlQKekQxSHg4NzFScDNEeDBmdGptWVdlMGFzTjB0dys5Rjc0VCtiaGRDOEdjVTVB
605 SHNZZTNPc09qMkE2Nnh6YzFCTXVsdkdmWTh3Tmk5SApuYyttelpSZm1WQjJLQjFkeHhDRTBoNmsr
606 NGJXdWVPUUxybTlubjNRa3JZTXZ6aGtwS2ZkMmNEd2xQTEQ2QmlrZGdNZXdHK2dSbHdHCmpLK2lm
607 Z2h1Uk8xK0hoaExaWkR1UXlqTkJ3QVRZNThmUjhtRytFcDNQSEJNN1BNQnFQMS84N2p2QkZQM0Jr
608 ZjViMHo1a1I2MlFoQkMKZXhkRDBDcjdBRFhFNHhlaUJpWXRlWGxwQWY1TnBaOGVwd2tGM1d1QWJk
609 RGc2NTFTUDRreHlGVktZekFLV0tzNTdrMnh0eFB3TE9VcwpVTHU1NXFncTJoMUs4MStnVGhBeHl0
610 aWRIRHQzTTdCNTdQTjlwczZKSHZadk1YVlBjSlRQQjc0bC9UbUhKSVQyU2ZRQlBnWVdreHhECmVm
611 T3dhZFNBR2hzVVp5andna2U5NjgyOWx5R1hvVm9Hb29lWkszVlpBeTFvSU44RHZJZSt3emRveGZF
612 aGxPWXo2Qmp6dEFJZkFlOVMKenJqTnRxNVphZTd0TTNFdE5YVjNTQ2hyQVQ1SDZlUkdVcXYyTmxz
613 QWI2RFl0VWV0alZ1RlhBNmYyR01YVDV0ajhkdGpHSUhFK0xXbgpYWnROelBVNzVydytCTTNBMVpS
614 akN4OUNhRjRpZVFXOTByVGxHTFFpeGJPQWtWN2ZrcDU0QU1VODdXZ2xTR0t3S2I4K3cwNDl5YU45
615 Cm5FNG9lYktLeW16cWdjREdQa2JpUHVFN3dIK1F2NWpHbHZqSEp6Mk56U3o2bTc5NU4vYytSd0Zw
616 MHN3Wm12MVF2R0d6RnUyMVJCdWoKUG9UUWZIZTBBVzV6T3dxaXowRHRmU0pXOWhYUzdFczBvTks0
617 QUtXOFhlNWc1RWs4bG1FbkJDRzFqeWloYlp1QktGTnFieXVjajNUSwpKTzRXTFVDYmZiMlFlK0Rp
618 TENxekhMMVF1dEwycVZ2eGM3M2FVS2Q2TWFGc2E3VENmWVptalNrb3hyTDVndlFaWkJEYVo2bUcx
619 K2lZClpRU2xlVjJEdmpPYTZhT09tOVgyQmVUWFBLS041STY4QXUzZ0g0a0d3ODlpWld2UnZ0YmhT
620 SmZGRHRzL1FabThpY0EvVXU3ZmpwSWUKYWJqNlNKd3N2VUpxSHpFRlplL0dvTDJ5T0lPQUR5a1BV
621 RitiN0F0OGpYYmhYWnh1am9ndUtKTXpBM2d6b2Y2cFpNZE1HNkNaMHBVKwpuMHQ1OTMxZmtoTU5y
622 V2hXR3BSeHJ4QThqZnUxcGt2UVd3UWw4em1yN1hrMHQ3a2J1U2xKREVjZEllblpuR1RLTG5aY2V5
623 aGFNVy9BCm5kVnFRcTdSU3ludHkrb2pjYkwwQ3FrOWxMT1VreFBLT2dHUEFEK3VvbjBkR0lZNjl0
624 bDA5T1A3b3MwNlY3YmtNSktGT3NyWUt5V1UKUlVRcDJva0paWDNSdzRxQzZCSUtuUGV5NnUxdWJJ
625 VGV6N0RwaW1iNWw5R3NIYTJFSlpSUmV6N1dCdCsyNTlVY1lFK2t1eXZ1YVVJcgoxRFJIK2NYQSsw
626 aS9pTTJBazFFZ25yYWxBZXBZN2NCdEdmWEEzVWNpc3ZRS3JmMXc1T0xhMnJRaVhSY2lieWVhcURK
627 dDJpN1lQQlJ3CmpVVHB6dFVvRm5rRCtlRExFMlZ3ODZScDNBN29vY1laaTl5WGFEZDlBbklweHFO
628 WUFyU1Vya1J1Q1pSZk9OeUhqaTVoWCtCdHFudU4KSkEvN29aM3hPMUdnT3duRkhtdlFSdUlRdE5K
629 VTAvWThtdThJUElnR1FUUHdDcHI5N1VURWQ4aTFmZC94Zlg2TFhObHowY2JsR2pRdwpGNXZ2K29G
630 RGc0dFFKNHN5WjZQUXh1L1hLTGI2MEhHL05MTDBDcWw5ZDZSVk03QTM4SlNwMXgzWW1mS0FtVk9G
631 emNSNFpvazVRdkFKCldncjdVam1ZcHBzampTM1FyQjFuTlpYditPMkswc3oxSm5xVEdEUWJwdUhi
632 ZHFoZTh4VlVybkF1cnM0b24yVU9YeGFoV0NzMFdYcUYKMUg0Vm5obTZLbXcyNUkzck8xQ0FsNGZs
633 VkdabnVpQXhJcHBRYXYxM09lOVJMM3phWGxBbXBGNzEwRDdUWmlNRzAzUzBLWGxnam11ZgpRMm5o
634 T0Qzb21QazZDN2xFUzNPMXJuNzR0TDJnVEVpOTZxRjl3NTVuVm5BNUFMa3g5Z3VGUHJ4SytiYzlr
635 WDhhVFFLOVVDWnBteHgyCkcwRmEyOWMzWEgxa0lIS2hJS3hlOWRDK3JzK3poQklIOXlOL2NqTHUx
636 NEgySnpsamw4VWd0THFOUXo4dkdCd3JtNHJlMC9xaGt0YjIKOVlXc1BqSWYrTDM1ZDBpOTZxRjkz
637 WjluVCt0SWU5a3h6OHFVZG0wdDlockovMG83NjBWYUgybEJuVE5PU0wzcW9mMzYvandMZnFBMApB
638 YWVzNjBZVUZQdy9jRHo2VDFBS0NncHFwTkUvbXlrb0tDZ29LQ2dvS0Nnb0tDaFlCM3dQaGh0a2J0
639 QVNBTWNBQUFBQVNVVk9SSzVDCllJST0K
640 </png>
641 <latex>$$C_{1}{\left(Y_{0}\right)} = S_{0} CNOT_{1,0} S_{0} Z_{0}$$</latex>
642 </output>
643 <output>
644 <output_type>display_data</output_type>
645 <text>C βŽ›Z ⎞ = H β‹…CNOT β‹…H
646 0⎝ 1⎠ 1 0,1 1</text>
647 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1rQUFBQWNDQVlBQUFETE5adVpBQUFBQkhOQ1NWUUlD
648 QWdJZkFoa2lBQUFCMjFKUkVGVQplSnp0bTJsc0ZWVVVnRDlvS2F1VktpQWxJcHNXaUlRZ0FnR3Fv
649 WUNJVmdPaXNzUUlOa1JFUlNVYVVBU0ZvR0ZKd0lCSUlxTFNZSldtCjFrUVNnWXFWUlJaWmxCSndR
650 MFZSUVJEYzZnb3Fpei9PbmI3M3BuZG03cnczVTBxWUwzay8zcHo3emwzT25YdlBPZmMraUlpSVNJ
651 a2MKNEJHZ0ZOZ0t2QU9zQU5vQmRZRGxRTXNBNmhrSG5GR2ZQNERkd052cXMwNDlyd1F5QTZncmFF
652 WWhZM01jYWVjaDliMjdrczhHUGlEVwp2MzFJbitvblVaY2ZlL1FETmdIZnEzcGYwdWk3QXppbzVD
653 ZUJ2Y0JsdGpJTmdBbkFTbUFaVUFLc0JSNEM2c2FWU3dPT0VCdURjbUE5CmNFSTkyNFhZOHozZ21I
654 bzJ4TzhBZUZDVHRpQU5tQUljQnU0SHJvaVR0UVkyQW9XcUVsT2FBbU1jWkt1QnI0RytHdGx5NEY5
655 Z29JdnUKaVQ3YUVSWmJnTCtCQ3pXeVJzQi93TTRrZGFkaWowTGdVOVcyTEkwOEF4bjdLeld5ZnNC
656 M3dDVFZCb3RNWk5KdkpEYkJCcW42MjlsMApIRlA2NDErb0pzQTN3RldhT29NZ1RGc0FzcEpzUXpy
657 UnlhRk1kK1JOWEd5b014TW93cm5SQnh4a00xVTlCUjc2YndabUdiWWxEQm9nCksyYTVnM3dRMG8r
658 bms5Q2RxajFLZ1h1VS9HR052Q0g2WGFZUE1zRjdPOVRaR3BsczA5WDNGMGg4ZVFFNnEzcGYxUHkr
659 Qkdqc29Ec1YKd3JRRkFPbkFEbVRTWm51VVBRb01NOVJiQ0hSemtBMEJIdGM4TDBBNjg1UmhIU1hB
660 V01PeVFaT0h0SFdxZzN5MmtsL25VMitxOW1nRAp6RWNtNDIvQTU0aGJGazkvNEc3YnMrNkllM3Vm
661 UjUwZkFiK3FkaFpyNU9PUmZvL1d5RjcxMEowc2VZUmppMm9LN2pRb3V3VnhvYnpvCkJyemxJcitO
662 NnJ2SVFNVEZLakxRYjlFU2NTdnErZmhOVUV4SHhxMlBnL3g5cEQ5K1Y4NVU3VEdhbU4rL1dPbXl1
663 NjB6a0ZqSElnZjQKQ2RoZ1VPZWJTbWRyOUpOdWhaSzMwY2dLRFBRblExaTJBTVEvUEFWOFFxTC82
664 TVJJUTczRmlEdGtTaGRrRmR1QStNdCtXQWdNOS9tYgpJRmdIL0ltc3FIWWFJMjdKTnA4Nmc3REhF
665 bUp4U0JkazhyeGhLN1BDOXYwMVZjN0V2bnRWMlk0TzhvUEF0d1o2Z2lSd1c4UXJ5a2VNCnNSQTRi
666 ZkRiRWtQOWc1QnQxNFJzWUEyU0pia1ZlZVA5c0ErNEYvSERuYmdXZU02bjNyMDRKeDNxSVg3N2NX
667 Q1ZSdDRNR1lkTlB1c00Kd2g0WEllNFF3TWZBWm1BbzBBcEpBbVNRT01iWnlDSlRpV1N6M0VoRGRw
668 MUs0QXVOdkQxd0tmNjhnVlFKeXhaVmxDR3J3dFhKS3RDUQpDK3d4TE5zRXFFQjhhM3VHeEpROFpC
669 V3BTZm9pNC9ha2c5eHltZko5NmszVkhwY0FpMnpQUmltZFZyQ2RDendRSngrbTVFNUJieng5ClZO
670 a3lCM21Ca3R2am5UQUp5eFpWL0lKczd3ME55dVo0RndIRUoxNWpVQzVObGZzTDZHbVQ5VUFNYmtJ
671 Mk1nak5ETXNId1JSVlozOEgKK1Naa1hQMmU4YVJxaitIQTdiWm5HY2dpZEFnWjg2bEExemo1WktR
672 dlN3M3FMRlZseHpuSWx5bTU2VndKZ3JCc1VjVnU0R2VEY3MyQgpPWVk2SjFQZDU5V3hCR244VUky
673 c0ZFbnJtZkk3d2U2R1hwUWhMa3NqalN3RDJmcDNKYUUzVlhzc0FscG9ubHVyNlRERU52SFpyakZL
674 Ck5zK2p6ZzZJdmQ2bGVyYk1Zai9pTnRja1lkbWlpZ1hJQU5sUFhPM01KSEZsejBYZTRFbFVUN3RO
675 QTE3MzBQZVlxbGQzSU5pQnhFQ3oKSHJKQ3RYZlJkeGc1QkhNaUYvalE1NmZRUVZjYWtscmQ3aUMz
676 WEpJRkRuSzMvaVJyRHd1bm1MRXRNc0hYSTBGNlBPMVVuUlV1OWFVagpoNytWU0ZaTFJ5dWx4OHYy
677 Ym5QSGpwZnR3N1JGRmIyUlE1Z3BMbVhHa3hpRU4wZUNaZXMwZGlGeWJjSmlITzR4eVVna0tIMVdJ
678 MHRICkRIMlgrajRXT1RNNWlmT2hXaVl5RUoxZDZneVNIcXErK1E1eXkzMjVSU1B6Nms4eTlyRElB
679 cDUzK2QwcTFhNUpHdGxPSld1bGtkVUIKWGtGMkNDZVhCbUt4endTWE1sNXpKeDRUMjRkcGl3UnVR
680 STd6SHlUUkYrNEl6S1Y2d0RPRFJQOTFBSEpXWVpHdjlPbTI1R3VRU2JDUwp4QlJudW1wb21XcjB4
681 YmJmblhEcFNDOWtJRXpPYjRKZ0dqSFhSVWM1M2pHU1czLzgyc05pSHU0bnlqZXBkdlhTeUpvaG1i
682 QWlFcytjCnVpSlhoTmFpZCtQaUtWYjZuUTZRd1h2dTZIQWJxN0J0a1VCUDVHM2NqRnlnV3c0OGdU
683 N2pWSXgwMXFLVGFvaDFueWNMbWVodGJiL0wKUUE2c3ppQTd6WGIxK1F6eEthMExhT3Q5ZG1RMDV0
684 bTBWSmlEK0xiVzViMnZrTEdxanl3SXE1R0padldqQXYxdUNkNkc4V09QaWNRdQpHZjZESEp4ZG9D
685 bFhWN1ZmZDVZQTRyNU5SOXpNbDVFWDVoa2tablNLUVdZaE1jb2VZdjMrVWoyYnJTbnZOWGQwNk1h
686 cUptMlJGT1hJCk5tYlJSalVrZnFYWkNnd09zRTYzanN4Q1Z0aHppVkFNY3c1Z01uZnNoRDFXV3Yw
687 bUo3bHVIRUE2WnRHWTJMVjJpNlZVVDBXR1FUcHcKSXhKOFJkUitUT1pPclNEVmw2U0N4RGUvSmZB
688 RGlhZTRSVWhLMWkzakZBU1BJaTZiN3ZRM292WmhNbmRxQmFtK0pEdEp6SElNcG5wVwo1VFNTNVpw
689 UGtuOXVNU0FIR0VIc0pEbWk5dU0yZDlKSjRaWnUwS1I1RjNIbENKSXR1Qjc1MDA0TEpFaXpyd1pI
690 a0tCOEJCS2pKRU0rCmN0VWhEN25DMHBSWWtENFgrYy9FMFNSMW53M2Mrbk0rNERaM0xrZHVOZTlB
691 L3JBVjlsaTU2bmZLVlBpbERwSXU5Tm9xNnlOWmwyVEkKSW5Fbk9nWDhHSURlczRWYmY4NG5uT1pP
692 SnJLN2xCTCtXRVcyaURnbkdZRHNLR2VkVkdPU2lJZ3dxSXZjbXRoL3Roc1NFVkdiY1RybwpqSWlJ
693 aUlpSWlJaUlpSWlJT0svNEgyR1pJUFRKVVRpYkFBQUFBRWxGVGtTdVFtQ0MK
694 </png>
695 <latex>$$C_{0}{\left(Z_{1}\right)} = H_{1} CNOT_{0,1} H_{1}$$</latex>
696 </output>
697 <output>
698 <output_type>display_data</output_type>
699 <text>SWAP = CNOT β‹…CNOT β‹…CNOT
700 1,0 1,0 0,1 1,0</text>
701 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVVZQUFBQWNDQVlBQUFBZHRSYlZBQUFBQkhOQ1NWUUlD
702 QWdJZkFoa2lBQUFDTVZKUkVGVQplSnp0bkhtUUZjVWR4ejhybDRBdUlJcEdUVUFwU3dJSjVSbE5Q
703 RERlNGxWR3E2S0ZRU0pSUzBRdGcwbU1XbW9PUWp6S1JCQkZRVW5FCkk1U2F5NFFqRUxNQ0doUzB2
704 TkR5S1BFSUtzR05paGVzbU0wZjM1NjhtWjZlbVg2N0QvY2QvYWw2TmU5MTkvVHhuZDkwOS95NjUw
705 RWcKRUFnRXZPa09YQURjQ2Z3TytDTXdIdWdMekFjV0F4dUJkbUFUc0J6WTJweDdDZkNhaVdzSG5n
706 VEd4dkllQi96YnhIMEkvTUtqUG44QQp6c3lKN3dFc0JGNDIrYjRITEFJV0FFdUJWNEMvQUh0NmxG
707 VXQ5QVpPQjZZRFMxRDdXb0JUVFB3UndBOWk2YWVoNjdBSitBd1k2Y2h6ClB2QXgwdWhkNEhwSG1t
708 SEFMY0M5d0N4Z0hqQVgrR3BHUGM4dytXMEVWaUxObjZkMEhSYWJ1ajhPL0JkNE1hZk5uYUVXOUFw
709 YTFaNVcKLzZjMzZrUXVCN2FJaGY4WWVBRjFsQUJYbTByT2N1UXgxTVRkbjFIRzE0Qi9BbHQ1MU9k
710 YkpxOHJQTkllWjlKZWFJWDNBRzRGTmdDSApldVRUMWV5UHRKNEpIQUwwTk9GYkF0Y0J2MGFEeW9I
711 V2Vkc0NUeUVOWm1Ua1BRNE5ORTFXK0JiQXplWjgyL0JQUUVZL2xqUUwwYlhwCkdRdUxqSHFpbyt5
712 L1o5U3JNOVNLWGtHcjJ0SXF3YjFJTkJkdkF0OHozeWVoU3Q3b1NEZmN4RDJRa2M5a1lKQkhYZm9D
713 ejVxOGJ2SkkKSDNYV0l4eHhYelJ4ZDN2azA1Vk1CdHJRak4xRk4yQUY4QUhxOE9PY0JJd0JWcG40
714 clVuemZXQnZLNndKWGZQNTZBWnhjVFd3SHRneApGallRMll2TmJVanIzYTN3TDZFYnBKTFVpbDVC
715 cTlyU0trRS9KTnlSR2ZFTGdWM005M0ZrZDR3elROd2pqcml2a0gxaGJINkpPdUoyCjRQY2U2WmNE
716 cmFSSExKQ1k3Y0EvUE12dUNpYWdPcDVla0c0eThGZEgrUFhBenNENUpwOEpqalIzb0JzZ3psUmdE
717 Wm9WWkhHWXlmUEsKV05oWndGR090QzhCYnp2Qzl3WXV5aW1qWEdwSnI2QlZOdFdtVllwalVRWFB5
718 NGkvUFBiOUJOd2Q0K0ZvTnJrZVRkbHRwcE1lalZ4OApHWTBhUFpBUHdkWEp4dWtMZkFyOE9TTity
719 S252ZUkreXU0SVI2SkdpeFNQdGVOeUdFSTJ5L1lDUGdHZXMrQ1pnamhYMk02VExpUVZsCkRpYnRI
720 am1EcExzRk5PcTM0eDd4UndEN0ZwVGpTNjNwRmJUS3BwcTBjckl0Y3JCdVJQNkdBOG51eEE0ZzNU
721 SDJRdjdKbnNCcVlKMTEKemtuQWFNKzZ6QU4yTmQ5YjBRSktIa2VZK3Z6UUVkY05PVzVYNDM0RXFB
722 WldvUHJidmgwWCt3RkRyTEJta3Y3ZW1ZNzhScUxGc1lnZAowUlBDdjBpUDlEYUhtdnptRjZRNzFh
723 UTd2eUJkWjZrSHZZSldvcHEwU3ZYSUFPK2dSUmJRckc4cFdtR2FEdlMzMHJZNnp2OFJXblZxCk0v
724 RURLRDNXOWtJQ3pQT28yeGkwMmhSMWhtdUJIUXJPT2RnY2wxbmhPNkdSYUJXd0IvS1BWSkxSYU9X
725 OW5NOTBLNC90Z1gyQXh4ejEKZC9FbzhLb1ZkZ0R3Y094MzVITTVOeFkyQ3ExQ1JreEFBOThjdE5x
726 WXgvQlkyWGxFMStHaGduU2RvVjcwQ2xxSmF0R3FrR0hBVDFCRAoyMUJQZlorVlpoREpHZU5Ra28r
727 eEMwMzhBUE43RW1tbnFZdG1KRkNmV05pREpxOStPZWN0UVJkZ0Z2Snh6Z0JtbTNZYzdsRnVWM0l5
728 CmFsOW5ITWhUMERXSXN4ek4vcmN6djM5TDhnbmdJVlB1c1I3NXp6VnBYYjZmT004Qy84SHQ1NjBV
729 OWFKWDBFcFVpMVpsTVFKNEhmbnYKNHF0SzNVbDJqQStRWEEyKzI4UVBCYjZBT2lnZmJxQzBueXJp
730 SHR5clVSRmJvcTA0S3p6THFEYXVJZCszRzJjN1NvTk5uTG1Pc0doNwpRL1NJYzQ4VnY4YkVEeWVm
731 d2VqNnYwMitLMklnOGdkbitYa3JSVDNvRmJRUzFhUVZrSDZVdnNTWlNvK2dkNkZHeG52clRjRDc1
732 dnNwCmFGUDNxbGo4TytZNEVDM2p1elo4MnV3Qm5JWldvaGZFUGw4MzhWbVAwL3VoUi9VV2p6S3Fr
733 ZGZNOFUyUHRKY2lRNHJUR3puWGJlYWkKVWZZY1pLRDJZdGhhYzN5ZmZDNUNBK0ZaNUxzaURrSTJz
734 aVFuVFNXb0I3MkNWcUthdEFLU0hlTldhTE5uRnMzQUU4QW5WbmdyNnVXdgpJTG1OSTRvRE9BYUpW
735 aVJRRStvOFJ3RkhXNTlwSmsxV3h4ajVIMW9LeXVnQjNFNXBVYWVJWWNqbk9oRzRGaG1KemRGb1oz
736 NDVuNmxXCkhsRzlpOTdNR1k0V2tENjB3dmZIN1ovWkFQd0dPZE9ua0Rhc3BlWjRXRTZaK3lDam5V
737 MzJ2dFNJNkRwa0dYQ2w5Rzh4eDFyV3EwZ3IKOExPL2lDeHRXOHl4M3JVcXg3YThkVDBHelFCdFB3
738 TElsN2dXK0tZamJnWHlNN2oySlU1RXM4emx1QmQ2Yk1hVGZBMHB6cmR4djlFUwpzUmpWdnprbi96
739 T0JuNXAwd3p6cTB3MTREam12UWJQWTJ6M082d2hOU011blNmcFc0K3lPRExHWEkrNHF0TDNKeFc3
740 b01hU050QUVjCmpQUndQU3FCZEZxSC9NcytieW10UktOK2QwZGNKZld2QjczeXRJTHk3QzlQMjBi
741 UXFoemJLdXUrdmhadG5yeVBwRTlnVjlTeFRjbzQKYjRFcHhGWGgwMUJuZGxCQlJVR3pydGZKWHRh
742 UE5vQk9jY1ExbzMxVkt6M0tBWTEwUGpmbXlTVDNUZzVDTStZczQrb3NBNUFCUDRoVwowaVA2bzFY
743 NktTUmZqNHJYNncxS1RuQVhpOGplQnpvR0dWMThaTytEMnY4Q3laWEhQQVlqdzF4Y2tLNVMrdGV5
744 WGo1YWRjVCtzclN0CmQ2MGlmR3lyTEYzbkFOdWdXZUVpSk9JQzlON2pOM0lLbVVuMld6S2pTRy80
745 dE5rTGRjanRsR2FYOFU2Mk4zcFRwZFhFcnplL1I1clAKVW5UaDJ0RUZXSVl1Umg2K04rWmxwRGVU
746 YmlMOXlsTWw2UWRjRFB3SmJhKzRBejEydS9aKzlrTHZtMjlBN1YrRHRrdTVPQkg0ZVU2NQpSNkl0
747 UkxQUk5iMFREWWE3RmRSM0NLVS9JRmhINmFYL1pjRGYwUFcxcWFUK3RhVFhFTXJUcWlQMmw2ZHRQ
748 V3NWNFdOYlhYRmYxd1MrCk4rYXYwQmFFT0I5UUczOUNVYzBFL2Yzb1NQdDl0YTFYZk5wZnFLdVAz
749 NitSV1kxR3FqaDkwRXBjWVBQVDZQbzNldnMzRjRXNmhvNHgKbnlkSS9nUFFJT1RJZnFOcnF0TndO
750 THIramQ3K3pVWFFOUVBYZEhza3liL1RBcTJVdlVYSktmc2RzbGZZQXY0RS9mM0lhNzlMTHdpUAow
751 ajYyVldoWFJTOTIxeHVqMFYrbEhZTEU2WS8rT0JPMFQvSlVrb3RGYldnVU9SdTl1Yk12ZW52bnZj
752 K2x0dlZIMEw4ODh0cHY2NVduCmJTTlFqbTAxdWwybEdJQTJpRWVmK0JhRWJzQjNjODUxN2U4S2xF
753 ZlF2K1BZN2JmMXl0TzJFZWlvYlRudEttdXpaTDN5Yms3Y1orVHIKc2JIQ2RXbEVndjRkeDI2L3JW
754 ZWV0bzFBUjIycjBlMnFrT1BSUnRKQTF4RDBMNCtnbHo5QnEwN1FhTFBuYWlQb1h4NUJMMytDVm9G
755 QQpJQkFJQkFLQlFDQVFDQVFDZ1VEZ2MrVi9xazJaZlg2Uys5WUFBQUFBU1VWT1JLNUNZSUk9Cg==
756 </png>
757 <latex>$$SWAP_{1,0} = CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$</latex>
758 </output>
759 <output>
760 <output_type>display_data</output_type>
761 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUo4QUFBQ09DQVlBQUFBdmtkcmVBQUFBQkhOQ1NWUUlD
762 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUJFSkpSRUZVZUp6dDNiMUxJ
763 MXNBaHZGM2todkJ4SXVhUW0xc2JRU3hFUEVUc1JNRXNSRUxDOEZHCnJOTUlGbmFDTmxZV1ZoYlJ5
764 azcvQTIzOHJBU3hFd3ZGbEVZaUdORFpRdHg3Wlc4Vzc2N3VhMmFlSDB5VHhNT1o4REJubklGTUVJ
765 WmgKVWRMZkF2NndJQXpEMEQwSnhGUENQUUhFRi9IQmh2aGdRM3l3SVQ3WUVCOXNpQTgyeEFjYjRv
766 TU44Y0dHK0dCRGZMQWhQdGdRSDJ5SQpEemJFQnh2aWd3M3h3WWI0WUVOOHNDRSsyQkFmYklnUE5z
767 UUhHK0tERGZIQmh2aGdRM3l3SVQ3WUVCOXNpQTgyeEFjYjRvTk43T0lyCkZvczZPenZUL2YyOWV5
768 cXhGNXY0d2pEVXdzS0NtcHViMWQvZnIrYm1aaTB1TG9wZkJmYUp6Vzh5YjIxdGFYWjJWcVZTNmZ0
769 cm1VeEcKR3hzYm1waVlNTTRzdm1JVFgwOVBqdzRQRDM5NGZXQmdRUHY3KzRZWm9XSjhRUkQ4NmJr
770 Z1ppcWU4NFZoR0tsdGVYbFp0YlcxYi9ZeApuVTVyZFhYVlByZTRickZaZGg4Zkh6VTZPcXFEZ3dP
771 VlNpVmxNaGtOREF4b1oyZEhOVFUxN3VuRlVtemlrMTZPNWljbkorcnU3dGJ4CjhiRzZ1cnJjVTRx
772 MVdNWDNLZ2dDeFhDM3Y1ellYT2ZEMTBOOHNDRSsyQkFmYklnUE5zUUhHK0tERGZIQmh2aGdRM3l3
773 SVQ3WUVCOXMKaUE4MnhBY2I0b01OOGNHRytHQkRmTEFoUHRnUUgyeUlEemJFQnh2aWd3M3h3WWI0
774 WUVOOHNDRSsyQkFmYklnUE5zUUhHK0tERGZIQgpodmhnUTN5d0lUN1lFQjlzaUE4MnhBY2I0b01O
775 OGNFbU12RmxzMWtGUWZDdVRkSzdQNXZOWnMxN0ZsMlJlUUxSWnoxVmlLY1ZmWjdJCkhQbFFmU0la
776 MytucHFmcjcrMVZUVTZORUlxRzZ1am9ORHcvcjRlSGh6ZWNLaFlLeTJhd1NpWVNTeWFRNk96dDFl
777 M3RybW5VTWhSSHgKWDd1U3orZkRJQWpDNmVucGluK1h6K2ZEM3Q3ZThQcjYrdDNqNG1ORStwenY0
778 ZUZCVFUxTlNxVlNLaFFLUHp4WDkvTHlVdlB6ODlyYwozRlFxbFhyM3VQZ1lrVngyWDZYVGFZMlBq
779 K3Z1N2s2N3U3dHYzaXNXaThybGNscGZYNjhZSGo1WHBPT1RwS21wS1VuUzF0Ylc5OWVlCm5wNDBO
780 emVubFpVVk5UUTB1S1lXZTVGZWRxV1gwRnBhV25SL2Y2OUNvYUQ2K25ybGNqbU5qWTFwYUdqb2w4
781 ZkY3NHY4a1MrWlRHcHkKY2xMbGNsbmIyOXRhVzF0VGUzdjd1OExENTRwOGZOSS9TKy9TMHBKdWJt
782 NDBNek5qbmhHa255eTdyN2VocWttbDVmSDUrVm5wZEZvZApIUjA2T2pyNlgyTlc0L2RRTGY2cTlF
783 YTFuZWY4TEpMejgzT1Z5MldOakl6ODB0alY5bDFVaTFnc3UzdDdlNUxFZWQ0WEU1djRVcW1VCit2
784 cjYzRlBCdjhUaVVrdHJhNnRhVzF0MWVIajRZZVBpOTBYMnlIZDFkYVdob1NHMXRiV3BVQ2pvNHVK
785 Q2c0T0RieTQyd3l2eVI3NnYKT2k0aWZPVEQxMGQ4c0NFKzJCQWZiQ3JlNGFoR24zRXJyTEd4OGNQ
786 SHhJdkl4TWQvcE5XSFpSYzJ4QWNiNG9NTjhjR0crR0JEZkxBaApQdGdRSDJ5SUR6YkVCeHZpZ3cz
787 eHdZYjRZRU44c0NFKzJCQWZiSWdQTnNRSEcrS0REZkhCaHZoZ1EzeXdJVDdZRUI5c2lBODJ4QWNi
788 CjRvTU44Y0dHK0dCRGZMQWhQdGdRSDJ5SUR6YkVCNXR2WUJZc3hJKzRoTXdBQUFBQVNVVk9SSzVD
789 WUlJPQo=
790 </png>
791 </output>
792 <output>
793 <output_type>display_data</output_type>
794 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVE4QUFBQ09DQVlBQUFBdnRJMzNBQUFBQkhOQ1NWUUlD
795 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNUNUpSRUZVZUp6dDNFdElW
796 SDhZeHZIMzJEQ2psZUNGTGhob0dCUkJFR0ZFRUZtTFNNelNMTHU0CmtHaFRVRkl0dWkyc0lJcWlG
797 a0VVRmFVdXdxZzJicnFIMVNLNi9CZWhkTEVMMnQwd0tteTZwL2IrZDVIbHFQTjY5TXlNM3cvTTVw
798 d3oKUDU3ZmVlTnBqb002cWhvVWtVUUJnREE0cXFwZWh3QVFmZUs4RGdBZ09sRWVBRXdvRHdBbWxB
799 Y0FFOG9EZ0FubEFjQ0U4Z0JnUW5rQQpNS0U4QUpoUUhnQk1LQThBSnBRSEFCUEtBNEFKNVFIQWhQ
800 SUFZRUo1QURDaFBBQ1lVQjRBVENnUEFDYVVCd0FUeWdPQUNlVUJ3SVR5CkFHQkNlUUF3b1R3QW1G
801 QWVBRXdvRHdBbWxBY0FFOG9EZ0FubEFjQ0U4Z0JnUW5rQU1LRThBSmhRSG9ncXo1OC9sMGVQSG9t
802 cWVoMWwKd0tNOEVCV2FtcHBrOHVUSk1uNzhlTW5LeXBMUm8wZkxuVHQzdkk0MW9EbEtoU01LWkdW
803 bFNWMWRuYlMzdC84K2xweWNMRTFOVFJJZgpIKzloc29HTFR4NkllRStmUHBYNit2b094U0VpMHQ3
804 ZUxoY3ZYdlFvRlVKKzhuQWNwNyt6QUlnaXZsQW5lSnBCcFBqMTY1ZWtwNmZMCjY5ZXZPeHhQU0Vp
805 UVY2OWVTVXBLaWtmSkJqWWVXeER4NHVMaXBMcTZXcEtTa2lReE1WRkVST0xqNDZXeXNwTGk4QkEv
806 TUVYVStQcjEKcTF5NGNFRVdMbHdvNzk2OWs5VFVWSzhqRFdpVUI2S080emc4VmtjQUhsc0FtRkFl
807 QUV3b0R3QW1sQWNBRThvRGdBbmxBY0NFOGdCZwpRbmtBTUtFOEFKaFFIZ0JNS0E4QUpwUUhBQlBL
808 QTRBSjVRSEFoUElBWUVKNUFEQ2hQQUNZVUI0QVRDZ1BBQ2FVQndBVHlnT0FDZVVCCndJVHlBR0JD
809 ZVFBd29Ud0FtRkFlQUV3b0R3QW1sQWNBRThvRGdBbmxBY0NFOGdCZ1Fua0FNS0U4QUpoUUhnQk1L
810 QThBSnBRSEFCUEsKQTRBSjVRSEFoUElBWUVKNUFEQ0pxZkpJU1VrUngzRmNmYVdrcEhpOXJRN2Mz
811 R09rN1MzV3hkcnNIRlZWcjBPNHhYRWNjWHM3ZmJGbQpiN2laSjlMMjFsUGtqb3g3RUZPZlBCQ2JY
812 cng0SVdWbFpUSnUzRGhKU2tvU0VaSFJvMGZMcWxXcjVPN2R1eDZuRzdnR1JIbThmZnRXCi9INi94
813 TVhGaWQvdmw3Rmp4OHJzMmJNbE56ZFhjbk56SlRVMVZlTGk0cVM2dXRycnFMM1MxdFltKy9mdmw1
814 S1NFaWt1THBiQ3drS3AKcUtpUUwxKyt5THg1ODd5T0Y3WTNiOTdJZ2dVTFpOS2tTZkxwMHljNWVm
815 S2tORFkyaW9qSXBVdVhaT1RJa1pLYm15dloyZGxTVjFmbgpjZHJlaTdyNWFRd0p0WjJLaWdvTkJB
816 SzZmLzkrYld0cjYzQ3V1cnBhQncwYXBHdlhyZzFyVGErRXl2UDE2MWZOeTh2VG5UdDNkamkrCmE5
817 Y3VIVHQyckJZWEYvZDRyVWp3K1BGanpjakkwQzFidHVqbno1ODduUHN6OTgrZlA3Vzh2RnlIRFJ1
818 bU5UVTEvUjB6TEYzZDczRG4KRndtejh6NkJpMExkMElVTEYrclpzMmYvT1g3cjFpMU5TRWpRK2ZQ
819 bmg3Mm1WMExsS1NvcTBoVXJWblI2TGkwdFRjdkx5M3U4bHRlYQptNXMxTXpOVER4OCszT241em5K
820 ZnZYcFZodzBicHJXMXRYMGR6NnlyK3gzdS9DSmhkdDRuY0ZGbk4vVEhqeDg2YytiTWY0NDNORFRv
821 CjhPSERkY3FVS2ZydDI3ZXcxdlJTWjNsYVdsclU3L2ZyNWN1WE8zMVBUazZPUG52MnJFZHJSWUxT
822 MGxKZHMyWk55UE9oY2g4OWVsU3oKczdQN0tsYXZoY3B0bVY4a3pDN21mK2JSM053c1pXVmxIWTU5
823 K1BCQjVzeVpJME9HREpFelo4NUlmSHk4UituY2NmMzZkV2x0YlpYSApqeDkzZW43NjlPbVNrWkhS
824 ejZsc1BuMzZKRlZWVmJKaHc0YXczN3RzMlRKNTh1U0ozTHQzcncrUzlaMm9uWi9YN2VXbW5tem4r
825 L2Z2Ck9uMzZkRTFKU2RINitucFgxdXhQbmVWNTkrNmQrbncrRFFRQ3VuNzllcjErL2JxMnRyYWEx
826 dkxhb1VPSHRMQ3dzTXRydXNxOWRldFcKWGJWcWxkdXhYQkVxdDJWK2tUQTc3eE80cUxzYit1dlhM
827 eTB1THRaQUlLQlhyMTUxWmMzK0ZpclAzcjE3TlJBSXFPTTQ2amlPRGhreQpSRmV2WHEwdExTMWhy
828 K1dsZ29JQ1BYbnlaSmZYZEpYN3dZTUhtcG1aNlhZc1YzU1ZPOXo1UmNMc3ZFL2dvdTV1Nk9iTm05
829 VnhIRDErCi9MaHJhL2EzcnZJOGZQaFF0MjNicHRuWjJlcjMrOVZ4SEMwcUtqS3Q1WlhzN094dWk3
830 MnIzTy9mdjlla3BDU1hVN21qdS9zZHp2d2kKWVhZaEU0aElWTDVDT1hMa2lEcU9vOXUzYis5dy9O
831 dTNiM3JseXBYUU55Z0M5dFRUUGY3cC92MzdtcDZlcm42L1gzLzgrQkUxZTR2MQpWMDkxTnordjl5
832 RWlBK09UeC9uejU5WG44K255NWN2L09WZGVYcTdWMWRWaHIrbVZ2L1BzM3IwNzVMV2JOMjlXdjkr
833 djM3OS83OUZhCmtXREpraVdkZnEzOHA2NXkvL2ZmZnpwKy9IaTNZN21pczl6VytVWEM3R0wrMjVi
834 YTJscFp2SGl4ekp3NVU0NGVQZnJQK2NyS1NzbkoKeWZFZ1dlOTkvdnhacmwyN0Z2SjhNQmlVckt3
835 c0NRUUMvUmVxbHhZdFdpU1ZsWlhtOTFkV1Zzcml4WXRkVE5SM29uNStYcmVYbS83ZQp6c3VYTHpV
836 dExVMG5USmlnd1dEd24rdXJxcW8wUHo4L3JEVzk5bWVlYytmT3FjL24wNGFHaG4rdWEyNXUxaEVq
837 UnVpMWE5ZDZ0RmFrCmFHMXQxVkdqUm1sZFhWM0lhMExsL3ZqeG95WW5KK3ZyMTYvN0tsNnYvSjI3
838 Ti9PTGhObkY3Q2VQWURBb2MrYk1FVldWczJmUFNtSmkKNHU5elRVMU5zbnYzYmlrcEtaR0NnZ0lQ
839 VS9iT2xTdFhKRE16VXpadDJpVDE5ZlcvanpjMk5rcEJRWUZzMnJSSlpzeVk0V0hDOFBsOApQbG01
840 Y3FXVWxaVkplM3Q3V08vZHRXdVh6Sm8xUzlMUzB2b29uYnVpZlg0K3J3UDBsWFhyMXNuOSsvZGwx
841 S2hSc21USkVoRVIrZm56CnB6UTBORWd3R0JRUkViL2ZINW0vY05SRHpjM05jdnYyYmFtdHJaVzFh
842 OWRLUzB1THBLYW1Ta0pDZ3V6YnQwK21UcDNxZFVTVGpSczMKU2s1T2pwU1dsc3FCQXdkazBLQkIz
843 YjduNE1HRGN1clVLYmw1ODJZL0pIUkh0TStQditmaHdacTlFV3QvRXlLVWxwWVdLU3dzbEtGRApo
844 OHFPSFR0azRzU0p2OC85bWZ2NTgrZXlaODhldVh6NXNwdy9mMTdHakJualZlUnV4ZHJzWXZheEJk
845 RXRLU2xKTGx5NElGT25UcFc1CmMrZkt0R25UNU5peFkzTHAwaVVSRVRseDRvVGs1K2RMVmxhVytQ
846 MSt1WEhqUmtRWFJ5emlrNGNIYS9aR3JQM3YxUk50YlcxeTVzd1oKT1gzNnRMeDkrMVpxYW1wa3dZ
847 SUZrcGVYSjB1WExwWEJnd2Q3SGJGSFltMTJsSWNIYS9aR3JQMERIRWhpYlhZOHRnQXdpYmx2V3h6
848 SApjWFc5NU9Sa1Y5ZHpnMXQ3ak1TOXhicFltbDFNUGJZQTZEODh0Z0F3b1R3QW1GQWVBRXdvRHdB
849 bWxBY0FFOG9EZ0FubEFjQ0U4Z0JnClFua0FNS0U4QUpoUUhnQk1LQThBSnBRSEFCUEtBNEFKNVFI
850 QWhQSUFZRUo1QURDaFBBQ1lVQjRBVENnUEFDYVVCd0FUeWdPQUNlVUIKd0lUeUFHQkNlUUF3b1R3
851 QW1GQWVBRXdvRHdBbWxBY0FFOG9EZ0FubEFjQ0U4Z0JnUW5rQU1LRThBSmo4RHdBb24zcHVmNG1n
852 QUFBQQpBRWxGVGtTdVFtQ0MK
853 </png>
854 </output>
855 <output>
856 <output_type>display_data</output_type>
857 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUo4QUFBQ09DQVlBQUFBdmtkcmVBQUFBQkhOQ1NWUUlD
858 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUJJUkpSRUZVZUp6dDNURkls
859 SDhjeC9IUDgxZlVRMjd3d0VuQkcxMGNtcUpBa1VRU0cxUjBDZ0oxCmJTaHdjV2xwY3RWQmFBa2lj
860 UkRVNmVCd01FUVVQVVFhYWdrVXhIQm9TRHlROEJCK0RWSmhvbi9MczQ4K3ovc0Z6L0ljL1BnKyt1
861 YWUKNS9FQm55aUVVSlNVRnZDUFJTR0U0QjRDeWZTZmV3QWtGL0hCaHZoZ1EzeXdJVDdZRUI5c2lB
862 ODJ4QWNiNG9NTjhjR0crR0JEZkxBaApQdGdRSDJ5SUR6YkVCeHZpZ3czeHdZYjRZRU44c0NFKzJC
863 QWZiSWdQTnNRSEcrS0REZkhCSmxieFpUSVpSVkZVMWkyVHliZ1BLN1ppCjliOWFvaWhTdVEvbk90
864 YkVpVmg5OCtGMklUN1lWTG9IK0JlK2ZQbWl4c1pHSFI4ZnE3S3lVdGxzVnRsc1ZoVVZGWktrUXFH
865 Zy9mMTkKemM3T3FxK3Z6enh0Z29RWU9lOXdYcjkrSGFxcnE4UEV4RVE0UGo0KzlkbjgvSHlvcUtn
866 SXo1NDkrNk0xY1hXeCtzbWVGMHAvZjMvSQo1WEpuOXErdHJZVlVLaFY2ZTN2L2VFMWNYZXp2ZGt1
867 bGtoNCtmS2gzNzk2ZDJyKzl2YTE3OSs0cG04MXFhV2xKTlRVMWwxNFQ1Ukg3CitIWjNkL1hwMHlk
868 MWRIVDgzUGYxNjFmZHYzOWZwVkpKNit2cnFxK3YvNk0xVVI2eGorOTNSMGRINnV6czFNZVBIN1d5
869 c3FMbTV1WXIKcjRtL2s0aTczUjlDQ0JvYUdsS2hVRkErbi8vZjhIRE56cnNZbEhRcnQ0dU1qbzZH
870 S0lyQzI3ZHZMMzFSN0Q2ZVdHK1gvaTNjQWhmRgo5K3JWcXhCRlVYajU4dVdwL2QrK2ZRdUxpNHQv
871 dFNhdUpoRlBPUEw1dko0K2ZhckJ3VUc5ZVBIaTFHZlQwOU02T0Rnd1RaWnNzYi9oCmVQLyt2ZHJh
872 Mm5UMzdsM2w4L21mVHpWK2FHMXQxY0xDZ2xLcDFLWFhSSG5FK3B2djgrZlBldlRva1pxYW1qUTNO
873 M2Ntdk9ucGFXVXkKbVhQRHcvV0tiWHpGWWxIZDNkMEtJU2lYeXltZC92VjZ1YjI5UFkyTmplbkpr
874 eWZxNmVreFRwbHNzVDN0RGc4UDY4MmJOMnBvYUZCRApRNE9razZjZFcxdGJLaGFMa3FTcXFpcnQ3
875 dTd5UjJhVDJNWjNrOWZFaWRpZWRuSHpFUjlzaUE4MnNYdTJHMFZSV2RlcnE2c3I2M3I0CkpWYnhY
876 ZmJHZ0p1SW00SFRMbXlJRHpiRUJ4dmlndzN4d1liNFlFTjhzQ0UrMkJBZmJJZ1BOc1FIRytLRERm
877 SEJodmhnUTN5d0lUN1kKRUI5c2lBODJ4QWNiNG9NTjhjR0crR0JEZkxBaFB0Z1FIMnlJRHpiRUJ4
878 dmlndzN4d1liNFlFTjhzQ0UrMkJBZmJJZ1BOc1FIRytLRApEZkhCaHZoZ1EzeXdTVlI4SVFRVkNn
879 Vkowc2JHaG5rYUpDYStvNk1qZFhaMjZzR0RCNUtrOXZaMmRYVjFxVlFxbVNkTHJzVEVOejQrCnJ0
880 WFZWUjBlSGtxU0RnOFB0Ynk4ck1uSlNmTmt5UldyOSsxZXBLV2xSUjgrZkRpei84NmRPOXJjM0RS
881 TWhIUGpLL2NMOUlEZm5YdmEKRFNIRWFwdWFtbEp0YmUycFk2eXRyZFhNekl4OXRxUnVpYm5tZS96
882 NHNaNC9mNjVVS3FWME9xMVVLcVdSa1JFTkRBeTRSMHVzeEZ6egovVkFzRnJXenM2TnNOcXQwT3Uw
883 ZUo5RVNGeDl1anNTY2RuSHpFQjlzaUE4MnhBY2I0b01OOGNHRytHQkRmTEFoUHRnUUgyeUlEemJF
884 CkJ4dmlndzN4d1liNFlFTjhzQ0UrMkJBZmJJZ1BOc1FIRytLRERmSEJodmhnUTN5d0lUN1lFQjlz
885 aUE4MnhBY2I0b01OOGNHRytHQkQKZkxBaFB0Z1FIMnlJRHpiRUJ4dmlndzN4d1liNFlFTjhzQ0Ur
886 MkJBZmJMNERCMXZyL0lRTUZPQUFBQUFBU1VWT1JLNUNZSUk9Cg==
887 </png>
888 </output>
889 <output>
890 <output_type>display_data</output_type>
891 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
892 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUIxTkpSRUZVZUp6dDNVMUlW
893 RzBid1BIclRJOVprMlZaazVDTEtLaVJYR2lVQzVueVl4T1ZWQWlSClVxc0tETVlXdFluMkxTSnBx
894 N1hLb1hiWklvSlNORFFzb3pBRE45R21ORnRVUXdiMm9WYk9YTS9xaWQ3WEdkUEp5ek56NXY4RE45
895 N04KNlRyZS9wMDduY3BSMWM4aXNsSUFMQ2hIVmRYdElRQXY4cms5QU9CVnhBVVlJUzdBQ0hFQlJv
896 Z0xNRUpjZ0JIaUFvd1FGMkNFdUFBagp4QVVZSVM3QUNIRUJSb2dMTUVKY2dCSGlBb3dRRjJDRXVB
897 QWp4QVVZSVM3QUNIRUJSb2dMTUVKY2dCSGlBb3dRRjJDRXVBQWp4QVVZCjhVUmNCUVVGNGppTzJW
898 dEJRWUhidCtocFh0MC9UL3hiOFk3amlPVnRXRjgvMjNsMS8vNVo5TjhSQzA1VjVmSGp4eEtKUkdS
899 MGRGU20KcHFZa1B6OWZLaW9xNU9USms3SisvWHEzUjh4S25qZ1daaXRWbFVna0ltVmxaWExpeEFr
900 cExpNldzMmZQU2w5Zm54dy9mbHhldlhvbAp3V0JRamgwN0ppOWZ2blI3M095akhqRGJiZFRWMVds
901 eGNiRTZqcU01T1RsYVZsYW1qWTJOcXFvNk1qS2lOVFUxV2xSVXBJN2o2S3BWCnE3Uzh2RnhiV2xy
902 bWZIMjNURTlQYTJOam81YVdsdXI5Ky9jMUhvLy9XdnQ5M2srZlB1bWxTNWMwRUFob1QwK1BHNlAr
903 a1ZmM0wvMCsKYTFMd3B3L2VreWRQMUhFY1BYUG1UTUwxaXhjdnF1TTRldlBtelpTdXY5amk4Ymcy
904 TlRWcGRYVzFmdjc4ZWNaNm9ubDdlbnAwM2JwMQpPakF3c0JnanpvdFg5eThyam9WOWZYMGlJckov
905 Ly82RTY3Mjl2YkpreVJMWnMyZlBZbzZWc3M3T1R1bnU3cGJidDIvTHlwVnorMDlCCmEycHE1T3JW
906 cTlMUTBDRHhlTng0d29XVnNmdm5TdElMN0UrM1VWdGJxN201dVRveE1URmo3Y2VQSDdwaXhRcmR2
907 bjE3eXRkZmJMVzEKdGRyVzFwWjBQZG04OFhoY2QrellvUjBkSFVhVHBjYXIrK2Y1WjY1NFBDNzkv
908 ZjFTWGw0dXk1Y3ZuN0UrTURBZ0V4TVRVbGxaNmNKMAo4emM4UEN4UG56NlYrdnI2ZVQvV2NSd0po
909 OFBTMHRKaU1KbU5UTjQvejhjMU5EUWs0K1BqVWwxZG5YQzl0N2RYUkVTcXFxb1djYXJVCjNicDFT
910 NDRjT1pMd0UyMHVHaG9hcEtlblI3NSsvYnJBazluSTVQM3ovTSs1L2p1dmQzVjF5Yk5uejJhc0R3
911 d01pT000YWZtVkw1Rm8KTkNvYk4yNU0rZkYrdjEvV3JsMHJZMk5qa3BlWHQ0Q1QyY2pvL1V0Mlho
912 U1JqSHBMcHE2dVRuTnljdlRidDI4ejFxYW5wOVh2OTJ0SgpTY21zWjJlMzd5MGIzcnk0ZjBtZnVU
913 U0RYdTdqT0U3Qzk2dXFQSHo0VUVwTFM4WHY5ODlZSHh3Y2xNbkp5VGw5MVV1WGo4ZUZDeGZrCnk1
914 Y3YwdHpjblBUWHpQWnluMWdzSnF0WHI1YlIwVkZaczJhTjFaano0dFg5OC9TZnVWNjhlQ0ZqWTJP
915 eWUvZnVoT3VQSGowU2tmUTgKcnllemI5OCthVzl2bDFnc2x0TGo3OTI3SnlVbEpXa1QxbXd5ZmY4
916 OEhkZC81L1ZkdTNZbFhPL3Y3eGNSU2MvemVoSTdkKzZVUUNBZwpuWjJkS1QyK3RiVlZ3dUh3QWs5
917 bEkrUDNiOWJEYW9aSWRodjE5ZlhxOC9uMHc0Y1BDZGNMQ3d0MXk1WXRLVi9mTFpGSVJDc3JLL1hu
918 Cno1OEoxNVBOT3pnNHFJRkFRQ2NuSnkzSG16ZXY3cDlubjdtK2YvOHVEeDQ4a00yYk55ZDhWZmpR
919 MEpCRW8xRUpoVUl1VFBkM2poNDkKS3JtNXVYTDY5T2s1djlwaWVIaFlEaDA2SkMwdExiSnMyVExq
920 Q2YrZUovYlBsYVFYMk8rMzhlYk5HNjJzck5STm16YXB6K2ZUcFV1WAphaWdVMGl0WHJxaXE2cDA3
921 ZDdTaW9rSURnWUQ2ZkQ0dEtDalFxcW9xN2Uvdm45UDEwOFg0K0xpR1FpR3RyNi9YOSsvZi84L2E3
922 L1BHCjQzSHQ3dTdXRFJzMmFHdHI2MktQT1NkZTNULytzbVFhWEQ5VlUxTlRjdTdjT2JseDQ0YnMz
923 YnRYVHAwNkpkdTJiWlBDd2tJWkdSbVIKdTNmdlNtdHJxOFJpTVdsdWJwWURCdzY0UFhKQ1h0MC80
924 a3FENi8rdDhmRnh1WDc5dXJTMXRjbmJ0Mi9sNDhlUFVsUlVKQlVWRlJJTwpoNlc2dWpycHQ3dlRn
925 VmYzajdqUzRQb0xqWGtYOS9ySmVQWWJHb0RiUFBQYVFzdGpUeWI4d0RYVGVYSC9QQkZYSmgyQk1K
926 Tlg5NDlqCklXQ0V1QUFqeEFVWUlTN0FDSEVCUm9nTE1FSmNnQkhpQW93UUYyQ0V1QUFqeEFVWUlT
927 N0FDSEVCUm9nTE1FSmNnQkhpQW93UUYyQ0UKdUFBanhBVVlJUzdBQ0hFQlJvZ0xNRUpjZ0JIaUFv
928 d1FGMkNFdUFBanhBVVlJUzdBQ0hFQlJvZ0xNRUpjZ0JIaUFvd1FGMkNFdUFBagp4QVVZSVM3QUNI
929 RUJSb2dMTUVKY2dCSGk4cEJZTENaZFhWMGlJdkw2OVd1WHB3RnhlY1M3ZCs5azY5YXRjdmp3WVJF
930 UktTa3BrZlBuCno3czhWWFp6VkZYZEhnSi83K0RCZzlMUjBTSFQwOU8vM3VmMys2V3JxMHRDb1pD
931 TGsyVXZucms4NHYvREVoR1puSnlVOXZaMmx5WkMKMG1jdXgzRVdleGJBVS81SnRzQnBNYk0wTlRY
932 SnRXdlhaR3BxNnRmNy9INi9QSC8rWElMQm9JdVRaUytPaFI1eCtmSmxxYTJ0bGR6YwpYTW5MeTVQ
933 OC9IeUpSQ0tFNVNLK29lRXgwV2hVb3RHb0JJTkJ5Y25KY1h1Y3JFWmNnQkdPaFlBUjRnS01FQmRn
934 aExnQUk4UUZHQ0V1CndBaHhBVWFJQ3pCQ1hJQVI0Z0tNRUJkZ2hMZ0FJOFFGR0NFdXdBaHhBVWFJ
935 Q3pCQ1hJQVI0Z0tNRUJkZ2hMZ0FJOFFGR0NFdXdBaHgKQVVhSUN6QkNYSUFSNGdLTUVCZGdoTGdB
936 SThRRkdDRXV3QWh4QVVhSUN6QkNYSUFSNGdLTUVCZGdoTGdBSThRRkdDRXV3QWh4QVVhSQpDekJD
937 WElBUjRnS00vQXZuK01DMi9PUDM1Z0FBQUFCSlJVNUVya0pnZ2c9PQo=
938 </png>
939 </output>
940 <output>
941 <output_type>display_data</output_type>
942 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUo4QUFBQ09DQVlBQUFBdmtkcmVBQUFBQkhOQ1NWUUlD
943 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUF6eEpSRUZVZUp6dDNURk9L
944 bUVZUnVGM3lDMnh0VFUwYXNNRzJJQVRYUWNoTVM3SDBMZ0JDeE5qCkFnUmJ0a0NEY1RaQVlYT3hO
945 RE8zZ3NUQzF1UDFQMDg1TkY4bWgzKythYURxdXU1dmtxTkkzNnpxdXE2amgxQ1pldlFBS3BmeENX
946 TjgKd2hpZk1NWW5qUEVKWTN6Q0dKOHd4aWVNOFFsamZNSVluekRHSjR6eENXTjh3aGlmTU1ZbmpQ
947 RUpZM3pDR0o4d3hpZU04UWxqZk1JWQpuekRHSjR6eENXTjh3aGlmTU1ZbmpQRUpZM3pDR0o4d3hp
948 ZE1NZkZ0TnB1MGJmdnBXdHUyZVhsNWdTWlNFVCtMMjNWZDZyck9ZRERJCmREcE5yOWRMMjdZWmo4
949 ZlpicmVaeldiMGlFVXE0dVNycWlvUER3OVpyOWU1dnI3T3g4ZEh4dU54bXFiSi9mMDlQVjZ4aWpq
950 NTluYTcKWGVxNnp0dmJXNDZQajdOWUxOTHY5K214aXZWbGZGVlZmZmNzS3N5ZnJ6NzRiUWZpZnNk
951 cm1pYXIxU3FqMFNqRDRmQ3dBK3I3RlhIWAp1NjdMWkRKSjB6U1p6K2RKa3VWeW1mVjZuWnViRzNp
952 NmNoVVJYMVZWdWJ5OHpIdytQK3g0UjBkSFdTNlh1Ymk0Z0tjclYxRXZISHRWClZmMjZ0ZUovVk1U
953 SnA1L0orSVF4UG1HTVR4ampFOGI0aERFK1lZeFBHT01UeHZpRU1UNWhqRThZNHhQRytJUXhQbUdN
954 VHhqakU4YjQKaERFK1lZeFBHT01UeHZpRU1UNWhqRThZNHhQRytJUXhQbUdNVHhqakU4YjRoREUr
955 WVl4UEdPTVR4dmlFTVQ1aGpFOFk0eFBHK0lReApQbUdNVHhqakU4YjRoREUrWVl4UEdPTVR4dmlF
956 TVQ1aGlvbnY4ZkV4Nysvdm42N3RkcnM4UFQxQkU2bUkrTHF1eTJLeHlOWFYxU0hBCjNXNlh1cTd6
957 L1B3TVQxZXVZdjVwdkczYmpNZmpORTJUMVdxVjBXaVU0WENZNlhTYVhxK0k3K0NQVTh4ZDcvVjZ1
958 YnU3eThuSlNaTGsKL1B6YzhHQmZubnhWVlgzM0xDck1uNjgrK0cxUDQvMk9OeHdPYzN0N204bGtr
959 cVpwTXAvUDArLzM2ZkdLVk1UTzEzVmQ2cnJPWURBNApQR3IzTytCMnU4MXNOcU5ITEZJUjhTWEpa
960 clBKNmVucHB4MnZiZHU4dnI3bTdPd01uS3hjeGNTbm44ZFhQV0dNVHhqakU4YjRoREUrCllZeFBH
961 T01UeHZpRU1UNWhqRThZNHhQRytJUXhQbUdNVHhqakU4YjRoREUrWVl4UEdPTVR4dmlFTVQ1aGpF
962 OFk0eFBHK0lReFBtR00KVHhqakU4YjRoREUrWVl4UEdPTVR4dmlFTVQ1aGpFOFk0eFBHK0lReFBt
963 R01UeGpqRThiNGhERStZWXhQbUg4TUV0VnhWRm41VGdBQQpBQUJKUlU1RXJrSmdnZz09Cg==
964 </png>
965 </output>
966 <output>
967 <output_type>display_data</output_type>
968 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
969 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNybEpSRUZVZUp6dDNXdG9V
970 L2NmeC9GUC9rNU1VN3ZXU3kvTzBWUkJXcEZONnh5dVExMTNZVk9xCmlBVzEwd2RqVHF3R0ZjY1FW
971 K2NGdGoxeGJHeXNVeXVsRjhXaVZrVXBvclcyVnFadTBMS3RtNjNWVGV2TWRKdXhyZGlzTmtyUzcv
972 K0IKSUhaTm9zbjZ6VEhKNXdWNWtuTU9mSC8rK2lZbkY5QWtJbDBBNGtCRUE4b2tJbUwwRUVTUjZI
973 OUdEMEFVcVJnWGtSTEdSYVNFY1JFcApZVnhFU2hnWGtSTEdSYVNFY1JFcFlWeEVTaGdYa1JMR1Jh
974 U0VjUkVwWVZ4RVNoZ1hrUkxHUmFTRWNSRXBZVnhFU2hnWGtSTEdSYVNFCmNSRXBZVnhFU2hnWGtS
975 TEdSYVNFY1JFcFlWeEVTaGdYa1JMR1JhU0VjUkVwZWNyb0FlaS9FeEY4OTkxM0tDOHZoOTF1aDh2
976 bFFueDgKUExLeXN2RGVlKzhoS1NuSjZCR2pFbCs1d3BpSW9MeThISk1tVGNLU0pVdVFrWkdCOTk5
977 L0g5OSsreTNlZmZkZFhMNThHZW5wNlZpOAplREV1WExoZzlMalJSeWdzdWQxdVdiWnNtVXljT0ZG
978 cWEydWx0N2Yzd2JHSHQ3V3pzMU8yYk5raWlZbUpjdkxrU1NOR2pWcjgvN25DCmtJaGcxYXBWYUds
979 cFFWVlZGZUxpK3Y3ZmhTYVRDZi9lMXZyNmVpeFlzQURIamgzRGxDbFRRamx1MU9KdFlSaXFycTdH
980 aVJNbmNQancKNFg1aCtmTHFxNitpcUtnSWVYbDU2TzN0Vlo2UWdDaU1xNnVyQytmT25ZUFQ2VFI2
981 bEtCdDNib1ZCUVVGaUkrUEQraTYzTnhjSkNRawpvS2FtUm1reWZWZXZYc1hGaXhmN3ZUSS9rUXk5
982 S1EyaDN0NWVXYjkrdlpqTlpvbUxpNU9ZbUJqWnRHbFRuL2NxNGFDdHJVMUdqaHdwCmQrN2M4WG1P
983 djIwdEtTbVIyYk5uYTR5bTZ2cjE2L0xDQ3k5SVRFeU14TWJHU21wcXF2end3dzlHaitWWDFNUzFl
984 L2R1aVkyTkZRQVAKSHJHeHNWSlpXV24wYUFINTdMUFB4R2F6K1QzSFgxemQzZDFpc1ZqRTZYUU85
985 R2lxSmsrZUxJTUdEZXF6ZjhPR0RaT2VuaDZqUi9NcAphbTRMQ3dzTDBkM2QzZWU1N3U1dWZQMzEx
986 d1pORkJ5SHd3R3IxUnIwOVJhTEJTTkdqRUJIUjhjQVRxWHJ5cFVyYUcxdGhjZmo2Zk84CngrUEI4
987 ZVBIRFpycTBYeCtXbWd5bVVJOUMxRkU4Zm5LSmZkdkdTUG1zV1hMRnNURXhQUlpvOFZpd1pkZmZt
988 bjRiSUU4UHY3NFk2eGQKdTlidk9mNzJ6KzEyWStqUW9lanM3RFI4TFkvNzhIZzhHRDE2ZEwrLzBa
989 aVlHSFIwZEJnK244OTlrQ2poY3JuazlkZGZmL0MrS3pZMgpWdDU2NnkyNWUvZXUwYU1GcExHeFVk
990 TFMwc1R0ZHZzOEIzNjJ0YXFxU3FaT25hb3htcXFHaGdaSlNFaVF1TGc0QVNCbXMxbjI3dDFyCjlG
991 aCtSVTFjSXZjL01XeG9hQkFBMHRqWWFQUTRRWHZ4eFJmbHlKRWpQby83aTJ2bXpKbXljK2RPamJI
992 VWRYZDN5OEdEQndXQXRMZTMKR3ozT0kwWGxMelM4L1lJaG5PemN1Uk9scGFXb3E2dkRVMC8xLysy
993 MXIvWDkrT09QbURsekp1eDJPOHhtY3loR1ZSRXUreGMxbnhaRwpra1dMRm1ISWtDRll1WExsWS8v
994 YTRzcVZLNWc3ZHk2MmJ0MGExbUdGRThZVmhnWVBIb3dEQnc2Z3Via1ppeFl0d28wYk4zeWVLeUtv
995 CnJhM0Z0R25Uc0g3OWVzeWZQeitFazBZM3hoV21ubjc2YWRUVzFpSXBLUWtaR1JsNCsrMjNjZXJV
996 S1RnY0RnRDNmeWEwYmRzMlBQZmMKYzFpMWFoV0tpb3F3WXNVS2c2ZU9MbnpQRlFGdTM3Nk5YYnQy
997 b2F5c0RILzg4UWZhMjlzeGV2Um9aR1Zsd1dheklUczdPNksrdHd5WAovV05jRVlqcmV6THd0cEJJ
998 Q2VNaVVzSzRpSlF3TGlJbGpJdElDZU1pVXNLNGlKUXdMaUlsakl0SUNlTWlVc0s0aUpRd0xpSWxq
999 SXRJCkNlTWlVc0s0aUpRd0xpSWxqSXRJQ2VNaVVzSzRpSlF3TGlJbGpJdElDZU1pVXNLNGlKUXdM
1000 aUlsakl0SUNlTWlVc0s0aUpRd0xpSWwKakl0SUNlTWlVc0s0aUpRd0xpSWxqSXRJQ2VNaVVzSzRp
1001 SlF3TGlJbGpJdElTVlRFZGZmdVhlelpzd2ZaMmRsSVRrNEdBS1NrcE9DMQoxMTdEdm4zN2NPL2VQ
1002 WU1uSkgvc2RqczJiTmlBOVBSMEpDUWtBQURTMHRKZ3M5bHc3dHc1ZzZmekxhTGpFaEY4OGNVWHNG
1003 cXRLQzB0CnhlclZxOUhVMUFRQStPbW5uN0JpeFFyczJMRURWcXNWWDMzMUZVVEU0SW5wWVgvOTlS
1004 ZHljM09SbVprSnA5T0p2WHYzb3EydERRQlEKVTFPRGxKUVV6Sm8xQ3pObXpNRFBQLzlzOExSZVNJ
1005 VHllRHl5Wk1rU21USmxpclMydHZZNTl1OWx0N1MwU0dabXB1VG41NHZINHdubAptQ29pWVZ0Ly9m
1006 VlhzVnF0c25IalJ2bm5uMy82SEh0NGZmZnUzWk9Ta2hKSlRFeVV1cnE2VUkvcFYvanZnZzhmZlBD
1007 QlRKOCt2ZC9HCmlIai80K3ZxNnBLc3JDejU4TU1QUXpHZXFuQ1A2OGFOR3pKMjdGZ3BLaXJ5ZXR6
1008 Yit1cnI2eVV4TVZHYW1wcTB4M3RzNGIwTFB2enkKeXk4eWF0UW82ZWpvOEhyYzF4L2Z6WnMzSlRr
1009 NXVkOHJYYmdKOTdoV3Jsd3BxMWV2OW5uYzEvcUtpNHRseG93WldtTUZMQ0xmYzIzYgp0ZzNMbHkv
1010 SDhPSERBN3B1NU1pUldMcDBLYlp2MzY0MG1TNlB4NE9hbWhvQWVQRGVKTnc0blU1VVZGUmc3ZHEx
1011 QVYvN3pqdnY0TGZmCmZrTnpjN1BDWkVFd3V1NkJkdnYyYlVsSVNKRHIxNi83UE1mZnNxOWV2U3JE
1012 aHcvM2VqdjVKUHZ6eno5bDdOaXhFaGNYSndERWJEYkwKdW5YcmpCNHJZTnUzYjVkNTgrYjVQY2Zm
1013 L20zYXRFbHNOdHRBanhXVWlIdmxPblBtRENaUG5veG5ubmttcU90VFUxTXhZY0lFZlAvOQo5d004
1014 bWE3OC9Ielk3WFk0blU0QWdNdmxRbUZoSWM2ZVBXdndaSUdwcnE3R3dvVUxnNzQrTHk4UDFkWFZB
1015 emhSOENJdXJsdTNiajM0CkxpdFlTVWxKNk96c0hLQ0pRdVBZc1dOd3U5MTludXZwNmNIKy9mc05t
1016 aWc0LzNYL2twT1RuNWk5TTRsNC8zTEhaREtGZWhhaWlPTHoKbFV2dWY1SVlkbys2dWpwTW5UclY3
1017 em1QV2w5bVppWk9uejV0K0ZvQ2VkaHNOcGpONWo1N2FMRlljT0hDQmNObkMrU3hjT0ZDbEpTVQpC
1018 TDEvRFEwTkdEOSt2T0hyRUpISXV5MmNObTBhN0hZN3pwOC9IOVQxVFUxTmFHOXZ4MHN2dlRUQWsr
1019 bjYvUFBQa1pPVGd5RkRobURvCjBLR0lqNDlIZVhrNTB0UFRqUjR0SVBQbnowZFpXVm5RMTVlVmxX
1020 SEJnZ1VET0ZId2ZONFdoclBObXplanM3TVRoWVdGWG8rYlRDYjQKV25aK2ZqNVNVMVB4MFVjZmFZ
1021 Nm94dUZ3d09Gd0lEMDlIWU1IRHpaNm5JQzUzVzZrcGFYaDZOR2plUDc1NTcyZTQydi91cnE2a0ph
1022 VwpodWJtNXFBLzBCcElFUm5YdFd2WE1ISGlSSnc5ZXhZWkdSbjlqdnZhbkphV0ZreWZQaDNuejU5
1023 SFNrcEtLRVlsTHo3NTVCTTBOamJpCjBLRkRHRFJvVUwvanZ2YXZvS0FBbHk5ZlJtVmxaU2pHZkRT
1024 SlVLV2xwVEptekJocGEydnJkOHpic2k5ZHVpUldxMVYyNzk0ZGl2SEkKRDVmTEphKzg4b29zWDc1
1025 YzNHNTN2K1BlOXUrYmI3NlJNV1BHeU45Ly94MktFUjlMeE1ZbGN2OGZmTlNvVVZKUlVTRXVsK3ZC
1026 OHc5dgpUazlQait6YXRVdFNVbEpreDQ0ZFJveEpYdHk2ZFV1eXM3Tmw5dXpaL1g0ditQRCsvZjc3
1027 NzJLejJXVGN1SEZ5NmRLbFVJL3BWMFRICkpTSlNXMXNyYjd6eGhpUWxKVWxCUVlGVVZWVUpBS21x
1028 cXBKMTY5WkpZbUtpdlBubW0xSmZYMi8wcVBRdkxwZExQdjMwVTNuMjJXZmwKNVpkZmx1TGlZamwr
1029 L0xnQWtJcUtDcGt6WjQ2TUdERkMxcXhaSXpkdjNqUjYzSDRpOGoyWE54Y3ZYa1J4Y1RGYVcxdHg5
1030 T2hSNU9UawpZUHo0OFZpMmJCbkdqUnRuOUhqa2g5dnR4cEVqUjFCWldRbUh3NEc2dWpyazV1WWlK
1031 eWNIZVhsNXNGZ3NSby9vVmRURVJSUnFFZmM5CkY5R1RnbkVSS1dGY1JFb1lGNUVTeGtXa2hIRVJL
1032 V0ZjUkVvWUY1RVN4a1draEhFUktXRmNSRW9ZRjVFU3hrV2toSEVSS1dGY1JFb1kKRjVFU3hrV2to
1033 SEVSS1dGY1JFb1lGNUVTeGtXa2hIRVJLV0ZjUkVvWUY1RVN4a1draEhFUktXRmNSRW9ZRjVFU3hr
1034 V2toSEVSS1dGYwpSRW9ZRjVFU3hrV2toSEVSS1dGY1JFb1lGNUVTeGtXazVQOENrR2JYaWgwNml3
1035 QUFBQUJKUlU1RXJrSmdnZz09Cg==
1036 </png>
1037 </output>
1038 </outputs>
1039 </codecell>
1040 </cells>
1041 </worksheet>
1042 </worksheets>
1043 </notebook>
1 {
2 "nbformat": 2,
3 "name": "decompose",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Gate Decomposition</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 1,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 2,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "source": "<h2>Example 1</h2>",
29 "cell_type": "markdown"
30 },
31 {
32 "source": "Create a symbolic controlled-Y gate",
33 "cell_type": "markdown"
34 },
35 {
36 "cell_type": "code",
37 "language": "python",
38 "outputs": [
39 {
40 "output_type": "pyout",
41 "latex": "$$C_{1}{\\left(Y_{0}\\right)}$$",
42 "prompt_number": 3,
43 "png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAYCAYAAABeIWWlAAAABHNCSVQICAgIfAhkiAAAAxZJREFU\nWIXt2EuoVlUUwPHfvb6KW3aLwgd1UySvNAgfGYJpBQ5CwhCCBmrq4KKENXBQ0WMWESIRohMRH1yp\nIKJEMGgQQoWIID2wBBU1xAi0p2mhlYO1Pzz33PP6PrMG+YfDx9l7PfZjrbX3+fgfMxVr8S4+w0d4\nC5PRhR0Y34Hdtfgaf6fnFNYVyC3BX0nmN2zvwNcwRuAFnMbTuCfTdxf2YhsOt2GzF0/l2naJgS+q\n0PsA6zGqoO9ZdLcxBn3YhxOYViIzMw1qY0ObYzGIW3LtTyQ7O0v0VohdLuMRvNlwDEZiP45jQo3s\n91jc0O42TC9ovwE/4xx6cn3zsaGB7a1iB2t5Tazk0gayn4pQq2M6dlf0b00+l2TapuAdsdh13CbS\n48YqoRn4E4c0i+MnG8jA23ison+BmNye9N6L9zVbuBavYmWVwEvJyUAbRusYiTMi58roFoXrIiaK\nxZjSpp+lIp1K+VBMblabhquYiy8ayL2RfB8SudYu9+OSijD+QYRlZewmpjZ0usyVcKtikZjciw3t\n5rk56U/KNmZz6yR+woUaQ3eoie8M45PNOmam3yYLUcSv+A53Zxuzk9srKk9fjaE1hp8tfaK65Rmt\nWcWbLxbhy4K+CXgOq5PfiSU2zuGmMgdz8Lu4mZSxKj0tevCyOISPFsgPqM+5UTiv/LjYhYczYywq\nHKNFQZpd5ejR5OgZQ3OvH69jYYneAsWTW5jsdVX4nCfy5fmCvn5RC0ak9y5xebgvJ3dvsnFnhR/E\n7NfjE3FR3iF2Z3KFTtnkbhVVbFJB3zKxC2fTwE7iY0Pz5nF8k9P7HMtzbYtxLO+gKB8OpOef4Ecx\ngX5xV80ymJ4qbhc7n+WC4XfUaeIoG0JbN+oO2SwuyJ1wXOxqlh4Rqi26xVGyJa/8b0xuUFwMHupA\n96A4erKMw7eZ9zU4IsL1mlCWcy1miVAf04Htw658T84Qx0VrU/rwlfLj4aroEh+z74nceEX59elB\nxRWxjtli91dgEx7I9G1SUeiqSnRT8n8znMcvJbJj8EeHfop0r8beda7zX3AZgzubCkf7gz4AAAAA\nSUVORK5CYII=\n",
44 "text": "C \u239bY \u239e\n 1\u239d 0\u23a0"
45 }
46 ],
47 "collapsed": false,
48 "prompt_number": 3,
49 "input": "CY10 = CGate(1, Y(0)); CY10\n"
50 },
51 {
52 "source": "Decompose it into elementary gates and plot it",
53 "cell_type": "markdown"
54 },
55 {
56 "cell_type": "code",
57 "language": "python",
58 "outputs": [
59 {
60 "output_type": "pyout",
61 "latex": "$$S_{0} CNOT_{1,0} S_{0} Z_{0}$$",
62 "prompt_number": 4,
63 "png": "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\nwL9xjqSsQYpqzQAAAABJRU5ErkJggg==\n",
64 "text": "S \u22c5CNOT \u22c5S \u22c5Z \n 0 1,0 0 0"
65 }
66 ],
67 "collapsed": false,
68 "prompt_number": 4,
69 "input": "CY10.decompose()\n"
70 },
71 {
72 "cell_type": "code",
73 "language": "python",
74 "outputs": [
75 {
76 "output_type": "pyout",
77 "prompt_number": 5,
78 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x2c85f10&gt;"
79 },
80 {
81 "output_type": "display_data",
82 "png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAACOCAYAAAAvtI33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACT5JREFUeJzt3EtIVH8YxvH32DCjleCFLhhoGBRBEGFEEFmLSMzSLLu4\nkGhTUFItui2sIIqiFkEUFaUuwqg2brqH1SK6/BehdLEL2t0wKmy6p/b+d5HlqPN69MyM3w/M5pwz\nP57feeNpjoM6qhoUkUQBgDA4qqpehwAQfeK8DgAgOlEeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkA\nMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUBwITy\nAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHogqz58/l0ePHomqeh1l\nwKM8EBWamppk8uTJMn78eMnKypLRo0fLnTt3vI41oDlKhSMKZGVlSV1dnbS3t/8+lpycLE1NTRIf\nH+9hsoGLTx6IeE+fPpX6+voOxSEi0t7eLhcvXvQoFUJ+8nAcp7+zAIgivlAneJpBpPj165ekp6fL\n69evOxxPSEiQV69eSUpKikfJBjYeWxDx4uLipLq6WpKSkiQxMVFEROLj46WyspLi8BA/MEXU+Pr1\nq1y4cEEWLlwo7969k9TUVK8jDWiUB6KO4zg8VkcAHlsAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHgBMKA8AJpQHABPK\nA4AJ5QHAhPIAYEJ5ADCJqfJISUkRx3FcfaWkpHi9rQ7c3GOk7S3WxdrsHFVVr0O4xXEccXs7fbFm\nb7iZJ9L21lPkjox7EFOfPBCbXrx4IWVlZTJu3DhJSkoSEZHRo0fLqlWr5O7dux6nG7gGRHm8fftW\n/H6/xMXFid/vl7Fjx8rs2bMlNzdXcnNzJTU1VeLi4qS6utrrqL3S1tYm+/fvl5KSEikuLpbCwkKp\nqKiQL1++yLx587yOF7Y3b97IggULZNKkSfLp0yc5efKkNDY2iojIpUuXZOTIkZKbmyvZ2dlSV1fn\ncdrei7r5aQwJtZ2KigoNBAK6f/9+bWtr63CuurpaBw0apGvXrg1rTa+EyvP161fNy8vTnTt3dji+\na9cuHTt2rBYXF/d4rUjw+PFjzcjI0C1btujnz587nPsz98+fP7W8vFyHDRumNTU1/R0zLF3d73Dn\nFwmz8z6Bi0Ld0IULF+rZs2f/OX7r1i1NSEjQ+fPnh72mV0LlKSoq0hUrVnR6Li0tTcvLy3u8ltea\nm5s1MzNTDx8+3On5znJfvXpVhw0bprW1tX0dz6yr+x3u/CJhdt4ncFFnN/THjx86c+bMf443NDTo\n8OHDdcqUKfrt27ew1vRSZ3laWlrU7/fr5cuXO31PTk6OPnv2rEdrRYLS0lJds2ZNyPOhch89elSz\ns7P7KlavhcptmV8kzC7mf+bR3NwsZWVlHY59+PBB5syZI0OGDJEzZ85IfHy8R+nccf36dWltbZXH\njx93en769OmSkZHRz6lsPn36JFVVVbJhw4aw37ts2TJ58uSJ3Lt3rw+S9Z2onZ/X7eWmnmzn+/fv\nOn36dE1JSdH6+npX1uxPneV59+6d+nw+DQQCun79er1+/bq2traa1vLaoUOHtLCwsMtrusq9detW\nXbVqlduxXBEqt2V+kTA77xO4qLsb+uvXLy0uLtZAIKBXr151Zc3+FirP3r17NRAIqOM46jiODhky\nRFevXq0tLS1hr+WlgoICPXnyZJfXdJX7wYMHmpmZ6XYsV3SVO9z5RcLsvE/gou5u6ObNm9VxHD1+\n/Lhra/a3rvI8fPhQt23bptnZ2er3+9VxHC0qKjKt5ZXs7Oxui72r3O/fv9ekpCSXU7mju/sdzvwi\nYXYhE4hIVL5COXLkiDqOo9u3b+9w/Nu3b3rlypXQNygC9tTTPf7p/v37mp6ern6/X3/8+BE1e4v1\nV091Nz+v9yEiA+OTx/nz59Xn8+ny5cv/OVdeXq7V1dVhr+mVv/Ps3r075LWbN29Wv9+v379/79Fa\nkWDJkiWdfq38p65y//fffzp+/Hi3Y7mis9zW+UXC7GL+25ba2lpZvHixzJw5U44ePfrP+crKSsnJ\nyfEgWe99/vxZrl27FvJ8MBiUrKwsCQQC/ReqlxYtWiSVlZXm91dWVsrixYtdTNR3on5+XreXm/7e\nzsuXLzUtLU0nTJigwWDwn+urqqo0Pz8/rDW99meec+fOqc/n04aGhn+ua25u1hEjRui1a9d6tFak\naG1t1VGjRmldXV3Ia0Ll/vjxoyYnJ+vr16/7Kl6v/J27N/OLhNnF7CePYDAoc+bMEVWVs2fPSmJi\n4u9zTU1Nsnv3bikpKZGCggIPU/bOlStXJDMzUzZt2iT19fW/jzc2NkpBQYFs2rRJZsyY4WHC8Pl8\nPlm5cqWUlZVJe3t7WO/dtWuXzJo1S9LS0voonbuifX4+rwP0lXXr1sn9+/dl1KhRsmTJEhER+fnz\npzQ0NEgwGBQREb/fH5m/cNRDzc3Ncvv2bamtrZW1a9dKS0uLpKamSkJCguzbt0+mTp3qdUSTjRs3\nSk5OjpSWlsqBAwdk0KBB3b7n4MGDcurUKbl582Y/JHRHtM+Pv+fhwZq9EWt/EyKUlpYWKSwslKFD\nh8qOHTtk4sSJv8/9mfv58+eyZ88euXz5spw/f17GjBnjVeRuxdrsYvaxBdEtKSlJLly4IFOnTpW5\nc+fKtGnT5NixY3Lp0iURETlx4oTk5+dLVlaW+P1+uXHjRkQXRyzik4cHa/ZGrP3v1RNtbW1y5swZ\nOX36tLx9+1ZqampkwYIFkpeXJ0uXLpXBgwd7HbFHYm12lIcHa/ZGrP0DHEhibXY8tgAwiblvWxzH\ncXW95ORkV9dzg1t7jMS9xbpYml1MPbYA6D88tgAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJj8DwAon3puf4mgAAAA\nAElFTkSuQmCC\n"
83 }
84 ],
85 "collapsed": false,
86 "prompt_number": 5,
87 "input": "circuit_plot(CY10.decompose(), nqubits=2)"
88 },
89 {
90 "source": "<h2>Example 2</h2>",
91 "cell_type": "markdown"
92 },
93 {
94 "source": "Create a controlled-Z gate",
95 "cell_type": "markdown"
96 },
97 {
98 "cell_type": "code",
99 "language": "python",
100 "outputs": [
101 {
102 "output_type": "pyout",
103 "latex": "$$C_{0}{\\left(Z_{1}\\right)}$$",
104 "prompt_number": 6,
105 "png": "iVBORw0KGgoAAAANSUhEUgAAADkAAAAYCAYAAABA6FUWAAAABHNCSVQICAgIfAhkiAAAA1JJREFU\nWIXt2FuIVWUUwPHfNOMMXZjR0pp5qLBoxqgH04rIQEnoMkQQXYToYsJkRBFEpBURBYm9GdRDPiQy\nUEQvRZQihD50E8EuUEZBWg9O9wtZmWT1sPbOc/bsvc93zpyHHuYP+2F/a5219trfWutb+zCLUdyP\nl/E2duAFLEQPtmK4C34m8E92/Yr3sT273szWf8ZgF3z9Ry/W4yDuxjkNstOxC1vwaRs25+K2Ctnr\n+AKXlsi24ghW1ti+r43nAGfgXRzAogqdJeLtPpNocxCTGCqRnYD9FbLHMz+rW9i/Bk8mPos+7M6c\njrTQ/QbXJdrdgsUVsmvxUMn6ahHgE4k+XsKaFMUNmeFbEnTfEinYisV4rUZ+vem7uFKk6GSC/Zxh\nfII5dUoX4Cg+xnEJRlclOn9RpFMq54smsxP9bfwONuHGOoVHxC5OtGm4jj58L70rjuAr7MO8Dvzd\nJbpxJdtEkEs7MF7FMnyYqHsS9opaX9ihvxU4VKfwo0jX4xOMjSY6vRVvJOj1Znq/4aKC7EKcluhv\nRGzU/MbFxtr7UtTCHy0MLcAdiU6HM5uteBZX4mbsKcjW4ZdEf1NimDizcbExyF04WZyTddwjCjxn\nmRgcHsDDBd1+UZd1rMNaMVm9WpCdLSarw9n9HDyPs2rsHRKpX8olmbH1NQbWZlfOAjH19Gb3m7KH\nzZlQX5Or8DeeLpH1ibPv9ux+jTgz/1I9pAyKdD23xqer8Dvu1VybY9iI8YL+Y9jccH+5OKtyxjN7\nPSW+LhMv9RXNGdWXBbFNBHRK4XeHVQd5sQiy6fwuptJ2LBdveIeozyl8jufEJNTIIs3z60HxFgfw\npxgP+0WNHGjQ68+CGxCd9J1sfUikaH6g78QPFQGVMYaPFPpAWb3sMb34q5gvdionb1pD+BY/iTFx\nTHOQRxQ6YJfIM6CJlMmmjv0iPXJOdOyzKGczbpihnxT6cLVoTE3MNMi9OLXhfhhfi53KmRQDxvIZ\n+mrFg3gPn3Xb8BLNqf0UHi3RW5rpDXTBZ1njGcUHKkqgt2yxDaYyw1fgPLGrGzTvZK63DzeJfxg6\nYVx8fq0Q5+Bcx46njbhTjITTKGvtndAjOmIxuCJ51+2EeZoz4Si+64LdWWb5P/EvN2Kn7DFqDnoA\nAAAASUVORK5CYII=\n",
106 "text": "C \u239bZ \u239e\n 0\u239d 1\u23a0"
107 }
108 ],
109 "collapsed": false,
110 "prompt_number": 6,
111 "input": "CZ01 = CGate(0, Z(1)); CZ01\n"
112 },
113 {
114 "source": "Decompose and plot it",
115 "cell_type": "markdown"
116 },
117 {
118 "cell_type": "code",
119 "language": "python",
120 "outputs": [
121 {
122 "output_type": "pyout",
123 "latex": "$$H_{1} CNOT_{0,1} H_{1}$$",
124 "prompt_number": 7,
125 "png": "iVBORw0KGgoAAAANSUhEUgAAAHwAAAAcCAYAAACj6tvkAAAABHNCSVQICAgIfAhkiAAABWZJREFU\naIHtmmtsFUUUx39FoAg+QKiSqtxGULCAqEAk1mINPj6IGJGEDxBBER/1kWAkBmPUqISYGKL4qApG\nHsHY+Pogii2oBVFRa1KxKPVF1EggJGAVCeDzw3/W7t07s7u3dy80dH9f5t45s2dm58ycOWfuhZQU\n4A1gG/Av8CfQAiw1sgzwPvCLkf8GfAbclof+Y4GZwNPARqABaAKmGfllwHxf+yeBzcBfwN/AORad\na4H9Zkx7gcWWNiOA54BXgGXA20A9MNoxzllG30GgGXgH+NrU/QqsN2P/HPgH+CbknTtLsW3xPxOM\nkicc8gVGPr0TetvQoGuA3qa+D/AY8DiwD7go8Nwg4AvT57MO3bPRBJUE6nsAdeb54GKZghbKdRZ9\nDcD9vjFCxyK43dL3u45xFUqxbJHFfKPkCoe8Ae22AXnoXAgcAu50yI9BK/R3oFdAdg0wA9hq5Mdb\nnr8LGBuoK0GLay1aVDYeRbuj3Fc3EHmCIC+geRkeqB+CFlUxKIYtcliDjNPPIuuFdmFLHvpq0aBn\nRrRbCLxlqV8MnAbcYfTUWtqsRIvGzxLk8gaF9DnJ6HzAVzcX+wR/C+y01I8F5oX0UQhJ2yKHHugc\n/NAhvxBN0JKY+kYit9kUo+0c7BPn7bYTgT+ALwPyEmBVoO5hM86rI/rMmHav+epmoXnwU27a2Xb+\nSGB8RD+dIVFbBF/IYwzQH7eBLjHlhjidAMtRoHZfjLat6Bz2cwLQbj63Ay8Bo8g+50cjd+9RDtyD\ndveaiD6HmrKvr24FCsT8TDTlRouOreg4SppEbdHTUe+92OXknokA40xpe/Egp5j2nwKbYrT/xFJX\nRfYKrwNuBG716bw4MJ5a5O5WofMtjMqQvv148xJ3oSdBkrZw8jpKgY6zyHoil/pVTF3XIpdTSECz\niI5d6LEZpUtl5vsKsgO9DabfK2Poryc8KPJoBfaQmwUUkyRtYXXpJUA1SmH2WeTnI9cXd0VdYMrW\nGG3LsEeaZwDfB+rqULo0x3zvjfJUj2Gm3B7RZwaYCuwCPgppNxB5gk1ocRwOkraF1eCVKKL9wPGM\nd27GdWs/mnJHjLb3km000Nm/39K2Hu22m9GY2wLyXaZsJ5x5aKfMRemei2pkgIJcZ54kbQurwb0z\nw3XeVpnS9uLTUC7sp8mU50WMpRLtxuBKnoD9bD2AgsEK5PKD4/EmaVJIn+OQoV8E3owYX1jAVgbc\nDdyCLo4qInR52ObL1mdStrDyMnJZgx3yncB3gbrx6EaqBXgkICtB0esWsqNgP8OR8UotsgeBsx3P\nnYki6UPIE/iZiM6+esezI4DdwKvYz8cgzcgD2ALd1cBk83kUShldGRCEz5efpG2RQ6lREjwvPcaY\nASx3yJc5OhmAjP4ecKqvvj+6PVtE9vWlx8nAz3QEZjbW4T57ZyAj+Xd5XxRItqEoPw4ZtHjWW2Sn\nI6/kX6w/oPw4Ctd8QZFs4a3CDHIL21AaNQSlQd5t1lXAx3S88BR0blQRj73ApejHimdQirYSeMjI\nFqBd6lFq+vsJ3a61oJzaxlNoIdlYjYw7FbntpcDzyOVOJjxzqKDjR51mdINXjdxrIwqYAM4y73DQ\n9+wOoo8wF8W2RaKErdijlenkBozrUAAaRTHnK3SHp3Se7eSmaf1QBtHlSA1eOFuAkwJ1g9Fx1OVI\nDV44B1Bgea757mUOjeb7MHJvCY8Yrrv0fBmKgocadNW3G/2iFOey5WhgNgo8G1Fufz2K6kG//deQ\n/ceLYs5XqO6k7oT7oBTLzx6yI+/uQCnZ0Tpojm9Af5zwKOZ8pbboAtx0pAeQcvioRpckKd2EpOKk\nlJSUlJSUlG7Mf20dXidP7IWnAAAAAElFTkSuQmCC\n",
126 "text": "H \u22c5CNOT \u22c5H \n 1 0,1 1"
127 }
128 ],
129 "collapsed": false,
130 "prompt_number": 7,
131 "input": "CZ01.decompose()\n"
132 },
133 {
134 "cell_type": "code",
135 "language": "python",
136 "outputs": [
137 {
138 "output_type": "pyout",
139 "prompt_number": 8,
140 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x472d550&gt;"
141 },
142 {
143 "output_type": "display_data",
144 "png": "iVBORw0KGgoAAAANSUhEUgAAANcAAACOCAYAAACi/J2KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAB1NJREFUeJzt3U1IVG0bwPHrTI9Zk2VZk5CLKKiRXGiUC5nyYxOVVAiR\nUqsKDMYWtYn2LSJpq7XKoXbZIoJSNDQsozADN9GmNFtUQwb2oVbOXM/qid7XGdPJyzNz5v8DN97N\n6Tre/p07ncpR1c8islIALChHVdXtIQAv8rk9AOBVxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUY\n8URcBQUF4jiO2VtBQYHbt+hpXt0/T/xb8Y7jiOVtWF8/23l1//5Z9N8RC05V5fHjxxKJRGR0dFSm\npqYkPz9fKioq5OTJk7J+/Xq3R8xKnjgWZitVlUgkImVlZXLixAkpLi6Ws2fPSl9fnxw/flxevXol\nwWBQjh07Ji9fvnR73OyjHjDbbdTV1WlxcbE6jqM5OTlaVlamjY2Nqqo6MjKiNTU1WlRUpI7j6KpV\nq7S8vFxbWlrmfH23TE9Pa2Njo5aWlur9+/c1Ho//Wvt93k+fPumlS5c0EAhoT0+PG6P+kVf3L/0+\na1Lwpw/ekydP1HEcPXPmTML1ixcvquM4evPmzZSuv9ji8bg2NTVpdXW1fv78ecZ6onl7enp03bp1\nOjAwsBgjzotX9y8rjoV9fX0iIrJ///6E6729vbJkyRLZs2fPYo6Vss7OTunu7pbbt2/LypVz+09B\na2pq5OrVq9LQ0CDxeNx4woWVsfvnStIL7E+3UVtbq7m5uToxMTFj7cePH7pixQrdvn17ytdfbLW1\ntdrW1pZ0Pdm88Xhcd+zYoR0dHUaTpcar++f5Z654PC79/f1SXl4uy5cvn7E+MDAgExMTUllZ6cJ0\n8zc8PCxPnz6V+vr6eT/WcRwJh8PS0tJiMJmNTN4/z8c1NDQk4+PjUl1dnXC9t7dXRESqqqoWcarU\n3bp1S44cOZLwE20uGhoapKenR75+/brAk9nI5P3z/M+5/juvd3V1ybNnz2asDwwMiOM4afmVL5Fo\nNCobN25M+fF+v1/Wrl0rY2NjkpeXt4CT2cjo/Ut2XhSRjHpLpq6uTnNycvTbt28z1qanp9Xv92tJ\nScmsZ2e37y0b3ry4f0mfuTSDXu7jOE7C96uqPHz4UEpLS8Xv989YHxwclMnJyTl91UuXj8eFCxfk\ny5cv0tzcnPTXzPZyn1gsJqtXr5bR0VFZs2aN1Zjz4tX98/SfuV68eCFjY2Oye/fuhOuPHj0SkfQ8\nryezb98+aW9vl1gsltLj7927JyUlJWkT1mwyff88Hdd/5/Vdu3YlXO/v7xcRSc/zehI7d+6UQCAg\nnZ2dKT2+tbVVwuHwAk9lI+P3b9bDaoZIdhv19fXq8/n0w4cPCdcLCwt1y5YtKV/fLZFIRCsrK/Xn\nz58J15PNOzg4qIFAQCcnJy3Hmzev7p9nn7m+f/8uDx48kM2bNyd8VfjQ0JBEo1EJhUIuTPd3jh49\nKrm5uXL69Ok5v9pieHhYDh06JC0tLbJs2TLjCf+eJ/bPlaQX2O+38ebNG62srNRNmzapz+fTpUuX\naigU0itXrqiq6p07d7SiokIDgYD6fD4tKCjQqqoq7e/vn9P108X4+LiGQiGtr6/X9+/f/8/a7/PG\n43Ht7u7WDRs2aGtr62KPOSde3T/+smQaXD9VU1NTcu7cOblx44bs3btXTp06Jdu2bZPCwkIZGRmR\nu3fvSmtrq8RiMWlubpYDBw64PXJCXt0/4kqD6/+t8fFxuX79urS1tcnbt2/l48ePUlRUJBUVFRIO\nh6W6ujrpt7vTgVf3j7jS4PoLjXkX9/rJePYbGoDbPPPaQstjTyb8wDXTeXH/PBFXJh2BMJNX949j\nIWCEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CE\nuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHi8pBYLCZdXV0iIvL69WuXpwFxecS7d+9k69atcvjwYRERKSkpkfPn\nz7s8VXZzVFXdHgJ/7+DBg9LR0SHT09O/3uf3+6Wrq0tCoZCLk2Uvnrk84v/DEhGZnJyU9vZ2lyZC\n0mcux3EWexbAU/5JtsBpMbM0NTXJtWvXZGpq6tf7/H6/PH/+XILBoIuTZS+OhR5x+fJlqa2tldzc\nXMnLy5P8/HyJRCKE5SK+oeEx0WhUotGoBINBycnJcXucrEZcgBGOhYAR4gKMEBdghLgAI8QFGCEu\nwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhx\nAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaI\nCzBCXIAR4gKM/Avn+MC2/OP35gAAAABJRU5ErkJggg==\n"
145 }
146 ],
147 "collapsed": false,
148 "prompt_number": 8,
149 "input": "circuit_plot(CZ01.decompose(), nqubits=2)"
150 },
151 {
152 "source": "<h2>Example 3</h2>",
153 "cell_type": "markdown"
154 },
155 {
156 "source": "Create a SWAP gate",
157 "cell_type": "markdown"
158 },
159 {
160 "cell_type": "code",
161 "language": "python",
162 "outputs": [
163 {
164 "output_type": "pyout",
165 "latex": "$$SWAP_{1,0}$$",
166 "prompt_number": 9,
167 "png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAcCAYAAAAgLuLfAAAABHNCSVQICAgIfAhkiAAABDdJREFU\naIHt2HuIV1UQB/CP7ur63DRre/0RuET2QHpQ0sO0skhJwhJKoiiVIAiDpDAqwYwsih5Y9KSo7EVG\nUVErbiXawyikCI0okvKPyNI0rVxbsz/m/Ni71/v7/W4+SnS/cDnnzJwzM2fuuTNzLj3YI2jEDCzA\nS3gd0zAQ76AdHdiOTizH4LR2Fr5PvO34HFdmZF+FtYm3GXeWsOc1TK3B74NF+DbJ3YDFaMMyfIe3\ncGIJXbuE/knRreidod+Mr4Uz4e5k6JMFMloT79UqOk7FxxhUwp6Lk6zZJeZemOZen6P3wePYgnNK\nyKmL3lXoz+JH3IG/M/R54nS1p/Ha1G4pkNGU2r5VdFyUns11bByI21P/0DpzYXRq23P0vzA32TW9\nhJy6KHLeAWJTr1RZ8yXeTf11NWTPSO2wAt7x+EmX82vhNjyQ+mWcNwbrsaqANyC1h5WQUxdFzjtT\nHPGjqqxZhtWpv77KnHH4BpsUO+9aPFLCvmPE5/+M+BTrOW8gTsaHaX4eo1K7oITuncJBIgF04F5d\nzizCGcLIhzK0JhEv+won/5xbMwkTStryNoan/joR9GvhvGTPTQW8BnyVbBpcwN9tuFFXJq1kxIcx\nJDdvhB2dNxsTU/8z8SJ6pXET5pe04XIRoypYhT/qrJmb7Dk9Rz9CVAsLRVja4xiBOViKrcmohbk5\nLbo7rxVvZPiLEn9oGs/E0SV0N+MTXTEK3kuyam1+KbaJ7P9oep5O+xhXQu8ewXH4QWSsfhl6o+7O\nezPNreCFxG8VQXpOSX0PYnKO9mKSVc35/UTW/7Skjl1GPmHMqjJvJZ4XxvfK0DuxMfUni8J4ZYb/\nS2qH4QbcV8KmEzBFlBNtmee0xK+WNEaJsLCkhI7dgsZMfxDG4q4qc5uxAn/m6OtEAJ6Nswt4MF4U\n1xvVRi/h4DEiuGcxUySwas47K7VL6ujog8dEDVsvARHha5KoHI4U+8z7wHhxkloLBLSIuizvHOIz\n6dBV12VxnTity1UvyLOYJpJVES5VfHOooF3Y31xD/lRRcHcKp9RDg0hUh6TxdDxVNPEeUZstxLEZ\n+nCx+ZlVFLQlBY0FvCliw6MLeHlcIOJqQxX+uUnWvAJeM34X2b0MtijnvEvwUWbcIk7dgPzE53Cg\nOF2LxYlqExfyfOrP4gmcX4U3JsmthZPES6uURct1fxH98b4IAdvxWxqPTM8yrEm8TfhAlDm1UNZ5\nt9jxptUpCvH9FmWdd7+43WSxSfqxUCYO7c9Ybcdr3gDpWtrjvNpYIeJcBS2iIljz/5izd6Dosx2J\nw3O0QeLXXCVBXIGXK8xqmW1fxQTxF3uscMwQfJF483GZ7gluqzhl14gb0inilrThP7F2L8NQUWRX\nnoMzvAZcXWNtU55QVJvty/i1Bm+b2v7o2M227FOYKK5fPdgJ7G9fYQ960IMe/Cv8A97G6Y4Q7MLo\nAAAAAElFTkSuQmCC\n",
168 "text": "SWAP \n 1,0"
169 }
170 ],
171 "collapsed": false,
172 "prompt_number": 9,
173 "input": "SWAP10 = SWAP(1, 0); SWAP10\n"
174 },
175 {
176 "source": "Decompose and plot it",
177 "cell_type": "markdown"
178 },
179 {
180 "cell_type": "code",
181 "language": "python",
182 "outputs": [
183 {
184 "output_type": "pyout",
185 "latex": "$$CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$",
186 "prompt_number": 10,
187 "png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAAAcCAYAAABxlhP5AAAABHNCSVQICAgIfAhkiAAABThJREFU\neJztm3uIVUUcxz93t01ta0PD2h7uZqQGWWRgSvZ+K0QEYUQPemCREj0kkLTAiEoIAwuWipDNsqRa\ngghCxY0sLXAVCrPWjc2gMrQnvShs++P3u7tzZ+ecM/ees+nemQ9czj3z+83re+bM/c3ccyASiYwa\npgIPAK8DHwLrgbXAZKAEdAKt6nsS0A3sBgaAbY7yZgKfq30A6AMutnwagOuALmCNftYDjwNHWL7d\nWs5+YJP6/aRpvcC7mr5H0x6qqvfVEbXypxqtIOpFI7AE+BZYCEwxbJOA94DViAA2i4FPtJGzE8rv\nBq51pJ8C7AQ6gGYjvQm5YL1aP8AJwD5glqPsf4DxRtphwEbg5oT25CFq5U8erSA8vQBoA7YCXwGn\nJficjYjyrMO2Fpij9s6E/K840iYB/cCtCXnGaZu69Pxe4BrL53DgD6T9No8wXOC8RK38yasVhKUX\nIHf7x0jjj8/w/Z7hM1EJWKffe4A/gQmWzwRglZXWisxQz2XUuQa5GO1aT6NlL1+sFY68z1A5s+Ul\nauVPXq0gEL0arPNHgXOAh4HvMvLuRn7CTaYjYQFIaDAWuM3yOR/4wDhvQX7yjwTuy6izT49nAe8A\nByz7hXp835G3B1kDFEXUyp+8WkFYegEwQxuxk+E3qovrHWmLGGp4M/AzInDJ8FlJ5YL9QWTmecKj\nzpfU11U3yEL7AHC0R1l5iFr5U4RWEI5egyzVBi3IUUYnMnOVWaVlXm6kvWp8bwC+Vp9pHuVvU9+T\nHbZG4Fdgu39zayZq5U8RWkEgepkz1nl6zFPpWOAv47xDj3frsQX4xbC3Iwvu/cAXGWWPB04H9iIL\ncJsZwFG4Q4qiiVr5U4RWEIhe5g05C/gX+Mwj31RH2hQkhDDZhWxlXw2ciFycLYb9VD32e9S5ELko\nXQn2C/T4fwyyqJU/ebWCsPQaZAfwg4ffRNwx+R3AFY70+UgosBx4ksqQ4Ey1bciocwwye/UjM5WL\nt7SsiRllFUHUyp+8WkFYeg3ytFbaluG3HDjOkf4isptl04R0+BvgTcvWgOxO/U7l+sBmBTLLXpRg\nLyGhic8s3Aa85uE3F9kUWMpQWFQmBK3S+u8iSde8WsHo0AuKGVuDzEZi9CUpBd2lHxfrEtIBHkMu\nyssO2/Nqm5uQdzHyh+ztKeVP1zI6UnyagWXahr4UP5A/rj9iaAfvDWQ2LlPvWmX13yRL17xawaGv\nV5Fjq4KrtIH3IE8vlJmGhATzEvLdCLyd0og2ZMv4ToetSfNuofKP3nZk1vwUWXCnsQwR7aYMP4DL\nyBbtBeTpizK3IM8ymtSzVj79t0nTtVatYHToVaaosVXBTOApYLM6dmqjJjt85wFfMvRA7w4kdnfR\nRfKifQxwPxKarNZPB/J84LiEPAuQ9cFWJOQYQEKXTcgjVkn4iLYZWbeYefY5/OpVK9/+Y/mk6VqN\nVjC69CpT5NgKBh/RdgE3GOdzgL9HrEWHHrX030fXeif32PJ5ciJE+pFZsUwz8ONBasvBIPT+jySp\n2sYb0s124FjjvBV56iMUQu//SJKqbbwhh7gU2QQAeTPhEsN2Jem7bPVGVv9NrSLZeI8t+xWTeqaE\nPJExH3nvrjwZ7UHE6gF+QwTrRd5OOAM4F9nFW0llqFHPpPXf1ipN11CIY6tGWq1Pi2FrQragTRqR\nd/lCJan/tlZpuoZCIWMrtMG2N8V2DMPfabPfiQuNpP7bWqXpGgpxbBXMIuKa2peoVXVEvWogtGgh\nD1Gr6oh6RSKRSCQSiUQikUikcP4DcImNVwb6bzMAAAAASUVORK5CYII=\n",
188 "text": "CNOT \u22c5CNOT \u22c5CNOT \n 1,0 0,1 1,0"
189 }
190 ],
191 "collapsed": false,
192 "prompt_number": 10,
193 "input": "SWAP10.decompose()"
194 },
195 {
196 "cell_type": "code",
197 "language": "python",
198 "outputs": [
199 {
200 "output_type": "pyout",
201 "prompt_number": 11,
202 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x7f082c973650&gt;"
203 },
204 {
205 "output_type": "display_data",
206 "png": "iVBORw0KGgoAAAANSUhEUgAAANcAAACOCAYAAACi/J2KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACrlJREFUeJzt3WtoU/cfx/FP/k5MU7vWSy/O0VRBWpFN6xyuQ113YVOq\niAW10wdjTqwGFccQV+cFtj1xbGysUyulF8WiVkUporW2VqZu0LKtm63VTevMdJuxrdisNkrS7/+B\nIHZNosn6zTHJ5wV5knMOfH/++iYnF9AkIl0A4kBEA8okImL0EESR6H9GD0AUqRgXkRLGRaSEcREp\nYVxEShgXkRLGRaSEcREpYVxEShgXkRLGRaSEcREpYVxEShgXkRLGRaSEcREpYVxEShgXkRLGRaSE\ncREpYVxEShgXkRLGRaSEcREpYVxEShgXkRLGRaSEcREpecroAei/ExF89913KC8vh91uh8vlQnx8\nPLKysvDee+8hKSnJ6BGjEl+5wpiIoLy8HJMmTcKSJUuQkZGB999/H99++y3effddXL58Genp6Vi8\neDEuXLhg9LjRRygsud1uWbZsmUycOFFqa2ult7f3wbGHt7Wzs1O2bNkiiYmJcvLkSSNGjVr8/7nC\nkIhg1apVaGlpQVVVFeLi+v7fhSaTCf/e1vr6eixYsADHjh3DlClTQjlu1OJtYRiqrq7GiRMncPjw\n4X5h+fLqq6+iqKgIeXl56O3tVZ6QgCiMq6urC+fOnYPT6TR6lKBt3boVBQUFiI+PD+i63NxcJCQk\noKamRmkyfVevXsXFixf7vTI/kQy9KQ2h3t5eWb9+vZjNZomLi5OYmBjZtGlTn/cq4aCtrU1Gjhwp\nd+7c8XmOv20tKSmR2bNna4ym6vr16/LCCy9ITEyMxMbGSmpqqvzwww9Gj+VX1MS1e/duiY2NFQAP\nHrGxsVJZWWn0aAH57LPPxGaz+T3HX1zd3d1isVjE6XQO9GiqJk+eLIMGDeqzf8OGDZOenh6jR/Mp\nam4LCwsL0d3d3ee57u5ufP311wZNFByHwwGr1Rr09RaLBSNGjEBHR8cATqXrypUraG1thcfj6fO8\nx+PB8ePHDZrq0Xx+WmgymUI9C1FE8fnKJfdvGSPmsWXLFsTExPRZo8ViwZdffmn4bIE8Pv74Y6xd\nu9bvOf72z+12Y+jQoejs7DR8LY/78Hg8GD16dL+/0ZiYGHR0dBg+n899kCjhcrnk9ddff/C+KzY2\nVt566y25e/eu0aMFpLGxUdLS0sTtdvs8B362taqqSqZOnaoxmqqGhgZJSEiQuLg4ASBms1n27t1r\n9Fh+RU1cIvc/MWxoaBAA0tjYaPQ4QXvxxRflyJEjPo/7i2vmzJmyc+dOjbHUdXd3y8GDBwWAtLe3\nGz3OI0XlLzS8/YIhnOzcuROlpaWoq6vDU0/1/+21r/X9+OOPmDlzJux2O8xmcyhGVREu+xc1nxZG\nkkWLFmHIkCFYuXLlY//a4sqVK5g7dy62bt0a1mGFE8YVhgYPHowDBw6gubkZixYtwo0bN3yeKyKo\nra3FtGnTsH79esyfPz+Ek0Y3xhWmnn76adTW1iIpKQkZGRl4++23cerUKTgcDgD3fya0bds2PPfc\nc1i1ahWKioqwYsUKg6eOLnzPFQFu376NXbt2oaysDH/88Qfa29sxevRoZGVlwWazITs7O6K+twyX\n/WNcEYjrezLwtpBICeMiUsK4iJQwLiIljItICeMiUsK4iJQwLiIljItICeMiUsK4iJQwLiIljItI\nCeMiUsK4iJQwLiIljItICeMiUsK4iJQwLiIljItICeMiUsK4iJQwLiIljItICeMiUsK4iJQwLiIl\njItICeMiUsK4iJQwLiIljItICeMiUsK4iJQwLiIljItISVTEdffuXezZswfZ2dlITk4GAKSkpOC1\n117Dvn37cO/ePYMnJH/sdjs2bNiA9PR0JCQkAADS0tJgs9lw7tw5g6fzLaLjEhF88cUXsFqtKC0t\nxerVq9HU1AQA+Omnn7BixQrs2LEDVqsVX331FUTE4InpYX/99Rdyc3ORmZkJp9OJvXv3oq2tDQBQ\nU1ODlJQUzJo1CzNmzMDPP/9s8LReSITyeDyyZMkSmTJlirS2tvY59u9lt7S0SGZmpuTn54vH4wnl\nmCoiYVt//fVXsVqtsnHjRvnnn3/6HHt4fffu3ZOSkhJJTEyUurq6UI/pV/jvgg8ffPCBTJ8+vd/G\niHj/4+vq6pKsrCz58MMPQzGeqnCP68aNGzJ27FgpKiryetzb+urr6yUxMVGampq0x3ts4b0LPvzy\nyy8yatQo6ejo8Hrc1x/fzZs3JTk5ud8rXbgJ97hWrlwpq1ev9nnc1/qKi4tlxowZWmMFLCLfc23b\ntg3Lly/H8OHDA7pu5MiRWLp0KbZv3640mS6Px4OamhoAePDeJNw4nU5UVFRg7dq1AV/7zjvv4Lff\nfkNzc7PCZEEwuu6Bdvv2bUlISJDr16/7PMffsq9evSrDhw/3ejv5JPvzzz9l7NixEhcXJwDEbDbL\nunXrjB4rYNu3b5d58+b5Pcff/m3atElsNttAjxWUiHvlOnPmDCZPnoxnnnkmqOtTU1MxYcIEfP/9\n9wM8ma78/HzY7XY4nU4AgMvlQmFhIc6ePWvwZIGprq7GwoULg74+Ly8P1dXVAzhR8CIurlu3bj34\nLitYSUlJ6OzsHKCJQuPYsWNwu919nuvp6cH+/fsNmig4/3X/kpOTn5i9M4l4/3LHZDKFehaiiOLz\nlUvuf5IYdo+6ujpMnTrV7zmPWl9mZiZOnz5t+FoCedhsNpjN5j57aLFYcOHCBcNnC+SxcOFClJSU\nBL1/DQ0NGD9+vOHrEJHIuy2cNm0a7HY7zp8/H9T1TU1NaG9vx0svvTTAk+n6/PPPkZOTgyFDhmDo\n0KGIj49HeXk50tPTjR4tIPPnz0dZWVnQ15eVlWHBggUDOFHwfN4WhrPNmzejs7MThYWFXo+bTCb4\nWnZ+fj5SU1Px0UcfaY6oxuFwwOFwID09HYMHDzZ6nIC53W6kpaXh6NGjeP75572e42v/urq6kJaW\nhubm5qA/0BpIERnXtWvXMHHiRJw9exYZGRn9jvvanJaWFkyfPh3nz59HSkpKKEYlLz755BM0Njbi\n0KFDGDRoUL/jvvavoKAAly9fRmVlZSjGfDSJUKWlpTJmzBhpa2vrd8zbsi9duiRWq1V2794divHI\nD5fLJa+88oosX75c3G53v+Pe9u+bb76RMWPGyN9//x2KER9LxMYlcv8ffNSoUVJRUSEul+vB8w9v\nTk9Pj+zatUtSUlJkx44dRoxJXty6dUuys7Nl9uzZ/X4v+PD+/f7772Kz2WTcuHFy6dKlUI/pV0TH\nJSJSW1srb7zxhiQlJUlBQYFUVVUJAKmqqpJ169ZJYmKivPnmm1JfX2/0qPQvLpdLPv30U3n22Wfl\n5ZdfluLiYjl+/LgAkIqKCpkzZ46MGDFC1qxZIzdv3jR63H4i8j2XNxcvXkRxcTFaW1tx9OhR5OTk\nYPz48Vi2bBnGjRtn9Hjkh9vtxpEjR1BZWQmHw4G6ujrk5uYiJycHeXl5sFgsRo/oVdTERRRqEfc9\nF9GTgnERKWFcREoYF5ESxkWkhHERKWFcREoYF5ESxkWkhHERKWFcREoYF5ESxkWkhHERKWFcREoY\nF5ESxkWkhHERKWFcREoYF5ESxkWkhHERKWFcREoYF5ESxkWkhHERKWFcREoYF5ESxkWkhHERKWFc\nREoYF5ESxkWkhHERKWFcREoYF5ESxkWk5P8CkGbXih06iwAAAABJRU5ErkJggg==\n"
207 }
208 ],
209 "collapsed": false,
210 "prompt_number": 11,
211 "input": "circuit_plot(SWAP10.decompose(), nqubits=2)"
212 },
213 {
214 "source": "<h2>All together now</h2>",
215 "cell_type": "markdown"
216 },
217 {
218 "cell_type": "code",
219 "language": "python",
220 "outputs": [],
221 "collapsed": true,
222 "prompt_number": 12,
223 "input": "gates = [CGate(1,Y(0)), CGate(0,Z(1)), SWAP(1, 0)]"
224 },
225 {
226 "cell_type": "code",
227 "language": "python",
228 "outputs": [
229 {
230 "output_type": "display_data",
231 "latex": "$$C_{1}{\\left(Y_{0}\\right)} = S_{0} CNOT_{1,0} S_{0} Z_{0}$$",
232 "png": "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\nYII=\n",
233 "text": "C \u239bY \u239e = S \u22c5CNOT \u22c5S \u22c5Z \n 1\u239d 0\u23a0 0 1,0 0 0"
234 },
235 {
236 "output_type": "display_data",
237 "latex": "$$C_{0}{\\left(Z_{1}\\right)} = H_{1} CNOT_{0,1} H_{1}$$",
238 "png": "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\n",
239 "text": "C \u239bZ \u239e = H \u22c5CNOT \u22c5H \n 0\u239d 1\u23a0 1 0,1 1"
240 },
241 {
242 "output_type": "display_data",
243 "latex": "$$SWAP_{1,0} = CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$",
244 "png": "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\n",
245 "text": "SWAP = CNOT \u22c5CNOT \u22c5CNOT \n 1,0 1,0 0,1 1,0"
246 },
247 {
248 "output_type": "display_data",
249 "png": "iVBORw0KGgoAAAANSUhEUgAAAJ8AAACOCAYAAAAvkdreAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAABEJJREFUeJzt3b1LI1sAhvF3khvBxIuaQm1sbQSxEPETsRMEsRELC8FG\nrNMIFnaCNlYWVhbRyk7/A238rASxEwvFlEYiGNDZQtx7ZW8W767ua2aeH0yTxMOZ8DBnnIFMEIZh\nUdLfAv6wIAzD0D0JxFPCPQHEF/HBhvhgQ3ywIT7YEB9siA82xAcb4oMN8cGG+GBDfLAhPtgQH2yI\nDzbEBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KDDfHBhvhgQ3ywIT7YEB9siA82xAcb4oNN7OIr\nFos6OzvT/f29eyqxF5v4wjDUwsKCmpub1d/fr+bmZi0uLopfBfaJzW8yb21taXZ2VqVS6ftrmUxG\nGxsbmpiYMM4svmITX09Pjw4PD394fWBgQPv7+4YZoWJ8QRD86bkgZiqe84VhGKlteXlZtbW1b/Yx\nnU5rdXXVPre4brFZdh8fHzU6OqqDgwOVSiVlMhkNDAxoZ2dHNTU17unFUmzik16O5icnJ+ru7tbx\n8bG6urrcU4q1WMX3KggCxXC3v5zYXOfD10N8sCE+2BAfbIgPNsQHG+KDDfHBhvhgQ3ywIT7YEB9s\niA82xAcb4oMN8cGG+GBDfLAhPtgQH2yIDzbEBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KDDfHB\nhvhgQ3ywIT7YEB9siA82xAcb4oMN8cEmMvFls1kFQfCuTdK7P5vNZs17Fl2ReQLRZz1ViKcVfZ7I\nHPlQfSIZ3+npqfr7+1VTU6NEIqG6ujoNDw/r4eHhzecKhYKy2awSiYSSyaQ6Ozt1e3trmnUMhRHx\nX7uSz+fDIAjC6enpin+Xz+fD3t7e8Pr6+t3j4mNE+pzv4eFBTU1NSqVSKhQKPzxX9/LyUvPz89rc\n3FQqlXr3uPgYkVx2X6XTaY2Pj+vu7k67u7tv3isWi8rlclpfX68YHj5XpOOTpKmpKUnS1tbW99ee\nnp40NzenlZUVNTQ0uKYWe5FedqWX0FpaWnR/f69CoaD6+nrlcjmNjY1paGjol8fF74v8kS+ZTGpy\nclLlclnb29taW1tTe3v7u8LD54p8fNI/S+/S0pJubm40MzNjnhGknyy7r7ehqkml5fH5+VnpdFod\nHR06Ojr6X2NW4/dQLf6q9Ea1nef8LJLz83OVy2WNjIz80tjV9l1Ui1gsu3t7e5LEed4XE5v4UqmU\n+vr63FPBv8TiUktra6taW1t1eHj4YePi90X2yHd1daWhoSG1tbWpUCjo4uJCg4ODby42wyvyR76v\nOi4ifOTD10d8sCE+2BAfbCre4ahGn3ErrLGx8cPHxIvIxMd/pNWHZRc2xAcb4oMN8cGG+GBDfLAh\nPtgQH2yIDzbEBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KDDfHBhvhgQ3ywIT7YEB9siA82xAcb\n4oMN8cGG+GBDfLAhPtgQH2yIDzbEB5tvYBYsxI+4hMwAAAAASUVORK5CYII=\n"
250 },
251 {
252 "output_type": "display_data",
253 "png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAACOCAYAAAAvtI33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACT5JREFUeJzt3EtIVH8YxvH32DCjleCFLhhoGBRBEGFEEFmLSMzSLLu4\nkGhTUFItui2sIIqiFkEUFaUuwqg2brqH1SK6/BehdLEL2t0wKmy6p/b+d5HlqPN69MyM3w/M5pwz\nP57feeNpjoM6qhoUkUQBgDA4qqpehwAQfeK8DgAgOlEeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkA\nMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUBwITy\nAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHogqz58/l0ePHomqeh1l\nwKM8EBWamppk8uTJMn78eMnKypLRo0fLnTt3vI41oDlKhSMKZGVlSV1dnbS3t/8+lpycLE1NTRIf\nH+9hsoGLTx6IeE+fPpX6+voOxSEi0t7eLhcvXvQoFUJ+8nAcp7+zAIgivlAneJpBpPj165ekp6fL\n69evOxxPSEiQV69eSUpKikfJBjYeWxDx4uLipLq6WpKSkiQxMVFEROLj46WyspLi8BA/MEXU+Pr1\nq1y4cEEWLlwo7969k9TUVK8jDWiUB6KO4zg8VkcAHlsAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHgBMKA8AJpQHABPK\nA4AJ5QHAhPIAYEJ5ADCJqfJISUkRx3FcfaWkpHi9rQ7c3GOk7S3WxdrsHFVVr0O4xXEccXs7fbFm\nb7iZJ9L21lPkjox7EFOfPBCbXrx4IWVlZTJu3DhJSkoSEZHRo0fLqlWr5O7dux6nG7gGRHm8fftW\n/H6/xMXFid/vl7Fjx8rs2bMlNzdXcnNzJTU1VeLi4qS6utrrqL3S1tYm+/fvl5KSEikuLpbCwkKp\nqKiQL1++yLx587yOF7Y3b97IggULZNKkSfLp0yc5efKkNDY2iojIpUuXZOTIkZKbmyvZ2dlSV1fn\ncdrei7r5aQwJtZ2KigoNBAK6f/9+bWtr63CuurpaBw0apGvXrg1rTa+EyvP161fNy8vTnTt3dji+\na9cuHTt2rBYXF/d4rUjw+PFjzcjI0C1btujnz587nPsz98+fP7W8vFyHDRumNTU1/R0zLF3d73Dn\nFwmz8z6Bi0Ld0IULF+rZs2f/OX7r1i1NSEjQ+fPnh72mV0LlKSoq0hUrVnR6Li0tTcvLy3u8ltea\nm5s1MzNTDx8+3On5znJfvXpVhw0bprW1tX0dz6yr+x3u/CJhdt4ncFFnN/THjx86c+bMf443NDTo\n8OHDdcqUKfrt27ew1vRSZ3laWlrU7/fr5cuXO31PTk6OPnv2rEdrRYLS0lJds2ZNyPOhch89elSz\ns7P7KlavhcptmV8kzC7mf+bR3NwsZWVlHY59+PBB5syZI0OGDJEzZ85IfHy8R+nccf36dWltbZXH\njx93en769OmSkZHRz6lsPn36JFVVVbJhw4aw37ts2TJ58uSJ3Lt3rw+S9Z2onZ/X7eWmnmzn+/fv\nOn36dE1JSdH6+npX1uxPneV59+6d+nw+DQQCun79er1+/bq2traa1vLaoUOHtLCwsMtrusq9detW\nXbVqlduxXBEqt2V+kTA77xO4qLsb+uvXLy0uLtZAIKBXr151Zc3+FirP3r17NRAIqOM46jiODhky\nRFevXq0tLS1hr+WlgoICPXnyZJfXdJX7wYMHmpmZ6XYsV3SVO9z5RcLsvE/gou5u6ObNm9VxHD1+\n/Lhra/a3rvI8fPhQt23bptnZ2er3+9VxHC0qKjKt5ZXs7Oxui72r3O/fv9ekpCSXU7mju/sdzvwi\nYXYhE4hIVL5COXLkiDqOo9u3b+9w/Nu3b3rlypXQNygC9tTTPf7p/v37mp6ern6/X3/8+BE1e4v1\nV091Nz+v9yEiA+OTx/nz59Xn8+ny5cv/OVdeXq7V1dVhr+mVv/Ps3r075LWbN29Wv9+v379/79Fa\nkWDJkiWdfq38p65y//fffzp+/Hi3Y7mis9zW+UXC7GL+25ba2lpZvHixzJw5U44ePfrP+crKSsnJ\nyfEgWe99/vxZrl27FvJ8MBiUrKwsCQQC/ReqlxYtWiSVlZXm91dWVsrixYtdTNR3on5+XreXm/7e\nzsuXLzUtLU0nTJigwWDwn+urqqo0Pz8/rDW99meec+fOqc/n04aGhn+ua25u1hEjRui1a9d6tFak\naG1t1VGjRmldXV3Ia0Ll/vjxoyYnJ+vr16/7Kl6v/J27N/OLhNnF7CePYDAoc+bMEVWVs2fPSmJi\n4u9zTU1Nsnv3bikpKZGCggIPU/bOlStXJDMzUzZt2iT19fW/jzc2NkpBQYFs2rRJZsyY4WHC8Pl8\nPlm5cqWUlZVJe3t7WO/dtWuXzJo1S9LS0voonbuifX4+rwP0lXXr1sn9+/dl1KhRsmTJEhER+fnz\npzQ0NEgwGBQREb/fH5m/cNRDzc3Ncvv2bamtrZW1a9dKS0uLpKamSkJCguzbt0+mTp3qdUSTjRs3\nSk5OjpSWlsqBAwdk0KBB3b7n4MGDcurUKbl582Y/JHRHtM+Pv+fhwZq9EWt/EyKUlpYWKSwslKFD\nh8qOHTtk4sSJv8/9mfv58+eyZ88euXz5spw/f17GjBnjVeRuxdrsYvaxBdEtKSlJLly4IFOnTpW5\nc+fKtGnT5NixY3Lp0iURETlx4oTk5+dLVlaW+P1+uXHjRkQXRyzik4cHa/ZGrP3v1RNtbW1y5swZ\nOX36tLx9+1ZqampkwYIFkpeXJ0uXLpXBgwd7HbFHYm12lIcHa/ZGrP0DHEhibXY8tgAwiblvWxzH\ncXW95ORkV9dzg1t7jMS9xbpYml1MPbYA6D88tgAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJj8DwAon3puf4mgAAAA\nAElFTkSuQmCC\n"
254 },
255 {
256 "output_type": "display_data",
257 "png": "iVBORw0KGgoAAAANSUhEUgAAAJ8AAACOCAYAAAAvkdreAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAABIRJREFUeJzt3TFIlH8cx/HP81fUQ27wwEnBG10cmqJAkUQSG1R0CgJ1\nbShwcWlpctVBaAkicRDU6eBwMEQUPUQaagkUxHBoSDyQ8BB+DVJhon/Ls48+z/sFz/Ic/Pg++uae\n5/EBnyiEUJSUFvCPRSGE4B4CyfSfewAkF/HBhvhgQ3ywIT7YEB9siA82xAcb4oMN8cGG+GBDfLAh\nPtgQH2yIDzbEBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KDDfHBJlbxZTIZRVFU1i2TybgPK7Zi\n9b9aoihSuQ/nOtbEiVh98+F2IT7YVLoH+Be+fPmixsZGHR8fq7KyUtlsVtlsVhUVFZKkQqGg/f19\nzc7Oqq+vzzxtgoQYOe9wXr9+Haqrq8PExEQ4Pj4+9dn8/HyoqKgIz549+6M1cXWx+smeF0p/f3/I\n5XJn9q+trYVUKhV6e3v/eE1cXezvdkulkh4+fKh3796d2r+9va179+4pm81qaWlJNTU1l14T5RH7\n+HZ3d/Xp0yd1dHT83Pf161fdv39fpVJJ6+vrqq+v/6M1UR6xj+93R0dH6uzs1MePH7WysqLm5uYr\nr4m/k4i73R9CCBoaGlKhUFA+n//f8HDNzrsYlHQrt4uMjo6GKIrC27dvL31R7D6eWG+X/i3cAhfF\n9+rVqxBFUXj58uWp/d++fQuLi4t/tSauJhFPOPL5vJ4+farBwUG9ePHi1GfT09M6ODgwTZZssb/h\neP/+vdra2nT37l3l8/mfTzV+aG1t1cLCglKp1KXXRHnE+pvv8+fPevTokZqamjQ3N3cmvOnpaWUy\nmXPDw/WKbXzFYlHd3d0KISiXyymd/vV6ub29PY2NjenJkyfq6ekxTplssT3tDg8P682bN2poaFBD\nQ4Okk6cdW1tbKhaLkqSqqirt7u7yR2aT2MZ3k9fEidiednHzER9siA82sXu2G0VRWderq6sr63r4\nJVbxXfbGgJuIm4HTLmyIDzbEBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KDDfHBhvhgQ3ywIT7Y\nEB9siA82xAcb4oMN8cGG+GBDfLAhPtgQH2yIDzbEBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KD\nDfHBhvhgQ3ywSVR8IQQVCgVJ0sbGhnkaJCa+o6MjdXZ26sGDB5Kk9vZ2dXV1qVQqmSdLrsTENz4+\nrtXVVR0eHkqSDg8Ptby8rMnJSfNkyRWr9+1epKWlRR8+fDiz/86dO9rc3DRMhHPjK/cL9IDfnXva\nDSHEapuamlJtbe2pY6ytrdXMzIx9tqRuibnme/z4sZ4/f65UKqV0Oq1UKqWRkRENDAy4R0usxFzz\n/VAsFrWzs6NsNqt0Ou0eJ9ESFx9ujsScdnHzEB9siA82xAcb4oMN8cGG+GBDfLAhPtgQH2yIDzbE\nBxvigw3xwYb4YEN8sCE+2BAfbIgPNsQHG+KDDfHBhvhgQ3ywIT7YEB9siA82xAcb4oMN8cGG+GBD\nfLAhPtgQH2yIDzbEBxvigw3xwYb4YEN8sCE+2BAfbL4DB1vr/IQMFOAAAAAASUVORK5CYII=\n"
258 },
259 {
260 "output_type": "display_data",
261 "png": "iVBORw0KGgoAAAANSUhEUgAAANcAAACOCAYAAACi/J2KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAB1NJREFUeJzt3U1IVG0bwPHrTI9Zk2VZk5CLKKiRXGiUC5nyYxOVVAiR\nUqsKDMYWtYn2LSJpq7XKoXbZIoJSNDQsozADN9GmNFtUQwb2oVbOXM/qid7XGdPJyzNz5v8DN97N\n6Tre/p07ncpR1c8islIALChHVdXtIQAv8rk9AOBVxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUY\n8URcBQUF4jiO2VtBQYHbt+hpXt0/T/xb8Y7jiOVtWF8/23l1//5Z9N8RC05V5fHjxxKJRGR0dFSm\npqYkPz9fKioq5OTJk7J+/Xq3R8xKnjgWZitVlUgkImVlZXLixAkpLi6Ws2fPSl9fnxw/flxevXol\nwWBQjh07Ji9fvnR73OyjHjDbbdTV1WlxcbE6jqM5OTlaVlamjY2Nqqo6MjKiNTU1WlRUpI7j6KpV\nq7S8vFxbWlrmfH23TE9Pa2Njo5aWlur9+/c1Ho//Wvt93k+fPumlS5c0EAhoT0+PG6P+kVf3L/0+\na1Lwpw/ekydP1HEcPXPmTML1ixcvquM4evPmzZSuv9ji8bg2NTVpdXW1fv78ecZ6onl7enp03bp1\nOjAwsBgjzotX9y8rjoV9fX0iIrJ///6E6729vbJkyRLZs2fPYo6Vss7OTunu7pbbt2/LypVz+09B\na2pq5OrVq9LQ0CDxeNx4woWVsfvnStIL7E+3UVtbq7m5uToxMTFj7cePH7pixQrdvn17ytdfbLW1\ntdrW1pZ0Pdm88Xhcd+zYoR0dHUaTpcar++f5Z654PC79/f1SXl4uy5cvn7E+MDAgExMTUllZ6cJ0\n8zc8PCxPnz6V+vr6eT/WcRwJh8PS0tJiMJmNTN4/z8c1NDQk4+PjUl1dnXC9t7dXRESqqqoWcarU\n3bp1S44cOZLwE20uGhoapKenR75+/brAk9nI5P3z/M+5/juvd3V1ybNnz2asDwwMiOM4afmVL5Fo\nNCobN25M+fF+v1/Wrl0rY2NjkpeXt4CT2cjo/Ut2XhSRjHpLpq6uTnNycvTbt28z1qanp9Xv92tJ\nScmsZ2e37y0b3ry4f0mfuTSDXu7jOE7C96uqPHz4UEpLS8Xv989YHxwclMnJyTl91UuXj8eFCxfk\ny5cv0tzcnPTXzPZyn1gsJqtXr5bR0VFZs2aN1Zjz4tX98/SfuV68eCFjY2Oye/fuhOuPHj0SkfQ8\nryezb98+aW9vl1gsltLj7927JyUlJWkT1mwyff88Hdd/5/Vdu3YlXO/v7xcRSc/zehI7d+6UQCAg\nnZ2dKT2+tbVVwuHwAk9lI+P3b9bDaoZIdhv19fXq8/n0w4cPCdcLCwt1y5YtKV/fLZFIRCsrK/Xn\nz58J15PNOzg4qIFAQCcnJy3Hmzev7p9nn7m+f/8uDx48kM2bNyd8VfjQ0JBEo1EJhUIuTPd3jh49\nKrm5uXL69Ok5v9pieHhYDh06JC0tLbJs2TLjCf+eJ/bPlaQX2O+38ebNG62srNRNmzapz+fTpUuX\naigU0itXrqiq6p07d7SiokIDgYD6fD4tKCjQqqoq7e/vn9P108X4+LiGQiGtr6/X9+/f/8/a7/PG\n43Ht7u7WDRs2aGtr62KPOSde3T/+smQaXD9VU1NTcu7cOblx44bs3btXTp06Jdu2bZPCwkIZGRmR\nu3fvSmtrq8RiMWlubpYDBw64PXJCXt0/4kqD6/+t8fFxuX79urS1tcnbt2/l48ePUlRUJBUVFRIO\nh6W6ujrpt7vTgVf3j7jS4PoLjXkX9/rJePYbGoDbPPPaQstjTyb8wDXTeXH/PBFXJh2BMJNX949j\nIWCEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CE\nuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHi8pBYLCZdXV0iIvL69WuXpwFxecS7d+9k69atcvjwYRERKSkpkfPn\nz7s8VXZzVFXdHgJ/7+DBg9LR0SHT09O/3uf3+6Wrq0tCoZCLk2Uvnrk84v/DEhGZnJyU9vZ2lyZC\n0mcux3EWexbAU/5JtsBpMbM0NTXJtWvXZGpq6tf7/H6/PH/+XILBoIuTZS+OhR5x+fJlqa2tldzc\nXMnLy5P8/HyJRCKE5SK+oeEx0WhUotGoBINBycnJcXucrEZcgBGOhYAR4gKMEBdghLgAI8QFGCEu\nwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhx\nAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaI\nCzBCXIAR4gKM/Avn+MC2/OP35gAAAABJRU5ErkJggg==\n"
262 },
263 {
264 "output_type": "display_data",
265 "png": "iVBORw0KGgoAAAANSUhEUgAAAJ8AAACOCAYAAAAvkdreAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAzxJREFUeJzt3TFOKmEYRuF3yC2xtTU0asMG2IATXQchMS7H0LgBCxNj\nAgRbtkCDcTZAYXOxNDO3gsTC1uP1P085NF8mh3++aaDquu5vkqNI36zquq6jh1CZevQAKpfxCWN8\nwhifMMYnjPEJY3zCGJ8wxieM8QljfMIYnzDGJ4zxCWN8whifMMYnjPEJY3zCGJ8wxieM8QljfMIY\nnzDGJ4zxCWN8whifMMYnjPEJY3zCGJ8wxidMMfFtNpu0bfvpWtu2eXl5gSZSET+L23Vd6rrOYDDI\ndDpNr9dL27YZj8fZbreZzWb0iEUq4uSrqioPDw9Zr9e5vr7Ox8dHxuNxmqbJ/f09PV6xijj59na7\nXeq6ztvbW46Pj7NYLNLv9+mxivVlfFVVffcsKsyfrz74bQfifsdrmiar1Sqj0SjD4fCwA+r7FXHX\nu67LZDJJ0zSZz+dJkuVymfV6nZubG3i6chURX1VVuby8zHw+P+x4R0dHWS6Xubi4gKcrV1EvHHtV\nVf26teJ/VMTJp5/J+IQxPmGMTxjjE8b4hDE+YYxPGOMTxviEMT5hjE8Y4xPG+IQxPmGMTxjjE8b4\nhDE+YYxPGOMTxviEMT5hjE8Y4xPG+IQxPmGMTxjjE8b4hDE+YYxPGOMTxviEMT5hjE8Y4xPG+IQx\nPmGMTxjjE8b4hDE+YYxPGOMTxviEMT5hionv8fEx7+/vn67tdrs8PT1BE6mI+Lquy2KxyNXV1SHA\n3W6Xuq7z/PwMT1euYv5pvG3bjMfjNE2T1WqV0WiU4XCY6XSaXq+I7+CPU8xd7/V6ubu7y8nJSZLk\n/Pzc8GBfnnxVVX33LCrMn68++G1P4/2ONxwOc3t7m8lkkqZpMp/P0+/36fGKVMTO13Vd6rrOYDA4\nPGr3O+B2u81sNqNHLFIR8SXJZrPJ6enppx2vbdu8vr7m7OwMnKxcxcSnn8dXPWGMTxjjE8b4hDE+\nYYxPGOMTxviEMT5hjE8Y4xPG+IQxPmGMTxjjE8b4hDE+YYxPGOMTxviEMT5hjE8Y4xPG+IQxPmGM\nTxjjE8b4hDE+YYxPGOMTxviEMT5hjE8Y4xPG+IQxPmGMTxjjE8b4hDE+YYxPmH8MEtVxVFn5TgAA\nAABJRU5ErkJggg==\n"
266 },
267 {
268 "output_type": "display_data",
269 "png": "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\n"
270 }
271 ],
272 "collapsed": false,
273 "prompt_number": 16,
274 "input": "for g in gates:\n dg = g.decompose()\n display(Eq(g, dg))\n circuit_plot(g, nqubits=2)\n circuit_plot(dg, nqubits=2) "
275 }
276 ]
277 }
278 ]
279 } No newline at end of file
This diff has been collapsed as it changes many lines, (829 lines changed) Show them Hide them
@@ -1,726 +1,103 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>dense_coding</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Dense Coding
10 &lt;/h1&gt;</source>
11 </markdowncell>
12 <codecell>
13 <input>%load_ext sympyprinting</input>
14 <language>python</language>
15 <prompt_number>2</prompt_number>
16 <collapsed>1</collapsed>
17 <outputs />
18 </codecell>
19 <codecell>
20 <input>from sympy import sqrt, symbols, Rational
21 from sympy import expand, Eq, Symbol, simplify, exp, sin
22 from sympy.physics.quantum import *
23 from sympy.physics.quantum.qubit import *
24 from sympy.physics.quantum.gate import *
25 from sympy.physics.quantum.grover import *
26 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
27 from sympy.physics.quantum.circuitplot import circuit_plot</input>
28 <language>python</language>
29 <prompt_number>3</prompt_number>
30 <collapsed>1</collapsed>
31 <outputs />
32 </codecell>
33 <codecell>
34 <input>psi = Qubit('00')/sqrt(2) + Qubit('11')/sqrt(2); psi
35 </input>
36 <language>python</language>
37 <prompt_number>4</prompt_number>
38 <collapsed>0</collapsed>
39 <outputs>
40 <output>
41 <output_type>pyout</output_type>
42 <text>⎽⎽⎽ ⎽⎽⎽
43 β•²β•± 2 β‹…β˜00⟩ β•²β•± 2 β‹…β˜11⟩
44 ────────── + ──────────
45 2 2</text>
46 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUx3QUFBQWtDQVlBQUFBemZGQ0ZBQUFBQkhOQ1NWUUlD
47 QWdJZkFoa2lBQUFCWlJKUkVGVQplSnp0bTN1b0ZVVWN4ei9uZHRLajFkVWUxc2x1NlI5WkJua3ZV
48 WlJhNlNraktId2tGR1lVeHVWaTlsRENJTXNvYmxGSlJDLzZKeW1vCnVFSVlScEhSU3dLTmdpQUp1
49 bVQvRk1TbGgwVVBVSzVrcVp6KytPMXlkL2ZNUG1aM1ovZWMwM3hnT1p5WjMrek03bmQyWm42LzJR
50 V0wKeFdLeGRDZVZzaHNRUXpPSGM3VDdOWFlxWndFLzVYQ2V0dFZuRmxBcnVNNGR3Q2tGMTltSldH
51 MFMwcFBBcGcrNEJkZ0wxTTAyeDhkRgp3Qmp3VjRGMWRocFdHd05jQnd3Z3k0dlpCZGE3RFprMkxl
52 RlliVFNwSnJENXdIZ3JXamtQT0FUOFhFTGRuWVRWeGlCRmppSXZBM01LCnFxc2JzTm9rSk1rYXZt
53 ak9SaHl3NzhwdVNBeHJ5bTVBQ1hTS05oQ2lUNUlsVGRIY0J6d1RrZDhQRENFTzI1ZkF1OEEraGQy
54 QTgvdDEKSVAwMjRGTEU0ZG9QdkFYOHJpZ2ZaM2M4RWgwWmkyaHJ0eEduRFdUWHgrVUtZQkh3WkV4
55 OVlYYVo5U2xpMnB5QmhMdkNXQTY4QTF5TQpSQ1cyQUg4REt4UzJEZWZ3OGpEd0dUREorWDg3Y3NP
56 bnBMQTdFZGdVMGRZaWFRZHRJTHMrSUhINWE0Q0R3Q3NSZGNYWlpkSm5FbkpUCnowOTdnb1E4RGx3
57 WmtuY0M4QTF3Y2lEOVErQW84alI3YWVDL29kT0FBOEFxVDFvUDhBZndYQW83Z0VlUWtVU1hxZVFY
58 TjI4SGJTQzcKUGdEM0FydVJLRkNUOEE2ZjFDNlZQbXVBcmNpVCs2cFRtUWw2Z1owUitZdVFuYjFW
59 Z2ZSMXlFVVBCZEliK0cvb0E4aU5EMjZXdklFLwo0cERVRG1DZW9qMUpHQVJXcHlnWHBGMjBnZXo2
60 ZUtrUzNaR1QycVhWSnhmdVI1WUtZV3dDcm8vSXZ3cTV1RThENlV1ZDlPY0Q2UTM4Ck4vUmo0SWVR
61 ZXB2QUJacDJMazlFdERtTUllRFdGT1ZNa1ZVYnlLNlBsN3c2UEFUMEtTSktVd1dHRVNmbEx0UlRU
62 QTI1WWU5SG5HYzMKc0l4VzcvdGM1emZNK1hHcEErT0s5RVBPN3l4Tk81ZHZhWDBJT29XOHRJSHMr
63 cGpDcDA4UkhmNG84cFJ0Qms0SGJsTFlEQ0pUY2hSTgo0RDFhUjkrYmdUK0puM0xyVEhSYUwyN2Fk
64 RTA3bHgzQWpURjF0eXQ1YVFQWjlUR0ZUeCszd3pjTkhGNk9JT0dobmNENlFGNFZXRWw4CkJFREZD
65 aVIwZURmaVZFWlJSUVFPVXZIazY5aTU5Q1BPbWlsTWFPUFZ4NVEyb0tlUEtYejZ1QjIrWXVCUThT
66 SXdIN2pFazdZYWVCTTQKcG5raFp5SU8yejNBOWdUMnFsZ3dTSFFCNERkTk81ZGxtQjI5VEdpajBp
67 ZFBiVUJmSDFQNDlDbDY0K2tUWkUyMUhsbnJWWkFObnFXYQo1NmtCYnlQcno1Y1NsaGtGTGxla1Qz
68 Vis5MnZhZ1N4dnhsSFBDQUIzSUNOa2tENmtFNmtjMTIzT1VUUjVhUVBwOURGQm5ENkZjQ2R3CkdO
69 bkl1QUhZcUZtK2dvd1lRZWRvUWVCL0EzOFVZQjJ5bGd3eUF2eUx4TjkxN0VBY3ZhaTNCbXVJVHhB
70 OE5pTFR2Q3B2Y3NUNVRKTlYKRzBpdmo1ZThvalF0K3BUeExzMEljbFBYT3NkV3pmSmJrTkRoNjU2
71 MFBtQkpUTGxSSkxZZTNLQlo0clRwZ0tZZHdFeWkzeG84RFB5cQpPQTQ2NTFIbC9STnpIU2JKcWcy
72 azE4Y0VMZnFVOFM3Tk9QQWE4Q0R3Tk9xSVNCaHJrWFhtOTB4c1pGUVF4K2lqbUxKN2dTK1FrWFdE
73 Cms3WVFPQU40S29YZFltQ1BSdHM3Z1N6YVFEWjl2QnpuL01idGtrYlpwZFpuQnZBUTh1UStobjlL
74 VDhzY1pKVFQrVVRzTWlTaUVCWjEKbUJld1grd2NYdXJJV25VRTJaVWNSZGFwUVpMWVBVcjY3ekh6
75 Mm5ocUYyMGdIMzJ1UldhVnI1d3l4NUNYOWw1QWRudDE3SlQ2eEFsVwpSYnozRGM3RmJFYUVIMERX
76 czFtWUNmeWlZVjhINWtia2Y0NjAwY1Y5Nm84b2JLY2dJL1lZMFIrS1I5bjFJaDBqRFVQSTBpR0xj
77 OXBPCjJrQSsrcmgraklwOUh0c2tkcW4wNlFkK1pHTGhmeG9pL05XNko3TDRHRVMrUmMyQzFjWUFO
78 ZVFkYVBlMTJEN2twaTRzclVYZFFSNXYKUzFwdENtQVkyRVY3ZmluMWYyY1lxMDJ1ekVjODdkNDRR
79 MHZoV0cxeVppN3dMUEt4UVE5d1Vybk5zWGl3MnVUTU9VaG96bzNvTEtDYwpUUVJMSzFZYlRlTENr
80 cWNpMzNaNkEvdlRnUXVSWFVGTGVWaHRVaERYNGFmUnVtSFFSR0txbG5LeDJsZ3NGb3ZGWXJGWUxK
81 YXU1ejl2CjByak9nS2lER3dBQUFBQkpSVTVFcmtKZ2dnPT0K
82 </png>
83 <latex>$$\frac{1}{2} \sqrt{2} {\left|00\right\rangle } + \frac{1}{2} \sqrt{2} {\left|11\right\rangle }$$</latex>
84 <prompt_number>4</prompt_number>
85 </output>
86 </outputs>
87 </codecell>
88 <codecell>
89 <input>circuits = [H(1)*CNOT(1,0), H(1)*CNOT(1,0)*X(1), H(1)*CNOT(1,0)*Z(1), H(1)*CNOT(1,0)*Z(1)*X(1)]</input>
90 <language>python</language>
91 <prompt_number>5</prompt_number>
92 <collapsed>1</collapsed>
93 <outputs />
94 </codecell>
95 <codecell>
96 <input>for circuit in circuits:
97 circuit_plot(circuit, nqubits=2)
98 display(Eq(circuit*psi,qapply(circuit*psi)))</input>
99 <language>python</language>
100 <prompt_number>6</prompt_number>
101 <collapsed>0</collapsed>
102 <outputs>
103 <output>
104 <output_type>display_data</output_type>
105 <text>βŽ› ⎽⎽⎽ ⎽⎽⎽ ⎞
106 βŽœβ•²β•± 2 β‹…β˜00⟩ β•²β•± 2 β‹…β˜11⟩⎟
107 H β‹…CNOT β‹…βŽœβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ + β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€βŽŸ = ❘00⟩
108 1 1,0 ⎝ 2 2 ⎠</text>
109 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVdVQUFBQW1DQVlBQUFBY1Bvck5BQUFBQkhOQ1NWUUlD
110 QWdJZkFoa2lBQUFESDlKUkVGVQplSnp0blh1MEZWVWR4ei8zQWhmaUlWZEpGRlF3VVRSSVVhTTBJ
111 YTRQYUdtWnBsbGsrVWd5OUlMWnc5VUNuNVhTUXpPU1FJMjBSTHhHCnFZdlZhNEd2MHBKOHhTTzFG
112 QVVWU3hOTE5FVXlKYmo5OFoxWlo4NmNQVE43enBremN3N3N6MXBublh0bmZqUHptL250K2UyOWYv
113 dTMKOXdHSHcrRndPQnhWMHdyMEtGb0poeU1IV3IzUGRzVjJkOFBiQVBPQmR4ZXRoTU9SQSs4Q2Jn
114 QmFpbFlrVDF5THE3bTRHSGdhV0ZLMApJakYwQUs4Qi95MWFFVWNGeldhYlY0RWRnTW5BYnd2V3hl
115 R29ZREp3UzlGS0pOQUtkR2Z3Y1dSUEszQUh6V21mQmNCcEJWelg0WWhrCk1QQWNNRERGTWFjQk0r
116 dWpUaVNmQktibGZNMW14TmttSGYxUUQzRzNvaFZ4T0h5K0JWeHVLZnMrNEJKZ09UQ3JiaHFaV1Fy
117 MHlmbWEKellTelRmVmNESHkvYUNVY0RsQk03UlZncjVUSFhVKytMLzR4d0l3Y3I5Zk1PTnVrWjFj
118 VVl4NVV0Q0wxeG1WZk5ENmR3RVBBTTBVcgpra0FuY0czUlNqaU1iQXUyV1EvY0NYeXhhRVhxalhQ
119 S2pjK25nVVZGSzVIQU9PQlI0UFdpRlVsZ3UwcXQ4bWdXMjBDeWZSWUJKK2VoClNFNFk3emZLS2Zj
120 QitvYyt3WGhVUDhQK1hqVW9aMHJOQytyV08zQ2R2cFk2OTY3aW1tRmFxTHpQdUUvV01idDI0RDNB
121 bnpJK2I5WjgKQ1ppVHczVnNHeEZSY2hkbHBVZ1RrWmR0ZkhyV0lKZGtuK1hBM2lpVTBRalVwVHhH
122 UGNDZkFQc0JCd0Z2STZld0VqZ1hHQTVjRFl4Qwp5ZDJ2b0pyNHA4QjFsa29PQUQ0RGZBQVlTU2tm
123 OFRyZ1J1QTQ3L3BYZVBLelBGME9SODUwTExBaWRNNUZ3RkhldVY4QUZnSVhoR1FPClJvWDBIWjdl
124 ZXdCYmdVdUJodzE2bmduOENOam8zZi9MS0xaN0VMQUJXQVpzQWQ2SldpVFBBdnRZUGdNYnhnT2Jn
125 Q2N6UEdmV2pBSCsKQWZ3clJtWTZjQUtxelArTmJMWFFJRGZKMngrc2hBWUNWNkhjMmhkUlRIRUJz
126 Q3AwckkzY1dsUnVIMCs2cVcwRUc5dEFiZllKTWdQWQpCZmhLd3ZXaTVKTHM4endLWTN3UXVEWGhH
127 bG5RY09WeEhNcEp2REppLzBYZS9oTnRUK2h4SkxBT2phU09wVlNMOUFDK2dRWkIza1FPCk84aGc5
128 SEM2Z1I5SG5QdFVWRG1FNlFuY2hCenYzcUY5UjZFSGQ3Ymh1THRSd1FuV2RGTThIYzRLeVo0TTNC
129 V2hWN1ZjQWZ5K3ltUHoKR2t5NkNWVnVVWHdUWlJ5MGVmOGZoeXBDazI1SEE0ZUd0aTJtUEI0NkNW
130 VzZnNnVRYTBPaitOV3dGOW0xMEJyRk5sQzdmVnFBQTRCdgpvL2ZpcW9qcjJNaloyT2ZYNU5meWI3
131 anlPQk05dklrUisrOUdyY1FkTE0vWGdoN20yOERuWW1UdVI3T093dUdGazlBRWlrZFE2N0hkCmNQ
132 eFhnUU5EMjFxUm8xNU1kSWhsbG5mTzRZRnRnekU3K0FYb3VZU2QrekRVZzhpU3BjQTFLWS9aRHhu
133 Nk9lQUo0RUtTWDh3b1dqRS8KWjUrOWtZT0pZbmMwU0JudXZpMUV6ekE4WFR6OEVveENEdUt3d0xZ
134 VzFGcGFVSVVjd1BsRWg4RGlPQWVWd1Zwb0pOdEE3ZllCK1ltcgpVUTgwemluYnlpWFo1N3ZBNzJM
135 MlowbkRsY2Vsd0Z1b3F4K21EZmdQbFNHRU9NN0RybVY5R2ZBcncvWTV3QkRVb3UzR1BBcDdFK1VG
136 CnJBVzFxdGNSWDRBUDk4NTVhV0JiSjJwRmgza0cxWGhoeGtib1ZBc1BvNVpNR25wU0dldXVaanI5
137 am1nNjl3OWlaT1lqUnhQRmljQm0KMUFNS2NpWjYzbDhJYlErL0JOZWowRlpZLzRXb2dMZWtsQU8x
138 ZU0rSTBUbUtMSnh5STlrR2FyZFBrSGJpbmEydFhKSjlMa0lOc3p3bwpwRHhHQmFCN0lDLy9FQW9s
139 aERrRU9lcy9SQndmNWtBMEFlSXUxR0tOWXgxcWhZY1ppbUl6WFNqR0d3NDMrUGV5TmJEdFNoUnVt
140 SVppClEzSFhCTmcvc08xVkttdmszVkVjL1Q3RE9UWmkvenhzMlFuMUd0THdQK0NOMEdkTHluTzBB
141 Vk5ScGZCWkZLY1BzeHR5S3F0anpyTU8KdllEaE9Qc203M3ZuQkQwT1JLM0tzUDdQb3Bqa3ZpbmxR
142 SlhxaUlUcjFvdEdzZzNVYnA5NmtHU2YxOUI3VVFTNWxNY29wM3dRQ2t2YwpHN0gvQ08vYjFna3R3
143 RDUrc29wS3g5Mk9uQ1NvSUhlaFZzQVJBWmt4YU1EUlp4Z2FtUHdiY0h2Q05mMVFSRnRnMjgrb25P
144 ZmY0WDJiCjd2dEpLb1A5dGJJVDhaVkp2WGdielNDY2gwSStweHRremdObUo1eG5KZXJkbkJMYTds
145 ZCtEeVVjdnlzbEJ4SEUzN1pMU2ptZjVXaDIKWFRPU2xXMmdkdnZVaXpqNzJEcmw5NkwzOGM4cFBy
146 Y2xuRE9YOGhpVmZUSEIrLzRROEg3RC9rT1F3N0p4eWtPUnczd0FPeU92Tkd3YgpqeklkZks1RjRZ
147 Vk80QjV2VzBkSW4ybm8vaFpTM25vMk1jcjdmakJCem44dVdiZUlveGlBMmJoNThUSWFpWitPNG9G
148 K0pUVUl4ZDl0CndsY2JRdi8zUWQyMUZjUlhsaTBvcm04YW1mYWZTWHNLdVNCM0FsK204Vk1ONDhq
149 Q05sQzlmZXBKbkgwMm9SaHNEK0o3R1N0UTR6SXIKY2l1UFVVNjVBM1cxamtTeDR5QnRxTFo2bkVx
150 RG1oanZmZGZTaXB4QStZRFhZOEFmZ1kraFdtazlTbmViRjVEeGcrd1BXSnpmYndFbgp5VTVBOS94
151 WGkzTm13VWFVcG1TaUhxdDFtWkxaNTZHWGRDS2w3Skp6Z2JsVlh1TjhsRU4rT3ZFdlZUY0tuWmtx
152 Vkw5SHN5V0ZYSkRqCk1ZOWJaRVc5VmxJTDJ5ZHIyNEM5ZmVwSm5IMEdJSitVdDI2NWxVZFQrS0lG
153 T2RKVlZEcGtVTGVnRC9hcFduNnovQzhXc2tNd3oyMGYKVGludTYzTU42cjZkaVhUdWlTb1NIejhr
154 a1RROWVRUnk3aThRNzVSM1JpR1QrOGh2K2NJTlJLOE0xMUtIajRtVktDUEdIL1RwandZMQo3NjNp
155 ZmpwUUQyWVNkaFhiWXhIYi9kSHFGMVBLK2V3ZmM4d016RjNibVdqazM3UXZ2S3hrUFd4anNrK1d0
156 b0gwOXFrWGNmWVppRjFqCnNCN2tVaDVOTGVYOVVjem14b2dUK3kxZjJ5NzgwOTczU3hheTUxTzVw
157 R0ZmRkVjT2N4c2F3WjJLYXBrblF2dGZRRTQrcWZ2djV5RlAKU1pETk8zUUJtdUFTbHpXU0YzT0Jt
158 OUVnNTBuQUQ2czR4d2p2dUVuSWtkbndHR29FaFBFSHQ5YW5sQU9GcXVJY3p1V1lWK1E3eHp0UApV
159 dHd4YjdLd0RWUm5uM3FRWkorQjZMMUk0bUNVZ1pKbWF2MWE0Rk14KzRzb2o0QUtYemVhNFdQaUY5
160 NStVeUs5YVozWS9UejVwTlN1Ck1aZ25jRXdFUGg5eHpIZThjOTlCS1FUaE05dmJGNWRlTXc1MU5X
161 eHlnZWQ0NXpNOWJKODA2K1NPUkFPZm5kNzFUU1BkU3l4MXF6ZTkKME15d2VTaitsWFlOaVozUW1N
162 RG93TGJlVkw0QTRSU2tUc29Mc004OXFMWFJJNlVjNkprblRjRTNrVVZLWEQybzFUWlF2WDJDWkpV
163 UwpsMlNmMmVUM0t5U0ZsRWRUK01KM2Jzc00rMENPYkUzb292NDZzZWVpTGxTUTFTaitld0xSRTAz
164 R2VNZWFadXBOSURwVU1oL0ZianFvCkhFUzhGWTFVSHh0eDdBSEFiOUN2ZVp3WElSUFc0M1hNcllp
165 NCs0K2l5N3YydGNBdlViWkhtRWNwRFVJV3lXYlVpcHFPZWxCcHdqZHQKS0c5ekd1VXRndEVrajZJ
166 L2drYXFneFZoWHpUYmN6YWwySnl0WEYvdjc3ZFM2Ti9vMUdJYnFNMCtXV05qbjlIa2w2Y2NwcER5
167 MkJmNApKMnJHbXhpTGpINUR4UDZvNmFQOVVTejJmdFJDOUJtS3BpdC9IWE1TL1I3SStRK0owWGtK
168 NXJ4aFVITDhSc29kY3pzYXhGaERaU3BRCkZQdWdoMmZLbnc1aU8zMTJBdVhQdUJlSzN3OEx5WDBZ
169 VlFTTnNKcmZMbWhFTysxa2h5NlU4dE1WK056c25TczhPU2ZjTW1rQmZvNHEKTHovVU5nM0ZGQWRV
170 SVhjRzFlY29OMnBMR2FxM0RkUm1ueUIranpocFRZbzRPUnY3dkV6NnBSMnFwWkR5NkI4d0hNMkcy
171 dzA1NXQ2bwpkWHN6Nmo1L0ZDM3VNeHpGWFk5R3JkY0xQTGtrM3ZDT09SWDRHbkp5cTFHM2F3bHE4
172 UWJwalFZclJxR0M5cUNuaHluV041Zm9rTUppClZNa2NEM3djRFFTMm9zVDdJNEcveCtpOHA2ZFhi
173 MC9mTjczckxFTU9kQ2JtOUQwYlJsSWU3TitNNG1RSG9MeHFuMlVvKzJKZkttUG0KY1l4RHNjRSsz
174 ckVYVXZzaVBDOFJIN294TVJrdFBFWEVzZUhKRFpzb0gxenVSaE1rTGtHdHdBMm9najRVVmJacDVY
175 YWtOTVpSRkkxaQpHNmpkUHFDUTR4Ukt2dUVZNENuMGJuK0UwamlOalZ5U2ZmWkVpUUJSdmZpczJT
176 YktZOTYvcU5CbzJONy9EQ3B6UU5lZ3RaUERyTVE4ClFTQ0tkc29YYkRrTlRVQ3BacjBIUjRsVGtE
177 T3RCV2ViMnZnRWpiMWlZaVkwUXJkNGUyUXRsUU15L1RDbituUmhkdFpSakVRcFVydDcKLzkrT1Jx
178 d1BpenpDWVVNWHRhOEM2R3hURzZjZ08yelRPS2RjREtzb24yclpCdzJxckRQSXprZnBQYmJyTkM5
179 SDNhVG52Zi8zUU4ycApvcnZ0RG1lYldoaUd4bUpxbVJqVEZEaW5YSDlHVTU1cUJKclFNb2pTVDZZ
180 ZmdRWXJUVjJ6VFNqZHFkUHllbHNwWDdCL0psckQ5bG5MCjR4MzF3OW1tZXFhaUg1d29ZaTJZcGlU
181 TGRXS2JrYmo3L3g3bUZKNXhxSkNkaFhJMlJ4cGtmUHhXZE5vVXBlbG9LVlJINCtGc1k4OUEKMUpC
182 cGxKK0JhZ3F5V2llMldVbTYvN2dKTExiSi9zZWlpVHUybkVCcCttOS90cTlLc3RGeHRrbkhMV2lR
183 YjdzZ0s4ZTVGVTNVQ0g3eQpXaCtpRVVpNi8wTkk5NE1BSnA1Q2FUV0hrYnh3MGtRMFEvQk85Tklm
184 ai9LZFRiT01IUG5pYkpPT3MxRWFXYlhUeHgyT0NnNG4yMWw1CmM5RU15Q2oyUlhIbzdzQm5DOW4v
185 MHJZalBjNDI2UmlKL1k4eE94eldWTE1XZ2NQaGNEZ2NEb2ZENFhBNEhBNkh3K0Z3T0J3T2g4TVIK
186 eS84QlhNMmZXWUlsVDVRQUFBQUFTVVZPUks1Q1lJST0K
187 </png>
188 <latex>$$H_{1} CNOT_{1,0} \left(\frac{1}{2} \sqrt{2} {\left|00\right\rangle } + \frac{1}{2} \sqrt{2} {\left|11\right\rangle }\right) = {\left|00\right\rangle }$$</latex>
189 </output>
190 <output>
191 <output_type>display_data</output_type>
192 <text>βŽ› ⎽⎽⎽ ⎽⎽⎽ ⎞
193 βŽœβ•²β•± 2 β‹…β˜00⟩ β•²β•± 2 β‹…β˜11⟩⎟
194 H β‹…CNOT β‹…X β‹…βŽœβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ + β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€βŽŸ = ❘01⟩
195 1 1,0 1 ⎝ 2 2 ⎠</text>
196 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVgwQUFBQW1DQVlBQUFBb1IwdlJBQUFBQkhOQ1NWUUlD
197 QWdJZkFoa2lBQUFEUmRKUkVGVQplSnp0blh1MEZWVWR4ejlYcmtBQ1NTZ29LT0NqTko4b29xWVFY
198 TFUwVnNsSzdLWEx0L2dBVzVibEF4L1VMUis1MUZJak5STVRmS1Q1CnpvcDhWZGNrTFRKSnpVeEJR
199 aE5SeTdmbUM3Mzk4WjFaWis2Y3ZXZjJ6RGt6dzduc3oxcG5uWE5tOXQ2ejkvejIvUGJldi8zYmU4
200 RGoKOFhnOEhzOXF5WnBWWjhEaktSbGY1ejJyTGVPQjg2ck9oTWRUTXBjQ1cxZWRDWStuYkRZQjdn
201 YjZWNTJSQkQ0RTdGVjFKanhXV2xVKwphd08vQTRaVm5SR1BweXpXQmhZQ20xZWRrUlMrQ3V3TGRE
202 Zmg0MmsrclN5Zm5ZQXVvRjhGMS9aNFNtY09jRXpHT0FjQk13dklpNDEyCjRIWmdqUkt2MmNwNCtX
203 VG4yOEFaVldmQzR5bWFEWUhuZ2JVY3crOElmQXQ0Z0hJZmtJT0JRMHE4WHF2aTVaT2ZvY0J6d0ll
204 cnpvakgKVXlUbkF4ZmtpRGVIOHBSS0czQUgzc3NpQzE0KytiZ0tPTG5xVEJSTkt3L0hQSTJ4RGpB
205 TitISFZHVWxoSCtEWHdIdFZaOFJqcERmSgo1MkxnNjJoU3V0ZmlsZjdxeXhSZ01mRFBxak9Td2pU
206 Z3Nxb3o0VWhiMVJtb2dONGtuL3VCdDREZFM4aEwwVmpMMm00NTN0OXdiaVh3CmR2QjdnQ0hSZDhq
207 ZjJ2Y0IzbzhkV3dQNElQamRqOXJ3OFFQZ2Y0WTA0bmwrTDhoVGxtdkdhVU5sZFNWNmo1cUZTUlp2
208 QjljQzZCdDgKUW16M0o4NUU0QzhONTY1WVBnMzhFVDJJemFJTnU0ZEl0TTRsWVF2M1dlQVo0Ry81
209 c3RaeWxDMGYwTE93TXVGOFVqZ1grVHdBZkJLTgpYc3JBVmw3WHVnajV5OXFEbndFUEJwbDVCMWdB
210 L0RBNE54cjRGYkEwT1A4aThIdmdDTmZFZ1VIQTBjQTgxTHJPRDY1eGNIQitDbkJpCkpQeTV5STk4
211 WlhETkhReHAzZ0s4RnB4L0JqakxFR1lzY0NWd0ExcVVNVDhveTA2V2ZCNFJwUGNhY3VtNmtkcDkr
212 Uzl3SzNBVGNFK1EKdDhVSlpjN0w1Y0FUMU56WmxnQmZqcHcvSDFXT1VCYnpjZXR4TGlHYnpLS1Va
213 VE8rRlJpY2NINXo0SmZBbmFnQm13MnNtNUxtcVlaagpYd0orQVp3Sm5BTjh6UkkzTFZ3NzhnS3Bt
214 dDRtbjVCTmdYODc1TXNXemtVK00xRkRWaGJ4OHJyV3haQkd5bHJIZUtSSWJLczBUd3ZPClQ4Mlk3
215 dTdBTXFTc3hsRXpNZlVCdm9NcTdGdkFMckY0dzFERjZVYUswTVNCcU1HSzA0NG1hUllDSDQyZDJ3
216 UDFuSTgyeExzYitBWTkKeldDSEJYazRLaFoyUCtBdVM3NGFwUTE0TExodVBQOTlnQ2VCWXpPa055
217 SklhL3VjK1NsRHFYd0NPRHZoL01hb3c3QlI4SDl0MUNBLwpCb3hNaU5jWit6OEplQmxZTC9pL0py
218 QUkrWjNuQ1hjaStUMUF4dWVNRjZjM3lRYzAvelFWNlkya1VZQkx1RFQ1N0lFNnVtVXRWT3lNCi9I
219 YXRZOUNjc3RZeE0wanNVNWJ6ZHlQemlHdWliY0NGd0x2QTRRbGg3Z05lUmNvc3loZFFEL2NoNEUz
220 TVBZd1RnTzFpeDlaQURjSE4KMkQwTXpnalNIQjA1Tmd4ekF6SVhzL0lkQlZ4a1NiOFpIQmRjOTd1
221 eDR4Y0J1MlZNYTY4Z3JiNXBBV044SEpnRlBJVWUzbE5KZm9DVApXQ2ZsL00rcFZYNFQxMUpmN3JH
222 b1hKY214T3VNL2I4ZHVENTI3QlQwNEEvTEVXNGs5UjBDVjdweXhndnBqZkxaQXJnTzNldDdzQ3M0
223 CjEzQnA4dGtnaUx0dFFwaG0waG41N1ZySG1sWFdPbjRUWE13MGs5MFgyWTMvbWlHOWIrSTJNamdk
224 dU0xdy9FSmdPT3FSZDJNZTlseEYKejE1NUd4b1ZMQ041R05wQnZVS2RqbHI5T0V1QjVZYmo0eXg1
225 YWhaRDBBaG9PVFViLytuQUYzT2t0VDlxNUxMU0RneU1mZUtOc3d1SApBQzlnN3pCc0Rmd29KWTJu
226 a0RsdFNPUllHekxGUFprUXJ6UHlleHNrOTNnbkpGUk8rMmNNRjVLM2w5MlZNMTVJYjVOUG5MbTRy
227 ZGhOCkM1Y2tuNEZCM0t3ZHFieDBCdDlaNjFqSVhES1cxZWE5MHdmWUZmZ3o1a21hblZGajhJZUVp
228 MFhaRHRuWTcwSTk3aVNXb1ZGRW5CSEEKQ3VCcTRIWHF6VEZoV2FLVEgrY2hjOHdNNEpXVWE0SnVm
229 TWpMYUUrT0tCdWlZZXU5aGpSZXgvMSs1T0VsTktjd0F0Z2JtWE9lUS9NVApXUm1DUmxOWldRbThF
230 ZnVrVFliSG1RbzhpeDZ1UXkxaGppZDk4N2NscUNjVG5XanZSdlYxWGR6bU5jWUUzM0VsOUsvZ2Uy
231 TEdjQ0VMCmdBa08xMjgydlUwK1JaRWtuL0NlRGJHY0w0cXNkY3lWdXJMYWxQNzJxSlh2c3B3UFcw
232 RlhKVGNYalE1bU9ZUmRSSDNETUJncFlaQlEKcmtaRDJXaHJQQVo0T1BKL0ZGS01UNk5oVXhLaHFT
233 WnE3cmlPK2haMFV2QnRLdmZqUWQ2TEpCd1cvd0E5T0huTlNVTkliZ1NMNUdZMApzWGNOMnY0aC92
234 QnZndTc3c3BSMDlrUWp2K2drMXJEZ3N4QzNIdUg2d1hkODFCUCtYeTlqdUpBN2FNM054MkRWa2s5
235 UnBNbm5OZHlVCi9uWElPeWJMWjJkTFdsbnJtQ3QxWmJXNWJJYXR5cDZZUFZ0MlJrSnpVZm9qa0VL
236 K0g0MGMwbmpRY0d3Q2FyRkNMa0htbCtuSWN3aWsKa0tQNW1ZSEtkeVhwcms5YkJ0OS9TZ2tYM3Bj
237 aWUvUkpMQUFlQmJaQ0RXbGVCcEhQdk5OTVppTWY3ODhnVTJLSVN5OFMxQnQ3T1hacwpSdkJ0OHR3
238 eVlYdlEza1c5NXNFWnc0VjAwL3ByWUZZRitSUkZtbnpleEcydThpdk55UTZRdlk2NVVsZFdXOEVu
239 QlJmYUhRazkrcG1DClpyYi9nVndFMHdpSEZvMzBnaWZTVTlFK2d0eXFQay90Wm8ybDV4ekRyc0gz
240 L1E3cGh6MzR0TEFUVVprZmRVaXpDTVpFZmgvWlFEcXYKazd6K29CazdKYWJ0bnZnd01wTkZQUk9H
241 b3g1V252czdHazEybjBPdEk1QkcrSURGT3dWdHFNUHdmc1p3SWUyR3NNMmthTm5BcWlHZgpva2lU
242 enlEVTJ5K1RySFhNbGJxeW1wUitHMUxVaXpBdjh0a0JLZjE3SEMrNlkvRDlkNGV3d3pGN0RZeW1m
243 amg1TWZMR21VYnR4a1FYCktJUW1tNlVwMTl3VU5SN0xTVmI2UTVGSjZWNnFHWnB1aEx3eDlrQW1y
244 a1BKN24wVDhpSnlvYlBSVnRBbnpteGdNalZaSFlkY2ViUFMKRjNsYXpRTk95aER2RWN2eGNBTzZG
245 Um5EaFV4QnZ0WW1ScUhPaVdub1A4NXkvSTVZR21YSUJxcVhUMUVreWFjTktYMlhEbTB6eVZySApY
246 S2tycThtOHN3MXF6ZWRaRWdsNzdxNG1qbkJpNG5tSHNDZFR2eVhzV2tqSnhia1JiUloySlBMMmVT
247 eDJmamxxUk5MTUdLRWYvbUVwCllhczA3UXhGZHZ6RDBaRDVXclN3YXQvZ2QxWmVJdjl3c1puY2dp
248 WU5qMEdlVTV2aFpnS004eE0wOGpzeExXQ004RUdMMjI4SEJkL1AKWlF3WHNnTjJoNFduTVM4dUJN
249 MmhkVmpPVlVIVjhpbUtKUGtNUXZyZ0pZZDB3cm5GTEV6SHZCSStheDF6cGE2c3BwNStxTnhNSGlw
250 UQpXMEJpNnVtYjl2SHVpbHc4aVRISVpCUWZYZXlLMmRiK0x2QlQ1Q0Z3THZYS09NeS9iWjBCcUN5
251 SG9UbUNPMVB5NTZMMHMreGp2aG1hCjJKNk9SaTFETGVFR29rM1JqcVZtSXcwM1NUTXRLSFBKeTR1
252 b01jMDdVbWdXSzlHOVB4UTErR2x1Z0NaT1F3MThWS0VjYkFrYlp6SHkKSmhrVk94NU90aTNLR0E3
253 VUt5NWlaWFlWVkMyZklraVRUOWdaY3VucEg0QkdaMWsrdHExUHN0UXhWNXpyNGczSWZHRlRRdjlC
254 MndKRQpTZHZIZXdGUzZMYkprVEhJbjk2MGVDcnNZWmpZR05tNjNxWitCZDB1YUozQlRaYTQyeUls
255 T2crM1hmVVdZVjQwQnZuMk1ZKytyV292CjRMZUdNUDNSc0hnTFMveHV3em1Ydkt3ZnhJMHZaS3VD
256 b1VoK0MzUEUzUS9aaU9QWVZteER2Ui80UXRSaml6SWJtUlBiYzRRN0JmZjMKRThUcHlobXZTS3FX
257 VDVTNU5PNm5ueWFmeVVqNWx0VWg2b3o4ZHExalVlYVN2NndRQkhnQitkaWFHQmRjNEFyTGVkdnk3
258 NEdvNTMwZgpQUlg0Q0xSaXJCT3pNaDJKaGpYREUvSThIL3VvWkNxYXRQeGM1TmhnMU5OWWpGcHFG
259 ejZHR2hmVCtvRW9yc3ZmSjlMekhxK0pSampSClZuNWJaTTg5M3BMR0NVZ1dsK1RNeXhQazMzdW4y
260 VnlHMWg1a1lRTHFqVjBkKzF5UHpCSTJPbVAvTzFBZENldmx1cWhuT2oxSHVINjQKdVNYYjZHb2di
261 cEZVS1orUU52U3NkNlAxTWphU3dybklaeGJsbW5BN0k3ODdjS3VMSVEyVmRUUXE2SlBJZnY0cXNz
262 R0ZMbFo3bzBuTwpaNFB6SzVCNUo3NVhTSktpR1lETUVkZWdGdTFLdEhlSGFkRkJ2K0I2cndiWGV3
263 cjdCTkJrTklTME1RR1pmNjVBbGZkeTFOQ2tMVS9mCkNFMmdkYUViL3dZYUdTeEFwcUN4aGppdVNu
264 OGE5UTNWTTZoeG1vd2FoSEJ4elhKcW5rZ2hsNk1IS2d6ekVQWExyZFB5TW9mazVmQW0KQnFESjVG
265 bG9CR0pya01wZ0JYWlBsSE1UNHBsZURiazNtaHU1QUkxMGJROVpXcmpKbUVkbHJuUTFFQmQ2cDN5
266 R0lWM3pCTFg2L2p6UwpJUWRrRE9jaW4xdlJabWRsRVMrdlMxMXNWbG1iUXBsdjdGa1ZjUzMvU2RR
267 dkdGdU1mYWwxRVhrNWlPeDJ3ck9vOVNnR29rbkpyTy9YCjlkaXhPVSs0NHVYVE9NdVJ3dXkxdFBv
268 Q2tsWmxDZlZ1Y2dNbzEwM3NOclM2Y3N1MGdCRTZxTzNtK1FZYTlmVHFCNlJrR3AzZzdNREwKcHhI
269 Q0ZmN3g3VmQ2RmJiSkFVK3hMS0xuc3VyK3lGVnJXWWw1ZUFYTkI4ekF2SFdyaVFPUnpURmtKTmsy
270 M2ZNVWk1ZFBZOHhBcnRGSgpMMTlxZWJ6U0w1NnRndS9vS3NhbGFCSGFCbWc0dVJ1eThUOWVidFk0
271 SDYyOG5JbDVMVVNjNkdaUUU1QlMyYWVBZkhueTRlV1RuK0hvCmpWbTJUZVk4TVpxNWozY3JrbFQr
272 NzZPSjFqamowYUtWbzlDa2pjMHR0Wmw1TVRFYnJiVE13bkEwSjdFNnliaVY4UExKenRrMDVubTEK
273 MnRHc2ZieGJsYlR5Si9VZW1yM0ZiRlpaREVDMjMyMFN3a1Q1Q0JvaGhOczRaSmtUOEJTUGwwOTJK
274 cUp0MzIwdldmSjRNcFAzVFVwbApzUUZhZzVEMkV2Z0J3UGVRaSsvNmFKMUYvRTFlbnVydzhzbk9P
275 bWppdHV6OTh6MjltQTVhbzdjMWp2VE50RzZpM3VmNmhJTHo1WEhICnl5YzdjMmllYWRYakFhcDlR
276 NURINC9GNFBCNlB4K1B4ZUR3ZWo4Zmo4WGc4SG8vSDQybEIvZzhic2R5Y0VKaERVZ0FBQUFCSlJV
277 NUUKcmtKZ2dnPT0K
278 </png>
279 <latex>$$H_{1} CNOT_{1,0} X_{1} \left(\frac{1}{2} \sqrt{2} {\left|00\right\rangle } + \frac{1}{2} \sqrt{2} {\left|11\right\rangle }\right) = {\left|01\right\rangle }$$</latex>
280 </output>
281 <output>
282 <output_type>display_data</output_type>
283 <text>βŽ› ⎽⎽⎽ ⎽⎽⎽ ⎞
284 βŽœβ•²β•± 2 β‹…β˜00⟩ β•²β•± 2 β‹…β˜11⟩⎟
285 H β‹…CNOT β‹…Z β‹…βŽœβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ + β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€βŽŸ = ❘10⟩
286 1 1,0 1 ⎝ 2 2 ⎠</text>
287 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVhvQUFBQW1DQVlBQUFES20xQ29BQUFBQkhOQ1NWUUlD
288 QWdJZkFoa2lBQUFEU2RKUkVGVQplSnp0blhtMEhFVVZoNzlKQWdsSndNZFRsZ1N5U1dSUDJBS1J4
289 WmVBbkNoSGhJQ3lSRUFRaUVCa0UyUlJBUWNDaWhnSUVjU2pva0FTCkRFaEFrTEFKSWtza0VZR0Fv
290 S0NRR0RBSWFvaEMyR1NMZi95Nno4ejBWSFZYOTNUUHpNdXI3NXc1TTlOMXA2dXFiODJ0cWx1M3Vz
291 SGoKOFhnOEhzOXF6UnF0TG9ESDAyUjhtL2YwS0Q0RG5OWHFRbmc4VGVaYVlIaXJDK0h4TklQUndH
292 MUE3MVlYSklaMWdhNVdGOEpqcGJ2cQpaeER3RzJDZFZoZkU0eW1TRFlISGdJMWFYWkFFeXNBNFlG
293 VU9MMC8rbE9tKytwa0F6S085QnpvZVQwUGNEQnlVOGpkZkJNNHNvQ3cyCkJnSzNOakcvN283WFQz
294 b3VBMDV1ZFNFOG5pTFlDbmdlOTVITWpzQTV3Q1BBK1VVVnlzQ3B3TjVOeksrNzR2V1RuVTJBRjRB
295 MVcxMFEKanlkdlpwRnRBZlpLbW1kSStnSjNBcVVtNWJjNjRQV1RqVHVBeWEwdVJOSDBhblVCUEUx
296 bE9QQTVaQlRhbWNPQm1YamZlcnV5T3VubgpDdUIwVm5OZnZUZjBQWXNEZ1BuQXk2MHVTQXk5VVdk
297 MGZhc0w0c2pxTUtwTncrcW1uOXVBRFlBeFRTaExNekRXdDQ5RnVKOGg3VDNnCjdlRHpBTU1KL3dl
298 OG03Rnd2WUgzSThkNkFSOEVuL3RTMmVUd0FmQ200UnpSTXI4YmxDbE5ubEZLcUs2dVZGK2pQRm1M
299 NUJISDIwSCsKY1hRQmY4aWxSTVZ4SUhBVHlicEpRd243NkxPNm5jVmhrenNVZUFDdGUvUUVtcTBm
300 MFA4NnFXM2I1SkwwOHdHS1FQc0U4SHVIUFBJZwpqL3JtMGg1L2ppcS9DaG5MK2NEM2c3UmhLQ3hw
301 U1pEK0N2QmIwdm01MWdhT0JhNEJGZ0MzQjNrY0hxVHZnNlpUSWQ4RDdrR1ZYd1hzCllEam5MNEhY
302 Z3ZSbHdMY05NdHVqS2VjTndJK0NmT2NCTzFuS09UazQzMnZBZmNCY0t0ZGxPWXBldVJHNFB5amJz
303 ekYxenNxR1ZPcTkKRWxpRTZqbzNlQzBQMHZaTk9FOEpXQUhzbDdFY3pmQUJsNUR2dDYrRDdIYUI3
304 TjNBUW1BYWFsY212bWs0TmhrWnJLbkJiNCt5L0RaSgpiaUJ3aGtONWk2YWQ5Sk5HTjJEV1Q4aG80
305 Qm1Ic3Rua1hQUXpEYmpGSVkrOGFLUyt1YmZIWFpFQm1XWkpQeXRJM3ovTlNZRTlnS1hBCmREUmRD
306 dDFIdllGelVZTjlDOWc1OHJ2MTBXaDBGZkJUeTdrUFE1MVVsRDVvRWZKaFlHUWs3Wk5vTkh5czRY
307 ZjNBS2RRNitJNk1pakQKTVJIWlNhaGg1ODNSd0J1WURkRWsxS3RmNkhDZTBhamNRektXb3htR1pH
308 L2dhdzV5MjZMQnhlRGcrM3FvazMwaytCeWxIUG0rUHhvTQpmQ2o0UGdCWURCeWNVZTRjc20yckwx
309 SGZ6clBTTHZwSnF4dW8xdzlvZ0RNSitCY2F6Tmh3a1V2U3owSEJiNXZsaGlzYmpyblVvNUQyCmVD
310 WXlESHRhMHU5QjB6ZlgzV1VsWUFid0R2YlJVd2w0Q0hpVmVsZkY1NUZDbmtDR3I4UHcrOU5RUTZ1
311 bUZ6TCtOMkd2L1BuQk9ZZFYKSFZzZmM2ZHhOYm91MFE1aktQQUR5L2tiNFJiTU91aENIZFIxdURY
312 UVE5RE1KQzJiQTJlanFlRFRhRFNTdGJQNGNFTDZQT0pIZmlGMwpVYS9uQ1VndkZ4amt5NUh2ajZC
313 RnVHb3VRZGRuclF4eW81QkxJeTBkYUZiWUNPMm1uN1M2Z1hyOWpFVzNLVGdkZUJTNzRYT1ZTOUxQ
314 Ck5rSDVCc2ZJNUVrNTh0MjFIb1cweHp1UTIyWXRROXFheUUvK3FPdkpVTnl0eXd4Z0t2QXJ3L0Va
315 YU92eXNjRjVUakxJektKMjlGMUMKby8rbG1EdUdrUEhCT2Mrck9uWWNHdTFIV1FLOGFEZyt4bEtt
316 UnVpSHRtcEgyUnk1WWViajV1WUFPSkZzZnVRK2FEcFkvY29Tb1hBUwo4SGZzTWN2anFMMytOa3JJ
317 aGZVRXVqNGhBOURBdytSbkxWZDlIby9aMVJVYW93a3A1VUt5aktiek1QVHRwSjhzdWdIekNEZGtI
318 dkVqCmVsZTVPUDBNUnpvZDVaQlBIcFJqMG16MUdFOEQ3ZEVXZGRNYjJBVXA1aTFEK2xqVUFUd1FV
319 K0JxdGtVKzg3dlJ5RHFPcFdpMkVHVXcKOEJJd0d6V21xS3NsckV2MUFzVTA1R3FaQXZ3M0lVK29W
320 ZlIvZ0hzamNoc0RJNEFIRGVkWWlmdjFjT1VqeUoxVnpmcG9iV0U1VW5yYwpnbk0xbldpbWxKYjNn
321 TmNqcjdRTGNZY0JmMFVkOVFFV21STlJaNTdFS2pSZEhVR3RNUWtYbzIzdWdaQnd0TGs0Y3Z4dndY
322 dFhTcm1RCnA0RXRFdkl1Z25iU1Q2TzZLWkk0L1lUL2k4NG1sU1VMRGJWSFc5VE5kc2dsYzU4bGZm
323 ZmczZFd3WFkxR0NtYzd5QzVDZnFwcU9wRGgKQlRYazJXakV2VHZ5QjRLbVgzK3MrczFRMURoZlFB
324 dERjWVJ1bU9yUnpIVUd1WEhCdTZuZWYwbklJd3ZMZ2xkSWZ5clQ1NCtqaFhCWApPb252N0lwa1Z2
325 QitLM0FDbXFaV3N6MmFiYmpXWnljMDBLanV1RFpEK2t1S25OZ3dlSDhqY2p6OHZrRkt1WkM1YU9v
326 OU5TSC9kaVJQCi9UU2lteUtKMDAvbzBuUXg5SGRTYVJzdXJFSSs5RWJ0UTBQdDBXYm93OTVoQXVh
327 SWxMR29BaTZHZmpBeXdndHdVL1JqaG1PN0lUZEYKeUErUm9UK09pcUVmRnluUEZGUy9tU1NIejIw
328 WnZDOU1rQXV2Uzk0amR4ZkN0WVpSYUVFNzJyTW5zVGIxamFUWlhJWmNVV09RdnpIawpWR3FqckpK
329 NEozaFZNd1dOR2k5SytHM1NINllqcFZ5SXpjM1puY2hEUDQzb3Bramk5UE0rbW5XNHJEZCtPcmNT
330 cGFPaDltZ3o5T09RCll2YWdQbVo5VGRSYi94bTNIbjYzNEgyUmc2eU5MbW9YSVo0RWZnZE1SQmZn
331 WlRUcXVMeEtacGZnZllIRCtjT1JlcEpzRjZyem54ek8KbVRmVFVkanBnYmpWS2NwS2RHOFBHMFh0
332 Y3F4ZUtMNFh0WnNUcUlUU2JvWWFxMm5kdzVXdFVYVFNOMGh1WitFZkk5cjVoN081OTFQSwpoUXlr
333 Mkk2MENQMUVGL0dMMEU4YTNSUkpuSDc2SUZkVGxtQ0ZadEZRZXpUNTZFdklPQy9DdkRGcEIzUlI3
334 bmNzNEk3QisxTU9zb013CnIvd1BvK0pIRDdrQ1JkRWNqY29jM1dRUXVtT1dKT1M1Q2Vvd1hpVGVn
335 SzZIRmtFZnBQbGJ2MDlHYnFnejBKUXNaQUR1STR4WHFJUmwKbVNnVjlJcHlPWXFlQ3YyMXA2RjlF
336 bGtaQ014QmEwQXU1M25TY3J4LzhQNVNTcm1RZzROeW1OZ2EvWjhlajd3ZVJPN0g2UEhIcVhjZApO
337 a00za0s5KzB1cW1TT0wwRS80djByaENtMDFEN2RFMG9oK0ZmRlhYV0U0Y2p0QmQzUmVoaStHZkRy
338 SmZwLzVXcS8yUlh6N0tYT0JTCjRNc29TdWZwU1BxTHFPTklHbVdGY2ZKSEpzaTJ5bTJ6SDNBeGNs
339 ZEYveXlIVXE5Z0d5dUlqenhxRmpPQjd5Qzl6VUtEaHF3YnpYb2gKZi9KczRMdU92d24vTUozVVJq
340 ZUVZWU12cDVRTEdZRjlVUEVVV3ZlSzBvSFdyeWJHbHJpNTVLV2ZMTG9wa2pqOWhJWitoY041NXBI
341 ZQpSMzhJV3V4dWhEemJJd0RIQjRXejdhQzhPVWczVmRaMFQrek5pWStoRGRrRzg2YWxQYkh2dXIw
342 d09QZGRWTnd2SVpjRWFWK0t5WE5YCkZGVVVqVTAxTVFQN3J0eVFOUGNFM3hRdFRoOFg1RytLU0Jp
343 TFpsVzJKMEV0b05idkdKZi9GOGdXZFZNRTAxRW8zeFdZRGFBcmw2S08KdXBvakRITGxxcy9yb09s
344 dmRHL0NVZFNHcWJuS2dkYXg5bkVzY3pWNWhGY1dRUjc2Y2RVTkZCOWVtYVNmN1pGT0J6bmtrd2Zs
345 bURSYgpQWEp2anpjRVA3U0ZRdjJiK3Q0cDZaN1k4NUh2ejdiWXNRMktkemR0YURvUEdVVVRJNmdz
346 cFBTTHBPMk1GaVJ1dFB4Mk5Jcmt1UWEzClJiUkZtRGR5UWJaN2dqK00vSjhBbjZJK1h2NmpLUHJv
347 TVRRRmpqSVozUXJCTmYrdGtWNDNkaXhma1l4RWpmYjJCczV4UE9hdDNxWmQKMCtYSTl5WElFRlV6
348 QjdsTXNzaWRTN2JZOVhZMTlJM3FKNDF1b0hoRG42U2Z3M0R6T09SRk9TWXRyaDY1dGNmK3lMZzha
349 MGtmZzR6RgpWWlowMnpic2djZ2YrUkMxUm5zd3VwVkEyVkt3SVdoS0V0ZlQzbzQ1cmgyME9Xc2x0
350 UTlJNkVBTFRjOGkxNGNMSDBNZGlpbSt2eHJYCmJlaGQxRjdqTmRESWZXand2Uk9GWTcxQTdXNjlQ
351 dWo2blkvMGNFU0svRXVvQVdXOTEwM2UzSWhtVkZuWUc3WFQyWkhYVGNEUERQTGwKeVBlSmFKb2VQ
352 a3B4Q09yMG96SGtMbklkS0NvbEMrMXE2Q0c3ZnRMcUJ1eUdyemVLaEZ1SjlwVFlpSk56MGM4TWt2
353 ZjM1RW5aY2p5cAp2ZzIzeDJISTk3d1krY05mUlZFdFU0TDB6eUkzd1QrQzlKZlFZbXkwSWNRWm1n
354 SElOWE10R3MzT1JLNFgwOE9GK3diNXZScms5enoyCkcvWHNSZnlETkhaRHZ1MnJnSitnVWNVeEpH
355 OFRINDVjUXZjaGYvL3I2S0xPQjM2TnBudFJYQTM5MGRSM1RzdW9kRWcvRHZKYmpCUy8KRUkzc1Yx
356 RFpGTE9DK3NhUWxQL05KTHZRb3F3TGZBdk5HSzVIdnR0VzBoZlYzL2JzVVZNNytZcmgyTUdvUHRP
357 UlVUdkVrbCtTM0NTeQpUL256TVBUdHBKOHN1b0Y2L1l5azFoNjlqbXpQUW1TTDBzaTU2R2MrOE5V
358 RW1UekpXbDhvdGowNjA4eW4zTFFqcnZVL2cvcE5YTThpClAzcVIrWjlDK2h1dnpVREdCTlN4ckNE
359 OTgyWTladnFqUmZaRzhQcHBqRFdRWWQweFNiQTc0eDg4MGhxZW96NjhiUURGaDNmOUF1MHYKU0hQ
360 enByMm9MSVl2UitzQWUrVmNycDdLbTJneHZoRzhmaHBqSWxwNFRuUGZybTZITi9TdFlSRzFXNWI3
361 SWIvODBvTHpYWVlXYjlKTQo3L2RCTHErUUlkalhjRHpOeCt1bk1hWWdGN0xMdzJlNkxkN1FGODlX
362 d2F1YUpXaGpXTGlvc2p2eTJSZHh2NXdvRjZFOUE3WmQwVkdlCm9YS2ZvWDNSSHlLNjh1OXBIVjQv
363 MmRrQ3JjVkY3KzNqc1pEblBiRzdJM0gxdnhqZHRqWEtybWpSOVJqMHg3U0ZrRGFhdjRrNUtLUXMK
364 RFNOUmhGTXI3MERvc2VQMWs1NHJhZHgxMXFQSTY1N1kzWldrK3NkdDJzcmpxVFpwcjM4bmlud2E3
365 bmorUWVpV3orRitneTFqWkQzTgp4K3NuUFJOUjFFcFBlN2k3cDBDaWp4MXNCelpGRDVkSmV1UllK
366 d3JKM0FqdGhoNkNRdms4N1lIWFQzcUdvdWl6L2ttQ0hvOHI0Mm5mCkVkWWUxRC9ZSk1yOTFNZER4
367 ODFRUE0zRjZ5YzljNmlzajNrOHVlQ25oaDZQeCtQeGVEd2VqOGZqOFhnOEhvL0g0L0Y0UEI1UEQr
368 VC8KTDVLMlhIQlkzbllBQUFBQVNVVk9SSzVDWUlJPQo=
369 </png>
370 <latex>$$H_{1} CNOT_{1,0} Z_{1} \left(\frac{1}{2} \sqrt{2} {\left|00\right\rangle } + \frac{1}{2} \sqrt{2} {\left|11\right\rangle }\right) = {\left|10\right\rangle }$$</latex>
371 </output>
372 <output>
373 <output_type>display_data</output_type>
374 <text>βŽ› ⎽⎽⎽ ⎽⎽⎽ ⎞
375 βŽœβ•²β•± 2 β‹…β˜00⟩ β•²β•± 2 β‹…β˜11⟩⎟
376 H β‹…CNOT β‹…Z β‹…X β‹…βŽœβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ + β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€βŽŸ = ❘11⟩
377 1 1,0 1 1 ⎝ 2 2 ⎠</text>
378 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVpFQUFBQW1DQVlBQUFBRm1hWXVBQUFBQkhOQ1NWUUlD
379 QWdJZkFoa2lBQUFEaU5KUkVGVQplSnp0blh1MFZVVWR4ejl3TDNDNVNKQ0ZBWWFvRmJsMEFhYVFE
380 eFR3cmFra2lpV0Zqd3dSTExPSDcwU3RXSm1LbVpZUzV1T0tvS2JtCmtudy9LaFVUVXhNRlV3aEZZ
381 S21VcG9XSWI2VS92bnM2Kyt3emUrL1orN3h2ODFscnI3dnVudG56T0wvWjg1djV6VzltZzhmajhY
382 ZzgKSGsrRDBncDBxWGNoUEo0YTBxM2VCYWdsWGV0ZEFFK25waDI0RWVoZDc0SjRQRFZrSCtEMGVo
383 ZkM0MmwydWdJM0FEdlh1eUFwSEZUdgpBbmhpYVdiWlhBUWNVdTlDZUR6TnpIbkFxZlV1UkFyOWdl
384 dUFEUlc0UEpXbDJXWFRBMWdBYkYrbi9EMmVwbVlzOEdleXJZVWNRZTJWCnpybkFGMnVjWnpQaVpa
385 T1BJY0F5b0tYZUJha21mazNFVXcxT0IzNkIyeWh3SkhBbThCMWdvMm9XS2tKZjlKSS9Xc004bXcw
386 dm0vTDQKTzdBVU9LemVCZkY0bW9udGdUVms5MUM1SEpoUitlTEVNaDNZbzRiNU5UTmVOdm5aQjFo
387 Q0ovWlE5RE1SVDZVNUZYVTY3OWU3SUFtMApBenNDZjZoM1FUd2xkRGJaM0FPMEFRZld1eURWd2lz
388 UlR5VnBCNzZNRmtRYm1TbkFiK3BkQ0FjNjdlZzFnV2FSRGJqSlp3UHdXMkJpCmxjdFNDNnoxalZN
389 aWJjZ0dHcjdhUXVHOUxPSGxiTEN4TFR5Rnk5WWpsRSs3WTVsNzVNZ3pTaGRLNjVsMHRkbVRLWnVl
390 RG5tM09xVFQKWW5tdVp5aThxeVU4eTBCakorQWRaQWR1VkxvQit3SHpLNWltN2VWeVZRQng4VnBw
391 Zk8rMlNsTXIyWVREWE5xM0xWNFcrVHdPN09vWQp0MXhxWHQrNEJLOEVIZ1RXQWE4QmR5R1hUWURC
392 U0xNdURzSlhBYmNDUnprVXp0QWJtQXBjRFN3TW5uOElPRElJSHdlY0dJby9BN2dGCitBK3dIcnZi
393 M0hYQXkwR1psZ0puV2VKc0I4eEJHK0F1QmU0QWJpUGVDMlJ5a043TFFid09Dci9MU21CdVVJZmJn
394 N0l0aWE5eWJ2b0gKK2ExRGF3MExnR3VDc25RRTVWZ0g3TytRMW1Hb3ptc3AxT3VYb2ZDOWdCVVU1
395 UDRBVWd5dTdBb3NBajdLOEV5dE9RS1lSL3lpZnh0dwpQbkEzOEFUYTY3SmJTcG9uVXhpVWJJbmE2
396 a3pVQmk4RUJscWVTWXYzQVhvL3F6VXdhVVRTWkFQWjVST1dUWmdXMUdla0xYckh4Y3NpCm44ZUJU
397 WUV0SE9LV1N5UFU5MytNUXNLY0dSTitSaEIrY0paRWdkMVJ4M2NoTUlLQ0ltc0Jmb1RzNlc5VDJu
398 bHRBandXNUhsRlROcUgKQTlkYTdyZWlqdmRSNExPUnNEM1E2SG1xNWJuN2dPOVRyR3lQRHNwd2JD
399 VHVST0RlbUhLVncyU2tPTDlwQ1p1SU91eWZaVXh6T3FxRApUZEhPUkNQQmpUT21DZkJINElJY3ow
400 RnRGbSs3b3M0bmFkWjJCekNld21qc1RPQmQ0S3NKejV3UnBObUtsSEJZVnFjaHhSL08welhlCjUx
401 R2JMb2VSbEg4TVI2UElCckxMeDhqRzBBMzFiVGVnZDJCU3pITXU4YkxJWjAyR3VPWFFLUFVGTkhY
402 WkFPd1pFMzRmOENId01jZjAKdXFCZG5POWg3eEJObklmUlNEbXFUU2VnaHZJVTZsVDdXcDQvQ2Rn
403 MmNxOHJVaXczRS84eXpRalNIQnk2dHdsMmhkU0JmcGVvTXRvTQp1Q1FtL1hLWWoxMEdvNUh5dTU3
404 c3R2TUJhT0g3dWNpemV5UFgzTHk4aXBSc0ZyWkNTbTBWOEN6d1EyQlF6dng3a1d6Ry9BcndyWVR3
405 CkF5Z2RvSFJGTTB4Ym16U1lGM2NTNnREQzdyQ2JvZmJ5N2RBOTEzaFFmdWZkQVd5ZTg5bEdrZzNr
406 azArMFU3ME16V1RPSjdsVGRZM24KS3A4L1ViRG1WSk5HcVM4QWQ2S0czdE1TMWgxNEMvaHJodlIr
407 Z052TTVTZkE3eTMzTDBLZDM5UWduUk1zY2E2aGVOYlFCVFc2bGRpVgpqbUZza09hUFEvZW1ZWGN6
408 WEFHOFpMay9JcVpNNWRDRzNVdGxLK0IxWkFKTVcvdUo0MlpVNTcyQy8wZWlEaWV2czBVWE5PVWRu
409 L0c1ClZrclhZZkpzemhvQ1BJMU1JbkhjaWIwOUczNEt2QWtjR3JuL2EvUmJ4Wm4yekl2N0pPb3Nv
410 anlEUnRBRzEzaWd3ZFB3aERLbjBVRisKSmRKSXNvRjg4b2wycW9ZOVNlNHNYZU81eXVjVzRpMG9s
411 YVRtOVkzck1GclFtVWQvUWFhbEtEc2dnVCtZVWlERHRxZ0IzSXM2cnlSVwpvbGxPbElGb1NqZ1gy
412 ZXlqNWlkVGw3QTlmaVlhR1IrSDFpeVM4Z1FZR3JyM2IyU2VDZk5wWk5kY1lFbGpIZTYvaHl1ZlJD
413 YStNSnVnCmp1WmZ5QlBxM1p4cHp3NytUa1hUMUpPUmlTN3Zla1lmMUc3V1puenVBOVF4aEs4UE02
414 WXhHQTBFbGdISHg4VFpENjN4Mk5xellUa2EKTVVkSDIrdUR2LzBTbm0xQjdlZDVTOWdMYU9hWUpa
415 NWhQdlU3UTZxUlpBUGx5YWRhdU1wbkxmbE14STFHU1gzajdJOWZRR2FxKzJQQwp6VUtXYTZmWmdX
416 WXYweDNpTGdKZWlkenJpenAxVUVPZWkyWUt1MUVZMFExSGkvMkd6ZEJPMjlYSU1TQUpZNXJxSHJw
417 M3ZTWGVtT0N2CnJkN0xVdkxJdzR2QlpXaEhDL3k5a1MvOWEyV2tmUS9xdE1haGVoc1RTMTdNQzVL
418 a3JLdkZLalFkWDRiYTdJN0FJNUU0MDBnZmhWMkYKZnQ5WEkvZk40Q0pwQjNVL05KQlpid2xianpx
419 L1hraDJMdkZNK1B2SWJOa2JEVlNhalVySkJzcVRUN1Z3bGM5YWttZUVoeU5yVFJibQpZMS9YckNZ
420 bDlZMVRJbVkwdERkMno2VWQwSlRIUllrTVJCMzhRalN6U2VNSnk3MWRrT25HTUFzMXZHa1VsTWlZ
421 U0htT1EvV2JRL3JvCmV1dmdiN1J4UnpHL1M2Vm5IQzZZdFoyaHlEbkJOcExOd2diMGNwK0RIQmF5
422 emlDaW1PUGViWjFqclhnQTJjZVBwMWlXbzRMN2J6aWsKRWUyZ2hpQ3o1aFhBUHhLZTZ4LzhqVk1P
423 b01GUVA4ZDQ0ZkFGcU8zZG5wQi9vMU1KMlVCKytWUVRGL21zSjNuOStKcmdhZ2FLNmh0bgp6aHFE
424 cHJLN0EvdEdybkhJVnY4TWJpUGhYWUsvaTNJWFdRVU9kOXhMMEFGL0IxRjRlYmVqZUkzR0hFRysw
425 Q0Y5TThOSWl6c2ExZmx2CkRtbFdtZ3ZSYjM4NGJuVktvenN5TXhwSGgzSTNucHBSV0srWThFcWN4
426 dXB5T3V1dmtOMzJVNkY3MzBOcmFubjRPWElaUHpFbG5sSEMKdGdHTG1lRitTRUU1cE1VTHN3ZjJO
427 WlJLVVEzWjJPUlRhZG1BdTN5cWlZdDhldU91S0J1ZG92cmFPbzR1cU9OZmhCYlBvMnlQbE1nRApq
428 aG1PRFA0KzdSQjNBUEFKeS8zQkZOWXRESmNpYjZ2SnFNeXRTUEVaaklscVJVcWVuMEhLNkNXU08r
429 ZCthRUY3QWJVL1h2cTd5RFIzCkNuQlQ2SDR2cE5pejBoWE41aTRBZm9kTWYxOHFzNHhtUU5Fbkpy
430 eExGUzRiYzFGSGJWeXdoNlA5TUZFVHFRc25vUGF4TytsbXVsWEUKMi9UYmtXSjRCYzBnWGVJWmpG
431 Kys3VjBNY3pWYXNJOWU0OUFhbWkzTTdMZXFobXhzOHFta2JDQ2JmS3FGcTN6NlVKNzV1VkVvcWEv
432 TgpuRFVVMmJldmprbkV6Q3hjVFRyRzdQSlBoN2luVWJvcnNoMnRnMFM1Q2JtalRrSGVYTTlHd2w5
433 Q1Npbk52R0wyZ1J5ZEVyZGVwcXp4CnFMT2ZoZHp2d2t4Q3pnWlptWW44d1I5RG5pMFRrV253dHZ6
434 RjVBM1VBU1o1d2RXQ3Q5Qm0yYW5JVkhjaWNrM055cjdJbTJnTWJwM2MKUjJpR2Fsczg3WTNNTUdi
435 MjRSb1A1SWwwbzBQK1I4YmM3d0RPcG5RUVZnOHFKUnZJTHA5cTRTcWZQaVNYOCt0b1ZwYUZXeWwx
436 dktrMgpKZlcxelVSTVoybnpRQUxaTU1FK0U3RjlkK0QrNEcvYXgxbUdJeE5aVktQdmpIMnQ0ajNV
437 SUFlaHpqWGF1WnZ5eCsxekFkWGxhTlJCCjM1TlNQaGNsa3VXN0MwT1FvOEUwTkt1eWVaYnNnSGJ3
438 M29YZHMrVW9pamM0dXVSL09qTDczUjM4L3lENjNmZWxlSitNamFUME55QzMKNDQrbnBGRUxMa0Vt
439 azFOUk8xbWQ4ZmxoYUVDekY0VVhmeXNranlRV28xbGRtQmJVOWhmbGlHZnliZVJqWkxKU3Jtd2d2
440 M3lxZ2F0OAorcEk4RTVtSHRnbGt1V3F0UU1CU1g1c1NNZXNERDFuQ1FCM3Zjb29Yc1pLK083QVVy
441 VitNSjM1aGFYandyTTJQZWpUeHByUFphTlEyCmh0SkYreHRSSXowZzV0bGhhT1I5QTI1ZUVhUFJh
442 UHRKUzFpZTd5N01EZktlaGJ3c290NWdXNktSeGxLMHlUSnFKejhHeWVEdERQbFAKQ2VMUGk5eWZq
443 ZHJDbEpqblhOTmZUTUZKb1o2OGdCYjl6aWIreElVNEJxQVRBQTVCU3RFd21uUXo1bE5CdlBBMzVV
444 ZWdEdVQ4SFBHRwpZVzl2elV3NXNvSHk1Rk5wc3NobmF5VDNac2FwdnUxSXN6OFhFejRDQ2VxcW1Q
445 QzQ0eEUyUWpPRGg5RUkzREFRMlVmUHhyNkphUkRxCktBY2tsUGtPNG1kTkI2TUYzN0FpNll1bS9z
446 dHhjeXNFK0J6cXhHMzdWOEs0SGc4eG11TGZ1QnVhZ1puUjZjYklKWEkxeGVjcHRhTGYKYndhU3cx
447 R08rWDhNalFEam5CczJSY3A0RGZFTDQwbnBHODdFZmEyczJ1eUpGSFVXZWxHWXBjME5YZGVpdGJX
448 NDlSNnp3V3NqcEVqRApKcG9yMFNBcWpHdThzeWoveUpJTzhtODJyQlo1WkFQNTVCTzMrVzRTZW9m
449 U1p1NUo4VnpsczBXUVJuVDJXUTNxVnQvQnlLenhQRnAvCldJc2E5SEZCK0lGbzBmbmxJSHdONml4
450 R1JkSko2bVI2SVZ2b1BPVFBQUWVOS0tLYnEwQzdzQmNHNVhnVExWcWVFcFB1ZnVpSGkyTVgKTkxx
451 N0NoMHhmUVZTWEduSE4yeU9HdXY5YUgzbFRiUlg1U0ZrK3RyTzhveXJFcGxNcWVKN2tZS3l1eXpJ
452 NzNsa3luc0V1VDYvVG1IVAoxK3RvTTJKUy9qMHAvaDNmc0pSdkFub0JUYnFyaWQ4UW1sYS9zVUVl
453 V1QyOURrV212WXRSaDJCenJxZ0Y1c2dIMjVXMDlqU1ZRcDAzClE3UEx5NUVjTDhkdTRrdUwxNHBt
454 ZnVYU1FYbEtwRkZrQS9ua0U1WU55TXZ4Q2ZRdW0zZGlNZXFQeUJBdmkzd21vRDZzRmpSQ2ZjdWkK
455 MWw5QWF6UmM2MzhLcFJzZ2x3TmZxMUgrMVVxL0RXMVkzQ1pEbWlNcFBpL3FZaXJqd3V3UjUxSHNV
456 cHNGTDV2S2NDNmxKdVJPZy84bwpWWDJJSG53SW1xazF1d3ZnTzhobE9Jc3lISWtXU1ExM29WM05q
457 YkJBM3hrNEdUZlBTQnRlTnVYVGdyd2Y4NWp2bWdLdlJPckRJb3BICmgyMW9IV1JsWFVwVFdjNUJt
458 eGU3cDBVTTZFQW1TY01nNU9aYUw3OS9UNEVPdkd6SzVRQjB6dDJkOVM1SXRmQktwUHBzUTZsNVp3
459 V3kKTFc4YS9MOGJXaU9weHZsYnRXWUoybjh5d1RIK1d4VE9QT3VCN0s3VHFMMm5qYWNVTDV2eW1Z
460 WUdWcDRVS3ZuZGdXWWtxZjRYWUhmdApHNFVXVkk5Rm15YUhXT0pVSXY5S2tEWDluWkRMZGRaQnlp
461 eVNQLzdrcVI5ZU50a1poamFXK3NHNkE1WDY3a0N6a2xiL2J5UThtL1dEClVubnlyMGY2MDVIcnRp
462 c25VZkQyMnh5NW0zc2FBeStiN0xRanI4cWhhUkU5SGhlaW45TDlmMkVPY3Z0TjR4aDBxRnYvNERx
463 WDlNK2sKZW1xRGwwMCtaZ1A3MTdzUW5zN0JXQnBqRjNjOTZJSE9PRXM2VCt0Z1NuMyttMzFuYjJm
464 Qnl5WWY0OUdocVI1UFJhaUV1Y3JqOFhnOApIby9INC9GNFBCNlB4K1B4ZUR3ZWo4Zmo4WGc4ZGVL
465 L0E2bjMvdnVXdlNFQUFBQUFTVVZPUks1Q1lJST0K
466 </png>
467 <latex>$$H_{1} CNOT_{1,0} Z_{1} X_{1} \left(\frac{1}{2} \sqrt{2} {\left|00\right\rangle } + \frac{1}{2} \sqrt{2} {\left|11\right\rangle }\right) = {\left|11\right\rangle }$$</latex>
468 </output>
469 <output>
470 <output_type>display_data</output_type>
471 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUo4QUFBQ09DQVlBQUFBdmtkcmVBQUFBQkhOQ1NWUUlD
472 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUJ0cEpSRUZVZUp6dDNWOUlV
473 MzBjeC9IUFdiVm84aVNOMmxaSWd5Qm9XTWlDTEhSclEwcEJyd3FDCkxyck1yQzZxaXlDaWl5NGxT
474 UHBqekNUb29xam96OVdDaXY2d2xhNGlpelJ6VVJEUklRaktpaHhyV3VHdmkrZEpxdjNSWnptLzJ6
475 bWYKRjV3YmZ6cStCOStkYzNZYUhrMHBOUVRnSHhCTk1VMHBwYVNISUhPeVNBOUE1c1g0U0F6akl6
476 R01qOFF3UGhMRCtFZ000eU14akkvRQpNRDRTdy9oSURPTWpNWXlQeERBK0VzUDRTQXpqSXpHTWo4
477 UXdQaExEK0VnTTR5TXhqSS9FTUQ0U3cvaElET01qTVl5UHhEQStFc1A0ClNBempLd0YydXgyYXBo
478 VnNzOXZ0SXZ2RnY5VlNBalJOUXlGL1RZVisvV3g0NUNNeGpJL0VNTDRTdDM3OWVuZzhIbGdzRmxp
479 dFZuaTkKWHJTMHRBQUFYcjkramJxNk9sUlVWTUJpc2FDOHZCelYxZFVJaFVMQ1UvOUhVZEViNzlk
480 MC8vNTlwV21hMnJWclY4YjExdFpXcFdtYQp1bkRoUWw2dlh5Zzg4aG5BblR0M0FBQ05qWTBaMXlP
481 UkNLWk5tNGI2K3ZxcEhHdGNwb3R2YUdnSS9mMzlTQ1FTMHFOTW10dTNiOE5xCnRjTG44Nld0ZmZ2
482 MkRiRllETXVXTFVONWVibkFkTm1aSmo2bEZQYnQyd2VuMDRuYTJsbzRuVTdzMzc5ZjVCYkRaQm9k
483 SFVVc0ZzT0sKRlNzd2E5YXN0UFdlbmg1OCtmSUZxMWV2RnBndU45UEVkL2JzV1J3NWNnVER3OE5J
484 SkJKSXBWSm9hMnZEcFV1WHBFZjdLMzE5ZmZqOAorVE9Dd1dERzlVZ2tBZ0FJQkFKVE9OWEVUSmNl
485 WUtxMHQ3Y2ptVXorOXJWa01vbWpSNDlpdzRZTlFsUDl2Wi9YZTlldlg4ZkRody9UCjFudDZlcUJw
486 V2xFZStiSyt6UUhBcllpMmJOYXRXNmRtekppaGtzbGsydHIzNzkrVnpXWlRsWldWT2Q5MVN1MVQx
487 dE91VXNwUTI0RUQKQjlLdWlXdzJHdzRkT2lRKzIzaGJydDlSVjFjWHFxcXFZTFBaMHRZZlBYcUVW
488 Q28xb2FPZXhINlo1cHB2NTg2ZHFLbXBRVmxaR1FDZwpyS3dNZnI4ZjI3ZHZGNTRzZi9GNEhCOCtm
489 SURmNzgrNDN0M2REYUE0ci9jQUU3M2htRGx6Sm03Y3VERjJBUjZOUm5IdDJqVllyVmJoCnlmTDM4
490 M292MHkwV0FJakZZZ0JRbk5kN01PbW5XcVEreFpHdmJQTnUzTGdSRnk5ZXhOdTNiK0Z3T05MV1hT
491 NFhacytlalJjdlh1VDEKK29WbW1pT2YwWXlNakNBYWpXTFJva1Vadyt2cjY4TzdkKzlRVzFzck1O
492 M0VNTDRTbytzNkFvRUFQQjRQM3I5L0QxM1g0ZlA1Y1B6NApjUURBNWN1WFVWTlRnN1ZyMTBMVE5J
493 VERZUVNEUWR5OWUxZDQ4blE4N1pZQWZwaVVhSkl4UGhMRCtFaU1hZjV2dDlScG1sYXcxNTR6Clow
494 N0JYanNYeGxjQ1N1bk4wZi9CMHk2SllYd2todkdSR01aSFloZ2ZpV0Y4SklieGtSakdSMklZSDRs
495 aGZDU0c4WkVZeGtkaUdCK0oKWVh3a2h2R1JHTVpIWWhnZmlXRjhKSWJ4a1JqR1IySVlINGxoZkNT
496 RzhaRVl4a2RpR0IrSllYd2todkdSR01aSFloZ2ZpV0Y4SklieAprUmpHUjJJWUg0bGhmQ1RHRlBH
497 TmpJemczTGx6Q0FhRGNEcWRBUDU5TkZSZFhSM09ueitQcjErL0NrOW9Ub2FPVHltRnRyWTJ1TjF1
498 Cm5EeDVFanQyN0VCdmJ5OEE0UEhqeDlpMmJSczZPenZoZHJ0eCtQQmh3Lzd0NDJKbDJDY1FqWTZP
499 b3JtNUdVK2VQTUhwMDZleFpNbVMKc2JVL243Z1RqOGV4YWRNbVZGZFhJeFFLd1dJeDlML0pvbUhZ
500 K0hidjNvMEhEeDdnNnRXclk4L1kvU25UNDU0U2lRUWFHaG9RQ0FUUQoydG82bGFPYWxpSGo2Ky92
501 UjBOREE1NCtmUXE3M1o2Mm51MVpZNE9EZzFpNmRDbWkwZWh2UjBvcURFT2VYMEtoRUxadTNab3h2
502 RnptCnpwMkx6WnMzbzZPam8wQ1QwYThNZCtRYkdocUMyKzNHd01BQUZpeFlrUEY3Y2oxbFVkZDFl
503 TDFlNkxxZWRycW15V1c0STE5M2R6ZVcKTDErZU5ienhMRnk0RUpXVmxiaDM3OTRrVDBaL01seDhu
504 ejU5R3J1WGx5K0h3NEdQSHo5TzBrU1VUZGJUYmlFZk5FY0U1RGp5S2FWSwpjcnQxNnhaV3JseVo4
505 M3ZHMnordjE0dXVyaTd4ZlRINlpyalRycy9uZzY3cmlNZmplZjE4YjI4dkJnY0hzV3JWcWttZWpQ
506 NWt1UGlzClZpdWFtNXZ6dmwzUzBkR0JscFlXVEovT3A4RVdtdUZ1dFFEQW16ZHZVRlZWaFZnc2x2
507 Rm1jYlpiTFFNREEvRDcvWWpINDNDNVhGTXgKcXFrWjdzZ0hBQlVWRlRoNDhDQWFHeHZ4NnRXckNm
508 M015NWN2MGRUVWhQYjJkb1kzVlpTQkhUdDJUTTJmUDErZE9YTkdEUThQajMzOQoxOTFPcFZMcTFL
509 bFR5dVZ5cWM3T1Rva3hUY3ZROFNtbDFNMmJOOVdhTld1VXcrRlFlL2Z1VmVGd1dBRlE0WEJZN2Rt
510 elI4MmJOMC9WCjE5ZXJTQ1FpUGFycEdQS2FMNVBuejUvanhJa1RlUGJzR2E1Y3VZS21waVo0UEI1
511 czJiSUZpeGN2bGg3UGxFd1RIeFVmUTc3aG9OTEEKK0VnTTR5TXhqSS9FTUQ0U3cvaElET01qTVl5
512 UHhEQStFc1A0U0F6akl6R01qOFF3UGhMRCtFZ000eU14akkvRU1ENFN3L2hJRE9NagpNWXlQeERB
513 K0VzUDRTQXpqSXpHTWo4UXdQaExEK0VnTTR5TXhqSS9FTUQ0U3cvaElET01qTVl5UHhEQStFc1A0
514 U0F6akl6R01qOFF3ClBoTHpBM3FpQkxJVnd1UkNBQUFBQUVsRlRrU3VRbUNDCg==
515 </png>
516 </output>
517 <output>
518 <output_type>display_data</output_type>
519 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
520 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNaQkpSRUZVZUp6dDNWbElW
521 SDBZeC9IZlVkT3diQkZMcFZKOG96SWwyZ2x4cXd3Ukl6RlNFb21vCm9GV2tJT2lxMjJnbFd0QnN4
522 eVFvS3k4S29Td3JTMG13REtQSmpHaFJLalRLMUt3eDArZTllSG1qY3NiVWZPWTQ0KzhEYytOL3p2
523 RTUKem55YmM2YXhEQkZwQnVBREl1cFhob2lJMlVNUXVTSTNzd2NnY2xXTWkwZ0o0eUpTd3JpSWxE
524 QXVJaVdNaTBnSjR5SlN3cmlJbERBdQpJaVdNaTBnSjR5SlN3cmlJbERBdUlpV01pMGdKNHlKU3dy
525 aUlsREF1SWlXTWkwZ0o0eUpTd3JpSWxEQXVJaVdNaTBnSjR5SlN3cmlJCmxEQXVJaVdNaTBnSjR5
526 TFQrZnI2d2pBTXRadXZyNjhweDhWL0s1NU1aeGdHTkorRzJ2dTN4OFBoMzlFa05UVTFPSGJzR0tx
527 cnEvSDUKODJmNCtQZ2dMQ3dNYTlldXhlVEprODBlajF5UXk1OFdGaGNYWTlHaVJZaU5qWVdYbHhj
528 MmJkcUV1M2Z2WXVQR2pYQjNkMGQwZERUaQo0K054Ky9adHMwY2xWeU11N1BEaHd4SVlHQ2huejU0
529 VnE5WDY0K3MvSDdiVmFwVzh2RHdKQ0FpUW5Kd2NNOFljOUxwN0dpNWR1bFJDClEwUEZNQXdaTW1T
530 SXpKZ3hROWF0V3ljaUlxOWV2WklGQ3hiSXVISGp4REFNR1RGaWhNeWRPMWV5c3JKNnZIOU5MaHZY
531 cVZPbkpDUWsKUkY2OGVORmx6ZFlQKy9uejV4SWNIQ3g1ZVhtT0dJOSs4cWNuZjNsNXVSaUdJVnUy
532 YkxHNXZuUG5UakVNUS9MejgvdTBmeTB1R1ZkZApYWjM0K3ZySzA2ZFBiYTdiKzJFL2Z2eFlSbzhl
533 TGUvZXZkTWNqMzd6cHlmL25qMTd4REFNS1NvcXNya2VIeDh2SGg0ZTh1blRwejd0Clg0dExYbk1k
534 UDM0YzZlbnBtREpsU3ErMkN3OFBSMnBxS2s2ZVBLazBtYjZHaGdZOGZ2d1k3ZTN0Wm8vU2IwcEtT
535 dURwNlltb3FLZ3UKYSszdDdTZ3JLOE8wYWRNd2N1UklFNmJyaGlsSksycHJhNVBBd0VDeFdDeDI3
536 OVBkWVQ5OCtGQW1USmdnN2UzdEd1T3ArZkxsaXl4Ygp0a3k4dkx6RXg4ZEhSbzRjYWZjMGFhRHA3
537 dkhvNk9pUVVhTkdTVlJVbE0zMXNySXlNUXhETm0vZTNLZjlhM0s1VjY3UzBsSUVCUVVoCkxDeXNU
538 OXZQbURFRGZuNStLQzh2NytmSmRHM2R1aFdGaFlWb2EydERTMHNMbXBxYXNHclZLdFRVMUpnOTJs
539 K3BxcXBDVTFNVDVzK2YKYjNQOTFxMWJBSURZMkZnSFR0VXpMdmYzWEEwTkRRZ09EdjZyZlFRSEI2
540 T2hvYUdmSm5LTTNOeGNXSzNXWDc3MjdkczNuRGx6Qmp0Mgo3REJwcXI5MzU4NGRBRUJSVVJIdTM3
541 L2ZaYjJpb2dLR1lTQW1Kc2JSby8yWnZaYzBBTHp4NXJDYlBVdVhMcFVoUTRaSWEydHJsN1h2CjM3
542 K0x0N2UzaEllSGQzdDZadFl4MlQwdGxQL2VTWFM2VzJGaElSWXVYTmp0ZmY1MGZOSFIwYmgrL2Jy
543 cHg5S2IyNUlsUytEaDhldUoKaUxlM04wcExTMDJmN1UrMzdwNkRkKy9leGZUcDArSHQ3ZDFsL2NH
544 REIvajY5V3VQWHJYTU9DNlh1K2FLaW9wQ1pXVWwzcjU5MjZmdAphMnRyWWJGWUVCRVIwYytUNlRw
545 NjlDaUNnb0xnNCtNREFCZzZkQ2d5TXpNUkdSbHA4bVI5OStUSkUzejQ4QUhSMGRFMjEwdExTd0VN
546 CnpPc3R3QVUvL2pSaXhBaWtwYVhoeElrVGZkcisyTEZqV0xGaUJZWU5HOWJQaytrS0RBekVzMmZQ
547 Y09uU0pRQ0F4V0xCcmwyN1RKN3EKNy94L3ZXWHJMWGdBS0NzckE0Q0JlYjBGZEhPeTY4UWVQWG9r
548 Z1lHQjh1SERCNXZyOWc3Ny9mdjM0dS92TDlYVjFacmpxWE8yaDlYZQp2TXVYTHhjM056ZXByNisz
549 dWU3djd5K1RKazNxOC82MXVkd3JGd0JNbXpZTjZlbnBTRTVPUm10cmE0KzJhV2xwUVZKU0VsYXZY
550 bzNRCjBGRGxDZWxQMnRyYWNQdjJiZnp6eno4WU8zWnNsL1dxcWlvME5EUU03Tk5lVTVKMmdJNk9E
551 bG16Wm8zTW1UT255eXZSNzRkdHNWaGsKNXN5WnNuNzlldW5vNkhEa21DcWM3V0g5ZWQ3WHIxOUxU
552 RXlNaElTRWlKdWJtM2g2ZWtwa1pLUWNPWEpFUkVRdVg3NHNFUkVSTW1iTQpHSEZ6Y3hOZlgxK0pq
553 WTJWc3JLeUh1M2ZrWnpyVWVpbHpzNU8yYmR2bi9qNyswdGNYSnhjdkhoUjNyeDVJd0RrelpzM2tw
554 K2ZML1BuCno1ZUFnQUE1Y09DQWRIWjJtajF5djNEbXVKeHgvL1lNaXQ5RS92YnRHd29LQ25EMDZG
555 RlVWMWVqdnI0ZUFRRUJtRHAxS2paczJJRGsKNUdSNGVucWFQV2EvTWVzM2IvdktWWDhUZVZERU5k
556 Z3dMc2Z1M3g2WGZFT0RhQ0J3dWM4V2tuTXlERU50MzZOSGoxYmJkM2NZRjVuTwptVTVoZTRPbmhV
557 UktHQmVSRXNaRnBJUnhFU2xoWEVSS0dCZVJFc1pGcElSeEVTbGhYRVJLR0JlUkVzWkZwSVJ4RVNs
558 aFhFUktHQmVSCkVzWkZwSVJ4RVNsaFhFUktHQmVSRXNaRnBJUnhFU2xoWEVSS0dCZVJFc1pGcElS
559 eEVTbGhYRVJLR0JlUkVzWkZwSVJ4RVNsaFhFUksKR0JlUkVzWkZwSVJ4RVNsaFhFUktHQmVSRXNi
560 bEFqNTkrb1JEaHc1aDFxeFo4UFB6QXdDTUd6Y09LU2twdUhuenBzdit0NmdESGVOeQpZbGFyRlpt
561 Wm1RZ0pDVUY1ZVRuMjc5K1A2dXBxQU1DOWUvY1FGeGVIelpzM0l5d3NERmV1WERGNTJzSEhFUDZ4
562 NXBTYW01dVJtSmlJCjhlUEg0K0RCZy9EMzkvK3haaGpHajFjckVjSE5temV4Y3VWS2JOKytIUnMz
563 YmpScjVFR0hjVG1oOXZaMkpDWW1ZdUxFaWNqT3pvYWIKMjY4bklEL0g5YitYTDE4aUppWUcrL2Z2
564 UjJwcXFpUEhIYlFZbHhQS3pjM0ZxVk9uVUZ4Y0RBOFBqeTdydHVJQ2dNcktTaVFrSktDMgp0aFpE
565 aHc1MXhLaURHcSs1bkZCV1ZoYTJiZHRtTTZ6dXpKbzFDN05uejBaK2ZyN1NaUFF6eHVWa0tpb3E4
566 UDc5ZXlRa0pQUnArMDJiCk5pRTdPN3VmcHlKYkdKZVR1WHIxS2xKVFUrSHU3dDZuN1JNVEUyR3hX
567 TkRZMk5qUGs5SHZHSmVUYVd4cy9PV2R3ZDV5ZDNlSG41OGYKUG43ODJJOVRrUzEyMzlBd0RNUFJz
568 eEM1Rkx0WHhId1RjV0RhdTNjdlhyMTZoYXlzTEx2M3NmZHVJUUI4K2ZJRlk4YU1RWDE5UFlZUApI
569 NjQxSm9HbmhVNG5KU1VGK2ZuNStQcjFhNSsyUDNmdUhCWXVYTWl3SElCeE9abVFrQkRNbXpjUDU4
570 K2Y3L1cySW9Lc3JDeGtaR1FvClRFYS9ZMXhPS0NNakF6dDM3a1JUVTFPdnRpc29LRUJ6Y3pQaTQr
571 T1ZKcU9mTVM0bmxKQ1FnUGo0ZUNRbko2T2xwYVZIMjl5NmRRc2IKTm16QXVYUG51bnhjaW5Ud3Ar
572 eUVETVBBZ1FNSE1IbnlaRVJIUitQR2pSdm83T3kwZWQvR3hrYnMzcjBiYVdscHVIRGhBbWJQbnUz
573 ZwphUWV2M24xK2hnWU1kM2QzNU9UazRNeVpNOWk2ZFN1c1ZpdldyVnVIc0xBd0FQK2RBaFlXRnFL
574 Z29BQ0xGeTlHU1VrSlFrTkRUWjU2CmNPRUhkMTJBaU9EZXZYczRmZm8wNnVycWNPM2FOU1FsSlNF
575 aUlnSnIxcXpCMkxGanpSNXhVR0pjUkVwNHpVV2toSEVSS1dGY1JFb1kKRjVFU3hrV2toSEVSS1dG
576 Y1JFb1lGNUVTeGtXa2hIRVJLV0ZjUkVvWUY1RVN4a1draEhFUktXRmNSRW9ZRjVFU3hrV2toSEVS
577 S1dGYwpSRW9ZRjVFU3hrV2toSEVSS1dGY1JFb1lGNUVTeGtXa2hIRVJLV0ZjUkVvWUY1RVN4a1dr
578 aEhFUktXRmNSRW9ZRjVFU3hrV2toSEVSCktXRmNSRW9ZRjVFU3hrV2s1Ri8zSEpBNVVnaGNtZ0FB
579 QUFCSlJVNUVya0pnZ2c9PQo=
580 </png>
581 </output>
582 <output>
583 <output_type>display_data</output_type>
584 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
585 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNSRkpSRUZVZUp6dDNWdElW
586 T0VheHZIbm16R3pnMGptR0pFYVZwUVZCbWtuOHhSV1lpT2FpVUVFCmhYWlJtVWhCRUYzVVRSQVZn
587 WmlnNVkyaGdabVNRU1dZbEdZMHFCbEYwT0dxZ3hXQ1JwcEdudkhiRjN2WDFoeExiVjZYTXo0L21J
588 dm0KY3hidnpPcnZyTFVjUzJtdE93RjRnb2djU21tdHRkRkRFTGtpazlFREVMa3F4a1VraEhFUkNX
589 RmNSRUlZRjVFUXhrVWtoSEVSQ1dGYwpSRUlZRjVFUXhrVWtoSEVSQ1dGY1JFSVlGNUVReGtVa2hI
590 RVJDV0ZjUkVJWUY1RVF4a1VraEhFUkNXRmNSRUlZRjVFUXhrVWtoSEVSCkNXRmNSRUlZRjVFUXhr
591 VWt4S1hpOHZiMmhsTEtvVGR2YjIram41YkxrOWh2VTJFZnV0Uy9GYStVZ3FPZmpzUTJhVGpwMTlp
592 b2ZlaFMKNzF4RVV3bmpJaEl5TGVKcWJXMkZ1N3M3VENZVDNOM2RzWHo1Y3NUR3htTEhqaDNZc1dN
593 SDVzK2ZENVBKaEZ1M2JoazlLdjBtT1RrWgpLMWV1L0xYdjFxNWRpME9IRGdFQW1wcWFFQk1UQXo4
594 L1A1aE1Kbmg1ZVdIRGhnM0l5OHN6ZU9yLzBTNWt0S2RUVUZDZ1o4NmNxWE55CmN2VEF3TUN3dFZ1
595 M2JtbXoyYXlQSGowNnJtMlM0L3p0TmE2dnI5ZEtLWDNzMkRHNzYrZk9uZE5LS1YxYVdqcWg3VXR4
596 TXpidHlWRlIKVVlIeThuSllyZFpoOXpjME5HRHYzcjFJU0VoQWRuYTJRZFBSM3p4NjlBZ0FSdXkv
597 bjJwcWFtQTJteEViR3p1WlkvMlZ5eDhXOXZYMQo0ZXZYcnlOMnpMdDM3NUNZbUlqZzRHQmN2Mzdk
598 b09rY3I3VzFGUzlmdmtSL2Y3L1JvemhNYlcwdDNOM2RFUkVSTVdLdHY3OGZOcHNOCndjSEI4UEx5
599 TW1DNjBibDhYQzB0TFRoMTZ0U3crOXJhMm1DMVdqRm56aHpjdlhzWEhoNGVCazNuT04zZDNVaEpT
600 VUZBUUFBMmI5NE0KaThXQ3NySXlvOGY2WjRPRGc3RFpiRmkvZmoxbXpabzFZcjJ4c1JGZFhWMklp
601 b295WUxvL2MvbkRRbjkvZi9qNysvLzZjMjl2TDVLUwprdkRseXhmWWJEWllMQllEcDNPYzQ4ZVBv
602 NktpQXIyOXZlanQ3UVVBcEthbVlzMmFOVml4WW9YQjAwM2NpeGN2ME5IUmdTMWJ0dGhkCnI2bXBB
603 UUJFUjBkUDRsUmo0L0p4RGFXMVJscGFHcDQ4ZVlMS3lrb0VCUVVaUFpMREZCWVdvcWVuWjloOWZY
604 MTlLQ29xd3Rtelp3MmEKNnQvOVBOK3FxcXJDMDZkUFI2dzNOalpDS1RVbDM3bEd2WXdDd0NsdmYz
605 THk1RW10bE5MWHJsMGI4eFVmbzUvUGRMbU5adGV1WFhyRwpqQm42eDQ4Zkk5WUdCZ2IwN05tejll
606 clZxNmZtUGh6ejN6SW44S2VkbEorZnI1VlMrc3laTThQdTcrN3UxdFhWMVJQYTVsU1NrSkNnCjNk
607 emNodTNjMmJObjY4ZVBIeHM5MmwrTjlob1BEZzVxSHg4ZnZXN2RPcnZyRFEwTldpbWwwOVBUSjdS
608 OWFTNS9RUU1BS2lzcmtaR1IKZ2RUVVZKdytmWHJZV25GeE1UbzZPZ3lhekhIeTgvTVJFQkFBVDA5
609 UEFJQ0hod2N5TXpNUkhoNXU4R1FUOS9yMWEzejkraFdSa1pGMgoxeDgvZmd4Z2FwNXZBWENTYjh0
610 alpPL3BQSC8rWEh0NmV1cHQyN2FOK0FHeTFscEhSRVRvcnE2dWNXMXpxaG9ZR05CVlZWVWFnSDc3
611 CjlxM1I0NHpaYUs5eFhsNmVWa3JwbXpkdjJsMVBUazdXU2luZDNOdzhvZTFMYytsM3JzK2ZQeU0r
612 UGg2TEZ5OUdlWGs1ekdienNQWGkKNG1KNGUzdmJ2Y1Ryak14bU03WnYzdzRBV0xKa2ljSFQvTHZh
613 Mmxvb3BleitmQXNBYkRZYmxpMWJob1VMRjA3eVpHUGpzbkYxZG5iQwphclZDYTQyS2lvcGZoMHNB
614 ME56Y2pQUG56MlBmdm4zWXVYT25nVlBTYUhwN2UvSHc0VU1zV2JJRXZyNitJOVpmdkhpQjF0Yldx
615 WDNZCmE4ajdwWkNoVHljdExVMmJUQ2J0Nysrdk4yM2FwRGR0MnFSRFFrSzBsNWVYVmtwcHBaU2VP
616 WE9tYm0xdEhmTTJuWVd6elR4MDNxYW0KSmgwVkZhVURBd08xeVdUUzd1N3VPanc4WEYrK2ZGbHJy
617 Zlh0MjdkMVdGaVl0bGdzMm1ReWFXOXZieDBkSGExdE50dVl0aitaK011UwpCbXhUbXJQTnpGK1dK
618 S0p4WVZ4RVFoZ1hrUkNYKzJ5aFVzcWgyNXMzYjU1RHQwZjJPWHEvRFdYVVBuU3B1SnpwSko3K3ox
619 WDNHdzhMCmlZUXdMaUloakl0SUNPTWlFc0s0aUlRd0xpSWhqSXRJQ09NaUVzSzRpSVF3TGlJaGpJ
620 dElDT01pRXNLNGlJUXdMaUloakl0SUNPTWkKRXNLNGlJUXdMaUloakl0SUNPTWlFc0s0aUlRd0xp
621 SWhqSXRJQ09NaUVzSzRpSVF3TGlJaGpJdElDT01pRXNLNGlJUXdMaUloakl0SQpDT01pRXNLNGlJ
622 UXdMaUloak1zRmZQdjJEVGs1T1FnSkNZR1BqdzhBWU5HaVJVaEpTVUYxZGJYTC9yZW9VeDNqY21J
623 OVBUM0l6TXhFCllHQWc2dXZya1pXVmhUZHYzZ0FBNnVycXNIWHJWaHc5ZWhTclZxM0NuVHQzREo1
624 MitsR2EzOWFjVW1kbko2eFdLL3o4L0hEcDBpVXMKV0xEZzE1cFM2dGU3bGRZYTFkWFYyTDkvUDA2
625 ZE9vWDA5SFNqUnA1MkdKY1Q2dS92aDlWcXhkS2xTNUdYbHdlVGFmZ0J5TkM0Zm5yLwovajJpb3FL
626 UWxaV0YzYnQzVCthNDB4Ympja0tGaFlVb0tDakFnd2NQNE9ibU5tTGRYbHdBOE96Wk04VEZ4ZUhq
627 eDQvdzhQQ1lqRkduCk5aNXpPYUhjM0Z5Y09ISENibGgvRWhJU2d0RFFVSlNXbGdwTlJrTXhMaWZU
628 Mk5pSUwxKytJQzR1YmtLUFAzTGtDUEx5OGh3OEZkbkQKdUp4TVpXVWxkdS9lRGJQWlBLSEhXNjFX
629 dkhyMUN1M3Q3UTZlakg3SHVKeE1lM3Y3c0N1RDQyVTJtK0hqNDRPMnRqWUhUa1gyakhwQgpReWsx
630 MmJNUXVaUlJ6NGg1RVhGcXVuanhJajU4K0lEYzNOeFJ2MmEwcTRVQTBOWFZCWXZGZ3BhV0ZzeWRP
631 MWRxVEFJUEM1MU9Ta29LClNrdEwwZDNkUGFISGw1U1VJQ1ltaG1GTkFzYmxaQUlEQTdGeDQwYmN1
632 SEZqM0kvVldpTTNOeGNaR1JrQ2s5SHZHSmNUeXNqSXdMbHoKNTlEUjBUR3V4NVdYbDZPenN4T3hz
633 YkZDazlGUWpNc0p4Y1hGSVRZMkZrbEpTZmorL2Z1WUhsTlRVNFBEaHcranBLUmt4TWVsU0FaZgpa
634 U2VrbEVKMmRqYVdMMStPeU1oSTNMOS9INE9EZzNhL3RyMjlIUmN1WE1DZVBYdFFWbGFHME5EUVNa
635 NTIraHJmNTJkb3lqQ2J6Ymh5CjVRcUtpb3B3L1BoeDlQVDA0T0RCZzFpMWFoV0EveDRDVmxSVW9M
636 eThIUEh4OGFpdHJVVlFVSkRCVTA4di9PQ3VDOUJhbzY2dURsZXYKWHNXblQ1OXc3OTQ5SkNZbUlp
637 d3NEQWNPSElDdnI2L1JJMDVMakl0SUNNKzVpSVF3TGlJaGpJdElDT01pRXNLNGlJUXdMaUloakl0
638 SQpDT01pRXNLNGlJUXdMaUloakl0SUNPTWlFc0s0aUlRd0xpSWhqSXRJQ09NaUVzSzRpSVF3TGlJ
639 aGpJdElDT01pRXNLNGlJUXdMaUloCmpJdElDT01pRXNLNGlJUXdMaUloakl0SUNPTWlFc0s0aUlR
640 d0xpSWhqSXRJQ09NaUVzSzRpSVF3TGlJaGpJdElDT01pRXNLNGlJVDgKQjBjVEJPaEFmZ3lrQUFB
641 QUFFbEZUa1N1UW1DQwo=
642 </png>
643 </output>
644 <output>
645 <output_type>display_data</output_type>
646 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVE4QUFBQ09DQVlBQUFBdnRJMzNBQUFBQkhOQ1NWUUlD
647 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUM1aEpSRUZVZUp6dDNWOVFW
648 UFgveC9IWFdmNkpqSW83R2lEaFFvM2hIeWhObllIaGJ3NmlXZEZxCkl6Qk8vM0RHQ0ozK1hCVVhk
649 dE9OVFUzTldKbXBKTTB3bU9PRk5rMDAyNUtGNVJabC96QVJuQm9LREJ6V29SSmlFbUY3ZnkvNjZV
650 OWwKRitIdExtZDNlVDFtdUhBL2U0N3YzYk0rUFh0VzBCQ1JmZ0F6UUVRMEFZYUlpTmxERUZIb3Na
651 ZzlBQkdGSnNhRGlGUVlEeUpTWVR5SQpTSVh4SUNJVnhvT0lWQmdQSWxKaFBJaEloZkVnSWhYR2c0
652 aFVHQThpVW1FOGlFaUY4U0FpRmNhRGlGUVlEeUpTWVR5SVNJWHhJQ0lWCnhvT0lWQmdQSWxKaFBJ
653 aEloZkVnSWhYR2c0aFVHQThpVW1FOGlFaUY4U0FpRmNhRGlGUVlqeEJpdFZwaEdJWmZ2NnhXcTlr
654 UEsrd0YKNHJnRnd6SGsvMVViUWd6RGdMOFBWeUQyU2RjSzlITnMxakdNblBUZjBTUm56cHpCM3Ix
655 NzBkYldoci8vL2hzelpzekE0c1dMc1dYTApGdHh4eHgxbWowY1Vjc0wrYmN2Um8wZFJWRlNFZ29J
656 Q3hNVEVZT3ZXcmZqaWl5OVFWVldGaUlnSTVPWGxvYmk0R0UxTlRXYVBTaFJhCkpJeTk4Y1lia3BT
657 VUpQWDE5WEx4NHNVcnQxLzlzQzlldkNoMWRYV1NtSmdvYjcvOXRobGpqcHV2dzlYYjJ5dFJVVkZp
658 R0laRVJVWEoKZ2dVTFpQWHExYkoyN1ZwWnUzYXRXSzFXTVF4RERoOCtQTzU5a3YvNGVvN1hyMTh2
659 Q3hjdXZITGNsaTVkS2s4ODhZU0lpUHoyMjI5eQp6ejMzU0hKeXNoaUdJVE5uenBTVksxZktybDI3
660 eHIzL1FBdmJWODcrL2ZzbExTMU5Pam82UnExNWU3Si8rZVVYc2Rsc1VsZFhOeG5qCnFmaDZrZXpm
661 djE5aVltTGs5ZGRmbDVHUmtXdldqaHc1SWhFUkVmTE1NODlNYUova1AyTTl4ODNOeldJWWhqejc3
662 TE5lMTNmczJDR0cKWWNpaFE0ZFUrdytrc0h6bG5EMTdWcXhXcTdTM3QzdGQ5L1ZrbnpwMVNtYlBu
663 aTNuenAwTDVIaHF2dVorNktHSHBLR2hZZFR0emMzTgpFaHNiSzNhN2ZjTDdKUDhaNnpsKytlV1h4
664 VEFNY1RxZFh0ZUxpNHNsTWpKUy92cnJMOVgrQXlrc3IzbnMyN2NQbXpadFFucDYrb1MyClc3SmtD
665 VFp1M0loMzNua25RSlA1MzZWTGw5RFgxNGQxNjlaZGMzdEhSd2RLU2txUW1abUo5OTU3ejZUcC9L
666 K3pzeE5uenB3Sm0wK0kKamgwN2h1am9hT1RtNW81YUd4NGVoc3ZsUW1abUptYk5tbVhDZERkZ1Ny
667 SUNhR2hvU0pLU2txUzF0ZFhuZmNaNjJELzg4SU9rcEtUSQo4UEJ3SU1hN0tkN203dXJxa2s4Kytl
668 U2EyL3I2K2lROVBWM1MwdExFN1haUGVKL0JxTHU3VzVZdlh5NnhzYkVTRnhjbjgrZlBsKysrCis4
669 N3NzY2JGMTNQczhYZ2tQajVlY25OenZhNjdYQzR4RE1Qblc4NGI3VC9Rd3U2ajJ1UEhqMlArL1Bs
670 WXZIaXhhdnVsUzVkaXpwdzUKYUc1dTl2cTNRYkJKU1VsQlNrcktsVjhQRFEzQmJyZmovUG56Y0xs
671 Y21EdDNyb25UK2M4RER6eUFscFlXZUR3ZUFNRGc0Q0NLaW9yUQowOU9EYWRPbW1UeWRUa3RMQ3k1
672 Y3VJREN3a0t2NjU5OTloa0FvS0NnWUJLbkdyK3dpNGZiN1liTlpydXBmZGhzTnJqZGJqOU5OSGxF
673 CkJCVVZGZmptbTIvZ2NEaXdjT0ZDczBmeWkxOS8vUlZ0YlcxWHduR1p4K1BCeHg5L2pBY2ZmTkNr
674 eVc3TzU1OS9EZ0J3T3AzNDl0dHYKUjYyZk9IRUNobUVnUHo5L3NrY2JIMStuSkFENEZZUmZZNm11
675 cmhiRE1DYjBpWkhaajJlcWZIbXpmdjE2aVlxS2tzSEJ3VkZySXlNagpNbjM2ZEZteVpFbndIc054
676 djhwQ1JFTkRnNnhhdFdyTSs5em9EMkZlWHA0ME5qYjZjeXkvR0d2dVBYdjJpR0VZOHVLTEwxNXor
677 ei8vCi9DT2ZmdnFwYXAvQnd1UHhTSEp5OHFnWGIyeHNyUFQxOVprOTNnMTVlNDcvL2ZkZm1UTm5q
678 cXhZc2NMck5sOS8vYlVZaGlGVlZWV3EKL1UrR3NQdTBKVGMzRjk5Ly96MTZlbnBVMjNkMWRhRzF0
679 UlhaMmRsK25peHdIQTRIdG0zYmhzY2ZmeHd2dlBEQ05Xc0hEaHpBaFFzWApUSnJNUHl3V0M0NGNP
680 WUw0K0hqTW1ERURBREJ0MmpUVTF0YUc3RGYyblQ1OUduMTlmY2pMeS9PNmZ2ejRjUURCZTcwRENN
681 Ti9uajV6CjVreVVsNWVqcHFaR3RmM2V2WHZ4OE1NUEl5NHV6cytUQmNhUFAvNkkwdEpTRkJZV1l0
682 KytmYVBXYTJ0cnNXYk5HaE1tODYrVksxZWkKdTdzYjc3NzdMZ0RnOTk5L1IxbFptYmxEM1lUTDF6
683 dDhYWlIzdVZ3QUVMelhPNEFRT0dkVk9IbnlwQ1FsSmZrOHBmWDFzTStmUHk4SgpDUW5TMXRZV3lQ
684 SFVycC83N05tek1tL2VQTW5JeUpEKy92NVI5Nit2cjVlU2twSUo3VE1VaE5yTTN1WXRLeXNUaThV
685 aXZiMjlYcmRKClNFaVFCUXNXcVBjL0djTHV6QU1BTWpNenNXblRKdGp0ZGd3T0RvNXJtNEdCQVpT
686 VWxLQ2lvaUlrUHFYbzcrL0h1blhySUNKb2FHaTQKY2pvUEFEMDlQWGpwcFpmd3lDT1BoT3duRWVG
687 c2FHZ0lUVTFOdU8yMjIzRExMYmVNV205cGFZSGI3VVpPVG80SjAwMkFLY21hQkI2UApSelp2M2l3
688 clZxd1lkU1p4L2NOdWJXMlZaY3VXU1dWbHBYZzhuc2tjYzBLdW5ydWlva0lzRm91a3BLUklWbGFX
689 WkdWbHlkMTMzeTJ6ClpzMFN3ekRFTUF5SmlZa0ptMzhrZHJWUW0vbnl2SjJkblpLZm55OXBhV2xp
690 c1Zna09qcGFjbkp5WlBmdTNTSWk4c0VISDBoMmRyYk0KblR0WExCYUxXSzFXS1Nnb0VKZkxOYTc5
691 VDdhdy9tRkFJb0xYWG5zTnI3enlDakl5TWxCVlZZWHM3R3drSnllanU3c2JMcGNMYjczMQpGdHJi
692 MjFGZFhZMm5uMzRhaG1HWVBiWlAvR0ZBL3dtMW1jUDFod0dGZFR3dXUzVHBFZzRmUG93OWUvYWdy
693 YTBOdmIyOVNFeE14S0pGCmkvRGtrMC9DYnJjak9qcmE3REZ2aVBINFQ2ak56SGlRNlJpUC80VGF6
694 T0VhajdDOFlFcEVnUmQyMzlzUzd2eDlUV2IyN05sKzNSOTUKRjhocmFXWWRROFlqaElUU3FUcjl2
695 M0E5Ym56YlFrUXFqQWNScVRBZVJLVENlQkNSQ3VOQlJDcU1CeEdwTUI1RXBNSjRFSkVLNDBGRQpL
696 b3dIRWFrd0hrU2t3bmdRa1FyalFVUXFqQWNScVRBZVJLVENlQkNSQ3VOQlJDcU1CeEdwTUI1RXBN
697 SjRFSkVLNDBGRUtvd0hFYWt3CkhrU2t3bmdRa1FyalFVUXFqQWNScVRBZVJLVENlQkNSQ3VOQlJD
698 cU1CeEdwTUI1RXBNSjRFSkVLNDBGRUtvd0hFYWt3SGhUMHVycTYKc0gzN2RxU25weU0rUGg0QWtK
699 cWFpcTFidCtLbm4zNHllYnFwaS9HZ29IWHUzRGxzMkxBQnk1WXR3OERBQUE0ZVBJaU9qZzRBZ05Q
700 cApSR0ppSXU2OTkxN2s1K2VqcGFYRjVHbW5Ia05FeE93aGlLNzM4ODgvWS9YcTFYajAwVWZ4L1BQ
701 UEl5NHU3c3FhWVJpNC9MSWRIaDVHClhWMGRxcXVyY2ZEZ1FheGF0Y3Fza2FjY3hvT0NqdHZ0Um5a
702 Mk5wNTc3amxVVmxhT1dyODZIcGMxTlRXaHRMUVVqWTJOdU91dXV5WnIKMUNtTjhhQ2c4OVJUVDhG
703 aXNXRG56cDFlMTczRkF3QnFhbXBRVjFlSFk4ZU9CWHBFQXVOQlFXWmdZQUEybXcwblQ1N0VyYmZl
704 NnZVKwp2dUl4UER3TW04MEdwOU9Kakl5TVFJODY1ZkdDS1FXVit2cDZGQllXK2d6SFdLS2lvckJs
705 eXhiczNyMDdBSlBSOVJnUENpb09od05sClpXWHE3Y3ZMeStGd09QdzRFZm5DZUZCUStmUFBQNUdR
706 a0tEZVBpRWhBWC84OFljZkp5SmZmRjd6TUF4anNtY2hvaEFTNld1QjExSEoKRE9YbDVTZ3VMc2Jt
707 elp0OTNzZlhCVk1BT0hIaUJCNTc3REdjUG4wNlVDUFMvK0hiRmdvcUd6ZHVSRzF0clhyNzJ0cGFs
708 SmFXK25FaQo4b1VmMVZKUUdSa1pRV3BxS2o3NjZDUGNlZWVkWHUvajY4eWp2NzhmcWFtcE9IWHFG
709 T2JObXhmb1VhYzhubmxRVUltTWpFUmxaU1cyCmI5OE9qOGN6b1cxMzdOaUJvcUlpaG1PUzhNeURn
710 czdRMEJEV3JGbURSWXNXNGMwMzMwUkVSTVExNjk3T1BIYnQyb1ZYWDMwVlgzMzEKMVUxOVdrUGp4
711 ek1QQ2pveE1URjQvLzMzMGQ3ZURydmRQdVozekhaMmRtTGJ0bTNZdVhNbkdoc2JHWTVKeEhoUVVJ
712 cVBqNGZENFVCVwpWaGJ1di85KzVPVGtvS2FtQms2bkV3Qnc0TUFCbEpTVVlQbnk1WWlPanNhWFgz
713 NkoyMisvM2VTcHB4YStiYUdnTnpJeWdnOC8vQkNICkRoMkMyKzNHMGFOSHNXSERCdHgzMzMwb0x5
714 L0g5T25UelI1eFNtSThpRWlGYjF1SVNJWHhJQ0lWeG9PSVZCZ1BJbEpoUEloSWhmRWcKSWhYR2c0
715 aFVHQThpVW1FOGlFaUY4U0FpRmNhRGlGUVlEeUpTWVR5SVNJWHhJQ0lWeG9PSVZCZ1BJbEpoUElo
716 SWhmRWdJaFhHZzRoVQpHQThpVW1FOGlFaUY4U0FpRmNhRGlGUVlEeUpTWVR5SVNJWHhJQ0lWeG9P
717 SVZCZ1BJbEpoUEloSWhmRWdJaFhHZzRoVUdBOGlVbUU4CmlFaUY4U0FpRmNhRGlGUVlEeUpTWVR5
718 SVNPVi95UGJ3Z3RmM2dOQUFBQUFBU1VWT1JLNUNZSUk9Cg==
719 </png>
720 </output>
721 </outputs>
722 </codecell>
723 </cells>
724 </worksheet>
725 </worksheets>
726 </notebook>
1 {
2 "nbformat": 2,
3 "name": "dense_coding",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Dense Coding\n</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 2,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 3,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "cell_type": "code",
29 "language": "python",
30 "outputs": [
31 {
32 "output_type": "pyout",
33 "latex": "$$\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }$$",
34 "prompt_number": 4,
35 "png": "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\n0rjOgKiDGwAAAABJRU5ErkJggg==\n",
36 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2"
37 }
38 ],
39 "collapsed": false,
40 "prompt_number": 4,
41 "input": "psi = Qubit('00')/sqrt(2) + Qubit('11')/sqrt(2); psi\n"
42 },
43 {
44 "cell_type": "code",
45 "language": "python",
46 "outputs": [],
47 "collapsed": true,
48 "prompt_number": 5,
49 "input": "circuits = [H(1)*CNOT(1,0), H(1)*CNOT(1,0)*X(1), H(1)*CNOT(1,0)*Z(1), H(1)*CNOT(1,0)*Z(1)*X(1)]"
50 },
51 {
52 "cell_type": "code",
53 "language": "python",
54 "outputs": [
55 {
56 "output_type": "display_data",
57 "latex": "$$H_{1} CNOT_{1,0} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|00\\right\\rangle }$$",
58 "png": "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\ny/8BXM2fWYIlT5QAAAAASUVORK5CYII=\n",
59 "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275800\u27e9\n 1 1,0 \u239d 2 2 \u23a0"
60 },
61 {
62 "output_type": "display_data",
63 "latex": "$$H_{1} CNOT_{1,0} X_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|01\\right\\rangle }$$",
64 "png": "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\nrkJggg==\n",
65 "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5X \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275801\u27e9\n 1 1,0 1 \u239d 2 2 \u23a0"
66 },
67 {
68 "output_type": "display_data",
69 "latex": "$$H_{1} CNOT_{1,0} Z_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|10\\right\\rangle }$$",
70 "png": "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\nL5K2XHBY3nYAAAAASUVORK5CYII=\n",
71 "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5Z \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275810\u27e9\n 1 1,0 1 \u239d 2 2 \u23a0"
72 },
73 {
74 "output_type": "display_data",
75 "latex": "$$H_{1} CNOT_{1,0} Z_{1} X_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|11\\right\\rangle }$$",
76 "png": "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\n",
77 "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5Z \u22c5X \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275811\u27e9\n 1 1,0 1 1 \u239d 2 2 \u23a0"
78 },
79 {
80 "output_type": "display_data",
81 "png": "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\nPhLzA3qiBLIVwuRCAAAAAElFTkSuQmCC\n"
82 },
83 {
84 "output_type": "display_data",
85 "png": "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\n"
86 },
87 {
88 "output_type": "display_data",
89 "png": "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\nB0cTBOhAfgykAAAAAElFTkSuQmCC\n"
90 },
91 {
92 "output_type": "display_data",
93 "png": "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\n"
94 }
95 ],
96 "collapsed": false,
97 "prompt_number": 6,
98 "input": "for circuit in circuits:\n circuit_plot(circuit, nqubits=2)\n display(Eq(circuit*psi,qapply(circuit*psi)))"
99 }
100 ]
101 }
102 ]
103 } No newline at end of file
@@ -1,110 +1,28 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>formatting</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source># Title (h1)
10
11 ## Heading (h2)
12
13 ### Heading (h3)
14
15 Here is a paragraph of text.
16
17 * One.
18 - Sublist
19 - Here we go
20 - Sublist
21 - Here we go
22 - Here we go
23 * Two.
24 - Sublist
25 * Three.
26 - Sublist
27
28 Now another list:
29
30 ---
31
32 1. Here we go
33 1. Sublist
34 2. Sublist
35 2. There we go
36 3. Now this
37
38 And another paragraph.
39
40 ### Heading (h3)
41
42 #### Heading (h4)
43
44 ##### Heading (h5)
45
46 ###### Heading (h6)
47
48 ## Heading (h2)
49
50 </source>
51 </markdowncell>
52 <markdowncell>
53 <source># Heading (h1)
54
55 ## Heading (h2)
56
57 ### Heading (h3)
58
59 #### Heading (h4)
60
61 ##### Heading (h5)
62
63 ###### Heading (h6)
64
65 Now for a simpel code example:
66
67 for i in range(10):
68 print i
69
70 Now more text</source>
71 </markdowncell>
72 <markdowncell>
73 <source>## Heading (h2)
74
75 Here is text.
76
77 &gt; This is a *block* quote. This is a block quote. This is a block quote.
78 &gt; This is a **block** quote. This is a block quote. This is a block quote.
79 &gt; This is a `block` quote. This is a block quote. This is a block quote.
80 &gt; This is a block quote. This is a block quote. This is a block quote.
81 &gt; This is a block quote. This is a block quote. This is a block quote.
82 &gt; This is a block quote. This is a block quote. This is a block quote.
83
84 Here is text
85
86 &lt;table&gt;
87 &lt;tr&gt;
88 &lt;th&gt;Header 1&lt;/th&gt;
89 &lt;th&gt;Header 2&lt;/th&gt;
90 &lt;/tr&gt;
91 &lt;tr&gt;
92 &lt;td&gt;row 1, cell 1&lt;/td&gt;
93 &lt;td&gt;row 1, cell 2&lt;/td&gt;
94 &lt;/tr&gt;
95 &lt;tr&gt;
96 &lt;td&gt;row 2, cell 1&lt;/td&gt;
97 &lt;td&gt;row 2, cell 2&lt;/td&gt;
98 &lt;/tr&gt;
99 &lt;/table&gt;</source>
100 </markdowncell>
101 <codecell>
102 <input />
103 <language>python</language>
104 <collapsed>1</collapsed>
105 <outputs />
106 </codecell>
107 </cells>
108 </worksheet>
109 </worksheets>
110 </notebook>
1 {
2 "nbformat": 2,
3 "name": "formatting",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "# Title (h1)\n\n## Heading (h2)\n\n### Heading (h3)\n\nHere is a paragraph of text.\n\n* One.\n - Sublist\n - Here we go\n - Sublist\n - Here we go\n - Here we go\n* Two.\n - Sublist\n* Three.\n - Sublist\n\nNow another list:\n\n---\n\n1. Here we go\n 1. Sublist\n 2. Sublist\n2. There we go\n3. Now this\n\nAnd another paragraph.\n\n### Heading (h3)\n\n#### Heading (h4)\n\n##### Heading (h5)\n\n###### Heading (h6)\n\n## Heading (h2)\n\n",
9 "cell_type": "markdown"
10 },
11 {
12 "source": "# Heading (h1)\n\n## Heading (h2)\n\n### Heading (h3)\n\n#### Heading (h4)\n\n##### Heading (h5)\n\n###### Heading (h6)\n\nNow for a simpel code example:\n\n for i in range(10):\n print i\n\nNow more text",
13 "cell_type": "markdown"
14 },
15 {
16 "source": "## Heading (h2)\n\nHere is text.\n\n> This is a *block* quote. This is a block quote. This is a block quote. \n> This is a **block** quote. This is a block quote. This is a block quote. \n> This is a `block` quote. This is a block quote. This is a block quote. \n> This is a block quote. This is a block quote. This is a block quote. \n> This is a block quote. This is a block quote. This is a block quote. \n> This is a block quote. This is a block quote. This is a block quote. \n\nHere is text\n\n<table>\n<tr>\n<th>Header 1</th>\n<th>Header 2</th>\n</tr>\n<tr>\n<td>row 1, cell 1</td>\n<td>row 1, cell 2</td>\n</tr>\n<tr>\n<td>row 2, cell 1</td>\n<td>row 2, cell 2</td>\n</tr>\n</table>",
17 "cell_type": "markdown"
18 },
19 {
20 "outputs": [],
21 "cell_type": "code",
22 "collapsed": true,
23 "language": "python"
24 }
25 ]
26 }
27 ]
28 } No newline at end of file
This diff has been collapsed as it changes many lines, (555 lines changed) Show them Hide them
@@ -1,417 +1,138 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>grovers</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Grover's Algorithm&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>1</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>2</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <codecell>
33 <input>nqubits = 3
34 </input>
35 <language>python</language>
36 <prompt_number>3</prompt_number>
37 <collapsed>1</collapsed>
38 <outputs />
39 </codecell>
40 <markdowncell>
41 <source>Grover's algorithm is a quantum algorithm which searches an unordered database (inverts a function).&lt;br/&gt;
42 Provides polynomial speedup over classical brute-force search ($O(\sqrt{N}) vs. O(N))$ </source>
43 </markdowncell>
44 <markdowncell>
45 <source>Define a black box function that returns True if it is passed the state we are searching for.</source>
46 </markdowncell>
47 <codecell>
48 <input>def black_box(qubits):
49 return True if qubits == IntQubit(1, qubits.nqubits) else False
50 </input>
51 <language>python</language>
52 <prompt_number>4</prompt_number>
53 <collapsed>1</collapsed>
54 <outputs />
55 </codecell>
56 <markdowncell>
57 <source>Build a uniform superposition state to start the search.</source>
58 </markdowncell>
59 <codecell>
60 <input>psi = superposition_basis(nqubits); psi
61 </input>
62 <language>python</language>
63 <prompt_number>5</prompt_number>
64 <collapsed>0</collapsed>
65 <outputs>
66 <output>
67 <output_type>pyout</output_type>
68 <text>⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
69 β•²β•± 2 β‹…β˜0⟩ β•²β•± 2 β‹…β˜1⟩ β•²β•± 2 β‹…β˜2⟩ β•²β•± 2 β‹…β˜3⟩ β•²β•± 2 β‹…β˜4⟩ β•²β•± 2 β‹…β˜5⟩ β•²β•± 2 β‹…
70 ───────── + ───────── + ───────── + ───────── + ───────── + ───────── + ──────
71 4 4 4 4 4 4 4
72
73 ⎽⎽⎽
74 ❘6⟩ β•²β•± 2 β‹…β˜7⟩
75 ─── + ─────────
76 4</text>
77 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXRvQUFBQWtDQVlBQUFDMzZaMXpBQUFBQkhOQ1NWUUlD
78 QWdJZkFoa2lBQUFES2RKUkVGVQplSnp0blgzTUhFVWR4ejl0SDZDMFdNcWJ0bHJVQkFIZmVHbEF0
79 SUR5V0JHQ2lsQnJzRkVJR0VIaElZQmdmR2xRVTZHS2htQTFKQ2hCCkJRSVNFS3FncHVJTG9RWVFJ
80 aUJJQlZFMGVSQUZDdFFBQ3VXbHR2N3gyODB6Tjd0M3QzdTd0ek4zOS8wa203dWJuZHZkZnA1ZjUy
81 Wm0KWjJaQkNDR0VFRUlJSVlRUVFnZ2hoQkRWMlZMREpzcnhHdVE5QlBMZVBISWVCbmtQZzd3M2o1
82 eUhZV0M5dnc2WTJmQTVyd04yYlBpYwpNU0huWVpEMzVwSHpNTWg3R09TOWVlUThEQ1B2ZlhxQlBB
83 dUFqd0ozQWZQNmV6a3RMQVFlQnY3ZDREbGpRYzdESU8vTkkrZGhrUGN3CnlIdnp5SGtZNUwwRVJ3
84 RDdZTjNvcjIvd3ZGZGkzZitqaUp5SFFkNmJSODdESU85aGtQZm1rZk13eUh2Q1dJRTh2K2o3VldU
85 WkEzZ08KK0ZlQWM4ZUFuSWRCM3B0SHpzTWc3MkdROSthUjh6RElldzgwMlNxNUJOaTlvWFBGakp5
86 SFFkNmJSODdESU85aGtQZm1rZk13akx6MwpJbU8wbTJaWGJPRDhRNEhPZjN5Zzg0WWt0SE9ROTFD
87 TW1uYzVENE84aDBIZW0wZk93eEN0OXlKRFI1cm1NOEFGSGZidkRaeUlEYlMvCkUvZ3BjSDlPdm4y
88 UzF6OTY2Y2NCQjJBRDVSOERWZ05QT3Z1M3dtYkpQbHoyd2dlWWJzNmh1dmVVZzRGM0FWL3owdVU5
89 UzFIbjBONTcKdDJPTW12Y21ZdjBUd1A3QVhPQXA0R0xnVDg3K1VYTU96Y1M2enlYQUY0SDF5V2Q1
90 ejFLSDl6WFlLZytyZ2VlQjkyS1Q0RllDRHpKNgozcHY2UFQwQytCQ3dFWGdHV01YVUJNQlJjdzc5
91 ai9YbDJOQ1VTZUFGNENWYWx3QzhrUnE4TjlIOXZ3djJIN1lkSHdTdUIvYkRackdlCmh3WFpVVGw1
92 eDVQTjVVdkFyY0RXeWVjVE1KSGJPbm0yQXo1ZjZxcjdSd3pPb2JwM2dHbkFvY0N6d1BkeTlzdDdL
93 MldjUTc3M0lzZUkKeFhzTXpxRjZyRjhHSEpPOEg4TXFHeThDNzNmeXhPSWM0dkJlUjZ6N0xNWCti
94 Vzl3MHVTOWxicThwMnNPdndCc1NONmY3ZXlQeFhzTQp6cUdlMzlOemdSOERzNVBQbjZWMVRIUXN6
95 aUVPNzNYRSttOW92OTcyZjRIZHFPaDk2K1JnZS9aNmdJS3NCTjdaWnQ5c3JGZG9CeS85ClJtQVQx
96 b3B3R2FkVjFQWllxKzhqVHRwMHJNZHBsZmZkTDJNdGs3TE1vcjcxSW1Od0R0VzlBM3dhV0l2TkJ0
97 NUNma1ViNUQybHJIUEkKZWk5empORGVZM0FPMVdOOU42endQdE5KVzREOTIyNzN2aHZhT2NUaHZZ
98 NVk5M2tGMXBQcVY3UkIzbFBxOUw0QitEM3dGNnloK2I2YwpQS0c5eCtBYzZ2azlYWVRGdDl0QmVC
99 dndnSmN2dEhPSXczdGRzZjZyNUJ4dnd5cnMreWJidDRHVG5Yd1o3MFhHYUI4UFhBamNBSHdCCnF6
100 VDFnemxZZC8wdGJmYnZoOTJLUGN4THZ4NllnZDJ1NnNRcG1QQmZPMm1iazgvSGVIbC9ndDJTS2Nz
101 eVlFa1AzL09KeFRsVTl3N3cKTFN4b1QraVNUOTZOT3B5WE9VWkk3N0U0aCtyZXQwcnk3ZVdrUFlt
102 Vk05dDRlUlhyUmgyeDdyTWN1S3JOUG5rMzZ2UytEaHVPdVNkVwp4cS9KeWFNeXhxanFmU1p3S1RZ
103 c2FxT1RmaWoyTjNCUnJCdDF4UHBjNEo3a0hIY0Nkd1AzWWl1Y3pBZSs2K1ROZUM4eVJ2dnlaS3ZL
104 CjU3QWZtM1BiN0Q4RitFNkg3OC9BMWtZOEZiakdTZjluOHZyV0x1ZGZERHhDZGhIemU3SEFlaFB3
105 NXlSdFhaSjJEZVdZbmx4blZXSngKRHRXOWwwSGVqVHFjbHpsR1NPK3hPSWZxM2gvRUNsMjNqTmtM
106 ODNTamwxZXhidFJkdml6RTdseTJXOTVMM28wbXkzVlFHWk5TMWZzNAoxcUQ1clplK01adFZzWjVR
107 UjZ4dkJNN1BPZTQzZ1pPODlJejNKbFlkR1FOV1lDMk9DZkp2WmN3RTNrMStTemhsTFhBazJWbWQ2
108 YTNCCmJoTmo1bUhqYUh5ZVMxNzkyd2NQWUpYdlFhUXU1MURkZTFua3ZSN25aWTh4cU41amkvVjBq
109 R3JLY3VBTzRKeWN2SVBxSE9LSzlaVHAKV0srWlB4VFFSOTdyTDllWEFGL0YzSDhLRzc3ak02amVZ
110 eXBqOWsxZW44QXFqcXV3U3ViQ052a0gxVG5FRmVzdllzT01YU2FBbTRISApjL0lIOFo3T3hQd2ZO
111 aHZaWjRMV3NkTmx1QU1Uc0xPWFBrN3JHSnNua3J3K0g4ZCtHSmQ1NmR0Z2t5ZkxjQ0p3Yk1udjlJ
112 dCtPb2ZpCjNsM0c2RHhHRytTOUUrMmNRN0VKWXAyT01jamVZNHYxUGJBZmlMdUJIOUIrbk9RZ080
113 ZjRZbjNDU1QrVy9ESGFJTytkNk1YN0JxeXkKQXpicC9RTHNEbzdma1RmSTNtTXBZNjdHNHZvYzRM
114 VkoybDdZWFRSM3duWEtJRHVIK0dJOVpXZHNXT0FyMit4djhaNytSMmczazdMSwo1dkl5dHR6Sno0
115 RFR2SDFqV0d1NDIwemRQSTdDeGlXZFNyYTE0VE9HRFh6M21lYnNkOW1iMWlXNTZxWWZ6bDN2L1hJ
116 TzVieVhaUkM5CnU4UVE2NzBjbzUvZVJ5M1cvNHBWdEJjbm4yOGl2ekFmeEZodnduc3Z6dWRqdDlU
117 WEZzZzdpTjVkWXZJTzF1TjRjL0orQzFZSlhFenIKcEdCUUdkT09NdDduSjY5UEFmOUkzcS9EbHFx
118 N2lPd2t4a0dNOVZqTEdKY0piSUw3RTIzMjk5dDdSOTZEU2R6ZlNUdU83QmlYSXN6SAp1dXduMnV3
119 ZnA3VkZjZ3UydEovUGFjazErUVBpejZIOE91TXh0UVJUNm5RTzViMjdGT25SbHZjczNaeEQ5eFo0
120 dDJNTWcvZVlZajFsCk5yYTI4RjFNTmVwVGhzRTV4QkhyRjJGTGZLVjA2dEdXOXl4MWxERXVqekJW
121 K1U0WkJ1K2h5NWpyay9QdjUrVmJqdW94UmFrYTYyUEEKbzhESE9ueS94WHZURDZ5NUNSdTdjaG8y
122 WG1ZYUp1c0RKWTh6RTV2WnVZTFcyWjZkdUE4NEtDZDlWdkw2bUpNMkZ4dlBuZGNERGpZRwpMVzlX
123 N2dMc0ZrZGVrRjZaYkUxVGwzUG96WHNaNUQxTEhjNjdIV05Zdk1jUTYra3lvaW5QWVJPdUYyRS9F
124 bmNtNmNQaUhNTEgrdUhBCkgyaDk4Rmc3NUQxTGxUSm1aWExlczNQMjdldThIeGJ2b2N1WXg3elhs
125 R2VUMTkyWldsbHRXSnhESExHZXNnaXJyUHQvZzVSdTNodmgKRkd4aCsxMkFvNEd6U241L0dqYWI4
126 M2d2ZlpIM2VaeldGc25KMkZneW55dXdKL3hzNzZSTllMTlUyekVUbTF6cGIyZGh0eUx5OXZuTApl
127 elZKVmVmUXUzZVhiajNhOHQ1S1VlZlErVUZCM1k0eFRONUR4dnFGV0h4LzJNdDNhNUsrMUVrYkp1
128 Y1FOdFp2VHI1N3RiUGRqam4vCmVmSjV4eVN2dkxkU3RZeDVDdmk3bHpZSFc5THlkMDdhTUhrUFdj
129 WXN3K0w2TFY2K001TjBkd203WVhJTzRXTTlaUVhaM25XWGJ0NGIKWVR2Z2Fhd0Z2SWFwSnhzVjVl
130 dllJNDVkRm1DUDJuVVpwMVhVZ1pnY2YrSDBSNEh2ZTJrclMxNVRTb3kzWEtDNmMramR1MHUzaXJh
131 OAp0MUxVT2JUM1h1UVl3K1E5Wkt4ZmkxVXczQXIxREt4M3cyL01ENU56Q0J2clcyT1ZCbmRiZ1pV
132 MWI2WjEzS3E4dDFLMWpMa0txNEM1CkhJSzVkNWRqR3lidkljdVluYkJ4eTM1UDlDcXNCOVZkN1dX
133 WW5FUDRXRSs1bHZ5NlpFckdlOU5EUjhCK2RDN0R4aFNkejlUeWVrWDQKSlBBTzRHOVlNSUMxVWc0
134 QWZ0bmx1M2RoczB4UEJVNVAwZzRFWGdWOHc4bDNDTmsxS2dlZEtzNmhtbmVYZEczT3ZGVVk1TDJW
135 T3B3WApPY2F3ZVE4WjY1ZGpGZTBibkxTanNSK0U4NWdhVWpKc3ppRnNyTCtVazdZNWVkMkU5WUtC
136 dlB2VVVjWmNDcHlSbkQ5bENmYWt5SFRkCjRXSHpIcktNMllCVkRDZXdJUkJnRmRDanNIck5mNUsw
137 WVhNTzRXTTlKVjFwNU5tY2ZiVjRQNWJXcDU3MXl1N1lSZTdZTGFQRDI3R1cKWEx0WnF2NTFIWkpz
138 THZPd3NUNVhZT3V0M29lTjgzSDVDdGxKUzBYcFIwc3dwSE9veC90aHdNWFlPTW90MlBpdjFkaWpT
139 K2NrZWVSOQppckxPSWV1OTZERmk4ajRNc1g0NE5nditRdUJIMkczMTA3MDhNVG1Id1k5MWw0T3dk
140 WVdmU2I1L0Q5YmJOd3Q1ZDZuVCt6S3NrWGt1CjlzVENIMkxqVkZOaThqNE1aVXk2aE9JYXJKUHdP
141 ckxES0dKeURzTVQ2MkFOblBYa2QxVG5laS96aDlnTmE2VXVwZGdTU3QxNE5UWnMKb3lqemdEZDIy
142 SDhiSmpNbDdUVjlPU2Z2dGxoUDlzTmtsMDZhUTM1THBRZ25ZcjBuZFUwV0NPMGM2dkdlanUvSzQv
143 NGtyN3hQVWRZNQpaTDBYUFVZczNrTTdoM3JMbUxsWTVTN3ZHbUp4RHVHOTF4SHJMcnVRUHo1eUhY
144 Wm5RZDZOdXIwRDdJbzlrWE96bHg1THZJZDJEdldXCk1kT3hTWGw1VDBHTnhUbUU5MTUzckcrRmxl
145 M1A1T3pMOVY1MDZNZ01iRkh3ZFFYekY2RnNnRDVPL2hONDJ0R3VNQUI3bk9aa20zMjkKQmlkWUFl
146 TVhNcjBTZzNPb3gzdVJZOGo3RkdXZFE5WjcwV1BFNEQwRzUxQnZHZk4wc3VVUmczT0l3M3Nkc2U3
147 eUpPMVhINUgzS2VyMgpEcmFrWHg0eGVJL0JPZFJieG13bXY1SU5jVGlIT0x6WEhlc3ZrMS9KaG1y
148 ZU9RbnJBVjVMOFhVMFI1RlpaQmVNN3hVNUw0NjhoNkV1CjczSmVITVY2R09ROURDcGpta2V4WGpO
149 RmVyUVhZcTJtOVgyK2xtSGcrWnFPSStmbGtQY3cxT0ZkenN1aFdBK0R2SWRCWlV6ektOWnIKWm5x
150 WC9UT3hWc2lhL2wrS1NKRHpNTWg3ODhoNUdPUTlEUExlUEhJZUJubDNtTkZsL3huQUR0aXN6WU94
151 eDJET3hzYnZQTlRmU3h0Wgo1RHdNOHQ0OGNoNEdlUStEdkRlUG5JZEIzaXN3eVFpUHN3bkVKSEll
152 Z2tua3ZXa21rZk1RVENMdklaaEUzcHRtRWprUHdTUWo3TDNiCjBKR1VPZGpTTERzQlI5SjVxUlJS
153 RDNJZUJubHZIamtQZzd5SFFkNmJSODdESU8rVWV6TGtldUNJNVAybVBseUx5Q0xuWVpEMzVwSHoK
154 TU1oN0dPUzllZVE4RFBJdWhCQkNDQ0dFRUVJSUlZUVFRZ2doaEJCQ0NDR0VFRUlJSVlRUW9qYitE
155 L3JLdG5uVFJvc1lBQUFBQUVsRgpUa1N1UW1DQwo=
156 </png>
157 <latex>$$\frac{1}{4} \sqrt{2} {\left|0\right\rangle } + \frac{1}{4} \sqrt{2} {\left|1\right\rangle } + \frac{1}{4} \sqrt{2} {\left|2\right\rangle } + \frac{1}{4} \sqrt{2} {\left|3\right\rangle } + \frac{1}{4} \sqrt{2} {\left|4\right\rangle } + \frac{1}{4} \sqrt{2} {\left|5\right\rangle } + \frac{1}{4} \sqrt{2} {\left|6\right\rangle } + \frac{1}{4} \sqrt{2} {\left|7\right\rangle }$$</latex>
158 <prompt_number>5</prompt_number>
159 </output>
160 </outputs>
161 </codecell>
162 <codecell>
163 <input>v = OracleGate(nqubits, black_box)
164 </input>
165 <language>python</language>
166 <prompt_number>6</prompt_number>
167 <collapsed>1</collapsed>
168 <outputs />
169 </codecell>
170 <markdowncell>
171 <source>Perform two iterations of Grover's algorithm. Each iteration, the amplitude of the target state increases.</source>
172 </markdowncell>
173 <codecell>
174 <input>iter1 = qapply(grover_iteration(psi, v)); iter1
175 </input>
176 <language>python</language>
177 <prompt_number>7</prompt_number>
178 <collapsed>0</collapsed>
179 <outputs>
180 <output>
181 <output_type>pyout</output_type>
182 <text>⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽
183 β•²β•± 2 β‹…β˜0⟩ 5β‹…β•²β•± 2 β‹…β˜1⟩ β•²β•± 2 β‹…β˜2⟩ β•²β•± 2 β‹…β˜3⟩ β•²β•± 2 β‹…β˜4⟩ β•²β•± 2 β‹…β˜5⟩ β•²β•± 2
184 ───────── + ─────────── + ───────── + ───────── + ───────── + ───────── + ────
185 8 8 8 8 8 8
186
187 ⎽ ⎽⎽⎽
188 β‹…β˜6⟩ β•²β•± 2 β‹…β˜7⟩
189 ───── + ─────────
190 8 8</text>
191 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXRvQUFBQWtDQVlBQUFDMzZaMXpBQUFBQkhOQ1NWUUlD
192 QWdJZkFoa2lBQUFET0pKUkVGVQplSnp0blh1c0hGVVp3SDl0YjZFVUtLVlFiYkdvQ1JUdzBWZUtT
193 QUh0RlN1aytBREUxS3FRSXFMQ0pTaVArR2hBVTZHS0JyR2FKaWlpCkF1RmhFV3FMbWxvVkJBTUlF
194 UkNrZ3FpUWlDaVBRbFhRV2xxdzlZOXZKbnZtek96dXpNN3MrV1ozdjEreTJidG56czdzL2Qzdm5w
195 MXoKNWp0bndEQU13ekFNd3pBTXd6QU13ekFNd3pDTTh1eW80R0VVNDFXWWR3M01lM2pNdVE3bVhR
196 ZnpIaDV6cmtQUGVuOE5NQzd3TVc4RQpKZ1UrcGpaN0FlOEdGZ0xIQVBNREgzOFFuZnRZcklmSG5P
197 dGczblV3NytFeDV6b012UGZST2VwTUF6NEkzQXRNNmU3SFNUQUhlQno0ClI4Qmoxb0U1d0FYUjQz
198 akVRY2hqRDZMekdJdjE4Smh6SGN5N0R1WTlQT1pjQi9OZWdJWEFMR1FZL2JVQmozc05NdncvYUN3
199 QWpsQTYKOXFBNmo3RllENDg1MThHODYyRGV3MlBPZFREdkVVTTU2dnkwNjU4aXpRSEFadUR2Q3Nl
200 dUE2T0FRNEZOd0o4REhYUFFuWVBGdWdibQpYQWZ6cm9ONUQ0ODUxOEc4ZDBESVhzbmx3UFJBeDZv
201 YkM0QnZBL3NESDBCNlp5RVlaT2MrRnV2aE1lYzZtSGNkekh0NHpMa09BKzg5ClQ0NTJhUFpGRXVk
202 RGplVDZMRkU2YnN4RHdHZUFSNEh2QXpPUlhPMXVvdTBjOUwxcllON0RZODUxTU84Nm1QZndtSE1k
203 YXVzOVQrcEkKYU00RkxtbXhmU1p3S3BKb2Z3L3dJK1RrMUdkVzlQdzdyL3drNEJBa1VmNHBZRFh3
204 ckxOOUxESkxOdVFrUkpmcHdNUE82ODNBUEdCTgpGNC9aemptVTl4NXpCUEJXNEV0ZXViWjNEYXFL
205 ZFdqdXZkMCtCczE3aUZqL0NIQXdNQkY0RHJnTStMMnpmZENjUTVoWTk3a2NPQjk0CkpucHQzdE5V
206 NFgwZHNzckRhdUMvd0R1UVNYRExnVWNZUE8raHZrOFhBdThGdGdEUEF5dG9UQUFjTk9mUS9WaGZp
207 cVNtL0FWNEVkaEcKY2duQTlWVGdQY1R3LzJUa0g3WVo3d0hXQW5PUldhd1hJVUYyYkViZDRlamg4
208 am5nRG1DbjZQWEppTWhkbkRxN0lTUEtXanhFWXdSNwpGUEJQdXRzN2JlY2N5bnNIK1YwV0FDOEEz
209 OG5ZcnUzZHBkZGlIYks5NTlsSFhielh3VG1Vai9VcmdVWFJ6MFBJeWNaVzRKMU9uYm80CmgzcDRy
210 eUxXZlU1QWZyZjluVEx6bnFRcTcvR2F3eThpODRwMkFPYzUyK3ZpdlE3T29acnYwd3VCSHdLN1Jx
211 OC9SVEludWk3T29SN2UKcTRqMW0ybSszdlovZ1AwbzZYMm5hR2NIZHJxRG5Dd0gzdEprMjY3SXFO
212 Q2VYdmw2NEdXa0YrRXlURkxVSGtpdjcvMU8yV2hreEdtRgo5OTdQSXoyVG9veW4vSHFScDlCWUNt
213 Y1IwdlBhdmVRK1c5SEtPWlQzRG5BV2NCdVNiNzZEN0JOdDBQVWUwNHV4RG1udlJmYWg3YjBPCnpx
214 RjhyTytITk41bk8yWFRrTi90THUrOTJzNmhIdDZyaUhXZjNaR1JWUDlFRzh4N1RKWGVOd0cvQWY2
215 SWREU1B5YWlqN2IwT3pxR2EKNzlONVNIeTdBNFIza3J3U0R2ck9vUjdlcTRyMW4wZkhlQk55d2o0
216 N2Vud0RPTTJwbC9LZUowZDdDYkFTdUFuNExITFMxQTBtSU1QMQp0emZaUGhlNUZIdVVWNzRXR0lO
217 Y3JtckY2WWp3WHpobDI2UFhpN3k2YTVCTE1rVlpUUGw4NnU4aHFSWG5BdnNnbzhEL0xyblBaclJ6
218 CkR1VzlBM3dkQ2RxVDI5VFQ5QTc5RSt0Rjk2SHB2UzdPb2J6M3NWRzlHVTdaczBnN3M3TlgxMkpk
219 cUNMV2ZaWUMxelhaWnQ2RktyMXYKUU5JeEQwVGErSFVaZGF5TkVjcDZId2RjZ2FSRmJYSEtGeUIv
220 QXhlTGRhR0tXSjhJM0I4ZDR4N2dQdUFCSkxWM0t2QXRwMjdLZTU0Ywo3YXVpUjFrK2pYelpYTmhr
221 KytuQU4xdThmd3l5TnVJWndQVk8rZCtpNXplMk9mNlJ3Qk9rRnpGL0FBbXMxd0YvaU1vMlJHWFhV
222 NHpSCjBlY3N5dzhxMkFlVWR3N2x2UmRCMjN1L3hIclJmV2g2cjR0ektPLzlFYVRSZGR1WUdZaW45
223 VjVkaTNXaDZ2WmxEbkxsc3RueVh1WmQKQ05tdWc3VXhNV1c5RHlNZG1sOTU1VnZTVlMzV0k2cUk5
224 UzNBeFJuNy9ScndVYTg4NVQzRXFpTkR3REtreHpGQzlxV01jY0RieU80Sgp4OXlHM0pyY3oxZU9M
225 dzIybXhnekJjbWo4ZGtjUGZ1WER4NUdUcjU3a2FxY1EzbnZSVEh2MVRndnVvOWU5VjYzV0k5elZH
226 T1dBbmNqCmQzcjE2VlhuVUs5WWp4bU5qSnI1cVlBKzVyMzZkdjE0NEl1SSs0K1RuZTdZcTk3cjFN
227 Yk1qcDQzSWllT0s1Q1R6RGxONnZlcWM2aFgKckc5RjBveGRSb0JiZ2FjejZxdDRqMmRpL2crWmpl
228 d3pRakozdWdoM0l3TDI5c3FIU2ViWWJJenErbndZK1dKYzdKWHZqRXllTE1LcAp3SWtGMzlNdHV1
229 a2M4bnQzR2FKMWpqYVk5MVkwY3c3NUpvaTEya2N2ZTY5YnJCK0FmRUhjaDZTQ05jdVQ3R1huVUw5
230 WUgzSEtUeVE3ClJ4dk1leXM2OGI0Sk9ka0JtZlIrQ1hJRnh4L0k2Mlh2ZFdsalZpRnhmUUh3NnFo
231 c0JuSVZ6WjF3SGRQTHpxRitzUjZ6TjVJVytJb20KMnhQZTQzK0Vaak1weXp4Y1hrS1dPL2t4Y0th
232 M2JRanBEYmVicVp2RnNVaGUwaG1rZXhzK1Ewaml1ODhvWjd2TFRKSkxjbFZOTjV5NwozcnZsSElw
233 NUwwb3ZlbmVwUTZ4M3NvOXVlaCswV1A4VGNxSjlaUFQ2RnJJYjgxNk05UkRlTzNFK0ZibWtmbHVP
234 dXIzbzNhVk8za0ZHCkhHK05mdDZCbkFRZVNYSlNNRmdiMDR3aTNxZEd6ODhCZjQxKzNvQXNWWGNw
235 NlVtTXZSanJkVzFqWEVhUUNlNGJtMnp2dHZlV3ZCMlIKZUxCVGRoTHBISmM4VEVXRzdFZWFiQjht
236 MlNPNUhWbmF6K2ZNNkRQNUNmRVhVSHlkOFRyMUJHT3FkQTdGdmJ2a0dkRTI3Mm5hT1lmMgpQZkIy
237 KytnSDczV0s5Wmhka2JXRjc2WFJxWS9wQitkUWoxaS9GRm5pSzZiVmlMWjVUMU5GRytQeUJJMlQ3
238 NWgrOEs3ZHhxeU5qai9YCnE3Y1VPNC9KUzlsWUh3S2VCRDdVNHYwSjc2RnZXSE1Ma3J0eUpwSXZN
239 d3FSOWE2Qyt4bUh6T3hjUm5LMlp5c2VCQTdQS0I4ZlBUL2wKbEUxRThybXpSc0JCY3RDeVp1Vk9R
240 eTV4WkFYcE5ZUzduYnBMVmM2aE0rOUZNTzlwcW5EZWJoLzk0cjBPc1I0dkl4cXpHWmx3UFEvNQpr
241 cmduS3U4WDU2QWY2MGNEdnlWNTQ3Rm1tUGMwWmRxWTVkRnh6OHZZTnR2NXVWKzhhN2N4VDNuUE1T
242 OUV6OU5wckt6V0w4NmhIckVlCk13ODVXZmYvQmpIdHZBZmhkR1JoKzhuQWNjQTVCZDgvQ3BuTnVj
243 UXJuK2U5SGliWkl6a055U1h6dVJxNXc4OGVUdGtJTWt1MUdlT1EKeVpYKzR4emtVa1RXTm45NXI1
244 Q1VkUTZkZTNkcE42SnQzcFBrZFE2dGJ4VFViaC85NUYwejFsY2k4ZjArcjk0ZFVma0pUbGsvT1Fm
245 ZApXTDgxZXU4cTUzRVg0dnduMGV0SlVWM3pucVJzRy9NYzhKaFhOZ0ZaMHZMWFRsay9lZGRzWXhZ
246 amNmMEdyOTdaVWJtN2hGMC9PUWY5CldJOVpSbnAwM2FXZDl5RHNCdndMNlFHdm8zRm5vN3g4R2Ju
247 RnNjczA1RmE3THNNa1JSMkd5UEVYVG44UytLNVh0cnpnWjRxcDR5VVgKS084Y092ZnUwdTVFMjd3
248 bnllc2NtbnZQczQ5KzhxNFo2emNnSnhqdUNmVVlaSFRENzh6M2szUFFqZldka0pNRzk3RU1hV3Rl
249 VHpKdgoxYnduS2R2R1hFZmpCbXN4OHhIMzduSnMvZVJkczQzWkM4bGI5a2VpVnlBanFPNXFMLzNr
250 SFBSalBlWUdzczhsWTFMZVE2ZU9nSHpwClhJbmtGRjFNWTNtOVBId01PQlI0RkFrR2tGN0tJY0RQ
251 MnJ6M1htU1c2Um5BSjZLeXc0QlhBbDl4NnMwbnZVWmxyMVBHT1pUejdoS3YKelptMUNvTjVUMUtG
252 OHp6NzZEZnZtckYrRlhLaWZaTlRkaHp5aFhBUmpaU1Nmbk1PdXJHK0xhTnNlL1Q4TWpJS0J1YmRw
253 NG8yNWdyZwprOUh4WTQ1SDdoUVpyenZjYjk0MTI1aE55SW5oQ0pJQ0FYSUNlaXh5WGhQZjNLN2Zu
254 SU4rck1mRUs0MjhrTEd0WSsvamtGeVlVNUIvCnFEMWFWOC9GZE9SRFRtcFgwZUhOU0UrdTJTelZH
255 Vjc5K2RIRFpRcVM2M00xc3Q3cWc4anY1dklGMHBPVzhsSlZUN0F1enFFYTcwY0IKbHlGNWxEdVEv
256 Sy9WeUsxTEowUjF6SHVEb3M0aDdUM3ZQclM5MThVNVZCUHJSeU96NEZjaU41NTZqRWJIUGtiYk9k
257 VEhleFd4N25JNApzcTd3ODlINzcwZEcrOFpqM2wycTlMNFk2V1JlaU55eDhGb2tUelZHMjN0ZG5F
258 TTFiVXk4aE9JNlpKRHdSdEpwRk5yT29UN2VxMjVqCjFnRFBrRDFRbmVrOXp4L2lmS1Qzc0JVUjlW
259 VTZuMkhyc2crU3RwR1hLY0JCTGJiZmljaU1pVWROWDhxb3V3c3lrdjA0NmFXVEpwRGQKVThuRHFj
260 am9TZG5KQW5WeER0VjRqL083c25nb3FtdmVHeFIxRG1udmVmZWg3YjB1enFIYU5tWWljbktYOVJt
261 MG5VTjl2RmNSNnk2VAp5YzZQM0lCY1dURHZRdFhlQWZaRjdzaTUzU3ZYanZlNk9JZHEyNWpSeUtT
262 OHJMdWdhanVIK25pdk90YkhJbTM3OHhuYk92YitNTWsxCllGZDFzcE1CNFJTeUYxVXZpamt2aG5u
263 WG9RcnY1cndZRnVzNm1IY2RySTBKajhWNnhlVEowYjRkeWJjNkM4a0ZXdE82K2tDemluUnYKdmhQ
264 TWVUSE11dzVWZURmbnhiQlkxOEc4NjJCdFRIZ3MxaFVZaXl5ZnRBMVpBM1pmM1k4ekVKaHpIY3g3
265 ZU15NUR1WmRCL01lSG5PdQpnM2t2d0Vwa0daT0RnSnVSeVQyZExHZGo1TWVjNjJEZXcyUE9kVER2
266 T3BqMzhKaHpIY3g3VHVhU3Z1UFR0Y0JDaGM4eUtKaHpIY3g3CmVNeTVEdVpkQi9NZUhuT3VnM2wz
267 R04xbSszWmdUNjlzSS9CSWR6Nk9nVG5Yd3J5SHg1enJZTjUxTU8vaE1lYzZtSGVITVcyMlA0MHMK
268 OGowUG1UaTVDRmtTNzVkZC9seURqRG5Yd2J5SHg1enJZTjUxTU8vaE1lYzZtUGNPMkEyWVJmSld0
269 a1ozTWVjNm1QZndtSE1kekxzTwo1ajA4NWx3SDgyNFlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlo
270 bUVZaG1FWWhtRVlobUVZaG1GVXl2OEI0L3U3a2hsRFZDQUFBQUFBClNVVk9SSzVDWUlJPQo=
271 </png>
272 <latex>$$\frac{1}{8} \sqrt{2} {\left|0\right\rangle } + \frac{5}{8} \sqrt{2} {\left|1\right\rangle } + \frac{1}{8} \sqrt{2} {\left|2\right\rangle } + \frac{1}{8} \sqrt{2} {\left|3\right\rangle } + \frac{1}{8} \sqrt{2} {\left|4\right\rangle } + \frac{1}{8} \sqrt{2} {\left|5\right\rangle } + \frac{1}{8} \sqrt{2} {\left|6\right\rangle } + \frac{1}{8} \sqrt{2} {\left|7\right\rangle }$$</latex>
273 <prompt_number>7</prompt_number>
274 </output>
275 </outputs>
276 </codecell>
277 <codecell>
278 <input>iter2 = qapply(grover_iteration(iter1, v)); iter2
279 </input>
280 <language>python</language>
281 <prompt_number>8</prompt_number>
282 <collapsed>0</collapsed>
283 <outputs>
284 <output>
285 <output_type>pyout</output_type>
286 <text>⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
287 β•²β•± 2 β‹…β˜0⟩ 11β‹…β•²β•± 2 β‹…β˜1⟩ β•²β•± 2 β‹…β˜2⟩ β•²β•± 2 β‹…β˜3⟩ β•²β•± 2 β‹…β˜4⟩ β•²β•± 2 β‹…β˜5⟩ β•²
288 - ───────── + ──────────── - ───────── - ───────── - ───────── - ───────── - ─
289 16 16 16 16 16 16
290
291 ⎽⎽⎽ ⎽⎽⎽
292 β•± 2 β‹…β˜6⟩ β•²β•± 2 β‹…β˜7⟩
293 ──────── - ─────────
294 16 16</text>
295 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXdVQUFBQWtDQVlBQUFEWWZaWjNBQUFBQkhOQ1NWUUlD
296 QWdJZkFoa2lBQUFEU1pKUkVGVQplSnp0blhtUUhGVWR4ejlKMkN5SjRVeWlFY0loVjFtQlVpUktS
297 UW9WandJQkMrVFFTS0ZrS1kzaWhZaVk0dkFZRlJBeEVoVWtxSWdJCkNsSEJBZzJJSUxwS0VjRjRn
298 Q0tsd1NqS1Zad3FvQVFLaUgvOHV0bWVONjk3WnJwNzV6ZWIrWDZxcG1ybjlYdlR2Wi9mOU90NS9Z
299 NEcKSVlRUVFnZ2hoQkJDQ0NHRUVFS0lRV01uWUgwTkwxRWZpb2tmY3UrTC9Qc2kvNzdJdnkveTcw
300 ZmZ1ZCtvemcvcmtFbkF6c0FhaDMwRAo3QU84SmptT1FhVW9CaDd4MllmQmpZbk9CMS9rM3hmNTkw
301 WCtmWkYvUCtUZW1XSGdsY0IzZ2ZNY2orTnlZRXZIL1h0U0ZBUFArQXhpClRIUSsrQ0wvdnNpL0wv
302 THZpL3o3SWZjRlRPN2h2dVlDTTRCLzlYQ2ZJZk9CdndPUE9CNkRKMFV4OElyUG9NWkU1NE12OHUr
303 TC9Qc2kKLzc3SXZ4OXlYMEF2R3dWcmdldUFmL2R3bnlISEEyYzU3dCtib2hoNHhXZFFZNkx6d1Jm
304 NTkwWCtmWkYvWCtUZkQ3a3ZvSmVOQW05ZQpERHdHM090OUlPSTVGQk0vNU40WCtmZEYvbjJSZjEv
305 azM0KytkajlJallJVGdLWE94N0FBMk1YNUdQb0o3NWdNY2p5ODNZUDh5NzhmCjh1K0wvUHZpN1Yv
306 dWZjbjFQeWlOZ20yQnFjQmZjN1lQQVI4Q3ZnK2NDeXlrL2NwTVIwWFN0Z08rQkp3Qm5BenNIV3ov
307 UGZEV3pnNTUKZzZkWE1Sa0NMZ1kyald3YjFIaTBjdy9kK3cvZGQxSmUvdk9wNmg5Z2YrQXJ3RVhB
308 aGNCcmcrM3lINmV1dWlma3k4RDJtZmZ5SDZjTwovMXNBVndKSEFOT0JqWUhEa3MrY2xlU1Ivemgx
309 K0o4Q0hBT2NEeXpEaHN0TXlXeVgrM3lxMXYzWEE1OEhUc0VhSU1kbFhzY21lWEw5CkQwcWo0QVRn
310 Q3puYmhvR3JnUDhCN3dRdUE4N0VLcFRwQlorNVEvQitLK0Izd0JYQWlWZ3dMd0FPenVSNUVuaW16
311 ZWNPQ3IySXlVeGcKQmZCMjdFUU1HZFI0RkxtSGN2Nno3anN0TC85eHF2b0hxNFAyd0M0Q1J3RS9B
312 WDRHTE1ua2tmOVc2cXA3UXZZRFBnaHNua21ULzFicQo4ajhNSEFSY0Fqd0EzSSt0Tm5NZDhGQ1NS
313 LzVicWNQL1pLeSttUVVzQmo0TXZBbzRLWk5IN3VOVXJmdm5BcTlMOW5NcTFqaFlsbmtkCmtPVHJL
314 LzluQWQvczRmNW1ZeTJ1UEQ1Rzg0VVM3STdhZXVEc2duS040UDFTWUhXUWRnbzJ3MzFXSm0xSFlL
315 VGdjNHVvYS9tcW9oajAKSWo3akhaT3RnR3VCYTRCYmtuS3pjc3BVaVVjZDlOdjVBT1g4TjBxV2wv
316 OVdxdm9mQWg0RXZwNUptNFQ5T0hvMDJaNGkvODNVZFQzSQpzakZ3YS9JWnV3ZmI1TCtadXZ6UHdj
317 WnMveGE0SGZnYXRpWjhpUHczVTRmLzQ3R2JjU2t6Z1A5aU1jZ2k5NjFVcmZ2M3hSb2RDNENYCll6
318 ZUdkc2RXTy9vMTl0c29KZXEvbHowRk93Q2Z4YnBQTmdNK0I4enJ3WDZQQTc1WXNQMEE0R1hZRnpm
319 bDU5ak05UDA3M01jV3dIdXcKSDZGWnJzSHVETzJiU1Z1TFBUQ2pETjhyV1M2bEtBYTlqTTk0eCtS
320 ZXpQa2JnWisyeVZzbEhsWG8xL01CcXZ2dnByejh0MUxWL3hUcwpJakkvazdZZWF5Z00wZnl3SFBs
321 dnBvN3JRY2dTN0M1MURQbHZwazcvdjhUT2dYbkF1NEZmUlBMSWZ6TlYvZStDM2FGZWxrbDdITmdH
322 CmVHK1FWKzVicWVwL0hqWms2eWJnTjlqb2xWdXczME5MYVo3YzdPVi9YTmtGdUlIOExwQk5nUisx
323 K1l5YnNRdm1Ya0g2YmNDendMU2MKY28zTTMvc21uM0ZZa0NlOU9IOGpTRDhFYThWMXkyaUpNcjJt
324 WDJLU3NwVGluZ0lvSDQ5K293NzNVTTUvbzBKNStXK21xbitBVGJDdQo2SlFad0RyZzZraForUitq
325 enJvSGJLV1JCdkJtNGowRklQOVo2dkkvaCthNzFVWEkveGhWL1o4S1BFSG5UK21WKzJhcTF2MHZw
326 UFZtCi8rN1lVUFlZRzRwL0FGNFBmQlFiRzdVNEo4OUp0RzlkYll1Tis4OStpU2RqWTdyK1VsQ3Vr
327 Zm43S0N5USswWHlyYVAxYnZWR3dLZmEKSEZlTTBSSmxla2sveFNTbGswWkIyWGowRTNXNWgzTCtH
328 eFhLeTM4elZmM0grQVJ3TjdCMVpKdjhqMUZuM1FNMlBHRWF4WTBDK1IragpMdjlwbytBZHdHbllI
329 ZHBGMkZDdUVQa2ZvNnIvbGRoRHVXWmk4NXJPdzhiRVB6K25uTnczVTNmZFB4bFlCYndnWi91RzRQ
330 ODUwbkd4CjN3SCtFTmsramRiaFBKMXlDRmFCbjFpUXA1SDVlMG1TUDF4dENPQmhyQnNuNUpQRUo3
331 OFdNZHBsL2w3VFR6Rko2YVJSQU9YaTBVK00KcDN0bzc3OVJzYno4RjFQRy82WkordFhZVUlyTkkz
332 bFM1RCtmc25YUEl1REE1TytpUmdISWZ4RmwvTThCN3NMR1ZJUDkrTGtZVzRrcgpodnpuMDQzL3U0
333 Ry9KWGszU2RJV1liSEltNHd2OThWVXVmYStDL2hobTgrdjNmOTZoMWVXQlVsYU9Jbm9BNVJiOG1v
334 SW14UjJNOFhMClFEVXlmNStjSE1PQ1NMNUhzREZkSWFlWE9MYlJEdk41eGdQNkl5WXBuVFlLeXNR
335 anhvWjJQa0JuL2hzVnk4dC9QbFg5RDJOM3N0WUEKdStYa2tmODRaZXVlTGJHN3BDbnRHZ1VUMVg5
336 SXYvaWZqQTJseVBLaTVOaU9qSlNYL3pqZCtuODYyZjhlbVcyVGdEdUF5M1BLVGxUMwovVjczcDk0
337 UGJiT1B1dnozRmF1eHBadFNOc0pXbnlremtmcE1iQTNYZGl2OU5ESi9INHg5R1dLTmdpZXg1Ym15
338 ek1PV3lleVcwUkpsCnZQQ09TVW9uallLeThlaFg2blFQbmZsdlZDZ3YvOFZVOVo5eUszQWZyVjNK
339 OHA5UDJicG5HYlk4WUVwUm8wRCs4NmxTOThkNENyZzAKU0pQL2ZMcjEveEEyMUNXY1UzQVZOaWIr
340 ZVVHNjNCZFRwZTQvRUZ2MXFhZ1hvTVYvdHVXeEd6WWp1OU1KSW4vRzFrTHRCODdHSmxKcwpnM1ZU
341 SFltdDl2QnNsNTl6SkxiODB4dXdPL3lka25ZWnpRalNwMkFCdVM5SVB4d0xkb3laV0JmbmxNaTJs
342 eER2aGxxSHRRYTcvWC9ICkUrK1lkRU1zSGpvZmpLcitPeWt2Ly9tVTliOFo4SjhnN1Vac0JaQ0Rh
343 RjZ1VlA3amxIVy9OM0FuTnBTaUUwTC9FOWs5K1BzSFdJNzEKakdWWHdVbDloZzB6K1k5VHh2OTky
344 QS8vOEM3Nm81alBIV2tlWXFPNko1K3ExOTVEc2VIclR4WGtLZm90Q3RnUDBsa2R2c0lXbnlmRAoy
345 QnJjcDJOZnBHdnBmb3pVM3RpZCtPeVRiK2NYZkU0ajgvY2s3RXQvZEpEbnBkako4ZkZNMm5UcytR
346 VkZ6TWJHUklhdlZUbnBNOXQ4Cm5nZmVNVWxwMTFOUUZJOUJQaCtnTy8rTmt1WGxQNSt5L2hkakY2
347 SFBCSG5Pd2M2RmJMcjh4NmxTOTF5RnJVZStJdk82QVhOL1RmSSsKWFM4OHovOUVkUS8rL29leFlT
348 dzNCbmwyeG1Md2cweWEvTWNwNi84YzdObE1JWmRqTWRra2s2YTZKNStxMTE2d0d4TzNGZXlqazkr
349 aQpFNXJUc0hXNGo4RFdnKzJHbllFZlkzZlhzaXd2S05NSTNxK2krZTRid0Vld3UvalpzWTBqd0U1
350 ZEhsL0thTWx5WG5qSEJObzNDa1lvCkg0OStwb3A3Nk41L28yVDVFZVEvUmhYL3AyRGYrVThIZVc1
351 SzByUEwzWTBnL3lGVjY1NnAyQ28zMmRjSm1QczlrL2ZwWGRBUjVEK2sKanJyL1NwcC9nQUlzeEdM
352 dy9remFDUElmVXNYL0FaamoyY0gyMWRpRDVMS01JUGN4cWw1N1lheTM1bGNGK3hraDRyOW80c2hF
353 WXptMgpDdEFaZFBjZ2lwblluWU9MZ0xkazBvZUE3YnI0bkhPd0ovWXR3VnJLazdEdW13dHBIajYw
354 VTVJMkNIakhCTWFHWVEzbGJOOVE0MUhXClBWVDMzMDE1K1crbHF2OFZ3SnV3SjNhbTdJb05tMWlK
355 TlE1UzVMK1pPdXFlV0hkOU9uemdhZXhHVVlyOE4xTlgzYjhDZTZEbzBremEKSWRqOHZ2TXphZkxm
356 VEZYL1YyUHI4YitQc2FVdWQ4WFc4UStYYkpmN1Z1cjYvcWRMd0Q1YWtDZnF2eGVOZ2tsWXkyZE5r
357 RDZFcmUrNgpPZGFxL0RieGJxZE91UnU0QXZnak5ybWlVMVpnWTloaTQ2b3VLU2dYamhHN0JKdFl0
358 aExyS3RzVDYwWTZPWk5uRCtMTGsvYWFEVDBtClU3R25GTTVoYk9iOTlWaHZ6c3JrbU1Bbkh2M3VI
359 c3I1ejU0UG5aYVgvemhWL2EvRm51QjZIblpSZUFackpDekg3bGluZWVXL2xicXUKQnltdndJYVZM
360 a3plWDRROXQ2YUJMZEVvLzgzVTVmOVM3SWZwQmNBOTJCanZkSWp2azBrZWZmOWJxY1AvMGNDNXlX
361 ZmRDMndQdkkzbQpteEZ5SDZkcTNaL3lPSFp6NGs4NVpYTDlkenFSb3d6RHlZNlB3d1FmRTJ3L0Yz
362 dXd5MnJzS1hqUFlPdWxWbUVtOEJqRkV5dEM5aUovCnpOZGQyQVUyeG5Sc2xuMk03YkFKSG84SDZU
363 T3dMMGxzS2JGT0dBWDJLVmtXQmljbWs3RkoyVEVleEM0U1VEMGUzVEJSM0VNNS85bnoKb2RQeTho
364 K25xdjhzMDdEVmh1Nk1iSlAvVnVxK0hteUpQWkFvNVBaa1AvTGZ6SGhjajdkTnlvYWU5ZjF2cFU3
365 L0cyT09INHJrbC9zNApkZGI5TTdFSnlqSEh1ZjdIczZkZ2JyTGpXSXZyVUdBTExBaGdYWHF4TDA2
366 M1BGeWl6S3FTKzhxcmdBRCtrWk1lTmhLNjVlbUs1UWNsCkpzOFNmelpFU05WNGRNTkVjUS9sL0dm
367 UGgwN0x5MytjcXY2elBFRzhRUUR5SDZQdTY4RWo1SzhjMHUwUGhpb01xbitBZithazYvdmYKU3Az
368 KzE5RThWQzZMM01lcHMrNHZPb1pjLytQWktGaWJ2Tkp1bVN5SFk0OXNYZ2hzRGR5UHJjNGdpaW43
369 QUl3VXhjUVB1ZmRGL24yUgpmMS9rM3hmNTkwUHV1OEJyb3ZGOHJFdjdWT3p1OTJWWVMrNnJUc2N6
370 VVJpdmRmcEJNZkZFN24yUmYxL2szeGY1OTBYKy9aRDdnTEpQCldhdktlcXk3SmgwT2N4TndyTk94
371 Q0VNeDhVUHVmWkYvWCtUZkYvbjNSZjc5a1BzQXIwYkJHbXlzYThvNld0Y1VGcjFGTWZGRDduMlIK
372 ZjEvazN4ZjU5MFgrL1pEN0FLOUd3V1Uwcjk4NkY1dmdJZnhRVFB5UWUxL2szeGY1OTBYK2ZaRi9Q
373 K1Erb0JkekNxWmlTMEpsdVJoNApOZlp3a1Fld0Ixc3M2c0d4Q0VNeDhVUHVmWkYvWCtUZkYvbjNS
374 Zjc5a1BzT0dNL25GT3dBTE1ZZUZqRVp1QVA0RnJZK2M4cHNMRkQzCnRKUVc0NEZpNG9mYyt5TC92
375 c2kvTC9MdmkvejdJZmRDQ0NHRUVFSUlJWVFRUWdnaGhCQkNDQ0dFRUVJSUlZUVFRZ2doaEJCdCtE
376 L1MKelNmU2hTUU41d0FBQUFCSlJVNUVya0pnZ2c9PQo=
377 </png>
378 <latex>$$- \frac{1}{16} \sqrt{2} {\left|0\right\rangle } + \frac{11}{16} \sqrt{2} {\left|1\right\rangle } - \frac{1}{16} \sqrt{2} {\left|2\right\rangle } - \frac{1}{16} \sqrt{2} {\left|3\right\rangle } - \frac{1}{16} \sqrt{2} {\left|4\right\rangle } - \frac{1}{16} \sqrt{2} {\left|5\right\rangle } - \frac{1}{16} \sqrt{2} {\left|6\right\rangle } - \frac{1}{16} \sqrt{2} {\left|7\right\rangle }$$</latex>
379 <prompt_number>8</prompt_number>
380 </output>
381 </outputs>
382 </codecell>
383 <markdowncell>
384 <source>A single shot measurement is performed to retrieve the target state.</source>
385 </markdowncell>
386 <codecell>
387 <input>measure_all_oneshot(iter2)
388 </input>
389 <language>python</language>
390 <prompt_number>9</prompt_number>
391 <collapsed>0</collapsed>
392 <outputs>
393 <output>
394 <output_type>pyout</output_type>
395 <text>❘001⟩</text>
396 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNrQUFBQVRDQVlBQUFBTmdTUTlBQUFBQkhOQ1NWUUlD
397 QWdJZkFoa2lBQUFBYWhKUkVGVQpTSW50MXJ0ckZVRWN4ZkVQUWVNcjZEWGlDM3lrc0ZIUlJpUW9p
398 SFZDS2l1eHloOWdZeU1XVmhhQ29vS3R0WlhZaUVaUTB5aGliN0FSCmc1R0ErQ2dVSVRlK0lGck1C
399 TWE5ZS9mTzNOWjhZWmpaOHp1N2UzWjNkblpab1lnTDNRcXJrdkVaUE1WN3RIQWRiWHpCV3R6QzI4
400 cisKdWI1bE51SUpUbU91VW10akd6NDNYY2trUnVKNEdsY3J0VmRZWDlrbjF6ZUlFM2lPUDloWGMv
401 NHRPTmNVTUEwNUdnKzBQNm10dzNkYwpUclJjWHd2M2hUdCtyeUVrWE1KQVRzaTdtSytwUDhKTXNw
402 M3JTN25ZSStSeGpGZkZ1dFJIOEtaR244VWg0YkdVK0VwNEVZUDJETGtkCkN6VjZPL1k3Q24ybHpH
403 TnZLbFJEYmhMbVZWc255MXFyd05jUER6RFJGUEkzbG1LcnNqcjJTd1crZnBqQVZGUElSZDNYdUEy
404 eC8xRGcKNjRjUnZFdUZ1ams1ZzgwMStsRHNQeGI2U2pnbXZEei8wQzNrN2hyOXFQRG0vaWowbFRD
405 R2h6a2hYK0lBOWlUYVZoekd0VDU4dVF6agpxeDV6ZVZLWUQ0TjRocHRKN2J6d1RWK1RhTG0rbEJ2
406 Q1l0NnhGdUtzc0t4MWtQNWdMT0pYYktlRVQ5dHRmTU11bk1UUHhKL3JJL3hVCjdNVEJ1UDBZcjNF
407 SFY2STJoRTlkTG02Ri80ZS91K3R5ZUYwcUx2c0FBQUFBU1VWT1JLNUNZSUk9Cg==
408 </png>
409 <latex>$${\left|001\right\rangle }$$</latex>
410 <prompt_number>9</prompt_number>
411 </output>
412 </outputs>
413 </codecell>
414 </cells>
415 </worksheet>
416 </worksheets>
417 </notebook>
1 {
2 "nbformat": 2,
3 "name": "grovers",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Grover's Algorithm</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 1,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 2,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "cell_type": "code",
29 "language": "python",
30 "outputs": [],
31 "collapsed": true,
32 "prompt_number": 3,
33 "input": "nqubits = 3\n"
34 },
35 {
36 "source": "Grover's algorithm is a quantum algorithm which searches an unordered database (inverts a function).<br/>\nProvides polynomial speedup over classical brute-force search ($O(\\sqrt{N}) vs. O(N))$ ",
37 "cell_type": "markdown"
38 },
39 {
40 "source": "Define a black box function that returns True if it is passed the state we are searching for.",
41 "cell_type": "markdown"
42 },
43 {
44 "cell_type": "code",
45 "language": "python",
46 "outputs": [],
47 "collapsed": true,
48 "prompt_number": 4,
49 "input": "def black_box(qubits):\n return True if qubits == IntQubit(1, qubits.nqubits) else False\n"
50 },
51 {
52 "source": "Build a uniform superposition state to start the search.",
53 "cell_type": "markdown"
54 },
55 {
56 "cell_type": "code",
57 "language": "python",
58 "outputs": [
59 {
60 "output_type": "pyout",
61 "latex": "$$\\frac{1}{4} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|1\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|2\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|3\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|4\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|5\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|6\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|7\\right\\rangle }$$",
62 "prompt_number": 5,
63 "png": "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\nTkSuQmCC\n",
64 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u27580\u27e9 \u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\u2571 2 \u22c5\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\n 4 4 4 4 4 4 4 \n\n \u23bd\u23bd\u23bd \n\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9\n\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 4"
65 }
66 ],
67 "collapsed": false,
68 "prompt_number": 5,
69 "input": "psi = superposition_basis(nqubits); psi\n"
70 },
71 {
72 "cell_type": "code",
73 "language": "python",
74 "outputs": [],
75 "collapsed": true,
76 "prompt_number": 6,
77 "input": "v = OracleGate(nqubits, black_box)\n"
78 },
79 {
80 "source": "Perform two iterations of Grover's algorithm. Each iteration, the amplitude of the target state increases.",
81 "cell_type": "markdown"
82 },
83 {
84 "cell_type": "code",
85 "language": "python",
86 "outputs": [
87 {
88 "output_type": "pyout",
89 "latex": "$$\\frac{1}{8} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{5}{8} \\sqrt{2} {\\left|1\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|2\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|3\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|4\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|5\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|6\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|7\\right\\rangle }$$",
90 "prompt_number": 7,
91 "png": "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\nSUVORK5CYII=\n",
92 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\n\u2572\u2571 2 \u22c5\u27580\u27e9 5\u22c5\u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\u2571 2\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\n 8 8 8 8 8 8 \n\n\u23bd \u23bd\u23bd\u23bd \n \u22c5\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9\n\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n8 8"
93 }
94 ],
95 "collapsed": false,
96 "prompt_number": 7,
97 "input": "iter1 = qapply(grover_iteration(psi, v)); iter1\n"
98 },
99 {
100 "cell_type": "code",
101 "language": "python",
102 "outputs": [
103 {
104 "output_type": "pyout",
105 "latex": "$$- \\frac{1}{16} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{11}{16} \\sqrt{2} {\\left|1\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|2\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|3\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|4\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|5\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|6\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|7\\right\\rangle }$$",
106 "prompt_number": 8,
107 "png": "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\nzSfShSQN5wAAAABJRU5ErkJggg==\n",
108 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n \u2572\u2571 2 \u22c5\u27580\u27e9 11\u22c5\u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\n- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\n 16 16 16 16 16 16 \n\n \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2571 2 \u22c5\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 16 16"
109 }
110 ],
111 "collapsed": false,
112 "prompt_number": 8,
113 "input": "iter2 = qapply(grover_iteration(iter1, v)); iter2\n"
114 },
115 {
116 "source": "A single shot measurement is performed to retrieve the target state.",
117 "cell_type": "markdown"
118 },
119 {
120 "cell_type": "code",
121 "language": "python",
122 "outputs": [
123 {
124 "output_type": "pyout",
125 "latex": "$${\\left|001\\right\\rangle }$$",
126 "prompt_number": 9,
127 "png": "iVBORw0KGgoAAAANSUhEUgAAACkAAAATCAYAAAANgSQ9AAAABHNCSVQICAgIfAhkiAAAAahJREFU\nSInt1rtrFUEcxfEPQeMr6DXiC3yksFHRRiQoiHVCKiuxyh9gYyMWVhaCooKttZXYiEZQ0yhib7AR\ng5GA+CgUITe+IFrMBMa9e/fO3NZ8YZjZ8zu7e3Z3dnZZoYgL3QqrkvEZPMV7tHAdbXzBWtzC28r+\nub5lNuIJTmOuUmtjGz43XckkRuJ4GlcrtVdYX9kn1zeIE3iOP9hXc/4tONcUMA05Gg+0P6mtw3dc\nTrRcXwv3hTt+ryEkXMJATsi7mK+pP8JMsp3rS7nYI+RxjFfFutRH8KZGn8Uh4bGU+Ep4EYP2DLkd\nCzV6O/Y7Cn2lzGNvKlRDbhLmVVsny1qrwNcPDzDRFPI3lmKrsjr2SwW+fpjAVFPIRd3XuA2x/1Dg\n64cRvEuFujk5g801+lDsPxb6SjgmvDz/0C3k7hr9qPDm/ij0lTCGhzkhX+IA9iTaVhzGtT58uQzj\nqx5zeVKYD4N4hptJ7bzwTV+TaLm+lBvCYt6xFuKssKx1kP5gLOJXbKeET9ttfMMunMTPxJ/rI/xU\n7MTBuP0Yr3EHV6I2hE9dLm6F/4e/u+tyeF0qLvsAAAAASUVORK5CYII=\n",
128 "text": "\u2758001\u27e9"
129 }
130 ],
131 "collapsed": false,
132 "prompt_number": 9,
133 "input": "measure_all_oneshot(iter2)\n"
134 }
135 ]
136 }
137 ]
138 } No newline at end of file
This diff has been collapsed as it changes many lines, (1282 lines changed) Show them Hide them
@@ -1,1014 +1,268 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>qerror</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Quantum Error Correction&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>1</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>2</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <markdowncell>
33 <source>&lt;h2&gt;5 qubit code&lt;/h2&gt;</source>
34 </markdowncell>
35 <codecell>
36 <input>M0 = Z(1)*X(2)*X(3)*Z(4); M0
37 </input>
38 <language>python</language>
39 <prompt_number>3</prompt_number>
40 <collapsed>0</collapsed>
41 <outputs>
42 <output>
43 <output_type>pyout</output_type>
44 <text>Z β‹…X β‹…X β‹…Z
45 1 2 3 4</text>
46 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZzQUFBQVlDQVlBQUFDVitvRmJBQUFBQkhOQ1NWUUlD
47 QWdJZkFoa2lBQUFBMk5KUkVGVQphSUh0MkVtSUhGVWN4L0ZQa3RIUUNTNW9TR0EwS29JTElzYUxt
48 SU9HT0M0TU11QTJDQ1l3R0pmZ3dSVWRSbkJGRk1sTjlCQXZCaUZSCkJCY1VQUVJFWEhBRE1ZZ29L
49 QklWblNoQ29xakVaWnc0SHY0MU05WGQxUm03NmxXTDBEOG82RmV2NnZ0ZS8rb3QvLytqci85Y0t6
50 R0YKR2Z5RkwvQXFkbWJYdnF6dWluL0JHc091N1BrWi9JNm5jdlVYNDZlczdtOThqblZkOUxWdWZr
51 b3ZDclVKZitJV0hOSlNkeWtPNE5FdQptUTltbmJxdm9HNkwrQU9EWFRKN3dhL0RpeVk5ajVHQysy
52 ZmpON3lFeFYweVYyTWFuN1hjWDRldEpYaTk0dGZoeFp3T3hSc0Y5MC9FCkQvZ0F5MHF5WHhhamIz
53 MVdQa05NK1lHU3ZMcjVkWG9CanNPRkxmZU9FaVBtYTZ5cXdCNFJaanlERS9DQ2lwMnRtVituRjRW
54 YWlyZkUKSm5OYVJkWVNmQ1BXd0Zkd2RFVmVyL2twdldqVElqd3RkdU9oUk14N3hPaTdLeEd2Vi93
55 NnZHalN3NkxqWTRsNEE5Z3VPcnhiL0lHVQpxcE9mMm9zbWJWWWNTaldVLzdKYmNTNmV6ZGpEcFh2
56 WFczNGRYc3hwV0FUd1R4YlVYWVBMU2pBZndpWFo3L05GNTE4czA3a2U4K3Z3CllrNW40aGU4cGoy
57 SWg3ZXhQRmZlZ0JzWFlONks2M1BsUlNLVG04WXhCM2x2Q1BmaUVUeUd3eEx4QjdFeGUyY2JSanR3
58 dS9WaVZzdXgKb3dOelRzZGlEejdGRVFYMUcwUXNDMnZGdFBvRWR4K0V1Vkh4Wm5XN0dIMzNkM2p2
59 Rkl6bnlvL2p6VVQ4N2VJRHdocVJ4cTlwZWFZYgpMMXExUlh0eTFhVEQ4VEcreC9FdGRZTzRNK3ZV
60 ZFMxMU94U2J2VFJyOUtNTzdRMW12TW5zMlZaZGkyL05iM0lYQ1BOV0p1Q2ZMajRtCnJOQ2NDRkhl
61 QzdnSVYxdkE3RzFabzVONFA3dDI0V2Z6aHp4VDJnUDVWck1iZUE5L1pPOGNFT2NXZVkyS2VIaVcr
62 NTFJUVBJNlVuTkMKY1JYMmkxR1dnaityTWJ5amVaa282OFVLM0lCVExXQjJXWFVhMlNtMUdPL2lw
63 b1RNMWNLWW5kSmxnaE1pL1B4Zm0vMEE3cWlKdlJaZgphVjh1dXRVb1RzcCtGNXE5cEdJRGNEbjJp
64 alMyRG0wU1M4SVRZcG9Tb1ZoWk5jUXMyU1BPcGlmRlJqK04xeXR3eDhWK2NvNklvczRTCi9uNkpY
65 eXR3bTFUbnlCN1JmTkEvb2ZyQjFZQ0lvR1kzeUZWaURiNnlJamV2WVltWGtaTnhtemo5K2hBM200
66 OFVVbWk5R01FenVXdDMKSXZhUU9FUFpMTUszQ2VsUysvUHduTmpNeCtVT3c2bzAwTkFlZis1VGJZ
67 cm50VXlFWUhsTjRjZEVmQ0w1MkorUVIzalN5SlgzaWlXcQpyNzc2NnF1cS9nSHh4eEpxZzFjRWZB
68 QUFBQUJKUlU1RXJrSmdnZz09Cg==
69 </png>
70 <latex>$$Z_{1} X_{2} X_{3} Z_{4}$$</latex>
71 <prompt_number>3</prompt_number>
72 </output>
73 </outputs>
74 </codecell>
75 <codecell>
76 <input>M1 = Z(2)*X(3)*X(4)*Z(0); M1
77 </input>
78 <language>python</language>
79 <prompt_number>4</prompt_number>
80 <collapsed>0</collapsed>
81 <outputs>
82 <output>
83 <output_type>pyout</output_type>
84 <text>Z β‹…X β‹…X β‹…Z
85 2 3 4 0</text>
86 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZvQUFBQVlDQVlBQUFCNk9PcGxBQUFBQkhOQ1NWUUlD
87 QWdJZkFoa2lBQUFBNGxKUkVGVQphSUh0MkZ1b0ZXVVVCL0RmMXBQSGtpNVVXbWszZWlzaW9oZnhJ
88 YTBzaUxDeWkxQVpkcUVNSXFtUXNxaW9TSkVvZXFnSGlTQ2pHMEVZCmxSS0JHU0ZGTnpwRUZ5Z3Fq
89 TElpNkI1azZkSFR3NW81ZS9iZWMwN3VtVy92WHZZZkJ1YWJOZk9mTmY5WjM3Zld0eGpnZjhVczdN
90 UVkKZHVFTGJNYXIyZkZ6WnJ0b0w3aVdZU1M3Znd3NzhFekJmZzUreld4NzhEbm1kK0Zyci9sVGF0
91 R0JxL0FQYnNRK2JiYkYySTJIdStSYwpuVGwwZDRudGZ1SDg3QzQ1KzhIZkN5M0dzUUdMU3E3UHhW
92 OTRDVk82NUR3S28vaXM3ZnA4ckt2QTF5LytYbWdCcHVHTmt1dkg0VWU4CmovMnFFR09qaUxyVHN2
93 RkpZcG9QVmVUck5YOHZ0WEEwem1xN2RyQ0lsSzl4V0ZWaUVSbGplQTdINGdVMUhPMERmeSsxNk1B
94 d3RvcUUKY2tKTnJxbjRScXg1bTNCSVRiNSs4NmZVb2dVTlBDdXk3aG1KT084U1VYZEhJcjUrOGZk
95 Q2kzR3NGVTR2UzhRM2hLZUVzMThKNTFPaQpsL3lwdFJqSGN1WGwwcjZxLzlGMU9CWFBaOXhuVi9h
96 dXYveTkwQUxoNEM0OFVXSzdHaGRVNEZ5RDg3UHpoY0x4RjZzNDEyZitYbWdCClRzWWYyS0t6UUlj
97 M01RUFRjWXRZRTlkanlTU2NOK0hhd3JnaGRtaWptRFBKYzZlTHFYbzdIalh4aHFNcVAvRlRicGpB
98 dHJkYTVEZ1gKSzRVbTEwejIwaVB4SFQ3RmdTWDJ5MFN0Q3ZkcWZzUVIrQVVYbGp5elZIbGlXaW1p
99 N3A0SmZKbUZQM0Y4Tmw2UDF4UHl3MEg0QkhlVwoyTHJSZ3FqWnR4YkdHM0ZlMlVzUHdFZjRBY2Uw
100 Mldiak50RXJ5UC9VeHlLaWMyelMybU1ZRmx2ZkQ4dGVsbkh1d2ZiczNuWTBSRjA4CkxSdXZidU9x
101 eXcrcjhJQk9vYnZWZ2tqQ3R4Ykd5L0Z5MlVzZkZ4R3dIZTlreHdoKzEyelk3TlFzMHVlS2dqN0h1
102 M2hRSklpMzhYZjIKekc0aFVoRVhpM28zNS8xZWJDNG13d2NpZWxQeEw4YUoyYlB0UW5lckJiRkxY
103 Rm9ZTDhLMy8vRk5YV09lbUdaSmQwb1p6c1JqV3FPbApMdWJnaXV5OFRPZ3EyS1kxTVM0VTZ6dnFO
104 M0pnSnU3REFySC9UNDNYUktJN0JROGw0R3ZnY2p5WmdLdUliU0xTYzh3UWVRdjFoZDVmClpOaEw4
105 YVhPOWF3T0xzRmJtcHVPVjBSMWNXaE4zbmtpZWE4U2ErMENVWHRmVjVOM1JDVHdISWVMNWFzMnBn
106 dG44NmJOVk9XOTRLcTQKVW12dHVsYXNtU2xtWVJGUFM3TjBMQkhOckJ3YlJBRFdScjc3S2g0clVo
107 Qm5HQmIxOHdvaHhHYVJ2RkxpZXRHRmUwL01vRHBvNEJIYwpMQUp3alVJTG9FNHZZS2FJNGlKK0U5
108 VkFTa3dSb3U5SXpFdE03eHlqK0NrQjU1Qm1OVFRBQUFNTVVBZi9BaVQyRkJhVnNBdFZBQUFBCkFF
109 bEZUa1N1UW1DQwo=
110 </png>
111 <latex>$$Z_{2} X_{3} X_{4} Z_{0}$$</latex>
112 <prompt_number>4</prompt_number>
113 </output>
114 </outputs>
115 </codecell>
116 <codecell>
117 <input>M2 = Z(3)*X(4)*X(0)*Z(1); M2
118 </input>
119 <language>python</language>
120 <prompt_number>5</prompt_number>
121 <collapsed>0</collapsed>
122 <outputs>
123 <output>
124 <output_type>pyout</output_type>
125 <text>Z β‹…X β‹…X β‹…Z
126 3 4 0 1</text>
127 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZvQUFBQVlDQVlBQUFCNk9PcGxBQUFBQkhOQ1NWUUlD
128 QWdJZkFoa2lBQUFBM1JKUkVGVQphSUh0MlZ0b0hIVVV4L0ZQVFRTWTFyVEVlaUhlU2xFRXhVdjFR
129 VlFNb2dnaVhsRXFYaWhhVlBMbUZhbElVYWdpZlJFVXRQaWlnbFFLCm9paUtLQ3Bvc1NnSVFRVEJL
130 cUtVV0MxNG9kWjZhVnJqdzVuTlRpYXpKanZ6bjlXSC9HQmg1LytmL2U2WjM1NzVuelAvWlVIL3FZ
131 N0UKUGt4aEVsL2hIYnlWdlg3SzVxNmRCMnNOeHJQenAvQUhOdWZtTDhNdjJkemYySTdSTG1KdG1w
132 L1NpMW02RlgvaFRoeGNtTHNhQi9CawpsOHhIc29BZUtwbmJLSUlmNlpMWkMzNFRYa3pyWlZ4ZU1u
133 NE9mc2RyT0toTDVuSFlqeThLNDZQWVZJSFhLMzRUWG9CRDhIN0orRXJzCndpY1lyQUxHNnlMckxz
134 eU9UeGUzZVg5Rlh0UDhKcjF3UEM0cGpBMkxUUGtXUjFVRmk4eVl3aGFzd0N0cUJOb0RmcE5lek5J
135 QXRvcUMKY2twTlZoOTJpRFh2RFJ4ZWs5ZHJma292Wm1nUlhoUlY5NkpFelBVaTZ4NU14T3NWdndr
136 dnB2V1lDSHBOSWw0L1hoREJmaTJDVDZrbQorYW05bU5ZZHl0dWxRMVgvUlRmaEFyeVVzUyt0SEYx
137 ditVMTRnUWh3RXMrWHpLM0ZOUldZaitLcTdQM0ZJdkJYcXdUWFkzNFRYb0F6CjhTdmVNN3RCaHcr
138 eEdFdHhnMmpvbjhIWXZ6RHZ3dTI1NDBYaUNXMC9qcGxuWEp0RkJxWGdIeVllUU1id09NN293SjJ2
139 RjNtdHdsTWQKZU5NNkZ0L2hjMkZrVVRlS1hoVTJhR2ZNc0xpb0swcytjNVB5d25TdnlMcUg1d3BL
140 L0tDVFdKS0l2MUU3TVpiakd3d1Z6dW5HaTliNQo2L0dtZURUdnFDRjhodTl4UW1GdUJPdkVYc0Z0
141 MmRnS25KMDdadzl1eVIwUFpCZjBhWWZ2RzhsNEU5bTVuYlFTTitNM000MnV5aC9FClhqTWZ4N2Rp
142 ZGU2NFd5L3lHak9IMGMrS0RKakF4OWxySEx1MU4yejJLVy9TUi9FbGxvbmIreVA4bVgzbWdOaUh5
143 T3M2MGUrMnVEdkYKdzBWUmZYZ2dlOTh5dWk3L1pHRlN2aVBaSXJxS0ZGN01hWFFWRFlzc2ZoY25w
144 WWFMakdsZFRER2pxK3A4a2RGNVBZZW5FN0RwWUhUZApqWnlmUlRWZWl3OUVJVWlsVlNLamRpVmtF
145 dXZ4VkdGc3NiaVd4bFRINkxlMUsvME8vSUM3YTBmVTFtcFI5ZGVKWWplQWUzQldUZTVPClVVL3kz
146 Y0xSNGhyK2w5cUc4N0wzL2FJTnVyK2g3MW91c2pERjBrRnNiYmEyUG9kRWtwUjFGbFZVdW5UMDFR
147 Q080d3FjaVB2RTByRkIKRkpxVU9sWDB2T2VLSDNRQ1A5WmtiaE14THhGdDJoT2l5NmlqcGVJT3Z4
148 Nm5pV0s3VjdiMHBkZ0xHQlIvSHhYWHZWUWFOTFBIM1oxOQpYd29OaUoyK0ZPckRFWVd4UFdZWDNn
149 VXRhRUVMbXEvK0FTMkNFZmVpa09YakFBQUFBRWxGVGtTdVFtQ0MK
150 </png>
151 <latex>$$Z_{3} X_{4} X_{0} Z_{1}$$</latex>
152 <prompt_number>5</prompt_number>
153 </output>
154 </outputs>
155 </codecell>
156 <codecell>
157 <input>M3 = Z(4)*X(0)*X(1)*Z(2); M3
158 </input>
159 <language>python</language>
160 <prompt_number>6</prompt_number>
161 <collapsed>0</collapsed>
162 <outputs>
163 <output>
164 <output_type>pyout</output_type>
165 <text>Z β‹…X β‹…X β‹…Z
166 4 0 1 2</text>
167 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZvQUFBQVlDQVlBQUFCNk9PcGxBQUFBQkhOQ1NWUUlD
168 QWdJZkFoa2lBQUFBMkJKUkVGVQphSUh0MkYyb1psTVlCL0RmbURPT1lUZ2lUTWZId1pTTHVaQTBr
169 Z3VUU0EzSlIrUEs2QlROaUpxY0tXRW01SXhHY2pFcE53ZEpTb1NKCmlLSVFUY3FVbWpRMVJVTytC
170 bzBNSVYvejRiaDQxbnZPUHUvWisrVGRlKzNYaGZPdlhYdXRaNi8vZXZaL1AzdXRaejNNNHovRnlU
171 aUEKU1J6RUhyeUZOOU8xUDlsVy93dXVVZXhNejAvaUR6eGJzRitKbjVMdGIzeUNsVDM0MmpaL1Rp
172 MW00U2I4aFRFczZySmRpOE40dEVmTwpMY21oKzB0c0R3dm5oM3ZrN0FkL0cxcE00U1ZjVmRKL0lY
173 N0hxemlpUjg3VGNRZ2ZkL1d2eEVRTnZuN3h0NkVGT0JMdmxmU2ZqWDM0CkVFZlhJY1pySXVvdVNl
174 MXp4VzgrVUpPdmJmNDJ0WEFHTHUvcU8wRkV5aGM0cFM2eGlJeEpQSTh6OGJJR2p2YUJ2MDB0Wm1F
175 UTI4V0cKc3J3aDEwSjhKZGE4MTNGaVE3NSs4K2ZVWWdZVzREbXg2MTZhaWZNK0VYWDNaT0xyRjM4
176 YldremhJZUgwYUNhK0FUd2puUDFNT0o4VApiZkxuMW1JS3R5aFBseGFyLzBVbmNERzJKZTVWdGIz
177 ckwzOGJXaUFjUElpblMydzM0N29hbkEvaW1uUi9tWEQ4bFRyTzlabS9EUzNBCmVmZ0Y3NWlkb01Q
178 N09LYXJiN2w0MFNwc3dMcENlNEU0b1IzQ3FYT01XNEZOYWZ4bTFmbHFYZjQ3elMxVXIxcU00bDQ4
179 bnZ5dXpLOVAKd3pmWWphRVMrdzBpVnkxaUVkN0ZreFdjYTVSdlRIZUlxQnV2R0hjc1BzVlJxVDJP
180 QnpMeHIwcjlYK1BHaXZsNzFXSTFya2ozQTlpQgpyV1hFeDJFWHZzTklsMjBZRzBXdFlHMlhiVDN1
181 Tmx2b1FYSDAvYWppUllZVDM5NzBiRGZHOEdLaGZiNTQ4Vno4UkVTV0NWMUhpd2x4ClN1eGdJNzRz
182 bS9RcEVRRjd4ZGZZSVlvMVA1c3UyQnd3TTBtL1NLeUhhMDBMdlJnZjRNODA1ckNvUXhSeHZjaDNP
183 N3pmaXNORkVSTjQKcE5CZW1wNGR5Y1JQdGRCMXREZ0xGeFRhVzlPNHhsaUMyOU45VWVoYzJHYm11
184 ajhrWHZDY2pITlVDZDBVeDR1L1lhcEsyS1NRc3c1UApOUFZvRG53dWhPMmdzK244Mk9LY09iQVFq
185 NG1NWkh1bnM2N1FJeUxUMkNEV29xdEZBZWV1Wmo3T3dFNVJDKzVncWFpVy9aQnhqall3Ckx2YU9O
186 OHhlM3h0amkveEx4ekpSdk9rRXd5WVZ1M2dENUY0NmJoTnJOWkZpYnM3SWJZMkl2ajNpQkpVVDYw
187 VjAzQ3FLNjdtS1JDdEUKcHJRZmI2ZDVtbFlSeDB4dmxKM3JoWTR4UnkzZ0pMRXVTZVQ3TW5CMlkx
188 QlU1SEpoU2JxSytGNmtiSFV4SkRLdUluN0RydzA0NXpHUAplZnkvOFE4S29RMjJ6LzN3eXdBQUFB
189 QkpSVTVFcmtKZ2dnPT0K
190 </png>
191 <latex>$$Z_{4} X_{0} X_{1} Z_{2}$$</latex>
192 <prompt_number>6</prompt_number>
193 </output>
194 </outputs>
195 </codecell>
196 <markdowncell>
197 <source>These operators should mutually commute.</source>
198 </markdowncell>
199 <codecell>
200 <input>gate_simp(Commutator(M0,M1).doit())
201 </input>
202 <language>python</language>
203 <prompt_number>7</prompt_number>
204 <collapsed>0</collapsed>
205 <outputs>
206 <output>
207 <output_type>pyout</output_type>
208 <text>0</text>
209 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVNDQVlBQUFCdnFUOE1BQUFBQkhOQ1NWUUlD
210 QWdJZkFoa2lBQUFBTjFKUkVGVQpLSkhOMGkxTFJGRVF4dkdmN2k2THJHRTNhZENvVWJBWkJUK0d6
211 V0FUaTlWbTIyRDNROWd0WnFObzhXWE5naTlCVUhCZFVNTzlGOGJECmxHMU9PY3d6OHo5emVNNHda
212 Y3dVK1JLR2VNUWJPampHYXdhM01NSnUwSTV3aHRrTTJNWVl2YUN0NEFjN0dYQ0o4MFIvd0dtVE5L
213 UGEKV01OOUFveXdXUUlMS2dQZUUrQURBM1Fqc0JpS0dRRDlDSXpyOHpzQk9ySFdBTGY0U3BxcFhK
214 dmdKUUlUM05SdkxXTWVUeXA3LzN6SQpGWmFMNWhiV2NaMk5QbEN0d0Z6UU51cWJ0ekpnZ0R2c0Jl
215 MEVGN0dwWEw1VkhPS3p6bnZZeDNNMjRaL0VMOVhvS0JOSStWMHhBQUFBCkFFbEZUa1N1UW1DQwo=
216 </png>
217 <latex>$$0$$</latex>
218 <prompt_number>7</prompt_number>
219 </output>
220 </outputs>
221 </codecell>
222 <markdowncell>
223 <source>And square to the identity.</source>
224 </markdowncell>
225 <codecell>
226 <input>for o in [M0,M1,M2,M3]:
227 display(gate_simp(o*o))
228 </input>
229 <language>python</language>
230 <prompt_number>8</prompt_number>
231 <collapsed>0</collapsed>
232 <outputs>
233 <output>
234 <output_type>display_data</output_type>
235 <text>1</text>
236 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQVNDQVlBQUFDTmRTUjFBQUFBQkhOQ1NWUUlD
237 QWdJZkFoa2lBQUFBR0JKUkVGVQpLSkh0MGJFTlFHQVFodUVuV3AxQ1pRRmJxRXhoT0kxQnRFYkFC
238 Z29qL0FvS2tjZ2ZDWjIzdVV2dXZjdVhIQzlRWUk1SktXcU1DTmRoCmN1cExkS2l3UEluUnhpNUgr
239 ZVhYNWV5bytkMWlqaDZUL1hzQkt3WTBUeEo4ekFaQmNneThUWnFOVGdBQUFBQkpSVTVFcmtKZ2dn
240 PT0K
241 </png>
242 <latex>$$1$$</latex>
243 </output>
244 <output>
245 <output_type>display_data</output_type>
246 <text>1</text>
247 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQVNDQVlBQUFDTmRTUjFBQUFBQkhOQ1NWUUlD
248 QWdJZkFoa2lBQUFBR0JKUkVGVQpLSkh0MGJFTlFHQVFodUVuV3AxQ1pRRmJxRXhoT0kxQnRFYkFC
249 Z29qL0FvS2tjZ2ZDWjIzdVV2dXZjdVhIQzlRWUk1SktXcU1DTmRoCmN1cExkS2l3UEluUnhpNUgr
250 ZVhYNWV5bytkMWlqaDZUL1hzQkt3WTBUeEo4ekFaQmNneThUWnFOVGdBQUFBQkpSVTVFcmtKZ2dn
251 PT0K
252 </png>
253 <latex>$$1$$</latex>
254 </output>
255 <output>
256 <output_type>display_data</output_type>
257 <text>1</text>
258 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQVNDQVlBQUFDTmRTUjFBQUFBQkhOQ1NWUUlD
259 QWdJZkFoa2lBQUFBR0JKUkVGVQpLSkh0MGJFTlFHQVFodUVuV3AxQ1pRRmJxRXhoT0kxQnRFYkFC
260 Z29qL0FvS2tjZ2ZDWjIzdVV2dXZjdVhIQzlRWUk1SktXcU1DTmRoCmN1cExkS2l3UEluUnhpNUgr
261 ZVhYNWV5bytkMWlqaDZUL1hzQkt3WTBUeEo4ekFaQmNneThUWnFOVGdBQUFBQkpSVTVFcmtKZ2dn
262 PT0K
263 </png>
264 <latex>$$1$$</latex>
265 </output>
266 <output>
267 <output_type>display_data</output_type>
268 <text>1</text>
269 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQVNDQVlBQUFDTmRTUjFBQUFBQkhOQ1NWUUlD
270 QWdJZkFoa2lBQUFBR0JKUkVGVQpLSkh0MGJFTlFHQVFodUVuV3AxQ1pRRmJxRXhoT0kxQnRFYkFC
271 Z29qL0FvS2tjZ2ZDWjIzdVV2dXZjdVhIQzlRWUk1SktXcU1DTmRoCmN1cExkS2l3UEluUnhpNUgr
272 ZVhYNWV5bytkMWlqaDZUL1hzQkt3WTBUeEo4ekFaQmNneThUWnFOVGdBQUFBQkpSVTVFcmtKZ2dn
273 PT0K
274 </png>
275 <latex>$$1$$</latex>
276 </output>
277 </outputs>
278 </codecell>
279 <markdowncell>
280 <source>&lt;h2&gt;Codewords&lt;/h2&gt;</source>
281 </markdowncell>
282 <codecell>
283 <input>zero = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(0, 5); zero
284 </input>
285 <language>python</language>
286 <prompt_number>9</prompt_number>
287 <collapsed>0</collapsed>
288 <outputs>
289 <output>
290 <output_type>pyout</output_type>
291 <text>βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…β˜0⟩
292 ⎝ 1 2 3 4⎠ ⎝ 2 3 4 0⎠ ⎝ 3 4 0 1⎠ ⎝ 4 0 1 2⎠
293 ───────────────────────────────────────────────────────────────────────────
294 4</text>
295 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWo0QUFBQWlDQVlBQUFCZnVkTmxBQUFBQkhOQ1NWUUlD
296 QWdJZkFoa2lBQUFDcmxKUkVGVQplSnp0blh2TVhFVVp4bjhmdmRHVzBndkZwbzFXeEZwYUM2VVFS
297 TlNLRmJEU2lJcEdCU3VsSDFxVldJdEVwQnFpOFZJUlJVV05vaVVCClk3eUxZb29VcFdnVVJSc0Zi
298 Mzlvb1lLZ1RSR05pTlZTTDZEV1A5NDkrV2JuWFBaY1p2YjJQYjlrMDYrejU3dzdPOCt6cysvT21a
299 a0QKUWdnaGhCQWl4V3hnWXE4cklZUVFRZ2dSa3luQXFjQjl3Rkc5cllvUVFnZ2hSSDBPS1hITU9j
300 QU00RW1SNnlLRUVFSUkwVGNjUkNNKwpRZ2doaEJoZ3lvejRDQ0dFRUVJTUJVcDhoQkJDQ0RHTW5K
301 MVYyRStydENZRFZ3Q1hkUGwxWHdhTWRqam1IOWhjcDRNbDRvMEExd05UCnZmSlBBTGUwL3Q0S1BO
302 NTU3cy9BQlQyT25SQzZQZXJTS3orQVBPRWpUNFJ0ZzlpYXlSUGRRWjRZSTdZZkpnTm5BTi8weW84
303 RjFnTC8KQTNZRE53TVBPOC8vSFhndThMMGFyd21FbStQenJJeXlRNEViZ1VjQ3hLL0tkekZCTmdN
304 cmdTT3hoSEFpc0FWNzM2TVZZMDREVmdHUAp0UjRuWU1aTE9CSTRBTnlFaVRLelQySkQ4L1pZV2ZI
305 MStzMFBJRS80eUJQaFBSRmJNM2tpUHZMRUdDSGFvc2dUaHdGdjhjcFdBWHVCCnhhMy9yd0h1QjQ3
306 d2p0dlM0WFZ6R2NFcTNuUmwxMW5BaGM3L2wySVozRTdnQVpvWmVFS05jMllDZndDV1pUeTNIbnZQ
307 NzJsUXB4dGEKTVZaNzVhOEQzdDRnYnF6WUlkcmpBdUM4a3E4WDB3OGdUNFNJTFUvRTlVUk1QOFNL
308 TDAvSUV5NmgycUxJRTFtSnorM0FSN3l5bmNBMgpyMndqTUsvRTY3ZXhIdmcwOEZQZ3k4REZWUU8w
309 V0FGYzU1VWRDa3hxL2YwMTZodDRHWEJsamZQT0FkNlJVWDQ2OENqd3VacjFTVmlOCmlYNkRVL1lT
310 NEgwTjQ4YUtIYW85ZGdDbmRUZ21waDlBbmdnVlc1Nkk2NG1ZZm9nVlg1NlFKMXhDdGtXZUovekVa
311 eVgySHA3dkhmZE8KNEwvWWhzc0pzNEUzVjZoRFVHNmxlTVNvaVlGWEFCK3RjZDc3YVc4Z3NBL0NQ
312 dXlhNE9TYTlVa1lBZTdGaGhYbll4dEJYa1A3OEdJLwp4UTdWSG91QmV5aitKUlhURHlCUHlCTnAr
313 dEVUTWYwUUs3NDhJVSs0aEd5TFBFLzRpYzhWV09Jenh6dHVUYXY4cFY3NXUrbkJZcTR6Ck1JTVcw
314 WXZFeDJjKzhIdmdMdEpDMXVXdG1CQ2ZCNzVFMkFubE1XTkRzL2I0TURrejZvbnZCNUFuNUlrMC9l
315 cUoySnJKRS9uSUUrSGoKTjIyTExFLzRpYzluc1BwUDhvNTdkcXQ4czFkK0N2RENHblZweERYQXF6
316 c2MwK3ZFNXpEZ1o4Q2ZDTHRMOWVPdzRiNS9BWWNIakJzNwpkdFAyT0JjYnRzd2l0aDlBbnBBbjB2
317 U3JKMkpxRmp1K1BDRlB1SVJvaXl4UCtJblBMY0MvTTg0OUVVdDhzaTdiWFo3OGtRejlISXp3CmNG
318 a0QvRER2WGZZQkU0Q3ZBRXV3clBEK2dMSC9neTBMVE81NUZwSllzVU8weDI3Z2VkajFlSjkrOXdQ
319 SUV6N3lSRHhQeFBSRHpQankKaER6aEVxb3RpanlSTUJXN1ZPZVQ1QjVUdlBKcFdKTFhOZVpnazQw
320 NlhUL3M1WWpQVnF5Ty92RGFBcHBkVjUwS2ZCVllod2x5YzROWQozWXdkb2oybVlYc3JMUGJLdStF
321 SGtDZmtpVFQ5NkltWW1zV09MMC9JRXk2aDJpTExFLzZJejFheWRVOG1QYi9OS3g4Rm5sS2hEbzFa
322 CkN2eTF4SEZsREh3S2NHM0c0K3ZBcjNLZXU2aER6T1JhNTVzeW52c2k2V3VJWlptSXpXWS9ydlgv
323 WDJPbWVHTE5lTjJLSGJJOTltQ1oKdTB0SVA0QTgwWTNZOGtRY1Q4VFVMSFo4ZVVLZWNBbmRGcjRu
324 L01UbkRkaUlqejloT1ZteHR0NHJEN1VpcmpUUEJCNHNjVndaQTg4QQpUc3A0ck1VYU4rdTVvd3Jp
325 dlFMTExEK1c4ZHlUc1lsZldjeW04MlN3VDlJK2hIZ1JKc2psMllkektyYUh3a1pzY2xqSTJHRDdH
326 S3pECnpQTWlzalB3dXUxeEp1bGZiR0I3S3F6enlrTDZBWHJ2aVppNmxkR3NibXlmUEEycnRNY3h3
327 QWFzN2FmbHZNNndlNklmTkdzU3Y0eUcKZGZxSm9qNXoyRDNoMGl2Tm1zU0hZdjFpOUptK0ovekVK
328 NW5FN0orL3NWVyt5aWs3a2ZRcXIrZ3N3UnFsa3lEZHZ0UzFFcnZtdDQzcwpaVzVYWS9zVHVDVFhR
329 KytqK0VQeFhteGZCSmRaMks2WUQ1TE9mdGRqd294Z3c0UjdnYWNHaWcwd0hmZzV0cHZtWk9ENzJN
330 eDVsenJ0CkFkYlIvNUYyb3lVOGdHMCs1dElOUDBCM1BCRlR0ekthMVkzdGs2ZGhsZllZQlQ2RmRZ
331 NW5ZYnUvWnAwenpKN29CODJheEIrbHM0WlYKUHlObCtzeGg5b1JMcnpSckVyK1Rmckg2VE44VGZ1
332 SXpFMHR3L0pWYTI0Qzd2YnE4aXg3Y25tc1dWc0VWSFk3clp1S3pHSGdJdUlQMApCMnNFK0JBMlk5
333 eWY3WDQrOEFMeWI5OHhCZmc0Y0ZuTzYxN1hPdmZsWHZrUGFOOUY4MGZBVllGaWcybHdMVGFUSCt3
334 RHNNdDV2bTU3CjBLclA3YVEvekROYTlUazVveTZ4L1FEZDhVUk0zVHBwMWlTMlQ1YUdWZHBqSXZB
335 NzJuZHV2WWYwYlFhRzNSTzkxcXhKL0RJYTF2bU0KZE9vemg5MFRMcjNRckVsOEtOWXZWcCtaNVlt
336 c25adHZCTDdsSGJPUDl2dUxIUTVjNnAxWE9RczZFOHY4ZmxQaG5IM1ltdjVqZ0Y5Ngp6ODNCaHVp
337 ZWdHVjNVNEJ2QUhjQzI0RmZWS3hmR1daZzI1MGZnZTFma096b09CZjdsYkVNdTFIYkR1d0daeTZm
338 elluNWRNd2dxNEZGCldOMFhZTnQ0SjJ3Q250SDYrNnJXNjJ6SGRzVDJsKzc5a3pHek5JME5wc0VH
339 NS9qbGpFMW9hOUllYTdGWi9QN1c1N1RPZlJTN2h1elMKYjM2QSttMFFVN2NpelVKNElpRkx3NnJ0
340 Y1RTd2tQWXYrVjNBYzdDT0xXSFlQZEZMelpyR1gwaXhoblUvSTNsOVpzS3dleUtoRjVxRgo4Rnll
341 ZmpINnpJUThUL2ljaDMyK3ZvRGRnSFVqdGh1MWUybnRsYTM2dFZFbDhabUhiUnAwTHRVU0g3Q3Ni
342 RWxHK1dPWVVMdElOOGpmCktyNUdGZkp1dS9FZDUrKzdLOFI3R0h1UFNmWjVrUFN2a0x0SWI2cjBV
343 T3RmOS9ycWZDelRUZTZaMGpTMnk4blloMkkzN2RsL25mWlkKaEMySi9HM091VXV3N1A1QXhuUDk1
344 Z2VvMXdiZDBDMUxzMUN4aXpTczBoNExNSjNkYlN6Mlk1ZDhYTWFESjZBM21qV05YMGJEMFAwbQpq
345 QTlQOUVxemtOOGRXWVR1TXhPeVBQRUk2U1JzUDNZWmJpNldhSTNTbnRTQkpVWjdjK3BaaXJ4aHVq
346 S2NobTA0Rkl2alNkK3NMQ1o1Cnc3Wk5PUVJiWmZDcUNMSEJNdXVsMkFmQlgwVlJoUW0wRHgvZVJ0
347 b1hWd092elRrL3RoK2d1NTZJcVZzb3pYekthRmlXNDdCZjZDN1gKQXgvd3lzYUxKd1pCTTUreUd0
348 WWxyODhjZGs4TXNtWXVvYi96aXZyTUlrOTBsYlhZN096YnFDL2FyZGdxaHhoTXhvYjh1a1dzeEdj
349 TAp0azE3YUpZRGx6ai9meU0yL0ZpMFFWUVJtN0I5RWphMEhydUJEeksyV3VCNGJJbG8wWWhpVEQ5
350 QWR6MFJRN2ZRbXZsMDByQUtFN0ZmCjJ1NkV3aDIwTHdjZUQ1NFlKTTE4eW1qWWhLdytjeng0WXBB
351 MWN3bjluWmZYWjVieFJGZFloQzFYZzJhSno3R1k2REcyMys0Mk1SS2YKQzdHT015RTFJYXNCbDJI
352 YmlDZHN4b1lPTzYyWXlHTTZOcnlZUFBZQUw4WW1sMDBBZm9KTmlDdGlXUHdRUzdmUW12a1VhVmlI
353 T3hpYgpaRGtKK0F0ankzYkhpeWNHVFRPZklnMmI0dmVaNDhVVGc2eVpTOGp2dkx3K3M2d25vaE42
354 bU81MDhwZDNEZ29qbUFsQzNydnBZcXpECjNOWjZiQ2Q5M2JVSkM3SGgzS1hBQ2Rqa3Y5Y0hpRHNG
355 bTBDM0QvdFZNdzk3TDY4cGVmNmcreUdtYnJFMDg4blNzQTVuWTVNMzUySy8KNXE1MG5oc3ZuaGcw
356 elh5S05HeENWcDg1WGp5Uk1HaWF1WVQ4eml2cU02dDRvaEdkdHBIZWhHV3N5V1NuUzdIWjh6ZGhr
357 NC9xY0JMcApWUXFEd25wczB1Snk0RjdneDRTNXMrLzVwSDhWZnB2OGljTjFtSXB0K2pRTHEvZWVB
358 REhuMGo1Y21kVDN6Z294QnRrUHNYV0xvWmxQCmxvWlY5SE01R3Rzc2JDZnRrd3lmVmpIbUlIdGkw
359 RFR6eWRPd0xubDk1bmp5QkF5V1ppNmh2L09LK3N5cW5vaEc3R0U2SVlRUVFvaXUKa2JmRFk4SUJi
360 TFJuUHphNU9WbXRNRDF5dllRUVFnZ2hnbFAyanFreGgrbUVFRUlJSVlRUVFnZ2hoQkJDQ0NHRUVF
361 SUlJWVFRUWdnaApoQkNDL3dQUzc3eGZYVmtEVFFBQUFBQkpSVTVFcmtKZ2dnPT0K
362 </png>
363 <latex>$$\frac{1}{4} \left(1 + Z_{1} X_{2} X_{3} Z_{4}\right) \left(1 + Z_{2} X_{3} X_{4} Z_{0}\right) \left(1 + Z_{3} X_{4} X_{0} Z_{1}\right) \left(1 + Z_{4} X_{0} X_{1} Z_{2}\right) {\left|0\right\rangle }$$</latex>
364 <prompt_number>9</prompt_number>
365 </output>
366 </outputs>
367 </codecell>
368 <codecell>
369 <input>qapply(4*zero)
370 </input>
371 <language>python</language>
372 <prompt_number>10</prompt_number>
373 <collapsed>0</collapsed>
374 <outputs>
375 <output>
376 <output_type>pyout</output_type>
377 <text>❘0⟩ + ❘3⟩ - ❘5⟩ + ❘6⟩ - ❘9⟩ - ❘10⟩ + ❘12⟩ - ❘15⟩ + ❘17⟩ - ❘18⟩ - ❘20⟩ - ❘23⟩ +
378 ❘24⟩ - ❘27⟩ - ❘29⟩ - ❘30⟩</text>
379 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXFjQUFBQVZDQVlBQUFCN2VFZFRBQUFBQkhOQ1NWUUlD
380 QWdJZkFoa2lBQUFDelJKUkVGVQplSnp0blh1d1ZWVWR4ejhnSUFvQlJpYWEwQzFTZTJpalpCZ0tv
381 eW5UT0lKS2oxSFR0RnRwTHdldEZDbFNTQWN4TU1zYWUxR1RWRVpUClVxbVpRbHFUcGhtcGpaaTlS
382 cFFiVHZSd2tDQXVrd2phSDcrMU91dXN1L1krYTU5Nzl0Ni9RK3N6YzJiZnMvYTYrMzUvdi9QNzdi
383 WFAKZWwxSUpCS0pSQ0tSU0NUMkFENWV0NEFXYU5LblNVc0lUZm8wYVltbEd6WDdkS01OM2FnNVJE
384 ZmFrVFJYUXpkcUR0R05kaVRONVpPcApkNWp6ODluQVBjQmZnWEhBZFVBLzhBd3dFbGdPUE9uVTd3
385 ZGVDdnl6dzJKRHVOb0E5Z1l1TjM5L0hEQVIrQ3J3elFyMCtWcVdBa2NDCks0RTdnUm1tVGg5d1Nj
386 bGFZdlJaVGdiT054cjZnWFhBVFNYckMybVpCcHdGREFYK0Eyd0NQZzg4WDRNV3kxUWszbWNFem1u
387 UEJVdWUKRFllWWN5T0IvWUMxd0pYQTAwNmRNbTFvUjNPMzVCWGsyN0VKK0NNU096dUI1NXh6THdB
388 WG9DL21BYzRERGdmMkJjWUFQNlZ4djREcQpOTWZFTHRTYnArMXFyck1kQzlHdUhTRldBRDhBZm16
389 ZWEvTzlwcndzNG1jTjdXZE0zRUlIYzdJWDZERS8zdzBzODg0OWh0eW9MT09CCmo3YTJxU1AwMHRB
390 R0V2RFRuUGVuSXdIMVNhZXNMSDIrbHV2TjMzWmZOeU1mUk5sYVF2VFNyQThrc081REFoOWdEckFW
391 T01pOHI4cFgKYndMK0FiekdLZnN1emQrZXF0SmkvOVlaU09JOGx2Rjcybk9obFEwdkIzNE52Tks4
392 SHdNOENQelpuSE92VTVZTnZSVFRETjJSVjYzcwpPSUNCTnJpdjd6algwUlR6bHdMbk91K0hJUStt
393 VmVkcGJPeEN2WG5hUzN1YTYyekhRdlRTbmgwK2IwYnNlSWRUcHNuM212S3lpSisxCnRKOHhjUXVE
394 ek1taGdiSmpnSk9BRzUyeTd3R1RrYWRseTJia1lTZDBqVlljQW94dTQvY0FYZ0hNQnVZNlphdVJi
395 eEVmNkpDK290d0UKckVLK0pjd0N6alI2T3FGbE1MNENtQUI4QmpnSDJHTEtSZ0hiZ0wwNm9LOElO
396 d01QSU45WUxiY0FWOUZJeEtxMG5BeDhCWGcxOHFBZQpRbnN1eE5pd0dMaUN4cmZWYmNEN2dFT0Jo
397 VTQ5VFg2M2FNNnJHRHRlQzh3RDlnR0dJL2syeEx4ZkRWeG82bW55L1JEZ3ZjQzNuYkpkCndIemdn
398 MDVaRlpwalk3ZUtQSTBsVm5NVjdkaGdZanpXRHA4UkdlYzErVjVUWGhieHM0YjJNelp1TzVxVHZj
399 aVQ4U3BnWStEOEd1QlIKcit4WTRKUzhpMmF3R0poZW9MN1ZCakFXK1ZheDFEbS9GL0JzQi9YRmFn
400 SHA0VGt5NHZmcThCVTBENjNrVWJhdkRrTytYUzN6Nmh4dQp5dDlmb1JhZmh3ajNJbW5QQlpjc0c1
401 NEVuZ0JlNHBWdlFZYklYY3J3T3hUWERQcnp5aVhMamd1UitQYTVEampSSzlNUzg1T1FmSHk3ClYz
402 NGcwcEM0alVqWm1tTmp0NG84emFPWDRwcXJhTWNHRStORjdoc3VDNEIzTWJEbkZQVDRYbE5leG1y
403 VzBuN0d4dTJnY3pMMHRQb0cKNFBGQStYcmdDS1FiMXZJcmMrRXEyWXA4VVBPZHNpbklON1pWWHQw
404 NjlHVlJoNVlSd0tuSU1FRXJ5dFpuaHlLZTljbzNtT01KRldxSgpSWHN1eFBBNGNERHdJcTk4QjNK
405 RGRPOEJXbTNJUTdQbUx6THdBZkFFYy95NVY2N0ZqbzNJUExZYmtKNFBTeS93TFJwejI2Qjh6Ykd4
406 CnF5bFBZelZyYjhlSzNEY3NyMEpHNVI3SnVLWVczMnZLeTFqTld0clAyTGdkZEU2R0F1d0FZSHVn
407 dk44Y0ozamxHMms5QjZWTVJnTkwKa0M3dnF3UG5xOUEzSFJrNlg0SjBZNStWVWE5cVg3ME9HYlo0
408 R3VseVh3TGNDbHlMQkpOUG1mcnNEY3RQd2dQTmNXS0ZXbUxwdGx3SQpjUXJpNHcxTzJYaGt2dkdE
409 TkQ5c2dDNGJ0T1pWdXd4SEZpK0U3bE9neDQ2TGtVVUtkeU1MSGVZanczbnpBblhMMUJ3YnU1cnl0
410 R2krCldUUzBZeTd0MlBFSjRKb1cxOVhvK3pyek1sYXoxdll6SzI0SG5aUCt3K2xZWk41RlB3T3ha
411 ZU84OHR1Uk9RaFZNd240RkxLSzlGL0kKUEtuZGdYcGw2OXVOZEt0ZmlneHBYQXg4QVhockRWcDg3
412 TERvYWNpazZ3WEk1T1ZKd0U4QzljdlUxd2Y4SHBudjVuS2NPWTczeXV1SwpLMHMzNVVJZXU1SEZM
413 eTRmTXNjbGdmcGFiTkNjVisweUYrbE44RDhQaXhZN1ZpSHplNTlIaGd2bkkxT0RkZ1hxbHFrNUpu
414 YTE1V25SCmZOUFNqdmtVdGVPZGlNYlFBNG1MSnQ5YjZzekxXTTE5NkdvLzgrSzJJem5wUDV3K2g5
415 eVFRdDh3aHB1amYyNDI0UWVkc3RtSU9PZFkKWkI3RFU4QWJBL1hLMWpjUEdTYXdiRU8yVkZpQmJM
416 bFFwUmFmTWVab3Q0NnlMQWRtQW0vejZwZXRidzR5QkdDSEN5Y2hQVEl3Y0lGRwpYWEZsNmFaY0tN
417 SkVaQ3VtendKM0JjNXJzVUZ6WHJYRE1PQWppUDRzdE5oeEVETG5kQll5bEw4ZmNCdnc0VURkS2pX
418 SFlsZDducmJLCk55M3RXQ3Z5N0JpTHJORC9VY1IxTlBrZTlPVmxubVpON1dkZTNIWWtKLzJIMHgw
419 MDcwSGxNc29jLythVjk1QS9RYm9Ldm80MFhxdVIKUkhIcG9WeDlvUTlnRS9KZ09LVmlMVDZiemRH
420 ZkEvU1VPYzd5eW5zb1Y5OTZaSC9GbzREUEliMWdYelBuL0RsQVpXdHBSYmZtUWg3RAprVzFTVnRM
421 WUs5U25CeDAyYU02cmRqZ1ZHY3BhblZPbmgvcnQyQWVaQTNZMW92WGR5Q3IvamNnODFHTzgrajFV
422 b3prcmRqWG5hVXkrCnVkVFpqdVhSeW83THlSNFM5K2xCbCs4MTVXVXJ6VnJiVHo5dU81S1R3eGpJ
423 b3pUMnczU3hXMUw4M1NtYmh0eklzbGdHdkNWUVBnRVoKTmdwMSt5NEE3c2k1NXQ3SWZsLzMwenpN
424 dEE0SnRKbklDdlU4ZmJOcDNzNmdGYmNTbmtzekM1bVRkVHJ3c0tjUlpEdUlCMXBvc1pUaApLN3Rh
425 Ym90WGJxL2x6bE1KNmV1VW4xejZrSG1FbGtQTjhYYzFhR21GOWx3b3lwZVJWZG9meXpoZmRyN0Vv
426 ajJ2Mm1FMmNnTVBEWTJECkh0K2ZablM0amQwYTRHamd0OGc5ZHEwcHIxSnpYdXdPTmsvTDhuR2U1
427 azYwWTVheVl6elBqcW5JM3B0L2liaU9GdC83Zjc5b1h0YXAKdVk5NjI4L1l1TzFrMi9tL3JRSVdN
428 WENwUDBqdm03LzY2aXJhMjA5ck1GdGNmSVB3aHE5M21YSjMwVVM3K21LMVhJWWsvbkZlblpWRwpp
429 N3RaYmgyK0dvSE1BVnJrMVpsczlGM2JBWDJ4V3JLNEFOa2piWEtOV3JLMjFkR2VDeTU1MnpLQmJO
430 UzgxQ3M3RDluZnoxS0czNkc0Clp1MTU1ZFBLOXlBTEhySjZFMEJQekM5SGh1dENMRVlXamxpcTB0
431 d3FkcXZJMHp4NkthNjVpbmFzRXpIZXlvNHJrZm1DdHppdmV4RWIKZm1QZUgyM3Fhdkc5aTVhOExL
432 TFpwZXIyTXpadUI1MlRJUVBXSVp2VVRuTEs5Z2RlVC9NVCs0dVJIcm1zRlhCbHNkbjhYWGQ3cENI
433 SQpmSWRkTkxybnE5QjNML0loM08rVlQwRytTZHJOY3V2eTFVN2tYejhlNVpVZlpvNC9NOGVxOUsx
434 ZzREeWFNNUZ2YUU5VXJDVUc3YmtRCnl4bUk3dmxlK2ZISURRVjAyYUE5cjRveURGbUp1aTNqdkNZ
435 N2ZrSDJ2elNkU1dOZVdGV2FZMkpYVzU3R2FOYlVqbVVSWThjaXBGZHUKanZPeWUzRXVNKzhmUXBm
436 dkxWcnlNbGJ6Q3VwdlAyUGpkdEE1R1JyV3Z3UHBZcjBFV1NFTDhCNWtqc0FLcDk3WlNFOUcxZHlJ
437 N0pObAp1N0dIQWhjaFd5ek1SVmFPUVRYNjFpTGZibVlBdnpSbEp5RU9kemZ6cmN0WElKL2h3OGpL
438 L1VlUVFMb0k2UUd4Z1ZTVnZtMDB1dldICklERjJNUEJwcDA3VnZocU94TTVJODNML0E1SDJYTERr
439 MlRBTkdTNjZrK2IvalQ2QzVuOEZxc252M1pCWGxqdzdMUHNqOGY3dmpHdG8KOHYxdHlDYmxDMmlz
440 Rmg2Qi9OZWE5VFQyZ2F4Q2MyenNhc3JUV00yYTJyRVFzWGFFR09NZFFaZnZMUnJ5c29obURlMW5i
441 TndPT2lmZApoOU1kU0UvYlRtUVY5eExFV1ZzUkJ4eFA4d2F3bzVHNUpsVmd0UUg4QVRnZkdYb2Fo
442 ZXp6MVkvTVQ3dTlBbjJ1bGhlUWxYNExrVzd2Cm9VZ0FuVWp6a0ZsZHZnSlpSREliQ2FCOXpiazFO
443 QS9QVmVFcmtFbnpDNUhnN0VHR1U2WlRUVno1V3FZaUt5SjdnSmVac2czbWRSbHcKSC9wekljYUc3
444 eU1QZGVjRXJuVzk4M09aTmhUVjNBMTVGV09INVJuZ1QyVFA4ZE1VODl1UkRiMnZBSDVvZm44MGNB
445 OXdMbzJlbkNvMAp4OFp1M1huYWp1YTYyN0VRN2RqaGNnVHdKUm9MRm05QUhram1vc3YzRmcxNVdV
446 U3podmF6ajdpNHJUc24yNmJvWEpqL1o1S3Y5bXpTCjUxc1B5ZStKUFowVTQ0bXVwWXpGRHpGc1I1
447 N0VFNjFKdnRxelNaOXZQU1MvSi9aMFVvd25Fb2xFSXBGSUpCS0pSQ0tSU0NRU2lVUWkKa1Vna0Vv
448 bEVJcEZJSkRyTmZ3R2ZvaEMzKzZRWnVBQUFBQUJKUlU1RXJrSmdnZz09Cg==
449 </png>
450 <latex>$${\left|0\right\rangle } + {\left|3\right\rangle } - {\left|5\right\rangle } + {\left|6\right\rangle } - {\left|9\right\rangle } - {\left|10\right\rangle } + {\left|12\right\rangle } - {\left|15\right\rangle } + {\left|17\right\rangle } - {\left|18\right\rangle } - {\left|20\right\rangle } - {\left|23\right\rangle } + {\left|24\right\rangle } - {\left|27\right\rangle } - {\left|29\right\rangle } - {\left|30\right\rangle }$$</latex>
451 <prompt_number>10</prompt_number>
452 </output>
453 </outputs>
454 </codecell>
455 <codecell>
456 <input>one = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(2**5-1, 5); one
457 </input>
458 <language>python</language>
459 <prompt_number>11</prompt_number>
460 <collapsed>0</collapsed>
461 <outputs>
462 <output>
463 <output_type>pyout</output_type>
464 <text>βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…βŽ›1 + Z β‹…X β‹…X β‹…Z βŽžβ‹…β˜31⟩
465 ⎝ 1 2 3 4⎠ ⎝ 2 3 4 0⎠ ⎝ 3 4 0 1⎠ ⎝ 4 0 1 2⎠
466 ────────────────────────────────────────────────────────────────────────────
467 4</text>
468 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWtnQUFBQWlDQVlBQUFDazdpYTZBQUFBQkhOQ1NWUUlD
469 QWdJZkFoa2lBQUFDdXhKUkVGVQplSnp0bld1c1hGVVpocC9UbnA3U2xrSUxoZHFLRlVxRjFrb3BD
470 b2hZVVFFYmpLaGdWR3ExdEdCVkloWWJFVlM4aTNoQlFZMmlrSUF4ClNMeWdHSlFpdEJwRlZGSkJG
471 Qk1wQW9wSzVHSkVMVUlGS1hyODhjM08yYk5tMy9kYXMrZnlQc21rcDN0bWY3Tm12ZStzK2ZhNmJS
472 QkMKQ0NHRUVKV1pEWXcyWFFnaGhCQkNpRjVnS25BVWNBK3diN05GRVVJSUlZUUl6NlFDcnprSm1B
473 bnNGN2dzUWdnaGhCQjl4empxUVJKQwpDQ0hFRUZDa0Iwa0lJWVFRWXFoUWdpU0VFRUtJWWVhRXBJ
474 Tzl0Q3B0RFBnNGNHYVgzL2ZWd0xxYzEvd2JtNHMxWGlEZUNIQWxNTTA1Ci9nWGcrdGJmRndQN3hK
475 NzdHM0JLdzdFamZOZEhWWnJ5QThnVEx2S0Uzem9JclprODBSM2tpUWxDKzJFTU9CYjR2blA4TU9C
476 RVlHL2cKZnVCeTRQYzVjWkw4OGkvZ3hjQ1BLNVFOOERjSDZma0p4M1lCdmdzODZpRitXWDZFQ1hj
477 MnNBTFlDMHNjUjRGenNjKzlybVRNNmNDTApnSjJ0eHlHWVFTUDJBbllBMTJDaTdONGpzYUYrZmF3
478 bytYNjk1Z2VRSjF6a0NmK2VDSzJaUEJFZWVXSUNIM1dSNVlsZGdYYzZ4OTRLClhBRHNpYTIyZncv
479 d0pMQXFKVWFlWDg3TktWOHFJOWdIckx1UzdYamd0TmovbDJBWjRVM0FmZFF6K3VRSzUreU9aWjFM
480 RTU1YmkzM20KajlRbzAxV3RHQ3VkNDI4RzNsY2picWpZUHVyakZPQU5CZDh2cEI5QW52QVJXNTRJ
481 NjRtUWZnZ1ZYNTZRSitMNHFvc3NUN2dKMGlqdwpJUERlMkxFeHpBdjNPK2NXOWN2cHdOd0M1V3hq
482 TGZCbDRKZkFONENOWlFPMFdBNWM1aHpiQlpqUyt2dmJWRGY2VXVEOEN1ZWRCTHcvCjRmZ3h3QlBB
483 Vnl1V0oySWxabzZyWXNkT0JENVdNMjZvMkw3cVl6TndkTTVyUXZvQjVBbGZzZVdKc0o0STZZZFE4
484 ZVVKZVNLT3o3cEkKODRTYklNMENIZ2QrNDd6dUxxd25hMHJzV0ZHL3pBYmVVYUtzWHRsQ2RnOVVI
485 YU12Qno1YjRieFBZSlVTWnltd0hSdUxIS3RZbm9nUgpiRHgwSnpBUDIzRHpFdHE3TlhzcHRxLzZP
486 QUM0bSt3cnM1QitBSGxDbnVpa0Z6MFIwZytoNHNzVDhrUWNuM1dSNW9ta0liYjlzT0cxCmlHbFlR
487 cllsSTM2ZVh6NU1BNHZYanNVS2xrVVRDWkxMUE9EUHdCMTBDbDZWZDJIWitoWEExL0U3TVQ1a2JL
488 aFhIeGVRc2pLQThINEEKZVVLZTZLUlhQUkZhTTNraUhYbkNmL3k2ZFpIa2lhUUV5ZVVzNE8vQS9o
489 bXZ5ZlBMRWNETDh3cm9tMHVBVTNOZTAzU0N0Q3R3Sy9CWAovTzRhdmplVzFUNE83T1l4YnVqWWRl
490 dGpGZFpkbWtSb1A0QThJVTkwMHF1ZUNLbFo2UGp5aER3UngwZGRKSGtpTFVHYTNUcCtSZXVjCnAr
491 YkVMdUtYODZJL29xNms4UUNQT0M4RmZwWlRxQ2FaREh3VFdJeGxqMy8wR1B0SmJMbGtkRTg3bjRT
492 SzdhTSs3Z1JlZ28zL3V2UzYKSDBDZWNKRW53bmtpcEI5Q3hwY241SWs0dnVvaXl4TXUvOFMySnpn
493 SEd6YjhDdGFEVlpYcFdOTFlOZllBL2t2KytHYVRQVWdYWTJWMAp1L1htVTIvY2R4cndMV0FObGpS
494 ZVd5TldOMlA3cUkvcHdQK3dNZVU0M2ZBRHlCUHlSQ2U5NkltUW1vV09MMC9JRTNGODFVV1NKNG9N
495 CnNVM0Nodlp1eCs0Zm0wU2VYOVlCenloVVNrOHN3Yks4UElvWS9Ramcwb1RIZDREZnBqeDNSazdN
496 YUN6MjdRblBmWTMyMmZCbEdNVm0KN3gvVSt2L3RtSG1lWGpGZXQyTDdySTk3c1N1Qk9ENzlBUEpF
497 TjJMTEUyRThFVkt6MFBIbENYa2lqdSs2Y0QxUkpFRUMyeWh5SEhoTgp5dk41ZnZHMVVyQXdSd0lQ
498 RkhoZEVhUFBCQTVOZUt6R1JFaDZidCtNZUsvRk10WFBKVHkzUHphdW1jUnM4aWUxZlpIMnJzc3pN
499 T0hPClMzNDVSMkY3VUp4T2ZoZGgyZGhnK3p1c3dVejJDcEl6K3FyMWNSeWRWNEJnKzA2c2NZNzU5
500 QU0wNzRtUXVoWFJyR3BzbHpRTnk5VEgKZ2NCNnJPNm5wN3pQb0h1aUZ6U3JFNytJaGxYYWlhdzJj
501 OUE5RWFjcHplckVoMno5UXJTWnJpZmNCR2sxOEREdCsyT0I5V0tOQXg5SQppWnZsbDJjRHIwcDVM
502 aGlMc2NyTEU2N2JRMndyc0xIR3EwbGUxbmNSdHI5RG5HaTg5aDZ5dnp3ZnhmYVZpRE1MMjZYMEFU
503 cXo2YldZCk1DTlk5K1JmZ0dkNmlnMHdBL2dWdHJ2cEdQQVRiS1ZBbkNyMUFmYUQ4Q0MyUTZ2TGZk
504 Z21iM0c2NFFmb2ppZEM2bFpFczZxeFhkSTAKTEZNZjY0QXZZWTNvOGRodXZFbm5ETEluZWtHek92
505 SFhrYTloMmU5SWtUWnprRDBScHluTjZzVFAweTlVbStsNndrMlF6c2NTSVhjUApxNXRieDQ5TWlB
506 blpmdmtRRGR4K2JSWlc0T1U1cit0bWduUUE4QkJXbWU0WGNBVDROUEFmT21mM253eThqUFRicmt3
507 RlBvOU5HRXZpCk1wSzcvMjZrZlZmVG53TVhlb29OcHNHbDJNb0ZzQy9LdHRqelZldURWbmwrU3Vl
508 WGZtYXJQSWNubENXMEg2QTduZ2lwVzU1bWRXSzcKSkdsWXBqNUdnVC9SdnBQdTNYVGVIbUxRUGRH
509 MFpuWGlGOUd3eW5ja3I4MGNkRS9FYVVLek92RWhXNzlRYldhU0o5d0U2VG5BVnRvbgpjdS9UZXI4
510 YlNVOFMwL3l5RzdaTlFCdGxzNlhqc0V6eXJoTG5iTWNtVGgwSTNPWTh0d2ZXTmZnMExGdWNDbndQ
511 dUFYWUJQeTZaUG1LCk1CUGJkbnhQYlArSGFPZk1PZGhWeTFLc29qZGpON0NMYzNsS3pPZGlSbG9K
512 TE1MS1BwLzJMYzgzQU05ci9YMWg2MzAyWVR1VXUwc2EKSDJQQ1ZIVmpnMm13UHZiNlpVeE16S3RU
513 SDZ1eFZRdnVsdlcwem4wQ0crT08wMnQrZ09wMUVGSzNMTTE4ZUNJaVNjT3k5YkVRV0VCNwpNckFO
514 ZUNIV0FFWU11aWVhMUt4dS9BVmthMWoxTzVMV1prWU11aWNpbXRETWgrZlM5QXZSWmtha2VTTE9y
515 Y0FIc2J0NzNJYk5vOXFJCjdRNStLdGI3R0ZIRUw2OXJmWTQyeWlSSWM3RWxkS3NvbHlBQlhJZDlh
516 SmVkbUtEYjZLeTRoMHUrUnhuU2JwZnl3OWpmdnlzUjd4L1kKWjd5dTlmOXhPclBVTzdBYitjVjVx
517 UFZ2ZlB4M0hwWTVSL2ZFcVJzN3p1SFlsK2RPMnE4bXF0VEhJbXlwNkI5U3psMk1aZkk3RXA3cgpO
518 VDlBdFRyb2htNUptdm1LbmFWaG1mcVlqK2tjMzk3akVXeW9LYzR3ZUFLYTBheHUvQ0lhK200M1lU
519 ZzgwWlJtUG44N2t2RGRaa1lrCmVlSlJPcE8xemRpdTJRdUJwMkE5Vm84bGxLZUlYNjdGaHZzcWs5
520 WTlXSVNqZ2V2cnZIa09Cd09mQ1JqZkphMjd1QzZUc0ZVVnJ3OFEKR3l4VFg0SjlZZHhWSTJXWVRI
521 dDM1QTEwK3VJaTRFMHA1NGYyQTNUWEV5RjE4NldaU3hFTmkzSVFkc1VmNTByZ2s4NnhZZkZFUDJq
522 bQpVbFREcXFTMW1ZUHVpWDdXTEk3djM3eXNOalBMRXozSmFtdzIrZzFVRjNjTHRxb2pCR05ZVjJP
523 M0NKVWduWXR0cisrYlpjQ1pzZisvCkRldjJMTElSVnhJYmdIZGozWmJyc1N2bFR6R3hPdUpnYk9s
524 c1ZnOWxTRDlBZHowUlFqZmZtcm5rYVZpR1VleEtMRDd1djVuMlpkTEQKNElsKzBzeWxpSVoxU0dv
525 emg4RVQvYXhaSE4rL2VXbHRaaEZQOUJTTHNHVjhVQzlCZWhabWpoRGJwbmViRUFuU2FWZ0RHOUV4
526 WWF3Rwo1MkJqdGhGblkxMldlU3RFMHBpQmpUVkhqM3VCVjJJVDZTWUR2OEFtOW1VeEtINElwWnR2
527 elZ5eU5LekN6VXhNRnAyQzNSTXBXczQ4CkxKN29OODFjc2pTc2k5dG1Eb3NuK2xtek9ENS84OUxh
528 ektLZTZCbDhkdzhlUS9xeTEzNWhCRE9MejN0emJjUWExcXRiajAxMGpndlgKWVFIV2pid0VPQVNi
529 bFBZV0QzR25ZaE1CdDJOWFNYT3h6L0xHZ3VmM3V4OUM2aFpLTTVja0RhdHdBallKZFE1MmRSaGZm
530 anNzbnVnMwp6Vnl5Tkt4RFVwczVMSjZJNkRmTjR2ajh6Y3RxTTh0NG9pdmtiZis5QWN1QW8wbGJa
531 Mkd6djYvQkpsRlY0VkE2VjJYMEMydXh5WmZMCnNQdStiTVhQbmFCUHB2TXE4d2VrVDRDdXdqVGdC
532 ZGp5MmEzWWxVeGQ1dERlVFJxVjk1WVNNZnJaRDZGMUM2R1pTNUtHWmZTTHN4RGIKYk8wbTJsZktI
533 Rll5Wmo5N290ODBjMG5Uc0NwcGJlWXdlUUw2UzdNNHZuL3pzdHJNc3A1b25ORGRnMElJSVlRUVBV
534 ZmFaa29STzdEZQpvMGV3U2RyUjZvd1pnY3NsaEJCQ0NORVlSZSt3RzdKN1VBZ2hoQkJDQ0NHRUVF
535 SUlJWVFRUWdnaGhCQkNDQ0dFRUVJSUlRYUcvd05RCjQ5a1NqVUMrcFFBQUFBQkpSVTVFcmtKZ2dn
536 PT0K
537 </png>
538 <latex>$$\frac{1}{4} \left(1 + Z_{1} X_{2} X_{3} Z_{4}\right) \left(1 + Z_{2} X_{3} X_{4} Z_{0}\right) \left(1 + Z_{3} X_{4} X_{0} Z_{1}\right) \left(1 + Z_{4} X_{0} X_{1} Z_{2}\right) {\left|31\right\rangle }$$</latex>
539 <prompt_number>11</prompt_number>
540 </output>
541 </outputs>
542 </codecell>
543 <codecell>
544 <input>qapply(4*one)
545 </input>
546 <language>python</language>
547 <prompt_number>12</prompt_number>
548 <collapsed>0</collapsed>
549 <outputs>
550 <output>
551 <output_type>pyout</output_type>
552 <text>-❘1⟩ - ❘2⟩ - ❘4⟩ + ❘7⟩ - ❘8⟩ - ❘11⟩ - ❘13⟩ + ❘14⟩ - ❘16⟩ + ❘19⟩ - ❘21⟩ - ❘22⟩
553 + ❘25⟩ - ❘26⟩ + ❘28⟩ + ❘31⟩</text>
554 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXJzQUFBQVZDQVlBQUFCRzZpWTFBQUFBQkhOQ1NWUUlD
555 QWdJZkFoa2lBQUFDcHhKUkVGVQplSnp0blgrc0hVVVZ4eit2cmI2S0xTaS9LcGpHQWhWc2FRdGlW
556 UkJMUmZrVktoRWFqS0tvdGVnVGY5dG9pb2pJUXd3Z1ZPV0hpS0xFCko2aWdSU2xLZ2hxczEwTHh0
557 eUlGSWRwSWFCdWlHRkN3U0JGZjhZK3ptenM3ZC9mZTJmdnV6Snd0ODBsZTl0M1p1WHUvYzNiT25O
558 MloKMlZsSUpCS0pSQ0tSU0NSMlVDWkgvTzFUZ01lQVJ5TnF5RWxhM05HaVQ0dU9PaVROOFdoaU9a
559 cW91WXdtbGlOcGprTVR5OUJFeldXawpjaml3c3N1K2R3TmZMRW1mQnB3UlNNdGJnYlhBN2NDdHdB
560 Y2lhckZaQXl3S29LVU1XOThKd0diZ2g4QjNnR3VBTWVQdmRJLzZUQzNQCkJjNEhMZ2Era3YzMmJD
561 dC9qSE5XVlpkZDgyblQvRHpnODRpTmIwUjg1QVFyVDh6NmFPSnErNXhRZmpWUnphY0FxNEVyZ004
562 Qnh4djcKbW1MN1Z3S1hBcGNqUHZ0UllKS3hYMU5iYjZQQlYxMDF4NHBqTnYyVzRSZElXMzRNc0hl
563 V1p6M3dlaU9QUnJ1RGJqOTFLVWZNbUZxRwpYUTZYV0dRVDJuY0JHQzFKbTRVVWFCejRjc1gzUGdV
564 OHk3T1dEd0tYQVR0bG53OEgvZ3RjUmJGQkRxSEY1aVRnYWVBb0s5MkhsakpHCnJjOW5aSHJLL3JZ
565 ampaUXZmYm1XNXlBWDJpOHk5cjBZMkFBY1lIMG4xRG1iUmUrNjdKcFBpK2JKd0czQS9rYmFoNUh6
566 ZktxVk4xWjkKQkhmYm00VDBxOUdTdEZtNGFWNEozSVRVZVlEM0FBOERVNDA4Mm0zL2N1RHZ3RHdq
567 N1ZyZ2sxWStUVzA5NlBGVlY4MHg0NWpOcVBYWgpWZHQ5RkdQS09QQ2hrdU5yc2p2bzlsT1hjc1NP
568 cVdXTUd2L1hpVVhRcCsvYUozVlFmQXo0TkREVTR6ZldBQ2Q2MGdCeWhUK0NYTVQ5CkowdGJEMXlD
569 M0JVc0RxaWxUTnZISy9aTlJNc2hmWDRQWUQra0lqMGJtSUtjdnlIRVRwY0JQeG1Bdmw2OER1bGRm
570 c0JJK3d0d0hYSUgKYXhMaW5MbldaUzExM2xYTEVjQ3JnV1ZHMm8zWmQwYXN2TEhxbzZ0TlRYejVs
571 U3V1bXVjZ2dmNGR3Qk5aMm5UZ0VjVDNjclRiL3J2QQpiNEM3amJRMXdEbkF2bGFhbHJaZWk2KzZh
572 ZzRWeC9xcEwzVzBiUVcrQkh3UE9BdFlpTVFWR3kxMkI5MSs2bHFPVURHMTMzTFVpVVY5Cis2NnZp
573 OTFWd051Um9hMXUzQVVjNUVrRHdBTGdRS1I3M0dSZHRqVjdmbnhyc1RrVHVMSmkzMFMwMkdXdHd6
574 amlFRTlsL3dQc0RId0MKMFp2ajAxYUhBRzlCSE5uV3RvdVZGdUtjdWRabExYWGVWY3RtWUJQd29K
575 RzJQZHYreThvYnF6NjYydFRFbDErNTRxcDVESmt1Wk5wNgpGZExqc3RWSTAyejcvT2I0ejFiNlBj
576 aUZ3SEZHbXFhMlhvdXZ1bW9PRmNmNnFTOTF0RzBGM2crY2pBeXAvNkhpbUZyc0RycjkxTFVjCm9X
577 SnF2K1dvRTR2NjlsMWZGN3QxdUE5NGlhZGpid0cyMGRsVi8zaTIzU09nRnBPREVFZloyQ1ZQS0Mw
578 bTd5MUpXNFVNU1Q1aHBmdlMKOTB0Z0wrQjZZTThzYlJocElMOVpraitHblNhS0JzMGJrV0V0Yzg3
579 VFlkbjJocEw4R2pUM1FxdGYyY3dFWG9IMGlMcWdRWE1aYzdMdAprMWI2L2RuMk5WYTZwcmJlRlEy
580 YXRjWXgyTEh0cnQxUFhjdWhQYWJXalVXdUZNcWg0V0wzQnVDTm5vNjlDWGdoN2JtbU9mT3o3YThD
581 CmFzbVpCS3hBSnJsM0k0U1dYaHdCUEIvNGJjaytYL3AraWd4aExBSCtCQ3hIblBSOHloc2REWGFx
582 aTBiTnV3Rm5BMTlBSGt5MDBhaloKcEVsK2RYQzIvUWN5TFBkWjRHWmtCS1dzVGRhZ3VZdzdzKzEw
583 SzMydmJEdlRTdGZVMXJ1aVFiUEdPSlpUUjlzUThDN2dRcVFUNVNyZwpaUlhIMVdCMzdYN3FXbzZt
584 eGRSZXNjaVZRam1tZE1rWWltMjBKMzc3NEovVzV5RmtWWUg3a1RrckliV0F6RUg1QmpLSnZCc2h0
585 SFJqCkNIbTYrcXlLL2I3MGpTTlB2bDZMVk5TcmdaOVJmc0h0VTRkUE5HbGVBQ3hGN3ZKdnBYcStx
586 eWJOWlRURnI2QWRSSmNqRDVoc1FSN1MKYUNIRG8rKzA4bXZRWE1ZVzRJOTA5Z0lkbm0xM3M5STF0
587 Zld1YU5Hc0xZNlp1R3FiZ2t4ZCtGcjIrYlhBTGNnRjcyYnJHQnJzM2dRLwpkU2xIVTJLcWF5eHlw
588 VkFPRFQyN1Ura2NCdlBKNmNnOHM3ZlJudFFkU3NzTVlDNVMwWG9SMmk0Mnh5QkRIaitxMk85VDMz
589 SElPbm5ICklrTVJSeUpETWZaU0tiNTErRUtUNXJ1UUoyUG4wWjRDc0c5SlBrMmFiWnJrVnlEejRF
590 SG14Mi9KL2g5SExnS1dJVU9uSmhvMFY3RVUKNlVrNk52czhrM2I5c2RlNTFOVFd1NkpWYzh3NDFv
591 c3FiWXVBM3htZjF5SXJlWlF0SDZYQjdrMzAweXJiTnlHbXVzWWlWd3JsMEhDeAplekt5ZmwwSUZn
592 RG5JZXUzclkrZzVXemdNNDU1UTlxbGpQY2hkOTMvcTlqdlM5OUp5RHFkSThqcUR3Y2p3eTB6Z0I4
593 RTFPRVRyWm92CkFIWUhmb3owRUpobzFRek44aXVRWll1Z1BRMGdKKy9kV21LbGE5QmN4VitSb0Q4
594 UEdYWmNDbncxMjNlM2xWZFRXKytLUnMyeDQxZzMKdW1uYjNwbWRCNUhwY2pIYm15ck5UZlBUcW5J
595 ME1hWjJpMFd1Rk1waFRtT1lqOHloY1Qzd25jaGR4RVNaUzNHU3RDOGRNNEJ2SXdabwpSZEJ5RkhM
596 bjhwRGpzV3d0SnRPUWJ2NnBKZnRtMCttY0lGMzZpM0c3WXhzR2prYVdpWEhWTnloYmpTQVhMbm5E
597 K0NReWxXSURNaXd6Cm0rSURTR1YyaWxXWFhkR2dlVHJTNk4xbXBEMk8ySFkrOGdTdjJRc1RzejUy
598 WXhCK0ZkcjJtN0t0UFFTWlAxaGl6M1hWYXZ1Y0J5ak8KbGM1N1l6WlkrVFMxOWE1bzA5eFBIRFB4
599 V1YrNmFic0k2VjFjU0hHcTBURHlRb0U5a1Y3ZW5GQisyazF6ay95MFd6a0dFVk56ZkpTagpiaXh5
600 cFZBTzgySjNBKzBuNEVLeEFKbnpaZUpEeDA1SVJSZ0I3akRTbHlGTGk0VFFzZ1FKQXVhYlYyWmsy
601 M09SdDU2Y0NkeGJvY1ZrCkszQm94YjRXblU5QjErVlFaSzdMWXhYN2ZkbHFFcUs5YkZXSTY1R0hH
602 c3lIWWFyc0ZLTXV1NkpGODAzSVVOYXB3TGVNOUh5T2s3a2cKZCt6NjJJMUIrRlZvMjY5RkZ0WGYz
603 VXJQQTRpcFViUHRxMWlNWE5EY2JLUnBhdXRkMGFhNTN6aG00cXUrOU5LMkVHbTdKMXZmbTQ5YwpW
604 Sm9YdXFIOHRKZm1wdmhwdDNKY3cyQmlhbzZQY3RTSlJhNTBsQ1AyTklZVGdlOTcvbzFKeUN2b3px
605 VllFZmFtT0IvRXQ1WVZ3QnV5CjM4bi9yc2oyblpOOXZqZVFsbDdrODNpcUxuWjk2ZHVPM04wdEt0
606 bDNZTGJmWEpzeHRwMzZRWXZtaDVFaFJIT29lVmZrM0Q4RS9OcEkKMTZLNWpDYjVWYzdma0NlbFgy
607 cWxINEFFVjNQdXNSYk5WVnlOWEJTWXZBbnB5VFBYMzlYVTFydWlTYk9XT0ZhR2k3WVc0cWZtRXBh
608 egprRGJuRnV0NFd1emVCRC90Vlk0bXhOUTZzY2lWam5MNFhvMWgxMnhidHRiZU5LUmIreW5QR2k1
609 R3VzRkhLTDZOWXgvYXcvU2h0TmpzCmJHMWphakhKMStMN2Q4ayszL291UUp6M0h1RDNXZG9Ma0dF
610 WTg5V1NvZTNVclM2NzV0T2tPWC94UXI0bTZqRFNBN29OZVIxbVB1U2wKb1Q2NjJqNUhnMS8xMG53
611 YUVpd3ZRbnEyaHBIZWw1WEl0QXhvaHUwZnBYaFQvQkhrWlJQbTI0czB0ZlVtR256VlZiUG1PT2Fp
612 N1VyawpiV2tya0l0SWtQcCtCN0tzVjQ0MnUydjNVNWR5YUkycE9hNnh5Q1NhNzY2d1BpOUg3b2dl
613 b2YwZTdJM0F6NUg1T1FCdlJ1N3NmR3BaClRQRmQzUFpmdnNaZkNDMG1od0czSXlmemFTUllyRVB1
614 WkNhcXBWVWpiNVcrNDVHblQrZVU3QXRocS8yUnVUYXJrYlh5VnRONVp4cnEKbkxuVVpkZDgyalRQ
615 QmI2TzJIb2Q4dXJYVjFuSGlsa2ZYY3VSNDlPdmZHZytFckg5ZGNpeWFhZForNXRnK3oyUW52U3g3
616 UGZHNkF4QQptdHA2ME9PcnJwcER4YkdXWTc1KzdiNFBzdkxDR0xLaXdYa1ViMGhCbDkxenRQcHBu
617 WEtFaUttdEdubnQ5c1lsRmtGYzMwMG9veFZiClFDSmgwSW90NEJsTUs3YUFSS05veFJid0RLVVZX
618 OENBYU1VVzBJM1ljM1lUZzhmMXFmUkVJZ1NwUHNZajJUNVJoMVJmNHJDajJIMUgKS1VjaWtVZ2tF
619 b2xFSXBGSUpCS0pSQ0tSU0NRU2lVUWlrVWdrRW9tRVQvNFBkL09JMzdra2NxUUFBQUFBU1VWT1JL
620 NUNZSUk9Cg==
621 </png>
622 <latex>$$- {\left|1\right\rangle } - {\left|2\right\rangle } - {\left|4\right\rangle } + {\left|7\right\rangle } - {\left|8\right\rangle } - {\left|11\right\rangle } - {\left|13\right\rangle } + {\left|14\right\rangle } - {\left|16\right\rangle } + {\left|19\right\rangle } - {\left|21\right\rangle } - {\left|22\right\rangle } + {\left|25\right\rangle } - {\left|26\right\rangle } + {\left|28\right\rangle } + {\left|31\right\rangle }$$</latex>
623 <prompt_number>12</prompt_number>
624 </output>
625 </outputs>
626 </codecell>
627 <markdowncell>
628 <source>&lt;h2&gt;The encoding circuit&lt;/h2&gt;</source>
629 </markdowncell>
630 <codecell>
631 <input>encoding_circuit = H(3)*H(4)*CNOT(2,0)*CNOT(3,0)*CNOT(4,0)*H(1)*H(4)*\
632 CNOT(2,1)*CNOT(4,1)*H(2)*CNOT(3,2)*CNOT(4,2)*H(3)*\
633 H(4)*CNOT(4, 3)*Z(4)*H(4)*Z(4)
634 </input>
635 <language>python</language>
636 <prompt_number>13</prompt_number>
637 <collapsed>1</collapsed>
638 <outputs />
639 </codecell>
640 <codecell>
641 <input>circuit_plot(encoding_circuit, nqubits=5, scale=0.5)</input>
642 <language>python</language>
643 <prompt_number>14</prompt_number>
644 <collapsed>0</collapsed>
645 <outputs>
646 <output>
647 <output_type>pyout</output_type>
648 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x38a6950&amp;gt;</text>
649 <prompt_number>14</prompt_number>
650 </output>
651 <output>
652 <output_type>display_data</output_type>
653 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWhjQUFBQ2xDQVlBQUFEdlJOOGZBQUFBQkhOQ1NWUUlD
654 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYdFlW
655 Tlg2Qi9EdkJ0R0UwQmdGMDBSQ1RVRzhwQW5lVUxDVHFDaWllTWZqCnRRakZNdE51SHF0VEJ3dVBw
656 enBwQmw1UnBERHhHbG9hWHNBTFJpQW01VEcxSjFQd2dpQWdvaUFnczM1LzlPZ3ZZd1ptaGoyelo0
657 YnYKNTNuNFE5YXM5YTY5WisvRjYxNXI3eTBKSVFTSWlJaUlaR0tqZEFlSWlJakl1akM1SUNJaUls
658 a3h1U0FpSWlKWk1ia2dJaUlpV1RHNQpJQ0lpSWxreHVTQWlJaUpaTWJrZ0lpSWlXVEc1SUNJaUls
659 a3BrbHlvVkNwSWtpVHJqMHFsTWxtc3V1S2FjdnRNU1lsOVNXU3VlRDZRCnJocmlzU0lwOFlST1Na
660 SWdkMWh0YlJvalZsM3RtM0w3VEVtSmZVbGtybmcra0s0YTRySENhUkVpSWlLU0ZaTUxJaUlpa2hX
661 VEN5SWkKSXBLVjJTVVgrZm41YU55NE1XeHNiTkM0Y1dOMDZ0UUpBUUVCR0Q1OE9JWVBINDRXTFZy
662 QXhzWUdPM2Z1ckZlY2tKQVFlSHA2UG9qVApzMmRQaEllSEF3QXVYYnFFWjU5OUZtM2J0b1dOalEy
663 YU4yOE9IeDhmUkVkSFc4ejJtWnBTKzVQSTNQQmNJSDFZN2ZFaUZGQmIyTmpZCldOR2tTUk94WXNV
664 S2NlL2V2WWZLZHU3Y0tXeHRiY1Vycjd5aWM1dTF4VXBQVHhlU0pJbjU4K2RyTEkrS2loS1NKSW5F
665 eEVTdGJXaHEKMzVUYlowcDE5YUcrKzlNY3RwRklWMHFNTFdTWkd1TFkyVWlabEVhN2I3NzVCanQy
666 N0VCZ1lPQkR2Ly9oaHg4UUdocUtvS0FnZlBycApwN0xFT25Ma0NBRFVpSFZmU2tvS2JHMXRFUkFR
667 SUVzOHdMVGJaMnBLN0U4aWM4UnpnZlJobGNlTEVobU50ckFWRlJYQzM5Ky94dTkvCisrMDM0ZUxp
668 SW54OGZFUjVlYmxlYmRhMmlTTkdqQkJObWpRUlpXVmxOY29xS3l1Rmc0T0Q2Tm16cDliNjJ0bzM1
669 ZmFaVWwxOXFPLysKTklkdEpOS1ZFbU1MV2FhR09IYWExWnFMNjlldjQrMjMzMzdvZDBWRlJRZ01E
670 SVNEZ3dQMjdObURSeDU1UkpaWWFyVWFhV2xwOFBiMgpSdE9tVFd1VVoyWm1vcXlzRElNR0RaSWxI
671 bURhN2Z1cmhJUUVUSnc0RVR0MjdEQksrMHJzVDZYY3ZYc1hiNy85TnFaUG40NnpaODhxCjNSMkxk
672 K0hDQmN5Y09STnZ2UEVHN3R5NW8zUjM2cTBoblF1QThjY1dhMmV0eDR0WlRZdTR1cnJDMWRYMXdi
673 OHJLaW93ZXZSb0ZCUVUKSUMwdERjN096ckxGeXM3T1JrbEpDZno5L1RXV3A2U2tBQUQ4L1B4a2ky
674 bks3ZnV6dzRjUEl5d3NER1ZsWmRpelp3L2MzTnp3ekRQUAp5QnBEaWYycGxEZmZmQk5yMXF4QlJV
675 VUZ2djMyVzF5L2ZoMDJObWFWcDFzVWYzOS9YTGx5QlhaMmRzalB6OGZHalJ1VjdsSzlOS1J6CndS
676 UmppN1d6MXVORjcrUkNraVJqOUtNR0lRUm16cHlKakl3TTdOdTNEeDRlSG5YVzBhZHY5K2U0a3BP
677 VGNlTEVpUnJsbVptWmtDUkoKcDJ6UmtIMWk3TzNUcHF5c0RMMTc5NjUzTzM4bDEvNDAxZkVsbHhz
678 M2JzRFcxbGJwYmxpRmlvb0t4TVhGSVM0dVR1bXUxSXZTWTR0UwpqRFcyV0R1ckhUdVZtSXZSSmV4
679 YmI3MGxKRWtTOGZIeDlXcFQyKy9IakJrajdPenN4SjA3ZDJxVTNidDNUOWpiMndzdkx5K0Q0cHB5
680 CiszUlJWRlFrM04zZEJRRGg0ZUVoU2t0TERXcW50ajdJc1Q4Vk9oejFkdmp3WVdGdmJ5OEFpSmRl
681 ZWtucDdsaThSWXNXaVNaTm1nZ0EKWXUvZXZVcDNSMmRLakMzbVJxNnh4ZG8xeExIVExKT0wxYXRY
682 QzBtU3hMLys5YStIZmw5ZVhpNE9IVHFrVjV1YWZxOVdxMFhMbGkxRgo3OTY5TmRiNTRZY2ZoQ1JK
683 WXM2Y09iWDJVMXY3cHR3K1hWVldWZ29BTlc1LzFZZTJQc2kxUDgzeEJOSG0xcTFiRnRWZmM1ZVhs
684 MmR4CisxT0pzY1VjeVRHMldMdUdPSGFhM1VUeHZuMzdNSGZ1WE15WU1RUHZ2UFBPUTJVSkNRa29L
685 U21wZDR3elo4NmdzTEFRQXdjTzFGaCsKN05neEFNYVo0ekxGOW1saVoyY0hBRWE1aEsvay9sU0tv
686 Nk9qMGwyd0txMWF0Vks2QzdKb2lPZUNNY2NXYTJmTng0dFpMZWc4ZGVvVQpKa3lZQUg5L2Y2eGR1
687 N1pHK1lZTkc1Q2NuRnp2T1BmbnVIeDlmVFdXcDZXbEFZRHNxM05OdFgybXB0VCtKREkzUEJkSUg5
688 Wjh2SmpOCmxZdkxseTlqeElnUmNITnp3NDRkTzJwa3dRa0pDVkNwVkJwdjFkSFg0Y09ISVVsU3JW
689 OW94NDRkMGJwMTYzckh1cytVMjJkcVN1eFAKSW5QRWM0SDBZYzNIaTFra0Y3ZHUzVUpnWUNDRUVQ
690 am1tMjhldXVSODllcFZMRjI2RkZPblRrVndjSEM5WTFWVVZDQTFOUlh0MjdlSAppNHRMamZMczdH
691 ems1K2Rqd0lBQjlZNTFueW0zejlTVTJKOUU1b2puQXVuRDZvOFhKUlo2L0RYc3pKa3poWTJOalhC
692 MWRSVjkrL1lWCmZmdjJGYjE2OVJMTm16Y1hraVFKU1pKRWt5Wk5SSDUrdnM1dC92WDNseTVkRW9N
693 R0RSTHU3dTdDeHNaR05HN2NXQXdZTUVERXhNUUkKSVlSSVNrb1MvZnIxRTg3T3pzTEd4a2FvVkNy
694 aDUrY24wdExTOU5vV1UyK2ZQdXJieHAvckcyTi9LblE0R3N6UyttdnVMRzEvS2pHMgptQ3RMNnFz
695 U0d1TFlLUWtoaEtrVEdrbVNJSGRZYlcwYUkxWmQ3WnR5KzB6WmhoTDcwcHhaV24vTm5hWHRUNTRQ
696 LzgrUytxcUVobmlzCm1NVzBDQkVSRVZrUEpoZEVSRVFrSzhWdVJaWDdVYVZPVGs0bWk2VkxYRk51
697 bnlrcHNTK0p6QlhQQjlKVlF6dFdGRWt1VERrM3BNUTgKbExuTmZjbkZXcmVMeUJBOEgwaFhEZkZZ
698 NGJRSUVSRVJ5WXJKQlJFUkVjbUt5UVVSRVJISmlza0ZFUkVSeVlySkJaa3RsVW9GU1pLTQo5cU5T
699 cVpUZVJDSWkyWm5EMktuSUV6cEpHZWI0RkxmYW1QdFQ3U3h0ZjVvNzdrL0x4ZS9PdkpqRDJHbFdy
700 MXduK2VYazVHRDkrdlU0CmUvWXNBR0RTcEVudzh2TEM4ODgvanpadDJpamNPeUlpc2thY0ZyRlN4
701 NDhmUjNCd01IcjI3SW1iTjI5aXpKZ3hBSURnNEdCY3UzWU4KWGJ0Mnhmang0M0hpeEFtRmUwcEVS
702 TmFHMHlKV2FQMzY5Vmk4ZURFaUl5TVJHaG9LQndjSEFBOWZ5aW90TGNXbVRadncvdnZ2WThXSwpG
703 WmcwYVpLU1hkYklIQzd0R2JNK1BZejcwM0x4dXpNdjVqQjI4c3FGbFVsSVNNRDc3NytQSTBlT0lD
704 d3M3RUZpOFZlT2pvNllPM2N1CkRoNDhpQVVMRmlBcEtjbkVQYTJma0pBUWVIcDZ3c2JHQm8wYk4w
705 YlBuajBSSGg0T0FMaDA2UktlZmZaWnRHM2JGalkyTm1qZXZEbDgKZkh3UUhSMnRjSytKaUpSbHNy
706 SFRPRzl5SnlWY3ZueFpxRlFxOGZQUFAyc3MxL1oxWjJSa0NKVktKUW9MQzQzWlBiM1ZkWGltcDZj
707 TApTWkxFL1Buek5aWkhSVVVKU1pKRVltS2lRZTNYdDMra0grNVB5OFh2enJ5WXc5akpLeGRXWk8z
708 YXRaZzBhUks2ZHUycVZ6MXZiMjhFCkJnWmk0OGFOeHVtWWtSdzVjZ1FBRUJnWXFMRThKU1VGdHJh
709 MkNBZ0lNR1czaUlqTW1pbkdUcTY1c0JKVlZWVjQ4c2tuOGQxMzMybE4KTG1xYkovdisrKzh4YmRv
710 MG5EdDNEalkyNXBGejFqV3ZOM0xrU0J3NGNBREZ4Y1ZvMnJUcFEyVlZWVlZ3Y25KQ3AwNmRjUExr
711 U1lQYQpyMi8vU0QvY241YUwzNTE1TVlleDB6eitpbEM5SFRseUJLNnVybnBmdGJpdmI5KythTnk0
712 c2NYY1BhSldxNUdXbGdadmIrOGFKd2NBClpHWm1vcXlzRElNR0RWS2dkL0xLeTh2RDJMRmpFUkFR
713 Z0RObnppamRIU0xGVkZkWFk5R2lSZWpYcng4MmI5NnNkSGNza3FuR1RqN24Kd2twY3UzWU43ZHUz
714 TjdpK0pFbHdkM2RIWGw2ZWpMMHludXpzYkpTVWxNRGYzMTlqZVVwS0NnREF6OC9QaEwweWpxbFRw
715 eUlsSlFWcQp0UnFCZ1lHNGVQR2kwbDBpVWtSY1hCeFdyRmlCc3JJeVpHZG5vM2Z2M25qcXFhZVU3
716 cFpGTWRYWXFmZTBpQ1JKOVFwSXBBOXRoK2Z5CjVjdng2cXV2d3R2YlcrT2phRE16TTFGY1hJejgv
717 SHkwYU5GQ1l4czhsb25JV2lrK2R0YTU1Sk1zd3E1ZHU4U3dZY05xL1V4ZFgvZUEKQVFQRXdZTUg1
718 ZXhXdmRUVzN6Rmp4Z2c3T3p0eDU4NmRHbVgzN3QwVDl2YjJ3c3ZMeStEMjY5cy9PUjA2ZEVnNE9E
719 Z0lBQ0kyTnRZawpNWlhBNGNoeW1lcTdLeWdvRUowNmRSSUF4TGh4NDBSMWRiVko0bG9hY3hnN3Vl
720 YkNTdmo2K2lJOVBSMDNidHd3cUg1dWJpNSsrZVVYCitQajR5Tnd6K1FraGNQVG9VZlRvMFFQMjl2
721 WTF5ck95c2xCZVhtNFY2eTBBWVBEZ3diaDE2eFlBWU9iTW1RcjNoa2c1TFZ1MnhMbHoKNXdBQVc3
722 ZHVOWnZGNTViQ2xHTW52eGtyMGFKRkN3UUhCMlBEaGcwRzFWK3paZzJtVEptQ1J4OTlWT2FleWUv
723 TW1UTW9MQ3pFd0lFRApOWllmTzNZTWdIV3N0N2lQZ3lnUjFaY3B4MDZPV0ZZa0lpSUNuMy8rT1c3
724 ZnZxMVh2ZUxpWXF4YnR3NXo1c3d4VXMva2RmOGViVjlmClg0M2xhV2xwQUdBMVZ5NklpT1JneXJH
725 VHlZVVY4ZmIyeHBBaFF6Qmh3Z1JVVkZUb1ZLZXNyQXhqeG96QjVNbVQ0ZW5wYWVRZXl1UHcKNGNP
726 UUpLbldFNlJqeDQ1bzNicTFpWHRHUkdTK1REbDJNcm13SXBJa0lUbzZHdmIyOWhnMmJCZ3VYNzVj
727 NitkLy8vMTNQUHZzczNCegpjOE5ISDMxa29sN1dUMFZGQlZKVFU5RytmWHU0dUxqVUtNL096a1or
728 Zmo0R0RCaWdRTytJaU15VHFjZE9KaGRXeHM3T0RsdTJiTUhBCmdRUFJ2WHQzaElTRTRNQ0JBdytt
729 U2twTFM3RjM3MTRFQlFYQjI5c2J3Y0hCMkxoeG85blA2ZWZrNU1EUHp3K2VucDRvS0NoQVRrNE8K
730 ZkgxOXNXclZLZ0RBN3QyNzBiOS9md3daTWdTU0pDRXBLUW4rL3Y0NGZ2eTR3ajBuSWxLT1VtTW5I
731 Lzl0eFc3ZnZvMHZ2L3dTcTFldgp4cmx6NTFCV1ZnWUhCd2Q0ZVhsaDl1elptRGh4b3NZVncrYkNI
732 RjRiYk16NjVoN1AxS3g5KzZ3Wnp3WHpZZzVqSjVPTEJzVFNUa2h6Ck9FR01XZC9jNDVtYXRXK2ZO
733 ZU81WUY3TVlldzA3MnZoSkN1ZWpFUkVaQXA4dHdpWk5XTStvdHZKeWNsb2JSTVJLVW5wc1pQSkJa
734 a3QKWG1raEl0S2ZPWXlkbkJZaElpSWlXVEc1SUNJaUlsa3h1U0FpSWlKWk1ia2dJaUlpV1RHNUlH
735 b2dWQ29WSkVreTJvOUtwVko2RTRuSQpUUEFoV2tRR3NyUUhCNW5EZzNXTVdaK1VZMm5uQWhrZnIx
736 d1E2YWlxcWdwYnQyNUZTRWdJK3ZYckJ3QjQ3cm5uOE9HSEh5SS9QMS8yCmVPWGw1WWlMaTBOUVVC
737 RDY5T2tEQUJnNmRDaVdMMStPbXpkdnloNlBpRWd1VEM2STZsQlZWWVhJeUVpNHVibGg1Y3FWR0Qx
738 Nk5ENysKK0dNQXdNS0ZDM0hod2dWMDd0d1pvYUdoK08yMzMrb2Q3ODZkTzNqampUZlFybDA3Yk5t
739 eUJWT25Uc1h5NWNzQkFIUG56a1Y2ZWpyYwozZDBSRmhhR3ZMeThlc2NqSXBJYnAwV0lhbEZhV29x
740 UWtCRFkyZGxoMmJKbDZOcTE2NE95UDErYUxTNHVSblIwTkZhdVhJbXZ2LzRhClBqNCtCc1hMejg5
741 SFlHQWdPblhxaE1qSVNIVG8wRUZqdkx5OFBIejg4Y2ZZdG0wYjl1N2RDdzhQanpyYjFuWXBPU1Fr
742 QkwvODhndk8KblR1SFJvMGF3Y3ZMQ3o0K1BsaTllalV1WGJxRW1UTm40dno1ODdoNjlTb2NIUjNS
743 dVhObnpKZ3hBeEVSRVRxMXJ5dGU2clpjbkJhaApHZ1FSYVZSWldTbUdEaDBxWnM2Y0tlN2R1MWVq
744 WE5QcDgvWFhYNHRXclZxSnMyZlA2aDN2OXUzYm9uZnYzdUt0dDk0U2FyVmFwM2pyCjFxMFQ3ZHEx
745 RTFldVhLbXovZHBPOS9UMGRDRkprcGcvZjc3RzhxaW9LQ0ZKa2toTVREU29mVjF3T0xKY3B2N3Vl
746 S3lZUHo3K20waUwKVmF0V29hcXFDbXZXcklHdHJhMU9kVWFOR29XclY2OWl4b3daK1A3NzcvV0t0
747 MlRKRW5UczJCRWZmdmloenU4RmVQNzU1NUdUazRPWApYMzRaMjdkdjF5dmVueDA1Y2dRQUVCZ1lx
748 TEU4SlNVRnRyYTJDQWdJTURnR0VUVWNuQlloMGtBSUFVOVBUNnhac3dhREJnM1MrQmx0CmwyYnYz
749 YnVIOXUzYlk5ZXVYZWpWcTVkTzhlN2V2WXQyN2RyaDJMRmo2TlNwazE3eFNrdEw0ZWJtaHA5Kytn
750 bHQyN2JWR3FPMlM4a2oKUjQ3RWdRTUhVRnhjaktaTm16NVVWbFZWQlNjbkozVHExQWtuVDU0MHFI
751 MWQ4RkszNWVLMENQMFZGM1FTYVpDU2tvSkdqUnBoNE1DQgpldGR0MUtnUndzUERFUk1UbzNPZGJk
752 dTI0ZW1ubjlhYVdOVEcwZEVSa3lkUHh0cTFhL1d1Q3dCcXRScHBhV253OXZhdWtWZ0FRR1ptCkpz
753 ckt5clFtV1VSRWY4WGtna2lEN2R1M1kvcjA2UWEvdG5qNjlPbDZUVlBzMkxFRDA2ZFBOeWlXSWZI
754 K0xEczdHeVVsSmZEMzk5ZFkKbnBLU0FnRHc4L016dEh0bVpmdjI3WGpxcWFjd2JOZ3dGQllXS3Qw
755 ZE1tTzNidDFDVUZBUU9uVG9nRTJiTmluZEhZdkNOUmRFR2hRVQpGTlRyZitwdDJyVEJyVnUzVUYx
756 ZHJkTjZqWUtDQXJpNnVob2NyMTI3ZGlnb0tEQ283djMxRnNuSnlUaHg0a1NOOHN6TVRFaVNaQlZY
757 CkxrcExTekZseWhSVVZGVGcwcVZMV0xSb0VkYXNXYU4wdDhoTUxWbXlCTW5KeWFpc3JFUjRlRGlH
758 RFJzR0Z4Y1hwYnRsRWZSZWMySG8KLytTSVNIbWFUdmVRa0JEczJiTUhOMi9laEwyOS9VTmwxZFhW
759 YU5hc0dkemQzWEg2OU9sYTIrYllRRVQzNlQwdElvVGdEMytzL2ljOApQQnlmZnZwcHJaK3A3WHk0
760 ZnYwNkhCMGRkWTRYRkJTRXhNUkVnK1A5K09PUDZOeTVjNTMxTlozUFI0OGVSWThlUFdva0ZnQ1Fs
761 WldGCjh2SnluYTlhMUdlZm0ycDgrZXl6ejlDOGVYTUFRRTVPanVMSG1qWDhtUHB2ZzZuaTVlWGxQ
762 VmlVdlhUcFVzWDNzeVg5Y00wRmtRWWoKUjQ1RVFrS0N3ZlVURWhJUUZCUmt0dkh1TzNQbURBb0xD
763 N1V1WEQxMjdCZ0E2MWx2QVFBdnZmVFNnOGVuMTJjcWlxeGZxMWF0a0pXVgpCUUI0ODgwM0ZlNk5a
764 V0Z5UWFUQjhPSERjZjM2ZFkxckVPcWlWcXNSSFIxZDR3bVd0UWtORGNXUkkwZVFtNXVyZDd6eThu
765 SnMyTEFCCnMyZlAxcnZ1L2ZVV3ZyNitHc3ZUMHRJQXdDcldXeENSNlRDNUlOTEExdFlXczJmUHhn
766 Y2ZmUERnTXF5dXRtM2JocVpObTZKLy8vNDYKMTNuMDBVY3haY29VUkVWRjZkdFZyRjY5R3M4ODg4
767 eERqd3JYMWVIRGh5RkpVcTNKUmNlT0hkRzZkV3U5MnlhaWhvdkpCWkVXOCtiTgp3N1ZyMTdCbzBT
768 S2RFNHkwdERUTW5Uc1hhOWV1MVh1QjR6Ly8rVThjUEhqd3dVdktkTEY3OTI0c1hib1VLMWFzMENz
769 V0FGUlVWQ0ExCk5SWHQyN2ZYdUFJK096c2IrZm41R0RCZ2dONXRFMUhEeHVTQ1NBdDdlM3ZzM3Iw
770 YisvZnZ4NnhaczJwOUEybGxaU1ZpWTJNeGV2Um8KZlBIRkZ3YTl1S3hGaXhiWXQyOGZWcTVjaVlV
771 TEY2S29xRWpyWjh2S3l2REpKNThnTEN3TVNVbEplajE4S3ljbkIzNStmdkQwOUVSQgpRUUZ5Y25M
772 ZzYrdUxWYXRXQWZnalllbmZ2eitHREJrQ1NaS1FsSlFFZjM5L0hEOStYTzl0SXFLR2lZLy9KcXJE
773 N2R1MzhmcnJyK09yCnI3N0MwS0ZEOGNJTEw2QkRodzVvMzc0OWZ2enhSMnpmdmgzcjFxMkRoNGNI
774 UHY3NFk1MGYrYTFOUVVFQkZpeFlnTjI3ZDJQczJMR1kKTVdNR1hGMWQ0ZTd1am95TURHemV2Qm1i
775 Tm0xQ256NTk4T21ubitLcHA1N1NxVjFqUHpMWjBoNy96VWRJeThmYXZ6c2VLL3BqY2tHawpvNXMz
776 YjJMVHBrMUlTRWhBWGw0ZUxsMjZoQzVkdW1EdzRNR0lpSWhBbHk1ZFpJMlhuNStQMk5oWWJOMjZG
777 UVVGQmNqTnpVVzNidDBRCkdCaUk4UEJ3dUx1NzY5VWVrd3RsNDFremEvL3VlS3pvajhrRlVRUEI1
778 RUxaZU5iTTJyODdIaXY2NDVvTElpSWlraFhmTFVMVWdCanoKRWQxT1RrNUdhNXVJTEF1VEM2SUdn
779 cGQxaWNoVU9DMUNSRVJFc21KeVFVUkVSTEppY2tGRVJFU3lZbkpCUkVSRXNtSnlRVVJrQVZRcQpG
780 U1JKTXRxUFNxVlNlaFBKaXZBaFdrUmtGdmhncE5xWjgwUFFyUDI3czdSanhSend5Z1VSS2VMOCtm
781 TllzR0FCdW5idGlqWnQyZ0FBCnZMMjk4ZEZISDZHd3NGRDJlTm5aMlFnUEQ0ZW5wK2VEVjhqMzc5
782 OGZNVEV4S0MwdGxUMGVVVVBHNUlLSVRPcjA2ZE1JQ0FpQXI2OHYKbWpScGd2ajRlR1JrWkFBQS92
783 T2YvK0NubjM1Q2h3NGRNR3ZXTE55OGViUGU4WTRmUDQ0QkF3Wmd4SWdSYU51MkxiWnMyWUlUSjA0
784 QQorT00xOXdjT0hJQ2JteHZtejUrUDh2THllc2NqSWdDQ2lNaEVVbE5UaGJPenM0aU9qaFozNzk1
785 OXFPelB3MUYrZnI2WU0yZU84UEx5CkVsZXVYREU0M280ZE8wVExsaTNGbDE5K0thcXFxclRHeTgz
786 TkZSTW5UaFQ5K3ZVVHhjWEZCc2N6Sm0zRDlaZ3hZNFNIaDRlUUpFblkKMmRtSnA1OStXcno0NG90
787 Q0NDRXVYcndvQmc4ZUxKNTQ0Z2toU1pKbzFxeVo4UGIyRnA5Ly9ybk83ZGVuYjhaaTdmR3NBZmNZ
788 RVpsRQpkbmEyY0haMkZ2djM3OWRZL3RjQlhLMVdpOGpJU05HOWUzZFJVbEtpZDd6N2lVeFdWcFpP
789 OGFxcnE4WGN1WE9Gdjc5L2pjVEhITlQyCkJ5NDlQVjFJa2lUbXo1K3ZzVHdxS2twSWtpUVNFeE1O
790 YXI4K2ZUTUdhNDluRFRndFFrUW1NV2ZPSEVSRlJlRzU1NTdUNmZPU0pHSHgKNHNYbzNyMDcvdjN2
791 ZitzVlM2MVdZOWFzV1lpTGkwT3ZYcjEwcW1Oalk0UGx5NWZEenM0TzY5YXQweXVlMG80Y09RSUFD
792 QXdNMUZpZQprcElDVzF0YkJBUUVtTEpiMUlBeHVTQWlvenQxNmhSeWNuSXdmZnAwdmVyZFR6RFdy
793 MStQeXNwS25lc2xKeWZEeWNrSnc0WU4weXVlCnJhMHQvdkdQZnlBbUpzYWk3ZzQ0ZlBnd0dqZHVE
794 RjlmM3hwbFZWVlZTRXRMUTdkdTNkQzhlWE1GZWtjTkVaTUxJaks2bUpnWWhJZUgKbzFFai9kK1Y2
795 T0hoQVM4dkwrellzVVBuT3RIUjBZaUlpRERvTGJCK2ZuNVFxOVU0ZXZTbzNuV1ZvRmFya1phV0Jt
796 OXZielJ0MnJSRwplV1ptSnNyS3lqQm8wQ0FGZWtjTkZaTUxJaks2UFh2MklEUTAxT0Q2b2FHaDJM
797 MTd0MDZmcmE2dXh0NjllekZwMGlTRFlrbVNwRmM4CnBXVm5aNk9rcEFUKy92NGF5MU5TVWdEOGtU
798 UVJtUXBmdVU1RVJsZFlXSWpISDMvYzRQcVBQLzQ0aW9xS2RQcHNTVWtKSEJ3Y1lHOXYKWDY5NEZ5
799 NWNNTGkrS2QxZmI1R2NuUHpnRnRzL3k4ek1oQ1JKdkhKQkpxWDNFem9OdWN4SVJFVDFwMm00RGdr
800 SndaNDllM0R6NXMwYQpDVlYxZFRXYU5Xc0dkM2QzbkQ1OXV0YTJPYmFUblBTK2NtRkppNXlJeUR5
801 NHVibmh1KysrZzRlSGg5YlAxUGFJNVppWUdLU25weU11CkxxN09XR3ExR3ZiMjlyaCsvWHF0Q3ho
802 cmkvZnV1Kytpc3JJU1M1Y3VyVE9lcVdqNjR5K0V3TkdqUjlHalJ3K05WMnF5c3JKUVhsNnUKODFV
803 TFE4ZDNhMzhjTngvL3JUK3V1U0Fpb3dzSkNkRXBNZEFtTGk0T1k4ZU8xZW16TmpZMkdEMTZORFp0
804 Mm1SUXJPcnFhc1RIeDJQYwp1SEVHMVRlbE0yZk9vTEN3RUFNSER0UllmdXpZTVFCY2IwR214K1ND
805 aUl4dTl1elppSTJOUlVWRmhkNTFzN0t5Y08zYU5Zd1lNVUxuCk9oRVJFWWlPampib2Y1djc5dTJE
806 czdNemV2ZnVyWGRkVTd1LzNrTFRMYWdBa0phV0JnQmNiMEVteCtTQ2lJeXVjK2ZPNk5HakJ6NzcK
807 N0RPOTZxblZhcnozM25zSUR3K0hyYTJ0enZVR0Rod0lPenM3Yk42OFdhOTRGUlVWV0xKa0NTSWlJ
808 dlNxcDVURGh3OURrcVJhazR1TwpIVHMrZUZFYmthbndiaEVpTW9uVnExZGp3SUFCYU51MnJVNjNp
809 YXJWYXN5Yk53K2xwYVZZdUhDaFhyRWtTY0ttVFpzUUVCQUFGeGNYCm5aNEtXbGxaaVduVHB1R0pK
810 NTdBdEduVDlJcW5oSXFLQ3FTbXBxSjkrL1p3Y1hHcFVaNmRuWTM4L0h3TUh6NWNnZDVSUThjckYw
811 UmsKRXU3dTd0aTNieDllZSswMXZQMzIyN2h4NDRiV3o1NDlleGJqeG8xRGRuWTJkdTdjaVNaTm11
812 Z2Q3K21ubjhhMmJkc1FHaHFLano3NgpDQ1VsSlZvL2UvTGtTUXdiTmd6bDVlV0lqNCtIalkzNURv
813 MDVPVG53OC9PRHA2Y25DZ29La0pPVEExOWZYNnhhdFFvQXNIdjNidlR2CjN4OURoZ3lCSkVsSVNr
814 cUN2Nzgvamg4L3JuRFBxU0hSKzFaVUlxTDZ5TTNOeFR2dnZJTmR1M1poMUtoUm1EQmhBbHhjWE5D
815 blR4OTgKOGNVWGlJMk54Zi8rOXorRWhZVmg4ZUxGZU9TUlIrb1Y3K3paczNqMzNYZXhmLzkrVEp3
816 NEVhTkhqMGJMbGkzaDdlMk45ZXZYWTgyYQpOYmg2OVNwZWV1a2xMRnk0VUsvcEYxTXk5aDBMOVdu
817 ZjJ1L2U0TjBpK21OeVFVU0tLQ3dzeE1hTkcvSGRkOStocUtnSVdWbFpHRFZxCkZDWk5tb1NRa0JD
818 RHJsYlU1dXJWcTFpN2RpMk9IajJLNHVKaW5EeDVFdVBHamNQVXFWTXhZc1FJczAwcTdtTnkwWERp
819 V1FNbUYwUkUKRm9ESlJjT0padzNNZDJLUmlJaUlMQkx2RmlFaXNoREdmRVMzazVPVDBkcW1ob2ZK
820 QlJHUkJlQmxlYklrbkJZaElpSWlXVEc1SUNJaQpJbGt4dVNBaUlpSlpNYmtnSWlJaVdURzVJQ0lp
821 SWxreHVTQWlJdEtDZCtrWWhza0ZFUkhwcGJTMEZLdFdyVUt2WHIxZ2IyOFBBSEJ3CmNJQ1Bqdzlp
822 WTJOUlZsWW1hN3lpb2lKODhza244UEx5ZXZDdUdVZEhSL2o1K2VHcnI3NUNaV1dsclBHdVhidUd5
823 TWhJZE96WThVRzgKWnMyYVlmanc0ZGk5ZXplcXE2dGxqV2VObUZ3UUVaRk9xcXVyOGM0Nzc4RE56
824 UTM3OSsvSHNtWExVRkJRQUFDNGZ2MDYzbi8vZmV6YQp0UXZ0MnJYRGh4OStXTy8vOVZkVVZPRGxs
825 MTlHaHc0ZGNPclVLYXhkdXhaRlJVVUFnTXVYTDJQZXZIbFl1M1l0M056Y3NIcjE2bnB2ClgybHBL
826 YVpObTRZdVhicmd5cFVyU0V4TWZQQTIzWXNYTHlJME5CUWZmUEFCT25Ub2dNVEV4SHJIczJaOHR3
827 Z1JFZFdwcXFvS2t5ZFAKUm1GaEllTGo0OUcyYmRzSFpYOTk5OGJ2di8rT3laTW5vM1Buem9pTmpU
828 WG9wWEIzN3R6QnlKRWpvVktwc0dyVktqZzdPMnVOZC9yMAphWXdmUHg2alJvM0MwcVZMRFhxUzZZ
829 MGJOL0RjYzgraFQ1OCtXTFpzR1pvM2I2NDFYbnA2T2laT25JaFhYbmtGQ3hZczBEdFdROERrCmdv
830 aUlhaVdFd0lzdnZvZ3JWNjVnNTg2ZE5kNVlxK25GWG1WbFpRZ01ERVN2WHIzd3lTZWY2Qld2dXJv
831 YW8wZVBoa3FsMHBpY2FJcFgKVkZRRWYzOS9USnMyRGErOTlwcGU4ZTdldll2Qmd3ZGowS0JCR3BN
832 VFRmRXVYNzRNWDE5ZkxGbXlCSC8vKzkvMWl0Y1FNTGtnSXFKYQpaV1JrWU9MRWlmajU1NS94NktP
833 UDFpalg5dGJRNHVKaWRPblNCWWNPSFlLbnA2Zk84WGJ0Mm9YSXlFaWtwNmZEenM1TzUzaTV1Ym5v
834 CjFxMGJ6cDgvRHhjWEY1M2p4Y1RFSUNrcENkOSsrNjNHcXg3YTR2MzAwMC80MjkvK2hweWNIRFJ0
835 MmxUbmVBMEIxMXdRRVZHdG9xT2oKRVJFUm9UR3hxSTJUa3hOZWVPRUZ4TVRFNkIzdjFWZGYxWmhZ
836 MU1iVjFSVmp4NDdGK3ZYcmRhNGpoRUIwZERSZWYvMTF2YWRUdW5mdgpEbTl2YjY2LzBJQlhMb2lJ
837 U0t2Q3drSjA3TmdSdi83NksxcTJiS254TTlyK1p3LzhjVFdoUjQ4ZXlNbkowU2s1T1gvK1BIeDlm
838 WkdUCmsvUGdUZzE5NG1WbFpTRWtKQVFYTGx6UWFhM0gwYU5IRVJZV2hsOSsrVVZyY2xGYnZEMTc5
839 aUF5TWhJLy9QQkRuYkVhRWw2NUlDSWkKclk0ZE80YStmZnRxVFN6cTR1cnFpaTVkdWlBakkwT256
840 eDg2ZEFnalI0N1VtbGpVNVpsbm5vR3RyUzErL2ZWWG5UNi9mLzkrakJzMwp6dURYMlE4ZlBoeW5U
841 NTkrY0ZjSi9ZSEpCUkVSYVZWY1hQelFuUnFHY0haMlJuRnhzVlhHczdXMVJZc1dMWFNPMTFEb1BT
842 MWlhSFpIClJFUkVEVU1qZlN0d2lRWVJVY054OE9CQkxGNjhHT25wNlZvL1U5dWFCQ0VFdkx5OHNI
843 SGpSdmo0K05RWkx6NCtIanQyN01ET25Uc04KaWxkVlZZVTJiZHJnNU1tVGNIVjFyVFBlc21YTGNP
844 blNKWHorK2VjR3hTc3BLVUdiTm0xUVdGaG84RlNPTmVLMENCRVJhVFZvMENEawo1dWJpOU9uVEJ0
845 VlBUMDlIVlZVVmV2ZnVyZFBuZzRLQ2tKcWFpcnk4UElQaUpTVWx3Y1BEUTZmRUFnQW1USmlBTFZ1
846 MkdQekk4dmo0CitIcXRFYkZXVEM2SWlFZ3JPenM3aElXRjZYMDc2WDNSMGRHWU0yY09iR3gwKzNQ
847 ejJHT1BZZno0OFZpM2JwM0I4U0lpSW5UKy9KTlAKUG9sKy9mcmhxNisrMGp2Vy9kdFk5WW5YVVBC
848 V1ZDSWlxdFdWSzFmUXZYdDNwS2Ftb2x1M2JqWEt0VTBiWkdabVl0aXdZZmoxMTEraApVcWwwanBj
849 T1VHUXRBQUFDdGtsRVFWU2RuWTJoUTRjaUl5TUQ3ZHExMHpuZTNyMTc4Znp6eitQMzMzK3Y4UlRS
850 MmlRbkp5TWlJZ0laCkdSa2ErNmt0M29ZTkcvRGYvLzRYMmRuWlhJLzRGN3h5UVVSRXRYcmlpU2Z3
851 MldlZlljU0lFVGgvL3J4T2RYNysrV2NFQndkanc0WU4KZWlVV0FOQ2pSdys4OGNZYkdENThPSzVl
852 dmFwVG5hTkhqMkw2OU9uWXRtMmJYb2tGQUFRRUJHRE1tREVJQ2dyUythNlByNy8rR20rOQo5UmEy
853 Yk5uQ3hFSVRRVVJFcElOMTY5YUpWcTFhaWRXclY0dmJ0MjgvK1AyZi81U1VsSlNJbFN0WENtZG5a
854 N0Y1ODJhRFk2blZhaEVWCkZTWGF0V3NudnZqaUMzSDM3bDJOOFFvS0NrUlVWSlJ3ZG5ZV3ljbkpC
855 c2VycnE0VzgrZlBGNTZlbm1MbnpwMmlxcXBLWTd6TGx5K0wKUllzV2lkYXRXNHVNakF5RDQxazdK
856 aGRFUktTenRMUTBFUndjTEZRcWxaZzNiNTVJU0VnUUFNU1hYMzRwNXN5Wkk1eWNuTVQ0OGVORgpa
857 bWFtTFBIMjdkc25oZ3daSWx4Y1hNU2JiNzRwTm0vZUxBQ0krUGg0TVczYU5QSFlZNCtKNmRPbml6
858 Tm56c2dTTHpFeFVmVHYzMSswCmJkdFd2UGZlZTJMTGxpMENnTmk0Y2FNWU8zYXNjSEp5RWhFUkVl
859 TGl4WXV5eExOV1hITkJSRVI2eThuSndmcjE2M0h1M0RsczJiSUYKa3laTmdwZVhGMmJObW9VMmJk
860 cklIdS84K2ZPSWpZM0ZoUXNYc0hYclZreWVQQm05ZXZYQ3pKa3owYUpGQzluam5UcDFDbkZ4Y2Jo
861 OAorVEsyYmR1R0tWT21vSC8vL3BnNmRTb2NIUjFsajJkdG1Gd1FFUkdSckxpZ2s0aUlpR1RGNUlL
862 SWlJaGt4ZVNDaUlpSVpNWGtnb2lJCmlHVEY1SUtJaUloa3hlU0NpSWlJWk1Ya2dvaUlpR1RGNUlL
863 SWlJaGt4ZVNDaUlpSVpNWGtnb2lJaUdURjVJS0lpSWhreGVTQ2lJaUkKWk1Ya2dvaUlpR1RGNUlL
864 SWlJaGt4ZVNDaUlpSVpNWGtnb2lJaUdURjVJS0lpSWhreGVTQ2lJaUlaTVhrZ29pSWlHVEY1SUtJ
865 aUloawp4ZVNDaUlpSVpNWGtnb2lJaUdURjVJS0lpSWhrOVg4T1FoaGRPdEJ6bGdBQUFBQkpSVTVF
866 cmtKZ2dnPT0K
867 </png>
868 </output>
869 </outputs>
870 </codecell>
871 <codecell>
872 <input>represent(4*encoding_circuit, nqubits=5)</input>
873 <language>python</language>
874 <prompt_number>15</prompt_number>
875 <collapsed>0</collapsed>
876 <outputs>
877 <output>
878 <output_type>pyout</output_type>
879 <text>⎑1 0 1 0 1 0 1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -
880 ⎒
881 ⎒0 1 0 1 0 1 0 1 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
882 ⎒
883 ⎒0 1 0 -1 0 1 0 -1 -1 0 1 0 -1 0 1 0 -1 0 1 0
884 ⎒
885 ⎒1 0 -1 0 1 0 -1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1
886 ⎒
887 ⎒0 -1 0 -1 0 1 0 1 1 0 1 0 -1 0 -1 0 -1 0 -1 0
888 ⎒
889 ⎒-1 0 -1 0 1 0 1 0 0 1 0 1 0 -1 0 -1 0 -1 0 -
890 ⎒
891 ⎒1 0 -1 0 -1 0 1 0 0 -1 0 1 0 1 0 -1 0 1 0 -
892 ⎒
893 ⎒0 1 0 -1 0 -1 0 1 -1 0 1 0 1 0 -1 0 1 0 -1 0
894 ⎒
895 ⎒0 -1 0 -1 0 -1 0 -1 1 0 1 0 1 0 1 0 -1 0 -1 0
896 ⎒
897 ⎒-1 0 -1 0 -1 0 -1 0 0 1 0 1 0 1 0 1 0 -1 0 -
898 ⎒
899 ⎒-1 0 1 0 -1 0 1 0 0 1 0 -1 0 1 0 -1 0 -1 0 1
900 ⎒
901 ⎒0 -1 0 1 0 -1 0 1 1 0 -1 0 1 0 -1 0 -1 0 1 0
902 ⎒
903 ⎒1 0 1 0 -1 0 -1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -
904 ⎒
905 ⎒0 1 0 1 0 -1 0 -1 -1 0 -1 0 1 0 1 0 -1 0 -1 0
906 ⎒
907 ⎒0 -1 0 1 0 1 0 -1 1 0 -1 0 -1 0 1 0 1 0 -1 0
908 ⎒
909 ⎒-1 0 1 0 1 0 -1 0 0 1 0 -1 0 -1 0 1 0 1 0 -
910 ⎒
911 ⎒0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 0 -1 0
912 ⎒
913 ⎒1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 -1 0 -
914 ⎒
915 ⎒-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 1 0 -
916 ⎒
917 ⎒0 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 1 0 -1 0
918 ⎒
919 ⎒-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -
920 ⎒
921 ⎒0 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 -1 0 -1 0
922 ⎒
923 ⎒0 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 -1 0 1 0
924 ⎒
925 ⎒-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 -1 0 1
926 ⎒
927 ⎒1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1
928 ⎒
929 ⎒0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0
930 ⎒
931 ⎒0 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 -1 0 1 0
932 ⎒
933 ⎒-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1
934 ⎒
935 ⎒0 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 1 0 1 0
936 ⎒
937 ⎒-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 1 0 1
938 ⎒
939 ⎒-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 1 0 -
940 ⎒
941 ⎣0 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 1 0 -1 0
942
943 1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 ⎀
944 βŽ₯
945 -1 0 -1 0 0 -1 0 -1 0 -1 0 -1βŽ₯
946 βŽ₯
947 -1 0 1 0 0 -1 0 1 0 -1 0 1 βŽ₯
948 βŽ₯
949 0 -1 0 1 -1 0 1 0 -1 0 1 0 βŽ₯
950 βŽ₯
951 1 0 1 0 0 -1 0 -1 0 1 0 1 βŽ₯
952 βŽ₯
953 1 0 1 0 1 -1 0 -1 0 1 0 1 0 βŽ₯
954 βŽ₯
955 1 0 -1 0 1 1 0 -1 0 -1 0 1 0 βŽ₯
956 βŽ₯
957 -1 0 1 0 0 1 0 -1 0 -1 0 1 βŽ₯
958 βŽ₯
959 -1 0 -1 0 0 -1 0 -1 0 -1 0 -1βŽ₯
960 βŽ₯
961 1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 βŽ₯
962 βŽ₯
963 0 -1 0 1 -1 0 1 0 -1 0 1 0 βŽ₯
964 βŽ₯
965 -1 0 1 0 0 -1 0 1 0 -1 0 1 βŽ₯
966 βŽ₯
967 1 0 1 0 1 -1 0 -1 0 1 0 1 0 βŽ₯
968 βŽ₯
969 1 0 1 0 0 -1 0 -1 0 1 0 1 βŽ₯
970 βŽ₯
971 -1 0 1 0 0 1 0 -1 0 -1 0 1 βŽ₯
972 βŽ₯
973 1 0 -1 0 1 1 0 -1 0 -1 0 1 0 βŽ₯
974 βŽ₯
975 -1 0 -1 0 0 1 0 1 0 1 0 1 βŽ₯
976 βŽ₯
977 1 0 -1 0 -1 1 0 1 0 1 0 1 0 βŽ₯
978 βŽ₯
979 1 0 1 0 -1 -1 0 1 0 -1 0 1 0 βŽ₯
980 βŽ₯
981 1 0 -1 0 0 -1 0 1 0 -1 0 1 βŽ₯
982 βŽ₯
983 1 0 1 0 1 1 0 1 0 -1 0 -1 0 βŽ₯
984 βŽ₯
985 1 0 1 0 0 1 0 1 0 -1 0 -1βŽ₯
986 βŽ₯
987 1 0 -1 0 0 1 0 -1 0 -1 0 1 βŽ₯
988 βŽ₯
989 0 1 0 -1 1 0 -1 0 -1 0 1 0 βŽ₯
990 βŽ₯
991 0 1 0 1 -1 0 -1 0 -1 0 -1 0 βŽ₯
992 βŽ₯
993 1 0 1 0 0 -1 0 -1 0 -1 0 -1βŽ₯
994 βŽ₯
995 -1 0 1 0 0 1 0 -1 0 1 0 -1βŽ₯
996 βŽ₯
997 0 -1 0 1 1 0 -1 0 1 0 -1 0 βŽ₯
998 βŽ₯
999 -1 0 -1 0 0 -1 0 -1 0 1 0 1 βŽ₯
1000 βŽ₯
1001 0 -1 0 -1 -1 0 -1 0 1 0 1 0 βŽ₯
1002 βŽ₯
1003 1 0 -1 0 1 -1 0 1 0 1 0 -1 0 βŽ₯
1004 βŽ₯
1005 -1 0 1 0 0 -1 0 1 0 1 0 -1⎦</text>
1006 <latex>$$\left(\begin{smallmatrix}1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0\\0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1\\0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1\\1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0\\0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1\\-1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0\\1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0\\0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1\\0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1\\-1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0\\-1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0\\0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1\\1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0\\0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1\\0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1\\-1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0\\0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1\\1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0\\-1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0\\0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1\\-1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0\\0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1\\0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1\\-1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0\\1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0\\0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; -1\\0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1\\-1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0\\0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1\\-1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0\\-1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0\\0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 1 &amp; 0 &amp; 1 &amp; 0 &amp; -1\end{smallmatrix}\right)$$</latex>
1007 <prompt_number>15</prompt_number>
1008 </output>
1009 </outputs>
1010 </codecell>
1011 </cells>
1012 </worksheet>
1013 </worksheets>
1014 </notebook>
1 {
2 "nbformat": 2,
3 "name": "qerror",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Quantum Error Correction</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 1,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 2,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "source": "<h2>5 qubit code</h2>",
29 "cell_type": "markdown"
30 },
31 {
32 "cell_type": "code",
33 "language": "python",
34 "outputs": [
35 {
36 "output_type": "pyout",
37 "latex": "$$Z_{1} X_{2} X_{3} Z_{4}$$",
38 "prompt_number": 3,
39 "png": "iVBORw0KGgoAAAANSUhEUgAAAFsAAAAYCAYAAACV+oFbAAAABHNCSVQICAgIfAhkiAAAA2NJREFU\naIHt2EmIHFUcx/FPktHQCS5oSGA0KoILIsaLmIOGOC4MMuA2CCYwGJfgwRUdRnBFFMlN9BAvBiFR\nBBcUPQREXHADMYgoKBIVnShCoqjEZZw4Hv41M9Xd1Rm76lWL0D8o6Fev6vte/+ot//+jr/9cKzGF\nGfyFL/AqdmbXvqzuin/BGsOu7PkZ/I6ncvUX46es7m98jnVd9LVufkovCrUJf+IWHNJSdykO4NEu\nmQ9mnbqvoG6L+AODXTJ7wa/DiyY9j5GC+2fjN7yExV0yV2Man7XcX4etJXi94tfhxZwOxRsF90/E\nD/gAy0qyXxajb31WPkNM+YGSvLr5dXoBjsOFLfeOEiPma6yqwB4RZjyDE/CCip2tmV+nF4VairfE\nJnNaRdYSfCPWwFdwdEVer/kpvWjTIjwtduOhRMx7xOi7KxGvV/w6vGjSw6LjY4l4A9guOrxb/IGU\nqpOf2osmbVYcSjWU/7JbcS6ezdjDpXvXW34dXsxpWATwTxbUXYPLSjAfwiXZ7/NF518s07ke8+vw\nYk5n4he8pj2Ih7exPFfegBsXYN6K63PlRSKTm8YxB3lvCPfiETyGwxLxB7Exe2cbRjtwu/ViVsux\nowNzTsdiDz7FEQX1G0QsC2vFtPoEdx+EuVHxZnW7GH33d3jvFIznyo/jzUT87eIDwhqRxq9peaYb\nL1q1RXty1aTD8TG+x/EtdYO4M+vUdS11OxSbvTRr9KMO7Q1mvMns2VZdi2/Nb3IXCPNWJuCfLj4m\nrNCcCFHeC7gIV1vA7G1Zo5N4P7t24WfzhzxT2gP5VrMbeA9/ZO8cEOcWeY2KeHiW+51IQPI6UnNC\ncRX2i1GWgj+rMbyjeZko68UK3IBTLWB2WXUa2Sm1GO/ipoTM1cKYndJlghMi/Pxfm/0A7qiJvRZf\naV8uutUoTsp+F5q9pGIDcDn2ijS2Dm0SS8ITYpoSoVhZNcQs2SPOpifFRj+N1ytwx8V+co6Ios4S\n/n6JXytwm1TnyB7RfNA/ofrB1YCIoGY3yFViDb6yIjevYYmXkZNxmzj9+hA3m48UUmi9GMEzuWt3\nIvaQOEPZLMK3CelS+/PwnNjMx+UOw6o00NAef+5TbYrntUyEYHlN4cdEfCL52J+QR3jSyJX3iiWq\nr7766quq/gHxxxJqg1cEfAAAAABJRU5ErkJggg==\n",
40 "text": "Z \u22c5X \u22c5X \u22c5Z \n 1 2 3 4"
41 }
42 ],
43 "collapsed": false,
44 "prompt_number": 3,
45 "input": "M0 = Z(1)*X(2)*X(3)*Z(4); M0\n"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [
51 {
52 "output_type": "pyout",
53 "latex": "$$Z_{2} X_{3} X_{4} Z_{0}$$",
54 "prompt_number": 4,
55 "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA4lJREFU\naIHt2FuoFWUUB/Df1pPHki5UWmk3eisiohfxIa0siLCyi1AZdqEMIqmQsqioSJEoeqgHiSCjG0EY\nlRKBGSFFNzpEFygqjLIi6B5k6dHTw5o5e/bec07umW/vXvYfBuabNfOfNf9Z37fWtxjgf8Us7MQY\nduELbMar2fFzZrtoL7iWYSS7fww78EzBfg5+zWx78Dnmd+Frr/lTatGBq/APbsQ+bbbF2I2Hu+Rc\nnTl0d4ntfuH87C45+8HfCy3GsQGLSq7PxV94CVO65DwKo/is7fp8rKvA1y/+XmgBpuGNkuvH4Ue8\nj/2qEGOjiLrTsvFJYpoPVeTrNX8vtXA0zmq7drCIlK9xWFViERljeA7H4gU1HO0Dfy+16MAwtoqE\nckJNrqn4Rqx5m3BITb5+86fUogUNPCuy7hmJOO8SUXdHIr5+8fdCi3GsFU4vS8Q3hKeEs18J51Oi\nl/yptRjHcuXl0r6q/9F1OBXPZ9xnV/auv/y90ALh4C48UWK7GhdU4FyD87PzhcLxF6s412f+XmgB\nTsYf2KKzQIc3MQPTcYtYE9djySScN+HawrghdmijmDPJc6eLqXo7HjXxhqMqP/FTbpjAtrda5DgX\nK4Um10z20iPxHT7FgSX2y0StCvdqfsQR+AUXljyzVHliWimi7p4JfJmFP3F8Nl6P1xPyw0H4BHeW\n2LrRgqjZtxbGG3Fe2UsPwEf4Ace02WbjNtEryP/UxyKic2zS2mMYFlvfD8telnHuwfbs3nY0RF08\nLRuvbuOqyw+r8IBOobvVgkjCtxbGy/Fy2UsfFxGwHe9kxwh+12zY7NQs0ueKgj7Hu3hQJIi38Xf2\nzG4hUhEXi3o35/1ebC4mwwcielPxL8aJ2bPtQnerBbFLXFoYL8K3//FNXWOemGZJd0oZzsRjWqOl\nLubgiuy8TOgq2KY1MS4U6zvqN3JgJu7DArH/T43XRKI7BQ8l4GvgcjyZgKuIbSLSc8wQeQv1hd5f\nZNhL8aXO9awOLsFbmpuOV0R1cWhN3nkiea8Sa+0CUXtfV5N3RCTwHIeL5as2pgtn86bNVOW94Kq4\nUmvtulasmSlmYRFPS7N0LBHNrBwbRADWRr77Kh4rUhBnGBb18wohxGaRvFLietGFe0/MoDpo4BHc\nLAJwjUILoE4vYKaI4iJ+E9VASkwRou9IzEtM7xyj+CkB55BmNTTAAAMMUAf/AiT2FBaVsAtVAAAA\nAElFTkSuQmCC\n",
56 "text": "Z \u22c5X \u22c5X \u22c5Z \n 2 3 4 0"
57 }
58 ],
59 "collapsed": false,
60 "prompt_number": 4,
61 "input": "M1 = Z(2)*X(3)*X(4)*Z(0); M1\n"
62 },
63 {
64 "cell_type": "code",
65 "language": "python",
66 "outputs": [
67 {
68 "output_type": "pyout",
69 "latex": "$$Z_{3} X_{4} X_{0} Z_{1}$$",
70 "prompt_number": 5,
71 "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA3RJREFU\naIHt2VtoHHUUx/FPTTSY1rTEeiHeSlEExUv1QVQMoggiXlEqXihaVPLmFalIUagifREUtPiiglQK\noiiKKCposSgIQQTBKqKUWC14odZ6aVrjw5nNTiazJjvzn9WH/GBh5/+f/e6Z3575nzP/ZUH/qY7E\nPkxhEl/hHbyVvX7K5q6dB2sNxrPzp/AHNufmL8Mv2dzf2I7RLmJtmp/Si1m6FX/hThxcmLsaB/Bk\nl8xHsoAeKpnbKIIf6ZLZC34TXkzrZVxeMn4OfsdrOKhL5nHYjy8K46PYVIHXK34TXoBD8H7J+Ers\nwicYrALG6yLrLsyOTxe3eX9FXtP8Jr1wPC4pjA2LTPkWR1UFi8yYwhaswCtqBNoDfpNezNIAtoqC\nckpNVh92iDXvDRxek9drfkovZmgRXhRV96JEzPUi6x5MxOsVvwkvpvWYCHpNIl4/XhDBfi2CT6km\n+am9mNYdytulQ1X/RTfhAryUsS+tHF1v+U14gQhwEs+XzK3FNRWYj+Kq7P3FIvBXqwTXY34TXoAz\n8SveM7tBhw+xGEtxg2jon8HYvzDvwu2540XiCW0/jplnXJtFBqXgHyYeQMbwOM7owJ2vF3mtwlMd\neNM6Ft/hc2FkUTeKXhU2aGfMsLioK0s+c5PywnSvyLqH5wpK/KCTWJKIv1E7MZbjGwwVzunGi9b5\n6/GmeDTvqCF8hu9xQmFuBOvEXsFt2dgKnJ07Zw9uyR0PZBf0aYfvG8l4E9m5nbQSN+M3M42uyh/E\nXjMfx7dide64Wy/yGjOH0c+KDJjAx9lrHLu1N2z2KW/SR/Ellonb+yP8mX3mgNiHyOs60e+2uDvF\nw0VRfXgge98yui7/ZGFSviPZIrqKFF7MaXQVDYssfhcnpYaLjGldTDGjq+p8kdF5PYenE7DpYHTd\njZyfRTVeiw9EIUilVSKjdiVkEuvxVGFssbiWxlTH6Le1K/0O/IC7a0fU1mpR9deJYjeAe3BWTe5O\nUU/y3cLR4hr+l9qG87L3/aINur+h71ousjDF0kFsbba2PodEkpR1FlVUunT01QCO4wqciPvE0rFB\nFJqUOlX0vOeKH3QCP9ZkbhMxLxFt2hOiy6ijpeIOvx6niWK7V7b0pdgLGBR/HxXXvVQaNLPH3Z19\nXwoNiJ2+FOrDEYWxPWYX3gUtaEELmq/+AS2CEfeikOXjAAAAAElFTkSuQmCC\n",
72 "text": "Z \u22c5X \u22c5X \u22c5Z \n 3 4 0 1"
73 }
74 ],
75 "collapsed": false,
76 "prompt_number": 5,
77 "input": "M2 = Z(3)*X(4)*X(0)*Z(1); M2\n"
78 },
79 {
80 "cell_type": "code",
81 "language": "python",
82 "outputs": [
83 {
84 "output_type": "pyout",
85 "latex": "$$Z_{4} X_{0} X_{1} Z_{2}$$",
86 "prompt_number": 6,
87 "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA2BJREFU\naIHt2F2oZlMYB/DfmDOOYTgiTMfHwZSLuZA0kguTSA3JR+PK6BTNiJqcKWEm5IxGcjEpNwdJSoSJ\niKIQTcqUmjQ1RUO+Bo0MIV/z4bh41nvOPu/Z++Tde+3XhfOvXXutZ6//evZ/P3utZz3M4z/FyTiA\nSRzEHryFN9O1P9lW/wuuUexMz0/iDzxbsF+Jn5Ltb3yClT342jZ/Ti1m4Sb8hTEs6rJdi8N4tEfO\nLcmh+0tsDwvnh3vk7Ad/G1pM4SVcVdJ/IX7HqziiR87TcQgfd/WvxEQNvn7xt6EFOBLvlfSfjX34\nEEfXIcZrIuouSe1zxW8+UJOvbf42tXAGLu/qO0FEyhc4pS6xiIxJPI8z8bIGjvaBv00tZmEQ28WG\nsrwh10J8Jda813FiQ75+8+fUYgYW4Dmx616aifM+EXX3ZOLrF38bWkzhIeH0aCa+ATwjnP1MOJ8T\nbfLn1mIKtyhPlxar/0UncDG2Je5Vtb3rL38bWiAcPIinS2w347oanA/imnR/mXD8lTrO9Zm/DS3A\nefgF75idoMP7OKarb7l40SpswLpCe4E4oR3CqXOMW4FNafxm1flqXf47zS1Ur1qM4l48nvyuzK9P\nwzfYjaES+w0iVy1iEd7FkxWca5RvTHeIqBuvGHcsPsVRqT2OBzLxr0r9X+PGivl71WI1rkj3A9iB\nrWXEx2EXvsNIl20YG0WtYG2XbT3uNlvoQXH0/ajiRYYT3970bDfG8GKhfb548Vz8RESWCV1Hiwlx\nSuxgI74sm/QpEQF7xdfYIYo1P5su2BwwM0m/SKyHa00LvRgf4M805rCoQxRxvch3O7zfisNFERN4\npNBemp4dycRPtdB1tDgLFxTaW9O4xliC29N9Uehc2Gbmuj8kXvCcjHNUCd0Ux4u/YapK2KSQsw5P\nNPVoDnwuhO2gs+n82OKcObAQj4mMZHuns67QIyLT2CDWoqtFAeeuZj7OwE5RC+5gqaiW/ZBxjjYw\nLvaON8xe3xtji/xLxzJRvOkEwyYVu3gD5F46bhNrNZFibs7IbY2Ivj3iBJUT60V03CqK67mKRCtE\nprQfb6d5mlYRx0xvlJ3rhY4xRy3gJLEuSeT7MnB2Y1BU5HJhSbqK+F6kbHUxJDKuIn7Drw045zGP\nefy/8Q8KoQ22z/3wywAAAABJRU5ErkJggg==\n",
88 "text": "Z \u22c5X \u22c5X \u22c5Z \n 4 0 1 2"
89 }
90 ],
91 "collapsed": false,
92 "prompt_number": 6,
93 "input": "M3 = Z(4)*X(0)*X(1)*Z(2); M3\n"
94 },
95 {
96 "source": "These operators should mutually commute.",
97 "cell_type": "markdown"
98 },
99 {
100 "cell_type": "code",
101 "language": "python",
102 "outputs": [
103 {
104 "output_type": "pyout",
105 "latex": "$$0$$",
106 "prompt_number": 7,
107 "png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAASCAYAAABvqT8MAAAABHNCSVQICAgIfAhkiAAAAN1JREFU\nKJHN0i1LRFEQxvGf7i6LrGE3adCoUbAZBT+GzWATi9Vm22D3Q9gtZqNo8WXNgi9BUHBdUMO9F8bD\nlG1OOcwz8z9zeM4wZcwU+RKGeMQbOjjGawa3MMJu0I5whtkM2MYYvaCt4Ac7GXCJ80R/wGmTNKPa\nWMN9AoywWQILKgPeE+ADA3QjsBiKGQD9CIzr8zsBOrHWALf4SpqpXJvgJQIT3NRvLWMeTyp7/3zI\nFZaL5hbWcZ2NPlCtwFzQNuqbtzJggDvsBe0EF7GpXL5VHOKzznvYx3M24Z/EL9XoKBNI+V0xAAAA\nAElFTkSuQmCC\n",
108 "text": "0"
109 }
110 ],
111 "collapsed": false,
112 "prompt_number": 7,
113 "input": "gate_simp(Commutator(M0,M1).doit())\n"
114 },
115 {
116 "source": "And square to the identity.",
117 "cell_type": "markdown"
118 },
119 {
120 "cell_type": "code",
121 "language": "python",
122 "outputs": [
123 {
124 "output_type": "display_data",
125 "latex": "$$1$$",
126 "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n",
127 "text": "1"
128 },
129 {
130 "output_type": "display_data",
131 "latex": "$$1$$",
132 "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n",
133 "text": "1"
134 },
135 {
136 "output_type": "display_data",
137 "latex": "$$1$$",
138 "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n",
139 "text": "1"
140 },
141 {
142 "output_type": "display_data",
143 "latex": "$$1$$",
144 "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n",
145 "text": "1"
146 }
147 ],
148 "collapsed": false,
149 "prompt_number": 8,
150 "input": "for o in [M0,M1,M2,M3]:\n display(gate_simp(o*o))\n"
151 },
152 {
153 "source": "<h2>Codewords</h2>",
154 "cell_type": "markdown"
155 },
156 {
157 "cell_type": "code",
158 "language": "python",
159 "outputs": [
160 {
161 "output_type": "pyout",
162 "latex": "$$\\frac{1}{4} \\left(1 + Z_{1} X_{2} X_{3} Z_{4}\\right) \\left(1 + Z_{2} X_{3} X_{4} Z_{0}\\right) \\left(1 + Z_{3} X_{4} X_{0} Z_{1}\\right) \\left(1 + Z_{4} X_{0} X_{1} Z_{2}\\right) {\\left|0\\right\\rangle }$$",
163 "prompt_number": 9,
164 "png": "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\nhBCC/wPS77xfXVkDTQAAAABJRU5ErkJggg==\n",
165 "text": "\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u27580\u27e9\n\u239d 1 2 3 4\u23a0 \u239d 2 3 4 0\u23a0 \u239d 3 4 0 1\u23a0 \u239d 4 0 1 2\u23a0 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 4"
166 }
167 ],
168 "collapsed": false,
169 "prompt_number": 9,
170 "input": "zero = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(0, 5); zero\n"
171 },
172 {
173 "cell_type": "code",
174 "language": "python",
175 "outputs": [
176 {
177 "output_type": "pyout",
178 "latex": "$${\\left|0\\right\\rangle } + {\\left|3\\right\\rangle } - {\\left|5\\right\\rangle } + {\\left|6\\right\\rangle } - {\\left|9\\right\\rangle } - {\\left|10\\right\\rangle } + {\\left|12\\right\\rangle } - {\\left|15\\right\\rangle } + {\\left|17\\right\\rangle } - {\\left|18\\right\\rangle } - {\\left|20\\right\\rangle } - {\\left|23\\right\\rangle } + {\\left|24\\right\\rangle } - {\\left|27\\right\\rangle } - {\\left|29\\right\\rangle } - {\\left|30\\right\\rangle }$$",
179 "prompt_number": 10,
180 "png": "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\n",
181 "text": "\u27580\u27e9 + \u27583\u27e9 - \u27585\u27e9 + \u27586\u27e9 - \u27589\u27e9 - \u275810\u27e9 + \u275812\u27e9 - \u275815\u27e9 + \u275817\u27e9 - \u275818\u27e9 - \u275820\u27e9 - \u275823\u27e9 +\n \u275824\u27e9 - \u275827\u27e9 - \u275829\u27e9 - \u275830\u27e9"
182 }
183 ],
184 "collapsed": false,
185 "prompt_number": 10,
186 "input": "qapply(4*zero)\n"
187 },
188 {
189 "cell_type": "code",
190 "language": "python",
191 "outputs": [
192 {
193 "output_type": "pyout",
194 "latex": "$$\\frac{1}{4} \\left(1 + Z_{1} X_{2} X_{3} Z_{4}\\right) \\left(1 + Z_{2} X_{3} X_{4} Z_{0}\\right) \\left(1 + Z_{3} X_{4} X_{0} Z_{1}\\right) \\left(1 + Z_{4} X_{0} X_{1} Z_{2}\\right) {\\left|31\\right\\rangle }$$",
195 "prompt_number": 11,
196 "png": "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\n49kSjUC+pQAAAABJRU5ErkJggg==\n",
197 "text": "\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u275831\u27e9\n\u239d 1 2 3 4\u23a0 \u239d 2 3 4 0\u23a0 \u239d 3 4 0 1\u23a0 \u239d 4 0 1 2\u23a0 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 4"
198 }
199 ],
200 "collapsed": false,
201 "prompt_number": 11,
202 "input": "one = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(2**5-1, 5); one\n"
203 },
204 {
205 "cell_type": "code",
206 "language": "python",
207 "outputs": [
208 {
209 "output_type": "pyout",
210 "latex": "$$- {\\left|1\\right\\rangle } - {\\left|2\\right\\rangle } - {\\left|4\\right\\rangle } + {\\left|7\\right\\rangle } - {\\left|8\\right\\rangle } - {\\left|11\\right\\rangle } - {\\left|13\\right\\rangle } + {\\left|14\\right\\rangle } - {\\left|16\\right\\rangle } + {\\left|19\\right\\rangle } - {\\left|21\\right\\rangle } - {\\left|22\\right\\rangle } + {\\left|25\\right\\rangle } - {\\left|26\\right\\rangle } + {\\left|28\\right\\rangle } + {\\left|31\\right\\rangle }$$",
211 "prompt_number": 12,
212 "png": "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\n",
213 "text": "-\u27581\u27e9 - \u27582\u27e9 - \u27584\u27e9 + \u27587\u27e9 - \u27588\u27e9 - \u275811\u27e9 - \u275813\u27e9 + \u275814\u27e9 - \u275816\u27e9 + \u275819\u27e9 - \u275821\u27e9 - \u275822\u27e9 \n+ \u275825\u27e9 - \u275826\u27e9 + \u275828\u27e9 + \u275831\u27e9"
214 }
215 ],
216 "collapsed": false,
217 "prompt_number": 12,
218 "input": "qapply(4*one)\n"
219 },
220 {
221 "source": "<h2>The encoding circuit</h2>",
222 "cell_type": "markdown"
223 },
224 {
225 "cell_type": "code",
226 "language": "python",
227 "outputs": [],
228 "collapsed": true,
229 "prompt_number": 13,
230 "input": "encoding_circuit = H(3)*H(4)*CNOT(2,0)*CNOT(3,0)*CNOT(4,0)*H(1)*H(4)*\\\n CNOT(2,1)*CNOT(4,1)*H(2)*CNOT(3,2)*CNOT(4,2)*H(3)*\\\n H(4)*CNOT(4, 3)*Z(4)*H(4)*Z(4)\n"
231 },
232 {
233 "cell_type": "code",
234 "language": "python",
235 "outputs": [
236 {
237 "output_type": "pyout",
238 "prompt_number": 14,
239 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x38a6950&gt;"
240 },
241 {
242 "output_type": "display_data",
243 "png": "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\nPol+/frhq6++0jvW/dtY9YnXUPBWVCIiqtWVK1fQvXt3pKamolu3bjXKtU0bZGZmYtiwYfj111+h\nUql0jpcOUGQtAAACtklEQVSdnY2hQ4ciIyMD7dq10zne3r178fzzz+P333+v8RTR2iQnJyMiIgIZ\nGRka+6kt3oYNG/Df//4X2dnZXI/4F7xyQUREtXriiSfw2WefYcSIETh//rxOdX7++WcEBwdjw4YN\neiUWANCjRw+88cYbGD58OK5evapTnaNHj2L69OnYtm2bXokFAAQEBGDMmDEICgrS+a6Pr7/+Gm+9\n9Ra2bNnCxEITQUREpIN169aJVq1aidWrV4vbt28/+P2f/5SUlJSIlStXCmdnZ7F582aDY6nVahEV\nFSXatWsnvvjiC3H37l2N8QoKCkRUVJRwdnYWycnJBserrq4W8+fPF56enmLnzp2iqqpKY7zLly+L\nRYsWidatW4uMjAyD41k7JhdERKSztLQ0ERwcLFQqlZg3b55ISEgQAMSXX34p5syZI5ycnMT48eNF\nZmamLPH27dsnhgwZIlxcXMSbb74pNm/eLACI+Ph4MW3aNPHYY4+J6dOnizNnzsgSLzExUfTv31+0\nbdtWvPfee2LLli0CgNi4caMYO3ascHJyEhEREeLixYuyxLNWXHNBRER6y8nJwfr163Hu3Dls2bIF\nkyZNgpeXF2bNmoU2bdrIHu/8+fOIjY3FhQsXsHXrVkyePBm9evXCzJkz0aJFC9njnTp1CnFxcbh8\n+TK2bduGKVOmoH///pg6dSocHR1lj2dtmFwQERGRrLigk4iIiGTF5IKIiIhkxeSCiIiIZMXkgoiI\niGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiI\nZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhk\nxeSCiIiIZMXkgoiIiGTF5IKIiIhk9X8OQhhdOtBzlgAAAABJRU5ErkJggg==\n"
244 }
245 ],
246 "collapsed": false,
247 "prompt_number": 14,
248 "input": "circuit_plot(encoding_circuit, nqubits=5, scale=0.5)"
249 },
250 {
251 "cell_type": "code",
252 "language": "python",
253 "outputs": [
254 {
255 "output_type": "pyout",
256 "latex": "$$\\left(\\begin{smallmatrix}1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0\\\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1\\\\0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1\\\\1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0\\\\0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1\\\\-1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0\\\\1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0\\\\0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1\\\\0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1\\\\-1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0\\\\-1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0\\\\0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1\\\\1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0\\\\0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1\\\\0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1\\\\-1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0\\\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1\\\\1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0\\\\-1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0\\\\0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1\\\\-1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0\\\\0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1\\\\0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1\\\\-1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0\\\\1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0\\\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1\\\\0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1\\\\-1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0\\\\0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1\\\\-1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0\\\\-1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0\\\\0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1\\end{smallmatrix}\\right)$$",
257 "prompt_number": 15,
258 "text": "\u23a11 0 1 0 1 0 1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -\n\u23a2 \n\u23a20 1 0 1 0 1 0 1 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0\n\u23a2 \n\u23a20 1 0 -1 0 1 0 -1 -1 0 1 0 -1 0 1 0 -1 0 1 0\n\u23a2 \n\u23a21 0 -1 0 1 0 -1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1\n\u23a2 \n\u23a20 -1 0 -1 0 1 0 1 1 0 1 0 -1 0 -1 0 -1 0 -1 0\n\u23a2 \n\u23a2-1 0 -1 0 1 0 1 0 0 1 0 1 0 -1 0 -1 0 -1 0 -\n\u23a2 \n\u23a21 0 -1 0 -1 0 1 0 0 -1 0 1 0 1 0 -1 0 1 0 -\n\u23a2 \n\u23a20 1 0 -1 0 -1 0 1 -1 0 1 0 1 0 -1 0 1 0 -1 0\n\u23a2 \n\u23a20 -1 0 -1 0 -1 0 -1 1 0 1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a2-1 0 -1 0 -1 0 -1 0 0 1 0 1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a2-1 0 1 0 -1 0 1 0 0 1 0 -1 0 1 0 -1 0 -1 0 1\n\u23a2 \n\u23a20 -1 0 1 0 -1 0 1 1 0 -1 0 1 0 -1 0 -1 0 1 0\n\u23a2 \n\u23a21 0 1 0 -1 0 -1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a20 1 0 1 0 -1 0 -1 -1 0 -1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a20 -1 0 1 0 1 0 -1 1 0 -1 0 -1 0 1 0 1 0 -1 0\n\u23a2 \n\u23a2-1 0 1 0 1 0 -1 0 0 1 0 -1 0 -1 0 1 0 1 0 -\n\u23a2 \n\u23a20 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a21 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a2-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 1 0 -\n\u23a2 \n\u23a20 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 1 0 -1 0\n\u23a2 \n\u23a2-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a20 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a20 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 -1 0 1 0\n\u23a2 \n\u23a2-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 -1 0 1\n\u23a2 \n\u23a21 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1\n\u23a2 \n\u23a20 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0\n\u23a2 \n\u23a20 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 -1 0 1 0\n\u23a2 \n\u23a2-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1\n\u23a2 \n\u23a20 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 1 0 1 0\n\u23a2 \n\u23a2-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 1 0 1\n\u23a2 \n\u23a2-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 1 0 -\n\u23a2 \n\u23a30 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 1 0 -1 0\n\n1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 \u23a4\n \u23a5\n -1 0 -1 0 0 -1 0 -1 0 -1 0 -1\u23a5\n \u23a5\n -1 0 1 0 0 -1 0 1 0 -1 0 1 \u23a5\n \u23a5\n 0 -1 0 1 -1 0 1 0 -1 0 1 0 \u23a5\n \u23a5\n 1 0 1 0 0 -1 0 -1 0 1 0 1 \u23a5\n \u23a5\n1 0 1 0 1 -1 0 -1 0 1 0 1 0 \u23a5\n \u23a5\n1 0 -1 0 1 1 0 -1 0 -1 0 1 0 \u23a5\n \u23a5\n -1 0 1 0 0 1 0 -1 0 -1 0 1 \u23a5\n \u23a5\n -1 0 -1 0 0 -1 0 -1 0 -1 0 -1\u23a5\n \u23a5\n1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 \u23a5\n \u23a5\n 0 -1 0 1 -1 0 1 0 -1 0 1 0 \u23a5\n \u23a5\n -1 0 1 0 0 -1 0 1 0 -1 0 1 \u23a5\n \u23a5\n1 0 1 0 1 -1 0 -1 0 1 0 1 0 \u23a5\n \u23a5\n 1 0 1 0 0 -1 0 -1 0 1 0 1 \u23a5\n \u23a5\n -1 0 1 0 0 1 0 -1 0 -1 0 1 \u23a5\n \u23a5\n1 0 -1 0 1 1 0 -1 0 -1 0 1 0 \u23a5\n \u23a5\n -1 0 -1 0 0 1 0 1 0 1 0 1 \u23a5\n \u23a5\n1 0 -1 0 -1 1 0 1 0 1 0 1 0 \u23a5\n \u23a5\n1 0 1 0 -1 -1 0 1 0 -1 0 1 0 \u23a5\n \u23a5\n 1 0 -1 0 0 -1 0 1 0 -1 0 1 \u23a5\n \u23a5\n1 0 1 0 1 1 0 1 0 -1 0 -1 0 \u23a5\n \u23a5\n 1 0 1 0 0 1 0 1 0 -1 0 -1\u23a5\n \u23a5\n 1 0 -1 0 0 1 0 -1 0 -1 0 1 \u23a5\n \u23a5\n 0 1 0 -1 1 0 -1 0 -1 0 1 0 \u23a5\n \u23a5\n 0 1 0 1 -1 0 -1 0 -1 0 -1 0 \u23a5\n \u23a5\n 1 0 1 0 0 -1 0 -1 0 -1 0 -1\u23a5\n \u23a5\n -1 0 1 0 0 1 0 -1 0 1 0 -1\u23a5\n \u23a5\n 0 -1 0 1 1 0 -1 0 1 0 -1 0 \u23a5\n \u23a5\n -1 0 -1 0 0 -1 0 -1 0 1 0 1 \u23a5\n \u23a5\n 0 -1 0 -1 -1 0 -1 0 1 0 1 0 \u23a5\n \u23a5\n1 0 -1 0 1 -1 0 1 0 1 0 -1 0 \u23a5\n \u23a5\n -1 0 1 0 0 -1 0 1 0 1 0 -1\u23a6"
259 }
260 ],
261 "collapsed": false,
262 "prompt_number": 15,
263 "input": "represent(4*encoding_circuit, nqubits=5)"
264 }
265 ]
266 }
267 ]
268 } No newline at end of file
This diff has been collapsed as it changes many lines, (687 lines changed) Show them Hide them
@@ -1,525 +1,162 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>qft</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Quantum Fourier Transform&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>1</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>2</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <markdowncell>
33 <source>QFT is useful for a quantum algorithm for factoring numbers which is exponentially faster than what is thought to be possible on a classical machine.&lt;br&gt;
34 The transform does a DFT on the state of a quantum system&lt;br&gt;
35 There is a simple decomposition of the QFT in terms of a few elementary gates.</source>
36 </markdowncell>
37 <markdowncell>
38 <source>&lt;h2&gt;QFT Gate and Circuit&lt;/h2&gt;</source>
39 </markdowncell>
40 <markdowncell>
41 <source>Build a 3 qubit QFT and decompose it into primitive gates.</source>
42 </markdowncell>
43 <codecell>
44 <input>fourier = QFT(0,3).decompose(); fourier
45 </input>
46 <language>python</language>
47 <prompt_number>3</prompt_number>
48 <collapsed>0</collapsed>
49 <outputs>
50 <output>
51 <output_type>pyout</output_type>
52 <text>SWAP β‹…H β‹…C βŽ›S βŽžβ‹…H β‹…C βŽ›T βŽžβ‹…C βŽ›S βŽžβ‹…H
53 0,2 0 0⎝ 1⎠ 1 0⎝ 2⎠ 1⎝ 2⎠ 2</text>
54 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVRrQUFBQWNDQVlBQUFBYTk4akFBQUFBQkhOQ1NWUUlD
55 QWdJZkFoa2lBQUFDYWxKUkVGVQplSnp0bkh1UUhFVWR4ei9oTHJrTGdRc1FFbEZFeTBSTE5GYUlt
56 a0pEQW9rYUExRWU0cU0wUmhFSUZpSWlWVVRVbUJCQlNrRVJsZUtwCnFNaERwUFJRZVlnNWlXUk5J
57 QjZDS0FVK1VpTHhVTEY0bkFvSkNCaHkvdkg3alRzNzI5M1RNN083YzNQcFQ5WFczdTZ2OS9mci90
58 NXYKdTZjZnN4QUlCQUk3S2QzQXg0RnJnT3VBSHdQTGdVbkFUNEYxd0xQQUNMQWRHQVIyMTg5K0do
59 aFMyd2p3VytDWW1POWpnVWZWdGczNApna2Q5ZmdRYzc3Q1BCd2FBQjlUdnY0RmJnYlhBUnVCQjRH
60 Ymd0UjZ4c3RLanNSL1UyTThBOXdEbnFuMDJzQUY0VE8zL0JPNEVsbWFJCk1SazREdmdHY0lmR1d3
61 Y3NWdnRTdGJjU1Z3N2MzQUwvWTBXM1ZWcS9wNUh2d1ZwZ2k3NzNLUEF6ZmR5cjc5MVdNRjVFcDNO
62 aUxPVEQKLzVtSVZIbzFzRXZzL1pYQVpxU0JBRi9VWU44MCtKaWh0dXN0TVE0RWZnbnM1bEdmZDZx
63 dk5SNWxEOWV5cHliZUg0OGt3elBBbXozOAo1T0VkR251bHhYNkIyaGRrOUxzWUdUVE9CK1lpeVFh
64 U1hOOEd2Z3c4Qjd3OGc4OVRVdXkrT1dEaXBZZ1d2bFJKTjJqVzdqN2d4SmgvCnFIZDhTUjFXQTFj
65 YWZHYlZyTk01TVJieW9ZRWZBSmRiYkE4REoramZLelRZUllaeXIxYmJUUlkvbndlbWVkUmxFbkMv
66 K3JyRW8zelUKOGM0MDJQWlQyN1VlZnZKd3Z2by93R0svRjlnS2RIbjY2d1l1UmE2WTMyOHAwd3Y4
67 R2ZpTGR5MWxaSHhqU2huZkhMQnhLWENRWjMycQpvaHMwYXpjVHVOQlFiZ0NaNGZRbDNqOEk2UUJO
68 K0doV1ZrNVVPUithbUl5TUFJc3Q5Z0hnWmZyM3NkZzd1Y3ZVdHNsZ2V3MXkyZXZECnVZaUFJOEFQ
69 UGNvUEFzUEFPSVB0bGVwbnZXZnNyTndOUEc2SlBRWFlnVXhsZlBtY2ZzYjJ2NGo0bGo1OGVCL3dx
70 WlF5V1hMQXhoVGcKRDhCMGp6cFZRVGN3YTNjbXpRTnFOL0lsL0xYQngxSEFleXorZlRRckl5ZXFu
71 ZzlOdkIzcENFNjIyRmZIL2o0U2N5ZTNDTG5LZXhLNQpsRTF5TVRKOVRPTlZ5QWd5SG1tWXFjT01N
72 d240TDNDanhYNk0xbmU1Uit5czdJNk0zTGJwZVRUbC9veW52L25xenpVTmlGaUYzN3BFCkQvQWI2
73 bXVuTnJMa2dJc1BJSU9kaXlyb0JuYnRUT3ZFQnlKMS9xckJkZ2p1TDdwTHM3Snlvc3I1WUdSdkRm
74 SXNNcStmajcxRG1rZHoKSjllRHpOMG5JSXV2anlVK2N6VHdOcys2M0VJOUlZYVJCVWtYYjlYNmZO
75 Smc2MEpHa2kya2Y4bnpzRVJqMjlZMUxsVDdQQTlmdXlCVApqZTNJMVdjYWk1QVJMbzBQWWI3cVRw
76 SWxCOUw0STI2OXE2QWIrR3NIOEFta3prZDdsazlpMHF6TW5LaHFQamc1bmZyT2FiUURlakd3ClI2
77 TGMvalIzY211QUkvVHZ1eEZ4b3N2T0hzenJGeWFXQVdmSFh2OGUyYjF5Y2JiV0p6bjMzeGZaQ2Vw
78 SExyM2J3VGthKzNia1VqcjUKMklyVWY0S0hyd1BVMXcwdHJtTS84QzdQc3I0NWtNWTY0Q1NIdlFx
79 NlFUYnRia1JtSHI0ZGFCS1RabVhuUkJYeklaWDlnYk9RTGR2bgpOSEIvb3N3MEdqdTVHVFJPRlFm
80 VXZxZStYb0hmS05TSGJBM3ZHbnZ2TnZYbDZxUTJBTThqdTcyWDZlTUtiY2NpajdoRjJBVDhDL2M2
81 Cmd1L1JnWk9SdG42Mk5WVURwRjVQQUMvTThCbWZIRWpqSXVBN0R2dG8xdzJ5YVRjT09kcHdmNEY0
82 SnMxR1EwNVVMUjh5TVJONENGbnYKNm8yOTMwMWpKM2NUall1dzE2cDlCaUxrV1o3eExnRGVuWGp2
83 ZStyTDFrbjJJc2REN3ZLTTBVcDJSZjdwUDdIWW83WExNejM5WGFYbApmVWJZZldrY0RHeE1SUVlB
84 VS9MNFlNdUJORTRCYWhaYkZYU0RiTnJOd3Y4a2dBMlRacU10SjZxUUQwRGplUmVRUTd3bWZnZDhW
85 d1BFCkJkbU9qQVFnbmRLUWxvMTRYSituQUtjQlgvR28wMnhrd2ZRRUdpOVQ1NnA5SDh2bjNvQk1o
86 MnNlTVZyTlhHU05ZcVBGUGwrZmYrSHAKYjBpZkgvWW9ld2FTR0duc2cveXZSbExLWmMyQk5EWWo1
87 NlJNVkVFMzhOY09aR01CNUdvbkx5Yk55c3FKS3VjRDBOako3UVlzZEpUdApRMDRmL3lmeC9qQ3lr
88 TGlHNWt2cFlYMWVnalR1Q2R5TVF6ckNCY0JoaVVlMGxtZnI1S0xrcWpuOHZ4alpLajhKK0JxeW9K
89 ckdIR1RrCk9BODVUR3c2MnhmRnZ0M2lZeDZTZElPZWRhbnBjOXJkR1F1MTdIWVBueE5JUDFlVUp3
90 ZW1JeWZnYld6RGZ1QTdqMjZ1dURWOXpxb2IKRk5jdUlxMlQ4OGtuazJZMWZjN1ROakRybGRhdXJQ
91 bVF0MjBSUmZMQkp6WkxFR0ZtR0d6VGdFZUFOeGxzZHlFTGtxWnpieDlEZXZwQgptcThhVFN4SEZq
92 aE52QmZ6blF3UjZ6QWZ2b3p6YzBRTWtEVzZ0TG45VkdRaE5HSTE4Q2VhUjY0YU1sWHVNZmpvVVZ2
93 eUgrZXF5MFNOCnM1N0dVL1J4NWlCcmp2RzZ1SHhHQjZGZDZ5OVpjbUF5b3NkMXVOZWZqcWZ4Nmo1
94 T2pleTZ1ZUxtMVEyS2F4ZnhENjJEQ2Q5OE1tbVcKdDIwdXZkTGFsU1VmaXJRdG9rYjJmTWdTbS9Q
95 VTBJL2NyUkF4SGVta1ZsZ3F0aGJaK1RRSnZ4UVI4V0RMWitNY2hzenhiU1BMVzlUWApPUVpiSC9B
96 VXNwdHI0L1hBMzJPdnU1RnpmSzR6UzRkcW1hampqSGFUNDZQcEhzaElkb2ZEeHdqMSsrOTg2L0lp
97 NU9xM0gva25Sa3hGCmJpRmFSZVBBa2VaelBKS3dDeTMxaEh3NWNEanVUdTVMeUFDVUpJOXVQbkd6
98 NmdhdDBRN2tqb0VSN0F2clB2a0VkczN5dEMzQ3BGZGEKdTdMa1E5RzJGY2tIMzloY0RleUY5TXkz
99 SWxkb2E1RWI0MTIzWTF5Ty9TVDBBdlhyNG5XSWtOSFc5Q0NOSGVaRVpQUWFWdnVUK25xVwpQallD
100 ZjFYYlZxU25YMmFJczR6bVRZa0hjQy9rOWxJL0RnUFNXZTlBUnI3Wkd1dHYxRy9PM29pY0hnYzVl
101 SHduc2xNMGdveDY2NUZrCjhhM0xDNUJEajdjZzkvbGVpZHp5WXJwbno4Zm5KdUFqbHJaQ3ZoeEk2
102 K1J1UU5hSUlvcm81aHMzaTI1UVRMczV5TTMzRzZpdmIyM1QKMXdQQVMySmxYZmtVSjZsWm5LeHRp
103 N0RwNWNxSkxQbVF0MjJ0eUFmZjJHT2VVMmxlc0x3UDl5K2JKTGtldVRkMk5OUWxqODh6TUovQwpM
104 MEphSjdlWitqU3drM0d6VUpaMnRueHFoMlkydmRyUkx1aHMyNXl4ZmRiSnhncGJhTjVGbW9TY2Fm
105 TGhST1RFdVcyM3FaTjF5ZXZ6CkttUzlLY3VXZnhGbUlUOTVaYnFIY3pSUmhuYTJmT3EwWnUzSWlU
106 TGIxaFI3WityazdxRnh4NlVMMlVGN3lPT3pSK3J6Q2lUNTl5cXgKTGtWOERpSFRISitmckNwS0Yz
107 SW9leVYrUnkvS3BOUGEyZktwRE0xYW5STmx0cTNWMzlOS01vUWNGUUNadDhlM29tY2hDN3RKRHFa
108 eAp2djlCNEJWdHJrczdmZllCdjBMYTJ3cHMwNkRUZ0srM0tFYVd1SG5wbEhhdWZHcW5aaTY5V3BV
109 VFpiVXRMZlpPeFNISXp0ZHh5SDEzCnMyTzI3eU1MeUhGbUlwc1pJN0hIMDdUbUN0aFZsM2I3M0J2
110 NVljVWlkQU1mUlc3ajI0YnM3RVdMMGZzaEovN2JNVk53eFMxQ0o3UnoKNVZPN05QUFZxMmhPbE5F
111 Mm45aTViL0dwT2ozSTJiNDRYY2hPemhXeDkzcHB2Z0g1ZVpwL1dhWFZkZW1FejZKeHh5RTdmWEdl
112 UXBLdApHOW5kMmxIQWY1NjRyYUNkMnJueXFWMmFaZEdyU0U2VTBUYWYySUVFSHk2N0FvRkFJTkF1
113 anNCK1QxMGdFQWhVSHR1dE1vRkFJQkFJCkJBS0JRQ0FRQ0FRQ2dVQWdFQWdFUFBrZlRGN0w5cHFY
114 RnRvQUFBQUFTVVZPUks1Q1lJST0K
115 </png>
116 <latex>$$SWAP_{0,2} H_{0} C_{0}{\left(S_{1}\right)} H_{1} C_{0}{\left(T_{2}\right)} C_{1}{\left(S_{2}\right)} H_{2}$$</latex>
117 <prompt_number>3</prompt_number>
118 </output>
119 </outputs>
120 </codecell>
121 <codecell>
122 <input>circuit_plot(fourier, nqubits=3)</input>
123 <language>python</language>
124 <prompt_number>4</prompt_number>
125 <collapsed>0</collapsed>
126 <outputs>
127 <output>
128 <output_type>pyout</output_type>
129 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x4992910&amp;gt;</text>
130 <prompt_number>4</prompt_number>
131 </output>
132 <output>
133 <output_type>display_data</output_type>
134 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWE4QUFBREZDQVlBQUFEamMzMkpBQUFBQkhOQ1NWUUlD
135 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUVuaEpSRUZVZUp6dDNYOU1W
136 ZlhqeC9IWHVaZXVBaUVDU1psT2l6a1hHalZyRUNFZ1FicTBXV0hhCm9tWHBWcE5wemJJZmxMVmFm
137 eGkxMnF6Vy9GU3pIMXQva0ptMVlhNW1UbjdJYmVudEY3T29HRkZpcThSTUVMaG8vRGpmUDVwOFk5
138 eUwKZ0pkNzd2djZmR3pubi9QV3crdk5rZnZpdk0rNVY4dTJiVnNBQUJqRTVYUUFBQUJHaS9JQ0FC
139 aUg4Z0lBR0lmeUFnQVloL0lDQUJpSAo4Z0lBR0lmeUFnQVloL0lDQUJpSDhnSUFHSWZ5QWdBWWgv
140 SUNBQmlIOGdJQUdJZnlBZ0FZaC9JQ0FCaUg4Z0lBR0lmeUFnQVloL0lDCkFCaUg4Z0lBR0lmeUFn
141 QVloL0lDQUJpSDhnSUFHSWZ5QWdBWWgvSUNBQmlIOGdJQUdJZnlBZ0FZaC9JQ0FCZ25Lc29yT1Rs
142 WmxtV04KMjVhY25PejBGQWVFY3E2Uk5DOXBmTTVqcE0wUlFHaFl0bTNiVG9jNFc1WmxhVHluTWQ3
143 SEg0MVFab21rZVVuamt5ZlM1Z2dnTktMaQp5Z3NBY0c2aHZBQUF4cUc4QUFER2lmcnlXclpzbWRM
144 VDArVnl1ZVR4ZURSdjNqeXRXYk5Ha25UbzBDRVZGaFpxK3ZUcGNybGNTa3hNClZGWldsclpzMmVK
145 dzZySHA3ZTNWSzYrOG9wVXJWNnFrcEVURnhjVjY2NjIzMU5YVnBhVkxsem9kYjFRT0hqd29sOHNs
146 dDl1dE9YUG0KYVBIaXhicjIybXNIenVOMTExMm54WXNYS3ljblIvSHg4WEs3M2VybzZIQTZOb0J3
147 c2FQQW1hYnh4UmRmMkpabDJRODg4RURBOGZMeQpjdHV5TFB2OTk5OGYwL0hES1ZnV3Y5OXYzM2pq
148 amZhbVRac0c3Uzh2TDdkbno1NXRsNVNValBoWVR2bHZubzBiTjlvclZxeXdPenM3CkIvWjkvLzMz
149 dG1WWjl1clZxd2Y5dllNSEQ5cVRKMDgrNHpFQlJJK292L0tTcE5yYVdrblNraVZMQW81WFZWWEo3
150 WFpyMGFKRjRZd1YKVW5mZGRaZW1UWnVtalJzM0R0ci8yR09QcWJPelU5ZGZmNzFEeWNibTY2Ky9W
151 a1ZGaGVMajR3ZjIxZFRVU0pJV0xsdzQ2TTllZnZubAptajkvZmxqekFlY0t2OTgvWkY5L2Y3KzZ1
152 N3NkU1BQL3pvbnlxcW1wa2NmalVXNXU3cEN4bnA0ZWViMWVaV1JrS0RFeDBZRjBaNis5CnZWMlZs
153 WlZhc1dKRndQR01qQXdWRlJXRk9kWFlmZlBOTjhyUHo1ZmI3UjYwLy9RdklmbjUrWVAyOS9YMTZZ
154 SUxMZ2hiUHVCYzBkWFYKcGJsejV3Nzg3RW4vRnRlOTk5NnJwNTkrMnNGazUwQjU5ZmYzeSt2MUtq
155 TXpVN0d4c1VQR2ZUNmYvSDcva0JkRWs5VFYxYW1ucDBlTgpqWTBCeC9QeThqUno1c3d3cHhxN28w
156 ZVBhdFdxVlVQMjE5Ylc2dEpMTDlXMGFkTUc3ZS9wNlFsNlZRMWc3T0xqNDdWMTYxWXRYNzVjCnRi
157 VzFBOFhWMU5Ta3A1NTZ5dEZzTVk1KzlUQ29yNjlYZTN1N0Nnb0tBbzVYVlZWSmtoWXNXQkRHVktH
158 Vm5aMHR0OXV0RFJzMjZKZGYKZnRFdHQ5eWlhNjY1UmpFeC81N2VKNTU0d3VHRW94Tm8rYmFwcVVs
159 Ly9QR0g3cjc3N2lGakV5ZE8xRzIzM1JhT2FNQTVwNmlvU0JVVgpGVnErZkxreU16UFYyZG1wWGJ0
160 MjZmenp6M2MyV0xDYllaS00yb0o1NmFXWGJNdXk3S3lzTFB1R0cyNFlzcVdrcE5ndWw4dis2Nisv
161 CmdoN0Q2Ym1OWks0dnZQQ0NQV0hDQk51eUxOdXlMRHMrUHQ1ZXQyNmQzZGJXWnN5OGhqdVBiNzc1
162 cG0xWmx2MzIyMjhIL1RPbXpKR04KamUzc3Q2QlhYclpCSDZsaldWYlFzWnFhR3NYRXhLaXFxa3B4
163 Y1hHRHh2cjYralJwMGlTbHA2Y3JKU1ZsMks4UktkK1BZSE45K09HSAp0WFRwVWxWVVZLaXFxa3Bm
164 ZlBHRnRtelpvaU5Iam1qNzl1MUJqeGNwODVLR1A0L0I3bmVOUkNUTkVURE5mNWNLYTJ0ck5XWEtG
165 SDN3CndRZU8zMnFKNnM4MnRHMWJxYW1wdXVTU1MrVHorWWFNSHpod1FObloyU290TFIzMnZWMlI5
166 UGw0STgzUzBOQ2d4WXNYNjg4Ly8xUkgKUjRjOEhzK1lqeFV1dytWSlMwdFRUMCtQRGg4K0hMSmpB
167 aGplZjR0cjE2NWRTa2hJMEo0OWUxUlNVdUo0Z1VYMUF4c05EUTA2ZHV5WQo4dkx5QW83WDFkVkpN
168 dnQrMS9QUFB4OXcvNXc1YzNUSEhYZElNdi9LNDdmZmZ0T3Z2LzRhOUR3Q0dCOG5UNTVVVWxMU29I
169 dGNSVVZGCmV1Kzk5OVRjM094b3RxZ3VyOU5MVFlFZWtaY2tyOWNyYVd4TFVaR2dzN05UMWRYVlFj
170 ZFBuRGlocTYrK1doTW1UQWhmcUhGd05rdUcKQU1ZdUxpNU9MNzc0NHBDSE13b0xDd00rRVJ4T1VW
171 MWVOVFUxc2l4cjJQS2FOV3VXcGs2ZEd1WmtvYkZ2M3o3dDJiTW40RzlBcmEydAoyckZqaDhyTHl4
172 MUlGbHFueTh2a0syUUFvUlcxNVhYcTFDbFZWMWNyTFMxTnFhbXBROGJyNit2VjJ0cHE5Q2N6N04y
173 N1YybHBhU29yCks5TVBQL3d3c0wrNXVWazMzM3l6eXNyS2pIL0I5L3Y5K3V5enp6UjU4bVNscDZj
174 N0hRZEFoSWk2OTNtMXRMUm81Y3FWT256NHNJNGUKUGFyang0OHJOemRYZDk1NXAwcExTN1Z6NTA2
175 Vmw1ZXJxYWxKbG1XcHNySlNCUVVGZXZiWlo1V1RrK04wL0ZFNWN1U0k5dS9mcjIrLwovVmJyMTY5
176 WFcxdWJVbEpTRkJzYnE4MmJOeXM3Tzl2cGlHTmkyN2FLaTR2VjBkR2g1dVptdGJTMFNKS3lzckkw
177 ZWZKazNYUFBQYnl2CkN6akhSZlhUaHFZY2Z6VDRuNVNkUHlad3JvcWtuNmVvWFRZRUFFUXZ5Z3NB
178 WUp5b3VlYzEzS2N6bksya3BLUnhPL1pZaEdxdWtUWXYKS2ZUbk1STG5DT0RzUlVWNVJjb2FiRGlN
179 Wks2UnRDNDlHaVBOYk9yOEFJUU95NFlBQU9OUVhnQUE0MUJlQUFEalVGNEFBT05RWGdBQQo0MUJl
180 QUFEalVGNEFBT05RWGdBQTQxQmVBQURqVUY0QUFPTlFYZ0FBNDFCZUFBRGpVRjRBQU9OUVhnQUE0
181 MUJlQUFEalVGNEFBT05RClhnQUE0MUJlQUFEalVGNEFBT05RWGdBQTQxQmVBQURqVUY0QUFPTlFY
182 Z0FBNDFCZUFBRGpVRjRBQU9OUVhnQUE0MUJlQUFEalVGNEEKQU9OUVhnQUE0MUJlQUFEalVGNEFB
183 T05RWGdBQTQxQmV3RGhMVGs2V1pWbmp0aVVuSnpzOVJVbWhuV2VrekFtUnk3SnQyM1k2QkVMTApz
184 aXhGODJrMWJYN2puVGRTdmgraHpCRXBjOEpna1hSZXVQSUNBQmlIOGdJQUdJZnlBaHl5Yk5reXBh
185 ZW55K1Z5eWVQeGFONjhlVnF6ClpvMGs2ZENoUXlvc0xOVDA2ZFBsY3JtVW1KaW9yS3dzYmRteXhl
186 SFVZOWZiMjZ0WFhubEZLMWV1VkVsSmlZcUxpL1hXVzIrcHE2dEwKUzVjdWRUb2VERU41QVE3NThN
187 TVA5YzQ3NzBpUzFxMWJwMisrK1VhdnYvNjZKR25tekpuYXUzZXY3cnZ2UGtuUzFxMWJkZURBQWEx
188 ZAp1OWFwdUdlbHU3dGJ0OXh5aXpvN08vWHV1Kytxb3FKQ0gzMzBrVnBiVzNYVlZWY3BJU0hCNlln
189 d0RPVUZPS2kydGxhU3RHVEprb0RqClZWVlZjcnZkV3JSb1VUaGpoZHhkZDkybGFkT21hZVBHallQ
190 MlAvYllZK3JzN05UMTExL3ZVREtZS3NicEFBaXQxdFpXU1ZKUFQ0L08KTys4OGg5UGdUR3BxYXVU
191 eGVKU2JtenRrcktlblIxNnZWeGtaR1VwTVRIUWdYV2kwdDdlcnNySlN1M2J0Q2ppZWtaR2hvcUtp
192 TUtlQwo2Ymp5aWhMZDNkMWF2bnk1WnN5WUlVbWFNbVdLdG0vZjduQXFES2UvdjE5ZXIxZVptWm1L
193 alkwZE11N3orZVQzKzVXZm4rOUF1dENwCnE2dFRUMCtQR2hzYkE0N241ZVZwNXN5WllVNEYwMUZl
194 VWVLaGh4N1NybDI3ZE9yVUtVbi8vcmE3YXRVcS9mVFRUdzRuUXpEMTlmVnEKYjI5WFFVRkJ3UEdx
195 cWlwSjBvSUZDOEtZS3ZTeXM3UGxkcnUxWWNNR1BmTElJL0o2dmVydDdSMFlmK0tKSnh4TUIxUHhK
196 dVVvRVI4ZgpMNy9mUDJoZlRFeU1IbjMwVVczYXRNbWhWT01qa3Q0b09STEI4cjc4OHN0NjhNRUhs
197 Wm1aR2ZBVEpYdytuNDRmUDY3VzFsYWxwS1NNCit2amhObHlPRjE5OFVVOCsrYVQrK2VjZlNWSmNY
198 SnhXclZxbFRaczJCVndTalpRNVliQ0lPaTkyRUpMWTJOaEN0QVZTWEZ4c24zZmUKZVhaWFY5ZVFz
199 ZDdlWGpzdUxzNmVPM2R1c0IvUmlQeFpIYzZQUC81b1AvMzAwM1orZnI3dDhYaHN5N0xzNWN1WFIv
200 eWMyQ0p6NDhvcgpTdHgwMDAzNjVKTlBCaTNIeE1YRmFmZnUzWm8vZjc2RHlVSXZvbjc3RzRGQWVX
201 M2JWbXBxcWk2NTVCTDVmTDRoZitmQWdRUEt6czVXCmFXbnBHZC9iRlNuZmo5SGthR2hvME9MRmkv
202 WG5uMytxbzZOREhvOW56TWRDK0VUU2VlR2VWNVI0L2ZYWE5XUEdEQ1VrSk9qODg4L1gKeElrVGRm
203 Lzk5MGRkY1VXTGhvWUdIVHQyVEhsNWVRSEg2K3JxSkpsL3YrdjU1NThQdUgvT25EbTY0NDQ3SkNs
204 aVhneGhGaDZWanhKVApwMDVWWTJPajl1N2RxOTkvLzExNWVYbEtTMHR6T2hhQ09QMytya0NQeUV1
205 UzErdVZKS09mTk96czdGUjFkYlhLeXNvQ2pwODRjVUpYClgzMjFKa3lZRU9aa2lBYVVWeFJ4dTkx
206 YXVIQ2gwekV3QWpVMU5iSXNhOWp5bWpWcmxxWk9uUnJtWktHemI5OCs3ZG16UjgzTnpVTisKa1dw
207 dGJkV09IVHUwYmRzMmg5TEJkQ3diQW1GMjZ0UXBWVmRYS3kwdFRhbXBxVVBHNit2cjFkcmFhdnlT
208 Nzk2OWU1V1dscWF5c2pMOQo4TU1QQS91Ym01dDE4ODAzcTZ5c3pQaGxVVGlIS3k4Z1RGcGFXclJ5
209 NVVvZFBueFlSNDhlMWZIang1V2JtNnM3Nzd4VHBhV2wycmx6CnA4ckx5OVhVMUNUTHNsUlpXYW1D
210 Z2dJOSsreXp5c25KY1RyK3FCMDVja1Q3OSsvWHQ5OStxL1hyMTZ1dHJVMHBLU21LalkzVjVzMmIK
211 bFoyZDdYUkVHSXluRFdHY1NIcmlhU1Q0enlpZFBSWkNKNUxPQzh1R0FBRGpVRjRBQU9OUVhnQUE0
212 L0RBQmhBR2xtV04yN0dUa3BMRwo3ZGlqRmFwNVJ0S2NFSmtvTDJDY1Jjb043dkUyMG5sRzBrMS9t
213 SXRsUXdDQWNTZ3ZBSUJ4S0M4QWdIRW9Md0NBY1NndkFJQnhLQzhBCmdIRW9Md0NBY1NndkFJQnhL
214 QzhBZ0hFb0x3Q0FjU2d2QUlCeEtDOEFnSEVvTHdDQWNTZ3ZBSUJ4S0M4QWdIRW9Md0NBY1NndkFJ
215 QngKS0M4QWdIRW9Md0NBY1NndkFJQnhLQzhBZ0hFb0x3Q0FjU2d2QUlCeEtDOEFnSEVvTHdDQWNT
216 Z3ZBSUJ4S0M4QWdIRW9Md0NBY1NndgpBSUJ4S0M4QWdIRW9Md0NBY1NndkFJQnhLQzhBQ0NJNU9W
217 bVdaWTNibHB5YzdQUVVqV1hadG0wN0hRSVlEY3V5eEQ5YmM1bDAvc1k3CnEwbmZDeW15OG5MbEJR
218 QXdEdVVGQURBTzVRVUFZN0JzMlRLbHA2Zkw1WExKNC9GbzNyeDVXck5talNUcDBLRkRLaXdzMVBU
219 cDArVnkKdVpTWW1LaXNyQ3h0MmJMRjRkVFJnM3RlTUU0a3JidGo5RXc2ZjJmS3VuLy9mbDE3N2JW
220 YXYzNjlObS9lUEdUOHVlZWUwOGFORzdWdAoyemF0V0xGaTFNZVBOSkdVbHlzdkFCaWoydHBhU2RL
221 U0pVc0NqbGRWVmNudGRtdlJva1hoakhWT29MeGdETC9mcngwN2RraVNqaDA3CjVuQWFqRlpUVTVQ
222 ZWVlY2RTVkpmWDUrellVS2twcVpHSG85SHVibTVROFo2ZW5yazlYcVZrWkdoeE1SRUI5S2R2Zjcr
223 ZmxWVVZLaS8KdjMvUS9wOS8vbG1mZi82NVE2bitSWG5CQ0Q2ZlQ5T21UZFBxMWFzbFNkT25UOWUy
224 YmRzY1RvV1JzRzFiR3paczBCVlhYS0g3N3J0UAprblRaWlpmcHlKRWpEaWM3Ty8zOS9mSjZ2Y3JN
225 ekZSc2JPeVFjWi9QSjcvZnIvejhmQWZTaGNiSmt5ZjE2cXV2YXUzYXRRTUY5dlBQClA2dXdzRkRm
226 Zi8rOW85a29MMFM4L3Y1K0ZSY1hxNjJ0VFIwZEhaTCsvYUZhdlhxMS92NzdiNGZUNFV5cXE2djF4
227 aHR2cUx1N1cxMWQKWFpLa1gzLzlWZXZXclhNNDJkbXByNjlYZTN1N0Nnb0tBbzVYVlZWSmtoWXNX
228 QkRHVktFVkZ4ZW5Uei85VkFjUEh0VGF0V3NsU1lXRgpoWHI4OGNkMTc3MzNPcG90eHRHdkRvekFq
229 ei8rcUxhMnRpSDdZMkppdEh2M2J0MSsrKzBPcE1KSXZmLysrL0w3L1lQMjlmYjI2dU9QClAzWW9V
230 V2ljdnQrMWUvZHVmZm5sbDBQR2ZUNmZMTXN5K3NwTGtoSVNFdlRwcDU4T2xIUlpXWmxLUzB1ZERh
231 VmhuamEwTEN2Y1dRQWcKNGdSN3VtN1pzbVg2K09PUDFkYldwcmk0dUVGamZYMTltalJwa2k2OTlG
232 Sjk5OTEzUVkvTjYrellCVjAydEcyYmpTMWl0cXV1dWtwdQp0M3ZRdjlHa3BDUjFkM2M3bm8xdCtP
233 Mjc3NzRiOHVJZUd4dXJCeDU0d1BGc1o5cUdlMzNjdDIrZnJyenl5aUZ6azZTdnZ2cEszZDNkCkk3
234 cnFjbnFPWjlxYW1wbzBZOFlNL2U5Ly85T0pFeWVVazVPak5XdldxSyt2ejlGYzNQT0NFWGJ1M0ts
235 NTgrWXBOalpXOGZIeG1qRmoKaHZiczJhT0pFeWM2SFExbk1IZnVYRzNkdWxXVEprMVNRa0tDSmt5
236 WW9LVkxsK3E1NTU1ek90cVlOVFEwNk5peFk4ckx5d3M0WGxkWApKOG5zKzEyUzFOWFZwYUtpSWoz
237 KytPTXFMUzBkV0VJOGVQQ2dubm5tR1VlemNjOExScmo0NG92bDgvbDA2TkFoblR4NVVyTm56MmJK
238 CnhTQWxKU1c2OWRaYjFkallxQXN2dkZCVHBreHhPdEpaT1gyL0s5QWo4cExrOVhvbHlmajdYZkh4
239 OGZya2swK1VucDQrc085MGdiVzMKdHp1WWpFL1lBSUNnZ24yaXhPMjMzNjd0Mjdmcmp6LytVR3Bx
240 NnBEeGl5NjZTSk1tVFZKalkrT1lqbzh6WTlrUUFFYmgxS2xUcXE2dQpWbHBhV3NEaXFxK3ZWMnRy
241 cStiUG4rOUF1bk1INVFVQUk5RFMwcUlGQ3hZb1BUMWRSNDhlVlV0TGkzSnpjL1hhYTY5Sit2ZSti
242 RTVPCmpoWXVYQ2pMc2xSWldhbUNnZ0xIUDRraVdyRnNDQUJCOEo5UlJpNnV2QUFBeHFHOEFBREdv
243 YndBQU1iaGZWNEFNSXp4ZkQ5aFVsTFMKdUIwNzJsRmVBQkFFRDFORUxwWU5BUURHb2J3QUFNYWh2
244 QUFBeHFHOEFBREdvYndBQU1haHZBQUF4cUc4QUFER29id0FBTWFodkFBQQp4cUc4QUFER29id0FB
245 TWFodkFBQXhxRzhBQURHb2J3QUFNYWh2QUFBeHFHOEFBREdvYndBQU1haHZBQUF4cUc4QUFER29i
246 d0FBTWFoCnZBQUF4cUc4QUFER29id0FBTWFodkFBQXhxRzhBQURHb2J3QUFNYWh2QUFBeHFHOEFB
247 REdvYndBQU1haHZBQUF4cUc4QUFER29id0EKQU1haHZBQUF4cUc4QUFERytUOWJuYnVwaW1SUzFn
248 QUFBQUJKUlU1RXJrSmdnZz09Cg==
249 </png>
250 </output>
251 </outputs>
252 </codecell>
253 <markdowncell>
254 <source>The QFT circuit can be represented in various symbolic forms.</source>
255 </markdowncell>
256 <codecell>
257 <input>m = represent(fourier, nqubits=3)</input>
258 <language>python</language>
259 <prompt_number>5</prompt_number>
260 <collapsed>1</collapsed>
261 <outputs />
262 </codecell>
263 <codecell>
264 <input>m</input>
265 <language>python</language>
266 <prompt_number>6</prompt_number>
267 <collapsed>0</collapsed>
268 <outputs>
269 <output>
270 <output_type>pyout</output_type>
271 <text>⎑ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
272 βŽ’β•²β•± 2 β•²β•± 2 β•²β•± 2 β•²β•± 2 β•²β•± 2 β•²β•± 2 β•²β•± 2
273 βŽ’β”€β”€β”€β”€β”€ ───── ───── ───── ───── ───── ─────
274 ⎒ 4 4 4 4 4 4 4
275 ⎒
276 ⎒ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€
277 ⎒ ─── ─── ───
278 ⎒ ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽
279 βŽ’β•²β•± 2 β•²β•± 2 β‹…β„― β•²β•± 2 β‹…β…ˆ β•²β•± 2 β‹…β…ˆβ‹…β„― -β•²β•± 2 -β•²β•± 2 β‹…β„― -β•²β•± 2 β‹…
280 βŽ’β”€β”€β”€β”€β”€ ────────── ─────── ──────────── ────── ─────────── ───────
281 ⎒ 4 4 4 4 4 4 4
282 ⎒
283 ⎒ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
284 βŽ’β•²β•± 2 β•²β•± 2 β‹…β…ˆ -β•²β•± 2 -β•²β•± 2 β‹…β…ˆ β•²β•± 2 β•²β•± 2 β‹…β…ˆ -β•²β•± 2
285 βŽ’β”€β”€β”€β”€β”€ ─────── ────── ──────── ───── ─────── ──────
286 ⎒ 4 4 4 4 4 4 4
287 ⎒
288 ⎒ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€
289 ⎒ ─── ─── ───
290 ⎒ ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽
291 βŽ’β•²β•± 2 β•²β•± 2 β‹…β…ˆβ‹…β„― -β•²β•± 2 β‹…β…ˆ β•²β•± 2 β‹…β„― -β•²β•± 2 -β•²β•± 2 β‹…β…ˆβ‹…β„― β•²β•± 2 β‹…β…ˆ
292 βŽ’β”€β”€β”€β”€β”€ ──────────── ──────── ────────── ────── ───────────── ───────
293 ⎒ 4 4 4 4 4 4 4
294 ⎒
295 ⎒ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
296 βŽ’β•²β•± 2 -β•²β•± 2 β•²β•± 2 -β•²β•± 2 β•²β•± 2 -β•²β•± 2 β•²β•± 2
297 βŽ’β”€β”€β”€β”€β”€ ────── ───── ────── ───── ────── ─────
298 ⎒ 4 4 4 4 4 4 4
299 ⎒
300 ⎒ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€
301 ⎒ ─── ─── ───
302 ⎒ ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽
303 βŽ’β•²β•± 2 -β•²β•± 2 β‹…β„― β•²β•± 2 β‹…β…ˆ -β•²β•± 2 β‹…β…ˆβ‹…β„― -β•²β•± 2 β•²β•± 2 β‹…β„― -β•²β•± 2 β‹…
304 βŽ’β”€β”€β”€β”€β”€ ─────────── ─────── ───────────── ────── ────────── ───────
305 ⎒ 4 4 4 4 4 4 4
306 ⎒
307 ⎒ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
308 βŽ’β•²β•± 2 -β•²β•± 2 β‹…β…ˆ -β•²β•± 2 β•²β•± 2 β‹…β…ˆ β•²β•± 2 -β•²β•± 2 β‹…β…ˆ -β•²β•± 2
309 βŽ’β”€β”€β”€β”€β”€ ──────── ────── ─────── ───── ──────── ──────
310 ⎒ 4 4 4 4 4 4 4
311 ⎒
312 ⎒ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€ β…ˆβ‹…Ο€
313 ⎒ ─── ─── ───
314 ⎒ ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽ ⎽⎽⎽ 4 ⎽⎽⎽
315 βŽ’β•²β•± 2 -β•²β•± 2 β‹…β…ˆβ‹…β„― -β•²β•± 2 β‹…β…ˆ -β•²β•± 2 β‹…β„― -β•²β•± 2 β•²β•± 2 β‹…β…ˆβ‹…β„― β•²β•± 2 β‹…β…ˆ
316 βŽ’β”€β”€β”€β”€β”€ ───────────── ──────── ─────────── ────── ──────────── ───────
317 ⎣ 4 4 4 4 4 4 4
318
319 ⎽⎽⎽ ⎀
320 β•²β•± 2 βŽ₯
321 ───── βŽ₯
322 4 βŽ₯
323 βŽ₯
324 β…ˆβ‹…Ο€βŽ₯
325 ───βŽ₯
326 ⎽⎽⎽ 4 βŽ₯
327 β…ˆ -β•²β•± 2 β‹…β…ˆβ‹…β„― βŽ₯
328 ─ ─────────────βŽ₯
329 4 βŽ₯
330 βŽ₯
331 ⎽⎽⎽ βŽ₯
332 -β•²β•± 2 β‹…β…ˆ βŽ₯
333 ──────── βŽ₯
334 4 βŽ₯
335 βŽ₯
336 β…ˆβ‹…Ο€ βŽ₯
337 ─── βŽ₯
338 ⎽⎽⎽ 4 βŽ₯
339 -β•²β•± 2 β‹…β„― βŽ₯
340 ─────────── βŽ₯
341 4 βŽ₯
342 βŽ₯
343 ⎽⎽⎽ βŽ₯
344 -β•²β•± 2 βŽ₯
345 ────── βŽ₯
346 4 βŽ₯
347 βŽ₯
348 β…ˆβ‹…Ο€ βŽ₯
349 ─── βŽ₯
350 ⎽⎽⎽ 4 βŽ₯
351 β…ˆ β•²β•± 2 β‹…β…ˆβ‹…β„― βŽ₯
352 ─ ──────────── βŽ₯
353 4 βŽ₯
354 βŽ₯
355 ⎽⎽⎽ βŽ₯
356 β•²β•± 2 β‹…β…ˆ βŽ₯
357 ─────── βŽ₯
358 4 βŽ₯
359 βŽ₯
360 β…ˆβ‹…Ο€ βŽ₯
361 ─── βŽ₯
362 ⎽⎽⎽ 4 βŽ₯
363 β•²β•± 2 β‹…β„― βŽ₯
364 ────────── βŽ₯
365 4 ⎦</text>
366 <latex>$$\left(\begin{smallmatrix}\frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2}\\\frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi}\\\frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath}\\\frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi}\\\frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2}\\\frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi}\\\frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; \frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath}\\\frac{1}{4} \sqrt{2} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; - \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; - \frac{1}{4} \sqrt{2} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} e^{\frac{1}{4} \mathbf{\imath} \pi} &amp; \frac{1}{4} \sqrt{2} \mathbf{\imath} &amp; \frac{1}{4} \sqrt{2} e^{\frac{1}{4} \mathbf{\imath} \pi}\end{smallmatrix}\right)$$</latex>
367 <prompt_number>6</prompt_number>
368 </output>
369 </outputs>
370 </codecell>
371 <codecell>
372 <input>represent(Fourier(0,3), nqubits=3)*4/sqrt(2)
373 </input>
374 <language>python</language>
375 <prompt_number>7</prompt_number>
376 <collapsed>0</collapsed>
377 <outputs>
378 <output>
379 <output_type>pyout</output_type>
380 <text>⎑1 1 1 1 1 1 1 1 ⎀
381 ⎒ βŽ₯
382 ⎒ 2 3 4 5 6 7βŽ₯
383 ⎒1 Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ βŽ₯
384 ⎒ βŽ₯
385 ⎒ 2 4 6 2 4 6βŽ₯
386 ⎒1 Ο‰ Ο‰ Ο‰ 1 Ο‰ Ο‰ Ο‰ βŽ₯
387 ⎒ βŽ₯
388 ⎒ 3 6 4 7 2 5βŽ₯
389 ⎒1 Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ βŽ₯
390 ⎒ βŽ₯
391 ⎒ 4 4 4 4βŽ₯
392 ⎒1 Ο‰ 1 Ο‰ 1 Ο‰ 1 Ο‰ βŽ₯
393 ⎒ βŽ₯
394 ⎒ 5 2 7 4 6 3βŽ₯
395 ⎒1 Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ βŽ₯
396 ⎒ βŽ₯
397 ⎒ 6 4 2 6 4 2βŽ₯
398 ⎒1 Ο‰ Ο‰ Ο‰ 1 Ο‰ Ο‰ Ο‰ βŽ₯
399 ⎒ βŽ₯
400 ⎒ 7 6 5 4 3 2 βŽ₯
401 ⎣1 Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ Ο‰ ⎦</text>
402 <latex>$$\left(\begin{smallmatrix}1 &amp; 1 &amp; 1 &amp; 1 &amp; 1 &amp; 1 &amp; 1 &amp; 1\\1 &amp; \omega &amp; \omega^{2} &amp; \omega^{3} &amp; \omega^{4} &amp; \omega^{5} &amp; \omega^{6} &amp; \omega^{7}\\1 &amp; \omega^{2} &amp; \omega^{4} &amp; \omega^{6} &amp; 1 &amp; \omega^{2} &amp; \omega^{4} &amp; \omega^{6}\\1 &amp; \omega^{3} &amp; \omega^{6} &amp; \omega &amp; \omega^{4} &amp; \omega^{7} &amp; \omega^{2} &amp; \omega^{5}\\1 &amp; \omega^{4} &amp; 1 &amp; \omega^{4} &amp; 1 &amp; \omega^{4} &amp; 1 &amp; \omega^{4}\\1 &amp; \omega^{5} &amp; \omega^{2} &amp; \omega^{7} &amp; \omega^{4} &amp; \omega &amp; \omega^{6} &amp; \omega^{3}\\1 &amp; \omega^{6} &amp; \omega^{4} &amp; \omega^{2} &amp; 1 &amp; \omega^{6} &amp; \omega^{4} &amp; \omega^{2}\\1 &amp; \omega^{7} &amp; \omega^{6} &amp; \omega^{5} &amp; \omega^{4} &amp; \omega^{3} &amp; \omega^{2} &amp; \omega\end{smallmatrix}\right)$$</latex>
403 <prompt_number>7</prompt_number>
404 </output>
405 </outputs>
406 </codecell>
407 <markdowncell>
408 <source>&lt;h2&gt;QFT in Action&lt;/h2&gt;</source>
409 </markdowncell>
410 <markdowncell>
411 <source>Build a 3 qubit state to take the QFT of.</source>
412 </markdowncell>
413 <codecell>
414 <input>state = (Qubit('000') + Qubit('010') + Qubit('100') + Qubit('110'))/sqrt(4); state
415 </input>
416 <language>python</language>
417 <prompt_number>8</prompt_number>
418 <collapsed>0</collapsed>
419 <outputs>
420 <output>
421 <output_type>pyout</output_type>
422 <text>❘000⟩ + ❘010⟩ + ❘100⟩ + ❘110⟩
423 ─────────────────────────────
424 2</text>
425 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVA0QUFBQWlDQVlBQUFCL2FtUUZBQUFBQkhOQ1NWUUlD
426 QWdJZkFoa2lBQUFCUjVKUkVGVQplSnp0bkZ0b0hGVVl4My9iSk5hbXBob3JhUnZGVnEyWVFnUXQr
427 aUJLS3lxaWd1TGxJWUpRUVgzd1FiRytGQzhnNjFNcGxHb3JvcjNnCkJYendwWWhJOVVHMGlvaGFC
428 VVdyQmtHRldtOTRiMU1xYWMzNjhNMjRrM0V1NTh5ZU16dVovWDZ3N002Wi8zNTgvejJabVhNTktJ
429 cWkKWkRBTTlIYzdDVVZSeW1FK3NBYjRCbGpSM1ZRVVJYSEJQQVBOQkRBRW5PVTVGMFZSS2tnTGZl
430 SXJTaTB3ZWVJcmlsSXpldjNDUHgyNAp1TnRKbEVRdmVRWDFtMG1mUmVBbXNCWDQwektoS0FOSWdv
431 ZUFHNEhKMlBuNXdMM0F6Y0FGd0JUd2MwSWNWN29wNEc1Z2J5RTNkc1Q5Cm1ub0FhQUFiZ1ErQTZS
432 Uk5sYjJHdVBCaHFwc3JmazExUmZ5ZUEveVJuMzQybmZieCt4Rnpwd1RIemRqNVB1QWo0S0hnZUJI
433 d0NiRE8Kcys0ZVlJbTVqY0kwSTU5TmN3dTFUeUsvLzJrcHNhdnNOY1NsajdyNE5kVVY5YnNSdWZn
434 TDB3Z1M2MlJrZnpOd2J1UzRHVHQvRy9BWAowaW9JV1FjY1lYYnlyblduQXZjYmVvaGoyMkt5eVcw
435 RWVCbDREL2lhN0QrTUtudjE0YU1PZnN1bzMySGduWXk0bWR3T1BJUGNjVjRFCjFoZUljVDd3Vkt5
436 c0dmbmNBRDREWG9wcGxnSXp3QVpQdXBCSEtUYmVzY2RDMjdUTWJRQTRNZmk4bWZRL2pDcDdCZmMr
437 NnVLM3JQcTkKQmRnVUQycnlnendQM0FGY0JOd0tQRzd3blRnYmdKMFo1ODhFeG9FUFkrVS9BZDhC
438 VjNuU2hid0dYSmZwSUptRkJiNWptdHN4NEcrSAo4VUxLOUFydWZkVEZiMW4xdXh1NG5QWk5CaWhu
439 Vkw4UHVBenBrNlN4TEhnL25IQnVDbGpwU1JmeVBuQkpSbjR1c2MzTmRid3l2ZHBRCmg3cjFnUXUv
440 dndBM1JRdkt1UERIZ1lOSXN5U05wY0g3Vk1LNUk3UUhCRjNyb2h3RXpzakkwUlZGY25NZHJ5eXZO
441 dFNoYm4zZ3d1OGsKY2gzK1Izamh0enk4UWthQjMzTE1MUWplanlXY2F5RlRHVDUwVVVhQVgzUHlk
442 RUdSM0Z6SEs4dXJEWFdvV3grNDhEc0pMSThLd3QxMgpqVTZ6eTJBWU9KcWorVExqM0VLa3FlSkRG
443 eklJL0lOWm42dFRiSE56SGE5TXJ6YlVvVzU5NE1MdkFkb3RCNkNjYmJhL2t6OE4rQVZ3Cm5QYmRM
444 Y29nOEtNblhjZ0VNbU9SUkFQWWxoTHJQR0JYUXZrTThDREpMUjNiM1BLb3NsY2I2bEMzUG5EaGR6
445 bXhoVHhsWFBnL0FHTTUKbW1uZ0svN2ZEeHRFVnZydDg2UUxXUWs4bTVKYkM5aE9iRlEwNEVMZzZZ
446 VHlHZEpYVE5ubWxrZVZ2ZHBRaDdyMWdRdS9xNER2b3dWbApYUGo3a2FiSE1yS2ZacDhpVTRaUjFn
447 QW5NSHNxMExWdU5iSkdJWXY5S2VXSERiNmJoR2x1cnVOMXc2c05kYWhiSDNUcWQ0eFk2NldNClVm
448 MFpaRzV4Vlk3dUJlQnFabmNMcmtmV0w3L2hVWGNEOEVxZUNjZVk1dVk2WGplODJsQ0h1dlZCcDM3
449 UEJsNlBGcGc4OFJjQWR5RnIKZ0E4QXo1Rzk0U0NKVGNIcnpRek5IdUFCWk1IQlZtUTI0RXFreitK
450 THR3aVpKamx1NmFkVFRITHJCKzVEQm1YdURNcDJJNXN3OWdKdgpXOGJybGxmWFBreDFWZmRiVnYx
451 T0FLOFNXd2VRTjVvL0QzZ0NlQVRwMTJ4Qm1oeHJrZWE3RGR1QWoybjNQNWFRdk91cUgybXlIRVdt
452 CklaS21NVnpwaHBEZjRKQ3BpUmh2SWF1aVRFanltNVZiSDNCdFNxeHZnYzhUeXF2bzFiVVBVMTNW
453 L1paUnY0c1JIMnVSUVhaanhwRSsKMEVod1BJb01pRnhxRXlTUzlBNWkwd3B6bkRLMmZGYUZYdklL
454 OWZDN0Jka25ZODBROEJqU2pBQzVBYlF3dnhQR0NmZmoxd1hiNWJWegptVjd5Q3ZYd3U4SlZvUFhJ
455 Wm9HQlBLR2lLUFZnREhnWGFlNHJpdElEakNMOTg1T0Q0MTcvWDMyS1Vuc1dBdy9UYnQ2dkJxN3BY
456 anFLCm9uUkszblRlU2NqRS96VHRIWGVqd0JYSTFqOUZVZVlnZVF0NEJwRUZBMUZhNkVXdktJcWlL
457 SXFpS0lxaUtJcWlLRjNuWDdyc1VmN2kKM2xJV0FBQUFBRWxGVGtTdVFtQ0MK
458 </png>
459 <latex>$$\frac{1}{2} \left({\left|000\right\rangle } + {\left|010\right\rangle } + {\left|100\right\rangle } + {\left|110\right\rangle }\right)$$</latex>
460 <prompt_number>8</prompt_number>
461 </output>
462 </outputs>
463 </codecell>
464 <markdowncell>
465 <source>Perform the QFT.</source>
466 </markdowncell>
467 <codecell>
468 <input>qapply(fourier*state)
469 </input>
470 <language>python</language>
471 <prompt_number>9</prompt_number>
472 <collapsed>0</collapsed>
473 <outputs>
474 <output>
475 <output_type>pyout</output_type>
476 <text>⎽⎽⎽ ⎽⎽⎽
477 β•²β•± 2 β‹…β˜000⟩ β•²β•± 2 β‹…β˜100⟩
478 ─────────── + ───────────
479 2 2</text>
480 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5BQUFBQWtDQVlBQUFENHA3UjdBQUFBQkhOQ1NWUUlD
481 QWdJZkFoa2lBQUFCWkJKUkVGVQplSnp0M0h1b1pWVWR3UEhQSFcvam5kRWNMYTFyVHRvZmFRWTVR
482 eFNwbzg1Y1N3SmoxQVRGQjhySWRLdXhtb2dKMG54T1lZMys0U1A2Cko2bEltSUVvUmhLTmZDR29K
483 Q2dPZ29NamdYL0kwRU1sRll1Um9sRnVmL3pPeG5QMjNlZHh6OW1QYzYvckM1dkRYZnUzOTE1bmY4
484 OWUKZTYzZjJ2dVNTQ1FTaVVRVFREUmRnVDdNbGJDUGNmK09TNTNqOExjUzlyUG9QWjZBcVpxUHVS
485 c2Zxdm1ZUzVua3NHU1dEUkN6R3BkagpENmFyclU0SG44Vit2Rm5qTVpjcXlXR0RuSXUxb2p2MWlS
486 cVB1MHZjL2hPamt4eFd4T1FBTVE5V1hvdjVuSVMzOGZjR2pyMFVTUTdICmdEcGJyMS9peEpxTzlY
487 NGlPU3laUWNaQWRmTnhNZEI5cWVtS2xNU21waXZRQUV2TklWMDhEdEtGcTV2djQvWWU2OWRnVmd5
488 TW44WDkKMkZjUXQ3YjErWHl1L0VwOFFReHNYOEc5K0dmQjltWEZmVUJrdi9iMytFNUxqWDRPR2Qx
489 anhwbFlqNTkyV1Q4Mkh1dTQvUjhqMHA3ZApPQi8zNFhNaW03UUQvOEVGQmJFenJhV2RHL0ZuTEcv
490 OWZaVVFzNkxDdU1OeFRkZHZWQy9qNEpEUlBSTHpRdWZnMy9oVmwrT01qY2ZsCjR1Ui9hdGdkRE1n
491 dE9Ldkx1c1B3QW83S2xUK0VkMFRyME02TXpoTy9Ddi9DSlcxbHkvQTY3cXd3RG00U0xkaENXYW04
492 ZVp0eGNNam8KSHVGN2VGeGsrZVlVWDBCajQzRVQ3aFl0eG05YWxhK0NJL0JBai9YcnhZejJKYm55
493 TGVJa3p1YktaM1NlK0d1Rm9QeWszbTkxWm9ySwpqb05UQ3VvOUNKdHgyUkRiNVJrWGg0enVzWjFK
494 M1MrZ2NmSllDajhRdDhwdVhJT3Y5RmgvdGpoWlQrYktON2JLNzhxVnorZzg4WS9nCjVTN0huY09u
495 SzRyTCtFbEJiRDltY2NVUTIxWEZxQTRaM1dNN3ZTNmdXanpXa1lXYnhIWXhHUHlXNGx2Z2xEaXhm
496 K3F4bjhkeG52bloKa0UrMlByc05Nak9tY2FDZy9PM1c1d2tWeFdXOGFMNk14VUpaRGhuZDQ2RFU0
497 ckdPQytnZGNkVmVoNC9nNG9LWXphSnIwWXM1L05IOAoxdUpTdktGLzEySGFleWVsbmF6c3lJcmlN
498 bmJqb2o1MUhGZktjc2pvSGdlbEZvL1pCVFJYd2RMT1FaSCtld0JiYytzbWNhSCttWnNpCkxoQ3B4
499 MitMUVY4dkpzVVBJYzlFMi9vcTRqTFdpTUZ6VlZUaHNOMWpWUTVabU1kQnFjWGpzcmJnc3BjaWZv
500 N1Q4UG0yc3N2d2U3emIKWlp0dUhDc0d4dC9CN3dhSUw1cGpJTEpDOEZwRmNSbm5LYTkxTGFJS2gw
501 VWV5M1RJd2owT1NpMGU2NTVJZlV6MEliZUtQdkNFbU1EYQp1TUQ5VE9FUG9sLytpd0czMllzekNz
502 cFh0ajVmcVNpTzZBWWNVTnpTd1RkRkM1NW50ZmhSRmlVU2RyV1d1aW5MSWNONUhKUW1QTmJDCjFm
503 aXZtSEQ3S3JZdGNQc0owVkxsQjZHbjUvNmUwWm05MlNMNjJIbDI0bjlpUHFDS09HTGczZXVwNUNu
504 UkY4OHYyMFMzcG1qZG9UMzIKVnpXak9tUjRqKzMweXNJMTRiRVdEc2RidUY1a2JBN3JIVDZQVy9H
505 MVhObHEzSkFybTlGNTR0Y3Bua2o4QjM1ZFlSd3h1VGdNNDViRwp6aGpWSWNON2JLZlhCVlNMeHlZ
506 ZUpqMkFlL0JEUEtNNEE5S05iNGorOTRUNGNjM2k2N2daZittejdSNDhMVnIwakhYNEtHNnJNRzRE
507 Cm51aFR0OFhHS0E0WnpXTTdoN1EraTlMcVkrUHhHTkhTN01DUGRkN1NodVZFOFF6VFFsNzFQVlZr
508 Z3JwbGkwN0p4VzlvTGUxTWl6NzgKVGpFYnYxZjAzL09VR2Zjanc3L1BYOVlkYUZ3Y1VvN0hMNHZF
509 dzNPdGJkNFZEMy8rVER3TmtWRzV4MzVpSjBYVzVidmlTMS9YMnZGYQowVDhjaFkrSjIrU2dUT1Br
510 SHV1ZkVuWE15RnFsZ3dXeEswUUxzMS92ZjF4U1J0d1I0b2MyRExOaXJERktzbUNjSEZLT3gyd2NX
511 TVErCjg1MDM1bkVOL3VxOWdkUFJyUjEvY2FFN1NnekZadkcvREVZaE9XeVFLZkZ1Ui9aWTkycHg4
512 dGMxVnFQM0YyVThqWjBjamhIYjhhangKZkpNMU1SamJKWWVOY0JvZTFqbElTeXd1a3NPR09CbDNp
513 SmV5bHVHRHpWWW5NUVRKWVVNY0wxSjdXY2J1ZEh5cHVlb2toaUE1ckloKwphZXdQaTNmRjJ5ZXFq
514 c1JuOEdwVmxVcVVTbkpZSWYwdW9GWG1UMnpOaVZ4OVluR1FIQ1lTaVVRaWtVZ2tFb2xFb2hUK0Qw
515 Wk9ETlc0Ck1IRFZBQUFBQUVsRlRrU3VRbUNDCg==
516 </png>
517 <latex>$$\frac{1}{2} \sqrt{2} {\left|000\right\rangle } + \frac{1}{2} \sqrt{2} {\left|100\right\rangle }$$</latex>
518 <prompt_number>9</prompt_number>
519 </output>
520 </outputs>
521 </codecell>
522 </cells>
523 </worksheet>
524 </worksheets>
525 </notebook>
1 {
2 "nbformat": 2,
3 "name": "qft",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Quantum Fourier Transform</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 1,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 2,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "source": "QFT is useful for a quantum algorithm for factoring numbers which is exponentially faster than what is thought to be possible on a classical machine.<br>\nThe transform does a DFT on the state of a quantum system<br>\nThere is a simple decomposition of the QFT in terms of a few elementary gates.",
29 "cell_type": "markdown"
30 },
31 {
32 "source": "<h2>QFT Gate and Circuit</h2>",
33 "cell_type": "markdown"
34 },
35 {
36 "source": "Build a 3 qubit QFT and decompose it into primitive gates.",
37 "cell_type": "markdown"
38 },
39 {
40 "cell_type": "code",
41 "language": "python",
42 "outputs": [
43 {
44 "output_type": "pyout",
45 "latex": "$$SWAP_{0,2} H_{0} C_{0}{\\left(S_{1}\\right)} H_{1} C_{0}{\\left(T_{2}\\right)} C_{1}{\\left(S_{2}\\right)} H_{2}$$",
46 "prompt_number": 3,
47 "png": "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\n",
48 "text": "SWAP \u22c5H \u22c5C \u239bS \u239e\u22c5H \u22c5C \u239bT \u239e\u22c5C \u239bS \u239e\u22c5H \n 0,2 0 0\u239d 1\u23a0 1 0\u239d 2\u23a0 1\u239d 2\u23a0 2"
49 }
50 ],
51 "collapsed": false,
52 "prompt_number": 3,
53 "input": "fourier = QFT(0,3).decompose(); fourier\n"
54 },
55 {
56 "cell_type": "code",
57 "language": "python",
58 "outputs": [
59 {
60 "output_type": "pyout",
61 "prompt_number": 4,
62 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x4992910&gt;"
63 },
64 {
65 "output_type": "display_data",
66 "png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAADFCAYAAADjc32JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEnhJREFUeJzt3X9MVfXjx/HXuZeuAiECSZlOizkXGjVrECEgQbq0WWHa\nomXpVpNpzbIflLVafxi12qzW/FSzH1t/kJm1Ya5mTn7IbentF7OoGFFiq8RMELho/DjfP5p8Y9yL\ngJd77vv6fGznn/PWw+vNkfvivM+5V8u2bVsAABjE5XQAAABGi/ICABiH8gIAGIfyAgAYh/ICABiH\n8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/IC\nABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABgnKsorOTlZlmWN\n25acnOz0FAeEcq6RNC9pfM5jpM0RQGhYtm3bToc4W5ZlaTynMd7HH41QZomkeUnjkyfS5gggNKLi\nygsAcG6hvAAAxqG8AADGifryWrZsmdLT0+VyueTxeDRv3jytWbNGknTo0CEVFhZq+vTpcrlcSkxM\nVFZWlrZs2eJw6rHp7e3VK6+8opUrV6qkpETFxcV666231NXVpaVLlzodb1QOHjwol8slt9utOXPm\naPHixbr22msHzuN1112nxYsXKycnR/Hx8XK73ero6HA6NoBwsaPAmabxxRdf2JZl2Q888EDA8fLy\nctuyLPv9998f0/HDKVgWv99v33jjjfamTZsG7S8vL7dnz55tl5SUjPhYTvlvno0bN9orVqywOzs7\nB/Z9//33tmVZ9urVqwf9vYMHD9qTJ08+4zEBRI+ov/KSpNraWknSkiVLAo5XVVXJ7XZr0aJF4YwV\nUnfddZemTZumjRs3Dtr/2GOPqbOzU9dff71Dycbm66+/VkVFheLj4wf21dTUSJIWLlw46M9efvnl\nmj9/fljzAecKv98/ZF9/f7+6u7sdSPP/zonyqqmpkcfjUW5u7pCxnp4eeb1eZWRkKDEx0YF0Z6+9\nvV2VlZVasWJFwPGMjAwVFRWFOdXYffPNN8rPz5fb7R60//QvIfn5+YP29/X16YILLghbPuBc0dXV\npblz5w787En/Fte9996rp59+2sFk50B59ff3y+v1KjMzU7GxsUPGfT6f/H7/kBdEk9TV1amnp0eN\njY0Bx/Py8jRz5swwpxq7o0ePatWqVUP219bW6tJLL9W0adMG7e/p6Ql6VQ1g7OLj47V161YtX75c\ntbW1A8XV1NSkp556ytFsMY5+9TCor69Xe3u7CgoKAo5XVVVJkhYsWBDGVKGVnZ0tt9utDRs26Jdf\nftEtt9yia665RjEx/57eJ554wuGEoxNo+bapqUl//PGH7r777iFjEydO1G233RaOaMA5p6ioSBUV\nFVq+fLkyMzPV2dmpXbt26fzzz3c2WLCbYZKM2oJ56aWXbMuy7KysLPuGG24YsqWkpNgul8v+66+/\ngh7D6bmNZK4vvPCCPWHCBNuyLNuyLDs+Pt5et26d3dbWZsy8hjuPb775pm1Zlv32228H/TOmzJGN\nje3st6BXXrZBH6ljWVbQsZqaGsXExKiqqkpxcXGDxvr6+jRp0iSlp6crJSVl2K8RKd+PYHN9+OGH\ntXTpUlVUVKiqqkpffPGFtmzZoiNHjmj79u1Bjxcp85KGP4/B7neNRCTNETDNf5cKa2trNWXKFH3w\nwQeO32qJ6s82tG1bqampuuSSS+Tz+YaMHzhwQNnZ2SotLR32vV2R9Pl4I83S0NCgxYsX688//1RH\nR4c8Hs+YjxUuw+VJS0tTT0+PDh8+HLJjAhjef4tr165dSkhI0J49e1RSUuJ4gUX1AxsNDQ06duyY\n8vLyAo7X1dVJMvt+1/PPPx9w/5w5c3THHXdIMv/K47ffftOvv/4a9DwCGB8nT55UUlLSoHtcRUVF\neu+999Tc3Oxotqgur9NLTYEekZckr9craWxLUZGgs7NT1dXVQcdPnDihq6++WhMmTAhfqHFwNkuG\nAMYuLi5OL7744pCHMwoLCwM+ERxOUV1eNTU1sixr2PKaNWuWpk6dGuZkobFv3z7t2bMn4G9Ara2t\n2rFjh8rLyx1IFlqny8vkK2QAoRW15XXq1ClVV1crLS1NqampQ8br6+vV2tpq9Ccz7N27V2lpaSor\nK9MPP/wwsL+5uVk333yzysrKjH/B9/v9+uyzzzR58mSlp6c7HQdAhIi693m1tLRo5cqVOnz4sI4e\nParjx48rNzdXd955p0pLS7Vz506Vl5erqalJlmWpsrJSBQUFevbZZ5WTk+N0/FE5cuSI9u/fr2+/\n/Vbr169XW1ubUlJSFBsbq82bNys7O9vpiGNi27aKi4vV0dGh5uZmtbS0SJKysrI0efJk3XPPPbyv\nCzjHRfXThqYcfzT4n5SdPyZwroqkn6eoXTYEAEQvygsAYJyouec13KcznK2kpKRxO/ZYhGqukTYv\nKfTnMRLnCODsRUV5RcoabDiMZK6RtC49GiPNbOr8AIQOy4YAAONQXgAA41BeAADjUF4AAONQXgAA\n41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQ\nXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4A\nAONQXgAA41BeAADjUF4AAONQXgAA41BewDhLTk6WZVnjtiUnJzs9RUmhnWekzAmRy7Jt23Y6BELL\nsixF82k1bX7jnTdSvh+hzBEpc8JgkXReuPICABiH8gIAGIfyAhyybNkypaeny+VyyePxaN68eVqz\nZo0k6dChQyosLNT06dPlcrmUmJiorKwsbdmyxeHUY9fb26tXXnlFK1euVElJiYqLi/XWW2+pq6tL\nS5cudToeDEN5AQ758MMP9c4770iS1q1bp2+++Uavv/66JGnmzJnau3ev7rvvPknS1q1bdeDAAa1d\nu9apuGelu7tbt9xyizo7O/Xuu++qoqJCH330kVpbW3XVVVcpISHB6YgwDOUFOKi2tlaStGTJkoDj\nVVVVcrvdWrRoUThjhdxdd92ladOmaePGjYP2P/bYY+rs7NT111/vUDKYKsbpAAit1tZWSVJPT4/O\nO+88h9PgTGpqauTxeJSbmztkrKenR16vVxkZGUpMTHQgXWi0t7ersrJSu3btCjiekZGhoqKiMKeC\n6bjyihLd3d1avny5ZsyYIUmaMmWKtm/f7nAqDKe/v19er1eZmZmKjY0dMu7z+eT3+5Wfn+9AutCp\nq6tTT0+PGhsbA47n5eVp5syZYU4F01FeUeKhhx7Srl27dOrUKUn//ra7atUq/fTTTw4nQzD19fVq\nb29XQUFBwPGqqipJ0oIFC8KYKvSys7Pldru1YcMGPfLII/J6vert7R0Yf+KJJxxMB1PxJuUoER8f\nL7/fP2hfTEyMHn30UW3atMmhVOMjkt4oORLB8r788st68MEHlZmZGfATJXw+n44fP67W1lalpKSM\n+vjhNlyOF198UU8++aT++ecfSVJcXJxWrVqlTZs2BVwSjZQ5YbCIOi92EJLY2NhCtAVSXFxsn3fe\neXZXV9eQsd7eXjsuLs6eO3dusB/RiPxZHc6PP/5oP/3003Z+fr7t8Xhsy7Ls5cuXR/yc2CJz48or\nStx000365JNPBi3HxMXFaffu3Zo/f76DyUIvon77G4FAeW3bVmpqqi655BL5fL4hf+fAgQPKzs5W\naWnpGd/bFSnfj9HkaGho0OLFi/Xnn3+qo6NDHo9nzMdC+ETSeeGeV5R4/fXXNWPGDCUkJOj888/X\nxIkTdf/990ddcUWLhoYGHTt2THl5eQHH6+rqJJl/v+v5558PuH/OnDm64447JCliXgxhFh6VjxJT\np05VY2Oj9u7dq99//115eXlKS0tzOhaCOP3+rkCPyEuS1+uVJKOfNOzs7FR1dbXKysoCjp84cUJX\nX321JkyYEOZkiAaUVxRxu91auHCh0zEwAjU1NbIsa9jymjVrlqZOnRrmZKGzb98+7dmzR83NzUN+\nkWptbdWOHTu0bds2h9LBdCwbAmF26tQpVVdXKy0tTampqUPG6+vr1draavyS7969e5WWlqaysjL9\n8MMPA/ubm5t18803q6yszPhlUTiHKy8gTFpaWrRy5UodPnxYR48e1fHjx5Wbm6s777xTpaWl2rlz\np8rLy9XU1CTLslRZWamCggI9++yzysnJcTr+qB05ckT79+/Xt99+q/Xr16utrU0pKSmKjY3V5s2b\nlZ2d7XREGIynDWGcSHriaST4zyidPRZCJ5LOC8uGAADjUF4AAONQXgAA4/DABhAGlmWN27GTkpLG\n7dijFap5RtKcEJkoL2CcRcoN7vE20nlG0k1/mItlQwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8A\ngHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBx\nKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgv\nAIBxKC8AgHEoLwCAcSgvAIBxKC8ACCI5OVmWZY3blpyc7PQUjWXZtm07HQIYDcuyxD9bc5l0/sY7\nq0nfCymy8nLlBQAwDuUFADAO5QUAY7Bs2TKlp6fL5XLJ4/Fo3rx5WrNmjSTp0KFDKiws1PTp0+Vy\nuZSYmKisrCxt2bLF4dTRg3teME4krbtj9Ew6f2fKun//fl177bVav369Nm/ePGT8ueee08aNG7Vt\n2zatWLFi1MePNJGUlysvABij2tpaSdKSJUsCjldVVcntdmvRokXhjHVOoLxgDL/frx07dkiSjh07\n5nAajFZTU5PeeecdSVJfX5+zYUKkpqZGHo9Hubm5Q8Z6enrk9XqVkZGhxMREB9Kdvf7+flVUVKi/\nv3/Q/p9//lmff/65Q6n+RXnBCD6fT9OmTdPq1aslSdOnT9e2bdscToWRsG1bGzZs0BVXXKH77rtP\nknTZZZfpyJEjDic7O/39/fJ6vcrMzFRsbOyQcZ/PJ7/fr/z8fAfShcbJkyf16quvau3atQMF9vPP\nP6uwsFDff/+9o9koL0S8/v5+FRcXq62tTR0dHZL+/aFavXq1/v77b4fT4Uyqq6v1xhtvqLu7W11d\nXZKkX3/9VevWrXM42dmpr69Xe3u7CgoKAo5XVVVJkhYsWBDGVKEVFxenTz/9VAcPHtTatWslSYWF\nhXr88cd17733OpotxtGvDozAjz/+qLa2tiH7Y2JitHv3bt1+++0OpMJIvf/++/L7/YP29fb26uOP\nP3YoUWicvt+1e/duffnll0PGfT6fLMsy+spLkhISEvTpp58OlHRZWZlKS0udDaVhnja0LCvcWQAg\n4gR7um7ZsmX6+OOP1dbWpri4uEFjfX19mjRpki699FJ99913QY/N6+zYBV02tG2bjS1itquuukpu\nt3vQv9GkpCR1d3c7no1t+O27774b8uIeGxurBx54wPFsZ9qGe33ct2+frrzyyiFzk6SvvvpK3d3d\nI7rqcnqOZ9qampo0Y8YM/e9//9OJEyeUk5OjNWvWqK+vz9Fc3POCEXbu3Kl58+YpNjZW8fHxmjFj\nhvbs2aOJEyc6HQ1nMHfuXG3dulWTJk1SQkKCJkyYoKVLl+q5555zOtqYNTQ06NixY8rLyws4XldX\nJ8ns+12S1NXVpaKiIj3++OMqLS0dWEI8ePCgnnnmGUezcc8LRrj44ovl8/l06NAhnTx5UrNnz2bJ\nxSAlJSW69dZb1djYqAsvvFBTpkxxOtJZOX2/K9Aj8pLk9Xolyfj7XfHx8frkk0+Unp4+sO90gbW3\ntzuYjE/YAICggn2ixO23367t27frjz/+UGpq6pDxiy66SJMmTVJjY+OYjo8zY9kQAEbh1KlTqq6u\nVlpaWsDiqq+vV2trq+bPn+9AunMH5QUAI9DS0qIFCxYoPT1dR48eVUtLi3Jzc/Xaa69J+ve+bE5O\njhYuXCjLslRZWamCggLHP4kiWrFsCABB8J9RRi6uvAAAxqG8AADGobwAAMbhfV4AMIzxfD9hUlLS\nuB072lFeABAED1NELpYNAQDGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAA\nxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMah\nvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwA\nAMahvAAAxqG8AADG+T9bnbupimRS1gAAAABJRU5ErkJggg==\n"
67 }
68 ],
69 "collapsed": false,
70 "prompt_number": 4,
71 "input": "circuit_plot(fourier, nqubits=3)"
72 },
73 {
74 "source": "The QFT circuit can be represented in various symbolic forms.",
75 "cell_type": "markdown"
76 },
77 {
78 "cell_type": "code",
79 "language": "python",
80 "outputs": [],
81 "collapsed": true,
82 "prompt_number": 5,
83 "input": "m = represent(fourier, nqubits=3)"
84 },
85 {
86 "cell_type": "code",
87 "language": "python",
88 "outputs": [
89 {
90 "output_type": "pyout",
91 "latex": "$$\\left(\\begin{smallmatrix}\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\end{smallmatrix}\\right)$$",
92 "prompt_number": 6,
93 "text": "\u23a1 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u212f \u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u22c5\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd\n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u2572\u2571 2 \u22c5\u2148\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u212f \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u22c5\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd\n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u2572\u2571 2 \u22c5\u2148\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a3 4 4 4 4 4 4 4 \n\n \u23bd\u23bd\u23bd \u23a4\n \u2572\u2571 2 \u23a5\n \u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0\u23a5\n \u2500\u2500\u2500\u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n\u2148 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u23a5\n\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5\n 4 \u23a5\n \u23a5\n \u23bd\u23bd\u23bd \u23a5\n -\u2572\u2571 2 \u22c5\u2148 \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0 \u23a5\n \u2500\u2500\u2500 \u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n -\u2572\u2571 2 \u22c5\u212f \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u23bd\u23bd\u23bd \u23a5\n -\u2572\u2571 2 \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0 \u23a5\n \u2500\u2500\u2500 \u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n\u2148 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u23a5\n\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u23bd\u23bd\u23bd \u23a5\n \u2572\u2571 2 \u22c5\u2148 \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0 \u23a5\n \u2500\u2500\u2500 \u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n \u2572\u2571 2 \u22c5\u212f \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a6"
94 }
95 ],
96 "collapsed": false,
97 "prompt_number": 6,
98 "input": "m"
99 },
100 {
101 "cell_type": "code",
102 "language": "python",
103 "outputs": [
104 {
105 "output_type": "pyout",
106 "latex": "$$\\left(\\begin{smallmatrix}1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\\\1 & \\omega & \\omega^{2} & \\omega^{3} & \\omega^{4} & \\omega^{5} & \\omega^{6} & \\omega^{7}\\\\1 & \\omega^{2} & \\omega^{4} & \\omega^{6} & 1 & \\omega^{2} & \\omega^{4} & \\omega^{6}\\\\1 & \\omega^{3} & \\omega^{6} & \\omega & \\omega^{4} & \\omega^{7} & \\omega^{2} & \\omega^{5}\\\\1 & \\omega^{4} & 1 & \\omega^{4} & 1 & \\omega^{4} & 1 & \\omega^{4}\\\\1 & \\omega^{5} & \\omega^{2} & \\omega^{7} & \\omega^{4} & \\omega & \\omega^{6} & \\omega^{3}\\\\1 & \\omega^{6} & \\omega^{4} & \\omega^{2} & 1 & \\omega^{6} & \\omega^{4} & \\omega^{2}\\\\1 & \\omega^{7} & \\omega^{6} & \\omega^{5} & \\omega^{4} & \\omega^{3} & \\omega^{2} & \\omega\\end{smallmatrix}\\right)$$",
107 "prompt_number": 7,
108 "text": "\u23a11 1 1 1 1 1 1 1 \u23a4\n\u23a2 \u23a5\n\u23a2 2 3 4 5 6 7\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 2 4 6 2 4 6\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 1 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 3 6 4 7 2 5\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 4 4 4 4\u23a5\n\u23a21 \u03c9 1 \u03c9 1 \u03c9 1 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 5 2 7 4 6 3\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 6 4 2 6 4 2\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 1 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 7 6 5 4 3 2 \u23a5\n\u23a31 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a6"
109 }
110 ],
111 "collapsed": false,
112 "prompt_number": 7,
113 "input": "represent(Fourier(0,3), nqubits=3)*4/sqrt(2)\n"
114 },
115 {
116 "source": "<h2>QFT in Action</h2>",
117 "cell_type": "markdown"
118 },
119 {
120 "source": "Build a 3 qubit state to take the QFT of.",
121 "cell_type": "markdown"
122 },
123 {
124 "cell_type": "code",
125 "language": "python",
126 "outputs": [
127 {
128 "output_type": "pyout",
129 "latex": "$$\\frac{1}{2} \\left({\\left|000\\right\\rangle } + {\\left|010\\right\\rangle } + {\\left|100\\right\\rangle } + {\\left|110\\right\\rangle }\\right)$$",
130 "prompt_number": 8,
131 "png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAAiCAYAAAB/amQFAAAABHNCSVQICAgIfAhkiAAABR5JREFU\neJztnFtoHFUYx3/bJNamphoraRvFVq2YQgQt+iBKKyqiguLlIYJQQX3wQbG+FC8g61MplGoror3g\nBXzwpYhI9UG0iohaBUWrBkGFWm94b1Mqac368M24k3Eu58yeMzuZ/X6w7M6Z/358/z2ZmXMNKIqi\nZDAM9Hc7CUVRymE+sAb4BljR3VQURXHBPAPNBDAEnOU5F0VRKkgLfeIrSi0weeIrilIzev3CPx24\nuNtJlEQveQX1m0mfReAmsBX40zKhKANIgoeAG4HJ2Pn5wL3AzcAFwBTwc0IcV7op4G5gbyE3dsT9\nmnoAaAAbgQ+A6RRNlb2GuPBhqpsrfk11RfyeA/yRn342nfbx+xFzpwTHzdj5PuAj4KHgeBHwCbDO\ns+4eYIm5jcI0I59Ncwu1TyK//2kpsavsNcSlj7r4NdUV9bsRufgL0wgS62RkfzNwbuS4GTt/G/AX\n0ioIWQccYXbyrnWnAvcbeohj22KyyW0EeBl4D/ia7D+MKnv14aMOfsuo32HgnYy4mdwOPIPccV4E\n1heIcT7wVKysGfncAD4DXopplgIzwAZPupBHKTbescdC27TMbQA4Mfi8mfQ/jCp7Bfc+6uK3rPq9\nBdgUD2rygzwP3AFcBNwKPG7wnTgbgJ0Z588ExoEPY+U/Ad8BV3nShbwGXJfpIJmFBb5jmtsx4G+H\n8ULK9ArufdTFb1n1uxu4nPZNBihnVL8PuAzpk6SxLHg/nHBuCljpSRfyPnBJRn4usc3NdbwyvdpQ\nh7r1gQu/vwA3RQvKuPDHgYNIsySNpcH7VMK5I7QHBF3rohwEzsjI0RVFcnMdryyvNtShbn3gwu8k\nch3+R3jhtzy8QkaB33LMLQjejyWcayFTGT50UUaAX3PydEGR3FzHK8urDXWoWx+48DsJLI8Kwt12\njU6zy2AYOJqj+TLj3EKkqeJDFzII/INZn6tTbHNzHa9MrzbUoW594MLvAdotB6Ccbba/kz8N+AVw\nnPbdLcog8KMnXcgEMmORRAPYlhLrPGBXQvkM8CDJLR3b3PKoslcb6lC3PnDhdzmxhTxlXPg/AGM5\nmmngK/7fDxtEVvrt86QLWQk8m5JbC9hObFQ04ELg6YTyGdJXTNnmlkeVvdpQh7r1gQu/q4DvowVl\nXPj7kabHMrKfZp8iU4ZR1gAnMHsq0LVuNbJGIYv9KeWHDb6bhGluruN1w6sNdahbH3Tqd4xY66WM\nUf0ZZG5xVY7uBeBqZncLrkfWL7/hUXcD8EqeCceY5uY6Xje82lCHuvVBp37PBl6PFpg88RcAdyFr\ngA8Az5G94SCJTcHrzQzNHuABZMHBVmQ24Eqkz+JLtwiZJjlu6adTTHLrB+5DBmXuDMp2I5sw9gJv\nW8brllfXPkx1VfdbVv1OAK8SWweQN5o/D3gCeATp12xBmhxrkea7DduAj2n3P5aQvOuqH2myHEWm\nIZKmMVzphpDf4JCpiRhvIauiTEjym5VbH3BtSqxvgc8Tyqvo1bUPU13V/ZZRv4sRH2uRQXZjxpE+\n0EhwPIoMiFxqEySS9A5i0wpznDK2fFaFXvIK9fC7BdknY80Q8BjSjAC5AbQwvxPGCffj1wXb5bVz\nmV7yCvXwu8JVoPXIZoGBPKGiKPVgDHgXae4ritIDjCL985OD417/X32KUnsWAw/Tbt6vBq7pXjqK\nonRK3nTeScjE/zTtHXejwBXI1j9FUeYgeQt4BpEFA1Fa6EWvKIqiKIqiKIqiKIqiKF3nX7rsUf7i\n3lIWAAAAAElFTkSuQmCC\n",
132 "text": "\u2758000\u27e9 + \u2758010\u27e9 + \u2758100\u27e9 + \u2758110\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2"
133 }
134 ],
135 "collapsed": false,
136 "prompt_number": 8,
137 "input": "state = (Qubit('000') + Qubit('010') + Qubit('100') + Qubit('110'))/sqrt(4); state\n"
138 },
139 {
140 "source": "Perform the QFT.",
141 "cell_type": "markdown"
142 },
143 {
144 "cell_type": "code",
145 "language": "python",
146 "outputs": [
147 {
148 "output_type": "pyout",
149 "latex": "$$\\frac{1}{2} \\sqrt{2} {\\left|000\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|100\\right\\rangle }$$",
150 "prompt_number": 9,
151 "png": "iVBORw0KGgoAAAANSUhEUgAAANAAAAAkCAYAAAD4p7R7AAAABHNCSVQICAgIfAhkiAAABZBJREFU\neJzt3HuoZVUdwPHPHW/jndEcLa1rTtofaQY5QxSpo85cSwJj1ATFB8rIdKuxmogJ0nxOYY3+4SP6\nJ6lImIEoRhKNfCGoJCgOgoMjgX/I0EMlFYuRolFuf/zOxnP23edxz9mPc6/rC5vDXfu3915nf89e\ne63f2vuSSCQSiUQTTDRdgT7MlbCPcf+OS53j8LcS9rPoPZ6AqZqPuRsfqvmYS5nksGSWDRCzGpdj\nD6arrU4Hn8V+vFnjMZcqyWGDnIu1ojv1iRqPu0vc/hOjkxxWxOQAMQ9WXov5nIS38fcGjr0USQ7H\ngDpbr1/ixJqO9X4iOSyZQcZAdfNxMdB9qemKlMSmpivQAEvNIV08DtKFq5vv4/Ye69dgVgyMn8X9\n2FcQt7b1+Xyu/Ep8QQxsX8G9+GfB9mXFfUBkv/b3+E5LjX4OGd1jxplYj592WT82Huu4/R8j0p7d\nOB/34XMim7QD/8EFBbEzraWdG/FnLG/9fZUQs6LCuMNxTddvVC/j4JDRPRLzQufg3/hVl+OMjcfl\n4uR/atgdDMgtOKvLusPwAo7KlT+Ed0Tr0M6MzhO/Cv/CJW1ly/A67qwwDm4SLdhCWam8eZtxcMjo\nHuF7eFxk+eYUX0Bj43ET7hYtxm9ala+CI/BAj/XrxYz2JbnyLeIkzubKZ3Se+GuFoPyk3m91ZorK\njoNTCuo9CJtx2RDb5RkXh4zusZ1J3S+gcfJYCj8Qt8puXIOv9Fh/tjhZT+bKN7bK78qVz+g88Y/g\n5S7HncOnK4rL+ElBbD9mccUQ21XFqA4Z3WM7vS6gWjzWkYWbxHYxGPyW4lvglDixf+qxn8dxnvnZ\nkE+2PrsNMjOmcaCg/O3W5wkVxWW8aL6MxUJZDhnd46DU4rGOC+gdcdVeh4/g4oKYzaJr0Ys5/NH8\n1uJSvKF/12HaeyelnazsyIriMnbjoj51HFfKcsjoHgelFo/ZBTRXwdLOQZH+ewBbc+smcaH+mZsi\nLhCpx2+LQV8vJsUPIc9E2/oq4jLWiMFzVVThsN1jVQ5ZmMdBqcXjsrbgspcifo7T8Pm2ssvwe7zb\nZZtuHCsGxt/B7waIL5pjILJC8FpFcRnnKa91LaIKh0Uey3TIwj0OSi0e655IfUz0IbeKPvCEmMDa\nuMD9TOEPol/+iwG32YszCspXtj5fqSiO6AYcUNzSwTdFC55ntfhRFiUSdrWWuinLIcN5HJQmPNbC\n1fivmHD7KrYtcPsJ0VLlB6Gn5/6e0Zm92SL62Hl24n9iPqCKOGLg3eup5CnRF88v20S3pmjdoT32\nVzWjOmR4j+30ysI14bEWDsdbuF5kbA7rHT6PW/G1XNlq3JArm9F54tcpnkj8B35dYRwxuTgM45bG\nzhjVIcN7bKfXBVSLxyYeJj2Ae/BDPKM4A9KNb4j+94T4cc3i67gZf+mz7R48LVr0jHX4KG6rMG4D\nnuhTt8XGKA4ZzWM7h7Q+i9LqY+PxGNHS7MCPdd7ShuVE8QzTQl71PVVkgrpli07JxW9oLe1Miz78\nTjEbv1f03/OUGfcjw7/PX9YdaFwcUo7HL4vEw3Otbd4VD3/+TDwNkVG5x35iJ0XW5bviS1/X2vFa\n0T8chY+J2+SgTOPkHuufEnXMyFqlgwWxK0QLs1/vf1xSRtwR4oc2DLNirDFKsmCcHFKOx2wcWMQ+\n85035nEN/uq9gdPRrR1/caE7SgzFZvG/DEYhOWyQKfFuR/ZY92px8tc1VqP3F2U8jZ0cjhHb8ajx\nfJM1MRjbJYeNcBoe1jlISywuksOGOBl3iJeyluGDzVYnMQTJYUMcL1J7WcbudHypueokhiA5rIh+\naewPi3fF2yeqjsRn8GpVlUqUSnJYIf0uoFXmT2zNiVx9YnGQHCYSiUQikUgkEolEohT+D0ZODNW4\nMHDVAAAAAElFTkSuQmCC\n",
152 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u2758000\u27e9 \u2572\u2571 2 \u22c5\u2758100\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2"
153 }
154 ],
155 "collapsed": false,
156 "prompt_number": 9,
157 "input": "qapply(fourier*state)\n"
158 }
159 ]
160 }
161 ]
162 } No newline at end of file
This diff has been collapsed as it changes many lines, (1894 lines changed) Show them Hide them
@@ -1,1471 +1,423 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>quantum_computing</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Symbolic Quantum Computing&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>1</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>2</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <markdowncell>
33 <source>&lt;h2&gt;Qubits&lt;/h2&gt;</source>
34 </markdowncell>
35 <markdowncell>
36 <source>The state of a set of qubits (Two state systems) is the quantum state that is of interest in Quantum Computing.</source>
37 </markdowncell>
38 <codecell>
39 <input>alpha, beta = symbols('alpha beta',real=True)</input>
40 <language>python</language>
41 <prompt_number>3</prompt_number>
42 <collapsed>1</collapsed>
43 <outputs />
44 </codecell>
45 <codecell>
46 <input>psi = alpha*Qubit('00') + beta*Qubit('11'); psi
47 </input>
48 <language>python</language>
49 <prompt_number>4</prompt_number>
50 <collapsed>0</collapsed>
51 <outputs>
52 <output>
53 <output_type>pyout</output_type>
54 <text>Ξ±β‹…β˜00⟩ + Ξ²β‹…β˜11⟩</text>
55 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdrQUFBQVhDQVlBQUFBSXFtR0xBQUFBQkhOQ1NWUUlD
56 QWdJZkFoa2lBQUFBN0pKUkVGVQphSUh0MkZ1SVZWVWN4L0ZQVGlXa0RhRnBHa1JsUlRlYXdncWpy
57 TWFZNklKMG9TQ05wS0NIb2dzRjJid0VRVkZRV25ReHNDQXd1aUhFCkZGMnhseTR2UVRlc01TcENv
58 cWF5OGFIQ1NydElZdy8vdlprOSs2d3pjL2FaNDVtUzg0WEQydWUvZit2eTMydjkxNDBPSFpxa0gz
59 dE4KZFNQYVRGMmZ1NW9zOEFnc3dSZWxzdTdFTlRnRkYyQUh2a3ZVMllqdU9HeHVzbjJUWlFXdVF5
60 OXV4amFNcVBVNVoyOE00R2Q4UFU2NQpFK2xhNnZNeFdGYXkzWU8zTWExUTRTODRhaEs2ZGpNZHE3
61 Q29ZRnVJblRoVHJjOWRZcUFOWUJmT3IxTnVvN3FrejlOU3hpYm94azE0CldvdzQrQnhmNFlrbWRF
62 UmtIZEpFVzJiaDBDYnl3ZTFZaC9jTHRsOUZCUFFrOU90eHRZaTA4V2hVMTZ6UFNjcVJ0RktNa0lO
63 THVydkUKS095dXFKTTk5emZSdHFWWlBWWHB3eVVKKy9YNEUyZW9qYVNjWmNhUGtFWjFTWjliRlVr
64 bmkzVmxTOG0rV1l6Q3hSVjF4QWplTDdPMwpnd3Z4U3NrMlczeTBsZmlwRFcxSStwenFwQVc0QTQv
65 alJhdzFkb1NuZGlEejhIdkN2ajFMNTFmVTVid3NQYnBielJ4OEs2YmdYakU5CmJjQW1QSVhIMnRD
66 R25CcWZ5NTNVZzNld1VZVDU1YUpUbmk5b0gwNFVQTS9vaHk2UzJ3Nm9xTXZaS0JidTNjMFN2RlZv
67 eTNZTVl3ZzMKR0R0SWR6YzFQaGZENmtpOEtTTG5qY3cyZ2xmeG10aWQvQ0FkOW45aG40UTl0NDFV
68 MU9XY2hFOFMrbFp6TEY3SW5qL01mbkMyR0xRWAo0YU0ydElPRXo4Vkl1anRMSHl4bEdzelNSYmdX
69 VHlZSzNsU253aGxaK21ORlhjNmxlS2xPbmxheksySDdKa3ZudHFrTkpIek9JMmthCnpzWHJhcWVq
70 L0pCNW1tajBGclhoUHlnVzNqSXpzM1M0b2c3Mnh4OWkxNWRpQlc1TDJMdkZlZWVxeEx2MXVLOWtP
71 NmhVYjVHanMvVGoKT3U5YlRkTG52Sk9PeDRINGJKd0NUaENSbEdKUW5FOW1HTnZKcDJZVmZsbFJC
72 MWVLdGJBZXoyUy9Na3ZGRWVHQmNmSVc2Y1gzZGQ0dAp4MVo4b1BtelZ4V1NQdWZUM1pBSTk2Mkpq
73 RFBGV3JGQm5CZFNmSnFsNWYxL0g1NHpPbEliMVJHSHVxRTY5YldTeGFKanl4eUdLM0NqCkdOM3RJ
74 T2x6M2tuYnhKWEZlYVgzZlZndFR1QnpNMzFxU3p5TVIzQXI5czFzWitGd1k2ZVhSblduNDcySmZX
75 b0p2K0VmbkZpd3pSWm4KcG52RmQ1bUlXVms2MGRvMW5xNGhuNmRqalppM1Y0c054R1hadXg2OGkv
76 dXo1d1c0dUpTL1M5dzlEZUFoc1VNOEoxRlBJN3ArelIrMApxOXc0ek1jdDRnQzVTbHhYcmNXellt
77 ZFhKT1h6T3JFVDJ5bG1vcit6LzJ1YTBFM0c1LzhkVlRwcHVmYWN3eWJGbnRoek82UnZOVklzCk5M
78 cE9kdmlQOHVoVU42QVI5c1JJYXBRNWFpOTZPM1RvMEtIRDFQRXZuNWpwRldLVVN1VUFBQUFBU1VW
79 T1JLNUNZSUk9Cg==
80 </png>
81 <latex>$$\alpha {\left|00\right\rangle } + \beta {\left|11\right\rangle }$$</latex>
82 <prompt_number>4</prompt_number>
83 </output>
84 </outputs>
85 </codecell>
86 <codecell>
87 <input>Dagger(psi)
88 </input>
89 <language>python</language>
90 <prompt_number>5</prompt_number>
91 <collapsed>0</collapsed>
92 <outputs>
93 <output>
94 <output_type>pyout</output_type>
95 <text>Ξ±β‹…βŸ¨00❘ + Ξ²β‹…βŸ¨11❘</text>
96 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdnQUFBQVhDQVlBQUFEbmFBcTFBQUFBQkhOQ1NWUUlD
97 QWdJZkFoa2lBQUFBNk5KUkVGVQphSUh0MkZ1TVhWTWN4L0dQS3BPVWlCb3oxU0pFTkc0eG9pSHRR
98 MFZMRWJRaUlXRkVFMEVRSkNLcWphZE9KT0pTRW9yb1EwV0NURHpnCndTMjh1RDY0UllSNkUwTFJT
99 MEtrZEZxaVpqejgxMDczN05ubnpONHpjODZNNW55VG5iWDNXcis5MXZydnRmLy9kYUhEQWMvYTZl
100 N0EKTk5BMm0yZFA4djJ6OFcxSi9uTGNtY3FHOFF1ZW5xQnVMUjZaWkQvcnNocExNSVJUc1FsdnBi
101 SkdObWRjaHhXNGNadzJtdW1tek9iMQp4Zzd5NmRpRGhlbDVOajdHUFJQVURVeEZSeXZTSlQ3TTRs
102 emVJdnlEbnZSY1pqTWNqN3V3RHk4MmFhT0tiaUM3bVZXaDA0MDRBcnRUClEzbnVFeDg2Kzh2MllS
103 QVA0WVFKNk9weTFDVGV2eGZQNGROYzNoOWlRUG8wdHZrT1BJaERjVkNUK3F2cXBvUmJzYUNRZDV6
104 NDI0b3gKZWlGR2NFdE5IZlU5YUNYVzFIeUhDRGRYbHVUZmhyL1FyZHptSXVONVVCWGRRSFl6R1E5
105 YWdHMkZ2TFBFMzFhTTBkK2xkRmxOWFR1NQpESzhWOHJyRlQ3UUd2eW0zdWFXVXhkS1QwQzlpWlM5
106 MllwMXdkY0kxbCtLamtuZVBTZW51UXY0dzltSitUVjI3Nk1HUHFmMWx3bXVPCkZHRnRFNTdDZWNw
107 dGJpbEZEK3JEKy9oU2RQSnFNU0NET2UzanVCRHZsdFNYZmZpaGtySWhZWFFkWGJ0WWJyODlRK25h
108 Z2EyNFhjdzkKald4dUtma0JPaG52WUxQOVM4cGh2STdMY1E2T0ZhNytIaTRvcWUvdjNIdEZEc25s
109 VjlXMWk5UHdUYnIvSERmaEJoRTU1dUVLalcxdQpLZmtCdWorbGp4VTBYNmQwc2VqNFpueUE4MHZx
110 MjlLa3JjT3d2YWF1bll5VTVQMlEwbDZOYlc0cDJSdzBDeGZoVFdQRHprOHBYU0k2Cm5FMlMyNHlk
111 TkxQQm5GdW9veXUxdGFPbXJobXJqZDB6RWVHb0M5ZVhsTDBrbHZGNTVqVnA3NVNVZnBIU01wdGJT
112 alpBWitCbys5MjgKakRPRkIyVU00bWFqUFc0N2ZoVUxqRHpucG5STFRWMHpYa2hYa1pWaTkvOW9o
113 VHFJUmNIUERjcjZ4U0xwcy9SY1puTkx5VUxjVnVIaQpPMHMwaDRzNTRXMnhIOGpZbGNvT0x1aS93
114 cVdGdkJYNEhjOU9RTmRxbG9wQkxYSWlyaEdieTcwcHI1SE5MU01ib0YxNEJaY1V5bGRnCmc5aFo5
115 eVo5ZmpQM0JsWVYzbG1QaThYRUMzTndMVFlhdmF5dXFtczFmK0pmc1RmTDZCWjdvZ2ZFZDhsVFpu
116 UEdYTEhxN2RIOHBLQ3EKYmhSZGVGTEU2UTNDamE5S1pYMWlrbnc0M2VkWlYxTFhLcnlLSi9DeUdJ
117 eXl2NjZLN3U2cUJpVHFuQ1RNRitkaWM4UVozUE40UnV6dwpteTBJaWpiMzR4TVJ0a2ZTOVQwK05I
118 cFBWMVZYMStiL0ZYVUdxRjhjaHM1WUpuUFVNMVBabzNxSVhDVG13ZzR6bEkzVDNZSHhPQkE5CnFD
119 bzkybnp3MmFGRGh3NGRSdkVmTWFmaitnL1d6VDRBQUFBQVNVVk9SSzVDWUlJPQo=
120 </png>
121 <latex>$$\alpha {\left\langle 00\right|} + \beta {\left\langle 11\right|}$$</latex>
122 <prompt_number>5</prompt_number>
123 </output>
124 </outputs>
125 </codecell>
126 <codecell>
127 <input>qapply(Dagger(Qubit('00'))*psi)
128 </input>
129 <language>python</language>
130 <prompt_number>6</prompt_number>
131 <collapsed>0</collapsed>
132 <outputs>
133 <output>
134 <output_type>pyout</output_type>
135 <text>Ξ±</text>
136 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUE0QUFBQU5DQVlBQUFDWjNGOS9BQUFBQkhOQ1NWUUlD
137 QWdJZkFoa2lBQUFBTWxKUkVGVQpLSkhWMFRGT1FsRVFoZUhQMTJDQ0xSWVFHa0xySzRrTDBKQklZ
138 K3NpNkVqczNBQTBoTVlOYUdkbm9Sc3cwTG9FVERTVWtKaFFBUVh6CkVyaDVsWjNUekoweitXZk96
139 ZkRIT0NuUldyaERFK2RZNEI2ckEyYWJRam5tdUlrNnd5TmU0dzNqRkdyakJ3K0ozb3NOSFRSSytw
140 NEQKckNaNk04QitRUFhDU3BHdjhZN2ZCUHlLZklrS3ZnK2JGekYxa05xSTJPSVRwNFZRYkp4SGMx
141 RUNuV0dETjZ4VGNJa1hkQlBvQ2tQTQo3RStUNFpiak8xWXdRaTMrbGVFakJ1YVlZSXFuc1AxZlln
142 Y1ByaVYrNlVjV0xBQUFBQUJKUlU1RXJrSmdnZz09Cg==
143 </png>
144 <latex>$$\alpha$$</latex>
145 <prompt_number>6</prompt_number>
146 </output>
147 </outputs>
148 </codecell>
149 <markdowncell>
150 <source>SymPy supports many different types of measurements.</source>
151 </markdowncell>
152 <codecell>
153 <input>for state, prob in measure_all(psi):
154 display(state)
155 display(prob)
156 </input>
157 <language>python</language>
158 <prompt_number>7</prompt_number>
159 <collapsed>0</collapsed>
160 <outputs>
161 <output>
162 <output_type>display_data</output_type>
163 <text>❘00⟩</text>
164 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUI4QUFBQVRDQVlBQUFCb2JOWkNBQUFBQkhOQ1NWUUlD
165 QWdJZkFoa2lBQUFBV2RKUkVGVQpTSW50MWJ0TEhVRVV4L0VQRWpVK0lDYmlvekJxcTJBYUNXS2Ex
166 SXFWcGRYOUEyeHNKTFdGaFdoaG16cWxwUXFDVFN6c0Rla1VDVUx3ClVSZ0NYdk1Rcmhhek40eDcx
167 ODF1bWtESUQ0WXplODUzK0EwN1ozYjV4L1htb2NLamFENkg5L2lNTHF5aGlrczh4bHNjcDlZWDRh
168 cm8KeFVYZURpc1lUdWE3V0VuVlBxSTl0YVlJMTQyRlBPUFlmQUszR0lscWJmaUc1U2hYbElNbE5C
169 VXgzOEJKUm4wSEg2TG5vaHk4d25RYQp6TnJOT0E0ejhrY1lFMTVqR1E3Mmt3MzgxcndQVnhuNWFo
170 TDdTM0oxbldBb3oveUpjRzVWamFybnVrcHdzVFl4azJkK2cxb3kwbXBPCllxMEVGMnNHVzNubTF4
171 cnZjbDBkU1R3dHdjVWF4cWM4YzBLblBzM0lkeWJ4ckNRSGswTFQzZE5ENXM4ejhpK0ZUdjVla29N
172 cGJCY3gKUDhBb0JxTmNEMTVnOVErNFovZ2l1ejkrcVNLY1N3djJzQjdWRm9WdmZtdVVLOHJOQzll
173 eVFmR1A1Um8va3pFcmZDTGY0U3NHOEJvLwpJcjRvMTRuekxQUC8raXU2QTRCcVkvK1pLa0FTQUFB
174 QUFFbEZUa1N1UW1DQwo=
175 </png>
176 <latex>$${\left|00\right\rangle }$$</latex>
177 </output>
178 <output>
179 <output_type>display_data</output_type>
180 <text>2
181 Ξ±
182 ───────
183 2 2
184 Ξ± + Ξ²</text>
185 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUQwQUFBQXRDQVlBQUFBZHRHTnlBQUFBQkhOQ1NWUUlD
186 QWdJZkFoa2lBQUFBbDFKUkVGVQphSUh0Mmp0b0ZFRWN4L0dQU1JBakJud2hDR3JRUUVRUkh5QWlH
187 TkJHRUxGSTZTTUlpaStpVGFJV2dzaUpZR09UUXRCR0VNRXlWVnA3CkJVRlJSREVnU01vZ0VoUWx2
188 cUxGYk9KcVl1Njh2ZDBwc2w5WWJtWnZtTjkvYm5iL08vUGJZdzR5TDZMMmVUUmhBYTVGaktNd2Rt
189 TkgKVXI2RG5VV0tOeFVwbG1JdHVwUHlHM1JHaXFOUVdyQTRLUThxZU5DeFp2bzd4ckFWcnpFY0tZ
190 N0NhY1ZWOFg3NEtKd1dCdDZFQTVGagp5WTNtVkhrL1B1SWQzcU9yeUVDS2VFNzNKNThUUXRidUUy
191 WjRHVVlLMEo5R2MvVW1tUmpBT0c3Z0VVNmlEZXVFQlBZNVovMFphY214CjcwNGNSSHZxM0hQc3do
192 UGgwbzVDbnBsekx4N2pTK3JjSjJIMWRUOUgzYXJrT2VnUmZFM1ZGMklqWGdoSmJINk8yck9TNXow
193 OWpBNXMKeHZya3VJVjlXSUpuK0pHamZrbkpYR1J5Y2ZJemFoUWxKU1dOSXV1R0k1YTVGODFVakdY
194 dVpkYk5zZ3lOWmU1Rk5SVmptWHVaZGJQTQpkQ3h6TDdxcFdLUzUxNDZWRVhTblVhKzUxL29mYmJm
195 Z2hKREErbkFtZzI1bXNwaDdWMnBzMXlGc1JTZlpnOUVNdW5YUnFQMTNwY1oyCng1UFBWY0orZkFq
196 YnNvclg2cEhGY0RUWDRLVXd5TVBvd1FNOHpVbnZEd1p3S1ZVZkZPNnhRMWhlWjUrVkd0cDArNzNx
197 T29wZVlUZTQKdWs3Tkthck5kS01jelg2c1NOVzdoTUdrdVkyM3FmcEVjb3pqWG5MdU9yN1ZxRmsz
198 WjRYN0tNMEZ2TUxTRFAxV2FtaHo2cS82ZGp6TQpvRGxGdGVkY0xFZHprNUNwSnhObkd5N2pXQ002
199 cjNaNUR5VUI5T0tEY0xsZHhFMGhzOTV0UkJBenNBSG5oSVE1aGtYQ3pJL21wRmNJClI2cDgzNU9u
200 ZUt4M3c3Tzk0V2dXOXc5QVVlZ1FMdStTa3BLU2tuL3hDNWZQYi9CTXJrVkZBQUFBQUVsRlRrU3VR
201 bUNDCg==
202 </png>
203 <latex>$$\frac{\alpha^{2}}{\alpha^{2} + \beta^{2}}$$</latex>
204 </output>
205 <output>
206 <output_type>display_data</output_type>
207 <text>❘11⟩</text>
208 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUI4QUFBQVRDQVlBQUFCb2JOWkNBQUFBQkhOQ1NWUUlD
209 QWdJZkFoa2lBQUFBT1pKUkVGVQpTSW50MVRGT0FrRVV4dkZmaUxFa0NJa0ZGa0RDSlRUaEFCcHFD
210 aXF1WUFXRnR6SGhCR0JqYTB3czdLeXNqRDJ4a1JZb2RvMncyZDNaClJpY3hmczI4dlBsZS9tOG1r
211 emY4Y2MyS05tcDc4UmhubWYwNm50QUxBTXA4YTV5R09weWdtOGJIR09BQlcvUUxhcXI0V3JqT0t6
212 N0sKeVRWd2kxZXNTcHF0Nmx2aFJITExteUxUeFBmSnYzU2ovT1JWZlJlNHlpWnJPY2FmMEdQYVFC
213 UTR2S01UQzc3QU1CWjhpR1VzZUJkdgpNZURua2tkM29OK0NYK0l1QnJ5SkR6a0RKZ1J2cG10b05w
214 ZjV4cGdINm8zUVR1Tjd2RWltMWhhZmVNWTBVMVBGVi9pci9TdUtkcWlvCkswNXl6bzdrQUFBQUFF
215 bEZUa1N1UW1DQwo=
216 </png>
217 <latex>$${\left|11\right\rangle }$$</latex>
218 </output>
219 <output>
220 <output_type>display_data</output_type>
221 <text>2
222 Ξ²
223 ───────
224 2 2
225 Ξ± + Ξ²</text>
226 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUQwQUFBQXdDQVlBQUFDaS9ISTNBQUFBQkhOQ1NWUUlD
227 QWdJZkFoa2lBQUFBbmhKUkVGVQphSUh0MlUySWpWRWN4L0hQdkJTRENYZVkxQlJwUkFsWkVRMU5a
228 bVpoZzBqWlNJbXNsR1JoeXN0a0o3c3BaU1VyeW9vc0xjWktGaExHClpoWlRTbG1SdDd3c0dCYm5t
229 VnczTS9mT2ZlYWVJL044Tjg4NTV6blA4L3VmenY4NTU5emZaUTdTbEZEN0ZGclJqb3NKNDRqR1Z1
230 ek0KeWxmUkcxTzhPYVpZR2F1eEx5dVBZMjJpT0tMU2dxVlorU1kyeGhSUE5kTS84QTdyOFJxak1j
231 VmJZNHFoRy8zNGh2bm93dG5JTVVSbApPd2JLNnAvOVR1czlNUU9KbGQ0bExNZjlySDRBRXhqQlcz
232 eUpGRWRVRGdxZjBpR2N4eE5zU2hWTXJKbHV3bmVzRXJhcmxkZ2RTVHNKCjdkaFYwVGFJV3dsaVFa
233 eVo3c0hEaXJZT0ljWC9XNjVnVFZtOWhNZENCaVFoeGo3OURJZnhWRml4QjRTRjdWTUU3U1Iwb2k4
234 cmQyRkYKd2xpaXNSOExVd2RSU2FNWHNwSnc4cHBUZEtRT29HQXVNK21SL1V3YVJVRkJ3V3lSMS9k
235 TzVWMG44OHhUZWRlNWRmT2N5Rko1MTBrOQo4MVRlZFc3ZFBET2R5cnRPNnBuRFBGelMrTi9sM1Rp
236 Qkk5azFsdTVmT1k1RldYa20zdlZNTXF6U0w3K0xrM1hxNXFaUGNEL2VDTjUxCi93eWVQVmRqdnhM
237 Mmx0V1hDT244czA3ZEdkT0V4YlAwcnFFYSt6WEVMNi9sbTJqR0JYd1FabmFIa05adFdDWnNHNDFp
238 S3IvOGVaNlgKMWpMb0c0SjdPWnpWQjRSQmY4UzlQT0pWYUJkU0dDNW4xMEZzenZ2aWFvUGVJQmox
239 Ujh2YVJyRU5qL0MrUnAzVGdrazRTWS93cjJVNQoxL0N5b3M5SVJaOG9mdmxKM0tsb080TVhmcStl
240 OVRCVVE1K0crZVhWWm5yTW42dGpTVGdVakFtSGhEWjh6UnZFRkRUTUwyK3BjbjljCjJDYTJZSjNn
241 WFE4TGk5bGtxazNVb2R1TEI5UGM3OFFDWEJjRytRcTMxZjQ1L1pNY3IzTC9uL1RMRzgyeDFBR2tv
242 UERMQ3dvS0NxYmoKRndudWJ2aG5lQTVsQUFBQUFFbEZUa1N1UW1DQwo=
243 </png>
244 <latex>$$\frac{\beta^{2}}{\alpha^{2} + \beta^{2}}$$</latex>
245 </output>
246 </outputs>
247 </codecell>
248 <markdowncell>
249 <source>Qubits can be represented in the computational basis.</source>
250 </markdowncell>
251 <codecell>
252 <input>represent(psi)
253 </input>
254 <language>python</language>
255 <prompt_number>8</prompt_number>
256 <collapsed>0</collapsed>
257 <outputs>
258 <output>
259 <output_type>pyout</output_type>
260 <text>⎑α⎀
261 ⎒ βŽ₯
262 ⎒0βŽ₯
263 ⎒ βŽ₯
264 ⎒0βŽ₯
265 ⎒ βŽ₯
266 ⎣β⎦</text>
267 <latex>$$\left(\begin{smallmatrix}\alpha\\0\\0\\\beta\end{smallmatrix}\right)$$</latex>
268 <prompt_number>8</prompt_number>
269 </output>
270 </outputs>
271 </codecell>
272 <markdowncell>
273 <source>&lt;h2&gt;Gates&lt;/h2&gt;</source>
274 </markdowncell>
275 <markdowncell>
276 <source>Gate objects are the operators which act on a quantum state.</source>
277 </markdowncell>
278 <codecell>
279 <input>g = X(0); g
280 </input>
281 <language>python</language>
282 <prompt_number>9</prompt_number>
283 <collapsed>0</collapsed>
284 <outputs>
285 <output>
286 <output_type>pyout</output_type>
287 <text>X
288 0</text>
289 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJrQUFBQVlDQVlBQUFBUHRWYkdBQUFBQkhOQ1NWUUlD
290 QWdJZkFoa2lBQUFBWHhKUkVGVQpTSW5sMVQ5SVZtRVVCdkRmOXlsOGlKTkRFWWhHU0tCZ0lEUUlp
291 WU1PUWRHb200bURJQmh0SVJTME8rVFNvQTJGRUxpSU5MVFcwSkNECkVkcWZSVUdRUWhJU1dpTEJS
292 UjN1KytITDdjTFYydzBISDdod3puUE8renp2djNzdlo0Z0ZiT013UE5zWWllcXpVVzBQNzFBcFl0
293 U0kKelNEVWthcFZzSVZIYUNnaUhtTXFtRHhPOFRPNC9hL2lkVnpBUHI2aEdyaUhHRDJOU041Uzk5
294 Q05QbnhFUDJxWU80M0pTVEFnMmJJTgpQQ2xiUE1aNk1McGNaSEExdjBVbkRrSThYc1FrRDYxWVFw
295 dmtmSDVJcm5acGFNRXJ5UTJEZWNtV0RaVmwwSVJGWEltNDNtRHlOcU8vCmdqSGN4elR1NUJrMDRp
296 VjZNbXBya3ZPNW11S0g4VHpFVlh6Qk5SRVJvd1B2OFJXZk1rd1d3cXduVS93VVhvZjRRTExhdStu
297 QnR4eC8KcHc2eGl4dXBuaGY0RS9WOHhrU28vY2IxcVBjQjNtUk1zakJxd2JRcjR1N2hRejA1eVh1
298 U2gzM3NCS002bXZHclRCTll4Y1VvdjRUdgpaWnVzWURES2IrSlpQU24wTjh0QVV4QmRSanQrNG1s
299 SjJuK2g5citFenhHT0FHdERTUzdLeG84WkFBQUFBRWxGVGtTdVFtQ0MK
300 </png>
301 <latex>$$X_{0}$$</latex>
302 <prompt_number>9</prompt_number>
303 </output>
304 </outputs>
305 </codecell>
306 <codecell>
307 <input>represent(g, nqubits=2)
308 </input>
309 <language>python</language>
310 <prompt_number>10</prompt_number>
311 <collapsed>0</collapsed>
312 <outputs>
313 <output>
314 <output_type>pyout</output_type>
315 <text>⎑0 1 0 0⎀
316 ⎒ βŽ₯
317 ⎒1 0 0 0βŽ₯
318 ⎒ βŽ₯
319 ⎒0 0 0 1βŽ₯
320 ⎒ βŽ₯
321 ⎣0 0 1 0⎦</text>
322 <latex>$$\left(\begin{smallmatrix}0 &amp; 1 &amp; 0 &amp; 0\\1 &amp; 0 &amp; 0 &amp; 0\\0 &amp; 0 &amp; 0 &amp; 1\\0 &amp; 0 &amp; 1 &amp; 0\end{smallmatrix}\right)$$</latex>
323 <prompt_number>10</prompt_number>
324 </output>
325 </outputs>
326 </codecell>
327 <codecell>
328 <input>c = H(0)*Qubit('00'); c
329 </input>
330 <language>python</language>
331 <prompt_number>11</prompt_number>
332 <collapsed>0</collapsed>
333 <outputs>
334 <output>
335 <output_type>pyout</output_type>
336 <text>H β‹…β˜00⟩
337 0</text>
338 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURZQUFBQVpDQVlBQUFCNnY5MCtBQUFBQkhOQ1NWUUlD
339 QWdJZkFoa2lBQUFBcmxKUkVGVQpXSVh0MWp1SWxVY1VCL0RmK21EQkY3NlNySVdLa0NEWUNFWkJX
340 S05SUVJ2RlVrUWJRU1NZV0Zpb1NFQXVpSVdOeEVyUVJnc3huU2xzClJERW1KZ1N4OFlHb0dCVU0w
341 UlhCRjFwbzFFMHhNKzUzdjcxejkzN1hsYlhZZjNPK2M4NS92amxuNXB5WllSaWZMRFpqVXF2a0U3
342 aUIKWHZ5SFN6Z2NmVFB4Sy82Ti91ZTRpTytiL0c5SEE5c21ITWRlN01PYXpOaUJlRjBEek4wUEM0
343 WEFEMlQ4dTZKL2JRdi9xcFgwRGJpTgo4VkgvREQxWTFpWnZUd3N4dk1kMklmQ1ZHZjhwdk5WYUdk
344 UUszeDI0SnF4K0VVZUZLdWlveUNNa1drNDJpNU40amJFTmZLUHhRaWpSClZsQXJmSzhTRnF3Y3lM
345 cG9uMWVSbDFDM2F5TXlnWXhBdDlBN0x4djRGd2dKLzU0WjN3eGZSM21yWlA4N3ltOHI4aEllQ3Yy
346 R2ZHSnoKTVJIbk12NmxVZjZXOFRkRG12eEZ5WjRXY0ZwRlhzSXhyRS9LcU16a2k2TmNvVy9saXBn
347 ZlpUczdsZ0l1VjBMU0oxYmtKVHpCbEtUawpFbHNpSEF4TDlWK3hVWGlHNjNpVUdkOE1yNko4VjdL
348 UEx0bGI1U1ZNRXBKRDQxTHN3RGU0ckg5U2hLWWRvNzNkZ3FzWmV6cWtIbFRrCkphd1h5aEdORTV1
349 RHFUaWYrZkdpS052cEw3Z1NaZm1hR0JkbFQwVmV3alRjVDBxalVrejk5VWNtc080b2l6czJFaHZS
350 aVJrNGc5T1oKOFNuZzZlcExlVUdVVnl2eUNGZkMyY3g4Ny9HemNFOTBaZnc5K283Y2hJMzRLWDZQ
351 eEUxOFZmRFhTdnluK0xGa080bS8ydVR0VVg5aAo5ME9uRVBqdGpIK3VrUFNSa3YyNitvdjBFSFlY
352 OUZxSi94Myt3WVNvenhMNmVWVWJ2Qy93UXlaZU00WFN1cXZ2NGZzbnRrVC9hbUdWCkhrWC9ZNkhI
353 dW9VK2ZZUFpwVVJPRlBSdERlYmNpbCt3WDlpRkRabllCdUp0eHVSY1loK0NLVUt5MHd1Mm5WcW8r
354 WStKM011akNoNEwKOTFwdndUWTIyb2NNZzVGWXIvQVkvcnhnNjhLOVFmaDMyeGlNeE9DQytzTmp1
355 WENBREJtYUhwRVZNQjRIaFVmemw3aGppQk1iYkhRTwpkUURER01Zbmh2OEJia1dqWUtHOFZNRUFB
356 QUFBU1VWT1JLNUNZSUk9Cg==
357 </png>
358 <latex>$$H_{0} {\left|00\right\rangle }$$</latex>
359 <prompt_number>11</prompt_number>
360 </output>
361 </outputs>
362 </codecell>
363 <codecell>
364 <input>qapply(c)
365 </input>
366 <language>python</language>
367 <prompt_number>12</prompt_number>
368 <collapsed>0</collapsed>
369 <outputs>
370 <output>
371 <output_type>pyout</output_type>
372 <text>⎽⎽⎽ ⎽⎽⎽
373 β•²β•± 2 β‹…β˜00⟩ β•²β•± 2 β‹…β˜01⟩
374 ────────── + ──────────
375 2 2</text>
376 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUx3QUFBQWtDQVlBQUFBemZGQ0ZBQUFBQkhOQ1NWUUlD
377 QWdJZkFoa2lBQUFCWDlKUkVGVQplSnp0MjF1b0pNVWR4L0hQV1UvMGVJbTNSRDBtRy9YQjFSWGNY
378 WUlTZGIyZEpCSlF2SUt5VVJURDVuaUxNWWlDOThzcUp1cERvaUV2CmtTUkVVQWdSSlVGRlRVUXdJ
379 WUdJaTZCa1JmQWhMUEdLUmxSV0lsRTVlZmpQc0QxOWVxYW5aNlo3NWh6ckM4MHcxZit1cXE1ZmRW
380 WDkKLzlWTklwRklKSlluVStPdVFBa0xJOGhqMHU5eHFmSlZ2RGFDZkNaV253TXgwM0NaRDJQdmhz
381 dGNpaVJ0K21SRkh6WXJjUjQyWTdiZQo2blR3ZFd6RmV3Mld1ZFJJMnRUQXlWZ25saGNITlZqdWcy
382 TGFUSFFuYVZPUjZUNXNucXk5Rm9zNUJCL2g5VEdVdlpSSTJ0UklrNlBJCnI3Q3FvYktXQTBtYlB1
383 bG5EZDgwWHhNTzJLdmpya2dKRjQ2N0FtTmdxV2hERjMzNldkSTB6ZFg0YVkvemF6RXZITGJuOFNp
384 MkZOaXQKYS8yK21FdS9BTjhRRHRlYmVBVHZGRnhmWnZjRkVSM1oycU91eTQweWJXaE9uemJINFFU
385 OEpKYyt0RDVOVEp2N2lIQlhOMDdISDNHRQppRXJjaWYvaWpBTGJ1ZGFSNVdiOERUdTIvbjlQTlBq
386 T0E5anRobXQ3MUxWSkprRWJtdE9IaU4rZmhBL3g2NEx6USttem8yalVRd2ZOCm9FL3V3UEZkenUy
387 S2YyS3ZYUHBUK0ZROHpWbm1kRGJvSHZnQUd6SnBLL0F1N2huQURtNFJJMGxWZGpHNnVQa2thRU56
388 K3NDVmVGWkUKaXhZVWQzZ0cxT2RDM0NlZTNOKzJDcXVEM2ZGWWovTW5pSjI5RGJuMFM4Vk56K2ZT
389 NTNRMjZIV2k0Zk9iSmIvVEdYSG8xdzdXRk5TbgpIemJpM0FHdXl6TXAydENjUGxtbTllN3dnK296
390 RXE0UlUxWTNyc1VwUGM1L1U5emNYM1BwcDdiUzc4Mmx6K2xzMEQvalgxM0tYY0JoCkZlM2EvTGhI
391 bmJzeGovTUh1SzR1aHRXRzV2VEpVdGJoeWVuVFJKUm1HcHVFay9JRHhWUE1qR2l3SjNyazh5eE9z
392 OWo3UHJqMW0zZCsKOHN4aVcwSDZSNjNmQXl2YXRYbFpzUmhMZ1ZGcFEzUDZWS1ZEbnlZNi9LZmlL
393 YnNCKytLY0FwdU5Za3J1eFFJZXQzZ1UrQzcrbzN6SwpuYlc5OGJLMDAvYXNhTmZtWVp4ZFV2YWtN
394 aXB0YUU2ZnFuVG8wKzd3Q3pVY1dUNFI0YUhIY0VYdTNEVE9VaDRCS09JTUVjSzZYRGczCnZaZ1dB
395 dWVaeXB5dll0ZG1yWERXNnFJT2JiTDYxS1VOOWVoVGxRNTkyaDErcW9hamlGL2dhQnlaU1RzWEQr
396 R3ppamV5djNEWWZvamYKOTJGZkZBc21vZ3Z3ZGtXN05xY3BINzJHb1E1dGl2UVpwVGJVcDA5Vk92
397 UnBldVBwR2JHbXVrS3M5YWJFUnNPcEZmT1p3Ui9FK3ZPWApmVjd6RW80dFNOK2w5ZnRtUlR0aW10
398 Mm1lR1NDUzhRSW1XZWw2RVJGanV1RHJhTnBScVVOOWVwVGhUSjlHdUV5ZkN3Mk1zN0VWUld2Cm54
399 SWpSdDQ1T2liM2YwNW5GT0JTc1piTTh3RCtKK0xBVmV3SVI2L1hXNE16WW0yYVA2NFMwM3pSdVox
400 NjVGYzN3MnBEL2Zwa0tZdlMKbE9uVENMdmhmZHdvUFA5ZGU1c3Y0aTU4UDVlMkVqZmwwdVowTnVo
401 NnhSczBiK0EzQTlnUm16R0RNR2xoeVRiRGFrUDkrbVFwNi9DTAo5Qm5IeTJQYmNEK3V4M09LUGZO
402 dVhDeldtVk9pMDh6akl0eUtWMHF1M1l4L2lKRzF6WHJzaDdzSHNEc1JmNmxROTZYQU1OclFqRDVa
403 CmRtajlGb1ZUQjlabkgvSEUzNG5iRlU4dFZWa2wzb0dvOG9uWVVTS2kwQzNxc0NabmYyTHJ5REly
404 MXFvUGlGM0psOFE2TlU4L2RyY1oKL0h2TVVZM3drNklOemVyekhlRVF2OURLK3pQeGt0blB4YTR3
405 WGZRcEUyeGFlTzgvYXQzTURhMEtyQlBycW1INGlwaXUrbVVXcTN1YwovN3VvWTV2MlUvOUpnZTNP
406 WXVUWXF2ZUg0cjNzZGhjZFl4RG14VnA1R09kMGtyU2hXWDNhL2s0UlcxcDVEcVRQV3Z6YjlvWC9s
407 MXNWCitGYlZqQklkYkJUZm9nNUQwcVlHWnNRNzBPM1hNMWVLUmwwL3Rob3REMGJ4dG1UU3BnRTI0
408 V21UK2FYVTU1MU5rallqNVdqOHlYYW4KSURFNUpHMUd6R3I4VEh4c3NBSmZIRzkxRWhtU05pUG1B
409 QkVpYWtkMGpzRzN4MWVkUklha1RVWEt3cEpmRXQ4WVpnUDdlK0p3dkZWWApwUko5a2JRWmdMSU92
410 NGZGR3dZTElxYWFHQzlKbTBRaWtVZ2tFb2xFSXJIcytUL2lSYi9rVlg4UDZnQUFBQUJKUlU1RXJr
411 SmdnZz09Cg==
412 </png>
413 <latex>$$\frac{1}{2} \sqrt{2} {\left|00\right\rangle } + \frac{1}{2} \sqrt{2} {\left|01\right\rangle }$$</latex>
414 <prompt_number>12</prompt_number>
415 </output>
416 </outputs>
417 </codecell>
418 <codecell>
419 <input>for gate in [H,X,Y,Z,S,T]:
420 for state in [Qubit('0'),Qubit('1')]:
421 lhs = gate(0)*state
422 rhs = qapply(lhs)
423 display(Eq(lhs,rhs))</input>
424 <language>python</language>
425 <prompt_number>13</prompt_number>
426 <collapsed>0</collapsed>
427 <outputs>
428 <output>
429 <output_type>display_data</output_type>
430 <text>⎽⎽⎽ ⎽⎽⎽
431 β•²β•± 2 β‹…β˜0⟩ β•²β•± 2 β‹…β˜1⟩
432 H β‹…β˜0⟩ = ───────── + ─────────
433 0 2 2</text>
434 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9nQUFBQWtDQVlBQUFDRGczYTNBQUFBQkhOQ1NWUUlD
435 QWdJZkFoa2lBQUFCdDVKUkVGVQplSnp0blZtTUZFVVl4Myt6RndSWERsZWppQWdvYWhSY0VnZ0NM
436 aDZBaWc5R1JZa1FIbERqQXlpYWVJSWFoUUV4aGdnYVJYR0pZS0tpCmdDZ1lqWXJHWXptTXhnTUJn
437 d2tHRVFRRUE0Z1lVWkRMaDYvYTdlbnVtcDd1N2VudW5hbGZNdW51cXE1ai90dFY5ZFZYMWJOZ01C
438 Z00KQm9QQlVFcjBCSTVIOERFRUkxVzZWMFNWVVlselhzemxOUUEzQTVrSVBxMFpvN3RCU3h0Z0lQ
439 QTZNQy9tc3BjQUo4ZGNabG93dXRzdwpJNmllTGtCN1lGL001ZllCZGdCN1lpNDNMUmpkRFlHWVRy
440 dzkrU3RBMXhqTFN5dEdkOHdJbWpaNkFvZUFiVWxYcE14SXJlNXBicUNqCmtQbElPZkVBTURQaE9o
441 amQ0MGVydWE2QkxnTytCdGFxejdmQWl5cXVHL0NaQ3JQaXZ3SW01S25BV0krd1FjRHp3T1BBZmNE
442 NWp2aDEKd01nOGVaWWFYWUFUZ0kyYStDcmdMdUFONEFWZ05GRHRrNmZSM1orNGRLOEdYa1htMTA1
443 Q2FUNEFXYzlaaEhkRG5xamk3eTRncjZ6agplaWl3RTJuc0FMMkFYYmpkNnRNTHJHc3hpV3N1OUJU
444 UVZ4TlhBM3dJakVQK3dFT0FuNEhseU1PbEkrdTROcnE3aVVQM091QXRwTDNvCnZNU2VtdWN6Y2Z1
445 cDR4TGdtRWY4QUZ0OFVDWURid05iMWZVRzRBdWtNN0N6RHFnUGtYK1UxRkI4azY4T2FUUnJOUEgz
446 QWl1QXVjQ2YKaUFVekZoaE9NTk1zRHQxUENwbk9TU25vZmpyd0VmQWFjTGJQdllFMVg0UTBUSzhX
447 bndGMkE1c0t6Q3RyT3grSTlDVFhPZTRacDhMUAp0WVZWQTFNS0xDTnF1Z05QQUc4Q1M0RVpRTzhp
448 bFRVTnVDeFAvRXBnTVc3emFBL1NvK3ZJMnM3ajB2M2prT2tzdWxOYXVsdk1KUDhJCkdsanpYNEgx
449 bXJoNlZkaExCZWFWdFowL3JOSjJjOXhqbWRTM084SWZCRTRzc0p3MDBoTlloZDRrcWdYZTg4bmpj
450 MFNiU3gzaGExVjQKclNaZDFuWWVsKzVOSWRJVWc3VG9idUhYUU1GRGM1MkpldzdRR1JuU3ZSaWlq
451 aXZ5Rktiak5IWDh5eEYrUUIyZEQ5QkNaR0xlR2hrQwpqQUQ2NCswNEFHa1lqVDc1akZiNXJMS0Za
452 UkN6YVROdUxiMHd1dWNTbCs1QmNHbGVwYm5SR3ZZSEk2YUdFMnRTdlRKRUphd0g1WUFqCjNMcnU2
453 QWpmaXBnOVh2UkR2SkZCMkFLTUQ1Z21MS3VSVHE0M2NDZmlCYlRUQnJnQy8vbk1OdHhyZE5jZ1Bm
454 aU1BdXNTcGU1cEowMjYKQjhHbHVhNkJXa1A2Q09CM1Ixd0crQVdwZUQ0N1hJZFY1aEdQZkwzcTFC
455 WlpSUGJpTytDV2dPVWZkRndYNjQyUERIQlluYzlHbHEyRwpBWi9ZN3JrVmVEbEVIYXFBcWNoU1Y2
456 RVBTcFM2UjBFeGRMZStTNXAwRDRKTDgzd2o2RWFrSVRycGhmUzJmdmE3amcxSXczZGl6UlYrCmM0
457 U1BSTzhwUG9Zc0U3U0VPTjQ4K0FiNEVsbFBzeDZVU3VCRzRPb1ErVTFUNmEraytXSDBJMHJkbzZC
458 Y2RBK0NTM092QnRvTk9CT1kKcjhsa3NEcUdtWDlDcytPcEZ2akRGdDVPSFhjNjdyOEFXQkN5ckRR
459 eEcxbW83bzZZMmFPUjZjUFJnUG1NUXR6OHc0QzlBZEpGcVhzbgpGVmZwRVZlUHJCTTZPWVEwRE9j
460 SVhteVMxajBJTHMyOUdxZzEvMXl0eWFSQkhaM3p6NzdBUllnWGFpbndreWI5OStyWWxkd0h4WEts
461 CjI5UFZJK3RET3RJK0I3V3pCSmdGM0FGTVFwd1gxd2JNWTVCS1B4VFlyOEw2SXFPam56a2FwZTc3
462 a0ttRlZ3TmRpdmUwNHpEeE4wNUkKWHZkQzhkUDhmK1lodHJsdVlYVXpiclB5S21TblJDWGlqRmdQ
463 bkdLTHo5ck9LNEcva2ZVM093dUJIOG4xTEU4aC83YXFET0syRHZMUgp1Y2JqWUNyUys0NEM3ZytZ
464 OWl4a1pISTZjK2FnTnhlenR2TW9kYzlIVThoMHhTUkozUzM4bGxrOE5YZU9vQm5nY3FRQmVvMkFY
465 WUVlCnVPY21rNEVuRWJOaEY5S3pqQUdlOGNqaktPSlZtNERzMEFEb2dIalZIcUo1MTFJdDR0REpa
466 K3NmcDNXOXY5ZUlmTWVaaURsVEtKMlEKSFVBTHlOMnpXWTA4UUlVNE82TFV2YldScE80V2xyWGgx
467 Zkg1YXQ0WmVCWjRYeFc2SDlsUWJUa1ZHcEEvN2hvVnZ4RnBmSDFVL0VGeQp2L2hqeU9aaWk4a2Vs
468 WjJQYklPYWdQUzZzOGp0TUc3RHZUWVhOeU9CUjVEdk9qeWlQQmNpem9ZZ2ZJRCt0MjhXNTBtWGhP
469 NU5MVWhyClVTcTYxd0JQcTdJUHFYUS9JRmJxOWJiN3RacGJRM1FOM2ozTEx2WHBwTWxnazBxN1Y4
470 VmJYdDlKaU5rN1RGMjNROHdySnhYSTVIMDcKOEs4anJqMnkvekVweGlCTFRNdUJVNUhPYVNLeXI3
471 SWwxQ0VMM0VIbUxvUFE3MHZkam43TFpSSzZOeUZXV0ZoS1NmY0s5UHRyZHlPLwo0QUJGZnRhcmdI
472 K0FNMnhoVTRCM2lsVmdUQ3dqZHdScUJENU5xQzZ0aVpidXhUVzYyOUN0Z3diaENPSWg3SWowS2lC
473 dk5PelFwbWdkClBFZXVLNzR0N2swT0JqYzN0VEM5MGIwSU5KTHJXbDlQeTh5Y3RGR0htUEdYSkYy
474 Uk1zUG9IaEU5a0wyUC9aSDV3cHhrcXhNcEZZalgKK29ha0sxSm1HTjBqcGdiWnFCRFZDN3RwWVJw
475 d3NUcnZrR1JGeWd5anU4R1g4ZVQrSE1palNWV2t6REM2SzZKd0VwVXE5eUF2T1Z0Ygp1ekxBdThs
476 VnAyd3d1dHN3LzBOQ3o0VzRUYXN0Tkh1cURjWEI2RzR3R0F3R2c4RmdNQmdNQmtNQy9BZU1RQWFp
477 cVVraThRQUFBQUJKClJVNUVya0pnZ2c9PQo=
478 </png>
479 <latex>$$H_{0} {\left|0\right\rangle } = \frac{1}{2} \sqrt{2} {\left|0\right\rangle } + \frac{1}{2} \sqrt{2} {\left|1\right\rangle }$$</latex>
480 </output>
481 <output>
482 <output_type>display_data</output_type>
483 <text>⎽⎽⎽ ⎽⎽⎽
484 β•²β•± 2 β‹…β˜0⟩ β•²β•± 2 β‹…β˜1⟩
485 H β‹…β˜1⟩ = ───────── - ─────────
486 0 2 2</text>
487 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9NQUFBQWtDQVlBQUFCN1k0MUFBQUFBQkhOQ1NWUUlD
488 QWdJZkFoa2lBQUFCc0ZKUkVGVQplSnp0bldtTUZFVVV4MzhEeTRLQ0lPQUJ3WFZCTVNZclFnSkJS
489 UEFBVlB4Z1NNQk5sdkFCcncvaUZjVUxOUW9EWWdqeENvS3dSc1NiClF4Q01Sc1hFSXh3YW80S0F3
490 VWlpaUM0b1JsQXhvaEtROWNPcmRudHF1bnE2ZDN1NmU1cjZKWk9lcWVxdXF2MTNWZldyVjI5bXdX
491 S3gKV0N3V2k2VVM2QTgwUi9DeW1FbVZ4dTJpS2lqam5CMXpmU09BcTRGY0JLOUt3V3BzTWRJUk9C
492 OVlDaXlPdWU2VndFa3gxNWtFVm1NWAo5c2xvcGcvUUZmZ3Q1bm9IQVh1QWZUSFhtd1JXWTBzb1po
493 UHZyUDBpVUJOamZXbkFhb3g5TXFhTi9zQWhvQ25waG1TWTFHcWM1c0hZCmdLd3BqaVh1Qmg1TnVB
494 MVoxejIxR3BzRzR4cmdNMkNMZW0wQ25sRjV0Y0NIS3MzSi94UzQyYWZ5eVQ1NTQ0QXBIdWxiZ1hx
495 ZjY3SkcKSDZBenNNT1FYd1hjQ3J3S0xBSW1BaDFLbE9tbGV3MHdENWdMM0E5Y3FPVm5XZmU0Tkhh
496 SXJHOFBRL1pRbHVNOWFPOVIrYmNIS0N2dgprZFlldUFveEdXWWJyak9seDBsYzY1bkhnY0dHdkdy
497 Z1hlQUd4T0V4Q3ZnT1dJdDBMaE41N2ZPcGlOUGlVdlc1Ry9BMWNoL2N4SzE3CmxqU0dWdlp0UHpO
498 MWlEcXVCSTU2NUE5ejVZZGxKdkErTXZOVSs1eTNGUmpZaXZLanBKcnltMjA5RVl0anN5SC9EbUFk
499 OERUd0IyS1oKVEFiR0VzN2ttb3FzbGQ1VG53OEF6d0ZMZ0ZOYzU4V3RlNVkwTGt2ZlhvNE1RcSs5
500 bUJ6d0MvQk53TEx5aHZUVGtLZXJhZmJvQU13SQpXRWZVOUFYbUFLdUExWWhaTjZCTWRjMENMdmJK
501 WHcrc1FHWnNOL3VRMmR0RTN2VytHekw0NW1qbkRFTHVnZHZjaWt2M3ZtUkxZemVSCjl1MGZnVzJH
502 dklHcW9pVUJ5OG9iMGtzMUdPQmU0SVNBOWFTUi9zQUd6S1pPRitDdEVtVjhoT2gwa1phK1JhVjNN
503 VnlYZDcwZnJjNXQKME03SklaUHVDMXA2SmVtZUZvM2RoTzdiSmpQMUxLQTM4cWoyWXBRNnJ2T3BL
504 Q3FXSVkvOFNtUVVNQjRZaW5taGZ5UFFXS0tjaWFxYwpEYTYwSEhBbXNCUDRNMEJiZXFtamZtNHo4
505 QmRpd3JtcEZOM1RwSEZZQ2pTdU1wemtQTTVISWlhRWpyTUlYaDlkdTR4OGo1Z3pYZ3dCCkhnNVoz
506 aTY4UFZ6bFlDTXlvUTBBYmtFOGRHNDZJczZVVW11U0pvcjN4YTVFWnV1NUFkdmlETWFESG5rSGdS
507 TzFORC9kMDBTYU5BNUwKZ2NhbXdlZzhxc2NEdjJwNU9lQUhwT0YrdG5SVWRFSzhVbDU4QVZ3VHNy
508 eC90TS9sK21aRERqaXMzczlIdG9yR0lJdDdoMnNSOHpCcwpHNm9RUjhFbWduY1U1MTRmTWJSVjd3
509 dCt1b2VsSEJvN0FkcHAwamdzQlJyN1BSbDNJSU5PNXh4a0ZpMWxnMGRGUFdhUDdWRmdieHZMCmp5
510 UHEvblBnRTJRUHkra29qdnY3aWxhVU4wdGRmeGt0bmJFVTIzM3lPZ00vYTJsK3VvZmxXTkU0TEFV
511 YWV3M0dXdUIwNEZsREFTUFYKTVk3MUlrQWQ4SEpNZFpXVCtjQkxpRm15QzFrcnJBTCtEVmxPQStK
512 dUh3UHNEM0dkNDR6VEhSRTU0RGpnSnkzZHJYdEhaSDNqNTZwMwpjeGo1KzZKNnNnWWxhWTNEVXRD
513 M3ZRYWpzMTdjYUNoZ2hEcnE2OFhCd0htSWQyZzE4RzNyMi9nL0E1SDlHQk5wWHpPNldRazhCdHdF
514 ClRFT2NEZU5DbGpGY1hUOGEyYVlBMFgwN3BUdCtFL0E3eFFIU2RjaUFkTjh2WGZkRHdIV1lMU21k
515 SXdIYVV3NlMxamdNcGZvMklKRVEKellnWHlZdWRGSnVHbHdPdklZLzFYc2dzZkxJclAyOG9xNVQ3
516 ZHdiKzRVZzVaQjgwek12a29vNkRtY2hNMndEY0ZmTGFNNUJvRU4zUgpzaEN6R1pqWFBxOUhOdm5k
517 M0laMHNqNnV0Rks2cDVta05YWUkzYmYxbVM0SFhJSU1OcThuV3czUWorSzF4SFRnRWNRYzJJdk1J
518 cE9RCkdFZy8ycXVqMTQzdmdqaGIvT3oxWmlyck8ybU53SDJJWjY4dXhIWGRnZGNSazhZZDA5Z0I2
519 VUJCblJNTGdPZVJUcm9mdWQ4VEVOTnUKanpvbmlPNXBKbW1OSFZyZHQzc0RUd0p2cTBvUEFFOGgz
520 bFFRMDNRUkVrclVqRGgzNWlIUkc2aUMzWC80UTBpd3JjTjByYjU2SlBEOApLMVhlSVNUaTV3bGE5
521 ajZ2cDNqdksyN3FnUWVRdjNWc1JHVXVRNXdEWVhnSDgrK3ZyUEM1VHRjZDRFN2dZeVQ4YXlud0Jv
522 VlJWbkhyCm5qV05XOTIzblVkdk5kNnp5RjcxNnU1MU1SSU9WNDNNc3JXMGVGK25JYWJyR1BYNWVH
523 UmoyYUVHaVJYMFlvczZka1ZpQkpOaUVyS3QKc3hZSnNONk1CTWUvMHNaeWV5SWJ5R0hXSDhNeHgy
524 N3V4aHlXcU92dXBoYTViL3BtZHB5NloxSGpSUHQyRmZBM1lpTTd6RUJtM0VwbQpEWVd6WGlQd1FV
525 SnR5U3BXWXhkQnZXTitIQUcrUkJhOXUxVmFEMXJXSUpYS0FncGQ0cDBvRGhpd3RBMnJjUmxvcERB
526 U1podmlDTW9LClBSR1RUdjhpcmlVNnJNWVIwUStKRHh5SzJQd0xrMjFPcExSRHZNY1RrbTVJaHJF
527 YVIwdzFzdW5mSSttR1JNd3M0QUwxdmx1U0Rja3cKVm1OTFNhWlErRXZYRHliVmtBeGpOVlpFNGNE
528 SktsT1JIMnh5UXFKeXdKdkpOU2VUV0kxZDJQOFRZT1pjaWsybVhiUjRqQzF0eDJwcwpzVmdzRm92
529 RllyRllMQlpMQVA0RE5NcmxDQ0JJTDB3QUFBQUFTVVZPUks1Q1lJST0K
530 </png>
531 <latex>$$H_{0} {\left|1\right\rangle } = \frac{1}{2} \sqrt{2} {\left|0\right\rangle } - \frac{1}{2} \sqrt{2} {\left|1\right\rangle }$$</latex>
532 </output>
533 <output>
534 <output_type>display_data</output_type>
535 <text>X β‹…β˜0⟩ = ❘1⟩
536 0</text>
537 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZRQUFBQVpDQVlBQUFDdnJRbHpBQUFBQkhOQ1NWUUlD
538 QWdJZkFoa2lBQUFBMEJKUkVGVQphSUh0MkV1SUhFVWN4L0hQSnBGbFNReUtVYklzNmlGS0RCandn
539 WmZnUVR3b0VSVXhxUGhXVm9rbUo5RUVFcERNUVJSZkNBcWlvZ2pCCkhCUkJEZDRVRkZGUXdlZmlR
540 UTFrVFFJUlJRK2FSRmJVemFHcTJlNmFucDdwN1ZsM2RlY0xRM1g5cS9wZnYvbFBQZjQxREZnMDNJ
541 S3gKK1JaUlFTMTllM0FJMC9GektEckllRGJYZGd6dlk2akMzL1lTMjQxNERRL2pVZHlRdEsvRXRs
542 NEZONlJNWDhZbUlSNHB0ZlV0d3o0aAphR3VTdGlIc3gwNHM3Y0ZYSzZsZmljTTRKU2R1RXRlVXZM
543 ZXNSNzFOYUpYWXhyQUZmK0wxaXZjSytwWlVEUElYWG9qUE55VnRUMkNyCk1MditycFJhems3c3hT
544 K3gvaHZld3NzWXp2WGJpNnRtNGI4cGQrTXhyTUEvRmYxcTZ6c1ZVL2pCVFBCMzRMYWFBbHU1NTR1
545 RldYOXQKMG1kanRGK2EyQitxT2Rac2FGVzBIZEY1aHBMb3E1cWg4RFBld0JtNEF1UEN6TjNkVldK
546 bkxvemw5NGw5WHl3dktiR2YxV0M4dWFhZwpyMXRBNGZsWVBvbDFlTHloZ05XeFBKTFlqOFp5TkxH
547 L3F2M0FXa2dVOVBXeTRiK0hiN0VXei9SQlFCYlFvNGs5cTUrVTJQL0E4ZzYrCjFndXJwU3JEU0Rt
548 QXEydjA3MFpCWHk4QlBjZk14bndYSG13b1lDcVc2V1ovUWdmN2lDQzZqQW1jMzFCUFV3cjZ1aTM1
549 TVdIVHZUeSsKTks1NUdqUFJ3Wjc5eW9jVCsvWENzbHFvRlBSVkJmUmtZWW5maTRQeHBWSHR1V0pk
550 dnM3NXo3TWlsajhtOXJYNHJ1R1ljMGxCWDZmWgpOaUljUnZjTEp6MDhoenR3ai9ZMFlnaTM0MFJo
551 Vm4rSXR6djR6Z0o2dXVKSmYxRXM4elA0QW56V3dRK2NLK1N1ZGZmUU5HV2JMZDMwCklRUjVOODRy
552 YWZ0QzJPUE9UdXpYNGNYNHZFUUkydnBjZXl2cFA2azlXM2dGM3lnR1o1ZjV1eWxsVk9XaGJmclNK
553 YjlHbUYwVCtMTEUKd1I3aEMyOUo3TnVGV3dNaDRPL2kxZ3FSTzNBblZzWDZxSkRZUHlJazk0VFpm
554 a3pJZStlTGxjTFZlcFgyVlZDcGI2T1plL3Uwc013MwpKSDFlRWxLYnJNOVgyQnpiZmplVHNNTURl
555 Q2RYdjY5a3pIRzhpYWVFSDJOejBuNnpzQzM4RzZUNk51RmpJUTdaOTUzRUJ6aHpydlVOCnh3SFg1
556 V3hiOGVsY0RMYlE2ZVdtMUkwcElkV1p6dG1XNDljKytQN1AwWStBd3VjNExWZGZMWnltaTQ1K0Jm
557 UVR4WCtKTGhQU3JFVkgKbmZ5dGloRWhnQjhKLzB6OWhLZjc1SHRSTTl5OXk0QUJBd2I4YnpnT0px
558 S2orRWxZcEh3QUFBQUFTVVZPUks1Q1lJST0K
559 </png>
560 <latex>$$X_{0} {\left|0\right\rangle } = {\left|1\right\rangle }$$</latex>
561 </output>
562 <output>
563 <output_type>display_data</output_type>
564 <text>X β‹…β˜1⟩ = ❘0⟩
565 0</text>
566 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZRQUFBQVpDQVlBQUFDdnJRbHpBQUFBQkhOQ1NWUUlD
567 QWdJZkFoa2lBQUFBMEpKUkVGVQphSUh0MkZ1SVZWVVlCL0RmbUhFWTFDRURRNUdpc0RJaElRdGZl
568 b29ldWtIUlBlZ09KbWsrUldVb1JlY2hJc2pBTGtSRkVSaENRUmVJCjNncnNvYUNDcnZOa0dwRUpS
569 VUZCWlRWZ016MThhNXA5bHZ2c3M4L0ZJelhuRDRlMTEvOWI2MXYvK2ViNzFsNXJNOEs4d2MxWWVh
570 eEYKVktBcmZidHhFRFBwZHpBNW1NVXpCZHNmZUE5akZmNjJWdGcyWVdjSlA0SDc2Z3J1RTJYNkxz
571 SHJlRFQ5Tm1iMnJ2VXR4SDRSdEZXWgpiUXpmWUR1T3ErR3JXY0tkaG0yWXh0TVY4eGJXOE44dm1s
572 bC9QWDdGS2FuZndCZTRzMlJlaTc0RkZZc2N4dlBwK2NiTXRnTmI4QWorCnJpRTR4LzNtL29pcXpI
573 NExsL2ZndjE5c3h4NGNTUDBwdklJbmNGSmhYTmY2bGlWbjM1b0wvamJjMnFYQVpodCtzYWlBZGhr
574 S0QzZTUKVmk5b0ZwN1BGRlZ6VnpabW5kQ2FKMWVMdnFvTWhaL3dwa2o5eTdCQlpPNnVydVQyaC8w
575 NGZZanJyUk5WczY5RUIxeFF3ditycjFOQQo0Ym5VUG80MWVLeHJpZjNoVmR3d3hQV1dwL2IzakQr
576 VTJoVVozNkt2em9hL0IzdXhHay8xSUxCZi9JbEZiV3hyUmJWVTdjTTVEdUNLCkN2dHNRQTlsL0RU
577 K3dnbFYrdW9FOUt6a0RPN0FnelhtREJMalFuUVpKa1dKRGhKVHFaMHVzUjFmd3JmbzYxVHlLOFdt
578 ZTNHYXRNRncKampGRlhDL0thbGlZYk1NM3hCSHgrNHh2MFZjVjBLV2l4RGZqdXpScEJhN3NWV21Q
579 V0kydmhyamVsNmxkbXZHTFUvdER4cmZvYTVkdAo0K0psZEk5NDA4T3p1RjNjYkY3THhvL2hOaXdS
580 V2YwKzNxNmp2Z1BPeFNjVjlyUHhrdTczMEtzcjdGK0wvZlBrakYrZjJtSUdkOUtICkNQSXVuRk5p
581 KzB6c0lXZGsvSFY0SVQwdkVQL2x0UVY3czgxYW5jNmhEemsyTjZVUDhYTEc3UkRsM2lod1IrakxT
582 MzZWeUs1SmZGNnkKOEc2UkRmbWhkNnU0TlJBQmZ4ZTN0Rk5md0ltcFhWWmlXeUsrRXh5dTRXZlFl
583 QUJYNGRUVW44QTE0dWc0KzlLcTFIZXB1WHY3akNqego4N014TDRwU21CMVR2TnYraHZNS1krL0ZP
584 NFgrM1ptdmpmZ1l2eFQ4N1JNZldTYlNtSnNjV1haSEM3ayt1RlpjYW5iaURYRmRMaWJnClVkUFhF
585 QUZaVStDMmlJRE5POVM1S1hYQ2xOaGJaZ3JjSXZ3OEFOLy9PUXdpb1BDcDFxOHd5ODE5cVpsWEdG
586 UkFQOEtGaGY1RjRwZzEKNzlETithMEs0eUtBSDRndlV6L2l5UUg1bnRkb2RCNHl3Z2dqalBDL3dU
587 K1VES1FiK0JQTG9RQUFBQUJKUlU1RXJrSmdnZz09Cg==
588 </png>
589 <latex>$$X_{0} {\left|1\right\rangle } = {\left|0\right\rangle }$$</latex>
590 </output>
591 <output>
592 <output_type>display_data</output_type>
593 <text>Y β‹…β˜0⟩ = β…ˆβ‹…β˜1⟩
594 0</text>
595 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZZQUFBQVpDQVlBQUFDcldObE9BQUFBQkhOQ1NWUUlD
596 QWdJZkFoa2lBQUFBM2xKUkVGVQphSUh0MkYyTVhWTVVCL0JmUDhiWDBLSlN4VFRVay9CRVMrTEJF
597 RjhSU1ltRXBobEUwSGdZUElnRTR5TnVoQ1lpOFNSQmVKS1FJVkdDCkJQV1ZOaUpGcEZJSlF0T0k3
598 NGVXRkJNUlREMnNmVE5uOWoxbjdqMjNkMXJwM1AvTFB2dS8xOW43ZjlaWlorMjlEbjBjMEZpSEpm
599 dGIKUkJkb3Ezc1ZQc0RmMklNSmJNSmdabmNzZmtrMms5aUc0ektiTzBybXZ4N2plQWdQNDRwc2ZD
600 bHViZk1RczQweTNYQW8zc1hwSldNZAo2NzVXT08yWk5qWmJNRlF4M3NqNmEvRU5GcVgrRXZ5SWl6
601 SzdCekN2RTVHemhFYldIOERaMkNoOHNxcml2bExkODdQK0JoR3RsK0hnCmtrbFdZRFhPeGZjZGlK
602 MkhNYnlJM3hLM0M2K0xsMWRjLzIydHp0NWZHQkMrV0lOZjI5aDJyUHRaOFlhdXpQaEZlQWxIdDdt
603 L1ViaSsKSk0xMWNXWnpWZUxQeXZnSE94RTRTMmhVOExlWU9XSXAwWjFITE9GWXVMckFMY0FUdUZQ
604 azJFNnhNclZmWi96MjFKNlg4VC9naEJyegovMS9Rb3J2TXNSdXhFNWZpcU1ROWdxZndWYzBGbDZY
605 Mmo0eWZTRzIrOFQySGtacHIxTVdJQ0pKeDVjL2ZEVnAwTHl3eCtnY3ZZRlNrCmc0UHdPZDdyWXNH
606 bVl5Y3l2dGsvTXVOM20zcVpPVmJpYWZVMnVPMm1wN1RWNHVSenM4ajVGK0N0R3ZOVm9VVjNtV09K
607 ZERDS3U4V2IKSGV0eXdiOVNPNW54QXhYODRpU3lESjhvUC9MVXdlWGk3SGtPRHNOM2V6bGZFeTI2
608 cXo2RkxjSXB1M0RQWGl6NFdRWGZQQi8vbFBFago0ck9hTGF4UDdZM2lHYi9zMGJ3dHVxc2NlNm80
609 YnIyaE5hcnFZRnRxODgvNzhOVCtuUEZEZWhkRlpkZ2hvbXVOMkRONmhSYmRWYWxnCk9MV2JTc2Jt
610 aTBycUVDd1h1ZmZOaW5tYWpsMXVlblNlbWRwaVJBOWpjOFU4Y0FhZVZEL0hyczI0YThRKzhyeHc4
611 a0x4WlhhTGRycW4KWVZ3aytieWtKU3F2eDlMMUFueUJVd3JqamN4K0orN1B1SmZ4VWNidHE4cnJZ
612 MVBSZXArcERiWlJZZC91SE50UjVVVTRheGlmYXQzTgppWnI2bFhUOXI0alltWTVJZCtFbUVSMXdv
613 dGlOMXhkc2poRlJzMmVHZVhxRklieUQ0OFVtbXFlakhNMkNhR25KV0VlNlR4SWh2U01aCi9vNzN4
614 YWZUeER5eHFaMVc0TzdGcTRYK2JTVnpqNG9vZlJTdjRicHNmRjBTdVM5d2d3aU1NUnhSNEhQZEcw
615 UXFteFQrK0JOYlRhK3kKZXFaN2NWcGtSWUc3WFkwY00xZFF0L0xZYmVxM1lST0Q2cFc1Y3dMZGxI
616 UmJUYzgzeS9CdGIrUWNPT2pHc1IvaS9FTC9RbkVNNnFPQQpibzQzZytJbnhtYWNMS0wxOFY2S211
617 c28reEhlUng5OTlOSEhGUDRENzBpdXlrYnJ4SzhBQUFBQVNVVk9SSzVDWUlJPQo=
618 </png>
619 <latex>$$Y_{0} {\left|0\right\rangle } = \mathbf{\imath} {\left|1\right\rangle }$$</latex>
620 </output>
621 <output>
622 <output_type>display_data</output_type>
623 <text>Y β‹…β˜1⟩ = -β…ˆβ‹…β˜0⟩
624 0</text>
625 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdVQUFBQVpDQVlBQUFBb25PQjFBQUFBQkhOQ1NWUUlD
626 QWdJZkFoa2lBQUFBNTFKUkVGVQphSUh0MlZ1TW5WTVV3UEhmdExSaVJJc2FJNllvSGx5ZWxFWjRH
627 RUs5RUgxd1QxMFMwZlNoY1luVUpVcmlSQWpDdzBpYXFKQklKS1FSCklVSGlFaUp0aElvS1dpR3FS
628 RnhDQk1tRUVkZU9oN1dQT1dlZjd6dVhtVG50VEhyK3lXUi8zL3JXdDcrMTlqcDc3YlgzMEtOSENh
629 dHcKeUo0MllnL1ExTzlUOFRiK3hqakdzQW45bWQ1aCtDWHA3TUkySEo3cDNOckVpTFc0dDBBK2dP
630 dWJ2RGNiS1BMN2ZEeUwrM0EvcnMyZQp0K1gzVldMQW4yeWhzd1ZESmM4ckJiTGprbnc4R1ZmRTNl
631 aHJaZUFNcHBMZG40NVJFK08wSDdackRFeUQzM015aGVmRUxGbUIrUVVmClhvSUxjQ2ErYmRQWXUz
632 Q0hDRWd6WHNlNWJmWTVHMWduZktxTzB4OTRCdXZWcDZ5Mi9INUtET0RGbWZ4QVBJK0RXN3hmS1pF
633 UGFqNVQKNEo1V3hzMWdLalhYSjRqMHZqclRXU2JHNE5KTVh1ZDNQbE9Jb01BVk5iSzUySURieEpy
634 U0xiN0RFVjNzZjNleFZLU2t6elA1enRTZQpsY25yL0M0S3ltdjRDZWZob0NSN0VJOWh4OVJzYmNu
635 VFdObmxiMHlWbzhUQy9STE9LZEVaVE8xdm1Yd3N0WGx4Vk9mM1BnVWQvaU55CjN4cVJ3dWJoRTd6
636 WnJ0VlRZTlRFRHlIbkZEeXVzMkpncDhZMFBCWDZSTGE0T2JYcjhFYUJYalVvWTVuOEx6RytDek41
637 bmQ5RlFTRlMKMkpyMDBZMjR2UVBEcDhJQ1lXQVI3K1BrM1dSSEdTdndNbjdIY28zcHFjcWZxZDJW
638 eWZ2RVVwREw2L3d1QzhxVzFQSFBvbkxhWGF3VQpVM21tOGhHK3h2RTRRL3hvaTloZUl0OWZCT2I3
639 VEY3bmQxbFFUaFFsOFNzYW85cE5odkJObDcveE1FN3JRUDg2YkUzWFg2VjJ0VmhmCk41VzhzeTIx
640 ZVNvK0lMVS9aUEk2djh1Q01wemFvby9Pd1RWaU03UllyRFd2bHZUVENjUFkzT1Q1VWp5cTh6WGw4
641 a3gyWTRkMjVjekgKMVhnZzNSK0xMektkSFdKZnNoanYxTWlYcGJaMkpyWHkrMzgyaWlPWC9KaUYy
642 Tkd2VDlkejhhbVl6bFVxSlgyMjJxZk1saDM5UldLeApIc0FpRS81V01yMnRlQ0tUallqTjVMd2FX
643 Y3NkUFRIUXcvaFFZL1ZBblBHOGtLNy9GVE9sblRLMnV1a2NLSGkyU0t4ZnJYYjlNNEVoCmZJd2Z4
644 YXpiVUtKM0p5N0JrZWwrSVM3RVE2SUtvdzIvanhiVDZNdWs5Q3Zld3BVMU9uMmlBRGdwKy9pTE5m
645 YzNaZjNlZ1BkRWRUR2UKL2o0VHdkdzM2YXhLQnM0R0RoVjd1Ukd4MkZmSi9ZYkx4Q25JU0dwdlVU
646 OHJwc1h2QldKUWw5VEkxbW96Si9ab2o2TDAxWXhSRTBmMwpWZnAxOStobHI2UFRvTUFINnRlRlFW
647 Rzc5NWdtSmhPVWQzRjJ6ZjF5VWFyMm1DWW1VNEwyaTRwak00NFJzK1NSNlRTcXgrUXAraWRZCmp4
648 NDlldlRZZS9rUDB5SzFTZ2ZuL0lFQUFBQUFTVVZPUks1Q1lJST0K
649 </png>
650 <latex>$$Y_{0} {\left|1\right\rangle } = - \mathbf{\imath} {\left|0\right\rangle }$$</latex>
651 </output>
652 <output>
653 <output_type>display_data</output_type>
654 <text>Z β‹…β˜0⟩ = ❘0⟩
655 0</text>
656 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZFQUFBQVpDQVlBQUFCSmhNSTNBQUFBQkhOQ1NWUUlD
657 QWdJZkFoa2lBQUFBdmxKUkVGVQpXSVh0MkYySVZrVWN4L0hQbzY1TFdwcFM2NVpGV1VGWGlSR2lK
658 S1lJMVJJbFFsZW0rZGFiQzRJWFFua1JxRWdoWHFrWlhvYjJSa0ZRClJDRklFWFhwblZKR2htK3dy
659 VkVwK0JZcTduWXhzM1dhem5OMnozT2VkVk9mTHp6TW1kK2M4OHlQbWYvTStjK2h4WFZITnlhTXRJ
660 a0MKU3ZucndDWDA0eklPWXgvMnh0OGZzZTNaT3MrUHhyb2MvUlY4aURld0ZjOGs3Vk94ZXFnbUsz
661 QlYvSzNFUmF4Rlc5SzJDRmV3bytENQpNWGc5MFZiZ0o0eVA5UTc4aW5uSmZadUhhcklDVjhYZkoz
662 ZzZSNStGQy9nTW8wcVlISVVmaFJuTzhqNk9vNWJSbnNCalF6WGFJTVB1CmJ5eSt5ZEh2RTJabVA4
663 YVZOTGxJV1A1cDU4OUhmWHBHcXhuK2FHeXF2N3hvNnZUZkdabU1ML0duRUtFWFNwcCtKSmFIRS8z
664 bldNN1AKYVAzNERiZVg3S01LbGZ6bERlSUo0U1V5UURzK3hSUThKVVJqV1RwamVTN1J6OGZ5amtU
665 L0FFc2I2S2RSS3ZrYk04aWYxL0FPWnFNTApQelRtOFcrVDV4TjlvSDVyb3YrdWZpVE94VnNsK3or
666 QVpRWHRsZndOTm9odllqR1c0K3RCN2kzaVlpejdFcjJ0am42YmtFYmw4UjFtClZQQ1NSeVYvUlcv
667 WWw3RWVHN0VubzkrRUJTVk5IcXlqRDZRVHZZbStCTytWN0tNS2xmelZHOFF1dkkzZDJKUzBMY2JF
668 Y2g0ZGlPV2sKUkw4NWxpY3pXazFZS28zc3ZZMVN5Vi9lY3A2QmovRXRYc3BwWDRVbmhWQmZKV1Qv
669 MC9DRi9OUW9hL0p1bk03b00yT1pqWVRIL2Z2RgpsaklIMnd2YTh6Z29IQ0RxMFV4LzdrSVB2cGNm
670 YmMvaDgzamRqUzN4dWsxSUIrNk45VFFQcStFc1hrditiNit3eDJVWmlSTkwwL3hOCkVHYWtGL2Nr
671 YlhjSysyTWZYb3phVVR5YXVXY1BYcTFqRXRiZ0dHNko5UWVFZkxNcjZhZTd5R1NUYUtxLzdITGVo
672 b2VFU1B3b2FtTngKdjMrK1hGd1dJckZkaUxxZXpQTy80T0Y0M1ljelNWODdZMy92NGdnZXhBdkNi
673 QSt3VVBnQU1OejhML3hORlRMM2JDNjNRVGpWM0hBVQpwVGhGbkJTT2dQMFpiVHhPVlhaMERkTG9J
674 RjRSOXMrT2pOWXBIQmxibEdDN3NCa1QzbTRuaEM4OU54eTF3VytweTBUc3dsZkNKbnhJCk9HZTNh
675 SUQya1RiUW9rV0xGazNpTDRkZnRMa09FUklrQUFBQUFFbEZUa1N1UW1DQwo=
676 </png>
677 <latex>$$Z_{0} {\left|0\right\rangle } = {\left|0\right\rangle }$$</latex>
678 </output>
679 <output>
680 <output_type>display_data</output_type>
681 <text>Z β‹…β˜1⟩ = -❘1⟩
682 0</text>
683 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdFQUFBQVpDQVlBQUFBaGQwQVBBQUFBQkhOQ1NWUUlD
684 QWdJZkFoa2lBQUFBdDFKUkVGVQphSUh0MkYrb0ZWVVV4L0hQdWY2NVdHQWhlVFVOTktGOE5RZ0tS
685 QjhrU2Fvbmc4Q1VRaUZUa0JBUzZTRkpFY1ZYa2FpbnBCQ0RJS2pJCkNDSU5SUkdFSGhMMHdSZEpp
686 OEwrVUZDQkVxZUhOVmZIT1h1T1orNDU1ODZWNWd2RDJXZnQyWHV2Myt4WmU2ODlORFFVMklyWmRU
687 c3gKSkNwckc4TjF0SEVEbC9BVnZzeXVYN082NTB2YVQ4UHJYZnAvRTdzUzlvWFlVc1hSbXVpbXI3
688 SzJrWktPbmhVUGVUdnV3U05ZalRWNApGL2ZqRUQ0dWFkL0NySVQ5VWV6SFhpR2t5QStaczFPZGxM
689 NEphNXRlTXNoejRpMy92R0IvQWtjeisvYmUvTDNKUGp5SXEzZTQ3eFJXCjRtVEYvdXRrNE5wbTRw
690 dUVmUWwreGprUkhkMllMc0l5eFdJUlpidEw2bHZpYlpyS2xPbGJiQUxhVXN2UmZER3plZWJnQy93
691 am91VHYKbmx5ZEdHMWN3OXdoamxFWFNXMnBTZmhlYk1MampPSVR6TU16SWhxR3pWRnNtSVJ4NnFC
692 RFc5bWVNRTRMaC9HazJKUXZETWV2RG41UgpIZ2tyUkZKUWhlL3dVbDhlRFk0T2JYZWFoUDFZaDVk
693 eGZFaE9wWGhBcE1FcFRtSFpKUG95YURxMGxhV29zQmx2aUUzbWc1eDlGbFlOCjJyTUM2M0ZreUdQ
694 VVJZZTJza2hZZzdmeFB2WVU2dGJoOTRHN2RvdVdDTmRoN3ozdjRMRWU3MjNqVmJHczlVTlNXMm9T
695 bHVFamtjdSsKa3FqZmhLY3hJeXRQdzhNNEpwM2FWbVcxMnhPRElzdHhzR0tmNTdHeFlOdGFzWTlC
696 a05SV25JU0h4TU84Z3JYaWswV2VGMFVVL0NWRQpMQkpMMWd4Y3hGTzQzS2VqSzZTUC9lT2N4dU45
697 amxFWFNXMzVQV0cyT0F1TWlGVDBqMXpkQXZHd2orRFR6TFlUbjJYbEd6aURGM3B3ClpFNzJPNWFv
698 VzRBZmUraGpxdEszdHZmRTJuY1ZaN1ByV3pFWjdleTZMczRMbzluL1JibjJCL0JoVmg3QmE0WCtk
699 NGpUOXArNS9pN2kKUk82ZUxlSzcxRlNucUs4V2JRdXpnZkw1N2xzaWtob3EwaTFGN2NaUDRoTkdP
700 MmU3RjcvMTdkSC9rSWxPd3I4aVhjdXZmZlBGSjQrRwpTZVFndG1YbGxwaUFKZlc1Yy9mUzZxUHRm
701 ZUxBOHpXV2lvM284Q0NjYXFqT2FOME9ORFEwTkRRTWhQOEE1dHlRaEROTkdtY0FBQUFBClNVVk9S
702 SzVDWUlJPQo=
703 </png>
704 <latex>$$Z_{0} {\left|1\right\rangle } = - {\left|1\right\rangle }$$</latex>
705 </output>
706 <output>
707 <output_type>display_data</output_type>
708 <text>S β‹…β˜0⟩ = ❘0⟩
709 0</text>
710 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQVpDQVlBQUFDbVJxa0pBQUFBQkhOQ1NWUUlD
711 QWdJZkFoa2lBQUFBeEZKUkVGVQpXSVh0MkZ1SVZWVWN4L0hQTkdNb0UxcUJOUm9SR3BIVlEvU2dG
712 WVNYd0VLb2ZDbXdncDU2NmlWSWlNS2dFMXBFU2hBRVBnaUNxRlRZCmcxQmdGM29wQ08zQmw2SFFM
713 a3hSakVrM2pTWXZYY2FIL3o3TWRyWDM5dXl6ejJnajV3dUhmZFovM1g1bjdiWCsvLzg2OUxsb1dJ
714 REgKTHJTSUNncjFEVlYwR01JVFdKWjluNDEzOENiZXduMFZmWi9HSzRudEZyeUFNWnpBYVd6Qnlh
715 eitDRzQ0eDQvb0ZkT3VidzdleFhPNApKR2QvRm9mRklsYlJTc3J6Y0F6MzVHeTdzQzFwdHhaTE94
716 WFpnRlpTN3JtK1BRV2QyNHpqOFpvQ04rQ0h4TFlhazdnN1p4c1V1MkM2CmFTWGxydlhsZDFlYmVX
717 S2w5NVJNUG9xUE9oUUtsK0pKZkpEWVA4YWZ6bllGLytCM1hGNWovS1kwMGxlMGdIZGhsdkx6L29u
718 d0U1MXkKTGVianE4UitTcnoxbFluOURUeFNZL3ltTk5KWEZFUU9pSlYrRll1d043UDlsZFZ2cWls
719 d0pIditVVkEzSWFKYm5uRXNyRGxIRXhycApLMXJBbjBXdzJJVDEyV2NDTzRTdk9OYWx3SWtTZ1VY
720 SDlVdmNLQUpXeW9kaXgzVEtKQjdDMTlPaHJ5eU4yU3hTbG9leENuZUlsT1pxClBOaVI3Q2xPWmM5
721 L0MrcG1sZGlYWUdmSmVLdHJ6bjh1R3VrcjhvRnREdUY1TE1kdCtGNEVsOWsxQlk1VzFBMkwvQ3JQ
722 QW5GTUptdk8KMHkyTjlLVUwrRXpKUUo5amQ5WnBvS2JBNzNBY1Z4VFVYWVlmRTl1ajJWem5pMGI2
723 aHBMR0svRnl5VVJ6Y1ZCazZYQW5Wb2pnTWdjdgpLdDgxb3lMYTVabVA2L0JlemphWXpmTmJ5VGl3
724 VDMwZnVBN2ZWTFRwaWI0MStCdlhGOVJkaGFQQ0g4S1Z3c0czWDhBV2NUMXEwMHI2CnY0NHZFdHM2
725 RWUzejZkSUQ0dW80M2JTU2NrLzBiUmE1ME51NE9XZGZqUDBpR3JmWmdPMjU4bklSbWNvRUxzSlB1
726 RDhyRCtCOS83MFMKYml3VDEyTmFTYmxyZmZralBJTGJjU3RlRStIN0YzRmtuOEtudWJaTDhHMnVQ
727 QzdlMUxBSS9jZVRlY1pFUnI5ZTdQUzU0a2psZCsySQo2bVBXU3k2NHZuMGlWMnh6amZBMTV6TUIv
728 bDlRbGNaVU1lYnNnREdjUFg5dEptZm0wZTBDSGhTQnBjMkk4Q0VuaTV0ZnZIUzdnSitaCmlzaHdM
729 N1kybHpQekdPeXkzMUh4dDljYTNDUjI0RXVtcmtWOU9tUkEvSi9XcDArZlBqT1JNeUNPd1JpWFM5
730 ZTRBQUFBQUVsRlRrU3UKUW1DQwo=
731 </png>
732 <latex>$$S_{0} {\left|0\right\rangle } = {\left|0\right\rangle }$$</latex>
733 </output>
734 <output>
735 <output_type>display_data</output_type>
736 <text>S β‹…β˜1⟩ = β…ˆβ‹…β˜1⟩
737 0</text>
738 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZZQUFBQVpDQVlBQUFDcldObE9BQUFBQkhOQ1NWUUlD
739 QWdJZkFoa2lBQUFBd3BKUkVGVQphSUh0MkYrb1ZGVVV4L0dQWHBPOGxrV1FYZE1IS1NVelRYeFFL
740 cUs4UVlXUS82Q0hOSWdnUytvaEVFSHFTU0g3WjlKYkNFR2lxZFNiCmtjSU5UTHdnSWxxWUlFSUZw
741 aUlVV21sRVVGRjVlMWpuTm1lbWM4NDBNK2NvWGVjTHc3Mno5OXByL1didGZmWmUrOUJseERNSlQx
742 MXAKRVcyUXFYdDB3WUF4ZUJFNzhDRSt3ak1ZanoxTmdxMHQ2THNiUnpMYXY4UDBKbjZycGpUZGVZ
743 a2RKeEk1UWN6R0UxaUtpVGlLWDVvSQo3TTFvdXhITDhHbmlKNHZQTWErSjd5b3BUWGRlWXQ4WE03
744 RUJsMUx0citQNkpFZ3JMTUI3bUlNTEJYWjc4RmlMdnF0a2dUWjFqOGt3CnVnRkxHZzFUSE1lK0Zn
745 VU9KaDlDN05RY3U3L3dzMWdsUDdVWW93b0d0YWs3YThYZWoydms3M2NIY0tvZGxmK1JEN0NpUXY5
746 VlVhYzcKSzdHSHhReThqVTFxaVI1bVE1WHE4QzF1clRqR0xMeUZBZkdZbDBHZDdxekUvb0NYay8v
747 WGlCVjZFZStJcFg0NStCcDM1UFR0eGJFVwpQbDlnV21wOEwxYUozM2hlVkQ2bDY4N2FZNG5aM0kz
748 bDZNYzllQUczNFBFU2hlUXhBOXR6K2g3dTBQZXplRmNjeXYzWTBxRy9OUC9vCkxxcGp2OFE2UElD
749 NU9Dc090V3RMRkpMRkpQRllEVlhrZjdjNGdCL0JGR3d0eVcrZDdzYkV2cFF6NkFSMkpvTkdsU1Fr
750 anllVFdGWHgKVGZMM09WRTJuaTdKYjUzdTlGWnduU2dwM3NnWk9FRmNEbjVOdnQrTEIvR0h1RkM4
751 cXZOVjFwUEV1VmhnTTRDYlcvQTVKQzQ0SjFOdApmVmlrZG9yZjN0RGZLb1c2RitMUEpFZ2pFM0ZP
752 N0Vsd0U3NVNtNWhONnErRDZ3dEVETXBmSllzeHYyQnNXYXpCanhpTDJlSXdvMFRkCjZhM2dJVkdm
753 dm9tWnFmYmI4REUyWW4vUzlqd09pb21ROUs4c0VEVk1qN2lBOUlwM0RvM01rMzBmTDVzcG90cTVK
754 TjUvYkd0aTM1SHUKN1dJbDlvdVM1ak44Z2wyNEw4UDJsZFQzYWVLUkd3NjZ1c0YrZHZKRHppUjJR
755 K0lKT0tSMnl2Zmg2VHh4SlRORDNCNDM0cTVVK3hYWApQYUJXNjhMa0pHalZoZjMvaHFKeXE0aFQ2
756 ZytxNFpWYTlLTGlxcUxkeEI1Vi93cXREOS9qdDQ0VmpSRGFUZXdSdFFvQkhzWG16dVdNCkhIcmFI
757 SGRPbkpJTGNhZFlzYS9oOTVKMFhmV01FclZnbHk1ZHVuVDVOMzhEaXFhbVFHZGFQZmNBQUFBQVNV
758 Vk9SSzVDWUlJPQo=
759 </png>
760 <latex>$$S_{0} {\left|1\right\rangle } = \mathbf{\imath} {\left|1\right\rangle }$$</latex>
761 </output>
762 <output>
763 <output_type>display_data</output_type>
764 <text>T β‹…β˜0⟩ = ❘0⟩
765 0</text>
766 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUU4QUFBQVpDQVlBQUFCdzQzTnNBQUFBQkhOQ1NWUUlD
767 QWdJZkFoa2lBQUFBdk5KUkVGVQpXSVh0MkUySVZsVWN4L0dQbzQzanU3WVFxekZ4RkVKRk1pVmNS
768 RVBVTW5RcjZTYlNRREFHaElTV0xoUkZhS2VRRUdSUWlSRVZMU3A3CldmaTIwWkJTQ0VJTHEwbGRw
769 Q2xXdnFZdHpyMXhQTjc3ekIzdkhZZXg1N3M1NS83dXZmL3plODQ5TC8vejBHYkUwNGR4dzIyaUJZ
770 WCsKUmtYMWhmZ3VxLytBbnpFVlMzRURoM0FGVS9BNHVqQU5GNk1ZNDdBYTI1TTIrdkFrVHFFVFgr
771 R0w2Sm01ZUFwdjM4VVBHd3hENW04egpQc0NrU0Z1QVc5aVZQTHNRRndwaVRNU3JpZllLamdtZERk
772 MDRsNW1OMlZSbXJFRWE5ZGNSMVpmZ0JWeUt0TjZzL0RKNTc3Z3dFZ2ZpCkFXekFibUhVUWo4T3V2
773 TXJIc1hpQ2pHYnBKYS92UE9ld0FGY1QxN0lPMjkvb28vRzd4WE1yY0NqMkp2b24yTWVlaUx0RXl5
774 dkVMTkoKYXZuTE8yODYzaW9JM2l1c0E3OG1laWMrcldCdVNWYWVTUFNUV2ZsTXBOM0EzNWhjSVc1
775 VDFQS1hkOTVlbkU0Q3pNWEQ3aHgxY0JsNwpLcGlia1pWL0pYcCsvVkNpdjRkVkZlSTJSUzEvWTFv
776 RXpxZnN2cnUyRnN4ZHhzMFNjMU1UdlI4elMySTloOWNIMmY0UnZEeFUvcXAwClh0SElxOHJWQW1P
777 RWhWckJ2VzdCWUJGZlkxRU5MMFhVOHRlaG5GNWhLcDlzOGN4QUhDL1JKMlRsbVVSZktVeU5lMFV0
778 ZjJXZDE0M1oKd2c1Y2gyTVlMMnd3TVJPejhteWtqUkZNRitXUFEwVXRmMlhUdHRXVUhZdVhoTXk4
779 Qng4TGVWR1p1VkhDeC9ncDB2TUVOUDd5eTRSMApvSXhuc2EzRi9TSyt3ZG9XOTV2MDl4OXZDQ2VM
780 QlFYMzFtTmpWdS9LR24wa3UwNHorRTVjdzdva3hrRjhsbWpEY2NKbzNOOTQvSWcvCjNINzJ6VG5q
781 OWt6N2ZlRnNXR1FPWHNQM1dWekNCN21HcDZObjV1REZLdVpxMHFpL2ZOcDI0Q1BoWE51RFdabCtX
782 SmpqYndwNTNSUmgKZS84dGluRmFPS0hBUC9nemFXT3JNSXJmRlJMdXg0VE1QbDVQbjgvYUdHcUcx
783 ZCtjcktINHo0TXQrTEJ1NEpGSXExU2xpSDdoL0hzcgowaWJnZkdPT1JoQ0Q3Ynlyd3Zvd1BkSm00
784 SmZHSE4zbjdNU2FyRDVhV1BQS2psVDNOVVc3NlVBOGlCM0NmM3p6OFMzZWFkTFUvNEd4CncyMmdU
785 WnMyYlFiSnYyYzB0aEx3SEVvZ0FBQUFBRWxGVGtTdVFtQ0MK
786 </png>
787 <latex>$$T_{0} {\left|0\right\rangle } = {\left|0\right\rangle }$$</latex>
788 </output>
789 <output>
790 <output_type>display_data</output_type>
791 <text>β…ˆβ‹…Ο€
792 ───
793 4
794 T β‹…β˜1⟩ = β„― β‹…β˜1⟩
795 0</text>
796 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUhnQUFBQWxDQVlBQUFDSmRDMzdBQUFBQkhOQ1NWUUlD
797 QWdJZkFoa2lBQUFCRlpKUkVGVQplSnp0Mm51b0ZIVVV3UEdQM3UycHB2bW9zSkNMRkZtWVdOR0w4
798 aEZsWVJGbEpJbFJpQVFLRlpWRVNVVVk5b2FRNko4Qy9VZnNYYVJGCmtBUVJGb1JJRCtoQlpFYVJQ
799 UzB5emJLYlpuK2NXZTY0ZDJidjdyMjdkL2RlNWd2RHpQN216Ry9PbkRPLzN6bm5OMHRCUVlFMXJW
800 YWcKb0RsMDRGWjgxV3BGQ3ByTE82MVdvSzhNYjdVQ0JjMmxjUEFRcDNEd0VLZHc4QkNubzlVS0RB
801 SnV4dFVZaGMreHA3WHFGQlNrR05acQpCWVlnSlZ5R2lYZ0tuYmdGeDFmSTdjZGkvRE9ReXJXS2E3
802 WFB5M2Fnbjl0MUdJT1BNUW1yTUFPUFkzcHFQNlhCZW1mYXNKUTZub2puClJlSjFRTVNhdzNCSWNy
803 NHIyWTVNWlA3RDVkaWQ2dVBRcE8zVkhDWG1KZjI5V05IK1BTN0J4bHFmcG9uMDkwVTdFeE9FTFVx
804 NFErUTYKTTRYVHIwLzJlVFROaHJmalUxeUtjVW5iaWNMWmIrck91RXU0QVgvcm1ZV1BUQjZva21F
805 aVVlbktPUThyOHhRYmhEeUdaYW5mQ3pGWAoyT2ZaWHE1dHFBM1REcm80MlRiaXQ2VHRuR1QvbWhp
806 eHNBOXJzU1hWVm8xSHNRbExkYzhHV1d6SENUWDAxd282OEdTTnNpWGgwTFdZCm43UXRFVGFZSUti
807 bmV1bXpEY3NPbm9SdCtLbmlncG5KZmxOT1o3VndqNGhCeTNxUmUwNFlwaDJaamROcWxEMEN2eWJ5
808 TzhTei95bEMKM2c1TUZtR3VIdnBzdzNJTW5vSFZHUmZNRktQNXM0cjJFV0k2cjRWOU5jcnRFZzll
809 cXVPYWdXQTA5dFlodjF1TTNDNThpMk5GdGt3NAoraXo4VmFjT2ZiWmgyY0hQWkFoUEVKbmVlaEdI
810 MCt6QlEzVXFXUXNiY0NWZWFVTGZsWnlDT1RoR2xDcXI4V09HM0N3Um91cGhhK3I0CjU0cHpuOVRa
811 VjcwY1pNTlNGY0ZxMDNPeitBalh5SGJ3K1NJUnJJY3ZjRzlHKzRNaWdWeUNuYUpXWFlrYksrUW1p
812 MUU0bURqSWh1M20KNEZGaUdzdmlBeXl2czcvZEdXMzM0MEx4d3BSbnBnVjRLME4yS3NiaWRCd25S
813 bnlXWER0eGtBMTdjL0F1MVd1MlJyTkFKQXBaN05YLwpmMVowNGo1UjlqMHNhczRPOGZLOGtDR2Zu
814 cG9YYVgvblVtSERQQWVQd1RSUk11MGZBS1hLZE9LYkp2WS9KOWt2bGgxdjgxZ3U4cEVyCjhIcWps
815 V293blZJMnpIUHdCYUtFeXB1ZXArTnNVUks4aEI4YW9OaDVlTC9LK1ViRTRITEpVbzl6NFpGa2Ez
816 ZDYyRERQd2RYaTd6eXgKb3JKSUpDRnY2RFpjZjVpTEZWWE9iNUcvZ3BOSHBVN2I1WmNvUy9HMG5o
817 WERZS0tIRGZNY1BGc3NSVzdKT0xjQ3Q0bXBleXQrd1ZWWQoxOHZOeTJ1OFdkK2d4K0ozMVZmR3V2
818 Ui8rdDZBTzBVR1hZN253OFRvZkUvN083ZHVHNVlkUEJ4M2lTbDNxaWpHdThTYTZrNjhqWGR4CnVJ
819 ak5YNmI2MkNwRzhEcmRYMVRTekJmVDYwWEo3N3ZGeVA4T0R5UnRDL1crUnRzSU51TW1zVkMvUm56
820 Q0c1SGNlL01BM0w4V0dtckQKOUplVGMrV1A2RzBpYmsxT2prZUxESnZJUms4U3RaZmszQitwYTZk
821 Z2ZFYWYrM1hIaS9GaWVXK2dLT0ZrOGFMK080RDNyWldXMmZBbwpNUVdNVExXdEVndnJCVzFJdlgr
822 NjI0V3Z4UnRXNW1pTnlhSUxta0JmL2xYNUljNUkvWjZGbHh1alRrRTdNRTJzNkp3cVBtTTkwVnAx
823 CkNwckJLRkZLamV0RnJxQ2dvS0Nnb0tDZ29HRG84VCtzQXZZaDBLcnJLZ0FBQUFCSlJVNUVya0pn
824 Z2c9PQo=
825 </png>
826 <latex>$$T_{0} {\left|1\right\rangle } = e^{\frac{1}{4} \mathbf{\imath} \pi} {\left|1\right\rangle }$$</latex>
827 </output>
828 </outputs>
829 </codecell>
830 <markdowncell>
831 <source>&lt;h2&gt;Symbolic gate rules and circuit simplification&lt;/h2&gt;</source>
832 </markdowncell>
833 <codecell>
834 <input>for g1 in (Y,Z,H):
835 for g2 in (Y,Z,H):
836 e = Commutator(g1(0),g2(0))
837 if g1 != g2:
838 display(Eq(e,e.doit()))
839 </input>
840 <language>python</language>
841 <prompt_number>14</prompt_number>
842 <collapsed>0</collapsed>
843 <outputs>
844 <output>
845 <output_type>display_data</output_type>
846 <text>⎑Y ,Z ⎀ = 2β‹…β…ˆβ‹…X
847 ⎣ 0 0⎦ 0</text>
848 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUhZQUFBQVpDQVlBQUFEa0JkcWVBQUFBQkhOQ1NWUUlD
849 QWdJZkFoa2lBQUFCU1pKUkVGVQphSUh0Mlhuc1hGTVVCL0RQYjBGcGlRcFIwa1lwaVlvcUdnU05v
850 SmJpRDJKZlNxd1ZxVmdpaEVvdHNhUmlpVkRVRW1JWGF4RFJXQ2NSCjRSZGliZElvc2RaU0ZSSjd0
851 YzNQSCtlTnZubS9OL1BtVGVjM2t2YjNUVjVtN2pudjNuUGZ1ZmZjczF5R3NGcWlLOU4rQW1Qd0pV
852 N0gKaGhuKzMvZ3BReHVHalZQdGYvQmpDM01aaWVFRjcveUJYK3J3ZXZBbWV2RXlMbWxoRHExaWZm
853 eldZdC9oNHR2VFdJb2x5ZitzZmlXOApwV1dFVkZML1Q4U0xXSUYrek1kbE9YMm1pby9xeDllWVUw
854 WmdDbDhrWS95TXQvRVE3a21lK1FudnFpYkcyUlp6VzV4RFdVeEhINTdECng3Z042NVljNDJnOEx3
855 eWlYeGpGRFNuKy9saVU4SDdCSzVoVWRxS1ZITnJjWk5DVEcvUjdIRFBMQ2t0aEFwYmpjblJuZUxz
856 SVMzMWUKV0dVUk9yV3daK0ZtSytjMENvdnhockRnc3BncDlEd3JoemNIOXlrKzBlcWlra1BiS3hI
857 NFVwMCtNM0JHcXdJVHpNUkZPZlN4K0FIdgphdjZqT3JHdzNmak13QVU4VTdFUjFNTW9MTVBuYWwz
858 a1ViaWloZkZxVU1taGRlRXJZVkdiWlhnSDRycFZGWW9YREZUU1NDeElaR2ZsCk5rSW5Gbllic1lC
859 dlorZ1RFL3BETFk3N1pOSi9hdEtlb2tYWGxqMzI4dENQUjhXUmMyeUt2aDJtYVUrUWNyZmE0R050
860 UENNVzlHQjgKM3dZWjdjUWlZVm5aQUtZLytjMzYyVjdONmJxNkljL0V6c0x5ejIxdGlyV28xS0h2
861 SUNiOWJ0TGVCRTlqUkR1RVp0Q0ZoMFV3TWFXRgovczFZYkxkUWRyTlBubS9QbzUwazlIUkJpbll3
862 cmhmV3ZXUEJ2THJFRWI5TWJPeXlnZGgvNkczeXZZOUVaRHBKTFBJc3NaTitiMVZ3CkExeU40OFZ1
863 ZlhVUXh1L0ZhMWl2Uko4Vk9FenR5YkVpNTcxelJHWndaOUxlSEx2aVF1RnVUdEhZQXZ2RjZUVWJI
864 K0N2RW5Oc2lFb0QKM3NXSjRLOUVwRG9ZT0MyUmNlVXFqTkhKZENlTjAwWDBQamxGdXhhYmlzRHZO
865 NUVlTmNKd1BDWHFCZDlvTGd0b0NwVUd2Q2xDNmF1UwoxalRDQWVJSWVpQ0hkMUtKY2Y2UGhaMGdV
866 cDE5TXZScTRlRTBzZWdiTkJoakxUeUM4U0w0NnNlaDdacGdwUUh2MGtUWVlGanJSUHdxCmpzaTFN
867 N3lkY0UySnNUcmxZNnZZVkxpcXlRM2U2Uk41YUQxMDRTN3NuclQzRkxwK3NlQTc2cUpaSDB2a3M3
868 L2p2UnplRmpoVitLQ2QKY1l2d3lWVk14RUw1UG1PMDhEK0xjTGdJbXRLWUlUNjZXVmxGNkJFbHg3
869 SSs5Z2lSVTZleG5najBwcXROZmM0VHhRc2lKdGtWNTRzRgozTWxBSGM3R3MzZ3JhYjhwS2xrSFlF
870 dFJsY3VpbEI0cWRlZzl3cUxtMWVFL2kzMlQvK05FS3JCVzBoNHJQK2NqY3RjUGhjTEc1dkQzCkZs
871 RmlPbUZ2Skl2T0hjWGRlRkJZVnhvamhKS3J1QUdmSlA4UHdpR1o5eStXWDlDWUlmUTJ1NDc4SWoz
872 VW9GS0hQamtSa2xjcjNrcFkKY3RyNkYxcnBiNFlKQzNsZnJZL3BGUnZsRDdYSCt6cllYa1NZUzNG
873 SENWbDBibUZ2RXFkTUpmUE1GM092WWk3dUZmNzI5aFI5REI3RApPM1hHMzFMb2ZMR0Jsd1NGZWlo
874 S21vOFNsdllBdnNWeGVGMG9yNHB4b25DL1BFVmJMQmFIaVBEMkY5RmUraWcrSVhubk85eWF5T2tU
875 CnUzdWVLREV1RVhYb1ptVjFDdU9GYm1EcnpMT2hPRWFydUZGRXUyZUxOSEc0K002M2hNR01NakFM
876 T0ZiNDEyOUZRTmtuYnQ2cUtOUkQKa1k5OUlqTmdIamJDbnhuYTN3YVdDTmROSmxuRi9jbFRCczNL
877 R213c0VCYlhERDdGTVJuYWJnVjlIa3VlZWlqVVF6TmxyaUlzTlBCZQpkNFRhZTl2OTFPN2l3WlMx
878 SnFCUUQrMVkyUGxpQjZVeFdqanpLaVpwdkFQYktXdE5RS0VlMnJHd3k0UmYzQ05wVHhBWHd1bHlZ
879 RHR1CmdKcVZ0U2FnVUE5Wkg3dEVGUHEveEpFbEJFMFRCWXdkUkFBeHpjcWJqbmFqbnF3ZUVXVDBx
880 SitXclU3b3BNNkhNSVFoREdFSVF4aEMKZ244Qjh3aEN5UDVGK0g4QUFBQUFTVVZPUks1Q1lJST0K
881 </png>
882 <latex>$$\left[Y_{0},Z_{0}\right] = 2 \mathbf{\imath} X_{0}$$</latex>
883 </output>
884 <output>
885 <output_type>display_data</output_type>
886 <text>⎽⎽⎽
887 -⎑H ,Y ⎀ = -β•²β•± 2 β‹…β…ˆβ‹…βŽ›- X + Z ⎞
888 ⎣ 0 0⎦ ⎝ 0 0⎠</text>
889 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVBRQUFBQWhDQVlBQUFEdTNJWmlBQUFBQkhOQ1NWUUlD
890 QWdJZkFoa2lBQUFDTnRKUkVGVQplSnp0bkh0d1hVVWR4ejlKK3JqVXBKUVVuSlJLTzFJWlVXbEJv
891 STZvMUxZQ0xZSVVLdEtLcjBKQkhNZWlZbm1vS0tnVVI5Q0JzWXlGCmlBVmxtSWpHSWtKNU9DaXhC
892 ZXV6Z0tEVVJ5MzRtTkppa1RvUmlqYkVQNzU3ekxrblo4OXpUMjZTMmMvTW1YdnZ2czd2N081djk3
893 ZS8KM1hQQjQvRjRQQjZQeHpPOGVCWFE3K0R5ZUR3TnBnMjRvOUZDZUR3ZU4xd0l2TDNSUW5nOG52
894 S01CKzVwdEJBZWo4Y05Id0tXTkZvSQpqOGRUbmhiZ1B2UHBHV1dNY1ZUT2E0SHp6ZmMxd0tPT3lt
895 MEVwd0lMemZkUEFQOXVvQ3hWc0JUb0J2b2FMWWpIUGE0VWVocndJbkFUCjhHUWs3aXBnRGxBenYv
896 dUJmeUNIekV2QVhjRCt3RmdUM3dkc0FENWVRSTRMZ0hlSHlub0p1Qis0S0pKdUtYQko2UGZEd0Zu
897 bSs4L04KTTF3TjdNUG9VdWdtNEgzQUtRbHBGcGxyUExBUldBZnNyRjYwUWt3QTdnVGEwYk1CL0Jm
898 NEdQQ1ErWDB2MEJISzh5dmduS0VTTUlaRApnTzh3SUc4ZjBvZGcrMjh5NnI5bkE1dUhYRHJEUXVv
899 VkpNb0VKUGhqcUtORU9RRTkwRnFndWFRc0x3TTJtZkpPdGFScEJ0YWp4bjRkCkE1VWJwaHNOTktP
900 SlJXalFzM0cxdWFZQ2h5SEgyVGEwWDEyR2c0QWpTcGFSeEZHb2YrMEdKa1hpMmszY1ZjQXJLNVFo
901 S3hjaGVhNUUKZFZ3THhaMEU3QVd1VDhoL012SDkxU2xwQ3YwbXBHQmZzTVIveHNTZjVFaWVjMDE1
902 cXkzeHg2S2xRZEk2Y2pRcTlIcWcxUkozREJyZwp3clNqMmZtSkV2YzhFT2pFblRWbzQyN1U1c2RH
903 d3IrQ0JqTFh0QmZNdDRGNEMra29vQmM5UjFLL25JTUdnMHBKVStoTFVHWFB0OFQvCkNJMWErenFT
904 WnorMEJOako0STQwQTdndEpqekthRlBvK2NCbENmR2ZSOHVObVpId2J0UjIwd3Zjc3huTjhrTlJq
905 NmNnT1c4TmhYMEsKTFRHcTRQNENlZG90K2FZRDI5SFN6emJnaHVsRU94V1ZrYWJROXdCNzBKbzB5
906 bmpnQmR5dkYyNUhEUncrUExHdkNZK2FaWEdNSklWdQpCYjRMdkNVaHplMGt6eXFyVUgxOU5oSity
907 UWsvdVlCY1p5UHJheWhvQWY2Ryt0bGt0RTVlV2VIOWVncmttUSs4TFJJMkNmZ3Q4RmRrCnpXUmhF
908 ckNWYlAyNEVFa0szWUxXTmoreHhMOFZkWmhySE12MEx1cEg3REZBRjluWGd5TkZvYWNCbDZQUi9U
909 WkxtdG5BbDFQS2FVVjEKMWhZSnZ3dlY0MEdXZkJPQmk0R3ZSZEkwQVg5aWFPdndjaVRybmNnWFVD
910 VTlEc29ZaTZ6VDNjQ3NuSGsvaXB4L2xaQ2swRWVqU3Q2SwpsQ1I2YlRieHB6bVdxWVlxcWhjNXlx
911 NUY2NCtzcENuMGU5R2FNODlWUlFNRUh2MnprSWQzYWt5YUxyS1AvbUZlRGp5UDNieHNCcjZPCnZN
912 ZzNBdGVGNG1ZajUrUlE4Z3JrVk5wRmVlZHFHajBPeXZnbWFyUGpDK1NkQzJ4eElFTXNTUXA5QVFN
913 T3I5YVlheVBhWHBwY2dWdzMKbVh2L0VGaVdNMithUXRkUVI4NXpUY2dwUXg1cWFQc2o2bmg4RGNs
914 ZTB5UldBLzhFRHJiRW44NUFaM3dVK0dvbzdqTFNyUUxYSEFvOAppOXI4dUlydjFWTXkvK2VRbk1z
915 TDV1OHcrYWVWbENPV0pJVytBNDJhY1l2OXNXaWY5L0VxaEVLemZqLzFNMGRXUm9ySkhlYUx3QTVn
916 ClhDaHNMY1cyblJZZzVaaWRrR1l1TXExZmorbzVuUGJid0ljTDNMY29VMUdiTFRheWRGZDh2NTRT
917 ZVpjaEdWZEZ3dHZJNTN6Y1RjU3IKSC9iMEhvWTZSTlk5cmkya094MmFrS1BtRVdUNlJqa1N6VnEy
918 OVhWWlpwalByb3JLZDRITGVsK0QzcUphQXR5Q09zY1l0SmJOdzZ2UgptbmdCOE11RWREM204NFBB
919 YnlKcE85RHNIb2ZydnJZZnNpYk9RMWJLVnJSVjFRRThuZkVlY2JTaWdTbHVSMlFXZzdmNVFDYjA2
920 V2lYCkpZN2prSmU2QzdnMEVuY3U4QXZncVl6eS9SNjE4Y1lnSUN6bzQyamt5RnJKTDJSSU14TjVW
921 bSt4eEwvWmZHNnd4QitNVExvMnBQUkoKblN1T09VaE9XNzR5NWIrSC9Gc2k5NksxZkJpWDlmNFha
922 Qkd0UUhXK0V1M0Q1bUYvdExZN0RTa3B3QlMwRy9Ga1RQb0p3Sm5BcDgzdgo4YWd6dDZIT0hZZkxa
923 OTRIdUFFZDAzM0doSFVDWDBLZTdpdGk4bVJ0OTE0alo1eENyeU4rR2JjWHV6TFBCTDRIL0F6NVBN
924 Si9EdEdFCkJvS2dmMlNSY1Fkd2dPVmVwYkNaM0I5QlFyL1RrbStkaWUrSWladU9IaUpZYS8rVXda
925 N0FwQTdSaEV6R0J5enhhZVdubWR6alRIeWUKcXhaYmtsdm1vVHA5QjlyS3lrTU5lWWlqcDdxV0FX
926 KzA1UGtBVXJoSlNQR0RXZWMra3JjeVhkQUNmQXM0UEJKK0FGS3FweGpzSE12UwpyN0xRa3pQOWdX
927 akEzVUw4OXVGU3REektJK1B2Z1BlSEE2cjJCTTR6bncvR3hMV2dHZnFQeEp0Rm53UytqMGJKWG5U
928 S2FVVW8vZ3IwClFMYmpmRE9SS1dhYi9kUEtUK00veUx6TGMrM0pVWDVSSGtBellCZURyWUVrbW9D
929 YjBWN3UwV2gyT3dlWjA4dXhlMVNQUk9lbW4wUDcKemplWThLZVJrNm9xT3BERnM1N0JMd005ZzJi
930 Q2FRdytmVmkyM1l2UWlyYi9hdWhjeExPUitPWElvZ3IrUVNhTGpDMW9TYm1qQ29IRApNM1FMMmdP
931 OEZaMys2Z2UrZ1dacmtBS3VSbHNod1lzYTF3RW5Sc3I4TlhCRzZQY1NwTUFCYTVGNUUzM1FCYWhU
932 UFdMS2Z4RHRjVWUzCmJkTEtINGxPc1lEenNBOWtOaTdHL3A5aFNaM21HR1NhcjZMKzdQd0taRnE2
933 WmpIcTRNOFoyWDVNdmRuWmdyenR1eGlRdlJONGc0bFAKYS9lczlPUklHNXkyZXdqdE9GeVBsaldi
934 a0oraEgyMFBCcnNnV1dROEJPbFgzZTVRRmVkcis1QVpGQ2gyd0c3enVSMHBlSlMvUjM1UApvZDZS
935 MWt1OThNdlIxc2laa1h3UG8wWmNFd3JyWjJCOWxiWDhrY3pONVBmeS9nQWQvWXdqenFFWnNBbVo0
936 LzNVcjNYdlJzZEpYYk1KCitIUG9kei8xenJjK3REZStsbnEybWM5R3RQdWx4Sy9sdy9RaXBZWnNN
937 aDZLSEdpN3dvRlZIWmgvTENGdUQ1bzkwOWlKOXFjRGF0Uy8KeWhpY1hvcWFXenZKOXJwZld2a2pt
938 UmV4TzJac1BFSHhsekNlanduYkN2d0JyY2V6dEhkV3Rwc3JpYVQrNTZyZDkrWkltL2NBU0JZWgo1
939 MUovYmgyb2ZnMWRoczNVbjFWdFovQXN2Z2c1REtvcTMxT09DNUY1T1p6Nm1hdDJQeU05U1dIU1pK
940 eUYxdUtkMFl6RHFhS2piRWJPCm1ZQjUxSjlWUGhHdFNmNVZVZm1lOG14QXM5UDVhUW1IRUZmdEhu
941 VnN1U1JKeG1ZMFNLNUVqdGxLV0lqcytSdHg5eUw3Uk9Ud09CNXQKalhSVGZ3SnFZa1hsTDBiUHNZ
942 MlI2eFFiVG94aDRKRExjQ0N0WHcwSGttUmNRWFd2aFA2Zk5xVElSK0R1bldiUWFIUTRGWjFYdFpR
943 LwpoWUZuOFgrazU0WngyTi9XYWdSVjl5c1gyR1NjRVpQVzQvRjRQQjZQeCtQeGVEd2VUMDcrQjl2
944 dE01YzJvTmlJQUFBQUFFbEZUa1N1ClFtQ0MK
945 </png>
946 <latex>$$- \left[H_{0},Y_{0}\right] = - \sqrt{2} \mathbf{\imath} \left(- X_{0} + Z_{0}\right)$$</latex>
947 </output>
948 <output>
949 <output_type>display_data</output_type>
950 <text>-⎑Y ,Z ⎀ = -2β‹…β…ˆβ‹…X
951 ⎣ 0 0⎦ 0</text>
952 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpVQUFBQVpDQVlBQUFBNDBHenNBQUFBQkhOQ1NWUUlD
953 QWdJZkFoa2lBQUFCVmhKUkVGVQphSUh0Mm5lb0hGVVV3T0V2UG1PTXNVWkRGQldOWFZHeFlSUjdR
954 Nk5pdzk1ckZJSmRKUGFLaW9vWUN4S0pMZGl3dHlTSUlyWllzTVVTClMreUN3UzdZRW8weC9uRm1l
955 Zk1tdTdNeisrYkZMTzRQQm5idXpEM243cGt6NTU1Nzd0Q2hROFgwcTBqT3RyZ1J2K0pNZklJRk12
956 ZDgKaTFtWnRxSG9uenIvSG4rMk9JWUZzV3lCKzZiam4wemJpVGdFUzJOai9OTGlHUDRMRmhOMmI3
957 WHZFcG0yR2ZneCtUMVEyQ1ROZC9pcgpSWDJsMkFXams5K0RjUmUrd2h6TXhBTllvMDYvRjVKN1p1
958 QjViTktMTVJ5ZnlKcUZhWGdDNDVMajd1VGFkMWdxUjhZaldMSVhZNWhYCjlNTVplQmtUOFRhdUZD
959 OVdHWTdFSlB3dDdETWRGNld1N3lXQ3dSejhnQ2V4ZGkvR1hZcTBVOVVZbGd6bXc1eCttMkFLVnE1
960 Z0RCUHcKRnRiTXRDOGduT1VQREc4aW8xMmM2anljcjNzMldGVkUxd2tZMElLOEs4V3pPckhPdFR0
961 eGZZdHllMFU5cDRLWHhHQTNxbk50Q0I3RwpvaFhvWHdTZmluQ2RaUXhtWTU4Q2N0ckJxUmJEUjNx
962 bURYQ09zUFh1TGNoY1RhUUViMlhhajhGcExjaXJoRVpPTlVyODBXc3k3UVBFCmxMaGlSZnIzRU5O
963 QmxsTVMvVVVOMHc1T3RibjRUeE15N1RzazdkZTJLUGZwcFA5bXlmbWV1S0pGV1pYUXlLbUdpQnhu
964 dXA2SisxaHMKV3FIK0hjUWJuR1p2RWFGdUtDR25IWnhxR1dIUEJ6UHQyd3VuR0p0cHowYTBSdXli
965 OUw4TlcrRm0xUzNrV3FLUlV4R0o1QnpzbUp5ZgpqZjM2ZUR6RFJRNzFHTHBLOUd2bVZQMUVNbHpt
966 NklzSFUrOC9uU2JzZkVTcWJYK1JMNzBtOHE0OCt1TWJZYmQ3RlhmR3VTaTdXbWlGCnV6QkNMTmxy
967 SzYvNysxRGZLbmdjNytNZ0VhMnE0amlNTE5ublB2RmdxeVQ3bjdwRXFqRVY5eVJ0YTJGNVVlSjVG
968 UWZqa2h5WnMwU1UKR2kxV2xkbnl6enduTDFJTndtL0prUTNOVlROWXJEYS9VS3htbGFVZHByOTZq
969 TVpQV0QvVk5rWXNnb1lLQjJtMlVGbEtSUGJaNG9WcwptWFNrV2srNWVYUUtUaWh3MysvNEFDdmhw
970 RktqSzhjQTRSVExZZ3NSeW10c0xlcG1YL1NoL2pKVWFlc3RjU3Ayd2p1cDlndkZpendLClA0dm8z
971 WWlCNG9VL1NlUyt1MkViUEZkd2ZIMUNYcVFhS0tyazJjU3lTdnFKc1ArWFNGaXpQSVNGQzhocGw1
972 eXF4akF4NVcyUU05NlAKY1ZXT2pDNk0xeDNsZGhPNTJUME5lelJoWHVSVW0yRWhVVEhQNHppeFpU
973 QklPR0Y2T2JzNFZ0QTRMRitPQTBXRitKbk10ZFZGRFdabQpBVDNOT0FiSGxyaWZLSjFjWGJKUEVa
974 YkVIU0labjVwcVAwVjNXV0U3VVlNYUo1N0JtbmczSTJjTWJ0RWQ1U2JoU3pGZERoRmJaL1hvCmpS
975 MExrUmVwemhlZTMraHRJcGF3RTFQbkR3a25xWEcveUF1MnJkTjNaQ0wvb2pyWEJvcDZ6dUVGOWJS
976 TFRyV1FjTmIxTSswcjR1TFUKK2UyWW5QdysxTnc3Q3BlcG4ydlZDcW1Obm1rek8xWkNubE85S09i
977 MjdBWnptZ2YxM0NJWXFXZHg3MmhobkxNeS9VWUlaeHVmYVY5TwpUSU12aTMydDJxWm9NejN0NGxS
978 MzRITThtemsrRXF1OEdnK0lsZWRRRVpGcURCTTUxbE1ONUc4Z25Pb3o5WGM4Y3UyWTk2QjdRNWZZ
979 CmZIeFA3T3Y5TEp6aXdnYjNyeVkyTG10OGkzVlQ1N2VLN1ljWkdSMVhKZmV1ZzFlU1k2cW95NHdY
980 Yis0anVuZmRtK2xwQjdZUXhkNysKNHYra2owRjZUb1dYaWdYU1VUaFhUR2R2aUkzOERjVjBlSHBH
981 L3JHaURQSzFpSWl2Qy91bnliVmpYK1ZVczdGemlmc0hpNkpialpubQpycEFQRndaSjZ5anJFRVgw
982 ek85TUZ2bGxFYWJnZ05UNXIrTFRuanhxWDNia2tXdkh2b3BVWlptbTV5cHBVZkdwUlkwdUVhbGU2
983 bU05CkhZcVJhOGY1eGFuZTFMTll1WUtZejJ2c0x2YndlbHNkYjZhblF6Rnk3VGkvT05Wa2tYVFgy
984 RlhQM2ZaSDVYK1hWWldlRHNYSXRXT1YKbnhQZkpLcm5wMnV0RW51Qm1LY0hpQS9PcnF0b2JFWDBu
985 SXpEeE1wdkkrMzFPZkYveGJ4NlhoMDZkT2pRb1VPSER2OUwvZ1VWSWowVAowdXBoZXdBQUFBQkpS
986 VTVFcmtKZ2dnPT0K
987 </png>
988 <latex>$$- \left[Y_{0},Z_{0}\right] = - 2 \mathbf{\imath} X_{0}$$</latex>
989 </output>
990 <output>
991 <output_type>display_data</output_type>
992 <text>⎽⎽⎽
993 -⎑H ,Z ⎀ = β•²β•± 2 β‹…β…ˆβ‹…Y
994 ⎣ 0 0⎦ 0</text>
995 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUp3QUFBQWhDQVlBQUFBczdNTG1BQUFBQkhOQ1NWUUlD
996 QWdJZkFoa2lBQUFCblJKUkVGVQplSnp0MjMrc0hVVVZ3UEZQWDB0L2hWS3AxWUlvdFZoaVZCUi9v
997 RWFzTkRSUmk1aUlVcW1TR0JUUm9GWUxSR01OYVl5eGl1SnZ3VmdWClVXekVpQllzYWxyalQ2cGlv
998 bExiUUJRMVVyV1JLajlzRUtUYTlMM25IMmV2ZDkrKzNidDc3OXY3N3RYdU45bmN0ek03TTJkbnpz
999 dzUKWjJZZkRRME5EUTBOdzhwOEhJL3hHcTYrTTJzNkdtbm9LNWZoWjVneGFFRWEvditaajI4UFdv
1000 aUdJNGYxZVBtZ2hXZzRNamdLTy95UAptZEtSUVF2UTBET3Z3ZldteWRrZk5wNk16Y2wxNm9CbHFZ
1001 dTEydTgwYk1IVkNMNWorT1FxcFM2QlQ4Uy84UVg4TVpOM0pjN0EzT1IrCkhQZmhKUmpEdDdCWW1B
1002 Z1l4VTVjV29OY1orTjlxZnREK0h2cWZrblMzaXI4STFQMkovZ3RQaVg2NlhBTjh0VEZ1YmhadVV5
1003 TGNRbWUKZ2p2eFhmeWd5N1pXWVpNSVVJanh1MGVNMzJqcXVaTnhnN2FKZnhndnhvTmR0bGVKMWRq
1004 UUlYOStJdHp0bUpPVC95THhJdGVxMTh4ZgpqMy9pemFKRDBoTnNROUxteFNWMTdOQ2VMTVBDZHN3
1005 cmVXWTVmb2lYNGhoaGdnL2h2VDIwTjRKUGlQNzZlSWZuM29rLzRFek03cUdkCnlwUXAzT2xDMktL
1006 WDNaamtuMTJqVExPd0QwL0t5WHVWV0YydnJGRFBzQ25jYXJ5cnduUGJSYituYWZYejJoN2FQVGtw
1007 ZTN0Qi9oTGMKaEVVOTFOMDFaUXJYV2sxV0ZlUi9YNnlBQzJ1VWFhWDgyZmdDL012RTViOFR3Nlp3
1008 TjRzVnF4TnpoSXZ3bmt6NktXSWN2dGhqMno5UAp5ajh0a3o0WFczRkNqL1YyVFpuQ2JSZURuR2NH
1009 NXVBZ2R0VXMwOFY0WENidGliZ2ZQMVZkaWFaVDRjNFNFNkdJNStQOUZlcFpJUHIwCllSTmRtRWNJ
1010 aGZsbGovS3RUOHBuTGNNMWVGYVBkZlpFSjRXYmlRZHdTMEgrU3ZFU0grdURYR2tlTGZ5TDN3dG51
1011 aXJUcFhBWGlZRWMKRjFGL0hsOFQ3MUdGWitONW1iVFRrdm8vbi9QOFNoR1J2NjVEbmNlSlFHV2Z0
1012 blhZaUZkVWxHbGF3dXBuQ0JQd1dIdzlKLytrNUhkbgpIMldZSjB6UlFqRUk5OVZZOTBWWTAyV1pt
1013 L0NaVE5wMXdxMVlnM1VpMEVsekt2YUxDTEVLdjhoSmU3VlF1T3N5Nld2RnBOcUV2V0tTCjdjOHAv
1014 MWNSNWI1UUtPZ1NFWWpjV0ZHbTJ1aTB3bDJtSFJBY25YUDlXRGp3ait5VGJDT2lRdzRLazlRdFpT
1015 dmNQREh6dTdrNlJaaHYKeDBNbSs3TmJzTFI3OGYvTDBxVGVUMmJTWjRpVmpUZ21HOFdqT3RSemdS
1016 alBuZmowRk9TWkVwMFVicHRZaG8vT3lUdEtiRnZjMFNlNQppTUJoRE9kbDBrOVU3bnd6L1VIRHNh
1017 SlBMa21sTFpkdkJxc3lTN2cwVzB6ZWRscWc3WDl0VS80eHdMRkM0WGJwWWVzamJWSlB3UldxCm44
1018 M2RLV1pqSjJaZ0JYYUwyWlhsbVdLUHJzaS9teXJyazJ1RHljNzR1NVhMUHdnTzRNdDRpL2JlMXp2
1019 dzRTblVlUlh1RXVaL0xKUDMKSUc3RFk0UVZlbVZKWFU5SWZyY0tjOW9WYVlXN0E2OVZYZUVPVm5q
1020 bXFXSmZaa3RCZnN2RUZmbHZKd2wvWVlGUXlqeS9wSWh6OEZGOApGaC9NNUMwV0h5MGVxS0dkdW55
1021 NE5GZmhEU0pxM1NOVzR0OTAyVWFMUzhXWVhxaDk3bm82YnMwOGR5SHV4VGVGNVRrcy81ejJqT1Mz
1022 CkgyTldtU0tUdWs0SWZXNUJ1UnVUL09OeThwWUtZVnUrM3EwbTcvOFVUWTduaUMyQjdmSURvdy9n
1023 YlJYYktUT3BzNFVDZDNQbG5iWmsKdVNXUi95TWl1dXlGYzRSaVovdHBjODZ6ZTBXL0VKYXVhRS8w
1024 RzJLeHlYdUhLbU5XQzBVS3QxVW8xSktjdkpuNEczNVhVT2RtWEo2Ngp2eHlmUzkxdkVyTitXYWJj
1025 c3FUZTNXS1dwUmtScG1rY2o2L1l6cUEyZnRjSTg3ZXR4L0tuQ2JmbmpXSVZibDBiVE40UVh5VDZa
1026 RVh5Cjk4YUNPa2RFaEYva0FwWDFaVzJrRlc0bVBpVDhrRkh0Zlo5MVNmNHlZVEsrcDMyUWY3VXdI
1027 Mmx1TTlIUlg0dGZwKzZ2RmN2K1cxTnAKczRRU2pvdHRrTmJYSGwvQnI0UXpQaTZVc1dvN2cxSzQx
1028 dEZjMGVsTUp4YUtiWTJpLzExNFUwNlpHMFNmWG1IeThkUnlNV1k3a3ZKMwpKZmNyTXMrVjlXVmY5
1029 dUZHOFNWdHhXdnhRUEs3WDM3RTlaZk0vZkVtQmhvUG1iaDE4bnJoK0orZlNoc1Q1NlJsZnVpOVhi
1030 UXpLQTdqCnViaTdoN0tIeEo1YkVYbTdBdWVKOTc0L0orOXU3VEZMVzdJL1paNHI3Y3QrYmZ3V0hm
1031 QVNSMXk3TytTM3VNZkVpR3F1V0tGYWpJdWoKcXoycHRMSE1mUlhLMmhra3ZTZ2I0V1A5cUlkeWVj
1032 cEcrTU4xak5sUWYvRzdTNXo5dFZoazhpcjRNcE9qclg2MDAxQ04wcjRjZG9WTApSMmRuNHF1cCs3
1033 UEVJWHoydzhtNjIybW96clQxNVdyeDZjbzFlSHBOZFI2amZXNTNnVGlIblozSjcyYzc1NHYzMldl
1034 NFBrOGFac3JHCnJMYi8rRm1ndlFPOVZ6dEFtQ29qWXZQNEFQNWNVNTFWMnpsQisweHhqeVAwbjFW
1035 NllMckdyS0dob2FHaG9hR2hZWnI0RDB0Y2p3bmcKNUcraEFBQUFBRWxGVGtTdVFtQ0MK
1036 </png>
1037 <latex>$$- \left[H_{0},Z_{0}\right] = \sqrt{2} \mathbf{\imath} Y_{0}$$</latex>
1038 </output>
1039 <output>
1040 <output_type>display_data</output_type>
1041 <text>⎽⎽⎽
1042 ⎑H ,Y ⎀ = β•²β•± 2 β‹…β…ˆβ‹…βŽ›- X + Z ⎞
1043 ⎣ 0 0⎦ ⎝ 0 0⎠</text>
1044 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5RQUFBQWhDQVlBQUFDaGdZV3lBQUFBQkhOQ1NWUUlD
1045 QWdJZkFoa2lBQUFDTUpKUkVGVQplSnp0bkgyUVZsVWR4ei9zQ2d1WTRtSUVTcVJydUNFcWtUT09o
1046 YVpZQ3I2VVpwcGw2RXdDRldWYXBqTTFrK1FMVGVFTW1KbkpvaWpZCmkrLzVWb0U2Nmx3TnRJWUph
1047 OGhFSzBkS0p6Rm8wMFJaZGZmcGorOTVlTzV6bnZ0eTd0MzdQSGRIejJmbXp0MDk1OXh6Zm52UDc1
1048 enoKTzcvZnVRc2VqOGZqOFhnOFVVd0dLZ1ZjSHM4N251SEFmV1VMNFNtT3RySUZlSWR6Sm5CVDJV
1049 SjRQRzhIMnREcXRFdlpnbmlLdzY5UQo1ZkZwNEZmQVcyVUw0dkc4SFZnTmpDcGJDRSt4Mk9iR040
1050 RnU0RVhna3BaTFV5dzk1cjRXK0htWmdrUXdHL2d0OEhyWmduaUtaWmoxCmV3QjhBOWdCYkFxbGR3
1051 UFhBcnRUTXhQN2dPdUFGY0JwNXJsZFEzVnVOMm5ySFdYWkRiZ1gyQ05VeHc3Z3E4QUdxK3dhWUMv
1052 ejh3QncKSWZDd1ZXWTZNQWs0R1pqdktFT3J1QWM0QzNnbEp2OVk0RFBBR0RRaDNBVTgzeHJSTWpN
1053 TStBMHdnWnB1OUFNTDBTb01jRE53UU9pWgp2eUdkS1l2M0lCMXFONzhQQUZ2TkhhQVQ2RUFMaksx
1054 WG1RaFM4aTlHTVk5NU1ma1BHNkdtRGtLRzJhYU5aMmdjOEZVT1JMUDdBdlRICnh6RVpEZmloeEF6
1055 Zyt3bjUzMGFyYXhlYXlHNUZGc01IQjludXU0R1BETEtPSkxwUm43d0o3RzNsZGFBSnRnZlluL2gr
1056 YlJWemtZNWQKamQ3cjZGRGVFV2dpdjQxNE9ZL0gwWmtVcE9UZml6YlJ1MGZrdFFNdkF4dGRHa3Bo
1057 RXhxWSswYmtEUU5XQWg5MnFHY29EcWpiMFF3Wgp4UlRnY2VxZFJhT0JaNEV0NUhjaWRRTFgwL3c5
1058 MjArUm9wNWlwUzhFdnRDRTlzYm1mTzR1Tktoc3V0Rkt0UTRZbWZEOHdjQlBvakt5CmRGQWJHcjBi
1059 aURaVkRrRUQ3WkVNZGNaeEV4bzRuNC9JdXdTNEcvaGRBZTIwbW1uQXY0Q1hZdkpuSWJQNXNGRGFh
1060 OEFEYUJBZWtyUGQKbGNDbE5IL1BWdDIzTGdpbGZSbjRIN0NxQ2UzZGx1T1pEbVNlcnJUU3h5RVR0
1061 UmR0RTNZazFMRVJqWUdMN0l3c0ErcGdOTk1GTWZsSAptL3VqR2VxTW94cnNuR09sejBHZGMwOEJi
1062 UlJOQjlwVGZpcWh6SVhBMG9UOGR2U2V6N0RTcS91bmczTElkUkt3R2ZoSGptZXo4aGp3Clo3UUgz
1063 QStGQnZZQnJteFNlM2xpZUZOUkg0U1BhNDJpdG44L0FhMVNhVnlHQXZPVGtnb0ZDWG5uR2lHT2o4
1064 bGZZL0luT0Fqand1OU4KZlI4eXY4OGdacGxOb0ZVbTN6aGdFWnBNSGtxUTVmcVVla2FpemJwdHlx
1065 eWkvbDNZakFMT1J5dEV0NVgzQkZMdVZ2RTFKT3NhWURuTgozUzhGQmRUUkJ2d1NyVWlIWjN4MkR2
1066 QzlwQUpCUXQ0ZDZFV3ROai9iMTNiZzZZd0NKWEdlYVc4SjJrdmRpczYrWlNGdFFMVWhlL3ErCkRO
1067 ZHFZS0pWVDd1cDY1Tkc1Z01qMnVxaDN0UGx5cTdBTnVBUDFMeFNOdGVnZDdRWXVDV1UzZ1g4TlVl
1068 YmcyRU0wb1VkU1BabUVoUlEKeHhWb3YzNTZqbWNQUWlaOHJGNEdDUTl2UVozNnJvanJhS1JJMStZ
1069 UUtvN3h5QUh5QW5BbitUYWdMaXZVbm1oVmRiM0dKOVRWaGh3SQp5NnowdlpIck9BOFhJd1dkSHBN
1070 L2s1cUorQkQxWndQUG9UbDdseVFtb1Q2ckFKOXJjbHZCSUordldsM2Z5dmw4QndvUnhPNXRnNWow
1071 CkEwekRjYmJ3QlNiL3pKeUN4YkVPZUlOR004YVZNcng4RndDdm9wbTZ5bExnMEJ4MUhZWThweDlQ
1072 S0hNNG1pSDNRWjBiTnNtdkJyNmIKbzkyOGpFV1QzeXlrRDBHVDJ4dE0vU2VoOTdYY1N1OGdtNzc5
1073 blpCWDAzVlRkNlM1cjQzSlA4TGNpL0R3aFhrL1doV2ZLYmplWm5JRAoyckRPQlg2SWxHdy8zQVBj
1074 VmQ0TC9BeDFWbEp3Y1oyNXowY3J3LzJodkFuRW0rRS9RdS9YaFFweXFDU1o5S09SY3A2UG5DRHJn
1075 YU5RCktHQlR3bk5wVlBjNFVTNy9hVVIvL2pLQUF1ZmJZdW84RkZrTUQ2QlZQTXhua1FmUFZlZWVS
1076 cE1aNEQ2Z2pqTDN1QUUxQTNnTytHY28KYlJmZ09LUVl3NUdpYlhkc0R6UkxqQWR1VENnejJEYVNP
1077 aXVPQ2pYbGphSVhIWFU2QnludGVjQ1BNOVFQT2pWeU00cmRQR2JTT3RINwppRkxPZHVCc3RCb1Bv
1078 Rm0yejlUelprd2IzeUU1MWhLbVFyeHlndnBoT1hMTmJ6WnBQVWh4RjZBVE0zWjUxMzRiUUFjSlJr
1079 VGszVWwwCmZHc2dRZDR1NE5kb2IzazZqWWVUNXlKUG42dU1XNUJUS3BJZ0p2MTU0amUzM2VpRnI3
1080 TFNyNkFXanpnRi9mRmgwcncvODAyOUp5YVUKU1d2RHhlUWJnMDRSdUY1N3B0UUhjbjFYMEd5M09x
1081 V3NUVHVLcjN6VVN2K0V1YUk0RVprdjcwT0RhTEZKL3dWeTZqU2JaVFRLT3hwTgpMcjAwVGxocC9l
1082 WktrTEY4Si9BVW12aHR4eExBTWNoOUR1NHlQb3FPS0RrTHVEOVNEanNRVnVXTEpqOGNlUjRIL0Jk
1083 MUxraEp0Z0lmCk1MK1BSWEdSSDhRSmdxTHUvZFR2UmNLa3RRSGxucFFJMEY3cTVJelBYWU5NdmZt
1084 aDYwdklEVDA1NXBtRndCL056K2RTYzVNdlJiTngKcytoRWltYWJUVld1UXJweGRpak5wZDljQ1RL
1085 VUhXSEt2NEpNUlp2VFVPQjdYa1ladDlBWUw0MFVjQ1phdHYrRVhzcVR5SVNwbnRPYgpoK0lxTDVy
1086 OEIxRUhqa0plUHp1UXVKN2FvSnRvaEgrWmVyTnpHSEE1VXFqcXViQmxTS0ZzMHRxQWNnZlVxU2pJ
1087 bVNVT000LzQveG5SClI3emJmQ3FhZVJkUjd4ZzZBeDFFTFpwWktMaSsxY2oyT0kzSHhCWWpsM0lG
1088 clZJcmdJL2gxbSt1QkJuSzloaFpOcGlmZTlBaXNaYmEKMzlHUFRxUzR5dGhwbnRzNTBTWHRvVGFp
1089 VWRwanBUOW43ZzhpaDBGNGY5Q1BCc0plYUhZTzh5bzFjK2tGNUVyK0NwbzVxblpzQmExTQp3Nmsv
1090 VWRBYklWOWFHMlZ6Titxc0xQOUE1UkZxSjA1cyt0RDdqZUl2NkpEbkNPcmZ5ZjNJRkIrQnZLVkY4
1091 UVJ5NTFlcG9NRVQ1a2JxClkySWdVMnMyNWZUYkVocDEyZVoxZEN6c0dOeGtuSUltckoyVFZ0S0Ey
1092 a2J5Um5RenRRMm96VXZVanNKWEdVbjlwcTdYcEwxbWxYc3kKb2Myc2JaUkpQeklIc2xEWE9SbDVn
1093 OFpCOHg4MDhSMXA3a1h4YjNNbDhWUk1lcEg5bHVWcjV5enYxVlhHbVdpZnVwTm0vVCtERGVoYwpW
1094 Sml4MUh2R3VtaWNCWXB1dzZQUFFXNUJ3Y2Ura21XQll2c3R6K2tHRjF4azNCZjVEeEkvcXdrS0ZP
1095 cFphdC9GVEVTamZyZFEvcFZFCnUwS0xiR01vZnI1UkJrdElPWFBXWXRMNmJTaVFKdU1hSEE0eUJF
1096 Z0JGeFVnMEtrb2xqSU5PUy9Pc3ZLanZxa3FzbzBWeVAzc0I1UWMKSXozSW5UOFVTTk9Ob1VDU2pI
1097 T0FyN3RVTWhtZEdadFNrRkI3b0s5RXN4NXFMYUtONmRRK2cvY29pTjFWdGhBaFdxRWJneVZPUnRj
1098 VApKaDZQeCtQeGVEd2VqOGZqU2VEL004TWJMbnFHbE9jQUFBQUFTVVZPUks1Q1lJST0K
1099 </png>
1100 <latex>$$\left[H_{0},Y_{0}\right] = \sqrt{2} \mathbf{\imath} \left(- X_{0} + Z_{0}\right)$$</latex>
1101 </output>
1102 <output>
1103 <output_type>display_data</output_type>
1104 <text>⎽⎽⎽
1105 ⎑H ,Z ⎀ = -β•²β•± 2 β‹…β…ˆβ‹…Y
1106 ⎣ 0 0⎦ 0</text>
1107 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUp3QUFBQWhDQVlBQUFBczdNTG1BQUFBQkhOQ1NWUUlD
1108 QWdJZkFoa2lBQUFCbjFKUkVGVQplSnp0MjN1c0hVVWR3UEZQTDdjOHFyYTBVbmtaZ1ZEcXF5aEdq
1109 TEUyWUVtTUZJMEJxUkFTRVMyUGlrcFVsSUF4alJwUmpGR2pGa090CjhvcnhoWllLUm9wSzhCU0pK
1110 QkNKQ1BpMlVNcWpGTEVnV0pXMDFEOSt1NTY5ZTNiUDJUMzMzSHQ3eW42VHplNloyZm45Wm5kK00v
1111 UDcKemM2aG9hR2hvYUZoVjJVR0RzVE9BUndUenVoa0tHbVlVTTdIYlpnMjFSVnAyUDJaZ1o5T2RT
1112 VWFuanQ4Q0NkTmRTVWFuaHRNeDQyRwpiQ29kbWVvS05QVE42Zml1U1hMMko0cnpzUXFmbXVKNkRJ
1113 cFI4VHlyY09vVTEyV1FqT0JuaGpEb3kxZjQ3Zmd3L3BOTG40L1ZtS2s5Ckt2NFgzOFMzc0RRcDl6
1114 enRJZjVmU2RvZDQ2amZEL0RTek8rdGlWN0NZWjZKSCtIaWt2STdoTEVkanNXSnZOMkJrM0U5dHZl
1115 NGJ6L1IKQnEvRUgvRUwzRnhUMTNIaS9jNUlmdS9FRnB3ZzNtL0tFYmhHdS8yMzRTMTRxcHZ3Vmcv
1116 bG4wd1VubG1TZnpPZXhTdDZ5S25Dd1ltdQpXN0VJTDh6a3pjR2ZzQUV2cWlCckFTNGRRSjEyRmRa
1117 aG54NzN6TU12OFRiUk1VL0hNL2hNSC9wRzhGWFJIbC9wY3QrRitKdm8zSHRXCkVkenFrWi8ycXBr
1118 RmVYdmdTZHhkUlZFRmxnc2ZaWTljK2w3NEZmNkJsMVdVdFRzWjNQSDRlSVg3MW1GaExtMkZNSnAr
1119 M0lzamtySmwKN2JzLzFvckJvREt0TG5ram9wRnZMOGwvWFZLaFFUWHNXaHlhUzV1Rzc0dHA5Wmdh
1120 c25Zbmc3dGVjWWZQc2hmK2lVL24waGVJTnJxcQpUOTIzSitWZmxVdmZHMnZFck5TVk9sSHFrWml0
1121 M0NnWEorZGJhc2pzeHU5eGZ5N3Q4NkozTGh1Z25sMkpKY0lQS3VPTnVFY1lVemYyCkZNc21Gd2pq
1122 UzNrd09TL29zMzdmU2M3dnlxVmZpcy9ob2JvQ1cxM3l6aFBXdmFRa2YxMlNmMEJkcFJWWm5zai9S
1123 QjlsaDJHRU93dGYKRU05WTVnUC9VRFdmbFpoeDNwQkxPenFSZjNuQi9jZUtBT3U5WFdRZUlGeXFU
1124 ZHJCd1FxOG8yS2Rhb1hWeHlibjh4UUhEY2ZnejloYwpRMlpWbHVEcjRrVjlkZ0xrVHhkVFFpVkhO
1125 K0ZadkVkRWJJUGdhaEgxTGNVSDhmNWMvcXZ4U0ExOVJhc0Rwd21EdXpxWGZxcVlGaS9HCmZXSkIr
1126 WkdDOHB0RllQaG1ZUS83aTBEazJvcDE2cURWSmU5Ui9BYlBMemdXaXdkWjNhL2lMcnhHaE5ZLzEv
1127 KzZVNVVSYmovUmc2c2UKVlVlYXVud01UMk5XTHYzYk9HUWNjZzlKNUg0dGx6NU5qR3pFWjdJZG1O
1128 dEZ6aG1pclcvQlplT29EOG9ON3VXNmg4UWZUZkx6Yy90NAplUWtleHU5ME9zcEgxcEF6REZOcXlt
1129 enROY3lVZVlxbndhcU1ZcjB3MnJ6Zi9nSzhOcm0rVHUvTkFMTkZXOStwM296dy80cFVJWTBJCmJ5
1130 M0pYNVNjMTlldFFCZG1pWWZmaWJjYTZ5Z2ZoSFBFOUw0cmNRcmVYZVArYTNGRkxtMnJjTTQvb0wz
1131 MmRRRytPSTU2clJScmxtY0oKVnlETFUyTG1Pa2k4NTNmMmtIVjRjbDRqcHROYVZEVzQxSDhyTTdp
1132 RklxTGNsSk45UEY0c2ZLUXJSTSt0UXVwVEhTcU1mVk11ZnpsdQpHSkN1ckw2NlB0d1plQ3lUdGxh
1133 OWxmeXlWZmlWT0Z2NHJuZUowZjBQTmVSbStZaVlOcGRwZjNkZGlGL243bHNtbnVVbjRuMXNWL3lk
1134 Ck5oMThpbFlKYXJkRHF5VDlRZnlsSkcrKzRyV2RMK045eWZWSk9oM0xicnNjcmhJUGZFSkIzbHdS
1135 bkdURC9WNjZxa3lwK3dvL3J1cFIKYTRHekQ5YUx5UDlMSXJyc2h4UHhEWjN2ZWxYQnZmZUpaU2U0
1136 UktjUG1mSmovTnZZOTUvU3F4MDZhQldrcFN2TVY1YVVPVHZKWDVaSgptNHNuaEg5QWZDMzR1L1oz
1137 MFRsNFFEeFludlR6MmJrRmVmUHhWN0U4VUZVWHcrWERwU3dWbytoMWZaWS9XbncvUFVkTXBlbHhr
1138 VTVmCmZJNTQ1NHVTNnhVbE1rZkV1eTF5bmFxMFF3ZXR6UFdiUkUrNEs2bk12Y0tuU05lSXpoU083
1139 T1lrL3liUkcvY1JVZXNET2RsM2FCdmwKd2FLWFBHbnN0SDVpSXVzeDdWMGVxOFhPaUkyaUFmTEJT
1140 UzlkREtmQmpRcFg0cmcreXM0U3l4cGwvMTBvNnN6WGlDbndFcDJqOXp3eAp6ZCtZbE4rUS9GNlV1
1141 YWRLTzNUMTRlNFdGcHNmZnU5UHpqY0paM05sSm0rSE1LUURSUWllNVdudEQvQVBDU2YxWE9FM3Bi
1142 c2ViaFBMCklMMjROM1BkUzlld3NoMnZGMUY2WFo0UmEyNWwzRk9RZG9wNFo0OFg1RDJzSFNWZmxF
1143 bmZtTG11MUE3ZERPN3hFdVZaWlJ0TDhyYm8KakliMk50YUIzSnFrYmN1a1Bab2NkYWlpYTFqcHg5
1144 aUlUdC9xbzF4WmUyL0RiM3VVcmRRT0U3WGo5MDdoaEdlWlkreTN0c04wOW9pSgowdFV3OGZUVkRx
1145 MEJWbUNEbURZSm4yMkx0a05KT0s2MUZ3NzcxRFdNUHR3dzBxc2RPbWlKSGJ6OWJOTExjeksrSjdh
1146 eVhDNDJBR2JwCnRjVm1FTHBHeGZPczBSamNaTkNyelR1WWg2TlUzOWpZaTMzRmpvWHBBNUpYVjlj
1147 MDhUeEhxYkJYcTJFZ1RHYWJOelEwTkRRME5EUTAKVEFML0ExWVBpV1VGdktGZkFBQUFBRWxGVGtT
1148 dVFtQ0MK
1149 </png>
1150 <latex>$$\left[H_{0},Z_{0}\right] = - \sqrt{2} \mathbf{\imath} Y_{0}$$</latex>
1151 </output>
1152 </outputs>
1153 </codecell>
1154 <codecell>
1155 <input>c = H(0)*X(1)*H(0)**2*CNOT(0,1)*X(1)**3*X(0)*Z(1)**2; c
1156 </input>
1157 <language>python</language>
1158 <prompt_number>15</prompt_number>
1159 <collapsed>0</collapsed>
1160 <outputs>
1161 <output>
1162 <output_type>pyout</output_type>
1163 <text>2
1164 H β‹…X β‹…βŽ›H ⎞ β‹…CNOT β‹…X β‹…X
1165 0 1 ⎝ 0⎠ 0,1 1 0</text>
1166 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU53QUFBQWdDQVlBQUFCNUNoYmpBQUFBQkhOQ1NWUUlD
1167 QWdJZkFoa2lBQUFDSkJKUkVGVQplSnp0bkhtUUY4VVZ4ei91SW5JWVFCYU1vR0tpQzBKaWhJWFNF
1168 ckZRWTd4S1RGbEd3QWdxNGhXRHBlS1JTa0ppZ29tbHBkRVlMdU1kClJDR0pCRFZHU1dsSnFyeVBh
1169 SUpKTVBGRVZFb1RGVmNSWFR3MmYzeDczUG4xcjJlbVoyZm05MXZYK1ZSTnNkT3Y1M1cvbWI3ZTYv
1170 NEIKSlNVbEpkMkFyWUFSUUk5NlY2U2s2OUJZN3dwMFV3NERqZ1Q2QVF1QlhzRGpkYTFSU1VrM1pV
1171 dmdEdk12d0hDZ0hXaXBXNDFLU3JveApBNEVQZ1BHaHRJM0FxZldwVGtsWElzcS9XQVo4d1VwYkM1
1172 d083QVFzQUxhdzVIY0FWeVdVTndVNHprcjdIM0NDK1h0LzRCeExmam13CktrR3ZMMFhaRmVZdG9E
1173 L1FadTZiZ2Q3QXd5bnJ1aFdhRmNjRDQ0QTNnU1hBWDRFR1lCWXczK1NkQ2h3YmVuWWhzTkxTZHla
1174 d1lPaisKWS9ROTJxeDhZNENEZ1dGQVQrQWZ3QXJnRmF0dVM4Mi92c3dDWGtxUlA0bWkyMUpOMjJv
1175 djRDQzBGRm9KN0VEbHk5MGFtR3ZrRndKZgp4TThmYkFDR29BL1lEbHhuZElYbGx3RWIwSXd3Z3Vv
1176 TzRNUEVpUFE4N1lvcXcyWTU4SDNQdkFFemdYWEFiNERwd0ZCZ0xMQUltSTBHCmdHdEQrUnVBQVdo
1177 dzJBdzg0TkRaQzVpRU90aDBaRnVZNGNCZHFDUHRqVHBiRTNBeWFtalRRbm1QQVA0TEhBK01Rc3Zu
1178 d2NCSHdMOU4KWFhvQTI2Q0crd213WFFyN2ZTaTZMZFdxclg3S2lhYWdZeUxrUzQzOHk1M1EzV0tl
1179 dmM5S0h3amNCbnlwRXpvRHpnWU9pSkhuWmRmeAo1b3JqUERTeSt6SUV1Qk4xdHE5RzVMblYxTzlv
1180 SzcwQitKMjUyb0hkSGM4T1FyT2Z6YzVvOXBrUlVlWXMxSmxHbS9zYnFmWkpKNWh5CkwzRThuM1oy
1181 VDBPUmJha1crajlsc1Nsb2FJUjhQZkJ5QnYyUEdmMmp6SDBmNEE5b2FkZFpqZ2ErbDVBblQ3ditE
1182 SHdqUWpZTlJTdEIKTThBK0NicTJCcDRGL2dsc0g1UHZFRFJqYkd1bHR3QnpnUDJRZlZjNm5qMFMr
1183 SmFWTmd3dHEzOGNVMlp2MU9IdVJEUGxieDE1Zm1ESwpuZVNRTFl2Um5RZEZ0S1ZhNmdmMEVmNFRJ
1184 ZHZWVk9DbURQcG5HaDIvUXN1UG0zR1B5cjcwUnY1TmtsK3hsdnpzYWdhZW85b1hub3lXCnBKUE1k
1185 UzdxS0hIY1lNb2VsNUJ2ZTJDMUkvMU1PanIxR3VCZHF2M1ZLOURTTDJBSTZ1UVBvQmt5ampWb2FY
1186 a2c4RTJIZkNYeUN3YzQKWkZjazZNNUszbTJwMXZvWlpncjRkWVQ4TzBaK1NvWXkrZ0J2b3pYdzlj
1187 QytHWFNCbHBJL1NjaFRoRjJYb3Bram9BbDRFSFgrOEJVMQpvd0ljWmNxOTFhTzhiWUVmT3RKdlFu
1188 NFh3QmxHMzJsV25xWFcvVEtUN3dpUGNsODNlZnM2WkkxQUsvQTNEejFGa0hkYnFyVitqa1V2CmR4
1189 VWFuZXhydFpIdm1yR2NCVWJQQlJuMUFEd0U3SkdRcHdpN3BnTDNwSzJzeGQybTNERVpkUHcrOVBj
1190 QTREM2dLU3R0VWVoK1IrQkQKRlB6WWtuZ0dtdm85SHlFZlI4Y01VQy95YkVzMTEzK05VVDRCR09t
1191 NE5nQ3Y1VkRPSEZQT0l4bjFOQUh2a0h5TXFnaTd4aUNmcWxmSwo1d0lhVWQwM2RQSjVrRzh4MTBx
1192 N2xnNWJBUTZuTXRKNG1wRXY4ZEIvQVBGTDdkbEdidnVIdFNTdnRsUVgvYzhBTDBiSW1rM0J0MlFz
1193 Cll6SndQb3IrWkIzZEo2TDlvaVNLc0tzUDZuQWpVajRYTU5hVTZ3cmwrM0lxMVpIWllOWUpPc21s
1194 YUZZTCtLV1IvOVJELzNLVDk2UUkKK1cxR1BqaENYalI1dHFXYTY5L09LTDB4UWo3RHlFL1BVTWJY
1195 Z1hubTcyT012alNieXpaVGdQc1Q4aFJwMXpvcU41WFRFSVNkci9QSQpPeFk1OERZM29JNXY4eWc2
1196 OVRJSWJSZUVtV2ZLUFRHaHpHWVVESGtVOTU3a0ZzQWJLS2hTRC9KdVM3WFd6MVRpQXdmQlVzV08w
1197 dXlJCkd1M0pWRytxaG1sQm9mbmc0L1ZFMFM5WFZNMkZIUWpBMURYSmp5clNyb2VvUE9tUmhnYmtr
1198 Ti9ya1hjQmJuL0w3a3dCTTVCTlA2TnkKb3h3NjNzZDg0bGtDYkNMYXI5Mk4rRUJVZ0cvN0NPUDYx
1199 bUdLYUV0WjlhZTJjeUY2Z1YrSmtEK05qaG1GZDlYM1JtSGhQc2dYZWh5ZApsTGZaQlRuM3RyOXpD
1200 ZTZvV3BpejBFaSswU0U3aW1pSFBxQkl1OWJqM24veVpUbjZpSzRJWU1CTXFqZTdRUnYwRjBjODB4
1201 c2ROZHRNCjljdzRCQVZOWG9ncGM2NTVObTZELzd2RUh5UUEvL2NZRVBldEE0cHFTMW4wcDdVVDBN
1202 YXIzZkFDQmlGLzVYWXIvUjYwemcxWWdVTHMKWVNhZ1pZbHJuMllYbzllMXZ4VFFGNDJtcnBlMEQx
1203 cjJ4TzNCRldWWFAvUUJraUtrY1d5RFBzNHFxcGVHamNqUG1veWJINkVCSjRyTApUZjJhSGJKdm8v
1204 ZG1iOTQzb3IzRDU0RTlZM1JEeDhtV0hXTHkrTHpITUhIZkdvcHRTMW4wZTl2WmhFNW9CRkc4TjlE
1205 SmdmMk1mSGNVCnBRbkMxMCtnWTB2RGpYd1RsVWVSZm83MmVCclJudEh0NktSQ0s5V2o5R2pnYW1O
1206 RU85cFVQTU5WU2FKZlVuODBXdTlXSTd2QzdJSDgKcExqWnlZZithSi9zU1JUb21JTkc0Y1c0ajNs
1207 TlFjdTlEOUgrMSt3SXZTT29QSGhzTXcxMTlsK2dwZENWcU9GY1p1cms0amhUM2p6MAozVDRCTGtJ
1208 engvNk8vRDd2MGNiKzFrVzNwVHowSjlvWmhOSGJrTk83aHNwUlBnaVJ0NklldlpvT0J4TGtld3hB
1209 UzVkdzVUZWlXYU1kCitEdmFEN3JHeU5aYlJyd04vTkZjQWZZSjlpUmEwWG05a1dnbUMrc3B3cTR3
1210 STFIMDZyMlVkYlpwcFdOWk5nb3RaVmFqait0aUxSMW4KSndIZWo4ajNEUEVCblp2TjFXVEtYWUcy
1211 S2VKNEdTMVZuMFdEVlpqWHJYdmY5NWhFMFcwcHEzNHZPM3VFQkgrS3FjeExSUCswb2ljYQpaVCsy
1212 MHRwUVk3a3JSbStTN2pUY2d0YlF5ME5wUmRrVlpqelJRWXZPOHJSSG5zZHkxdmNtL2xzVGYwbFI5
1213 aWI4M21NU1JiZWxyUHE5CjdFdzZQK2ZEWnVCZlZFWnQrZ092NXFBN0RWY0JoeElkRkVtTGoxMHRh
1214 QTl3Y1U1bGRrZTZTdnNvR2k4NzgraHdJTDlqZE9oK0l2RXoKU3hGc1J2N2ExZFRHcmtiVXljOUZh
1215 LzZTYUpMYVI5TFJzczhLTmVzSFgwTVJ0bUhvTk1LS0Fzb1lpbjV0MjRhV2NRTWo4cDFFdXQrZwp4
1216 UkZuMXpray94NnVSTVM5eDBPUTM5Y1VTdlA5MXAybEtQMkovU0RUTDFRdEJnTjdJWC9odVJ6MUJr
1217 eW5jazlrSGRVT2U4QllOTnJrClFaUmRlWmJ4ZVNEcVBmWkYyeE5yMEFFQ1NQZXRPME9SK292dUJ5
1218 VWxtVG1jL0dleExrbGV2azVKU1dkcFFQL0Z3MXYxcmtoSnllZUIKZmxUNmJ5VWxKU1VsSlNVbEpT
1219 VWxKU1VsWFlML0EvS2RxeUFhY1o1bUFBQUFBRWxGVGtTdVFtQ0MK
1220 </png>
1221 <latex>$$H_{0} X_{1} \left(H_{0}\right)^{2} CNOT_{0,1} X_{1} X_{0}$$</latex>
1222 <prompt_number>15</prompt_number>
1223 </output>
1224 </outputs>
1225 </codecell>
1226 <codecell>
1227 <input>circuit_plot(c, nqubits=2)</input>
1228 <language>python</language>
1229 <prompt_number>16</prompt_number>
1230 <collapsed>0</collapsed>
1231 <outputs>
1232 <output>
1233 <output_type>pyout</output_type>
1234 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x48cd350&amp;gt;</text>
1235 <prompt_number>16</prompt_number>
1236 </output>
1237 <output>
1238 <output_type>display_data</output_type>
1239 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVhjQUFBQ09DQVlBQUFES0traWJBQUFBQkhOQ1NWUUlD
1240 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQURqbEpSRUZVZUp6dDNIMU1W
1241 ZlVmQi9EM0VWZXBLVjFFSUNHdXNxRVNMcm8rVkpyR0hXWWh1TW95CnBibHFLSUhvY1BwSFBxeTUw
1242 dVlpMDYyTnhJZVdhRFhqSWJlR1RSMkJxSWxsQ0lFcElvUWk1b3hud1NkQXVKL2ZIODErS3ZlYTNB
1243 Y08KOSt2N3RYMy84WHZPM2Z1N2MzM2Z3N25uSGsxRVdnRU1CaEVSS1VNVEVkRTdCQkVST1ZjL3ZR
1244 TVFFWkh6c2R5SmlCVEVjaWNpVWhETApuWWhJUVN4M0lpSUZzZHlKaUJURWNpY2lVaERMblloSVFT
1245 eDNJaUlGc2R5SmlCVEVjaWNpVWhETG5ZaElRU3gzSWlJRnNkeUppQlRFCmNpY2lVaERMblloSVFT
1246 eDNJaUlGc2R5SmlCVEVjaWNpVWhETG5ZaElRU3gzSWlJRnNkeUppQlRFY2ljaVVoRExuWWhJUVN4
1247 M0lpSUYKc2R5SmlCVEVjaWNpVWhETG5ZaElRZjMxRGtDT0V4RWNQWG9VTzNic1FFMU5EZHJhMnVE
1248 cDZZbEpreVpod1lJRjhQSHgwVHVpUXpvNwpPN0Zueng1a1pXV2h0cllXRm9zRlhsNWVpSXFLd2x0
1249 dnZZV0JBd2ZxSGRFaFY2OWV4YTVkdTdCLy8zNDBOemZEdzhNRHZyNittRHQzCkxxS2pvK0hoNGFG
1250 M1JISkRQSE4zWXlLQ0hUdDI0T21ubjhiOCtmTXhac3dZTEZ1MkRJY1BIMFpzYkN5cXFxb3dldlJv
1251 ekpzM0QrWGwKNVhySDdiSDI5bmFzVzdjT0kwZU94TWFOR3hFUkVZR1ZLMWZpNE1HRG1EMTdOckt6
1252 c3hFWUdJaGx5NWFob2FGQjc3ZzlWbDlmanlWTApsc0JvTkdMZnZuMllNMmNPVnE5ZWpieThQSmpO
1253 WmlRbkp5TW9LQWpKeWNubzZPalFPeTY1R3lHMzFOblpLZkh4OFJJV0ZpYTV1YmxpCnNWaituYnY5
1254 c0RZMU5jbW5uMzRxdzRZTmt3TUhEdWdSMVM3TnpjMFNIaDR1TTJmT2xKS1NranZtYmw5ZmRYVzFM
1255 RnEwU0lLRGcrWFAKUC8vczdaaDJxNmlva0tDZ0lFbEtTcEthbXBvNzVtNWZYM0Z4c2N5WU1VT21U
1256 WnNtTFMwdHZSMlQzQmpMM1ExWkxCWlp2SGl4bU0xbQphVzF0N1RadjdUUDd3SUVENHUzdExZV0Zo
1257 YjBSMFNGdGJXMFNIaDR1Q3hjdWxNN096bTd6MXRiM3hSZGZ5TWlSSStYdnYvL3VqWWdPCnVYanhv
1258 aGlOUnRteVpZdlYrYnZYMTluWktYRnhjVEp0MmpScGIyL3ZqWWlrQUUxRVJNKy9IS2puOXUzYmg2
1259 VkxsK0szMzM2RHA2ZG4KdDNsTjAyRHRzTzdldlJzclZxeEFSVVVGK3ZYcnUxZmtQdjc0WXhRV0Z1
1260 S0hIMzZ3bXRQVytsYXRXb1dxcWlwa1ptYjJSa3k3dmZiYQphd2dMQzhPYU5XdXN6bHRiWDFkWEYy
1261 Yk9uQW16Mll3VksxYjBSa3h5ZDdwK3RKQmRvcU9qSlMwdHplYThyY05xc1Zoay9QanhzbS9mClBo
1262 Y2xjMXhIUjRmNCsvdExhV21welcxc3JhK2xwVVVNQm9OY3ZIalJWZkVjVmwxZExWNWVYbkwxNmxX
1263 YjI5aGEzL0hqeDhWb05GcjkKYTRib2JuMzM5STJzT25mdUhJNGRPNGE1YytmMmVGOU4wN0JvMFNK
1264 czJyVEpCY21jSXpzN0d5Tkhqc1JUVHozVjQzMkhEQm1DbUpnWQpiTnUyelFYSm5HUHIxcTE0Kysy
1265 M01XalFvQjd2TzM3OGVQajYrbUx2M3IwdVNFYXFZYm03bWUrLy94NXo1c3pCZ0FFRDdOby9KaVlH
1266 CkJ3NGN3TldyVjUyY3pEbXlzcklRR3h0cjkvNnhzYkY5K3JLTTZ1dWp2b1BsN21icTZ1cGdOQnJ0
1267 M24vZ3dJRVlPblFvR2hzYm5aaksKZVJ4ZDM0Z1JJMUJYVitmRVJNN2w2UHFNUmlQcTYrdWRtSWhV
1268 WmZNTFZVM1RlanNMRVJFNWljMHpkL25uTmttT1BqYldybDJMOTk5LwovNTdiM092NGRYWjI0dEZI
1269 SDBWVFU1UHVhN0UyWG4zMVZhU25wOXU5dnJLeU1nUUZCZW0rRGxzaklDQUFsWldWZHEvdm0yKyt3
1270 WnR2CnZxbjdPamo2L3VCbEdUY3pZOFlNWkdWbG9hdXJ5Njc5OSs3ZGk5RFFVQmdNQmljbmM0N0l5
1271 RWhrWkdUWXZYOTZlam9pSXlPZG1NaTUKVkY4ZjlTRkNibWZpeElueTQ0OC8ycHkvMTJHTmpJeVVu
1272 VHQzdWlLV1U3UzJ0b3JCWUpBTEZ5N1kzTWJXK2pvNk91VHh4eCtYa3lkUAp1aXFldzRxTGkrV0pK
1273 NTZRbXpkdjJ0ekcxdnJPbmowclE0Y09sV3ZYcnJrcUhpbUVaKzV1YVBIaXhWaS9majA2T3p0N3RG
1274 OXhjVEdLCmlvb3daODRjRnlWejNPREJnekZ2M2p4ODl0bG5QZDUzNTg2ZENBNE9SbWhvcUF1U09Z
1275 ZkpaRUpBUUFCMjdkclY0MzNYcjErUGQ5NTUKeCswZmxFYTlSTzlQRitxNWpvNE9tVDU5dWlRa0pF
1276 aFhWMWUzZVd1SDllelpzeElRRUNDWm1abTlFZEVodGJXMUVoUVVkTjgvenhjUgp5Yy9QbDJIRGhu
1277 VjdEazFmVkZSVUpON2Uzbkw0OEdHcjg5YldsNUtTSXNIQndWSmZYKy9xZUtRSWxydWJhbWxwa2Vl
1278 ZmYxN216cDNiCjdYa3F0NWVEeFdLUm4zNzZTWVlQSHk2cHFhbTlIZE51RlJVVk1tTEVDRm05ZXJW
1279 Y3VYTGxqcm5iMTlmUjBTRmZmZldWMnowWUxTY24KUjRZTkd5WnBhV25kTHRIY3ZyN1cxbFpadVhL
1280 bEJBVUZTVlZWVlcvSEpEZkdjbmRqTjI3Y2tLU2tKSG5zc2Nja0ppWkc4dlB6cGJhMgpWZ0JJZFhX
1281 MWJOcTBTVUpEUTJYTW1ER1NuWjJ0ZDl3ZXUzVHBrc3lhTlV1OHZMd2tLU2xKaW91THBhR2hRUUJJ
1282 ZVhtNWZQVFJSeko4CitIQ1pPbldxVzV5eDM2MjR1RmdtVDU0c0FRRUJzbmJ0V2psejVvdzBOemNM
1283 QUNrcUtwTEZpeGVMd1dDUTJiTm5TMjF0cmQ1eHljM3cKd1dFS2FHbHB3ZGRmZjQyMHREUmN1SEFC
1284 RFEwTjhQZjN4NlJKazdCbzBTS1l6V2EzL3QzQ2hRc1hzRzNiTm1SbVpxS3VyZzZYTDErRwowV2hF
1285 ZEhRMEVoTVRNWGJzV0wwak9xUzB0QlNiTjIvRy92MzcwZFRVaEN0WHJtRDA2TkdJaVluQmUrKzlC
1286 MzkvZjcwamtodGl1WlBiCnNmVlVTQ0w2UDk0dFEwU2tJSlk3RVpHQ1dPNUVSQXBpdVJNUktZamxU
1287 a1NrSUpZN0VaR0NXTzVFUkFwaXVSTVJLWWpsVGtTa0lKWTcKRVpHQ1dPNUVSQXBpdVJNUktZamxU
1288 a1NrSUpZN0VaR0NXTzVFUkFwaXVSTVJLWWpsVGtTa0lKWTdFWkdDV081RVJBcGl1Uk1SS1lqbApU
1289 a1NrSUpZN0VaR0NXTzVFUkFwaXVSTVJLWWpsVGtTa0lKWTdFWkdDV081RVJBcGl1Uk1SS1lqbFRr
1290 U2tJSlk3RVpHQ1dPNUVSQXBpCnVSTVJLWWpsVGtTa0lKWTdFWkdDV081RVJBcGl1Uk9SUTd5OHZL
1291 QnBtc3VHbDVlWDNrdDBTNXFJaU40aGlIcEMwelR3YmR0M3VQcDQKOEhqYjU0RTRjMjl2YjhkMzMz
1292 MEhzOWtNWDE5ZkRCbzBDSDUrZm9pSWlFQkdSZ1k2T2pyMGpraEU1RlJLbDd1SVlPUEdqVEFhamRp
1293 KwpmVHVXTEZtQ2twSVNYTDkrSGIvLy9qc1NFeE94ZGV0V0dJMUdmUDc1NXp3N0lIS2kxMTkvSFNF
1294 aEllalhyeDhlZXVnaG1Fd21KQ1FrCkFBRE9ueitQaUlnSUJBUUVvRisvZnZEMDlNUXp6enlEMU5S
1295 VW5WTXJSQlRWMWRVbDgrZlBsd2tUSnNqcDA2ZnZtTHQ3MmFkT25SS1QKeVNRSkNRblMxZFhWbXpI
1296 SkRncS9iZDNTdlk3SHI3LytLcHFteWRLbFM2M09mL0xKSjZKcG1tUm1adHIxK21TYnNtZnV5NWN2
1297 UjJWbApKUTRlUElneFk4YmNjOXNubjN3U2h3NGR3b2tUSi9EQkJ4LzBVa0lpOVIwK2ZCZ0FFQlVW
1298 WlhVK1B6OGZIaDRlZU9tbGwzb3oxZ05CCnlTOVUvL2pqRDd6ODhzczRlZktrMVcvYWJYMUIwOURR
1299 Z0xGang5N1hCd0xwaDErdzlTMzNPaDR6Wjg1RWJtNHVtcHViTVdEQWdEdm0KYnQ2OENZUEJnRkdq
1300 UnFHNHVOaXUxeWZibER4elQwMU54Y0tGQzN0OEM1VzN0emZpNHVLd2VmTm1GeVVqUjF5L2ZoMjdk
1301 KzhHQURRMgpOdXFjaHY2THhXSkJRVUVCSms2YzJLM1lBYUN3c0JEWHIxL0hDeSs4b0VNNjlTbFg3
1302 cTJ0clVoUFQwZGNYSnhkKzhmSHgrUGJiNy9GCnRXdlhuSnlNSEZGWVdBaC9mMy9FeHNZQ0FBSUNB
1303 cENSa2FGektycVgwdEpTdExTMHdHdzJXNTNQejg4SEFJU0hoL2RpcWdkSGY3MEQKT051UkkwY3di
1304 dHc0REI4KzNLNzlBd01ERVJvYWlsOSsrUVV2dnZpaWs5T1JQU3dXQzJiTm1vWExseS8vKzI5dGJX
1305 MklqWTNGOU9uVAorU09YUHVyVzlmYWNuQndjUDM2ODIzeGhZU0UwVGVPWnU0c29WKzdOemMzdzlm
1306 VjE2RFY4Zkh6UTFOVGtwRVRrcVBMeThqdUsvWmIrCi9mc2pKeWNITVRFeE9xU2kvM0xvMENIMDc5
1307 OGYrZm41R0RodzRCMXpYVjFkR0RKa0NFSkNRakIwNkZDZEVpck8xbTAwQURnNE9EanUKYTl6Tlly
1308 R0l0N2UzVEpnd3dXcS9IRHQyVERSTms4VEV4UCs4cFUvdnRibnJzSG5OWFVUY2N1VGw1ZUhaWjUr
1309 OTV6Yi90VDZUeVlTZgpmLzVaOTdWdy9IK01HemNPSGg0ZWQ3eEhEUVlEYnR5NG9YdTJCMzFZVTFa
1310 V2hzYkdSa3lkT3RYcS9KRWpSd0RjLy9WMnZkZm9qa081CkwxU25USm1DbXBvYWxKV1YyYlYvU1Vr
1311 Skdob2E4Tnh6enprNUdUbGl6NTQ5TUpsTUdEQmdBQVlOR29UQXdFRGs1dWJpa1VjZTBUc2EKV1hI
1312 cmV2dVVLVk9zemhjVUZBQUFyN2U3a0pMM3VYLzQ0WWRvYW1wQ1NrcUsxZmw3M1RlYmtKQ0F3TUJB
1313 L3BpcGp6cC8vanphMnRvdwphdFFvYUpxbWR4eUM5ZjlQTVRFeHlNckt3cVZMbCtEajQ5TnRIejgv
1314 UHd3Wk1nUVZGUlYydlQ3OU55WEwvYSsvL2tKWVdCZ0tDZ3FzCi9oakoxcHZsMUtsVG1EcDFLc3JL
1315 eXVEbjU5Y2JVWW5jM3QzL245cmIyMkUwR2pGNDhHQlVWbFoyMjc2MHRCUW1rd252dnZzdTB0TFMK
1316 ZXZ6NmRIK1V1eXdEL0hNUDlJWU5HeEFWRllWejU4N2QxejVWVlZXSWpvNUdTa29LaTUzSURqVTFO
1317 UWdQRDBkSVNBanE2K3RSVTFPRApLVk9tWU11V0xRRCt1YlEyZWZKa1RKOCtIWnFtSVRzN0cyYXpH
1318 VWVQSHRVNXVacVVQSE8vWmRPbVRWaTNiaDAyYk5pQU45NTRBdzgvCi9EQ0FPODhFMnRyYWtKV1Zo
1319 ZVhMbDJQTm1qV0lqNC9YTXpLUjIrSHozUHNtcGNzZEFQTHk4cENjbkl3VEowNWd3WUlGbURScEVs
1320 NTUKNVJWa1oyZWpvS0FBMjdkdmg4bGt3cXBWcTJ6K2tvNkliR081OTAzS2wvc3RaODZjd1pkZmZv
1321 blRwMDlqNzk2OWlJNk9Sa2hJQ09Mago0eEVjSEt4M1BDSzN4WEx2bXg2WWNpY2kxMkM1OTAxS2Zx
1322 RktSUFNnVSs3Wk1rVFUrMXo1bXdPRHdlQ3kxMVlaeTUySUhNSkxKbjBUCkw4c1FFU21JNVU1RXBD
1323 Q1dPeEdSZ2xqdVJFUUtZcmtURVNtSTVVNUVwQ0NXT3hHUmdsanVSRVFLWXJrVEVTbUk1VTVFcEND
1324 V094R1IKZ2xqdVJFUUtZcmtURVNtSTVVNUVwQ0NXT3hHUmdsanVSRVFLWXJrVEVTbUk1VTVFcEND
1325 V094R1JnbGp1UkVRS1lya1RFU21JNVU1RQpwQ0NXT3hHUmdsanVSRVFLWXJrVEVTbUk1VTVFcEND
1326 V094R1JnbGp1UkVRS1lya1RFU21JNVU1RXBDQ1dPeEdSZ2xqdVJFUUtZcmtUCkVTbUk1VTVFcEtE
1327 L0FWNklkZEJoanV6V0FBQUFBRWxGVGtTdVFtQ0MK
1328 </png>
1329 </output>
1330 </outputs>
1331 </codecell>
1332 <markdowncell>
1333 <source>This performs a commutator/anticommutator aware bubble sort algorithm to simplify a circuit.</source>
1334 </markdowncell>
1335 <codecell>
1336 <input>gate_simp(c)
1337 </input>
1338 <language>python</language>
1339 <prompt_number>17</prompt_number>
1340 <collapsed>0</collapsed>
1341 <outputs>
1342 <output>
1343 <output_type>pyout</output_type>
1344 <text>H β‹…CNOT β‹…X
1345 0 0,1 0</text>
1346 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUh3QUFBQWNDQVlBQUFDajZ0dmtBQUFBQkhOQ1NWUUlD
1347 QWdJZkFoa2lBQUFCZEJKUkVGVQphSUh0bW4vTTFYTVV4MTlYSlpVay9aQ1NKMHNyTmZrUnNzaWtZ
1348 U0UvVmh0YlRScU5VaXlrWkdqVVdxYm9NVDhUb2NhRFdJWkVxSWdvClUzN2w4YXRGdFN6TDc2YkU5
1349 Y2Y3ZkhlLzkvTjh2dC92dmMvOVBxcmQrOTd1N25QUE9kOXp6dWZYK1p4enZnOVVVQUh3SXZBbGtB
1350 WCsKQnRZQ2M0eFhCYndOYkRiK2I4QnE0Sm9pOURjRGhnUDNBeXVBSmNBeVlLanh6d0ltaE9UdkEx
1351 WUJ1NEYvZ040ZW5ZdUJIZWJUejhBcwpqMHdQNEdIZ09lQlI0RldnQmpnbXdzOFJwbThuc0FaNERW
1352 aHZ0RitBcGViN1I4Qy93RmN4WTY0dkZnQ2J6R2JXL2g0ZTRqOFE0dTFBCjg1aXBqNkZUVE1uc0NQ
1353 N054citrSG5wcjBRWTZBOWpmNkFjQWR3UDNBbjhBcHpuUHRRWFdtYzJISW5SZmpqYXJPK0Q5Z0Fm
1354 dGVYZXoKWElBbTZqS1B2aVhBYlNFZkliY0p4bnBzdnhuaFY2bG9ESHhqZHJzNnZBeXdBWmdNTkNy
1355 RnlBUXpjRTRFZndrNmJhMkwwRGtOMkFWYwpHOEZ2aEtMRjcwQVRoM2N4TUF6NDNQZ3RQYzlmRC9S
1356 eGFCbTB1UmFqVGVYRERCU3BPb1pvYlZBa2NERVh6VXQzaDM0RTJsUU5oWnZNCjdxME9mU1p3Ymhv
1357 R1hrYUwwOExEYTRKTzRkb2k5STFCRGc5UGtKc0d2T0toendJT0I4YVpuakVlbVNlcHU4dXIwZlhU
1358 TnNibVFOTjUKZTRnMkN2OW0veHJZNnFIM0FjYkgyQ2dWN2REVnNoRkZMRkNVOVVXbW9yRWZ1Z2RY
1359 UnZEN29RbXFMbEJmTDNMM1N4S3V3RDl4d1dscgpCZndKZk9yd004QlREdTFPOC9QQ0JKdFZKcmN3
1360 UkJ0QmJtSURkRFE1MzhudkJaeVVZS2RVUEdQMnowZnpOQ0ZldkhBY2I0cW5SZkJ2Ck1mNlFBdld0
1361 Tm5uM1h2YWhMOURGb1IyRWtxd0Fjeno2ZWdPVFFyODdvZ2kxaWVTNzdVelR0emhCN2xLVEc1Y2cx
1362 MUFZWVBaclViNlQKR3E0enhhdFJadXArZmpKK3V3SjBIV3F5SDVUZ3p5QmdaT2ozQ2FaelFZZzJE
1363 a1dlQUZOTlpub0Irc2VhN0pRRXVTQWo5bFVKL3hlQwo2cWtxVGFVdm9CTG9RQSt2TVFxcFh4U29h
1364 d2h5c0pTRVpqcDFzOU5WNkU0TE50MFQ1Q2Q2eTgzdWVRWG9yeUUrUVEzd0diQ2RlcFk5CkthQUht
1365 dmNzdXE1U1FRYllobXBMSDA0bXZqUnljWmZKRjFLbnQ4T2Y5ZGQ0YUVGNUZJVHhweDErMENmb21X
1366 Q3pDdlVhdHVMUC9BTzAKUWJYMlN3bjZHZ3FkZ09lQnppZ2Yyb0lPWDFGd2t4TFFCTFVGM29sNEpy
1367 ZzNseGRvWTZOOWJ5bEFkakthL0RDYW9RRzZxRUduN1NyawpjNjNELzlHK2YwMndPUjVOM0NoVTdr
1368 V2hQem9NS3hMME5RUmFvK2JUYU9BSE5QYkRnSXZTVUQ0YW5ZeWhFZnlGeHU4VW9qVUNya1NuCmVB
1369 YnFsQVhvWmZKM0pOanRpYjgrSHdCY0hmSE1UTk85Q0NWZVljdzJYbHpaY2lLNm5oNUw4QTFVRm1a
1370 UmhITVJOLzQ0TkFYbWt6K1gKTHBvQnp3SkhobWg5elplbGFmZ1NwUDRkSXZoYlVkY25qSkdvUXhZ
1371 WXJBVzYyZThNU3Y0K0FacEg2T3dPekVNVDRHSUtjSFRFYzkxUQptTjJGSmlhTTAxRWU0cnNPUVBm
1372 aE5oUW1mYm1LaXpVb0F2akNhTno0b3pBS0hZSXNkYXVTQUkxUmIrRTREKzlqTkhiWFRsRytORVVM
1373 CittMEUvMWh6Y0o1RFgwLytDWHNFdFNRRHRFYUwvaGI1dS9sZzFEMmJUbjc3TWtCN0ZNTGlxb0Uz
1374 Z1BjaWVNUFFJZzBNMFpxalJMSVcKUmJOQ1VJVTJqKzlFUWZMNDR4QzE0RjFSWWhwVmE5OW96OTVU
1375 SDErcTBOMjBnZHdMazVYa3VsbURnZmZSaWNpaXUzTTVjQ3JLQTNhVAozMnFjZ25yYVliUXlKeGNC
1376 SDZLZFc0Mi9MZGpVN1AxbDlqWURFejF5b0tiSzFBZ2V3Tm5vSmMzanFINmZEOXhBOGduc1F1NmxU
1377 akR1Cm5jQzd3T3VvTklUQ3h4OEZkOEVIa2V1Ylo4MTJQK2VadWVncUNtVFdvVnltVkY4S1Foc3oy
1378 amxFbTRoT2N6bWcxUEhIaGZUVWZmRmwKNmNWaU84cUVzeUZhQzZPWEEvYW04U2Y2a3NhQ1o5Rkxs
1379 UFloV2dmZyt4UjA3d3ZZbThhZjZFc2FDdzVxbTRZVGhZRW9XU2dYeEkzLwpLT3AyQ2ZlVUw2bTFD
1380 RnVpMXVreU5NRHZLSzhGanh0L05mcEhEN2YvUGhnbFk1UFFpNkZsNUw4YmFBaGZVb2V2amk0bitN
1381 YWZRYTh5ClhSeUN3bTN3S2VSRlZLbStGTitMVGNET2xQWHRhL0NOUDR2LzlXeERKM1hsdmhaN0RQ
1382 MVJ3NnFDTWtIYVViU0NDaXFvb0lJS0tpaEQKL0FkcHRYLzBuZHJla3dBQUFBQkpSVTVFcmtKZ2dn
1383 PT0K
1384 </png>
1385 <latex>$$H_{0} CNOT_{0,1} X_{0}$$</latex>
1386 <prompt_number>17</prompt_number>
1387 </output>
1388 </outputs>
1389 </codecell>
1390 <codecell>
1391 <input>circuit_plot(gate_simp(c),nqubits=2)</input>
1392 <language>python</language>
1393 <prompt_number>18</prompt_number>
1394 <collapsed>0</collapsed>
1395 <outputs>
1396 <output>
1397 <output_type>pyout</output_type>
1398 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x3da1990&amp;gt;</text>
1399 <prompt_number>18</prompt_number>
1400 </output>
1401 <output>
1402 <output_type>display_data</output_type>
1403 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5jQUFBQ09DQVlBQUFDaS9KMktBQUFBQkhOQ1NWUUlD
1404 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUNZMUpSRUZVZUp6dDNWbElW
1405 UDBmeC9IUG1SYVh5bVZ5YXlFeENyV0ltckJGc3JLSW9FY3FDSktXCm16WXlMYU51Q2l2b29xQWRn
1406 dEtLd0NTS0tLUENvTUlzczdLRk5wSDJSWE9rSWxQRHAxQUx4Ky8vNWw5WXpsajUrSjNUako4WHpF
1407 Mi8KT1lmdjhmVHVuSEVteGhDUmZ3SDBBaEYxS0VORXhPd2hpTHlSeGV3QmlMd1Y0eUpTd3JpSWxE
1408 QXVJaVdNaTBnSjR5SlN3cmlJbERBdQpJaVdNaTBnSjR5SlN3cmlJbERBdUlpV01pMGdKNHlKU3dy
1409 aUlsREF1SWlXTWkwZ0o0eUpTd3JpSWxEQXVJaVdNaTBnSjR5SlN3cmlJCmxEQXVJaVdNaTBnSjR5
1410 SlN3cmlJbERBdUlpVmR6UjZBL2pzUndZMGJONUNUa3dPNzNZN0d4a1lFQmdZaVBqNGVpeGN2Umxo
1411 WW1Oa2oKZGtxOGNua3dFVUZPVGc1R2pCaUJSWXNXSVNZbUJxdFhyOGJWcTFleGNPRkN2SHIxQ3RI
1412 UjBaZy9mejZlUG4xcTlyaWRqNUJIYW1wcQprcVZMbDhydzRjT2xvS0JBbXB1YnY2KzFQSzIxdGJX
1413 eWJkczJDUTBObGN1WEw1c3hhcWZGNytmeVFDS0M5UFIwUEhyMENIbDVlZWpWCjY4ZnZMalFNQXor
1414 ZjFzTENRaVFuSitQOCtmT0lpNHR6NTdpZEZtOExQZENGQ3hkdzhlSkZuRGx6cGxWWXJreWFOQW43
1415 OSsvSG5EbHoKME56Y3JEd2hBWXpMSTJWbVppSWpJd09CZ1lGL3ROMnNXYk1RRkJTRS9QeDhwY21v
1416 SmQ0V2Vwank4bktNSGowYWRyc2RmbjUrVHAvago3TGJ3bSt6c2JKdytmUnBuejU3VkhKUEF1RHpP
1417 amgwNzhQcjFhMlJtWnJwOFRsdHgxZGZYSXpRMEZPL2Z2MGZQbmoyMXhpVHd0dERqClZGVlZJVEl5
1418 c3QzYisvdjdvM2Z2M3FpcHFlbkFxY2dabDFjdXd6RGNQUXVSVjNINUNRM2VMZjZkTm0zYWhFK2ZQ
1419 bUg3OXUwdW45UFcKYmFIRDRVQlFVQkRzZGp1Q2c0TzF4aVR3dHREalRKczJEYm01dVhBNEhPM2Ev
1420 dHk1Y3hnNmRDakRjZ1BHNVdIaTR1SVFHaHFLQ3hjdQp0R3Y3ckt3c3BLV2xkZkJVNUF6ajhrRExs
1421 eS9IOXUzYjBkVFU5RWZiM2I5L0gvZnUzVU55Y3JMU1pOUVM0L0pBOCtiTmc0K1BEMWFzCldQSGJu
1422 N1lvTHkvSHpKa3prWm1aQ1Y5ZlgrVUpDV0JjSHFsYnQyNDRlZklrSGo1OGlIbno1dUg5Ky9jdW55
1423 c2lLQ2dvUUVKQ0F0YXQKVzRmWnMyZTdjZExPalhGNXFJQ0FBQlFVRkNBc0xBd3hNVEdZTzNjdXJs
1424 eTVncXFxS2dCQVJVVUZzckt5TUd6WU1LU25wMlAvL3YxSQpUVTAxZWVyT2haL1E4QUoxZFhVNGZQ
1425 Z3dEaDA2aE1yS1NsUlhWNk5mdjM2SWo0OUhXbG9hRWhNVCtiNmxDUmlYRjJycmZTNXlIOTRXCkVp
1426 bGhYRVJLR0JlUkVzWkZwSVJ4RVNsaFhFUktHQmVSRXNaRnBJUnhFU2xoWEVSS0dCZVJFc1pGcElS
1427 eEVTbGhYRVJLR0JlUkVzWkYKcElSeEVTbGhYRVJLR0JlUkVzWkZwSVJ4RVNsaFhFUktHQmVSRXNa
1428 RnBJUnhFU2xoWEVSS0dCZVJFc1pGcElSeEVTbGhYRVJLR0JlUgpFc1pGcElSeEVTbGhYRVJLR0Jl
1429 UkVzWkZwck5hclRBTVErMWh0VnBOT1M1KzRiZ1g4clF2SE5lZTE2eWZSNmU0Y24zNThnWEhqaDFE
1430 ClltSWl3c1BEMGFOSEQwUkVSR0R5NU1rNGZ2dzR2bjc5YXZhSTVJVzhPaTRSd2E1ZHV4QVpHWW5z
1431 N0d5c1hMa1NKU1VscUsrdng0TUgKRDVDYW1vb0RCdzRnTWpJU3UzZnY5cWgvN1R1TFdiTm1JVFky
1432 RmhhTEJkMjdkNGZOWmtOS1Nnb0FvS0tpQXBNblQwYi8vdjFoc1ZnUQpHQmlJMGFOSEl5c3J5K1Nw
1433 LzArOGxNUGhrRVdMRmtsY1hKdzhlZkxraDdXZkQvdlJvMGRpczlra0pTVkZIQTZITzhkVTRXbW45
1434 VmZ6CjNycDFTd3pEa0ZXclZqbGQzN0psaXhpR0lTZE9uR2pYL3JWNDdaVnJ6Wm8xZVBIaUJhNWN1
1435 WUtZbUpnMm56dGt5QkFVRlJXaHRMUVUKNjlldmQ5T0U5THV1WHIwS0FQam5uMytjcmhjV0ZxSkxs
1436 eTZZT25XcU84ZjZOVk9TVmxaYVdpcDkrdlNSbXBvYXArdXVEdnZEaHc4UwpIaDdlNmtybmFUenR0
1437 UDVxM3FTa0pQSHg4Wkg2K3ZwV2ExKy9mcFVlUFhxSXpXWnI5LzYxZU9XVkt5c3JDOHVXTGZ2alg4
1438 R0doSVJnCnlaSWwyTGR2bjlKa3Vod09CL0x6OHdFQVpXVmxKay9UTVpxYm0xRmNYSXhSbzBiQno4
1439 K3YxZnFkTzNkUVgxK1BDUk1tbUREZEw1aVMKdEtLNnVqb0pDZ3FTTjIvZXVIeE9XNGRkVVZFaFZx
1440 dFZQbi8rckRHZW1yZHYzOHJBZ1FPbFY2OWVBa0I4ZlgxbDdkcTFaby8xVzlvNgpIL2Z2M3hmRE1H
1441 VERoZzFPMXpkdjNpeUdZY2lwVTZmYXRYOU5YYzFOdStOZHYzNGRJMGVPUk4rK2ZkdTEvWUFCQXpC
1442 MDZGRGN2SGtUClU2Wk02ZURwOUtTa3BNQnV0Nk9wcVFrQTBOallpRDE3OW1ENjlPa1lOMjZjeWRP
1443 MTM3ZlhXL241K2JoNzkyNnI5VHQzN3NBd2pML3kKeXVWMWNYMzgrQkhoNGVIL2FSOWhZV0dvcmEz
1444 dG9JbmM0L3o1ODkvRCtxYWhvUUc1dWJrZUhWZFJVUkc2ZHUyS3dzSkMrUHY3LzdEbQpjRGdRRUJD
1445 QTJOaFk5TzdkMjZRSjIrRHFrZ2FBRHo3YzluQ211YmxaUWtKQ0pDNHV6dW42N2R1M3hUQU1TVTFO
1446 YmZQMnpLeGpjdmtMCkRSSHh5TWVsUzVjd1pzeVlOcC96cStPejJXeTRkdTJhNmNmeUo0KzB0RFQ0
1447 K3ZyK2NBNzkvZjN4OU9sVDAyZjcxY09WeDQ4Zm82YW0KQnVQSGozZTZmdjM2ZFFEQXhJa1RYZTdE
1448 ekwvUFh2ZmJ3b1NFQk5qdGRqeCsvTGhkMjVlVWxLQzZ1aHBqeDQ3dDRNbDA3ZHk1RTBsSgpTZkR4
1449 OFVIUG5qMFJHQmlJbkp3Y1JFZEhtejFhdTMxN3ZaV1FrT0IwdmJpNEdBRCt5dGRiZ0pkK2NIZmp4
1450 bzJvcmEzRm5qMTduSzYzCjlVSE9sSlFVREJnd3dHUGZUSzZxcWtKVlZSV2lvNlBSclZzM3M4ZjVM
1451 YTdPeDV3NWM1Q2JtNHQzNzk0aExDeXMxWHBFUkFRQ0FnTHcKL1BuemR1MWZuWGloeXNwS3NWcXRM
1452 dDhNZG5YWUR4OCtsT0RnWUhuMzdwM21lUFFUWitlanNiRlJ3c1BEWmRDZ1FVNjNLU2twRWNNdwpa
1453 TUdDQmUzYXZ6dDRaVndpSXRuWjJSSVZGU1ZsWldXdDFwejlzRisrZkNtUmtaRnk1TWdSZDR4SExi
1454 UThIeFVWRlRKaHdnU0ppb29TCmk4VWkzYnQzbDNIanhzbStmZnRFUkNRdkwwL2k0K01sTkRSVUxC
1455 YUxXSzFXbVRoeG9oUVhGLy9XL3QzSmErTVNFZG03ZDYvMDZkTkgKamg0OUtvMk5qZC8vdk9VUHU2
1456 R2hRUTRmUGl3UkVSRnk0TUFCTThiczlMVC84cHNWbDFlKzVtcnAwcVZMMkxwMUswcExTN0Y0OFdM
1457 RQp4OGRqeG93WnlNdkxRM0Z4TWJLenMyR3oyWkNSa1lIRXhFU3p4KzJVdlBVL1MzcDlYTjg4ZS9Z
1458 TUJ3OGV4Sk1uVDNEdTNEa2tKU1VoCk5qWVdTNWN1eGVEQmc4MGVyMU5qWEVSS3ZEVXVyM3VmaSto
1459 djRYV2ZMU1RQWkJpRzJyNkRnNFBWOXQwV3hrV204OVpYSnJ3dEpGTEMKdUlpVU1DNGlKWXlMU0Fu
1460 aklsTEN1SWlVTUM0aUpZeUxTQW5qSWxMQ3VJaVVNQzRpSll5TFNBbmpJbExDdUlpVU1DNGlKWXlM
1461 U0FuagpJbExDdUlpVU1DNGlKWXlMU0FuaklsTEN1SWlVTUM0aUpZeUxTQW5qSWxMQ3VJaVVNQzRp
1462 Sll5TFNBbmpJbExDdUlpVU1DNGlKWXlMClNBbmpJbExDdUlpVS9BOTl1T3NBYjBkaXB3QUFBQUJK
1463 UlU1RXJrSmdnZz09Cg==
1464 </png>
1465 </output>
1466 </outputs>
1467 </codecell>
1468 </cells>
1469 </worksheet>
1470 </worksheets>
1471 </notebook>
1 {
2 "nbformat": 2,
3 "name": "quantum_computing",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Symbolic Quantum Computing</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 1,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 2,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "source": "<h2>Qubits</h2>",
29 "cell_type": "markdown"
30 },
31 {
32 "source": "The state of a set of qubits (Two state systems) is the quantum state that is of interest in Quantum Computing.",
33 "cell_type": "markdown"
34 },
35 {
36 "cell_type": "code",
37 "language": "python",
38 "outputs": [],
39 "collapsed": true,
40 "prompt_number": 3,
41 "input": "alpha, beta = symbols('alpha beta',real=True)"
42 },
43 {
44 "cell_type": "code",
45 "language": "python",
46 "outputs": [
47 {
48 "output_type": "pyout",
49 "latex": "$$\\alpha {\\left|00\\right\\rangle } + \\beta {\\left|11\\right\\rangle }$$",
50 "prompt_number": 4,
51 "png": "iVBORw0KGgoAAAANSUhEUgAAAGkAAAAXCAYAAAAIqmGLAAAABHNCSVQICAgIfAhkiAAAA7JJREFU\naIHt2FuIVVUcx/FPTiWkDaFpGkRlRTeawgqjrMaY6IJ0oSCNpKCHogsF2bwEQVFQWnQxsCAwuiHE\nFF2xly4vQTesMSpCoqay8aHCSrtIYw//vZk9+6wzc/aZ45mS84XD2ue/f+vy32v9140OHZqkH3tN\ndSPaTF2fu5os8AgswRelsu7ENTgFF2AHvkvU2YjuOGxusn2TZQWuQy9uxjaMqPU5Z28M4Gd8PU65\nE+la6vMxWFay3YO3Ma1Q4S84ahK6djMdq7CoYFuInThTrc9dYqANYBfOr1Nuo7qkz9NSxiboxk14\nWow4+Bxf4YkmdERkHdJEW2bh0Cbywe1Yh/cLtl9FBPQk9OtxtYi08WhU16zPScqRtFKMkINLurvE\nKOyuqJM99zfRtqVZPVXpwyUJ+/X4E2eojaScZcaPkEZ1SZ9bFUkni3VlS8m+WYzCxRV1xAjeL7O3\ngwvxSsk2W3y0lfipDW1I+pzqpAW4A4/jRaw1doSndiDz8HvCvj1L51fU5bwsPbpbzRx8K6bgXjE9\nbcAmPIXH2tCGnBqfy53Ug3ewUYT55aJTni9oH04UPM/ohy6S2w6oqMvZKBbu3c0SvFVoy3YMYwg3\nGDtIdzc1PhfD6ki8KSLnjcw2glfxmtid/CAd9n9hn4Q9t41U1OWchE8S+lZzLF7Inj/MfnC2GLQX\n4aM2tIOEz8VIujtLHyxlGszSRbgWTyYK3lSnwhlZ+mNFXc6leKlOnlazK2H7JkvntqkNJHzOI2ka\nzsXraqej/JB5mmj0FrXhPygW3jIzs3S4og72xx9i15diBW5L2LvFeeeqxLv1uK9kO6hUb5Gjs/Tj\nOu9bTdLnvJOOx4H4bJwCThCRlGJQnE9mGNvJp2YVfllRB1eKtbAez2S/MkvFEeGBcfIW6cX3dd4t\nx1Z8oPmzVxWSPufT3ZAI962JjDPFWrFBnBdSfJql5f1/H54zOlIb1RGHuqE69bWSxaJjyxyGK3Cj\nGN3tIOlz3knbxJXFeaX3fVgtTuBzM31qSzyMR3Ar9s1sZ+FwY6eXRnWn472JfWoJv+EfnFiwzRZn\npnvFd5mIWVk60do1nq4hn6djjZi3V4sNxGXZux68i/uz5wW4uJS/S9w9DeAhsUM8J1FPI7p+zR+0\nq9w4zMct4gC5SlxXrcWzYmdXJOXzOrET2ylmor+z/2ua0E3G5/8dVTppufacwybFnthzO6RvNVIs\nNLpOdviP8uhUN6AR9sRIapQ5ai96O3To0KHD1PEvn5jpFWKUSuUAAAAASUVORK5CYII=\n",
52 "text": "\u03b1\u22c5\u275800\u27e9 + \u03b2\u22c5\u275811\u27e9"
53 }
54 ],
55 "collapsed": false,
56 "prompt_number": 4,
57 "input": "psi = alpha*Qubit('00') + beta*Qubit('11'); psi\n"
58 },
59 {
60 "cell_type": "code",
61 "language": "python",
62 "outputs": [
63 {
64 "output_type": "pyout",
65 "latex": "$$\\alpha {\\left\\langle 00\\right|} + \\beta {\\left\\langle 11\\right|}$$",
66 "prompt_number": 5,
67 "png": "iVBORw0KGgoAAAANSUhEUgAAAGgAAAAXCAYAAADnaAq1AAAABHNCSVQICAgIfAhkiAAAA6NJREFU\naIHt2FuMXVMcx/GPKpOUiBoz1SJENG4xoiHtQ0VLEbQiIWFEE0EQJCKqjadOJOJSEoroQ0WCTDzg\nwS28uD64RYR6E0LRS0KkdFqiZjz810737NnnzN4zc86M5nyTnbX3Wr+91vrvtf//daHDAc/a6e7A\nNNA2m2dP8v2z8W1J/nLcmcqG8QuenqBuLR6ZZD/rshpLMIRTsQlvpbJGNmdchxW4cZw2mummzOb1\nxg7y6diDhel5Nj7GPRPUDUxFRyvSJT7M4lzeIvyDnvRcZjMcj7uwDy82aaOKbiC7mVWh0404ArtT\nQ3nuEx86+8v2YRAP4YQJ6Opy1CTevxfP4dNc3h9iQPo0tvkOPIhDcVCT+qvqpoRbsaCQd5z424ox\neiFGcEtNHfU9aCXW1HyHCDdXluTfhr/QrdzmIuN5UBXdQHYzGQ9agG2FvLPE31aM0d+ldFlNXTu5\nDK8V8rrFT7QGvym3uaWUxdKT0C9iZS92Yp1wdcI1l+KjknePSenuQv4w9mJ+TV276MGPqf1lwmuO\nFGFtE57CecptbilFD+rD+/hSdPJqMSCDOe3juBDvltSXffihkrIhYXQdXbtYbr89Q+naga24Xcw9\njWxuKfkBOhnvYLP9S8phvI7LcQ6OFa7+Hi4oqe/v3HtFDsnlV9W1i9PwTbr/HDfhBhE55uEKjW1u\nKfkBuj+ljxU0X6d0sej4ZnyA80vq29KkrcOwvaaunYyU5P2Q0l6NbW4p2Rw0CxfhTWPDzk8pXSI6\nnE2S24ydNLPBnFuooyu1taOmrhmrjd0zEeGoC9eXlL0klvF55jVp75SUfpHSMptbSjZAZ+Bo+928\njDOFB2UM4majPW47fhULjDznpnRLTV0zXkhXkZVi9/9ohTqIRcHPDcr6xSLps/RcZnNLyULcVuHi\nO0s0h4s54W2xH8jYlcoOLui/wqWFvBX4Hc9OQNdqlopBLXIirhGby70pr5HNLSMboF14BZcUyldg\ng9hZ9yZ9fjP3BlYV3lmPi8XEC3NwLTYavayuqms1f+JfsTfL6BZ7ogfEd8lTZnPGXLHq7dH8pKCq\nbhRdeFLE6Q3Cja9KZX1iknw43edZV1LXKryKJ/CyGIyyv66K7u6qBiTqnCTMF+dic8QZ3PN4Ruzw\nmy0Iijb34xMRtkfS9T0+NHpPV1VX1+b/FXUGqF8chs5YJnPUM1PZo3qIXCTmwg4zlI3T3YHxOBA9\nqCo92nzw2aFDhw4dRvEfMafj+g/WzT4AAAAASUVORK5CYII=\n",
68 "text": "\u03b1\u22c5\u27e800\u2758 + \u03b2\u22c5\u27e811\u2758"
69 }
70 ],
71 "collapsed": false,
72 "prompt_number": 5,
73 "input": "Dagger(psi)\n"
74 },
75 {
76 "cell_type": "code",
77 "language": "python",
78 "outputs": [
79 {
80 "output_type": "pyout",
81 "latex": "$$\\alpha$$",
82 "prompt_number": 6,
83 "png": "iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAABHNCSVQICAgIfAhkiAAAAMlJREFU\nKJHV0TFOQlEQheHP12CCLRYQGkLrK4kL0JBIY+si6Ejs3AA0hMYNaGdnoRsw0LoETDSUkJhQAQXz\nErh5lZ3TzJ0z+WfOzfDHOCnRWrhDE+dY4B6rA2abQjnmuIk6wyNe4w3jFGrjBw+J3osNHTRK+p4D\nrCZ6M8B+QPXCSpGv8Y7fBPyKfIkKvg+bFzF1kNqI2OITp4VQbJxHc1ECnWGDN6xTcIkXdBPoCkPM\n7E+T4ZbjO1YwQi3+leEjBuaYYIqnsP1fYgcPriV+6UcWLAAAAABJRU5ErkJggg==\n",
84 "text": "\u03b1"
85 }
86 ],
87 "collapsed": false,
88 "prompt_number": 6,
89 "input": "qapply(Dagger(Qubit('00'))*psi)\n"
90 },
91 {
92 "source": "SymPy supports many different types of measurements.",
93 "cell_type": "markdown"
94 },
95 {
96 "cell_type": "code",
97 "language": "python",
98 "outputs": [
99 {
100 "output_type": "display_data",
101 "latex": "$${\\left|00\\right\\rangle }$$",
102 "png": "iVBORw0KGgoAAAANSUhEUgAAAB8AAAATCAYAAABobNZCAAAABHNCSVQICAgIfAhkiAAAAWdJREFU\nSInt1btLHUEUx/EPEjU+ICbiozBqq2AaCWKa1IqVpdX9A2xsJLWFhWhhmzqlpQqCTSzsDekUCULw\nURgCXvMQrhazN4x7181umkDID4Yze853+A07Z3b5x/XmocKjaD6H9/iMLqyhiks8xlscp9YX4aro\nxUXeDisYTua7WEnVPqI9taYI142FPOPYfAK3GIlqbfiG5ShXlIMlNBUx38BJRn0HH6Lnohy8wnQa\nzNrNOA4z8kcYE15jGQ72kw381rwPVxn5ahL7S3J1nWAoz/yJcG5VjarnukpwsTYxk2d+g1oy0mpO\nYq0EF2sGW3nm1xrvcl0dSTwtwcUaxqc8c0KnPs3IdybxrCQHk0LT3dND5s8z8i+FTv5ekoMpbBcx\nP8AoBqNcD15g9Q+4Z/giuz9+qSKcSwv2sB7VFoVvfmuUK8rNC9eyQfGP5Ro/kzErfCLf4SsG8Bo/\nIr4o14nzLPP/+iu6A4BqY/+ZKkASAAAAAElFTkSuQmCC\n",
103 "text": "\u275800\u27e9"
104 },
105 {
106 "output_type": "display_data",
107 "latex": "$$\\frac{\\alpha^{2}}{\\alpha^{2} + \\beta^{2}}$$",
108 "png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAtCAYAAAAdtGNyAAAABHNCSVQICAgIfAhkiAAAAl1JREFU\naIHt2jtoFEEcx/GPSRAjBnwhCGrQQEQRHyAiGNBGELFI6SMIii+iTaIWgsiJYGOTQtBGEMEyVVp7\nBUFRRDEgSMogEhQlvqLFbOJqYu68vd0psl9YbmZvmN9/bnb/O/PbYw4yL6L2eTRhAa5FjKMwdmNH\nUr6DnUWKNxUplmItupPyG3RGiqNQWrA4KQ8qeNCxZvo7xrAVrzEcKY7CacVV8X74KJwWBt6EA5Fj\nyY3mVHk/PuId3qOryECKeE73J58TQtbuE2Z4GUYK0J9Gc/UmmRjAOG7gEU6iDeuEBPY5Z/0Zacmx\n704cRHvq3HPswhPh0o5CnplzLx7jS+rcJ2H1dT9H3arkOegRfE3VF2IjXghJbH6O2rOS5z09jA5s\nxvrkuIV9WIJn+JGjfknJXGRycfIzahQlJSWNIuuGI5a5F81UjGXuZdbNsgyNZe5FNRVjmXuZdbPM\ndCxzL7qpWKS5146VEXSnUa+51/ofbbfghJDA+nAmg25msph7V2ps1yFsRSfZg9EMunXRqP13pcZ2\nx5PPVcJ+fAjbsorX6pHFcDTX4KUwyMPowQM8zUnvDwZwKVUfFO6xQ1heZ5+VGtp0+73qOopeYTe4\nuk7NKarNdKMczX6sSNW7hMGkuY23qfpEcozjXnLuOr7VqFk3Z4X7KM0FvMLSDP1Wamhz6q/6djzM\noDlFtedcLEdzk5CpJxNnGy7jWCM6r3Z5DyUB9OKDcLldxE0hs95tRBAzsAHnhIQ5hkXCzI/mpFcI\nR6p835OneKx3w7O94WgW9w9AUegQLu+SkpKSkn/xC5fPb/BMrkVFAAAAAElFTkSuQmCC\n",
109 "text": "2 \n \u03b1 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2\n\u03b1 + \u03b2"
110 },
111 {
112 "output_type": "display_data",
113 "latex": "$${\\left|11\\right\\rangle }$$",
114 "png": "iVBORw0KGgoAAAANSUhEUgAAAB8AAAATCAYAAABobNZCAAAABHNCSVQICAgIfAhkiAAAAOZJREFU\nSInt1TFOAkEUxvFfiLEkCIkFFkDCJTThABpqCiquYAWFtzHhBGBja0ws7KysjD2xkRYodo2w2d3Z\nRicxfs28vPle/m8mkzf8cc2KNmp78Rhnmf06ntALAMp8a5yGOpygm8bHGOABW/QLaqr4WrjOKz7K\nyTVwi1esSpqt6lvhRHLLmyLTxPfJv3Sj/ORVfRe4yiZrOcaf0GPaQBQ4vKMTC77AMBZ8iGUseBdv\nMeDnkkd3oN+CX+IuBryJDzkDJgRvpmtoNpf5xpgH6o3QTuN7vEim1hafeMY0U1PFV/ir/SuKdqio\nK05yzo7kAAAAAElFTkSuQmCC\n",
115 "text": "\u275811\u27e9"
116 },
117 {
118 "output_type": "display_data",
119 "latex": "$$\\frac{\\beta^{2}}{\\alpha^{2} + \\beta^{2}}$$",
120 "png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAwCAYAAACi/HI3AAAABHNCSVQICAgIfAhkiAAAAnhJREFU\naIHt2U2IjVEcx/HPvBSDCXeY1BRpRAlZEQ1NZmZhg0jZSImslGRhystkJ7spZSUryoosLcZKFhLG\nZhZTSlmRt7wsGBbnmVw3M/fOfeaeI/N8N8855znP8/ufzv8559zfZQ7SlFD7FFrRjosJ44jGVuzM\nylfRG1O8OaZYGauxLyuPY22iOKLSgqVZ+SY2xhRPNdM/8A7r8RqjMcVbY4qhG/34hvnowtnIMURl\nOwbK6p/9Tus9MQOJld4lLMf9rH4AExjBW3yJFEdUDgqf0iGcxxNsShVMrJluwnesErarldgdSTsJ\n7dhV0TaIWwliQZyZ7sHDirYOIcX/W65gTVm9hMdCBiQhxj79DIfxVFixB4SF7VME7SR0oi8rd2FF\nwliisR8LUwdRSaMXspJw8ppTdKQOoGAuM+mR/UwaRUFBwWyR1/dO5V0n88xTede5dfOcyFJ510k9\n81TedW7dPDOdyrtO6pnDPFzS+N/l3TiBI9k1lu5fOY5FWXkm3vVMMqzSL7+Lk3Xq5qZPcD/eCN51\n/wyePVdjvxL2ltWXCOn8s07dGdOExbP0rqEa+zXEL6/lm2jGBXwQZnaHkNZtWCZsG41iKr/8eZ6X\n1jLoG4J7OZzVB4RBf8S9POJVaBdSGC5n10FszvviaoPeIBj1R8vaRrENj/C+Rp3Tgkk4SY/wr2U5\n1/Cyos9IRZ8ofvlJ3KloO4MXfq+e9TBUQ5+G+eXVZnrMn6tjSTgUjAmHhDZ8zRvEFDTML2+pcn9c\n2Ca2YJ3gXQ8Li9lkqk3UoduLB9Pc78QCXBcG+Qq31f45/ZMcr3L/n/TLG82x1AGkoPDLCwoKCqbj\nFwnubvhneA5lAAAAAElFTkSuQmCC\n",
121 "text": "2 \n \u03b2 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2\n\u03b1 + \u03b2"
122 }
123 ],
124 "collapsed": false,
125 "prompt_number": 7,
126 "input": "for state, prob in measure_all(psi):\n display(state)\n display(prob)\n"
127 },
128 {
129 "source": "Qubits can be represented in the computational basis.",
130 "cell_type": "markdown"
131 },
132 {
133 "cell_type": "code",
134 "language": "python",
135 "outputs": [
136 {
137 "output_type": "pyout",
138 "latex": "$$\\left(\\begin{smallmatrix}\\alpha\\\\0\\\\0\\\\\\beta\\end{smallmatrix}\\right)$$",
139 "prompt_number": 8,
140 "text": "\u23a1\u03b1\u23a4\n\u23a2 \u23a5\n\u23a20\u23a5\n\u23a2 \u23a5\n\u23a20\u23a5\n\u23a2 \u23a5\n\u23a3\u03b2\u23a6"
141 }
142 ],
143 "collapsed": false,
144 "prompt_number": 8,
145 "input": "represent(psi)\n"
146 },
147 {
148 "source": "<h2>Gates</h2>",
149 "cell_type": "markdown"
150 },
151 {
152 "source": "Gate objects are the operators which act on a quantum state.",
153 "cell_type": "markdown"
154 },
155 {
156 "cell_type": "code",
157 "language": "python",
158 "outputs": [
159 {
160 "output_type": "pyout",
161 "latex": "$$X_{0}$$",
162 "prompt_number": 9,
163 "png": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAABHNCSVQICAgIfAhkiAAAAXxJREFU\nSInl1T9IVmEUBvDf9yl8iJNDEYhGSKBgIDQIiYMOQdGom4mDIBhtIRS0O+TSoA2FELiINLTW0JCD\nEdqfRUGQQhISWiLBRR3u++HL7cLV2w0HH7hwznPO+zzvv3svZ4gFbOMwPNsYieqzUW0P71ApYtSI\nzSDUkapVsIVHaCgiHmMqmDxO8TO4/a/idVzAPr6hGriHGD2NSN5S99CNPnxEP2qYO43JSTAg2bIN\nPClbPMZ6MLpcZHA1v0UnDkI8XsQkD61YQpvkfH5IrnZpaMEryQ2DecmWDZVl0IRFXIm43mDyNqO/\ngjHcxzTu5Bk04iV6MmprkvO5muKH8TzEVXzBNRERowPv8RWfMkwWwqwnU/wUXof4QLLau+nBtxx/\npw6xixupnhf4E/V8xkSo/cb1qPcB3mRMsjBqwbQr4u7hQz05yXuSh33sBKM6mvGrTBNYxcUov4Tv\nZZusYDDKb+JZPSn0N8tAUxBdRjt+4mlJ2n+h9r+EzxGOAGtDSS7Kxo8ZAAAAAElFTkSuQmCC\n",
164 "text": "X \n 0"
165 }
166 ],
167 "collapsed": false,
168 "prompt_number": 9,
169 "input": "g = X(0); g\n"
170 },
171 {
172 "cell_type": "code",
173 "language": "python",
174 "outputs": [
175 {
176 "output_type": "pyout",
177 "latex": "$$\\left(\\begin{smallmatrix}0 & 1 & 0 & 0\\\\1 & 0 & 0 & 0\\\\0 & 0 & 0 & 1\\\\0 & 0 & 1 & 0\\end{smallmatrix}\\right)$$",
178 "prompt_number": 10,
179 "text": "\u23a10 1 0 0\u23a4\n\u23a2 \u23a5\n\u23a21 0 0 0\u23a5\n\u23a2 \u23a5\n\u23a20 0 0 1\u23a5\n\u23a2 \u23a5\n\u23a30 0 1 0\u23a6"
180 }
181 ],
182 "collapsed": false,
183 "prompt_number": 10,
184 "input": "represent(g, nqubits=2)\n"
185 },
186 {
187 "cell_type": "code",
188 "language": "python",
189 "outputs": [
190 {
191 "output_type": "pyout",
192 "latex": "$$H_{0} {\\left|00\\right\\rangle }$$",
193 "prompt_number": 11,
194 "png": "iVBORw0KGgoAAAANSUhEUgAAADYAAAAZCAYAAAB6v90+AAAABHNCSVQICAgIfAhkiAAAArlJREFU\nWIXt1juIlUcUB/Df+mDBF76SrIWKkCDYCEZBWKNRQRvFUkQbQSSYWFioSEAuiIWNxErQRgsxnSls\nRDEmJgSx8YGoGBUM0RXBF1po1E0xM+53v71z937XlbXYf3O+c85/vjln5pyZYRifLDZjUqvkE7iB\nXvyHSzgcfTPxK/6N/ue4iO+b/G9HA9smHMde7MOazNiBeF0DzN0PC4XAD2T8u6J/bQv/qpX0DbiN\n8VH/DD1Y1iZvTwsxvMd2IfCVGf8pvNVaGdQK3x24Jqx+EUeFKuioyCMkWk42i5N4jbENfKPxQijR\nVlArfK8SFqwcyLpon1eRl1C3ayMygYxAt9A7Lxv4FwgJ/54Z3wxfR3mrZP87ym8r8hIeCv2GfGJz\nMRHnMv6lUf6W8TdDmvxFyZ4WcFpFXsIxrE/KqMzki6NcoW/lipgfZTs7lgIuV0LSJ1bkJTzBlKTk\nElsiHAxL9V+xUXiG63iUGd8Mr6J8V7KPLtlb5SVMEpJD41LswDe4rH9ShKYdo73dgqsZezqkHlTk\nJawXyhGNE5uDqTif+fGiKNvpL7gSZfmaGBdlT0VewjTcT0qjUkz99UcmsO4oizs2EhvRiRk4g9OZ\n8Sng6epLeUGUVyvyCFfC2cx87/GzcE90Zfw9+o7chI34KX6PxE18VfDXSvyn+LFkO4m/2uTtUX9h\n90OnEPjtjH+ukPSRkv26+ov0EHYX9FqJ/x3+wYSozxL6eVUbvC/wQyZeM4XSuqvv4fsntkT/amGV\nHkX/Y6HHuoU+fYPZpUROFPRtDebcil+wX9iFDZnYBuJtxuRcYh+CKUKy0wu2nVqo+Y+J3MujCh4L\n91pvwTY22ocMg5FYr/AY/rxg68K9Qfh32xiMxOCC+sNjuXCADBmaHpEVMB4HhUfzl7hjiBMbbHQO\ndQDDGMYnhv8BbkWjYKG8VMEAAAAASUVORK5CYII=\n",
195 "text": "H \u22c5\u275800\u27e9\n 0"
196 }
197 ],
198 "collapsed": false,
199 "prompt_number": 11,
200 "input": "c = H(0)*Qubit('00'); c\n"
201 },
202 {
203 "cell_type": "code",
204 "language": "python",
205 "outputs": [
206 {
207 "output_type": "pyout",
208 "latex": "$$\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|01\\right\\rangle }$$",
209 "prompt_number": 12,
210 "png": "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\n",
211 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275801\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2"
212 }
213 ],
214 "collapsed": false,
215 "prompt_number": 12,
216 "input": "qapply(c)\n"
217 },
218 {
219 "cell_type": "code",
220 "language": "python",
221 "outputs": [
222 {
223 "output_type": "display_data",
224 "latex": "$$H_{0} {\\left|0\\right\\rangle } = \\frac{1}{2} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|1\\right\\rangle }$$",
225 "png": "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\nRU5ErkJggg==\n",
226 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n \u2572\u2571 2 \u22c5\u27580\u27e9 \u2572\u2571 2 \u22c5\u27581\u27e9\nH \u22c5\u27580\u27e9 = \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 0 2 2"
227 },
228 {
229 "output_type": "display_data",
230 "latex": "$$H_{0} {\\left|1\\right\\rangle } = \\frac{1}{2} \\sqrt{2} {\\left|0\\right\\rangle } - \\frac{1}{2} \\sqrt{2} {\\left|1\\right\\rangle }$$",
231 "png": "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\n",
232 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n \u2572\u2571 2 \u22c5\u27580\u27e9 \u2572\u2571 2 \u22c5\u27581\u27e9\nH \u22c5\u27581\u27e9 = \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 0 2 2"
233 },
234 {
235 "output_type": "display_data",
236 "latex": "$$X_{0} {\\left|0\\right\\rangle } = {\\left|1\\right\\rangle }$$",
237 "png": "iVBORw0KGgoAAAANSUhEUgAAAFQAAAAZCAYAAACvrQlzAAAABHNCSVQICAgIfAhkiAAAA0BJREFU\naIHt2EuIHEUcx/HPJpFlSQyKUbIs6iFKDBjwgZfgQTwoERUxqPhWVokmJ9EEEpDMQRRfCAqiogjB\nHBRBDd4UFFFQwefiQQ1kTQIRRQ+aRFbUzaGq2e6anp7p7Vl3decLQ3X9q/pfv/lPPf41DFg03IKx\n+RZRQS19e3AI0/FzKDrIeDbXdgzvY6jC3/YS2414DQ/jUdyQtK/Etl4FN6RMX8YmIR4ptfUtwz4h\naGuStiHsx04s7cFXK6lficM4JSduEteUvLesR71NaJXYxrAFf+L1ivcK+pZUDPIXXojPNyVtT2Cr\nMLv+rpRazk7sxS+x/hvewssYzvXbi6tm4b8pd+MxrMA/Ff1q6zsVU/jBTPB34LaaAlu554uFWX9t\n0mdjtF+a2B+qOdZsaFW0HdF5hpLoq5qh8DPewBm4AuPCzN3dVWJnLozl94l9XywvKbGf1WC8uaag\nr1tA4flYPol1eLyhgNWxPJLYj8ZyNLG/qv3AWkgU9PWy4b+Hb7EWz/RBQBbQo4k9q5+U2P/A8g6+\n1gurpSrDSDmAq2v070ZBXy8BPcfMxnwXHmwoYCqW6WZ/Qgf7iCC6jAmc31BPUwr6ui35MWHTvTy+\nNK55GjPRwZ79yocT+/XCslqoFPRVBfRkYYnfi4PxpVHtuWJdvs75z7Milj8m9rX4ruGYc0lBX6fZ\nNiIcRvcLJz08hztwj/Y0Ygi340RhVn+Itzv4zgJ6uuJJf1Es8zP4AnzWwQ+cK+SudffQNGWbLd30\nIQR5N84raftC2OPOTuzX4cX4vEQI2vpceyvpP6k9W3gF3ygGZ5f5uyllVOWhbfrSJb9GmF0T+LLE\nwR7hC29J7NuFWwMh4O/i1gqRO3AnVsX6qJDYPyIk94TZfkzIe+eLlcLVepX2VVCpb6OZe/u0sMw3\nJH1eElKbrM9X2BzbfjeTsMMDeCdXv69kzHG8iaeEH2Nz0n6zsC38G6T6NuFjIQ7Z953EBzhzrvUN\nxwHX5Wxb8elcDLbQ6eWm1I0pIdWZztmW49c++P7P0Y+Awuc4LVdfLZymi45+BfQTxX+JLhPSrEVH\nnfytihEhgB8J/0z9hKf75HtRM9y9y4ABAwb8bzgOJqKj+ElYpHwAAAAASUVORK5CYII=\n",
238 "text": "X \u22c5\u27580\u27e9 = \u27581\u27e9\n 0"
239 },
240 {
241 "output_type": "display_data",
242 "latex": "$$X_{0} {\\left|1\\right\\rangle } = {\\left|0\\right\\rangle }$$",
243 "png": "iVBORw0KGgoAAAANSUhEUgAAAFQAAAAZCAYAAACvrQlzAAAABHNCSVQICAgIfAhkiAAAA0JJREFU\naIHt2FuIVVUYB/DfmHEY1CEDQ5GisDIhIQtfeooeukHRPegOJmk+RWUoRechIsjALkRFERhCQReI\n3grsoaCCrvNkGpEJRUFBZTVgMz18a5p9lvvss8/FIzXnD4e11/9b61v/+eb71l5rM8K8wc1YeaxF\nVKArfbtxEDPpdzA5mMUzBdsfeA9jFf62Vtg2YWcJP4H76gruE2X6LsHreDT9Nmb2rvUtxH4RtFWZ\nbQzfYDuOq+GrWcKdhm2YxtMV8xbW8N8vmll/PX7FKanfwBe4s2Rei74FFYscxvPp+cbMtgNb8Aj+\nriE4x/3m/oiqzH4Ll/fgv19sxx4cSP0pvIIncFJhXNf6liVn35oL/jbc2qXAZht+saiAdhkKD3e5\nVi9oFp7PFFVzVzZmndCaJ1eLvqoMhZ/wpkj9y7BBZO6uruT2h/04fYjrrRNVs69EB1xQwv+rr1NA\n4bnUPo41eKxrif3hVdwwxPWWp/b3jD+U2hUZ36Kvzoa/B3uxGk/1ILBf/IlFbWxrRbVU7cM5DuCK\nCvtsQA9l/DT+wglV+uoE9KzkDO7AgzXmDBLjQnQZJkWJDhJTqZ0usR1fwrfo61TyK8Wme3GatMFw\njjFFXC/KaliYbMM3xBHx+4xv0VcV0KWixDfjuzRpBa7sVWmPWI2vhrjel6ldmvGLU/tDxrfoa5dt\n4+JldI9408OzuF3cbF7Lxo/hNiwRWf0+3q6jvgPOxScV9rPxku730Ksr7F+L/fPkjF+f2mIGd9KH\nCPIunFNi+0zsIWdk/HV4IT0vEP/ltQV7s81anc6hDzk2N6UP8XLG7RDl3ihwR+jLS36VyK5JfF6y\n8G6RDfmhd6u4NRABfxe3tFNfwImpXVZiWyK+Exyu4WfQeABX4dTUn8A14ug4+9Kq1HepuXv7jCjz\n87MxL4pSmB1TvNv+hvMKY+/FO4X+3ZmvjfgYvxT87RMfWSbSmJscWXZHC7k+uFZcanbiDXFdLibg\nUdPXEAFZU+C2iIDNO9S5KXXClNhbZgrcIvw8AN//OQwioPCp1q8wy819qZlXGFRAP8KFhf5F4pg1\n79DN+a0K4yKAH4gvUz/iyQH5ntdodB4ywggjjPC/wT+UDKQb+BPLoQAAAABJRU5ErkJggg==\n",
244 "text": "X \u22c5\u27581\u27e9 = \u27580\u27e9\n 0"
245 },
246 {
247 "output_type": "display_data",
248 "latex": "$$Y_{0} {\\left|0\\right\\rangle } = \\mathbf{\\imath} {\\left|1\\right\\rangle }$$",
249 "png": "iVBORw0KGgoAAAANSUhEUgAAAFYAAAAZCAYAAACrWNlOAAAABHNCSVQICAgIfAhkiAAAA3lJREFU\naIHt2F2MXVMUB/BfP8bX0KJSxTTUk/BES+LBEF8RSYmEphlE0HgYPIgE4yNuhCYi8SRBeJKQIVGC\nBPWVNiJFpFIJQtOI74eWFBMRTD2sfTNn9j1n7j23d1rp3P/LPvu/19n7f9ZZZ+29Dn0c0FiHJftb\nRBdoq3sVPsDf2IMJbMJgZncsfkk2k9iG4zKbO0rmvx7jeAgP44psfClubfMQs40y3XAo3sXpJWMd\n675WOO2ZNjZbMFQx3sj6a/ENFqX+EvyIizK7BzCvE5GzhEbWH8DZ2Ch8sqrivlLd87P+BhGtl+Hg\nkklWYDXOxfcdiJ2HMbyI3xK3C6+Ll1dc/22tzt5fGBC+WINf29h2rPtZ8YauzPhFeAlHt7m/Ubi+\nJM11cWZzVeLPyvgHOxE4S2hU8LeYOWIp0Z1HLOFYuLrALcATuFPk2E6xMrVfZ/z21J6X8T/ghBrz\n/1/QorvMsRuxE5fiqMQ9gqfwVc0Fl6X2j4yfSG2+8T2HkZpr1MWICJJx5c/fDVp0Lywx+gcvYFSk\ng4PwOd7rYsGmYycyvtk/MuN3m3qZOVbiafU2uO2mp7TV4uRzs8j5F+CtGvNVoUV3mWOJdDCKu8Wb\nHetywb9SO5nxAxX84iSyDJ8oP/LUweXi7HkODsN3ezlfEy26qz6FLcIpu3DPXiz4WQXfPB//lPEj\n4rOaLaxP7Y3iGb/s0bwtuqsce6o4br2hNarqYFtq88/78NT+nPFDehdFZdghomuN2DN6hRbdValg\nOLWbSsbmi0rqECwXuffNinmajl1uenSemdpiRA9jc8U8cAaeVD/Hrs24a8Q+8rxw8kLxZXaLdrqn\nYVwk+bykJSqvx9L1AnyBUwrjjcx+J+7PuJfxUcbtq8rrY1PRep+pDbZRYd/uHNtR5UU4axifat3N\niZr6lXT9r4jYmY5Id+EmER1wotiN1xdsjhFRs2eGeXqFIbyD48UmmqejHM2CaGnJWEe6TxIhvSMZ\n/o73xafTxDyxqZ1W4O7Fq4X+bSVzj4oofRSv4bpsfF0SuS9wgwiMMRxR4HPdG0QqmxT++BNbTa+y\neqZ7cVpkRYG7XY0cM1dQt/LYbeq3YROD6pW5cwLdlHRbTc83y/Btb+QcOOjGsR/i/EL/QnEM6qOA\nbo43g+InxmacLKL18V6Kmuso+xHeRx999NHHFP4D70iuykbrxK8AAAAASUVORK5CYII=\n",
250 "text": "Y \u22c5\u27580\u27e9 = \u2148\u22c5\u27581\u27e9\n 0"
251 },
252 {
253 "output_type": "display_data",
254 "latex": "$$Y_{0} {\\left|1\\right\\rangle } = - \\mathbf{\\imath} {\\left|0\\right\\rangle }$$",
255 "png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAZCAYAAAAonOB1AAAABHNCSVQICAgIfAhkiAAAA51JREFU\naIHt2VuMnVMUwPHftLRiRIsaI6YoHlyelEZ4GEK9EH1wT10S0fShcYnUJUriRAjCw0iaqJBIJKQR\nIUHiEiJthIoKWiGqRFxCBMmEEdeOh7WPOWef7zuXmTntTHr+yWR/3/rWt7+19jp77bX30KNHCatw\nyJ42Yg/Q1O9T8Tb+xjjGsAn9md5h+CXp7MI2HJ7p3NrEiLW4t0A+gOubvDcbKPL7fDyL+3A/rs2e\nt+X3VWLAn2yhswVDJc8rBbLjknw8GVfE3ehrZeAMppLdn45RE+O0H7ZrDEyD33MyhefELFmB+QUf\nXoILcCa+bdPYu3CHCEgzXse5bfY5G1gnfKqO0x94BuvVp6y2/H5KDODFmfxAPI+DW7xfKZEPaj5T\n4J5Wxs1gKjXXJ4j0vjrTWSbG4NJMXud3PlOIoMAVNbK52IDbxJrSLb7DEV3sf3exVKSkzzP5ztSe\nlcnr/C4Kymv4CefhoCR7EI9hx9RsbcnTWNnlb0yVo8TC/RLOKdEZTO1vmXwstXlxVOf3PgUd/iNy\n3xqRwubhE7zZrtVTYNTEDyHnFDyus2Jgp8Y0PBX6RLa4ObXr8EaBXjUoY5n8LzG+CzN5nd9FQSFS\n2Jr00Y24vQPDp8ICYWAR7+Pk3WRHGSvwMn7Hco3pqcqfqd2VyfvEUpDL6/wuC8qW1PHPonLaXawU\nU3mm8hG+xvE4Q/xoi9heIt9fBOb7TF7nd1lQThQl8Ssao9pNhvBNl7/xME7rQP86bE3XX6V2tVhf\nN5W8sy21eSo+ILU/ZPI6v8uCMpzaoo/OwTViM7RYrDWvlvTTCcPY3OT5Ujyq8zXl8kx2Y4d25czH\n1Xgg3R+LLzKdHWJfshjv1MiXpbZ2JrXy+382iiOX/JiF2NGvT9dz8amYzlUqJX222qfMlh39RWKx\nHsAiE/5WMr2teCKTjYjN5LwaWcsdPTHQw/hQY/VAnPG8kK7/FTOlnTK2uukcKHi2SKxfrXb9M4Eh\nfIwfxazbUKJ3Jy7Bkel+IS7EQ6IKow2/jxbT6Muk9CvewpU1On2iADgp+/iLNfc3Zf3egPdEdTGe\n/j4Twdw36axKBs4GDhV7uRGx2FfJ/YbLxCnISGpvUT8rpsXvBWJQl9TI1mozJ/Zoj6L01YxRE0f3\nVfp19+hlr6PToMAH6teFQVG795gmJhOUd3F2zf1yUar2mCYmU4L2i4pjM44Rs+SR6TSqx+Qp+idY\njx49evTYe/kP0yK1Sgfn/IEAAAAASUVORK5CYII=\n",
256 "text": "Y \u22c5\u27581\u27e9 = -\u2148\u22c5\u27580\u27e9\n 0"
257 },
258 {
259 "output_type": "display_data",
260 "latex": "$$Z_{0} {\\left|0\\right\\rangle } = {\\left|0\\right\\rangle }$$",
261 "png": "iVBORw0KGgoAAAANSUhEUgAAAFEAAAAZCAYAAABJhMI3AAAABHNCSVQICAgIfAhkiAAAAvlJREFU\nWIXt2F2IVkUcx/HPo65LWppS65ZFWUFXiRGiJKYI1RIlQlem+dabC4IXQnkRqEghXqkZXob2RkFQ\nRCFIEXXpnVJGhm+wrVEp+BYq7nYxs3WaznN2z3OedVOfLzzMmd+c88yPmf/M+c+hxXVHNyaMtIkC\nSvnrwCX04zIOYx/2xt8fse3ZOs+Pxroc/RV8iDewFc8k7VOxeqgmK3BV/K3ERaxFW9K2CFewo+D5\nMXg90VbgJ4yP9Q78innJfZuHarICV8XfJ3g6R5+FC/gMo0qYHIUfhRnO8j6Oo5bRnsBjQzXaIMPu\nbyy+ydHvE2ZmP8aVNLlIWP5p589HfXpGqxn+aGyqv7xo6vTfGZmML/GnEKEXSpp+JJaHE/3nWM7P\naP34DbeX7KMKlfzlDeIJ4SUyQDs+xRQ8JURjWTpjeS7Rz8fyjkT/AEsb6KdRKvkbM8if1/AOZqML\nPzTm8W+T5xN9oH5rov+ufiTOxVsl+z+AZQXtlfwNNohvYjGW4+tB7i3iYiz7Er2tjn6bkEbl8R1m\nVPCSRyV/RW/Yl7EeG7Eno9+EBSVNHqyjD6QTvYm+BO+V7KMKlfzVG8QuvI3d2JS0LcbEch4diOWk\nRL85liczWk1YKo3svY1SyV/ecp6Bj/EtXsppX4UnhVBfJWT/0/CF/NQoa/JunM7oM2OZjYTH/fvF\nljIH2wva8zgoHCDq0Ux/7kIPvpcfbc/h83jdjS3xuk1IB+6N9TQPq+EsXkv+b6+wx2UZiRNL0/xN\nEGakF/ckbXcK+2MfXozaUTyauWcPXq1jEtbgGG6J9QeEfLMr6ae7yGSTaKq/7HLehoeESPwoamNx\nv3++XFwWIrFdiLqezPO/4OF43YczSV87Y3/v4ggexAvCbA+wUPgAMNz8L/xNFTL3bC63QTjV3HAU\npThFnBSOgP0ZbTxOVXZ0DdLoIF4R9s+OjNYpHBlblGC7sBkT3m4nhC89Nxy1wW+py0TswlfCJnxI\nOGe3aID2kTbQokWLFk3iL4dftLkOERIkAAAAAElFTkSuQmCC\n",
262 "text": "Z \u22c5\u27580\u27e9 = \u27580\u27e9\n 0"
263 },
264 {
265 "output_type": "display_data",
266 "latex": "$$Z_{0} {\\left|1\\right\\rangle } = - {\\left|1\\right\\rangle }$$",
267 "png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAAAZCAYAAAAhd0APAAAABHNCSVQICAgIfAhkiAAAAt1JREFU\naIHt2F+oFVUUx/HPuf65WGAheTUNNKF8NQgKRB8kSaong8CUQiFTkBAS6SFJEcVXkainpBCDIKjI\nCCINRRGEHhL0wRdJi8L+UFCBEqeHNVfHOXuOZ+45586V5gvD2Wft2Xuv3+xZe689NDQU2IrZdTsx\nJCprG8N1tHEDl/AVvsyuX7O650vaT8PrXfp/E7sS9oXYUsXRmuimr7K2kZKOnhUPeTvuwSNYjTV4\nF/fjED4uad/CrIT9UezHXiGkyA+Zs1OdlL4Ja5teMshz4i3/vGB/Akcz+/be/L3JPjyIq3e47xRW\n4mTF/utk4Npm4puEfQl+xjkRHd2YLsIyxWIRZbtL6lvibZrKlOlbbALaUsvRfDGzeebgC/wjouTv\nnlydGG1cw9whjlEXSW2pSfhebMLjjOITzMMzIhqGzVFsmIRx6qBDW9meME4Lh/Gk2JQvDMevDn5R\nHgkrRFJQhe/wUl8eDY4ObXeahP1Yh5dxfEhOpXhApMEpTmHZJPoyaDq0laWosBlviE3mg5x9FlYN\n2rMC63FkyGPURYe2skhYg7fxPvYU6tbh94G7douWCNdh7z3v4LEe723jVbGs9UNSW2oSluEjkcu+\nkqjfhKcxIytPw8M4Jp3aVmW12xODIstxsGKf57GxYNtasY9BkNRWnISHxMO8grXik0WeF0UU/CVE\nLBJL1gxcxFO43KejK6SP/eOcxuN9jlEXSW35PWG2OAuMiFT0j1zdAvGwj+DTzLYTn2XlGziDF3pw\nZE72O5aoW4Afe+hjqtK3tvfE2ncVZ7PrWzEZ7ey6Ls4Lo9n/Rbn2B/BhVh7Ba4X+d4jT9p+5/i7i\nRO6eLeK71FSnqK8WbQuzgfL57lsikhoq0i1F7cZP4hNGO2e7F7/17dH/kIlOwr8iXcuvffPFJ4+G\nSeQgtmXllpiAJfW5c/fS6qPtfeLA8zWWio3o8CCcaqjOaN0ONDQ0NDQMhP8A5tyQhDNNGmcAAAAA\nSUVORK5CYII=\n",
268 "text": "Z \u22c5\u27581\u27e9 = -\u27581\u27e9\n 0"
269 },
270 {
271 "output_type": "display_data",
272 "latex": "$$S_{0} {\\left|0\\right\\rangle } = {\\left|0\\right\\rangle }$$",
273 "png": "iVBORw0KGgoAAAANSUhEUgAAAFAAAAAZCAYAAACmRqkJAAAABHNCSVQICAgIfAhkiAAAAxFJREFU\nWIXt2FuIVVUcx/HPNGMoE1qBNRoRGpHVQ/SgFYSXwEKofCmwgp566iVIiMKgE1pEShAEPgiCqFTY\ng1BgF3opCO3Bl6HQLkxRjEk3jSYvXcaH/z7MdrX39uyzz2gj5wuHfdZ/3X5n7bX+//869LloWIDH\nLrSICgr1DVV0GMITWJZ9n4138Cbewn0VfZ/GK4ntFryAMZzAaWzByaz+CG44x4/oFdOubw7exXO4\nJGd/FofFIlbRSsrzcAz35Gy7sC1ptxZLOxXZgFZS7rm+PQWd24zj8ZoCN+CHxLYak7g7ZxsUu2C6\naSXlrvXld1ebeWKl95RMPoqPOhQKl+JJfJDYP8afznYF/+B3XF5j/KY00le0gHdhlvLz/onwE51y\nLebjq8R+Srz1lYn9DTxSY/ymNNJXFEQOiJV+FYuwN7P9ldVvqilwJHv+UVA3IaJbnnEsrDlHExrp\nK1rAn0Ww2IT12WcCO4SvONalwIkSgUXH9UvcKAJWyodix3TKJB7C19OhryyN2SxSloexCneIlOZq\nPNiR7ClOZc9/C+pmldiXYGfJeKtrzn8uGukr8oFtDuF5LMdt+F4El9k1BY5W1A2L/CrPAnFMJmvO\n0y2N9KUL+EzJQJ9jd9ZpoKbA73AcVxTUXYYfE9uj2Vzni0b6hpLGK/FyyURzcVBk6XAnVojgMgcv\nKt81oyLa5ZmP6/BezjaYzfNbyTiwT30fuA7fVLTpib41+BvXF9RdhaPCH8KVwsG3X8AWcT1q00r6\nv44vEts6Ee3z6dID4uo43bSSck/0bRa50Nu4OWdfjP0iGrfZgO258nIRmcoELsJPuD8rD+B9/70S\nbiwT12NaSblrffkjPILbcSteE+H7F3Fkn8KnubZL8G2uPC7e1LAI/ceTecZERr9e7PS54kjld+2I\n6mPWSy64vn0iV2xzjfA15zMB/l9QlcZUMebsgDGcPX9tJmfm0e0CHhSBpc2I8CEni5tfvHS7gJ+Z\nishwL7Y2lzPzGOyy31Hxt9ca3CR24EumrkV9OmRA/J/Wp0+fPjORMyCOwRiXS9e4AAAAAElFTkSu\nQmCC\n",
274 "text": "S \u22c5\u27580\u27e9 = \u27580\u27e9\n 0"
275 },
276 {
277 "output_type": "display_data",
278 "latex": "$$S_{0} {\\left|1\\right\\rangle } = \\mathbf{\\imath} {\\left|1\\right\\rangle }$$",
279 "png": "iVBORw0KGgoAAAANSUhEUgAAAFYAAAAZCAYAAACrWNlOAAAABHNCSVQICAgIfAhkiAAAAwpJREFU\naIHt2F+oVFUUx/GPXpO8lkWQXdMHKSUzTXxQKqK8QYWQ/6CHNIggS+ohEEHqSSH7Z9JbCEGiqdSb\nkcINTLwgIlqYIEIFpiIUWmlEUFF5e1jnNmemc840M+coXecLw72z99pr/WbtffZe+9BlxDMJT11p\nEW2QqXt0wYAxeBE78CE+wjMYjz1Ngq0t6LsbRzLav8P0Jn6rpjTdeYkdJxI5QczGE1iKiTiKX5oI\n7M1ouxHL8GniJ4vPMa+J7yopTXdeYt8XM7EBl1Ltr+P6JEgrLMB7mIMLBXZ78FiLvqtkgTZ1j8kw\nugFLGg1THMe+FgUOJh9C7NQcu7/ws1glP7UYowoGtak7a8Xej2vk73cHcKodlf+RD7CiQv9VUac7\nK7GHxQy8jU1qiR5mQ5Xq8C1urTjGLLyFAfGYl0Gd7qzE/oCXk//XiBV6Ee+IpX45+Bp35PTtxbEW\nPl9gWmp8L1aJ33heVD6l687aY4nZ3I3l6Mc9eAG34PESheQxA9tz+h7u0PezeFccyv3Y0qG/NP/o\nLqpjv8Q6PIC5OCsOtWtLFJLFJPFYDVXkf7c4gB/BFGwtyW+d7sbEvpQz6AR2JoNGlSQkjyeTWFXx\nTfL3OVE2ni7Jb53u9FZwnSgp3sgZOEFcDn5Nvt+LB/GHuFC8qvNV1pPEuVhgM4CbW/A5JC44J1Nt\nfVikdorf3tDfKoW6F+LPJEgjE3FO7ElwE75Sm5hN6q+D6wtEDMpfJYsxv2BsWazBjxiL2eIwo0Td\n6a3gIVGfvomZqfbb8DE2Yn/S9jwOiomQ9K8sEDVMj7iA9Ip3Do3Mk30fL5spotq5JN5/bGti35Hu\n7WIl9ouS5jN8gl24L8P2ldT3aeKRGw66usF+dvJDziR2Q+IJOKR2yvfh6TxxJTND3B434q5U+xXX\nPaBW68LkJGjVhf3/hqJyq4hT6g+q4ZVa9KLiqqLdxB5V/wqtD9/jt44VjRDaTewRtQoBHsXmzuWM\nHHraHHdOnJILcadYsa/h95J0XfWMErVgly5dunT5N38DiqamQGdaPfcAAAAASUVORK5CYII=\n",
280 "text": "S \u22c5\u27581\u27e9 = \u2148\u22c5\u27581\u27e9\n 0"
281 },
282 {
283 "output_type": "display_data",
284 "latex": "$$T_{0} {\\left|0\\right\\rangle } = {\\left|0\\right\\rangle }$$",
285 "png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAZCAYAAABw43NsAAAABHNCSVQICAgIfAhkiAAAAvNJREFU\nWIXt2E2IVlUcx/GPo43ju7YQqzFxFEJFMiVcREPUMnQr6SbSQDAGhISWLhRFaKeQEGRQiREVLSp7\nWfi20ZBSCEILq0ldpClWvqYtzr1xPN77zB3vHYex57s55/7uvf/ze849L//z0GbE04dxw22iBYX+\nRkX1hfguq/+AnzEVS3EDh3AFU/A4ujANF6MY47Aa25M2+vAkTqETX+GL6Jm5eApv38UPGwxD5m8z\nPsCkSFuAW9iVPLsQFwpiTMSrifYKjgmdDd04l5mN2VRmrEEa9dcR1ZfgBVyKtN6s/DJ577gwEgfi\nAWzAbmHUQj8OuvMrHsXiCjGbpJa/vPOewAFcT17IO29/oo/G7xXMrcCj2Jvon2MeeiLtEyyvELNJ\navnLO2863ioI3iusA78meic+rWBuSVaeSPSTWflMpN3A35hcIW5T1PKXd95enE4CzMXD7hx1cBl7\nKpibkZV/JXp+/VCiv4dVFeI2RS1/Y1oEzqfsvru2Fsxdxs0Sc1MTvR8zS2I9h9cH2f4RvDxU/qp0\nXtHIq8rVAmOEhVrBvW7BYBFfY1ENL0XU8tehnF5hKp9s8cxAHC/RJ2TlmURfKUyNe0Utf2Wd143Z\nwg5ch2MYL2wwMROz8mykjRFMF+WPQ0Utf2XTttWUHYuXhMy8Bx8LeVGZuVHCx/gp0vMENP7yy4R0\noIxnsa3F/SK+wdoW95v09x9vCCeLBQX31mNjVu/KGn0ku04z+E5cw7okxkF8lmjDccJo3N94/Ig/\n3H72zTnj9kz7feFsWGQOXsP3WVzCB7mGp6Nn5uDFKuZq0qi/fNp24CPhXNuDWZl+WJjjbwp53RRh\ne/8tinFaOKHAP/gzaWOrMIrfFRLux4TMPl5Pn8/aGGqG1d+crKH4z4Mt+LBu4JFIq1SliH7h/Hsr\n0ibgfGOORhCD7byrwvowPdJm4JfGHN3n7MSarD5aWPPKjlT3NUW76UA8iB3Cf3zz8S3eadLU/4Gx\nw22gTZs2bQbJv2c0thLwHEogAAAAAElFTkSuQmCC\n",
286 "text": "T \u22c5\u27580\u27e9 = \u27580\u27e9\n 0"
287 },
288 {
289 "output_type": "display_data",
290 "latex": "$$T_{0} {\\left|1\\right\\rangle } = e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} {\\left|1\\right\\rangle }$$",
291 "png": "iVBORw0KGgoAAAANSUhEUgAAAHgAAAAlCAYAAACJdC37AAAABHNCSVQICAgIfAhkiAAABFZJREFU\neJzt2nuoFHUUwPGP3u2ppvmosJCLFFmYWNGL8hFlYRFlJIlRiAQKFZVESUUY9oaQ6J8C/UfsXaRF\nkAQRFoRID+hBZEaRPS0yzbKbZn+cWe64d2bv7r27d/de5gvDzP7mzG/OnDO/3znnN0tBQYE1rVag\noDl04FZ81WpFCprLO61WoK8Mb7UCBc2lcPAQp3DwEKdw8BCno9UKDAJuxtUYhc+xp7XqFBSkGNZq\nBYYgJVyGiXgKnbgFx1fI7cdi/DOQyrWKa7XPy3agn9t1GIOPMQmrMAOPY3pqP6XBemfasJQ6nojn\nReJ1QMSaw3BIcr4r2Y5MZP7D5did6uPQpO3VHCXmJf29WNH+PS7Bxlqfpon090U7ExOELUq4Q+Q6\nM4XTr0/2eTTNhrfjU1yKcUnbicLZb+rOuEu4AX/rmYWPTB6okmEiUenKOQ8r8xQbhDyGZanfCzFX\n2OfZXq5tqA3TDro42Tbit6TtnGT/mhixsA9rsSXVVo1HsQlLdc8GWWzHCTX01wo68GSNsiXh0LWY\nn7QtETaYIKbneumzDcsOnoRt+KnigpnJflNOZ7Vwj4hBy3qRe04Yph2ZjdNqlD0CvybyO8Sz/ylC\n3g5MFmGuHvpsw3IMnoHVGRfMFKP5s4r2EWI6r4V9NcrtEg9equOagWA09tYhv1uM3C58i2NFtkw4\n+iz8VacOfbZh2cHPZAhPEJneehGH0+zBQ3UqWQsbcCVeaULflZyCOThGlCqr8WOG3CwRoupha+r4\n54pzn9TZV70cZMNSFcFq03Oz+AjXyHbw+SIRrIcvcG9G+4MigVyCnaJWXYkbK+Qmi1E4mDjIhu3m\n4FFiGsviAyyvs7/dGW3340LxwpRnpgV4K0N2KsbidBwnRnyWXDtxkA17c/Au1Wu2RrNAJApZ7NX/\nf1Z04j5R9j0sas4O8fK8kCGfnpoXaX/nUmHDPAePwTRRMu0fAKXKdOKbJvY/J9kvlh1v81gu8pEr\n8HqjlWownVI2zHPwBaKEypuep+NsURK8hB8aoNh5eL/K+UbE4HLJUo9z4ZFka3d62DDPwdXi7zyx\norJIJCFv6DZcf5iLFVXOb5G/gpNHpU7b5ZcoS/G0nhXDYKKHDfMcPFssRW7JOLcCt4mpeyt+wVVY\n18vNy2u8Wd+gx+J31VfGuvR/+t6AO0UGXY7nw8TofE/7O7duG5YdPBx3iSl3qijGu8Sa6k68jXdx\nuIjNX6b62CpG8DrdX1TSzBfT60XJ77vFyP8ODyRtC/W+RtsINuMmsVC/RnzCG5Hce/MA3L8WGmrD\n9JeTc+WP6G0ibk1OjkeLDJvIRk8StZfk3B+pa6dgfEaf+3XHi/FieW+gKOFk8aL+O4D3rZWW2fAo\nMQWMTLWtEgvrBW1IvX+624WvxRtW5miNyaILmkBf/lX5Ic5I/Z6FlxujTkE7ME2s6JwqPmM90Vp1\nCprBKFFKjetFrqCgoKCgoKCgoGDo8T+sAvYh0KrrKgAAAABJRU5ErkJggg==\n",
292 "text": "\u2148\u22c5\u03c0 \n \u2500\u2500\u2500 \n 4 \nT \u22c5\u27581\u27e9 = \u212f \u22c5\u27581\u27e9\n 0"
293 }
294 ],
295 "collapsed": false,
296 "prompt_number": 13,
297 "input": "for gate in [H,X,Y,Z,S,T]:\n for state in [Qubit('0'),Qubit('1')]:\n lhs = gate(0)*state\n rhs = qapply(lhs)\n display(Eq(lhs,rhs))"
298 },
299 {
300 "source": "<h2>Symbolic gate rules and circuit simplification</h2>",
301 "cell_type": "markdown"
302 },
303 {
304 "cell_type": "code",
305 "language": "python",
306 "outputs": [
307 {
308 "output_type": "display_data",
309 "latex": "$$\\left[Y_{0},Z_{0}\\right] = 2 \\mathbf{\\imath} X_{0}$$",
310 "png": "iVBORw0KGgoAAAANSUhEUgAAAHYAAAAZCAYAAADkBdqeAAAABHNCSVQICAgIfAhkiAAABSZJREFU\naIHt2XnsXFMUB/DPb0FpiQpR0kYpiYoqGgSNoJbiD2JfSqwVqVgihEotsaRiiVDUEmIXaxDRWCcR\n4RdibdIosdZSFRJ7tc3PH+eNvnm/N/PmTec3kvb3TV5m7jnv3nPfuffcs1yGsFqiK9N+AmPwJU7H\nhhn+3/gpQxuGjVPtf/BjC3MZieEF7/yBX+rwevAmevEyLmlhDq1iffzWYt/h4tvTWIolyf+sfiW8\npWWEVFL/T8SLWIF+zMdlOX2mio/qx9eYU0ZgCl8kY/yMt/EQ7kme+QnvqibG2RZzW5xDWUxHH57D\nx7gN65Yc42g8LwyiXxjFDSn+/liU8H7BK5hUdqKVHNrcZNCTG/R7HDPLCkthApbjcnRneLsIS31e\nWGUROrWwZ+FmK+c0CovxhrDgspgp9DwrhzcH9yk+0eqikkPbKxH4Up0+M3BGqwITzMRFOfSx+AHv\nav6jOrGw3fjMwAU8U7ER1MMoLMPnal3kUbiihfFqUMmhdeErYVGbZXgH4rpVFYoXDFTSSCxIZGfl\nNkInFnYbsYBvZ+gTE/pDLY77ZNJ/atKeokXXlj328tCPR8WRc2yKvh2maU+Qcrfa4GNtPCMW9GB8\n3wYZ7cQiYVnZAKY/+c362V7N6bq6Ic/EzsLyz21tirWo1KHvICb9btLeBE9jRDuEZtCFh0UwMaWF\n/s1YbLdQdrNPnm/Po50k9HRBinYwrhfWvWPBvLrEEb9MbOyygdh/6G3yvY9EZDpJLPIssZN+b1Vw\nA1yN48VufXUQxu/Fa1ivRJ8VOEztybEi571zRGZwZ9LeHLviQuFuTtHYAvvF6TUbH+CvEnNsiEoD\n3sWJ4K9EpDoYOC2RceUqjNHJdCeN00X0PjlFuxabisDvN5EeNcJwPCXqBd9oLgtoCpUGvClC6auS\n1jTCAeIIeiCHd1KJcf6PhZ0gUp19MvRq4eE0segbNBhjLTyC8SL46seh7ZpgpQHv0kTYYFjrRPwq\njsi1M7ydcE2JsTrlY6vYVLiqyQ3e6RN5aD104S7snrT3FLp+seA76qJZH0vks7/jvRzeFjhV+KCd\ncYvwyVVMxEL5PmO08D+LcLgImtKYIT66WVlF6BElx7I+9giRU6exngj0pqtNfc4TxQsiJtkV54sF\n3MlAHc7Gs3grab8pKlkHYEtRlcuilB4qdeg9wqLm1eE/i32T/+NEKrBW0h4rP+cjctcPhcLG5vD3\nFlFiOmFvJIvOHcXdeFBYVxojhJKruAGfJP8PwiGZ9y+WX9CYIfQ2u478Ij3UoFKHPjkRklcr3kpY\nctr6F1rpb4YJC3lfrY/pFRvlD7XH+zrYXkSYS3FHCVl0bmFvEqdMJfPMF3OvYi7uFf729hR9DB7D\nO3XG31LofLGBlwSFeihKmo8SlvYAvsVxeF0or4pxonC/PEVbLBaHiPD2F9Fe+ig+IXnnO9yayOkT\nu3ueKDEuEXXoZmV1CuOFbmDrzLOhOEaruFFEu2eLNHG4+M63hMGMMjALOFb4129FQNknbt6qKNRD\nkY99IjNgHjbCnxna3waWCNdNJlnF/clTBs3KGmwsEBbXDD7FMRnabgV9HkueeijUQzNlriIsNPBe\nd4Tae9v91O7iwZS1JqBQD+1Y2PliB6UxWjjzKiZpvAPbKWtNQKEe2rGwy4Rf3CNpTxAXwulyYDtu\ngJqVtSagUA9ZH7tEFPq/xJElBE0TBYwdRAAxzcqbjnajnqweEWT0qJ+WrU7opM6HMIQhDGEIQxhC\ngn8B8whCyP5F+H8AAAAASUVORK5CYII=\n",
311 "text": "\u23a1Y ,Z \u23a4 = 2\u22c5\u2148\u22c5X \n\u23a3 0 0\u23a6 0"
312 },
313 {
314 "output_type": "display_data",
315 "latex": "$$- \\left[H_{0},Y_{0}\\right] = - \\sqrt{2} \\mathbf{\\imath} \\left(- X_{0} + Z_{0}\\right)$$",
316 "png": "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\nQmCC\n",
317 "text": "\u23bd\u23bd\u23bd \n-\u23a1H ,Y \u23a4 = -\u2572\u2571 2 \u22c5\u2148\u22c5\u239b- X + Z \u239e\n \u23a3 0 0\u23a6 \u239d 0 0\u23a0"
318 },
319 {
320 "output_type": "display_data",
321 "latex": "$$- \\left[Y_{0},Z_{0}\\right] = - 2 \\mathbf{\\imath} X_{0}$$",
322 "png": "iVBORw0KGgoAAAANSUhEUgAAAJUAAAAZCAYAAAA40GzsAAAABHNCSVQICAgIfAhkiAAABVhJREFU\naIHt2neoHFUUwOEvPmOMsUZDFBWNXVGxYRR7Q6Niw95rFIJdJPaKiooYCxKJLdiwtySIIrZYsMUS\nS+yCwS7YEo0x/nFmefMmu7Mz++bFLO4PBnbuzD3n7pkz55577tChQ8X0q0jOtrgRv+JMfIIFMvd8\ni1mZtqHonzr/Hn+2OIYFsWyB+6bjn0zbiTgES2Nj/NLiGP4LFhN2b7XvEpm2Gfgx+T1Q2CTNd/ir\nRX2l2AWjk9+DcRe+whzMxANYo06/F5J7ZuB5bNKLMRyfyJqFaXgC45Lj7uTad1gqR8YjWLIXY5hX\n9MMZeBkT8TauFC9WGY7EJPwt7DMdF6Wu7yWCwRz8gCexdi/GXYq0U9UYlgzmw5x+m2AKVq5gDBPw\nFtbMtC8gnOUPDG8io12c6jycr3s2WFVE1wkY0IK8K8WzOrHOtTtxfYtye0U9p4KXxGA3qnNtCB7G\nohXoXwSfinCdZQxmY58CctrBqRbDR3qmDXCOsPXuLchcTaQEb2Xaj8FpLcirhEZONUr80Wsy7QPE\nlLhiRfr3ENNBllMS/UUN0w5Otbn4TxMy7Tsk7de2KPfppP9myfmeuKJFWZXQyKmGiBxnup6J+1hs\nWqH+HcQbnGZvEaFuKCGnHZxqGWHPBzPt2wunGJtpz0a0Ruyb9L8NW+Fm1S3kWqKRUxGJ5BzsmJyf\njf36eDzDRQ71GLpK9GvmVP1EMlzm6IsHU+8/nSbsfESqbX+RL70m8q48+uMbYbd7FXfGuSi7WmiF\nuzBCLNlrK6/7+1DfKngc7+MgEa2q4jiMLNnnPvFgqyT7n7pEqjEV9yRta2F5UeJ5FQfjkhyZs0SU\nGi1WldnyzzwnL1INwm/JkQ3NVTNYrDa/UKxmlaUdpr96jMZPWD/VNkYsgoYKB2m2UFlKRPbZ4oVs\nmXSkWk+5eXQKTihw3+/4ACvhpFKjK8cA4RTLYgsRymtsLepmX/Sh/jJUaestcSp2wjup9gvFizwK\nP4vo3YiB4oU/SeS+u2EbPFdwfH1CXqQaKKrk2cSySvqJsP+XSFizPISFC8hpl5yqxjAx5W2QM96P\ncVWOjC6M1x3ldhO52T0NezRhXuRUm2EhUTHP4zixZTBIOGF6Obs4VtA4LF+OA0WF+JnMtdVFDWZm\nAT3NOAbHlrifKJ1cXbJPEZbEHSIZn5pqP0V3WWE7UYMaJ57Bmng3I2cMbtEd5SbhSzFdDhFbZ/Xo\njR0LkRepzhee3+htIpawE1PnDwknqXG/yAu2rdN3ZCL/ojrXBop6zuEF9bRLTrWQcNb1M+0r4uLU\n+e2YnPw+1Nw7Cpepn2vVCqmNnmkzO1ZCnlO9KOb27AZzmgf13CIYqWdx72hhnLMy/UYIZxufaV9O\nTIMvi32t2qZoMz3t4lR34HM8mzk+Equ8Gg+IledQEZFqDBM51lMN5G8gnOoz9Xc8cu2Y96B7Q5fY\nfHxP7Ov9LJziwgb3ryY2Lmt8i3VT57eK7YcZGR1XJfeug1eSY6qoy4wXb+4junfdm+lpB7YQxd7+\n4v+kj0F6ToWXigXSUThXTGdviI38DcV0eHpG/rGiDPK1iIivC/unybVjX+VUs7FzifsHi6JbjZnm\nrpAPFwZJ6yjrEEX0zO9MFvllEabggNT5r+LTnjxqX3bkkWvHvopUZZmm5yppUfGpRY0uEale6mM9\nHYqRa8f5xane1LNYuYKYz2vsLvbwelsdb6anQzFy7Ti/ONVkkXTX2FXP3fZH5X+XVZWeDsXItWOV\nnxPfJKrnp2utEnuBmKcHiA/OrqtobEX0nIzDxMpvI+31OfF/xbx6Xh06dOjQoUOHDv9L/gUVIj0T\n0uphewAAAABJRU5ErkJggg==\n",
323 "text": "-\u23a1Y ,Z \u23a4 = -2\u22c5\u2148\u22c5X \n \u23a3 0 0\u23a6 0"
324 },
325 {
326 "output_type": "display_data",
327 "latex": "$$- \\left[H_{0},Z_{0}\\right] = \\sqrt{2} \\mathbf{\\imath} Y_{0}$$",
328 "png": "iVBORw0KGgoAAAANSUhEUgAAAJwAAAAhCAYAAAAs7MLmAAAABHNCSVQICAgIfAhkiAAABnRJREFU\neJzt23+sHUUVwPFPX0t/hVKp1YIotVhiVBR/oEasNDRRi5iIUqmSGBTRoFYLRGMNaYyxiuJvwVgV\nUWzEiBYsalrjT6piolLbQBQ1UrWRKj9sEKTa9L3nH2evd9++3bt779v77tXuN9nctzM7M2dnzsw5\nZ2YfDQ0NDQ0Nw8p8HI/xGq6+M2s6GmnoK5fhZ5gxaEEa/v+Zj28PWoiGI4f1ePmghWg4MjgKO/yP\nmdKRQQvQ0DOvwfWmydkfNp6Mzcl16oBlqYu12u80bMHVCL5j+OQqpS6BT8S/8QX8MZN3Jc7A3OR+\nHPfhJRjDt7BYmAgYxU5cWoNcZ+N9qftD+HvqfknS3ir8I1P2J/gtPiX66XAN8tTFubhZuUyLcQme\ngjvxXfygy7ZWYZMIUIjxu0eM32jquZNxg7aJfxgvxoNdtleJ1djQIX9+ItztmJOT/yLxIteq18xf\nj3/izaJD0hNsQ9LmxSV17NCeLMPCdswreWY5foiX4hhhgg/hvT20N4JPiP76eIfn3ok/4EzM7qGd\nypQp3OlC2KKX3Zjkn12jTLOwD0/KyXuVWF2vrFDPsCncaryrwnPbRb+nafXz2h7aPTkpe3tB/hLc\nhEU91N01ZQrXWk1WFeR/X6yAC2uUaaX82fgC/MvE5b8Tw6ZwN4sVqxNzhIvwnkz6KWIcvthj2z9P\nyj8tkz4XW3FCj/V2TZnCbReDnGcG5uAgdtUs08V4XCbtibgfP1VdiaZT4c4SE6GI5+P9FepZIPr0\nYRNdmEcIhfllj/KtT8pnLcM1eFaPdfZEJ4WbiQdwS0H+SvESH+uDXGkeLfyL3wtnuirTpXAXiYEc\nF1F/Hl8T71GFZ+N5mbTTkvo/n/P8ShGRv65DnceJQGWftnXYiFdUlGlawupnCBPwWHw9J/+k5Hdn\nH2WYJ0zRQjEI99VY90VY02WZm/CZTNp1wq1Yg3Ui0ElzKvaLCLEKv8hJe7VQuOsy6WvFpNqEvWKS\n7c8p/1cR5b5QKOgSEYjcWFGm2ui0wl2mHRAcnXP9WDjwj+yTbCOiQw4Kk9QtZSvcPDHzu7k6RZhv\nx0Mm+7NbsLR78f/L0qTeT2bSZ4iVjTgmG8WjOtRzgRjPnfj0FOSZEp0UbptYho/OyTtKbFvc0Se5\niMBhDOdl0k9U7nwz/UHDsaJPLkmlLZdvBqsyS7g0W0zedlqg7X9tU/4xwLFC4XbpYesjbVJPwRWq\nn83dKWZjJ2ZgBXaL2ZXlmWKPrsi/myrrk2uDyc74u5XLPwgO4Mt4i/be1zvw4SnUeRXuEuZ/LJP3\nIG7DY4QVemVJXU9IfrcKc9oVaYW7A69VXeEOVnjmqWJfZktBfsvEFflvJwl/YYFQyjy/pIhz8FF8\nFh/M5C0WHy0eqKGduny4NFfhDSJq3SNW4t902UaLS8WYXqh97no6bs08dyHuxTeF5Tks/5z2jOS3\nH2NWmSKTuk4IfW5BuRuT/ONy8pYKYVu+3q0m7/8UTY7niC2B7fIDow/gbRXbKTOps4UCd3PlnbZk\nuSWR/yMiuuyFc4RiZ/tpc86ze0W/EJauaE/0G2KxyXuHKmNWC0UKt1Uo1JKcvJn4G35XUOdmXJ66\nvxyfS91vErN+WabcsqTe3WKWpRkRpmkcj6/YzqA2ftcI87etx/KnCbfnjWIVbl0bTN4QXyT6ZEXy\n98aCOkdEhF/kApX1ZW2kFW4mPiT8kFHtfZ91Sf4yYTK+p32Qf7UwH2luM9HRX4tfp+6vFcv+W1Np\ns4QSjottkNbXHl/Br4QzPi6UsWo7g1K41tFc0elMJxaKbY2i/114U06ZG0SfXmHy8dRyMWY7kvJ3\nJfcrMs+V9WVf9uFG8SVtxWvxQPK7X37E9ZfM/fEmBhoPmbh18nrh+J+fShsT56Rlfui9XbQzKA7j\nubi7h7KHxJ5bEXm7AueJ974/J+9u7TFLW7I/ZZ4r7ct+bfwWHfASR1y7O+S3uMfEiGquWKFajIuj\nqz2ptLHMfRXK2hkkvSgb4WP9qIdyecpG+MN1jNlQf/G7S5z9tVhk8ir4MpOjrX6001CN0r4cdoVL\nR2dn4qup+7PEIXz2w8m622mozrT15Wrx6co1eHpNdR6jfW53gTiHnZ3J72c754v32We4Pk8aZsrG\nrLb/+FmgvQO9VztAmCojYvP4AP5cU51V2zlB+0xxjyP0n1V6YLrGrKGhoaGhoaGhYZr4D0tcjwng\n5G+hAAAAAElFTkSuQmCC\n",
329 "text": "\u23bd\u23bd\u23bd \n-\u23a1H ,Z \u23a4 = \u2572\u2571 2 \u22c5\u2148\u22c5Y \n \u23a3 0 0\u23a6 0"
330 },
331 {
332 "output_type": "display_data",
333 "latex": "$$\\left[H_{0},Y_{0}\\right] = \\sqrt{2} \\mathbf{\\imath} \\left(- X_{0} + Z_{0}\\right)$$",
334 "png": "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\n",
335 "text": "\u23bd\u23bd\u23bd \n\u23a1H ,Y \u23a4 = \u2572\u2571 2 \u22c5\u2148\u22c5\u239b- X + Z \u239e\n\u23a3 0 0\u23a6 \u239d 0 0\u23a0"
336 },
337 {
338 "output_type": "display_data",
339 "latex": "$$\\left[H_{0},Z_{0}\\right] = - \\sqrt{2} \\mathbf{\\imath} Y_{0}$$",
340 "png": "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\nTAL/A1YPiWUFvKFfAAAAAElFTkSuQmCC\n",
341 "text": "\u23bd\u23bd\u23bd \n\u23a1H ,Z \u23a4 = -\u2572\u2571 2 \u22c5\u2148\u22c5Y \n\u23a3 0 0\u23a6 0"
342 }
343 ],
344 "collapsed": false,
345 "prompt_number": 14,
346 "input": "for g1 in (Y,Z,H):\n for g2 in (Y,Z,H):\n e = Commutator(g1(0),g2(0))\n if g1 != g2:\n display(Eq(e,e.doit()))\n"
347 },
348 {
349 "cell_type": "code",
350 "language": "python",
351 "outputs": [
352 {
353 "output_type": "pyout",
354 "latex": "$$H_{0} X_{1} \\left(H_{0}\\right)^{2} CNOT_{0,1} X_{1} X_{0}$$",
355 "prompt_number": 15,
356 "png": "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\n",
357 "text": "2 \nH \u22c5X \u22c5\u239bH \u239e \u22c5CNOT \u22c5X \u22c5X \n 0 1 \u239d 0\u23a0 0,1 1 0"
358 }
359 ],
360 "collapsed": false,
361 "prompt_number": 15,
362 "input": "c = H(0)*X(1)*H(0)**2*CNOT(0,1)*X(1)**3*X(0)*Z(1)**2; c\n"
363 },
364 {
365 "cell_type": "code",
366 "language": "python",
367 "outputs": [
368 {
369 "output_type": "pyout",
370 "prompt_number": 16,
371 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x48cd350&gt;"
372 },
373 {
374 "output_type": "display_data",
375 "png": "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\n"
376 }
377 ],
378 "collapsed": false,
379 "prompt_number": 16,
380 "input": "circuit_plot(c, nqubits=2)"
381 },
382 {
383 "source": "This performs a commutator/anticommutator aware bubble sort algorithm to simplify a circuit.",
384 "cell_type": "markdown"
385 },
386 {
387 "cell_type": "code",
388 "language": "python",
389 "outputs": [
390 {
391 "output_type": "pyout",
392 "latex": "$$H_{0} CNOT_{0,1} X_{0}$$",
393 "prompt_number": 17,
394 "png": "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\n/AdptX/0ndrekwAAAABJRU5ErkJggg==\n",
395 "text": "H \u22c5CNOT \u22c5X \n 0 0,1 0"
396 }
397 ],
398 "collapsed": false,
399 "prompt_number": 17,
400 "input": "gate_simp(c)\n"
401 },
402 {
403 "cell_type": "code",
404 "language": "python",
405 "outputs": [
406 {
407 "output_type": "pyout",
408 "prompt_number": 18,
409 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x3da1990&gt;"
410 },
411 {
412 "output_type": "display_data",
413 "png": "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\nDRHxyMelS5cwZsyYNp/zq+Oz2Wy4du2a6cfyJ4+0tDT4+vr+cA79/f3x9OlT02f71cOVx48fo6am\nBuPHj3e6fv36dQDAxIkTXe7DzL/PXvfbwoSEBNjtdjx+/Lhd25eUlKC6uhpjx47t4Ml07dy5E0lJ\nSfDx8UHPnj0RGBiInJwcREdHmz1au317vZWQkOB0vbi4GAD+ytdbgJd+cHfjxo2ora3Fnj17nK63\n9UHOlJQUDBgwwGPfTK6qqkJVVRWio6PRrVs3s8f5La7Ox5w5c5Cbm4t3794hLCys1XpERAQCAgLw\n/Pnzdu1fnXihyspKsVqtLt8MdnXYDx8+lODgYHn37p3mePQTZ+ejsbFRwsPDZdCgQU63KSkpEcMw\nZMGCBe3avzt4ZVwiItnZ2RIVFSVlZWWt1pz9sF++fCmRkZFy5MgRd4xHLbQ8HxUVFTJhwgSJiooS\ni8Ui3bt3l3Hjxsm+fftERCQvL0/i4+MlNDRULBaLWK1WmThxohQXF//W/t3Ja+MSEdm7d6/06dNH\njh49Ko2Njd//vOUPu6GhQQ4fPiwRERFy4MABM8bs9LT/8psVl1e+5mrp0qVL2Lp1K0pLS7F48WLE\nx8djxowZyMvLQ3FxMbKzs2Gz2ZCRkYHExESzx+2UvPU/S3p9XN88e/YMBw8exJMnT3Du3DkkJSUh\nNjYWS5cuxeDBg80er1NjXERKvDUur3ufi+hv4XWfLSTPZBiG2r6Dg4PV9t0WxkWm89ZXJrwtJFLC\nuIiUMC4iJYyLSAnjIlLCuIiUMC4iJYyLSAnjIlLCuIiUMC4iJYyLSAnjIlLCuIiUMC4iJYyLSAnj\nIlLCuIiUMC4iJYyLSAnjIlLCuIiUMC4iJYyLSAnjIlLCuIiUMC4iJYyLSAnjIlLCuIiUMC4iJYyL\nSAnjIlLCuIiU/A99uOsAb0dipwAAAABJRU5ErkJggg==\n"
414 }
415 ],
416 "collapsed": false,
417 "prompt_number": 18,
418 "input": "circuit_plot(gate_simp(c),nqubits=2)"
419 }
420 ]
421 }
422 ]
423 } No newline at end of file
This diff has been collapsed as it changes many lines, (1132 lines changed) Show them Hide them
@@ -1,932 +1,200 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>dos</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <codecell>
9 <input>from sympy import *
10 import numpy as np
11 import math</input>
12 <language>python</language>
13 <prompt_number>1</prompt_number>
14 <collapsed>1</collapsed>
15 <outputs />
16 </codecell>
17 <markdowncell>
18 <source>&lt;h2&gt;Strutinsky Energy Averaging Method&lt;/h2&gt;</source>
19 </markdowncell>
20 <markdowncell>
21 <source>Define a callable class for computing the smooth part of the density of states $\tilde{g}_m(E)$ with curvature
22 correction of order $2M$.</source>
23 </markdowncell>
24 <codecell>
25 <input>class SmoothDOS(object):
26
27 def __init__(self, energies):
28 self.energies = energies
29
30 def gaussian_smoothing_func(self, M, x):
31 return (mpmath.laguerre(M,0.5,x**2)*exp(-x**2)/sqrt(pi)).evalf()
32
33 def __call__(self, e, M=3, gamma=1.0):
34 return sum(self.gaussian_smoothing_func(M, (e-ei)/gamma)/gamma for ei in self.energies)</input>
35 <language>python</language>
36 <prompt_number>2</prompt_number>
37 <collapsed>1</collapsed>
38 <outputs />
39 </codecell>
40 <codecell>
41 <input>def avgf(M, x):
42 return (mpmath.laguerre(M,0.5,x**2)*exp(-x**2)/sqrt(pi)).evalf()</input>
43 <language>python</language>
44 <prompt_number>3</prompt_number>
45 <collapsed>1</collapsed>
46 <outputs />
47 </codecell>
48 <codecell>
49 <input>def smooth_dos(gamma, M, e, energies):
50 return sum(avgf(M, (e-ei)/gamma)/gamma for ei in energies)</input>
51 <language>python</language>
52 <prompt_number>4</prompt_number>
53 <collapsed>1</collapsed>
54 <outputs />
55 </codecell>
56 <markdowncell>
57 <source>&lt;h2&gt;1D Simple Harmonic Oscillator DOS&lt;/h2&gt;</source>
58 </markdowncell>
59 <codecell>
60 <input>def sho_smooth_dos(e):
61 """Compute the exact smooth DOS."""
62 return 1</input>
63 <language>python</language>
64 <prompt_number>5</prompt_number>
65 <collapsed>1</collapsed>
66 <outputs />
67 </codecell>
68 <codecell>
69 <input>def sho_spectrum(nmax):
70 """Compute the first nmax energies of the 1D SHO."""
71 return [n+0.5 for n in range(nmax)]</input>
72 <language>python</language>
73 <prompt_number>6</prompt_number>
74 <collapsed>1</collapsed>
75 <outputs />
76 </codecell>
77 <codecell>
78 <input>sho_evalues = np.linspace(0.0,20,100)</input>
79 <language>python</language>
80 <prompt_number>7</prompt_number>
81 <collapsed>1</collapsed>
82 <outputs />
83 </codecell>
84 <codecell>
85 <input>sho_dos = SmoothDOS(sho_spectrum(30))</input>
86 <language>python</language>
87 <prompt_number>8</prompt_number>
88 <collapsed>1</collapsed>
89 <outputs />
90 </codecell>
91 <codecell>
92 <input>sho_exact_dos = [sho_smooth_dos(e) for e in sho_evalues]</input>
93 <language>python</language>
94 <prompt_number>10</prompt_number>
95 <collapsed>0</collapsed>
96 <outputs />
97 </codecell>
98 <codecell>
99 <input>sho_approx_dos = [sho_dos(e,M=3,gamma=10.0) for e in sho_evalues]</input>
100 <language>python</language>
101 <prompt_number>23</prompt_number>
102 <collapsed>1</collapsed>
103 <outputs />
104 </codecell>
105 <codecell>
106 <input>plot(sho_evalues, sho_exact_dos, label="exact")
107 plot(sho_evalues, sho_approx_dos, label="approx")
108 title("Smooth part of the DOS for the 1D SHO")
109 xlabel("Energy"); ylabel("$g(E)$")
110 legend(loc=4)</input>
111 <language>python</language>
112 <prompt_number>24</prompt_number>
113 <collapsed>0</collapsed>
114 <outputs>
115 <output>
116 <output_type>pyout</output_type>
117 <text>&amp;lt;matplotlib.legend.Legend at 0x7f1790f77990&amp;gt;</text>
118 <prompt_number>24</prompt_number>
119 </output>
120 <output>
121 <output_type>display_data</output_type>
122 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVlvQUFBRWFDQVlBQUFBUEdCQlRBQUFBQkhOQ1NWUUlD
123 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYbGNq
124 V24vQi9EUGFaSDJSWW1VUXRHK1NCSlNtcHJNaEJoamlRcVowU3kyCjhZelo4Rmllc1QyTVpZeWxN
125 VlJDakxFVk01S2xRbExScGl4WnNwUzBhZDlPbmV2M2g4ZjVpVXBSM2VlY3Z1L1g2N3hlVHZmMnVl
126 OXoKbk8rNXJ2czY5ODFqakRFUVFnZ2hUWkRpT2dBaGhCRFJSb1dDRUVKSXM2aFFFRUlJYVJZVkNr
127 SUlJYzJpUWtFSUlhUlpWQ2dJSVlRMAppd29GYVZSUVVCQWNIUjI1anZIT3NyS3lNSEhpUktpcnEr
128 TzMzMzVyMFRKU1VsSzRmLzkrT3lkclgrZlBuOGVJRVNPZ3JLeU1sSlNVCmR0bUdKQnduMGpwVUtE
129 aDIvZnAxZlA3NTU5RFQwME8zYnQwd2ZQaHdKQ1ltZG1pR3JLd3NTRWxKUVNBUWRPaDJtK1BzN0l6
130 ZHUzZS8KOC9MNzl1MkRxcW9xQ2dzTE1XZk9uRFpmZjNOZUhrOWxaV1dvcWFsaHdJQUJtREJoQXE1
131 ZnYvN0d2TWVQSDRlRGd3UFUxTlJnYkd5TQpiNy85RmpVMU5jTHBsWldWV0xseUpRWVBIZ3dWRlJV
132 TUdEQUE2OWF0YTNMYnExZXZocCtmSDhyS3ltQmxaZlhlKzlLZXh3a0FacytlCkRXTmpZMGhMU3lN
133 NE9MakJ0T1hMbDBOV1ZoWXFLaXJRMHRLQ3JhMHRmdnJwSjVTVWxEUzVQc1lZTm16WUFDY25KNmlv
134 cUtCUG56NzQKNXB0dmhOTU5EQXh3N3R5NUJzczA5cVhvYmE5TFowT0ZnbU96WnMyQ21aa1owdFBU
135 a1oyZGpXWExsa0ZPVG82VExLTHcyMHZHR0FRQwpBWGc4M251dDU5S2xTN0MzdDRlVVZPTnY4ZmRk
136 ZjB1VWxKUWdQejhmVzdac2dZYUdCa2FNR0lIdzhIRGg5TjkvL3gxK2ZuNXdkM2RIClptWW1mdjc1
137 WjF5NGNBR3VycTdDZVhidDJvV0xGeS9pd0lFREtDMHRSVmhZR0F3TkRSdmRIbU1NbHk5ZnhyQmh3
138 OTRwYjJOZkZOcjcKT0ZsYlcyUDc5dTBZT0hEZ0c5dmk4WGp3OHZKQ2FXa3AwdFBUTVh2MmJNVEd4
139 c0xhMmhybDVlV05yaThzTEF4NzkrN0Z0bTNiVUZwYQppcWlvS0F3Y09MREJPdCsyVHkxNVhUb2RS
140 amh6Ky9adDFyVnJWOGJuOHh1ZEhoZ1l5SVlORzhhV0xWdkdkSFIwbUsydExVdE5UV1dICkR4OW01
141 dWJtek5iV2xwMCtmVm80ZjBWRkJkdStmVHN6TnpkbmJtNXVMQ3dzck1INlRwdzR3VnhkWFptNXVU
142 bmJzV01IcTZpb1lJd3gKcHFlbngzZzhIbE5TVW1MS3lzcnN5cFVyTENnb2lBMGZQcHl0V0xHQzZl
143 am9NSGQzZHhZYkc5dmt2dWpyNjdPdFc3Y3lPenM3MXJkdgpYN1pqeHc1V1cxdkxHR1BzK2ZQbnpN
144 UERnMmxwYVRGRFEwTzJkT2xTOXV6Wk0rR3lUazVPYk5XcVZjek56WTBwS3l1emFkT21NV2xwCmFk
145 YTFhMWVtcEtURTVzNmQyK2cycjEyN3hxWlBuODcwOWZYWmtpVkxXSFoyTm1PTXNaRWpSd3FYVjFa
146 V1pwbVptUTJXKyttbm54cGQKUDQvSFkvdjI3V05XVmxhc1g3OStiT1BHalEyV3UzanhJcHM2ZFNv
147 ek1EQmd5NWN2Wi9uNStZM21ldkRnQWVQeGVLeSt2cjdCMzcyOQp2Wm1lbmg1ampMR3lzakttcnE3
148 TzFxOWYzMkNlM054Y0ppVWx4VUpEUXhsampBMGRPcFFGQndjM2VkeGZxcTZ1Wm9xS2lvekg0ekZG
149 ClJVVm1hR2pJR0dQc3laTW5iUEhpeFV4Zlg1L05tREdEWGI5K1hiak05T25UMllJRkM5akVpUk9a
150 aG9ZR08zZnVYSWNlcDFjTkh6NzgKamYxY3Rtd1o4L2IyYnZDMzh2SnlKaTh2ejVZc1dkTG9lcVpP
151 bmNwV3JGalI1SFlNREF6ZTJNK1g3M1hHM3Y2NkhEaHc0SzM3SW9tbwpVSENzWDc5K2JNS0VDU3c4
152 UEp3VkZ4YzNtQllZR01pNmRPbkNmdjc1WjFaVVZNVDgvZjFaMzc1OW1hK3ZMOHZKeVdHQmdZR3Ni
153 OSsrCnd2bi8vZTkvczVFalI3TGJ0Mit6YytmT01RTURBM2Jod2dYR0dHUG56NTludlh2M1pwR1Jr
154 ZXpPblR2c2d3OCtZTXVXTFdPTU1aYVYKbGZYR0I5dkxiYTlZc1lJVkZSV3haY3VXQ2Y4ek5VWmZY
155 NThOR0RDQVhieDRrU1VuSnpNYkd4dTJjK2RPeGhoamhZV0Y3T2pSbzZ5cQpxb3Jkdlh1WHVidTdz
156 OFdMRnd1WGRYSnlZam82T3V6a3laT016K2N6UHAvUG5KMmQyZTdkdTV2Y1hrVkZCVk5TVW1LN2R1
157 MWllWGw1CmJONjhlY3pKeVVrNC9XM0xOemFkeCtNeEZ4Y1hkdlBtVFhidDJqV21yS3pNN3Q2OXl4
158 aGpMQ1VsaGVucTZyTEl5RWhXVkZURTVzNmQKeTZaT25kcm91cHNxRk1lT0hXTThIby9sNXVheXk1
159 Y3ZNeDZQeHpJeU10NVlmdENnUWN6ZjM1OHh4dGlLRlN0WS8vNzkyYlp0MjRSWgptc1BqOGRpOWUv
160 ZUV6MGVNR01IbXpKbkQ4dkx5Mk83ZHU1bUtpZ3FycXFwaWpMMG9GSXFLaXV6QWdRT016K2V6NnVy
161 cURqMU9yMnBwCm9XQ01NVTlQVCtidTd0N29lb0tEZzFuUG5qM1pmLy83WDVhV2x2YkdkQU1EQTNi
162 MjdOa0dmd3NNREJTK3QxdjZ1blEyVkNnNDl1alIKSS9iRER6OHdQVDA5cHFTa3hPYlBuODhLQ3dz
163 Wll5L2V3Qm9hR3NJUG5FdVhMakVlajhkU1UxTVpZNHp4K1h5bW9LREFzckt5R0dPTQpXVmxac1lp
164 SUNPRzZGeTllek9iTm04Y1lZMnpldkhuc3h4OS9GRTZMakl4a2xwYVdqTEhHUDlnQ0F3T1p1cnE2
165 OEc4NU9UbE1WbGFXCmxaZVhON29mQmdZR2JPblNwY0xuQVFFQmJQVG8wWTNPR3hrWnljek56WVhQ
166 bloyZG1aK2ZYNE41bkoyZDJSOS8vTkhrY1R0NjlDaHoKY0hBUVBxK29xR0FLQ2dxc29LQ2dSY3Mz
167 TnAzSDQ3RWpSNDRJbjd1N3U3TWRPM1l3eGw1OHUxNjFhcFZ3V2tGQkFkUFUxR3kwTmRoVQpvY2pQ
168 ejJjOEhvOGxKQ1N3UTRjT01SVVZsVWF6elpremgzMzg4Y2VNTWNacWFtcFljSEF3YzNCd1lMS3lz
169 dXlERHo1Z2x5NWRhbksvClhpMFUrZm41VEY1ZXZzRnJObXpZTUhiMDZGSEcySXRDNGVMaTB1UzZH
170 R3ZmNC9TcTFoU0s5ZXZYTTFOVDAwYlhVMTlmejQ0ZE84WmMKWFYyWm5Kd2NzN096WStIaDRjTHAr
171 dnI2VEVsSmlhbXBxUWtmQ2dvS3pOSFJrVEhHV3Z5NmREWjBqb0pqZW5wNldMTm1EUjQ5ZW9Tegpa
172 ODhpTWpJU216ZHZGazQzTlRVVjlyTnJhMnNEQUN3c0xBQUFNakl5ME5EUVFIWjJOc3JLeXBDYW1n
173 cGJXMXZoc3JhMnRyaDQ4U0lBCklEWTI5bzFwYVdscEtDc3JhektibVptWmNOczllL1pFWFYwZG5q
174 MTcxdVQ4MXRiV3duL2IyTmpneXBVckFGNzBmZi8wMDA5d2RIU0UKbXBvYUpreVlnSXlNakFiblJP
175 enQ3ZDlZWDNOOXliR3hzUTM2bmhVVUZHQmtaSVRZMk5nV0xkL1U5RmYzb1dmUG5zakp5UUVBbkQx
176 NwpGbXZXcklHNnVqclUxZFZoYUdpSXlzcEtKQ1VsTmJ1TlY4WEV4QUI0OFpycjZ1cWlyS3dNR1Jr
177 WmI4eDM1Y29WOU83ZEd3RFFwVXNYCitQcjZJalkyRnRuWjJlamZ2eittVFp2V292TkpjWEZ4Nk51
178 M0x4UVZGWVYvR3pSb0VDNWR1aVRjLzhhTysrczYramk5VFV4TWpQRDQKdkU1S1Nncmp4bzFEWkdR
179 azh2UHpNWHIwYUV5Wk1rVjRUb1BINCtIRWlSTjQvdnk1OExGOSszYmg4V3pwNjlMWlVLRVFJZmIy
180 OXZEeQo4a0pVVkZTcmwxVldWb2FscFdXREVWT0ppWWtZTVdJRUFHRFlzR0Z2VExPd3NJQ3lzaktr
181 cGFVQnZQL0o3RmMvREs1ZnY0NmhRNGNDCkFBNGZQb3hUcDA0aE1EQVFCUVVGT0hMa0NOaUwxcXh3
182 ZmhrWm1RYnJrcGFXYm5ZVTFyQmh3M0R0MmpYaDg0cUtDbVJtWmdxMytUWnYKVy8vclhGeGNzR1RK
183 a2dZZk1CVVZGYkN6czJ2eE9vNGRPd1pkWFYxb2EydkR3c0lDYW1wcU9IWHFWSU41Y25OemtaU1VK
184 SHpkWHFXbApwWVdmZnZvSmp4NDl3b01IRDk2NnZTRkRodUQrL2Z1b3FLZ1EvaTBoSWFIQkNKK1hy
185 MzFUdURoT0x6VldvQ29xS2hBWkdkbWk5U2tyCksrUEhIMzhFWXd6eDhmRk56dmZxKy9CZFhwZk9n
186 QW9GaDI3ZnZvMk5HemNpT3pzYjlmWDF1SDc5T3ZidjN3OWZYOTkzV3ArbnB5ZlcKcjErUE8zZnVJ
187 Q29xQ3FHaG9SZzNicHh3V21ob0tNNmZQNCs3ZCs5aS9mcjFHRDkrUElBWDM2SzZkKy8rWHNOeUdX
188 TTRjdVFJTGwrKwpqTlRVVlB6KysrOFlQWG8wQUNBbkp3ZHFhbXJRMU5URW5UdDNHaDNlK1hxUnNy
189 VzFSVkpTVXBQRnk4M05EZW5wNmRpelp3L3k4dkt3ClpNa1MyTm5ab1Z1M2JrMnVzelhyZjduOHkr
190 aytQajRJQ0FqQW1UTm5VRnRiaTVLU0VodytmTGpwQS9LLzVmbDhQczZjT1lNdnYvd1MKeDQ0ZEUv
191 Nm1RMWxaR2F0WHI4YWFOV3V3ZlBseTVPWGw0YSsvL29LSGh3Y2NIQnpnNWVVRkFQalBmLzZEeE1S
192 RTFOYldJaWNuQi8vOQo3Mzh4ZE9oUTlPM2J0OWx0QTRDbXBpYnM3T3p3MDA4L0lTOHZEMEZCUVVo
193 UFQ0ZTd1L3RiajA5SEhTYytuNC9xNm1vSUJBTFUxdGFpCnVycGF1SzVYdC9uczJUUHMyclVMWThh
194 TWdiYTJOcjcvL3Z0RzE3ZGx5eFpFUjBlanFxb0toWVdGMkxCaEE3cDM3dzVuWitlMzdpdlEKOHRl
195 bHM2RkN3U0ZsWldWY3ZYb1Y5dmIyME5EUXdNS0ZDekYxNmxSaG9XaHNLRjl6M1NuZmZmY2R4bzBi
196 aDA4KytRU3JWcTNDeG8wYgo0ZVRrQk9ERmVQaE5telpoOWVyVkdEZHVIRHc5UGJGbzBTTGhPcGN1
197 WFlwWnMyWkJYVjBkVjY5ZWJmVzJlVHdldnY3NmF5eGN1QkRqCnhvM0RyRm16TUdQR0RBQ0FuNThm
198 ZXZYcWhmNzkrOFBIeHdkK2ZuNXZYYmUzdHpmdTNyMExMUzB0TEZpdzRJM3RLU29xNHZ6NTg0aU8K
199 am9hZG5SM2s1ZVd4Zi8vK0Z1ZDkyL3BmTHY5eUhhYW1wZ2dPRHNhZmYvNEpYVjFkV0ZoWUlDSWlv
200 c24xQXhBV3h6bHo1aUF2THc5UgpVVkVZTzNhc2NQb1hYM3lCUC83NEF4RVJFZWpmdno4V0wxNE1a
201 MmRubkQxN1ZqaVBsSlFVWnM2Y0NTMHRMYmk0dUtDK3ZoN2J0Mjl2CmNwdXY3L1ArL2Z1aG9LQUFP
202 enM3UkVWRjRkeTVjNUNYbDM5ai83ZzZUbTV1YmxCUVVFQmNYQnhtejU0TkJRVUZZWGNwajhmRG9V
203 T0gKb0tLaUFuTnpjK3pZc1FQMjl2WklUazV1MEozMktnVUZCZnpyWC85Q3o1NDlNV2pRSUdSbVpt
204 THYzcjFORHBOdTdEaTA1SFhwYkhqcwpmZnNiQ0FIUXAwOGY3TjY5R3k0dUxseEhJWVMwTVdwUkVF
205 SUlhUllWQ2tJSUljMmlyaWRDQ0NITjRxUkY0ZWZuSnh3aTJKaGJ0MjdCCndjRUJYYnQyeFMrLy9O
206 TEI2UWdoaEx5S2swSXhjK1pNbkQ1OXVzbnAzYnAxdzlhdFcvSHR0OTkyWUNwQ0NDR040YVJRT0Rv
207 NlFsMWQKdmNucFdscGFHRFJvRUdSbFpUc3dGU0dFa01iUXlXeENDQ0hOa25uN0xLS3JJKzRwUUFn
208 aGtxZzE0NWpFdmtYeDh2SUI5SGoveDdKbAp5empQSUNrUE9wWjBQRVg1MFZvaVhTamVaWWNJSVlT
209 MExVNjZucnk4dkJBZEhZMkNnZ0xvNmVsaHhZb1Y0UFA1QUFCL2YzL2s1dWJDCnpzNE9wYVdsa0pL
210 U3dwWXRXNUNSa1FFbEpTVXU0aEpDU0tmR1NhRUlEUTF0ZG5xUEhqM3crUEhqRGtwRFhtcnBGVGJK
211 MjlHeGJGdDAKUExrbDFyL001dkY0MUQxRkNDR3QxTnJQVHBFK1IwRUlJWVI3VkNnSUlZUTBpd29G
212 SVlTUVpsR2hJSVFRMGl3cUZJUVFRcHBGaFlJUQpRa2l6cUZBUVFnaHBGaFVLUWdnaHpSTHJxOGVT
213 enFkT1VJY25wVStRVlp5RlJ5V1BVRmhaaU9mVnoxRmNYWXpxdW1vSW1BRDFyQjVTClBDa295Q3BB
214 UVZZQlNySkswRlRRUkhmRjd0Qlcwb2F1aWk1MFZYUWhJMFZ2ZjBKYWduNlpUVVJXSmI4U1Z4NWZ3
215 YlduMTVDVW00VGsKM0dUY2YzNGYyb3JhTUZBelFHL1YzdWltMEEzcVhkV2gzbFVkWFdXNlFscEtH
216 bEk4S1FpWUFGWDhLbFR3SzFCZVc0NkN5Z0k4cTNpRwpaK1hQOExqME1mSXE4cUNub2dkRERVT1lk
217 VGVEdVpZNXpMdS9lTWpMeW5POTY0UzBxOVorZGxLaElDS0RNWWJrM0dTRTNRN0QrYXp6CnVKWnpE
218 Vlk5ckRDNDEyRFk5TENCZFE5ckdHc2FvNHQwbC9mZVZuVmROUjRXUDBSbVVTYlM4OUp4SS84RzBw
219 Nmw0VTdoSFF6UUhJREIKdlFiRHZwYzlISHM3d2xERGtPNTlRaVFLRlFvaWRwSnprM0VnN1FDTzNE
220 d0NBQmh2UEI2dWZWMHh2UGR3S0hYcDJDc0dWL0dya1BJcwpCUW5aQ2JqeTVBcGlIc2FnbnRYRHNi
221 Y2pQdWp6QWR6NnVhR3ZldDhPelVSSVc2TkNRY1JDUlcwRkR0NDRpSUJyQWNndHo0V1BsUThtCm1r
222 NkVsYmFWU0gxN1o0d2hxemdMTVE5amNQYkJXWnk5ZnhieU12SndOM1NIaDVFSFhQcTRRRUZXZ2V1
223 WWhMUUtGUW9pMGdvcUM3QTUKYmpOMkp1N0VVTDJoOExmMXh5akRVWkNXa3VZNldvc3d4cENlbjQ1
224 L012L0JxY3hUdVBiMEdoeDdPMktjOFRpTUhUQVdQWlI2Y0IyUgprTGVpUWtGRVVtNTVMdFpkWG9m
225 ZzVHQk1NcHVFNzRaOUp4RmRPTVhWeFRoOTl6Uk8zRDZCMDNkUHcwVFRCSitZZklJSkpoUFFSNzBQ
226 CjEvRUllVU4yYVRaMFZYV3BVQkRSVWNtdnhNWXJHN0VwYmhOOExIMndhT2dpOUZMcHhYV3NkbEZi
227 WDRzTER5N2d5TTBqT0hickdBelUKREREUmRDSW1tVTJDZ1pvQjEvRklKNVpUbG9NakdVZndaOGFm
228 U005THgvTWZubE9oSU54ampDSDBSaWgrT1BzRDdIWHRzZmFEdGVpbgowWS9yV0IybVRsQ0g2S3hv
229 L0pueEo0N2VQSXArNnYwd3hYd0tKcHROUmsvbG5sekhJNTFBWVdVaGp0dzhndEFib1VqT1RjYllB
230 V014CnlYUVNYUHU2b3F0c1Z5b1VoRnNQaXgvQy82US9ucFkveGJhUHQyRjQ3K0ZjUitJVXY1NlBj
231 dy9PNGVDTmd6aHgrd1JzZTlwaXFzVlUKZkdMeUNkUzZxbkVkajBpUVNuNGxUdHc2Z2YxcCszSHgw
232 VVdNTWh3RkwzTXZqREljaGE0eVhZWHowVGtLd2hrQkUrQzMrTit3TW5vbApGam9zeEtLaGl5QXJM
233 Y3QxTEpGU3hhL0MzNWwvWTMvYWZweDdjQTV1ZmQzZ2JlbU5qd3cvZ3B5TUhOZnhpQmlxRTlUaC9J
234 UHoySmU2CkQrRjN3akZFZHdpbVdVeUQ1d0JQS01zcE43b01GUXJDaWR6eVhQZ2U4MFY1YlRrQ1BR
235 TXhRSE1BMTVGRTN2T3E1L2dyNHkvc1Q5dVAKRzNrM01ORnNJcnd0dkRGVWI2aElEUkVtb29jeGhx
236 VGNKT3hMM1lmUUc2SFFVOUhETkl0cG1HSStCZHBLMm05ZG5nb0Y2WEFSZHlNdwo4OFJNZkRid00v
237 emI2ZDkwRGFWMzhMRDRJUTZrSFVCSWFnaHE2bXZnYmVrTmJ3dHZHSFV6NGpvYUVTR1BTeDVqZjlw
238 K2hLU0dvSkpmCktYeWZ0UGFMR1JVSzBtRUVUSUIvWC9nM2dsT0NFVEkrQk00R3pseEhFbnVNTVZ4
239 L2VoMzcwdlloTkMwVWZkVDd3TnZDRzVQTkowTlQKUVpQcmVJUURKZFVsT0hMekNFSlNRNUQ2TEJX
240 Zm1uNEtIMHNmRE5NYjlzNHRUeW9VcEVPVTFwVEMrNmczU210S2NYamlZV2dwYW5FZApTZUxVQ2Vv
241 UWVTOFMrOUwyNGRTZFV4aWhQd0xlbHQ0WTAzOE1YYmhRd3RYVzErTDAzZFBZbjdZZnArK2Voa3Nm
242 Ri9oWStzRER5S05OCnptVlJvU0R0THJNd0U1NEhQZUZzNEl3dG83YlFDZXNPVUZaVGhtTzNqaUVr
243 TlFTSk9ZbndIT0NKYVJiVE1MTFBTT3Jxa3hBQ0prRHMKNDFqc1Q5dVB2ekwrZ3JHbU1id3R2REhS
244 YkNJMDVEWGFkRnRVS0VpN3V2TDRDc1lmR285bFRzdndwZDJYWE1mcGxKNldQY1hCR3dleApQMjAv
245 bnBRK3dTU3pTWmhxTVJYMnZlenBKTGlZWVl3aDVWa0tEdDQ0aU5BYm9WRHVvb3hwRnRQZ1plSFZy
246 ai9TcEVKQjJzM2ZtWDlqCit2SHBDQjRYakkrTlB1WTZEZ0Z3cC9DTzhFT211cTRhazh3bVliTFpa
247 Tmowc0tHaUljSXk4alB3Wi9xZk9IampJR3JxYXpEWmJES20KV2t5RnBiWmxoMnlmQ2dWcEYzdFQ5
248 bUpSNUNJY24zd2NEbm9PWE1jaHIyR01JZlZaS2c2bEg4S2g5RU9RNGtuaFU5TlA4YW5KcHhqWQpj
249 eUFWRFk0eHhuQ3o0Q1lPcHgvRzRZekRLSzR1eHFlbW44TEwzQXVEZXczdThOZEg1QXVGbjU4ZlRw
250 MDZoZTdkdXlNdExhM1JlWDc4CjhVY2NPblFJNnVycTJMOS9QNHlOalJ1ZGp3cEZ4OWllc0Ixckw2
251 M0ZhZS9UTU5VeTVUb09lWXVYSTZmK3V2a1gvc3I0QzNXQ09ueGkKOGduR0RSaUhvWHBEeGVaS3Zl
252 S09NWVpyVDYvaDZNMmpPSHJ6S0NyNEZaaGdNZ0dUekNaaGlPNFFTUEdrT01zbThvWGk0c1dMVUZK
253 UwpncSt2YjZPRklqNCtIZ3NYTGtSWVdCZ2lJaUt3Zi85K25EeDVzdEYxVWFGb2Y5dml0MkY5N0hx
254 Y24zNWVJcTcyMnRtOGJHa2N2M1VjCngyNGRRMDVaRHNZTUdJUFJScVBoMXMrdHcyOE1KZW1xNjZw
255 eDRjRUZoTjBKUS9qdGNDaDJVY1FuSnAvZ0UrTlBNRWhua01pMDdFUysKVUFCQVZsWVd4b3daMDJp
256 aDJMcDFLK3JyNjdGZ3dRSUFRTDkrL1hEdjNyMUcxME9Gb24xUmtaQThENTQvUU5qdE1Kek1QSW00
257 SjNFWQpxamNVSHh0K2pGR0dvOUMvVzMrUitTQVRKNDlLSHVIdnpML3hkK2JmaU1xS2dxVzJKVHdI
258 ZUdMc2dMRWllNFdDMW41Mml0eTR1dmo0CmVQajQrQWlmYTJscDRkNjllK2pYci9OY2VWUVU3RXpj
259 U1VWQ0F2VlI3NFA1UStaai9wRDVLSzBwUmVTOVNKeStkeG9icm15QWpKUU0KM1BxNndiV3ZLMFlh
260 aktUZnhqU2h1TG9ZMFZuUmlMd2ZpY2o3a1hoZTlSenVodTd3TXZkQ29HY2d1aWwwNHpwaW14TzVR
261 c0VZZTZQUwpOZmN0aDhkYi9zb3o1Lzg5eUhzeE93UzQvd3dFeHFEZk4xUWtKSmNLZ0FuL2V6QkFL
262 d083K2tWaVY1OFFRSDgyVUt3UFBIUUNIbzRBCkhqb0NGVysvaHBCRWtpOEU5R0lCL1JpZ3p3V2cy
263 MjBnMng2NDl5Rnc3eUR3ekFyN21CVDJjWjJ6V1ZIL2U3d2JrZXg2cXF1cnd6ZmYKZkFPQXVwNDZX
264 dVM5U0hnZjgwYWtUMlNIRGRVam9xZE9VSWZFbkVSY2ZIZ1JNWTlpY09uUkpYU1Q3d1lIUFFjTTZU
265 VUVnM3NOaHFXMgpwY1JkOFpaZnowZDZmanJpcytNUm54MlAyTWV4ZUZMNkJQYTY5bkRzN1lpUkJp
266 TXh1TmRnc2Q5dnNUOUg4ZkprOW9rVEp4QVJFWUVECkJ3N1F5ZXdPa3BDZEFJOERIamd5NlFnYzlS
267 MjVqa05FaUlBSmNEUC9KdUtleE9IS2t5dUl6NDdIM2FLN0dLQTVBTFk5YldIUjNRSVcKMmhhdzZH
268 NGhObDFXUlZWRnlNalBRTnF6TkNRL1MwWnliakxTODlMUlc3VTNCdmNhRERzZE93elZHd29MYlF1
269 SisvVzd5QmNLTHk4dgpSRWRIbzZDZ0FOcmEybGl4WWdYNGZENEF3Ti9mSHdEd3d3OC80TkNoUTlE
270 UTBNQytmZnRnWW1MUzZMcW9VTFNkZTBYM01EeHdPQUpHCkIyRHNnTEZjeHlGaW9JcGZoZFJucWJq
271 KzlEclM4dEp3SSs4RzB2TFNJQ01sZy83ZCtxTi90LzR3MGpCQ0g3VStNRkF6Z0w2YVByUVYKdFR0
272 c2VLNkFDWkJYa1lmSEpZK1JWWnlGZTgvdjRkN3plOGdzek1UTmdwdW80bGZCUk1zRWx0cVdzTmEy
273 aG5VUGExaHFXelo1RHdkSgpJdktGb2kxUm9XZ2JKZFVsY05qdGdEbUQ1K0FydTYrNGprUEVHR01N
274 enlxZTRVN2hIZHd1dUkzTW9rdzhMSG1Jck9Jc1pCVm40WG5WCmMyZ3Bha0ZIV1FmYWl0clFrTmRB
275 TjRWdTBPaXFBV1U1WlNoMVVZS2lyQ0xrWk9RZ0t5VUxXV2xaeUVqSlFNQUVZSXhCd0FTb3JxdEcK
276 ZFYwMXF1cXFVRjVianVMcVlwVFVsT0I1MVhQa1ZlUUpIMC9MbjBKVlRoVjZxbnJvcmRvYmhocUc2
277 S2ZlRDRZYWhqRFJOSUdPc2s2bgpIZVZGaFlLMFNwMmdEaDRIUE5DL1czOXMvV2dyMTNHSWhLdXRy
278 OFd6OG1mSUtjdEJYa1VlaXFxS1VGaFZpS0txSXBUWGxnc2ZOZlUxCjROZnp3UmZ3VVMrb0I0L0hn
279 eFJQQ2p6dzBGV21LN3JLZElXOHJEeVV1aWhCcmFzYVZPVlVvZDVWSGQwVnV3c2ZQWlY3TnJqOUov
280 bC8KVkNoSXE4ejVldzd1RnQzRnlha25KYTRmbGhEU09MSC9IUVhwT0FHSkFUai80RHl1ekxwQ1JZ
281 SVEwaVJxVVhSU1Y1OWN4WmpRTWJqcwpkNWx1dDBsSUo5UGF6MDd1cmtwRk9KTmZrWTlKZjAzQ3Jq
282 RzdxRWdRUXQ2S0NrVW5VeStvaDljUkwweTFtQXBQWTArdTR4QkN4QUFWCmlrN20zMUgvQmdQRGYw
283 YitoK3NvaEJBeFFXY3dPNUd6OTg4aUtEa0lTZjVKZFBLYUVOSmkxS0xvSlBJcjhqSDkrSFRzSGJj
284 WDNSVzcKY3gySEVDSkdxRkIwQW93eHpEd3hFejZXUHZpZzd3ZGN4eUdFaUJrcUZKM0Exdml0eUsv
285 TXAvTVNoSkIzUWgzVkVpN3RXUnIrRS9NZgp4TTJLZzZ5MExOZHhDQ0ZpaUZvVUVxeTJ2aGEreDMy
286 eHpuVWQrbW5RSFFJSkllK0dDb1VFVzNWeEZYb3A5OEpNNjVsY1J5R0VpREhxCmVwSlFpVG1KMkpt
287 NEU4bit5WjMyVXNxRWtMWkJMUW9KVkYxWGplbkhwMk96KzJiMFZPN0pkUnhDaUppalFpR0Jsa2N0
288 aDRtbUNhYVkKVCtFNkNpRkVBbERYazRSSmVwcUVQVWw3a1BabEduVTVFVUxhQkxVb0pFaWRvQTZm
289 aDMrT3RhNXJvYTJrelhVY1FvaUVvRUloUVg2OQoraXRVdTZyU0tDZENTSnVpcmljSjhlRDVBNnkr
290 dUJweG44VlJseE1ocEUxUmkwSUNNTWJ3NWFrdjhlM1FiMkdvWWNoMUhFS0loS0ZDCklRR08zRHlD
291 N0xKcy9NdmhYMXhISVlSSUlPcDZFblBsdGVWWUdMRVErejdaUjlkeUlvUzBDMnBSaUxsVkYxZGho
292 UDRJak5BZndYVVUKUW9pRW9oYUZHTHRWY0F1N3J1MUMycGRwWEVjaGhFZ3dhbEdJS2NZWTV2NHpG
293 MHRHTEtITGRCQkMyaFVWQ2pGMTlPWlI1SmJuWXM3ZwpPVnhISVlSSU9FNEtSVXhNREV4TVRHQmta
294 SVN0VzdlK01iMnNyQXovK3RlL1lHMXREUWNIQjl5N2Q0K0RsS0tydXE0YWl5SVhZY3VvCkxaQ1Jv
295 dDVEUWtqNzRxUlF6SjgvSHdFQkFUaDc5aXkyYmR1R2dvS0NCdE5EUTBQQjUvT1JuSnlNalJzMzRy
296 dnZ2dU1pcHNqYUVyY0YKbHRxV2NPbmp3blVVUWtnbjBPR0ZvcVNrQkFBd1lzUUk2T3ZyNDhNUFA4
297 VFZxMWNiekhQKy9IbDRlSGdBQUJ3Y0hIRDM3dDJPamlteQpucFUvdy9yWTlWanZ0cDdyS0lTUVRx
298 TERDMFZDUWdLTWpZMkZ6MDFOVFJFWEY5ZGdIbmQzZDRTR2hxS3FxZ3BoWVdGSVMwdkRnd2NQCk9q
299 cXFTRnA2WVNtbVcwK0hVVGNqcnFNUVFqb0prZXpnbmp4NU1wNDhlUUluSnljTUdEQUFSa1pHa0pP
300 VGEzVGU1Y3VYQy8vdDdPd00KWjJmbmpnbkpnZVRjWkp5NGZRSzM1OXptT2dvaFJJeEVSVVVoS2ly
301 cW5aZm5NY1pZMjhWNXU1S1NFamc3T3lNcEtRa0FNSGZ1WEl3YQpOVXJZMWZTNjh2SnlEQjgrSE1u
302 SnlXOU00L0Y0Nk9ENG5HR013UzNFRForWWZJS3Y3TDdpT2c0aFJJeTE5ck96dzd1ZVZGVlZBYndZ
303 CitaU1ZsWVhJeUVqWTI5czNtS2VrcEFTMXRiV29yS3pFbWpWcjRPYm0xdEV4UmM2WmUyZnd1UFF4
304 UGgvNE9kZFJDQ0dkRENkZFQ1czMKYjRhL3Z6LzRmRDdtelpzSFRVMU5CQVFFQUFEOC9mMlJrWkdC
305 R1RObVFDQVF3TUhCQVR0Mzd1UWlwc2dRTUFHK1Avczkxbnl3aHE3bgpSQWpwY0IzZTlkU1dPa3ZY
306 MDc3VWZkaVdzQTJ4ZnJGMHJ3bEN5SHRyN1dlblNKN01Kdit2cHE0R1M4NHZRY2o0RUNvU2hCQk8w
307 Q1U4ClJOejJoTzJ3MUxhRW83NGoxMUVJSVowVXRTaEVXRWwxQ2RaZVhvdnp2dWU1amtJSTZjU29S
308 U0hDTnNWdHdpakRVVERyYnNaMUZFSkkKSjBZdENoRlZXRm1JMytKL1Evem44VnhISVlSMGN0U2lF
309 RkhyWTlkam90bEU5Rlh2eTNVVVFrZ25SeTBLRVpSYm5vdGQxM2NoNVlzVQpycU1RUWdpMUtFVFJt
310 a3RyNEd2bEMxMFZYYTZqRUVJSXRTaEV6ZU9TeDlpWHVnOFpYMlZ3SFlVUVFnQlFpMExrckw2MEdw
311 OFAvQnphClN0cGNSeUdFRUFEVW9oQXBqMHNlNDgvMFAra3k0b1FRa1VJdENoR3k5dkphZkRid00y
312 Z3FhSElkaFJCQ2hLaEZJU0t5UzdNUm1oYUsKVzNOdWNSMkZFRUlhb0JhRmlGaDNlUjM4YlB6UVhi
313 RTcxMUVJSWFRQmFsR0lnSnl5bkJjam5iNm1rVTZFRU5GRExRb1JzRDUyUGFaYgpUMGNQcFI1Y1J5
314 R0VrRGRRaTRKamVSVjVDRTRPeG8ydmJuQWRoUkJDR2tVdENvNXR1Ym9GazgwblEwZFpoK3NvaEJE
315 U0tHcFJjS2lrCnVnUUJpUUYwaFZoQ2lFaWpGZ1dIZGlUdXdDakRVWFNGV0VLSVNLTVdCVWVxK0ZY
316 WUhMY1paMzNQY2gyRkVFS2FSUzBLanV4SjJnTjcKWFh1WWR6Zm5PZ29oaERTTFdoUWM0TmZ6c1Q1
317 MlBRNStlcERyS0lRUThsYlVvdURBd1JzSDBVZTlENGJvRHVFNkNpR0V2RldMV3hSOApQaDkvLy8x
318 TE0wVk1BQUFjVVVsRVFWUTN3c0xDVUZOVEEybHBhWlNWbFVGTFN3dnU3dTRZUDM0OGVEeGVlMmFW
319 Q0l3eHJJOWRqLys2Ci9aZnJLSVFRMGlJdEtoUnhjWEU0Y2VJRXZMeThzSDM3ZHNqSnlRbW5sWmVY
320 SXkwdERmUG56NGVmbngrc3JhM2JMYXdrT0hQdkRBREEKdlo4N3gwa0lJYVJsZUl3eDF0d01OVFUx
321 dUgzN05pd3RMZCs2c3JpNE9Bd1owbkhkS1R3ZUQyK0pMM0krMlBzQnBsdE5oNitWTDlkUgpDQ0dk
322 VkdzL085OWFLSUFYM1NXaTJLMGtib1hpK3RQcjhEem9pWHZ6N3FHTGRCZXU0eEJDT3FuV2ZuYTI2
323 R1MybVprWmpoOC9qcWRQCm53SUE4dkx5Y09iTUdWUlhWNzlUeUppWUdKaVltTURJeUFoYnQyNTlZ
324 M3BWVlJXbVQ1OE9HeHNiT0RrNTRjU0pFKyswSFZHelBuWTkKRnRndm9DSkJDQkVyTFdwUmJObXlC
325 ZlBuejBkTlRZM3cvRVJGUlFYMjc5K1AyTmhZQkFVRnRXcWpOalkyMkxKbEMvVDE5ZUh1N281TAps
326 eTVCVS9QLzcrcTJjK2RPcEthbVl2djI3WGo0OENGY1hGeHc5KzdkTjFvMTR0U2llUEQ4QWV4MjJl
327 SCsvUHRRa1ZQaE9nNGhwQk5yCmx4YUZrcElTQUNBNk9ocXVycTRJQ1FrQmo4ZkQ3Tm16SVM4djM2
328 cUFKU1VsQUlBUkkwWkFYMThmSDM3NElhNWV2ZHBnSGxWVlZaU1YKbFlIUDU2T29xQWdLQ2dvaTJm
329 WFZHcHV2YnNhc2diT29TQkJDeEU2TFJqM2R2bjBiTlRVMStQREREM0g3OW0zNCtQZ0lwN1hrSlBl
330 cgpFaElTWUd4c0xIeHVhbXFLdUxnNGVIaDRDUC9tNWVXRjhQQndhR3Bxb3E2dURsZXVYR25WTmtS
331 TmNYVXhRbEpDa1BwbEt0ZFJDQ0drCjFWcFVLUDc1NXgrY1BYc1dDZ29LVUZGUmdiYTJObXhzYkdC
332 b2FJZ3VYZHErdi8yMzMzNkRqSXdNbmo1OWlyUzBOSGg0ZU9EaHc0ZVEKa25xekFiUjgrWExodjUy
333 ZG5lSHM3TnptZWQ3WEg5Zi93RWRHSDBGWFJaZnJLSVNRVGlncUtncFJVVkh2dkh5THpsRmN1WElG
334 RGc0TwpLQzB0UldKaUl1TGo0eEVmSDQvMDlIU1VsNWNqT3p1N3hSc3NLU21CczdNemtwS1NBQUJ6
335 NTg3RnFGR2pHclFvSmsyYWhGbXpac0hkCi9jVnZEZXp0N1JFY0hOeWdKUUtJeHptS09rRWQrdjNh
336 RDBjbUhjRWduVUZjeHlHRWtGWi9kcmFvUmVIZzRBQUFVRkZSZ1l1TEMxeGMKWElUVFZxNWMyYXFB
337 cXFxcUFGNk1mT3JkdXpjaUl5T3hiTm15QnZOODhNRUhDQThQaDV1Ykc3S3lzbEJVVlBSR2tSQVhS
338 ektPUUY5VgpuNG9FSVVSc3ZmZEZBZWZObTlmcVpUWnYzZ3gvZjMvdytYek1temNQbXBxYUNBZ0lB
339 QUQ0Ky90anlwUXB5TWpJd0tCQmc2Q2xwWVV0Clc3YThiMHpPYklyYmhPK0hmYzkxREVJSWVXY3Qr
340 bVYyUmtZR2JHeHNtbDBSWXd5blQ1L0dSeDk5MUtZQm15UHFYVTlYSGwrQjl6RnYKM0psekI5SlMw
341 bHpISVlRUUFPMHdQRlpPVGc0OEhnOGJOMjVFVEV4TWd4L1oxZGZYNC83OSt6aDI3QmptelpzSEV4
342 T1RkMHN0b1RiRgpiY0o4Ky9sVUpBZ2hZcTFGSjdOZmlvaUl3TGx6NTFCUVVJQ0RCdzlpNk5DaEdE
343 cDBLTnpkM1RGczJMRDJ6TmtvVVc1UlBDcDVCSnNBCkcyVE56NEt5bkRMWGNRZ2hSS2hkVG1hLzVP
344 N3Vqa2VQSG1IQmdnVVlNMllNSWlNakVSRVJnZHpjWFBUcDB3YzZPanF0RGl5cHRpZHMKeDNTcjZW
345 UWtDQ0ZpcjlVM0xpb29LSUNLaWdyR2p4K1A3ZHUzNCt1dnY4YnExYXV4YTlldTlzZ25scXI0VmRp
346 VHRBZGYyMzNOZFJSQwpDSGx2clI3MU5IMzZkRXlkT2hVQ2dRRDkrL2VIbkp3Y2ZIMTk2ZnpFS3c2
347 a0hZQzlyajM2YWZUak9nb2hoTHkzVmhjS0hSMGRoSVdGCklTc3JDOFhGeGJDd3NFQmVYaDZpbzZN
348 eGFkS2s5c2dvVmhoaitEWCtWMnh3MjhCMUZFSUlhUk90T3BrdGFrVHhaSFowVmpTK1BQVWwKMHI5
349 S0Yvc0xHUkpDSkZPN1hEMld0Tnl2OGI5aTd1QzVWQ1FJSVJLRENrVWJlbFR5Q05GWjBmQ3g4bm43
350 eklRUUlpYW9VTFNoSFlrNwo0R1BsQTZVdVNseEhJWVNRTnZQZTEzb2lMMVRYVldOUDBoNWNtbm1K
351 NnlpRUVOS21xRVhSUmc2bkg0WjFEMnNZZFRQaU9nb2hoTFFwCktoUnRaRnZDTnZxQkhTRkVJbEdo
352 YUFQWGNxN2hhZmxUZUJoNXZIMW1RZ2dSTTFRbzJzQzJoRzM0d3ZZTHVrb3NJVVFpMGNuczkxUlkK
353 V1lpak40OGljMjRtMTFFSUlhUmRVSXZpUFFVbEIySE1nREhRVXRUaU9nb2hoTFFMS2hUdlFjQUUy
354 Skc0QTE4TitvcnJLSVFRMG02bwpVTHlIYy9mUFFhbUxFb2JvRHVFNkNpR0V0QnNxRk85aDU3V2Qr
355 R0xRRjNSZEowS0lSS05DOFk1eXluSncvc0Y1VExPWXhuVVVRZ2hwClYxUW8zdEh1NjdzeDJXd3kz
356 ZXFVRUNMeGFIanNPNmdUMUdIWDlWMDRNZVVFMTFFSUlhVGRVWXZpSGZ5VCtROTBsSFZnMDlPRzZ5
357 aUUKRU5MdXFGQzhnNWNuc1FraHBET2dRdEZLV2NWWmlIc1NoMGxtZEg5d1Fram5RSVdpbFhZbjdZ
358 YTNwVGNVWkJXNGprSUlJUjJDVG1hMwpRcDJnRG51UzlpRENPNExyS0lRUTBtR29SZEVLcCs2Y2dy
359 NnFQc3k3bTNNZGhSQkNPZ3duaFNJbUpnWW1KaVl3TWpMQzFxMWIzNWkrClljTUcyTmpZd01iR0Jo
360 WVdGcENSa1VGeGNURUhTUnZhZFgwWFp0dk81am9HSVlSMEtCNWpqSFgwUm0xc2JMQmx5eGJvNit2
361 RDNkMGQKbHk1ZGdxYW1acVB6bmp4NUVwczNiOGJaczJmZm1NYmo4ZEJSOFIrVlBJSk5nQTBlZi9P
362 WXprOFFRc1JhYXo4N083eEZVVkpTQWdBWQpNV0lFOVBYMThlR0hIK0xxMWF0TnpuL2d3QUY0ZVhs
363 MVZMd203VW5hQXk5ekx5b1NoSkJPcDhOUFppY2tKTURZMkZqNDNOVFVGSEZ4CmNmRHdlUE0yb3BX
364 VmxZaUlpTUQyN2R1YlhOL3k1Y3VGLzNaMmRvYXpzM05ieGdVQTFBdnFzVHRwTjA1Nm5XenpkUk5D
365 U0h1TGlvcEMKVkZUVU95OHYwcU9ld3NQRE1YejRjS2lwcVRVNXo2dUZvcjJjdm5zYXZaUjd3YXFI
366 VmJ0dml4QkMydHJyWDZKWHJGalJxdVU3dk92Sgp6czRPdDI3ZEVqNVBUMC9Ia0NHTjM4L2g0TUdE
367 SXRIdHRPdjZMbncyOERPdVl4QkNDQ2M2dkZDb3Fxb0NlREh5S1NzckM1R1JrYkMzCnQzOWp2cEtT
368 RXNURXhNRFQwN09qSXpid3RPd3BvaDlHWTRyNUZFNXpFRUlJVnpqcGV0cThlVFA4L2YzQjUvTXhi
369 OTQ4YUdwcUlpQWcKQUFEZzcrOFBBRGgrL0RqYzNkMGhMeS9QUlVTaHZTbDdNY0ZrQXBTNktIR2Fn
370 eEJDdU1MSjhOaTIwdDdEWXhsajZQOWJmNFNNRDZIYgpuUkpDSkliSUQ0OFZKekVQWXlBbkxRZjdY
371 bTkyalJGQ1NHZEJoYUlaZnlUOWdjOEdma2IzeENhRWRHcFVLSnBRWEYyTThOdmg4TGIwCjVqb0tJ
372 WVJ3aWdwRkV3NmtIWUM3b1RzMEZScS90QWdoaEhRV1ZDaWE4TWYxUHpETFpoYlhNUWdoaEhOVUtC
373 cVI5RFFKaFZXRmNPM3IKeW5VVVFnamhIQldLUmdRbUIyS205VXhJOGVqd0VFS0lTRi9yaVF2VmRk
374 VTRrSFlBaWJNVHVZNUNDQ0VpZ2I0eXZ5YnNkaGlzZTFqRApRTTJBNnlpRUVDSVNxRkM4WmsvU0h2
375 alorSEVkZ3hCQ1JBWVZpbGM4TG5tTWhKd0VqRGNlejNVVVFnZ1JHVlFvWGhHY0VvekpacE1oCkw4
376 dnRoUWdKSVVTVVVLSDRId0VUSURBNWtMcWRDQ0hrTlZRby9pZm1ZUXdVWkJWZzI5T1c2eWlFRUNK
377 U3FGRDhUMkJ5SVB5cy9lZ0MKZ0lRUThob3FGQURLYXNwdzR0WUpUTE9jeG5VVVFnZ1JPVlFvQUJ6
378 T09BeG5BMmQwVit6T2RSUkNDQkU1VkNnQUJDVUhZWWIxREs1agpFRUtJU09yMGhlSnUwVjNjTHJ3
379 TkR5TVBycU1RUW9oSTZ2U0ZJamdsR0ZNdHBrSldXcGJyS0lRUUlwSTZkYUdvRjlRak9Ea1lNNjFu
380 CmNoMkZFRUpFVnFlK2V1ejVCK2VocWFBSlMyMUxycU1RUWdCb2FHamcrZlBuWE1lUUdPcnE2aWdx
381 S25ydjlYVHFRaEdVUWlleENSRWwKejU4L0IyT002eGdTbzYxK0Y5WnB1NTVLcWt0dzZzNHBUTFdZ
382 eW5VVVFnZ1JhWjIyVUJ6T09BeVhQaTdRVk5Ea09nb2hoSWkwVGxzbwpnbE9DTWQxcU90Y3hDQ0ZF
383 NUhYS1FuRzM2QzV1Rjl6R3gwWWZjeDJGRUVKRVhxY3NGSHRUOXRKdkp3Z2hJbXZHakJsWXVuUXAx
384 ekdFCk9Da1VNVEV4TURFeGdaR1JFYlp1M2Ryb1BBa0pDYkN6czRPSmlRbWNuWjNiYk5zQ0pzRGVs
385 TDNVN1VRSUlTM0ZPR0J0YmMyaW82TloKVmxZV0d6QmdBTXZQejI4d1hTQVFNSE56Y3hZWkdja1lZ
386 MjlNZitsZDRwKy9mNTVaN3JCa0FvR2c5Y0VKSWUyS280K2tGaWtxS21LYgpObTFpcHFhbWJOU29V
387 U3dpSW9JVkZoWXlYVjFkRmg0ZXpoaGpyS3lzalBYcjE0K0ZoSVF3eGhnN2VmSWtzN2EyWmlvcUtz
388 elYxWlVGCkJ3YzNXT2V0VzdmWXQ5OSt5M3IxNnNYMDlQUllVRkFRKy8zMzM1bXNyQ3pyMHFVTFUx
389 SlNZbVBIam4zbnpFMGR6OVllNXc1L1ZZcUwKaTVtMXRiWHcrZHk1YzluSmt5Y2J6Qk1mSDgrbVRw
390 MzYxblc5eTV0cStySHA3SmZZWDFxOUhDR2svWWx5b1JnL2ZqeWJOMjhleTgzTgpaVEV4TVV4SFI0
391 ZGxabWF5TTJmT3NCNDllckM4dkR6MjJXZWZzWWtUSndxWGlZcUtZamR1M0dCMWRYWHM5T25UVEZs
392 Wm1XVm1aakxHCkdPUHorYXhidDI1czNicDFyS2lvaUJVV0ZyTGs1R1RHR0dNelpzeGdTNWN1ZmUv
393 TWJWVW9PcnpyS1NFaEFjYkd4c0xucHFhbWlJdUwKYXpCUFJFUUVlRHdlSEIwZE1XYk1HRVJFUkxU
394 SnRzdHJ5M0g4MW5GTXM2RDdUaEJDV3E2c3JBeHhjWEZZdTNZdHRMVzE0ZWpvaUlrVApKK0xZc1dO
395 d2MzUER4SWtUNGVMaWd0T25UeU1nSUVDNG5KT1RFOHpNekNBdExRMTNkM2Q0ZW5yaXhJa1RBSURJ
396 eUVqbzZ1cml1KysrCmc3cTZPalEwTkdCbFpTVmNsb25RRHc5RjhwZloxZFhWU0U1T3h0bXpaMUZa
397 V1FrM056ZmN1SEVEOHZMeWI4eTdmUGx5NGIrZG5aMmIKUFo5eDlPWlJPT283UWx0SnV4MVNFMEk2
398 UWx2ODJMaTFuOEdYTGwxQ2ZuNCtkSFIwaEgrcnI2L0h5SkVqc1dqUklueisrZWY0N2JmZgpzSGp4
399 WXFpcnF3dm5TVTlQeDRZTkd4QWJHNHZjM0Z6VTF0WkNTdXJGOS9NTEZ5NWc2TkNoVFc2ekxlKzJH
400 UlVWaGFpb3FIZGV2c01MCmhaMmRIUll0V2lSOG5wNmVqbEdqUmpXWXg4SEJBVFUxTmVqUm93Y0FZ
401 TkNnUVlpSmlZRzd1L3NiNjN1MVVMek4zcFM5OExmMWY3ZmcKaEJDUndNVVhiUWNIQjJocGFTRXJL
402 d3RkdW5ScE1LMit2aDZ6WjgrR3I2OHZ0bTNiaGhrelpxQmZ2MzRBZ0crLy9SYURCZzFDZEhRMApl
403 dlRvQVc5dmIyRkx3Y1hGQmQ5Ly8zMmoyNU9XbG9aQUlHaXovSzkvaVY2eFlrV3JsdS93cmlkVlZW
404 VUFMMFkrWldWbElUSXlFdmIyCjlnM21HVEprQ0tLam8xRlpXWW1pb2lJa0pTVmgyTEJoNzdYZHh5
405 V1BrWlNiaERFRHhyelhlZ2doblkrYW1ocUdEeCtPbjM3NkNROGYKUGtSOWZUMXUzTGlCaElRRXJG
406 NjlHdExTMGdnTURNU2lSWXZnNitzci9KRFB5Y21CcHFZbVZGVlZFUllXaHJDd01PRTZYVjFka1pP
407 VApndzBiTnFDb3FBaUZoWVZJU1VrQkFOamEyaUkxTlJWMWRYV2M3Ty9yT0JrZXUzbnpadmo3KzhQ
408 VjFSVmZmZlVWTkRVMUVSQVFJT3piCjY5YXRHMmJPbklsQmd3WmgvUGp4V0xseUpaU1VsTjVybS90
409 UzkyR2k2VVIwbGVuYUZydEFDT2xrZHU3Y0NYMTlmWHo2NmFmUTB0TEMKN05temNlSENCV3pldkJs
410 NzkrNEZqOGZEOTk5L0R4NlBoM1hyMWdFQWZ2bmxGL3o1NTUvbzNiczNRa05EOGNVWFh3alhKeU1q
411 ZzRzWApMeUk3T3h0bVptYXdzYkZCYW1vcUFHRHMyTEdRa3BKQ3IxNjk4TWtubjNDeXY2L2lNVkU2
412 WTlKS1BCNnZSU2Q4R0dNdzJXYUNQWjU3Ck1GU3Y2VDVCUWdpM1d2cC9tclJNVThlenRjZTVVL3d5
413 T3lFbkFmV3NIZzY2RGx4SElZUVFzZE1wQ2tWd1NqQjhMWDNiZEJRQklZUjAKRmlJNVBMWXQxZFRW
414 NE5DTlEwajRQSUhyS0lRUUlwWWt2a1h4ZCtiZk1PdHVoajdxZmJpT1FnZ2hZa25pQzhYZTFMM3d0
415 ZlRsT2dZaApoSWd0aVM0VUJaVUZPUC9nUENhYVRlUTZDaUdFaUMySkxoU0hiaHpDeDBZZlEwVk9o
416 ZXNvaEJBaXRpUzZVRkMzRXlHRXZEK0pMUlMzCkMyN2pVY2tqdVBWejR6b0tJWVNJTllrdEZDR3BJ
417 ZkF5OTRLTWxNU1BBQ2FFa0hZbGtZVkN3QVFJU1EyQnJ4VjFPeEZDeEllb1hBVHcKZFJKWktHSWV4
418 a0JWVGhWVzJsWnZuNWtRUWxwZzdkcTFNRFEwUkxkdTNUQnQyalJjdkhnUkFCQVVGSVRodzRkanla
419 SWwwTkhSd2VUSgprM0h6NWszaGNzN096bGkxYWhWY1hGeWdxNnVMdFd2WG9xS2lBZ0NRbFpVRktT
420 a3BIRDU4R09ibTVuQnplOUZWSGhZV0JqYzNOMWhZCldHRG56cDJvckt3RUFIaDRlT0RiYjc4VnJu
421 dktsQ21ZTld0V3UrKzdSUGJMdkd4TjBDVTdDQ0Z0eGREUUVKY3VYWUtxcWlwMjd0eUoKcVZPbjR2
422 SGp4d0NBK1BoNERCa3lCQ2twS2Rpelp3OWNYVjJSblowdFhQYTMzMzdENzcvL0RsTlRVL2o3KzZP
423 a3BBUnIxcXdSVGo5dwo0QURDd3NMUXExY3ZYTGh3QVhQbnpzWHUzYnVocjYrUEw3LzhFcm01dVZp
424 K2ZEbjI3TmtEUzB0TGVIaDRJQ2NuQjRtSmljSkxrN2VyCjk3Z2RLK2NhaTE5Ulc4SFUxcXF4N05K
425 c0RoSVJRdDZIdUh3a0NRUUNwcWVueHhJVEUxbGdZQ0NUazVOalZWVlZ3dWs2T2pyczJyVnIKakRI
426 R25KeWNtSStQajNCYVJFUUVNemMzWjR3eDl1REJBOGJqOFZoTVRJeHcrcng1ODlpUFAvNG9mQjRa
427 R2Nrc0xTMkZ6NDhjT2NKMApkWFdacHFZbXUzejVjck01bXpxZXJUM09FdGVpQ0xzZGhzRzlCa05I
428 V2VmdE14TkN4QTV2eGZ2M0ZMQmxyYitVZVZoWUdJS0NnaEFYCkY0ZXFxaXFVbDVjakpTVUZVbEpT
429 TURJeVF0ZXUvMyt2R3hzYkcxeTVjZ1VEQnc0RWo4ZUR0YlYxZzJucDZlbkM3aWNBRFc3ZUZoc2IK
430 aXg5KytFSDQzTmJXRm1scGFTZ3JLNE95c2pKR2p4Nk5PWFBtd05qWXVObGJxYllsaVNzVUlha2g4
431 TEgwNFRvR0lhU2R2TXVIL1B1cQpxS2pBNTU5L2p0OS8veDFCUVVGUVZsWkduejcvZi8yNHpNeE1W
432 RlZWUVY1ZUhnQ1FsSlNFbFN0WHZzakxHSktTa29UelhyOStIV1ptClpsQlVWRVIrZmo2QUZ6Y3hl
433 bW5Zc0dGSVRFekVoQWtUQUFDSmlZbXdzTENBc3JJeUFHRHg0c1V3TlRWRlZsWVdEaDQ4aUNsVHBy
434 VHYKemtQQ1RtWS9LMytHeTQ4dVk3enhlSzZqRUVJa1NGbFpHY3JMeTlHelowOElCQUtzV2JNR09U
435 azV3cHYvQ0FRQ0xGdTJEUG41K1ZpLwpmajBBWU9EQWdjTGx6NTA3aDFPblR1SCsvZnZZc0dFRHhv
436 eHArcGJNbnA2ZUNBME54Zm56NTNIMzdsMnNYNzhlNDhlLytFeUxpWWxCClVGQVFRa0pDRUJRVWhM
437 bHo1eUluSjZjZDkvd0ZpU29Vb1RkQzRXbnNDY1V1aWx4SElZUklrQjQ5ZW1ETm1qWHc4ZkdCbFpV
438 VmFtdHIKTVh6NGNQQjRQUEI0UE5qYjIwTldWaFpXVmxaSVNFakFtVE5uaE12eWVEeDgvZlhYMkxo
439 eEl4d2RIVEZ5NUVnc1hyeTR3ZlJYT1RzNwpZOU9tVFZpOWVqWEdqUnNIVDA5UGZQZmRkeWd0TGNY
440 MDZkT3hiZHMyOU96WkU4T0hEOGVzV2JQZzUrZlg3dnN2VWJkQ3RmM2RGdXRjCjE4RzFyeXVIcVFn
441 aDcwb2NiNFVhRkJTRTNidDNDNGZMdm03a3lKSHc4Zkhwa0EvMDE5R3RVRitUa1orQlorWFBNTkpn
442 Sk5kUkNDR2sKQVhFcmZxK1RtRUlSa2hxQ2FaYlRJQzBselhVVVFrZ244ckw3NlczemlET0o2SG9T
443 TUFIME4rdmpuMm4vd0x5N09kZXhDQ0h2U0J5Nwpua1FaZFQyOUlpb3JDcG9LbWxRa0NDR2tIVWhF
444 b2FEZlRoQkNTUHNSKzBKUnlhL0U4VnZINFdYdXhYVVVRZ2lSU0dKZktFN2NPZ0g3Clh2Ym9xZHlU
445 NnlpRUVDS1J4UDRTSHRUdFJJamtVRmRYRi9zUlFxSkVYVjI5VGRZajlxT2UxTmFxNGNrM1Qralgy
446 SVFRMGtKaU1lb3AKSmlZR0ppWW1NREl5d3RhdFc5K1lIaFVWQlZWVlZkalkyTURHeGdZLy8veHpr
447 K3NhTzJBc0ZZazJFaFVWeFhVRWlVSEhzbTNSOGVRVwpKNFZpL3Z6NUNBZ0l3Tm16WjdGdDJ6WVVG
448 QlM4TVkrVGt4T1NrcEtRbEpTRUpVdVdOTGt1Nm5acU8vU2ZzZTNRc1d4YmREeTUxZUdGCm9xU2tC
449 QUF3WXNRSTZPdnI0OE1QUDhUVnExZmZtSytselNLNlpBY2hoTFN2RGk4VUNRa0pNRFkyRmo0M05U
450 VkZYRnhjZzNsNFBCNWkKWTJOaGJXMk5oUXNYNHQ2OWUwMnVqeTdaUVFnaDdVc2tSejBOSERnUWp4
451 OC9ocXlzTElLRGd6Ri8vbnljUEhteTBYbHBoRVRiV3JGaQpCZGNSSkFZZHk3WkZ4NU03SFQ3cXFh
452 U2tCTTdPenNJN1BzMmRPeGVqUm8yQ2g0ZEhvL016eHRDalJ3ODhldlFJY25KeUhSbVZFRUlJCk9P
453 aDZVbFZWQmZCaTVGTldWaFlpSXlNYjNDOFdBSjQ5ZXlZOFJ4RWVIZzVMUzBzcUVvUVF3aEZPdXA0
454 MmI5NE1mMzkvOFBsOHpKczMKRDVxYW1nZ0lDQUFBK1B2NzQ2Ky8vc0tPSFRzZ0l5TURTMHRML1BM
455 TEwxekVKSVFRQWdCTURFVkhSek5qWTJObWFHaklmdjMxVjY3agppRDE5ZlgxbVlXSEJySzJ0bVoy
456 ZEhkZHh4TXJNbVROWjkrN2RtYm01dWZCdnBhV2xiT3pZc1V4UFQ0OTVlbnF5c3JJeURoT0tsOGFP
457 CjU3Smx5MWl2WHIyWXRiVTFzN2EyWnYvODh3K0hDY1hMbzBlUG1MT3pNek0xTldWT1RrNXMvLzc5
458 akxIV3YwZkY4bHBQTGZrZEJtazUKSG8rSHFLZ29KQ1VsSVQ0K251czRZbVhtekprNGZmcDBnNy90
459 MkxFRHZYdjNSbVptSm5SMWRiRno1MDZPMG9tZnhvNG5qOGZEd29VTApoYityR2pWcUZFZnB4SStz
460 ckN3MmJkcUU5UFIwL1BYWFgxaXlaQW5LeXNwYS9SNFZ1MExSMHQ5aGtOWmg0bnNsRjA0NU9qcStj
461 VDJkCitQaDR6Sm8xQzNKeWN2RHo4NlAzWnlzMGRqd0JlbisrcXg0OWVzRGEyaG9Bb0ttcENUTXpN
462 eVFrSkxUNlBTcDJoYUlsdjhNZ3JjUGoKOGVEaTRvSng0OFloTEN5TTZ6aGk3OVgzcUxHeE1iWFMy
463 c0RXclZzeFpNZ1FyRnUzRG1WbFpWekhFVXQzNzk1RmVubzZCZzhlM09yMwpxTmdWQ3RMMkxsKytq
464 SlNVRkt4WnN3WUxGeTVFYm00dTE1SEVHbjM3YlZ0ZmZ2a2xIang0Z0lpSUNOeTdkMDg0OElXMFhG
465 bFpHU1pQCm5veE5telpCU1VtcDFlOVJzU3NVZG5aMnVIWHJsdkI1ZW5vNmhnd1p3bUVpOGRlejU0
466 dDdlWmlZbUdEczJMRUlEdy9uT0pGNHM3T3oKdzgyYk53RUFOMi9laEoyZEhjZUp4RnYzN3QzQjQv
467 R2dxcXFLcjcvK0dzZU9IZU02a2xqaDgvbVlNR0VDZkh4ODRPbnBDYUQxNzFHeApLeFF0K1IwR2Fi
468 bkt5a3BoVXo0L1B4OFJFUkYwc3ZBOTJkdmJZOCtlUGFpcXFzS2VQWHZvaTh4N2V2cjBLUUNncnE0
469 T0J3NGN3TWNmCmY4eHhJdkhCR01Pc1diTmdibTZPQlFzV0NQL2U2dmRvTzQvT2FoZFJVVkhNMk5p
470 WTlldlhqMjNac29Yck9HTHQvdjM3ek1yS2lsbFoKV1RFWEZ4ZTJlL2R1cmlPSmxTbFRwckNlUFh1
471 eUxsMjZNRjFkWGJabnp4NGFIdnNlWGg1UFdWbFpwcXVyeTNidjNzMThmSHlZaFlVRgpzN1cxWmQ5
472 ODh3MHJMQ3prT3FiWXVIanhJdVB4ZU16S3lxckI4T0xXdmtmRitzWkZoQkJDMnAvWWRUMFJRZ2pw
473 V0ZRb0NDR0VOSXNLCkJTR0VrR1pSb1NDRUVOSXNrYnh4RVNGY2twYVdocVdscGZDNWw1Y1h2dnZ1
474 T3c0VEVjSXRHdlZFeUd1VWxaWGIvRElSZFhWMWtKR2gKNzJWRVBGSFhFeUV0WkdCZ2dMVnIxOExT
475 MGhLalI0L0dnd2NQQUFEVjFkWFl1SEVqbkp5YzRPSGhnYWlvS0FCQVVGQVFKazZjQ0ZkWApWN2k3
476 dTZPbXBnWXJWNjZFbVprWnBreVpnbUhEaHVIYXRXc0lEQXpFTjk5OEk5ek9ybDI3c0hEaFFpNTJr
477 WkJHVWFFZzVEVlZWVld3CnNiRVJQZzRmUGd6Z3hjVVRxNnFxa0pxYUNnY0hCNFNFaEFBQURoNDhD
478 QmtaR1VSSFIyUFBuajM0L3Z2dmhlczZkKzRjL3ZqakQ1dzcKZHc1aFlXRklUMDlIVWxJUy9QMzlj
479 ZVhLRmZCNFBFeWFOQW5oNGVHb3I2OEg4S0xBekpvMXErTjNuSkFtVUZ1WWtOZkl5OHNMNytuKwpP
480 bDlmWHdDQWk0c0xWcTVjQ1FBNGN1UUlzckt5RUJnWUNBQjQvdnc1N3QrL0w1elB3TUFBQUhEbXpC
481 bE1tVElGWGJwMHdjaVJJNkd2CnJ3OEFVRlJVaEl1TEM4TER3MkZzYkF3K253OHpNN1AyM0VWQ1dv
482 VUtCU0d0OFBKZUNiS3lzcWl1cmdZQUNBUUNiTnUyRFNOR2pHZ3cKNzhXTEY0VVhYSHlieno3N0RL
483 dFdyWUtKaVFuOC9QemFOalFoNzRtNm5naDVUMU9uVGtWQVFJRHdCUGpMMXNqcjQwVGMzZDN4NTU5
484 LwpvcmEyRnRIUjBYajQ4S0Z3MnVEQmcvSGt5Uk1jT0hBQVhsNWVIUmVla0JhZ0ZnVWhyM2w1anVL
485 bGp6NzZDS3RYcjI0d0Q0L0hBNC9ICkF3QjgrdW1uS0Nnb2dMdTdPMHBMUzlHM2IxK0VoWVUxbUFj
486 QVJvOGVqUnMzYnNEYTJocVdscFl3TXpNVGRqOEJ3S1JKazVDU2tpSzgKUWpJaG9vS0d4eExTUVFR
487 Q0FmaDhQdVRrNUpDUWtJQUZDeGJnOHVYTHd1bWpSbzNDMHFWTE1XellNQTVURXZJbWFsRVEwa0Vx
488 S3lzeApjdVJJVkZkWG8zLy8vdmpsbDE4QUFNWEZ4Umc2ZENpY25aMnBTQkNSUkMwS1FnZ2h6YUtU
489 MllRUVFwcEZoWUlRUWtpenFGQVFRZ2hwCkZoVUtRZ2doemFKQ1FRZ2hwRmxVS0FnaGhEVHIvd0NB
490 VnZqbFk2d1Y4Z0FBQUFCSlJVNUVya0pnZ2c9PQo=
491 </png>
492 </output>
493 </outputs>
494 </codecell>
495 <markdowncell>
496 <source>Note how the exact smoothed DOS and the Strutinsky approximation agree once the energy is away from
497 0. In general, these are edge effects and are also present at the right limit if you don't use enough energy
498 levels. Here we have used 30, so the right side doesn't show these artifacts.</source>
499 </markdowncell>
500 <markdowncell>
501 <source>&lt;h2&gt;1D Particle in a BOX (PIAB) DOS&lt;/h2&gt;</source>
502 </markdowncell>
503 <codecell>
504 <input>def piab_smooth_dos(e):
505 """Compute the exact smooth DOS."""
506 return 1.0/(2.0*math.sqrt(e*math.pi**2/2))</input>
507 <language>python</language>
508 <prompt_number>16</prompt_number>
509 <collapsed>1</collapsed>
510 <outputs />
511 </codecell>
512 <codecell>
513 <input>def piab_spectrum(nmax):
514 """Compute the first nmax energies of the 1D PIAB."""
515 return [0.5*math.pi**2*(n+1)**2 for n in range(nmax)]</input>
516 <language>python</language>
517 <prompt_number>17</prompt_number>
518 <collapsed>1</collapsed>
519 <outputs />
520 </codecell>
521 <codecell>
522 <input>piab_evalues = linspace(1.0,1000.0,100)</input>
523 <language>python</language>
524 <prompt_number>18</prompt_number>
525 <collapsed>1</collapsed>
526 <outputs />
527 </codecell>
528 <codecell>
529 <input>piab_dos = SmoothDOS(piab_spectrum(20))</input>
530 <language>python</language>
531 <prompt_number>19</prompt_number>
532 <collapsed>1</collapsed>
533 <outputs />
534 </codecell>
535 <codecell>
536 <input>piab_exact_dos = [piab_smooth_dos(e) for e in piab_evalues]</input>
537 <language>python</language>
538 <prompt_number>20</prompt_number>
539 <collapsed>1</collapsed>
540 <outputs />
541 </codecell>
542 <codecell>
543 <input>piab_approx_dos = [piab_dos(e, M=4, gamma=150.0) for e in piab_evalues]</input>
544 <language>python</language>
545 <prompt_number>21</prompt_number>
546 <collapsed>1</collapsed>
547 <outputs />
548 </codecell>
549 <codecell>
550 <input>plot(piab_evalues, piab_exact_dos, label="exact")
551 plot(piab_evalues, piab_approx_dos, label="approx")
552 title("Smooth part of the DOS for the 1D PIAB")
553 xlabel("Energy"); ylabel("$g(E)$")
554 legend(loc=1)</input>
555 <language>python</language>
556 <prompt_number>22</prompt_number>
557 <collapsed>0</collapsed>
558 <outputs>
559 <output>
560 <output_type>pyout</output_type>
561 <text>&amp;lt;matplotlib.legend.Legend at 0x6107410&amp;gt;</text>
562 <prompt_number>22</prompt_number>
563 </output>
564 <output>
565 <output_type>display_data</output_type>
566 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVpjQUFBRWFDQVlBQUFEZFNCb0xBQUFBQkhOQ1NWUUlD
567 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYbGNG
568 ZVhpUC9EUG5NTmhsVlZRTVJCVVZNQUZVQUZ4UlZLeG43bWtXV0pYCjdXcEtYZGMwN2FaMlhXNXBY
569 Y3YwYTFab3JxbDU2NXBGZVUxeEFkeFlYTUxDUFVWTEx3b3U3SnoxK2YxeDVDZ0tBbm80QncrZjkr
570 czEKcjdQTVBEUFBQT3I1K013OE15TUpJUVNJaUlpTVNHYnVDaEFSa2VWaHVCQVJrZEV4WElpSXlP
571 Z1lMa1JFWkhRTUZ5SWlNanFHQ3hFUgpHUjNEaFdway9mcjE2TkdqaDdtcjhkaXlzckl3ZlBod3VM
572 cTY0dE5QUDYxV0dabE1ob3NYTDlaeXpXclh2bjM3MExOblR6ZzZPaUlqCkk2Tld0bUVKN1VUR3cz
573 Q3BvNDRmUDQ3eDQ4ZkQyOXNiRFJzMlJQZnUzWEgwNkZHVDFpRXJLd3N5bVF3Nm5jNmsyMzJVeU1o
574 SXJGbXoKNXJITGI5cTBDYzdPenJoNTh5WW1UWnBrOVBVL1NsbDdPam82d3NYRkJXM2F0TUd3WWNO
575 dy9QanhoNWI5L3Z2dkVSRVJBUmNYRi9qNworK090dDk2Q1VxazB6Qzh1THNiQ2hRc1JGaFlHSnlj
576 bnRHblRCaDkrK0dHbDIxNjBhQkhHamgyTGdvSUNCQVVGUGZHKzFHWTdBY0NFCkNSUGc3KzhQdVZ5
577 T0RSczJsSnMzZi81OEtCUUtPRGs1d2NQREE1MDZkY0xzMmJPUmw1ZFg2ZnJXcjE4UHVWd09SMGRI
578 TkduU0JERXgKTVVoS1NnSUFKQ1ltd3R2Yis2RXlyNzc2S2hRS0JiS3pzeXZjdnFPakk5emMzUERD
579 Q3k5Z3o1NDlSdGhyeThKd3FhUEdqUnVIdG0zYgpJak16RTFldlhzVzhlZk5nWTJOamxyclVoZXRz
580 aFJEUTZYU1FKT21KMW5QdzRFR0VoNGRESnF2NHIvNlRycjg2OHZMeWtKT1RnK1hMCmw4UE56UTA5
581 ZS9iRWp6LythSmkvYXRVcWpCMDdGdEhSMFRoLy9qemVlKzg5N04rL0gzMzY5REVzczNyMWFodzRj
582 QUJidG14QmZuNCsKNHVQajRlZm5WK0gyaEJBNGRPZ1F1blhyOWxqMXJlZy9GN1hkVHNIQndmanNz
583 OC9Rc1dQSGg3WWxTUkppWW1LUW41K1B6TXhNVEpndwpBWWNQSDBad2NEQUtDd3NyWFdlM2J0MVFV
584 RkNBOCtmUG8yWExsbmo5OWRjclhiYW9xQWpidG0xRFlHQWdObTNhVk9IMkN3b0trSjJkCmpVR0RC
585 dUcxMTE2clUvOEpxeE1FMVRsbno1NFZ0cmEyUXExV1Z6aC8zYnAxb2x1M2JtTGV2SG1pYWRPbW9s
586 T25UdUxreVpQaTIyKy8KRmUzYXRST2RPblVTUC8vOHMySDVvcUlpOGRsbm40bDI3ZHFKdm4zN2l2
587 ajQrSExyKytHSEgwU2ZQbjFFdTNidHhPZWZmeTZLaW9xRQpFRUo0ZTNzTFNaSkVnd1lOaEtPam96
588 aHk1SWhZdjM2OTZONjl1MWl3WUlGbzJyU3BpSTZPRm9jUEg2NTBYM3g4Zk1TS0ZTdEVhR2lvCmFO
589 R2loZmo4ODgrRlNxVVNRZ2h4Ky9adE1XREFBT0hoNFNIOC9QekV1KysrSzY1ZnYyNG8yNnRYTC9I
590 KysrK0x2bjM3Q2tkSFIvSEsKSzY4SXVWd3ViRzF0UllNR0RjVGt5Wk1yM09heFk4ZkVtREZqaEkr
591 UGo1ZzdkNjY0ZXZXcUVFS0kzcjE3RzhvN09qcUs4K2ZQbHlzMwplL2JzQ3RjdlNaTFl0R21UQ0Fv
592 S0VpMWJ0aFJMbHk0dFYrN0FnUU5pNU1pUnd0ZlhWOHlmUDEvazVPUlVXSzlMbHk0SlNaS0VWcXN0
593 CjkvMWYvdklYNGUzdExZUVFvcUNnUUxpNnVvb2xTNWFVV3lZN08xdklaREx4OWRkZkN5R0U2TnEx
594 cTlpd1lVT2w3VjZtdExSVU9EZzQKQ0VtU2hJT0RnL0R6OHhOQ0NQSG5uMytLT1hQbUNCOGZIL0hx
595 cTYrSzQ4ZVBHOHFNR1ROR1RKczJUUXdmUGx5NHVibUp2WHYzbXJTZAo3dGU5ZS9lSDluUGV2SG5p
596 TDMvNVM3bnZDZ3NMaFoyZG5aZzdkMjZGNjFtM2JwM28zcjI3NGZPMWE5ZUVKRW5pd29VTFl2Lysv
597 Y0xMCnk2dmM4aHMyYkJEdDI3Y1htelp0RXUzYXRYdms5clZhclhCd2NCQW5UNTZzY24vcUU0WkxI
598 ZFd5WlVzeGJOZ3c4ZU9QUDRvN2QrNlUKbTdkdTNUcGhiVzB0M252dlBYSHIxaTBSR3hzcldyUm9J
599 VWFQSGkydVhic20xcTFiSjFxMGFHRlkvaC8vK0lmbzNidTNPSHYyck5pNwpkNi93OWZVVisvZnZG
600 MElJc1cvZlB0R3NXVE9Sa0pBZ3pwMDdKNTU5OWxreGI5NDhJWVFRV1ZsWkQvMFlsbTE3d1lJRjR0
601 YXRXMkxlCnZIbmwvdEUreU1mSFI3UnAwMFljT0hCQS9QTExMeUlrSkVSODhjVVhRZ2doYnQ2OEti
602 Nzc3anRSVWxJaUxseTRJS0tqbzhXY09YTU0KWlh2MTZpV2FObTBxZnZycEo2RldxNFZhclJhUmta
603 Rml6Wm8xbFc2dnFLaElOR2pRUUt4ZXZWcmN1SEZEVEpreVJmVHExY3N3djZyeQpGYzJYSkVsRVJV
604 V0owNmRQaTJQSGpnbEhSMGR4NGNJRklZUVFHUmtad3N2TFN5UWtKSWhidDI2SnlaTW5pNUVqUjFh
605 NDdzckNaZnYyCjdVS1NKSkdkblMwT0hUb2tKRWtTcDA2ZGVxaDg1ODZkUld4c3JCQkNpQVVMRm9q
606 V3JWdUxsU3RYR3VyeUtKSWtpZDkvLzkzd3VXZlAKbm1MU3BFbml4bzBiWXMyYU5jTEp5VW1VbEpR
607 SUlmVGg0dURnSUxaczJTTFVhclVvTFMwMWFUdmRyN3JoSW9RUWd3Y1BGdEhSMFJXdQo1LzV3dVhQ
608 bmpuam5uWGRFKy9idGhSQ2l3bkNKaW9vUzc3MzNuc2pQenhlMnRyYmkyTEZqRlc2L3BLUkV4TVhG
609 aVVhTkdnbU5SbFBsCi90UW5ESmM2NnNxVksrTHZmLys3OFBiMkZnMGFOQkJUcDA0Vk4yL2VGRUxv
610 LzZHNHVia1pmcVFPSGp3b0pFa3kvTTlKclZZTGUzdDcKa1pXVkpZUVFJaWdvU096YXRjdXc3amx6
611 NW9ncFU2WUlJWVNZTW1XS2VPZWRkd3p6RWhJU1JJY09IWVFRRmY4WXJsdTNUcmk2dWhxKwp1M2J0
612 bWxBb0ZLS3dzTERDL2ZEMTlSWHZ2dnV1NFhOY1hKeDQvdm5uSzF3MklTR2gzUDhTSXlNanhkaXhZ
613 OHN0RXhrWktiNzg4c3RLCjIrMjc3NzRURVJFUmhzOUZSVVhDM3Q1ZTVPYm1WcXQ4UmZNbFNSTGJ0
614 bTB6Zkk2T2poYWZmLzY1RUVML3YvajMzMy9mTUM4M04xZTQKdTd0WDJPdXNMRnh5Y25LRUpFa2lQ
615 VDFkL1B2Zi94Wk9UazRWMW0zU3BFbmkvLzIvL3llRUVFS3BWSW9OR3phSWlJZ0lvVkFveExQUApQ
616 aXNPSGp4WTZYN2RIeTQ1T1RuQ3pzNnUzSjladDI3ZHhIZmZmU2VFMElkTFZGUlVwZXNTb25iYjZY
617 NDFDWmNsUzVhSXdNREFDdGV6CmJ0MDZZV1ZsSlZ4Y1hFU3paczNFMkxGalJVcEtpaERpNFhDNWZQ
618 bXlrTWxrNHV6WnMwSUlmV2hOblRxMTNQYXRyYTJGaTR1THNMT3oKRXdxRlF2ejAwMCtQM0kvNmlP
619 ZGM2aWh2YjI4c1hyd1lWNjVjd1o0OWU1Q1FrSUJseTVZWjVnY0dCaHJPR3pSdTNCZ0EwTDU5ZXdD
620 QQpsWlVWM056Y2NQWHFWUlFVRk9Ea3laUG8xS21Ub1d5blRwMXc0TUFCQU1EaHc0Y2ZtdmZycjcr
621 aW9LQ2cwcnExYmR2V3NHMVBUMDlvCk5CcGN2MzY5MHVXRGc0TU43ME5DUW5Ea3lCRUErbVA1czJm
622 UFJvOGVQZURpNG9KaHc0YmgxS2xUNWM3eGhJZUhQN1MrUngzdlAzejQKTURwMjdHajRiRzl2ajFh
623 dFd1SHc0Y1BWS2wvWi9QdjN3ZFBURTlldVhRTUE3Tm16QjRzWEw0YXJxeXRjWFYzaDUrZUg0dUpp
624 bkRoeAo0cEhidUY5eWNqSUEvWis1bDVjWENnb0tjT3JVcVllV08zTGtDSm8xYXdZQXNMYTJ4dWpS
625 bzNINDhHRmN2WG9WclZ1M3hpdXZ2Rkt0CjgyTXBLU2xvMGFJRkhCd2NETjkxN3R3WkJ3OGVOT3gv
626 UmUzK0lGTzNVMVdTazVNTjdWT1JMbDI2NFBidDI3aDgrVExXckZsVDZUNSsKOWRWWGFOZXVIVnEz
627 YmcwQUdENThPTFpzMlFLdFZtdFk1dVdYWDhidDI3ZFJWRlNFdzRjUDQ0MDMzc0IzMzMxbnRIMnhC
628 QXlYcDBCNAplRGhpWW1LUW1KaFk0N0tPam83bzBLRkR1WkZtUjQ4ZVJjK2VQUUhvVDNJK09LOTkr
629 L1p3ZEhTRVhDNEg4T1FuOU8vL0FUbCsvRGk2CmR1MEtBUGoyMjIreFk4Y09yRnUzRHJtNXVkaTJi
630 UnVFdmpkdFdON0t5cXJjdXVSeStTTlBuSGJyMWczSGpoMHpmQzRxS3NMNTgrY04KMjZ4S1ZldC9V
631 RlJVRk9iT25ZdmJ0MjhicHFLaUlvU0dobFo3SGR1M2I0ZVhseGNhTjI2TTl1M2J3OFhGQlR0MjdD
632 aTNUSFoyTms2YwpPR0g0Yzd1Zmg0Y0hacytlalN0WHJ1RFNwVXRWYnE5TGx5NjRlUEVpaW9xS0RO
633 K2xwNmVYRzJKZTltZGZHWE8wVTVtS1FxMm9xQWdKCkNRbVB0YjRIYmR5NEVlZlBuNGVucHljOFBU
634 MHhiZG8wNU9ibWx2c3pLZnM3S2trU09uZnVqT2VlZTQ3aDhnQ0dTeDEwOXV4WkxGMjYKRkZldlhv
635 VldxOFh4NDhleGVmTm1qQjQ5K3JIV04zandZQ3hac2dUbnpwMURZbUlpdnY3NmF3d1pNc1F3Nyt1
636 dnY4YStmZnR3NGNJRgpMRm15QkMrODhBSUF3TXZMQzQwYU5YcWlJZEJDQ0d6YnRnMkhEaDNDeVpN
637 bnNXclZLanovL1BNQWdHdlhyc0hGeFFYdTd1NDRkKzVjCmhVTnBId3kyVHAwNjRjU0pFNVVHWHQr
638 K2ZaR1ptWW0xYTlmaXhvMGJtRHQzTGtKRFE5R3dZY05LMTFtVDlaZVZMNXMvYXRRb3hNWEYKWWZm
639 dTNWQ3BWTWpMeThPMzMzNWJlWVBjTGE5V3E3Rjc5MjY4OGNZYjJMNTl1K0dhRzBkSFJ5eGF0QWlM
640 RnkvRy9QbnpjZVBHRGZ6bgpQLy9CZ0FFREVCRVJnWmlZR0FEQVAvLzVUeHc5ZWhRcWxRclhybDNE
641 di83MUwzVHQyaFV0V3JSNDVMWUJ3TjNkSGFHaG9aZzllelp1CjNMaUI5ZXZYSXpNekU5SFIwVlcy
642 ajZuYVNhMVdvN1MwRkRxZERpcVZDcVdscFlaMTNiL042OWV2WS9YcTFSZzRjQ0FhTjI2TXQ5OSsK
643 dThxNlA4cVJJMGR3OGVKRnBLZW5JeU1qQXhrWkdmanR0OTh3Y3VSSWJOeTRzY0o5L09XWFg3Qno1
644 MDRNSERqd2liWnRhUmd1ZFpDagpveU5TVTFNUkhoNE9OemMzVEo4K0hTTkhqalNFaXlSSkZRN1By
645 TXlzV2JNd1pNZ1FEQjA2Rk8rLy96NldMbDJLWHIxNkFkQmZyL0RKCko1OWcwYUpGR0RKa0NBWVBI
646 b3laTTJjYTF2bnV1KzlpM0xoeGNIVjFSV3BxYW8yM0xVa1NKazZjaU9uVHAyUElrQ0VZTjI0Y1hu
647 MzEKVlFEQTJMRmo4Y3d6ejZCMTY5WVlOV29VeG80ZFcrVzYvL0tYditEQ2hRdnc4UERBdEduVEh0
648 cWVnNE1EOXUzYmg2U2tKSVNHaHNMTwp6ZzZiTjIrdWRuMnJXbjlaK2JKMUJBWUdZc09HRGZqbW0y
649 L2c1ZVdGOXUzYlk5ZXVYWld1SDRBaFVDZE5tb1FiTjI0Z01URVJnd1lOCk1zeC8vZlhYOGVXWFgy
650 TFhybDFvM2JvMTVzeVpnOGpJeUhMWFVzaGtNdnoxcjMrRmg0Y0hvcUtpb05WcThkbG5uMVc2elFm
651 M2VmUG0KemJDM3QwZG9hQ2dTRXhPeGQrOWUyTm5aUGJSLzVtcW52bjM3d3Q3ZUhpa3BLWmd3WVFM
652 czdlME5oM0lsU2NLLy8vMXZPRGs1b1YyNwpkdmo4ODg4UkhoNk9YMzc1cGR5aHZzcnFVdGw4UU45
653 ckdUSmtDTnEyYll0R2pScWhVYU5HYU55NE1hWk9uWW9kTzNiZzl1M2JodTA3Ck9qckN5Y2tKZi92
654 YjN6QnUzRGdNSHo3OGtXMVczMGppU1k5NUVEMUM4K2JOc1diTkdrUkZSWm03S2tSa1F1eTVFQkdS
655 MFRGY2lJakkKNkhoWWpJaUlqTTRzUFpmazVHUUVCQVNnVmF0V1dMRml4VVB6TjIvZWpLQ2dJQVFG
656 QldIa3lKRTRkKzZjWVo2dnJ5ODZkT2lBa0pBUQpoSVdGbWJMYVJFUlVUV2JwdVlTRWhHRDU4dVh3
657 OGZGQmRIUTBEaDQ4Q0hkM2Q4UDhJMGVPSURBd0VNN096dGl3WVFQMjdObURyNzc2CkNvRCtCUEd4
658 WThmZzV1Wm02bW9URVZFMW1iem5VblpiN0o0OWU4TEh4d2Y5K3ZWRGFtcHF1V1VpSWlMZzdPd01B
659 Qmd3WUlEaDF0aGwKZUNTUGlLaHVNM200cEtlbnc5L2YzL0E1TURBUUtTa3BsUzYvYXRXcWNoY25T
660 WktFcUtnb0RCa3lCUEh4OGJWYVZ5SWllanhXVlM5aQpQbnYyN01HbVRadkszUmZxMEtGRDhQVDB4
661 T25UcHpGdzRFQ0VoWVdoU1pNbTVjcVo0cGtjUkVTV3lGaEhoa3plY3drTkRjV1pNMmNNCm56TXpN
662 OUdsUzVlSGxqdDU4aVJlZi8xMXhNZkh3OFhGeGZDOXA2Y25BQ0FnSUFDREJnMHE5NUNsKzVYZGVx
663 SytUL1BtelRON0hlcksKeExaZ1c3QXRIajBaazhuRHBleGNTbkp5TXJLeXNwQ1FrUERRM1VtdlhM
664 bUNZY09HWWZQbXplV2VybGRjWEd5NFcyOU9UZzUyN2RxRgovdjM3bTY3eVJFUlVMV1k1TExaczJU
665 TEV4c1pDclZaanlwUXBjSGQzUjF4Y0hBQWdOallXQ3hjdXhLMWJ0d3lQSVZVb0ZFaExTME4yCmRq
666 YUdEaDBLQUdqWXNDRm16SmhSNGJPdmlZakl2Q3p5SWtwSmtvemV4WHRhSlNZbUlqSXkwdHpWcUJQ
667 WUZ2ZXdMZTVoVzl4anpOOU8KaGdzUkVRRXc3bTlublI0dFJrUUVBRzV1YnJoOSs3YTVxMkV4WEYx
668 ZGNldldyVnJkQm5zdVJGVG44ZCswY1ZYV25zWnNaOTRWbVlpSQpqSTdoUWtSRVJzZHdJU0lpbzJP
669 NEVCRTlKVjU5OVZXOCsrNjc1cTVHdFRCY2lJakk2Qmd1UkVSUDRQYnQyMWkyYkJuYXRtMkw1NTU3
670 CkRydDM3OGF0VzdmZzdlMk5uMzc2Q1FCUVdGZ0lQejgvYk5xMENRQ3dZOGNPaElTRXdOblpHWDM3
671 OXNYR2pSdkxyZlBzMmJPWU9YTW0Kdkx5ODBLeFpNMnpZc0FHclY2L0dsaTFiOEs5Ly9RdU9qbzRZ
672 UEhpd3lmZTFKamdVbVlqcXZMcjhiM3JvMEtIdzl2Ykc3Tm16Y2U3YwpPWXdZTVFKSlNVbTRkT2tT
673 Um84ZWpaTW5UMkwyN05uSXk4dkROOTk4QXdCSVNrcUN1N3M3L1AzOXNXZlBIZ3dmUGh6SGp4K0hu
674 NThmCk5Cb05talJwZ2xtelptSDgrUEVRUXVDUFAvNUFVRkFRL3ZyWHY4TGIyeHNMRnk1OG9qcWJZ
675 aWd5TDZJa0lucE1CUVVGU0VsSndlYk4KbTJGblo0ZkdqUnRqK1BEaDJMNTlPMmJPbkluaHc0Y2pL
676 aW9LZCs3Y3djbVRKdzNsZXZYcVpYZ2ZIUjJOd1lNSDQ0Y2Zmc0NNR1RPUQprSkFBTHk4dnpKbzF5
677 N0RNL1UvZXJhc2greUNHQ3hGWkJHTTl4cWttdjkwSER4NUVUazRPbWpadGF2aE9xOVdpZCsvZW1E
678 bHpKc2FQCkg0OVBQLzBVYytiTWdhdXJxMkdaek14TWZQVFJSemg4K0RDeXM3T2hVcWtnaytuUFV1
679 emZ2eDlkdTNhdGRKdFB5L09xZU02RmlDeUMKRU1hWmFpSWlJZ0llSGg2NGZ2MDZidCsramR1M2J5
680 TS9QeDgvL1BBRHRGb3RKa3lZZ05HalIyUGx5cFg0L2ZmZkRlWGVldXN0ZUhsNQpJU2twQ1hsNWVS
681 ZzJiSmloUnhJVkZZVkRodzVWdUQyNVhBNmRUdmZZYldSS0RCY2lvc2ZrNHVLQzd0MjdZL2JzMmJo
682 OCtUSzBXaTErCisrMDNwS2VuWTlHaVJaREw1VmkzYmgxbXpweUowYU5IRzRMaDJyVnJjSGQzaDdP
683 ek0rTGo0OHM5c3IxUG56NjRkdTBhUHZyb0k5eTYKZFFzM2I5NUVSa1lHQUtCVHAwNDRlZklrTkJx
684 TldmYTNKaGd1UkVSUDRJc3Z2b0NQanc5ZWZQRkZlSGg0WU1LRUNkaS9meitXTFZ1RwpqUnMzUXBJ
685 a3ZQMzIyNUFrQ1I5KytDRUE0T09QUDhZMzMzeURaczJhNGV1dnZ6WTh1d29Bckt5c2NPREFBVnk5
686 ZWhWdDI3WkZTRWlJCjRYek5vRUdESUpQSjhNd3p6eGllYlZWWGNiUVlFZFY1L0RkdFhMeHg1Uk5R
687 cWN4ZEF5S2krc3RpdzBXcE5IY05pSWpxTDRzTkYvWmMKaUlqTWgrRkNSRVJHeDNBaElpS2pZN2dR
688 RVpIUk1WeUlpTWpvTERaY09GcU1pTWg4TERaYzJITWhJaklmaGdzUkVSa2R3NFdJcUk1NwpHbTVV
689 K1NDR0N4SFJFL2pnZ3cvZzUrZUhoZzBiNHBWWFhzR0JBd2NBQU92WHIwZjM3dDB4ZCs1Y05HM2FG
690 QysvL0RKT256NXRLQmNaCkdZbjMzMzhmVVZGUjhQTHl3Z2NmZklDaW9pSUFRRlpXRm1ReUdiNzk5
691 bHUwYTljT2ZmdjJCUURFeDhlamI5KythTisrUGI3NDRnc1UKRnhjREFBWU1HSUMzM25yTHNPNFJJ
692 MFpnM0xoeHBtcUNDbG5zdzhJWUxrUmtDbjUrZmpoNDhDQ2NuWjN4eFJkZllPVElrZmpqano4QQpB
693 R2xwYWVqU3BRc3lNakt3ZHUxYTlPblRCMWV2WGpXVS9mVFRUN0ZxMVNvRUJnWWlOallXZVhsNVdM
694 eDRzV0grbGkxYkVCOGZqMmVlCmVRYjc5Ky9INU1tVHNXYk5Hdmo0K09DTk45NUFkblkyNXMrZmo3
695 VnIxNkpEaHc0WU1HQUFybDI3aHFOSGp4cHUwMjgyd2dJQkVQLysKdDdsclFVVEc4clQ4Vk9sME91
696 SHQ3UzJPSGowcTFxMWJKMnhzYkVSSlNZbGhmdE9tVGNXeFk4ZUVFRUwwNnRWTGpCbzF5akJ2MTY1
697 ZApvbDI3ZGtJSUlTNWR1aVFrU1JMSnljbUcrVk9tVEJIdnZQT080WE5DUW9MbzBLR0Q0Zk8yYmR1
698 RWw1ZVhjSGQzRjRjT0hYcGtQU3RyClQyTzJzOFgyWERnVW1haCtrUllZNS9HL1lsN05iamtmSHgr
699 UDlldlhJeVVsQlNVbEpTZ3NMRVJHUmdaa01obGF0V29GVzF0Ync3SWgKSVNFNGN1UUlPbmJzQ0Vt
700 U0VCd2NYRzVlWm1hbTRkQVlBSVNIaHh2ZUh6NThHSC8vKzk4Tm56dDE2b1JmZi8wVkJRVUZjSFIw
701 eFBQUApQNDlKa3liQjM5Ly9rWTlKTmhXTERSY2VGaU9xWDJvYUNzWlFWRlNFOGVQSFk5V3FWVmkv
702 ZmowY0hSM1J2SGx6dy96ejU4K2pwS1FFCmRuWjJBSUFUSjA1ZzRjS0Yrdm9LZ1JNblRoaVdQWDc4
703 T05xMmJRc0hCd2ZrNU9RQTBEODRyRXkzYnQxdzlPaFJEQnMyREFCdzlPaFIKdEcvZkhvNk9qZ0NB
704 T1hQbUlEQXdFRmxaV2RpNmRTdEdqQmhSdXp0ZkJaN1FKeUo2VEFVRkJTZ3NMSVNucHlkME9oMFdM
705 MTZNYTlldQpHUjY0cGRQcE1HL2VQT1RrNUdESmtpVUFnSTRkT3hySzc5MjdGenQyN01ERml4Zngw
706 VWNmWWVEQWdaVnVhL0Rnd2ZqNjY2K3hiOTgrClhMaHdBVXVXTE1FTEw3d0FBRWhPVHNiNjlldngx
707 VmRmWWYzNjlaZzhlVEt1WGJ0V2kzdGVOWVlMRWRGamF0S2tDUll2WG94Um8wWWgKS0NnSUtwVUsz
708 YnQzaHlSSmtDUUo0ZUhoVUNnVUNBb0tRbnA2T25idjNtMG9LMGtTSms2Y2lLVkxsNkpIang3bzNi
709 czM1c3laVTI3KwovU0lqSS9ISko1OWcwYUpGR0RKa0NBWVBIb3haczJZaFB6OGZZOGFNd2NxVksr
710 SHA2WW51M2J0ajNMaHhHRHQyck1uYW9TSVcrNWpqCmYvMUxZT1pNYzllRWlJemhhWHpNOGZyMTY3
711 Rm16UnJEME9RSDllN2RHNk5HalRKTENGanNZNDZUazVNUkVCQ0FWcTFhWWNXS0ZRL04KMzd4NU00
712 S0NnaEFVRklTUkkwZmkzTGx6MVM1YmhqMFhJcXJybnJiQXJBbXpoTXZVcVZNUkZ4ZUhQWHYyWU9Y
713 S2xjak56UzAzdjBXTApGa2hPVGtaR1JnYWlvNlB4ejMvK3M5cGx5M0MwR0JHWlU5bWhzYXFXc1ZR
714 bUQ1ZTh2RHdBUU0rZVBlSGo0NE4rL2ZvaE5UVzEzRElSCkVSRndkbllHb0wveU5Da3BxZHBseTdE
715 blFrVG1OR2JNR0NRbkoxYzZmLy8rL1dZL0wxS2JUQjR1NmVucDhQZjNOM3dPREF4RVNrcEsKcGN1
716 dldyWEtNSUtpSm1VWkxrUkU1bE9ucjNQWnMyY1BObTNhaE1PSEQ5ZTQ3TUdEOHpGL3Z2NTlaR1Fr
717 SWlNampWazFJcUtuWG1KaQpJaElURTJ0bDNTWWZMWmFYbDRmSXlFakR4VU9USjA5Ry8vNzlNV0RB
718 Z0hMTG5UeDVFa09IRHNYUFAvOE1QeisvR3BXVkpBbmp4d3VzCldtV0NIU0tpV3ZjMGpoYXJ5eXh5
719 dEZqWnVaVGs1R1JrWldVaElTR2gzQzBPQU9ES2xTc1lObXdZTm0vZWJBaVc2cFl0dzhOaVJFVG0K
720 WTViRFlzdVdMVU5zYkN6VWFqV21USmtDZDNkM3hNWEZBUUJpWTJPeGNPRkMzTHAxQzYrLy9qb0FR
721 S0ZRSUMwdHJkS3lGV0c0RUZrTwpWMWRYaXg1WlpXcXVycTYxdmcyTHZZaHk2RkNCYmR2TVhSTWlv
722 cWZIVTMxWXpGVFljeUVpTWgrR0N4RVJHUjNEaFlpSWpJN2hRa1JFClJzZHdJU0lpbzJPNEVCR1Iw
723 VmxzdVBDdXlFUkU1bU94NGNLZUN4R1IrVEJjaUlqSTZCZ3VSRVJrZEF3WElpSXlPb1lMRVJFWkhj
724 T0YKaUlpTXptTERSYWNEdEZwejE0S0lxSDZ5MkhDeHNXSHZoWWpJWEN3MlhLeXRHUzVFUk9iQ2ND
725 RWlJcU5qdUJBUmtkRXhYSWlJeU9nWQpMa1JFWkhRV0d5NDJOcnd6TWhHUnVWaHN1TERuUWtSa1Bn
726 d1hJaUl5T29ZTEVSRVpIY09GaUlpTWp1RkNSRVJHeDNBaElpS2pzOWh3CjRWQmtJaUx6c2Rod1lj
727 K0ZpTWg4R0M1RVJHUjBEQmNpSWpJNmhnc1JFUmtkdzRXSWlJeU80VUpFUkVabnNlSENvY2hFUk9a
728 anNlSEMKbmdzUmtmbVlKVnlTazVNUkVCQ0FWcTFhWWNXS0ZRL05QM1BtRENJaUltQnJhNHVQUC82
729 NDNEeGZYMTkwNk5BQklTRWhDQXNMcTNRYgpEQmNpSXZPeE1zZEdwMDZkaXJpNE9QajQrQ0E2T2hv
730 eE1URndkM2MzekcvWXNDRldyRmlCNzcvLy9xR3lraVFoTVRFUmJtNXVqOXdHCnc0V0l5SHhNM25Q
731 Snk4c0RBUFRzMlJNK1BqN28xNjhmVWxOVHl5M2o0ZUdCenAwN1E2RlFWTGdPSVVTVjIyRzRFQkda
732 ajhuREpUMDkKSGY3Ky9vYlBnWUdCU0VsSnFYWjVTWklRRlJXRklVT0dJRDQrdnRMbEdDNUVST1pq
733 bHNOaVQrTFFvVVB3OVBURTZkT25NWERnUUlTRgpoYUZKa3lZUExmZmpqL054K2pRd2Z6NFFHUm1K
734 eU1oSWs5ZVZpS2d1UzB4TVJHSmlZcTJzV3hMVk9jWmtSSGw1ZVlpTWpNU0pFeWNBCkFKTW5UMGIv
735 L3YweFlNQ0FoNVpkc0dBQkdqUm9nQmt6WmxTNHJ1blRweU1nSUFEang0OHY5NzBrU2ZqdU80R05H
736 NEh0MjQyL0QwUkUKbGtpU3BHcWRkcWdPa3g4V2MzWjJCcUFmTVphVmxZV0VoQVNFaDRkWHVPeURP
737 MWxjWEl5Q2dnSUFRRTVPRG5idDJvWCsvZnRYV0phSAp4WWlJek1jc2g4V1dMVnVHMk5oWXFOVnFU
738 Smt5QmU3dTdvaUxpd01BeE1iR0lqczdHNkdob2NqUHo0ZE1Kc1B5NWN0eDZ0UXAzTGh4CkEwT0hE
739 Z1dnSDFFMlk4WU1lSHQ3VjdnTmhnc1JrZm1ZL0xDWUtlaUhLd3Y4NHg5QVVwSzVhME5FOUhSNHFn
740 K0xtUXA3TGtSRTVzTncKSVNJaW83UFljT0dOSzRtSXpNZGl3NFU5RnlJaTgyRzRFQkdSMFRGY2lJ
741 akk2Qmd1UkVSa2RBd1hJaUl5T29zTkZ4c2JoZ3NSa2JsVQorL1l2YXJVYS8vM3ZmeEVmSHcrbFVn
742 bTVYSTZDZ2dKNGVIZ2dPam9hTDd6d0FpUkpxczI2MW9oQ29ROFhJWUE2VkMwaW9ucWhXcmQvClNV
743 bEp3UTgvL0lDWW1CaTBhZE1HTmpZMmhubUZoWVg0OWRkZjhmWFhYMlBzMkxFSURnNnUxUXBYUjlr
744 dERCUUtvTGhZSHpSRVJQUm8KeHJ6OVM1WGhvbFFxY2Zic1dYVG8wS0hLbGFXa3BLQkxseTVHcWRp
745 VEtHc2dCd2ZneGczQXdjSGNOU0lpcXZ0TUdpNkEvdGIzZGVtUQpWMVhLR3NqVkZiaDRFWEIxTlhl
746 TmlJanFQcFBmdUxKdDI3YjQvdnZ2OGIvLy9ROEFjT1BHRGV6ZXZSdWxwYVZHcVVSdDRZZ3hJaUx6
747 CnFGYTR4TWJHWXNpUUlYQnpjd01BTkdyVUNOMjZkY1BHalJ2eDZxdXYxbWI5bmdqRGhZaklQS29W
748 TGcwYU5BQUFKQ1Vsb1UrZlB2anEKcTY4Z1NSSW1USmdBT3p1N1dxM2drK0J3WkNJaTg2aldVT1N6
749 Wjg5Q3FWU2lYNzkrT0h2MkxFYU5HbVdZVjUwVC9lWmliYzA3SXhNUgptVU8xd21YbnpwM1lzMmNQ
750 N08zdDRlVGtoTWFOR3lNa0pBUitmbjZ3dHJhdTdUbytOaDRXSXlJeWoycU5GanR5NUFnaUlpS1Fu
751 NStQCm8wZVBJaTB0RFdscGFjak16RVJoWVNHdVhyMXFpcnBXVzltSWg3QXc0Tk5QZ2JBd2M5ZUlp
752 S2p1TStab3NXcjFYQ0lpSWdBQVRrNU8KaUlxS1FsUlVsR0hld29VTGpWS1Iyc0NlQ3hHUmVUenh2
753 Y1dtVEpsaWpIclVDb1lMRVpGNVZCa3VTcVVTSjA2Y3FIUytpNHNMQVAyRgpsanQzN2pSZXpZeUE0
754 VUpFWkI1VmhvdU5qUTBrU2NMU3BVdVJuSnhjN3NKSnJWYUxpeGN2WXZ2MjdaZ3laUW9DQWdKcXRi
755 STF4YUhJClJFVG1VYTBUK21WMjdkcUZ2WHYzSWpjM0YxdTNia1hYcmwzUnRXdFhSRWRIbzF1M2Jy
756 Vlp6eG9wT3lrMWZEancwa3ZBOE9IbXJoRVIKVWQxbjhoUDZaYUtqbzNIbHloVk1tellOQXdjT1JF
757 SkNBbmJ0Mm9YczdHdzBiOTRjVFpzMk5VcWxqSVdIeFlpSXpLUEdKL1J6YzNQaAo1T1NFRjE1NEFa
758 OTk5aGttVHB5SVJZc1dZZlhxMWJWUnZ5ZkNjQ0VpTW84YTlWd0FZTXlZTVJnNWNpUjBPaDFhdDI0
759 Tkd4c2JqQjQ5CnVzNmRid0VZTGtSRTVsTGpjR25hdENuaTQrT1JsWldGTzNmdW9IMzc5cmh4NHdh
760 U2twTHcwa3N2MVVZZEh4dkRoWWpJUEdvY0xtVjgKZlgwTjd4czFhb1NWSzFjYW96NUd4ZEZpUkVU
761 bThjUVhVZFpsN0xrUUVabUh4WWNMNzRwTVJHUjZGaDh1N0xrUUVaa2V3NFdJaUl5Two0VUpFUkVi
762 ZUR6SzdBQUFab0VsRVFWVEhjQ0VpSXFPejZIRGhVR1FpSXZNd1M3Z2tKeWNqSUNBQXJWcTF3b29W
763 S3g2YWYrYk1HVVJFClJNRFcxaFlmZi94eGpjcmVqejBYSWlMemVPeUxLSi9FMUtsVEVSY1hCeDhm
764 SDBSSFJ5TW1KZ2J1N3U2RytRMGJOc1NLRlN2dy9mZmYKMTdqcy9UZ1VtWWpJUEV6ZWM4bkx5d01B
765 OU96WkV6NCtQdWpYcng5U1UxUExMZVBoNFlIT25UdERvVkRVdU96OTJITWhJaklQazRkTAplbm82
766 L1AzOURaOERBd09Sa3BKU0syVVpMa1JFNW1HV3cyS21NSC8rZkZ5NkJKdzlDeVFtUmlJeU10TGNW
767 U0lpcWxNU0V4T1JtSmhZCksrczJlYmlFaG9aaTVzeVpocytabVpubzM3Ky8wY3ZPbno4ZkJ3OENG
768 eThDekJVaW9vZEZScGIvai9lQ0JRdU10bTZUSHhaemRuWUcKb0IvMWxaV1ZoWVNFQklTSGgxZTQ3
769 SU9QMjZ4SldZQ0h4WWlJek1Vc2g4V1dMVnVHMk5oWXFOVnFUSmt5QmU3dTdvaUxpd01BeE1iRwpJ
770 anM3RzZHaG9jalB6NGRNSnNQeTVjdHg2dFFwTkdqUW9NS3lsZUZvTVNJaTg1REVnOTBEQ3lCSkVv
771 UVFPSFVLZVBGRjROUXBjOWVJCmlLanVLL3Z0TkFhTHZrS2ZoOFdJaU15RDRVSkVSRWJIY0NFaUlx
772 T3o2SERoalN1SmlNekRvc09GUFJjaUl2T3crSERoVUdRaUl0T3oKNkhDeHNnSTBHa0NuTTNkTmlJ
773 anFGNHNPRjBuUzkxN1VhblBYaElpb2ZySG9jQUY0M29XSXlCd1lMa1JFWkhRV0h5NGNqa3hFWkhv
774 VwpIeTdzdVJBUm1WNjlDQmNPUnlZaU1xMTZFUzdzdVJBUm1SYkRoWWlJakk3aFFrUkVSbWZ4NGNM
775 UllrUkVwbWZ4NGNLZUN4R1I2VEZjCmlJakk2T3BGdUhBb01oR1JhZFdMY0dIUGhZakl0Qmd1UkVS
776 a2RBd1hJaUl5T29zUGx3WU5nTHc4YzllQ2lLaCtzZmh3YWQ4ZXlNZ3cKZHkySWlPb1hpdytYenAy
777 Qm8wZk5YUXNpb3ZwRkVrSUljMWZDMkNSSlF0bHVxZFdBaXd0dy9icitFQmtSRVZYcy90L09KMlh4
778 UFJlRgpRbjlvN01RSmM5ZUVpS2orc1Bod0FYaG9qSWpJMUJndVJFUmtkUFVpWERwMVlyZ1FFWm1T
779 eFovUUJ3Q05SbjlTLytwVndOblpqQlVqCklxckRlRUsvaHF5c2dLQWdudFFuSWpLVmVoRXVBTSs3
780 RUJHWkVzT0ZpSWlNeml6aGtweWNqSUNBQUxScTFRb3JWcXlvY0psMzNua0gKTFZxMFFLZE9uWERt
781 ekJuRDk3Nit2dWpRb1FOQ1FrSVFGaFpXN1cweVhJaUlUTWNzSi9SRFFrS3dmUGx5K1BqNElEbzZH
782 Z2NQSG9TNwp1N3RoZmxwYUdxWlBuNDc0K0hqczJyVUxtemR2eGs4Ly9RUUFhTjY4T1k0ZE93WTNO
783 N2RLMTEvUlNTbXRGbkIxQlM1ZjFyOFNFVkY1ClQvVUovYnk3dHlqdTJiTW5mSHg4MEs5ZlA2U21w
784 cFpiSmpVMUZTKysrQ0xjM053UUV4T0QwNmRQbDV2L09Ec3Zsd1BCd2NDeFk0OWYKZHlJaXFoNlRo
785 MHQ2ZWpyOC9mME5ud01EQTVHU2tsSnVtYlMwTkFRR0JobytlM2g0NE9MRml3RDB5Um9WRllVaFE0
786 WWdQajYrUnR2bQpvVEVpSXRPd01uY0ZLaUtFcUxSM2N1alFJWGg2ZXVMMDZkTVlPSEFnd3NMQzBL
787 UkprNGVXbXo5L3Z1RjlaR1FrSWlNajBia3o4TjEzCnRWVnJJcUtuUzJKaUloSVRFMnRsM1NZLzU1
788 S1hsNGZJeUVpY3VIdlJ5ZVRKazlHL2YzOE1HRERBc015S0ZTdWcwV2p3NXB0dkFnQmEKdG15SjMz
789 Ly8vYUYxVFo4K0hRRUJBUmcvZm55NTd5czdibmoxS3RDaEEzRHBFdURrWk15OUlpSjYrajNWNTF5
790 YzcxNGluNXljakt5cwpMQ1FrSkNBOFBMemNNdUhoNGRpMmJSdHUzcnlKTFZ1MklDQWdBQUJRWEZ5
791 TWdvSUNBRUJPVGc1MjdkcUYvdjM3VjN2Ynp6d0Q5T2tECnJGOXZuSDBoSXFLS21lV3cyTEpseXhB
792 Ykd3dTFXbzBwVTZiQTNkMGRjWEZ4QUlEWTJGaUVoWVdoZS9mdTZOeTVNOXpjM0xCcDB5WUEKUUha
793 Mk5vWU9IUW9BYU5pd0lXYk1tQUZ2Yis4YWJYdmFOR0RVS0dEaVJQMUpmaUlpTXI1NmNXK3grd2tC
794 aEljRGMrY0Nnd2FadUdKRQpSSFhZVTMxWXpOd2tTZDk3V2JiTTNEVWhJckpjOWE3bkFnQXFGZEM4
795 T2ZEZi8rcHZhRWxFUk95NVBERnJhLzA1bCtYTHpWMFRJaUxMClZDOTdMZ0NRbXd1MGFnWDg5cHQr
796 RkJrUlVYM0hub3NSdUxzRGI3NEpqQmtENkhUbXJnMFJrV1dwdCtFQ0FMTm5BMG9sOE5GSDVxNEoK
797 RVpGbHFiZUh4Y3BjdVFLRWhnSTdkdWp2UFVaRVZGL3hzSmdSTldzR3JGd0p4TVFBZHkvK0p5S2lK
798 MVR2ZXk1bHhvOEhybDhIdnYwVwpzTEdwcFlvUkVkVmh4dXk1MVB0d3lTbkt3Y0VyQjVHVWRSRGY3
799 RG1QVXBFSEw3ODhxSFNsYU5LZ0NieWN2T0RsNUlWT25wMFE2UnNKCkR3ZVBXcTQ5RVpGNU1GeXFV
800 RlVENVN2enNURmpJMVlmWDQyc08xbUk4SXBBajJZOTROK3dMZUtXdXlEM1QyZkVyYlJGSWJMeFov
801 NmYKdUp4M0dhbFhVNUY4T1JtK0xyNTR6dTg1akFrYWd3Q1BBQlB1RlJGUjdXSzRWS0d5QnZvajd3
802 OHNQcmdZVzMvYmltZGJQSXUvZGY0YgpldnIwaEZ4Mjd3NldPcDMrQXN1alIvV0h5SHg5NzVYWDZE
803 UTRkdTBZdHAvWmpvMFpHK0h0N0kyeHdXTXhLbWdVN0JYMkp0Z3pJcUxhCnczQ3B3b01OVktvcHhV
804 ZUhQOEluS1o5Z1FxY0ptQlE2Q2M4NFZYN2xwQkRBeHg4REgzNm92d2ZaSzY4OHZJeEdwOEh1MzNk
805 ajFiRlYKT1BMbkVVd01uWWlKb1JQUjBMNWhiZXdTRVZHdFk3aFU0ZjRHMm5sK0p5YitkeUk2ZW5i
806 RVIvMCtncStMYjdYWGMrSUVNSElrMExFagpzR0lGNE9aVzhYSm5jODlpeWVFbCtPNzBkM2l0NDJ0
807 NHU5dmJEQmtpZXVwd0tISTFLRFZLVFB0NUdsN2Y4VHBXRFZ5Ri83ejBueG9GCkN3Q0VoQURIanVt
808 djVtL1RSdCtiVVNvZlhxNk5leHQ4T2VoTG5IempKQXBWaFdqemFSdk1UNXlQZkdXK2NYYUdpT2dw
809 WTdIaEVyRW0KQWxmeXJ1QkU3QW4wYWRIbnNkZGpiNisvd2VXQkEwQnlNaEFRQUd6YUJLalZEeS9y
810 NWVTRnp3WjhoclR4YWJoMDV4SmFyV2lGVDQ1OApBcVdtZ2tRaUlySmdGbnRZN0xPMHovQjY1OWNo
811 U1pKUjE1MllDQ3hZQVB6K096Qmxpdjc2bUx0UGJuN0liemQrd3p0NzM4RnZOMzdECmU3M2ZRMHo3
812 R01na2k4MXpJbnJLOFp4TEZZelpRSlU1ZGd4WXVoVFl1Uk40NFFYOURUQzdkd2RrRldSSDh1Vmt6
813 RXFZaFZKTktSWS8KdXhqOS9mb2JQZlNJaUo0VXc2VUtwZ2lYTXYvN0g3QjVNN0IrUFZCY0RJd1lv
814 UStienAzMVQ3MHNJNFRBOTJlK3greDlzOUhZb1RFVwpQYnNJWGIyN21xU09SRVRWd1hDcGdpbkRw
815 WXdRd1BIandILytBMnpmRGhRVkFZTUdBZEhSUUdRazRPU2tYMDZqMDJCanhrYjhNL21mCmFOMndO
816 ZWIxbXNlUUlhSTZnZUZTQlhPRXk0Tk9ud2JpNDRHRUJDQTFGUWdPQm5yMUFucjBBQ0lpQUZzSEZU
817 Wm1iTVQ3Qjk2SG41c2YKWm5XZGhUNHQrdkJ3R1JHWkRjT2xDblVoWE81WFhBd2NQS2dmYlhiZ2dQ
818 NThqWjhmRUJZR2RBeFY0VWJqemZqbXo2V1FTUkttUjB6SAppSFlqWUd0bGErNXFFMUU5dzNDcFFs
819 MExsd2NwbFVCR0JwQ1dwcC9TMDRHc3l3TFA5RWhBYWNoUzNMRS9pbWNieGVDTmlMR0k3aEFDCmRt
820 YUl5QlFZTGxXbzYrRlNrZUppNExmZmdGOStBUTZmeWtKUzNnWmNjVnNIS0IzUitQWlFCTnU4Z0M2
821 K1FXalZTb0tmSDlDeVplVjMKRENBaWVod01seW84amVGU0VaM1E0ZWZNdzloMDlIdnN1Ym9kS3JV
822 T2JuZWVoYmdVaWR5anZTQXY4a2J6NXZxYmEvcjY2aDk4VmpaNQplUUdOR2dGeWVWVmJJU0xTWTdo
823 VXdWTEM1WDVDQ0p6S09ZWDlXZnVSbUpXSTVNdkprRXNLdExBUFFtTVJCTHVDOXREY2FJbUNLeTJR
824 CmZja2RWLytVY1BzMjBLUUo4TXd6UU5PbStzblRVLzlkMmRTNE1lRGhBVmhibTNzUGljamNHQzVW
825 c01Sd2VaQVFBcGZ6TGlNak93TVoKMXpQdzY0MWZjZW4ySlZ5NmN3bEtqUktlanA1b1pOOFlqckpH
826 VUdnYUFxVk8wQlE3UVpudmlKSjhleFRlc1VYQkxUdmszN1pCM20wRgo3SzJ0NGVxc2dJdWpBbTR1
827 WlpNVkdyb280TzZtZ0llYk5UeGNiZERZM1JxTjNXM1FwS0V0RkFxZURDS3lKQXlYS3RTSGNIbVVm
828 R1UrCnNndXpjYjN3T200VTNVQnVjUzRLVkFYSVYrWWpYNW1QRWswSlNqV2xLRkdYUUtWVlFhVlZv
829 YWhVaFdLbEdpVktOVXJWYWlqVmFxZzAKR3FpMEtxaDFhbWgwYW1paGhFNVNRU2NyQmF4VWdNWUdr
830 dFlXY3AwOUZMQ0hBZzZ3bFRuQVZ0WUFEZ3I5NUdUakNCYzdKN2c2T0tGaApBeWU0T3pxaHNiTXpH
831 cnM0d2NQUkdTNTJ6bkMyY1lhenJUT3NaRmJtYmpxaWVvM2hVb1g2SGk2bW9OSHFrSE5MaGV6Y0Vt
832 VGZMTWFOCk84WEl1Vk9NM0x4QzNDb3N3cTJpQXVTVkZDQ3Z0QUNGcWdJVXF2TlJvc3RIcWNpRFNz
833 cUhXcDRIWVpNSG1WMGVZSk1IblhVK1pGbzcKS0xUT3NCYk9zSUV6N0dYNnFZSENHUTBVVG5DeTBV
834 OHU5bzV3dFhlQ200TWozQm80d3QzUkVlNU9EZURoNUFnUDV3WndzTEhsOVVKRQpqNEhoVWdXR3k5
835 TkJwUUlLQ3ZSVGZyN0E5VHVGdUg3bkRuTHk4NUZibUlmYnhYbTRWWnlIZkdVK0NsUjVLRkRub1VS
836 YmdCSmRBVXBGClBwVEloMW9xaEVaZUFLMjhBRHFySWtCUkNNalZnTm9lTXEwRDVGb0h5SFVPc05J
837 NTNPMWQyY05HWmc5cnlSNjJjbnZZV3RuQnJteFMKMk1GZVlRY0hHenM0V051aGdhMGRIR3hzNFdo
838 bkIwZGJXemphMmNMUjNoWk9kclp3dExlQms0TU5YQnhzNFdCbkJabU1ZVVpQUDRaTApGUmd1OVpj
839 UVFHR3hCcmw1UmJoWm9KOXVGeFlocjdnWWQ0cUxrRmRjaEVKbENRcVZ4U2hTbHFCSVZZd1NkUW1L
840 TmNVbzFaUkFxUzJCClVsY0tsYTRFYWxFQ05VcWhRU2swS0lGV1VrSW5sVUluTDRGT3BvU1FLUUdy
841 VWtEU0FScGJRR3NEU1dzRG1jNEdNcUdmNUdVVGJHQUYKRzFoSitra2hXVU1oczRGQ3BuKzFsbG5E
842 eHNvRzFuSnJXTXV0WVdObERWc3JHOWdvckdGclphMS9WVmpEenZyZXE1MjFOZXl0cldGdgpjMit5
843 czFIQTNzWWFEcmIzSmx0ck9jT1Bxb1hoVWdXR0M1bVNScXRGUVlrU2VVV2x5QzlTb3FCRWlZS1NV
844 aFNXS0ZHa1ZLRllxVVNSClVvbGlwUkxGS2lWSzFTcVUzSDFWYWxRb1ZTdWgxS3FnMUNqdm5nTlRR
845 cVZUUWExVFFhMVRRcU5UUXkxVTBBZ2x0RUlOTFZUM0prbWwKUHc4bUtTRWtOWFF5RllTa2hwQXJB
846 Wmtha0tzQW1SYlFXQU02QmFCVFFOSlpROUlwSUFrRlpPTGVxMHdvSUlOK2trTUJHYXdnbHhTUQp3
847 d3B5eVFveXlRcFdrZ0p5eVFwV3NydnZaVlpReUt6S3ZWckxGYkNTV1VFaFYwQlI5aXJYdjlwWUtX
848 QXRWOERhNnU3NysxOFYrdmMyCkNnVnNGZmUvV3QxOWJ3VnJoZnp1Wnl2WUtPU3dzWmJEU2k1Qm9a
849 QXF2Q001MVF6RHBRb01GNko3dERvZFNwUnFGSmFxVUtKVW8xaXAKUm5HcENpVXFOVXBVYXBTV1RX
850 cjlxMUtqUWFucTdvQU9qUVpLdFJwS2pScHFyZWJ1ZDJxb2RScW9OUnI5ZDFvMXREb3QxRG9OTkRv
851 MQpORHJOdlVFZ1FuUHZWYWloRldyOUs5VFE0ZUZYbmFTR1RsSkJTQnA5V0VycXUrODFnS1NCa0tr
852 aEpDMGdhUUdaUnQ5cmxBU2drd0ZDCkRnaFp1VW5DQSs4aFFZSU1rcEFiNWttUTMvMHNod3hXa0Fr
853 cnlLQ0FKS3owQVdzSVhPdUhKaXZKV2greXNJWmNVc0JLc29aQ3B0Qy8KbHludXZwZkRTbVlGdVV3
854 T3VVd0d1VXdHbVNTRFhLWVBSSmtNa0dRQ2treEFkdmRWa2dRZzZTREpkUHBYU1FBeUhTUkpCMGtx
855 S3dQSQpKT2pYSjVOZ0paUGZEWEVyV01tdFlHT2w3d0hieUsxaHA3Q0ZyY0lXZG5jbkIyczcyQ3Zz
856 NFdCakIzdUZMYXlzOUhWeGRUWGVieWVICjV4QlpPTGxNaGdaMk5taGdaMlB1cXRRS0lRUzBRZ3VO
857 VmdlMVJnZVZXZ2VsV2d1TlJrQ3QwYi9YYXZYdnkrWnJ0UHBKcGRaQ3JkVkMKcGRGQ3JkRy9WNnIx
858 UVhvdlVOVlFhZFZRYTlWUWFWVlFhcFZRYTlWUTYxU0cwWllhb2I3YjAxUkJveXVHUnFkR3NTZ0xX
859 QzIwT2kyMApXZzJFRU5BSkhYUkNDeUh3d0NSQkNBa1FFaUJrRURyWjNjOHlRQ2VERURJSW5YNit6
860 bEJHNk5jSkhRUzAwQWt0ZEpMR0VOUkNVa0VuClU5NDlqSHYza0s2OEJFSmVBbUdsZjRWY3BUK2tx
861 N1kzNnA4TGV5NUVSUFdZVHVoUW9pNUJpYVlFSGc0ZVBDejJLQXdYSXFLYU0rWnYKcDFsT2dTVW5K
862 eU1nSUFDdFdyWENpaFVyS2x6bW5YZmVRWXNXTGRDcFV5ZWNPWE9tUm1YcG5zVEVSSE5Yb2M1Z1c5
863 ekR0cmlIYlZFNwp6Qkl1VTZkT1JWeGNIUGJzMllPVksxY2lOemUzM1B5MHREUWNPSEFBUjQ4ZXhW
864 dHZ2WVczM25xcjJtV3BQUDdEdVlkdGNRL2I0aDYyClJlMHdlYmprNWVVQkFIcjI3QWtmSHgvMDY5
865 Y1BxYW1wNVpaSlRVM0ZpeSsrQ0RjM044VEV4T0QwNmRQVkxrdEVST1puOG5CSlQwK0gKdjcrLzRY
866 TmdZQ0JTVWxMS0xaT1dsb2JBd0VERFp3OFBEL3orKysvVktrdEVST1pYSjRjaWx3MnZ1MTlON3hY
867 RmUwdmRzMkRCQW5OWApvYzVnVzl6RHRyaUhiV0Y4SmcrWDBOQlF6Snc1MC9BNU16TVQvZnYzTDdk
868 TWVIZzRUcDA2aGVqb2FBQkFUazRPV3JSb0FUYzN0eXJMCkF1QklNU0lpTXpQNVlURm5aMmNBK2xG
869 ZldWbFpTRWhJUUhoNGVMbGx3c1BEc1czYk50eThlUk5idG14QlFFQUFBTURGeGFYS3NrUkUKWkg1
870 bU9TeTJiTmt5eE1iR1FxMVdZOHFVS1hCM2QwZGNYQndBSURZMkZtRmhZZWpldlRzNmQrNE1OemMz
871 Yk5xMDZaRmxpWWlvamhFVwpKQ2twU2ZqNyt3cy9Qei94Zi8vM2YrYXVUcTI3Y3VXS2lJeU1GSUdC
872 Z2FKWHIxNWk4K2JOUWdnaDh2UHp4YUJCZzRTM3Q3Y1lQSGl3CktDZ29NSlJadm55NThQUHpFd0VC
873 QWVMQWdRUG1xbnF0MFdnMElqZzRXRHovL1BOQ2lQcmJGb1dGaFdMMDZOR2lWYXRXSWlBZ1FLU2sK
874 cE5UYnRsaTFhcFdJaUlnUUhUdDJGRk9uVGhWQzFKKy9GMy85NjE5Rm8wYU5STHQyN1F6ZlBjNitu
875 enAxU29TRWhJam16WnVMMmJObgpWMnZiRmhVdXdjSEJJaWtwU1dSbFpZazJiZHFJbkp3Y2MxZXBW
876 djN2Zi84VEowNmNFRUlJa1pPVEk1bzNieTd5OC9QRmh4OStLQ1pOCm1pUktTMHZGeElrVHhaSWxT
877 NFFRUWx5L2ZsMjBhZE5HWEw1OFdTUW1Kb3FRa0JCelZyOVdmUHp4eDJMa3lKRmk0TUNCUWdoUmI5
878 dGkKeG93Wll1N2N1YUtrcEVTbzFXcHg1ODZkZXRrV04yL2VGTDYrdnFLd3NGQm90VnJ4M0hQUGla
879 OS8vcm5ldEVWeWNySTRmdng0dVhCNQpuSDEvN3JubnhOYXRXMFZ1YnE3bzFxMmJTRTlQcjNMYkZu
880 T1Q2dnA0RFV5VEprMFFIQndNQUhCM2QwZmJ0bTJSbnA2T3RMUTBqQnMzCkRqWTJOaGc3ZHF5aEhW
881 SlRVOUcvZjM4MGE5WU12WHIxZ2hBQ0JRVUY1dHdGby9yenp6L3gzLy8rRjYrOTlwcGhVRWQ5Yllz
882 OWUvWmcKOXV6WnNMVzFoWldWRlp5ZG5ldGxXOWpaMlVFSWdieThQSlNVbEtDNHVCZ3VMaTcxcGkx
883 NjlPZ0JWMWZYY3QvVlpOOExDd3NCQUdmUApuc1hMTDcrTWhnMGJZdWpRb2RYNmJiV1ljS252MThC
884 Y3VIQUJtWm1aQ0FzTEs5Y1cvdjcrU0V0TEE2RC95MU0yT0FJQTJyUnBZNWhuCkNkNTg4MDBzV2JJ
885 RXN2c2U3RkVmMitMUFAvOUVhV2twM25qakRZU0hoK1BERHo5RVNVbEp2V3dMT3pzN2ZQNzU1L0Qx
886 OVVXVEprM1EKclZzM2hJZUgxOHUyS0ZPVGZVOU5UY1dGQ3hmUXFGRWp3L2ZWL1cyMW1IQ3B6d29L
887 Q3ZEeXl5L2prMDgrUVlNR0RXbzBGTnRTcmdmNgo2YWVmMEtoUkk0U0VoSlRiLy9yWUZxV2xwVGgz
888 N2h5R0RSdUd4TVJFWkdabTRwdHZ2cW1YYlpHVGs0TTMzbmdEcDA2ZFFsWldGbzRjCk9ZS2ZmdnFw
889 WHJaRm1TZmQ5K3FXdDVod0NRME5MWGVEeTh6TVRIVHAwc1dNTlRJTnRWcU5ZY09HWWRTb1VSZzhl
890 REFBZlZ1VTNUTG4KOU9uVENBME5CWER2K3FFeVo4NmNNY3g3MmgwK2ZCang4ZkZvM3J3NVltSmlz
891 Ry9mUG93YU5hcGV0b1dmbngvYXRHbURnUU1Id3M3TwpEakV4TWZqNTU1L3JaVnVrcGFXaFM1Y3U4
892 UFB6UThPR0RURjgrSEFjT0hDZ1hyWkZtWnJ1dTUrZkg2NWZ2Mjc0L3RTcFU5WDZiYldZCmNLbk85
893 VE9XUmdpQmNlUEdvVjI3ZHBnMmJacmgrL0R3Y0t4ZHV4WWxKU1ZZdTNhdDRTOUNXRmdZZHUzYWhT
894 dFhyaUF4TVJFeW1ReU8Kam83bXFyNVJMVnEwQ0gvODhRY3VYYnFFclZ1M0lpb3FDbDk5OVZXOWJB
895 c0FhTldxRlZKVFU2SFQ2YkJqeHc3MDZkT25YclpGang0OQpjUFRvVWR5NmRRdEtwUkk3ZCs1RXYz
896 Nzk2bVZibEhtY2ZmZjM5OGZXclZ1Um01dUw3ZHUzVisrMzFRZ0RFdXFNeE1SRTRlL3ZMMXEyCmJD
897 bVdMMTl1N3VyVXVnTUhEZ2hKa2tSUVVKQUlEZzRXd2NIQll1Zk9uWThjYXJoczJUTFJzbVZMRVJB
898 UUlKS1RrODFZKzlxVG1KaG8KR0MxV1g5dmk3Tm16SWp3OFhBUUZCWWtaTTJhSXdzTENldHNXNjlh
899 dEV6MTc5aFNkTzNjV2MrZk9GVnF0dHQ2MHhZZ1JJNFNucDZldwp0cllXWGw1ZVl1M2F0WSsxNzVt
900 Wm1TSWtKRVQ0K3ZxS3YvLzk3OVhhdGtVK0xJeUlpTXpMWWc2TEVSRlIzY0Z3SVNJaW8yTzRFQkdS
901 CjBURmNpSWpJNk9ya3c4S0k2aUs1WEk0T0hUb1lQc2ZFeEdEV3JGbG1yQkZSM2NYUllrVFY1T2pv
902 YVBUN1RHazBHbGhaOGY5NFpIbDQKV0l6b0NmbjYrdUtERHo1QWh3NGQ4UHp6eitQU3BVc0E5TGRo
903 V2JwMEtYcjE2b1VCQXdZZ01URVJBTEIrL1hvTUh6NGNmZnIwUVhSMApOSlJLSlJZdVhJaTJiZHRp
904 eElnUjZOYXRHNDRkTzRaMTY5Ymh6VGZmTkd4bjllclZtRDU5dWpsMmthakdHQzVFMVZSU1VvS1Fr
905 QkRECjlPMjMzd0xRMzMrcHBLUUVKMCtlUkVSRUJMNzY2aXNBd05hdFcyRmxaWVdrcENTc1hic1di
906 Ny85dG1GZGUvZnV4WmRmZm9tOWUvY2kKUGo0ZW1abVpPSEhpQkdKalkzSGt5QkZJa29TWFhub0pQ
907 Lzc0STdSYUxRQjlLSTBiTjg3ME8wNzBHTmdmSjZvbU96czduRGh4b3NKNQpvMGVQQmdCRVJVVmg0
908 Y0tGQUlCdDI3WWhLeXNMNjlhdEF3RGN2bjBiRnk5ZU5Dem42K3NMQU5pOWV6ZEdqQmdCYTJ0cjlP
909 N2RHejQrClBnQUFCd2NIUkVWRjRjY2ZmNFMvdnovVWFqWGF0bTFibTd0SVpEUU1GeUlqS0h0bWhr
910 S2hRR2xwS1FCQXA5Tmg1Y3FWNk5telo3bGwKRHh3NEFFOVB6MnF0OTdYWFhzUDc3NytQZ0lBQWpC
911 MDcxcmlWSnFwRlBDeEdWRXRHamh5SnVMZzR3eUNBc2w3UGcyTm9vcU9qOGMwMwozMENsVWlFcEtR
912 bVhMMTgyekFzTEM4T2ZmLzZKTFZ1MklDWW14blNWSjNwQzdMa1FWVlBaT1pjeXp6MzNIQll0V2xS
913 dUdVbVNETS9BCmVQSEZGNUdibTR2bzZHams1K2VqUllzV2lJK1BMN2NNQUR6Ly9QUDQ3YmZmRUJ3
914 Y2pBNGRPcUJ0MjdhR1EyTUE4TkpMTHlFakk4TncKNTIraXB3R0hJaE9abVU2bmcxcXRobzJORGRM
915 VDB6RnQyalFjT25USU1MOS8vLzU0OTkxMzBhMWJOelBXa3FobTJITWhNclBpNG1MMAo3dDBicGFX
916 bGFOMjZOVDcrK0dNQXdKMDdkOUMxYTFkRVJrWXlXT2lwdzU0TEVSRVpIVS9vRXhHUjBURmNpSWpJ
917 NkJndVJFUmtkQXdYCklpSXlPb1lMRVJFWkhjT0ZpSWlNN3Y4RDVMODlZcE03bzFzQUFBQUFTVVZP
918 Uks1Q1lJST0K
919 </png>
920 </output>
921 </outputs>
922 </codecell>
923 <codecell>
924 <input />
925 <language>python</language>
926 <collapsed>1</collapsed>
927 <outputs />
928 </codecell>
929 </cells>
930 </worksheet>
931 </worksheets>
932 </notebook>
1 {
2 "nbformat": 2,
3 "name": "dos",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "cell_type": "code",
9 "language": "python",
10 "outputs": [],
11 "collapsed": true,
12 "prompt_number": 1,
13 "input": "from sympy import *\nimport numpy as np\nimport math"
14 },
15 {
16 "source": "<h2>Strutinsky Energy Averaging Method</h2>",
17 "cell_type": "markdown"
18 },
19 {
20 "source": "Define a callable class for computing the smooth part of the density of states $\\tilde{g}_m(E)$ with curvature\ncorrection of order $2M$.",
21 "cell_type": "markdown"
22 },
23 {
24 "cell_type": "code",
25 "language": "python",
26 "outputs": [],
27 "collapsed": true,
28 "prompt_number": 2,
29 "input": "class SmoothDOS(object):\n\n def __init__(self, energies):\n self.energies = energies\n\n def gaussian_smoothing_func(self, M, x):\n return (mpmath.laguerre(M,0.5,x**2)*exp(-x**2)/sqrt(pi)).evalf()\n\n def __call__(self, e, M=3, gamma=1.0):\n return sum(self.gaussian_smoothing_func(M, (e-ei)/gamma)/gamma for ei in self.energies)"
30 },
31 {
32 "cell_type": "code",
33 "language": "python",
34 "outputs": [],
35 "collapsed": true,
36 "prompt_number": 3,
37 "input": "def avgf(M, x):\n return (mpmath.laguerre(M,0.5,x**2)*exp(-x**2)/sqrt(pi)).evalf()"
38 },
39 {
40 "cell_type": "code",
41 "language": "python",
42 "outputs": [],
43 "collapsed": true,
44 "prompt_number": 4,
45 "input": "def smooth_dos(gamma, M, e, energies):\n return sum(avgf(M, (e-ei)/gamma)/gamma for ei in energies)"
46 },
47 {
48 "source": "<h2>1D Simple Harmonic Oscillator DOS</h2>",
49 "cell_type": "markdown"
50 },
51 {
52 "cell_type": "code",
53 "language": "python",
54 "outputs": [],
55 "collapsed": true,
56 "prompt_number": 5,
57 "input": "def sho_smooth_dos(e):\n \"\"\"Compute the exact smooth DOS.\"\"\"\n return 1"
58 },
59 {
60 "cell_type": "code",
61 "language": "python",
62 "outputs": [],
63 "collapsed": true,
64 "prompt_number": 6,
65 "input": "def sho_spectrum(nmax):\n \"\"\"Compute the first nmax energies of the 1D SHO.\"\"\"\n return [n+0.5 for n in range(nmax)]"
66 },
67 {
68 "cell_type": "code",
69 "language": "python",
70 "outputs": [],
71 "collapsed": true,
72 "prompt_number": 7,
73 "input": "sho_evalues = np.linspace(0.0,20,100)"
74 },
75 {
76 "cell_type": "code",
77 "language": "python",
78 "outputs": [],
79 "collapsed": true,
80 "prompt_number": 8,
81 "input": "sho_dos = SmoothDOS(sho_spectrum(30))"
82 },
83 {
84 "cell_type": "code",
85 "language": "python",
86 "outputs": [],
87 "collapsed": false,
88 "prompt_number": 10,
89 "input": "sho_exact_dos = [sho_smooth_dos(e) for e in sho_evalues]"
90 },
91 {
92 "cell_type": "code",
93 "language": "python",
94 "outputs": [],
95 "collapsed": true,
96 "prompt_number": 23,
97 "input": "sho_approx_dos = [sho_dos(e,M=3,gamma=10.0) for e in sho_evalues]"
98 },
99 {
100 "cell_type": "code",
101 "language": "python",
102 "outputs": [
103 {
104 "output_type": "pyout",
105 "prompt_number": 24,
106 "text": "&lt;matplotlib.legend.Legend at 0x7f1790f77990&gt;"
107 },
108 {
109 "output_type": "display_data",
110 "png": "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\n"
111 }
112 ],
113 "collapsed": false,
114 "prompt_number": 24,
115 "input": "plot(sho_evalues, sho_exact_dos, label=\"exact\")\nplot(sho_evalues, sho_approx_dos, label=\"approx\")\ntitle(\"Smooth part of the DOS for the 1D SHO\")\nxlabel(\"Energy\"); ylabel(\"$g(E)$\")\nlegend(loc=4)"
116 },
117 {
118 "source": "Note how the exact smoothed DOS and the Strutinsky approximation agree once the energy is away from\n0. In general, these are edge effects and are also present at the right limit if you don't use enough energy\nlevels. Here we have used 30, so the right side doesn't show these artifacts.",
119 "cell_type": "markdown"
120 },
121 {
122 "source": "<h2>1D Particle in a BOX (PIAB) DOS</h2>",
123 "cell_type": "markdown"
124 },
125 {
126 "cell_type": "code",
127 "language": "python",
128 "outputs": [],
129 "collapsed": true,
130 "prompt_number": 16,
131 "input": "def piab_smooth_dos(e):\n \"\"\"Compute the exact smooth DOS.\"\"\"\n return 1.0/(2.0*math.sqrt(e*math.pi**2/2))"
132 },
133 {
134 "cell_type": "code",
135 "language": "python",
136 "outputs": [],
137 "collapsed": true,
138 "prompt_number": 17,
139 "input": "def piab_spectrum(nmax):\n \"\"\"Compute the first nmax energies of the 1D PIAB.\"\"\"\n return [0.5*math.pi**2*(n+1)**2 for n in range(nmax)]"
140 },
141 {
142 "cell_type": "code",
143 "language": "python",
144 "outputs": [],
145 "collapsed": true,
146 "prompt_number": 18,
147 "input": "piab_evalues = linspace(1.0,1000.0,100)"
148 },
149 {
150 "cell_type": "code",
151 "language": "python",
152 "outputs": [],
153 "collapsed": true,
154 "prompt_number": 19,
155 "input": "piab_dos = SmoothDOS(piab_spectrum(20))"
156 },
157 {
158 "cell_type": "code",
159 "language": "python",
160 "outputs": [],
161 "collapsed": true,
162 "prompt_number": 20,
163 "input": "piab_exact_dos = [piab_smooth_dos(e) for e in piab_evalues]"
164 },
165 {
166 "cell_type": "code",
167 "language": "python",
168 "outputs": [],
169 "collapsed": true,
170 "prompt_number": 21,
171 "input": "piab_approx_dos = [piab_dos(e, M=4, gamma=150.0) for e in piab_evalues]"
172 },
173 {
174 "cell_type": "code",
175 "language": "python",
176 "outputs": [
177 {
178 "output_type": "pyout",
179 "prompt_number": 22,
180 "text": "&lt;matplotlib.legend.Legend at 0x6107410&gt;"
181 },
182 {
183 "output_type": "display_data",
184 "png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEaCAYAAADdSBoLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcFeXiP/DPnMNhlVVQMRBUVMAFUAFxRVKxn7mkWWJX\n7WpKXdc07aZ2XW5pXcv0a1Zorql565pFeU1xAdxYXMLCPUVLLwou7Jz1+f1x5CgKAno4Bw+f9+s1\nr7PMPDPPPOr5+Mw8MyMJIQSIiIiMSGbuChARkeVhuBARkdExXIiIyOgYLkREZHQMFyIiMjqGCxER\nGR3DhWpk/fr16NGjh7mr8diysrIwfPhwuLq64tNPP61WGZlMhosXL9ZyzWrXvn370LNnTzg6OiIj\nI6NWtmEJ7UTGw3Cpo44fP47x48fD29sbDRs2RPfu3XH06FGT1iErKwsymQw6nc6k232UyMhIrFmz\n5rHLb9q0Cc7Ozrh58yYmTZpk9PU/Sll7Ojo6wsXFBW3atMGwYcNw/Pjxh5b9/vvvERERARcXF/j7\n++Ott96CUqk0zC8uLsbChQsRFhYGJycntGnTBh9++GGl2160aBHGjh2LgoICBAUFPfG+1GY7AcCE\nCRPg7+8PuVyODRs2lJs3f/58KBQKODk5wcPDA506dcLs2bORl5dX6frWr18PuVwOR0dHNGnSBDEx\nMUhKSgIAJCYmwtvb+6Eyr776KhQKBbKzsyvcvqOjI9zc3PDCCy9gz549Rthry8JwqaPGjRuHtm3b\nIjMzE1evXsW8efNgY2NjlrrUhetshRDQ6XSQJOmJ1nPw4EGEh4dDJqv4r/6Trr868vLykJOTg+XL\nl8PNzQ09e/bEjz/+aJi/atUqjB07FtHR0Th//jzee+897N+/H3369DEss3r1ahw4cABbtmxBfn4+\n4uPj4efnV+H2hBA4dOgQunXr9lj1reg/F7XdTsHBwfjss8/QsWPHh7YlSRJiYmKQn5+PzMxMTJgw\nAYcPH0ZwcDAKCwsrXWe3bt1QUFCA8+fPo2XLlnj99dcrXbaoqAjbtm1DYGAgNm3aVOH2CwoKkJ2d\njUGDBuG1116rU/8JqxME1Tlnz54Vtra2Qq1WVzh/3bp1olu3bmLevHmiadOmolOnTuLkyZPi22+/\nFe3atROdOnUSP//8s2H5oqIi8dlnn4l27dqJvn37ivj4+HLr++GHH0SfPn1Eu3btxOeffy6KioqE\nEEJ4e3sLSZJEgwYNhKOjozhy5IhYv3696N69u1iwYIFo2rSpiI6OFocPH650X3x8fMSKFStEaGio\naNGihfj888+FSqUSQghx+/ZtMWDAAOHh4SH8/PzEu+++K65fv24o26tXL/H++++Lvn37CkdHR/HK\nK68IuVwubG1tRYMGDcTkyZMr3OaxY8fEmDFjhI+Pj5g7d664evWqEEKI3r17G8o7OjqK8+fPlys3\ne/bsCtcvSZLYtGmTCAoKEi1bthRLly4tV+7AgQNi5MiRwtfXV8yfP1/k5ORUWK9Lly4JSZKEVqst\n9/1f/vIX4e3tLYQQoqCgQLi6uoolS5aUWyY7O1vIZDLx9ddfCyGE6Nq1q9iwYUOl7V6mtLRUODg4\nCEmShIODg/Dz8xNCCPHnn3+KOXPmCB8fH/Hqq6+K48ePG8qMGTNGTJs2TQwfPly4ubmJvXv3mrSd\n7te9e/eH9nPevHniL3/5S7nvCgsLhZ2dnZg7d26F61m3bp3o3r274fO1a9eEJEniwoULYv/+/cLL\ny6vc8hs2bBDt27cXmzZtEu3atXvk9rVarXBwcBAnT56scn/qE4ZLHdWyZUsxbNgw8eOPP4o7d+6U\nm7du3TphbW0t3nvvPXHr1i0RGxsrWrRoIUaPHi2uXbsm1q1bJ1q0aGFY/h//+Ifo3bu3OHv2rNi7\nd6/w9fUV+/fvF0IIsW/fPtGsWTORkJAgzp07J5599lkxb948IYQQWVlZD/0Ylm17wYIF4tatW2Le\nvHnl/tE+yMfHR7Rp00YcOHBA/PLLLyIkJER88cUXQgghbt68Kb777jtRUlIiLly4IKKjo8WcOXMM\nZXv16iWaNm0qfvrpJ6FWq4VarRaRkZFizZo1lW6vqKhINGjQQKxevVrcuHFDTJkyRfTq1cswv6ry\nFc2XJElERUWJ06dPi2PHjglHR0dx4cIFIYQQGRkZwsvLSyQkJIhbt26JyZMni5EjR1a47srCZfv2\n7UKSJJGdnS0OHTokJEkSp06deqh8586dRWxsrBBCiAULFojWrVuLlStXGuryKJIkid9//93wuWfP\nnmLSpEnixo0bYs2aNcLJyUmUlJQIIfTh4uDgILZs2SLUarUoLS01aTvdr7rhIoQQgwcPFtHR0RWu\n5/5wuXPnjnjnnXdE+/bthRCiwnCJiooS7733nsjPzxe2trbi2LFjFW6/pKRExMXFiUaNGgmNRlPl\n/tQnDJc66sqVK+Lvf/+78Pb2Fg0aNBBTp04VN2/eFELo/6G4ubkZfqQOHjwoJEky/M9JrVYLe3t7\nkZWVJYQQIigoSOzatcuw7jlz5ogpU6YIIYSYMmWKeOeddwzzEhISRIcOHYQQFf8Yrlu3Tri6uhq+\nu3btmlAoFKKwsLDC/fD19RXvvvuu4XNcXJx4/vnnK1w2ISGh3P8SIyMjxdixY8stExkZKb788stK\n2+27774TERERhs9FRUXC3t5e5ObmVqt8RfMlSRLbtm0zfI6Ojhaff/65EEL/v/j333/fMC83N1e4\nu7tX2OusLFxycnKEJEkiPT1d/Pvf/xZOTk4V1m3SpEni//2//yeEEEKpVIoNGzaIiIgIoVAoxLPP\nPisOHjxY6X7dHy45OTnCzs6u3J9Zt27dxHfffSeE0IdLVFRUpesSonbb6X41CZclS5aIwMDACtez\nbt06YWVlJVxcXESzZs3E2LFjRUpKihDi4XC5fPmykMlk4uzZs0IIfWhNnTq13Patra2Fi4uLsLOz\nEwqFQvz000+P3I/6iOdc6ihvb28sXrwYV65cwZ49e5CQkIBly5YZ5gcGBhrOGzRu3BgA0L59ewCA\nlZUV3NzccPXqVRQUFODkyZPo1KmToWynTp1w4MABAMDhw4cfmvfrr7+ioKCg0rq1bdvWsG1PT09o\nNBpcv3690uWDg4MN70NCQnDkyBEA+mP5s2fPRo8ePeDi4oJhw4bh1KlT5c7xhIeHP7S+Rx3vP3z4\nMDp27Gj4bG9vj1atWuHw4cPVKl/Z/Pv3wdPTE9euXQMA7NmzB4sXL4arqytcXV3h5+eH4uJinDhx\n4pHbuF9ycjIA/Z+5l5cXCgoKcOrUqYeWO3LkCJo1awYAsLa2xujRo3H48GFcvXoVrVu3xiuvvFKt\n82MpKSlo0aIFHBwcDN917twZBw8eNOx/Re3+IFO3U1WSk5MN7VORLl264Pbt27h8+TLWrFlT6T5+\n9dVXaNeuHVq3bg0AGD58OLZs2QKtVmtY5uWXX8bt27dRVFSEw4cP44033sB3331ntH2xBAyXp0B4\neDhiYmKQmJhY47KOjo7o0KFDuZFmR48eRc+ePQHoT3I+OK99+/ZwdHSEXC4H8OQn9O//ATl+/Di6\ndu0KAPj222+xY8cOrFu3Drm5udi2bRuEvjdtWN7KyqrcuuRy+SNPnHbr1g3Hjh0zfC4qKsL58+cN\n26xKVet/UFRUFObOnYvbt28bpqKiIoSGhlZ7Hdu3b4eXlxcaN26M9u3bw8XFBTt27Ci3THZ2Nk6c\nOGH4c7ufh4cHZs+ejStXruDSpUtVbq9Lly64ePEiioqKDN+lp6eXG2Je9mdfGXO0U5mKQq2oqAgJ\nCQmPtb4Hbdy4EefPn4enpyc8PT0xbdo05ObmlvszKfs7KkkSOnfujOeee47h8gCGSx109uxZLF26\nFFevXoVWq8Xx48exefNmjB49+rHWN3jwYCxZsgTnzp1DYmIivv76awwZMsQw7+uvv8a+fftw4cIF\nLFmyBC+88AIAwMvLC40aNXqiIdBCCGzbtg2HDh3CyZMnsWrVKjz//PMAgGvXrsHFxQXu7u44d+5c\nhUNpHwy2Tp064cSJE5UGXt++fZGZmYm1a9fixo0bmDt3LkJDQ9GwYcNK11mT9ZeVL5s/atQoxMXF\nYffu3VCpVMjLy8O3335beYPcLa9Wq7F792688cYb2L59u+GaG0dHRyxatAiLFy/G/PnzcePGDfzn\nP//BgAEDEBERgZiYGADAP//5Txw9ehQqlQrXrl3Dv/71L3Tt2hUtWrR45LYBwN3dHaGhoZg9ezZu\n3LiB9evXIzMzE9HR0VW2j6naSa1Wo7S0FDqdDiqVCqWlpYZ13b/N69evY/Xq1Rg4cCAaN26Mt99+\nu8q6P8qRI0dw8eJFpKenIyMjAxkZGfjtt98wcuRIbNy4scJ9/OWXX7Bz504MHDjwibZtaRgudZCj\noyNSU1MRHh4ONzc3TJ8+HSNHjjSEiyRJFQ7PrMysWbMwZMgQDB06FO+//z6WLl2KXr16AdBfr/DJ\nJ59g0aJFGDJkCAYPHoyZM2ca1vnuu+9i3LhxcHV1RWpqao23LUkSJk6ciOnTp2PIkCEYN24cXn31\nVQDA2LFj8cwzz6B169YYNWoUxo4dW+W6//KXv+DChQvw8PDAtGnTHtqeg4MD9u3bh6SkJISGhsLO\nzg6bN2+udn2rWn9Z+bJ1BAYGYsOGDfjmm2/g5eWF9u3bY9euXZWuH4AhUCdNmoQbN24gMTERgwYN\nMsx//fXX8eWXX2LXrl1o3bo15syZg8jIyHLXUshkMvz1r3+Fh4cHoqKioNVq8dlnn1W6zQf3efPm\nzbC3t0doaCgSExOxd+9e2NnZPbR/5mqnvn37wt7eHikpKZgwYQLs7e0Nh3IlScK///1vODk5oV27\ndvj8888RHh6OX375pdyhvsrqUtl8QN9rGTJkCNq2bYtGjRqhUaNGaNy4MaZOnYodO3bg9u3bhu07\nOjrCyckJf/vb3zBu3DgMHz78kW1W30jiSY95ED1C8+bNsWbNGkRFRZm7KkRkQuy5EBGR0TFciIjI\n6HhYjIiIjM4sPZfk5GQEBASgVatWWLFixUPzN2/ejKCgIAQFBWHkyJE4d+6cYZ6vry86dOiAkJAQ\nhIWFmbLaRERUTWbpuYSEhGD58uXw8fFBdHQ0Dh48CHd3d8P8I0eOIDAwEM7OztiwYQP27NmDr776\nCoD+BPGxY8fg5uZm6moTEVE1mbznUnZb7J49e8LHxwf9+vVDampquWUiIiLg7OwMABgwYIDh1thl\neCSPiKhuM3m4pKenw9/f3/A5MDAQKSkplS6/atWqchcnSZKEqKgoDBkyBPHx8bVaVyIiejxWVS9i\nPnv27MGmTZvK3Rfq0KFD8PT0xOnTpzFw4ECEhYWhSZMm5cqZ4pkcRESWyFhHhkzecwkNDcWZM2cM\nnzMzM9GlS5eHljt58iRef/11xMfHw8XFxfC9p6cnACAgIACDBg0q95Cl+5XdeqK+T/PmzTN7HerK\nxLZgW7AtHj0Zk8nDpexcSnJyMrKyspCQkPDQ3UmvXLmCYcOGYfPmzeWerldcXGy4W29OTg527dqF\n/v37m67yRERULWY5LLZs2TLExsZCrVZjypQpcHd3R1xcHAAgNjYWCxcuxK1btwyPIVUoFEhLS0N2\ndjaGDh0KAGjYsCFmzJhR4bOviYjIvCzyIkpJkozexXtaJSYmIjIy0tzVqBPYFvewLe5hW9xjzN9O\nhgsREQEw7m9nnR4tRkQEAG5ubrh9+7a5q2ExXF1dcevWrVrdBnsuRFTn8d+0cVXWnsZsZ94VmYiI\njI7hQkRERsdwISIio2O4EBE9JV599VW8++675q5GtTBciIjI6BguRERP4Pbt21i2bBnatm2L5557\nDrt378atW7fg7e2Nn376CQBQWFgIPz8/bNq0CQCwY8cOhISEwNnZGX379sXGjRvLrfPs2bOYOXMm\nvLy80KxZM2zYsAGrV6/Gli1b8K9//QuOjo4YPHiwyfe1JjgUmYjqvLr8b3ro0KHw9vbG7Nmzce7c\nOYwYMQJJSUm4dOkSRo8ejZMnT2L27NnIy8vDN998AwBISkqCu7s7/P39sWfPHgwfPhzHjx+Hn58f\nNBoNmjRpglmzZmH8+PEQQuCPP/5AUFAQ/vrXv8Lb2xsLFy58ojqbYigyL6IkInpMBQUFSElJwebN\nm2FnZ4fGjRtj+PDh2L59O2bOnInhw4cjKioKd+7cwcmTJw3levXqZXgfHR2NwYMH44cffsCMGTOQ\nkJAALy8vzJo1y7DM/U/erash+yCGCxFZBGM9xqkmv90HDx5ETk4OmjZtavhOq9Wid+/emDlzJsaP\nH49PP/0Uc+bMgaurq2GZzMxMfPTRRzh8+DCys7OhUqkgk+nPUuzfvx9du3atdJtPy/OqeM6FiCyC\nEMaZaiIiIgIeHh64fv06bt++jdu3byM/Px8//PADtFotJkyYgNGjR2PlypX4/fffDeXeeusteHl5\nISkpCXl5eRg2bJihRxIVFYVDhw5VuD25XA6dTvfYbWRKDBciosfk4uKC7t27Y/bs2bh8+TK0Wi1+\n++03pKenY9GiRZDL5Vi3bh1mzpyJ0aNHG4Lh2rVrcHd3h7OzM+Lj48s9sr1Pnz64du0aPvroI9y6\ndQs3b95ERkYGAKBTp044efIkNBqNWfa3JhguRERP4IsvvoCPjw9efPFFeHh4YMKECdi/fz+WLVuG\njRs3QpIkvP3225AkCR9++CEA4OOPP8Y333yDZs2a4euvvzY8uwoArKyscODAAVy9ehVt27ZFSEiI\n4XzNoEGDIJPJ8MwzzxiebVVXcbQYEdV5/DdtXLxx5RNQqcxdAyKi+stiw0WpNHcNiIjqL4sNF/Zc\niIjMh+FCRERGx3AhIiKjY7gQEZHRMVyIiMjoLDZcOFqMiMh8LDZc2HMhIjIfhgsRERkdw4WIqI57\nGm5U+SCGCxHRE/jggw/g5+eHhg0b4pVXXsGBAwcAAOvXr0f37t0xd+5cNG3aFC+//DJOnz5tKBcZ\nGYn3338fUVFR8PLywgcffICioiIAQFZWFmQyGb799lu0a9cOffv2BQDEx8ejb9++aN++Pb744gsU\nFxcDAAYMGIC33nrLsO4RI0Zg3LhxpmqCClnsw8IYLkRkCn5+fjh48CCcnZ3xxRdfYOTIkfjjjz8A\nAGlpaejSpQsyMjKwdu1a9OnTB1evXjWU/fTTT7Fq1SoEBgYiNjYWeXl5WLx4sWH+li1bEB8fj2ee\neQb79+/H5MmTsWbNGvj4+OCNN95AdnY25s+fj7Vr16JDhw4YMGAArl27hqNHjxpu0282wgIBEP/+\nt7lrQUTG8rT8VOl0OuHt7S2OHj0q1q1bJ2xsbERJSYlhftOmTcWxY8eEEEL06tVLjBo1yjBv165d\nol27dkIIIS5duiQkSRLJycmG+VOmTBHvvPOO4XNCQoLo0KGD4fO2bduEl5eXcHd3F4cOHXpkPStr\nT2O2s8X2XDgUmah+kRYY5/G/Yl7NbjkfHx+P9evXIyUlBSUlJSgsLERGRgZkMhlatWoFW1tbw7Ih\nISE4cuQIOnbsCEmSEBwcXG5eZmam4dAYAISHhxveHz58GH//+98Nnzt16oRff/0VBQUFcHR0xPPP\nP49JkybB39//kY9JNhWLDRceFiOqX2oaCsZQVFSE8ePHY9WqVVi/fj0cHR3RvHlzw/zz58+jpKQE\ndnZ2AIATJ05g4cKF+voKgRMnThiWPX78ONq2bQsHBwfk5OQA0D84rEy3bt1w9OhRDBs2DABw9OhR\ntG/fHo6OjgCAOXPmIDAwEFlZWdi6dStGjBhRuztfBZ7QJyJ6TAUFBSgsLISnpyd0Oh0WL16Ma9eu\nGR64pdPpMG/ePOTk5GDJkiUAgI4dOxrK7927Fzt27MDFixfx0UcfYeDAgZVua/Dgwfj666+xb98+\nXLhwAUuWLMELL7wAAEhOTsb69evx1VdfYf369Zg8eTKuXbtWi3teNYYLEdFjatKkCRYvXoxRo0Yh\nKCgIKpUK3bt3hyRJkCQJ4eHhUCgUCAoKQnp6Onbv3m0oK0kSJk6ciKVLl6JHjx7o3bs35syZU27+\n/SIjI/HJJ59g0aJFGDJkCAYPHoxZs2YhPz8fY8aMwcqVK+Hp6Ynu3btj3LhxGDt2rMnaoSIW+5jj\nf/1LYOZMc9eEiIzhaXzM8fr167FmzRrD0OQH9e7dG6NGjTJLCFjsY46Tk5MREBCAVq1aYcWKFQ/N\n37x5M4KCghAUFISRI0fi3Llz1S5bhj0XIqrrnrbArAmzhMvUqVMRFxeHPXv2YOXKlcjNzS03v0WL\nFkhOTkZGRgaio6Pxz3/+s9ply3C0GBGZU9mhsaqWsVQmD5e8vDwAQM+ePeHj44N+/fohNTW13DIR\nERFwdnYGoL/yNCkpqdply7DnQkTmNGbMGCQnJ1c6f//+/WY/L1KbTB4u6enp8Pf3N3wODAxESkpK\npcuvWrXKMIKiJmUZLkRE5lOnr3PZs2cPNm3ahMOHD9e47MGD8zF/vv59ZGQkIiMjjVk1IqKnXmJi\nIhITE2tl3SYfLZaXl4fIyEjDxUOTJ09G//79MWDAgHLLnTx5EkOHDsXPP/8MPz+/GpWVJAnjxwus\nWmWCHSKiWvc0jharyyxytFjZuZTk5GRkZWUhISGh3C0OAODKlSsYNmwYNm/ebAiW6pYtw8NiRETm\nY5bDYsuWLUNsbCzUajWmTJkCd3d3xMXFAQBiY2OxcOFC3Lp1C6+//joAQKFQIC0trdKyFWG4EFkO\nV1dXix5ZZWqurq61vg2LvYhy6FCBbdvMXRMioqfHU31YzFTYcyEiMh+GCxERGR3DhYiIjI7hQkRE\nRsdwISIio2O4EBGR0VlsuPCuyERE5mOx4cKeCxGR+TBciIjI6BguRERkdAwXIiIyOoYLEREZHcOF\niIiMzmLDRacDtFpz14KIqH6y2HCxsWHvhYjIXCw2XKytGS5ERObCcCEiIqNjuBARkdExXIiIyOgY\nLkREZHQWGy42NrwzMhGRuVhsuLDnQkRkPgwXIiIyOoYLEREZHcOFiIiMjuFCRERGx3AhIiKjs9hw\n4VBkIiLzsdhwYc+FiMh8GC5ERGR0DBciIjI6hgsRERkdw4WIiIyO4UJEREZnseHCochEROZjseHC\nngsRkfmYJVySk5MREBCAVq1aYcWKFQ/NP3PmDCIiImBra4uPP/643DxfX1906NABISEhCAsLq3Qb\nDBciIvOxMsdGp06diri4OPj4+CA6OhoxMTFwd3c3zG/YsCFWrFiB77///qGykiQhMTERbm5uj9wG\nw4WIyHxM3nPJy8sDAPTs2RM+Pj7o168fUlNTyy3j4eGBzp07Q6FQVLgOIUSV22G4EBGZj8nDJT09\nHf7+/obPgYGBSElJqXZ5SZIQFRWFIUOGID4+vtLlGC5EROZjlsNiT+LQoUPw9PTE6dOnMXDgQISF\nhaFJkyYPLffjj/Nx+jQwfz4QGRmJyMhIk9eViKguS0xMRGJiYq2sWxLVOcZkRHl5eYiMjMSJEycA\nAJMnT0b//v0xYMCAh5ZdsGABGjRogBkzZlS4runTpyMgIADjx48v970kSfjuO4GNG4Ht242/D0RE\nlkiSpGqddqgOkx8Wc3Z2BqAfMZaVlYWEhASEh4dXuOyDO1lcXIyCggIAQE5ODnbt2oX+/ftXWJaH\nxYiIzMcsh8WWLVuG2NhYqNVqTJkyBe7u7oiLiwMAxMbGIjs7G6GhocjPz4dMJsPy5ctx6tQp3Lhx\nA0OHDgWgH1E2Y8YMeHt7V7gNhgsRkfmY/LCYKeiHKwv84x9AUpK5a0NE9HR4qg+LmQp7LkRE5sNw\nISIio7PYcOGNK4mIzMdiw4U9FyIi82G4EBGR0TFciIjI6BguRERkdAwXIiIyOosNFxsbhgsRkblU\n+/YvarUa//3vfxEfHw+lUgm5XI6CggJ4eHggOjoaL7zwAiRJqs261ohCoQ8XIYA6VC0ionqhWrd/\nSUlJwQ8//ICYmBi0adMGNjY2hnmFhYX49ddf8fXXX2Ps2LEIDg6u1QpXR9ktDBQKoLhYHzRERPRo\nxrz9S5XholQqcfbsWXTo0KHKlaWkpKBLly5GqdiTKGsgBwfgxg3AwcHcNSIiqvtMGi6A/tb3demQ\nV1XKGsjVFbh4EXB1NXeNiIjqPpPfuLJt27b4/vvv8b///Q8AcOPGDezevRulpaVGqURt4YgxIiLz\nqFa4xMbGYsiQIXBzcwMANGrUCN26dcPGjRvx6quv1mb9ngjDhYjIPKoVLg0aNAAAJCUloU+fPvjq\nq68gSRImTJgAOzu7Wq3gk+BwZCIi86jWUOSzZ89CqVSiX79+OHv2LEaNGmWYV50T/eZibc07IxMR\nmUO1wmXnzp3Ys2cP7O3t4eTkhMaNGyMkJAR+fn6wtrau7To+Nh4WIyIyj2qNFjty5AgiIiKQn5+P\no0ePIi0tDWlpacjMzERhYSGuXr1qirpWW9mIh7Aw4NNPgbAwc9eIiKjuM+ZosWr1XCIiIgAATk5O\niIqKQlRUlGHewoULjVKR2sCeCxGReTzxvcWmTJlijHrUCoYLEZF5VBkuSqUSJ06cqHS+i4sLAP2F\nljt37jRezYyA4UJEZB5VhouNjQ0kScLSpUuRnJxc7sJJrVaLixcvYvv27ZgyZQoCAgJqtbI1xaHI\nRETmUa0T+mV27dqFvXv3Ijc3F1u3bkXXrl3RtWtXREdHo1u3brVZzxopOyk1fDjw0kvA8OHmrhER\nUd1n8hP6ZaKjo3HlyhVMmzYNAwcOREJCAnbt2oXs7Gw0b94cTZs2NUqljIWHxYiIzKPGJ/Rzc3Ph\n5OSEF154AZ999hkmTpyIRYsWYfXq1bVRvyfCcCEiMo8a9VwAYMyYMRg5ciR0Oh1at24NGxsbjB49\nus6dbwEYLkRE5lLjcGnatCni4+ORlZWFO3fuoH379rhx4waSkpLw0ksv1UYdHxvDhYjIPGocLmV8\nfX0N7xs1aoSVK1caoz5GxdFiRETm8cQXUdZl7LkQEZmHxYcL74pMRGR6Fh8u7LkQEZkew4WIiIyO\n4UJEREbeDzK7AAAZoElEQVTHcCEiIqOz6HDhUGQiIvMwS7gkJycjICAArVq1wooVKx6af+bMGURE\nRMDW1hYff/xxjcrejz0XIiLzeOyLKJ/E1KlTERcXBx8fH0RHRyMmJgbu7u6G+Q0bNsSKFSvw/fff\n17js/TgUmYjIPEzec8nLywMA9OzZEz4+PujXrx9SU1PLLePh4YHOnTtDoVDUuOz92HMhIjIPk4dL\neno6/P39DZ8DAwORkpJSK2UZLkRE5mGWw2KmMH/+fFy6BJw9CyQmRiIyMtLcVSIiqlMSExORmJhY\nK+s2ebiEhoZi5syZhs+ZmZno37+/0cvOnz8fBw8CFy8CzBUioodFRpb/j/eCBQuMtm6THxZzdnYG\noB/1lZWVhYSEBISHh1e47IOP26xJWYCHxYiIzMUsh8WWLVuG2NhYqNVqTJkyBe7u7oiLiwMAxMbG\nIjs7G6GhocjPz4dMJsPy5ctx6tQpNGjQoMKyleFoMSIi85DEg90DCyBJEoQQOHUKePFF4NQpc9eI\niKjuK/vtNAaLvkKfh8WIiMyD4UJEREbHcCEiIqOz6HDhjSuJiMzDosOFPRciIvOw+HDhUGQiItOz\n6HCxsgI0GkCnM3dNiIjqF4sOF0nS917UanPXhIiofrHocAF43oWIyBwYLkREZHQWHy4cjkxEZHoW\nHy7suRARmV69CBcORyYiMq16ES7suRARmRbDhYiIjI7hQkRERmfx4cLRYkREpmfx4cKeCxGR6TFc\niIjI6OpFuHAoMhGRadWLcGHPhYjItBguRERkdAwXIiIyOosPlwYNgLw8c9eCiKh+sfhwad8eyMgw\ndy2IiOoXiw+Xzp2Bo0fNXQsiovpFEkIIc1fC2CRJQtluqdWAiwtw/br+EBkREVXs/t/OJ2XxPReF\nQn9o7MQJc9eEiKj+sPhwAXhojIjI1BguRERkdPUiXDp1YrgQEZmSxZ/QBwCNRn9S/+pVwNnZjBUj\nIqrDeEK/hqysgKAgntQnIjKVehEuAM+7EBGZEsOFiIiMzizhkpycjICAALRq1QorVqyocJl33nkH\nLVq0QKdOnXDmzBnD976+vujQoQNCQkIQFhZW7W0yXIiITMcsJ/RDQkKwfPly+Pj4IDo6GgcPHoS7\nu7thflpaGqZPn474+Hjs2rULmzdvxk8//QQAaN68OY4dOwY3N7dK11/RSSmtFnB1BS5f1r8SEVF5\nT/UJ/by7tyju2bMnfHx80K9fP6SmppZbJjU1FS+++CLc3NwQExOD06dPl5v/ODsvlwPBwcCxY49f\ndyIiqh6Th0t6ejr8/f0NnwMDA5GSklJumbS0NAQGBho+e3h44OLFiwD0yRoVFYUhQ4YgPj6+Rtvm\noTEiItOwMncFKiKEqLR3cujQIXh6euL06dMYOHAgwsLC0KRJk4eWmz9/vuF9ZGQkIiMj0bkz8N13\ntVVrIqKnS2JiIhITE2tl3SY/55KXl4fIyEicuHvRyeTJk9G/f38MGDDAsMyKFSug0Wjw5ptvAgBa\ntmyJ33///aF1TZ8+HQEBARg/fny57ys7bnj1KtChA3DpEuDkZMy9IiJ6+j3V51yc714in5ycjKys\nLCQkJCA8PLzcMuHh4di2bRtu3ryJLVu2ICAgAABQXFyMgoICAEBOTg527dqF/v37V3vbzzwD9OkD\nrF9vnH0hIqKKmeWw2LJlyxAbGwu1Wo0pU6bA3d0dcXFxAIDY2FiEhYWhe/fu6Ny5M9zc3LBp0yYA\nQHZ2NoYOHQoAaNiwIWbMmAFvb+8abXvaNGDUKGDiRP1JfiIiMr56cW+x+wkBhIcDc+cCgwaZuGJE\nRHXYU31YzNwkSd97WbbM3DUhIrJc9a7nAgAqFdC8OfDf/+pvaElEROy5PDFra/05l+XLzV0TIiLL\nVC97LgCQmwu0agX89pt+FBkRUX3HnosRuLsDb74JjBkD6HTmrg0RkWWpt+ECALNnA0ol8NFH5q4J\nEZFlqbeHxcpcuQKEhgI7dujvPUZEVF/xsJgRNWsGrFwJxMQAdy/+JyKiJ1Tvey5lxo8Hrl8Hvv0W\nsLGppYoREdVhxuy51PtwySnKwcErB5GUdRDf7DmPUpEHL788qHSlaNKgCbycvODl5IVOnp0Q6RsJ\nDwePWq49EZF5MFyqUFUD5SvzsTFjI1YfX42sO1mI8IpAj2Y94N+wLeKWuyD3T2fErbRFIbLxZ/6f\nuJx3GalXU5F8ORm+Lr54zu85jAkagwCPABPuFRFR7WK4VKGyBvoj7w8sPrgYW3/bimdbPIu/df4b\nevr0hFx27w6WOp3+AsujR/WHyHx975XX6DQ4du0Ytp/Zjo0ZG+Ht7I2xwWMxKmgU7BX2JtgzIqLa\nw3CpwoMNVKopxUeHP8InKZ9gQqcJmBQ6Cc84VX7lpBDAxx8DH36ovwfZK688vIxGp8Hu33dj1bFV\nOPLnEUwMnYiJoRPR0L5hbewSEVGtY7hU4f4G2nl+Jyb+dyI6enbER/0+gq+Lb7XXc+IEMHIk0LEj\nsGIF4OZW8XJnc89iyeEl+O70d3it42t4u9vbDBkieupwKHI1KDVKTPt5Gl7f8TpWDVyF/7z0nxoF\nCwCEhADHjumv5m/TRt+bUSofXq6Next8OehLnHzjJApVhWjzaRvMT5yPfGW+cXaGiOgpY7HhErEm\nAlfyruBE7An0adHnsddjb6+/weWBA0ByMhAQAGzaBKjVDy/r5eSFzwZ8hrTxabh05xJarWiFT458\nAqWmgkQiIrJgFntY7LO0z/B659chSZJR152YCCxYAPz+OzBliv76mLtPbn7Ibzd+wzt738FvN37D\ne73fQ0z7GMgki81zInrK8ZxLFYzZQJU5dgxYuhTYuRN44QX9DTC7dwdkFWRH8uVkzEqYhVJNKRY/\nuxj9/fobPfSIiJ4Uw6UKpgiXMv/7H7B5M7B+PVBcDIwYoQ+bzp31T70sI4TA92e+x+x9s9HYoTEW\nPbsIXb27mqSORETVwXCpginDpYwQwPHjwH/+A2zfDhQVAYMGAdHRQGQk4OSkX06j02Bjxkb8M/mf\naN2wNeb1mseQIaI6geFSBXOEy4NOnwbi44GEBCA1FQgOBnr1Anr0ACIiAFsHFTZmbMT7B96Hn5sf\nZnWdhT4t+vBwGRGZDcOlCnUhXO5XXAwcPKgfbXbggP58jZ8fEBYGdAxV4Ubjzfjmz6WQSRKmR0zH\niHYjYGtla+5qE1E9w3CpQl0LlwcplUBGBpCWpp/S04GsywLP9EhAachS3LE/imcbxeCNiLGI7hAC\ndmaIyBQYLlWo6+FSkeJi4LffgF9+AQ6fykJS3gZccVsHKB3R+PZQBNu8gC6+QWjVSoKfH9CyZeV3\nDCAiehwMlyo8jeFSEZ3Q4efMw9h09HvsubodKrUObneehbgUidyjvSAv8kbz5vqba/r66h98VjZ5\neQGNGgFyeVVbISLSY7hUwVLC5X5CCJzKOYX9WfuRmJWI5MvJkEsKtLAPQmMRBLuC9tDcaImCKy2Q\nfckdV/+UcPs20KQJ8MwzQNOm+snTU/9d2dS4MeDhAVhbm3sPicjcGC5VsMRweZAQApfzLiMjOwMZ\n1zPw641fcen2JVy6cwlKjRKejp5oZN8YjrJGUGgaAqVO0BQ7QZnviJJ8exTesUXBLTvk37ZB3m0F\n7K2t4eqsgIujAm4uZZMVGroo4O6mgIebNTxcbdDY3RqN3W3QpKEtFAqeDCKyJAyXKtSHcHmUfGU+\nsguzcb3wOm4U3UBucS4KVAXIV+YjX5mPEk0JSjWlKFGXQKVVQaVVoahUhWKlGiVKNUrVaijVaqg0\nGqi0Kqh1amh0amihhE5SQScrBaxUgMYGktYWcp09FLCHAg6wlTnAVtYADgr95GTjCBc7J7g6OKFh\nAye4OzqhsbMzGrs4wcPRGS52znC2cYazrTOsZFbmbjqieo3hUoX6Hi6moNHqkHNLhezcEmTfLMaN\nO8XIuVOM3LxC3Coswq2iAuSVFCCvtACFqgIUqvNRostHqciDSsqHWp4HYZMHmV0eYJMHnXU+ZFo7\nKLTOsBbOsIEz7GX6qYHCGQ0UTnCy0U8u9o5wtXeCm4Mj3Bo4wt3REe5ODeDh5AgP5wZwsLHl9UJE\nj4HhUgWGy9NBpQIKCvRTfr7A9TuFuH7nDnLy85FbmIfbxXm4VZyHfGU+ClR5KFDnoURbgBJdAUpF\nPpTIh1oqhEZeAK28ADqrIkBRCMjVgNoeMq0D5FoHyHUOsNI53O1d2cNGZg9ryR62cnvYWtnBrmxS\n2MFeYQcHGzs4WNuhga0dHGxs4WhnB0dbWzja2cLR3hZOdrZwtLeBk4MNXBxs4WBnBZmMYUZPP4ZL\nFRgu9ZcQQGGxBrl5RbhZoJ9uFxYhr7gYd4qLkFdchEJlCQqVxShSlqBIVYwSdQmKNcUo1ZRAqS2B\nUlcKla4EalECNUqhQSk0KIFWUkInlUInL4FOpoSQKQGrUkDSARpbQGsDSWsDmc4GMqGf5GUTbGAF\nG1hJ+kkhWUMhs4FCpn+1llnDxsoG1nJrWMutYWNlDVsrG9gorGFrZa1/VVjDzvreq521NeytrWFv\nc2+ys1HA3sYaDrb3JltrOcOPqoXhUgWGC5mSRqtFQYkSeUWlyC9SoqBEiYKSUhSWKFGkVKFYqUSR\nUolipRLFKiVK1SqU3H1ValQoVSuh1Kqg1CjvngNTQqVTQa1TQa1TQqNTQy1U0AgltEINLVT3Jkml\nPw8mKSEkNXQyFYSkhpArAZkakKsAmRbQWAM6BaBTQNJZQ9IpIAkFZOLeq0woIIN+kkMBGawglxSQ\nwwpyyQoyyQpWkgJyyQpWsrvvZVZQyKzKvVrLFbCSWUEhV0BR9irXv9pYKWAtV8Da6u77+18V+vc2\nCgVsFfe/Wt19bwVrhfzuZyvYKOSwsZbDSi5BoZAqvCM51QzDpQoMF6J7tDodSpRqFJaqUKJUo1ip\nRnGpCiUqNUpUapSWTWr9q1KjQanq7oAOjQZKtRpKjRpqrebud2qodRqoNRr9d1o1tDot1DoNNDo1\nNDrNvUEgQnPvVaihFWr9K9TQ4eFXnaSGTlJBSBp9WErqu+81gKSBkKkhJC0gaQGZRt9rlASgkwFC\nDghZuUnCA+8hQYIMkpAb5kmQ3/0shwxWkAkryKCAJKz0AWsIXOuHJivJWh+ysIZcUsBKsoZCptC/\nlynuvpfDSmYFuUwOuUwGuUwGmSSDXKYPRJkMkGQCkkxAdvdVkgQg6SDJdPpXSQAyHSRJB0kqKwPI\nJOjXJ5NgJZPfDXErWMmtYGOl7wHbyK1hp7CFrcIWdncnB2s72Cvs4WBjB3uFLays9HVxdTXebyeH\n5xBZOLlMhgZ2NmhgZ2PuqtQKIQS0QguNVge1RgeVWgelWguNRkCt0b/XavXvy+ZrtPpJpdZCrdVC\npdFCrdG/V6r1QXovUNVQadVQa9VQaVVQapVQa9VQ61SG0ZYaob7b01RBoyuGRqdGsSgLWC20Oi20\nWg2EENAJHXRCCyHwwCRBCAkQEiBkEDrZ3c8yQCeDEDIInX6+zlBG6NcJHQS00AktdJLGENRCUkEn\nU949jHv3kK68BEJeAmGlf4VcpT+kq7Y36p8Ley5ERPWYTuhQoi5BiaYEHg4ePCz2KAwXIqKaM+Zv\np1lOgSUnJyMgIACtWrXCihUrKlzmnXfeQYsWLdCpUyecOXOmRmXpnsTERHNXoc5gW9zDtriHbVE7\nzBIuU6dORVxcHPbs2YOVK1ciNze33Py0tDQcOHAAR48exVtvvYW33nqr2mWpPP7DuYdtcQ/b4h62\nRe0webjk5eUBAHr27AkfHx/069cPqamp5ZZJTU3Fiy++CDc3N8TExOD06dPVLktEROZn8nBJT0+H\nv7+/4XNgYCBSUlLKLZOWlobAwEDDZw8PD/z+++/VKktEROZXJ4cilw2vu19N7xXFe0vds2DBAnNX\noc5gW9zDtriHbWF8Jg+X0NBQzJw50/A5MzMT/fv3L7dMeHg4Tp06hejoaABATk4OWrRoATc3tyrL\nAuBIMSIiMzP5YTFnZ2cA+lFfWVlZSEhIQHh4eLllwsPDsW3bNty8eRNbtmxBQEAAAMDFxaXKskRE\nZH5mOSy2bNkyxMbGQq1WY8qUKXB3d0dcXBwAIDY2FmFhYejevTs6d+4MNzc3bNq06ZFliYiojhEW\nJCkpSfj7+ws/Pz/xf//3f+auTq27cuWKiIyMFIGBgaJXr15i8+bNQggh8vPzxaBBg4S3t7cYPHiw\nKCgoMJRZvny58PPzEwEBAeLAgQPmqnqt0Wg0Ijg4WDz//PNCiPrbFoWFhWL06NGiVatWIiAgQKSk\npNTbtli1apWIiIgQHTt2FFOnThVC1J+/F3/9619Fo0aNRLt27QzfPc6+nzp1SoSEhIjmzZuL2bNn\nV2vbFhUuwcHBIikpSWRlZYk2bdqInJwcc1epVv3vf/8TJ06cEEIIkZOTI5o3by7y8/PFhx9+KCZN\nmiRKS0vFxIkTxZIlS4QQQly/fl20adNGXL58WSQmJoqQkBBzVr9WfPzxx2LkyJFi4MCBQghRb9ti\nxowZYu7cuaKkpESo1Wpx586detkWN2/eFL6+vqKwsFBotVrx3HPPiZ9//rnetEVycrI4fvx4uXB5\nnH1/7rnnxNatW0Vubq7o1q2bSE9Pr3LbFnOT6vp4DUyTJk0QHBwMAHB3d0fbtm2Rnp6OtLQ0jBs3\nDjY2Nhg7dqyhHVJTU9G/f380a9YMvXr1ghACBQUF5twFo/rzzz/x3//+F6+99pphUEd9bYs9e/Zg\n9uzZsLW1hZWVFZydnetlW9jZ2UEIgby8PJSUlKC4uBguLi71pi169OgBV1fXct/VZN8LCwsBAGfP\nnsXLL7+Mhg0bYujQodX6bbWYcKnv18BcuHABmZmZCAsLK9cW/v7+SEtLA6D/y1M2OAIA2rRpY5hn\nCd58800sWbIEsvse7FEf2+LPP/9EaWkp3njjDYSHh+PDDz9ESUlJvWwLOzs7fP755/D19UWTJk3Q\nrVs3hIeH18u2KFOTfU9NTcWFCxfQqFEjw/fV/W21mHCpzwoKCvDyyy/jk08+QYMGDWo0FNtSrgf6\n6aef0KhRI4SEhJTb//rYFqWlpTh37hyGDRuGxMREZGZm4ptvvqmXbZGTk4M33ngDp06dQlZWFo4c\nOYKffvqpXrZFmSfd9+qWt5hwCQ0NLXeDy8zMTHTp0sWMNTINtVqNYcOGYdSoURg8eDAAfVuU3TLn\n9OnTCA0NBXDv+qEyZ86cMcx72h0+fBjx8fFo3rw5YmJisG/fPowaNapetoWfnx/atGmDgQMHws7O\nDjExMfj555/rZVukpaWhS5cu8PPzQ8OGDTF8+HAcOHCgXrZFmZruu5+fH65fv274/tSpU9X6bbWY\ncKnO9TOWRgiBcePGoV27dpg2bZrh+/DwcKxduxYlJSVYu3at4S9CWFgYdu3ahStXriAxMREymQyO\njo7mqr5RLVq0CH/88QcuXbqErVu3IioqCl999VW9bAsAaNWqFVJTU6HT6bBjxw706dOnXrZFjx49\ncPToUdy6dQtKpRI7d+5Ev3796mVblHmcfff398fWrVuRm5uL7du3V++31QgDEuqMxMRE4e/vL1q2\nbCmWL19u7urUugMHDghJkkRQUJAIDg4WwcHBYufOnY8carhs2TLRsmVLERAQIJKTk81Y+9qTmJho\nGC1WX9vi7NmzIjw8XAQFBYkZM2aIwsLCetsW69atEz179hSdO3cWc+fOFVqttt60xYgRI4Snp6ew\ntrYWXl5eYu3atY+175mZmSIkJET4+vqKv//979XatkU+LIyIiMzLYg6LERFR3cFwISIio2O4EBGR\n0TFciIjI6Orkw8KI6iK5XI4OHToYPsfExGDWrFlmrBFR3cXRYkTV5OjoaPT7TGk0GlhZ8f94ZHl4\nWIzoCfn6+uKDDz5Ahw4d8Pzzz+PSpUsA9LdhWbp0KXr16oUBAwYgMTERALB+/XoMHz4cffr0QXR0\nNJRKJRYuXIi2bdtixIgR6NatG44dO4Z169bhzTffNGxn9erVmD59ujl2kajGGC5E1VRSUoKQkBDD\n9O233wLQ33+ppKQEJ0+eREREBL766isAwNatW2FlZYWkpCSsXbsWb7/9tmFde/fuxZdffom9e/ci\nPj4emZmZOHHiBGJjY3HkyBFIkoSXXnoJP/74I7RaLQB9KI0bN870O070GNgfJ6omOzs7nDhxosJ5\no0ePBgBERUVh4cKFAIBt27YhKysL69atAwDcvn0bFy9eNCzn6+sLANi9ezdGjBgBa2tr9O7dGz4+\nPgAABwcHREVF4ccff4S/vz/UajXatm1bm7tIZDQMFyIjKHtmhkKhQGlpKQBAp9Nh5cqV6NmzZ7ll\nDxw4AE9Pz2qt97XXXsP777+PgIAAjB071riVJqpFPCxGVEtGjhyJuLg4wyCAsl7Pg2NooqOj8c03\n30ClUiEpKQmXL182zAsLC8Off/6JLVu2ICYmxnSVJ3pC7LkQVVPZOZcyzz33HBYtWlRuGUmSDM/A\nePHFF5Gbm4vo6Gjk5+ejRYsWiI+PL7cMADz//PP47bffEBwcjA4dOqBt27aGQ2MA8NJLLyEjI8Nw\n52+ipwGHIhOZmU6ng1qtho2NDdLT0zFt2jQcOnTIML9///5499130a1bNzPWkqhm2HMhMrPi4mL0\n7t0bpaWlaN26NT7++GMAwJ07d9C1a1dERkYyWOipw54LEREZHU/oExGR0TFciIjI6BguRERkdAwX\nIiIyOoYLEREZHcOFiIiM7v8D5L89YpM7o1sAAAAASUVORK5CYII=\n"
185 }
186 ],
187 "collapsed": false,
188 "prompt_number": 22,
189 "input": "plot(piab_evalues, piab_exact_dos, label=\"exact\")\nplot(piab_evalues, piab_approx_dos, label=\"approx\")\ntitle(\"Smooth part of the DOS for the 1D PIAB\")\nxlabel(\"Energy\"); ylabel(\"$g(E)$\")\nlegend(loc=1)"
190 },
191 {
192 "outputs": [],
193 "cell_type": "code",
194 "collapsed": true,
195 "language": "python"
196 }
197 ]
198 }
199 ]
200 } No newline at end of file
This diff has been collapsed as it changes many lines, (987 lines changed) Show them Hide them
@@ -1,721 +1,266 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>sympy</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;SymPy: Open Source Symbolic Mathematics&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>1</prompt_number>
15 <collapsed>1</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from __future__ import division
20 from sympy import *
21 x, y, z = symbols("x y z")
22 k, m, n = symbols("k m n", integer=True)
23 f, g, h = map(Function, 'fgh')</input>
24 <language>python</language>
25 <prompt_number>2</prompt_number>
26 <collapsed>1</collapsed>
27 <outputs />
28 </codecell>
29 <markdowncell>
30 <source>&lt;h2&gt;Elementary operations&lt;/h2&gt;</source>
31 </markdowncell>
32 <codecell>
33 <input>Rational(3,2)*pi + exp(I*x) / (x**2 + y)
34 </input>
35 <language>python</language>
36 <prompt_number>3</prompt_number>
37 <collapsed>0</collapsed>
38 <outputs>
39 <output>
40 <output_type>pyout</output_type>
41 <text>β…ˆβ‹…x
42 3β‹…Ο€ β„―
43 ─── + ──────
44 2 2
45 x + y</text>
46 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdrQUFBQXBDQVlBQUFBMjJnZFdBQUFBQkhOQ1NWUUlD
47 QWdJZkFoa2lBQUFCR1JKUkVGVQplSnp0MjJ1SVZWVVV3UEhmT0dtT3FXbVptWnBETW9ZcFRsb2hr
48 YjJUS0NPbGwvU3lMeFVSMVljS2VuM3FCVWtrUVJRRlpSajFJZXdwCjlTR283RTFQZ2hKN0o0WkJw
49 VmxnR1dZMjA0ZDFMdmNhY3g4emM4ODVkL1Q4NFhEMnZuUE9XZXZlZGZiYWE2KzFoNEtXcHkxdkJZ
50 WW8KWFRnR1QyTWlacUVIby9BMzNtaW1zSDBhdUdZMEZtTkMwbCtGYmMxVVlnZ3lFVXZ3SXJyeEd0
51 WmlHZWJsb2REck9DRnBMOGNuZVNqUgpZa3pEZzJoUCtsUHdVTkllMW14aGpZeWtkNVZIem51NEdX
52 UHQzYVBwUEx5QVJXSWtiY1ZubUlNZCtMYVp3dHJyWCtKTi9KSzBMeFMrCjk5Rm1LdEhDN0k4emND
53 U200dnZrOCs4d1RuaVo0ZmdRdS9CcnhUV1owNDFyaFhFT3lFdUpqSm1NbDRWeDREYU52ZFJOcDFH
54 aFc4VVEKUGcwejhFNXFHclVPejJNVC9oWEJ3QS80T2xlTnFqQUpLekFtNmM5REwrYm5wbEUyak1a
55 T0hKeTNJdFNQUkdaaXFiS1J4aWZuWGFscApWSnZqWk9kdS84SG1pbjZYOGpJa1UrcTV1MDNDSjI5
56 REIrN0VHanlSc2w3VnVBWmI4R1BLY25iaUVHR1V6U0tLbTRxUFVwWTdLTHJGCmd2YXduUFZZam1N
57 emt0VW1zZ3FuQ3ZlWEc0MnNrK0R6NUJnTUI0bVF0aTk2c0RFNXR3cTlXbVRoM3FpUkJzTmtFWHhj
58 b0xaN1BRbHYKWjZEUGtLUHBLWXovMFk2SDhiNUlRdDZIaGNKdHJzYnNwRDFaWWFDcWxFWlNid3JQ
59 YmhQcGt4WEtCdWdTaWNoZWtlLzZvc3E5dzdGdgpsYzg3OUQxSGJMZjc5MGpqTytWQ3lVaHBsU3hX
60 VjdRbmliQzJWOHhOWTJ2Y2R4ZU83K1B6VGpFUy8rampiM2ZnMVlwK1VZWVpBTGZpCnVxUTlINThP
61 NEJsWlJuY3RROXB6VXFXY3k0V3JJMGJWRWJJSlhJWThXZjFJWjJNL3JFLzZIUmdwRExVdUl4MGE1
62 VXJoaWp0eG8zRFIKdWRLZmtUUnFFSEt1eHlzVi9WTEc0S2hCUERNTnB1SlBFZXhzRkpYVzNHbkVT
63 S2VMU2ZrR1Vicy9lUUJ5dG92d3U4UUhlQkliQnZDcwpOSmtpYW1aRTFyc3JSMTBhWmh4V1Z2UVhp
64 YnhXTG9sR1hJM0RVNVpSeW9yY0t3cCtMYzlzRVRLWDNxalJTWDl4YmhwbHd5UThscmNTCi9hR3pv
65 bjIwS0ZOTXowbVhMR2pEN1dJTzdzOWE2ekpoM054Wkk5WTdleklYaVdRd25OT1ArNjVRTHJVM2xm
66 NUVkemZoTGR5VGhpSTUKTUx5aVBTSTV6eFJidGI0VW0wcHFaVVVHUWwrL2Q5MWxVS1BycEV2d2pk
67 Z01PRVpFUVY4MXJGcHJNVXVrbkVhSnRkc09VUzk3Q2MvaQp3SlRrZGlmSHBTSUE2eEdCVUNkdXFY
68 VmpJMFk2VjVTczEyTXVUaFJaN2FIS1Fqd2dYclIxT0JSWDZmOWV1V1Vpc0NyUkxmYUFWT1lWCm44
69 UEhTWHNCbnNMOW9qclFnek0xb2NvOVhhd1hmcTQ0ZmhKdjRGQ2w1TnFXNHBrbVByZmVuRFJDWkRO
70 V0pmMWgrRTE1L3F0S3ZaRzAKd2U3UjNaN0F6dVM4VURtWE9CNS9pYzMyYWNwZG9yeXhkSzU0NGJm
71 VXV6R3JCR3VyTUVlNG5KRTRTemtUZjdHeThkSmtndGpjQStlTApRS3d1dWV6SXpKR0pZblBKTkxG
72 WVBVVlVodGNLMXpNWVpvZ3R4dHRyWExOVkpBTGFSYXJ0RWVXa2MwR0xVS28yVDhIdnFtL01LY2lK
73 CnU4VWFEQjVYTG9EV1pXOXpkM25TSmtiU0F2RnZNaXRyWDE1UVVGQlFVRkJRTUFEK0E0UXR0bmUw
74 VkRacEFBQUFBRWxGVGtTdVFtQ0MK
75 </png>
76 <latex>$$\frac{3}{2} \pi + \frac{e^{\mathbf{\imath} x}}{x^{2} + y}$$</latex>
77 <prompt_number>3</prompt_number>
78 </output>
79 </outputs>
80 </codecell>
81 <codecell>
82 <input>exp(I*x).subs(x,pi).evalf()
83 </input>
84 <language>python</language>
85 <prompt_number>4</prompt_number>
86 <collapsed>0</collapsed>
87 <outputs>
88 <output>
89 <output_type>pyout</output_type>
90 <text>-1.00000000000000</text>
91 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNzQUFBQVNDQVlBQUFEQ0tDZWxBQUFBQkhOQ1NWUUlD
92 QWdJZkFoa2lBQUFBVjFKUkVGVQpTSW50MWIxTEhFRVl4L0hQK1ZhY1RkS3BLS0tGWElxSUlCWmFo
93 QlRYMlBrM3BJcFZJRmhvTUYyNkE4RktzTEt6Q3FuVHB4SUxVVWpoClc2RkZiSUlJdVNLY2VCWTdx
94 OHV5QjlsN0NTZjRnK0hoK1Q0N3ovd1labWQ0UWlwMG9PY1gzS0NTYzE0Wnl6aEJIUmZZYXErMVI1
95 VkUKQnV0WXpUbDNHbFZNaHJ3ZmUvaVEvS2luUllPeEtsaEJyY241YS9pQjg1RFhzQnY2anJic3Jv
96 Rks4dS9zT0c3eE1jVmZoVjd2WXRDdQpuVzFGTStnVm5kV2tUa044RzROdU1Ec1U0cDhVcjRVeEhJ
97 TnVNbHZOcUZYeElrNjZ3ZXpmRU84eWF2MUozZzFtanhyd0FvcjRGWU8rClJQRTF0djM3UTNHQTk4
98 MjRTK2t3eEpjcFhneGVybUtRTkh1RStUWXNubGVYdU1aWWlzK0YrTER6Ly9zWURHQWlneDlpTWNY
99 SytJMmQKVHBsWkVGM2tHdzNxMzBVUHdHeUt2eEg5K1ZNaEg4UXgxanZnMFNmc2krN0tlaGcvZzdt
100 a0tqakRTRWFQSlh6REpyN2lzK2l4ZU5hegprcm9INUFBOVNzd2xFUkVBQUFBQVNVVk9SSzVDWUlJ
101 PQo=
102 </png>
103 <latex>$$-1.0$$</latex>
104 <prompt_number>4</prompt_number>
105 </output>
106 </outputs>
107 </codecell>
108 <codecell>
109 <input>e = x + 2*y</input>
110 <language>python</language>
111 <prompt_number>5</prompt_number>
112 <collapsed>1</collapsed>
113 <outputs />
114 </codecell>
115 <codecell>
116 <input>srepr(e)</input>
117 <language>python</language>
118 <prompt_number>6</prompt_number>
119 <collapsed>0</collapsed>
120 <outputs>
121 <output>
122 <output_type>pyout</output_type>
123 <text>Add(Symbol(&amp;apos;x&amp;apos;), Mul(Integer(2), Symbol(&amp;apos;y&amp;apos;)))</text>
124 <prompt_number>6</prompt_number>
125 </output>
126 </outputs>
127 </codecell>
128 <codecell>
129 <input>exp(pi * sqrt(163)).evalf(50)</input>
130 <language>python</language>
131 <prompt_number>7</prompt_number>
132 <collapsed>0</collapsed>
133 <outputs>
134 <output>
135 <output_type>pyout</output_type>
136 <text>262537412640768743.99999999999925007259719818568888</text>
137 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWZ3QUFBQVNDQVlBQUFDK2EyeFZBQUFBQkhOQ1NWUUlD
138 QWdJZkFoa2lBQUFDWHRKUkVGVQplSnp0bkhtczNVVVZ4ejk5cjQvdDBiSVkzNFBhRm9nZ1VHdlRo
139 S0JJWGFKRWdiREVWRVVDbUpacVJHSlVsRUkwUUt5SUlFV2haUWxhCmxseXRLUllyRkdSckpGaUN1
140 S0ZZTEtzc1VvU0NLRkJJcXlqWStzZVpzWFBuenZ4K1ozNTNYcTZYekRlNWVlL09uTjg1Wjg2Y2Mz
141 NXoKWjRPQ2dvS0Nnb0tDTnp6R2VkK25BUmNBMndBN0FiOEV2ZzY4RkhoMkNuQTI4Qi9nWldBanNC
142 RFkxSURmZW1BRnNBeDRIamdXK0lUNQpQT3pRN1F2TUIxNEg5ak8wNXdMM09UU0hBMWNBYTR3dS93
143 STJPL1gzQUpjRjJvUGhQUVNjRjZtZkRLd0c5bzdVNTdhZlZyL0pSdTZ6Cmh0Y1FjQkh3Z2tPVGFo
144 ZU5mcnNBWHdFR1RYc0hnYThCZitsQ3JxYTlHajhJWVFnNEhkak42UEFxNG5QK2M0V3VQK2tnZjg3
145 UnhKYVcKTGlVV2NyWkRhNzhtc1ZxVkUxUDZUWk5MdEhKVCtHbjlBUExseEY3Uy9RLzdBcjhBcGpv
146 TTFwclBKSTkyQlBnemNMRDV2aXZ3Q1BDbApodnkyZUo5TndORWV6VDdBS21DQytUNE9XQTY4QWt4
147 MzZFNE44SE0vaHdkYkQzc1l1UXNDZGNQQWg0RS9HUjRoNUxhZlZyOUI0REhnCk0wN1pPWWl0QnB5
148 eUZMdG85TnNac2YvdVR0a000QUVrR0p2STFiUlg2d2MrQmd6ZDFVN1oyNEVuZ1RjVnVyNm5nL3c1
149 Unh0YnVXTXcKWnp0UzdKY1NxM1U1TVVXdU5wZG81S2J5MC9nQjVNMkp2YUpydy9WT1l5d09Sb3l3
150 MkN1L0RqakYrVDRDckFNKzNaRGZPbUNKVWZvVQp3cU8yczVDUjFWRk8yWEdHMzdsTzJYZUJ2WkRS
151 NWFCVFBndTROTURYWW9uaHRjQXIzeDlZYVdUY1RkekpjdHRQcTkveHlFaDgyQ25iCng5RE9jOHBT
152 N0tMUjd3VGd6SUNlQzRFdk41VHJJdFplclIvNCtKU2htZW1WUDJSa0Zicitwb1A4T1VjYlc3bGpN
153 R2M3VXV5bjFVK1QKRTFQa2FuT0pOaGRyK1lIT0R5QnZUdXdWWFJ2K2lreGhUSERLeGlQVE1BODRa
154 UjhIL28yTUtxcWc1UWN5TlZPSDJjRFRpUE5aSEl0MAordWxPMmVXQlozY0ViZ04ycU9CdGVTMm8w
155 S0ZGM01seTIwK3IzeHJnanNBemp5Tk9hcUcxaTFhL0M0RkhnVzI5OHZPUXFjZFV1UzZxCjJxdjFB
156 eC9YR0JwZjVncmdtVUxYOTNTUVArZG9ZeXQzRE9ac1I0cjltc1JxaTNCT1RKR3J6U1VhdWFuOFZr
157 ZDR1TWlkRTN0RjE0YTcKZ1g4ZzZ5MHVYa2JXTml5V0F3L0dtRFRnQnpxamg3QVlDWUpwTlhTWEEr
158 K0sxTzBJWEduKzcrYUZuOXQrR3YzR0kydGozd3M4dHdwNApzWVozeUM1YS9ZNHgraXhIcGh4Qmdu
159 c3RNaEpQbFd1UjBoOFdHajlZWS9nTmV1VVhtUEszRmJxK3BvTzhPVWNiVzJNUmd6bmJrV0kvCnJY
160 NHVXb1J6WW9yY0pya2tKamVWMytvSUR4ZTVjMkt2Nk5yV2w5NlByQTg5NTVSTkJTWUN2M0hLWmdK
161 L1E1emdtNGpocjZkektrVEwKRDJSa2Nwcmh0eGk0QkpsYXFzSjBaQ3BqSHRXZE1Rc1lEY2kwK0Ny
162 eFRYb3B5RzAvalg2anlCcjJ4a0RkSnFUei9WR2ZSY3d1V3YxVwpBcmNqenZZZzhFbmdXbVFkOEtH
163 SXpDcTVGcW45b2ZXRE5lYnZCSy9jcm50TktYUjlUUWQ1YzQ0MnRzWWlCbk8ySThWK1d2MDBTSkhi
164 Ck5KZkVrTUpQOCs3Sm5STjdSVmVMYnlIcnBYWTlhZGg4WHd0OHpxR2JqZXdlamIyMFl2d3NIcVhk
165 QVU0RzdxZDlUY3ppU01QbldXQk8KYlF2Zzk4QkhJblV6a1JlTVJUZS84RVBvMW41MStoMWd5czRP
166 eUY1cTZrWWp1b1hza3FyZk1IQUxXemU4M0ZRaHIwcXVSVXAvcFByQgp4d3kvZzV5eVFjVDN0aURC
167 VXVqNmx5NkdwamxIRzF1NVl6Q0dwdTNveG40YS9WcUVjMktxM05SY0VwT2J5cS9PZm1PVkUzdEZG
168 OFhlCnlLalZYUU1ZTmN4ZVJhWmVMUWFRMGVpMWlmemM1MTBNSVZOYTUxZndHdy84REZrNzJ6NUNj
169 d2d5QlRZVWtmbDk1TmlMUmM0WGZyZjIKMCtnM3ZVTG5INW02TndmcVluWko3ZC9qa0dNNlJ3QlBt
170 R2VmSUw0ek5IZC9nTTRQTEJZQk55QnJjWVBBRjVBMXhTM0FvWVd1NytsOApkSk56dExHVk93WkQ2
171 RFozTnJHZlZyOFc4WnlZSWpjMWwxVEpUZUZYWjcreHlvbTlvZ3RpTytUTTVVS3ZmTWd3dWovd3pM
172 MklVL3BuCis2djRWV0VkOVZOSjd6UDZ0Q0wxUHdGK0VLazdHZmlBVjVicmhaL0RmaHI5aHBEZHdR
173 dm94RStSalNhaC9valpKVVcvdWNETlR2MHcKY3U1NE0zSm1PSVRjL1dGUjV3Y1dBOGlSbTBYSXNh
174 a0RrZDNIVzRDM0ZMcStwM1BSYmM3UnhsYnVHUFNSSTNjMnNaOVd2eGJ4bktpVgpPNWYwWEZJbHR3
175 ay9GNzRmNU02SnZhSUxZaHl5dy9JYmtmcjF3RjJCOHJzUXcreWF5TzhHNE1aQStYTzBYekl4QlRs
176 YjZHS2lrZmtLCm5TUFJJYVF6RmdWNDc0YXMxZmpJOGNMUFliOFUvZTZqODZnT3dNK1IzZXcrcXV5
177 aTFRL2dWOEE3QTNTZlJSek4vMVdUcXo5Uy9hQU8KeTZqZldGWG8rb3N1Vjg3UnhsYnVHTFRJMVk0
178 UXF1eW4xUS9TbHpsRGNsTnpTWjFjTFQrdC9YTG54RjdSQlhFT2N0Ylp4VnpuLzZXRQpOd0xjUS9o
179 V256cCs2NEU3dmZvUnhKQ3J6UGZ0a0IycXJ3TnZkZWpzZE10R1ErTmlGdkcxdFJPUWFlQ1Z6dWRt
180 US8rdytUNDc4RnlMCmV1Zk9ZYjhVL1piU2Z2UUhaUHBzQTNCclFFNlZYYlQ2RFNPT0ZEcW1NZzU1
181 OGZvYlgzTDBSeE0vcU1QVHlPMWloZTZOUTVjajU0QSsKdG5MSG9FV3Vkb1JRWlQrdGZwRCt3dmZs
182 TnNrbFZYSlQrS1g0UWE2YzJDdTZJRTRrM01sWE9mOS9GUGduVzdmL1c4WWI2SnhTMWZCYgpRdWVz
183 d0dHSTBlMUZCd1BJMmMwLzBMNU9lN1NoV3htUU1jZlV6US9VaGJBbjNmL0N6MjAvalg3emtlczdY
184 YnNjWkdnUENmQ3BzNHRXCnY5L1Nmdm1OeGJ2cFBDdXNrZXRqVHpyYm0rb0hVeHk2bWViWkR6bjE3
185 MFYyMzdvM2Z4VzYvcVN6eUpWelFCOWJ1V01ROHJVajFYNWEKL1N4YWhITmlpdHpVWEZJbE40V2Yx
186 Zzl5NThSZTBiWGhnOERmZ1I5Nm54OGo1L3RjckVDT0o5aTFpM25JQ01nMWlKYmZOTVJvOW9LRwpB
187 V1Mwdkl6MkRSWDI2SVNWT1lKY0NQRVU0Yk9hcHlFZGQxS3N3UjVtR1BvTEsyaHVORFFqZ2JyYzl0
188 UHF0d3R5emVUbm5iSWx3SzhqCmZEUjIwZWgzbENuYnp5bWJqUHlpY1lNOFJhNkxXSHUxZm5BQXNy
189 djJOdk45RXJLai96M20reWh5TWNvY2ozK2g2MDg2eUo5enRMR1YKT3daenRpUEZmbHI5WE1SeVlv
190 cmMxRnhTSlRlRm45WVBJRzlPN0JWZDIyYVNsNGpmSk9SUExlMkUzR3EyUDNMVzlIbGtEZXVwaHZ3
191 TwpSSzVpM0I1NERibWorQ0prNnRiRkVjaHVSSkNkcTM5RWRxNkcxc2tPUlViRGh4SGVjR0V4RVZu
192 TGVRY3k4dHlNakpqT1IzNHhqaUNCCk5vbXRSekEySU1jNUxrWUNFZkxiVDZzZnlDVVdaeUU3U1VH
193 bWViNklqS1o5YU95aTFXOEdjb3h1MEh4ZUE3NE4vSzZoWE5DMVYrTUgKVTVGTE5hNEJ6akJsYzVB
194 TmZoT1IvdndPblZPeGhhNS82Y1lpNTJoaksyY001bTZIMW41YS9iUTVNVVd1SnBkbzVXcjVnZDRQ
195 Y3VmRQpYdEVWRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZQei80Nzg5SFRDck1uK05RZ0FB
196 QUFCSlJVNUVya0pnZ2c9PQo=
197 </png>
198 <latex>$$262537412640768743.99999999999925007259719818568888$$</latex>
199 <prompt_number>7</prompt_number>
200 </output>
201 </outputs>
202 </codecell>
203 <markdowncell>
204 <source>&lt;h2&gt;Algebra&lt;h2&gt;</source>
205 </markdowncell>
206 <codecell>
207 <input>((x+y)**2 * (x+1)).expand()</input>
208 <language>python</language>
209 <prompt_number>8</prompt_number>
210 <collapsed>0</collapsed>
211 <outputs>
212 <output>
213 <output_type>pyout</output_type>
214 <text>3 2 2 2 2
215 x + 2β‹…x β‹…y + x + xβ‹…y + 2β‹…xβ‹…y + y</text>
216 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVEwQUFBQWJDQVlBQUFCbTZ0bzZBQUFBQkhOQ1NWUUlD
217 QWdJZkFoa2lBQUFCWE5KUkVGVQplSnp0bkYyTVhWTVV4My9UTVMydFZLTXpoSVFNTTFFMFNGdU1x
218 WmlXZUNCSVV4L1ZpS1FQVkJvSkhrWjlwYVNrUWdqeFVVYVErSXFQCkJnOEVJZWljTkQ2aWlYcVll
219 dENrQ1lJZ2paSlFUVkFlMXJtWjA1T1plL2ZhZSsxNzdqWDdsMHpPUGVlc3ZmYjZyNzFuMzdQM09l
220 ZEMKSXBGSU5Ja2pnV09yRHNLSURxQVBPTGpxUUl4SWVoSWgxTTMzTkErSHM0RjdnUk9CYzRFdmdP
221 TjhvMnNCZWhFOUE4QlR3UFBBZ1ZVRwpGRWd2U1UvQ24xNGk1UHM4NERlZ0s5OGZCWjROZFZvaHp3
222 Rkg1Wjg3Z2ErQVc2c0xKNWlrSnhGQ3czejdYR204Qy9RQWYrWDcwNEVmClBRTnNCZnFBcS9MUC93
223 Qmp3T25WaFJOTTBwTUlJWHErendDMkFuTXNuVHJRRGF3RFhnUnVCaFlFK0pxT3pPSEl0enVBNGFE
224 b3FpWHAKc2NleXY3VTZVZk45R2JBUnVBRy9LeFpmamdjK0JDNUdGbU9IZ2IrQk5RYStWd1B2QXdj
225 WStHb0ZrcDV3WXZhM1ZzY3MzN09BUXd2Nwo3d0NQQi9yc1ZOaU9Bb3RLeHg0Ri9nWE9DWWhoTWZB
226 TU1DUEFoeGFOYmkyV2VtTEc2VXBWZW1MMU4wdGl0SS9wLzhQcndPYkMvbVBBCk40RSszM2EwbXdQ
227 OENseGJPcjRFYWNRSFBPcy9DYmlGOGN1eVpuVUdWOTFhclBYRWl0T1ZxdlRFNm0vV1dMZFAzWHo3
228 VENzK1FVWWcKa0Rzb1p3RXYrMGFYTTh2UmJpWnl5M2NENDRJQXZzNjNwM2pVM1Flc0JiWURGd0RM
229 Z0tVZWZueHcxYTBoaHA0WWNicFNwWjRZL1MwRwpsdTNUTU4vbHVjcE1ZQlhRRDN3T3ZBUU1BUmNC
230 dTRFSGtkSDFDdUI2NU9HdWpjQ1Roa0hYNHdmZ2ZPQjNaS1N2MFpkdnQ1ZnNYZlRjCmpqeHpzcjVR
231 N3A0R2NTeEhWcFJIZ0c4THg1Y0NndzdsZlltbHh4cVhPUGZtdG8xeU9ZL3E5TVRvYjY2NlkycXNW
232 L2Q3eUIyVDlZWGoKazhaeUVMSTIwWThNSmg4QkR3TjNBRWNETzRHcnpjTGVueXl3L0FoeWU2aDRh
233 eWlXbm5WSVI3Z0xlS1YwYmpQd3BzSlhwckJ0bC9iUgp4R21aU3cxWllQblEvbWF0TzFQWW10WTl6
234 UDVQZHI0QWZJZmNnaGtBdGdFbmFCd3F5QUxLOWlPajkvMmw0ekgwSElITTlRQTJJYU55CmpTNWdE
235 M0Nqd2wrbXNHMlg5bkdOMHpxWEdyS0FzcUg5TFlidXpOSE92TzVscGYweDRBbU5nd0F5ejNKZHdL
236 ZklHa3Q1ZlNhR25nSGcKY0dTZSt3ZHlTNnJHWXVRUzlqU0Z2MHhoMnk3dDR4cW5kUzQxWko3bExQ
237 cGJETjJabzUxSjNjVTFqVGNLbjN1QStjRGRqc0c0MEpQNwptMmp4ZFI3dzlBVEg5eUJySjVNeEFu
238 d0pYQVBzSzUyTG9lZXpmTHNLeWQxcmhYTkR5TngzVzZtTWxlNTJhUi9YT0gxeXFhRlYrNXV2CmJn
239 czlKam1mN0tHTnM1SFY0cXlSQXdXL0lDUHZSS0lYTVBHb3ZIZUNZelZ1eXM5ZngvZ2kxU0prQWFx
240 TXRaN2x3QlprY2F2R0VQQXgKTXRjdFlxMGIycU45d0MxT1RTNDF0SHAvMCtxMjFHT1c4NFhJWlF0
241 NUFEc0w1enFBaHpUT2xHUksrMHVSVWIramRMeVl1Smg2ZGlCdgpBdGFZaHJ6RWQ1dlNUNmF3Ylpm
242 MjBjWnBsVXNObWRJK1JuK3oxSjBwN1lQcXJvMWFnOGlJdVFLWUMxd0NmRit3VzBHOGxXd3RnOGlL
243 CjlCYmdjbUJsL3JjVytMbGdFMVBQTHNiZjhnVlpGWitkeHhTRGRta2ZuemliblVzdHNmcGJsYnFE
244 NnE1TlQzWWhJK00rNUJIWkpjanEKNm1yZ0dDUTVtMnppRGVJd1pPN1lnOXdETDNObHZvMnQ1ejdr
245 bTJNTSthMkJOY0NmeU10N01XaVg5dkdKczltNTFCQ3p2MVdwMjZ6dQpibVFGdFRhUWRBS24wcHdm
246 UE1rYzdRNEJMcXp6TjdkZ0cxdFBOL0lOVS92TmdWYzlmR1RLK2xxOWZjQXZUb3RjYXNnYzdXTDNO
247 eXZkCm1VZVpadWZjbk5HcUExQ3dFcml6c0g4bXNqQzIwTU5YdStpT0ZhZGxMalZVblhkcjNSbzlW
248 ZVhjblA2cUExQ3dHL2dnL3p3RHVRVzMKd2ROWHUraU9GYWRsTGpWVW5YZHIzUm85d1hXWFY0TVRq
249 WGtFbWFQK2hOeTZlb3Z3bndhWXFrelZYRmFwZTZybXZISk9SdDV3VElOdQpPRk0xbDFYcW5xbzVU
250 eVFTaVVRaWtVZ2tFdjh2L2dOSTlna3IrVWRUU2dBQUFBQkpSVTVFcmtKZ2dnPT0K
251 </png>
252 <latex>$$x^{3} + 2 x^{2} y + x^{2} + x y^{2} + 2 x y + y^{2}$$</latex>
253 <prompt_number>8</prompt_number>
254 </output>
255 </outputs>
256 </codecell>
257 <codecell>
258 <input>a = 1/x + (x*sin(x) - 1)/x
259 display(a)
260 simplify(a)</input>
261 <language>python</language>
262 <prompt_number>9</prompt_number>
263 <collapsed>0</collapsed>
264 <outputs>
265 <output>
266 <output_type>display_data</output_type>
267 <text>xβ‹…sin(x) - 1 1
268 ──────────── + ─
269 x x</text>
270 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUhVQUFBQWVDQVlBQUFBU04xRWxBQUFBQkhOQ1NWUUlD
271 QWdJZkFoa2lBQUFBeUZKUkVGVQphSUh0Mmx1b0ZWVWN4L0dQRjlTZ2N4R09jaUlVSXpXRm9CQ3Bp
272 Q2lTeW9KZVNqSXhFVEZRb2NTWFh1b3Q2TG1ISG9JZ0tIenNZa1VoCkpoVlIwSk5CQ3FGb2lBb1Jl
273 Z1NGRkV3dGUvalBoam5qdnN6ZSs4eWVPZWZNRnphc21YWDdyZjkvcjFuL05XdW9xZW1TVWR4UnRv
274 Z20KTEMxYlFCZFVUdXQzZUtGc0VTa1c0MVg4VnJhUUhQU3NkZjdVYTVuRU0vaXY0RDd5TW9TdEdN
275 YWlrclYwWWlCYVJ6Q1dwRWN4bnNvYgp4dkltZGNZd0wzUHY3bFI2U2VaNkR1N00yZTlJTHRYTmVS
276 WW4rcWcvU0hyU21tZW12b1JyZUVRWS9uZnN4VzVzd01XazQrZndRVkxuCmViR1c3a3p1d3pheFBq
277 eUFIM0FhMi9Fejl1T0pKSjJuMzFFY3c2WHVoanM3Nk9UVXBiaU9yOFVzZWdWdmlkbnpCejdGK3FT
278 ZGZjS3AKQzhWTU9wdWtHeXpDVWJGTzdNSS9XSmZVM3k4YzlXL09mcThLcC8rRU40VFRXL0Vlem5V
279 WTU2emxmYnlXdWZjNWJnampyc3prZlN4bQpaNXAzOEdicStrQlNaZ3didStpWCtIUDB3b3gvL003
280 dG91eFQ0ckVKcTNFUE5tRUZUdUwxVk5tUnBQeG51SzlGRzhONEhGL2hYcTBECmdteS9EYkxyZFUx
281 Q0o2ZnV3YnQ0U0FRMUowVmt0aG0vQ0VmOEtkYTM3MVAxbnNhM1dHWnljTE1LUjVMckRmaFJQRjdI
282 VFE1K1d2WDcKYUtyTXRWd2p2SjA1MmordSsySHVGTGZkazlaTy8vWWhzVithaDQvRUZtVTVQaFRy
283 MUlQSjlRVWNUTldid1AyNGlVUEp2UlZpSFcwNAovenpXaW5YM0N6RUxqK05XbTM0L0VldnVZL2dW
284 ZjNjNTFyZEZFTGRBQkd4d3FvczJPckZUalBONG4rME1RdXRBbUMrQ3BUd3NLVkpJCkgrekJsckpG
285 ZExPbUZzMU5YTTVaZHFKSUlkT2RLam0xWm9wbzdGTnZsYXFpK2hRUldCVm04NFpUaTRvR2ExcFRt
286 TTFyWi9iR1ZyRWwKeTdKR3ZBazczU1R2UzN4VHBLZ0d0Vk43NHk2VER5TWF2SWdyT053azc0eDRU
287 MTQ0UlIrOXpWVCtTbjVaMW9zSS9raVR2SUZScGVpMwozZkhlYktSbmUxUmxwclk3Wmp0YW9xNnk2
288 TXNlVlhCcXAyTzIyY2FNczBlclk3YnB3bTY4UElYdFRYZDdJRTVqMWlicDFlMEtWcFF4Ci9YMXFr
289 MlhhMmlOOXpIWlZuRkFNWVVlSm1zcWtiM3RVWVovNkpCNFdSM2tYeFJjVWw4UlhGZGRMMUZVV3RU
290 MXFhbXBxYW1vcXd2OFkKb1ppay82UzJTZ0FBQUFCSlJVNUVya0pnZ2c9PQo=
291 </png>
292 <latex>$$\frac{x \operatorname{sin}\left(x\right) -1}{x} + \frac{1}{x}$$</latex>
293 </output>
294 <output>
295 <output_type>pyout</output_type>
296 <text>sin(x)</text>
297 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQVNDQVlBQUFBZFpsMjZBQUFBQkhOQ1NWUUlD
298 QWdJZkFoa2lBQUFBblZKUkVGVQpTSW50MWtsbzExY1FCL0JQaktsYlJhcWlndEZLMGtRd2l0aUlR
299 bHhBMGlXQ0lvcEtMMExkd0FWQmlCc2VGQThpYUE5aWdyYmlvWmNlCmhOQkxDL1dnWUtIUXFsRlJY
300 TkJhcUJzcVZuRERoV2oxTUMvdHk1Ky9IaVNRZy9sZWZqUHovYzk3TS9ObWhqL3ZLVDdIRFZSMWRT
301 QTkKM3RGdkdNN2hlaWZHMG8xdWRBVktpdGcrd2pZOHdCTzA0WnZFZllaWnFNWWkzTXY4R2pFZHQ3
302 QUNNekZSekVzVmx1bzRNNE5RaWVOaQpGamVrdXl2d0xSNWlHVXJSaXQvd0hIKytMYUVldUlpeFNh
303 L0VQeW13MGRpYzdHZXdKdk1ia3hJWWdGZlloNGFNL3huN0MrNWFuTW5iCjB4bFFKd3B6UUJUNEtD
304 NGtia094Z0hQVVlTVCtUdnA5N01BSnJNUWVVZEd4T2xaelBscFFudlJMT0pUeEpSaVM2UVB3YjVK
305 cmNEc0wKOGdNTXhQZWlHRDlpZGVKT29iWXdpUnhqa3ROZmFNSzBqS3RJMzAyNGc3S01xMHpmVlhp
306 RzNnWG5Yc2VXVEsvSHBDUVBSWitNV3kvYQp0N1JJZkIrTFFyNFZ5M0V0SmZLcXdLRUVWN0R6RGI0
307 dCtMWEE5bWs2cHk2ekxmUi95eFRpRjlGeXhWQ0tyVzhLdkJBMW90ZGJNMXQ5CkNxWmF2TUNJakN2
308 QlhiRUFjdXdVU1JOdDlDRyt3SmRGN2l6REk2ekxiSDFGMjByMzVWeUhHZmdPcHpQOVBBNktvVzdI
309 MTJJYlhNWlgKR0o1eDR6QllERjJPUmZnaHlSdnhVdlR5SjhsV2o3VkpucG9TUEpuNU42SlhrcXZF
310 UEJaTm9FWU1URHVHWURaMlpiWnlIRUYvVE1BZgpHVGREckxuZk0xdGZzUm9QaTVhNWk2ZGlzL1VU
311 cjlhTU9TbVdKV0lEdlVqK3RlTEZyeVo5b2lqZ2Y4Z0g1WmdZa2daTXdYanN4dG5zCk43ZXdBS01T
312 OXpqajVvcnQxWkxaMmxJdzg4UjJhUkl2UU16WkpQR2EvVVN4bXZHVFdOR1QwUk43azg4NDNCUi9J
313 cnZSamM3Q2E1bk8KZmowTHpCZHJBQUFBQUVsRlRrU3VRbUNDCg==
314 </png>
315 <latex>$$\operatorname{sin}\left(x\right)$$</latex>
316 <prompt_number>9</prompt_number>
317 </output>
318 </outputs>
319 </codecell>
320 <codecell>
321 <input>solve(Eq(x**3 + 2*x**2 + 4*x + 8, 0), x)</input>
322 <language>python</language>
323 <prompt_number>10</prompt_number>
324 <collapsed>0</collapsed>
325 <outputs>
326 <output>
327 <output_type>pyout</output_type>
328 <text>[-2β‹…β…ˆ, 2β‹…β…ˆ, -2]</text>
329 <prompt_number>10</prompt_number>
330 </output>
331 </outputs>
332 </codecell>
333 <codecell>
334 <input>a, b = symbols('a b')
335 Sum(6*n**2 + 2**n, (n, a, b))</input>
336 <language>python</language>
337 <prompt_number>11</prompt_number>
338 <collapsed>0</collapsed>
339 <outputs>
340 <output>
341 <output_type>pyout</output_type>
342 <text>b
343 ___
344 \ &amp;#96;
345 \ βŽ› n 2⎞
346 / ⎝2 + 6β‹…n ⎠
347 /__,
348 n = a</text>
349 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUhnQUFBQTVDQVlBQUFEOVlPOGJBQUFBQkhOQ1NWUUlD
350 QWdJZkFoa2lBQUFCNU5KUkVGVQplSnp0M0h1d1ZYVVZ3UEVQOXdVSUJnaHBrS1h5U0lRSXpNbWdx
351 R3l3eHdSVU51TmdRelZJMDBSUHBiU3dtbDZXdlN4cnhvaWlzZElhCnpYQWFLcHNzU0NJekozdEtw
352 aFdCbFdFUnBXVStRZW1QdFk5bjMrMDU1NTZ6OXo3QWRmWjNacy9kKzNkK2ozWDMrajNXYi8zV09W
353 UTgKcHVrdFVIWVdqc0c5dUw4Y2NTcktwcWRBMlNkakU1NVlraXdWaHhoUHdGOFB0aEFWclNreVJa
354 K0doN0FGby9CQUdRSlZsRXNSQlorRAovZGlGYzVPMFB4U1dxT0tRNFhZY25kd3Z4ZWFES0V0RkUv
355 SWFXVS9GYnFGa21JbjdTcEdvb2xUeUtuZ21mcEY2ZmlrMkZoZW5vbXp5Ckt2aEc3RTN1RitGQlhG
356 S0tSQldsTXFKQTJkTXdFWWRqcmNxS3JxaW9xS2lvNklSR2EvQktITkhGTmpmalYxMnN2eUpGSXdW
357 L0I0dVQKKzN1eFRuaXNXakdBc1JpVC9CMHJPc25zQm0xc3hxazU1YTBvZ2NuQ2liRS91YzRwVU5j
358 a3ZCSmZ4dDlTZGM0dUptSkZVVjZNaDRVeQpIc1F6UzZyM1ZiZ1RueStwdm9vQ2ZFSjl4TzNFdUpM
359 cWZSSzJZMEpKOVZYa3BCOC9VMWZ5aGhMclhxcCtBbFZ4RUptSy82Z3IrWTBsCjFsMUZnaHdpbktH
360 dTRQc3d0OHZ0bllmanV0ekdZNDJKWWtuTnpSZlZsZng3c1EzcUJtL0RpaTdWUFJ5WmlsZUkwN3Vo
361 T0JkbjVXM28KTU55c3J1Ukw4MWJVZ21jb2Q1MGY3cXdRVHFkNXVFcHNOZnRiNU8vSE5yd3diNE56
362 eEJSZFUvS1plU3Rxd2c4eHYrUTZoeXQ5K0ltWQplb2tUdTcxNHlSRGxGaW5vSlh5RHVvTHZ3UWxG
363 S2t0eGlqaGp6c3RDMFFFSkcyR1ppUG9jcm96RXI3RWdsYlliWjdkUjl2dGlOc3pOCkJuVWwzNFRS
364 UlNwTHVBZ2ZicERlZzlVaVdtUUxQb0labVR6emhldHptK2lBTTNFc2JpbEJyazdvRnpiRUpmZzAz
365 aXVXdGpLWUpiNWMKME01YS9IRjhvVWhqNDNHYnVwTEw4RXJkakpjMVNMOFNxMFJZN2hHNERIdHdj
366 aXJQVWhFZHVrZDgwNElJQnR4VmdsenQwb05yOGM1VQoyZ2JSY2N1byt4cThwczM4cjhPL2l6YTZR
367 S3dKKzdGUFBib3lENGNuOVV6TnBDOFdDazB6UnZpMGQyYlNUOFlOcWVlVnVLS0FUSk4xCkZzNjBX
368 blRHR3YyNFF6bGhUQjhWTVcvdGNvcDRuK09MTnZ4QjVUZy9aalFSNkVMOEVjL0twRitaNUorZVNq
369 dlA0Q2wrcytnZ3o1WXYKTE9sek9MN052TlBGcWR0ek11bWpjcmFkNXMwNEtibnZGMXVtb1pnaTNz
370 OWM4Z2ZkUFM1cDdFSVJqMVdFb3hLQi9wdEp2MXU4dkt5Qwo5eVIvMHlOK2tiRENhOHpCOVNLOGQ2
371 aWp6a2FNMEw1eWxnbWo2SVpNK3YwNTI2NXhOcDZPRjJDTm1PNzN0aXdSN0JJRzhER0VPZDRwCmZX
372 Sjl1UVh2eUZFK1M2MlRqVFE0dHZwOGZCZS96T1N2R1JycHNOMnI4ZVBVOHdxOENGOHFRYjZobUlk
373 L2lSbG9sUmhCQThJZzNKN0sKTnhWdkY0UGpQZmluTUFySGl3NzVHYkdPRTQ2a3A0bDNremFzZnQ2
374 bVRQdkUrOHpGZXJGSEc1VzNnZ3d6UlUrZk0xUkdUQlBDZjYyawp0cHV4VG5zV0s3R00vRU1zRTdW
375 M2NxbzRGajB4bGU5aWNTTDNMWHdUNzFjL1VWc21mUDVGdmtwVTQwanhQcCticC9BYThROU5La0dR
376 CkdoTVNnZHBaWDc0aExQZ3kyMjlFSndxK1M4aWZkZExjaUszSi9TUjhMTG5mZ2gzQ1lLeXhKS25q
377 cUJ5eVpsbVkxTld1RGZFSXA0dk4KZG5ZZldnWTdST2RweFVyODJZRTVpT2hFd1R2RTJwaDFJMTZo
378 cnJRanhkNjh0Z3k5SlpOM0RmNmVVOVlzWjRwdFVpL3RyOEVMeE9aNQpzUmpCWlRBVy8wdnVyOUc2
379 NHl3VW9VUFBFeU80TE5ZS1F5YkxjV0pFTnZybGd0WDRhZXA1bC9oZnNnYlEzY25mNldKSkkrUWZK
380 VVp4Cm1pWDRVYnRDRDhFTThjWDhoOW90TUZYMHJ0TkxFb0FJQVVwdmF4Wjd0QlZhWTdwNG9WTlNh
381 VFBrbUlJYTBDZGVlUFphTDR5Y1JwOWwKK1pBSWE4cGEzWmVLc0tlSnFiUVBDT01xbmZkb29ZeWx5
382 WFBSL2V0R3ZMcmR6Qk53cTNLakx3N0Rid3llQWtjSUozbjJKR1FpdnVmUgpqcFEzNmU2NWRDZFQ5
383 SHd4Rldkbm9LMzRiWU8wcXpKcDd4Sks3eE1XK2VzN2tuUXdKNHJqM0ZhblRvOHdJTXoyb3Z2Y05D
384 ZUpEdE5vCnRDNFJ3ZzBrenlQRkM3bE1qSkxhZFlId081ZmhBMjlHSndvbVJ2eG5VOCt6aFJXZGRx
385 bU9GdC9meXE2L1g4WGxvcE5mSlAvdVpJU1kKNlphM1crQXJJa2E2aU9rK1FpajEzVUpaKzBSdlg5
386 VWsvMXJSb3hrYzlKZTliaXNnVXp0MHF1RFJRdmFOU2RuTGhZTWl6VnloNEdtWgo5T2VMRHY5SjRY
387 bkx5MnVGWVRkb3FXam1yWG1mVU1vRjZvWlFLM3JGMURzbWRZMFR4dG5qTTNrZkVFZDVkeldvcDBl
388 OG9QT0ZnVE9tClFaNWFIWGUwSVZkZTFva1RvVnM3TE5jamxIMVBrOC9ITlBsc1FIVCtoenRzcjhZ
389 NDRWNWRJZXlCbGl6WGZPU1VjWDE5aVBaN0ZmREMKbE1URkJ2dTZEM1dhdnJOR0kvamx1dXRJdUU3
390 bkkrTkFNMXIxa3hRVkZSVVZGZDBsdlFZdkZDY2EyNFJKUDFPNHo5SSswaE8wM2pidApGeitHbG5Y
391 YnpSYS9iWG1kOE12K3FaRFVGVzFUVTlaOHNjMVpuenh2RjQ3OUg2aHY0SHZGTWRoa3NjMXBkdTFV
392 LzBHV0FXRTEzeVNjCjhwdUVNK04zM2ZxSEtoclRyY0MxZFFZSG9tM1gvYU8raWhTMTA2UnZDN2Rh
393 YmVRU2Z1R3RtZnl6dEE3elNVL1JvOFhHK3luSlo4ZUsKMktVOWpRcFdkSWYwY2VFaWczOXZjamsr
394 SmR4bjF3dkZ6ak8wZ204WGEvbnh3bHYxbDFUOTF3cUYzeWtjN0JVSGtFMUNDVFYyaTlPawp2S2Ni
395 UFdMdDdSUFQvZFY0cStaKzZJb3VzMXI5SklmNEhzd1ptYlJPbVNKbWdtbkNYM3FXenB6NEZSVVZG
396 UlVWRlJYRGt2OER4SVdSCkNuc1FoM01BQUFBQVNVVk9SSzVDWUlJPQo=
397 </png>
398 <latex>$$\sum_{n=a}^{b} \left(2^{n} + 6 n^{2}\right)$$</latex>
399 <prompt_number>11</prompt_number>
400 </output>
401 </outputs>
402 </codecell>
403 <markdowncell>
404 <source>&lt;h2&gt;Calculus&lt;/h2&gt;</source>
405 </markdowncell>
406 <codecell>
407 <input>limit((sin(x)-x)/x**3, x, 0)</input>
408 <language>python</language>
409 <prompt_number>12</prompt_number>
410 <collapsed>0</collapsed>
411 <outputs>
412 <output>
413 <output_type>pyout</output_type>
414 <text>-1/6</text>
415 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNZQUFBQWlDQVlBQUFBenJLdTRBQUFBQkhOQ1NWUUlD
416 QWdJZkFoa2lBQUFBU3BKUkVGVQpXSVh0MTc4clJsRVl3UEVQWGlrWkxINE5TaFRLb0F5eW13M0tQ
417 eUpsc0Jzc1ZxdkJZREl3Q2NsL2dIcFhyOGxpRVlXTjRieDBrM0t1CnpzbXI5MzdyREdkNDd2UHR1
418 Yys1enoyME9ZTi9MZkNWVVd4anAyeGdMYjNMSnpPWXh4Q2V5Z2JuRktzMzF4VDZ5d1ozSnRkSlJD
419 VlcKbHJZVzYyaXVVblJsRVBsZ0hPdFl3TEJ3T3U5d256Rm5SZXRSdWltLzRTM0JNLzRQeFlwTlls
420 VjhGUnZZU203VXBDalJnMm54WWcrNApUUzFVOFZ0U25NcWZtQlA2dHc5N2VJMEp5ajByTnpHQ2ZR
421 eGdMWE8rS0JaeFVOZ3ZDM016aXB5dmNoYzN1TVlZcm5DZU1WODBkWnlpClZ5akFNVlppZzNQMldE
422 Y3U4U3lNclJOc3hBYm5GR3Znc2JCL0VmN0xvc2dwZG9pSnduNFlGeG56UlZQREVaYUVpKytaY1Bs
423 dEdXYUYKejBUTFhud3EycE4zeXVnam5TelN5dGNBQUFBQVNVVk9SSzVDWUlJPQo=
424 </png>
425 <latex>$$- \frac{1}{6}$$</latex>
426 <prompt_number>12</prompt_number>
427 </output>
428 </outputs>
429 </codecell>
430 <codecell>
431 <input>(1/cos(x)).series(x, 0, 6)</input>
432 <language>python</language>
433 <prompt_number>13</prompt_number>
434 <collapsed>0</collapsed>
435 <outputs>
436 <output>
437 <output_type>pyout</output_type>
438 <text>2 4
439 x 5β‹…x
440 1 + ── + ──── + O(x**6)
441 2 24</text>
442 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5vQUFBQWlDQVlBQUFBNTNNZXZBQUFBQkhOQ1NWUUlD
443 QWdJZkFoa2lBQUFCdU5KUkVGVQplSnp0M0d1c1hGVVZ3UEZmZTN0YndOWUEwa3NyaGx4cktLaTBo
444 VWFEMU1aUUlNWTNYMnBpYVZIVW9vQlJCUEVCRW53QWlsSHhVUko4ClZMMGh4bmZ3RVlNMUFoODBZ
445 cUpHZ3lncUZnU0syaUtoUGlCdGxiWitXR2ZzNmR5WnVUUG5PUVBubjB4bXpqbjduTDMybXIzMlkr
446 MjkKRGcwTkRhVXpxMjRCK21BQ0Q5VXRSTTBjaHVQeHVQalA5dVBPV2lWcWVNSXdnWGZpaDNVTE1n
447 U3N4bCt3WGVqamxIckZhUmlVT1hVTAowSVduNHhVNEdtTVY1SGNpWG9uNW9pTC91SUk4QitWMXVL
448 Vm1HUlpnTGI1VXN4eFpXSTFmNDdHTTk4L0NNM0UvOW5aSk00bHgvQ2xqCkhyV3hVZm1WNnlSY2h0
449 bkNzTy9GZVNYbk9TaXJjYVpvZ0k2b1VZN04rSEtOK1dkbEZhN0ljZi9iY0RaZUpCcVo4UzdwWnVN
450 ck9MTFQKaFNjNzUrS3AySWNkbU1JbE5jclRqWFU0QWEvQkoyckkvK1g0VnczNTVtVWhMc2VITTk2
451 L0ZvY0xBN29EWjJGUmw3VDd4SC96VFczRwoyQmdhM3hQRGdSYVA2OTVpMWNWOStDQnV3dzFZZzFk
452 Vm1QL1JvamY5VllWNUZzV1ZRbWZkaG5zenNRbmZFTWExWC9SVzIzcWsvNFVZCk9wN1R6OFBuNEpN
453 WkJTdVNLb2FPYVdiak4zaHJoWG4ydzNGaS90amlWdFgrUCs4UnV0bWczcUhqTS9BdUhJSzVvcGZm
454 aE0rSk9mM2MKdHZTTDhIdlp2ZXRMaEhHZGd6TndMYTdxNDc2bjRXY3pKUnJIVjVNTTZxWnFRN3NT
455 SDZrd3YzNjVDMjlNSFcvRFJSWGx2VTQ0QWFqWAowTmJqUjRrc3A0cDZjUTIraTEyaXZuNjI3WjdY
456 NC9NNThqd3plZTRaeWZGc01iMDRyWTk3SDhDS1RoZVc0UHU0UFVtVXg5Q0s4aFNlCkoxcnZLbGlQ
457 ODVQZmVlVXYybE42b1poSHd2UHhaOTNuQ1VVeUlScmRqY2xuczJpcE44cmVTMlRSelRWaTNqTW1E
458 TzEzZUZicStsSTgKS3Vyc2FhbnpYeGV5WnVYazVKbUxVK2Z1MEYrdmRxdFlucHJHUEFlNjNpblpE
459 ZTBZMFpYbjRRaGNqUzM0T2E0VG5yZXllSWtZZXJTNApQTWV6aWloL08yT2lkYjRFSDhXeEJUKy9W
460 NzVIcFQ0ZkVoWCtxSXpQeTZLYjk0bWViRzRpeiszQ0lkSE91MFdkVFhzWDc4VHBnNHY1CmY4YnhE
461 MkhJTGU3U24vRitCdGUzRHRMcmFIdHlDSlJtM1BTeDhxRHNsTThkT3docnhHVDVmbHdxV3VvZE9a
462 NVhSUG5iMmF1ZXRhdTkKZURqNXZVVDBJc2VLbnU3aGJqZjFZRkRkckJDTjNuUHhIM3dBL3hiRHhY
463 WittbndmbHpvM0lRd2xLLy9GcDBVamZKMXdDTTNCZC9xNAo5MjVSdHpDOEM5WkY4V3pobnAyUEcv
464 RkhNUXhiSW5yTExXSjhmMW5iZmZkVUtHTmQ5S09iTkNmZzI4bnY1YUpsTDV1UEM0L2ZWdEdiClBh
465 aHpiOFlCVDJCNnU5NENZYURkNkVjSDc4ZGJ4R2hpbGhqOTlOUEliQmVHM3BNcDJZZU9rOG45ZFhP
466 cWFBRVB3ekt4aGVrR3JCUzcKTEI0VjNxdWltVFFjNWUvRktPam1GRkVIMS9hWnZ1VzRlSFBxM0lP
467 Nkw0T1VyWVAzNHViV1FkMDlXaG1lelZuQ08vUmFYSkNjMnlxYwpCenZGV3REWnVBbTdTOGgvRU9y
468 dzdJNFpEZDA4TC9uK1E1L3BsNGtGNDdTWGVvZUQ1MWN0cXFnZlM2V21JSFViV2xuUkF4TU9iam1Y
469 CkMrWGVsQnhmV2xLK2cxSkg5TVFpbzZHYlpjbjNJMzJtUDB0NHpkUEQvbC9xYkdoVjFJK2xZamlL
470 ZklhMlhPd0JhMmUrNkg0M2Q3aTIKVlN6NmxjMzI1Tk5pRGY0cE5wVVd4VENYdnhlam9wdldBdjBL
471 L0hXRy9GNHNocHFyMnM3ZmpJczdwSzlDQjB2eGc5WkJIa1BiS2x5WQo3U3pHVTdwYzI1a2p2enlj
472 anAvSXZnMm5FNk5VL2w0TXEyN3VUcjVmS0ZWaE8zQ28yTWQ0dnVtR2NncytKdFlnZSszVExGb0h6
473 eEh5CjN6ZFR3aW1qN1F5Wkp5YTdoRHY1TVFkN0ZrOFdtNG5MWUZMOTVlL0ZxT2ptSkRIbjJtMTZU
474 OVZpb1RDUVRyMVdpNHVGaXo1TjJUcTQKVGNxMTM0c3BvMjFvWHhEcmd2TkVTN2RIVEg1YlhLKzhq
475 Y09UNmk5L0wwWkpOMThVOWZBaHZFRXNlQlBEc2d1RWtjMVVvZWVKbm01bAo2bHlaT3RpQWI3V2ZU
476 QThkRnlTWkhvTlhKK2UyaUpYNDFnNk5Lc2tUakhsdmNzK0ZZb1BuZXJFM2NFeTBWamVLeGNoaHBw
477 L3lad25FCkhDWGR2RWtZMlR1RWNSRE9rWjM0bEppYjdacmhHWHZ3VXJIZ3ZFSDBrbVhwNEhDeG5M
478 Q2hWNkpEeFFwNHAwOG56MDAzSnVWdjBZc0kKeGp4UnZHZWp4WkVPZUxMS1pGSjE1YzhhaURscXVq
479 bEU3UEZjSlh2ZzYySlJ4MXVVb1lPRm92R2JScnBIMnlYY28zblpMLy82MExsQwpudlpnekVGMll2
480 KzI3ZmdSL2J1SzgxQlYrVnVCbUZrV1ZVZE5ON3RGbkZjZS90WjJYSVlPL3Q3dFFobUJuOXRFa0dJ
481 ZVJpRVlzeHRWCmxIOVVBekdMMEUxRFNReHJNR1pWZENyL3NBUmlOdlRKS0x6SzRBcXhqcktwYmtG
482 cW9yMzg2MFNjMWI3YUpHb1ltQ3BlNVphSDlXTFkKZEsyUWRSaWl2cXVrdmZ3TDhmYmsya29SbzNl
483 ODJNcFY1SzZHaGljUlJRWmpqaUtkeWw5MElHWkRSZFM5cWJnYlJRZGpqaHJkeWw5MApJR1pEUlF6
484 cnUvZGZJTlpjMHR3anY0dDNWT2luL0M5ejREMGk4TFdTWldwb2FHaG9hR2hvYUdob2FHaG9lRUx3
485 UDZkNXJ3ekdpM0JICkFBQUFBRWxGVGtTdVFtQ0MK
486 </png>
487 <latex>$$1 + \frac{1}{2} x^{2} + \frac{5}{24} x^{4} + \operatorname{\mathcal{O}}\left(x^{6}\right)$$</latex>
488 <prompt_number>13</prompt_number>
489 </output>
490 </outputs>
491 </codecell>
492 <codecell>
493 <input>diff(cos(x**2)**2 / (1+x), x)</input>
494 <language>python</language>
495 <prompt_number>14</prompt_number>
496 <collapsed>0</collapsed>
497 <outputs>
498 <output>
499 <output_type>pyout</output_type>
500 <text>2
501 βŽ› 2⎞ βŽ› 2⎞ βŽ› 2⎞
502 4β‹…xβ‹…sin⎝x βŽ β‹…cos⎝x ⎠ cos ⎝x ⎠
503 - ─────────────────── - ────────
504 x + 1 2
505 (x + 1)</text>
506 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5zQUFBQXJDQVlBQUFEeEVmMVpBQUFBQkhOQ1NWUUlD
507 QWdJZkFoa2lBQUFCdEZKUkVGVQplSnp0bkhtSVZWVWN4ejh6by9QVXByRnlHd2ZGYUZFelRVcEpJ
508 OE5DSXpHTE1qWE5tZ3FtS0dtRHNFSmFuaEpoQ0VXMjBVNkcwb0pGClJWSlVmNVJoV0xaQlZtQmxr
509 S25oUWd1WnFXbC9mTy9yM2pmejd2cnVlK2U5Ni9uQU1PZmVjOTQ1di9PNzkzZk83NTROTEJaTFZX
510 Z3cKTFlCaGpnRjJSMGpYQk53T0hBVCtBUjVNa0VjYTFKdTgxU2FvM2w2c0hxdk1SR0J5eExRWEF5
511 YzQ0ZGM5WVlEemdmRXB5dVZIdmNscgpncUI2RnpDbXg4WTRpVE5FRGlucmc0anBqd2N1ZE1JL0FN
512 TTljVzhCTndPdHFVblhuWHFUMXhSQjlRYXJSeU1zQUU2TGtUNEh0RGpoCmQ0RzJMdkhqZ1d0U2tN
513 dVBlcFBYRkdIMXRucE1pVGk5OUtxRVpad0RMUFNKZXp0aG5sR29OM2xONDFkdm8zck1paHM1R2Zn
514 MFl0b2UKUU84RVpSd05uQWtzODRrZlFHWDBXVy95bXNhdjNsYVBLZEVNOUl1WXRnMVlrYUNNRzlB
515 RE93S1lVaUwrVldCd2duekRxRGQ1VGVOWApiK042ckNXTGJQS0VlL2lrOGJ0L0FOaEY5Nm1NVXVs
516 YmdiMHhaZWdBN2dPMkE3ODRmMTNaaGxxNXNIekQ1T3Q2ejRTOHBvaWpwMUwzCmcrcHRYSTkrbGFn
517 bUxhaFN2NlB1K2t1Z0hiVWtCVDk1QUhBajhCVXdDRmpwcE8vdC9QWnNZQ2t3M1FrdkFZYWhEOXhM
518 Z0JtZThuNXoKNHVMSXNJTHdWbkdJOC9zQ0RiaHpOSnVCbnVpYm9RbFlCUHlGR29rVGdadUEvajUx
519 ckphOHBvaXJwMFA0dnc5QjljNjZIaU54UFZJdwp3Q1pVNlF1QWVaNDBTNEM1VG5nWmNKWVQ3Z0Q2
520 b0kvVWVjaVZYSXRHblFyOEFSenB1VzVFU28wclF4aWZBNzA4MTAvZ05oYVhBMnVjCnNsYzU1UlY0
521 RDVpR2Z4MnJKYThwNHVvSi9IVVZSS2IxdUNBOENlQUtPaEQ0bGRLcld1YWpGdTVEMUZNVmFBYUdv
522 am1RSERLODNiZ0sKSEFYOFdDSy9OeW51MWFQSUVFUUR4YU5TWTVITDBleGM1NXkvU2NEM0ZMc3Q2
523 NEJMOGE5ak5lUTFSUkk5UWJDdWdzaWtIbWZqN3gvNwpNUTk0MlFrMzRQckJEVWhCdzREcmtKTDdl
524 SDZYQis1Q2J0aDVGRmMrajl6THZoUzNQaDI0cldRVUdjS1lUSEVyZkN1d3VrUzZlNERuClBkZHRx
525 T2NkVEhBZEt5MnZLWkxvS2V4OUNDSnplbXdGdGhETjJITEFHOGo5VzQxOGQxQnJWUmpoZVFhNHd3
526 azNJbmZDeTNmQXNVQW4KY0Q5d215ZHVJMm85TytuK0VmeWFjeStLREVFMG9LVThPYys5bVJUUDZm
527 UkJEL1JLNEVuUC9XZlJkMGhZSFNzdHJ5bmk2Z25DZFJXRQpVVDM2amY2VXcyTGdUMkFrY0c5STJt
528 YmdJalRROFE1d0t2cmczWW9NQmRTOTkwTUdOUUY0bE9JRm9HMm9WMXVQQmtpZUJuWTZjUU9kCnVD
529 OVFBMURnb0pQL3VjaFl3MlFJWWpaUytzK2VlOThDSndHajBSS2ZNY0Fyamh6am5MaXB3RWZvQXp5
530 c2pwV1cxeFJ4OVFUaHVnb2kKVTNvY2h6NTJseExmalRSQmtrbk9TdVJSemJLcUtXK3RVdmQ2YkVS
531 K2RrL3F4OWdzbHFxUjVxVDJBdVJQNzA4eFQ0c2xNNlExcWQyTwo5dm84RXBEbVVFcGxXYXBQdVp1
532 TTdiTW5QV083RTdnN0pNM2h2aXY4Y01ZK2U0cU5yUjJOc0VSVnpGWTBOekVOMklBN0FtakpMa25m
533 CkVRdkZ4cllYTGJpTXFzZ2R6djg4K2xicjlNU2RncVlWT3RIWkRTK1VKYVdsVmtqNmpsZ29OcmJk
534 d0VzSjhsaE05L202RnVTbmI4Y08KbUdTSnBPOUl2UlAxSUNFanZJZ2QrcmRraHlnSENZV1M5Z3FT
535 VVdoOVlpZGFqN2dmemJ0dFRybWNlbVE0V25ObnYyM3JqeG5vK1gwTQpuSTYyMUd5S20wbmFtMGVI
536 b09WVEQ2QTFpdnVBRVNtWFVXdU1Eb2tmaTNTeE5rSmFTMjN5TU81YXpURm9XNDNGQVBtUStDRm9n
537 ZTBHCllGYkZwY2tHcHFjSy9Nb1BPdmdubEZvNkZxRldpSEk4UXh5MkFIdFN5T2R3b1IvYURWQXRo
538 cU5GODE1T1JudnF2SVFkL0JPS05UYVgKRnJUa2JDN3dHSEF0bXF4UHJGeExJanJSSVRybFVvNTcv
539 elVhZStqdnVUY2ZyZm4xTy9nbmxGbzRnNlJXdUFKNENnM3E1Tkc1RnR0dwpEK2tFdVlOblVPeG1I
540 SWUyZ1JUWWgzWVFXK0l6QW0yaFNXTjUxeXhrTkg3c1Fzc0w1L2pFUHdSY0JpekhQZmduajJ4bVlo
541 S0JyTEc1ClBJY01iU0RhQUxzT3U2YXYya3hIUSt0ZGFRTCtkY0k5MEFGQTViSWxKSDRuY2h1WEUr
542 M2duMUNzc2JrVTVnV25vTFBnRDZFZXJEL3UKU29nOXdQdGRmamVKZUx1RkxmNk1SRDFLZ1NnbnIx
543 V1NWQnRiYTJ3aWgzWUlYNDNjajArYyt6TlJEMWN1UjZGNXg2R2sxekpua1Y1bwpsVWFCS0s0OVZN
544 NjkzNHZHTlE2R0pZeUNOVGJSaUI3b0hPQng1TTUwQUQraGgxc09VMUh2dHhJWjNDSTA2UEozbWZs
545 bWtRTm9OSEtYCmMyM2F0ZTlMU29abVNZY0pwZ1hJRUFzcFBmaVE1UFNyZk1ReWcrWS8weGdWL1I4
546 NzlGOCs2MDBMa0NIVzRBN0RlMCsvbWdWODV0eWYKU1hvZVdWZjMza3NyOEUxSzVRRFcyQ3kxeFVZ
547 MG9keUw3cTc5SU9UYTc2QjgxeDdrM3Q5Q3NYdnZQY1JuSVpwdnRWZ3lTenR3VlFyNQpsT1BlajhC
548 Ly9zMWl5UlRONFVreVhiN0ZZckZZTEJhTHhXS3hXS3JNZjJsWHdmdG1Fc3IrQUFBQUFFbEZUa1N1
549 UW1DQwo=
550 </png>
551 <latex>$$- 4 \frac{x \operatorname{sin}\left(x^{2}\right) \operatorname{cos}\left(x^{2}\right)}{x + 1} - \frac{\operatorname{cos}^{2}\left(x^{2}\right)}{\left(x + 1\right)^{2}}$$</latex>
552 <prompt_number>14</prompt_number>
553 </output>
554 </outputs>
555 </codecell>
556 <codecell>
557 <input>integrate(x**2 * cos(x), (x, 0, pi/2))</input>
558 <language>python</language>
559 <prompt_number>15</prompt_number>
560 <collapsed>0</collapsed>
561 <outputs>
562 <output>
563 <output_type>pyout</output_type>
564 <text>2
565 Ο€
566 -2 + ──
567 4</text>
568 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZnQUFBQWlDQVlBQUFEYkxCNlRBQUFBQkhOQ1NWUUlD
569 QWdJZkFoa2lBQUFBMUJKUkVGVQphSUh0Mm0yb1pWTVl3UEhmTmN5ZG1kenJaY1FZVjE1R2xEQjVu
570 YWJ4aGZqRTBBZ3A2WktSOFVXa3BQZzJFc3BiVW56d2JpUmQrU2dVClg1U1V1R1hTNUhVd0tDK1pT
571 eHJ1MFBIaDJidTc3M0Z1enQ1bjdiT3ZNK2RmcTczVzJucy82em5QV2V0Wnozck9ZVWl0TEdsYWdS
572 b1oKdzM3NHEybEZCbzBEc0E3YmNWYkR1dGkvYVFWcVlCUCt4RVNmeHoxQ2VJVHZpcDJEYU9DWHMy
573 dS9YTU1TM0NVTWV5UXV3Vlg0ak1FMApjTCtaeE9kNElXdXZ4TFBZUUd3Q1EzcmpjTnhTYUg4b2ZI
574 OXkyNjdEZzNnSzF3dWYxQ1EvNmQ4bU4xcW9QNHkzVXc5d0k3WmhiVlplCndiYzRKZlZBSmVpbmdY
575 UFdDSGR4UWtxaHgrQURFUjdsck1nRytrRzFXRHRGZlA0enprNGdwMXNPRmhOclRXckJtekV0WEVT
576 UlI5SEMKK2dveXQrR2dpdnBjamlmd3Z2akFkMWFVVTRZVnVCK0haTzN6TUVLYUtHS1pjQXViOFY2
577 aGYyZDJYWXQzUzhvY05YOUZsR0VxSy8xaQpLUjdEYTdMSUFaZksvSEFLQXorSjMvQm1XMysrVkxZ
578 bkdLUGZuSWFic1dxQit5M2NJeWJPTlRnMUt6bnY1SldSbWhSY2lpL3dlemJ3CmJNbjNwN0JGYkZU
579 OVpoSmJ4WXljd0Y2eEdzL0JKOWlkOVQyQ1hRM29oNGdMWjNGdXhmZW5jTmgvUE5PcXFUeGpMb1o5
580 d055UiswVnoKUHJaUlRzWU1MdXRCUmpjR3JvTmp4WjZTODNxaFhzblZGWDN3aWJoVjkyN2pTOXpY
581 MXJkU0dPZGF2TnFGakx0MTluTm40aUdSdENuUwp3cjBpQkt5RG5ZWDZlaEhMRTEvMnNuODkzUVZG
582 QTMrRngzVnY0TjF0N1ZHOGhOdUUvNElEc1ZyNHJrNDhoL0VPL2NlSnBUclQxdC9DCk4xM3ExeXMz
583 NEsyc1BvR2poTDBheVMrUDRHbGMxTlovUHE2c0lLOHBGNUZ6cU5pZ1YyZnRDOFdYVy9wa21pcWJ0
584 bFZFRG1NaVZVZHMKRkp1eWUvODNiaEpSVUo3Yi9TVzducTZCc1BNS0MrL0lmMk41QlptcFp2QUcx
585 ZklSbjVwL0Foekg5eUx2VzRvVU0vZ2piRnpnM2l6MgpKQmlqQ3VONEhyZUxZM01aTm1KSG9mMnJT
586 QVg4V0ZhSkZBYmUwYVpNQ3ZJVjBBdGI4SEhGZHp0OW5xK3JDRnFzQ2ZjN1JEYXNLaGZqCkRmeVJS
587 cDNxTEZZRDl4TG5yaEsvTWt3bjBxVW5GcXVCZTJGU3hOQ0xna0g3NDhuVjRwZmQ0M0VHTGhBSG9M
588 M3FPLzN0VXl3WDRWMWUKcG5HZHpxZkZ2akJvTG1LUFNISE80R2hoNUpQRWtiMFI2c29ITjgyWStj
589 ZjJYUXBKOENGRGhnd1pzbS93RDloWXFhWFRLRUtMQUFBQQpBRWxGVGtTdVFtQ0MK
590 </png>
591 <latex>$$-2 + \frac{1}{4} \pi^{2}$$</latex>
592 <prompt_number>15</prompt_number>
593 </output>
594 </outputs>
595 </codecell>
596 <codecell>
597 <input>eqn = Eq(Derivative(f(x),x,x) + 9*f(x), 1)
598 display(eqn)
599 dsolve(eqn, f(x))</input>
600 <language>python</language>
601 <prompt_number>16</prompt_number>
602 <collapsed>0</collapsed>
603 <outputs>
604 <output>
605 <output_type>display_data</output_type>
606 <text>2
607 d
608 9β‹…f(x) + ───(f(x)) = 1
609 2
610 dx</text>
611 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpvQUFBQXFDQVlBQUFCTE5VSmlBQUFBQkhOQ1NWUUlD
612 QWdJZkFoa2lBQUFCYWRKUkVGVQplSnp0M0dtc1hWTVV3UEZmbjdhcUxXcG8xRkJlYTNveHRZYVcw
613 a1JOSVVKUVFjUVVIMFJyNkJmRUdLS2ZLa1NNUVVrUVU0Z1lhaFpKCm41Qis0SU41bnFwRlU2Mmh2
614 Q3FDK3JET3pUdHU3L0RlN2J2bnZIdWRmM0p6enpsMzczM1dXVy90ZmRaZWUrMUhRVUVHRE1sYmdC
615 YmoKWEd5TXNiZ2MvK1FyVHV2UWtiY0FMY1JPK0I0MzRIZk16RmVjMXFJd3RMN1RpUk9TNHkrd1Mz
616 NmlGTFF6UTdCRmNud2JEczVSbHBhagpHTkZxTXdySFlsT3N4US9ZRHNQeGFvNXlGYlFaQitGRVlW
617 U3pSY2VjaXhGNUNsWFF2bXlDRDNDRzN0Zm5jZm1KVTlETy9JbzFXSmw4ClRzbFhuSUoyb1FOejhE
618 Qk94aUpNejFXaUZxYVlERlJtQ0o3R3ZqaGJUQVNtNGNjOGhXcEh0c0hFQnVxTnduN1ljR0RGeVp6
619 VDhCdEcKSnVkSDQyZHNrSU1zcmFiVDRaaFFmckY4UkRzTUwrQXNvZHduUksvdUM4ZmorYVNOTnpD
620 MFVVa0hBVWZoSldGc3hMTTloYjh6bHFQVgpkRG9VajRtbHVxcnNqeDdSZTBvY2djOHh1czROdHNC
621 cUVYTjZFRXN4ckVGaEcrR2NBVzd2VGx5UkhIZGhGWFljNEh2VUkyK2Q5b2NkCk1Rc0xoWnN4cjFi
622 aEY3RzQ3TnBvc1hCOGNaMGJuWlhjWUt4WWRCNVp1L2lBMHozQTdSMkUxOFc2NWpzNGNJRGI3d3Q1
623 NjdRL25DN2MKalVQVU1iU2hZdnErcU1Kdmk0VVIxdUllZk5tUWlBTkRkeFBhSEk0ZG10QnVYOGxi
624 cDQwd1RoVkRLL2xvSTBTUFdWdWg4a3JWZS9SKwpPRnlNQU44bHgxT0U0MXJKY1I2SnZmU21KM1Zn
625 SDR4SnprZlZmbzVNK1JOZjUzRGZ0dFJweWJuc3dmdGlUYStjQ1dMb0hpSFNZOUxzCmpTMkZIL01r
626 Sm90VW1vbDR0S3pzTEdIeHkzQy9pRTFkaGRlRUR6SlRLUGQrL0xVZXo5VHFaS25Ub2RoVi8vSVNW
627 K09yZnBSZmgvUHgKQjdaS1hac2hvdUZyc1hXVmVwT1MzNDlJem8vRStMSXlNM0ZTNnZ4Rk1WSnVL
628 WloxMXVMUTVCNG5OeUI3ZHdOMUJqTlo2YlFMRHdpago3T3ZuNWhweVYzMTFwcWZMdHd2cm5vOXJF
629 NEduNEQzc0tYcFZKU1luMzI4bjM3dUwwRUNhR1NMS1htSmJMQkNLV1NCNlhjay8zRU5NCmtjdnBF
630 SXFwRkdRZWxkUXJaNDNJSFN0UnlUWElrMm9qU1ZZNi9WZ1laZE1wajh2TUVUM25LREU4emhNemlv
631 OVZqeUZORnI3RWl1UjgKb3dwbDBnclpETHZodXVSOGxmOU9RcXJGaXJiQ1pTb2IydmJKYitYMGlO
632 ZExpVlpKWGM5S3A1bFJTWUNsdURzNTNrQU12UXRxdERGWgpiOCtqZmdyTkRHRXNDNnY4WG0zVVdZ
633 WXpxL3pXTFRwRXU1Q1ZUb2VKVE9HbSsyaHBReXRONXo5TFhac2lKZ0szMW1oakV1NUluZGVMCjl4
634 d3FYbWZmcHE0ZGkyZVM0M3JCNFN6SmF6TktWanFkSUdLay9URzBsZXJIVmRjaGJXaFg0bW94dXls
635 WjdJWGlnZCtzVXI5VEROdnAKM3JkYzlLN1NIMlVpSHNKRlNUdkg0SzFVK1gzRjJtcTYvbUNndEJu
636 bEx1R3p6c1RqR2R5M1UzWTYvVlFrRFRTZHRML3pKRDRVUStNWQpYQ01FdnJKRy9iMlQ3N1JTSHZi
637 ZlY5eDA0YWd1eDZWaTdXNjhlQzFQdzNraU9FbXM3VDNid0hNMGcwNzViRVpwVloxdUtsWUdZR29p
638 ClQ5VWxzeU54bzVqR1hxS3lFNXBtTHBaVXVENWRiM0J4aEJncGIwcmFKNVIyaTBnZVRBY2hEOUVZ
639 M1EzV3EwVmVtMUVHaTA3N3d4eTgKVXVIenN2VmNueTFGblo4WHI1YTh1YlNKYlc4blFqN05ackRw
640 TkhmbTR4dlJhNzdYRy9OcEI5Szduc2h1TTBvNzZ4U05KZktkTDVaQwp4b3ZYeXgyMWk3Y1VVNFdS
641 M1NUY2hpN2hSdndxTnFOODBxVDd0ck5PRzZZTDE0c2NzTUdhSDdXK2JDSW1SYi9JWmpQSy8wR25C
642 VlY0ClY4VFBDZ2FBM0pjbUJoRWR1QUFIaUxUdEhySDJ1NkpXSlRFYjNVYUVncDdEenNtMTJXSkVM
643 RkRzZ2lyUjZLNm5yWVdSUFNJU1JDOFMKZ2RReGluOXBWVkNCUm5jOWJaNHFjNitNb3V3RnJjc0RZ
644 bVdreEh6YzE4ODJsb29zRXVvSHV2OTNGRDVhc0JvZkpjZGRZb2E1VHgvcQpuU0IwK0tVWTJaYUk1
645 SVF6WkJQa2JSbnkyQkE3R1BsSnJBL3VKbFlaVGhXenpucWNMakpleG9nMHBuRWk0K1Voc2VlZ29H
646 QWRHdDMxCmxINHJGSk9yZ29LQ2dvS0Nnb0tDbHVGZkpDRTlsUmJtTXlNQUFBQUFTVVZPUks1Q1lJ
647 ST0K
648 </png>
649 <latex>$$9 \operatorname{f}\left(x\right) + \frac{\partial^{2}}{\partial^{2} x} \operatorname{f}\left(x\right) = 1$$</latex>
650 </output>
651 <output>
652 <output_type>pyout</output_type>
653 <text>f(x) = C₁⋅cos(3β‹…x) + Cβ‚‚β‹…sin(3β‹…x) + 1/9</text>
654 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVJFQUFBQWlDQVlBQUFCNERlMDVBQUFBQkhOQ1NWUUlD
655 QWdJZkFoa2lBQUFDVHRKUkVGVQplSnp0blgyUVZsVWR4ei9Md3U3S0xxa2hpQmk0cWVTaWlNd3VC
656 bzJLVWhaS1VUcnBtSnBHcjVodHBxaXJGak9pK1lMQWFKbWcwc3M0CmlvVm1qVzg1ak5vSVVWWVlO
657 aTRXaWFFbURSUDBicG1LMXZiSDk5eDV6bk9lZSs5ejcvUGN1OC9zNVh4bW50bm4zbnZ1dWVlZTM3
658 bm4KL043dXMrRHhlRHdlajhlVEVaM0ErOU9jTUN5ZmRuZzhuaUhHa2NBaTRGRmdScG9UaCtmU0hJ
659 L0hNOVI0QWJnTzZFcDdvcDlFUEI0UAp3S3UxbnVqTkdZL0hVeGQrRXZGNFBIV1J4SnhwQmM0SHhn
660 Ty9BSDZRYTR1eXBRM29BV1lDM2NBdTRBN2dHWFR2QzRBVmpXcGNETU9CCi93SURabnNxY0Rwd0FM
661 cUgxY0J2YTZpMzJkVDV2d3phV0N1RExaTTJZQWx3Ti9CVW5YVVZXUzY1OGtQZ0dpVGNWNEdSalcx
662 T0lwclEKeFBjeThHM2dUR0IvNE4xbWV3RVMrTmNhMWNBWVJnQjlsQ2I0YzRCYmdiSG1XQzhhYkor
663 cm9lNTJVM2NqYUpSTVRrQVAvb2ZxcktlbwpjbkZaamFJMG1YRTBtaUY3VUNkZG1XWGxPVEVSZUJ6
664 WUJod2FjbndZQ21NTlVQL0F5b1ByME1NVjhBSndnN1hkQk93RVhrR0ROeTJuCkFCZlUzRHF0bW1s
665 cHRFejJ5NkNPSXNyRnBoVjRKN0FCdUF2SkxKUEF5MWVBMTZpdFV4ckJ2bWlsMjRSV2lDaE9BOTRF
666 UmcxR28xSncKQk9VRHN4WDRCL0FIcDl4R3RMcStyY2JyM0lWV3Y3VDBBRmVuUEdlb3l3U0tLUmVY
667 THVBODV6T3V6am9CZUFoNE1vdUtCb252SXlGTwpybEx1TU9CbitUY25OY3VSOW1jemdmSVZjRGp3
668 ZHpSZ2EyVStNaC9TTWhQNUY5SXcxR1VDeFpSTFprU3BLeXVST25NODhFL2dZYVNLCnJnSitod1pG
669 d0Q3QXVjQkJ3SHJnUWVCazRFUmdPM0FMY2tBOW5YM3p5NWlQVnJQVndKWXFaZDlBZ3pzcDQ1QzZP
670 UUY0RWEwWWJ6aGwKUmlEN2V6YlFBZHhENVVQeFliUnE3QWI2MFNSdE13dTR3dG0zM2RuK3BMbldw
671 MFBhbVVRV2J3SFBJUzN6OXBBNnNtUSsrY21rV2w4MgpBNTlBZmJFQ09UNERKaUx6L0NYZ202YnN4
672 OUJFTndBc0EvNXFsUythWEFhRlpqVExEZ0NmUXBQTmFDcnQxWDJSYytsQTVBWGZBdHdJCmZCRTRI
673 TmhoemprZE9EamlXbVBRNVBTdEZKK1ZWTnFBVDVyMlRrcC91N0ZjRGZ3Y21HTzJsMU01b0tZQ1c0
674 SExrVHJlaFFib2FWYVoKcjFOeW5vMDA3WjN1MUJQMW9JMEVMa1lPeVBYSWRuVkpLZ3VRTEorTnVG
675 WWNhVmU4dkdTU3BDOXZBWTVDZlhLemMreDI0QjNJSExrVQorQ3A2WnlRNDd6R25mTkhrTW1pY2lB
676 YkFOTFA5V1NvMWwydlFKQkR3R0FyVk5RRnprV28zM214L0llSTZ6U2pVTnozRjV5aW5qamEwCmt2
677 MHh4ZjBsNFVKays0NDIyNk9RRm5hVlZlWlE0RStvZjJ4dVJ0b2JxQTkySTFzYVNpdlNJVmI1a2NC
678 dll0clNqZ2JpVXVUOGNnZHMKVWxrRXZCeHpyU2pTRE5hOFpKS2tMNDlIMFIrQWRjQ2QxckVqZ1l2
679 TTk1ZlFROTFtSGI4QWFkOEJSWlBMUUE2ZlNDNUJ3bW94MjVlRgpsUG1JczcwTFdCeFIzOUs0aTlY
680 SkxIUXphek9zc3h1RjdDNTM5cnZPd1dlQXpWUnFSamVZTnJXak1PWUFVdXZuQW51RlhLOEorRXZD
681 CnRtMUcwUUU3NnBCR0ZoMVVPZ1dUa0dhdzVpRVRTTmFYODVCcDBZbGtlSkoxN0dpa2hSeG82dm1v
682 Yys1SzRKZldkdEhra2pseElaeHAKS0hGbXQ5bHVEU256Z1BWOUNwcHgxMFhVNS9vUXNpU1lEWjlM
683 VVBZNE5QUGZVNlZjb0dLNmlVKzJiZDJKVEpuektQY1RnVlQ0blNpMwpaaU93QmpqYmZQNkdCdTg2
684 cS93QVdnSEhJYzBtamllUU9ud3FzdWtoblN6ZVJmeUtkeHp5SjdpTVFmY2NGakxkaE5UMmdEeGtB
685 c242Ck12Q1BmQWI1SEI2MWpnVUpaeDgzYlh6Q3FYOE84bGtFRkUwdW1WTnRFdm1WdGQxUnBhNzNB
686 cThqLzBFWVlTc0dxQU91SlYwSy9tNGsKck9EQjNXaXUzWm5nM0xPb05LMDYwVU52MjhJZlFFN1Vm
687 OFhVRmF4dy9jNytEdlNiRFBiZ1BST3B0bk9RVDJVWmxSNy9INk1vUlRCWQo1eUZWZkFubEljYi9t
688 TDlSRVk5cXNqaU1TcnZmcGgrNExXVC9GT1E4RGp1Mnk5bXVSeVluSTdOMUozQWZtaWhza3ZSbE0z
689 SjJyaUk4CkUzUTJ1ays3N203a3UvdXVVN1pJY2hrMDJsRE0va0pyMy9VaDVXWlFtaHp1cHp3YTBZ
690 S0VHeEJsemd4RHEvbTBGSi9EUStwWkMveVoKY0kwcG9CY05nSURnTnhTMlVwbWx0d0Y0SktLZWJ2
691 TjNBVnFwM3U0Yy96ektyK2xDVVowYm5lTUxDUTluenFJOG9lL0xwdjVWVHJrZwpNV3V1dFMrTkxG
692 YWdWUzh0YWRYbVdtUnlFWHJBbTVBbThYdGtma0M2dnB5SEZwa0p5SmZsSmtxK1NHVjI3RGNvT1ZI
693 ZkIzelFmQythClhBYUZJRk4xdHJYdkRCUWFDemlWVW9iaHdjQy9nWHV0NDczb0lRVjVxRjNIWTlh
694 TVJUYnBJMVFPMnVFbzQzQ2VzNzhkVFdKaHFiNkwKcUF6ak5abjk1NXJ0U1Vnck9zRXFjd1J5eGdi
695 M3V4bXBsRFpyVU5RcmpPOVJjczVOUXF1UG5idzBGdVVqYktMa0VFd2ppK25VSGtKTQpPMWhya1Vr
696 LzVUK0tzNDFTSkNaTlh5NmxaTHFjVDduanRSUDExeW5PT1U5VFd1eHVvbHc3THBKY01pWEtuT2xH
697 Y1dzN3QrTSs1TG0rCnlXenZRRGtqKzZFdzZBd1U1NStQSHFRdFNPZ2cyL1U3R2JZN2pGMW8wcnNW
698 aGZ5ZUJaNUgwWk1CcEVsdGRjNkordzJGNjVGYXVnYmQKK3hSMHIzZFRVa2VmUjdiMU1xUktIZ0lj
699 aXg2TURhYk1wYWcvNXFKOGdXbW9YNlA2b3hjNXNmdE0vYjFJZGQ1czJyc1FSU1BPUWFveApKSmRG
700 TThwanVDVG12ck9rRnBtNGp0alhLRDJzYWZyeVIwZ09mU2dWZlp0MWJDYnF1L1hPT1E4Z3JYZzU4
701 cXZZWmxDUjVCTEYzbWhpCjNSdVpidmZHRjQvbk51QW5JZnYzb1R3S2NRQVNTREJqajBCYWpEczVa
702 Zkh1UWhxYTBFTS8xWHl2UnR4TFIyT0FZNGhQUjI0QjNvTTgKL21FRS9SS1dSeEIxelJablh5ZHly
703 RVcxSTRrc09wQU1hNldlRlMrdFRFQm02eXZJVnhDUXBpL0hFWjY2M1VHMDMySXkwZVpYRWVVUwpN
704 QXI1UUFQTmFERTF2QlRZQTN6SmZOK0VadFk5aGN6ZlhDd29Nd2ozamVWQkMzcHA3NlJxQlQyWnlP
705 VnM1Q2NLQ016eVZDL2gvUlNGCjQ4YWpNRk10THdJTlZmd2trb3hXU2s3T1BCbUduSjV1eE1VVFRo
706 Wnk2YU04SEQ4YW1aeHVKbkFGdHVOb0hiTDlGeVBmUjgyL3VlZ3AKTEhsa29JYXhFS1cyUDRYRzZN
707 V0RjTTJoVEJaeVdZdmNEb0ZUdU1mODNUKzhlQWxiVlZtRWJORHR4T2RHRklsV3BIa2RoR2JkaWNn
708 Wgo5bFlqRzdXSHN3U0ZWSTgxMisxSVUvVGtTei82UWFWRnlBRWU1R0R0cUhaaVVnZFhVZW1pUER3
709 TGl1Vlh5MHowNU1jQ0tzZmxneVFZCnpKNU1tUXo4R2psYzMyeHdXendlenhCZ0ZIcERQc2hNN3lQ
710 aER4MzUvenZqOFhoQStUaVRVY2JzSkpTREUvYWVqc2ZqOFVTeUYwb08KSEYrdG9NZmo4WGc4SG8v
711 SDQvRjRQQjdQbnM3L0FXNThpdTVnc20wZkFBQUFBRWxGVGtTdVFtQ0MK
712 </png>
713 <latex>$$\operatorname{f}\left(x\right) = C_{1} \operatorname{cos}\left(3 x\right) + C_{2} \operatorname{sin}\left(3 x\right) + \frac{1}{9}$$</latex>
714 <prompt_number>16</prompt_number>
715 </output>
716 </outputs>
717 </codecell>
718 </cells>
719 </worksheet>
720 </worksheets>
721 </notebook>
1 {
2 "nbformat": 2,
3 "name": "sympy",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>SymPy: Open Source Symbolic Mathematics</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": true,
16 "prompt_number": 1,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 2,
25 "input": "from __future__ import division\nfrom sympy import *\nx, y, z = symbols(\"x y z\")\nk, m, n = symbols(\"k m n\", integer=True)\nf, g, h = map(Function, 'fgh')"
26 },
27 {
28 "source": "<h2>Elementary operations</h2>",
29 "cell_type": "markdown"
30 },
31 {
32 "cell_type": "code",
33 "language": "python",
34 "outputs": [
35 {
36 "output_type": "pyout",
37 "latex": "$$\\frac{3}{2} \\pi + \\frac{e^{\\mathbf{\\imath} x}}{x^{2} + y}$$",
38 "prompt_number": 3,
39 "png": "iVBORw0KGgoAAAANSUhEUgAAAGkAAAApCAYAAAA22gdWAAAABHNCSVQICAgIfAhkiAAABGRJREFU\neJzt22uIVVUUwPHfOGmOqWmZmZpDMoYpTlohkb2TKCOll/SyLxUR1YcKen3qBUkkQRQFZRj1Iewp\n9SGo7E1PghJ7J4ZBpVlgGWY204d1Lvcacx8zc885d/T84XD2vnPOWevedfbaa6+1h4KWpy1vBYYo\nXTgGT2MiZqEHo/A33mimsH0auGY0FmNC0l+Fbc1UYggyEUvwIrrxGtZiGeblodDrOCFpL8cneSjR\nYkzDg2hP+lPwUNIe1mxhjYykd5VHznu4GWPt3aPpPLyARWIkbcVnmIMd+LaZwtrrX+JN/JK0LxS+\n99FmKtHC7I8zcCSm4vvk8+8wTniZ4fgQu/BrxTWZ041rhXEOyEuJjJmMl4Vx4DaNvdRNp1GhW8UQ\nPg0z8E5qGrUOz2MT/hXBwA/4OleNqjAJKzAm6c9DL+bnplE2jMZOHJy3ItSPRGZiqbKRxifnXalp\nVJvjZOdu/8Hmin6X8jIkU+q5u03CJ29DB+7EGjyRsl7VuAZb8GPKcnbiEGGUzSKKm4qPUpY7KLrF\ngvawnPVYjmMzktUmsgqnCveXG42sk+Dz5BgMB4mQti96sDE5twq9WmTh3qiRBsNkEXxcoLZ7PQlv\nZ6DPkKPpKYz/0Y6H8b5IQt6HhcJtrsbspD1ZYaCqlEZSbwrPbhPpkxXKBugSicheke/6osq9w7Fv\nlc879D1HbLf790jjO+VCyUhplSxWV7QnibC2V8xNY2vcdxeO7+PzTjES/+jjb3fg1Yp+UYYZALfi\nuqQ9H58O4BlZRnctQ9pzUqWcy4WrI0bVEbIJXIY8Wf1IZ2M/rE/6HRgpDLUuIx0a5Urhijtxo3DR\nudKfkTRqEHKuxysV/VLG4KhBPDMNpuJPEexsFJXW3GnESKeLSfkGUbs/eQBytovwu8QHeBIbBvCs\nNJkiamZE1rsrR10aZhxWVvQXibxWLolGXI3DU5ZRyorcKwp+Lc9sETKX3qjRSX9xbhplwyQ8lrcS\n/aGzon20KFNMz0mXLGjD7WIO7s9a6zJh3NxZI9Y7ezIXiWQwnNOP+65QLrU3lf5EdzfhLdyThiI5\nMLyiPSI5zxRbtb4Um0pqZUUGQl+/d91lUKPrpEvwjdgMOEZEQV81rFprMUuknEaJtdsOUS97Cc/i\nwJTkdifHpSIA6xGBUCduqXVjI0Y6V5Ss12MuThRZ7aHKQjwgXrR1OBRX6f9euWUisCrRLfaAVOYV\nn8PHSXsBnsL9ojrQgzM1oco9XawXfq44fhJv4FCl5NqW4pkmPrfenDRCZDNWJf1h+E15/qtKvZG0\nwe7R3Z7AzuS8UDmXOB5/ic32acpdoryxdK544bfUuzGrBGurMEe4nJE4SzkTf7Gy8dJkgtjcA+eL\nQKwuuezIzJGJYnPJNLFYPUVUhtcK1zMYZogtxttrXLNVJALaRartEeWkc0GLUKo2T8Hvqm/MKciJ\nu8UaDB5XLoDWZW9zd3nSJkbSAvFvMitrX15QUFBQUFBQMAD+A4Qttne0VDZpAAAAAElFTkSuQmCC\n",
40 "text": "\u2148\u22c5x \n3\u22c5\u03c0 \u212f \n\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\n 2 2 \n x + y"
41 }
42 ],
43 "collapsed": false,
44 "prompt_number": 3,
45 "input": "Rational(3,2)*pi + exp(I*x) / (x**2 + y)\n"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [
51 {
52 "output_type": "pyout",
53 "latex": "$$-1.0$$",
54 "prompt_number": 4,
55 "png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAASCAYAAADCKCelAAAABHNCSVQICAgIfAhkiAAAAV1JREFU\nSInt1b1LHEEYx/HP+VacTdKpKKKFXIqIIBZahBTX2Pk3pIpVIFhoMF26A8FKsLKzCqnTpxILUUjh\nW6FFbIIIuSKceBY7q8uyB9l7CSf4g+Hh+T47z/wYZmd4Qip0oOcX3KCSc14ZyzhBHRfYaq+1R5VE\nButYzTl3GlVMhrwfe/iQ/KinRYOxKlhBrcn5a/iB85DXsBv6jrbsroFK8u/sOG7xMcVfhV7vYtCu\nnW1FM+gVndWkTkN8G4NuMDsU4p8Ur4UxHINuMlvNqFXxIk66wezfEO8yav1J3g1mjxrwAor4FYO+\nRPE1tv37Q3GA9824S+kwxJcpXgxermKQNHuE+TYsnleXuMZYis+F+LDz//sYDGAigx9iMcXK+I2d\nTplZEF3kGw3q30UPwGyKvxH9+VMhH8Qx1jvg0Sfsi+7Kehg/g7mkKjjDSEaPJXzDJr7is+ixeNaz\nkroH5AA9SswlEREAAAAASUVORK5CYII=\n",
56 "text": "-1.00000000000000"
57 }
58 ],
59 "collapsed": false,
60 "prompt_number": 4,
61 "input": "exp(I*x).subs(x,pi).evalf()\n"
62 },
63 {
64 "cell_type": "code",
65 "language": "python",
66 "outputs": [],
67 "collapsed": true,
68 "prompt_number": 5,
69 "input": "e = x + 2*y"
70 },
71 {
72 "cell_type": "code",
73 "language": "python",
74 "outputs": [
75 {
76 "output_type": "pyout",
77 "prompt_number": 6,
78 "text": "Add(Symbol(&apos;x&apos;), Mul(Integer(2), Symbol(&apos;y&apos;)))"
79 }
80 ],
81 "collapsed": false,
82 "prompt_number": 6,
83 "input": "srepr(e)"
84 },
85 {
86 "cell_type": "code",
87 "language": "python",
88 "outputs": [
89 {
90 "output_type": "pyout",
91 "latex": "$$262537412640768743.99999999999925007259719818568888$$",
92 "prompt_number": 7,
93 "png": "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\n",
94 "text": "262537412640768743.99999999999925007259719818568888"
95 }
96 ],
97 "collapsed": false,
98 "prompt_number": 7,
99 "input": "exp(pi * sqrt(163)).evalf(50)"
100 },
101 {
102 "source": "<h2>Algebra<h2>",
103 "cell_type": "markdown"
104 },
105 {
106 "cell_type": "code",
107 "language": "python",
108 "outputs": [
109 {
110 "output_type": "pyout",
111 "latex": "$$x^{3} + 2 x^{2} y + x^{2} + x y^{2} + 2 x y + y^{2}$$",
112 "prompt_number": 8,
113 "png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAAbCAYAAABm6to6AAAABHNCSVQICAgIfAhkiAAABXNJREFU\neJztnF2MXVMUx3/TMS2tVKMzhIQMM1E0SFuMqZiWeCBIUx/ViKQPVBoJHkZ9paSkQgjxUUaQ+IqP\nBg8EIeicND6iiXqYetCkCYIgjZJQTVAe1rmZ05OZe/fae+177jX7l0zOPeesvfb6r71n37P3OedC\nIpFINIkjgWOrDsKIDqAPOLjqQIxIehIh1M33NA+Hs4F7gROBc4EvgON8o2sBehE9A8BTwPPAgVUG\nFEgvSU/Cn14i5Ps84DegK98fBZ4NdVohzwFH5Z87ga+AW6sLJ5ikJxFCw3z7XGm8C/QAf+X704Ef\nPQNsBfqAq/LP/wBjwOnVhRNM0pMIIXq+zwC2AnMsnTrQDawDXgRuBhYE+JqOzOHItzuA4aDoqiXp\nsceyv7U6UfN9GbARuAG/KxZfjgc+BC5GFmOHgb+BNQa+VwPvAwcY+GoFkp5wYva3Vscs37OAQwv7\n7wCPB/rsVNiOAotKxx4F/gXOCYhhMfAMMCPAhxaNbi2WemLG6UpVemL1N0titI/p/8PrwObC/mPA\nN4E+33a0mwP8ClxbOr4EacQHPOs/CbiF8cuyZnUGV91arPXEitOVqvTE6m/WWLdP3Xz7TCs+QUYg\nkDsoZwEv+0aXM8vRbiZyy3cD44IAvs63p3jU3QesBbYDFwDLgKUefnxw1a0hhp4YcbpSpZ4Y/S0G\nlu3TMN/lucpMYBXQD3wOvAQMARcBu4EHkdH1CuB65OGujcCThkHX4wfgfOB3ZKSv0Zdvt5fsXfTc\njjxzsr5Q7p4GcSxHVpRHgG8Lx5cCgw7lfYmlxxqXOPfmto1yOY/q9MTob666Y2qsV/d7yB2T9YXj\nk8ZyELI20Y8MJh8BDwN3AEcDO4GrzcLenyyw/Ahye6h4ayiWnnVIR7gLeKV0bjPwpsJXprBtl/bR\nxGmZSw1ZYPnQ/matO1PYmtY9zP5Pdr4AfIfcghkAtgEnaBwqyALK9iOj9/2l4zH0HIHM9QA2IaNy\njS5gD3Cjwl+msG2X9nGN0zqXGrKAsqH9LYbuzNHOvO5lpf0x4AmNgwAyz3JdwKfIGkt5fSaGngHg\ncGSe+wdyS6rGYuQS9jSFv0xh2y7t4xqndS41ZJ7lLPpbDN2Zo51J3cU1jTcKn3uA+cDdjsG40JP7\nm2jxdR7w9ATH9yBrJ5MxAnwJXAPsK52LoeezfLsKyd1rhXNDyNx3W6mMle52aR/XOH1yqaFV+5uv\nbgs9Jjmf7KGNs5HV4qyRAwW/ICPvRKIXMPGovHeCYzVuys9fx/gi1SJkAaqMtZ7lwBZkcavGEPAx\nMtctYq0b2qN9wC1OTS41tHp/0+q21GOW84XIZQt5ADsL5zqAhzTOlGRK+0uRUb+jdLyYuJh6diBv\nAtaYhrzEd5vST6awbZf20cZplUsNmdI+Rn+z1J0p7YPqro1ag8iIuQKYC1wCfF+wW0G8lWwtg8iK\n9BbgcmBl/rcW+LlgE1PPLsbf8gVZFZ+dxxSDdmkfnzibnUstsfpblbqD6q5NT3YhI+M+5BHZJcjq\n6mrgGCQ5m2ziDeIwZO7Yg9wDL3Nlvo2t5z7km2MM+a2BNcCfyMt7MWiX9vGJs9m51BCzv1Wp26zu\nbmQFtTaQdAKn0pwfPMkc7Q4BLqzzN7dgG1tPN/INU/vNgVc9fGTK+lq9fcAvTotcasgc7WL3Nyvd\nmUeZZufcnNGqA1CwErizsH8msjC20MNXu+iOFadlLjVUnXdr3Ro9VeXcnP6qA1CwG/gg/zwDuQW3\nwdNXu+iOFadlLjVUnXdr3Ro9wXWXV4MTjXkEmaP+hNy6eovwnwaYqkzVXFape6rmvHJORt5wTINu\nOFM1l1Xqnqo5TyQSiUQikUgkEv8v/gNI9gkr+UdTSgAAAABJRU5ErkJggg==\n",
114 "text": "3 2 2 2 2\nx + 2\u22c5x \u22c5y + x + x\u22c5y + 2\u22c5x\u22c5y + y"
115 }
116 ],
117 "collapsed": false,
118 "prompt_number": 8,
119 "input": "((x+y)**2 * (x+1)).expand()"
120 },
121 {
122 "cell_type": "code",
123 "language": "python",
124 "outputs": [
125 {
126 "output_type": "display_data",
127 "latex": "$$\\frac{x \\operatorname{sin}\\left(x\\right) -1}{x} + \\frac{1}{x}$$",
128 "png": "iVBORw0KGgoAAAANSUhEUgAAAHUAAAAeCAYAAAASN1ElAAAABHNCSVQICAgIfAhkiAAAAyFJREFU\naIHt2luoFVUcx/GPF9SgcxGOciIUIzWFoBCpiCiSyoJeSjIxETFQocSXXuot6LmHHoIgKHzsYkUh\nJhVR0JNBCqFoiAoRegSFFEwte/jPhjnjvsze+8yeOefMFzasmXX7rf9/r1n/NWuoqemSUdxRtogm\nLC1bQBdUTut3eKFsESkW41X8VraQHPSsdf7Ua5nEM/iv4D7yMoStGMaikrV0YiBaRzCWpEcxnsob\nxvImdcYwL3Pv7lR6SeZ6Du7M2e9ILtXNeRYn+qg/SHrSmmemvoRreEQY/nfsxW5swMWk4+fwQVLn\nebGW7kzuwzaxPjyAH3Aa2/Ez9uOJJJ2n31Ecw6Xuhjs76OTUpbiOr8UsegVvidnzBz7F+qSdfcKp\nC8VMOpukGyzCUbFO7MI/WJfU3y8c9W/Ofq8Kp/+EN4TTW/EeznUY56zlfbyWufc5bgjjrszkfSxm\nZ5p38Gbq+kBSZgwbu+iX+HP0wox//M7touxT4rEJq3EPNmEFTuL1VNmRpPxnuK9FG8N4HF/hXq0D\ngmy/DbLrdU1CJ6fuwbt4SAQ1J0Vkthm/CEf8Kda371P1nsa3WGZycLMKR5LrDfhRPF7HTQ5+WvX7\naKrMtVwjvJ052j+u+2HuFLfdk9ZO//YhsV+ah4/EFmU5PhTr1IPJ9QUcTNWbwP24iUPJvRViHW04\n/zzWinX3CzELj+NWm34/EevuY/gVf3c51rdFELdABGxwqos2OrFTjPN4n+0MQutAmC+CpTwsKVJI\nH+zBlrJFdLOmFs1NXM5ZdqJIIdOdKjm1Zopo7FNvlaqi+hQRWBVm84ZTi4oGa1pTmM1rZ/bGVrEl\ny7JGvAk73STvS3xTpKgGtVN74y6TDyMavIgrONwk74x4T144RR+9zVT+Sn5Z1osI/kiTvIFRpei3\n3fHebKRne1RlprY7Zjtaoq6y6MseVXBqp2O22caMs0erY7bpwm68PIXtTXd7IE5j1ibp1e0KVpQx\n/X1qk2Xa2iN9zHZVnFAMYUeJmsqkb3tUYZ/6JB4WR3kXxRcUl8RXFddL1FUWtT1qampqamoqwv8Y\noZik/6S2SgAAAABJRU5ErkJggg==\n",
129 "text": "x\u22c5sin(x) - 1 1\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\n x x"
130 },
131 {
132 "output_type": "pyout",
133 "latex": "$$\\operatorname{sin}\\left(x\\right)$$",
134 "prompt_number": 9,
135 "png": "iVBORw0KGgoAAAANSUhEUgAAADAAAAASCAYAAAAdZl26AAAABHNCSVQICAgIfAhkiAAAAnVJREFU\nSInt1klo11cQB/BPjKlbRaqigtFK0kQwitiIQlxA0iWCIopKL0LdwAVBiBseFA8iaA9igrbioZce\nhNBLC/WgYKHQqlFRXNBaqBsqVnDDhWj1MC/ty5+/HiSQg/lefjPz/c97M/Nmhj/vKT7HDVR1dSA9\n3tFvGM7heifG0o1udAVKitg+wjY8wBO04ZvEfYZZqMYi3Mv8GjEdt7ACMzFRzEsVluo4M4NQieNi\nFjekuyvwLR5iGUrRit/wHH++LaEeuIixSa/EPymw0dic7GewJvMbkxIYgFfYh4aM/xn7C+5anMnb\n0xlQJwpzQBT4KC4kbkOxgHPUYST+Tvp97MAJrMQeUdGxOlZzPlpQnvRLOJTxJRiS6QPwb5JrcDsL\n8gMMxPeiGD9ideJOobYwiRxjktNfaMK0jKtI3024g7KMq0zfVXiG3gXnXseWTK/HpCQPRZ+MWy/a\nt7RIfB+LQr4Vy3EtJfKqwKEEV7DzDb4t+LXA9mk6py6zLfR/yxTiF9FyxVCKrW8KvBA1otdbM1t9\nCqZavMCIjCvBXbEAcuwUSRNt9CG+wJdF7izDI6zLbH1F20r35VyHGfgOpzP9PA6KoW7H12IbXMZX\nGJ5x4zBYDF2ORfghyRvxUvTyJ8lWj7VJnpoSPJn5N6JXkqvEPBZNoEYMTDuGYDZ2ZbZyHEF/TMAf\nGTdDrLnfM1tfsRoPi5a5i6dis/UTr9aMOSmWJWIDvUj+teLFryZ9oijgf8gH5ZgYkgZMwXjsxtns\nN7ewAKMS9zjj5ort1ZLZ2lIw88R2aRIvQMzZJPGa/USxmvGTWNGT0RN7k8843BR/IrvRjc7Ca5nO\nfj0LzBdrAAAAAElFTkSuQmCC\n",
136 "text": "sin(x)"
137 }
138 ],
139 "collapsed": false,
140 "prompt_number": 9,
141 "input": "a = 1/x + (x*sin(x) - 1)/x\ndisplay(a)\nsimplify(a)"
142 },
143 {
144 "cell_type": "code",
145 "language": "python",
146 "outputs": [
147 {
148 "output_type": "pyout",
149 "prompt_number": 10,
150 "text": "[-2\u22c5\u2148, 2\u22c5\u2148, -2]"
151 }
152 ],
153 "collapsed": false,
154 "prompt_number": 10,
155 "input": "solve(Eq(x**3 + 2*x**2 + 4*x + 8, 0), x)"
156 },
157 {
158 "cell_type": "code",
159 "language": "python",
160 "outputs": [
161 {
162 "output_type": "pyout",
163 "latex": "$$\\sum_{n=a}^{b} \\left(2^{n} + 6 n^{2}\\right)$$",
164 "prompt_number": 11,
165 "png": "iVBORw0KGgoAAAANSUhEUgAAAHgAAAA5CAYAAAD9YO8bAAAABHNCSVQICAgIfAhkiAAAB5NJREFU\neJzt3HuwVXUVwPEP9wUIBghpkKXySIQIzMmgqGywxwRUNuNgQzVI00RPpbSwml6WvSxrxoiisdIa\nzXAaKpssSCIzJ3tKphWBlWERpWU+QemPtY9n3+05556z9z7AdfZ3Zs/d+3d+j3X3+j3Wb/3WOVQ8\npuktUHYWjsG9uL8ccSrKpqdA2SdjE55YkiwVhxhPwF8PthAVrSkyRZ+Gh7AFo/BAGQJVlEsRBZ+D\n/diFc5O0PxSWqOKQ4XYcndwvxeaDKEtFE/IaWU/FbqFkmIn7SpGoolTyKngmfpF6fik2Fhenomzy\nKvhG7E3uF+FBXFKKRBWlMqJA2dMwEYdjrcqKrqioqKio6IRGa/BKHNHFNjfjV12svyJFIwV/B4uT\n+3uxTnisWjGAsRiT/B0rOsnsBm1sxqk55a0ogcnCibE/uc4pUNckvBJfxt9Sdc4uJmJFUV6Mh4Uy\nHsQzS6r3VbgTny+pvooCfEJ9xO3EuJLqfRK2Y0JJ9VXkpB8/U1fyhhLrXqp+AlVxEJmK/6gr+Y0l\n1l1FghwinKGu4Pswt8vtnYfjutzGY42JYknNzRfVlfx7sQ3qBm/Dii7VPRyZileI07uhOBdn5W3o\nMNysruRL81bUgmcod50f7qwQTqd5uEpsNftb5O/HNrwwb4NzxBRdU/KZeStqwg8xv+Q6hyt9+ImY\neokTu714yRDlFinoJXyDuoLvwQlFKktxijhjzstC0QEJG2GZiPocrozEr7EglbYbZ7dR9vtiNszN\nBnUl34TRRSpLuAgfbpDeg9UiWmQLPoIZmTzzhetzm+iAM3EsbilBrk7oFzbEJfg03iuWtjKYJb5c\n0M5a/HF8oUhj43GbupLL8ErdjJc1SL8Sq0RY7hG4DHtwcirPUhEdukd804IIBtxVglzt0oNr8c5U\n2gbRccuo+xq8ps38r8O/iza6QKwJ+7FPPboyD4cn9UzNpC8WCk0zRvi0d2bST8YNqeeVuKKATJN1\nFs60WnTGGv24QzlhTB8VMW/tcop4n+OLNvxB5Tg/ZjQR6EL8Ec/KpF+Z5J+eSjvP4Cl+s+ggz5Yv\nLOlzOL7NvNPFqdtzMumjcrad5s04KbnvF1umoZgi3s9c8gfdPS5p7EIRj1WEoxKB/ptJv1u8vKyC\n9yR/0yN+kbDCa8zB9SK8d6ijzkaM0L5ylgmj6IZM+v05265xNp6OF2CNmO73tiwR7BIG8DGEOd4p\nfWJ9uQXvyFE+S62TjTQ4tvp8fBe/zOSvGRrpsN2r8ePU8wq8CF8qQb6hmId/iRlolRhBA8Ig3J7K\nNxVvF4PjPfinMArHiw75GbGOE46kp4l3kzasft6mTPvE+8zFerFHG5W3ggwzRU+fM1RGTBPCf62k\ntpuxTnsWK7GM/EMsE7V3cqo4Fj0xle9icSL3LXwT71c/UVsmfP5FvkpU40jxPp+bp/Aa8Q9NKkGQ\nGhMSgdpZX74hLPgy229EJwq+S8ifddLciK3J/SR8LLnfgh3CYKyxJKnjqByyZlmY1NWuDfEIp4vN\ndnYfWgY7ROdpxUr82YE5iOhEwTvE2ph1I16hrrQjxd68tgy9JZN3Df6eU9YsZ4ptUi/tr8ELxOZ5\nsRjBZTAW/0vur9G64ywUoUPPEyO4LNYKQybLcWJENvrlgtX4aep5l/hfsgbQ3cnf6WJJI+QfJUZx\nmiX4UbtCD8EM8cX8h9otMFX0rtNLEoAIAUpvaxZ7tBVaY7p4oVNSaTPkmIIa0CdeePZaL4ycRp9l\n+ZAIa8pa3ZeKsKeJqbQPCOMqnfdooYylyXPR/etGvLrdzBNwq3KjLw7DbwyeAkcIJ3n2JGQivufR\njpQ36e65dCdT9HwxFWdnoK34bYO0qzJp7xJK7xMW+es7knQwJ4rj3FanTo8wIMz2ovvcNCeJDtNo\ntC4Rwg0kzyPFC7lMjJLadYHwO5fhA29GJwomRvxnU8+zhRWddqmOFt/fyq6/X8XlopNfJP/uZISY\n6Za3W+ArIka6iOk+Qij13UJZ+0RvX9Uk/1rRoxkc9Je9bisgUzt0quDRQvaNSdnLhYMizVyh4GmZ\n9OeLDv9J4XnLy2uFYTdoqWjmrXmfUMoF6oZQK3rF1DsmdY0TxtnjM3kfEEd5dzWop0e8oPOFgTOm\nQZ5aHXe0IVde1okToVs7LNcjlH1Pk8/HNPlsQHT+hztsr8Y44V5dIeyBlizXfOSUcX19iPZ7FfDC\nlMTFBvu6D3WavrNGI/jluutIuE7nI+NAM1r1kxQVFRUVFd0lvQYvFCca24RJP1O4z9I+0hO03jbt\nFz+GlnXbzRa/bXmd8Mv+qZDUFW1TU9Z8sc1ZnzxvF479H6hv4HvFMdhksc1pdu1U/0GWAWE13ySc\n8puEM+N33fqHKhrTrcC1dQYHom3X/aO+ihS106RvC7dabeQSfuGtmfyztA7zSU/Ro8XG+ynJZ8eK\n2KU9jQpWdIf0ceEig39vcjk+Jdxn1wvFzjO0gm8Xa/nxwlv1l1T91wqF3ykc7BUHkE1CCTV2i9Ok\nvKcbPWLt7RPT/dV4q+Z+6Ious1r9JIf4HswZmbROmSJmgmnCX3qWzpz4FRUVFRUVFRXDkv8DxIWR\nCnsQh3MAAAAASUVORK5CYII=\n",
166 "text": "b \n ___ \n \\ &#96; \n \\ \u239b n 2\u239e\n / \u239d2 + 6\u22c5n \u23a0\n /__, \nn = a"
167 }
168 ],
169 "collapsed": false,
170 "prompt_number": 11,
171 "input": "a, b = symbols('a b')\nSum(6*n**2 + 2**n, (n, a, b))"
172 },
173 {
174 "source": "<h2>Calculus</h2>",
175 "cell_type": "markdown"
176 },
177 {
178 "cell_type": "code",
179 "language": "python",
180 "outputs": [
181 {
182 "output_type": "pyout",
183 "latex": "$$- \\frac{1}{6}$$",
184 "prompt_number": 12,
185 "png": "iVBORw0KGgoAAAANSUhEUgAAACYAAAAiCAYAAAAzrKu4AAAABHNCSVQICAgIfAhkiAAAASpJREFU\nWIXt178rRlEYwPEPXikZLH4NShTKoAyymw3KPyJlsBssVqvBYDIwCcl/gHpXr8liEYWN4bx0k3Ku\nzsmr937rDGd47vPtuc+5zz20OYN/LfCVUWxjp2xgLb3LJzOYxxCeygbnFKs31xT6ywZ3JtdJRCVW\nlrYW62iuUnRlEPlgHOtYwLBwOu9wnzFnRetRuim/4S3BM/4PxYpNYlV8FRvYSm7UpCjRg2nxYg+4\nTS1U8VtSnMqfmBP6tw97eI0Jyj0rNzGCfQxgLXO+KBZxUNgvC3Mzipyvchc3uMYYrnCeMV80dZyi\nVyjAMVZig3P2WDcu8SyMrRNsxAbnFGvgsbB/Ef7LosgpdoiJwn4YFxnzRVPDEZaEi++ZcPltGWaF\nz0TLXnwq2pN3yugjnSzSytcAAAAASUVORK5CYII=\n",
186 "text": "-1/6"
187 }
188 ],
189 "collapsed": false,
190 "prompt_number": 12,
191 "input": "limit((sin(x)-x)/x**3, x, 0)"
192 },
193 {
194 "cell_type": "code",
195 "language": "python",
196 "outputs": [
197 {
198 "output_type": "pyout",
199 "latex": "$$1 + \\frac{1}{2} x^{2} + \\frac{5}{24} x^{4} + \\operatorname{\\mathcal{O}}\\left(x^{6}\\right)$$",
200 "prompt_number": 13,
201 "png": "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\nAAAAAElFTkSuQmCC\n",
202 "text": "2 4 \n x 5\u22c5x \n1 + \u2500\u2500 + \u2500\u2500\u2500\u2500 + O(x**6)\n 2 24"
203 }
204 ],
205 "collapsed": false,
206 "prompt_number": 13,
207 "input": "(1/cos(x)).series(x, 0, 6)"
208 },
209 {
210 "cell_type": "code",
211 "language": "python",
212 "outputs": [
213 {
214 "output_type": "pyout",
215 "latex": "$$- 4 \\frac{x \\operatorname{sin}\\left(x^{2}\\right) \\operatorname{cos}\\left(x^{2}\\right)}{x + 1} - \\frac{\\operatorname{cos}^{2}\\left(x^{2}\\right)}{\\left(x + 1\\right)^{2}}$$",
216 "prompt_number": 14,
217 "png": "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\n",
218 "text": "2 \n \u239b 2\u239e \u239b 2\u239e \u239b 2\u239e\n 4\u22c5x\u22c5sin\u239dx \u23a0\u22c5cos\u239dx \u23a0 cos \u239dx \u23a0\n- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n x + 1 2\n (x + 1)"
219 }
220 ],
221 "collapsed": false,
222 "prompt_number": 14,
223 "input": "diff(cos(x**2)**2 / (1+x), x)"
224 },
225 {
226 "cell_type": "code",
227 "language": "python",
228 "outputs": [
229 {
230 "output_type": "pyout",
231 "latex": "$$-2 + \\frac{1}{4} \\pi^{2}$$",
232 "prompt_number": 15,
233 "png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAAAiCAYAAADbLB6TAAAABHNCSVQICAgIfAhkiAAAA1BJREFU\naIHt2m2oZVMYwPHfNcydmdzrZcQYV15GlDB5nabxhfjE0Agp6ZKR8UWkpPg2EspbUnzwbiRd+SgU\nX5SUuGXS5HUwKC+ZSxru0PHh2bu773Fuzt5n7bOvM+dfq73W2ns/6znPWetZz3rOYUitLGlagRoZ\nw374q2lFBo0DsA7bcVbDuti/aQVqYBP+xESfxz1CeITvip2DaOCXs2u/XMMS3CUMeyQuwVX4jME0\ncL+ZxOd4IWuvxLPYQGwCQ3rjcNxSaH8ofH9y267Dg3gK1wuf1CQ/6d8mN1qoP4y3Uw9wI7ZhbVZe\nwbc4JfVAJeingXPWCHdxQkqhx+ADER7lrMgG+kG1WDtFfP4zzk4gp1sOFhNrTWrBmzEtXESRR9HC\n+goyt+GgivpcjifwvvjAd1aUU4YVuB+HZO3zMEKaKGKZcAub8V6hf2d2XYt3S8ocNX9FlGEqK/1i\nKR7Da7LIAZfK/HAKAz+J3/BmW3++VLYnGKPfnIabsWqB+y3cIybONTg1Kznv5JWRmhRcii/wezbw\nbMn3p7BFbFT9ZhJbxYycwF6xGs/BJ9id9T2CXQ3oh4gLZ3FuxfencNh/PNOqqTxjLoZ9wNyR+0Vz\nPrZRTsYMLutBRjcGroNjxZ6S83qhXsnVFX3wibhV927jS9zX1rdSGOdavNqFjLt19nNn4iGRtCnS\nwr0iBKyDnYX6ehHLE1/2sn893QVFA3+Fx3Vv4N1t7VG8hNuE/4IDsVr4rk48h/EO/ceJpTrT1t/C\nN13q1ys34K2sPoGjhL0ayS+P4Glc1NZ/Pq6sIK8pF5FzqNigV2ftC8WXW/pkmiqbtlVEDmMiVUds\nFJuye/83bhJRUJ7b/SW7nq6BsPMKC+/If2N5BZmpZvAG1fIRn5p/AhzH9yLvW4oUM/gjbFzg3iz2\nJBijCuN4HreLY3MZNmJHof2rSAX8WFaJFAbe0aZMCvIV0Atb8HHFdzt9nq+rCFqsCfc7RDasKhfj\nDfyRRp3qLFYD9xLnrhK/Mkwn0qUnFquBe2FSxNCLgkH748nV4pfd43EGLhAHoL3qO/3tUywX4V1e\npnGdzqfFvjBoLmKPSHHO4Ghh5JPEkb0R6soHN82Y+cf2XQpJ8CFDhgwZsm/wD9hYqaXTKEKLAAAA\nAElFTkSuQmCC\n",
234 "text": "2\n \u03c0 \n-2 + \u2500\u2500\n 4"
235 }
236 ],
237 "collapsed": false,
238 "prompt_number": 15,
239 "input": "integrate(x**2 * cos(x), (x, 0, pi/2))"
240 },
241 {
242 "cell_type": "code",
243 "language": "python",
244 "outputs": [
245 {
246 "output_type": "display_data",
247 "latex": "$$9 \\operatorname{f}\\left(x\\right) + \\frac{\\partial^{2}}{\\partial^{2} x} \\operatorname{f}\\left(x\\right) = 1$$",
248 "png": "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\n",
249 "text": "2 \n d \n9\u22c5f(x) + \u2500\u2500\u2500(f(x)) = 1\n 2 \n dx"
250 },
251 {
252 "output_type": "pyout",
253 "latex": "$$\\operatorname{f}\\left(x\\right) = C_{1} \\operatorname{cos}\\left(3 x\\right) + C_{2} \\operatorname{sin}\\left(3 x\\right) + \\frac{1}{9}$$",
254 "prompt_number": 16,
255 "png": "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\n",
256 "text": "f(x) = C\u2081\u22c5cos(3\u22c5x) + C\u2082\u22c5sin(3\u22c5x) + 1/9"
257 }
258 ],
259 "collapsed": false,
260 "prompt_number": 16,
261 "input": "eqn = Eq(Derivative(f(x),x,x) + 9*f(x), 1)\ndisplay(eqn)\ndsolve(eqn, f(x))"
262 }
263 ]
264 }
265 ]
266 } No newline at end of file
This diff has been collapsed as it changes many lines, (671 lines changed) Show them Hide them
@@ -1,505 +1,166 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>teleportation</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Teleportation&lt;/h1&gt;</source>
10 </markdowncell>
11 <codecell>
12 <input>%load_ext sympyprinting</input>
13 <language>python</language>
14 <prompt_number>5</prompt_number>
15 <collapsed>0</collapsed>
16 <outputs />
17 </codecell>
18 <codecell>
19 <input>from sympy import sqrt, symbols, Rational
20 from sympy import expand, Eq, Symbol, simplify, exp, sin
21 from sympy.physics.quantum import *
22 from sympy.physics.quantum.qubit import *
23 from sympy.physics.quantum.gate import *
24 from sympy.physics.quantum.grover import *
25 from sympy.physics.quantum.qft import QFT, IQFT, Fourier
26 from sympy.physics.quantum.circuitplot import circuit_plot</input>
27 <language>python</language>
28 <prompt_number>6</prompt_number>
29 <collapsed>1</collapsed>
30 <outputs />
31 </codecell>
32 <codecell>
33 <input>a,b = symbols('a b', real=True)
34 state = Qubit('000')*a + Qubit('001')*b; state</input>
35 <language>python</language>
36 <prompt_number>7</prompt_number>
37 <collapsed>0</collapsed>
38 <outputs>
39 <output>
40 <output_type>pyout</output_type>
41 <text>aβ‹…β˜000⟩ + bβ‹…β˜001⟩</text>
42 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUhnQUFBQVZDQVlBQUFDTkRpcFdBQUFBQkhOQ1NWUUlD
43 QWdJZkFoa2lBQUFBNFZKUkVGVQphSUh0MlYySUZsVVl3UEhmNm9vdFdheGwwR0pGaEZGU04yWkZG
44 eFpiaExCUVVWMVVrZ1FSVkpjRjFVVlJ2QmRGQmRFWFhaUjYwUWNaCkVVR0ZXTjBGa1JYUjUyWW9T
45 bXowWWZSQkJJcFpaRjJjTXpDZW1Wbm5mWGRPYXJ6L216UG5tZWZNUEI5bnpweDVoaUZERGtQV1l1
46 bWgKTnVJd29qRWU4d2U0MkYxNEw1R3R3WDFZZ2RVNEhsdHJ4bmFsTjRNYnNXVUErL3ZsSHJ5SVIv
47 RXB0aWZuLzR0NHdGRjRFOXZ3UTNKdQpSb2Z4NkNYOXk3QXJHZ2ZIeGh0ZW1WbXZoOUcrTEIrY3Rk
48 aGZzaW0xbzB6WGZvN2lBaUc1LzhUak9ubzZpa2N2NlcvQk00bnNDZnlHCmhSbjF6c0ZWYlkwdU1T
49 SThNZjN3dE9ZbnE1ZjB1L1J6SGpiaGNieGs5Z1FQR284S3ZkTHhxbmpUcXhPZHFTaS9KSk5ld2Yz
50 OW1RN0cKOFZxZlk3WUtTYTZqVnpyTzVTZmNhdllFVXhPUGViTW90MkZsYkhjazhwMnhuY3lrVjVZ
51 dk83aVpjMklKbHVQZEZycTUvR3hMSlI1MQpDVjZCQi9BSW5zUGwrS0RoZ2lmR2RuY2kzeFBiaVV4
52 NkJTL2oyZ2JidW1LVnNLeVBZUjAyQ2t0bVhleHkrZG1XU2p6U2wvSnFQSTl6CjhSM093aWQ0cCtH
53 Q2hhRjdFbm5SSDgra1Y3QVhSemZZMWhVWHhYWUVOOGZqYVdIMy9GQ2ltOHZQdGxUaVVaNkZwd292
54 OGp1RTVCTGUKUGJzMUwwLzdZcnMva1M5STVGM3JGWXdKVHVYa1F1RXphWDFKdGwzOWhpYVhuMjJw
55 eEtPYzRJZUYzZHVySmRseUhLYzV3ZE1OOG1JVwo3Y3FrVjNDTnNDemxZcEh3eW5vN2tTL0Q0aHI5
56 WEg2MnBSS1BZb2tld2NWNHk0RXpZQkovNHNPR0MzNFIyOFg0cFNSZkZOc2ZNK2tWCm5DSHNFK280
57 R3k4SXZwV1pqMVB3V2MyWWJiaXUxRDgvNnBjbitNSjQzMDAxNDNQNTJaWktQSW9FbjRrVFZKMmV4
58 RWY0QTZmaDYrUjgKWWVqSkR0d1JuaGZiNlV4NmhPKytqelh6cGZydjNYRThxMXBRcU9OMDRiMzRU
59 VWsySlZTVjZqNjFjdmpabHRwNEZFdjA5OEtUdXJOMApia3hJY0ZIK3VxM21vcjhMems4bDhrdnhG
60 VFpuMGlQczdsK3ZzYWxMZHVCYjRmdXo0QWJoUWRoWW81L0R6N1ljTkI2YmNXODhYaUJVCldYN0du
61 VGdwdGxRck4ydUVaV1pKN0UvZ1Y2RzhsMHZ2bUpJOS9kSlBvV01VUDhYN2lUYk1DRXRoUVM4WjAz
62 VThDdTRXSnRvVk5lZGEKeFdOQzJQWS9KVlJ0bGdvN3hmZUZDa214ZGIrOVp1eE5RdEFld3h1NHBl
63 RWVYZWxkTHl4dmc5QnZKV3NsbnNRR1lkS25mMjF5eCtNVgpmSTYvaFFUdkZYNTZQRmpTbVVzOC9u
64 Y01VcW84WXBscnFmSkk1Qytob0Q5a3lKQWhRNFljU3Y0RlBRNHo3WW1kVjdrQUFBQUFTVVZPClJL
65 NUNZSUk9Cg==
66 </png>
67 <latex>$$a {\left|000\right\rangle } + b {\left|001\right\rangle }$$</latex>
68 <prompt_number>7</prompt_number>
69 </output>
70 </outputs>
71 </codecell>
72 <codecell>
73 <input>entangle1_2 = CNOT(1,2)*HadamardGate(1); entangle1_2
74 </input>
75 <language>python</language>
76 <prompt_number>8</prompt_number>
77 <collapsed>0</collapsed>
78 <outputs>
79 <output>
80 <output_type>pyout</output_type>
81 <text>CNOT β‹…H
82 1,2 1</text>
83 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQWNDQVlBQUFDWGt4cjRBQUFBQkhOQ1NWUUlD
84 QWdJZkFoa2lBQUFCTmhKUkVGVQphSUh0MkhtSVYxVVVCL0RQakUxWnBwWVUyVGF0YWxGRW14VzAw
85 MElMSWtVVVdVRUxHclRRUmhHbFFkRktrVzFpQlNHMldCRmFFcEpaCk5HV203VVpobTBVYmJiUkhX
86 UlExL1hIdWo5K2JOKy85Zm0vRzBiYmZGeDd2M1hQT1BmZThjKzg5NTl4TEMvOHFqTWI1ZUFqUFlR
87 Rm0KWVN1MFlTWkdKdG5OMElYbDZNYkxCZnJHNHUzRTc4WjdPREFuMDQ1ak1BZjNwR2NCcnNZNk9k
88 bXVwT2RyUEpYa3ZrdTBkekUvMFQ5Swp0RXY2OVBmTnNTY1c0dHVNSGMvajZNU2ZKUHoyVytKL2hH
89 ZXhiVjhIR29TTDhSbk93S2dNYjNNOGpSbkN1WGxjZ05lVEFYdVY2Ty9DClVRWDByYkVNMHpFa1Er
90 OFFDK0hkTkQ1c2dxK0VVL0s2ZjhmNkdkb2FlQklubGRpenNyaGQvTzh1SmZ4MzhJM2VDNm9TT3JF
91 RUgySzcKRXBsZGt3RzNGZkJtWWUvRW4xblMvNzRDMnViNEFDZVg5Rms3MlRRbnRjL0IrSnpNbWxn
92 aDdNL2pNcjBuYjZDd0RKK1g4RFlXdm5pNApQNHJYd0F2Q01SczNrZjFTNzFYZWhnZlQ5eXY0QlNO
93 eU1pTndTNDQyVXF6K081cU1lWS80dVMzU09JTnkvTnBDdUs2Zzc2MTY3cHFCCndnWnB6RmtsL0Ft
94 SmYyNFZaZTI1OWhYWUExT1V6M2dOeTBWNHlHSkhzVnFJc0RNWXArUms5c1dpVEh1WUNDZnJWakQ2
95 dmZUZUdmUHcKUjQ2L2Yzb3ZMT2o3aXNndkE0MzkwanZ2aXhvT1NPOGlteHBpRi9HRHkvU2VxQ0lj
96 VjBBN1U5MHBRL0M5bUxpMmpNeU42b1VBWENoVwowRFVWeHJ3N3lSYU5UU1R4UHpDOGdxNkJ3czND
97 cGxFbC9PWENEMVY4MmdPWEpzVVQrMjFhNUl6Qm1mWXRTZWNoR2RyOW1lOTJmSnhrCnhsVFEvM0tT
98 M2JLQU53Zy80dFhxNWc0SWx1SlhzUmp5ejlQQzNubjlVZnhZNnJ6YlNoajNZSzY5ZmRKWlM4VERS
99 RVZTdzFhSi8xVUYKM2V1TG5GUVdTbmRQdW02cWF1d0FZRDJ4SS9QL1hVTXRmMXhVVldGMkcrMkpQ
100 L0ZtaFg2akMyaWp4UGJNNGkyeFNzWmhVK3lEeFJsKwpyUjcvb01LWVo0amRONmVFWDR2bGZZN1ZL
101 NEY5aEE4WE5lRFRUNXVXaWxxNUdUWlVITzlQdzZFRjlHUEZLcmtjMStvWmJuWkt2Q2VhCmpMa1d2
102 aEFUTjdSRTVwR2thOE1tdWdZUzE2Y3hkeTdodjQ2ZlJQWGFaMHhOeWp1YnlGMk9qUXJvZDRsS0tZ
103 OE80Y3hQTVR2SGF4ZVYKejg5NjVwNDhyaE83OTRBU2ZwczRKVmZaM1oxNG9JTGNCRXdXcGZobGVw
104 Zll4QkhoQjhVSmU3Z0laNDBXVzBOYjloTEo2ZUlHQ2s1UApUeEhLNGloY0tTYjczZ0xlbllsM2VF
105 bmZDOFJoNzlRRytuZE1PcVkza0JraUhIeXZldmxjaGlQVnoxanRlQWJUY2pMcmlodUIrU1U2CkRr
106 ODJUVjRaV3c0VFAzKzJPQm5YTUVhRW15TksrcDJBUnh2bzdSU3JaVklCcnlQMVhhem5JWElMc1J2
107 ZndBNk5qQlkvMTQwVG04akIKd1pwUHlGUThubW1mS3c3Q1dZeFBZMDVwb0tOYithNnVhb3V4dUVG
108 Y2dpMFFwZXhrVVJIbGNRVGVWNzhzWENyeVFoSG1LQzRHaUJ4eApuZ2g3TTlJelhkdzlyVjNTWjZJ
109 SUIwdEVPT3NXWWZFcDVhZG1xam1oVTg5cmxxdndXdnFlaEJkRnFPb1dWVjhYdGtuOGFjSVB2eWYr
110 Ck81aXI1MW1zTDdiODU5RlhKd3pGSjZuZktyZWx6NmZIL3huYXhVNDlTMXp2ckpZQld5akhGSEUx
111 TWxma3RGV08xb1RVY1pBb01HcVkKS0s1NVhoTHh2MUdWMTBJLzBDWk8rN05GSlRsRi9YVGZJWkww
112 T2FsOXVucWhVbnZtcmc1YmlqTC9meGtqYyswVjRrS1NtSlRqeFkzeQpjTDJydTZ6c3FyYWxCZUdn
113 Y1grM0VTM1VjYVpXVHYxSG9WOFhnQzIwMEVJTExiVHdUOEZmaVpFbWFBajJUQThBQUFBQVNVVk9S
114 SzVDCllJST0K
115 </png>
116 <latex>$$CNOT_{1,2} H_{1}$$</latex>
117 <prompt_number>8</prompt_number>
118 </output>
119 </outputs>
120 </codecell>
121 <codecell>
122 <input>state = qapply(entangle1_2*state); state
123 </input>
124 <language>python</language>
125 <prompt_number>9</prompt_number>
126 <collapsed>0</collapsed>
127 <outputs>
128 <output>
129 <output_type>pyout</output_type>
130 <text>⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽ ⎽⎽⎽
131 β•²β•± 2 β‹…aβ‹…β˜000⟩ β•²β•± 2 β‹…aβ‹…β˜110⟩ β•²β•± 2 β‹…bβ‹…β˜001⟩ β•²β•± 2 β‹…bβ‹…β˜111⟩
132 ───────────── + ───────────── + ───────────── + ─────────────
133 2 2 2 2</text>
134 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWRvQUFBQWtDQVlBQUFBdUMvdHlBQUFBQkhOQ1NWUUlD
135 QWdJZkFoa2lBQUFDS05KUkVGVQplSnp0blhtc0hWVWRnTC9YdnRaSGkreG93UUlQMlplMk5oQUtH
136 QXVJL3lDeVEwRWlvcktvQ0VTVWFDeUIzaGl3aEQ5WUJBT0VDQnFOCkJNSWFkaFR5RUlHZ1JsRmtD
137 UUt4RVdWVkU2VktDKzN6ajk4TWQrNlpNL3M1TSsrKzgvdVNtL2Z1T2I4N2MrWitjKzZjZTVhNW9D
138 aUsKb2lpS29paUtvaWlLZXlZZFBKVGg0U09vODVCUTMyR2duaXV3SFREVzhqNXZBVFpyZVorS29M
139 N0RRbjJIZ1hydWdCa2xZdVlESndLLwpCZWI1TGM0QWk0RlZ3RDliM0tlaXZrTkRmWWVCZXA3aUhB
140 SXNRcjY2ajdlNDM1OGlYUTVLdTZqdnNGRGZZYUNlTzJTMFJNeDkza3VSClptZGdOZkMzRHZZZE91
141 bzdMTlIzR0tqbklhSE5sdEIxd0U0dDdVdXhvNzdEUW4ySGdYcnVnREpqdEcyekRUSlkvK2V1QzlJ
142 Qkh3ZDIKNkxvUUxhTyt3eUpFMytvNURKeDRicXNsZERud3NaejhoY0QzZ2R1QTd3QjdPTnJ2NXkx
143 cDIwZjd1aGhZRHV5ZjhWcFhjUnRFNlZPQgpFSDNISEEyY1ZtSWJSWEhxTzQxcjM5OUFKdmc4QlJ4
144 dXlXK2pYc2RrblEvcTJVNFYxMFdlSWJ0T3U2clBSWEZPUExjaGFFdGtLbmdXCmh3TjNBSHNoTStk
145 V0F2OERqbkN3NzU3eGZEN3dEMkJwOUh3ejRFWGdVTTl4NTlIKzlIc2JvZmtHbUFrc0E5Wm01RmVK
146 VTk5cGZQaysKRWluLzdwYThudkhjZFgyRmN1ZURlaDZranVzOHo1Qis3MTNXNTdKeGpUelBSZzV3
147 bDdvYktNbUZ3Q2N5OHVZQ2Z3STJOZEx2Qjk1RAoxb2Mxb1djOHZ4eDR3a2hiZ1ZTK1RUM0c3UUtj
148 VkxiUUJxN1dxb1hvKzBKZ0F2bUFtTFRrVjQxVDMybDgrZTRCYndJakdYbEpYTmZYCnN1ZURldTVU
149 MTNXUGJNOXhmcklNRTdpcno5NDlud3hjaTdRK2JnQytYbWNqSmRnSXVDc25meW53Q25DOGtmNFY1
150 TUJQYmJqL1h1TC8KelpIWmNpdU1tQ1hSdnBaNWlvdTVxRnJSMytjWE5WK1hKRVRmU2NiSnIwaGw0
151 dFIzR3ArK0h3WnV6OGpySmY3M1ZWK2gzSG1qbm9XNgpydk04Zy8yOUg2ZDVmYTRhbC9KY1pqTFVq
152 NEV2STEvYnY0aTA5T3J3TGVEOG5QeXZBbGZuNU05RTFtTjl6VWgvSmZxN1o4MXkyVmdDCnpFSEdB
153 NUxFencvMkZCZnplNHJITjJ5VVdhNVZSSWkrWGFPKzAvanlQUXQ1dng4dFVVWmY5YlVzNmxtbzQ3
154 cUs1NjVKZVc1ajF2RW8KY3ZWZkJKeUJ2R0VtWThCQndMMDUyNWtBRGtOYVprbDJqUDcrSWVOMVkw
155 Z0w5QkxnTXVDanlPQjczckhIZDA1NTIwaGZBNnlqMzdYaApPaTdtVHR5TVEzWkIxNzdqN1ZkMTdo
156 TDFQWWhQMzNzakY4VlZpT3Zya0F1S0RWLzF0U3pxV1ppZ3V1c3FucnNtNWRsRlM2bUk5NUN2CjBs
157 c0RMd1BIQVQ4ellyNkVkR2ZrTVFuY2JVay9BUmszc1hWWHpBTitEWHdiYVlrdFFGcEVrOEQ2bkgz
158 RkZXMjFKVzgxc0ltbnVKaDMKa1l2Q0tQTCtEUk5kK29iNnpsMml2Z2Z4NlRzZUMxeUt6UGhjQi93
159 dVNydldpUFZWWDh1aW5vVTZycXQ0N3BxVTU3aUY3K0tYRmZKKwphZUZkcENWeUYzQ1drVGNLSEVY
160 eExEVWJSd0Q3SUYwUWJ4bDVzNENibzMzZUdLVTlEYnhLY2ZkRDNBQ3hWWWFSUkw3cnVDU3pNdUpk
161 Ck1CMTlRelBuTGxIZmZYejZCdm5nZlJ4Wi9yRWFlQWY0RGZaeFBwLzF0U3pENWpucDJwZG5LSFpk
162 eGZOVVlNQnpmS0VkOGZDd2NTV3cKTDlJTkVQTlo1TU54WGNVRDJRcHB5WndKM0dUSlB3ZHBCU1Zi
163 TzdPUnFlRkZIN3JQNU9UTkJWNzNGQmV6QVBoalhnRWJNaDE5UXpQbgpMbEhmZlh6Nm5vSGNKT0FP
164 WS92enNYZnYrcXF2WlJsR3p6YlhMajFEc2V1cW5yc201Ym1OcnVNa0R3SFBJcTJoa3hHSkp3R2Zx
165 YmlkCk1XVDJXUSs0SmlQbTA4QUxEQjd3RW1SUmNkR0hidnlhRFkzMER5RFNYL1VVRjNNTThMMk1z
166 bjBJNlo2WmFjbGJpRXlSTi9sdnRFM3oKbTRodjJ2UU56Wnk3UkgyMzQzc1BwQnYzbDBiNjdsRTVU
167 SHpWMTdLbzV6UmxYRmYxM0RVcHoyMWZhQUd1UWdhenowVmFLZmNqQzRETApNb0xNb0xzNitodXpI
168 LzExYjJOSWk4dnN4amdRK0JleWhtczIwaFZpTzBsZlFrN2liWXowUFJQNVB1SkFLdmNhc3QrVE41
169 QlpnN2FKClBiY0JYN0NrcjZYOXloalRobTlvN3R3bDZ0dS9iNERka09OOE9wRzJOekxHK2dQTHRu
170 M1UxN0tvNXpSbFhWZjEzQ1ZXejEzYzYvZ24KU1AvNjZkR2o2a0QyU3VCQkJzWE1aM0RLL1hya1lK
171 OHpYbnNROEJqOWRWQnpNL2F4SHVrK01tKzU5aW5rN2lVLzlCUUhNaUhnUnZKNQpBM2pOOGxpYmtk
172 N2xiMEcyNFJ1YU8zZUordmJ2RytRNC80NWNGR05PUUc1cWNJVWwza2Q5TFl0NlRsUFdkVlhQWFdM
173 MTNNV0Y5bTNnClI4aTlMWi9FUHJNdmk5T1JieTBqeUNENHFjZzlKMWNBenlmaTFnTDNJTjB4TVdj
174 Z3QvdDZFVG51RWRMVDk1TmNCWHdPMkRoNlBnTVoKN0w4ZXFSQys0c2FCditTVWE5aG93emU0Y1E3
175 OXJqdmI4b1VxY2VyYnIyK0FSNUNlakRuUjg4WFJhMDRCL3BPeEQ5ZjFOYWJvZkJoSApQU2VwNHJx
176 TzV4aFg5YmxzM0RnMVBXK0ozTDl4SmZCZCtpZGVFM1lDL2syMVc0c3RvZC90WjNzc01PSjNSazZF
177 QzVBMVY0Y2hyWTFWClNKZkhZaVArQXNzK2x5UGZoczVCQnZwdkpYM2JNSmR4KzFCdm5DTm1vc0Zy
178 WTRiVk4xUnpidnBlRnIzbXVXajc3eUF0MDh0cXhvSDYKOXUwYjRGaGtiTzhpNE9mQUFVYSs3M3Bk
179 NW54UXo0UFVjVjNrR1FaZHU2N1BqVHhuelI2TUdVVm1tSjJOdkRITGtVSHZSVlR2anpmWgpHdWtP
180 S01zOFlOZWMvTWVRTXBwOEdPbGlpTmRRZmhBcCt4b2piZzZEWFJOSnRrT21uQmUxMnByR2JSaWwx
181 UjEzbVVER0pPc3lIWHhECk9lZW03MjNKL3NCNHFrWmNFdlZkVEJQZk14RW5iMXJ5Zk5mck11ZURl
182 aDZrcnVzOHp6RG8yblY5OXVwNUlmQlg1SFpaQUZ0RUcvbGsKMVEwcHJkRDBucWpxZTdoUTMyR2du
183 cWM1WThBM2tlVVJJQVBWa3hUL0xxUFNEVTEvNVVOOUR4ZnFPd3pVYzJEMGtQN3hMaVpSS2UzVApR
184 MzJIUkEvMUhRSTkxUE9VWlYvZ0FlUm5rSlRwai9vT0MvVWRCdXA1Q3JNcmNDbXk0SDhHTXJsRW1i
185 Nm83N0JRMzJHZ25xY3cyeUkvCkVoelBVTjZQK3IvSHFFeDkxSGRZcU84d1VNOGRVclM4WjNQZ1Z3
186 d3V6dDBFdVJYWmE3NEtwWFNHK2c0TDlSMEc2cmxqaWk2MEc1TmUKUER5SnJITlNwaC9xT3l6VWR4
187 aW9aMFZSRkVWUkZFVlJGRVZSRkVWUkZFVlJGRVZSRkNVWS9nKzhSYjJOdW0ycENRQUFBQUJKUlU1
188 RQpya0pnZ2c9PQo=
189 </png>
190 <latex>$$\frac{1}{2} \sqrt{2} a {\left|000\right\rangle } + \frac{1}{2} \sqrt{2} a {\left|110\right\rangle } + \frac{1}{2} \sqrt{2} b {\left|001\right\rangle } + \frac{1}{2} \sqrt{2} b {\left|111\right\rangle }$$</latex>
191 <prompt_number>9</prompt_number>
192 </output>
193 </outputs>
194 </codecell>
195 <codecell>
196 <input>entangle0_1 = HadamardGate(0)*CNOT(0,1); entangle0_1
197 </input>
198 <language>python</language>
199 <prompt_number>10</prompt_number>
200 <collapsed>0</collapsed>
201 <outputs>
202 <output>
203 <output_type>pyout</output_type>
204 <text>H β‹…CNOT
205 0 0,1</text>
206 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQWNDQVlBQUFDWGt4cjRBQUFBQkhOQ1NWUUlD
207 QWdJZkFoa2lBQUFCUkZKUkVGVQphSUh0bUh0b2wxVVl4eitibDVWbVpuTW02N0pSaWpiSk1JMGtt
208 MFhEZ3NLa0RBb21XZWlLWmdaV1loY29xY1lLUW1vaHExYmtwVDhhCjNZZ3V0ckxhVE12U3dLNjJM
209 a2dYUXduc1p1THNzdjc0bnBmZitaMmQ4Nzd2ZnZ1dEhQdDk0Y2ZMNzNtZTk3bWM1enpQZWQ0REJR
210 d0kKdkFCOEFYUURmd0k3Z0JiRHF3RGVCblliL20vQU5tQkpML1FmQ1N3QVZnT2JnRGFnSGJqYzhP
211 Y0F5eTM1aDRHdHdGL0EzOEJVajg0Tgp3QUhqMDgvQUtvL01aT0JSNEJuZ2NlQlZvQlU0TGVEblFx
212 T3ZDOWdPdkFic05MUmZnSTNHOXcrQmY0QXZZMkx1TTJZYXd3OEYrTGNaCi9oVTU2TzFFQ1Q0UEdH
213 N29Sd0FQQUE4Qys0RnpuUGZHQWg4Wm00OEVkRitOTmxPUlF5OEdtczM3YmpJdlFZbTh5cU92RGJq
214 VDhoRXkKU2JyQlkvdk5nRjk1d1hKaitNSUF2dzN0MWpHOTBOa0FIQUp1RFBDSG9HcjdIUmptOEM0
215 RmFvSFBESCtVNS8yYmdPa09yUWdsZndOSwp1Zy8zbzBvdnQyaWxxSkpjUElIV1paSkRQd2tsdmQv
216 d01scThrUjdlTUxTTGQvUkNYejBLWkVHQ1hBUHdpb2UrQ2pnQldHcjAxSHRrCjFxR2sybWhDN1hW
217 c2pNMGFvL011aTFhSGZ6TitCZXp4MEtjRHkySnM5QW5GcUE5dkNmRFBSZ0UwcGRRM0JiV0Y5aFN5
218 aS9BSEZ1M1cKMGNBZndDY092d2hZNzlEdU1YN09TN0JaWWVTZXMyZ0wwVHJZS0RkeXZzcVpBcHla
219 WUNkblRET0dHd0w4T3d4L2ZrcDkyNHk4ZXk3NApjQlpRNmRDT1JvZHdoQmFQdnFuQXJkYi9jbFRo
220 UDlDemFseWNiL1J0U0pDNzBzZ3RUWkRMR1VNRDlObm1lUUU5ZXpMQURQUGNsTUxHCmNVYitBMkJ6
221 Q3ZuM1BiUlpaRmRyTTdBWXVON1NlYTdqVHoxcXJldlJXUmVIcWhqYk5xSjE2VWlReXp1ZVJ5UG1V
222 UjdlVU5ReVBrK3AKYXo3YVZYMDU4QnFCVXh6YVZqU09scG4vYThrZUJEcU0zWXRUNkc4bGZvQ0o4
223 Q213ajU1VFhON2c5a2lNc1dvMEl1NzM4TThBUnBDdQpPa0F0Q0JSTUVzcndUMjBuQTk4NHRHWTBq
224 aTR5LzRlamI2WUlFOHh6VjRMTkN1QXlZQy93Ym94Y0thcWt6U2g1L1FKZlFxclFSUEpPCjRKMm9i
225 NmN0MjIvTjg4Y1VzcmVUdmFpZ2o4Z0RIdGxXdEZ1dlF6NTNPdnk5NXZscmdzMWxxT3JyMERnZFFq
226 WGFyR2szWWs3d0pTVHEKazZGK1A4czhiY2VHb0o2K0JNMzBjeXhldTNsT1MvQ2xDdTFtdHlwbjR1
227 L3RCNEUxYUFCb3BPZENSUnVxSnNibURKU0lKNEdYRXZ5TAoxc1dYa0xqNDQxQUNQQVVjSHlmME5D
228 cko4UUgrSHVCcmgzWU4rc0tPbk9zRUpwci9SV2pLK2hpMU9oOG1vY1V0OGZCV0FxY0czcHVJCnJp
229 d09vVXF5TVJ1ZGc2MkJkeWNEUHdIUDRqOHJYV3hIRmVRYmhPTGlENkVPdUJ1dGRXVklxQVF0dU51
230 dkk1eHVGS3h4NkR2UjZCamgKTVhUbEVHRU1Tc3BiWk8rR1k5RFhkeVBaMXhNUnhnSGZrem00Zlhp
231 RGNPK3ZSWXRvVjhrSU5HaDBvaWt0RFNwUWNqY0crRW54eDhHYgprQXBVaXJ2SVhDaHVJZk0xUEJk
232 NEQrMm9idFM3TzFEN0tqYk8ybGNKSzlHZGtvM1J3QzNBaTJnRVhvYytMQy95T0ZsaTdCMDA5bllE
233 Ckt3SUJ6UVB1RGZCQW8vdHExSlphVUl1NG1lUWRYRW5tMGpPS3V3dTE4dGZSY0FQcDR3OGh0a0p5
234 UWFsUmVxSkZXNEdxWVRDZ3IvRm4KSmNSM3FQY1crOUFrWTQrQ0l3MTlNQ0N2OGVjaklkM29rbkdj
235 UlJzUGZKY0gzUU1CZVkwL0h3a0JqYVgyb1ZhRERyYkJncmo0SjlEegpscUhmTVFvZGxvdUIrNEJy
236 LzJzSC9tZkV4ZCtFUm40WGM5RjAyWTJHamRyK2NNejNIVEdZNEl1L2lNejFqbzFqVVd1TGZtVVF2
237 dTNOCkZWMTUxamZRNEl1L0cvLzEvMkFaZWc0N1ZLTVA2Z0lPRStTN0N4VlFRQUVGRkZDQUYvOEN2
238 UXNwZWZhNEw3Y0FBQUFBU1VWT1JLNUMKWUlJPQo=
239 </png>
240 <latex>$$H_{0} CNOT_{0,1}$$</latex>
241 <prompt_number>10</prompt_number>
242 </output>
243 </outputs>
244 </codecell>
245 <codecell>
246 <input>circuit_plot(entangle0_1*entangle1_2, nqubits=3)
247 </input>
248 <language>python</language>
249 <prompt_number>11</prompt_number>
250 <collapsed>0</collapsed>
251 <outputs>
252 <output>
253 <output_type>pyout</output_type>
254 <text>&amp;lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x3b9fb90&amp;gt;</text>
255 <prompt_number>11</prompt_number>
256 </output>
257 <output>
258 <output_type>display_data</output_type>
259 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVE4QUFBREZDQVlBQUFCS0szZFlBQUFBQkhOQ1NWUUlD
260 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQURXZEpSRUZVZUp6dDNIdE0x
261 ZlVmeC9IWEY4VUJKUXFLNVdYY3RkUktYZGswd1lPdVRJM21hRzdaCi9LT09XNWsyTjYyeE5aZTF0
262 VGxuRjd0S1NmbEhseldGdFJwT20rWUVGTHgwTkdNMVorUWYzcVoyRksvakpzam45MGV6Nlk5ekVE
263 NXgKK1BJOVBCL2I5eDgrbkcvdmJ3ZWZmQzlISFdPTUVRQjBVWXpiQXdEd0p1SUJ3QXJ4QUdDRmVB
264 Q3dRandBV0NFZUFLd1FEd0JXaUFjQQpLOFFEZ0JYaUFjQUs4UUJnaFhnQXNFSThBRmdoSGdDc0VB
265 OEFWb2dIQUN2RUE0QVY0Z0hBQ3ZFQVlJVjRBTEJDUEFCWUlSNEFyQkFQCkFGYUlCd0FyeEFPQUZl
266 SUJ3QXJ4QUdDRmVBQ3cwdC90QWRBOUxsNjhxSktTRXAwNmRVcU5qWTBhUEhpd3BreVpvc2NmZjF3
267 eE1meU8KUVBmanA4cmpEaDgrckVXTEZpa3JLMHVWbFpXS2o0L1hCeDk4b09ibVpoVVdGdXErKys3
268 VHVuWHJkUFhxVmJkSFJaUnhqREhHN1NGZwpwN2k0V0crKythWldyRmloUllzV0tTVWxSWkxrT0k2
269 TU1UTEdhTisrZmZyd3d3LzErKysvNjZlZmZsSjZlcnE3UXlOcUVBK1BLaTR1CjF0cTFhN1Y5KzNa
270 bFoyZmZ0bll6SHJmNitPT1B0VzdkT3UzYnQwL0Rody92eVZFUnBZaUhCeDArZkZoejVzeFJWVlZW
271 dTNCSW9lTWgKU2F0WHI5YjI3ZHUxZS9mdW5oZ1RVWTU0ZUpEZjc5ZTRjZU5VV0ZnWWNqMWNQRzdj
272 dUtIczdHeVZscGJxa1VjZWlmU1lpSExFdzJQcQo2dXFVbloydHYvNzZTME9IRGczNVBlSGlJVWxy
273 MTY1VmJXMnRObTdjR01reDBRY1FENDhwS2lyUzNyMTc5ZTIzMzRiOW5vN2ljZjc4CmVXVmxaU2tZ
274 RENvdUxpNVNZNklQNEZHdHg1dzhlVkxqeDQrM2ZuMUtTb29HRGh5b0N4Y3VkT05VNkl2Q25uazRq
275 dFBUc3dEd2tMQ2YKTU9WcXBuZDY2NjIzWkl6UjIyKy9IZlo3T3Jwc01jWm82TkNoT25yMDZMK2ZD
276 d0ZzY05uaU1WT21UTkhXclZ1dDQzN2d3QUVsSlNWcAp5SkFoM1R3Witocmk0VEZQUHZta0xsMjZw
277 RUFnWVBYNm9xSWlMVm15aEwvdmd2K01weTBlOU82Nzcrcnc0Y1A2N3J2dlFxNkh1Mnc1CmUvYXN4
278 bzBicDJQSGpuSG1nZitNWHo4ZTlPS0xMK3JRb1VNcUtpcnE5R3ZxNitzMWI5NDh2ZnJxcTRRRDNZ
279 Sy9rdTlCZ3djUDFyWnQKMnpSanhneGR1M1pOaFlXRkhWNkduRDE3VnZQbXpkUEVpUlAxeGh0djlP
280 Q2tpR2FjZVhoVVZsYVc5dTdkcXg5Ly9GR2pSNC9XZSsrOQpwN3E2dW4vWGpURTZjT0NBbm4vK2VZ
281 MGRPMWI1K2ZuYXNHRURqK0RSYmJqbjRYSEdHUDN5eXk4cUtpclNEei84b0VHREJ1bjA2ZE1hCk1t
282 U0lFaE1UdFdUSkV2bjkvckFmWlFkc0VZOG8wdGpZcVBQbnp5c3RMVTNuenAxVFNrb0tUMVVRTWNR
283 akNuWDBJVEdndS9CckNZQVYKNGdIQUN2RUFZSVY0QUxCQ1BBQllJUjRBckJBUEFGYUlCd0FyeEFP
284 QUZlSUJ3QXJ4QUdDRmVBQ3dRandBV0NFZUFLd1FEd0JXaUFjQQpLOFFEZ0JYaUFjQUs4UUJnaFhn
285 QXNFSThBRmdoSGdDc0VBOEFWb2dIQUN2RUE0QVY0Z0hBQ3ZFQVlJVjRBTEJDUEFCWUlSNEFyQkFQ
286 CkFGYUlCd0FyeEFPQUZlSUJ3RXBVeENNNU9WbU80MFJzUzA1T2R2c1FnVjdITWNZWXQ0ZjRyeHpI
287 VVNRUEk5TDc3MjVlbXhmZTFOL3QKQVlBN2FXMXQxWll0VzFSYVdxcS8vLzViYlcxdFNrNU8xdHk1
288 Yy9YY2M4OHBJU0hCN1JIN3BLaTRiRUYwYW01dTF1clZxNVdSa2FIMwozMzlmTTJmTzFPdXZ2NjZL
289 aWdyTm56OWZaV1ZsU2sxTjFZb1ZLM1Rod2dXM3grMTdUQlRvNkRBS0Nnck0vZmZmYnh6SE1iR3hz
290 V2JpCnhJbm1wWmRlTXNZWWMvejRjVE5qeGd3emN1Ukk0emlPU1V4TU5KTW5UemJyMTYvdjlQNTdJ
291 Ni9ORzhxbFM1ZU16K2N6K2ZuNTVyZmYKZnJ0dDdkYmpPMzc4dUZtNmRLa1pQWHEwT1hic1dFK1Ay
292 YWQ1LzZmTTNQa1B5Lzc5KzQzak9HYjU4dVVoMTllc1dXTWN4ekVsSlNWVworKzl0dkRidi8ydHFh
293 akkrbjgrOC9QTExwclcxdGQxNnFPUDc5Tk5QVFVaR2hqbDM3bHhQakFoalRKKzRiTm05ZTdja2Fl
294 N2N1U0hYCnk4dkwxYTlmUDgyYU5hc254MElZNzd6empoSVRFN1YrL1hyMTY5ZXZVNjk1NVpWWDlP
295 eXp6MnJac21VUm5nNDM5WW1uTGZuNStkcTUKYzZjdVhicWsrUGo0MjlaYVdscVVsSlNrTVdQRzZO
296 ZGZmN1hhZjI4U0RBWjF6ejMzNlByMTY0cU5qWFY3bkM1cmFXbFJSa2FHdG0zYgpwb2NlZWlqazk0
297 UjdQNjVldmFyMDlIVDk4Y2NmR2pGaVJLUkg3Zk9pL3N5anJhMU4xZFhWbWp4NWNydHdTRklnRUZC
298 RFE0T21UNS91CnduVGRwN0d4VWZQbnoxZHFhcW9rS1NVbFJhV2xwUzVQMVhWbFpXWEt5TWdJRzQ2
299 T0pDWW1hc0dDQlNvdUxvN0FaUGgvVVIrUG1wb2EKWGJseVJYbDVlU0hYeTh2TEpVaytuNjhIcCtw
300 K3I3MzJtclp1M2FybTVtWkowcFVyVi9UQ0N5L296ei8vZEhteXJpa3RMWlhmNzdkKwp2ZC92VjBs
301 SlNUZE9oSENpL25NZU4rOTM3Tml4UXdjUEhteTNIZ2dFNURpTzU4ODh2dnJxS3pVMU5kMzJ0ZXZY
302 cit2cnI3L1c2dFdyClhacXE2NExCb05MUzBxeGZuNTZlcm1BdzJJMFRJYXh3ZDFJbGVXb0xwNkNn
303 d01UR3hwcjYrdnAyYTYydHJTWWhJY0dNSHorK3c3dksKYmg4YkcxdHYzTUpldHBoL0h1TjZZdXZv
304 R1BiczJhTUpFeWFFL0JUaW9VT0gxTmpZMkttekRyZVA4VTdiMDA4L3JmNzlieitSVEVoSQpVRlZW
305 bGV1emRXV2JOMitlTm0zYWRNZjNPOXpha1NOSGxKbVo2ZnB4OUlVdHF1OTVIRGx5UkhWMWRjck56
306 UTI1WGxWVkpjbjc5enNrCmFjT0dEVXBOVGRYQWdRTjE5OTEzS3k0dVRzdVdMZE8wYWRQY0hxMUxa
307 cytlcmMyYk4xdS9mdE9tVFpvOWUzWTNUb1J3b3ZxZXg4MzcKSFRrNU9TSFhxNnVySmNuejl6c2th
308 Zmp3NGFxdHJkV3VYYnQwNXN3WjVlYm1Lak16MCsyeHVtemh3b1ZhdVhLbFRwOCtyVkdqUm5YcAp0
309 UzB0TGZyaWl5LzA4ODgvUjJnNjNDcXFQK2V4WU1FQ2xaYVc2dXpac3hvMmJGaTc5WHZ2dlZlSmlZ
310 bXFyYTIxMmo4aVk5bXlaWXFKCmlkRkhIMzBVY2ozYysvSGxsMS9xbTIrK1VXVmxaYVJIaEtMNHpL
311 TzV1VmtWRlJYS3pNd01HWTZhbWhvRmcwSE5tVFBIaGVuUWtWV3IKVm1ucTFLa2FOMjZjRmk5ZTNL
312 blhWRlJVYU9YS2xaeDE5Q1FUQlc0OWpCTW5UcGpwMDZlYmpJd01FeE1UWXdZTUdHQ21UWnRtUHZ2
313 cwpNMk9NTVdWbFpXYnExS2ttSlNYRnhNVEVtT1RrWk9QeitVeDFkWFduOW8rZVVWdGJhOUxUMDgy
314 cVZhdk10V3ZYYmx1NzlmMjRmdjI2CjJiaHhvMGxKU1RHN2R1M3E2VEg3dEtpK2JQSEsvaEhhdVhQ
315 bnRIVHBVbFZXVm1yaHdvWHkrLzFLVFUzVjBLRkRkZlRvVVczYXRFbkYKeGNYS3lzclNKNTk4b2dr
316 VEpyZzljcDlDUEhyQi90R3hVNmRPcWJpNFdDVWxKUW9HZzdwOCtiTFMwdEwwMUZOUGFjbVNKWHJn
317 Z1FmYwpIckZQSWg2OVlQL29HdDZQM2lHcVArY0JJSEtpNW1tTDR6Z1IyM2RTVWxMRTlnMTRWVlRF
318 ZzFOWW9PZHgyUUxBQ3ZFQVlJVjRBTEJDClBBQllJUjRBckJBUEFGYUlCd0FyeEFPQUZlSUJ3QXJ4
319 QUdDRmVBQ3dRandBV0NFZUFLd1FEd0JXaUFjQUs4UURnQlhpQWNBSzhRQmcKaFhnQXNFSThBRmdo
320 SGdDc0VBOEFWb2dIQUN2RUE0QVY0Z0hBQ3ZFQVlJVjRBTEJDUEFCWUlSNEFyQkFQQUZhSUJ3QXJ4
321 QU9BRmVJQgpSRmh5Y3JJY3g0bllscHljN01weE9jWVk0OHAvR2JEa09JNjg5R01iNlhuZCt2L0Jt
322 UWNBSzhRRGdCWGlBYmprbVdlZTBkaXhZeFVUCkU2TUJBd1pvMHFSSldyeDRzU1RweElrVG1qbHpw
323 a2FOR3FXWW1CZ05HalJJano3NnFJcUtpbHllK2hZRzhCaXYvZGgyTk8vKy9mdU4KNHpobStmTGxJ
324 ZGZYckZsakhNY3hKU1VsVnZ1UEpNNDhBQmZ0M3IxYmtqUjM3dHlRNitYbDVlclhyNTltelpyVmsy
325 TjFDdkdBWnpRMApOT2o3NzcrWEpOWFYxYms4VGZlb3JLelVnQUVEbEpPVDAyNnRwYVZGMWRYVmV2
326 REJCelZvMENBWHB1c1k4WUFuQkFJQmpSdzVVbjYvClg1STBhdFFvYmQ2ODJlV3AvcHUydGpaVlYx
327 ZHI4dVRKaW8rUGI3Y2VDQVRVME5DZzZkT251ekRkblJFUDlIcHRiVzBxS0NqUTVjdVgKZGUzYU5V
328 bFNVMU9UL0g2L0xsNjg2UEowOW1wcWFuVGx5aFhsNWVXRlhDOHZMNWNrK1h5K0hweXE4L3E3UFFC
329 d0owZVBIdFhseTVmYgpmYjEvLy83YXNXT0hGaXhZNE1KVS85M04reDA3ZHV6UXdZTUgyNjBIQWdF
330 NWp0TnJ6enpDM3FhVnhNYkcxazFiS0FVRkJTWTJOdGJVCjE5ZTNXMnR0YlRVSkNRbG0vUGp4ZDN6
331 cTRkWXhoVDN6TUI3NitDK2kzOE1QUDZ5YW1ocmR1SEhqMzY4bEpTWHB6Smt6aW91TGMzR3kKTzNN
332 Y3A5M1hqREhhczJlUEpreVlvSVNFaEhicmh3NGRVbU5qWTZmUE90ejQ4OG85RDNqQ2xpMWJOR25T
333 Sk1YSHgrdXV1KzVTYW1xcQpkdTdjMmV2REVjNlJJMGRVVjFlbjNOemNrT3RWVlZXU2V1LzlEb2w3
334 SHZDSUVTTkdLQkFJNk1TSkUycHFhdEtZTVdOQy9rYjNpcHYzCk8wSTlvcFdrNnVwcVNlcTk5enRF
335 UE9BeGFXbHBiby9RTFNvcksrVTRUb2Z4eU03TzF2RGh3M3Q0c3M3anNnWG9ZYzNOemFxb3FGQm0K
336 WnFhR0RSdldicjJtcGtiQllGRFRwazF6WWJyT0l4NUFEemw1OHFSOFBwL0dqaDJyOCtmUDYrVEpr
337 OHJKeWRIbm4zOHU2Wi83T284OQo5cGllZU9JSk9ZNmpzckl5NWVYbGFlL2V2UzVQSGhyL0dCQVFZ
338 ZnhqUUFCd0MrSUJ3QXJ4QUdDRlI3VkFENGprWjFLU2twSWl0dStPCkVBOGd3cUwxbVFTWExRQ3NF
339 QThBVm9nSEFDdkVBNEFWNGdIQUN2RUFZSVY0QUxCQ1BBQllJUjRBckJBUEFGYUlCd0FyeEFPQUZl
340 SUIKd0FyeEFHQ0ZlQUN3UWp3QVdDRWVBS3dRRHdCV2lBY0FLOFFEZ0JYaUFjQUs4UUJnaFhnQXNF
341 SThBRmdoSGdDc0VBOEFWb2dIQUN2RQpBNEFWNGdIQUN2RUFZSVY0QUxCQ1BBQllJUjRBckJBUEFG
342 YitCNWhRSUJpc2s5VE5BQUFBQUVsRlRrU3VRbUNDCg==
343 </png>
344 </output>
345 </outputs>
346 </codecell>
347 <codecell>
348 <input>state = qapply(entangle0_1*state); state
349 </input>
350 <language>python</language>
351 <prompt_number>12</prompt_number>
352 <collapsed>0</collapsed>
353 <outputs>
354 <output>
355 <output_type>pyout</output_type>
356 <text>aβ‹…β˜000⟩ aβ‹…β˜001⟩ aβ‹…β˜110⟩ aβ‹…β˜111⟩ bβ‹…β˜010⟩ bβ‹…β˜011⟩ bβ‹…β˜100⟩ bβ‹…β˜101⟩
357 ─────── + ─────── + ─────── + ─────── + ─────── - ─────── + ─────── - ───────
358 2 2 2 2 2 2 2 2</text>
359 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXI0QUFBQWlDQVlBQUFDNXZOcGtBQUFBQkhOQ1NWUUlD
360 QWdJZkFoa2lBQUFDT0pKUkVGVQplSnp0bldtSUpWY1pocC9NVEdhU09KcU95MmphaVV3Z2tURVJD
361 VkVES29udFlJd0w2R0RFZ0Q5VXhBV0Q0b0FMUWpBMGJraCtLSkkvClVVUU5pc1lOUVVRQ2lraGNv
362 a2FET05IOGNKMkpaaExpRnBPNFROVDJ4MWRGMzF0ZGRlODUxZWQ4dCtxZTk0R21wcXEvcXE3N3pI
363 dlAKUFZYM1ZCVUlJWVFRUWdnaHBqZ0wyTFhvblNnSStmWkZ2djJSYzEva096MXk2b2RjcDBkT085
364 Z0RYQWI4RmppdzJGMHBBdm4yUmI3OQprWE5mNURzOWN1cUhYS2VuYUtjN0FtcXVBaDRKbkp0NVg0
365 UWgzNzdJdHo5eTdvdDhwMGRPL1pEcjlNaHBJQnNVZUdTd1FPVGJGL24yClI4NTlrZS8weUtrZmNw
366 MmVJcDJHblBFVlFnZ2hoQkJpOUtqak84MFZ3T21MM29tQ2tHOS81TndYK2ZaQm52TWdyejdJY3g1
367 YXZRNnAKNDN1NFpkbVRnUGNCSHdUZUFKemRzVzZxdXQ4QXI0emE2L0hpNGJ2bWF1Q0NsdVVsK1la
368 MjV6VmRqbUxybFBGTlBIelBxMXNHMys4RQp2bDc5WE5yeSsrMjBKVFdsNVhxZVUvRHhPcTl1YkY3
369 YjZKUGZtdTNtTXJSdWJKNzc1cmNtbGRkNTI5dTIxOXhqUWRZYjh3ZUJFOEN6CnEvbUxnYnVCOHpM
370 WHZUOSsxN013ZHQ4MWI4VmV5MXJINzB2eERWdWQxOHh6RkZxbmpFK3ozckU4bGUvUXVySDdQaFY0
371 YzdWKzIvdDgKdlRHZnVvMFljcTV6T1lYOFhrUHJTc3R2VGFwY0tyL1RwUElhdXIwdFhrUHYzM1pL
372 WStyQk5jQVBnUjlVODdjRDN3RytoSW5ZeUZUMwowMnIrOWg3N3ZCUDRiNC8xbWl5RDc4OWpiNmhI
373 elBtN3BmcUdjRWVoZGNyNGJGTDdMaVhqRHdQbkFQY0F2dzZvVDkxR2VPUzZENTVPCkliMVg1YmVk
374 MUxsVWZvM1VYclBtOXpYQUo0R2ZBRGNCUjJKV2ptQjk0dDhITUxGdmF0bVhEZUJwbWVyQURnYldp
375 V2N2OElVZTZ6VloKQnQ5Z3Qwb0JlQzJ6ajhaSzhRMWJYMmVvbzVDNkF5ampUZFliOHlsOXg5UXRn
376 Ky92QWwvcytOMzZ4TDhQa0xhTmlObGVYODk5eU8wVQo4bnFOcVNzcHY1QTJsNkYxc056NWhmVHY5
377 OTc1RFRuamUyUDE0OGtWMkw3ZDFsais0MnI2Zk9Ebkdlb0EvZ004Qkp3SjNCK3h6N3V3Cm0wSnZs
378 Mlh3RGZCQTROOHUwWGROcUtPUU9tVjhQaWw5eDlTTjNmZHB3RE94Y1gzelNOMUdlT1M2RDU1T0lV
379 L2JxL3kya3pLWHl1OG0KcWQvdnZmUHJlWEhiRHVBRndIVlliLzVjNEFNZHRmVkE1dVlMZTdDYW5w
380 ZXBydVp6d0tzNjltMHNMTkozTEtYNXpvRXk3dTg4aGpINwp2Z1Ryd055Sm5UbjVDT2E5amRSdHhM
381 TG1Pc1lwNUd0N1F4bUwxelppWFlkUWV0OGpoMU53Nm1ONGRYelBBWDRGN0FQZWpmWEFiNlpiCjFC
382 T3E2WU9ONVE5VjA1Vk1kVFYvQlBaMzdOc1lXTFR2V0Vyem5RTmwzTjk1REdQMmZWazFmUm53TWVC
383 RHdLZUFGN1hVcG00amxqWFgKTVU0aFg5c2J5bGk4dGhIck9vVFMreDQ1bklKVEg2UHUrRzVrK0tu
384 WkEzd0ZHK3Z6V2VCLzJOaVN4MkpqUk5xbzc3djJjR041dmQwOQptZW9teVhuUnpiTDc3c1BZZkUr
385 KzVsamZPVkRHL1ozSE1sYmZsd0kvQXQ2T1hXMTlielhmTmk0d2RSdXh5RnpuYkRkaW5FTGV0amVV
386 CkV2SWJ5aGo2SGtQS2J5Z3VmWXhkelFVWmVDL3dkS2J2NmZZNDRORjBmMGpkMmJHOHZucnZ2a3gx
387 TlllQWIzZXNrNEpsOXgxTGFiNXoKb0l6N080OWhyTDUzQXM4QzNnT2NuRmkrRDNoaVMzM3FObUtS
388 dVI2S1U4alg5b1pTU241REdVUGZZMnhPd2FtUEVYbzdzKzF3R1BnKwpkaCsybXJWcStyMk9kZXJC
389 eTgwbmJweFJUVTlrcXFzNWhQMm50bkUrOEM2MmhtbzNjQkh3aVpaMTdnYXU3ZGhlYW9iZ081YlNm
390 T2RBCkdUYzhuY2N3VnQ4WFlWZFAzOUpZL2hUc2l2QW1xZHVJRkxtK0VyZzg0bTkrRGZoR1JIMHNz
391 VTRoWDlzYlNpbjVEY1d6NzdFTStRM0YKcFkrUnUrTjdOdkJrNEt1TjVXdFl6NzZyOTM2MG11NEg3
392 cHBZZm40MVBaYXBEbXlNeWIxTWYxVXl5WEhnQnJhK3lmZGlUeHU1b1dXZAp2M2RzS3pWRDhSMURp
393 YjV6b0l6N093OWx6TDR2eE1aUDN6R3g3QkxzN0hyemd3L1N0eEVwY24wTDlnU25VSTdIN0dBUFlw
394 MUNuclkzCmxKTHlHNHBuMzJNWjhodUtTeDhqZDhkM2R6VnRucjVlWS9NcnlldXdvOFZKN2dMK0Nq
395 d0R1SFZpK2VYVjhpOW5xZ083OHUvVE0xN1QKdjdFYklqZFpBZjdHOW85NHRzTlFmTWRRb3U4Y0tP
396 UCt6a01acysrVHdPK1lIbk4zRmZBbjRQcVcrdFJ0UklwYzM4ZXdEb2hpblVLZQp0amVVa3ZJYmlt
397 ZmZZeG55RzRwTEh5UDNYUjJPQVQ5aitza2FSN0F6TnIvQU90NG5XOVlEK0F6MlNMeWFYZGdWZzlj
398 emZjVmZ5cm9kCjJMM2Uvakw3WlEyV0lma09vV1RmT1ZERy9aM1BZK3krYndiT1l2T3o0a0xnOWNC
399 YjZENXJsN0tOQ04zZW1EejNjUXJwdllZd0pxOXQKOUhVZFFxbDlqNXhPd2FHUHNUTmd4ZE9yblhn
400 cGRnKzFvOFE5Z3ZEM1dJOTdOL0JHN09qdkJQQVNUTmlOMk5ITUd2Wll1cHB2QWM4RApYZzM4RXh1
401 ZjhRRHdEdXdJTTBmZGk3RXhKbitJZUgwMXAyRmpEMi9xc2U0a3krTDdkY0Fyc09kb3IyQmZoYXhp
402 WDRmOHNxb3B5VGRzCmRSN2lLS1pPR1orZDhkUytTOGo0djdDdkNGOE9ITVF5OVRhbWg1cXMwYTh0
403 R1VxdSs1RGJLZVQzcXZ3YWEvUnJKNGJTOStqREl2S2IKMm12di9NNjc2bThIMXN1K0Zqdk4vR0hz
404 RlBSemlmdWdPcVZhNzQ3cWhRQmNnSDJBL2FPYWZ6dzJEcVBKbzdEQjFNZXIraTVTMU8ybgpmL0JX
405 c05QcGgrZlV6V0taZkI5aWMwRDZKSDltOHl1TWtuekRWdWNoam1McWFwUnhJN2Z2a2pLK2d0MDcr
406 V2pMNy9xMkpVUEpkU3dlClRpRy9WK1hYNk50TzFDeTY3eEhMb3ZLYjJtdTIvRDRWKzJEWlY4MnZZ
407 ajM5NThSdXFBRE9aT3NSVHl6eUhZNTgreVBudnNqM01KSFQKTUpUZllWSzgwM2xqZkk4QjM4Uk9i
408 WU5keVFkd2FyWTlHaS8zWTZmaXQ0TjhoeVBmL3NpNUwvSTlUT1EwRE9WM21NaHBKRWVBMjVBZwpM
409 K1RiRi9uMlI4NTlrZS8weUtrZmNwMGVPWjNCUWV5bThhdUwzcEZDa0c5ZjVOc2ZPZmRGdnRNanAz
410 N0lkWHJrZEFhcndNZXhNVHVRCi96Wm9wU1BmdnNpM1AzTHVpM3luUjA3OWtPdjB5T2tNSGdOY3cr
411 WnA4SXVCRnk1dWQ1WWUrZlpGdnYyUmMxL2tPejF5Nm9kY3A2ZG8KcC9OdVo3WVhHd1I5a3MzSHZh
412 MWl0NUh3dXZWR1NjaTNML0x0ajV6N0l0L3BrVk0vNURvOXhUdWQ5OGppTTRDUE5wWnRVSWljQlNE
413 Zgp2c2kzUDNMdWkzeW5SMDc5a092MHlLa1FRZ2doaEJCQ0NDR0VFRUlJSVlRUVFnZ2hoQkJDQ0NH
414 RUVHSlEvQjhBYUVmSFZvNVBkQUFBCkFBQkpSVTVFcmtKZ2dnPT0K
415 </png>
416 <latex>$$\frac{1}{2} a {\left|000\right\rangle } + \frac{1}{2} a {\left|001\right\rangle } + \frac{1}{2} a {\left|110\right\rangle } + \frac{1}{2} a {\left|111\right\rangle } + \frac{1}{2} b {\left|010\right\rangle } - \frac{1}{2} b {\left|011\right\rangle } + \frac{1}{2} b {\left|100\right\rangle } - \frac{1}{2} b {\left|101\right\rangle }$$</latex>
417 <prompt_number>12</prompt_number>
418 </output>
419 </outputs>
420 </codecell>
421 <codecell>
422 <input>result = measure_partial(state, (0,1))
423 </input>
424 <language>python</language>
425 <prompt_number>13</prompt_number>
426 <collapsed>1</collapsed>
427 <outputs />
428 </codecell>
429 <codecell>
430 <input>state = (result[2][0]*2).expand(); state</input>
431 <language>python</language>
432 <prompt_number>14</prompt_number>
433 <collapsed>0</collapsed>
434 <outputs>
435 <output>
436 <output_type>pyout</output_type>
437 <text>aβ‹…β˜110⟩
438 ───────────────────────────────────────────────────────── + ──────────────────
439 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
440 β•± 2 2
441 β•± β”‚ a β”‚ β”‚ b β”‚
442 β•± │────────────│ │────────────│
443 β•± β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚ β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚
444 ⎽⎽⎽⎽⎽⎽⎽⎽⎽ β•± β”‚ β•± 2 2 β”‚ β”‚ β•± 2 2 β”‚ ⎽⎽⎽⎽⎽⎽⎽⎽⎽ β•±
445 β•± 2 2 β•± β”‚β•²β•± a + b β”‚ β”‚β•²β•± a + b β”‚ β•± 2 2 β•±
446 β•²β•± a + b β‹… β•± ─────────────── + ─────────────── β•²β•± a + b β‹… β•±
447 β•²β•± 4 4 β•²β•±
448
449 bβ‹…β˜010⟩
450 ───────────────────────────────────────
451 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
452 β•± 2 2
453 β•± β”‚ a β”‚ β”‚ b β”‚
454 β•± │────────────│ │────────────│
455 β•± β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚ β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚
456 β”‚ β•± 2 2 β”‚ β”‚ β•± 2 2 β”‚
457 β”‚β•²β•± a + b β”‚ β”‚β•²β•± a + b β”‚
458 ─────────────── + ───────────────
459 4 4</text>
460 <latex>$$\frac{a {\left|110\right\rangle }}{\sqrt{a^{2} + b^{2}} \sqrt{\frac{1}{4} \lvert{\frac{a}{\sqrt{a^{2} + b^{2}}}}\rvert^{2} + \frac{1}{4} \lvert{\frac{b}{\sqrt{a^{2} + b^{2}}}}\rvert^{2}}} + \frac{b {\left|010\right\rangle }}{\sqrt{a^{2} + b^{2}} \sqrt{\frac{1}{4} \lvert{\frac{a}{\sqrt{a^{2} + b^{2}}}}\rvert^{2} + \frac{1}{4} \lvert{\frac{b}{\sqrt{a^{2} + b^{2}}}}\rvert^{2}}}$$</latex>
461 <prompt_number>14</prompt_number>
462 </output>
463 </outputs>
464 </codecell>
465 <codecell>
466 <input>state = qapply(XGate(2)*state); state
467 </input>
468 <language>python</language>
469 <prompt_number>15</prompt_number>
470 <collapsed>0</collapsed>
471 <outputs>
472 <output>
473 <output_type>pyout</output_type>
474 <text>aβ‹…β˜010⟩
475 ───────────────────────────────────────────────────────── + ──────────────────
476 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
477 β•± 2 2
478 β•± β”‚ a β”‚ β”‚ b β”‚
479 β•± │────────────│ │────────────│
480 β•± β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚ β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚
481 ⎽⎽⎽⎽⎽⎽⎽⎽⎽ β•± β”‚ β•± 2 2 β”‚ β”‚ β•± 2 2 β”‚ ⎽⎽⎽⎽⎽⎽⎽⎽⎽ β•±
482 β•± 2 2 β•± β”‚β•²β•± a + b β”‚ β”‚β•²β•± a + b β”‚ β•± 2 2 β•±
483 β•²β•± a + b β‹… β•± ─────────────── + ─────────────── β•²β•± a + b β‹… β•±
484 β•²β•± 4 4 β•²β•±
485
486 bβ‹…β˜110⟩
487 ───────────────────────────────────────
488 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
489 β•± 2 2
490 β•± β”‚ a β”‚ β”‚ b β”‚
491 β•± │────────────│ │────────────│
492 β•± β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚ β”‚ βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½βŽ½β”‚
493 β”‚ β•± 2 2 β”‚ β”‚ β•± 2 2 β”‚
494 β”‚β•²β•± a + b β”‚ β”‚β•²β•± a + b β”‚
495 ─────────────── + ───────────────
496 4 4</text>
497 <latex>$$\frac{a {\left|010\right\rangle }}{\sqrt{a^{2} + b^{2}} \sqrt{\frac{1}{4} \lvert{\frac{a}{\sqrt{a^{2} + b^{2}}}}\rvert^{2} + \frac{1}{4} \lvert{\frac{b}{\sqrt{a^{2} + b^{2}}}}\rvert^{2}}} + \frac{b {\left|110\right\rangle }}{\sqrt{a^{2} + b^{2}} \sqrt{\frac{1}{4} \lvert{\frac{a}{\sqrt{a^{2} + b^{2}}}}\rvert^{2} + \frac{1}{4} \lvert{\frac{b}{\sqrt{a^{2} + b^{2}}}}\rvert^{2}}}$$</latex>
498 <prompt_number>15</prompt_number>
499 </output>
500 </outputs>
501 </codecell>
502 </cells>
503 </worksheet>
504 </worksheets>
505 </notebook>
1 {
2 "nbformat": 2,
3 "name": "teleportation",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Teleportation</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "cell_type": "code",
13 "language": "python",
14 "outputs": [],
15 "collapsed": false,
16 "prompt_number": 5,
17 "input": "%load_ext sympyprinting"
18 },
19 {
20 "cell_type": "code",
21 "language": "python",
22 "outputs": [],
23 "collapsed": true,
24 "prompt_number": 6,
25 "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot"
26 },
27 {
28 "cell_type": "code",
29 "language": "python",
30 "outputs": [
31 {
32 "output_type": "pyout",
33 "latex": "$$a {\\left|000\\right\\rangle } + b {\\left|001\\right\\rangle }$$",
34 "prompt_number": 7,
35 "png": "iVBORw0KGgoAAAANSUhEUgAAAHgAAAAVCAYAAACNDipWAAAABHNCSVQICAgIfAhkiAAAA4VJREFU\naIHt2V2IFlUYwPHf6ootWaxl0GJFhFFSN2ZFFxZbhLBQUV1UkgQRVJcF1UVRvBdFBdEXXZR60QcZ\nEUGFWN0FkRXR52YoSmz0YfRBBIpZZF2cMzCemVnnfXdOarz/mzPnmefMPB9nzpx5hiFDDkPWYumh\nNuIwojEe8we42F14L5GtwX1YgdU4HltrxnalN4MbsWUA+/vlHryIR/Eptifn/4t4wFF4E9vwQ3Ju\nRofx6CX9y7ArGgfHxhtemVmvh9G+LB+ctdhfsim1o0zXfo7iAiG5/8TjOno6ikcv6W/BM4nsCfyG\nhRn1zsFVbY0uMSI8Mf3wtOYnq5f0u/RzHjbhcbxk9gQPGo8KvdLxqnjTqxOdqSi/JJNewf39mQ7G\n8VqfY7YKSa6jVzrO5SfcavYEUxOPebMot2FlbHck8p2xncykV5YvO7iZc2IJluPdFrq5/GxLJR51\nCV6BB/AInsPl+KDhgifGdnci3xPbiUx6BS/j2gbbumKVsKyPYR02CktmXexy+dmWSjzSl/JqPI9z\n8R3Owid4p+GChaF7EnnRH8+kV7AXRzfY1hUXxXYEN8fjaWH3/FCim8vPtlTiUZ6Fpwov8juE5BLe\nPbs1L0/7Yrs/kS9I5F3rFYwJTuXkQuEzaX1Jtl39hiaXn22pxKOc4IeF3durJdlyHKc5wdMN8mIW\n7cqkV3CNsCzlYpHwyno7kS/D4hr9XH62pRKPYokewcV4y4EzYBJ/4sOGC34R28X4pSRfFNsfM+kV\nnCHsE+o4Gy8IvpWZj1PwWc2Ybbiu1D8/6pcn+MJ4300143P52ZZKPIoEn4kTVJ2exEf4A6fh6+R8\nYejJDtwRnhfb6Ux6hO++jzXzpfrv3XE8q1pQqON04b34TUk2JVSV6j61cvjZltp4FEv098KTurN0\nbkxIcFH+uq3mor8Lzk8l8kvxFTZn0iPs7l+vsalLduBb4fuz4AbhQdhYo5/Dz7YcNB6bcW88XiBU\nWX7GnTgptlQrN2uEZWZJ7E/gV6G8l0vvmJI9/dJPoWMUP8X7iTbMCEthQS8Z03U8Cu4WJtoVNeda\nxWNC2PY/JVRtlgo7xfeFCkmxdb+9ZuxNQtAewxu4peEeXeldLyxvg9BvJWslnsQGYdKnf21yx+MV\nfI6/hQTvFX56PFjSmUs8/ncMUqo8YplrqfJI5C+hoD9kyJAhQ4YcSv4FPQ4z7YmdV7kAAAAASUVO\nRK5CYII=\n",
36 "text": "a\u22c5\u2758000\u27e9 + b\u22c5\u2758001\u27e9"
37 }
38 ],
39 "collapsed": false,
40 "prompt_number": 7,
41 "input": "a,b = symbols('a b', real=True)\nstate = Qubit('000')*a + Qubit('001')*b; state"
42 },
43 {
44 "cell_type": "code",
45 "language": "python",
46 "outputs": [
47 {
48 "output_type": "pyout",
49 "latex": "$$CNOT_{1,2} H_{1}$$",
50 "prompt_number": 8,
51 "png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAcCAYAAACXkxr4AAAABHNCSVQICAgIfAhkiAAABNhJREFU\naIHt2HmIV1UUB/DPjE1ZppYU2TatalFEmxW000ILIkUUWUELGrTQRhGlQdFKkW1iBSG2WBFaEpJZ\nNGWm7UZhm0UbbbRHWRQ1/XHuj9+bN+/9fm/G0bbfFx7v3XPOPfe8c+8959xLC/8qjMb5eAjPYQFm\nYSu0YSZGJtnN0IXl6MbLBfrG4u3E78Z7ODAn045jMAf3pGcBrsY6OdmupOdrPJXkvku0dzE/0T9K\ntEv69PfNsScW4tuMHc/j6MSfJPz2W+J/hGexbV8HGoSL8RnOwKgMb3M8jRnCuXlcgNeTAXuV6O/C\nUQX0rbEM0zEkQ+8QC+HdND5sgq+EU/K6f8f6GdoaeBInldizsrhd/O8uJfx38I3eC6oSOrEEH2K7\nEpldkwG3FfBmYe/En1nS/74C2ub4ACeX9Fk72TQntc/B+JzMmlgh7M/jMr0nb6CwDJ+X8DYWvni4\nP4rXwAvCMRs3kf1S71XehgfT9yv4BSNyMiNwS442Uqz+O5qMeY/4uS3SOINy/NpCuK6g76167pqB\nwgZpzFkl/AmJf24VZe259hXYA1OUz3gNy0V4yGJHsVqIsDMYp+Rk9sWiTHuYCCfrVjD6vfTeGfPw\nR46/f3ovLOj7isgvA4390jvvixoOSO8imxpiF/GDy/SeqCIcV0A7U90pQ/C9mLi2jMyN6oUAXChW\n0DUVxrw7yRaNTSTxPzC8gq6Bws3CplEl/OXCD1V82gOXJsUT+21a5IzBmfYtSechGdr9me92fJxk\nxlTQ/3KS3bKANwg/4tXq5g4IluJXsRjyz9PC3nn9UfxY6rzbShj3YK69fdJZS8TDREVSw1aJ/1UF\n3euLnFQWSndPum6qauwAYD2xI/P/XUMtf1xUVWF2G+2JP/FmhX6jC2ijxPbM4i2xSsZhU+yDxRl+\nrR7/oMKYZ4jdN6eEX4vlfY7VK4F9hA8XNeDTT5uWilq5GTZUHO9Pw6EF9GPFKrkc1+oZbnZKvCea\njLkWvhATN7RE5pGka8MmugYS16cxdy7hv46fRPXaZ0xNyjubyF2OjQrod4lKKY8O4cxPMTvHaxeV\nz8965p48rhO794ASfps4JVfZ3Z14oILcBEwWpfhlepfYxBHhB8UJe7gIZ40WW0Nb9hLJ6eIGCk5P\nTxHK4ihcKSb73gLenYl3eEnfC8Rh79QG+ndMOqY3kBkiHHyvevlchiPVz1jteAbTcjLrihuB+SU6\nDk82TV4ZWw4TP3+2OBnXMEaEmyNK+p2ARxvo7RSrZVIBryP1XaznIXILsRvfwA6NjBY/140Tm8jB\nwZpPyFQ8nmmfKw7CWYxPY05poKNb+a6uaouxuEFcgi0QpexkURHlcQTeV78sXCryQhHmKC4GiBxx\nngh7M9IzXdw9rV3SZ6IIB0tEOOsWYfEp5admqjmhU89rlqvwWvqehBdFqOoWVV8Xtkn8acIPvyf+\nO5ir51msL7b859FXJwzFJ6nfKrelz6fH/xnaxU49S1zvrJYBWyjHFHE1MlfktFWO1oTUcZAoMGqY\nKK55XhLxv1GV10I/0CZO+7NFJTlF/XTfIZL0Oal9unqhUnvmrg5bijL/fxkjc+0V4kKSmJTjxY3y\ncL2ru6zsqralBeGgcX+3ES3UcaZWTv1HoV8XgC200EILLbTwT8FfiZEmaAj2TA8AAAAASUVORK5C\nYII=\n",
52 "text": "CNOT \u22c5H \n 1,2 1"
53 }
54 ],
55 "collapsed": false,
56 "prompt_number": 8,
57 "input": "entangle1_2 = CNOT(1,2)*HadamardGate(1); entangle1_2\n"
58 },
59 {
60 "cell_type": "code",
61 "language": "python",
62 "outputs": [
63 {
64 "output_type": "pyout",
65 "latex": "$$\\frac{1}{2} \\sqrt{2} a {\\left|000\\right\\rangle } + \\frac{1}{2} \\sqrt{2} a {\\left|110\\right\\rangle } + \\frac{1}{2} \\sqrt{2} b {\\left|001\\right\\rangle } + \\frac{1}{2} \\sqrt{2} b {\\left|111\\right\\rangle }$$",
66 "prompt_number": 9,
67 "png": "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\nrkJggg==\n",
68 "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5a\u22c5\u2758000\u27e9 \u2572\u2571 2 \u22c5a\u22c5\u2758110\u27e9 \u2572\u2571 2 \u22c5b\u22c5\u2758001\u27e9 \u2572\u2571 2 \u22c5b\u22c5\u2758111\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2 2 2"
69 }
70 ],
71 "collapsed": false,
72 "prompt_number": 9,
73 "input": "state = qapply(entangle1_2*state); state\n"
74 },
75 {
76 "cell_type": "code",
77 "language": "python",
78 "outputs": [
79 {
80 "output_type": "pyout",
81 "latex": "$$H_{0} CNOT_{0,1}$$",
82 "prompt_number": 10,
83 "png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAcCAYAAACXkxr4AAAABHNCSVQICAgIfAhkiAAABRFJREFU\naIHtmHtol1UYxz+bl5VmZnMm67JRijbJMI0km0XDgsKkDAomWeiKZgZWYhcoqcYKQmohq1bkpT8a\n3YgutrLaTMvSwK62LkgXQwnsZuLssv74npff+Z2d877vfvutHPt94cfL73me97mc5zzPed4DBQwI\nvAB8AXQDfwI7gBbDqwDeBnYb/m/ANmBJL/QfCSwAVgObgDagHbjc8OcAyy35h4GtwF/A38BUj84N\nwAHj08/AKo/MZOBR4BngceBVoBU4LeDnQqOvC9gOvAbsNLRfgI3G9w+Bf4AvY2LuM2Yaww8F+LcZ\n/hU56O1ECT4PGG7oRwAPAA8C+4FznPfGAh8Zm48EdF+NNlORQy8Gms37bjIvQYm8yqOvDbjT8hEy\nSbrBY/vNgF95wXJj+MIAvw3t1jG90NkAHAJuDPCHoGr7HRjm8C4FaoHPDH+U5/2bgOkOrQglfwNK\nug/3o0ovt2ilqJJcPIHWZZJDPwklvd/wMlq8kR7eMLSLd/RCXz0KZEGCXAPwioe+CjgBWGr01Htk\n1qGk2mhC7XVsjM0ao/Mui1aHfzN+Bezx0KcDy2Js9AnFqA9vCfDPRgE0pdQ3BbWF9hSyi/AHFu3W\n0cAfwCcOvwhY79DuMX7OS7BZYeSes2gL0TrYKDdyvsqZApyZYCdnTDOGGwL8Owx/fkp924y8ey74\ncBZQ6dCORodwhBaPvqnArdb/clThP9Czalycb/RtSJC70sgtTZDLGUMD9NnmeQE9ezLADPPclMLG\ncUb+A2BzCvn3PbRZZFdrM7AYuN7Sea7jTz1qrevRWReHqhjbNqJ16UiQyzueRyPmUR7eUNQyPk+p\naz7aVX058BqBUxzaVjSOlpn/a8keBDqM3YtT6G8lfoCJ8Cmwj55TXN7g9kiMsWo0Iu738M8ARpCu\nOkAtCBRMEsrwT20nA984tGY0ji4y/4ejb6YIE8xzV4LNCuAyYC/wboxcKaqkzSh5/QJfQqrQRPJO\n4J2ob6ct22/N88cUsreTvaigj8gDHtlWtFuvQz53Ovy95vlrgs1lqOrr0DgdQjXarGk3Yk7wJSTq\nk6F+P8s8bceGoJ6+BM30cyxeu3lOS/ClCu1mtypn4u/tB4E1aABopOdCRRuqJsbmDJSIJ4GXEvyL\n1sWXkLj441ACPAUcHyf0NCrJ8QH+HuBrh3YN+sKOnOsEJpr/RWjK+hi1Oh8mocUt8fBWAqcG3puI\nriwOoUqyMRudg62BdycDPwHP4j8rXWxHFeQbhOLiD6EOuButdWVIqAQtuNuvI5xuFKxx6DvR6Bjh\nMXTlEGEMSspbZO+GY9DXdyPZ1xMRxgHfkzm4fXiDcO+vRYtoV8kINGh0oiktDSpQcjcG+Enxx8Gb\nkApUirvIXChuIfM1PBd4D+2obtS7O1D7KjbO2lcJK9Gdko3RwC3Ai2gEXoc+LC/yOFli7B009nYD\nKwIBzQPuDfBAo/tq1JZaUIu4meQdXEnm0jOKuwu18tfRcAPp4w8htkJyQalReqJFW4GqYTCgr/Fn\nJcR3qPcW+9AkY4+CIw19MCCv8ecjId3oknGcRRsPfJcH3QMBeY0/HwkBjaX2oVaDDrbBgrj4J9Dz\nlqHfMQodlouB+4Br/2sH/mfExd+ERn4Xc9F02Y2Gjdr+cMz3HTGY4Iu/iMz1jo1jUWuLfmUQvu3N\nFV151jfQ4Iu/G//1/2AZeg47VKMP6gIOE+S7CxVQQAEFFFCAF/8CvQspefa4L7cAAAAASUVORK5C\nYII=\n",
84 "text": "H \u22c5CNOT \n 0 0,1"
85 }
86 ],
87 "collapsed": false,
88 "prompt_number": 10,
89 "input": "entangle0_1 = HadamardGate(0)*CNOT(0,1); entangle0_1\n"
90 },
91 {
92 "cell_type": "code",
93 "language": "python",
94 "outputs": [
95 {
96 "output_type": "pyout",
97 "prompt_number": 11,
98 "text": "&lt;sympy.physics.quantum.circuitplot.CircuitPlot object at 0x3b9fb90&gt;"
99 },
100 {
101 "output_type": "display_data",
102 "png": "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\n"
103 }
104 ],
105 "collapsed": false,
106 "prompt_number": 11,
107 "input": "circuit_plot(entangle0_1*entangle1_2, nqubits=3)\n"
108 },
109 {
110 "cell_type": "code",
111 "language": "python",
112 "outputs": [
113 {
114 "output_type": "pyout",
115 "latex": "$$\\frac{1}{2} a {\\left|000\\right\\rangle } + \\frac{1}{2} a {\\left|001\\right\\rangle } + \\frac{1}{2} a {\\left|110\\right\\rangle } + \\frac{1}{2} a {\\left|111\\right\\rangle } + \\frac{1}{2} b {\\left|010\\right\\rangle } - \\frac{1}{2} b {\\left|011\\right\\rangle } + \\frac{1}{2} b {\\left|100\\right\\rangle } - \\frac{1}{2} b {\\left|101\\right\\rangle }$$",
116 "prompt_number": 12,
117 "png": "iVBORw0KGgoAAAANSUhEUgAAAr4AAAAiCAYAAAC5vNpkAAAABHNCSVQICAgIfAhkiAAACOJJREFU\neJztnWmIJVcZhp/MTGaSOJqOy2jaiUwgkTERCVEDKontYIwL6GDEgD9UxAWD4oALQjA0bkh+KJI/\nUUQNisYNQUQCikhcokaDONH8cJ2JZhLiFpO4TNT2x1dF31tdde851ed8t+qe94Gmpqq/qq77zHvP\nPVX3VBUIIYQQQgghpjgL2LXonSgI+fZFvv2Rc1/kOz1y6odcp0dOO9gDXAb8Fjiw2F0pAvn2Rb79\nkXNf5Ds9cuqHXKenaKc7AmquAh4JnJt5X4Qh377Itz9y7ot8p0dO/ZDr9MhpIBsUeGSwQOTbF/n2\nR859ke/0yKkfcp2eIp2GnPEVQgghhBBi9KjjO80VwOmL3omCkG9/5NwX+fZBnvMgrz7Icx5avQ6p\n43u4ZdmTgPcBHwTeAJzdsW6qut8Ar4za6/Hi4bvmauCCluUl+YZ25zVdjmLrlPFNPHzPq1sG3+8E\nvl79XNry++20JTWl5XqeU/DxOq9ubF7b6JPfmu3mMrRubJ775rcmldd529u219xjQdYb8weBE8Cz\nq/mLgbuB8zLXvT9+17Mwdt81b8Vey1rH70vxDVud18xzFFqnjE+z3rE8le/QurH7PhV4c7V+2/t8\nvTGfuo0Ycq5zOYX8XkPrSstvTapcKr/TpPIaur0tXkPv33ZKY+rBNcAPgR9U87cD3wG+hInYyFT3\n02r+9h77vBP4b4/1miyD789jb6hHzPm7pfqGcEehdcr4bFL7LiXjDwPnAPcAvw6oT91GeOS6D55O\nIb1X5bed1LlUfo3UXrPm9zXAJ4GfADcBR2JWjmB94t8HMLFvatmXDeBpmerADgbWiWcv8IUe6zVZ\nBt9gt0oBeC2zj8ZK8Q1bX2eoo5C6AyjjTdYb8yl9x9Qtg+/vAl/s+N36xL8PkLaNiNleX899yO0U\n8nqNqSspv5A2l6F1sNz5hfTv9975DTnje2P148kV2L7d1lj+42r6fODnGeoA/gM8BJwJ3B+xz7uw\nm0Jvl2XwDfBA4N8u0XdNqKOQOmV8Pil9x9SN3fdpwDOxcX3zSN1GeOS6D55OIU/bq/y2kzKXyu8m\nqd/vvfPreXHbDuAFwHVYb/5c4AMdtfVA5uYLe7CanpepruZzwKs69m0sLNJ3LKX5zoEy7u88hjH7\nvgTrwNyJnTn5COa9jdRtxLLmOsYp5Gt7QxmL1zZiXYdQet8jh1Nw6mN4dXzPAX4F7APejfXAb6Zb\n1BOq6YON5Q9V05VMdTV/BPZ37NsYWLTvWErznQNl3N95DGP2fVk1fRnwMeBDwKeAF7XUpm4jljXX\nMU4hX9sbyli8thHrOoTS+x45nIJTH6Pu+G5k+KnZA3wFG+vzWeB/2NiSx2JjRNqo77v2cGN5vd09\nmeomyXnRzbL77sPYfE++5ljfOVDG/Z3HMlbflwI/At6OXW19bzXfNi4wdRuxyFznbDdinELetjeU\nEvIbyhj6HkPKbygufYxdzQUZeC/wdKbv6fY44NF0f0jd2bG8vnrvvkx1NYeAb3esk4Jl9x1Lab5z\noIz7O49hrL53As8C3gOcnFi+D3hiS33qNmKRuR6KU8jX9oZSSn5DGUPfY2xOwamPEXo7s+1wGPg+\ndh+2mrVq+r2OderBy80nbpxRTU9kqqs5hP2ntnE+8C62hmo3cBHwiZZ17gau7dheaobgO5bSfOdA\nGTc8nccwVt8XYVdP39JY/hTsivAmqduIFLm+Erg84m9+DfhGRH0ssU4hX9sbSin5DcWz77EM+Q3F\npY+Ru+N7NvBk4KuN5WtYz76r9360mu4H7ppYfn41PZapDmyMyb1Mf1UyyXHgBra+yfdiTxu5oWWd\nv3dsKzVD8R1Dib5zoIz7Ow9lzL4vxMZP3zGx7BLs7Hrzgw/StxEpcn0L9gSnUI7H7GAPYp1CnrY3\nlJLyG4pn32MZ8huKSx8jd8d3dzVtnr5eY/Mryeuwo8VJ7gL+CjwDuHVi+eXV8i9nqgO78u/TM17T\nv7EbIjdZAf7G9o94tsNQfMdQou8cKOP+zkMZs++TwO+YHnN3FfAn4PqW+tRtRIpc38ewDohinUKe\ntjeUkvIbimffYxnyG4pLHyP3XR2OAT9j+skaR7AzNr/AOt4nW9YD+Az2SLyaXdgVg9czfcVfyrod\n2L3e/jL7ZQ2WIfkOoWTfOVDG/Z3PY+y+bwbOYvOz4kLg9cBb6D5rl7KNCN3emDz3cQrpvYYwJq9t\n9HUdQql9j5xOwaGPsTNgxdOrnXgpdg+1o8Q9gvD3WI97N/BG7OjvBPASTNiN2NHMGvZYuppvAc8D\nXg38Exuf8QDwDuwIM0fdi7ExJn+IeH01p2FjD2/qse4ky+L7dcArsOdor2BfhaxiX4f8sqopyTds\ndR7iKKZOGZ+d8dS+S8j4v7CvCF8OHMQy9Tamh5qs0a8tGUqu+5DbKeT3qvwaa/RrJ4bS9+jDIvKb\n2mvv/M676m8H1su+FjvN/GHsFPRzifugOqVa747qhQBcgH2A/aOafzw2DqPJo7DB1Mer+i5S1O2n\nf/BWsNPph+fUzWKZfB9ic0D6JH9m8yuMknzDVuchjmLqapRxI7fvkjK+gt07+WjL7/q2JUPJdSwe\nTiG/V+XX6NtO1Cy67xHLovKb2mu2/D4V+2DZV82vYj3958RuqADOZOsRTyzyHY58+yPnvsj3MJHT\nMJTfYVK803ljfI8B38RObYNdyQdwarY9Gi/3Y6fit4N8hyPf/si5L/I9TOQ0DOV3mMhpJEeA25Ag\nL+TbF/n2R859ke/0yKkfcp0eOZ3BQeym8auL3pFCkG9f5NsfOfdFvtMjp37IdXrkdAarwMexMTuQ\n/zZopSPfvsi3P3Lui3ynR079kOv0yOkMHgNcw+Zp8IuBFy5ud5Ye+fZFvv2Rc1/kOz1y6odcp6do\np/NuZ7YXGwR9ks3Hva1it5HwuvVGSci3L/Ltj5z7It/pkVM/5Do9xTud98jiM4CPNpZtUIicBSDf\nvsi3P3Lui3ynR079kOv0yKkQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEGJQ/B8AaEfHVo5PdAAA\nAABJRU5ErkJggg==\n",
118 "text": "a\u22c5\u2758000\u27e9 a\u22c5\u2758001\u27e9 a\u22c5\u2758110\u27e9 a\u22c5\u2758111\u27e9 b\u22c5\u2758010\u27e9 b\u22c5\u2758011\u27e9 b\u22c5\u2758100\u27e9 b\u22c5\u2758101\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2 2 2 2 2 2 2"
119 }
120 ],
121 "collapsed": false,
122 "prompt_number": 12,
123 "input": "state = qapply(entangle0_1*state); state\n"
124 },
125 {
126 "cell_type": "code",
127 "language": "python",
128 "outputs": [],
129 "collapsed": true,
130 "prompt_number": 13,
131 "input": "result = measure_partial(state, (0,1))\n"
132 },
133 {
134 "cell_type": "code",
135 "language": "python",
136 "outputs": [
137 {
138 "output_type": "pyout",
139 "latex": "$$\\frac{a {\\left|110\\right\\rangle }}{\\sqrt{a^{2} + b^{2}} \\sqrt{\\frac{1}{4} \\lvert{\\frac{a}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2} + \\frac{1}{4} \\lvert{\\frac{b}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2}}} + \\frac{b {\\left|010\\right\\rangle }}{\\sqrt{a^{2} + b^{2}} \\sqrt{\\frac{1}{4} \\lvert{\\frac{a}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2} + \\frac{1}{4} \\lvert{\\frac{b}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2}}}$$",
140 "prompt_number": 14,
141 "text": "a\u22c5\u2758110\u27e9 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd \n \u2571 2 2 \n \u2571 \u2502 a \u2502 \u2502 b \u2502 \n \u2571 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \n \u2571 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \n \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd \u2571 \u2502 \u2571 2 2 \u2502 \u2502 \u2571 2 2 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd \u2571\n \u2571 2 2 \u2571 \u2502\u2572\u2571 a + b \u2502 \u2502\u2572\u2571 a + b \u2502 \u2571 2 2 \u2571 \n\u2572\u2571 a + b \u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2572\u2571 a + b \u22c5 \u2571 \n \u2572\u2571 4 4 \u2572\u2571 \n\n b\u22c5\u2758010\u27e9 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\n \u2571 2 2 \n \u2571 \u2502 a \u2502 \u2502 b \u2502 \n \u2571 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \n\u2571 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \n \u2502 \u2571 2 2 \u2502 \u2502 \u2571 2 2 \u2502 \n \u2502\u2572\u2571 a + b \u2502 \u2502\u2572\u2571 a + b \u2502 \n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n 4 4"
142 }
143 ],
144 "collapsed": false,
145 "prompt_number": 14,
146 "input": "state = (result[2][0]*2).expand(); state"
147 },
148 {
149 "cell_type": "code",
150 "language": "python",
151 "outputs": [
152 {
153 "output_type": "pyout",
154 "latex": "$$\\frac{a {\\left|010\\right\\rangle }}{\\sqrt{a^{2} + b^{2}} \\sqrt{\\frac{1}{4} \\lvert{\\frac{a}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2} + \\frac{1}{4} \\lvert{\\frac{b}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2}}} + \\frac{b {\\left|110\\right\\rangle }}{\\sqrt{a^{2} + b^{2}} \\sqrt{\\frac{1}{4} \\lvert{\\frac{a}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2} + \\frac{1}{4} \\lvert{\\frac{b}{\\sqrt{a^{2} + b^{2}}}}\\rvert^{2}}}$$",
155 "prompt_number": 15,
156 "text": "a\u22c5\u2758010\u27e9 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd \n \u2571 2 2 \n \u2571 \u2502 a \u2502 \u2502 b \u2502 \n \u2571 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \n \u2571 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \n \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd \u2571 \u2502 \u2571 2 2 \u2502 \u2502 \u2571 2 2 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd \u2571\n \u2571 2 2 \u2571 \u2502\u2572\u2571 a + b \u2502 \u2502\u2572\u2571 a + b \u2502 \u2571 2 2 \u2571 \n\u2572\u2571 a + b \u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2572\u2571 a + b \u22c5 \u2571 \n \u2572\u2571 4 4 \u2572\u2571 \n\n b\u22c5\u2758110\u27e9 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\n \u2571 2 2 \n \u2571 \u2502 a \u2502 \u2502 b \u2502 \n \u2571 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \n\u2571 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \u2502 \u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u23bd\u2502 \n \u2502 \u2571 2 2 \u2502 \u2502 \u2571 2 2 \u2502 \n \u2502\u2572\u2571 a + b \u2502 \u2502\u2572\u2571 a + b \u2502 \n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n 4 4"
157 }
158 ],
159 "collapsed": false,
160 "prompt_number": 15,
161 "input": "state = qapply(XGate(2)*state); state\n"
162 }
163 ]
164 }
165 ]
166 } No newline at end of file
This diff has been collapsed as it changes many lines, (2850 lines changed) Show them Hide them
@@ -1,2710 +1,140 b''
1 <?xml version="1.0" encoding="utf-8"?>
2 <notebook>
3 <name>text_analysis</name>
4 <nbformat>2</nbformat>
5 <worksheets>
6 <worksheet>
7 <cells>
8 <markdowncell>
9 <source>&lt;h1&gt;Text Analysis Using NetworkX&lt;/h1&gt;</source>
10 </markdowncell>
11 <markdowncell>
12 <source>&lt;p&gt;This notebook will analyze a plain text file treating it as a list of
13 newline-separated sentences (e.g. a list of paper titles).&lt;/p&gt;
14 &lt;br&gt;
15 &lt;p&gt;It computes word frequencies (after doing some naive normalization by
16 lowercasing and throwing away a few overly common words). It also computes,
17 from the most common words, a weighted graph of word co-occurrences and
18 displays it, as well as summarizing the graph structure by ranking its nodes in
19 descending order of eigenvector centrality.&lt;/p&gt;
20 &lt;br&gt;
21 &lt;p&gt;This is meant as an illustration of text processing in Python, using matplotlib
22 for visualization and NetworkX for graph-theoretical manipulation. It should
23 not be considered production-strength code for serious text analysis.&lt;/p&gt;
24 &lt;br&gt;
25 &lt;p&gt;Author: Fernando Perez&lt;/p&gt;</source>
26 </markdowncell>
27 <codecell>
28 <input>%run text_analysis.py</input>
29 <language>python</language>
30 <prompt_number>1</prompt_number>
31 <collapsed>1</collapsed>
32 <outputs />
33 </codecell>
34 <codecell>
35 <input>default_url = "http://bibserver.berkeley.edu/tmp/titles.txt"
36 n_words = 15
37 n_nodes = 15
38 url = default_url
39 </input>
40 <language>python</language>
41 <prompt_number>2</prompt_number>
42 <collapsed>1</collapsed>
43 <outputs />
44 </codecell>
45 <markdowncell>
46 <source>Fetch text and do basic preprocessing.</source>
47 </markdowncell>
48 <codecell>
49 <input>text = get_text_from_url(url).lower()
50 lines = text.splitlines()
51 words = text_cleanup(text)</input>
52 <language>python</language>
53 <prompt_number>3</prompt_number>
54 <collapsed>1</collapsed>
55 <outputs />
56 </codecell>
57 <markdowncell>
58 <source>Compute frequency histogram.</source>
59 </markdowncell>
60 <codecell>
61 <input>wf = word_freq(words)
62 sorted_wf = sort_freqs(wf)</input>
63 <language>python</language>
64 <prompt_number>4</prompt_number>
65 <collapsed>1</collapsed>
66 <outputs />
67 </codecell>
68 <markdowncell>
69 <source>Build a graph from the n_nodes most frequent words.</source>
70 </markdowncell>
71 <codecell>
72 <input>popular = sorted_wf[-n_nodes:]
73 pop_words = [wc[0] for wc in popular]
74 co_occur = co_occurrences(lines, pop_words)
75 wgraph = co_occurrences_graph(popular, co_occur, cutoff=1)
76 centrality = nx.eigenvector_centrality_numpy(wgraph)
77 </input>
78 <language>python</language>
79 <prompt_number>5</prompt_number>
80 <collapsed>1</collapsed>
81 <outputs />
82 </codecell>
83 <markdowncell>
84 <source>Print summaries of single-word frequencies and graph structure.</source>
85 </markdowncell>
86 <codecell>
87 <input>summarize_freq_hist(sorted_wf)
88 summarize_centrality(centrality)</input>
89 <language>python</language>
90 <prompt_number>6</prompt_number>
91 <collapsed>0</collapsed>
92 <outputs>
93 <output>
94 <output_type>stream</output_type>
95 <text>Number of unique words: 9265
96
97 10 least frequent words:
98 rosenhouse&amp;apos;s -&amp;gt; 1
99 reconstruction, -&amp;gt; 1
100 parameterization -&amp;gt; 1
101 benda) -&amp;gt; 1
102 reconstruction: -&amp;gt; 1
103 payoff -&amp;gt; 1
104 electricity -&amp;gt; 1
105 kalman-bucy -&amp;gt; 1
106 clark--ocone -&amp;gt; 1
107 m-estimators -&amp;gt; 1
108
109 10 most frequent words:
110 large -&amp;gt; 421
111 process -&amp;gt; 428
112 markov -&amp;gt; 440
113 equations -&amp;gt; 471
114 limit -&amp;gt; 518
115 brownian -&amp;gt; 536
116 model -&amp;gt; 542
117 stochastic -&amp;gt; 1000
118 processes -&amp;gt; 1087
119 random -&amp;gt; 2356
120
121 Graph centrality
122 random: 0.474
123 limit: 0.336
124 stochastic: 0.312
125 walks: 0.307
126 process: 0.297
127 processes: 0.259
128 theorem: 0.251
129 time: 0.232
130 equations: 0.213
131 model: 0.209
132 markov: 0.197
133 large: 0.19
134 brownian: 0.125
135 models: 0.107
136 percolation: 0.0852</text>
137 </output>
138 </outputs>
139 </codecell>
140 <markdowncell>
141 <source>Plot histogram and graph.</source>
142 </markdowncell>
143 <codecell>
144 <input>plot_word_histogram(sorted_wf, n_words,"Frequencies for %s most frequent words" % n_words)</input>
145 <language>python</language>
146 <prompt_number>7</prompt_number>
147 <collapsed>0</collapsed>
148 <outputs>
149 <output>
150 <output_type>pyout</output_type>
151 <text>&amp;lt;matplotlib.axes.AxesSubplot at 0x334b250&amp;gt;</text>
152 <prompt_number>7</prompt_number>
153 </output>
154 <output>
155 <output_type>display_data</output_type>
156 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVhrQUFBRU1DQVlBQUFBaDdNWlBBQUFBQkhOQ1NWUUlD
157 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6czNYbGNU
158 dW4vUC9EMzNSanptVEV4bHJITXBFeVdGcUxRWXF0a1M0YnNoUXpLCm9HVWFaT3o3UGdaUk13cFQ5
159 aGhwc1ZhSUVHbXh6VVJKWkl0S2lSWnBmZjMrNk5mMXZXK1VOdUgyZmo0ZUhnLzN1Yys1em5XVysz
160 MnUKOHo3WGRaSUFBREhHR0pOTEN1KzdBb3d4eHQ0ZER2S01NU2JIT01nenhwZ2M0eURQR0dOeWpJ
161 TThZNHpKTVE3eWpERW14empJczdlNgpmLzgrS1NvcVVuWDN0ajExNmhRWkdocVNvcUlpWGJ0MnJW
162 ckxsaGVGaFlYazRPQkEzMzMzSFZsWVdMenY2bnlVUWtKQ3FIbno1dSs3Ckd1OE5CL2xxMUtKRkMv
163 cnFxNjlJVVZHUkZCVVZxVzdkdXBTVWxQUytxMVZseXNyS2xKbVpTUktKcEZyTFhibHlKVmxiVzFO
164 bVppWjEKNk5DaHl1WHQzNytmdW5idFNuWHExS0dlUFh1KzlyMkNnZ0o5L2ZYWDR2aE1talNweXV1
165 c2l2SUVuN0N3TURwejVnemR1bldML3ZubgpueHFxV2ZWUVVGQ2dPM2Z1dk85cWZQSnF2ZThLeUJP
166 SlJFSkhqaHdoRXhPVFV1Y3BLQ2lnV3JWNHR3T2c4K2ZQazV1Ylc2V1dMeW9xCklnVUYyVFpLdzRZ
167 TmFmcjA2UlFURTBPblRwMTY0M0wvL2ZjZi9mRERENVZhNS9zUUdocEs3ZHUzcHpwMTZyengrOExD
168 UXZyc3M4OXEKdUZibFY5TmpMZm4zOVRwdXlkY0FCUVVGMnJsekorbm82SkM2dWpvUkVmMzc3Nzgw
169 WmNvVVVsWldKaWNuSjdwLy83NlkvOTY5ZXpScAowaVJxMnJRcC9menp6MlJsWlVVTEZpd2dJcUx0
170 MjdkVGp4NDlYaXUvcE1WVVVGQkErL2Z2SnhNVEU5TFcxaVlQRHcvS3k4c2pvdUtXCm81S1NFbTNa
171 c29WVVZWV3BXN2R1RkJBUUlNckp5OHVqdlh2M1V1L2V2ZW1iYjc2aEhqMTZVRzV1THQyOWU1Y1VG
172 QlNvcUtpSWlJaHkKY25MSXc4T0Q5UFQwcUh2Mzd1VHQ3UzErekk4ZlA2WXhZOGJRZDk5OVI5OSsr
173 eTFaV2xxK3RqOXljM05KVVZHUmNuTnpTVWRIaDFxMwpiazFFUkltSmlUUi8vbnhxMGFJRlRaZ3dn
174 YTVjdVNLV0dUOStQRTJiTm8xR2poeEpEUnMycEpDUWtOZks3ZFdyRncwZlBweWFOV3RXCjZyRW8y
175 WWEzR1Q5K1BFMmZQcDFHamh4SmpSbzFvaDkvL0pGZXZIaEJDeGN1SkdWbFpSbzZkQ2pGeGNXSitj
176 dXFlMmhvS1BYdjM1OGEKTkdoQVNrcEt0SDc5ZW5yeDRnWDE3OStmSGoxNlZPcGQzNkpGaTJqUm9r
177 WGs3ZTFOaW9xSzVPbnBTZHUzYjZmdTNidlRva1dMU0VWRgpoWllzV1ZMbU1TY2lPbmJzR09ucDZa
178 RzZ1anA1ZTN2TG5DL0d4c2JrNGVFaDVuMzEvSHI4K0RFdFc3YU1XclZxUlJZV0ZoUWVIdjdhClBy
179 S3dzS0FtVFpyUXhJa1RLVEV4a1lpSURBME5pWWlvUTRjT3BLaW9TTjdlM3EvdFl4VVZGYnA4K1RJ
180 UkVlM1pzNGNVRkJRb0ppYUcKaUlnOFBEeG95SkFoUkZSOFR1L2V2WnNNREF5b1M1Y3V0R2ZQSGlv
181 b0tDQ2kvenVuM2QzZHFVMmJObVJqWTBQNStmbTBhZE1tVWxWVgpKWDE5ZlZGbUNROFBEK3JTcFF2
182 VnExZVAxTlhWUzIwUXlBMndhdE9pUlF1Y1BIbnl0ZWtTaVFROWV2VEExYXRYOGZMbFM2U21wcUor
183 Ci9mcnc5L2ZIOCtmUHNYTGxTblR0MmxYTTM2bFRKemc1T2VISmt5ZjQ0NDgvVUx0MmJTeFlzQUFB
184 c0czYk5uVHYzdjIxOG0vZnZnMEEKMkxoeEkweE1UQkFkSFkzNCtIZ1lHeHRqeTVZdEFJRFRwMC9q
185 ODg4L2g2MnRMVkpTVXJCMTYxWW9LU21KY3Rhdlh3ODlQVDJjT1hNRwpoWVdGQ0FzTFEyNXVMaElT
186 RWlDUlNGQllXQWdBbURadEdpd3RMWkdRa0lDclY2K2lYYnQyT0g3OE9BQmd4b3daK08yMzMvRGl4
187 UXZrCjV1YmkvUG56cGU0djZYb0RnS0doSVJ3Y0hKQ1NrZ0lQRHcvVXJWc1hPVGs1QUlCeDQ4YWhU
188 cDA2OFBMeVFuNStQbDYrZkZscXVWdTMKYm9XeHNmRWIxL2ZkZDk5QlUxTVR5NWN2eDZOSGowb3RZ
189 OXk0Y2FoWHJ4NE9IanlJUjQ4ZVFWOWZINXFhbWxpMWFoV2VQbjJLeVpNbgp3OXJhdWx4MTc5eTVN
190 L3o4L0ZCWVdJaG56NTdoOHVYTEFJQ1FrQkNaL2Y4bWl4Y3Z4dGl4WThYbmJkdTI0ZlBQUDhlY09Y
191 UHc3Tmt6CjVPVGtsSG5NLy92dlB6UnMyQkNIRGgzQzdkdTNZV1ptQmdVRkJiSGZqWTJONGVIaElW
192 Tys5UG1sbzZPRGxTdFhJajA5SFVlT0hFSDkKK3ZXUmxaVWw5bEhkdW5YaDYrdUxKMCtlNE1jZmY4
193 VDgrZk5sOXJmMDhYM1ZUei85aEhYcjFnRUFmdjc1WjdScTFRcHVibTRBZ0xGagp4MkxEaGcwQUFF
194 OVBUN1J2M3g2UmtaRzRkT2tTdExXMXNXM2JOZ0RGNTNTdFdyVmdiVzJOeDQ4Zkl5Y25CNjZ1cnVq
195 VXFSUCsvZmRmCm5EMTdGbTNhdEVIejVzMEJBRStlUElHU2toTGk0dUlBQVBmdTNTdXpqdktBZzN3
196 MVVsRlJ3ZGRmZjQxdnZ2a0czM3p6RFlZTUdRS2cKK0dUZnVYT25tRy9MbGkzNCtlZWZ4ZWVDZ2dJ
197 MGJ0d1l5Y25KU0VwS3d2Lys5ejhSSUFDZ2VmUG01UTd5WGJ0MmxRbXNmbjUrTURNegpBMUQ4Zy9q
198 c3M4L3c1TWtUQUVCK2ZqNisvdnByeE1iR0FnRDA5UFRnNStmMzJuWkpCL21pb2lLMGFORUM5Ky9m
199 Rjk4N096dkR6czRPCkFEQjkrblJZV1ZuaDd0MjdiOTFmMHZWKzh1UUp2dnp5U3hGQUFLQmJ0Mjd3
200 OWZVRlVCeFFURXhNM2xvbVVIcVFQM2Z1SFBMejgzSGoKeGcyTUhqMGF3NGNQTDdXTWNlUEdZZENn
201 UWVMemloVXI4TzIzMzRyUDU4K2ZoNHFLU3JucTNyRmpSNnhkdXhicDZla3k2emg5K3ZSYgpnL3lp
202 Ull0Z1pXVWxQbS9idGcxZmZ2a2xjbk56WmRaVjJqSC8vZmZmWlM0U3djSEJNdnU5ckNBZkZ4Y0hO
203 VFUxbWZvTUhqd1krL2Z2CkYvdG80TUNCNHJ1OWUvZENYMTlmZkg1YmtQZnc4QkQ3V0VOREF4NGVI
204 ckMwdEFSUS9GdTZjdVVLQUdEUW9FSFl2SG16V0c3cjFxMWkKdWRPblQwTWlrY2ljai8zNzk1Zlpw
205 Z1VMRm9qOW5KcWFpb1lORytMSWtTUEl5OHNydFc3eWhOTTExVWdpa2REQmd3Y3BQVDJkMHRQVAp5
206 ZGZYVjN5bnI2OHYvbi95NUVuYXMyY1AxYTlmbityWHIwK05HaldpN094c09udjJMRVZFUkZDclZx
207 M29mLy83bjVpL1k4ZU81VnAvCmRuWTJoWVdGMFlBQkEwVFo0OGVQcHdzWExvaDVtalZyUm8wYU5T
208 SWlvbHExYWxHalJvMG9NVEdSc3JPektTb3FpcnAxNjFibU9tSmoKWStuKy9mdlV2bjE3c1k1Rml4
209 YlIrZlBuaVlobzd0eTVwS1NrUkYyNmRLR3VYYnVTdjc5L3VlcCs4ZUpGVWxWVmxjazlkKzdjbVVK
210 RApRNG1vZU45Szc4UEs2TjY5TzlXcVZZczBORFJvL2ZyMUZCQVFRR2xwYVcrY1Z5S1J5RHdNYnR5
211 NE1iVnQyMWJtYzBscW9yUzZuenQzCmpvaUlkdTdjU2RldVhTTlZWVlVhTVdKRWxYc1NkZWpRZ1dy
212 WHJrMUV4Y2Y4d29VTHBSN3ppSWdJMHRiV0ZzdnE2T2lVZXowblQ1NmsKaElRRVVXNzkrdlVwT0Ro
213 WWJKZEVJcEVwdTJuVHBtS2ZsSWVob1NHZE8zZU9rcEtTcUxDd2tFYU1HRUhuejUrbmUvZnUwZlBu
214 ejBYWgpGeTVjb0U2ZE9vbmxPblhxSk9wQVJOU2tTUk9aQjlobGJYUERoZzFwMTY1ZDVPenNUTTJh
215 TmFPcFU2ZlNreWRQeWwzbmp4RUgrUm9pCi9UREl4TVNFZnZycEozRXhTRTlQcDZ5c0xCbytmRGpw
216 NnVwU2ZIdzg1ZVRraVBsTDhwWkVSTjkvL3owbEp5ZUx6OUs1M3pwMTZwQysKdmo0RkJRV0pjcDg5
217 ZTBicDZlbHZyVitkT25WSVYxZFhCTlhTcUttcGtaS1NFdDI0Y1VPczQvbno1M1QxNmxVaUt2NFJy
218 VnExaWg0OQpla1FMRnk2a01XUEdsR3Y5QmdZR2RPZk9IY3JPemhiVElpTWpaZkxENVgzQVdKRmVR
219 R1hsNkZIT2g0YWwxYjBrTDkyMmJWdmF1WE1uClBYNzhtTFMwdEdqaXhJbEVWTHc5YjF2SG03WkYr
220 bHg2MnpIWDA5T1RPVWVrenlXaTR2TkorbG1BOUx3bUppYlVzbVZMbWZNMEl5T0QKWEZ4Y3hEeGwx
221 VjlCUWFITTcxdTFha1ZmZmZVVnVicTZrcEdSRVNrcUtsTFRwazFweTVZdE1zZTlXN2R1RkJVVkpU
222 NUhSVVdKZmZ2cQovaWpQTnZmdjM1OU9uanhKTjI3Y29JU0VCRnF6WmsycGRaUUhIT1RmQXdzTEMv
223 TDE5U1YvZjMvS3pzNm03T3hzT25yMEtHVmxaVkhUCnBrMnBiZHUydEdqUklucnk1QW10WDc5ZUpx
224 aDM3OTZkSGp4NFFNZVBINmNIRHg2OGRvS09IVHVXRmk1Y1NKY3ZYNmFpb2lKS1RFeWsKNDhlUGw2
225 dGVscGFXdEdiTkdnb05EYVhDd2tJS0N3dVRlWUJIVlB6RHRiQ3dvRm16WmxGTVRBd1ZGUlhSN2R1
226 MzZlelpzMFJFNU8zdApUUThmUHFTaW9pS3FVNmNPMWFsVHAxekJ1VkdqUnFTcnEwdHo1ODZsbEpR
227 VTJyNTlPMTIvZnAzNjlldEhST1VMdUVWRlJmVHk1VXZLCno4K25vcUlpeXMzTnBmejhmQ0lpdW5I
228 akJsMjllcFVLQ3dzcExpNk9ac3lZUVdabVp2VHR0OSsrc2F6eUJ2aTMxVDAvUDUvMjdObEQKejU4
229 L0p5SVNYV3lKaWx2a3FhbXA5UGp4NDFMTExrODl5anJtWm1abUZCZ1lTRWVQSHFVN2QrN1FoZzBi
230 WkpidDFhc1grZnY3VTJKaQpJcDA2ZFlvT0hqd292bE5UVTZPdnYvNmExcTVkUzBsSlNaU2ZuMCtS
231 a1pFVUd4dGJycnAxNnRSSkpqaS9pWkdSRWYzNTU1OWtaR1JFClJNVVBncVUvRXhHWm01dVR1N3M3
232 WGJwMGlhNWN1VUx1N3U0MGVQRGdVc3MwTXpNamQzZDNpbzZPcHREUVVKbUh2bkZ4Y1hUcTFDbksK
233 emMybDJyVnIweGRmZkNHT2g3emlJRjhEWG0yTmZmUE5OeFFVRkVTblQ1K21ObTNhVU92V3JXbm56
234 cDNpZTI5dmIzcjY5Q20xYTllTwpZbU5qYWVUSWtlSUg5ZVdYWDlLV0xWdG94b3daMUs5ZlA3SzB0
235 SlFwLytlZmZ5WnJhMnRhdUhBaE5XalFnUHIwNlNQVEM2U3NWcTZkCm5SM1oyOXZUdkhuenFHSERo
236 alJuemh5eFh1bmxGaTllVEQxNzlpUmJXMXRxMEtBQmpSZ3hRclFHbzZLaXlNREFnT3JYcjArTEZ5
237 OG0KTnpjM3FsdTNicm4yeTU0OWUraXJyNzRpWFYxZENna0pvZURnWVByeXl5L0Z2Rzlyb2UvY3Va
238 TysrdW9yc3JPem8zUG56dEdYWDM1SgpreWRQSmlLaTVPUmtzclMwcEhyMTZ0SElrU09wZGV2V3RI
239 NzkrbExMZW5WOWIxcS85T2V5NnI1NzkyNzY0WWNmU0ZsWm1jTER3MFdnCnJWdTNMczJjT1pNTURR
240 MnBRWU1HYnh4VFVaNTZsSFhNMjdWclI5dTJiYU1sUzVhUW1aa1pqUnMzVG1iWm9VT0hVdGV1WGFs
241 ejU4NjAKWnMwYXNyZTNseW5mMzkrZjh2UHpxVmV2WHRTc1dUT2FNMmVPdVBDL2JaL01tREdEMXE1
242 ZFMvWHIxNmNEQnc2OGNUOGJHUmxSVmxhVwphSm0vK3BtSXlNcktpcVpObTBaMmRuWmthMnRMVTZk
243 T3BURmp4cnh4blVSRWt5Wk5vbkhqeHRIQWdRTnB4b3daTkhYcVZERlBibTR1Cnpaa3poNzc5OWx2
244 cTNMa3pmZlBOTnpSdDJyUTMxazFlU0ZDUkpndDdMeVpNbUVCS1NrcTBiTm15OTEwVkpnY1VGQlFv
245 UGo2ZVZGVlYKMzNkVldBM2dsdnhIZ0svRGpMSEs0aUQvRVNoUHFvS3g4dUp6NmRQQzZSckdHSk5q
246 WmJia0h6eDRRRDE3OXFTMmJkdVNzYkV4ZVhsNQpFVkh4Z3pjbEpTWFMwZEVoSFIwZG1hSHhMaTR1
247 MUxwMWE5TFUxSlRwamhjVEUwTWRPM1lrVlZWVm1qZHYzanZhSE1ZWVk5TEtiTWtuCkpTVlJVbElT
248 YVd0clUycHFLdW5wNmRHMWE5ZG8vZnIxcEtpb1NOT25UNWVaUHlVbGhRd05EZW40OGVPVWtKQkEw
249 NlpORTMxVVM1N3MKOSs3ZG04ek56V25EaGczVXVYUG5kN3QxakRIMmlTdnpkVzFObXphbHBrMmJF
250 bEZ4WCtDMmJkdFNaR1FrRWIzNVlXQjRlRGlabXBxUwpzckl5S1NzckV3REt5c3FpcjcvK21tN2V2
251 Q25laHoxMDZGQUtEdy9uSU04WVkrOVl1ZC9KR1I4ZlQ5ZXZYeWQ5ZlgwNmQrNGN1YnE2CmtyZTNO
252 dzBaTW9UczdPeElVVkdSSWlJaVNFTkRReXlqcHFaRzRlSGhwS0tpUW8wYk54YlROVFUxYWMrZVBX
253 UnZieSt6RG40Z3hCaGoKbFZOYVVxWmN2V3N5TXpQSndzS0NuSjJkcVU2ZE9tUnJhMHNKQ1FrVUZC
254 UkV0Mi9mcHMyYk41ZTZramNGN3JLZTlhTDRwV25WOW0vUgpva1ZjSnBmNXlaVDVNZFR4VXkvelhm
255 d3J5MXVEZkg1K1BnMGJOb3pHamgxTDV1Ym1SRlQ4Y2lhSlJFTDE2dFVqZTN0Nzh2UHpJNkxpCmwz
256 RGR1SEZETEJzYkcwdTZ1cnJVcWxVcm1hSDVOMjdjSUFNRGc3ZXRtakhHV0JXVkdlUUJrSTJORGJW
257 cjE0Nm1UcDBxcHBlOGE2T2cKb0lDOHZMekl6TXlNaUlwZkRCUVVGRVQzNzkrbmtKQVFVbEJRRU8r
258 RlVGZFhwMzM3OWxGcWFpcjUrZmxWK1kyQ2pESEczcTdNblB6NQo4K2RwOSs3ZDFMNTllL0c2enBV
259 clY5TGV2WHZwNnRXclZMdDJiVEkwTkNSYlcxc2lLbjdscDYydExabVltRkR0MnJWRkdvZUlhTzNh
260 CnRXUmxaVVZ6NXN3aFMwdkxHbnZvYW14c3pHVnltWjlNbVI5REhULzFNbXZhQnpVWVNpS1J2RFcv
261 eEJoalRGWlpzWk5mYThBWVkzS00KZ3p4ampNa3hEdktNTVNiSE9NZ3p4cGdjNHlEUEdHTnlqSU04
262 WTR5Vm9tN2RCdUx2T1ZUMlg5MjZEZDdyTm5BWFNzWVlLMFh4YTFtcQpHcFBlZlZ6akxwU01NZmFK
263 NGlEUEdHTnlqSU04WTR6Sk1RN3lqREVteHpqSU04YVlIT01nenhoamNveURQR09NeVRFTzhvd3hK
264 c2M0CnlEUEdtQnpqSU04WVkzS01nenhqak1reER2S01NU2JIT01nenhwZ2M0eURQR0dOeWpJTThZ
265 NHpKTVE3eWpERW14empJTThhWUhPTWcKenhoamNveURQR09NeVRFTzhvd3hKc2M0eURQR21Cd3JN
266 OGcvZVBDQWV2YnNTVzNidGlWalkyUHk4dklpSXFMTXpFd3lOemNuWldWbApHang0TUdWbFpZbGxY
267 RnhjcUhYcjFxU3BxVW1ob2FGaWVreE1ESFhzMkpGVVZWVnAzcng1NzJoekdHT01TU3N6eUgvKytl
268 Zms3T3hNCjE2OWZwd01IRHREOCtmTXBNek9UM056Y1NGbFptVzdkdWtWS1Nrcms3dTVPUkVRcEtT
269 bTBhZE1tQ2c0T0pqYzNOM0owZEJSbE9UazUKMGF4WnN5Z3lNcExPbkRsRFVWRlI3M2JMR0dPTWxS
270 M2ttelp0U3RyYTJrUkUxS2hSSTJyYnRpMUZSa1pTUkVRRTJkalkwQmRmZkVIVwoxdFlVSGg1T1JF
271 VGg0ZUZrYW1wS3lzcktaR1JrUkFCRUsvL216WnRrWVdGQkRSczJwS0ZEaDRwbEdHT012VHZsenNu
272 SHg4ZlQ5ZXZYClNVOVBqeUlqSTBsZFhaMklpTlRWMVNraUlvS0lpb084aG9hR1dFWk5UWTNDdzhN
273 cFBqNmVHamR1TEtacmFtclN4WXNYcTJzYkdHT00KbGFKV2VXYkt6TXdrQ3dzTGNuWjJwcSsvL3Bv
274 QWxIc0ZFb25rdFdsbExiOTQ4V0x4ZjJOall6STJOaTczdWhoajdGTVFFaEpDSVNFaAo1WnIzclVF
275 K1B6K2ZoZzBiUm1QSGppVnpjM01pSXRMVjFhV1ltQmpTMGRHaG1KZ1kwdFhWSlNJaWZYMTlPbm55
276 cEZnMk5qYVdkSFYxClNWRlJrWktUazhYMEd6ZHVrSUdCd1J2WEp4M2tHV09NdmU3VkJ2Q1NKVXRL
277 bmJmTWRBMEFzckd4b1hidDJ0SFVxVlBGZEgxOWZmTDAKOUtTY25Cenk5UFFVQVZ0UFQ0K0Nnb0xv
278 L3YzN0ZCSVNRZ29LQ3FTb3FFaEV4V21kZmZ2MlVXcHFLdm41K1pHK3ZuNVZ0cEV4eGxnNQpTRkJH
279 N2lRME5KUU1EUTJwZmZ2Mkl1MnlhdFVxNnRhdEcxbFpXZEdWSzFlb1k4ZU90SHYzYnZyNjY2K0pp
280 R2pqeG8zazZ1cEt0V3ZYCnBzMmJOMU9QSGoySXFMajFibVZsUmVucDZXUnBhVW1yVnExNnZUSVNT
281 WVZTUVl3eDlpNFZ4NzJxeHFSM0g5ZktpcDFsQnZtYXhrR2UKTWZZaGtZY2d6eU5lR1dOTWpuR1Fa
282 NHd4T2NaQm5qSEc1QmdIZWNZWWsyTWM1QmxqVEk1eGtHZU1NVG5HUVo0eHh1UVlCM25HR0pOagpI
283 T1FaWTB5T2NaQm5qREU1eGtHZU1jYmtHQWQ1eGhpVFl4emtHV05Nam5HUVo0d3hPY1pCbmpIRzVC
284 Z0hlY1lZazJNYzVCbGpUSTV4CmtHZU1NVG5HUVo0eHh1UVlCM25HR0pOakhPUVpZMHlPY1pCbmpE
285 RTV4a0dlTWNia0dBZDV4aGlUWXh6a0dXTk1qbkdRWjR3eE9jWkIKbmpIRzVCZ0hlY1lZazJNYzVC
286 bGpUSTZWR2VTdHJhMnBTWk1tcEtXbEphWXRYcnlZbEpTVVNFZEhoM1IwZENnZ0lFQjg1K0xpUXEx
287 Ygp0eVpOVFUwS0RRMFYwMk5pWXFoang0NmtxcXBLOCtiTmV3ZWJ3UmhqN0UzS0RQSVRKa3lnd01C
288 QW1Xa1NpWVNtVDU5T1Y2NWNvU3RYCnJsRC8vdjJKaUNnbEpZVTJiZHBFd2NIQjVPYm1SbzZPam1J
289 Wkp5Y25talZyRmtWR1J0S1pNMmNvS2lycUhXd0tZNHl4VjVVWjVIdjAKNkVIMTY5ZC9iVHFBMTZh
290 Rmg0ZVRxYWtwS1Nzcms1R1JFUUdnckt3c0lpSzZlZk1tV1ZoWVVNT0dEV25vMEtFVUhoNWVUZFZu
291 akRGVwpsbHFWV2NqVjFaVzh2YjFweUpBaFpHZG5SNHFLaWhRUkVVRWFHaHBpSGpVMU5Rb1BEeWNW
292 RlJWcTNMaXhtSzZwcVVsNzl1d2hlM3Y3Ck41YTllUEZpOFg5alkyTXlOamF1VEJVWlkweHVoWVNF
293 VUVoSVNMbm1yWENRdDdXMXBZVUxGMUpHUmdiOTl0dHZ0SG56WnBveFk4WWIKVy9jU2llUzFhVyth
294 VDVwMGtHZU1NZmE2Vnh2QVM1WXNLWFhlQ3ZldWFkeTRNVWtrRXFwWHJ4N1oyOXVUbjU4ZkVSSHA2
295 K3ZUalJzMwp4SHl4c2JHa3E2dExyVnExb3VUa1pESDl4bzBiWkdCZ1VOSFZNc1lZcTRRS0Ivbkhq
296 eDhURVZGQlFRRjVlWG1SbVprWkVSSHA2ZWxSClVGQVEzYjkvbjBKQ1FraEJRWUVVRlJXSmlFaGRY
297 WjMyN2R0SHFhbXA1T2ZuUi9yNit0VzRDWXd4eGtwVFpycG0xS2hSZE9iTUdVcE4KVGFYbXpadlRr
298 aVZMS0NRa2hLNWV2VXExYTljbVEwTkRzclcxSlNLaUprMmFrSzJ0TFptWW1GRHQyclZwOCtiTm9w
299 eTFhOWVTbFpVVgp6Wmt6aHl3dExhbHo1ODd2ZHFzWVk0d1JFWkVFYjB1UzF5Q0pSUExXbkQxampO
300 V1U0dWVLVlkxSjd6NnVsUlU3ZWNRclk0ekpNUTd5CmpERW14empJTThhWUhPTWd6eGhqY295RFBH
301 T015VEVPOG93eEpzYzR5RFBHbUJ6aklNOFlZM0tNZ3p4ampNa3hEdktNTVNiSE9NZ3oKeHBnYzR5
302 RFBHR055aklNOFk0ekpNUTd5akRFbXh6aklNOGFZSE9NZ3p4aGpjb3lEUEdPTXlURU84b3d4SnNj
303 NHlEUEdtQnpqSU04WQpZM0tNZ3p4ampNa3hEdktNTVNiSE9NZ3p4cGdjNHlEUEdHTnlqSU04WTR6
304 Sk1RN3lqREc1VUxkdUE1SklKRlg2VjdkdWcvZTlHZFZPCkFnRHZ1eElsSkJJSmZVRFZZWXg5UkNR
305 U0NSRlZOWDdJeHFCM1VlYTdVRmJzNUpZOFk0ekpzVEtEdkxXMU5UVnAwb1MwdExURXRNek0KVERJ
306 M055ZGxaV1VhUEhnd1pXVmxpZTljWEZ5b2RldldwS21wU2FHaG9XSjZURXdNZGV6WWtWUlZWV25l
307 dkhudllETVlZNHk5U1psQgpmc0tFQ1JRWUdDZ3p6YzNOalpTVmxlbldyVnVrcEtSRTd1N3VSRVNV
308 a3BKQ216WnRvdURnWUhKemN5TkhSMGV4akpPVEU4MmFOWXNpCkl5UHB6Smt6RkJVVjlRNDJoVEhH
309 Mkt2S0RQSTlldlNnK3ZYcnkweUxpSWdnR3hzYit1S0xMOGphMnByQ3c4T0ppQ2c4UEp4TVRVMUoK
310 V1ZtWmpJeU1DSUJvNWQrOGVaTXNMQ3lvWWNPR05IVG9VTEVNWTR5eGQ2dkNPZm5JeUVoU1YxY25J
311 aUoxZFhXS2lJZ2dvdUlncjZHaApJZVpUVTFPajhQQndpbytQcDhhTkc0dnBtcHFhZFBIaXhhcldt
312 ekhHV0RuVXF1Z0NGWGxLWFB4a3VtTExMMTY4V1B6ZjJOaVlqSTJOCnk3MCt4dGpIb1c3ZEJwU1pt
313 VjZsTWhRVjYxTkd4dE5xcXRISEpTUWtoRUpDUXNvMWI0V0R2SzZ1THNYRXhKQ09qZzdGeE1TUXJx
314 NHUKRVJIcDYrdlR5Wk1ueFh5eHNiR2txNnRMaW9xS2xKeWNMS2JmdUhHRERBd01TaTFmT3Nnenh1
315 UlRjWUN2V3JmQ3pNelhHNUdmaWxjYgp3RXVXTENsMTNncW5hL1QxOWNuVDA1TnljbkxJMDlOVEJH
316 dzlQVDBLQ2dxaSsvZnZVMGhJQ0Nrb0tKQ2lvaUlSRmFkMTl1M2JSNm1wCnFlVG41MGY2K3ZvVlhT
317 MWpqTEhLUUJrc0xTM1JyRmt6MUs1ZEcwcEtTdkQwOUVSR1JnWUdEUnFFNXMyYnc5emNISm1abVdM
318 K0RSczIKb0dYTGx0RFEwTURaczJmRjlPdlhyME5IUndjdFdyVEE3Tm16UzEzZlc2ckRHSk1UUkFR
319 aVZQRWZmWlJsdnF2OVdSb2U4Y29ZcTNFZgp5K2hVSHZIS0dHUHNnOFpCbmpIRzVCZ0hlY1lZazJN
320 YzVCbGpUSTV4a0dlTU1UbkdRWjR4eHVRWUIzbkdHSk5qSE9RWlkweU9jWkJuCmpERTV4a0dlTWNi
321 a0dBZDV4aGlUWXh6a0dXTk1qbkdRWjR3eE9jWkJuakhHNUJnSGVjWVlrMk1jNUJsalRJNXhrR2VN
322 TVRuR1FaNHgKeHVRWUIzbkdHSk5qSE9RWlkweU9jWkJuakRFNXhrR2VNY2JrR0FkNXhoaVRZeHpr
323 R1dOTWpuR1FaNHd4T2NaQm5qSEc1QmdIZWNZWQprMk1jNUJsalRJNVZPc2kzYU5HQzJyZHZUem82
324 T3FTbnAwZEVSSm1abVdSdWJrN0t5c28wZVBCZ3lzcktFdk83dUxoUTY5YXRTVk5UCmswSkRRNnRl
325 YzhZWVkyOVY2U0F2a1Vnb0pDU0VybHk1UWhFUkVVUkU1T2JtUnNyS3luVHIxaTFTVWxJaWQzZDNJ
326 aUpLU1VtaFRaczIKVVhCd01MbTV1WkdqbzJQMTFKNHhKcU51M1FZa2tVaXE5Szl1M1FidnZFeFdj
327 NnFVcmdFZzh6a2lJb0pzYkd6b2l5KytJR3RyYXdvUApEeWNpb3ZEd2NESTFOU1ZsWldVeU1qSWlB
328 SlNabVZtVlZUUEczaUF6TTUySVVLVi94V1c4MnpKWnphbFNTOTdFeElRR0R4NU1odzRkCklpS2l5
329 TWhJVWxkWEp5SWlkWFYxMGNJUER3OG5EUTBOc2F5YW1wcjRqckZQV1ZWYnlkeENabTlUcTdJTG5q
330 OS9ucG8xYTBZeE1URTAKY09CQTB0UFRlNjFsWHhhSlJQTEc2WXNYTHhiL056WTJKbU5qNDhwV2ti
331 RVAzdisxa2l1Ny9KdC9SMHkraFlTRVVFaElTTG5tbGFBaQprYmtVMDZkUEp3ME5EUW9NREtUNTgr
332 ZVRqbzRPWGJwMGlWYXRXa1VIRGh5Z3c0Y1AwOG1USjJuanhvMUVSS1N0clUzbnpwMGpSVVZGCjJj
333 cElKQlc2VUREMnNTdHU3RlRsbkpmOXpWUzlQQzd6WFpmNUxwUVZPeXVWcm5ueDRvWElxVDk1OG9T
334 Q2dvTEkxTlNVOVBYMXlkUFQKazNKeWNzalQwNU1NREF5SWlFaFBUNCtDZ29Mby92MzdGQklTUWdv
335 S0NxOEZlTVkrZEp4YVlSK2pTcVZya3BPVGFjaVFJVVJFMUxCaApRM0p5Y3FMbXpadVRyYTB0V1Zs
336 WmtacWFHblhzMkpGKy8vMTNJaUpxMHFRSjJkcmFrb21KQ2RXdVhaczJiOTVjZlZ2QVdBM2gxQXI3
337 CkdGVkx1cWE2Y0xxR2ZjaXFPN1h5THNyOFdGSVduM0taNzBLMXAyc1lxMDd2SWczQ3FSWEdpbkZM
338 bmxWSTNib05xdHpuV1ZHeFBtVmsKUEJXZlA0WVc4c2RTNXNmU212MlV5M3dYeW9xZGxlNUN5VDVO
339 VmMxTEY1ZkJ1V25HYWdxbmF6NFFQQnlkTWZZdWNMcW1FajdNbEFYUgp4M3I3K2pHa1FUNldNai9N
340 NDhObGNycm1JOE1wQzhiWXg0TFROWXd4SnNma1BzaHpYcG94OWluNzROSTF4VG13eW5zMTE4MnBG
341 Y2JZCnAreURDL0lja0JsanJQcklmYnFHTWNZK1pSemtHV05Nam5HUVo0d3hPY1pCbmpIRzVCZ0hl
342 Y1lZazJNYzVCbGpUSTV4a0dlTU1UbkcKUVo0eHh1UVlCM25HR0pOakhPUVpZMHlPY1pCbmpERTV4
343 a0dlTWNia0dBZDV4aGlUWXh6a0dXTk1qbkdRWjR3eE9jWkJuakhHNUJnSAplY1lZazJNYzVCbGpU
344 STV4a0dlTU1UbFdvMEgrN05tenBLR2hRYTFidHlaWFY5ZWFYRFZqakgyU0pBQ3E5cGV6SzBCSFI0
345 YzJidHhJCktpb3ExSzlmUHdvTkRhVkdqUnI5WDJVa0VxcnFIL0lta3BEMEpuR1puMEtac3VWOXlt
346 VittTWVIeTN6WFlWWWlLWDBkTmRhU2YvNzgKT1JFUkdSb2Frb3FLQ3ZYdDI1ZkN3OE5yYXZXTU1m
347 WkpxbFZUSzRxTWpDUjFkWFh4V1ZOVGt5NWV2RWdEQmd4NFpVNUpsZGRWZlBYbApNaitsTWw4djcx
348 TXU4OE03UGx4bTFjdW9yQm9MOHVWUmc1a2p4aGo3Sk5SWXVrWlhWNWRpWTJQRjUrdlhyNU9CZ1VG
349 TnJaNHh4ajVKCk5SYms2OVdyUjBURlBXenUzcjFMSjA2Y0lIMTkvWnBhUFdPTWZaSnFORjJ6WWNN
350 R21qeDVNdVhuNTVPam82Tk16eHJHR0dQVnIwYTcKVUxJUEI0RDMrakNvSXRMVDA2bCsvZnJWVmw3
351 SnRuOG8rK0JEcVVkRlhMeDRrWGJ2M2sxLy92bG5qYXl2cUtpSUZCVCtML0ZRWGZzcwpOVFZWN2h0
352 MnU5L0tBQUFnQUVsRVFWU2JQT0wxRlFERUErREN3a0l4dmFpb3FOUmx5dnF1TXV0LzE0cUtpc1FQ
353 NU83ZHU1U2ZuMStoCjVhWDMwYnQyK1BCaFdyQmdBVDE4K0xEYXlpelo5cmk0dUdvclU1cjAvc25P
354 emk1ejNwU1VGQW9ORFNVaW91M2J0MU4wZFBRN3FkT3IKM25UT1Z1U1lxcXVyMCtuVHAybmF0R25W
355 V2EwM0FpQUNmSEJ3TUJGVlQyK1ZnSUFBR2pkdUhDVW1KbGJxTjF5ZHYvdDNDaCtSd3NKQwo4Zitp
356 b3FMWHBsV0hrbklEQWdJd1k4WU1MRml3QUM5ZXZDaDFYZExUd3NMQ2tKU1VWT2wxUzVkVlVGQ0Ev
357 UHg4bVRwVkIrbXkxcTVkCmkvSGp4K1B4NDhlVkt1UGF0V3VJakl4RVpHUmt0ZFZQMnBrelo2Q2xw
358 WVd3c0RBQTFYdXM3OTY5aXo1OSt1RDY5ZXZWVm1hSmt2MXoKL1BoeExGcTBDR2xwYVcrYzcrWExs
359 M2oyN0JtTWpJeGdhbW9LUFQwOVBIandvTnJyVTFyOUFDQThQQndoSVNFVldyYmt2RXhQVDRldQpy
360 aTRjSEJ5cXZZNXZzbW5USm1ocGFTRStQcjdLWllXR2hrSlRVeE5uejU0RlVQeDdxNnpvNk9nYU9X
361 NlY5VkcxNUV1dTVyNit2dVRpCjRrS3hzYkV5dDNCVmhmOS9DeGdkSFUzejVzMmpkdTNhVVdKaUlu
362 WHExSWxldkhoQkNnb0tyMTI5UzlidjdPeE05dmIybEp1YisxcVoKNVZWU2xxZW5KNjFZc1lLV0xs
363 MUtZV0ZoMVhvclgxTFcvdjM3NmVEQmc3UnUzVHBxMnJRcFpXVmx2VmIzc3NvNGNlSUUyZHJhVW5S
364 MApOSTBkTzVaOGZYMnJyWTRsd3NMQ2FQVG8wYVNwcVVtK3ZyNzA2NisvMGg5Ly9GR3BzbDQ5RHYv
365 NzMvOUlYVjJkbmp4NVFrU3lkMjFWCkpaRkk2TlNwVTJSdmIwOG1KaWJVb0VHRDErYTVldlVxL2ZQ
366 UFAxU3ZYajJhTkdrU1JVUkVrSkdSRVNrcEtWRitmdjQ3dTF1Q1ZKckQKM2QyZEprK2VUS3RYcjZh
367 K2ZmdFNhbXBxbWN1VzNBSFdxbFdMc3JPejZadHZ2cUdUSjAvUzVjdVh5Y0hCb2RycldsQlFJUDRm
368 RnhkSAp4NDhmcDZOSGoxTExsaTJyVkM0QXVubnpKczJmUDU4ME5UVnAzNzU5WkdabVZ1NXpTL3E0
369 L1Bubm4yUmhZVUdyVnEyaVNaTW1mWkRkCndEK0tJQzhkV1AzOC9Hang0c1dVbnA1T2d3WU5JaDhm
370 bjNJSHA3Y3BDZkJ1Ym03VXAwOGZHamR1SEhsNGVGQ1hMbDNJd01CQUJIb2kKMlFNZEVoSkMrL2Z2
371 cHpObnpwQ3lzakxkdlh1WDd0Ky9MOHFzQ0g5L2Z6cHc0QUNOSERtU1FrSkN5TjNkdlZxMjdlTEZp
372 ekkveE9UawpaREl4TWFINCtIaGF2MzQ5alIwN2x1Yk1tVU5aV1ZsbGxnT0Fzck96S1Nnb2lMeTh2
373 S2gyN2RyMHpUZmZrSUdCUWJXZDRQSHg4VVJFClpHUmtSS2RPbmFKZXZYclI1Y3VYNmJ2dnZxT2tw
374 Q1JLVDArdmNKa2x4K0hxMWF0RVJOU2tTUlBxMEtFRDJkblpVVXBLQ24zMjJXZlYKVW5jQWxKZVhS
375 NGNQSDZZLy92aUREQTBONmVUSms3Unc0VUx5OC9NVDgzMzIyV2ZVcjE4L3VuUG5EalZxMUlpQ2c0
376 TXBNRENRbGk5ZgpUcDkvL2psSkpCSjYrdlJwdGRSSldzbCtpSWlJb09QSGoxTlFVQkFGQkFSUXMy
377 Yk55TnJhbXBLVGswdGR0dVRjMzdGakJ5MWR1cFMyCmJkdEd5Y25KRkJRVVJKR1JrZFdhdWdrUEQ2
378 ZmR1M2VMY3lvek01TnExNjVOelpzM0o2TEtYNVJMTG5LdFdyV2l1WFBua3FXbEpTVWsKSk5DNGNl
379 UEl6OCtQRWhJU3lseGVPdFdaazVORCtmbjU1Ty92VDNQbnpxWGMzRndhUEhqd2h4Zm9hLzdtb1dL
380 a2J5MFRFeE54NHNRSgpjWHU1ZCs5ZUdCc2I0OENCQTNqNThtV1Z5d2VLYjcwc0xDelFyMTgvWEw1
381 OFdVd2ZOV29VV3JWcWhZS0NBcG0wUVY1ZUh1TGo0MFZxClorN2N1ZERTMG9LTmpRMmlvcUlxWEo4
382 REJ3NGdQajRlYTlldXhZQUJBNUNYbDRmYzNOd3FwWUdBNGx0clRVMU5PRG82QWloT3RRd1oKTWdU
383 R3hzWndkM2ZIL3YzN01YdjJiRHg3OXV5Tnk3K2FIbHUxYWhXV0xWdUc3dDI3NCtiTm13QUFiMjl2
384 WExseXBVcjFQSHo0TU5xMAphWU9iTjI4aU56Y1h5Y25KWXRzaklpSmdaR1NFUjQ4ZWxiczg2ZU43
385 Nzk0OURCczJETDE3OThhTkd6Znc0c1VMckZtekJsdTNicFhaCnRvb3FLaXA2N1R6YXNXTUhWRlJV
386 WUdwcWlrbVRKbUgrL1BrWU5Xb1VuajkvTHVaSlRVM0ZrQ0ZEc0hMbFNnQkFmSHc4TkRRMHNINzkK
387 ZXZ6MTExL28yN2V2U0JWV1ZVbjlpb3FLa0pLU0FrZEhSN1JzMlJJK1BqNWlIaHNiR3hnYUdpSTVP
388 Ym5VNWYzOS9URmd3QUJFUkVTZwpkZXZXbURObkRnRGcrZlBuVUZOVHcyKy8vVll0OWIxOSt6WVNF
389 eE1SR3h1THpNeE1GQlFVd05EUUVPN3U3bUllZDNkM0xGaXdvTnhsCm5qNTlHaXRXck1DT0hUdHc5
390 KzVkUEg3OEdLbXBxUUNBQnc4ZW9HL2Z2a2hNVEN4MWVlbnp3OTNkSFdQSGpvVyt2ajdPbno4UEFN
391 aksKeXNLRUNSTmdiR3hjclNuV3F2cWdnN3owVG5WMmRrYno1czJocHFZR1EwTkRzUk85dmIyaHJh
392 ME5mMy8vU3EyanBKeUVoQVRFeGNVaApMUzBOYVdscEdEOStQSll2WDQ0Yk4yNkllYTlkdTRiYzNG
393 enhlY2VPSFZpMWFoWHUzYnNITnpjM2pCbzFDcUdob2JoNTh5Wm16SmdoCkRuNTV0cS9FK3ZYcjBi
394 NTllNHdhTlVwTTI3UnBFMWF2WGkxeW9SWGR2bGR6cUZPblRoWGZsM3puNCtNRFEwTkRjZEpMTDEr
395 eWoyN2QKdW9WdDI3WUJBRmF1WEluYXRXdmovdjM3QUlwenU5cmEyaklYeG9xNmR1MGFkSFIwUkJu
396 cDZlbkl6YzFGZm40K1RwMDZoWll0VytMSQprU1BsTGs5Ni83NTQ4UUw1K2Zrb0xDekVraVZMWUdk
397 bmg1RWpSMkxzMkxHWU1tVktwZXNNL044NWRQbnlaUnc0Y0FDWm1aa0FnSFBuCnp1SDI3ZHNBZ0tp
398 b0tBd2ZQbHg4VjVJRGpveU14TGh4NDdCNjlXcms1T1RnN3QyNytPV1hYMkJqWTROLy8vMjNTdlVx
399 SWIwZlN2NS8KNzk0OU9EazVZZWJNbWJoNDhhTDQzczdPVGh4VG9QakMrdlRwVTFIbmJkdTJJVG82
400 R3R1M2IwZnYzcjJSbjUrUC9QeDhGQlFVSUNNagpBM2Z1M0tsU1hYTnpjOFgrek1uSmdZR0JBUll0
401 V29TY25CeWNQSGtTNXVibW1EQmhBdHpkM2RHcFV5Zjg5OTkvNVNyM3dvVUw2TktsCkM0NGNPWUlC
402 QXdaZ3hJZ1J5TXZMQTFEY1dHelRwazI1WTBoZ1lDRDY5dTJMWGJ0Mm9YdjM3bGkxYWhWdTNib0ZB
403 TWpNek1TVUtWTmsKOXVINzlrRUgrUklYTGx6QXhJa1RjZXZXTFlTRmhXSDgrUEd3dDdjWFB4US9Q
404 ei9jdlh1M3d1V1duUEJCUVVIbzBhTUhwa3laZ2o1OQordUNmZi81Qldsb2FiR3hzc0dEQkFrUkhS
405 Nk9vcUFpeHNiRm8yclNwZU1qaTV1YUduVHQzeXBRRkZMZkc5ZlgxeTMzQ0h6MTZGTWVPCkhVTlNV
406 aEpldm55Sm5qMTc0dWVmZjhhZE8zZmc3dTZPMXExYkl5WW1wdExiQnhTM01nRGcyYk5uNk5LbEMy
407 eHRiUUVVQjc5ZHUzYWgKZGV2V2lJNk9mcTJNa2gvYzZkT25ZV2xwQ1IwZEhSdzhlQkFBTUdIQ0JQ
408 VHIxdzh6WnN4QWp4NDk0T3ZyVytFNlNvdUppY0dTSlV1dwpjK2RPckZ1M0RqbzZPdmpsbDE4UUVS
409 R0JJMGVPNE5TcFU2Sk9GV2twYmQyNkZSTW5Uc1RVcVZPeGI5OCs1T2JtSWowOUhmdjM3NGVhCm1o
410 b2FOR2hRb2JzRGFTWDFDQWtKZ1lhR0JrYU9IQWx0YlcwRUJnYUt1OHVqUjQ5Q1EwTURodzhmRnZW
411 eGNIQ0FyNjh2VWxOVEVSc2IKaXpGanhtRE5talZJVFUxRlVWRlJwZTlNWHlWOUR1emV2UnNyVnF6
412 QTd0MjdrWmlZaU1URVJNeWNPUk1MRml6QXVYUG4zcmo4dUhIagowS2xUSnhIb3ZieTgwS3haTS9U
413 cTFVdk00K0xpZ3IvKytxdktkVTFQVDhlQkF3ZVFrWkdCdFd2WDR2RGh3N2grL1RyNjlldUh0V3ZY
414 CklpVWxCVWxKU1pnN2R5NDhQRHhFWUMyUEF3Y09JQzR1RGdFQkFkRFgxeGRCK05telp3Z0xDME5R
415 VUJDQXQ1OWJrWkdSK1BiYmI4VWQKeGZuejUvSFRUejloN2RxMWlJMk5GV1Y4U0Q3SUlDK2RHbmo0
416 OENGMGRIVFFwVXNYSkNRa29LQ2dBUC8rK3k4bVQ1Nk1jZVBHVmVvVworOG1USitJcW5wMmRqY21U
417 SnlNZ0lBQkFjWXRMVFUwTlo4K2VSVnhjSE1hT0hZdjQrSGdSSktkTm13WmxaV1VrSnlkajgrYk4y
418 TFJwCmswelpBUUVCTURJeXdyVnIxOTY2ZlFEZzYrdUx0bTNiWXN5WU1aZ3laUXIyNzkrUGpJd00v
419 UHp6ejVnMmJScCsrZVVYbWJ1Snl0aSsKZlR0bXpwd0pUMDlQeE1YRklUTXpFM3A2ZXBnK2ZUcUE0
420 dFphV1Jla2lJZ0lxS3VyWTgrZVBSZ3hZZ1JHang0TmIyOXZBTURaczJjUgpHaG9xTGtJVkRjQkE4
421 VEhJek14RVJrWUc1czZkaTM3OStzSEx5d3ZuenAyRG5aMmR6QjFSZWNxWC92N2l4WXN3TkRURWxT
422 dFg0Tzd1Cmpoa3pabURod29YaStOKy9meDhwS1NrVnF1K3I0dUxpWUc1dWp0T25Ud01BWEYxZFlX
423 NXVqc0RBUUR4NjlBaC8vLzIzdUFPNWZQa3kKZXZYcUJUYzNOemc2T21MS2xDbElTRWpBelpzM01X
424 alFJTGk0dUZUcWp1MXRObTdjaUI0OWV1RFlzV013TmpaR256NTljTzNhTlR4KwovQmoyOXZaWXRt
425 d1pjbkp5eFB6U3ZVMkdEUnVHL3YzNzQrblRwOGpMeTRPTmpRMGNIQnlRa0pDQVhidDJRVU5Ebzlw
426 NktTMVlzQUNhCm1wcG8zNzQ5NHVMaUFBRFhyMTlINzk2OXNYcjE2Z3IvM2tzdVRuLzk5UmQwZFhW
427 aFpHUWtlcE1kTzNZTXpzN09NcW1zVjgrdFY5ZVgKbjUrUFVhTkdRVVZGUmFUZXdzUERNV1RJRUd6
428 Y3VGR2NWeCtTRHk3SVMrL1VrcFA5eXBVck1EWTJocHVibTBpWFhMNThHWTZPamhYdQovcGVabVlr
429 MWE5Ymc3dDI3NG9BNk9UbUpIeWhRM0VKZnZYbzFBQ0FqSXdPeHNiRVlQSGl3T0pGbno1NE5WVlZW
430 T0RnNFlObXlaZGk5CmV6Y0NBZ0p3OE9CQkhEcDBDRStlUENsMS9kSW4wWk1uVDdCcDB5WmN1blFK
431 UVBGdG83VzF0UWlnQUdSK2VCVlJuaHhxbXpadHhPZlMKbGk4b0tJQzN0emRtenB3Sm9MamIzL0xs
432 eTJGZ1lBQS9QNy9YQWxKRkEvelJvMGRoYlcyTlVhTkc0WjkvL2tGR1JvWm94Y2JFeEVCZgpYeC9o
433 NGVFVjN1NlMvd2NIQjJQdTNMa0FpdmZsMmJObllXTmpVK1ZuSENYbDUrYm1Zc2VPSFZCVlZjV3Z2
434 LzRxdm5OemMwUGZ2bjF4CjVNZ1JjYzVldW5RSmYvLzlONXlkblFFQS8vNzdMNVl2WHc0N096dkV4
435 OGZqMXExYmVQandZWlhyQlFELy9mY2Yvdm5uSHdERnVmODUKYytZZ0l5TURMaTR1Nk4yN054WXVY
436 SWllUFh2aXYvLytRMUpTMGh2ejhBRHc5OTkvWS9Ma3lXamF0Q20wdExTUWxwYUc2T2hvTEZ5NApF
437 S2FtcHJDMXRhMXlJMFQ2Tng4VEU0TnUzYnJCM053Y3FhbXB5TTdPQmxEOHJFeFBUdy9yMXEwcmQ2
438 QS9kT2dRN08zdGtaYVdocnk4ClBQVHIxdzhqUm93QVVOeTl0VVdMRnFJRi95YlM1OUovLy8wbkdo
439 dDVlWG1ZUG4wNkRBME5SZmZZcUtpb012UDU3OU1IRitSTGJOKysKSFFzWExvU0xpd3VpbzZNUkZS
440 VUZJeU1qZUhoNGlDQlFtVnZhdkx3OHBLYW00dkhqeDFpNmRDbnk4L1B4KysrL3c4ek1UQVNzM2J0
441 MwpZOG1TSlRJUFdVdHl1Q1V0MXVYTGwwTWlrV0Rnd0lGWXZYbzFySzJ0TVdUSWtESi9wTkluNTlx
442 MWE5RzNiMTgwYXRSSVBIaExUMC9ICnZuMzdZR0ZoZ2UzYnQxZDQyNERxeWFHV25OeEhqeDdGNzcv
443 L2pvc1hMMEpmWDE5Y2pQTHo4OUdsU3hmODl0dHZJc2RjR2JHeHNlamIKdHkvUzB0TGc0T0NBenAw
444 N0l5c3JDMFZGUlRoeDRnUjBkWFhoNStjblU2ZXlaR1JraVA5N2VucGk3ZHExdUhidEdscTJiSW5B
445 d0VEeAozY2lSSTh1ZHkzMlZkR3Z2eFlzWDRwaDZlWGxoN05peDhQRHdFUE81dUxpSWgrOXVibTVv
446 MDZZTnVuWHJocFl0VzRvV1gzUjBOT2JPCm5ZdHAwNlpWV3l1d29LQUFKMDZjUUVwS0NoSVNFZ0FV
447 cCt0dTNicUZvVU9INHZuejU0aUtpa0tIRGgwd1lNQ0FVbjlIc2JHeDZOS2wKQys3ZHU0ZlUxRlFN
448 R3pZTU9qbzY0dng2L3Z5NXpET3F5cEErcmo0K1B2RDI5c2FMRnkvZzZPaUlVYU5HaVJSSVdsb2FI
449 ang0Z0h2Mwo3cFdyM0ZmSFdBREE0OGVQTVhyMGFGaFpXV0g4K1BIaTd2MXQ1NWFibXh0NjllcUZ2
450 bjM3WXVUSWtkaTNieC9TMHRMZzVPUUViVzF0CnBLZW5WM1N6YTlRSEdlUVBIRGdBVTFOVGhJV0Zv
451 WHYzN3VMQjJKa3paOUNoUXdmczJMR2p3bVhtNU9TSTFzckRodzl4NE1BQjJOalkKWU9QR2pRQ0Fp
452 Uk1uWXVEQWdaZzFheFk2ZHV5SWt5ZFBvcWlvU09hMmRlclVxUmc2ZEtnSTlMLy8vanRhdEdnaFd0
453 dmx2YzBPQ2dxQwptWmtaRWhNVDRlcnFpcFl0VzRwQkdVK2ZQb1dQajArbGM4VFZsVU85ZVBFaUpr
454 eVlnT1BIandNb2Z0RHE1T1NFd01CQVJFVkZvVWVQCkh1amV2VHRjWEZ3cVZVL2cvMXEyTzNmdVJO
455 ZXVYY1VGNTlHalIwaFBUeGNQSHN1VG9ybDc5NjY0WXdHQXpaczNZOCtlUFFDS0g4NXIKYVduaHp6
456 Ly94STRkTzlDOWUvZFNXNjdsRlJnWWlJa1RKMkxvMEtGd2RYWEZzMmZQc0d2WExreWVQQm51N3U0
457 eVAvd3paODZnWDc5KwpJaTNVcjE4L0RCOCtYRndnWW1KaXlyejdxNHlpb2lJOGZQZ1FvMGFOZ3F1
458 cks0RGlmVFIyN0Zpa3BxYkN3OE1ETTJiTWtFbFZ2YnFQCjc5MjdoekZqeHNpMFVOdTJiUXROVFUx
459 eGZsVVhaMmRuZE96WVVlYXVZTnEwYVpnd1lRSm16NTROWldYbENxMXo5ZXJWV0xWcUZaNC8KZnc0
460 Zkh4L1kyZG1KMUdwYVdwcm9SZmFtYzZ2a0xxK29xQWpQbnovSGhBa1R4Ty9SdzhNRGRuWjJZcDVa
461 czJaVjZubGdUZm9nZ3J6MApUczdLeXNLaFE0ZVFsSlFFRnhjWG1KcWFJamMzRnk5ZnZrUlJVUkVp
462 SWlKRTY2UzhDZ3NMRVJZV2hqLysrQU91cnE2WU1HRUNIang0CmdJQ0FBTmphMm9wQUh4NGVqcE1u
463 VCtMYXRXc29MQ3dVOVpKdUlUbzVPV0h3NE1FaTBOdloyVUZEUXdONWVYbWxqcHE3Y09HQ0NJWUoK
464 Q1Ftd3RMU0V2cjYrK0g3VHBrMVFWMWRIY0hDd3FHOUZWV2NPTlNjbkI0TUdEVUt6WnMzRWorSFNw
465 VXZZdG0wYnVuZnZqZ0VEQnVENgo5ZXZ3OXZhR3E2dHJoVk0wSmNFN0ppWUdJMGFNa0Fud0J3OGVS
466 SjgrZldUMmVYbHk4TW5KeVZpNWNpWE16YzF4NWNvVmJObXlCVnUyCmJCSHpoSWFHd3Q3ZS9yVWVV
467 K1VsZlV6dTM3OFBZMk5qbkQxN0ZtRmhZVEF3TU1DYU5XdFFWRlFFRHc4UERCOCtIQU1IRGtST1Rn
468 NWUKdm55SlpjdVdvVkdqUnZEeThoSmxEQmd3QUgzNjlLbldVYnl2bHBXVmxZVi8vdmxIWEhnQXdO
469 cmFHbVBIamtYYnRtMWw3bWFrbDgzTgp6UlYxdDdTMGhJK1BqN2hqVzdseUpRd05EYXQxaE9lZE8z
470 ZEVkMkdnK0tKWThoRGZ6ODhQenM3TzVUNW1KUTlqdzhMQzBLZFBIM1R1CjNCbno1czNEeXBVcjhl
471 dXZ2NWJaNmk3cFh0cThlWFBzM3IwYlFQSGRXdmZ1M1VXdk1nQVlQWG8wbGl4WlVwbE5mUy9lZTVC
472 L3RlL3AKK3ZYcnNXVEpFcWlxcW1MNDhPSGlPemMzdHlxMUdoODhlSUFoUTRiZzIyKy94ZDkvL3cy
473 Z09KZ2RPWElFOXZiMldMcDBxYmh0bFg0UQo0K0hoZ1ZtelptSDkrdldpei9MczJiTXhmUGh3MFJ2
474 bGJRL3U3dDI3aDhURVJCSElnb0tDMEt0WEw2eGF0VXFzYTkyNmRlallzV09WCiswVlhKb2Y2cHRi
475 TXZYdjNvS21waWJGang4cE16OGpJUUY1ZUhvNGNPUUl0TFMxeE8xMWVBUUVCYU4yNnRlZ21PWFBt
476 VEl3ZVBScDcKOXV5Qmw1Y1gyclZyaDBPSERwVzdQT256NSt6WnM5aXhZd2NHRHg2TWtTTkh3c25K
477 Q1JFUkVRZ0xDME5ZV0JnU0V4TXIxZk1oS1NrSgpreVpORWhmU216ZHZZdkRnd2FKbCtmRGhRMmhv
478 YU9EMDZkTklUVTNGdzRjUGtacWFpdURnWUVSRlJhR29xQWpMbHkvSCtQSGpjZUxFCkNWSHVzR0hE
479 cWkxWVNtL1hzV1BIY1BUb1VYRWg5L1gxeFlRSkU4UkY1c21USjZXZXN5VXQvSWtUSnlJNE9CaVhM
480 bDFDejU0OThldXYKdjhMSnlRbTZ1cnBWemoyL2VneGV2bndweGk5TW5EZ1JQLzc0SXdZTUdDRHVR
481 TXA3SWF6cUdJdVM0M3ZpeEFtb3FhbUpWS0d2cnkrbQpUWnNtVW41YnQyN0ZoZzBiUHJoZU5LVjU3
482 MEcrUkVSRUJJWU1HU0o2c1ppYW1tTE1tREY0K3ZRcHRtelpncFl0VzFhcUc2SDBnVml3CllBSEdq
483 Qm1EMzM3N1RXYlFqcSt2TDZaT25ZcGJ0MjdKekYvU2NyMTkremFhTkdtQzBhTkhpejdGRGc0T3NM
484 S3lLak1ubVp5Y0xGcEwKdnI2K2FOQ2dBZWJQbncrZytJYzRhZElrckZ1M1RxeXpxcmZBbGNtaFNn
485 ZjRzTEF3K1ByNjR1alJvd0NLVzZ5OWV2VVNBNmhLUEh2MgpESk1tVGFwd1h2dlJvMGY0OGNjZlgr
486 dXU1Kzd1am1YTGxtSGh3b1dWN2licDZlbUpuajE3SWo0K0h1dldyVVBMbGkyaG9xS0NaY3VXCllj
487 aVFJVEEwTkN4M1B2ZFZ1Ym01aUkyTlJYeDh2TmlYdHJhMkNBb0tFaTNEUC83NEEvdjM3NGVLaW9w
488 NEdMZDY5V3FvcWFuaDZ0V3IKeU1uSndabzFhekJseWhRY08zYXNVdlVvamZSKzJyOS9QOXEwYVlO
489 ZmZ2a0Z3NGNQRncwYWYzOS9qQmd4UWp3emVKUFEwRkIwN2RvVgo0ZUhoMkx0M0w3Nzc3anZSdGRm
490 ZjN4OS8vLzIzNlBGU1dhL2VFWldrT2g0OGVJREZpeGVMbHZpT0hUdEVrQytQNmh4amNlclVLUXdZ
491 Ck1BQ2ZmLzQ1dkx5OGtKYVdoai8vL0JPZE9uV0N0YlUxOVBUMEt0eTRlWi9lZTVBdkxDeEVYRndj
492 dExTMFlHaG9LQTV5V2xvYVJvMGEKQlZ0Ylc5aloyVlg0RmxzNlNOeTdkdy9QbmoxRGZuNCtVbE5U
493 TVcvZVBOamIyK1BCZ3dkNC9QZ3hEaDQ4K0Zvdm5jT0hEOFBSMFJGcAphV25ZdkhrekRBME5NWEhp
494 UkppWW1JaUhPVy9MNjk2OGVSTzllL2ZHbURGak1IandZSnc3ZHc3R3hzYmlWaThnSUVBbVoxclJs
495 a0YxCjVGQkxuaU1jT1hJRXVycTZPSExrQ0w3NzdqdlJ1K2pCZ3dmbzJyV3JlQzVTc3M3S1BDU01p
496 NHZENk5HanhlZVNuaE1scE8ra0tySXYKUWtORFlXaG9LRWJlSmlZbXd0M2RIWU1HRFJJdnM2cE1x
497 MHQ2RzErOGVJRTVjK2FnYytmT3lNN094dDY5ZXpGdTNEak1tVE1ITzNicwpFQUhtNE1HRGFOT21q
498 ZGpmTGk0dWFOKyt2UWowUzVZc2dhT2pvM2pBWEZYU1plemV2UnV6Wjg4V0Y5L1RwMCtqZCsvZUly
499 QWZQbnhZCnBpWDdhZ3Y1OU9uVHNMZTNGNTlEUTBPaHA2ZFg2WXRqV1RadTNBaExTMHVZbUpoZzdk
500 cTFNcjNJM04zZDBibHo1d28xNnFwcmpFVmcKWUNDMHRMUVFIaDZPNWN1WDQ2dXZ2c0wrL2ZzQkZE
501 KzREUThQcjNDUHZ2ZnR2UVQ1TjkxK0JRUUV3TURBQUh2MjdKRjUydi9peFl0Swo5YUlwdWZVNmV2
502 UW8rdmZ2ajlXclYyUHk1TWw0K3ZRcEhqMTZoR1hMbHNIVTFCUXFLaW80ZCs2Y1RKMmVQWHNHUjBk
503 SGVIcDZJakV4ClVZdytmZjc4T2I3Nzdqc3NXclRvdFFCVkdpY25KeWdxS29wVVUzUjBOTHAwNlNJ
504 Qy9mSGp4eXYxa0xXcU9kVGJ0MitMVnVqRGh3OWgKWkdTRWYvLzlGNGNQSDBhN2R1M3cvZmZmWTlx
505 MGFRQ0tMeDRWNmNiNEt1bnVtTjI2ZFpONTZCc1lHQ2k2T0piM3RsdzZuWmFabVFrWApGeGMwYnR4
506 WTlGSUNJSTZ4cGFVbHNyT3pLNXo3enN2THc2NWR1M0R0MmpWY3ZYb1ZTNWN1eGZQbnorSG82QWhU
507 VTFPOGZQa1NWNjVjCmdhdXJLNVl1WFNxQ0NGQjh6djN3d3c4aTBHL1lzQUdkT25WQ1ZGUVVjbkp5
508 WGh0VlhCM3k4dkt3WXNVS0tDb3FpcTZUdWJtNU9IMzYKTkhSMWRjdnNySEQ4K0hHY1AzOGVPM2Jz
509 d0l3Wk01Q1ltQ2p1K0taT25WcmhaMkJ2czJQSERoZ2FHZ0lvZmtiUXFGRWpzZDY0dURpTQpHVE9t
510 ekhFbTBxcDdqSVdQajQ4WVB3SUErL2J0dytlZmYxNnB6aDRmaXZmYWt2ZjM5NGVycXl2Mjd0Mkxs
511 SlFVbkQ1OUdvYUdoamg0CjhHQzVnK2lycE4rOUVoNGVEblYxZGNURnhXSFpzbVZRVVZGQnAwNmRS
512 RDR5SWlKQ3ZDYTM1T0NYNU5rOVBEeXdZc1VLM0x0M0Q2MWEKdGNMWnMyZHg4T0JCbUp1YlZ5Z28z
513 N3AxQ3p0MzdvUzJ0aloyN2RvRm9QZ09RRVZGcFZwR0NWWTJoM3JpeEFuVXExZFBCS0o3OSs3aAp6
514 cDA3TURZMkJsRDg4RXNpa1lnV1BWQzUxdkQ1OCtleGNlTkdiTisrSFltSmlUaHo1Z3dzTEN4Z1oy
515 ZUhRNGNPb1VPSERtSUViWGxJCkIrdVMxbDllWGg3YzNOeGdZV0VoOHk2V3BLU2tVbC96Vzk2Nk4y
516 blNCRXBLU2lKTmtaT1RBd2NIQjVpWm1ZbHpyYVRGTHgxRVhnMzAKcTFhdFF2ZnUzYXR0Skt2MGhT
517 NDhQRnc4eEYyNmRDazZkKzRzdXZMbTV1Ymk3Tm16TWoxQXBJK2psNWNYZnZqaEI4eWVQUnQ5K3ZT
518 Qgpzckl5NXMrZkQzZDNkMnphdEFtR2hvWlZIaXoyNmdVMk5EUVVjWEZ4MkwxN040WU5HNFovLy8w
519 WGpSbzFncDJkSFJJU0VzcjlYS3FxCll5emVkT0UvZmZvMGZ2cnBKNlNscFltR1lzK2VQYUd0clYy
520 bDdzTHYwM3NMOGo0K1B0RFQwOFBHalJ2eDIyKy93Y2pJQ0hmdjNrVkEKUUFDMHRiVkZYcmdpc3JL
521 eU1HYk1HTkZxam8yTnhkV3JWeEVWRllXT0hUdml6cDA3Nk4rL1A3UzB0TVN3NXBJZlpsRlJFUzVj
522 dUFCbApaV1c0dTdzak5qWVcrdnI2OFBIeHdhRkRoOUNqUnc5MDZkS2wwdThUT1hqd0lMUzB0T0R2
523 NzQrUWtCQllXbHBXT2I5WjFSeHFRRUNBClRDQzZjdVVLK3ZYcmg5emNYSnc3ZHc0Ly9mUlRxY1Bk
524 eStQU3BVdm8wS0VETm0zYWhPSERoMlBtekpuWXRXc1g3dDY5Q3hzYkc2eGYKdjE0TVFpdlBCVVI2
525 SGc4UEQ4eWNPUlBMbHk4WDNTYmQzZDB4YWRJa21WNHNsVlZVVklSSGp4NmhjK2ZPVUZWVkZTM0N3
526 c0pDNU9YbAp3ZGJXRmwyN2RpMnpWOVhSbzBmUnBrMGIwWEt2eWdYbmJaeWNuTVFENjE5KytRVmR1
527 M1o5NC90VHBQZGhTa29LZkh4OHhBTmFQejgvCmFHbHBZZVRJa2RpN2R5OW16cHhaNVlGTzBqSXpN
528 MlhHR05qWjJZbkJTRFkyTmpJUHM5K21xbU1zcEtkNWUzdGorL2J0NHNXSDQ4ZVAKaDYydExmYnUz
529 UXMzTnpmODlOTlBIL1Q3NHQvbXZRWDVUWnMyaWR2SzdPeHMvUFhYWDVnOWV6YUE0cDFlbWI2bkwx
530 NjhnSStQRDRZTQpHU0x6Z01uWjJWbU1NbHk2ZENuTXpNeEV2L1FTTDErK3hJTUhEMkJnWUFBZEhS
531 MzQrL3RqNnRTcGFOdTJMYUtqby9IOCtmTXEvMGlECmc0TmhZR0FBRXhPVEtuZmpBNm9uaDNyczJE
532 SDg4TU1QWXR0KytlVVhqQm8xQ2ovODhFT0ZBdkNybmo5L2pvTUhEMkxEaGcwQWlsdlYKVzdac0VT
533 TnNYeDJaV3BGMXVMcTZvbHUzYnJoMjdSck16TXlncXFvcUFweXpzek1jSEJ4a3VtQ1dsM1E5U3A1
534 VkZCUVU0T2pSbzJqWApycDE0Z1ZWOGZEd2VQbnhZcm91MG41OGZ0TFcxWmJya1ZwZDkrL2JCek13
535 TWFXbHArT3V2djJUU0RCTW1USUNKaVluTTJBM3A4MmZECmhnM28yYk1ubEpXVnNYNzllbkZYZE9E
536 QUFYei8vZmM0YytaTWxldDM4K1pOY1E3OStlZWY0dGxVeVpnQVoyZG5HQm9hWXZYcTFUQXgKTWFu
537 UWI3NjZ4bGlVdkZkb3pwdzVHRFZxRkpZdlg0NmlvaUs0dWJsaDd0eTVtRGh4WXFVSHpuMG9haVRJ
538 dittMmFPWEtsZmpwcDUvRQo1N0N3TU5qYTJsWjZHSCtKN094c0hENThHRC8rK0tQb0oxMHlnT0h2
539 di8rR2pvNk8rSEdXSFB6ejU4K0xGNUhkdm4wYkF3Y094TFp0CjI3QjU4MlpJSkJJc1hyeTQybjZn
540 VDU4K3JmSUl1ZXJPb1I0N2Rnd3RXN1pFUmtZR01qTXpFUndjTEc1eks3UGRnWUdCV0xCZ0FYYnUK
541 M0FsTlRVM1JvaXpwWDE3Uk4vUzltcUw1NjYrL2tKS1NBbGRYVnd3YU5BaGJ0MjZGaW9xS3VQdXJi
542 Qytsa20wTkRBekVqQmt6NE9EZwpJSHBSN051M0Q4MmJOOGZ5NWN2UnJWczNtVHU2dCsyamQzV2J2
543 M1hyVmpSczJCRHIxNitIbTVzYlZGVlZzV2pSSXZGOWFROElEeDgrCkRDc3JLMFJIUjhQQndRRzJ0
544 clk0ZmZxMHpGc1pxL3JYbDNKeWNyQmd3UUk0T2pwaTA2Wk5NRFkyeHMyYk4yRnJheXRlVDUyZW5n
545 NDMKTnpkTW1ERGhqUy9IZTVQcUhHT3hZOGNPVEpreVJkeWxYYjkrSFVPSERzWGl4WXZGUE5XVlhu
546 dWYzbm1RbDk3SkFRRUJDQW9LUWtSRQpCRnU4eldFQUFCQVVTVVJCVkY2K2ZBbGRYVjA0T2pvaU5U
547 VVZPM2Z1aEtXbHBlaENXWkh5cFh0OGxOdzZIenAwQ0FNSERzU2VQWHVRCmxaV0ZsU3RYd3Q3ZS9v
548 MzUzd2NQSG1ETGxpM28yTEVqUER3ODRPYm1Kbks3VzdkdXJaWS9OMVlWTlpGRFBYYnNHSm8yYlNw
549 enQxS1oKbDQxZHZYcFY1bDFBaXhjdmhwV1ZGZjc3N3o5Y3UzWU4vZnIxcTNUdmhCTW5UdUQ4K2ZQ
550 aVZRRkRodzdGM2J0M2taV1ZoVzdkdXFGZAp1M1pWRHFoSGp4NUZ4NDRkRVI4ZmowR0RCa0ZaV1Zr
551 OFZEMTM3aHhtenB5Smt5ZFBWbWtkVlJVYUdncC9mMzhVRmhaaTZOQ2hzTFcxClJXaG9LQXdNRE5D
552 b1VhTXlVNTBQSHo2RXNyS3lHSU9TazVPRGVmUG13Y0hCQVVGQlFkWHlhb1dTaS9MTm16ZXhkT2xT
553 akJzM0RuWjIKZHVMN21UTm5pbmY2QStVZktWN1ZNUmF2bnN0dWJtNm9YNzgrMXF4WkE2RDRycTNr
554 clplbHZkUHBZMVJqNlpyTm16ZWpkKy9lMkxwMQpLOXEzYjQrQWdBQThmZm9VUTRjT3hTKy8vSUlS
555 STBhVSsycitKa0ZCUVpnNmRTb3NMQ3h3NE1BQjVPZm40L0Rod3hnNGNLQjQ0Rm5XCjIrYUE0cHgw
556 Ly83OTBhMWJON1JwMDZiU2RhbE9OWmxEbGU1cVZobDVlWG5vMEtFRE5EVTFFUllXaHFLaUl0eTVj
557 MGM4ZEJ3MWFwUjQKM1c1NXZIcHhhOUdpQlg3NzdUZjA2dFVMWGw1ZVdMWnNHWUtDZ3VEbTV2YmFF
558 UDJLcktPb3FFZ0VwaFVyVmlBc0xBekhqaDFEejU0OQpNVy9lUE5TdlgxOE1oSkgrdTdzMU5SaEdl
559 ajB2WDc3RXJsMjcwS3RYTDZ4ZXZSb3hNVEd3c3JMQy9mdjNFUjRlam1IRGhyMzFKV2MrClBqNm9Y
560 NysrR05XWmw1ZUhxVk9ud3NuSnFkSWRIa3BJMzNXbHBLUWdJeU1EaXhZdFF1L2V2V1hlSDJSdmJ5
561 OUdzNWRuUDFaMWpJVjAKdmFSN04rM2N1Uk9xcXFveWYrczFKaWJtbzg3QnY2cEdnbngyZHJhNEJW
562 cXlaQW5NemMxbCtrUy9lUEdpU2kydzI3ZHZvMnZYcmpoMQo2aFI4Zkh6UW9VTUhlSHA2QWlnK29m
563 djM3NDk3OSs2VjYyUktTa3FDbDVjWDlQVDBxcjNyV0VYVmRBNjFSR1dDMTdWcjF4QWRIWTJBCmdB
564 Qm9hbXBpeFlvVk10K25wYVdKWTF5ZUFGbld4VzNYcmwzUTB0S0NrWkVSVnE5ZWpjNmRPNWU3eTEx
565 cHBQT3VUNTgreFlnUkkwU1oKMnRyYU1vUEthcEwwZm9pUGp4ZkJKek16RTRNSEQ4YXZ2LzZLWHIx
566 NmlkUmtlZE9kaHc0ZGdwYVdsbmkvVDM1K2ZwVjcwVWpidUhFagp1blhyaHBjdlgrTCsvZnRZdEdn
567 UlpzNmNLVjdkQWJ4OW5JbTBxb3l4a1A3czR1SUNHeHNiV0ZsWmlUdkNIVHQyUUUxTlRhWnU4dVNk
568 CkJQbFhjL0RwNmVtd3RyYUdsWlVWaGc4ZkxnN1EzMy8vTGJvd1ZzU3JCL0xxMWFzWVBueTRtQllS
569 RVlGV3JWcmh5cFVyWW5oelJWWDEKN1hyVnFTWnlxRlVSRmhZR2RYVjFXRmhZWU9iTW1manh4eC9S
570 cEVrVDhiQzdvc3B6Y2ZQMTlZV1NraElPSFRwVXBkWm5ZV0VoQ2dvSwowTEpsUzFoWldZbnBFeWRP
571 eEI5Ly9JRXpaODVnd29RSmxUcFBxOU9mZi80SlUxTlRkTzNhRlRObXpFQlFVQkFLQ3d2aDYrdUwz
572 cjE3Cm8zbno1c2pKeWFuUUJmcllzV1A0L3Z2dnhXQ2Y2bkwyN0ZuMDd0MWIvRlVzb1BqOU5FdVhM
573 b1d0cmEzb3hWSWVWUjFqSWIwLzl1N2QKQzBORFF4UVdGcUpEaHc3bzFxMmJhQXh1M3J3Wk9qbzYx
574 ZmJuRmo4azc3UWwvK0RCQTdIelBUMDk4ZFZYWDRtVXpQYnQyOUd1WGJ0SwozUmFWSExoTGx5NGhP
575 enNiU1VsSm1EeDVNczZkT3lkeStnc1hMc1NGQ3hmZXVOekhwQ1p5cUZWeDhlSkY5TzNiVitTQkwx
576 NjhpSTBiCk4yTFdyRmxRVWxMQ3dvVUxLMTMyMnk1dSsvYnRxL1RGcmVSY0tMbVlaMlJrUUZOVEV6
577 WTJOZ0NLODc4VEowNlU2Y2Rma3lrYTZhRDEKOU9sVDhZcVBodzhmWXZ2MjdaZzZkYXBvZVpkMDk2
578 eU1vS0NnYW04ZytQajRZTjI2ZFFBZ014QXRNVEVScTFldkx2ZTcvS3M2eGtKNgpIN3E2dXNMS3ln
579 cDM3OTZGaDRjSFRFMU40ZXpzREZWVlZmRjJ5dEwrdnZISHJscUQvT1hMbDBXWHViLysrZ3M5ZXZS
580 QXYzNzlFQndjCmpQVDBkRGc3TzZOOSsvYVlQbjA2K3Zmdlg2Vy9ZUmtZR0FnbEpTV0VoNGVqcUtn
581 SVM1Y3VoWU9EQTFhc1dBRmZYMTkwN3R6NW8rLzYKVk9KZDVsQ3JLaWdvQ0xWcTFjS01HVE5FM2R6
582 YzNMQm16UnJFeDhkWE9vMVVFeGUzYTlldVllZk9uU0pBWm1WbFFVVkZSWXowQlNBYQpJVFhaUUhp
583 MXMwSklTQWkwdGJWRnV1cng0OGY0OGNjZnEvem5GcXZEbTFyUWdZR0JhTmV1bmN5ZjU5dThlZlAv
584 YSsvZVk1cTgzamlBCmYvbWg0b0tvdU0zYndpUkNFUU15V0JRRlFmRkNUVkN4eUNXeWhRaFVpWXUz
585 Q0ZNQkoxN0luUEZDWXJ3UXZLQWlSQWdpREZSb3A4YkwKd21RYUk4alNnVkZEVEV6eEVzVWxsa2px
586 ZDMrd3ZqK3FabUo1YXdzN256K2hQVGx0ejN2T2U1NXp6dk5LMTJwM3lIbkdvcXFxaXQ5KworeTFi
587 V2xwb01CaVluSndzaFhkTVQwanJxeDA4S1dNbmJ6UWFxZEZvcUZRcXVXSERCc2JHeHJLMXRaVTVP
588 VGxNU1VtUnBrVk5UVTFzCmFtcnFVZnp2MmJObmpJbUplV3ZhVjFaV3h1M2J0M1A5K3ZWU0h2Uyt3
589 dG94MUo0b0x5L25wNTkrS3YzR0dvM0c3RUhKbG5hUTFoamMKVEhVeEdvMnNxcXFpU3FWaVVWR1Ix
590 TkZYVjFmVHdjR0JLMWFzTUh1OUxXYUJWNjllWlZCUUVNbk9aR2VKaVluU1h2THM3R3pwKzdhVgpy
591 dC9KaFFzWFdGaFl5RC8rK0lQUG56OW5ibTR1SXlJaVdGbFp5WUtDQXZyNCtIUTdGNDJjWnl3ZVBI
592 aEFOemMzenAwN2wyVG5XWnJRCjBGQ21wYVd4cEtTRTRlSGhmV3FSOVYxazZlVDFlcjMwQTY1ZnY1
593 NkJnWUVNRHcrWC9sOVFVTUNsUzVjeU56Zlg0Z05GcGg5U3A5T3gKc2JHUktTa3AwbWhzQ3RHWXB0
594 NldKcnF5ZDlhS29jcmg5T25UZEhKeW9sS3BaRXhNekFlbEt2ZzNjZzF1WGR0Q1UxTVRNekl5Mk5I
595 Ugp3Yk5uenpJK1BwNEZCUVZzYTJ2ajc3Ly96dlQwZExPVXdCOUwxN3Zpa3BJU1RwczJUVnJYdUhQ
596 bkRyZHMyVUl2THk5dTNicFYydVpwCkQ0NGZQODZwVTZkeTllclZqSXVMWTJabUptdHJhM244K0hI
597 R3hzWnkzYnAxM2U3ZzVUNWpRWGEyVFJjWEYybVhYWE56TStQaTRyaGcKd1lJZVJSTjZDMWs2ZVZP
598 MnhjVEVSSWFGaGJHd3NKRGUzdDdjdFd1WDlKcERodzV4MWFwVkZrMkx1aDVhbWpGakJ1L2N1Y09a
599 TTJlYQpIZno0NVpkZnVIejVjck5IOXZWRjFvaWh5cVd5c3BMKy92NVNQRmF1VTU1eURHNm1lbWkx
600 V3FyVmFpb1VDbVpuWjdPOXZaM1YxZFZjCnNXSUZvNk9qT1hic1dHbUdhS3NiQklQQndPYm1abzRm
601 UC82dGZQNWFyWllYTGx5d1NtYkk3bnJ6ZThuSXlPQ3RXN2RJZHVhTCt1R0gKSDZSQnZyMjl2ZHZY
602 b3pYUFdGUlVWTkRYMTVmRnhjWFNaL2pRTXptOWxXemhtdFRVVkE0YU5FaGEvVDU3OWl3akl5UE5k
603 bGowSk81MQovZnAxcmx1M2pybTV1U1E3QjVZcFU2WXdLU21KK2ZuNTlQZjNOMHRPSmRoR1RVME52
604 L2ppQzU0NmRVcldjdVVZM0JvYkcrbnQ3YzJxCnFpcG1aV1V4S1NtSkd6WnNvTUZnNEY5Ly9jVWJO
605 MjZZSFlmL1dINzk5VmVlUEhtU1pPY1d2OGpJU0dabFpYSE5talVjT1hLa0ZMYXcKQjNxOVhsbzRO
606 ZVhGVDBoSWtGSlJrNTBwU3hJVEV6L29PNVQ3ak1XNzJQTk0ySm9jTjIvZXZCa3k4UER3d0ZkZmZZ
607 WDkrL2ZEMWRVVgpVVkZSVUNnVTJMNTlPejc1NUJQNCtmbGg0TUNCRnBkZlZsYUdJMGVPNExQUFBr
608 TklTQWhHalJvRmxVb0ZuVTRIVjFkWExGNjhHRXFsCkVpVGg0T0FneDBjU0xPRHA2UWxmWDEvNCtQ
609 akExZFZWdG5JOVBEd3diTml3RDNvUFNRQ1Eya05MU3d1ZVBIbUN0TFEwekpneEEwYWoKRVFVRkJk
610 RHI5UWdJQ0lCQ29jQ0lFU1BlZXArMU5UUTBJRFUxRlM5ZXZNRE5temV4ZGV0V3ZIejVFczdPem5q
611 MTZoWE9uVHNIdlY2UApXYk5tZlpUNi9KdjYrbm9zWDc0Y09wME9odzhmUm1KaUlpWlBuZ3lOUmdP
612 ZFRvZlEwRkRjdlhzWHJhMnRtRDE3Tmh3ZEhkOWJaa05ECkE1NDllNGJBd0VCb3RWcTR1TGhnMnJS
613 cGNIVjFSVWhJQ0ZRcUZWUXFGWHg5Zlh2MDJ5Z1VDcWx0Zm1oYjZ0WGtIalZNMlJiUG5EbkQKaW9v
614 SzZjbEtIOHAwRi9EdzRVTXB4bDVhV3Nxd3NEQmV2bno1bmZ2WSsxb01YdWdaVTF1NGZmczJmL3Z0
615 Tjk2OGVaTUtoY0pzdlNBdQpMbzVMbHk1bFJrYUdUUjhHb2RGb09HSENCRVpFUkpEc0RIT1kwaWhv
616 dFZvR0J3ZmJkS0c5YThobDJiSmw3TisvUDZ1cnEwbDJMcFRXCjF0WXlMQ3lNc2JHeERBOFA3L2Jw
617 ZGJuUFdBaHZjeUQvR1JwbGRQSGlSV1JtWm1MSWtDSFl2WHMzZkgxOUxTcW5wcVlHQnc0Y1FIQncK
618 TU83ZnY0LzkrL2RqMzc1OU9ILytQTkxTMGhBYUdvcCsvZnJKWEh1aEw2bXBxVUYyZGpZQ0F3UHg0
619 c1VMakJrekJ2WDE5WmcrZlRvQwpBZ0tRbXBxS3RXdlg0dkxseS9qODg4K3hjZVBHYnQxOVdrTmxa
620 U1VXTFZxRXZMdzhKQ1FrQUFBV0xseUkzYnQzNDhzdnY3Ulp2ZGhsCmRweWJtNHZXMWxhMHQ3Zmoz
621 TGx6eU0vUHg4U0pFNlhYdHJXMWdTU0dEaDM2M25McjZ1cVFsWldGMWF0WEl5SWlBblYxZGFpcnE4
622 UEQKaHc5UlZGU0U1T1JrYk5teXhXcWY2ei9EV3FOSFQ3TXR0clMwVUtWUzhlN2R1OHpNekdSUVVK
623 Q1VYUzRuSjRjelo4NjB5VEZ6b2ZjdwpHQXhNVDArbndXQmdTVWtKQXdJQ2VPL2VQWjQvZjU1S3Ba
624 TGZmZmVkOU56UDJ0cGFpMDVHeTgzMExPQ1ZLMWRLQndiZmw0dm1Zemx5CjVBZ25UcHdvN1hENThj
625 Y2Y2ZWZueCtibVpyTlU0ZDFsclRNV2dqbWJQK1BWNU0xUXk0TUhEM2owNkZHV2xwWnkwcVJKMHFL
626 YktTMm8KSmZubWhmK1c5dloycHFTa2NNbVNKUXdKQ1pIYVVFTkRBeHNiRzgyeUg5cFRtSys4dkp6
627 OSt2VmpkSFMwUmFGT2Eram82S0JhcmVhWgpNMmY0K1BGakZoWVdNaWNuaDRHQmdVeE9UcVpTcWJR
628 b2Y1QzF6bGdJLzJlVmNJMGwrTStVOFBidDIzajY5Q2tjSFIyeGJOa3lkSFIwCm9MR3hFUU1HRE1D
629 VksxZXdZOGNPSER4NEVLTkhqelo3bnlDOFMzbDVPVEl6TS9IVFR6OUJwVkxoMHFWTFVLdlZPSFhx
630 RkFJQ0FnRFkKWnh1NmRPa1MzTjNkNGU3dWJ1dXFTSXFMaTdGdDJ6YTR1Ym5CdzhNRG8wYU5Rdi8r
631 L2ZITk45L0EyZGtaUTRZTXNhamM4dkp5eE1mSApZL3IwNlJnOGVEQVNFaElRR1JrcGMrMy91K3lp
632 a3pkZFpOZXVYVU5TVWhMOC9mM2g1dVlHblU2SDY5ZXZJejA5SFM0dUx0aTdkeTgyCmJkcUVxS2dv
633 VzFkWjZDWGEydHFRbDVlSHNySXlUSmt5QmZYMTlmaisrKzh4Yjk0OFcxZXQxekVhamZqenp6L2g3
634 dTRPWjJkbkZCVVYKNGVlZmY4YUpFeWZnNU9UVW83S3JxcXFRbFpXRmhJUUVwS2FtNHZYcjEzQndj
635 TEM3d2JjM3NvdE9IbmozSXN5MWE5ZWcxK3ZSMGRFQgpUMDlQK1BuNUlUZzQrS052Y1JONnYrYm1a
636 clMydG1MNDhPRVlOMjZjYUVNOVlEUWFjZlRvVWVUazVLQzB0QlErUGo2eWxLdlJhS0JXCnE3Rm56
637 eDVFUjBmTFVxWUEyTTNXbExhMk5seThlQkYrZm42SWlJakExMTkvalZ1M2JzSEp5UW5idG0yVExr
638 WnhjUXFXOFBMeWdwZVgKbDluZlJCdXl6S3RYcitEbzZJaXlzaktNSHo5ZXRuTG56Sm1EL1B4OGVI
639 cDZ5bGFtWUVkMzhnQlFVVkdCSlV1V1lPZk9uVWhLU29KVwpxOFd4WThlUWw1ZUhRWU1HaVl0U0VP
640 eUVQYTVqQ085bU4zZnlBS0JTcVVBUzhmSHhLQzR1bGhaaFhGeGNiRjAxUVJDNkVCMTg3L0UvClcx
641 ZmdUVkZSVVNndExjV2pSNDhRRkJTRXlNaEl2SDc5R25ZMDRSQUVRZWcxN09wTzNtVCsvUGtZTUdB
642 QTFHbzF4b3daSXhaaEJFRVEKTEdSWE1mazNhYlZhZUhwNll1ellzYmF1aWlBSVFxOWsxNTI4SUFp
643 QzBETjJGNU1YQkVFUTVDTTZlVUVRaEQ1TWRQS0NJQWg5bU9qawpCVUVRK2pEUnlRdUNJUFJob3BN
644 WEJFSG93LzRHQlBIMWRPSE9GK01BQUFBQVNVVk9SSzVDWUlJPQo=
645 </png>
646 </output>
647 </outputs>
648 </codecell>
649 <codecell>
650 <input>plot_word_histogram(sorted_wf, 1.0, "Frequencies for entire word list")
651 </input>
652 <language>python</language>
653 <prompt_number>8</prompt_number>
654 <collapsed>0</collapsed>
655 <outputs>
656 <output>
657 <output_type>pyout</output_type>
658 <text>&amp;lt;matplotlib.axes.AxesSubplot at 0x3371e50&amp;gt;</text>
659 <prompt_number>8</prompt_number>
660 </output>
661 <output>
662 <output_type>display_data</output_type>
663 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVlNQUFBRUxDQVlBQUFBN2grcW5BQUFBQkhOQ1NWUUlD
664 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6dDNYdGNs
665 RlgrQi9EUDRCMkVVQUZ2M1BJdTBxSXBZcUtDNUJZVlZvYUpibDdTCm9oWmxLOU90TFUyZzdWZXBa
666 VGMzKzFrbXE5YTZtVnIrNkpkYTZJaTRPa2JvcmdybURZUVFFQVJ5UUc0eTM5OGY4L05SRkdXRWVa
667 Z1oKNXZOK3ZYaU56Mkhtbk84Y2VjMTN6blBPOHh5TmlBaUlpTWl1T1ZnNkFDSWlzandtQXlJaVlq
668 SWdJaUltQXlJaUFwTUJFUkdCeVlDSQppTUJrUUJhVWs1TURaMmRubUh0MTg2NWR1ekJ1M0RnNE96
669 dmozLy8rdDFuck5nZG5aMmRrWjJkYk9vemJFaDhmanhrelpqVDRPNjFXCkN5OHZMK1hZMzk4ZktT
670 a3BMUlVhbVFtVGdRM3c5ZldGbzZNam5KMmQ0ZXpzREJjWEZ4UVVGRmc2ckdiejl2YUdYcStIUnFN
671 eGE3MXYKdnZrbTVzeVpBNzFlajRDQUFMUFdmYnRDUTBPeFpzMmFlbVY2dlI2K3ZyNldDYWlKYnVm
672 LzZPalJveGczYnR3dG41T2RuUTBIQndjWQpESWJtaGtabXdtUmdBelFhRFpLU2txRFg2NkhYNjNI
673 eDRrWDA2TkdqM25NdVg3NXNvZWlzaTRoZzM3NTlDQTRPYnRMcnpmM2hkTHVKCnpobytIT3ZxNmxx
674 c0xWN3phajJZREd5WWc0TUQxcTFiaDJIRGhtSFFvRUVBZ1AvODV6LzQ0eC8vQ0c5dmJ5eFlzQUE1
675 T1RuSzg4K2UKUFl0bm5ua0dQWHIwUUhSME5LWlBuNDdYWG5zTkFKQ1ltSWl4WThmZVVQK1pNMmNB
676 R0pQTlYxOTloYkN3TUF3ZE9oUnIxcXhCVFUwTgpBT05wQWs5UFQ2eGV2UnA5K3ZSQmNIQXd2di8r
677 ZTZXZW1wb2EvT01mLzhDRUNSUGc2dXFLc1dQSG9ycTYrb1p2aDVXVmxWaXpaZzFHCmpoeUpNV1BH
678 WU5PbVRjcUhSWDUrUHA1NDRnbjA2dFVMN3U3dW1EcDE2ZzM5VVYxZERXZG5aMVJYVjJQWXNHSG8z
679 NzgvQUNBdkx3K0wKRnkrR3I2OHZacytlalVPSERpbXZlZkxKSnpGLy9ueE1tVElGM2JwMWcxYXJ2
680 YUhlVzhXVm1KaUlNV1BHNFBYWFgwZnYzcjBSSGg2TwovZnYzQXdBV0xWcUV2WHYzSWpZMkZzN096
681 bmp1dWVkdTZOZUcyaTh0TGNYNzc3K1BJVU9HNElFSEhzRE9uVHNiL1AvUHlzcENseTVkCmxPUG82
682 R2gwNzk1ZE9aNHhZd1krK09BREFFQkpTUW1XTGwySy92MzdZL0xreWRpelo0L3l2UGo0ZUV5Yk5n
683 MHhNVEhvMmJNbi92NzMKdjZPNHVCZ3Z2ZlFTZXZUb2djaklTSlNYbHpjWVEwTjhmWDJ4YTljdUFF
684 QkdSZ1llZSt3eGVIaDRvRWVQSGxpNGNDRUFLQ01IVjFkWApPRHM3UTZmVG1Wdy9xVVRJNnZuNitz
685 cVBQLzU0UTdsR281R3hZOGZLNGNPSHBhcXFTb3FMaTZWTGx5N3l6VGZmeUcrLy9TWnZ2dm1tCmpC
686 NDlXbm4rOE9IRFpjR0NCVkpVVkNUTGx5K1g5dTNieTJ1dnZTWWlJbXZYcnBVeFk4YmNVUC9wMDZk
687 RlJPU0REejZRc0xBd09YcjAKcUp3NmRVcENRME5sOWVyVklpS3llL2R1YWRldW5jVEV4TWo1OCtm
688 bDAwOC9GVTlQVDZXZUZTdFd5TWlSSTJYUG5qMVNWMWNuKy9mdgpsK3JxYXNuS3loS05SaU4xZFhV
689 aUlqSi8vbnlaT25XcVpHVmx5ZUhEaDhYZjMxOTI3dHdwSWlJTEZ5NlVQLy81ejNMcDBpV3BycTZX
690 CmZmdjIzYlMvcm8xYlJHVGN1SEVTR3hzcjU4K2ZselZyMW9pTGk0dFVWbGFLaU1pc1diUEV5Y2xK
691 dnZ6eVM2bXRyWldxcXFvYjZydFYKWEd2WHJwWDI3ZHRMUWtLQ2xKU1VTRnhjWEwxK0RBME5sVFZy
692 MXR3MHZvYmFuelJwa2p6MzNITlNVRkFnS1NrcDBxdFhMemw1OG1TRAo3OVhiMjF2UzA5TkZSR1RB
693 Z0FIU3QyOWZ5Y3pNVkg1MytQQmhFUkdaT1hPbVRKa3lSWEp6YzJYejVzM1N0V3RYeWNyS0VoR1J1
694 TGc0CmFkZXVuWHo0NFlkU1dWa3BsWldWRWhrWktkT25UNWY4L0h4SlRFd1VKeWNubVRGalJvTXg3
695 TjY5dTk3L3Q2K3ZyeVFuSjR1SXlPVEoKaytYRER6K1VtcG9hcWFpb2tBTUhEb2lJU0haMmRyMy9l
696 N0k4SmdNYjRPUGpJNTA3ZHhaWFYxZHhkWFdWU1pNbWlZanhRMlhkdW5YSwo4MWF2WGkzUjBkSEs4
697 ZVhMbDhYRHcwTUtDd3Vsb0tCQU9uYnNxSHdJaW9oNGVYbVpuQXhHang1ZDd3TjQ2OWF0OHVDREQ0
698 cUk4Y09nClRaczJVbFJVSkNJaXRiVzEwcmx6WnpsKy9MaUlpSXdjT1ZLMmJ0MTZ3L3U2TmhrWURB
699 Yng5ZldWbkp3YzVmZnZ2ZmVlekowN1YwUkUKWG56eFJaaytmYnBrWjJjMzJsL1h4bDFVVkNTZE9u
700 V1M4dkp5NWZmQndjR3laY3NXRVRGK0dJZUZoZDIwcnNiaVdydDJyWFRwMGtYNQpVRHQzN3B5MGE5
701 ZE9hUzgwTkZRKysreXptOFozZmZzWEwxNlVuajE3eXFWTGw1U3lGMTU0UVpZdFc5WmdmRE5tekpB
702 VksxWklmbjYrCkRCdzRVRjUrK1dYNTVKTlA1TXlaTStMcTZpb2l4citEYnQyNnlTKy8vS0s4N29r
703 bm5wQVZLMWFJaURFWjlPblRSL2xkYlcydDNISEgKSGZVUzZ0aXhZNXVVREI1NzdERlp1SENoRkJR
704 VTFIdk45VjhFeVBMYVducGtRbzNUYURUNDl0dHZFUllXZHNQdmdvS0NsSC8vK09PUApTRXBLd3Fa
705 Tm01U3kydHBhcEtTa29FT0hEdWpYcng4NmR1eW8vTzd1dSs4MnFmMktpZ3JzMzc4ZkR6MzBrRklt
706 SXZYT2gvZnMyUk51CmJtNEFnTFp0MjhMTnpRMTVlWG53OVBSRVdscGFvK2Z3ang4L2pweWNIUHp1
707 ZDc5VHlnd0dBKzY4ODA0QXdLdXZ2b3AzM25rSDk5eHoKRDN4OWZmSFNTeS9oMFVjZmJUVDJBd2NP
708 b0UrZlBuQnljbExLUm93WWdkVFVWRXlhTkFrYWphWmVIOTV1WEFBd1pNZ1FPRGc0S1AxdworZkps
709 RkJZV29rK2ZQZ0J1UFc5d2ZmdXBxYWtvS2lwQ3IxNjlsTEs2dWpxTUh6OGVmLzd6bjI5NGZVaElD
710 TFp0MndaUFQwK01HemNPCklTRWhXTDkrUFRwMjdLaWM5c3ZNekVSMWRUVUdEQmlndkc3NDhPSFl1
711 M2N2NXMrZkQ2RCszMUZtWmlZTUJvTVNQMkQ4VzdsdzRjSk4KMzhmTnZQZmVlMWk2ZENuOC9mMHhm
712 UGh3dlBMS0t3Z0pDYm50ZWtoOW5ET3djVzNiWHMzbllXRmhtRGx6SmtwTFM1V2Y4dkp5VEo0OApH
713 WUdCZ1RoMTZoUXFLeXVWNTZlbnB5di83dDI3TndvTEM1WGphOCtyT3prNUlTZ29DRHQyN0ZEcUxT
714 c3JRMmxwYWFQeE9UazVJVEF3CkVLbXBxYmQ4M3NDQkErSHA2WW1NakF5bGpkOSsrdzJIRHg4R0FI
715 VHIxZzF2dmZVV3pwMDdoeVZMbHVDSko1NHdxZjFSbzBiaHpKa3oKcUtpb1VNcCsrdW1uZXZNamJk
716 cTBhWEpjalduVHBrMmprOExYdG4vUFBmZkEzZDBkaFlXRlNuc1hMMTdFdDk5KzIrQnJRMEpDc0hm
717 dgpYbWkxV29TR2htTE1tREhZdDI4Zjl1elpnOURRVUFEQW9FR0QwS0ZEQi96eXl5L0s2OUxTMHVx
718 dCtMazJoa0dEQnNIQndRR25UNTlXCnluNysrZWNtcmZyeTl2YkczLzcyTnhRVUZHREtsQ21ZTm0w
719 YURBYUQwcDV3QXRscU1CbTBJbEZSVWRpeVpRdSsrZVliVkZSVW9LS2kKQXQ5OTl4M0t5OHZSbzBj
720 UERCa3lCSEZ4Y1NncUtzS0tGU3ZxZmZpUEdUTUd1Ym01MkxsekozSnpjN0ZzMmJKNmRjK1lNUU5M
721 bGl4Qgplbm82REFZRDh2THlianF4ZWIycFU2ZGkyYkpsU0UxTlJWMWRIZmJ2MzY5TVBsL2g0T0NB
722 cUtnb3ZQenl5OG8zMDlPblR5dnIxVGR0CjJvUmZmLzBWQm9NQlRrNU9jSEp5dXVXSCtCVnVibTRJ
723 REF6RXE2KytpdlBuenlNeE1SSEhqaDNEL2ZmZkQ2RHhENlBHNG1yTThPSEQKY2VqUW9adTJjMzI1
724 cTZzcnhvd1pnMWRmZlJWbno1NUZYVjBkamg0OWlyUzB0QVpmZjJXMHQySERCb1NFaE1EWjJSa2VI
725 aDdZdkhtego4ZzI4YmR1MmVPaWhoeEFYRjRlOHZEeDg4ODAzMkw1OSswMUhWdTNhdGNPRUNST1Fr
726 SkNBZ29JQ2JOaXd3ZVRrZDcwTkd6YWdxS2dJCklnSW5KeWQwN3R3WkFPRHA2UWtQRDQrYnZpOXFl
727 VXdHTnV6NmIycXVycTdZc1dNSGR1L2VqUUVEQnFCLy8vNVl0MjZkOHZ0Tm16YWgKcEtRRS92NytP
728 SDc4T0taTW1hSjhHSFhxMUFtclY2L0d3b1VMY2YvOTkyUHExS24xNm8rT2pzYWNPWE93Wk1rU2RP
729 M2FGYi8vL2U5eAo0c1NKbThaeXJibHo1MkxldkhsWXRHZ1J1blhyaGxkZWVVVnA5OXJYeGNmSFkv
730 ejQ4WWlKaVVIWHJsM3grT09QSzlkVHBLV2xZZFNvClVlalNwUXZpNCtPeGF0VXF1TGk0bU5Rdlgz
731 enhCUndkSFJFWUdBaXRWb3ZrNUdSMDZ0UkplVzVqMzNodkZWZERyNy8yZVByMDZUaDEKNmhUYzNk
732 M3h3Z3N2TkJqcjlhLy81Sk5QNE9Qamc4bVRKOFBkM1IzUFBQTU1MbDY4ZU5QNFFrTkQ0ZWJtaHQ2
733 OWV5dkhRUDNUZ0N0VwpyRUJBUUFCQ1FrS3didDA2Yk5xMFNibldvYUVZUHY3NFkzaDRlR0RvMEtI
734 WXVuVXJZbUppYnRsSE4rdkRIVHQyd04vZkg5MjdkOGVHCkRSdXdldlZxT0RnNFFLUFI0TFhYWHNO
735 VFR6MkZMbDI2NE9EQmc3ZXNuOVNuRVk3VDdOYnMyYlBoNmVtSnYvNzFyNVlPaFlnc2pDTUQKTzhi
736 dkFVUjBoU3JKNE5peFk5aTNiNThhVlpNWm1YS0toSWpzZzlsUEUxMjZkQW56NXMxRDU4NmQ4ZEZI
737 SDVtemFpSWlVb25aUndiTApsaTFyY0tLTWlJaXNsOG5KSUNjbkJ4a1pHVGVVWjJkbksydTRVMU5U
738 VVZ0Yml3c1hMcUM0dUJoNnZkNThrUklSa1dwTXVnSTVNREFRCkJRVUZjSFYxeFpFalJ3QVliejcy
739 OE1NUG83Q3dFR2ZQbnNXNmRlc3dZTUFBREJnd0FFZVBIbFdTZ2JPenM2cHZnSWlJbXMra1pKQ2MK
740 bkl6UzBsSkVSRVFvWlRxZERvNk9qa2hQVDBkbVppYWVmZlpaN04yN0Z3TUdESUJlcjBmUG5qM3JY
741 VkpQUkVUV3k2Ums0T0xpZ3BLUwprbnBsT3AwT1lXRmgwR2cwOFBQelEzNStQdXJxNnRDbVRSczRP
742 enZqOGNjZnYyV2RYTVZDUk5RMGFpd0xiL0lFY2xwYUdnWVBIcXdjCisvajQ0T2pSbzdkVmh4anZt
743 bXIzUDNGeGNSYVB3VnArMkJmc0MvYkZyWC9VMHVSazRPYm1WdTlHWVdWbFpYQjNkNyt0T3VMajR4
744 dmMKVElTSWlPclRhcldJajQ5WHJmNG0zOEk2S0NoSVdWMWtNQmlnMSt0dmU0NUF6VGRHUk5TYWhJ
745 YUdJalEwRkFrSkNhclViMUl5S0NzcgpRMUZSa1hLZmRoY1hGNHdlUFJxdnYvNDY3cjMzWGlRbEpa
746 bDhiM3k2MFpVYml4SDc0bHJzaTZ2WUYrb3o2UXJrMk5oWTZIUTZhRFFhCmlBZ1dMbHlJcUtnb2JO
747 NjhHWjk5OWhrOFBUMnhiTm15ZXZ1eE50cXdSb080dURnbDJ4RVIwYzFwdFZwb3RWb2tKQ1NvTW5k
748 Z3NidVcKWGtrc1JFUmtPclUrTzNuWFVpSWlzbXd5NEdvaUlpTFRxTDJhaUtlSmlJaHNDRThURVJH
749 UmFwZ01pSWlJY3daRVJMYUFjd1pFUktUZwpuQUVSRWFtR3lZQ0lpRGhuUUVSa0N6aG5RRVJFQ3M0
750 WkVCR1JhcGdNaUlpSXlZQ0lpSmdNaUlnSVhFMUVSR1FUdUpxSWlJZ1VYRTFFClJFU3FZVElnSWlJ
751 bUF5SWlZaklnSWlJd0dSQVJFYmkwbElqSUpuQnBLUkVSS2JpMGxJaUlWTU5rUUVSRVRBWkVSTVJr
752 UUVSa0ZubDUKUUdDZ3BhTm9PaVlESWlJektDNEdDZ3N0SFVYVE1Sa1FFWm1CQ05DMXE2V2phRG9t
753 QXlJaU16QVlBSTNHMGxFMEhaTUJFWkVaaUFBTwpOdnlKeWl1UWlZak1RTzJSQWE5QUppS3lBUWNQ
754 QXJHeHhrYzE4UXBrSWlJcnhqa0RJaUxpbkFFUkVYRmtRRVJFNE1pQWlJakFrUUVSCkVjRTRNbUF5
755 SUNLeWN6eE5SRVJFTm4rYXFLMjVLOXkrZlR0KysrMDMzSHZ2dlhCemN6TjM5VVJFVm9ramcrdlUx
756 dGFpZS9mdW1ETm4KRHE4d0ppSzdZZXNqQTdNbmc3Q3dNTFJwMHdiZHVuV0R4cFo3aG9qb050ak55
757 Q0FuSndjWkdSazNsR2RuWjZPaW9rSTUxdXYxT0h6NApNQURnOHVYTFpnaVJpTWo2MmNYSUlEQXdF
758 TUhCd1lpS2lsTEthbXBxRUI0ZWprbVRKc0hMeXd0SlNVbW9ycTVHKy9idE1XdldMTlRXCjFrS3Yx
759 NnNXT0JHUk5iSDFrWUZKRThqSnlja29MUzFGUkVTRVVxYlQ2ZURvNklqMDlIUmtabWJpMldlZlJX
760 aG9LRDc2NkNQVTFkVWgKTmpZV1hicDBVUzF3SWlKcll1c2pBNU9TZ1l1TEMwcEtTdXFWNlhRNmhJ
761 V0ZRYVBSd00vUEQvbjUrWEIwZEVSY1hKekpqVjk3Yis3UQowRkNFaG9hYS9Gb2lJbXVpMXNoQXE5
762 VzJ5TDR2VFY1YW1wYVdodWpvYU9YWXg4Y0hSNDRjUVVCQWdNbDFxTGxSQXhGUlMxSnJaSEQ5CkYr
763 V0VoQVR6TjRKbXJDWnljM05EYVdtcGNseFdWZ1ozZDNlekJFVkVaR3ZzOW5ZVVFVRkJ5dW9pZzhF
764 QXZWNlBYcjE2M1ZZZDNQYVMKaUZvTHRTZVFyV0xieTdLeU1wdzhlUkl6Wjg2RVZxdUZpNHNMenAw
765 N2gvRHdjQ1FtSmlJcEtRbFpXVm5ZdUhHajZRMXoyMHNpYWtXMgpiQUhXcndlMmJsVzNIWXR1ZTds
766 NDhXTE1uVHNYenM3T2lJaUl3TFp0MjlDM2IxKzgvZmJiZU9PTk4xQmNYSXhWcTFhWlBUZ2lJbHRo
767 CkYwdExWNjVjMldCNVpHUWtJaU1qbTl4NGZIdzhWeEVSVWF1Zzl0SlN0VmNWbVhTYVNKV0dlWnFJ
768 aUZxUnI3NEN2djdhK0tnbWk1NG0KSWlLaVc3UDFpODRzbWd5NG1vaUlXZ3U3V0Uya1NzTThUVVJF
769 cmNnWFh3RGZmUWQ4K2FXNjdmQTBFUkdSRmJQYmk4NklpT2dxVzE5YQp5amtESWlJemFJbWxwWnd6
770 SUNLeWNvbUpnRlpyZkZRVDV3eUlpS3dZbDVZU0VSSG5ESnFEY3daRTFGcHd6cUNwRFhQT2dJaGFr
771 ZFdyCmdiUTA0Nk9hT0dkQVJHVEZPR2RBUkVTNGJwdDRtOE5rUUVSa0JtM2JHa2NIdG9ySmdJaklE
772 S3FxZ0I0OUxCMUYwM0UxRVJHUkdWUlYKQVIwN3FsYy9WeE1SRWRtQUJRdUFYcjJNajJyaWFpSWlJ
773 aXVtOXNoQWJVd0dSRVJtd0dSQVJFUk1Ca1JFeEdSQVJFUUFxcXVaREpxTQpTMHVKcUxYNDlWZWdm
774 WHYxNnVmU1VpSWlHOUN2SDdCeEl6QmloTHJ0Y0drcEVaRVZLeThIZXZlMmRCUk54NUVCRVZFemlR
775 QWRPaGdUCmdwcW5pZ0NPRElpSXJKWmViMHdHYWljQ05URVpFQkUxVTA0TzRPbHA2U2lhaDhtQWlL
776 aVpMbHdBM04wdEhVWHpNQmtRRVRYVGhRdEEKdDI2V2pxSjVtQXlJaUpxSnlhQ1plTkVaRWJVR3Vi
777 bEF6NTdxdHNHTHpvaUlyTnlzV1VCSUNEQm5qdnB0Y1drcEVaR1Z5c2dBdkx3cwpIVVh6Y0dSQVJO
778 UU1Ja0RidHNEcDA0Q3ZyL3J0Y1dSQVJHU0ZDZ3FBTGwxYUpoR29pY21BaUtnWkRoOEdoZzJ6ZEJU
779 TngyUkFSTlFNCk9UbTJQeW9BbUF5SWlKb2xKOGYySjQ4QkpnTWlvbVk1ZGNxNGw0R3RZeklnSW1x
780 RzNGekEyOXZTVVRRZmt3RVJVVFA4KzkrMmY4ZFMKd016WEdkVFYxV0gzN3QyNGRPa1NKa3lZQUVk
781 SHg1czN6T3NNaU1qRy9mWWI0T29LR0F5QVJ0TXliZHJFZFFiNStmbTRjT0VDMnJkdgpqNmVmZnRx
782 Y1ZSTVJXWjFEaDREQmcxc3VFYWpKck1uQTA5TVRVVkZSR0Q5K1BBd0dnem1ySmlLeU9xZE9BWDM3
783 V2pvSzh6QTVHZVRrCjVDQWpJK09HOHV6c2JGUlVWQ2pIdGJXMWVQNzU1N0ZreVJMelJFaEVaS1Yr
784 K2FWMVhIQUdtSmdNQWdNREVSd2NqS2lvS0tXc3BxWUcKNGVIaG1EUnBFcnk4dkpDVWxJVGEybHJF
785 eE1SZzNyeDU4UFB6VXkxb0lpSnI4T09QcmVPQ004REVaSkNjbkl6VTFOUjZaVHFkRG82Twpqa2hQ
786 VDBkcWFpcVdMbDJLM054Y3RHdlhEaDkvL0RHZWUrNDVWUUltSXJJR2RYWEEyYlBBUXc5Wk9oTHph
787 R3ZLazF4Y1hGQlNVbEt2ClRLZlRJU3dzREJxTkJuNStmc2pQejRldnJ5OVdyVnBsY3VQWGJ0UVFH
788 aHFLME5CUWsxOUxSR1JKQnc0QXZYc0RIaDdxdHFQVmFsdGsKRXpDVGtrRkQwdExTRUIwZHJSejcr
789 UGpneUpFakNBZ0lNTGtPTlhmdElTSlMwM2ZmQVdQSHFyK1M2UG92eWdrSkNhcTAwK1RWUkc1dQpi
790 aWd0TFZXT3k4cks0Tzd1YnBhZ2lJaXMzWll0d0RYVHFEYXZ5Y2tnS0NoSVdWMWtNQmlnMSt2UnEx
791 ZXYyNnFEZXlBVGtTMDZlZEo0Cmc3cVJJMXV1VGF2WUE3bXNyQXduVDU3RXpKa3pvZFZxNGVMaWdu
792 UG56aUU4UEJ5SmlZbElTa3BDVmxZV05tN2NhSHJEdkFLWmlHelUKNHNWQVhoNndkbTNMdDYzV1o2
793 ZEp5U0EyTmhZNm5VNEpZdUhDaFlpS2lzTG16WnZ4MldlZndkUFRFOHVXTFVPWExsMU1iNWpKZ0lo
794 cwpsSXNMOE8yM3dQanhMZCsyUlpPQkdqUWFEZUxpNHJpS2lJaHNTbW9xTUdPR2NjOWpoeGE4MWVl
795 VlZVVUpDUW10THhsd1pFQkV0dWFWClY0Q3FLdUM5OXl6VHZrM2NxSTZJcUxWTFRXMDl0NkM0bGtX
796 VEFWY1RFWkV0dVhUSm1Bd2VmTERsMjdhSzFVU3FOTXpUUkVSa1k0NGYKQnlJaWpIY3J0UlNlSmlJ
797 aXNqQ3R0blhzYXRZUUpnTWlJaE45L1RVd1lZS2xvMUFINXd5SWlFeHcrVEtRbkd4Y1Ztb0puRE1n
798 SXJJQwpYMzBGTEZnQTVPWmFOZzdPR1JBUldkQm5ud0YvL0tPbG8xQVBSd1pFUkkzNDMvODFyaUlx
799 S3pQZWlzS1NXdVhJZ0hNR1JHUUxWcTRFCi92SVh5eVlDemhrUUVWbFFZaUl3ZXpadzVneHc1NTJX
800 anFhVmpneUlpS3pkRjE4WTcwZGtEWWxBVFJ3WkVCSGRSRjZlOFNLenZEemcKTnZmdVVrMnJ2SVUx
801 a3dFUldTc1JZTUFBb0UwYjQyMG9ySVZhbjUxdHpWN2piWWlQaitkK0JrUmtsZDU5MTNnUG9tUEhM
802 QjJKMFpYOQpETlRDa1FFUlVRT2NuSUFubndUKzlqZExSMUlmVHhNUkViV1EzRnpBMnh1b3JnYmF0
803 N2QwTlBWeE5SRVJVUXY1KzkrQnNERHJTd1JxCjRzaUFpT2dhRlJWQTU4N0E1czNBWTQ5Wk9wb2Jj
804 V1JBUk5RQ1B2ckllRTJCTlNZQ05URVpFQkg5djRJQzR3Vm1jK1pZT3BLV3gzc1QKRVJFQk1CaUEr
805 KzRESEIyQlJZc3NIYzJOZUc4aUlxSVdrSllHQkFZQ1AvMEVqQmhoNldodWprdExpWWhVTkhVcTBM
806 WXRzR0dEcFNPNQp0Vlo1QlRJUmtUWDQ1aHZnbi84MDdsdGdyemd5SUNLN1ZsMXRuQ2VZT0JIWXVo
807 WFFhQ3dkMGExeGFTa1JrUXFXTERGT0hpY21XbjhpClVCT1RBUkhaclI5L0JKWXRBOTUvSDNCMXRY
808 UTBsc1hUUkVSa2w0NGVCY2FOQS96OWdSOStBRHAwc0hSRXB1RnFJaUlpTXlrb0FCNTgKRUNncUFs
809 SlNiR3NYTTY0bUlpSXlrLy82TCtESUVTQTUyYllTZ1pxNHVRMFIyWldTRW1EbFNtRDFhdU5wSWx2
810 QnpXMklpTXlrdUJodwpkd2NHRFFJeU15MGRUZE53YVNrUlVUUHMzV3U4OTVDM3QrMG1BalZ4em9D
811 SVdqMnQxbmdkUWR1MjluMlY4YTN3TkJFUnRYcU9qc0RvCjBjQnp6d0VQUDJ6cGFKcUhTMHVKaUc3
812 VHYvNEZUSmdBMU5RQTU4NEJIaDZXanFqNU9HZEFSSFFiZERwZ3l4Ymo3YWp6ODF0SElsQVQKNXd5
813 SXFGVjY0QUZnNEVBZ090cTRnb2h1amNtQWlGcVY3NzhIMXE0MTNvMzB5eTk1VVptcGVKcUlpRnFW
814 blR1TnQ1bFl2eDd3OGJGMApOTGFESXdNaWFoWHk4b0RodzRIS1NtRHBVdUN4eHl3ZGtXMHhlekpJ
815 U1VuQm1UTm44T1NUVDVxN2FpS2ltN3B3d2ZqNDg4K0FyNjlGClE3RkpaajlOZFA3OGVYenh4UmZt
816 cnBhSXFFSFYxWUNURXhBU1lrd0MvZm9aTHk2ajIyUDJaREI1OG1TNDJ2c3VFVVRVWXFxcmdhb3EK
817 NE1RSllQZHVTMGRqdTB4T0JqazVPY2pJeUxpaFBEczdHeFVWRldZTmlvaW9NVTg5WlZ3Nk9tYU1j
818 WmN5ZDNlZ1V5ZExSMlc3VEJwTQpCUVlHb3FDZ0FLNnVyamh5NUFnQW9LYW1CZzgvL0RBS0N3dHg5
819 dXhackZ1M0RoRVJFYW9HUzBSMHhROC9BRys5QmZqNWNjdEtjekJwClpKQ2NuSXpVMU5SNlpUcWRE
820 bzZPamtoUFQwZHFhaXFXTGwwS0FFaElTSUNibXh0aVltSnc2ZElsODBkTVJIYXJvQUJJU0FEaTQ0
821 MnIKaG9ZTk0vN3dXb0xtTTJsazRPTGlncEtTa25wbE9wME9ZV0ZoMEdnMDhQUHpRMzUrUGd3R0Er
822 TGk0a3h1UEQ0K1h2azNON2tob3NicwoyMmRjTnZyU1M4QUxMOWhIRWxCN1U1c3JtanpubnBhV2h1
823 am9hT1hZeDhjSFI0NGNRVUJBZ01sMVhKc01pSWdhVTFjSFJFUVlSd2IyCjR2b3Z5Z2tKQ2FxMDAr
824 VFZSRzV1YmlndExWV095OHJLNE00YmdCQ1JtZm40QU8zYkF5NHV3S3had0IxM1dEcWkxcW5KSTRP
825 Z29DQmwKZFpIQllJQmVyMGV2WHIxdXF3N3VnVXhFamJsd3diaHN0R3RYNDdHam8yWGpzUlNyMkFP
826 NXJLd01KMCtleE15Wk02SFZhdUhpNG9Kego1ODRoUER3Y2lZbUpTRXBLUWxaV0ZqWnUzR2g2dzl6
827 UGdJZ2FVRlVGbEpWZFBSNDBDRGh6NW1veXNIY1czYzlnOGVMRm1EdDNMcHlkCm5SRVJFWUZ0Mjdh
828 aGI5KytlUHZ0dC9IR0cyK2d1TGdZcTFhdHV1M0c0K1BqVzJSaWhJaHN4K09QQXoxN0FrT0hHbis2
829 ZGVQMUE0QngKWktEbVBDdDNPaU1pcS9MZ2cwQnNyUEdSYnNTZHpvaUlTRFZNQmtSa01WOS9EYmk1
830 QWYzN1gvM1JhbzJyaDZobFdmVGVmbHhOUkdUZgpUcDhHeG84SDNuenphcG1EQTlDbmorVmlzbFpX
831 c1pwSWxZWTVaMEJrOTVZdUJVcEtqSTlrR3JVK08zblhieUpTMWVYTHhsM0lHbkxOCmRhdGtZVHhO
832 UkVTcVdya1NtRDhmOFBadStQZUxGclZzUExhS3A0bUl5S2J4VkpCNWNXa3BFUkdwaHNtQWlJZzRn
833 VXhFVFZkWkNVeWQKYXJ5MTlNMmNPZ1ZNbXRSeU1WSFRjQUtaaUpxc3RCVFl0ZzM0bi8rNTlmT0dE
834 MitaZUZvelRpQVRrZFU2ZHc0WU1jTDRTQzJERThoRQpSS1FhSmdNaUl1SUVNaEhWZCtvVWNQeTRh
835 Yys5Y0VIZFdLamxjQUtaaU9wNThVWGc0RUhqWElBcHBreFJOeDR5NGdReUViV29TWk9BCm1UTzVI
836 TlJhY1FLWmlJaFV3MlJBUkVSTUJrUkV4R1JBUkVUZzBsSWltM2Jnd00wM2pta3FjOWRIdG9GTFM0
837 bHMySDMzQVhmZEJmVG8KWWI0NnZiMkJJVVBNVngrWkI1ZVdFdEZOK2ZnQUtTbkdSN0lQWEZwS1JF
838 U3FZVElnSWlJbUF5SWlZaklnSWlJd0dSQVJFWmdNaUlnSQpUQVpFUkFSZWdVeDBnNVFVWVBkdVMw
839 ZGhtckl5UzBkQXJRV3ZRQ2E2em4vL041Q1pDVXljYU9sSUd2Znl5MEN2WHBhT2dsb0NyMEFtCmFt
840 RXpad0lUSmhnZmlhd05yMEFtSWlMVk1Ca1FFUkdUQVJFUk1Sa1FFUkdZRElpSUNFd0dSRVFFSmdN
841 aUlnS1RBUkVSZ2NtQWlJaWcKUWpLb3JhM0Z6cDA3VVZOVFkrNnFpWWhJSldaUEJyTm56MFoxZFRX
842 bVQ1OXU3cXFKaUVnbFprMEd4Y1hGNk42OU95Wk9uSWk3N3JvTApXVmxaNXF5KzFWTHo1bE8yaG4x
843 eEZmdmlLdmFGK2t4T0JqazVPY2pJeUxpaFBEczdHeFVWRlFDQXlzcEtkT3pZRVFEZzZPaW9sTk90
844 CjhRLzlLdmJGVmV5THE5Z1g2ak1wR1FRR0JpSTRPQmhSVVZGS1dVMU5EY0xEd3pGcDBpUjRlWGto
845 S1NrSlhsNWVPSDM2TlBMejg2SFQKNmVEdjc2OWE0RVJFWkQ0bTdXZVFuSnlNMHRKU1JFUkVLR1U2
846 blE2T2pvNUlUMDlIWm1ZbW5uMzJXVVJFUk9EZGQ5L0Yrdlhyc1h6NQo4a2JydFlYN3hiZUVFeWVB
847 bjMrMmRCVFd3UnI2NHRBaDRMNzdMQnNEVVVzemVUK0Q3T3hzVEp3NEVVZU9IQUVBdlBQT08rallz
848 U05pClkyTUJBUDM2OWNPSkV5Zmc0R0RhbVNlTlJ0UEVrSW1JN0pzYSt4azBlYWV6dExRMFJFZEhL
849 OGMrUGo0NGN1UUlBZ0lDVEhvOU43WWgKSXJJZVRWNU41T2JtaHRMU1V1VzRyS3dNN3U3dVpnbUtp
850 SWhhVnBPVFFWQlFrTEs2eUdBd1FLL1hveGMzWXlVaXNra21KWU95c2pJVQpGUlhoOHVYTEtDd3NS
851 R1ZsSlVhUEhvMzE2OWRqMzc1OVdMUm9FZTYrKzI2VEdreEpTY0hnd1lQUnYzOS9mUFRSUjgwSzNs
852 cmw1dVppCi9QanhHREprQ0VKRFEvSGxsMThDQVBSNlBSNTU1QkY0ZTN2ajBVY2ZSWGw1dWZLYUR6
853 LzhFUDM3OTRlZm54OVNVMU9WOHN6TVROeDkKOTkzbzA2Y1BGaTFhMU9MdnhSenE2dW93Yk5nd1RQ
854 ei9GUVAyMmc4QVVGRlJnVm16Wm1IQWdBSHc4L09EVHFlenkvNzQ5Tk5QTVhyMAphQXdmUGh3dnZQ
855 QUNBUHY2dTVnelp3NjZkKytPdSs2NlN5a3o1L3V2cmEzRlUwODlCUjhmSDRTR2hxS2dvS0R4b01R
856 RTgrYk5reEVqClJraGdZS0NNR0RGQ05tN2NLQ0lpWDMvOXRZU0hoOHZUVHo4dEpTVWxwbFFsUTRj
857 T2xUMTc5a2gyZHJZTUhEaFFpb3FLVEhxZExjblAKejVkRGh3NkppRWhSVVpIY2VlZWRjdkhpUlZt
858 NmRLbkV4c1pLVlZXVnpKczNUNVl2WHk0aUlvV0ZoVEp3NEVBNWUvYXNhTFZhR1RacwptRkxYQXcv
859 dVprWWpBQUFFaFVsRVFWUThJQnMzYnBUaTRtSUpEZzZXbjM3NnlTTHZxVG5lZmZkZCtjTWYvaUFU
860 SjA0VUViSGJmaEFSCldiQmdnU3hldkZncUt5dWx0clpXeXNySzdLNC9MbHk0SUw2K3ZsSmVYaTUx
861 ZFhYeXdBTVB5UGJ0MisycUgxSlNVaVE5UFYzOC9mMlYKTW5PKy8zLys4NThTR1JrcEZSVVY4dFpi
862 YjhtOGVmTWFqY21rWkdBdVpXVmxNblRvVU9YNFQzLzZreVFsSmJWa0NCWVJFUkVoeWNuSgpFaGta
863 cVNTSm4zLytXU1pQbml3aUl0dTJiWlBubjM5ZWVmN1FvVU5GcjllTGlFaWZQbjJVOG5mZmZWZFdy
864 bHpaZ3BFM1gyNXVydHg3Cjc3MnlhOWN1aVlpSUVCR3h5MzY0SWlBZ1FDNWR1bFN2ek43NjQ5S2xT
865 K0xqNHlONWVYbFNYbDR1SVNFaGN1REFBYnZyaDZ5c3JIckoKd0p6di84VVhYNVN0VzdlS2lESDVq
866 aGd4b3RGNFd2U3VwVC85OUJNR0RScWtIUHY1K2VIQWdRTXRHVUtMTzNYcUZJNGRPNGFSSTBmVwpl
867 LytEQmczQ3dZTUhBUml2MlJnOGVMRHltb0VEQjBLbjArSFVxVlB3OFBCUXltMnh2K2JQbjQvbHk1
868 ZlhXM0pzai8wQUFMLysraXVxCnFxb1FFeE9Eb0tBZ0xGMjZGSldWbFhiWEg1MDZkY0txVmF2ZzYr
869 dUxIajE2SURnNEdFRkJRWGJYRDljejUvcy9lUEFnL1B6OEFBQmQKdTNaRllXRWhxcXVyYjlrK2Iy
870 R3RJcjFlajZpb0tMejMzbnZvM0xuemJTMm5iZWc2ak50NXZUVklTa3FDaDRjSGhnMGJWaTkyZSt1
871 SApLNnFxcW5EaXhBbEVSa1pDcTlYaTJMRmorT3Fycit5dVA0cUtpaEFURTRPTWpBeGtaMmRqLy83
872 OVNFcEtzcnQrdUo0NTN2K1ZjakdlCjlibXR1bHMwR1FRR0J1TDQ4ZVBLOGJGanh6QnExS2lXREtI
873 RjFOYldJakl5RWpObXpNQWpqendDd1BqK016TXpBUmduZmdJREF3SFUKWDVrRkFNZVBIMGRnWUNE
874 NjlldUh3c0pDcFR3akk4T20rdXRmLy9vWHRtM2JoanZ2dkJQVHBrM0RybDI3TUdQR0RMdnJoeXY2
875 OWV1SApnUU1IWXVMRWllalVxUk9tVFp1RzdkdTMyMTEvSER4NEVLTkdqVUsvZnYzUXJWczNQUDc0
876 NDlpN2Q2L2Q5Y1AxelBIK2c0S0NibmhOClNVa0p1bmZ2amc0ZE90eXkvUlpOQm5mY2NRY0E0NHFp
877 N094cy9QREREMHJ3clltSTRLbW5ub0svdjcreVVnSXcvZ2Q5L3ZubnFLeXMKeE9lZmY2Nzg0WTRj
878 T1JJN2R1eEFUazRPdEZvdEhCd2M0T3pzRE1BNFhOeTRjU09LaTR1eGRldFdtK3F2Tjk5OEU3bTV1
879 Y2pLeXNMRwpqUnNSRmhhRzlldlgyMTAvWEt0Ly8vN1E2WFF3R0F6NDdydnZNR0hDQkx2cmo3Rmp4
880 eUl0TFEwbEpTV29ycTdHOTk5L2ovdnV1OC91Cit1RjY1bnovUVVGQjJMQmhBeW9xS3JCNjlXclRr
881 dVR0VG5vMGwxYXJsVUdEQmtuZnZuM2xndzgrYU9ubVc4VGV2WHRGbzlGSVFFQ0EKREIwNlZJWU9I
882 U3JmZi8rOVhMeDRVUjUrK0dIeDh2S1NSeDU1UkprRUVoRjUvLzMzcFcvZnZqSjQ4R0JKU1VsUnlv
883 OGRPeWJEaGcwVApYMTlmK2N0Zi9tS0p0Mk1XV3ExV1dVMWt6LzN3eXkrL1NGQlFrQVFFQk1pQ0JR
884 dWt2THpjTHZ0ajdkcTFNbTdjT0JreFlvUXNYcnhZCjZ1cnE3S29mcGs2ZEtqMTc5cFQyN2R1THA2
885 ZW5mUDc1NTJaOS96VTFOVEo3OW16eDh2S1NrSkFReWMvUGJ6UW1rKzlOUkVSRXJSY24Ka0ltSWlN
886 bUFpSWlZRElpSUNFd0dSRVFFSmdNaUlnS1RBUkVSQWZnL2ZIUitKMkhkelZzQUFBQUFTVVZPUks1
887 Q1lJST0K
888 </png>
889 </output>
890 </outputs>
891 </codecell>
892 <codecell>
893 <input>plot_graph(wgraph)</input>
894 <language>python</language>
895 <prompt_number>9</prompt_number>
896 <collapsed>0</collapsed>
897 <outputs>
898 <output>
899 <output_type>display_data</output_type>
900 <png>aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWQ4QUFBRXZDQVlBQUFBRWtzdEJBQUFBQkhOQ1NWUUlD
901 QWdJZkFoa2lBQUFBQWx3U0ZsegpBQUFMRWdBQUN4SUIwdDErL0FBQUlBQkpSRUZVZUp6c25YZDhG
902 TlhheDc4elc5TXJDVDJoSXpVSWdTczFkQVVFQks1S1I2OVlVT0crCnlNc0ZMSWg0QWRHcnlLc29L
903 Z29xaUNERmk0b1VJVkpFcW5TVVhxVWtFRkozczJYTys4ZGtKMW1TQUlLRTR2bCtQdEhkbVRPbjdU
904 Qy8KT2M5NXpuTVVJWVJBSXBGSUpCSkppYUhlN0FwSUpCS0pSUEpYUTRxdlJDS1JTQ1FsakJSZmlV
905 UWlrVWhLR0NtK0VvbEVJcEdVTUZKOApKUktKUkNJcFlhVDRTaVFTaVVSU3dranh2UVY0K2VXWDZk
906 Ky9mNG1WZC9Ub1VWUlZSZE8wRzVKL1NiZm5SdlBVVTAveDZxdXYzdXhxCjNQSU1HalNJRjE5ODhX
907 WlhReUs1TFpEaWV3M0V4OGNUR3h0TFRrNk9jZXlqano2aWRldlcxNVNmb2loL1Z0VnVDZTYwOXJ6
908 MzNudTgKOE1JTE43c2ExODJORmtkRlVlNjQzMTVTY3Z6Vlh0NmsrRjRqbXFieDl0dHYzK3hxbERo
909 ZXIvZW1sZTN4ZUc1YTJaS3JROGJzdVhxSwp1cC9sUGY3WFFZcnZOYUFvQ2lOR2pPQ05OOTRnUFQy
910 OXlEVDc5KzluNk5DaFZLeFlrV0hEaG5IZ3dBSGpYRXBLQ2lOSGpxUjA2ZEwwCjdObVRyS3dzdjJz
911 UEhUckV5SkVqaVl1TFkvRGd3ZXpkdTdmWXVxU21wdkxtbTI5U3QyNWRvcU9qZWZiWlo0MXovLzN2
912 ZjJuZnZqMTEKNjlibC9mZmY5eHVwRitUQ2hRdTg5dHByVkt0V2pWNjlldkhqano4YTUxNSsrV1Y2
913 OSs3TlUwODlSWmt5WlpnMWExYWg2NituUFFXdgpmZUNCQnhneFlvUmhzdmFaeCtmUG4wK2RPblZv
914 Mzc0OUFPdldyYU52Mzc1VXFsU0pjZVBHa1pxYWF1UjMrdlJweG84ZlQ5V3FWWG5vCm9ZZll1SEZq
915 c1gxM0taTW1UU0loSVlHd3NERHExYXRuMUxQZ0cvbjk5OTlQU0VpSThXY3ltZmowMDAvL2NOa3Vs
916 NHN2dnZpQ2R1M2EKRVI0ZVRvc1dMWEE2blFCczI3YU5RWU1HRVI4Zno0c3Z2c2p2di85dVhLZXFL
917 b2NQSHphK0Y2eGJjbkl5NWN1WDU0TVBQcUJ5NWNvMAphOWFNcFV1WEF2REJCeDh3Wjg0Y0prK2VU
918 RWhJQ04yNmRidXFQdG01Y3lkUFB2a2tGU3RXNUxubm51UDQ4ZVBHdVdQSGp2SDQ0NDlUCnVuUnBC
919 ZzhlWEVnNHZ2dnVPeG8zYmt5TkdqV1lOMitlWDkwOUhnL3o1czJqVFpzMkpDUWtNR1BHREZ3dTEx
920 WFZDV0QxNnRYMDY5ZVAKeU1oSWF0ZXV6UysvL0FMQXFWT25lT0dGRjRpUGorZVJSeDR4amhmSDVl
921 NTlJUVJMbGl5aGUvZnVoSWVIMDZoUkkwNmVQQW5BaVJNbgpHRGR1SEZXclZxVjA2ZEpNbWpRSktE
922 eDZTMDVPcGtLRkNzYjMrUGg0cGsyYlJ0T21UUWtQRCtmUW9VTi8rQjVYVlpYWnMyZVRrSkJBCjFh
923 cFZlZXV0dDY2cWI5TFMwcGd5WlFxMWE5Zm12dnZ1WS9ueTVjWDJ5KzF5Zjk3V0NNa2ZKajQrWHF4
924 Y3VWTDA2TkZEdlBEQ0MwSUkKSVQ3ODhFT1JsSlJrcEltTGl4T3Z2dnFxU0UxTkZSTW5UaFR4OGZI
925 R3VaNDllNHArL2ZxSjA2ZFBpNWt6WjRxZ29DRFJ2MzkvSVlRUQpIbzlIeE1URWlFOCsrVVJrWkdT
926 SVdiTm1pZkxseXhkYmw2NWR1NHIrL2Z1TEF3Y09pTnpjWExGdTNUb2hoQkNyVnEwU0ZTdFdGQ3RX
927 CnJCRDc5KzhYYmR1MkZXUEhqaFZDQ0hIa3lCR2hLSXJ3ZXIxQ0NDRUdEQmdnSG56d1FYSGl4QW14
928 WU1FQ0VSa1pLWTRjT1NLRUVHTHMKMkxIQ1lyR0lxVk9uQ29mRElSd09oNWc0Y2FMbzBxWExuOUtl
929 bmoxN2lnRURCb2pUcDArTHp6NzdUQVFIQnh2WCt1clp2WHQzY2VqUQpJZUYwT3NXT0hUdEUrZkxs
930 eFlvVks4U0ZDeGZFczg4K0svcjA2V1BrMTZCQkF6Rmh3Z1NSbHBZbXZ2bm1HeEVSRVNFeU16T3Yr
931 SnZ1CjNyMWIxS2hSUTV3NmRVb0lJY1N2di80cVRwOCtMWVFRWXRDZ1FlTEZGMThzZE0xMzMzMG55
932 cFVySjA2ZVBGbHMyVmxaV1VJSUlXYlAKbmkzcTFhdG5YUHZtbTIrS3hvMGJpeDkvL0ZGNHZWNnhZ
933 Y01Ha1p1Yks3S3pzMFZ3Y0xENDhNTVB4Ymx6NThUUW9VTkZxMWF0ak9zVQpSUkdIRGgweXZoZXMy
934 K3JWcTRYRlloRlBQZldVT0hmdW5Qand3dy85K3JxNGRoUkhhbXFxaUlpSUVJc1hMeGJwNmVsaXdv
935 UUpvbW5UCnBzYjVoZzBiaXVlZWUwNmtwS1NJMTE5L1hWaXRWaVAvWGJ0Mmllam9hUEhOTjkrSXc0
936 Y1BpeTVkdWdoVlZZMjZ2LzMyMjZKTm16WmkKOSs3ZDR1REJneUlwS1VsODhNRUhSdDdoNGVGaS9m
937 cjFSZFpyMjdadElpWW1Sc3laTTBlNFhDNXg4T0JCY2V6WU1TR0VFQzFidGhUUApQUE9NT0hmdW5K
938 Z3hZNFlJRFEwVk9UazV4YmJ4Y3ZmK3dvVUxSYlZxMWNTU0pVdUUxK3NWTzNic0VPZlBueGRDQ0ZH
939 dlhqMHhmUGh3CmNlclVLWkdabVNrMmJ0eFlaQit2WHIzYTd6ZUlqNDhYdFdyVkVtdldyQkZPcC9P
940 YTduRkZVVVNiTm0zRXZuMzd4TmF0VzBWSVNJZzQKZVBEZ0Zmdm1nUWNlRUVPSERoVm56cHdSYTlh
941 c0VXWExsaFVIRGh3b3NsOXVoL3Z6ZGtlSzd6VVFIeDh2ZnZqaEI3Rjc5MjRSRmhZbQpVbEpTL01S
942 MzI3WnRva3laTW43WGxDdFhUdnp5eXkvQzdYYUxzTEF3dnh1MFJZc1dodUFzWDc1Y3RHL2YzdS9h
943 aElRRXNXblRwa0wxCnVIanhvZ2dNREJTcHFhbUZ6ZzBkT2xTTUhqM2ErTDVpeFFyajRWOVFmRDBl
944 ajRpS2loSy8vZmFia2JadjM3N2l6VGZmRkVMbzRsdTUKY3VWaSsrSjYybk9sYTMzMVhMTm1qWEYr
945 ekpneDR0Ly8vcmZ4UFRVMVZVUkhSd3VQeHlQMjc5OHZhdFNvNFZkVzkrN2R4Yng1ODRxdAp2NDhk
946 TzNhSXVMZzRrWnljYkx5VStCZzBhSkR4a3VYanQ5OStFekV4TVlaQS9OR3lHemR1TEJZdFdsVG8r
947 TUtGQzhVOTk5eGpmTS9PCnp2YjdqWXQ2dVBucXRucjFhbUV5bVVSS1Nvb1FRdjl0Z29PRHhhKy8v
948 bHBzT3k3SEJ4OThJQVlQSG14ODk3MUluVDE3VnB3NWMwYlkKN1hiaGNEaU04eFVxVkRBZW5xKzk5
949 cHJ4T3dvaHhBOC8vT0JYOTZaTm0vcUo2NkpGaTBTblRwMnVxbDRqUjQ0VXc0WU5LM1E4SlNWRgpC
950 QVFFR0M4OFFnalJyRmt6c1hEaHdpTHp1ZEs5LytDREQ0cTMzbnFyMEhWNzkrNFZrWkdSaGU0VElR
951 cjNjVkhpKzhvcnJ4amYvK2c5CkxvUitEeXhZc01BNDM3RmpSL0hlZSs4SklZcnZtNHlNREZHbVRC
952 bS9GNUYvL3ZPZll2TGt5VVYxelcxeGY5N3VTTFB6ZFZDN2RtMjYKZE9uQ3BFbVQvQnhOMXE5Zno5
953 MTMzKzJYdGxHalJxeGR1NVo5Ky9haGFScVZLMWMyempWbzBNRDR2SExsU3RhdVhVdEVSSVR4ZC9E
954 ZwpRZGFzV1ZPby9QWHIxeE1YRjBkVVZGU2hjei85OUJNTkd6WTB2amRzMkpCZHUzYVJtWm5wbDI3
955 ZnZuM2s1dVpTdlhwMXY3UnIxNjQxCnZqZHAwcVRZUHJpZTloUjFiY09HRFF2Tkd4WXNmK1hLbFV5
956 Y09OSElxMnJWcXVUazVMQjE2MVpXcmx6SmtTTkgvTXI2NFljZi9OcFMKSFBYcTFlUGYvLzQzbzBh
957 Tm9seTVjcnowMGt2Rm11blQwOVBwMXEwYi8vNzN2Mm5hdEtsUnI2c3RPenM3bXkxYnR0Q3NXYk5D
958 NTM3Ngo2U2UvZXljd01KQnExYXJ4MDA4L1hiRU5BR1hLbENFNk9ob0FzOWxNZEhRMHAwNmRNczcv
959 RVllb2xTdFhNbnYyYktNOTBkSFJaR2RuCnMyYk5Halp0MmtUVnFsV3gyKzFHK29MMTNyUnBrOTk5
960 VVBCY2RuWTJHelpzb0hQbnprYmVnd1lOdXVvMkppY25GOWwzUC8vOE01VXIKVnlZb0tNZzQxcWhS
961 STlhdFd3Zm8vMTU5MHdYcjE2OHY5dDczcFMrdW5OV3JWOU9rU1JOVTlkb2VuMFg5ZTdxYWUzemJ0
962 bTFHbW9TRQpCT056bVRKbEROTnZjWFZldDI0ZEtTa3BsQzFiMXNoM3hvd1pSbHNMY3J2Y243YzdV
963 bnl2azNIanh2SGhoeC82M1VETm1qWHorNGNDCnNIWHJWbHEwYUVITm1qVlJWWlZEaHc0WjV3cW1i
964 ZE9tRFVsSlNhU2xwUmwvbVptWlBQZmNjNFhLYnRxMEtjZU9IZVA4K2ZPRnpqVnIKMW93dFc3WVkz
965 N2RzMlVMZHVuVUpDUW54UzFlelprMXNOaHUvL2ZhYlg5cVdMVnNhMzAwbVU3SHR2NTcyK0s0dE9F
966 ZTBkZXZXUXY4QQp6V2F6WDM0dnZQQ0NYMzdaMmRrMGJ0eVlObTNhVUtWS0ZiOXpHUmtaVEowNnRk
967 ajZGNlJ2Mzc1czJMQ0JuMy8rbWVYTGwvUEpKNThVClNxTnBHbjM2OUtGdDI3WTg5dGhqZnZXNjJy
968 S0Rnb0pJVEV3czhzSFhyRmt6dG03ZGFuelB6czdtd0lFRGhzaVhMVnVXTTJmT0dPZTMKYmR0MjFR
969 OHNrOG4waDVhWHRXblRoZ0VEQnZpMUtTc3JpMTY5ZXBHWW1NakJnd2R4T0J4K2RmSFJ1SEZqdi9u
970 V2d1ZUNnb0pvMHFRSgp5NVl0TS9LOWVQRWlhV2xwVjFXdjFxMWJGOWwzZi92YjN6aDgrRERaMmRu
971 R3NjMmJOOU9pUlFzQTl1elpRMlptSnBtWm1UUnIxcXpZCmU5K1h2cmh5MnJScHc2Wk5tNHAwUGl4
972 WHJoeG56NTQxdmhjMTUxendmaTdxV0hIM2VHSmlZcEg5VVpEaTZuelBQZmRRcWxRcHpwNDkKNjNk
973 L2Z2MzExNFhTM2k3MzUrMk9GTi9ycEVxVktqejAwRU4rbnM4TkdqVEFhclV5Y2VKRVVsTlRtVHg1
974 TW1hem1ZU0VCQ3dXQyszYQp0V1BjdUhHY09YT0d6ei8vbk8zYnR4dlh0bXZYamwyN2R2SHBwNStT
975 bHBhRzAra2tPVG5aVDl4OWhJZUgwNzU5ZTRZUEg4N0Jnd2R4Ck9wM0dHMmkzYnQzNDRvc3ZXTFZx
976 RlFjUEh1VDExMS9uZ1FjZUtKU0gyV3ltYytmT2pCMDdsbE9uVHJGNDhXSysvLzU3dW5mdmZsWHQK
977 djU3MitLNGRQMzQ4WjgrZVpjNmNPWDdYRmtYLy92MlpQbjA2eTVjdngrVnlrWjZlenZ6NTh3R29V
978 YU1Hd2NIQnZQSEdHNXc1Y3dhMwoyODNtelp2NTlkZGZBWmc1Y3lhVktsVXFNdDh0Vzdhd2NlTkcz
979 RzQzQVFFQm1NMW00MFdsNEVqOCtlZWZKeWNuaHlsVHB2aGRmNld5CkwrWGhoeDltOHVUSnJGdTNE
980 cS9YeTRZTkczQzVYTFJ2MzU0OWUvYnc4Y2NmYys3Y09WNTQ0UVVTRXhNTjYwYmJ0bTM1NUpOUHVI
981 angKSWpObXpDZzIvNkpvMkxBaE8zZnU5SE9NR2pSb0VJODg4a2lSNlI5NjZDRVdMbHpJNHNXTHlj
982 N09KanM3bTIrLy9aYXNyQ3hLbHk1Tgo3ZHExR1R0MkxDa3BLYno1NXB0K290T3BVeWUrLy81N2xp
983 NWR5dEdqUnd1OWhQVHYzNStYWG5xSmJkdTJvV2thcDA2ZHVxd0QwS1Y5Ck4yL2VQT2JObTRmTDVl
984 TGd3WU1jUDM2YzZPaG9FaE1UR1RObURPZk9uV1BtekpuczJiT0hqaDA3RnBuUGxlNzloeDkrbU9u
985 VHA3TjAKNlZJOEhnODdkKzdrd29VTDFLeFprL0xseXpOcTFDaCsvLzEzTWpNejJiUnBFNkQvUGl0
986 V3JPREFnUU5zMmJLbFNBZkZLM0c1ZTd3bwpoRDU5ZU5tK0NROFBwM256NW93Wk00Wmp4NDdoOVhy
987 WnZYdTMzd3Y2cFgxOEs5eWZkekpTZlA4RWZDYktnbTk0MzMvL1BhZE9uYUpCCmd3YWNPSEdDNzcv
988 LzNqZzNiZG8wWW1KaVNFaElZTkdpUlR6MTFGUEdPWlBKUkhKeU1yLzk5aHNOR3pha1lzV0svT2Mv
989 L3luMmpYREcKakJuVXFWT0hMbDI2VUtGQ0JlYk5td2RBVWxJU2I3MzFGaE1tVEtCNzkrNTA2OWFO
990 Ly8zZi96V3VLMWpYTjk5OGsvcjE2OU9xVlNzKwovZlJUNXMrZlQzeDh2Skh1MGpmWENSTW0wS2xU
991 cHorbFBkT21UU01xS29yNjlldnoxVmRmMGJkdlg4TEN3b3FzSjBDdFdyV1lOV3NXCjgrYk5vM3o1
992 OHRTdFc1ZGx5NVlaNXhjdlhvemI3YVp0MjdhVUtWT0cwYU5IRzE2MEowNmNvSG56NWtYMlkwWkdC
993 bzgvL2ppUmtaRzAKYnQyYXhvMGIwNjlmdjBKOU1IZnVYRFp1M0VoRVJJUmh3dnppaXkrdVdQYnMy
994 Yk9wVTZlT1VkNlFJVU40K3VtbmVmNzU1NG1LaW1MMAo2TkZvbWtaUVVCQ3JWcTNpeHg5L0pERXhr
995 WUNBQUdiUG5tMWNOMnJVS0M1ZXZFak5talhadG0wYkR6LzhzRjg3TGpmSzZOcTFLNnFxClVxNWNP
996 WHIwNkhIRlBna1BEMmZac21Xc1hyMmE2dFdyVTYxYU5jT3pHMkQrL1BsY3VIQ0JPblhxOE91dnYv
997 TFFRdzhaNStyVXFjUEgKSDMvTTJMRmo2ZGl4bytHOUdob2FDc0Rnd1lONTlORkhlZW1sbDRpTWpL
998 UjkrL2JzMzcvZnVONW5HaTZLaElRRVpzK2V6Y0tGQzRtSgppYUZIang3R3FIbjI3TmtFQmdhU21K
999 aEljbkl5UC96d0F3RUJBY1gyeWVYdS9hNWR1L0xhYTYveHpqdnZFQlVWeGVEQmd3MlAzeVZMCmxo
1000 QVFFRURUcGsycFhyMDZ5Y25KQURSdjNweCsvZnJSdG0xYmhnMGJ4dE5QUDMzRmtkOGZ2Y2N2VFYv
1001 dy9yeGMzN3ovL3Z2RXhjWFIKcTFjdlNwVXF4ZU9QUDA1R1JrYVJkYnBWN3M4N0dVVmNPc0Vta2R4
1002 RUVoTVRHVDE2OUEzNXg5ZXhZMGVtVHAxS2pSbzEvdlM4YjBkYwpMaGNOR2pSZzU4NmRsNTFhK0RQ
1003 NDl0dHZHVFZxRkx0MjdicWg1VWdrdHd0eTVDdTVxV3pac29WRGh3NlJuWjNOZSsrOXg2NWR1Mmpi
1004 CnR1ME5LV3Zac21WU2VBdGd0VnJaczJmUERSUGVSWXNXa1p1Ynk3WnQyM2pqalRlS05mOUtKSDlG
1005 cFBoS2JpcG56cHloZGV2V2xDMWIKbG5YcjFyRnMyVEkvczdQazl1V0REejRnSmlhR3ZuMzcwcVZM
1006 RjU1Ly92bWJYU1dKNUpaQm1wMGxFb2xFSWlsaHJtdmsrK2lqanhJYgpHMHZkdW5XTFRUTjY5R2dx
1007 VjY1TXc0WU4vNURubTBRaWtVZ2tkeXJYSmI2UFBQS0lueGZ2cFd6YXRJbTFhOWV5WmNzV1Jvd1l3
1008 WWdSCkk2Nm5PSWxFSXBGSTdnaXVTM3hidEdoQlJFUkVzZWMzYnR4SXIxNjlpSXlNcEhmdjN1emJ0
1009 Kzk2aXBOSUpCS0o1STdnaGpwY2JkcTAKaVZxMWFobmZTNVVxNVJjSlNTS1JTQ1NTdnlLRjQ1ejlp
1010 UlNNdk9LanFFWFdmNlY0bmhLSlJDSzVzN2dXditVYk92SnQwcVJKb2IxYgpDd2JSTDRoUHFQOUtm
1011 MlBIanIzcGRaRHRsdTJXYlpidGx1Mis5cjlyNVlhTDc0SUZDemgvL2p4ejVzemhycnZ1dXBIRlNT
1012 UVNpVVJ5ClczQmRadWZldlh2ejQ0OC9rcHFhU29VS0ZSZzNiaHh1dHh1QUo1NTRnc2FORzlPOGVY
1013 TWFOV3BFWkdRa24zLysrWjlTYVlsRUlwRkkKYm1ldVMzeDlBZVV2eDZSSms1ZzBhZEwxRkhQSGtw
1014 U1VkTE9yY0ZPUTdmN3I4RmRzTThoMlM2N01MUkhoU2xHVTY3S2RTeVFTaVVSeQpNN2hXL1pLeG5T
1015 VVNpVVFpS1dHaytFb2tFb2xFVXNKSThaVklKQktKcElTUjRpdVJTQ1FTU1FranhWY2lrVWdra2hK
1016 R2lxOUVJcEZJCkpDV01GRitKUkNLUlNFb1lLYjRTaVVRaWtaUXdVbndsRW9sRUlpbGhwUGhLSkJL
1017 SlJGTENTUEdWU0NRU2lhU0VrZUlya1Vna0Vra0oKSThWWElwRklKSklTUm9xdlJDS1JTQ1FsakJS
1018 ZmlVUWlrVWhLR0NtK0VvbEVJcEdVTUZKOEpSS0pSQ0lwWWFUNFNpUVNpVVJTd2tqeApsVWdrRW9t
1019 a2hKSGlLNUZJSkJKSkNTUEZWeUtSU0NTU0VrYUtyMFFpa1Vna0pZd1VYNGxFSXBGSVNoanp6YTZB
1020 UkNMNWEzRHMyREYyCjdOaEJabVltQVFFQlZLeFlrYnZ2dmh0VmxXTUF5VjhQUlFnaGJub2xGSVZi
1021 b0JvU2llUlBSdE0wa3BPVCtXcmVSeHc4c0lsN0dxcUUKQm50eHVsUjIvNnFRNjRtbDE5K2ZvR3Uz
1022 N2dRSEI5L3M2a29rZjVocjFTOHB2aEtKNUlhUW01dkwySmRHY09Md1V2cjNVbWpUSWdTcgpOWCtV
1023 SzRSZzV4NEhjNy9PNWJjakZYajcvejZqUW9VS043SEdFc2tmNTFyMVM5cDdKSkk3bEtTa0pGUlZw
1024 VktsU2lWZXR0ZnJaY3pvCllRam5kM3c4SlpSNzI0YjVDUy9vRDYzNmRRS1orSHdFZmJxZTRxa25I
1025 dVRjdVhQRjVoa2ZINCtxcXJSdTNmcEdWMThpdWVGSThaVkkKN25BVVJTbnhNcitjK3dWWkYxYnc2
1026 cWh3YkxZclAyWjZkUTJqeDcwcGpCczd2TmcwaXFJWWZ4TEo3WTRVWDRsRVVnaUh3M0hOVTBHYQpw
1027 akh2eS9kNStoRWJGc3ZWQzJYL3Y0ZHg4TUJHamh3NVV1VDVJMGVPNFBWNldiVnExVFhWU3lLNWxa
1028 RGlLNUg4QmRpOWV6ZnQyclVqClBEeWN4TVJFbGk5ZmJweFRWUlZWVlhua2tVZjQ2S09QU0VoSUlE
1029 UTBsTXpNVE9QYUJ4NTRnUGo0ZUVKQ1FraE1UR1R5NU1sNHZWNEEKUEI0UHdjSEJxS3JLLy96UC83
1030 Qng0MGFDN09mbzFQc2dhc3hXWHB4NEN0RG5lQ09xYmtlTjJjcVRJNDRCOFBMazMxRmp0cUxHYkdY
1031 SApuaHpPcDU2bVhyMjYzSGZmZlh6Ly9mZCtiU2pLN1B6eHh4L1Rva1VMU3BjdWpjMW1vMnpac3JS
1032 cDA0WVZLMWI0WFZ2UUJMOTE2MVphCnQyNU5kSFEwZ3djUFpzK2VQWDkraDBza1YwTGNBdHdpMVpC
1033 STdpaGF0V29sRkVVUm9hR2hJakl5VWlpS1l2eFpMQmF4YTljdUlZUXcKanNYR3hocWZWVlVWNmVu
1034 cFl2WHExY0ppc2ZnZDkzM3UyTEdqVVZhN2R1MkVvaWppYjMvN20zaHQwamp4MXZnS1FsRVFpb0pv
1035 MnpKRQppSlNHWXZmYVdrSlJFS3FLbURPOWtoQXBEY1hZL3kxanBJdUtOQWxGUVFCR0dYdjM3alhL
1036 aUl1TEU0cWlpTmF0V3h2SEhucm9JYU5lCnZqL2Y5L1hyMXhmcWk4REFRQkVZR09qWEY3R3hzU1h3
1037 YTBqdVZLNVZ2K1RJVnlLNXc4bk16S1J6NTg0Y1BueVl0OTU2QzlCSHF3c1cKTFBCTGQrN2NPWjU0
1038 NGdtT0hUdkd2bjM3Q0F3TTVNa25uOFRqOFJBWUdNZ25uM3pDdm4zN3VPKysrd0JZdm53NTgrYk5B
1039 NkJGaXhZQQpiTisrbmZPcHYzTTJ4UVdBb3NEbVg3TFJOTUg2VFZsR1dmYzBEdUpTcTNiNXNsWldM
1040 NnBPbmRybGpXT1hqbUF2NVlrbm5tREhqaDJrCnBhV1JsWlhGcGsyYmlJcUtRZ2pCMjIrL1hTaTl3
1041 K0dnVTZkT0hEbHloQmRmZkJHQWxKUVVkdTdjZWNWK2xFaitUS1Q0U2lSM09JcWkKTUdIQ0JPTGo0
1042 eGsyYkJqeDhmRUFMRm15eEM5ZFdGZ1kwNlpObzBLRkNsU3ZYcDNVMUZUMjc5OFBRUFBtelJrNGND
1043 RFZxMWZuK2VlZgpONjVKVGs0R29HWExsZ0M0WEM1U1VpK3k5emNuQVBkM0RDTXpTMlA3SGdmcjhz
1044 UTN2b0tWY21Xc2VDOVIzMmNmaXlHaGJpQ2xvc09JCmpJd0VZUFhxMVpkdFcvbnk1WG50dGRlb1Y2
1045 K2VZVkkvZi80OEFJY09IU3F5THlaTm1rUmNYQndQUHZnZ29KdkRyMVNPUlBKbmMxM2kKdTJiTkd1
1046 NjY2eTZxVmF2Ry8vM2YveFU2NzNBNEdEaHdJQTBhTktCVnExWjgvZlhYMTFPY1JDSzVCc0xEd3ls
1047 ZlBuODBXYTllUFVBZgpwVG9jRHVONGl4WXQvRHlKang4L2JueXVYNzkrb2VzQlRwdzRBVURqeG8w
1048 eG0vV0FlV2tYSGV6WTR5QXEwc3lBaDZJQitHbHpGaHUzClpBUFEvRzk2TUEwaHdDZS9pZ0xOR2dk
1049 ejlIZ3VwVXJGRUJnWUNFQjZldnBsMnpaczJERG16Sm5EOGVQSDhYZzhmdlcvY09GQ29mU2wKU3BX
1050 aVNwVXFBQVFFQkJqSHIxU09SUEpuYzEzaU8yellNS1pQbjg3S2xTdDU5OTEzU1UxTjlUcy9hOVlz
1051 Z29LQytPV1hYL2owMDA4WgpQbnk0REtZaGtaUXdGeTllNU9USms4YjNIVHQyQUpDUWtPQW5RTkhS
1052 MFg3WHhjWEZHWiszYjk5ZTZIcUFpaFVyQXJxUU5XelVDQ0VFCmFSY3pPWDdLUmVPN2cyamFLQWlB
1053 NzFha2MrQndMZ0RObXVSSHNpcjRPQWdNVUZtMDFFM25MZ091S3VUa2dRTUhES2VzSVVPR2NQYnMK
1054 V2J4ZUwxV3JWaTMyR3Arb0F6S3NwZVNtY3MxM24rOU5zV1hMbHNURnhkR2hRd2MyYnR6b2x5WXNM
1055 SXpNekV6Y2JqY1hMbHdnTURCUQpydEdUU0VvWUlRUXZ2UEFDUjQ4ZVpjcVVLUnc3cG5zYWQrM2E5
1056 YkxYeGNiR1VxTkdEUURXcjEvUFo1OTl4djc5KzVrNGNhS1Jwbm5MCmx1UjZCQTRQTkd1dW01N1hy
1057 VjJERUJBYmJTWXkya3lsaWxhV3Jjb0E5Qkd1YitSN0tSbFpYcEkzcUhUdDF2MnEycFdXbG1aOERn
1058 b0sKUWdqQmYvN3pIdzRlUEhoVjEwc2tONU5yRnQvTm16ZFRzMlpONDN1dFdyWDQrZWVmL2RMMDd0
1059 MGJyOWRMZEhRMHpaczNaL2JzMmRkZQpVNGxFY2syRWhJU3daTWtTS2xldXpQRGhlaEFMczlsTWp4
1060 NDlybmp0dEduVE1Kdk41T1RrTUhEZ1FHcldyTWwzMzMwSFFPdTI3ZWplCjQwRVVCZXhtU0dyWkhO
1061 RFgrU3FLd3A3OU5sSlNQVFJwbE85Y1ZUckdRcFZLOWtMT1ZrTEEyeDlrMGJsTFg4TER3d3NjTDJ3
1062 cDh4MXIKM0xpeDhYTHcrdXV2RXhzYnkvang0NDBRbGRMS0pybVZ1YUc3R3IzenpqdVl6V1pPbno3
1063 TnJsMjc2Tnk1TThlT0hTdlMzUFB5eXk4YgpuNU9Ta2toS1NycVJWWk5JN25oODBhQ2lvcUpZc21R
1064 Snc0WU5ZOXUyYlZTcFVvVUpFeVpRcDA0ZHY3UkYwYnAxYTdaczJjS0xMNzNFCmp1M2J1WERoQWxX
1065 clZhZFhyMTZNR0RFQ2l6bi8ydWJObTZPcUtrSUlUQ1lUZlI5NW5pZi85dzBhMWJYbmxaRnZjaGJB
1066 cFNWbWV4dngKN0xCUmZuVXZXSytpanMyZE81ZXBVNmV5Wk1rU2F0V3F4YVJKa3hnOWVqUW5UcHdv
1067 OHRyaStra2l1VnFTazVNTlI4UHI0Wm8zVmtoUApUeWNwS1lsZmZ2a0ZnR2VmZlpaNzc3Mlh6cDA3
1068 RzJrZWZQQkIvdkdQZjlDeFkwY0FtalJwd3F4WnMveEd6Q0EzVnBCSWJqV0VFR2dDClBCcDRoUzZV
1069 SmhWTUNxaEswWUtsQ1hDNk5YSmNHaVpWSVR2WHczOFhmY1dYbjd4Q1VsTXZQVHBicVZVakFDM3Zu
1070 M3JxZVRmL1hack4Kb3U4VjZqVG96UE12VHNKbXN4TmdBWk1xQlZGeWUzQlRkalZxMEtBQmI3LzlO
1071 aFVyVnVUZWUrOWwzYnAxZms0YjA2ZFBaOWV1WFV5ZApPcFdqUjQvU3NXTkhEaHc0OEtkVlhpS1Iv
1072 SGxjaStENjhHcmc5R2c0WFJxS0FsbTVIcHh1amRLaE5ySXowMW0wZUNIZkxQb0l0eXVWCjRDQVR6
1073 bHhCVm82SnBIYTk2Tkt0RHhVclZjR2tRckROakNZVUtjQ1MyNGFiSXI0Ly92Z2pUejc1Skc2M202
1074 RkRoekowNkZDbVQ1OE8KNkl2ZjA5UFRlZW1sbDFpN2RpMmxTcFZpMkxCaGRPclU2VStydkVRaXVU
1075 NnVSM0QxNi9WcjNSNE5wMGNESU5QcElkZWpFUmxrSWRCcQp4bWFHODFrZXJDWTRlKzRzcDFQU3NR
1076 ZllLVk02aHVCQWZTU3NhUnFhZ0dDYml0bGt3cXNoQlZoeVd5RDM4NVZJSkZlRlQzQzllY0lKCllQ
1077 NERndXRERStEMmdsZlRjTG8xQkpEaGNPUDJDa0x0SnNJQ3JKaFVBRUdHVThObVZqRXJHbWN6UFFB
1078 RVdGV3NaaFdQcHRmSm0yZVAKamdveTQ5VVV2RUlLc09UV1IrN25LNUZJaXNVbmJpNnZ2aXdvVjk4
1079 VEFac0pBc3hnTlNtWTFLdmZycytyZ2F1ZzhBcEl6OUdGTjlobQpJakxJQ29ERkJMa2VnYXFRNTRp
1080 Vi84aFIwQjljUHNIM2FXeUcwNHZOTERBcDRIQmppTEpFY2lkeFE3MmRKUkxKemFPNEVhN045TWRH
1081 CnVQNTU2bm41VE1XNUhvRlhDTkp6M0dnQ0FxMHFzYUZXY2oxZ3pmT0V6dlZvV0V3cXFxSlFWSkUy
1082 c3k2eWlxS0FFTGk5QW9kYkVHaFYKY0xyQjZZWUFpMENWSTJESkhZUVVYNG5rRHFLZzRIbzFmVW1Q
1083 U2JrK3dmWGhNek9EUG9yTzlRamNYbzEwaHhzaElNQ2lVamJjaHR1agpsMlZTOUZHclJ3T2JXY0Zp
1084 QXJYZzhwOENueFFFNUkxK05TSElkSHF4VzFUc0ZsMThIVktBSlhjWTB1d3NrZHptRkRRcE8vTk15
1085 a0tBCk5jK2tiRFAvTVpOeVVmak16S3FpajB4elBRS1hSeU05UnhkZXUwV2xYTGdOa1NmOCthTmUz
1086 WHdNWURIbm01WUJOSFRuTHErQVFLdCsKUXNtYmR4WkF1a09mRzdaYjlHTU9OMmpTQkMyNVE1RGlL
1087 NUhjaHBTRTRPcmw2S05kandZV1ZlQjBhN2k5QXFmYnE0OTRBYXRab1Z5NApEVVVCbDBjM2JmdEd1
1088 TGtlTGM5aFN1U1puUlcvdk0ycWtsZnYvT1A1MStybEtZcUMzYUlMc3hSZ3laMkNGRitKNURhaHBB
1089 UTN2enpkCjFDd0FzeXJJZG1sNE5NaHhlY2gwNnFOU2kwbWhmTGdkazZvWTg4b1dVMzU5WFI1ZGRB
1090 dWFtMzJqWDAwSXpIbGZkTTltdmU0aUwxL1EKbmE4MFRhQW8rdHBmUTREbDZnakpiWTZjODVWSWJt
1091 R0VFQWp5MXVFV21NTzFtUFQvMzhqUWlJcWl2NTJyaXI1VVNCT1E1ZlRnMENkKwpNYXNLNVNOc21F
1092 MEttaEM0dmZubVpnQ1hWNis3cXVRTE11Z2pXMDJJdkpHdmZzeWpRYUJGTmZJR2ZVNVlFN29BaHdl
1093 YTh3Ulk0SENECnd3VUJWdUVuNm5jaVI0NGNZZmE4ci9odTdYcXlzck93MmV3azFxM05vTC8zSkRF
1094 eFVZYkd2STJSNjN3bGtsdU00Z1RYRi95aXBCKzQKUGlldTB4ZHp5WEhydzF1VHFsQWh3b1kxVHox
1095 ejNmcS9YNXNsdjI0WlRpKzViZzI3eFVTUVZUR2NwVTZsNWVMMkNrd3FWSWkwazVYcgp4U3NnMUtZ
1096 R3d4cEpBQUFnQUVsRVFWVHFjOFNxbnI4Q1pPZHFaT1Y2aVFneVk4c3JTd2hkZ0lXQUFDdDNwQUJu
1097 WjJjei9NV3hyTnErCkc2MTFOd0tiZDhBVUZvSG1kSkN6L1dmVTVmT0pOd3Vtdno2SlNwVXEzZXpx
1098 L3FXUlFUWWtrdHVZVzAxd2k2cWZ4eXM0bnVZRUFlVWoKN1lZWWVqU0J5K056ak1xdlowcVdHMVZS
1099 c0pwVWdtMzU1dkRURjNQSjlRaHNGb1V5WWJZOHMzSitXUVhicWdtQnBzR0ZIRGVsZ2kzRwp1VHRa
1100 Z0hOeWNuaDQ4SlBzTFg4WFlZK09RTEZZL003LzFpZUpyRTFyTUVlV29rNzlCTDc2WUJwVnFsUzVT
1101 YldWeUNBYkVza3RnS1pwClY1MVdIMUhteitFNlBicVlXQXJNNFpyL3hEbmNxK0gxMTE5bjhlTEZo
1102 WTRyaW9MSnBCQVhhYWRjaE4xdkZPcjJVR2daa1VjVGVEVXcKS1VxaGw0ZXdRRE1WbzJ6RWhsZ1JR
1103 bDgrVk5TT1JhRG5xZWFOaERPZEJVelNCZWVBWFhmV0hQRExyNzNPbnRMVkNIdDhWQ0hoTFlnYQpH
1104 RVIyMzJFODhzL244SHE5eGFhVDNKcEk4WlZJcmhNaEJGOS8vVFg5K3ZYajdydnZKanM3KzdMcHRi
1105 eEFFcmVDNEJiVXJPSERoL1BkCmQ5L1JxbFVyLy9ybXZWQ29pdTdRWmJma1B6WjhVN1RtUzU0a3VS
1106 N2ZOV0EyK2JjbHdLTG1pZXJWdFZNQjdHYVZiSmVHMjV2L2NuTW4KQ3ZENTgrZFp2Q3FaMElILzlC
1107 dmxleldCNXNncGxENDBxUk5uUXFKWnMyWk5TVmRWY3AxSThaVklycFA3NzcrZk1XUEcwTGx6WjFh
1108 dgpYazFRVUZDaE5EN0JkYmgxMGRWdThnZ1hkT0gxRlhuMjdGa09IRGpBWjU5OVJrUkVCTWVQSCtm
1109 UW9VTzRYQzVVVlRVRStGS1RzRWZ6CmQ3THk0Y29MS2Frb0NxWkxuakpYMjA2ZktVOVJGR3g1Z244
1110 eHgrdG40cnNaQXB5VWxJU3FxbFNxVkluMTY5ZHp6ejMzRUIwZFRlL2UKdmNuSXlHRFhybDEwNk5D
1111 QjJOaFloZzhmenRHalJ3SHdlcjBNR2pTSTJyVnJFeEVSUVVCQUFOV3JWK2Z4eHgvbjk5OS9CMkRo
1112 NHE5eAoxYnliN1FsaGJLMnFjdlROc1J4K2V6eDdPdFppWi9NS1JkWkh0T3ZKVTBPSG9hb3FxcXJ5
1113 MWx0dkFlRHhlSGo5OWRkcDFLZ1JvYUdoCnhNWEYwYjE3ZC9iczJXTmMyNmxUSjFSVkpUNCszaS9Q
1114 T1hQbUdQbjlHWHZYU29wQTNBTGNJdFdRU0s2SlYxOTlWVHp6ekRQR2Q3ZmIKN1hkZTB6VGhjR3ZD
1115 NmRhRTI2c0pUZE5LdW9xRnVMUUtXVmxaNHI3NzdoTS8vUENEV0xod29YamdnUWZFd0lFRFJhTkdq
1116 Y1R4NDhlTAp1RjRUSHE4bW5LN0NiZEUwVFp4T2Q0blVUTGZJY0hqL2NIczFUUk9yVnEwU2ZmdjI5
1117 Yy96WXE3NC9XS3V5SFI2aXJ3bU8xY1RXYm1hCjhON2cvbTNWcXBWUUZFVUVCd2VMNE9CZ29TaUs4
1118 ZGUwYVZOUnFsUXB2Mk9OR3pjV1FnamhjRGlFb2loQ1ZWWGp6NWVtVHAwNnd1UHgKaUw1RG5oVnhV
1119 NzRRS0lwQVVZUWFGV3Q4Tm9WRmlJYUhoQWh1MGtxZ0tNSmFvWkpvZUVpSU1zKytKQUNocXFxWU1H
1120 R0NVYzhPSFRvWQorUmNzeTJxMWl1VGtaQ0dFRUxObnp6Yk9iOXEweWJpMmUvZnVRbEVVVWJGaXhS
1121 dmFsM2NDMTZwZmN1UXJrVnduZmZ2MlpjR0NCWXdaCk00WUJBd1l3ZmZwMDB0UFQvZExZVERkdmhG
1122 c1FJZnhIdkI5KytDSHIxcTBqS0NpSWZ2MzZzWG56WmhZc1dNQ29VYU9ZT1hNbTdkdTMKWi9EZ3dl
1123 VG01dnJsbytURmFiWVVzVmpSNWRWSG55YTE4SHp2cGFTbXBoWTZwaWdLdFd2WFp2bnk1WDc3ZjRm
1124 WTlmVkttVTR2bmtzQwpiUmdqWUVwdUhYQjJkamE5ZS9mbXdJRURKQ1ltQXJCaHd3WnExS2pCdm4z
1125 NzZOKy9Qd0RidG0wakxTME5xOVhLM0xsek9YcjBLRGs1Ck9adzVjNGJKa3ljRHNHZlBIdVl0L3Bi
1126 ZkwyVGd0UVVZWldnWHpoSDJ4QmhxYlRoTnRibnIvRGVaRUlLVUx6N2c5RHZqQVJnelpneWoKUjQ4
1127 R1lPN2N1YXhZc1FMUVI3Zjc5dTFqNXN5WkJBUUU0SGE3ZWVxcHB3RG8xcTBiUVVGQkNDSDQ2cXV2
1128 QU1qS3ltTFpzbVVBOU83ZAorMFoxMzE4ZUtiNFN5WFVTSHg5UDY5YXR5YzdPWnVqUW9TeGZ2cHhY
1129 WDMzVkVPQ2lISWx1Qmo0OThsVmx6cHc1dlAzMjI1UXBVd2FBCkJnMGFzR0xGQ3ZidTNZdkw1UUpn
1130 M0xoeDFLeFpFN2ZiWFNnL2hhSzlqSDNMamxRRlRLYkx0L3Z2Zi84N2UvZnVCV0Q3OXUxTW56NmQK
1131 QVFNRzBLdFhMK3gyT3lrcEtVYmFRS3RxQk9oSWQzZ0tlWmdha2JBb0dRRldGSVZ4NDhaUnBVb1Z2
1132 M255SVVPR1VLTkdEWHIwNkFIbwo1dWJWeVQvaTBSUThYc0ZERC9lbVlzV0t4TWJHTW5Ma1NPTzZ3
1133 NGNQRXhrU2pPTE1uOXUxVnExRi9QQlhzRWJGRUZEdExoeHVyL0U3CnVsUE9jSHpzRUFBaXlwWmov
1134 UGp4eG5VK1U3R2lLTHp3d2d0VXIxNmRBUU1HMEt4Wk13QisrKzAzVWxKU0NBb0tvbnYzN2dDRytI
1135 NzcKN2JjNG5VNFVSYUZmdjM1L2NxOUpmTWdnR3hMSk5hQUpZV3lKQi9vSU1qQXdFSURKa3ljemJ0
1136 dzRzckt5Q0FzTHU0bTF6S2ZnOGlXQQpyNy8rbXBkZWVvbVZLMWNTSHgvUHhZc1h1ZXV1dTNqdnZm
1137 Y1lQWG8wdTNidDR2ang0NnhhdFFvaEJNSEJ3WDc1WFNwOEJZL25lclJpCjUzc3ZwVktsU25UcjFv
1138 MXk1Y3FSbHBaR3RXclZhTkdpQlNOR2pLQmV2WHFBN3ZDbHFpcENDTUlDektUbGVIQjVCQTYzUnFE
1139 VjVKZWYKbWhlSXc2c1YySXpoQnIzNHhNVEVFQnRiR285WFlMZnJ2NzJpS054Vk40SHNYQTFMUUlp
1140 Uk51WDhSUTRlUGNIQUFmME16K1NDRGxVQQpHUmZUYU5NNGtZM3JOaGpYaGQ3VEp2OXRDWEI1TldQ
1141 VUwxdythNFJDdzdzYitkWHQrUEhqeHVmNjllc2JuK3ZWcThmS2xTdU5OS1ZLCmxhSmZ2MzdNbmoy
1142 Ym8wZVBzbTNiTnViUG53OUEzYnAxcVZPbnpyVjNrT1N5eUpHdlJIS1Y1SHNwQzhOTDJZZFBlQUZp
1143 WTJNNWN1U0kKMzdHYmhTODJzMXZ6clJmV2oxKzhlSkdNakF3Q0F3TTVkT2dRLy96blAybldyQm56
1144 NXMyalE0Y09SRVZGc1hmdlhvS0RnNWt4WThZbAplZVk3UWwyS1Y5TkRSZm9FcjZpQmIwSGh2dSsr
1145 KzBoTFMyUGV2SGxzMzc2ZHI3NzZpbUhEaGhuQ2UvandZVlExL3pHbDczU2tmODl3CmVvdmM2OWNu
1146 K2xhVHZpUFN0WXlBaFJCb21zQ2o1VzhrNFhScjVMajBTRjhBZG5zQTJTN2RpYTZnR1R6QVprZC8x
1147 Y25INmZieTRRZnYKNC9WNk1adk56Rm13aENObk0vaDYyV29qamFvcUpMVy9EODh2K2VKckNvK2lZ
1148 QmNLa1IrZTB4eFpDbnZsR2lBMGZscTFnbTNidGhucAo0dUxpak0vYnQyODNQdS9Zc2NQNFhMRmlS
1149 UURhdFd0SFRFd01RZ2crL2ZSVGxpNWRDaUJIdlRjWUtiNFN5V1c0VkhDOWVTRVJBOHo0CmJXL25j
1150 cmxZc1dJRi9mdjNwM1BuenZUdjM3L1FhTEdrRVVMZmlVaWd6emtYMU1xQkF3Y3ljZUpFRWhJU2FO
1151 T21EVjI3ZHVYamp6L0cKNC9GdzZOQWhIbnp3UVY1OTlWV21USmx5U1o0aWI4NjQ2TkdrYjRtUnhY
1152 VGwrVjZBTm0zYTBMWnRXMkppWWxBVUJZL0hnOXZ0TmthSAp6enp6REVlT0hOSExSdCtpTU5SdVFs
1153 RWcyR3J5MnlXcElJcWlZRmIxTmp2ZC9vSXY4dFpYZS9PRTFaVW5yQTZYcGtmVWNtcGs1UXBkCldG
1154 MENwMXRQNDlVdUxRTUNyQXFCRnZ6cWtlbnlrdUgwR3FFeWZYMlFkdUdDa2NZZUVzcVprOGQ0YTlL
1155 cnhyRWpGN0pKODFxNHYwMlMKOFdhbktQZ0p1NzVWbzU2ZkdoaEViUCtuc2Roc09Cd09PbmZ1Ykho
1156 V0p5VWxHVzJkTUdFQysvZnY1L1BQUDJmOSt2VUExS2hSZzFLbApTZ0ZnTXBsNCtPR0hBWmcyYlJv
1157 T2h3T1R5VVNmUG4ySys5a2tmd0pTZkNXU1N5aEtjRTJLTHJqMllweW1yRllyeDQ0ZG8zNzkraXhj
1158 CnVKQWhRNFpndVV5QWhCdU5WOU0zWGpDcFlGSHpoVmNYVC8xaC9vOS8vSU1qUjQ2d2ZmdDJldlRv
1159 UVkwYU5SZzZkQ2k3ZHUzaTVNbVQKaGZJVWVXRW11WXllNW5vS3pQZGV4ZE1sS2lxS2Q5NTV4L2h1
1160 TnB1eFdDeUcrRmFzV0pGVnExWkJYckZlVFdCU0ZXSkNMQVRaMU11Swp1NklvMk0zNjc1bnRFbVFW
1161 Rk5aY1FVNmVzT2JtQ2FzZ3I3L01DamF6UW9CRklkQ3FFR3hUQ0xHckJObFVmZk9IQXYxaFVrQlJG
1162 V010CnN4RENHUFNxQmRLbDV1VFM0WUVIQVgwSlVJOE9yZmpiM1hVNGZDSy9uMHNIMjdrck5wVGVm
1163 UWI0THNUcmNnRUNrWmRwc0MxL3BsREwKemlMbXArK1lOM2N1TnB1TnMyZlBjdDk5OTNIaHdnVWVl
1164 dWdoMnJadEMraHp1RFZyMW1UQWdBRTRuVTRzRmd2dnZmZWVYMS8xN2R2WApxQnRBcTFhdEtGdTI3
1165 T1YvUE1sMUljVlhJaUV2VXRObEJOZGl1ckxUMUdPUFBjYUlFU09JalkwdG9Wb1hSZ2pRTkYxc2JT
1166 YU0wWjkrCnJyQzUyR2F6RVJFUllYeWZOMjhld2NIQmhkcmdHL0Zxb3ZoUWpyNW9YWGs3OCtadEpW
1167 aFVPdi92S1NrcHpKOC9uOHpNVEU2Y09NR2gKUTRld1dxMEFORzdjMkFnZ29TajY3eUJFNGUwSkww
1168 ZkI3UXJOS29XRU5kaW1FR1JUQ2JUcUptMmJXY0ZxMWszWFFvRERyWkh1OEpDYQo1U1l0eCtNWGpV
1169 dkoyN0hKVnhkRlVRZ05NR00xdzdrY2wzR3NiRmdnSFpOYTh1KzMzNmZXM1kwSmk0NmhhZWRlUFBy
1170 Sy94bHBBaXdtCmpxVmxzeWNseDhnNzUrdlB5ZnI0RGJMMzdzQjE2aGplWS92eHBKNEJJYkM2bkh3
1171 OWN3YmR1M2ZuNDQ4L0JtRC8vdjEwNjlZTnA5UEoKMHFWTG1UaHhJZzBhTkNBa0pJUUtGU3JRdFd0
1172 WHRtN2RXaWlRU21KaUl0V3JWemZLbFNibkc0K003U3o1eXlMeWdrUjREVkhSQlZjWApySnZ2bmZ4
1173 SHVkU2IrWStTbnA1T2l4WXRXTFpzbWVFQm5aKzMvbEppTHlLZ2hnK25XK09pdzR0RlZiQ2EvZU01
1174 RjhUajFZd0lWd0JiCnRtemhqVGZlWVBmdTNiamRibHEwYU1ISmt5ZTVlUEVpdFdyVklqazVtY09I
1175 RDE5Vkc5NTk5MTF5YzNNWlBueTQzM0ZOQ0J5dVBGT3gKcGJqNWF2MEZ6TzNWOXl4MmVZWFJwM2FM
1176 U29oZE4zTmZ6b0ZMQ01GdktkbUUyQ3dFNXEzRE9wK2R5L0YwQjZmU0hiZ0sySzVOcWtLOQowbUhF
1177 UndTaENjSEdFeGM0bGU2Z1c2MnltRldGMVlmUGtadWV4c2xmMXZEdG1yWGtPaDBFQjlocFZQc3Vl
1178 blh2U2YyNnRmeGVMQ1EzCkI3bXhna1J5RlJRbnVDYjE4Zy9WV3gydlJwNkg4Ylhub1drYUowNmM4
1179 SFBXZ2Z4TkRHeG1paDNOQXFRN3ZMb0hza1hGcE9xanlZSjUKQ0FFYTRQRUlySmI4UFg1OTVRWUdC
1180 aElZR01qUFAvL01oUXNYaUk2TzV1REJnK3pZc1lNMzNuZ0R1OTFlWkxsQ0NFTk1kK3pZd2NDQgpB
1181 L242NjY4THRhT2dBTnZOK24zZ0UxbTNWeXMwcHd2NjhxWVFtejdIZkRVdlpFTG9wdXh6V1M1T3BP
1182 ZHc0cUtESEhmaHVNdmhkZ3VOCnlrY1FZclBnMVFRckQ1N2xmSTZMKzJxVUppTEF5cDZ6Nld3L25V
1183 NkxTbEZVQ0F0RVZRUVdrNGxnbSs3MW5lM1NMUXdGKzFoeWM1RGkKSzVFVWd4QUNyOUIzRExxVEJC
1184 ZnlSN3NlemQvRWZQcjBhVEl5TXFoUm93YWFwdkhGRjE4d2I5NDhzck96YWRxMEthTkhqeVlnSUtE
1185 NApqSTM4QmJtZVBETzJ1ZWkrOGprd3BlVjRFU2pZeldyZUNGSHY3d0xUb0lBdWdpRTIxYzloN1Zy
1186 d2VEeVl6ZnJvOHZEaHc3aGNMbXJXCnJNblVxVk01ZWZLa0VjRENWMGUzVjVEajBzajFpR0k5b0JW
1187 ME0zV2dUVFUyanloS2RKY3ZYMDVpWXFLZnlkNkgyNnN4ZTlzcHZNV1UKVVMwcW1GcXhvY1oreFJ1
1188 T3BYSXMzVUZpK1FpcVI0ZVFrcDNMOGdOblVSWG9WYWNjS0JBZVlNYXRRYkJWcjVQTG8wK1JCRm1M
1189 Tis5TApTZ2E1cTVGRVVnQjloS3Mvb0J3ZVhaeE1pbTQyOWMzaDN1N0NDL2xpVzFCNG4zMzJXUm8y
1190 YkVpelpzMXdPcDJvcXNxNWMrZm8zNzgvCjc3enpEcWRQbjJiNjlPbEdJSTNMNFh0aE1TbGMxak00
1191 eHdVMnN3bTdzZHVSdndPVHZjQThhNGhOd2VtKy9PNVBtcVlaRHpTdjExdG8KMTU0VEowNFlucjBB
1192 cTFldnBtWExscHc2ZFlvTkd6WVlTMmZ5KzBsM2lzcjFhSDdDYTFiMWpSN0NBa3hFQjV1SkRiVVFH
1193 V3pCYmpFVgpHUnhsMjdadHRHblRob2tUSnpKa3lCQWpNTVdsdTFsVml5NGMzOXR1Vm1rZUgwMmQw
1194 bUVvNkY3TVI5T3lPWmJ1b0VKWUFOV2pROGoxCmVGbDkrQndBc2NGMnpDYVZJS3VKUy8zY0xIbkxt
1195 MzNSeENTM0gxSjhKWGNNZnhYQnZSVGxFblB6UC83eEQ3WnYzMDYxYXRVNGZmbzAKb0h1ejl1clZp
1196 NW8xYXpKbzBDQTJiZHJFbVRObi9QTHhlVUw3L25KY0dpNlB2dDdWNGM3M0RQYmtlUWFyaWk0Qytv
1197 aFlrT1AyNHNrVApvVUNiNHVmQVpESHI0bWRTRlZSVkpjdnBSU3RpamE0UFZWWHhlRHljTzNlTzNi
1198 dDM4KzY3N3hxZXVBQXJWcXhnMkxCaGZtMnVWcTBhCkw3NzRJcHFtMGE5ZnYwTENxUUNSZ1daQzdD
1199 WWlBazJFMk13RTJTeUVCWmdJdEpxd21DN3ZQUTN3MDA4LzBheFpNMWF2WHMzamp6L08KakJrelNF
1200 MU45VnVMYkRHcE5DZ1g1aWVXOFJFQmRLMVZodmhJT3lFMlBUUm5qc3ZMTDc5ZkpOaHFvbmw4TkVJ
1201 SVZoNDhoenRQVUN1RQo2NVlKcTBrQjRTKytpcUpnTmVscnVPK0UzWnoraWtqeGxkelcvTlVFOTJx
1202 ZXN3a0pDVVJIUjJPMzI0MGxRekV4TWNaSWQ4V0tGY1RGCnhSRWRIVjNvV3EvbUc5M21lMFpiemZx
1203 SU5jam04dzdXUFlNRHJDbzJpNHJWck9ET2MwN1NsMkZkMlp6djlHaGtPTDJYTmRlcHFrcE0KVEF6
1204 MTY5Y25MUzJOSlV1V0dPY2VmZlJSbkU0bjMzNzdMV2ZPbk9HbGwxNmlRb1VLVEo4K25TKy8vSkxT
1205 cFVzWHlrOVJGQ3htbFdDYgpDYnZGUktCTkZ6QW9PbUxYeVpNbmVlV1ZWNWc1Y3liSGpoM1Q2KzEw
1206 RWhNVEEwRHIxcTNadm4wN2I3MzFGcG1abVg3WG1rMEs4WkdCCmhOcE1kS3dlUTh2SzBRVG5tYkl0
1207 WnBYd1FCTTJxejZIM3FGYWFWUkZZZE9KQzF4MDVvZnhyQlNoajU0dEprVTMyMS9TcFQ1bnF5S20K
1208 bENXM0FWSjhKYmNkbHdxdTIzdG5DNjZQZ2hzaVhBbFZWU2xWcXBRaEdybTV1Vml0Vmc0ZVBNakdq
1209 UnRwMGFJRmdZR0JmdVpTM1RTcgpDNm8rbWxXd21jbGJkcU1VdTd6SHQ4UUlRRUVwdExkdmtmVlRG
1210 QzdtZURpVFhyenAyMlF5a1pLU3dxaFJvMWkxYXBVUnRNUW5sSysvCi9qcUxGeSttWThlTzJHdzI3
1211 cjMzWGo3NTVCTysvdnByeG80ZFMzSnlNak5tek9DWFgzNHB0ZzRtMVQvMnRoQUNwOVBKeElrVDZk
1212 aXgKSStucDZlemZ2NS94NDhmamREcUppb3BpeTVZdGZQamhoOHlhTll0cTFhcHg4T0JCUWtKQy9B
1213 VGNhbEpwVVNtUzl0VktFeGxvTGVSQgpyeW9LTWNGV0JqYXFRSWpkeE5HMGJBNWV5TjhIdW01c0tD
1214 WlZ3WnEzeEsybzVkV3FxdmUxN3BVdFI3KzNHeksycytTMndPYzA1UXRmCnFLRFAxMWxOdDcvVDFL
1215 VUlvWWRVOE8xQTVBdFc0WHQ0Zi9ubGwwUkVSRkNwVWlXcVZhdFdiRDdseXBVem9rTlpyVlk4SGcr
1216 VEowK20KVHAwNmRPclVTVjh2cXhaV1NpRUVycndBSFZmanpPTXFFRmhEbitlOThqVytuOHlUSjlx
1217 K0FCNittTkQ1NlJUUzB0Sm8zcnc1WThhTQpJVDQrM21qejNYZmZ6V3V2dlFhQXcrR2dkdTNhREI0
1218 OEdJdkZRcU5HalZpOWVqWGp4NCtuUVlNR2JOMjZ0Wmg2NUpmMTY2Ky9Vck5tClRleDJPd2tKQ1R6
1219 enpET0VoSVN3YnQwNkZpNWNpTjF1NStHSEg2WjY5ZW9zV3JTSUN4Y3VNR2ZPSE82Ly8zNjJiOTlP
1220 UWtLQ24rZTEKV1ZVd3FVSVB6RkhFUFdyTzYvdGdtNHJkb2dkdjhXaUNJSXVKdTh1SDRmYnFvMTY5
1221 ZzRwKzhiS1lGRHh1ZlNyQVlpcDhYbkxySXNWWApjc3RTbk9CYWJtUEJMU2lzUGs5Z3JVQUFpNEtl
1222 d1dZVjdKYzh1Qjk1NUJGU1VsS29VNmNPKy9idFk4NmNPUVFHQmhiNWNILzIyV2VOCjZGR0tvakIv
1223 L254amczWFFSOE5GTGQveDVqbFpCVnpsMDhFWFV0TG5EWDJscGFkQ0NHTVU1eFdRa3VuR293bnNa
1224 b1d3UUxQZkNDOHEKS29ycDA2Y2IzeGNzV01Cenp6MW5SQStMakl3MHp2WHAwd2ROMDNqa2tVZjQ0
1225 b3N2K1B6enozbmxsVmQ0NXBsbkNwVXZSSDU0MEQxNwo5akJreUJCKyt1a241czZkUzgrZVBlblFv
1226 UU1tazRtdFc3Znk5Tk5QRXhzYnkrclZxMm5TcEFuTm1qV2pRWU1HUnV6dWV2WHE0WFE2CmdjS2Uw
1227 VUhXSzVzQlZFV2hXblFRRmNNRCtPN1hjelN1R0c1TUwvaE15MFdablNIZjBjN2xGZmxDTGJrdGtP
1228 SXJ1YVc0blFYWFovckwKRjlYOEVaMG9jUHhTbEx4bE9hb0NxcHEvTWNDbG84Q1ZLMWZpY0RqNDVw
1229 dHZTRWxKWWVMRWlRUUZCZUYwT3JIYjdjYnVQejdLbHk5UApsU3BWK09hYmJ4QkNNR0xFQ0Z3dUZ5
1230 MWJ0aVFuSjRmZXZYdnozSFBQRldxRHk2djM5OVd1YS9XRmxEU3JhcEdtY1NPR3NsZkQ3Y2tMClpG
1231 SEEyY3J0MVZBVXBVQjBySUo5azMva3pKa3pWSzVjbVdQSGpsRzZkR25ERE8xYmNqUnQyalNxVjYv
1232 T0R6LzhRRWhJQ08rOTl4NGQKT25UUWY1TUNmU1BRdzJEYTg0SnQyR3cydW5UcFF2LysvZm5nZ3cv
1233 bzJiTW5KcE0rak55MmJSdERodzdGWXJFd2RlcFVFaE1UR1RObQpERGFialY5Ly9aWFhYMytkOCtm
1234 UDA3Qmh3Nkk3S084M1BIWHFsQjdwcW14WnZGNnZrYjhQaTBuRllsTHBXYmNNaWdKcE9WN01xbi84
1235 CjhLSitEWi9qbFI0aVU4aGxSN2NSVW53bE41MmlCTmVrZ3YwV0UxeERTSDNDV3NTeFMxSElEMzVo
1236 emx0WDdCTmJSY0Z2VzBML3NncUwKbU5QcEpEZzRtTDE3OS9McHA1OHlhOVlzenA4L3o2RkRoL2po
1237 aHgrdzJXeCs2YTFXSzQ4Ly9qZ2pSNDdrd1FjZjVNMDMzNlJtelpwRQpSVVZSdW5ScFk0MXNvVHJu
1238 MWZWcThDMUY4bUZTS1NDMGVxU29vbGJENlA3Uk9zRjJmWW1TK1pJUW5tNjNtd01IRHJCMjdWcU9I
1239 ajJLCncrR2diZHUycEtXbHNXclZLaDU5OUZITVpyUFJqdkhqeDVPVGs4T2hRNGVNR01ZK003QnZT
1240 MElCT0Z4YW5vbGNqOU5jdFdwVm5uamkKQ1lRUWZQamhoNnhhdFlvMmJkb0FNSGp3WUtNK2RydWR6
1241 WnMzNjBFdXNyTVpPWElrY1hGeGZQYlpaNFhpZVB0ZXhIejNiNHNXTFlpSQppR0R0MnJXWDNlM0tw
1242 T3ByUnUwV0JhV0EzQXFCMy9lQ1dFeVE2OUg3WFlydjdZTU1zaUc1S2pSTkl5Y25CNHZGVXVnaGZ5
1243 MFVKN2htCnRYaEJ1cEVVak1CVWFOUjZHV0V0S0tSWEs2eVhyMGRlM25tWEhUbHloQ05IanRDbVRS
1244 c3lNaklZT1hJazRlSGh6Sm8xaS9YcjExT3UKWERtR0RCbENSRVFFYjd6eHh2VjBnUkZRdzJLNnVu
1245 bGJJUVFaVGk4NWVXSVdZREdSNjlIOGR1SHhvYURQVDFyTUNsYVRTcWJEUTdaTApOMWVYajdBWkd4
1246 TVVaUC8rL1V5Yk5vMGZsaTRsTWl5TTBxVkxVeUUrbnJvTkcxS25UaDBTRWhLTUVXUjJkamE5ZS9m
1247 bTNYZmY1WnR2CnZ1SHZmLzg3a1pHUithUGR2UHZONWRIWWR5NlR2V2V6YUJvZlFYeEVvRjliLy9P
1248 Zi83QjI3Vm9XTDE1Y2FJUTZldlJvNnRldmIrd0EKVkhCK3QyQ2ZnRzhwbG41dTdOaXhIRGx5aExD
1249 OE5vd2FOY292Tm5SUmVQTGU3bno5a3BtcjZUR25pekV0Tzl3YWJpOTV5NWlrQUpjawoxNnBmY3VR
1250 cnVTeDc5KzdsaTA4LzVkdEZpOUE4SHJ5YVJvVzRPUG9OSHN6OVhic1NFaEp5NVV6eXVOd0k5MFlL
1251 YmxIL01JVHhuL3dSCm1LWkJib0Y0dmo0Uk5hbGdWcFI4a2NXM3R2YlByYThRK1pHcVFJOTVmTjk5
1252 OTZHcUtqTm16S0JMbHk2ODg4NDduRDkvbnRUVVZDcFgKcmd6b2M1MGJOMjRzWkhiK1kyVUxQRjVm
1253 ZTR0dVYxSG1ZMS9mS2VnUGZkK2FVN09xTDFHeW1CUXNKcldRdDI5MmJzRlJYYjR2cjZacApMRjI2
1254 bEpuVHBuRnkvMzdLQVUwMWpiQ01ETWpJSUdmdlhyNzc5bHRtbXMyb0VSSDBHenlZaC92MElTZ29p
1255 TVdMRjZPcUtrOCsrYVJSCmxtOCszZUgyc3V0MEJyK2xaaHQ3QVA5eUtwMjQ4QUNqYklEZXZYdnor
1256 ZWVmczJQSER1clhyMDlLU2dwTGx5NWx6cHc1Mk8xMkJnNGMKYUtRdDJCN2ZQWmFUcTZHcUNuYUxm
1257 aTQ1T1prRkN4YXdhZE1tZHUvZXpjaVJJMm5WcWhYTm16ZS83TzloVXZLclpXeUljWm4wVnBPUwpG
1258 NWNhclBLcGZsc2dmeVpKa1hpOVh2NDliaHhMdi9pQ3V6U04vaUVoQkpuTi9KU2F5cXdmZjJUcGp6
1259 OVN1MG9WWm4zNVpmSHpYUlFXCjNHQ2JQcElZTUhBZ24zejg4WFVMMktVT1RMNE40eS8xbUwwVXhm
1260 aFBQcW9pakpGR1NZOGVOSkcvWk1ySHpwMDdHVE5tRERWcjFtVGsKeUpFSUljakt5dUxBZ1FOODlk
1261 VlgxS2hSZzU0OWUvTE9PKy9RcEVtVGF4WmUwSDhmdDZadk9xRFh4N2ZKZ01EdDBYQjVSWkdqZngv
1262 Vwp2RUFiNFFGbXJPWXJqNzRLNnJzdjM1TW5UL0w4Yzg5eFl1dFdHcG5OdEEwTnZleTB3KytabVN5
1263 YU1JRXZaczVrNHBRcHhuMVljQ1RpCmNPbnJpYk5kSG41TnlmSnJRN3JUdzltc1hNcUUybzF5eXBZ
1264 dFMvLysvWmt5WlFwOSt2VGgzTGx6ckYyN2xzR0RCOU96Wjg5Q2RmQ1YKNDNSclpEZzByR2FGOEFK
1265 YkhlN2R1NWVwVTZjU0dCaEk0OGFOZWVDQkIzanl5U2Q1Ly8zM2FkNjhlWkdqWjErZi9CRVRza2xW
1266 TUNraQp6L0hxOXR3WTVLL0dkWm1kMTZ4Wnd4TlBQSUhINDJIbzBLRTgrK3l6aGRKczNyeVpJVU9H
1267 a0pXVlJXeHNMTW5KeVlVckljM090eFJDCkNNWSsvendidi95U0xxR2gyQXFZM241S1RlWFR2TFdq
1268 ZlNwVzVFQmdJQi9ObTBmZHVuWDlydGZ5Um5HWG1wVE5lWGtOR2pUSTJBYnQKY3ZXQXEzZGdNcWtV
1269 dTZ6alZzVlhmOThMeEtWNzRLYWtwSkNTa3NLUVJ4OWwzeSsvOExmWVdFSVVoVXlYaXowNU9aakR3
1270 cmk3ZVhQbQp6Smx6elhYUTh0Wk1neDVndzZUcSs5a3FTdEhlMklxcXZ5VG9JMHA5aHlLYldVV2di
1271 MFJ3TmFUbmVFakwwU05XeFlaYTJMZDdCMDhQCkhFaHRoNE5HWVdHWDN6bUkvR1ZZQUlleU1sa3JO
1272 SWFQSDg5RER6K3N2L0JwZ21OcE9ZUUhXQW14bWNseGFldzltOEcrbEN5L3ZHS0MKcmR4Ykl3YUxL
1273 ZDg4L2R4enp6Rmx5aFNhTkduQ3JGbXpxRjY5ZXVFK3kzTkxGd2pTYy9TWEUxV0JVaUZtdi9zdlBU
1274 MmRzTEF3UHhQMgpwRW1UY0x2ZHZQamlpMFczVHdnOFhvRWx6d1RpMjQ4NElHODVVbkc0dkhwd2xF
1275 RHI1ZE5KL2x4dWl0bDUyTEJoVEo4K25iaTRPRHAyCjdFanYzcjM5b3VZSUlYajAwVWQ1NjYyM2FO
1276 ZXVIYW1wcWRkVG5LU0UyTHg1TTZ2bnorZWhzRENzbHhsTmxiYmJpZkY2ZWY1Ly9vZkYKeTVjalVB
1277 b0pycTBJcjEwZk44S0I2VlltT1RtWjVPUmtGRVhobi8vOEoyRmhZU2dLdlB6eXk3enl5aXNBSEQx
1278 NmxJb1ZLeHJYSERodwpnSDgrK2lnTjNXNWFSRVdSZmVFQ05XdldCS0JGWmlabk5JMmZObTFpeGtj
1279 ZjhZL0hIcnVxZW5pMS9KMTgzQjZCU1ZWUlZjak85UkpxCk54RmdWYS9LMFUwVEFwdEZ2YXc1dERn
1280 S1pyOTc5MjZlNmRlUE5rSlFLVHpjTDUxdjZaWFBRYXZnTTg2WFIrWGdZS0xkYnQ0Yzh6d20KaTRW
1281 NzJuVWlPc2hLeFloQVExVE5Kb1ZHRmNJNW1lRWtNemMvVE9XNUxCZnBUZy9SUWZyK3dVdVdMT0gz
1282 MzM5bjY5YXROR2pRb0ZDOQpqUmZMUExHOTZQQWF1eUZGQmVjTDc1bzFheWhmdnJ3eE5WRFFLdEd4
1283 WTBjZWZQQkJzck96bVRScFVxSDhuVzVobUszOStxelkzdFN4CnFKQ0x2dTdhYkwzRi96RklyajND
1284 VlhwNk9nQXRXN1lrTGk2T0RoMDZzSEhqUnI4MFc3WnNvVjY5ZXJScjF3Nmd5SEIya21zaktTa0oK
1285 VlZXcFZLa1M2OWV2NTU1NzdpRTZPcHJldlh1VGtaSEJybDI3Nk5DaEE3R3hzUXdmUHR3dkNMMXZy
1286 V2VqUm8wSURRMGxMaTZPN3QyNwpzMmZQSGdBK256R0RPa0pnVWhTK1BIR0NmKzNjeVF1N2QvUGYz
1287 Mzh2Vkk4YUlTRmNPSGFNSDlmL3pFdGpYNlpKNHQzRVJvWlN1MFlWCkJqLzZDTCtmUG8xSDA1ZENG
1288 QXltNy9hS3ZJRDhnalhyTmpCMDZMTWtObXhBUkdnUVZTdFZvRWUzeml6LzdyL1lMWmVFTnJTckJO
1289 cjAKMEliMnZOQ0dGbFBoQ0V5Wm1abjA2dFdMV3JWcTBiUnBVMmJPbk9rWEcvaWJiNzZoYk5teTdO
1290 dTM3d2I5UW9WSlRrN21sVmRlWWR5NApjWWpYTlQwQUFDQUFTVVJCVk1hL0g4aVBzSFNwMmZqbzBh
1291 UDh6Mk9QY2ErcTBpQWlndkpseWhBV0ZzYWVQWHZZdVhNbkNFSDFzREI2CkJRZnowY1NKckZpeG9s
1292 Q1ptaERrZWpTeWNyMmtaYnM1bStIaVhLYWJpemtlc25QMWJmUXNKZ1dIeTR2TnJNZGp2bG9QYzFY
1293 SjcvUEwKT1E4VmR5MkFJeWVIVWM4TW9iblhTNlVnLzgwSUJCUmFFKzE3MGZJdHhmSU44RUl0RnJv
1294 R0JqRDUrZWZKU2ZrZG05bGtDSyt2UExOSgpvVmxjcEY4WnFnSm5NcDNHeU9YKysrOW43dHk1ZnNM
1295 cmkzWHQ5Z3F5blByR0RJb0NGM0owNFZXQXFHQ1RZU2IyZUR3OC9mVFR0R3paCjB0aDRRVkVVSTVw
1296 WWd3WU5tRFZyVnFFMTFqNWhkMnYrcHVpckhWUXBpb0xGNVBOQWw1YkVXNTFySHZsdTNyelplQU1I
1297 cUZXckZqLy8KL0RPZE8zYzJqaTFidGd4RlVXalJvZ1hoNGVFODg4d3pkT3pZOGZwcUxQRWpOVFdW
1298 ZSsrOWwreHNQVFRkbDE5K3lmSGp4emx3NElCaAphWmd5WlFycjE2ODNYbzQ2ZCs1c1BLZ1ZSU0Vy
1299 SzRzVEowNndkT2xTRmkxYXhQcFZxM2drTkpUNUowNlFuSkppbFBYZDZkTkVXSzNHCmQzMVVvbERO
1300 NDZWM3J4NmNTemxuUERTT0hUdkcwYU9mOHUxMzMvTHo1aDJVTGwzYWI3VGpjMG9SUXVQeGZ3emc4
1301 T0hEeHJWbno1emgKek9uVDFLaGVqWjQ5dWw5VHYzZzhIdjcxcjM5UnExWXRoQkFrSmlhU2xKUkVm
1302 SHc4dWJtNWZQYlpaNlNscGQwUUUvV1hYMzdKNk5HagpjYmxjckZxMXlqQmJuanQzem5qSXYvcnFx
1303 MHljT0pHb3FDakdqaDNMMkxGakMrWHo4WWNmY1ZkdUx1WHp0cTFURkFXNzNZN0w1U0krClBwN1Ew
1304 RkFBZ3MxbWtxeFczcGs4bWFUV2JYQnIrdWpIN1JWRmVoNURudmV4V2NGdTF2ZXFqUTYyWE5NeUZZ
1305 ZkRnZDF1LzhQOTZFdisKeWJRcGhKNDlTNDJJL0JGdlVldWhGY1YvbmhoODYzVTFUSXErVHJhVTNV
1306 N0Q5SFJlSFBFY2N4WXVMUFF5b3lvS3BVTnR4RWNFY2lyZApRYzJZWUdxWERpR29nSWRTVVU1VWJx
1307 KytzWVNhNTk3dThrQ21VdytvYkZJaEl0RHM1NjJ0S0FxREJnM2l1KysrWTl5NGNYejExVmZNCm5U
1308 dVg3Ny8vbnJadDIySXltVWhNVEtSeDQ4YUYraVhUNmNWdThhKzM0ZFIyRlYxc05TdDVWZzE5LzJY
1309 SnJjc04vWG1jVGlmYnQyOW4KNWNxVjVPVGswTDU5ZTNidjNsM2tQcUl2di95eThUa3BLWW1rcEtR
1310 YldiVTdodXpzYkI1NzdESCs5YTkvMGFkUEh6WnYzc3lHRFJ0bwoxcXdaYTlldVpjS0VDWHoyMldk
1311 czI3YU50TFEwbGkxYlpnaHZwMDZkZVBQTk4vbjU1NTk1NnFtbmNEZ2NEQnMyakRJbUV4WkY0WmVM
1312 CkZ3RW9ZN2N6SUQ2ZURKZWJ6NDhmSzFTSEkxbFpuRTFOd1d3Mjg4SEhuOUdtWFFkKzNidUh2L2Zv
1313 d29YejUzbnB4VEc4OC81SGZ0ZDQKdllMc1hDOXJrbGNid3J0b3lmYzB1YWNwNTFOVDJMUnhBLy9Q
1314 M25lSFIxRjJiOTlUdHFZWFFnbVEwREcwSUFvb0lrVkFRRUJFQVFVVQpHOUpFZVJWRWthWWdSUlJV
1315 RkFSUkJKUlhVU3lVSU5La0NJS0VFa3FvQ1FFU1NBakpKdHVubmUrUDJabnNKaHU2dm40L2MxL1hY
1316 c2xPCmVlWjVabWJuekRuUE9mZk5NQXpzSGxsUGp2Si85Z1FrVlBuKzhweEc3TThnS2lvS2Q5OTl0
1317 NzVObzBhTnNILy9maVFtSm1MVXFGRVkKUG53NERoNDhXQzY5b21hei9CT3p5anQrYVRSdTNCaHIx
1318 NjdGVTA4OUJhL1hDMEN0ODl5NWM2ZSszK0xGaTdGNDhXSWtKQ1RnNmFlZgp4bHR2dlFXZ0pPejg4
1319 ZndGbURyOUhUQUF3dXJXeFo4RkJUaGFYSXh3SXZTc1ZnMWhFUkg0NXR3NUhMRFpFRyt4b0VPbFNz
1320 akx6TVJ2CmYreEg0eWJOQUFBSFV2L0Urek9uNHZpeG83RGJpOUd3NFIwWVB2SkZQRGx3SURnV1Bq
1321 RjVvSHVYRHRpK2ZUc1NFaEowQnFrREJ3N0EKWXJIQVlEQ2dYcjE2S0NvcVFtcHFLaGlHUWF0V3JW
1322 QzNibDBjT25RSTZlbnB1SExsQ3NMRHczSGt5QkZNbkRnUkJ3NGN3SlVyVjlDdwpZVVAwN2RzWHI3
1323 NzZha0RKVG5GeE1kNmVPZzNyVWxKd012MFlMQ3lMRTVldEdGQXpBYkcrTWphYktHQk5UZzR5bkE0
1324 VWlpSmlqVVkwCmo0cEN0eXBWd0RFc1BKSU1JbUJmVVFGTzJPMDQ3WERBSTh1SU5CaUEzRnlrcEtT
1325 Z1I0OGVBSUFGQ3haZzY5YXQyTGx6Sit4Mk82cFcKaThkZGQ5K056clBmUlloUmZiSFIrSnhYcjE2
1326 TjA2ZFBvMUtsU3JpdjdmMFlQM2thS2xldWloQVRDd01IL0xUMkYvejg0eXJzM3ZVNwp6bVdkUmFW
1327 S2xYRG5uWGRpekpneGVnWXp4M0VZT0hBZ09JN0QwS0ZEOGZycnI2TmF0V3B3T3AwQkVZL1M4RWhx
1328 Y21KNVRGWFg4M3JECk1neDRWcDI3TjFZa1h2MGwwS2FQYmhsMGs3RFpiSlNjbkt4L2YvSEZGMm50
1329 MnJVQjI2eGR1NWJHakJtamYrL1hyeC85OHNzdlpkcTYKaFc3OGE5R3VYVHRpR0laWWxxV2NuQndp
1330 SWhvN2Rpd3hERU1NdzlDS0ZTdUlpT2pubjMvV3QvdnBwNTlvNk5DaCt2ZmR1M2ZyN1hYdQozRmxm
1331 Zm5mdDJqUytZVU5pQUdJQTZoTWZUL09iMzBuem05OUo5OGJFNk10ZnJsT1BQazYra3hLdFZnS2dI
1332 N3YwcDNiZGVuVFpMdEpsCnU2Z3ZlK0xKcCtteVhhVFQ1eStUMld3bWhtSG9nUzVkYWVxTTkyajFM
1333 MXNvSzdkSTMrZDZQdzZQUklxaWxEbFhoWVdGVkt0V0xjcksKeXFJOWUvYlF3SUVEU1pabGF0Q2dB
1334 UjAvZnJ6TTlyS2kzTkJ4OCswaU9iMXlRQnNlajRkYXRteEo2ZW5wUkVTVWxKUVVjSTVZbGlXVwpa
1335 YWxXclZvMFpjb1VmZG5KMDVsa2MwazA1dlUzMWUwQkN1ZDUvWnd6QUpsWmxocUdoUVVzWXdEcVdx
1336 VWF2ZmZSQWpwM3hVUHpGaThuCmxtVURqcVVkKzhYL3ZFWTVCUjV5ZUdTNjRoQ296WDMzRThNd0ZC
1337 b2FTbUZoWVFIWHptQXcwTUdEQituTEw3L1VsMVd1WERsZ0hFVkYKUmJSMTYxWXlHQXdCeTdYL0gz
1338 end3WUJya1pDUW9LK0RYLzlmclYrZkZyWm9RZE1hTnlZTHg1VVpId05RYldzSXZkT3dNYzFLYWtx
1339 dgoxSzhmZEJzR29INjlleE1SMFJkZmZLR2ZkLy96d0xJczdkdTNqNGlJQkVHZ08rKzhNMkFiYmJ1
1340 WTJGaTZrSjFEaXFMUXVVc0ZGQjRSCkVYUzc5OTkvUCtEYUs0cENLU2twZFA3OGVTSWlxbGF0R2lV
1341 bUp0S3dZY1BJNFhDVXVlY1VSYUY4aDBpRlRySE1Pa0ZTcU5nakI3MjMKZzBHVUZDcHl5eVJJMTdk
1342 OUJXNE5OMnUvYm5yT055SWlBb0NhV0hEMjdGbHMzTGdSclZxMUN0aW1kZXZXMkxadEcxd3VGd29L
1343 Q25EZwp3QUcwYWRQbVpnOVpnU0NJaTR0RDFhcFZBVUJuem1FWUJuZmVlU2NBNktGSkFMRFpiRGgv
1344 L3J6K3ZWbXpadnIvVFpzMjFmOTN5REtPCkZSZnIzK010RmoyN3VKcGYxRUtqdmlzUVJXanY1Zjd6
1345 ZjlvbisvdzVHTGxBZ2dDT1VYbUxxMVNLd3NSSlUyQzFXckZsNHdaTUdqOFcKRDNkN0FFM3IxOFNH
1346 dFQvQ2JHQmdNcWpadHlaZXJSMDFjbHI5cURxUHg3UHFwN3k1eWg0OWV1RDExMTlIelpvMU1XSENC
1347 THovL3ZzNgo0NUYyN2dMZ1N4anovMXdOd1FLN2tpUkJraVNka0VRVHR5ZGZLSFBIamgyUVpSa1pH
1348 UmtCbVpLeXordjJGN3EzOGp6ZWFIZ0hlbGFyCkJnRHdLZ295blU0TXJWMGJMOWFwcTI5MzJlMUc3
1349 dVZDbk1zdHhPVFhYd0VSNFo3N0g4QlBXMU94T2ZVTUhubjhLUURBcC9QbUlDc3IKQXg1UndZVUNy
1350 ODdON0hRNjBidDNiMlJrWkdEdTNMbjZPSDc4OFVjTUdqUklQMDVlWGg2R0RoMktyS3dzcEtlbncy
1351 cTFZdGl3WVpBawpDUmFMQmMyYU5jTWRkOXlCNnRXcmc0anc2NisvWXVYS2xRQ0FDUk1tNE55NWN3
1352 Q0ErTXFWTVRnaEFlODNhNFpuYTlWQ21JK3A2dHZ6CjUzVXY5dldHRGZGZTAyYm9VN1U2QUNEVDVj
1353 VCtJaHRNUEl0ZHZtbVY2aFlMWmpWdGlnK1RrekV4S1FtOXFsWERrUU1ISUlvaXRtN2QKQ2dDb1U2
1354 Y09zck96VVZ4Y2pBTUhEMkxTMis4Z0pFd05kWC80NFljNGNPQUFPSTdEbDh0WElPTkNQdGI5K2h2
1355 Q3dzSlFjT1VLM2h3LwpIZ1ZPR2Q5Ly96M3N4Y1V3bTgxSTNYOFFlUVVPbkR4NUVwOS8vam1hTkdt
1356 aWUwTW1rd2tNdzZCYnQyNm9WcTBhUEI0UFpzK2VqY3pNClRKMTVxelEwVlNnalgvN2RkcjFlckRZ
1357 ZnJyVlpnWDhtYmtsUzhJTVBQc0RRb1VQUnFWTW5qQmd4QXJHeHNWaTRjS0ZPaEI0VEU0Tm4Kbm5r
1358 R2Q5MTFGeDU1NUJHOC9mYmJPaDlyQlc0UGdvWHdyN2JjUDVQMjRNR0QrditIRGgzUy8rL1Jwdzhr
1359 dngvNmVaY2JnUHFEem5HNwo5ZVZFUGl2Rkc4QXdnTlVhZ29PbmNwQlQ2TUVWdXhkRkxoRnVyd2lI
1360 MDYwTHEydndtV29veEdEVWY4YmkzTVVyMkxyakQ4eWJ2d2hOCm15V2p1TGdZczJkT0I4OHlNSEhx
1361 dmxZamkxQVRpekF6aXdnTGh3Z0xoMGdMaDBpcityRVl5NHFoUC96d3crallzU09lZnZwcG5ENTkK
1362 R24vKytTZmF0bTJMUm8wYUlTc3JDODJiTjljMWIvVytNVUNZbVVPb21VT29pVU9JaVVPb2lVV0lp
1363 VVdJVWYxWWZSK0xRZjJVTHUyUQpaUm15TE1Qb215Ty9jdVVLTGw2OHFQZHZ6cHc1WlRSZzFUT2lr
1364 bmxZL1pKeFdrVkZJOTVpUWJPSWtublJPcUdoU0k2TVFvT3djSmg5CklkMGNyd2NoNFpFNGZlSVlD
1365 cStvaG1uMzlzMTR1UDJkNkhobmJmejR6VEs5YittSDlzTXR5QWkzOFBwY0w4TXdtRDU5T2hJVEUv
1366 SHkKeXk4ak1URVJnSnFjNWg4MmpvaUl3UHo1ODFHalJnM1VxMWNQUjQ4ZXhjbVRKOVYrMWFtRHZu
1367 Mzc0c2lSSTVnNmRhcSt6N1p0MndBQQpXN1pzQVFEd1BJOUlxeFV0b3FJUXd2Tm9HUjJOcWhZTGlB
1368 Z25mT2ZGSm9xWWVmdzR4cVFkd2c4WFM2NVJsc3NKam1WUTIvY3N1ZXoxCllsMU9EdjY4Y2dVTWdP
1369 NVZxOEtxS0pnOWV6YnV2ZmRlTUF5RHJLd3NUSnMyRGQ5Ly96MTRqc1A0MTE5RFpKVWFrQlhDNXMy
1370 YjlmTXkKZU5BVHFCVWZnKzZkMituWFo4Zk8zeUhLaEx0YXRnYWdocWhuem5nSC8xMytPZkx5OGpC
1371 dzRFRHMyYk1IZmZ2MlJYWjJkc0RMRk11eQpNSnZOR0RCZ0FBQmd5WklsK2ozaEQ5Rm5LQTJsYTgy
1372 Z1VVdGVQOVRFSzBhdHJiOWFjWFlGL3FlNHBUbmZkdTNhbGNrV0hUcDBhTUQzCjRjT0hZL2p3NGJk
1373 eW1BcmNCcEN2bUw5OSsvWll1SEFoaUFqVHAwL0grKysvajcxNzkrTDMzMzhIQURSbzBBQkRoZy9I
1374 d0RWckVHNHcKb0ZnVXNhZmdDdXFGaHNLdHlEaFNhczVxajgyR092WHE0K0RoUTNDNW5IaHIvQmc4
1375 UDJJMHFzYkg0OXlaay9qcCsvL0NhclZpK3F6Wgo4TThqNFRsVmxEMHRMUTAvL2ZRVGV2VHNoY1pK
1376 RFZDdlRpMzh2dU0zcEIwNmlJeU1NM0M2dkRBR29iTmtHRFVCcHFUMGlDbERSRDkwCjZGQWtKQ1Rv
1377 WlR4MTY5YlZ2UStXWmRHcVZTc3NYNzY4alBmTE1Fd1FscUFibXp1VEpBbUtvdWdQMm9ZTkc4SmdN
1378 Q0F6TXhNTXcyRDMKN3QydzJXeGxHTUlNSEJCdVpsRTdzWWErTENIRUNwNWxZUFlYVGZCRkkxZ0dz
1379 SEFjUExJTU94R1M3NzRYeDQ4Y0RHZ3ptTWQwS2lNVApyZDBTVElhUzdPYkl5RWhVcjE1ZDM2WnAw
1380 Nlk0ZS9Zc0RoNDhDTGZmUzFmYnRtMzFOaG1HZ2N2bDB0ZkZ4TVRneXBVcnlNbkp3Wmt6ClovVHRO
1381 RzlYMHhldVg3OCt3a1F4b0lZY0FPeVNCTkZQWXpnWWlpUVJYa25CM2RIUk9GQllpT04yTzdiN2xU
1382 SEdXeXlvSHgyTi9mdjMKNDUxMzNrRkNRZ0t5c3JJd2YvNzhnTEY5OS9Ndk1QT3hPSnRWa3NjUTdG
1383 eGxYemdIbGdGYU5XK0VsMTkrR2ZQbno4ZktsU3QxYno0dQpMZzZKaVlrNGUvYXM3dlVHZy9ZYkRM
1384 WmNrRWdYRVNtei9xcG5JemlNUHI1blFTWllLbXArLzVHb3lJZjcveHdVcEtRZzJESU4vZnYzCngr
1385 TEZpN0Y1ODJhc1c3Y082OWF0MDljWkRBWXNXTEFBOWVyVncrZ3BVL0RxaUJFb0ZrVmM4bmp3M3Nr
1386 VEFLQ0hCZ0hncE1zSmUzeDEKZkxIc0d3eCs0bEVjUG5RUVA2ejhHaitzL0RyZ21FOCs4d0s4b2dM
1387 Sjd5RWdLUVJCVXBCLzVRcW1USmtTa0hDbllmanc0WWlKc09ncwpWc0hJTmpReUQ0QkFQQU9UNytH
1388 MWQrOWVmUGJaWjdqampqdHcxMTEzUVZFVVRKczJEZDI3ZDlmYkx5NHVSbEpTVWhtRm1kc0JqdVBB
1389 CmNSd3FWYW9FQUdqVnFsVkFLWjdKWkFwS3pjbjVFc1lNQm9QNm9DYUNRVE82ZnM5UUU4dnEyYmNN
1390 MUFlME5Td015WTBhb0xqd2lyN2QKMDhQL2d4ZkhsbVJTUjRVWUVCTnFSRWFlRTI1UmhsdVVJZmpD
1391 emphYkRSY3VYTkFOc0JZTlNVNU9Eb2lrbEM0WjFHcFpBZlVlYXVIagpYbzZNak5UdlJTM2lrcGlZ
1392 aVBUMGRKdzhlUkoxd3NLUTUzWWpORFJVbnpJSjQza1lXQmFpb3FCV1NBakcxRzhJU1ZHSlBPeGVT
1393 UytoCkVXUUYwVVlqUnRldkQ2Y2s0VlJoSVE3bTVHQ2ZMQ1BiN1VhTTE0dWgvZnFoVHAwNk9ISGlC
1394 UEx6ODNIMDZGSHMzYnNYMDZaTlExcGEKR3RiODhBMmVmSDRrcXRkSXdJbmp4eEVTRW9MejU4OGpN
1395 aklTTHErTVlvOTZYbmdXaUFwUkl3Uno1ODdGakJrenNILy9maHc0Y0FCego1c3hCWm1ZbVdyZHVI
1396 VlRhMGV2MTZsTVA1Zk00cTlldmZHWXd1dUVhZHRYN1ZiT2V6WHh3bzErQi95MXVLZXhjZ2Y4ZGd0
1397 VlcrbnNqClYxdTJmdjE2ekpneEE4MmJOMGRZV0JocTFLaUJYcjE2SVRVMUZlM2F0UU1BREJnNEVC
1398 OSs5aGtxUlVYRHlIRUlOeGpRTmpZV0hlTGkKOVBwTFo2MWFXTHJxSnpTb2s0RFZHN1poL01TMzBE
1399 UzVPY0xDd3hFZEhZMm16WnBqNkl1dllPQ3p3MURzbHVEeWtSdW9OWStBVXlCVQpyVmtIenp3M0JJ
1400 MGFxUS9yNk9ob2RPL2VIZE9uVDhmcnI3K3ViNjltY2FyaE5CUFA2R0hvRUY4WU90VEV3TUNXdkhp
1401 MGJOa1NraVRoCjBLRkQyTGx6SjNiczJJSE9uVHNIbk1PalI0OEdOWUNxWWFlYlpsMGJPblFva3BL
1402 U2NPalFJZFNzV1JPTEZ5OUdqeDQ5d0hHYzJyYWkKb0ZPblRnSHo4YVd2bDk0WEFGbCtubVV3eUpx
1403 QlMweEFxSVZIdTN2dlFreXNhdlIvL08rWDJKVHlFK3pGTm1TZnk4REcxU3R4VDZzVwp1SnlYRjNU
1404 Y0V5Wk13Tm16Wi9IQkJ4L29YbXF2WHIyQ2JxdWhjdVhLYU5DZ0FRQmcxNjVkT0hueUpQcjI3WXVr
1405 cENSOVBDRytHdDRICkhuZ0FnQm9adU9oeUljdmx3cm5jWEd6SnlzSlptdzBNdzZDQjc1cGtPcDM0
1406 TmZjUzdKS0lJa2xBaHR1QjVSZk80bkJ4RVlpQUxibTUKMkhQbEN0eXlqRVl4TVdnY0dncUQ3M2cy
1407 UVVCSVNBaSsrT0lMckZ5NUVtNjNHMjNhdEVHM2J0MzBxYS8wWTBkaDVGbTB2YjhEQUhYTworK1dY
1408 WDhZZit3N2hmRzRCOXUzOUF4UEd2b1FaYjcwQmptV3dkZXRXM2RnMmE5WU1qenp5aUI2YVAzcjBh
1409 SmxybDUrZmo4Y2Vld3dwCktTbFh2WDZpajZXalBOR0VteTNaMWRvVDVadmJ2d0ovTVc0MncrdDI0
1410 aC9TalFxVWd0TXJVY2JGUWxyeTFUYzBzRThmNm5yZmZkU3oKWTBkNi9kVlg2ZENoUStRUlpYSUtD
1411 cmtGaFdSWm9VS25RSG5GQWhXNVpjb3RFdFFNWks5QytYYVJNaSs3NlV5ZStqbC94VU5YSEFJVgp1
1412 VVFxY0VyNngrYVNxTWd0azhNcmswZVVTWktWNjg3d3ZGMVFGSVZjWHBtSzNlckg3cGJKNFpISjVa
1413 WEpMY2prRlJVU0pJVWtXU0ZaCktlbGY2VzU2UEI2eTIrMTArZkpsc3R2dFJFUjA4dVJKNGpndUlK
1414 dDQwS0JCZXJZend6Q1VsWlZGUkVUdDI3ZlhPU2FhMXE5UFQ5U3EKUmFNVEUvVnMzcDVWcTlLSHlj
1415 bjBmSjA2Wk9SNVloaUdPblRvUUY1UnBzdDJrUll2KzIrWlkvbG5JbS84OHpTbFpoWlJhbVlSdFdo
1416 MQpIekVNUStIaDRSUWRIUjJ3TGMvenRHUEhEaElFUVYvMnpEUFBFQkdSTEpka2VHL1pzaVVnMjlu
1417 L2s1Q1FRRjk4OFFVUkVSVVZGVkZpClltS1pUR2NBOUdSRUJMMlRrRUJUR3pVaWF6blp6Z3hBajhm
1418 WG9QY2FONk5XMGRGQjE3TUF0VXhNcExTME5CbzhlSERRUG5FY1I0Y1AKSHlhUEtOTzVmQ2NsTjcr
1419 ejNHejk0Y09IRXhIUmtpVkx5ajJmOCtmUEwzTXYyV3cyV3Jod0labk41cUJaOVJvS1hTTGxPMFNT
1420 eTduWApYWUpjSnB2K2V1SHd5R1MvZ1V6cEN0dzRidForVllTZEt4QVVSQVNYb0NBa0pBUlA5TytM
1421 cHdmMkQ3cU5SMUtmbkJJeGlMUWFJRWdLCmJDNEpSb01heXJVNUJaZ05IQ3FGbStBV1pEZzhFZ1Na
1422 SUxoa2NLeWEyR1Eyc0hvSUdVUVFKRUJrVktFRGxtSEFzZVRMWmk2ZnF2SjIKalZrTC8vRjZpTnVQ
1423 MTFoUnVYeExnd0dCNStEalExYjdaaktaWURLWkFoSU02OVdyaHkrLy9CSXJWcXpBbGkxYklJcGkw
1424 Q2dGRVNFNQpPUm5idG0wREVlR3RXYk9RZnZnd0ZuejBrWDcwZllXRnlBNE54UU05ZXFEUzk5L2o0
1425 c1dMZWpzaFJoWjlIK3VMeE1SYWVHL21PMGcvCmRnU1g4M0lSRjFjWlNZMmJvSGZ2UjNCM1VuV0lN
1426 Z09uVjRZVzFZNk9qc0hhdFd2dzhzc3ZZLy8rL1lpTWpFUm1aaVkrKyt3emJOKysKWGU4akVhR29x
1427 QWhQUFBHRTd0VjE2TkFCcWFtcG1EaHhJdjc0NHcvazUrY2pNVEVSU1VsSkNBa0owVDNlOFBCd3BL
1428 V2xZZHEwYVZqdwp5U2Z3dUZ6Z0dRYlZqRVpZaVhEdTNEazBhdFFJVXhvMXd1cWNISnh4T0hERks4
1429 RENjWWcxbWRBNFBCek5JcU5nWUZrMGo0aUNSNVp4CndlMkdYWklRWlRDZ1RtZ29Hb2FGSVpYalVM
1430 OStmZlRvMFFQbnpwMURSa1lHTGwrK2pPclZxNk5ObXpibzJyVXJHamR1RENLQ3ljamoKeDE5K3c2
1431 S1A1MkxkbXA5eE52TU1ERHlQaElRRWRPclVDVTgvL1RRQU5acnkxRk5QNFk4Ly9zREZpeGRodFZy
1432 UnBrMGJ0R25UQnM4KworMnpRKzJuLy92M28zTG16SGhrb0RWa2h5QXF1bXEydm52ZHlWMTBWUnA2
1433 QlcvUWQ0L2JQcmxUZ0ZsQ2g1MXVCb0hBTEN1eGUxVUJHClcvbHlEWjdpTThDQUd1YmlmYUZmaDFl
1434 R0lBRUdub1ZYa3VIeXlnZ3o4ekFaT0xpOE1oeGVTUStuUllmd2lMQndmbTBDRGtHQmY5NE4KeDJy
1435 aForaUdtUHNmYVA4U2xlaitLb3B2dnM1SE4yandqUjgzMFNmdC92ZmZiKzNhdFpnL2Z6NVNVbEln
1436 eXpKRVVjVCsvZnRSVUZDQQpwVXVYb24zNzloZzVjbVJBTzI1QmdVZFNTZmhaQmlxRkpBRm1uZ1hE
1437 cUlrNGtzTG8vTnNHRHVqU1NTUFpTRVJHUmttUzFKZ3hZeUNLCklycDE2NGFVbEJTa3A2ZURZUmkw
1438 YU5FQ2VYbDVPSC8rUEg3OTlkY3k0emgrL0RndVhMaUF0V3ZYd3VWeVljaVFJV1hZbkR3ZUQ3cDEK
1439 NlFMbXdBSGM3d3N6Y3h3SGhtRVFFeE9qejhON1JBV0tYOGF1Z1ZlNXBHWGZkZEJLemZ4eHJMZ1l0
1440 dWJOc2ZqcnI3RjkrM2FNSFRzVwoxYXRYeDR3Wk01Q1VsRlNtdndTZ3lDM0RJeXBnQUVSYStUSXNV
1441 K1Zkcy9LdXM4MW13NGdSSStEeGVQREREejljdFEyWG9Nb1FXc281CnBrdFF3REFvZC8yMSt1andF
1442 amoyK2tVdktuQmp1Rm43VmVINVZxQU0xQWVDT2xFVVl1U3Vha2hZaG9HQkpVaUttbG5KZ2dITE1n
1443 Z3oKODVCa0JVVWVHVWFPaGNIS3d1R1JZUGRJaUxRYUVHY3l3ZW1Sd0FBSXR3UWVnd1VoM0tSNnc0
1444 SlAxazcySlZVQmdNd1FXRllUVkdEQQpNdVRIOWZ2WEdtSjFubDN0aWd6VmVQRyt2bWdndi9saWYy
1445 OVdNOXA2N1RDamJhK1dtaGg1SmlDbit0U3BVNmhjdVRJQTFUQzVYQzVVCnIxNGRETU1nTWpKU1Qx
1446 TFNqSUIyM1FnTTNDSmc1aGxFV0ZnMU91RlRJUEpLNmtQWXdxdEdXSkJWSVF5MXJ3aG83K0dISDBa
1447 SVNBanUKdlBOT2RPM2FGWUNheUhiMDZGRzgvLzc3bURkdlhzQzVFVVVSSDMvOE1aeE9KMTU5OWRV
1448 eWMreitNSnZOYU5HeUpYN0p5RUJrZERTTQpMQXVlTC9zNEtuMDFGUi9uT01zd2VrMjB4dm1zNFJp
1449 QWNTKzhBSjduY2UrOTkyTDM3dDM0OXR0djhkNTc3K0c5OTk1RGRIUUp2elBqClMxaUxzS2psWkI1
1450 UnVXN0Rxd2srYUxEWmJJaU1qRVJCUVFGR2pCZ0JRUkIwdzd0dDJ6YWNPblVLYVdscDZOdTNMOXEy
1451 YmFzZi8xcEcKa1hEenlUbGE0cFVncStmdXIvNTlWT0Q2VVdGOEsxQUdYaC9OSGN1b29kUnJnZmRS
1452 RmJJTTRKVUJNK05USGVKWXhJU3djQWt5UENJaAozR0tBUjVSeHhTbkF3REtJc2hvUllpcWI0YWw5
1453 WjBFdzg2cEhvT2hDN3FxaGwzMFdRek84c3NMb3BUZWNUL0x1cndwUmE5cTNQQnU4Ck5DVFlNUm1m
1454 eFJaRjhqME1HWGdsVlpnZVVFUEZUQ2xUazUyZEhWRDZrNTJkalhIanhtSHo1czJZTm0wYW5ubm1t
1455 WURqYVViY0tVZ0kKdC9Ed1NDd1VWZVllUmc1UVNEMm13NnVBWjRFUUU0Y1FJOEQ1RXZjVUF0d0N3
1456 ZUpUeEduUm9nVWNqa0FKdnBZdFc2Smx5NWFZTjI4ZQp1blhyRnJDT2lQRENDeS9veVZYK3kwdWZr
1457 L1hyMXlNbUpnWXVBS3VPSDBlN3lFandQSSt3c0xDZ1NYRDZlUVIwbzhjd3FoeWl3cWhqCkFJRGp4
1458 Y1hnNCtQMXhFR0R3UUNPNDlDdlh6OU1uandaSE1mQlpyTmh6NTQ5dU9lZWUvU2tONVpod0xEcXk2
1459 WWtVd0JYY3pBVWUyU0UKbVV1aU5WNnZGMzM3OWtYUG5qMlJscFlHU1pKMHcvdlJSeDloOCtiTlNF
1460 NU9SbHhjSEFZTkdvU1VsQlEwYXRRbzRQcGREYmR5RzJ0OAp6NElVWEMycEF2OGJWQmpmQ2dUQTMr
1461 dTFCaUd0Q0FhR1lXRGkxZkN6S3VqTitIaGw0V3VIZzVsWFVPeFJZT0paR0RrajdGNEpQRmZhCmQx
1462 RDFhN1h5SE0yYjA3eElrNEdGeVFDZndneEt4TjVsUUpWNEFIaU9RTVJBVWh0UWpUT0QyekpmVEtR
1463 cHhxamgyeHN0bjJRWUJtWUQKNEJKVXBTRk45TURJTVVIUGRYWjJOanAwVUROeEpVbEN3NFlOOGZQ
1464 UFArT1hYMzdCMHFWTGtaYVdGc0JNQmthZFF5UUNuQjRKMFNFRwpHRGxXZjBFSTVWaVlEYXAwb0tT
1465 b29WWUR4MkROTDV0ODVWcnF2Q0RETUVoSlNjR1NKVXVRbXBxS1NaTW1vVk9uVGpoeDRnUkNRa0xR
1466 CnVuVnJ6SnMzTDRDd0JRQ01SbU1BZ1lUTDVZTFZhaTFqZkJjdVhJaE5temJoMldlZnhXc1RKbUQ2
1467 bTIvQ2JqQWdsbVdSbTVzTGhtSDAKdWZMU3dUeVdZY0N5YXNoZjgzNjFpSjlEa3ZBN0VSWjk4QUY0
1468 bm9ja1NibzMvZTY3NzZKUG56NUlUVTNGd29VTFliVmE4ZnJycjJQSQprQ0VZTVdLRWZuMElCTVYz
1469 RHN1N1Z4eGVHYktpa2xnUW80QmpXWmhNSnN5ZVBSdGR1blJCVkZRVVRweFFTL00rK09BRHpKa3pC
1470 MnZXCnJFR1RKazNBc2l6MjdkdUh3c0xDOG02VE1sREhkL1AzcmNiM3JJb3RWSlFkL1ZOUU1RbFFn
1471 UUJvbnVXTnpqR3A0ZWVTR2x5eEZFOEMKeTdLSXRQSXc4ZW9ETGpiVUFDTWZhSERTMDlQUnZYdjNB
1472 SVVmdlp5S1VSVnNCRW54a1dBd0NER3hpTEN3Q0RPeHV2aTdLS3VldTFjaQp5TElDVWxSaGRhOE11
1473 Q1YxblNqZmVDbVJHZ0wzMVdOZWgrSFZWS2FDd1d4Z2RjTWJZbFRadW9JOUVOMXVOKzY5OTE3OS9H
1474 bTQvLzc3CjRYSzVBcWhDQVUzYXpvQ2EwU2JVakRFajFNekJ3QVdXcEhFTTlMSXRsbEhISmNycWk0
1475 dUZMeUgxbnpObkRrYU1HSUUxYTliZ3A1OSsKd3BBaFEvRFJSeC9obzQ4K3d1Ky8vMzVObXRnVEow
1476 N29ucDhvaWdIcmpodzVndmJ0MjZOYnQyNFlObXdZV25Yc2lBMlNCQ1lpQWp6UAo2OTYyL21ybWQy
1477 cTBxUVp0c1NZVjZKWmxyTGJiOGN6bzBUcHQ2cmx6NTdCOCtYSTg5TkJEV0xObURaNSsrbW5rNXVh
1478 aVZxMWFXTEprCkNUNzc3RE1jUG53WXhYNVVxdW9MWFBueWlLS2t3Q3VxOTg5UFJ5N0NKU3FRZmNr
1479 SnljbkoyTEJoQTBSUnhQSGp4N0Z6NTA1czI3WU4KYTlldVJiTm16Y0N5TEU2ZE9vWG82R2pFeE1S
1480 YzlmejVnM0RyV3RWR1hvME1TY28xTjYzQTM0UUt6N2NDQVhBSjZxL1RhcmcrcjljZgovdUZuV1FF
1481 a2xNMndOQnRZWFcybGRQdFZxMWJGMjIrL2pkNjllNk5Iang0QnFrUXNvNFZPZ1FLbkNMT1AxcEZo
1482 R0ZYTnlHYzBaSVYwCmoxaFNvQnM1TFdNYUFDUUNSSVh4UGJ5dlBWL3NIMmJtbUdzL0NKY3ZYNDZW
1483 SzFlaWNlUEd1T2VlZXdMcVpOVTVSa0s0bVFQTEFNWWcKY2V2MzMzOGZpeGN2eG9rVEoxQlFVSURw
1484 MDZjakl5TURsU3RYUm5KeU1yNzY2aXZVcWxVTGQ5MTFWOEIrcW1kOXRZeFo5Y1dIWktBNApOUUFB
1485 SUFCSlJFRlVaUUZaVnNkTE9sa0p3U3NCSmdOUVdGZ1k0SFd2WHIwYXg0NGRRL1hxMWJGcTFTcDgr
1486 ZVdYYU55NHNjN3ZEcFFOCkxlL2J0dytiTjI5RzA2Wk5FUkVSZ1lTRUJIMWRpeFl0Y09USUVSdytm
1487 QmhuejU1RmZIdzhXci8yR3I1ZHRBaEpBT3I2SzAzNXg1a0IKQ0pMaTB4QldWN0lzY01uandhOXVO
1488 eDRkTVFKRGZWNnNLSXF3V0N4SVQwL0hrMDgraWNjZmZ4eDJ1eDA1T1RuWXRHa1Q5dTdkQzd2ZApq
1489 dE9uVCtQY3VYTm8zTGl4ZnNqeTdnTnRqQnpMWU1mWmZGeHllUEZkV2c3Nk5hMEdpd0hnV0JiTm16
1490 Zkg1czJid1RBTVRwNDhpU1pOCm1nUzBQV2JNR0RSdjNoeDMzSEZIUU51S29nUlYyUEkvRGJjQ0xm
1491 b2pTRlN1YWxJRi9sNVVaRHRYUUljb0t5aDB5VDRQaXIrcDVBd3QKKzluSXFnYk95S2x6c05lTDBh
1492 Tkh3MjYzNC9QUFB5Ly9HQXJCSlNxd09TV0VXMVFPNW1COVZhZ2tMSzF4NTNLK3JHU1dLY25TSWFq
1493 egpuUXdDNTRzQlJnOHpHNjR6ekx4a3lSSXNYcndZMDZkUFIxcGFHdExTMHJCdzRVSmR5TUUvQWF0
1494 Yzcwb1VrWldWaGV6c2JCdzdkZ3lOCkdqWEMzcjE3OGR0dnY4SHRkbVBJa0NGNDdMSEhnaVlvK2NO
1495 dXQ1ZVpQeVZTazlkWVJxWGlWTDlyODhCcU5PSFlzV05ZdG13WlpzMmEKaGZ6OGZDeGR1aFN2dnZv
1496 cUFKWC91SDM3OXRpeFkwZVpkdjNINDNBNHNHelpNcXhidHc3dnZ2dXVQcjhKcUpuT2l4Y3Z4b0lG
1497 QzJDMQpXakY2OUdnTUhEZ1FodzRkd3Nobm4wVm9YaDdhUmtZaTFtU0M2QmVlTHcySEpPR3d5NEZ6
1498 WWFHWU1ITm1nSmE0ZGg3OVJRd2FOMjZNCkxsMjZRSlpsTEY2OEdNT0hEMGZEaGczeC9QUFBsM3NP
1499 SFE0SHRtelpvcGR5VmF0V0RmZTM3NEN0V1hhY0wvSUFVT2VKK3plckJndlAKQmRDYmpobzFDakV4
1500 TVpneVpRcU9IeitPc1dQSGd1ZDUvUGpqajJYTzJmRGh3ekYzN2x5WS9UaTl0VzBjZ3ByN2NLdEdV
1501 MVpJdjRjcgpRcyszRHpkcnZ5cU1id1YwMkZ4cURhNHFZSER6UllHYTE2bDZ3Z3pNL1BXRnpiNzU1
1502 aHZNbmowYnYvMm1Lc29JZ2dDajBRaEJFQ0FJClFrRE5yS0tvb2VXTFJRSllCb2l3OEFpemNHWEtU
1503 alJvSHA2MlduT21IRjdGRjRZRldGWTF4TEpTTXRlb2xqWnBIbS81ZzlBZXBIUG4KemtYbHlwVXhZ
1504 TUFBckZpeEFnY1BIc1NvVWFOUW8wYU5nTzMrQ21qejQ4dVdMY096eno2TE45OThFMU9tVENsRG42
1505 a1FxZUY0VWt0NQpQS0lDcjZSZTk2aVE0QzlkV3I4WExWcUVEUnMyWU5XcVZXWGFWSk9nYm0xc0hv
1506 OEhYeTVaZ3E4WEw0YkY3a0FscnhleHZCSGhCdlZGCnd5M0x5UFY2a2N2eHlPVjVQUHA0UHd3YjlT
1507 TGk0dUlDK3FuQjdYYkQ0L0hnNTU5L3hvb1ZLL1RTcVBmZmZ4ODFhdFJBdjM3OWd1NlgKbjUrUEJm
1508 UG1ZZlhLbGFncVNRajNoYzV0UmlQeURBYjA3TmNQclhvL2lSTU9kWjlRSTRjbjc2d08zdTlOYysv
1509 ZXZlamZ2eithTkdtQwptSmdZMUs1ZEd4TW5UdFNQNS9WNmNmSGlSZVRuNTJQaXhJbjQ1WmRmZ3A1
1510 M2g2Q1dqcFYzYjE4di9zcDc3OStNQ3VOYmdWdUNKQk1LClhHckJibXdJSC9BR2Y2UFF5RGZVNTVE
1511 cVZacTRxeHZnTTJmT29ILy8vaGcvZmp6NjlPa0RRSDF3bmo5L1h2Y21WNnhZRVZDK1FrVEkKdXVL
1512 RnYyTVVabGJWam9LRmM4dnJhN0ZIMGR0UU01alYrVEZON1VjcnhkRTg0dEsxdkd2WHJrVlJVUkU2
1513 ZE9pQUgzNzRBVHQzN2tSRQpSQVMrK2VZYmRPdldEVVZGUllpTWpNUi8vL3ZmNityVGpTQTlQYjFN
1514 Q0ZNVVJXUm5aMlBod29WNDdiWFhFQlVWVldiTVJSNFpEbzljCmhycXdjcmhCbnljdURhL1hpL256
1515 NXlNeE1SR1BQUEpJUUh1aXJKNFg1Z2FTMnZ4Lzg2WDNFVVVSdjIzYmdWKzI3c2FwZy90UW1KK0gK
1516 dytsSFVHUXZSbGg0QkY1NTdVMXMyYkFHYVdscHFGZXZIaVpObW9TZVBYc0NLSmtmSHp4NE1OcTBh
1517 WU9QUC80WVI0OGV4WXN2dm9pNQpjK2ZpeUpFajZOT25EM0p5Y3NBd0RCbzJiSWpISG5zTVk4YU1B
1518 Y2R4ZVBQTk43RjV6UnBVTHk1R2djdUZVdzRITG51OTRCa0dOYTFXClBGeXRHczRJQW16eDhSZ3ha
1519 VHBtenZrSTJla0hVSkI3RWJWcjEwYWZQbjB3ZnZ4NG1Fd21uRGh4QXNYRnhVaEpTY0hSbzBleGMr
1520 ZE8KMk8xMnhNZkhvM2J0MnFoUm93WVloa0ZDUWdLaW9xS3daY3VXZ0czdWJ0a1NrOTZlZ2RvMXEr
1521 bjM0KzJFb2lod09wMVh6VEN2d05WeAowL2JycG5peGJqUCtJZDM0VjhQbUVpbTNXS0JpdDNSYjJw
1522 TVZoWnlDU3NQb0VZbThZbGtLUmlLaVRaczJFUkhSc0dIRGFNaVFJVVNrClVqT3VYNytlK3ZYclI0
1523 c1dMYUpPblRwUnMyYk5LRDgvUDJCZlJWRW8zeTdvdEpYK241eENMem05MG5YUjZpbUtRaDVScG1L
1524 M0ZFQjMKV2VTU3lPV1ZTWkJra21SVm5Od3JCVkplRGhreWhEcDA2RURqeG8yamUrKzlselp0MmtU
1525 WjJkbjBuLy84aHhZdVhFaEVSRTZuazFxMwpiazEvL1BISGRaMDdVVklwTFAzcEs0Tmg2ZEtsMUto
1526 Ukk4ck96ZzQrSm8rSDh2THlncTV6ZWlXNjRoRHBRb0dIc2dzOVZPQVF5T1dWCmRZcERKY2l4RlVV
1527 aFFSQ0NMNWNVY25nVjhvZ3ExV2l3L2E4RmJSOUZVZStiWXJkTUJRNlJjb3NFeWk3dzBEMXQ3aWVH
1528 WVNnME5KVEMKd3NMS1VEd09IejZjdnZycUszMVo1Y3FWQTlhLzhjWWIxS0ZEQitJNFRxVzI5QzNY
1529 dG5ud3dRZHA2dFNwWkFHb3U5VktVVHdmbEw3eQoxZnIxYVdHTEZ0U3ZaazNpZmRTZUxNc0d0Tlcy
1530 YlZ0OS9MLzk5bHRBUDdUdFdKYWxoeDU2aUF3R0EzMzk5ZGZsYnJOOTk1OGt5YmVmCkh0THBkTkxN
1531 bVRQcDhjY2Z2KzF0LzV0d3MvYXJJdHU1QW1vMnNLUyt1ZDB1Rmh3dCsxbVFBUU9yaG56bFVwbVdE
1532 b2NENzc3N0xtclgKcm8zdDI3ZGowYUpGOEhxOTZObXpKN1p1M1lwcDA2YWhmLy8reU1yS3dxeFpz
1533 eEFURXdNbFFHNk9RYWpaZ1BoSUk4TE1YRUJTaWx0VQo0UElxQWFVcXExZXZ4b29WSzNUQkFMMFZo
1534 b0dSWTJIa09WV3N3Y2pDeUtrZXUwZFNHWUxzSHJWTzB2L3NyRm16QmphYkRWdTJiTUhNCm1UUFJ0
1535 V3RYZlBMSko2aFdyUnB5Y25MMGtpbXIxWXE3N3JycnVyV3NMenRFNU5nRVhDZ1FBanhUOHN2UWRy
1536 dmRtRHQzTHFwVXFZSmUKdlhvRktDWnBZektaVElpS2lpcnpWcTZPVjAxYXNwcDRWQW8xSUNyRUFJ
1537 dXhSRjVRUzRoVFM1ZElWeFBTMVpaS3RXZmdHRmdOcXZjcgp5SUJUQUR5aUdsRlJsSkxzY3Y4eCtJ
1538 TjhwQlZPZ2VBUjFWSWZtMU5Ba1V1RUlDbmdXRWIzL0p4T0ozcjM3bzJNakF3TUhEaFFiL1A4Citm
1539 TzZYakFBNU9YbFllalFvY2pLeWtKNmVqcmVmdnR0bkR4NUVvcWl3R0t4WU1tU0pUaDI3Smhlci96
1540 cnI3OWkzZHExYUJjZmp3S08KUTZHa1JvS1NJeUl3cm1GRHZOK3NHWjZ0VlV0WDlrb3ZLb0lrU1lp
1541 TWlzS2VQWHRRV0ZpSVR6LzlGQUN3YytkT0xGdW02aWRyK1F2Sgp5Y25JeU1qQTRjT0hjZWpRSWN5
1542 Y09SUERody9IZmZmZHA0ZWNrNU9Ua1oyZGplTGlZaHc2ZEFqVFo4eEFaRlRVTFdjN0I0UFZha1hu
1543 CnpwM3gvZmZmNjVLUEZmajdVR0Y4SzZCbk9KdDQ1cmFHdHJUd3JFU0FrVmN6aHYyZnU2R2hvZGl3
1544 WVFPZWUrNDVaR1ptWXNlT0hmQjYKdlJCRlVWY0Vldm5sbDlHeFkwYzgrT0NEQUVwQ2l0b0RuR1VB
1545 QlN3aUxBYlVpRFloeXNxclNWTnNZTkxZYzg4OWgzbno1dUhBZ1FQbwoxNjhmZHU3Y0diUy9ScTVz
1546 R1pQWlY4WWsrRWcrTkxSdjN4N3Z2ZmVlL24zUW9FRjZFbFRidG0weFpjb1VyRnk1RWlOR2pNRFpz
1547 MmRSCnBVcVZhNTR6UVZJZ2FDOUNKaFlzcXhwQXQxQ3lIQUJlZWVVVjlPalJBNXMyYmNMRER6K00x
1548 YXRYNit2OGpadC9VcGIvY281bDlIbDkKaHhBNExuVmJOWFBkSlJKeTdSSnNMdG5IRVZ5K0VkVXln
1549 YzBHQmxhamVnMDhrbXBRSFY2QzIyZFU3UjRaVHA4OG9LS29IMEVpaUpLNgozc2lyNVVPRlRoR1g3
1550 UUl1Mmp6SUxmTG9pWHNNdzJENjlPbElTRWhBclZxMWREM203T3pzZ0JlRGlJZ0l6SjgvSHpWcTFF
1551 RDkrdldSCm41K1BuSndjQUdxNTF1REJnOUdnUVFPOCtlYWIrajduejU3RjNXRmh5QkpGblluc0Fh
1552 TVJDUllMR0VGQWdpaWlxa1dWdVR4aHR3TUEKQ2dzSzBMSmxTMFJHUm1MWXNHRjZXNXBHdGxZdWR2
1553 cjBhWXdjT1JLREJ3K0czVzdIMkxGakVSc2JpMW16WmdWc00yM2FOSHovL2ZkZwpXUmF2amhtTHhN
1554 UmF3VytXRzhDMmJkdjAvNzFlTDdadTNZcG5ubmtHUTRZTXdhT1BQdnFYeUdwVzRPcW9LRFg2bDBO
1555 V0NHNVJZMW02CnZUL0EwdVFiQm81UnkxbEtKV0M5K2VhYjZOR2pCekl5TWhBZUhvNnRXN2RpM3J4
1556 NWVubktwVXVYZ3ZiYkphZ3NRenpMUUZUVTdPb1EKczhvVDdSRVZuWFp3MWFwVmNEZ2MyTGh4SXdC
1557 Zzh1VEorT1NUVDNEZmZmZjU5VldkMHkzZGY2Mk15WUtTTWlZdFdhczBHOVBwMDZkaApzOWtBQUNO
1558 SGprUkVSQVR5OC9OUnFWS2xBQ0gzcThIdWtmWCttQTBzaXQyeVB1Y2NhVkZMcXk1ZHVvU01qQXpN
1559 bmowYkFOQ3paMCs4CjhNSUx5TTNOeGFlZmZsb21DNXJ4ODJZMWFQWFlZU1lXRHE4Q3AxY0JHZFVJ
1560 Z0tTb1VRclYrS2lzU0VaT05hcE9yM3BlTlRZeEU4OEUKblY5WHk0RUlvcXo0T0tRWktNVEFLUkR5
1561 aWtVVU9nV3dMSVBLNFNhd0xNQXpES3htN2NWSm5VUFRkSWF0UmhaM1ZDdUpHa1JHUnVLMwozMzVE
1562 alJvMThNSUxMeUExTlJYcjE2OUhXbG9hSG4zMFVUMnhxRzNidGdGajl2ZnV0RnBnQURwUkNSR2h1
1563 TEFRc2JHeHVDSUlBSUJxClpqT01STWpNeklUVDZVUjhmTHg2blNRSm9xS1VWRUlGY1UzUG5Uc0hR
1564 UkJRczJaTlBQREFBOWk4ZVROU1VsSkFSR2pUcGcyYU5Xc0cKcTlXS0tWT21ZTUNBQVZpMWFoVTJi
1565 OTRjY0s4MGFkb1VxMU0ySXJScWJKbjJid1J6NTg3RjNyMTdVYnQyYmN5ZlB4K0ZoWVhvMmJNbgoz
1566 bm5uSFZTclZ1MlcycTdBemFIQzgvMlhRek84Um82NUpxWGV6Y0EvL016NWFtcTljbG1OVWswZlZm
1567 T21SbzBhQll2RkFwN244ZlBQClB3ZHNxeERoVXJHb2htZUxCSWl5QWlPbkduVVE0SlVaR0hoT04v
1568 Q2RPblhTRFJVQVBQSEVFK0E0RHBJazNWQ2lCTWVxV3NLU0hPajEKYWFId2l4Y3Zva21USmdDQTc3
1569 NzdEakV4TVhqaGhSZncxbHR2QmJTamVZMnlVaExPQlFCWlZyMWJxNUZEcUltREtLdGMwQ0ZHQnBH
1570 VwprcDlxbFNwVnNITGxTb1NHaGtLV1pTUW5KMlA5K3ZXdzIrMTYyTFAwdU54dU4rdytUMDBiaTZ3
1571 UUdJWVFibUVSYW1KOWlXWUVubFhQCnBaRlhEVis0aVZOcnFxR1NnaGg5bEtOZVNVMVdLM2JMa0V1
1572 VkEza2xCUTZ2NzZYT3BPb3VXd3pxV09yRW1aRmNNeHhWSWt5UWZGNHYKd3pLcTE2dHIwS292T1dF
1573 V0huVXJod1M4ckJVVUZPQ1hYMzdCSzYrOGdrV0xGdUhZc1dNQTFKQ3RQNkdId1dEQTJiTm45ZS8r
1574 dGNZSApEeDdVLzU4eFl3WUFYemllQ0hsNWVZanhNWFZkOUhvUkd4OFB1OTJPcUtnb25Sd2pqT2Ro
1575 OEVWaElpd1c3TnUzRDdJc0IzeCsrZVVYCm5EdDNEbHUyYk1FMzMzeUR2THc4Yk5pd0FXKysrU1pZ
1576 bGtWYVdocHljbkxRcFVzWGhJZUhZK1BHamJoOCtUSTJiTmlBcVZPbndtUXkKNFhCYUdyNzk3OWU0
1577 VlF3ZlBoemp4bzNEVjE5OWhSZGVlQUg3OSsvSFcyKzlwUnRlcjlkN3k4ZW93STJod3ZqK2k2R1FH
1578 czRFMUFmawpYd1hOTWRLSUtoaW9URlRCN0o1LzNXUDM3dDF4NGNJRjlPalJRMSt2ZWtTa1oyTjdS
1579 QVhuQzcwb2NJb0FDRVplTlJ6K2xId1JFUkVCClZJaG56cHlCeldZRHovTTNsS2tvS3dTblY0RlQw
1580 RUtvdnRDMzd5RWNFaElDSXNMbzBhTXhZOFlNTkdqUW9Jd1hxdTBqK29nNzNLSmEKWTF2c2tWSHNW
1581 V0EyY2pycGg1RUR3a3lzenJqazMxZU40RUo3aVlpSmljR2dRWU93WXNVS2JOdTJyWXduWmpLWnlt
1582 UzBtZzJzVDVoQwpuYlBsZkxKMkRBUDlvOUk1bGh5ZjhYbTc0V1lXWVdaV0pXNlFDWVV1R1M1Qmdh
1583 SW82bnk3b0NvOWhabFpHRGkxMzFwdE1jTXc0RGlnCldxUVJrVlplVlNsUzFPMjEwTEpYVkZBNXdv
1584 eTRjRE5ZdGl6VktNL3ptRDE3Tm43OTlWZDlEcjlYcjE2SWk0dlR4NzU5Ky9ZQXFjWEsKbFN2cjBu
1585 Ni8vLzQ3bGk5ZmptUEhqbUgvL3YzNk52RytlZnI2UG41cWhRaExNekxnc0ZnUVhiVXE5aFlVSU1m
1586 dEJzTXdhT0E3bjBWdQpONzcrK210a1oyY2pKeWNINjlldlI2OWV2ZkRkZDkraGJ0MjZTRWhJd09y
1587 VnErRndPTkM2ZFdzTUdEQUFvYUdoNmpueDNUdUxGaTNDClYxOTloZUxpWXR6VHBpMGVlZVFSUFVm
1588 ZzJORWp0MXdpOU9DREQ2Sm16WnFZT1hNbSt2ZnZENXZOaG9NSEQwSVFCTWl5REpQSmRFdnQKVitE
1589 R1VSRjIvaGZETGFnSlNRYU9nZUZHbURCdUVLWER6MFpmK1BscUdxTUxGaXlBMiswR2dETE1Qd29C
1590 b1NZZUpwNkYzUzFCSmtLaApTNExES3lNMjFBQ3JrWU9SMS9TQlMwTGNHb3ZRcFV1WGROS0haY3VX
1591 b1dyVnFtVkttUHdmZGtTcUtveFhMQ2xKRW1UVlF6UndKUzhNCmFXbHBtRGR2SHNhTUdSUHdRUGR2
1592 UjFObllzQkFMaldITE1tQUlLbGVwTlhJZ2dCWURJR01TOEVld3BxQjc5bXpKMDZkT29VclY2NlUK
1593 MlNZWWU5TE5QTkExSTZoZVV6VWM3UlpWV1R5WG9NQXRhRVliQ0ROeEFUa0Uvc2ZUeGhSdTVoQm01
1594 bERrbGdHb3dnOEtLUkJrSU5UTQp3eVBLc0JvNC9Ud3pESU93c0RDc1diTUdTNWN1MWR2ak9BNGRP
1595 blRBbjMvK3FSdm8xcTFiNDU1Nzdnbm8veWVmZklLdVhidkM1WEpoCjhPREJBZXZhdFd1SDRnc1hF
1596 RzAybzZQVGlTTjJPd29FQVdsMk85SUFmSFhvRUFEZ2xmcjFBUUI5cTlmQWFZY0RibG5HbkRsek1H
1597 Zk8KbklDeERobzBDQUNRbXBxcUoxK1ZQcGNhd2NldVhidUNic095TEVhT2V2bnFGK1U2OGZISEgr
1598 UHk1Y3ZnZVI2dFdyVkNwMDZkRUIwZApqYnk4UFBUcDB3ZUNJS0J6NTg1NmFMMENmeTBxak8rL0ZF
1599 UXFTeFR3OStoOGF0S0RnZ3lZZVZVK3p5c2h3TnNwRFl2RkFpRHdvYzB3CkRLeEd4c2RZeFNJcXhB
1600 Q25WNFpibENIS0t1bEdtSWxEVEtoQmYvQnJjNythQVFvTEM0TWtTWGpwcFpmd3h4OS9sQ0dNSUFC
1601 WDdBTEMKekR4NGpvRkgxRUxFNmpvaVJXWE5rb0RZMEpLZjBLUkprekJ4NHNSeXZWMm5vUGhFSUxT
1602 amFPeUo2dnkxNUZ2SHNRREhNUWd6bHpBbQoyV3cyL1A3NzcyamZ2bjBaMVNCL3ZQTEtLK1d1QzRi
1603 aTRtSmtaMmZqNHNXTE9IZnVIQVlOR29SOSsvWWhOallXTld2V0JNZHhFQVFCCkpwTkpQMy9Ccm9l
1604 UmcxNHZUVDR5RXkyZ1VQcGx4aC9hK0NJdEhBU1pVT3lXUzdLYXZSSTh2aXk5S243enlqRXhNZmp5
1605 eXk4eFlNQUEKdUZ3dXZhOVZxMWJWUStzc3krclo1aHFJQ0IwN2RrUnFhaW9tVHB5SWd3Y1BvcUNn
1606 QVBYcjEwZmZ2bjB4WnN3WWpCazFDc2MzYkVBRApnd0VUR2piRVY4ZU80UkxQSTE4UXdETU1hbGl0
1607 aURZYUlTdUVHS01SdmFyRjQzaGtCRVJaeHRtelp4RVpHWW02ZGV1aVo4K2U2Tml4Ckl3RGdzY2Nl
1608 MHozTnk1Y3ZvM3IxNm1qVHBnMDZkZXFFL3YzN0I5MG1QcjQ2N20zVEJwMjdQSWdrUDNhd1c0Ri9C
1609 Q2ttSmdidnZQTU8KNnRTcEE1dk5obUhEaG1IbHlwVVlPSEFnbGk5ZmZsdU9WNEdybzRKazQxOEts
1610 eURyMG5KUlZ2NXZZYjRoUC9JTkk2ZFNONnBLS3pldQpFQVQ0cUN4RjhyV2pvTmd0NnA0cHl3Q3hv
1611 UVpmUnErV2NLU3VlK09OTnpCcjFpeU1IejhlMDZaTkM5clB6SHgxRHN6QU1iQWFWUStPCm9NN0xL
1612 bENUczhJdC9EVXAvN1FTR29kWENTaTE4amRJQ2hIY1hqbUF6TU5pWkJFZHdnZUVVQ2RPbklpOWUv
1613 Zmk0TUdEZXZqMGV1SC8KOC9LLzFIZmRkUmRjTGhjYU5Xb0VnOEdBTDcvOFV1MER4K2tac0Zjem5v
1614 cWl5aUk2dklwdkxsd05JY3NLd1dKa1VTbk00RHRteWY0WApMMTdVTTVRRCs2aDIwaU1SY29zRW5S
1615 SVVBQ3FGOHVqOVVHZHMzNzRkaVltSnlNaklDTmgzNk5DaGVPQ0JCOUM3ZCs4QVphVnI5YjgwClVs
1616 TlQ4ZUxqajZPM3dZQXJPVGtJRFEwdGs2VXV5ZXEwUjVFZzREdVhDM1AvdXdwM0pUZUIyVkMrSUFO
1617 d1kvU09ncVMrcUxLTWV2K0UKM0tZWFpFM3BhZUhDaFVoSlNVSG56cDJ4ZVBGaWhJV0Y0WVVYWGtE
1618 UG5qMFJHUmw1VzQ3MWI4SE4ycThLei9kZkNDSXFFVkF3QmxmVQorU3RRT3Z6TSs1SnNoQ0FaME5j
1619 RGxtRmdNV2hLTFN5aVE0eHcrTHdsaFlBOHV3aEpBU3hHRGlZL0k5bXJWeTgwYnR3WUF3Y09MTk1t
1620 CkVjSG1ZL29DU2hSbEZGK0NGRUdkOHd3cmgwKzZQUEFzSUlnS3ZKSVM4SUxBYytxOHFXNTRXUVlS
1621 RnE2TVFFTHo1czN4NDQ4L29sMjcKZGdHQ0JsZUQ5anpRUEhaTlZ0RWY0ZUhoK1BEREQ2K3FVbFQ2
1622 L2lBaUZEZ2xGTG9rL1JnTW83NVFhUVl6THR5QWtDRDMxdkhqeHpGcQoxQ2pVckZrVHMyYk5RbXhz
1623 U1JhdnRxMlpCeEppVEhCNFpEaTlDaGhHVGU0cTcvbVduWjJOUzVjdUlTb3E2cVlNcnlBSVNFdEx3
1624 eDkvCi9JRVhYM3dSQTBhT3hIY2Zmb2pXWm5NWnc2c1FJQk9oV0JDeHh1SEE0RmRmUThNN0dzSGhW
1625 ZUNWR0lTWjJYTEw5UncrS2Njb0MzZk4KZTExTmFsUFZ1RzRuc1JYUDgvanp6eit4ZGV0V3BLU2tR
1626 RkVVekpzM0QyM2J0cjE5QjZuQWRhRWk0ZXBmQ0hWZVRmV3dUUHpmWTNnMQorR2MvRTVGT1NWaGVB
1627 dGExb0JFOGhKclV2MkZtQTZLc0J2QXNnOWd3SXhpR3dVV2JCM1pQU1dielBmZmNFOVR3YWdnejh3
1628 ZzNxd1pRCnE0V1ZmSm5KZ3FoQWxBZ0JYQi9YNkIvTE1ERHpMS0pEMVhZNTM1aE5CbCtXc2QrTGdk
1629 bFFJdVlRMEtld01HemN1Qkd4c2JHb1VxV0sKbmlqamo3SjF0eVh6cjJxaVcyQjJOUURFeGNWaDNi
1630 cDF5TS9QTDlQZTFjWVVGY0tqZXBRSjBTRThha1FiVWFlU0dmRlJKdFNxWkVaaQpyQmtoSmk0b1JX
1631 bDhmRHdXTFZxRXhNUkVEQmt5QkxtNXVVSGJaeGdHb1dZT2xTTU1pQW5sRVJkdTBKTzFOSGc4SG16
1632 YXRBbjMzMzgvCnVuWHJGakJ2cjUyUDhqMzJrZ3RvTkJvUkdocUtCUXNXNE1pUkkzang1WmN4OExY
1633 WHNDVXNESnR0Tmx6MmV2V1hyNHN1TjdZVUZlRmIKdHhzRFgzOFRBNTUrRGhhREtzOG95b1FDcDZ6
1634 bVVwUTZ6NHB2dnQvRU05ZE4zV3JrQTJVZmJ4ZmVlKzg5SkNVbDRhR0hIc0lUVHp5aApHOTZLNk9Q
1635 Zmk0cXc4NzhNUkNxSHM2eW9DVEdXdjJHK04xZ2YvTVBQUklEWDk5MXdsVkxqOXUzYlkvdjI3VWhJ
1636 U0VCbVptYlFka1ZaCkRWc0NLbUZGa2J1azlDUTZoRWVFbWNQaHc0Zng3ZkxsT0pXZURrbVNVS2x5
1637 WmZRWk1BQWRPM2FFMFdnc1laRVNDUjVSVmRWUkZOSTkKYWcxUklSd2lMWUVoZTM4QjkvTEdya0c3
1638 NzNOc2dpN0ZXRDNLcU5jUmx6WWNRNFlNUVhKeU1rYU9ISG5ONDVRK3BsTlFjTkVtSUNhVQpENWht
1639 bUQ5L1B0cTFhNGM2ZGVxVVVkUXByNjNTeVdqYVdHNFU3ZHUzeDR3Wk04b2tSVjFQSHpUczJiTUhi
1640 cmRibHorOEZweE9KNHhHClk0RGFrZGZyaGNsa3dyeDU4M0RtekJsODhNRUhBSURjM0Z4OHYzSWx2
1641 bHUrSFBtWEwwT1VGVlNLcTR5ZVR3eEMzNzZQb1dxVktucmUKaENhOG9SR2hxQytDSlY2d0pDdjYv
1642 emR5cmx5K3BFZ2lCaVkvdmVWYmdhYjJwUDI5a2JCOEJjcWlJdXhjZ2V1Q0lKVkl5bDFOKy9XdgpS
1643 T253TThjeU1QS3FBV2F2a29EbHYzODVhOEF3cWdGWEZJS1JaeEZsTmNEbUZrRUVIRGg2RXZNbWpV
1644 SGU2ZE5JSWtLU3lRUUdRTzd4CjQ1aTRiaDJtMXF5SjhWT240aUZmWW9yRkFCaDVEaDVCQnNlcWRh
1645 NU9RZkgxVi9XS1MvZUY1M25ZYkRhTUhEa1NMVnEwd0VzdnZSUmcKSkV0dnIycnBxditIbXRYMlNv
1646 K09pRkJZV0lnREJ3N2dvNDgrMG85enZXQjhuamVnemxkcXhoMVFTN3JLTzUvbnpwM0RwRW1UTUcv
1647 ZQpQTDFNS1JpMTVQVkNVNmtDZ0MxYnRvRGp1QUN0Mjh6TVRQQThyeXRBWFcwOG1zRm8zYnAxbWZW
1648 WE15YlRwMC9IWjU5OWhwZGVlZ2wxCjZ0VEJRdzg5aFBEd2NBQnE4bG5WcWxYMS9TdFhyb3lSbzBa
1649 aDVLaFJ5TFc1Y2FGUVFKVW9pMXFTQlhWTzI4Z3p2a1E2TmRQTXhETzYKbm5TQlUwYW9pWVhab0pa
1650 eDNheUI0eGlBWWRYZkIzRHJlcnlhd2RYdUlhMWZGVWI0NzBWRjJQbGZCTTBEQXRRTTUvL2xENjEw
1651 K0ZtcgpheFhrc2lIWDZ3R1JyeTBBWmw3TndEWHpESGlPUld5b0VkbG5UMlBjMDQ4ai9zd1pQQmtl
1652 anJzaUlsREpaRUtZSk1GMCtUSTZNd3pxCm5UaUJONTUvSHQvNDFJY1loZ0hIQUNFbURpYWVSWWlK
1653 UTZTVlI3aUZSNGd4dUh6aFR6LzloTmRlZXcyblQ1L0dybDI3d1BNODNHNDMKTGx5NFVNNTVBTUl0
1654 SENSWmdVZVFrVjNvaGMwbGxmR1F6NTgvajlqWVdEMEQvRWFoMVE2cjlKQWx5OHU3QnpadDJvU3VY
1655 YnNpTlRVVgp6enp6VE5CdGR1M2FwZE0xWGcrMHVkWFJvMGRqeElnUmVPS0pKeEFXRm9halI0OWkv
1656 ZnIxZVBqaGg1R1FrSUM4dkx6cmFxKzB0MUVlCmI3US91bmJ0Q3F2VmlyaTRPR3pjdUJIMzNYY2ZC
1657 ZzBhaEljZWVnZzdkKzdFZ0FFRGdyYkI4enhZbG9YWDUrbnErdEFzZ3pDVE9uM0EKQUJBVjdWNVd6
1658 NnZEcTBaTGJ2YTNwcFdyR3puMXBkSXIzWjRRdEJiYTE0L2pLNmVyaUVEK2ZhZ3d2djhpcURxN3F1
1659 NnEyZkMvdi9UKwo1QnVBYWlCNFZrM0F1cDVud0pvMWE5Q3BVeWRVcTFZTkZvc1pOYXJGb1gzYmU3
1660 Rnk1YmNxV3hIUElOVElZT2h6VDZOZHk2YllkK3dJCnFoaU5tSGY2TkVZZlBJanRlWG5Jek14RVNM
1661 VnErRkVROEszWGl5c0ZCWGhyN0ZpMGFORUNMTXVpZHUzYU9ybUUxY1FpOC9SSkRCN1kKSDgyUzZp
1662 RThQQnd0V3JUQWh4OStpS0tpSWd3ZVBCaDc5dXhCdDI3ZDBLUkpFNHdlUFJwNzl1ekJsQ2xUTUhq
1663 d1lIVHQyaFdIRHg4TwpHQVBETUFnemNTQlNIOVF1UVlIRjc4VW9MUzBOenp6ekRNYU1HWVA2dnZy
1664 U1lMaHc0WUxPMkxWKy9YcTgrdXFyMkxScFU4RGNabUtNCkdWVWlqTmZrNzk2MWF4ZDY5T2lCR1RO
1665 bTRQRGh3ekNielZpNGNHR1o3YlI1MW5idDJtSFlzR0Z3dVZ4QjJ6dDU4aVRHamgyTElVT0cKWU9y
1666 VXFZaUlpTUN2di82S0FRTUc0TWNmZjlUWnpFUlJ4TXlaTXhFWEZ4ZGdCTW96Q01FTW1uaU5hZXUy
1667 YmRzaUtTa0pUWm8wd1JkZgpmSUYxNjliaDRZY2Z4bXV2dlliSmt5Zmp6Smt6bURWclZwbjlMTDdm
1668 aTlkM0FBUFBCb1RjVFR5TFNDc0hFODlBQVNDUlN2Z1NZbVRLCkpGZVZkNTZDZ1FoZ29CcksyMjJB
1669 L1NFcGFpNklkSjI1REJXNERiaWE1TkhmaFg5SU4vN1BvOUNweWdZNlBMZEhOdkIyd0Y5NmtFaVYK
1670 SGZTSTZxZTBJbDI3ZHUySVlSaXFWYXNXRVJHTkd6Y3VRSUxOWDlKdHhZb1YrbjRQUFBBQXdTY0hG
1671 KzRuRTljN0xvNkdHd3hrWlpnQQp5VGlPWVhTcE9PMVlSRVMvLy80N0dZM0dvQkp5ZGV2V3BROC8v
1672 SkNJaUg3KytXZnEyYk1uS1lwQ2pSbzFvbSsvL1phSWlONTQ0dzM2CjlOTlBmZU1zR1p5aUtIUTYx
1673 MFVuTDZrZjJVOCt6bTYzMHllZmZFSmR1blFoaThWQ3hjWEZBZWVrdUxpWXBrMmJSZ01HREtERXhF
1674 VDYKL1BQUHFYdjM3alJzMkRCNjlORkhhZmZ1M2ZveHJpWHhKOHN5RVJFVkZSVlJ6NTQ5YWZyMDZV
1675 UkVKSW9pcGFXbEJXeTdhOWN1YXR1MgpMUkVSSFRwMGlCWXRXbFJ1bStQSGp5ZUdZV2pDaEFuNjh0
1676 emNYR3JWcWhVdFhMaVFIQTRIYmQrK25lNjQ0NDR5NDNPNzNYVHc0RUVTCkJPR3FmU2RTcFJnekxq
1677 dXAwRmxXOXRBZlgzenhCUTBjT0ZEL3JpZ0twYVNrMEpneFkyajgrUEZVcTFZdFdySmtTZUE0RklV
1678 S0hRSjUKUlprVTVlcHlqNEtrVUtGVHBBS25XR2FiZ29JQ0dqbHlKSTBaTSthYTR5RWlzbnRrOG9x
1679 Qjk0cEhWTWp1VVVpVWJwK2UyblNUQUFBZwpBRWxFUVZUTW9LSW9WT3lSeWVHVmIxdWIveGJjclAz
1680 NlIxaTlDdVA3MTBPUUZNb3RGaWkzV05BMVcvOHBFQ1NGWEVMSncweFJpTndDCmtWRHFIY0hmK0Nv
1681 SzBZN2YvNkJkZi94SlY2NFVrTWZqb2VQSGoxUDkrdldKWVJocTJiS2x2bDlpOWVxNjhhMWhzZERM
1682 OWVyUkI4bkoKTkxOSkUzcXBibDE5WFp1WUdIcW5VU1BxVUttU2p4c0xWTGx5WmIyZFJvMGFFY013
1683 MUxScE16cDg1QWdWRkJUUXBFbVRpR0VZQWtBMQphOWFrVHo3NWhJWU5HMFpMbHk2bHdzSkM2dENo
1684 QTRtaVNFU3E4WjQ4ZVRKNVBKNkFjWGxFbWZLS3ZGVGdFS2pJSlpJb3lVRWY3RjZ2CmwreDJlOEN5
1685 SDMvOGtmcjE2MGZidG0yanJLd3N1dSsrKytpTk45NGdJcUszMzM2YjNubm5uWkw5ZlpyRndkbytk
1686 dXdZN2RxMVMvOXUKdDl0cDRNQ0JkT0hDaGFEWGJPTEVpZFMrZmZ1QVpWcTdnaURvWTlhd2NlTkc2
1687 dGl4SXozMjJHT1VuWjFOR1JrWlZLdFdMWHJxcWFmbwowcVZMMUtwVksxcStmSGxBT3hwNjllcEZs
1688 eTVkQ3RvUGJmdExSUjQ2bSsrbWZJZEkrUTVSTjVMbFljT0dEWlNWbGFWL256eDVNclZ1CjNacHlj
1689 M1BwcDU5K29uYnQycFc3Ny9WQTB5UXUzUWVielVhN2QrK21JVU9HVUtkT25lajgrZk5YYmFmWUk1
1690 TzNsSkg5cXd5d1IxU28KeUMzL0pkckIvNWR4cy9icmZ4OTdyTURmQXBlZ2hzc3NCdmFHNmxQL0Rw
1691 UU9Qek9NU3VxdnFlc0VnMWNHRWhNVHNIenBGMmpaOG01RQpSVVhoamp2dXdLbFRwd0NvL00yQW1u
1692 MXNzOW4wQktQdVZhdWl2dFVLQzhjaHltaEVXbEdSdnU2UitIakVtczE0ckhwMWZUNUd5d0RPCnpj
1693 M1ZDZndQSDA1RDB5Wk5FQk1UZzZsVHAvcjZ6S0JEaHc1WXVuUXBsaTFiaHV6c2JJU0hoK1B1dSsv
1694 R3FsV3JjUHIwYVN4ZHVoU2kKS0FidzZDb0tRWllKbGNLTmlBb3hJTXpNcTlrMVlNcUUzcldTR0gr
1695 Y09uVUtUWm8wd2YzMzM0K2FOV3VpVTZkT1NFMU5SVXBLQ2s2ZgpQaDFROThyN2lFMWtLaHZLUFgv
1696 K1BKNTg4a2tVRmhZQ1VCT2lqaDA3Vm01TmNVSkNnczRZdFdyVktpaUtFcEM0MDdScDB3QTFxazZk
1697 Ck9tSHo1czFvMTY0ZDB0TFNVS3RXTFp3NWN3YU5HalZDNDhhTmtaV1ZwZE14K3Jlak1WaHBnZ2Fs
1698 WWZkSU9GL29CYzl4Q0RYemNBc3kKc2d2ZFlKbXJ6N1BhYkRhOCsrNjcrdmNSSTBaQVVSVEV4Y1ho
1699 NFljZlJ1Zk9uVXRwUjk4WU5IbkYwbjJJaUloQTY5YXRzV2pSSWlRawpKQ0E5UFIxZXJ4ZE9wN05N
1700 RzBTa2x6R1ZibHNMUVhza05ZbnVka0FUTmJ2ZEllMEtCRWVGOGYwWFFGSUlYazBqOW45UVduUXRx
1701 SE5tCm1ySDFpUlZjSlFHTEFCaFlZUHEwdC9IcHA1OGlJeU1EWHE4MzRFRlhXRmdJUlNIWUhKNkE3
1702 T0VHWVdFb0xDeEVlbm82UEI0UE1wMU8KbFVHSVpSSG1Lei94dXQwdytSSlNORXBGamJ6ZnY4K2xQ
1703 MmF6R2QyN2Q5ZDFZbG1XUmVmT25mSHBwNTlpN3R5NVdMRmlSUURGbnpZVwprNEVGRVh4bFVpckhz
1704 Ly96ajY2U1NIVGZmZmRoeDQ0ZFdMQmdBYjc4OGt2czNMa1Rqei8rT05hc1dZTTc3N3dUUTRjTzFi
1705 ZGxHVlVkClNWRTBtc3lTTnJ0MDZZSmh3NGJoK2VlZng5aXhZNUdTa29JSkV5WWdMUzBOUjQ0Y0th
1706 TjY4OXh6eitHMzMzN0RnZ1VMOE41Nzc2RzQKdUZoZlp6UWE4Wi8vL0FmZmZQTk5tZjYrK09LTDZO
1707 S2xDMlJaQnNNd2VPMjExeEFhR29yRXhFU3NXN2N1WU15QUtnanh5U2VmQktYcwp6TEY1NFpVSUlT
1708 WWVYa2xHMWhVWE12T2RxRi9aZXMxYTJxNWR1MkxMbGkyUUpKVlE1Zno1ODBoS1N0SlZrTWFOR3hl
1709 VUR6c1lydGRJCkN6NlpRa0I5bVR0OCtERGk0K1B4NjYrLzRxR0hIdEl6MlRWb0NYL0JrcHYvQ2dP
1710 czFzeWpJdkhxYjhJLzcwbGNnZHNPemV2VlNoNysKaVNpZC9Rd0VKbUJwQmdOUXkyU2NqbUtkaUw1
1711 Mzc5NDRmLzQ4WkZsR3AwNmQ5RGFkQXNGa3RzRC9NUkxDODZoVXFSSXFWYXFFczJmUApJc2IzOEhV
1712 cUNoeSsveTljdkFoUHFZZVB2eHhkdi83OUlVbFNHUW01U1pNbTRjeVpNeGc3ZHF6dU9YWHExQW5y
1713 MXExRG5UcDE4T0NECkR3YlV0Q29Lb2NndEliZFlSTEZIZ2F5UUxvMm9rWStRTHd1MXZHZnIzWGZm
1714 amRHalJ5TTdPeHY3OXUzRDZOR2o4Y2dqajZCMjdkb28KS2lvcVl6UzFSRFF0K3FGbVA2dU5qeGt6
1715 QmdNSERrUjBkRFFHRHg2TWI3LzlGbzgvL2pqaTR1TEtWYjBKRHc5SHpabzF5NUJsaElhRwpJajA5
1716 dll4aElwK1NqMFpkT1hueVpMUnIxdzY3ZCs5RzkrN2RBL3FwcWg5eFFldVBaUVV3R1RoSUN1RkNv
1717 UnNuTGpwUTdCYVJYQ01jClJ1N2EwWjN3OEhEMDZORURRNGNPeGZmZmY0L3Z2dnNPeWNuSlNFeE1C
1718 SEJqcFZ6anhvMEw2cm1XaHRGb2hNdmx3dWVmZjQ0QkF3YWcKVmF0V2lJaUlRTk9tVFRGLy9ueHMy
1719 clFKRXlaTUNKQkZMSjJWN0EvZEFMTzN6d0NYU0RyZWNsTVZ1QVlxNm56L2owTldWUDVqUUtXUwov
1720 Q2VEWjFYdlYxUktRbUE4cXo1b3ZUTGdiMFZkTGhjOEhnOEF3R3Exd21nMFlzV0tGZGl5Wll1K2pZ
1721 RURURHlMS2xXcnduYnFWSUFICkhCc2JpK2pvYUhnS0NuREE1OVd1enNuQjNVWWp0cmpkQWJXd2dD
1722 cEhsNVNVaEdQSGp1R0hWYXV3NlBNdjBlZmhIbkE2blVoTlRjVkgKSDMyRTJiTm42eThFaXhZdHdx
1723 SkZpOUN6WjArY1BIa1NDUWtKbURCaEFnQy9la29HS0hiTFVBandpQUpNUElNSUMrK1RkOVNNby9v
1724 cAo3OUpwQ2pWSlNVa3dHbzB3bTgyWU1HRUNNak16MGJoeFkweWVQQmtqUjQ1RVVsSlNtWDAxejhv
1725 ZmZmcjAwZjh2S2lyQ3ZuMzdFQmNYCnB5OGpJc3laTXdjY3grR3BwNTdDOHVYTFlUQVk5RnBacjll
1726 TGxKUVV6SjA3RnpObXpBandIbVZaMW8ydWhyZmVlZ3NPaHlQNDRLNEMKV1NGY0xQSWczKzdWSXlO
1727 TnFvWEJhbVNEZXIyWEwxL0c3dDI3MGJWclZ6MFUvL3JycjJQanhvMUlUVTNGNWN1WE1XellzT3M2
1728 dHFhTwpwV0huenAwNGRPZ1E3cjMzM3FEYlg3eDRFY3VXTGNQSmt5ZVJuWjJOeU1oSURCMDZGUDM2
1729 OVFOUWNqK01HemNPeTVZdEszT09yZ2IxClpZcEFrbXFBelQ3YTFwc0Z4ekxnR0ZWdHkxK3hxd0sz
1730 SDdmaytXNy9mK3hkZDNnVTFmcCtaMlpic21ra0VFSk5Ra2hDRVEyRWpsSkUKaW5UcHhVdFRWRkNC
1731 aTFJRUtZS2cyQ2cyNElvaVJZcFhRVHBTcENzZ05iUUVRa0pDU0MrYnpkYlptZS8zeCt4TWRyT2JV
1732 TlNyL3N6NwpQUHNrT3pONzJzeWM5M3pmK2NyUm8yallzQ0dpbzZQeDhjY2ZsM3ZkbVRObm9GS3A4
1733 UDMzMy8rVzZpcnhFSEE0ODZScVZjeHZlaW4vCkZ5aXJmcGFGVDdWemRlODZENFNGaFNsUzdqZmZm
1734 SVBRMEZDTUdUTUc5YUxxQTVBbU5ObWRLcUordE5mNldKYkZJOEhCOEZPcFFBQ08KNU9iaWc0d01Y
1735 TExibGIxVjEwbDJ4Y3BWMEdnMGNEZ2NHUC9DYzZoZXZUcnExYXVIUVlNRzRmang0MjVsdi9EQ0Mv
1736 am9vNCtRbDVlSApEaDA2NFBYWFgwZGNYSnpTVDBtVkRDbFFoL00zTmdjaHg4Z2pyVUR5OVhVSWt0
1737 UjdyMG53NDQ4L3h2bno1MUdqUmcxczM3NGRXcTBXCnUzYnR3dUxGaStIcjY0dHQyN2JkMS9pN1Nx
1738 azJtdzNkdTNmSHpKa3pQWHlPWTJOamNmNzhlZlR2M3gvcDZlbDQ3YlhYbEVRSmdpQWcKSnljSHMy
1739 ZlBSdWZPblpYZkVaRmJvZ1pYVmJvODFnOHkwVnQ1QVFaemFTS04rcUcrcUtKWGczUEpqK3NxUVdx
1740 MVdwdzRjY0pORXhBYwpISXdoUTRaZzNyeDVXTDE2dFNMMWVsTzVuanAxQ2l0V3JNREpreWVWWjhK
1741 Z01BQUFldmJzaVFzWExuaHRweWlLK09TVFQvREdHMitnCmR1M2EyTHQzTHpadDJxUVFyOXh2UVJD
1742 UW01c0xobUdVZmZmN2hmemVxRmpBeWt2di9HK0JXc1U0WTFqL3BtSXFjUS84SnNsMzBxUkoKV0xs
1743 eUpjTER3OUd0V3pjTUd6Yk1MVkE2SUwyTTA2ZFBSL2Z1M1N2M0VmNEVhRGdHVmZXcWh3cGM4V2VB
1744 WlJob09UbjdDeW5TR1pHbgpDdTZ6eno3RHNtWExzR1hMRnRTcEc0N1hwNzJCbmR1MzR1YU5KREFN
1745 QTRjZ0piMFBEaWxOTGFkSW5VNm9XQlpUWTJQeFRWb2FVa3RLCjRFc0VYWlVxNEZVcW1Fd21aVUlX
1746 aWRBb3JnVU8vM0llN3kxOEM1Y3VuTWZkakhTRWhGUkZUSU5ZOU8zYkR3MGJOWUpJcEtnODI3ZHYK
1747 ai9idDJ5dDF1a3BNY3I5Qy9GUUk4VlBCYUJXUWIzSTRzd0lCQlNhSmZIVnFEc1RBWStQUHRSOTJ1
1748 eDE3OSs1RnYzNzlZTFZhRlkyQQozVzZIdytGUThpS1hCN2tzaThVQ25VNEhqdU1VTmZQdDI3Y2hD
1749 SUtiR3JaWHIxN0szclhGWW5FTC9HRzMyOTMybVdXNEdsR0pKT1dTCjluVUdwaWpibHVUa1pQajcr
1750 Nk42OWVwZXcyaUtST0E0RmpIVi9aQlhZb2VhQTJwWDBTbmovdkhISDJQV3JGbDQ2cW1uVUtkT0hV
1751 VXkKbC8xM3k1WXA5MVVtYTdWYTdTSGQvdkxMTDlpOWV6ZE9uejZOOGVQSGc0alF2WHQzTkc3Y0dI
1752 djI3RUZrWkNRbVRKamcwVytXWmJGdwo0VUkwYWRJRXk1Y3ZoOVZxVmRvaGlpSnljM054OHVSSmJO
1753 cTBDVnF0Rm0zYXRQRXdMaXY3ekpiOUxvK3ZWa1dBUXlKZ25mcmhKV0ExCkM5Z2dSY05UYWY3YUMv
1754 YS9NeDQ2dHJQQllFREhqaDF4L3Z4NUFNREVpUlBSclZzMzlPelowKzI2cFV1WFFxUFI0TXlaTStq
1755 VnF4Y0cKREJqZzJZaksyTTYvSzd5OW5IOG4zRy83aWNnbDlWcnBucmFjYXBBWEpPV3RqNGFCMFZD
1756 SXNjT0hRM1hqQmxyNytTSEFKYmJ2dGVKaQpoUHY2NHByUmlKT2lDTHRHbzFoTno1bzFDL1BuejRk
1757 RGtLS0QyUnlrcElaemJTUEhBam9WQzUyYVZjSmpsdGNIYi8yVFNTbXZ4QUVyCkw0QUJneEEvTlFw
1758 TVBIaUI0S3RoRWVpalV0TFd1Wkw4cVZPbk1IUG1USFR0MmhYTm16Zkh1blhyWURBWTBMSmxTd2lD
1759 Z0lrVEp5cHEKNGJJUWlaUTQwbmE3M1MyVjRLRkRoekJseWhTY09uV3EzRDFmVjloc051emF0UXY5
1760 K3ZYemFxeEV6dnNpaWdSZnJXZHU0Q05Iam1ERgppaFVJQ1FuQjhlUEhjZmJzV2E4cVdDTEM3UUlM
1761 Zk5ScTZOUXNBblR1MGRxMmJOa0NobUZRdDI1ZFdLMVd0R25UUm9sUTVRMW1zeGtzCnl5SXBLUW0x
1762 YXRWU3lNL2JmVXBJU0ZBU1VCdzRjQUFYTDE2RTNXNUhreVpObEcwRitiZGwrMWRVVklTMzNub0xU
1763 ei85Tkc3ZXZJbFQKcDA3QlpyUEJZckdnYmR1MmVPbWxsK0R2NzYrMDAxdjlkcnNkcTFldlJuRnhN
1764 YVpQbis1MWJHd09TWHVrVStPaENkaktpN0FMZ0orVworY3Q1Ui96VjhORDg5VkFPU2lUNTdRMGRP
1765 bFQ1L3Zubm43czUwUk1SM2Jsemh6cDI3RWlpS05MbzBhUHB1KysrODFyV2IyaEdKVnpnCjZyZElW
1766 Qm8wNGU4Q1VmUU1yRkh4OVpLL281VVhsU0FTVmw2a0lyTkFSV2FCekhaM1gwK2owVWlMNXMrbkZv
1767 MGFVZS82OVdsMFJBUTkKRnhsSmVwV0tBSkRlMTVjNGpsTUNaOFRFeEpESlpDTGVJZERScER4S3li
1768 TlFvZGxCQm90QTJjVjJTaSt3MHQwaUcyVVo3RzRmT1VoRwpTVWtKQ1lKQURzZjlCVFVSUkpHS3pB
1769 N0tNZktsbjJLZXNneDJ5aWkwVVdxZWhkSUxyQjYrdW9JZzBJa1RKMmpCZ2dYMHdnc3YwR09QClBV
1770 YjkrdldqLy96blA1U2FtbHJoK04zTHA5TnNOaXZYVmdSUkZLbW9xSWgyNzk3dDlad2dpbFJpZFpB
1771 Z2lCNSs1b0lnME83ZHU2bGYKdjM1MC9mcDFJaUxxMHFXTFVsYlp1a1ZScElJU0d4bk01UWZUa0lO
1772 eW5EcDFpaFl1WEVqcjE2OG5tODNtdFR5NzNVNFhMbHp3Mm01WApsUFZkZHNXMGFkUGNyM1dJWkxB
1773 NHZQclVYN2x5aFJvMGFFQkJRVUVlL3N1dXZ0STVPVGtlejA1UlVSSHQyN2VQK3ZUcFExMjdkcVc3
1774 CmQrOTZiYmZONlFmOHNENjdnaWo1L0ZyNVNwL2ZlK0ZoK2VzUE5iaWFQSGt5M24zM1haYzlydkpY
1775 Qi9QbXpWUCs3OWl4SXpwMjdQaEgKTnUzL0ZRd0dBOTUrKzIxa1pHVEF6ODhQcTFhdEFvRDdkcFg0
1776 SzBCU0s3dCt2N2YwSzFsN2twdUtXU1JKQ3ZYeFl0bnQ1K2VITjJiUAp4c1FwVS9Eamp6L2kxczJi
1777 S0RGWjBmN01LU1RmdklITXpFd0VCQVFnTWpJU3ZYcjF3dFNwVTZIVCtlQnFaZ2xNZGhIWHM0elFh
1778 emlFCmgvakNYNmVHVHMyQkYwU1liQTdvTlZKK1g0WUI0TFJTMW1nMFlGbFdDZnRJVHBXcVNxVkNa
1779 R1NrUjM5WVJvcEpMZHFrNUJkeVhGK1cKa2RMUWFWUXNmRFNzUnhwSWxtWFJ0bTFiTkd2V0REelBL
1780 MGtRN2dXR2tSSUVBSkpmOU5DaFF4RVhGNGV4WThlaVZhdFdZRmxXVVNtNwpKak53aFNpS0VFVVJw
1781 MCtmeG9VTEY5eFVyL0w3empzSURBdjRhTnl0a0dXVk5jdXk2Tml4STU1Kytta0FraVNmblowTmk4
1782 V0N0TFEwCjFLMWIxNlBkUWI1cTVYOEF5TXJLUW1KaUl2UjZQUjU1NUJIRlFycGx5NWJRYXJVNGZQ
1783 Z3dKazJhaEl5TURMejc3cnR1Qm1ocXRScVAKUGZhWVd4MUVwV2szWmNpcWFwN25vVkpKbWFHc1Zp
1784 dDBPaDErL2ZWWEpDVWxLU0ZBUlNJbHdVTForOVdvVVNOY3UzWU5DeFlzUUk4ZQpQZkRpaXkvaWhS
1785 ZGVjT3RQU1VrSkFnSUNQQ1Qvd01CQWRPM2FGVjI3ZHNYTW1UTngvUGh4REJvMHlHTjgxTTZ0R3dz
1786 UCtLanBnYjBjCldJYUJpcFUwUzVwS3d5czNIRDU4R0ljUEgvN3RCVDBzMnhjVkZWRmNYSnp5L1pW
1787 WFhxR2RPM2U2WFJNWkdVa1JFUkVVRVJGQmZuNSsKRkJvYVNqLzg4SU5IV2IraEdaVWdvamZmZkpQ
1788 R2pSdEhWNjllcFlrVEo5TE9uVHRwK1BEaHRHREJndnVXdXY0cXFFaGFUMGhJb0ZhdApXcmxGYlNL
1789 U0pVYUJER1lwRk4rOXBEUlg4STVTcWRrYlJGR2s4N2VMYU0vbEhPV3o5M0lPblVvcG92UUNLK1dY
1790 OEdTd0NKUmZ3dE9kCkFpczVIT1czMzJxMTBwMDdkK2pkZDkrbHdzTENjdXN6MlVTeU85dGxkNGhr
1791 c2ptbzBNU1RJTHBMaldWRFZMcU5pU0JKL1JhTGhleDIKTzJWbFpkR0pFeWZLYmR1bVRadW9XYk5t
1792 OU9tbm45SXp6enhEYTlldVZhUmVJa21LcndnRkJRVWUvUkJGa1N4TzdVUFo5bjMwMFVmVQpwRWtU
1793 bWp4NU1tM2Z2bDA1bnBhV1J2Mzc5NmRYWDMyVnhvMGJSeTFidHFTOHZEeXY0eVNYYVRLWnFFbVRK
1794 dFNqUnc4YU8zWXMvZXRmCi82TEV4RVMzNjR1S2lxaFJvMFkwYk5pd2Nzc3BlN3hzR05hTEZ5L1N4
1795 WXNYbGUrdTc5YllzV05wNDhhTnluZTdRNkM4RXY2ZTBlUXUKWDc1TTA2Wk5vOXpjM0Fxdkl5S1BF
1796 SnVkTzNlbTlldlgwNlZMbDZodjM3NGVJVUJsamNQRFNzQ1M5QzZRL1hlTW92WC9FUS9MWDcrSgo5
1797 ZUxpNHVqSWtTT1VrcEpDc2JHeEZUNUFsV3JuUHdhQ0lGRDM3dDNwOU9uVFJFVFVva1VMR2pod0lL
1798 MWR1NVo2OXV4Sml4WXQrc3VxCm44dk9TeFcxYytIQ2hSUWJHMHV2dmZZYXhjZkhVMEpDZ2tzNUls
1799 bnR3a09GelN3Nzhib1NqdXMxS1hrbTJuODExNDJFRDE3THBZUTcKUmtvcnNGSmVDVS9GMW9wREdz
1800 cGwyV3cyU2s1TzluS095TWE3aDlxc3FLMWx6NVU5Zi9YcVZSbytmRGhkdUhDQjFxMWJSNE1HRGFK
1801 WgpzMlo1L2IzVmFxWFBQdnRNK1Y1WVdFaUppWWwwN2RvMTJyZHZuMGVzNDN0QkZFVVN2SVJYSkpJ
1802 V1VmSHg4WFQ2OUduNi9QUFBhY1NJCkVRb0JtODFtTi9WdXg0NGRsZGpZNVdIRmloWFVwMDhmSWlM
1803 S3pNeWtKVXVXVUZoWUdQMzAwMC9LTld2WHJxV0dEUnQ2L0ZZUXBjV04KYTd1dGRvRUt6UTRxTWp2
1804 YzRteXZXcldLK3ZmdlQrM2F0YVBPblR2VDBxVkxhZE9tVFhUbzBDRWFNMllNelpneG83UmNRYVJD
1805 czJkcwo1M3RCR3JlS242UGp4NC9UcTYrK1NnTUhEcVJidDI0UkVkRVhYM3hCOGZIeDlONTc3M21V
1806 WjNjOEhBR0xva2pHeW5qUDk4U2ZRcjZICkR4K21CZzBhVUZSVWxCSlVmc1dLRlVyd2VGZFVrdThm
1807 aCtYTGw5T3JyNzVLYjczMUZ2bjUrWkhGWWlFaW9veU1EQm85ZW5TNThYbi8KS2pDWlRGNlB5MlI4
1808 NjlZdHFsR2pCcTFjdVpLSWlQN3puLys0eFc1KzBBbXVQTHozM252VXBFa1RPbi8rdk5mekZydEFG
1809 KzhVdXhIdwpuc3M1ZE9KbUFTVm1tY2hvOFp4c0wxeTRvQ3lNWEZGV0kxRTZTUXIzRmE4M096djdu
1810 c2tHZnYzMVZ4b3hZb1J5WFVaR0JrVkZSU25qCldCYmxqV092WHIzb3YvLzlyOXV4aWhaS29paVN2
1811 VXhzWlhtL2xZam8yTEZqTkdiTUdPWFlybDI3S0NJaVFoa1QxN0xuelp0SHUzYnQKcXFpYmRPUEdE
1812 Um85ZWpUbDV1WXF2OTJ5WlF2MTd0MmJ6cDA3cDF4WE5xYTJ0SGNzN2FtN1NuY2xWZ2VsRjFpcHdN
1813 UzdFVlpCUVFFZApQSGlRdG0vZlR0dTNiNmNwVTZaUTI3WnRhZWpRb2RTeFkwZnEzcjI3VzltRlpn
1814 Y1pyU0paN1ErLzkwb2tMWVJXcmx4SlU2Wk1vYTVkCnU5TGpqejlPYytiTThkanZQWC8rUEVWRlJW
1815 R1BIajJVT1VCdWk5bitjQVJjR2UvNTN2aFR5UGYzUWlYNVBqenNkanNWRkJUUXBFbVQKNk1pUkl6
1816 Umh3Z1E2ZGVvVUVSR2RQbjJhV3JkdS9TZTMwQk91Yy96Y3VYT3BXYk5tSG1TVW5aM3Raa0MyYmRz
1817 MjZ0dTNyL0o5K2ZMbApDcWs4cUtGV1djaVMxdXpaczZsdDI3WTBjK1pNai9ZNkJDS3pYVXI0a0Y5
1818 aXA1K1RDOXdJZVAvVlhLK3EzM2ZlZVlkcTFLaEJMNy84Ck1qa2MzcE1hRUVrU21Fd0V1VWFlaXN5
1819 T2N0VjlQTS9UQng5OFFERXhNWFRnd0FHM3NiTllMSFQ0OEdGS1NFaWc5UFIwR2pseXBHTEUKUkNR
1820 UjhvQUJBK2pLbFN2M1BUNkhEaDBxZDRGVUZwTFJtMEEydnBSQVAvNzRZNnBWcTVhU2FlcnMyYk0w
1821 YU5BZ01oZ015alZEaHc2bApCUXNXRUpHMEdFdExTNk81YytmU3ZIbnp2S3FkWFNFSUF1M2N1Wk9X
1822 TGwzcWRtejI3Tm5sWmx1UzcwT1JXUnJ6QXBPN01WVldrWlZ5CmpQY251VG9jRGpwejVnd2xKU1c1
1823 bGM4N3BHMlFFcHRFZkdhYnFHeHplQ3ZEYkRiVHNXUEgzTzZuSUFqMDVwdHZLbG1oU2twS3ZHcG4K
1824 TEJZTERSbzBpQ1pQbmt4ZmZQR0YxLzQrREFHTFRzTXJzNzFTK2kwUGxlVDdEOFR4NDhkcHdvUUpO
1825 R0xFQ0VVMTk5bG5uMUZZV0JpTgpHemVPbm4zMjJRZFdGLzZSRUVVaTEvZis2NisvcHZidDI5UGd3
1826 WU5wL2ZyMWJ0ZXVYYnZXTGJOTVVWRVJqUnc1MG1PMUw0cEVndUE5CkJlR0R3R2cwMHNDQkEybkhq
1827 aDNVcDA4ZnVubnpwclA4MGt4TERxRzBEbEVVS2FQUVFvZXU1OUdleXptVWttY3FkNkorOWRWWGFm
1828 ancKNFc3bGxZVk1Xam5GN3BiVHVjVjJqd3c5VnF1Vjd0NjlTNFdGaFc0cTJ0VFVWR3JidGkyTkh6
1829 K2VJaUlpYVBQbXpmVDIyMjlUczJiTgpGQ25UYkRiVFN5KzlSRC8rK0tQWE5zaC9MUmJMZlc5WENN
1830 NjJGNWw1eWpiWUtDM2ZxcER2clZ1M3FFdVhMalJuemh4cTBhS0ZJcEgxCjdkdlh6VUw0eElrVDlO
1831 eHp6NUhCWUtDN2QrK1MxV3IxU2pJT2g4TkRnaVdTU09yTW1UTTBZOFlNSlMzaHFsV3I2Tmxubi9X
1832 d1VwYkgKMm15WHJIbHpqZEpZdXk0WUhJSkFtUWFiQjFISmFtSFg5bmdianhLYncyMDhlYUdVL0Vx
1833 c2tsVys2elpKWEZ3Y1BmWFVVOVN6WjArdgpDNk5QUHZtRVdyZHVUVjkrK2FYSHVSMDdkdERJa1NP
1834 cFo4K2VIaWtaeTdiOVlRalliQmZJWUxuM2xzby9GWlhrK3c5RXExYXRhTmV1ClhiUjY5V3BxMGFJ
1835 RnZmUE9PMFJFbEp5Y1RPdldyWE5iaWYvWkVFVWltOE9kd0t4V0sxMjllcFVLQ3d1cFRaczJIaE5I
1836 ejU0OWFjMmEKTlpTWW1FZ3pac3lnd1lNSGU1M3N4SEpTRU40djVNbjBwWmRlb3JObno5S1VLVlBj
1837 OWo4ckF1OFFLQ25MV081Kzg4bVRKNmxKa3lhSwpGSC81OG1XYU0yZU9oeHBYNm9lb3FHd0xUTHlI
1838 NjVJM3lCTmlmbjQrdFcvZm5qNzQ0QU1pSWpwNDhDQTFhOWFNaW91TDZibm5ucU5oCnc0WXA2dStl
1839 UFh2UzZ0V3J2WmFYbnA1T1U2Wk1vUTgrK0lCTUpwUFNwb29tWGtHVUNPeDJ2cFZ1NVZyb1pyYlp6
1840 UjNxMnJWclJFUTAKWXNRSSt2ZS8vMDFFa3FvNE5qWldTV1A0NjYrLzB1alJvOTM2NUEzVHBrMmp3
1841 WU1ISzFKeTJiRW9LaXFpK2ZQbjAvUFBQMCtSa1pFZQppenFaZUhPTlVyNWRrMDNhMHl5eENWUnNs
1842 WXlMNUZ5OThxTG5ma2pITmNldnhTNlVtek5iY0xvQmxWZ2xFcFMxRzQ4ODhvamk3aVR2CitaYXQ5
1843 OHFWSzlTdlh6L2FzMmVQY216SmtpWDB4Qk5QMEVjZmZhUm9KKzVsRy9DZ0JPd1FKT25YVnVsMjVC
1844 V1Y1UHNQdzZaTm02aFQKcDA3Szk5VFVWT3JjdWJNeXlYLy8vZmVLTWNhZkRVR1VKRk83bzN6cGRN
1845 dVdMVFJreUJDM2llUG16WnYwMGtzdlViTm16V2o2OU9sdQo2bE52ZFpqdEVyay9ERTZkT2tVVEpr
1846 d2dJcUp2dnZtR1ltTmpQVlNqRmNIYmhNZnpQQTBZTUlEbXo1OVBSTksrWjBaR0JxMWV2Wm9ZCmhy
1847 bW5JWkhnTlA3eDVwZGE5bjlCRUdqdjNyMXVWc25EaHcrbnMyZlBFaEhSb2tXTGFQVG8wZFNtVFJ0
1848 NjRva252RXFWS1NrcDlNSUwKTDlEeTVjc3I3RmRaaUtKSXVTNit5YmxHS2FldXZVeGU0aXRYcmxD
1849 VEprM296Smt6UkVTMFpzMGFHamx5SkUyZlBwMTY5KzVOUzVjdQpyYkErbTgxRzc3Ly9QcDA3ZDQ0
1850 YU5XcEVQLy84TS9HOHAyclk0WERRaFFzWHZIcFdFSlVtdTg5MXR0VmdkbEJ1c1ozeVRUeVo3SUpp
1851 CmFlN05tbHcySkhNNC9aV3Rkb0VLVFhZeVdCeVVWOEtUMGVwUStuNnZNZU1kb21LZGYrN2N1WHZt
1852 OWxYYWI3ZlR0V3ZYYU5La1NkUzgKZVhNNmZ2eTRjczVWS3E5SXkvS2dCRnhpRmNoNEh3YUYvMFJV
1853 a3U4L0RMdDI3VkpVeXJJcWI5U29VYlJ0MnpZeUdvMFVIUjN0Wm5UeApaMEFVaVhpQnlNTGZIeW1P
1854 SFR2V3cxM05ZREI0M1cvMHVtL20zSmQ5R051UWhJUUVHang0TUEwWk1vVEN3OE1wS2lwSzBTUThy
1855 THZXCmpSczMzSXh3NUhJMmI5NU1nd2NQcHBTVWxBY3VVNTVjQlVHZ3FWT25VbTV1NlY2emZML2w3
1856 OTI2ZFZQY1h4d09CMlZtWmlwa1hCWWwKSlNVVUhoNU9qUnMzcG9TRWhITDNwNzBkRXdUUnVWY3Rm
1857 ZkpLZU1vMTJpbS94Sk1ZRnl4WTREWW1wMCtmcGtXTEZ0RzZkZXU4dHN0YgpnQTBpb2tHREJ0SGd3
1858 WU9wUTRjT3RHelpNcThHYkJWQmxsQ2x0a29mb3pNb1JrV2taYkk2cU1qTVUwcXVtYzZsRml1ZlRJ
1859 T2RNZzFTCm43MzErMTV0ZVZCU3k4ek1wRTgvL1ZSeEh5dTdSU0NLSWhrdGpuTEo5VUVKMk81ME83
1860 b2ZZOEIvR2g2V3Z4NDZ2T1R2aWNyd2tnK0gKb3FJaUJBVUZLZDgzYjk2TUF3Y09nR1ZaVksxYUZR
1861 c1hMdnpUMmtZa1pTY2lraElEbFBYeGwrKzNxL08rd1dCQXIxNjlzR1hMRm9TRwpocGFiM1lWSUNr
1862 TEJzWjdPLzd6Z1REZW5jZy9hVVJZaUFYQUc5bUFZS2NqRTVNbVRFUjhmanhkZWVBRW5UcHpBbWpW
1863 cjNITE0zbCsvCjNXTXVBMUlxT2J2ZERvMUdBNlBSaUg3OSttSDgrUEhvMTYrZkVyaWh1TGdZbVpt
1864 WmlJMk5MYmM4UUlxVmZ1VElFY3lmUHg4TkdqVEEKckZtelVLZE9IYmZmeUhYMTc5OGZvMGVQaHQx
1865 dXg4cVZLOUdyVnkrRWg0ZWphdFdxYU5pd0lVSkNRcFR5aVFoWldWbW9WcTBhaUFocQpsL0NiMmRu
1866 WnVIYnRHdHEwYWVNMXpLUkRFR0d3aWtwN3pUWUJka0VLOGxERlY0VkFIeFZZdGpUUVRzK2VQUkVS
1867 RVFHYnpZYnAwNmQ3CjlGbUcwV2pFRjE5OGdUcDE2bURnd0lGdVkvRDY2Ni9qMVZkZnhkbXpaN0Yy
1868 N1ZyTW5qMGJMVnUydksvNzRncVJDTHlEb0ZZeFNwak4KaXNwd2lJUUNrd0NqMVFHanhhR2NDd3ZV
1869 Z21FWnFEa0dHbzZCdis3Qk00aFZOQWZlSzhpRmEvL0lHY2F6eENiZEV6OHRxNFFsTGZzYgpLeThs
1870 VVBCUm84SkFIRVNFRWh1QlkvK2FPY0gvVER3c2YxV1M3Lzh6UFBYVVV6aCsvRGp1M3IyTDRPRGdQ
1871 NlVOb2pNeFBNdVU1cVYxCk95OFNiQTd5bUJCeWMzUFJ1blZyUkVkSFkvdjI3VXJxdDdJZ0lsZ2RF
1872 dmxxUEJJT1NIVVQ0SXpNNDM1T0pDbnVyVWhTQUhuT1Mvc0EKaVl6djNyMkxKNTU0NG1HSHdRMXlN
1873 UCs1YytjaUt5c0xpeFl0VW1JSTUrWGxZZlRvMFRDYnpjalB6OGYzMy9TaW9aa0FBQ0FBU1VSQgpW
1874 SCtQcUtnb3IyV01IejhlZS9ic3daSWxTNVRJUnE0TG1mejhmSHovM1hjNHNHTUhUcDQ0QVgrV2hj
1875 NWtRckJlaitDZ0lCREx3c1J4CnlPWjUrQVVHNHJIbXpURnd4QWkwYTlmT1k3Rmp0Vm94ZS9aczdO
1876 Ky9IMDJhTkVGSVNBakdqQm5qTlJwVW9WbUEwY3JqVnA0WmZsb1YKcXZocW5HMEN3b08xVURrRFho
1877 dU5SblRzMkJHNXVibFl2SGd4aGcwYlZ1NllHUXdHN04yN0Y0c1dMY0xMTDcrc1JJRUMzTlA2TFYy
1878 NgpGQ3pMNHBWWFhpazNwclRKSm9KMWtxUEt5Nkx0ZmlHS2hId1RqNXdDQTdiL3NBTUh2L3NHZWRt
1879 WkFJa0lDZ3BDcDU2OU1XejRVTVRVCnIvZFE1Y3Z0RlVuS2NpVmxubVRBT1ovVis0bXpURVFvTUF0
1880 d1RhV3M1aGo0NjFnUGduMFFBclk1cFBlMk10NnpPeXJKOXg4T2VlVzcKZGV0V1hMcDBDWFBuenYw
1881 VDJpQzl4QTZ4bE5qS3R0RXVTTmxTR0VZS0FlbWFvR0RhdEduUTYvWDMxWGJSU2NCYXpuUENJQUpz
1882 VG5KVwpjMUF5QlRtY2s1R3FBdEoxT0J6Z09NN3I1RnllOU9RTmVYbDVTb1l2T1k5dGNuSXl4bzRk
1883 aTBXTEZxRk5telpnV1JaSGp4N0ZrU05ICmtKV1ZoVTgvL1JSVHBrekJZNDg5aGxHalJubVVLUWdD
1884 MXF4WmcrKysrdzZGaFlXb1U2Y09ac3lZZ2NqSVNHUm1adUxMRlN2dzA5NjkKcUNlS2lGR3JZY3JJ
1885 Z01Wb1JGUlVsSnVHUk81TEVjL2p0c21NUkk0RlZhbUM0YzgvaitFalJzRFgxeGNBOFBYWFgrUFNw
1886 VXQ0KysyMwp3Zk04WG52dE5Zd1pNOFlqYnkwUklhUFFpcVFjczNJc1dLK0JuMWFTNnZVYUZxRUJH
1887 bkFzZzdmZmZodEdvMUhKN0hNL3lNM054Y3N2CnY0emx5NWNqTEN6TTQvekFnUVBSdjM5L0RCOCsz
1888 T01jT1pOdldCMmtaUFppQUdoVURIeThTSU91a05QOG1Vd21aVEVraWlLV0xWbUcKdFN0WG9qclBv
1889 eEduUm9oRzZwdU5CRnczVzVERU1vaC80Z2tzL1BCRGhBUlhlV2lpTXRwRWFRRUpSbGxRcWxoSnF3
1890 TlV2SUFRaVdDMgppN0R5cGFrNUFlOVNzRXpBSWtuSkdNb2pZTkVwL1dvNEtPazZLMUZKdnY5WUVC
1891 RUk3aXRpYjBuTC8vaDJWS3htRmtSblJodm5lVFVuCkVhUldWVXJBWXBrMGJ2Y0NMNUNVdlVYbE9S
1892 R0pUZ0ptR2VsL1dRcG5tWXJWMGVYM1Q0NGJYZjZQRHg4K2pCMDdkbURyMXExbzJiSWwKMXE5ZkQ1
1893 VktCVUVRc0hUcFVseTZkQW5ObWpYRHVISGo0T3ZyaTd5OFBMejk5dHVJakl6RWtDRkRFQllXcGto
1894 dnk1Y3ZyN0E5UlVWRgoyTFp0RzBKRFE3Rmg3Vm9jMjdVTEhRSUMwTHhhTmZnNFZkbEZSVVhnT082
1895 K1lqMW5XaXc0WjdYaUZvQVdIVHJnbVdlZVFlL2V2Wlh6CkJ3OGV4UFRwMDdGMDZWSkVSMGVqZXZY
1896 cWJvc1JRU1Q4bkZ3SXUwc1MyT3IrV21qVjBuTllxNG9HT2hVTElxcndIcnMrQTNMNXYvenkKQzhh
1897 T0hZdkRodzhqTkRUVTdYcXIxWXBUcDA2aFE0Y09IbVhKYW1JRzB2c2hBa3E4WlRYSDRPa3VUK0xv
1898 MGFNSUR3OUhTa29LUm84ZQpqYlZyMXlydHNGZ3MyTFJwRTFhdlhvM2p4NDlERkVXODhkcHJPUHZE
1899 ZG5UUjY2RmpWSkI3eTBES2d3c0EyUVlMVGhtTGNhZGFkV1RuClp5SS9Kd3RQdEcrUGc0ZCtBc2RJ
1900 MlpzT0h6NE1obUV3ZWZKa0JBWUdlbTE3aVoyZ1UwblN1cnpWd2d2U0FsZk5TWm9kb0dJUzVnVkMK
1901 aVZWUUZwNkE5RnQvSGVmMkxMc1NzSThhWU10NXpzMTJFWUlvWlR1cWpQY3M0V0g1Nnc5TnJGQ0pQ
1902 eDRsTmhFaUVmeTFuUExDL0JuRQpDd0FxQm1EWXNxcGU5N1IvUG1wQUlBWWxOdWxITEZNYWVQNUJF
1903 MEdvV0VtYTVjWFNpUWlRcEZ6Qk9kbklaSy82RFF0MWFlSWpHRzJFCkFDK3FPMUVVTVgzNmRCdzll
1904 bFJKTENBblVBQ2N1VmExV3F4ZnZ4NzE2OWRYSk12azVHVG9kRHEwYnQwYVlXRmh5TTdPeHVYTGwv
1905 SFYKVjE4cDViSXM2MVhpRGdvS1FxdFdyZkQ2eXkrRHUzMGJ6NGVHQWpZYldFRUFuUFY2azNiZEpa
1906 N1NleFhNc29qS3pvWWZ3K0RNM3IzWQo5Y01QK0hEWk1nd2JOZ3luVHAzQ3UrKytpMWF0V3VITEw3
1907 OUVabVltOXV6WjQxWVdBNkJlTlY5Y3p6SXB4M2hCZ0krR2cwaEFUakdQCk9zRmF0M3ZzY0RodzZk
1908 SWxYTDkrSGJlU0w4TnVOME1RZ0tqNmp5SXdNQkFxbFFvMm13MHJWcXpBekprendiSXNUcDQ4aVpT
1909 VUZJd1kKTVFJQW9OUHAwTDU5ZTQ5N0pqcjNQVTEyNlVGZ25Ra3ExTTZ0Q3RmdENya2ZjcjVvK2J0
1910 T3A4T1lNV093YytkT3JGcTFDbWFqRWVlMgpiOGN6UVlGUXNTeHN2S2c4KzY2UGhJOWFoVWhCRFV2
1911 YUhWeTFGSUlBbkx5ZWl6YlRkaUNxUmdBeVQyN0VzYTMvQVFEMEh6d2NUYnlRCmIxa3dEQU1WQjZn
1912 NE9Xa0RZT1pselErNVhlY0tOY2NneUpkVHhrTGVsaWt3Q1c1U01NTXcwS2tsQXBhVE1YZ2pZSTJL
1913 Z2RrdUxYclYKLzl0cDV2OGRLaVhmdnpGRWtaQm5rb3crZ24xVlVISC8yNVdvZk12S1d3QzdTcnNh
1914 bFpSQngrcEFoWm1ISGhTdTZtY0NBNGRUK2xheAowa2RXTjkvTEFPdGVJQ0lVV1VTb09jQlA2em5y
1915 Mkd3MnhSanB3SUVEK09pamo3Qjc5MjYzYTA2Y09JRTMzbmdEa3laTndvQUJBN0I3CjkyNXMyclFK
1916 cTFhdGdrNm53K0xGaTVHYm00czMzM3hUSVU1QkpGaDRBWHFYMVFYRE1EaDkralFtamhtRDFqeVBS
1917 dVhrNmkzYmZwN24KM2ZiUkJiRTAydzNQOHlndUxrWklTQWlzZ29Edk1qS1FybGJqOG8wYllGbFd5
1918 UkpVV0ZpSThlUEhZOUtrU1dqVHBvMWJIWUpJT0g2egpFQndMUklmcUVlcXZnYzFCeUNpMGdTQVo2
1919 bFFQME1CWWJNRG1UUnV3OWZ2VkNBMHg0NUZZQitxRkUrdzJJKzdlelVkbXJpOHVYQVpTCjd6Q29W
1920 ejhla3lhOWh1enNiQnc3ZGd5aUtDSXhNUkd4c2JHS2xGcTJud0RnRUNWSmtRSEFzcExHZ2dIY0pO
1921 Vk9uVHJoNk5HamlJaUkKd0xsejU1Q2RuZTNWK0d2SGpoMDRkdXdZRHYzd0EwYjQrRUF2WnpkeVN0
1922 RUFvT0lrRFE2UjFJWnI2VVVRU01RQjNvck01aU9ocXRGRQpLYytXc0JXMnk5c0FCdkRyL1NGQ3cy
1923 cWhmbzBBeE5RS1JIU05BRVRYREVTRFdvR29HcVNIajVvcE55ZXZKTmxMWkNwcmQrU0ZwamVwClZC
1924 QUpKVFlCOWxJN01ROHBtSWhnNGFWK2VKT0FpUWdtdTZSTjBHc3JWYzlBcGVUN2o0U1psMWIxR283
1925 NVN4RXZrV1NZd2J0SXUzYUIKWUpXVDI2c1pxSCtuTkdVTUdMQU13U1lBREFocWxnSG5ZbWpGc2RM
1926 RVpCYzhEYkFlcUI1R2FqTXZBQTZCUE1aYnE5VXFrdXI1OCtmUgpzbVZMTjBJR2dIYnQydUhvMGFQ
1927 Szl6Tm56cUIyN2RyUTZYVFl0MjhmRGg0OGlObXpaM3VvaVIyQ3U4cjc3Tm16ZUdYa1NIUmhHSVRm
1928 CkIvRUNrZ3E2U3BVcXluZVJTdThoSUtYVms4L3JPQTdQVkt1R0xhbXBlR25NR1B6SGhlUkVVVVJB
1929 UUlDSGhUVWczZmVJRUIvVUNpbzEKc05LcEdZUUdxSkZkek1Oc0Y3RjUrMzU4K2NrTWRHeHB3S2NM
1930 ZlJFVjZhZjgzbWJUNCtiTkV2ajcrNkp1M1RwSVRyRmgwN1kwTEZvdwpHVGRUaXZIdHQ5K2lSWXNX
1931 TUpsTUdEaHdJREl6TTFHalJnMjNOc2pQbEpwanZFcG01ZDErdlY2UGhnMGJLcFBvQng5OGdONjll
1932 K1AxCjExL0hqaDA3QUFBZGF0WENtdXhzM0N3cFFWMWZYd3lzWFJ0NlJvMy8zazFIVW9rUjlmVis2
1933 RkExRlBYOS9lQ3JVMEVRQ1ZuRmQyQSsKL0Q3YVB2NEVoa3ovSEZQSERZSTk2N3B6d0lDUzdhK2hC
1934 RUNLUGdTLzlQbElhVTlFcUQrT0wrNkQvZWZ2NE1sSGEwS3I1aUFTZ1VRQwp3ekxPOUpXTXNvVWpp
1935 aElSMngyQURZQ2FJNmhaZC9Ma1dBWUJPZzUyZ1ZCaUZSWER5TEpTc0k5YUltQnZFckNVeGhPd09z
1936 aHQ4VmFKCkIwZmwwdVZ2Q3BFSUZxZEs3WCs5QXBYVmxXWFZ5NjRRU1NJN0ZRdVk3ZEpMcnVFQWZ4
1937 MERqZXEzN3hmSmhHcDFRSElaZ3BSN1ZWV0cKWUJtbk5FQ0EyNzdYdlpDV2xvYmR1M2REZERFWjlY
1938 RWFtWmg1MGV0S1Z6NldtWm1KN094c2FMWGFDcTlyMTY0ZE5tellnQmRmZkJFegpac3pBYzg4OWh5
1939 ZWVlRUxaTmhCRlFwR1pSNENQU3Bua01qSXk4TXJvMGVqTU1Balg2Ky9aRDFFVWNmMzZkVGdjRHZm
1940 akpCbTl1VGJQClZTVnNMQzVHUjE5ZkdINzlGWFBmZUFOR294RW5UNTdFdUhIam9OZnJ2ZTVUc2l5
1941 RFdrRTZoWGhsK090VXFPS3J3cFoxcTdCaHhYaTgKTThPQ21mK3VncWhJclhNOHBPdTBXZzFpWTJO
1942 aHNaaVJmdWNPb2lLMStQZUxPcnoyUWdZZWE2eEM0dlhMOFBIeHdiVnIxOUNnUVFQNAordnIrYmhv
1943 emp1TlFyMTQ5S2NjeHkrTEdqUnVZT25VcTB0TFNsR2YxYkZZV0Vnd0dXQVFCaVVZalBybDVFeXRT
1944 YitKY1VTRktIQTVjCk1CVGg0K1FiNEVsRS9iQUF4TlFNZ0ZiZUFoSUZqT3NTaTViUjFkd3JacHlm
1945 TXNzQ1B4OFZPQmJvOEVnTlpkK2NaUmh3SE92VmdJdUkKd0xFRVh3MmcxemdKbVNUcFhCQkxjNmt6
1946 REFPdGlrVVZQUWRkcVRjWlNtd2lpaXdDQkpHY0JDeTlPeFplZWxaY0lTOXFYUGYzSy9IZwpxSlI4
1947 LzZhdzJFVVE1QlgrLzRaOHk1SnVWbFlXdG0zYmhoRWpScmhKYS9MTGE3SVJCR2RDY3AybWZQWFpn
1948 OVR2NmlyRU1aSTZtV1VZClJmM01lVm1OTTR4RS9MSkt1aUxlbC9kRk5Sb05acytlalhyMTZxRkJn
1949 d1lBSk1sQncwbWtiK0VKR3BYVUJ0YzlRd0JvMkxDaGtteTcKckZXcDY3R25ubm9LdTNidHdrOC8v
1950 WVRubjM4ZUxWcTBVSzRWaVZCaUYyRG1CUVNSR21Ba0lwMzErdXRvWkxFZ3NzeCtibmtvTGk2Vwpm
1951 Ry9OcFpiSVJLVUdlbmFIQ0kySzlSZ1RzOW1Na0pBUWRQWHp3L3F0VzJHSEpISC82MS8vd3ZQUFAr
1952 OTkzQ0NwZTB0c0R2aW9PV2hkCkxHSjNmYjhPNTQ0dHc5ZkxBaEFTclBKWUlNbFFxVGhFUjBjak16
1953 TUxWcXNOQm9NQjdWcFZSY2NuUWpCaHhrZlE2WFE0OU5NeE5HN2MKMk9zQ29DSVlqVWFrcDZjaklD
1954 QUF0V3ZYZGp2SHNpenExcTJMNU9Sa01BeURGU3RXd0dhelllN2N1Ymg0OFNJQUlKQmg4RnlOR2pq
1955 UAo4emlXbHdjRHp3TUFKa2RISTl0bXc4YTBOSWdnM0NneDRyR2dJREJnRkVxMTJXencwYXJ3NDRH
1956 RDZEdHlJdlp2WHVGVU8zOEVWaC9pCjBWYTlWZzBWdzBCMW54dXJYSms1Z0FIQWNxVUdtWUQ3ODhj
1957 eURQeDFLdWpVaEdLcjVKYmtjRXJCZWkwREh6VUxIN1ZFdmhZNzRLTWgKNVptUnBGL0pqa09udW44
1958 UGdFcTRvNUo4LzRZZ0lrWGwvTDl5ZUM5TFdsOTk5UlhtekptRENSTW1RQkFFcjc5UmNRelVqS3p1
1959 ZmZnWApWSEZoY25HM0tLdENsb3hwbkJNQzR6a2hzSXprL25TdlpzajdOMkZoWVdqUW9BR3VYTG1p
1960 a0s4Z0V1RGNPYlE3U0pJQVhBcVVKY2VjCm5CdzBiZHIwdnF6T0gzbmtFVHp5eUNNdWZaV0RYZ0FK
1961 ZDRyaG8rRlFJMEFMZ01HM1c3WWc3ZlJwREw1UDRoVkZFWGw1ZWFoVHB3NzgKL0VyVnU0SW9UY2dN
1962 QTZnNEZpSVJPS2JzZ2tXeVBzKzhjd2NOckZZYzM3Y1ArMCtlTEpmd0ZDTWx0V1RNSkJBaDEyaUhy
1963 NGJEN2VSRQpyRnZ6THRaOTdJK3FJZmVlY2xpV1JhMWFOUUVBUEcrSHYzOEFxbFJSWWRrQ1Bib08v
1964 amQ4L0JwaXpabzF5bmk1MWs5RVNFcEtRbEpTCkVnd0dBNTU2Nmlsd0hJZEpreWJod29VTHFGYXRH
1965 dUxqNHpGNjlHaVBlc3VxMHJWYUxhNWV2YXA4ZnpJc0RKU1hoOFpoWVRpV2x3Y0EKYUJJWWlBWUJB
1966 UWdYQkd4TVN3TUFKQm9sOG5XRjNFNGZqUXFONndSaGYra1pyMk9nMTBtU3I2dktkK0hDaGJoNzl5
1967 NGVmZlJSZE9uUwpCZlhxM2R1WG1HRVlEMVU3RWNGaUYzRDBTaGJxaGZram9wb2ZlQkV3MjZXMm1H
1968 d0VHeThnd0ljcmw0RFZIQU83SUwxdjJrb1dlU2hVCkR0dmZFQmFubGFYS1M1Q0pQd3F1YzdQUmFN
1969 U0JBd2V3YnQwNmRPelkwZTA2bVR3azlkWnZXeFdUVThwMU9BMW5WSndzYVhxL3ZqenIKWjI5OWNH
1970 MnJIQUNqOURxSmVLcFZxMWJtdU9RYXhUQUVtME15NWxLN2pMOWMzcUZEaDlDNWMyZHdIT2RoWVh5
1971 djhaRFBzd3dRRWVLTApIS05rckZSY1hJeVBGaXhBWDE5ZmxCaU4wT3YxSHNSdXM5bGdOcHVWdlZ0
1972 Wm1uTTFzaUtDUXJ4RUFCaHB3azAwR3BGa05JSUIwQzR3CkVQbjUrVENielFnS0NrTHI2R2hZaW9y
1973 d3laSWxtRFZ2bmtkL3kvYVJaUmt3QklUbzFVakp0V0RtbTVNeGFSd2hyTG9hYXpibVlleWsKMndD
1974 QWZWc2kwYVZqTUlpa1BXbTlYZytWU3VWR09FVFNZc1ptczhKdXQyUHlPTUsrazRFUVJWRjV6bHhW
1975 eitmUG44Zm8wYVBScUZFagpoSVNFNE9EQmcxaTZkQ242OSsrUG1KZ1lNQXlEd3NKQ2JOcTBTZmxO
1976 WVdHaFlsVXVnK2Q1aUtLSXJLd3NwWTdxdnI1Z2RUcndMb3ZOCnVrN0xkUitYZTJIeHNoaDF2VmNC
1977 dmhxbkJvbkJGNjg4QVovQWFqaC9LeDlmSHJ5QklwTVVGVTJ2VTNrOHIyM2J0c1d2di82S3ExZXYK
1978 NHNTSkUvamdndzhRR2hxS0pVdVc0TVNKRStqWXNTT2VmLzU1eFRpdVBEQU1BeDhOaDJaUlZmSDJ0
1979 eGV4N1pjVVZBdjBRZjJ3QU5TdAo1b2VJNmdHb0Z4YUF5T3IrcUJPaWc0K2FnOVhoVHNBY3k0QmpD
1980 WGFCZnZQaStwK0tTdkw5bTRHY3p2TUE0S3Z4SGd6aWo0Q3I4UkRICmNUQWFqYWhSb3dadTNyeUpr
1981 eWRQSWlJaUF1M2J0M2ViakI4NmlwQlR5aFdjRnB3YTd2NzhjMlhDdHpvQWpybTNNWWlydXJpc2o3
1982 SGQKYmtmWHJsM2RMSHBaaGdITEFSekx3dTZRQWhpNExqRGt2d3NYTGxRTWdWd2xzZ2NCd3pDb0dh
1983 U0Z2NDhLRE1OZ3gvYnRxR0czbzJwZwpJTTVkdVFKL2YzL1VyVnZYemFDTFpWbmN2WHNYZ1lHQlNs
1984 L0tSZ2tUbkh1OVVoMnlvUTRoc2RpSTNWbVpBSUNXUVVHb1diT20yK0tqCmhaOGZObTNlak1sVHAw
1985 THYzR3N1MjIvUHNTWGN1SElPYXR4Qzl5Y0R5NXdIMG03ZmhpQUVnZU5ZWnloT1FtQmdJRVN4Vk9J
1986 TEQ2K0wKakl5N0lBTDgvUHd4YWxodEhQbzVGVC8vL0RQYXRXdW4xQ1UvYzAyYk5zV2xTNWVVZXFw
1987 V3JZcjU4K2ZqOHVYTG1EOS9QZ0Jnd0lBQgptRFp0R2s2ZVBGbW12VkJDWUthbHBTRXFLZ3IxNjlm
1988 SHI3LytDb1poY05OZ1FOdXFWZUZ3ZVU3VTkzQ1BFNXozWGUreVArKzZ1R2dUCkc0cTZkZXVpZTlQ
1989 YUdQSjRQVHcxZHkrTUZoN0JmbG9QaWJWVHAwN28xS2tUQUNBaUlrTFo5amx4NGdTNmRPbUN6WnMz
1990 bzFtelptamIKdHEwU1NheGF0V3BvMkxBaDJyWnRpNzU5K3lyUEE4TXdzUEVDWmcxcWlwa0RtK0s3
1991 bjI5aDdhRWIySHYramx1ZFFYb042b1VGSUxabQpBQ0xEQWxBL0xCQ042Z1FnS3N3ZkdvNkZoWmVz
1992 eWxXVmJrY1BqRXJ5L1p2QjVvelV3em1sc0Q4S3Jtcm01Y3VYNC8zMzM4Znk1Y3Z4CnpEUFB3R3cy
1993 bzJuVHB0aS9mejgyYk5pQVhyMTZZZlBtemZqdXUrK3diTm15QjRvRTVWcWYyMzR1SzdrUFBlZzI4
1994 YjNVejBTRXMyZlAKSWpFeEVZbUppVEFZREZDcFZEaHk1QWo2OU9tRE9YUG1BSkI4UEh2MDZPRzFE
1995 c2tua29HRmwxeE5OR1h1USt2V3JUM3FsSDkzdnhCSgpza2dGR0RBa1l0MnFWV2poakxlczErdmg2
1996 K3VMMU5SVTFLeFpVOWx2VjZ2VllGa1dnaUM0TFNSa1pibmdZbkFtK1h1S3pxQW83Z1RDCmNSeEN5
1997 MWdSKzZ2VnFHazJZK2ZPblJneVpNaDk5MlBmanJVWTNOdjc4NkRSYXNEelBEaE9pK0RnWUtqVjBu
1998 VGtFQVJBWkJXU2tsWFEKTWdiMEVMSDF1NjhWOHBYN0kwdVRnT1R1dFdmUEhnd2JOa3lKTkNaZFI3
1999 aHk1UW9LQ3d1VlkxV3FWRUZoWWFFU1pJTmhHTlNxVlF1QwpJQ0E2T2hxQVZPNXRyUmJkQWdLUVZW
2000 SnkzLzIzZTFtSXl0c01SSVFqUjQ3ZzJXZWZoVWJOSVNMVUg1KzgwQWFqbGgxRmVLaS94MVpQClhs
2001 NGU1czZkaTZDZ0lNVEZ4YUZLbFNyWXYzOC8vdjN2ZjZOZHUzWVFCQUU3ZHV4QTI3WnRrWmVYaDZL
2002 aUlyenp6anRJVEV6RTNidDMKUFRRbHB4SnpNR24xS1F4b0c0bFJUOFpnMUpPeCtDVXhHMThmU3NL
2003 ZXMrbmdCUkZGSmp2T0plZmhYSEtlMjI4NWxrRlVtRCsyVE8rQwpteVUyWEVySlEwek5BTVRXQ2tT
2004 SWY4V1NkeVVrVkpMdjN3aVNqNTJrMHZvanBWN1hsejRwS1FrN2R1ekF5SkVqOGQ1Nzc2RlBuejZv
2005 CldyVXFyRllyMXExYmg3Rmp4K0xGRjE5RVRrNE80dVBqTVhIaVJLOXhpU3VxeXpYMEkrZGxQL2RC
2006 SWF1ZlpkSnh4ZlhyMS9IU1N5L2gKeVNlZnhLaFJvM0QrL0hsb05Cb2NQMzRjSnBQcHZxT0RhVlVN
2007 YkE3SjUxSE5sVSt1cmtrZzdoZVNQNmJrQ3VLalluRCsvRGxZc3JKUQoyMG15UklUcTFhc2pNREFR
2008 NmVucENBa0pnWitmbjZLZGNHMEhMMGlHVUpsV0MzNHB5TWRsUXpHeWJGWUFRSFd0RnAxRHErTk1Z
2009 UUZ1CnVoREtyTXVYQVFEQkdnMFdOWkg4VXd2c2R0ek16c2FZMGFNeFpzd1lSRWRIbzBlUEhoZzhl
2010 REMyYk5rQ3U5Mk9DUk1tb0hidDJ2ancKd3creGRldFdKQ1Vsd1d3dXdjK1ArYUJPVFExYU5YTzN6
2011 dVlkREtiTXVZTmQrODJvWFZPTmllTkNNYWhQRmVUbTVDSW9LQkRmZkcvQwptbzM1dUpGaVJXR1Jn
2012 SkFxS2pTSTF1SGxzZFZ3N3R4SlpaRjM5ZXBWZlBYVlZ6aDI3Qmd1WHJ5SXdNQkFhRFFhK1BuNUlU
2013 SXlFcTFiCnQwWkNRb0p5ajY1ZnY0N3UzYnNyV2dOdmFtZWRUb2ZpNG1JY1BIaFFrWWF2WkdiaTdk
2014 eGNkS3RldmNMN0o1ZVNZN1hDNGVXWjZOeTUKTTFpV2hTaUtHRFZxRkVhTkdvVVJJMFpnM2JwMWFC
2015 b3BHVi9WRGRGNzdBWXpEQU5mWDE4Y1BIZ1FDeFlzUUU1T0RsSlRVOEh6UE9iTgptNGUwdERUa09m
2016 ZWliOTI2QlNKQzkrN2RBUUNwcWFsdXo3V05GM0F4dFFBbFZoNWZIMHJDMTRlUzBEbzJGS002eFdE
2017 NXVIWW9HbTdECk4wZHVZdjJSRzdoYllFWlpDQ0loNlc0eFZ1eThpRGkvYk14NFl6RXNSYm1vSGhL
2018 QTBTUDZZZWl6ejk3WG52US9HWlhrK3plQ1haQW0KY3BhUkRGditDQWhPeVZOT2lCQVRFNE9QUC80
2019 WURSbzB3SkFoUXpCejVrd3NYcndZcjd6eUNzNmRPd2VHWVdDeFdCQWFHb3ArL2ZyQgpZckhjVnoy
2020 dSs3bHljSUNIRGYxWUZyTDZtYnl3YjhPR0RkR3BVeWNrSkNTZ2NlUEdTRWhJd0xmZmZvc1JJMFpn
2021 NHNTSnluVldxeFhKCnljbUtaV3haWXBVc3VobVk3TkkyQU1PVXVpSzVobHkwT2FSNHVmZTdVT0lG
2022 S1FrQVFmS0gxcWxaWEx4d0FiVWNEcVVNanVQZ2NEamcKNStlSDZPaG8zTDU5R3lVbEpTQWlyL3ZV
2023 QUxENVRqcHVscFM0VGVnNU5oc1NpZzNsK3I3S3g3T3NWaXk4ZWhWMkp6bXhMSXVFaEFRawpKQ1Jn
2024 NTg2ZE9IandJQTRlUElnTkd6YmcrKysvVjlTK3Nqci96SGtUTGlkYTNNaVhDSmkxeUlyc1BBc1lC
2025 a2pQc09Qbk15bncwUklhCjFqZkN4OGNIK3c4WDQ4VHBFcVVQMmJrOHNuSjRIRGxwUkt2bXRaQ1Jr
2026 WUhhdFd2ajVaZGZ4cEVqUjVRNmMzTnpRVVRvMWFzWE9uVG8KZ0NWTGxuamNPNi85ZFZGZkZ4VVZJ
2027 UzR1RG1sT0l5cEFrc2d6ZUI1Sjk1QjhHUURuazVQeGc4bWt1T25JUm9sTGxpekJsaTFiMEtwVgpL
2028 L2o0K09ENDhlUGdlVjVwazhZWmlxMW1pSytIMWlja0pBVHZ2LzgrTm16WWdFMmJOcUZSbzBZSUR3
2029 L0g0Y09IRlpXNkhPMHJPVGtaCktTa3B5djBxQ3lzdjRFWm1zZHV4WHhKejhFdGlEa0lEZFJqV3Zq
2030 NmU3UmlOVjNvMXh2NExHZmo2VUJLT1hjMTBjMDBUaXU1ZzFiUjUKYUJYSW9vZUZoOTBoSU1SU2pP
2031 dHIxMkxZdW5YbzgreXptUEhtbS8vemlIdC9GMVQ2K2Y1TklHZG1BU1FMNTk5YjZwWER6amxFejZR
2032 RApzclh2ckZtenNIdjNibHk0Y0FGMTZ0VEJsQ2xUa0o2ZWpwa3paMkxRb0VISXk4dEQzYnAxSzZ4
2033 SGRBWUNzRHFrT3JXY1pDMVpYcUtECjN3S0IzUGRhNVFudy9mZmZoOVZxUmJ0MjdUeUlWNzdlYXJW
2034 aTh1VEplUHp4eDNIaHdnV3Y1YXM1S2R1TVhRRHlTeHpJS0xRcjkwZ0sKcXluSGs2NjRZNklvd21h
2035 endlNlFKRjZDbEl4QURsNS8vdFFwaExvUWFzMmFOY0Z4SE94Mk93UkJRRlJVRktwWHI0NndzREFF
2036 bEFtNgpRUVJrbWEyS1pQdGsxZExZeUIyclZzTWpBWUdZSEIyREhpNXE1dW5SRGZCNWZEd1dPcVhl
2037 TGVucDRKMnVSREdob2RpMmJSdEdqaHdKCkFMaHk1UXJXckZtRG9VT0hRcVZTS2NUYnNXTkhmUExK
2038 cHhneXFENDJmaEdKZXVFdVRxVk9xRlFNTm53V2pQT0hHa0tuazhabys5NHMKNkhRNkJBVUY0b1dS
2039 MVhEaHAwWW92QmtIWTBwVG5OclhBQ0ZWT0tsUDJjWEl5Y2xCY25JeWpodzVBb1poOE9XWFg4SmtN
2040 aUU5UFIzYgp0MjlINzk2OUVSWVdocDQ5ZStLTk45NEFJQkhzM0xsemtaR1JBWXZGQWxFVU1XblNK
2041 T1Zja3laTjBMMTdkN3o1NXB0SVMwc0RFY0hmCjN4OVBQZlVVMHRMU3NHelpNb2gxNjZKbi9mcVkw
2042 YUFCV3J0a0Rsc1JINDkzbWpSQlJGQVF6bFNyaG1VYk5zQmlzYUJEaHc1NDY2MjMKc0cvZlBwdzRj
2043 UUp6NXN4Qnc0WU4wYU5IRHhRV0ZrSVFCQ1ZhbDkycEFxb1o3S084NHphYnpjMVAyMnExb2w2OWVy
2044 aDkrelphdFdybApOcVp4Y1hFQWdHZWVlUWJqeDQ5WEZoUm56cHh4dTQ1bEdBL3lsWkZqc0dMWmpz
2045 dG9QWFViWHZ6MEdQUmFGVGErM2hsSDMrbURjVjBiCklFaXZnV2pNQm5meU0zU3dtZEdCMDZGWnRX
2046 QUVxdFNvN2VlTHg0T0M4S3lmSDQ2c1hZdDMzMzdicld4WGw3ZC9PaW9sMzc4SnBDUUMKMGdUNGUy
2047 Y1VrU1BkTUV5cHlsY1V5VzBQRFFBZWZmUlJEQnc0RUcrKytTWjI3dHlKcDU5K0dvMGJOOGFCQXdj
2048 UUdSbnBKam02b3V4Kwpyb29GZEw5UnRleFpoN1FYTG9neTZRSmduRmJTckNUTnlJU1ZtcHFLeG8w
2049 YlkrUEdqUmc4ZURENjllc0hRQ0puT2Nmc2poMDdFQlVWCmhkcTFhNk80MlBza3hUQU1mRlFNU3V3
2050 RXJacUZsUmZoNnd4NElxdlJ5N3BwZHV6WVVRbm12M0hqUmt5Yk5nM256cDNEekZtejhmTXYKditE
2051 U3hRdkl6OHNGeTdLSWpJekVnSUdEa1hEK1BKNTJXckNlek12RDJ0dTNRUUI2cTFSSUlVSTZnQUNX
2052 UlZPMUdrMkRnaERxSXYzdQp6c3pFei9tU0twSUFYRFdXOXFXcVZvYzRmOGtseGlHVStvTXV1WmtJ
2053 dlZxTk9qNCs2RnV6SnBLTVJnQkFxRmFMT3dVRjZOdTNyN0t2ClRVU1lQWHMyVWxKU2tKcWFxaHk3
2054 Y3VVS29xUFBBMFRvMDkyN2E5U2dQbjVvMTFLRnVuVjkwVGpXQjJjdm12SHpyN3ppOGxPcmhnb0wK
2055 UHN6QzhWOUtrSmx0Qis4U0o4Um90RXNSdFNJaVVLTkdEV1JtWnVLTEw3NUFabVltYXRldURUOC9Q
2056 d1FHQnVMQWdRUG8xS2tUVHAwNgpwYWlQRXhJU1BCWXBjcnZyMWFzSG51ZHg2TkFoS1hBRnh5RWxK
2057 UVdyVnEzQzFxMWJNWEhpUkR6MzNIUFl0WE1uMXExYWhhUHA2UWhtCldiQUF6QUNNR2cwR3YvUVMz
2058 aHMyRExWcTFRSUFGQlFVUUsxVzQ0Y2Zma0NmUG4zdzlOTlBvMGFOR3Zqb280OWdNQmpnNCtPanRF
2059 RWsKUWhVL0xhcm9TdzNwekdZelhuMzFWZkE4ajNidDJtSFhybDJZTVdNR2VKN0hxRkdqa0oyZHJi
2060 Ui8rZkxsV0w1OE9jTER3OTNjcVk0ZgpQNDRkTzNaZzM3NTlpSXVMd3l1dnZvclVIS05iL3gxM0w4
2061 RjJiUmZFNHJ1QUtJQU5xbzBkR2IyeDUxdzZvc0lDOEs5TzBmaDMzMGZSCnA2RWFBL3RPUVVseE5u
2062 YVRpRjhzaFdnVFdoVU5mUFZLUUpDemhZVTRjUHMyOXMrYmh4cDE2dURZc1dQNDhjY2YwYkpsUzJ6
2063 ZHVoVUEKc0g3OWVueisrZWU0ZnYwNjFHbzFtalp0aXZuejU3djV1N3UrTCt2WHI4ZnJyNytPR3pk
2064 dW9FdVhMbGk1Y2lWdTM3Nk4xMTU3RFJjdgpYbFFXMFJFUkVWNmZ0NzhjNkMrQXYwZ3ovdElvTlBH
2065 VVhXd25vOVh4dTVickVJZ3NQQkV2RUlraWtTaUtaT05GS3JZSXhEdEVFa1ZSCnVWWVVSWEk0SE5T
2066 MWExY2FQMzQ4alJvMWlwS1Nrc290V3hTSmVBZVJ4UzU5ZUlkMDdQZUNLSXJrRUtUMm1tMGltV3dp
2067 V2V3aTJSMGkKQ2M2S0JPYzFydjM0OE1NUDZjVVhYNlF6Wjg3UWp6LytTRVJFTnB1TnNyS3lhTXlZ
2068 TVpTYm0wdjUzd1czZFFBQUlBQkpSRUZVK2ZuMwoxUWFMWGFEc1lqc1ZtQnlVWDhJcmRacHNJdkdD
2069 WjJjN2RPaEFETU9RbjU4ZitmbjVFY013eExJc3JmNzZHK1YvK2NNd0RERU1RMEYrCmZ2UjVzMmEw
2070 TWo2ZVJvV0hFd0JpQU5KekhESE8vK1ZqQS9WNmVxOStmVm9aSDA4RGE5ZDJPMS8ydzRHaEFUVnIw
2071 K2ZONHFtcVJ1TjIKVHY0ZDUvSTl2a29WOGxPcGlHRVlDZzRPZHIrZVlVaXYxN3Q5WnhpR2F0YndJ
2072 OU9kT0RKbk5DVXhKNTYrV2g1T0RBTmlHTkNHejBJbwo0U2NkRmQyc1QyMWE2SWhoUUxYQ1FOZVAr
2073 OU9WSTc3MDVPTmE1VnFXbFQ3eWQ3MnZtbTdjdUVGRVJPdldyYU9Ra0JDbFRua2MyN1ZyClIrdlhy
2074 eWVUeVVSejVzeFJqdCsrZmR2dG5zeWRPNWNZaGlFQXRISGpSdXJWcXhmNSt2b1NBSHIwMFVlSmlP
2075 ajY5ZXMwZE9oUWorZnYKMHFVRU9uandJTzNidDQ5T25UcEZWcXRWZWRiNjlPbERETVBRMUtsVGlZ
2076 Z29QajZlTGwyNnBQdytQajdlb3kxMmgwaFpCanM1eWp3NwpseTlmcGcwYk50Qzc3NzVMaHc0ZEly
2077 dmRUa1JFb2FHaGJtTXVQenVSa1pFMGI5NDhwVi9Cd2NIS2VYbU1lazcvbWdZc1BrUzlGKzZuCjJH
2078 N2pTUEk3WXdnTUszMmMzNnUwRzBmVlIyMmdvT0hycUVxM1djUnlLcmRuUlA0LzFzK2ZWalNMVjU1
2079 VCtaenJjLzdNTTg4UUVkRXIKcjd6aWRxL2tkbkVjUjN2MzdxM3dmWkUvYmR1MnBXclZxcmtkYTlt
2080 eTVmMjh0cjhySHBhLy9oS3NWMG0rRmNQdUVDbTcyRTdaeFhZUwp2RXpvRHdOUkpMSTdpS3c4a1Z5
2081 a1F4Q3B4Q3BRc1VXZ0VxdEFCb3ZnUmxwRVJBYURnZUxpNHFodTNicTBlZlBtY3N0MkNFUm11MVMr
2082 ClEvajlTRmNVUmVJZElsbnRFc0daYkNKWmVkRmpvZUFLdS9PY2ZMNjg2MUpTVXVqa3laTnVkUW1D
2083 NXhpNElxZllUbW41VnNvdjRhbkkKN0NCUmxOcG1zWHR2anp5Wk1BeERUejc1SkIwKy9nc2xwV2JT
2084 VDhkK3BuMC8va2paMmRsVVlyYlJwV3UzcVAvQUljcmsrWEhUcGg3awpHNkxSMEtUb2FCcnA2MHRx
2085 aGlFR29CWTZIYjBUR1VrcjQrT3BubDVQREVDQktqVTlYN2NlVGE0ZlRjRnF0UnRwK3F0VU5Ebzh3
2086 dTNZCnBLaG9HaDBSUVJxV2RTUGo2bG90K2F0VUhpU3UxV3FWZHNvazBMcDFhMklZaGxRcWpvcHZQ
2087 VVppVHJ3YitiSXM2S3VsR3JwKzNJOVMKZjYxR2o3ZnlJWVlCUmRSUmsvVk9FN3IrY3lPRmFGOSty
2088 aHJsWG4rTUtEZWVvdXRKaEt6VnFzamhrQmFpRGtFZ2c4bEs1ODlmb0hYcgoxbEduVHAySVlSZ0tE
2089 UTFWcnBHSnFEenlCVUFzeTlLV0xWdW9aOCtlMUtoUkkybUJ3bkdVbloxTk0yZk9wRHAxNm5qY1Q5
2090 NGhLQXU5CnNqQ2J6WlNZbUVoeGNYRjA5ZXBWcWxldkhpVW5KeXZuNjlhdFMzZnUzSEg3alkwWEtN
2091 dGdweEpieGMrZGpMeThQSHIyMldmZCtyWjMKNzE1cTFxd1poVHVmRlFEVXBFa1RPbjM2TlAzNDQ0
2092 L0s4L2YyNG84b3kyQ25zMWVTU2FmVEVjTXdOR1Q0ditqc2xXUTZkL1VXZGVuZQpreGlHSWYrQUFF
2093 ck9LS0FzZzUyaW9tTWtrbVFZR2xHN0xzMXUwSWdhQndRb1JQeTg4OW1UeVpjQlNLTlcweGRmZkVG
2094 R281R1NrcExvCjlPblRTaHRtekpoQjJkblpkT1BHRFdyZXZEa3hERU1SRVJGZTM1ZHg0OGJSelpz
2095 M3FXWExsc3F4eHg5L25LNWZ2MDRqUjQ1MFBtOHEKS2lnb3VPZTQvWjU0V1A2cTNQUDlHOERzdEhE
2096 MlViTWVXVVllQm5KY1pJSlR6UXdwRVlMWlhwcDRXemFFS3V1ZXVtelpNblRyMWcyMwpiOS9HNE1H
2097 RDNjNFJTWHU2Y2dBS3JlcjMyYytWVXFoSkdaSXNmS21LWEt1U2tqWm9WVkppaWZMMndWV3MxQ1la
2098 M254dlJWRkVSRVNFCm0xOHZ3MGh4ZnNzclZ4QWxZeXVXa2FJNmFWV01sTUpRSldkUktyL1RETU5n
2099 OGVMRmFCYmZIRFhDcXVIeDFzMXg1dlJwZEhxeU0yclcKQ01WamphS3c5YnN0eXZXNU5sdnBieUhk
2100 dTJiKy9xak84d2pUYUZDVjQwQUEwaHdPNkhRNkdIa2VLU1lwdlYrTXZ6OVNyU1ZRTVF4YQpCTHVI
2101 TWpRNUhMaGlNTGdkS3haNHRBNE9ScFJlNzJhTWxXT3p3ZTZNZGExU3FaVCt4Y1RFS0gyU2orWG41
2102 MHRaZHh3QzNuem5Mbzc5Cll2UjRCdXJWaTBCc2JDekN3K3NxUmprTXkwQ3IxY0JRWE9vWHBmZVZM
2103 SkUvL0N3Yk4xT2tjZEJvTk9BNERxbnBHWmc2YlRyYXY3Z2MKdW9BUTlPalpFeTFidGxUYWNQZnVY
2104 WWhFYU5Tb01RRHBuaC82NlRBRUY3K3JHemR1dU4wWGhtSFF1WE5uTUF3RFFSQVFHeHVMMU5SVQpx
2105 RlFxYk55NDBTM3FsVmlCKzdhUGp3OWlZbUxRdFd0WEhENThHREV4TVRBWURDQWk1T1hsSVNZbXhz
2106 My9GNUNlS1pOTmdJMFhZZVZGCmlDS0JGMFNQK01veVFrSkMzTHdMaUFqZHVuWEQwYU5IMGFOSEQ2
2107 VS9reVpOUW9zV0xkQ2xTeGNFTy9lcGQrNzVFV2R2NXVMN1hRZGcKY3o1Zld6YXVSL05INmlPK2NS
2108 UU83Sk95Y3BVWWpVaThlaG41ZWRtNGRWTWFxeEFmSDdTclZnMDFmSHp3ZFBWU2U0RWJYb3pSUW9P
2109 RAo4ZHh6enlrR2dvY09IVkxPTFY2OEdHRmhZWWlKaWNIWnMyY0JBTGR2MzBabVpxWmJHUXpENEsy
2110 MzNrSlVWSlJiN3VZSkV5WWdOallXCkF3WU1rTVpQRU55U2wveVZVYm5uK3hlSFE1U0lFZmg5UWtr
2111 S3pnaFFLbGJ5Rlpiem5vcms5QVYxL2kwdjg5Q3NXYk04ckNmbGVVSE8KMmZ0N3BPOHJ1My9MTUZK
2112 NzVUM3BCekU0WXhnR0dwV1UrVWpMZVFiRkFOd3RRbVZTdmxjZEpUWUJWWHc1K09rNEtUNytBN1Fw
2113 SUNBQQo4Zkh4U2lxNFRWdTJZUGJzMlVxOXNxR01VaGZQQXk1N2d3d0FmVWtKY2l3V1JFWkd3amNs
2114 QlhBNHdEdmRVUzRXRlNuWDF2RFJZY2ZkCnV6aVlrK1BodmhJWFZBVm1VWEFyZDAxcUt0YWtwaUxN
2115 SlZLU2ltSGdJSUxOU2I2eUFWQ3RXclVRRnhlSHkwNzNwTWNlZXd3WExseHcKSTdUbC84bEYvR042
2116 UE5HNjFBMm52SmdqOHZHV3pmU0lyYTlENGswcjN2OGtHKzkva28wQWZ3NTFhbW1RZHNjT3RVYVA3
2117 MDdjd3Y2VApGN0h5d3c4QkFBM1hUM2Q3N3ZyMzc0L1FzRnF3OGlKYVA5RkpjZThaTzJZMHhvNFpy
2118 YmozcEtlbkE1QVdZQk1tVElESlpFS3ZYcjBRCkhoNk8yN2R2dzJBd1lPUEdqU0FpakJneFFvbmJE
2119 VWdCTXh4bGZMMExDd3VoMFdnVVlqMXc0QURXckZtRC9QeDhmUHZ0dDJqYXRDblcKcjErUHhvMGJL
2120 N21kWmNpWmh6aU9nZFZCc05nZFRzTSthWUhKc2M3VWhTaTF5M0NGL0F6cTlYcUVob1lxeDF4OW9u
2121 MThmQUVVNEU1bQpMaTZrNUNIeFJyTFhNbHh4OTI0NmJDNSs0aHluUnI3UkNwRUlWVjBDdVJUYTdl
2122 NzNFMEM5eUVpM1k3ZHYzNjZ3THZrYTE0eFZvYUdoCnluZDV6QmlHUWJObXpRREFiUS9mVUdZeCtW
2123 ZEZwZVQ3RjRjczllcFV2eTMzcmFzMXM0YVRJa0RaSEtJaTdjcnhrKytWZWNpZHBFcjkKZE9YZnFo
2124 L1NrSXBJeXI1aWQwZ0p2VzBPRitNc3RiUVkwS2dZS1hUaFExVEFNZ3c0UnJheUxsOWNJU0pZWEJL
2125 UFYzU2RReUQ0NlRnbAp2WnZydWJJUVJkRXRRMUtWS2xVa3lab0JqRllCbjM3OENRQXBjdEdWSzFj
2126 Z0NBTGVkckVVbFlQNHV5SXFQQndOR3phRVRxY0R4N0pTCk1IMW5PK3E1U0ZUNU5oczZoWWFpcnE4
2127 dk5DNzM3eEgvQUF5b1hSdkJHbzBpNFVicTlVcWNaNU9UWUJrQTAySmowU0k0V0xsT3A5T2gKZXZY
2128 cVNFcEtjbnNtQmd3WUFJN2ozRWpGejA4SHRWb09hU21OQVZOR3E4SXdwUjhabTFaRll2U3dFRlFK
2129 NHRDOG1RNGZMd21GbnpOLwpSNEZGeExNZkhNS2FveG5ReGp3RlhiVkljRG8vUUtVRFU3VUJJaDRm
2130 aXNrejNnTERTTStTWDBBUVZuLzVGYnAzN3c2TlJ1TW1wY3RTCkxzdXkrT1NUVC9Ea2swOWk4K2JO
2131 K09tbm56QjE2bFEwYXRRSUxNdkMzOThmVHo3NXBGc01hQWFTMWJ2clBjL056VVduVHAwUUZ4ZUgK
2132 YnQyNlljaVFJV2pjdURIR2pSdUhNMmZPb0huejV2anZmLytMY2VQR2VVUWcwNmhZVlBWWGcyTVkr
2133 R280QlB1cDRhZmo0S05obFRTVwpBc2tTTndNQzQ3YWdraGF1NUl4RFhncjVmaENSa29RaE1zd2ZF
2134 M28weGxOdEhsV3VHL252QlZqMDN3dVkrSitmTWZqOWcrZ3dheWNhClRQZ1dNdzRRL3JYaW92TE81
2135 MWhzU013dmhwOU9qVnlIVFdsRGxUTDlBWUR1ZmZxNGZYYzFpTnF6Wnc4RVFmRDRsQTFVNDJxVWRq
2136 L0gKL3c2b2xIei93cENUMFFPQXI1Y0U3dmVMc3RiTWdsUGFsZWVMQjhrOEpFdWhjb3hnb29kWEs1
2137 TXpBSVZBcGRHWE9GWWljSzZjaE9DLwpCZmVLL1F4SWRWcnNncFF4aWlYbklzVHpPaXRQOE5WeUN0
2138 a0pnb0JidDI1QkVBUTBhTkFBRm9zRkxNc3FVYWU4K1ZySzhOZHhLQ3dzCkFDQ1JtcisvUDQ0ZE80
2139 YVZLMWNxMStTWGtTanVCWCsxR3BGNlBWSk1KbHdwTHNhb2lBZzByMUlGWDZlbUlzY21UWllSckFi
2140 QkdnMkMKZWFjbUFJQ2ZTb1U1alJvaDFXVEMydFJVRUlBd25RNTE5WG84RnhtSlM4WEZzQWtDL1Az
2141 OU1YbnlaUGo2K2lJL1AxK3BkOVNvVVZpegpaZzNHamgyTE45OTgwNmt1WElqdmRuMkdaM3FJR0Rz
2142 OEZNLzAwSUMzODlEck9RaWlDSTVsOGRNMnp5VDJqejNpaTlWTEl6QnRhaEhVCkhBdFJCR3JVNURE
2143 b2hVWG8xYk1id3Fyb0VSS2doWXFkQUN2dlVJaGg4THY3Y2ZSeUp2cStmeG9mUHM5aGFJZjZNTmtK
2144 ZlFZT3gvQVIKenpxMUZLWDVrZWZPbll1NWMrY0NBSTRjT2FJUTZmYnQyN0Z0MnpZUUVlYk1tYU5F
2145 UDNPRnZHaDFEYUlTRXhPaitPODZIQTc0K3ZxQwpaVmxVcjE0ZHExZXZSbVptSmdJQ0F0Q3dZY015
2146 WlpIeUxoQWtyWmZEbWV4QWZ0ZmtTbDAxQ0ZHeHBTcjF2UWNPWTlqd0VlQTRGZzRYCkFpYW5wYmZG
2147 TGlqdVRPbTVKUmo1MFNHY3ZWd0VZdFdBd0dQZHFvK2hQVnNJVmJVWWlPWkNDTmxYWWI5NUNINDlG
2148 b0hWQllJTkNJTlkKbkFXUkhQaVZNU05jOE1PMjlJelN2cnNrOEpCcmQ3VmVCcVF3bWJKbVovYnMy
2149 ZEJvL28rOTd3NlBvbXJmdnMvTWJFc3ZKSVNXQktRRgpoQkNLMHBzZ0tLS0NJa2dIQlVFQjhaV21W
2150 QUZSVUFRRktVRlVSRDhFa2FxQUZPa2RsRTRnOUNSQUlLUnV0czdNK2Y0NE03TzcyUTBrCmdJcitj
2151 bC9YWHRuTW5qbHpwcDNuUE8xKzlLaFhyeDR1WDc2TURSczJZT3ZXcmRpNmRhdlh0ZjZ2b1VUNFBz
2152 SlFPWndOd3YyWDQzTTMKTTNOd0Zia0hYUDRxVm9tbWNHR25wZ3FwN2RXSmhpUHdwcEM2QjJSVjRD
2153 cHBSMFRwajVVRy9Hc0oybFh5alh0eFAvT0trRlluUWwrOAp0WGsyQ1lGRzlvTW9pbmorK2VkeDRj
2154 SUZmUHJwcDZoZXZUcU1SbU9SemtWdDA2dFhMN3ovL3Z0SVNrclNOS3ZISDM4Y0tTa3BJSVRnCmZn
2155 eHBDY0hCdUp5Zmp4eW5FMThvWnVCQUpRV0pBUEF6R1dCMWlHaGV2aXpPaWxZazU1dHhNaWNISnhX
2156 ekhRVXpOL2RRY3JmdG9naW4Kb3IzYmJEYU1HVE1HV1ZsWjJMMTd0M1l1di96eUM2cFZxNGF5WlJr
2157 bEpLVVU5ZXZYUjFibUM1Z3dZdzJtdlIrQzBKQVFaR1ZsSXpVMQpCU0VoSVNoZHVqUlNVOU1RRWhL
2158 Q2dBRHZHc1dWeXdSREZDa21UTS9CazArOGpFbkRlM20xMFFrdWpXdjF1SFo0WWNvbTdEbDlFMi9N
2159 CjNZVmZEbDNGN0RlYXdHalFJOWNxUWFaQWlJbnplZjlidEdpaCtSU0hEUnVHb1VPSGdsSmE2T0tK
2160 Z3VYZkI1czhIeEs5WHUrbDFRSkEKZEhUMFhYUGhIYUxzSm56aDVTWlE0VnBBQUczY0dMTUdEK2lI
2161 d1FQNm9YdVBIcWlzK0lLcEc4V2xuMEhRaUR3cWxnN0V1ckZ0UVdrYgpUS21WajBuanhvRG0zNEox
2162 MTJmcXlUSHdyaHh0WS8wK3NPNzRGSkFsSkdYZXdZZVpyb1ZYdGNCQTFBOExnME9XY1VYSjV5V0Vl
2163 RjJICkJnMGE0SzIzM3NMY3VYTngrUEJodEc3ZDJ1TjNsVmZBSGI2c1NYZXpZUDBiVUdKMmZrVEJm
2164 TEd1QWdyRlJVRXpNeWdMcUhKS0xtR3EKVTB6TWhrSk16Q29MbFYyRUpyQVphVVRST1pjcHBaQVZj
2165 N0xWeVV6S2FqQ1hRV0FtWmIxaVV2OHJCYThLeHYyc0JKd1Y4dktxa3pKUApLSnpLUWtFMWkxc2RF
2166 ckx6bmJBNlpVMFFDWUtBQlFzV2FMU0Z3TjFabEh6OTl0WmJiNkZYcjE0UUJBR0JnWUhvMUtrVDNu
2167 MzNYVzJmCmRNSnFGaGYxR2xGSzBUWXFDaDNMbEVHNFhvOWduUTVOUzVWQ0h6ZVRuOER6SUdDMVhR
2168 ZkdQb1lPcGN1Z2dza1BCbzVEcUY2UDZrWWoKL2hjYmk2b0tyZVZGczFtallYUTRIRXBBbFFoL2Yz
2169 OU5zNW8xYXhabXpwenA1VmNmUCtFak9FZ3IvRzlpRmpLelJJU0docUJDaFFvdwptL054K3N3WjVP
2170 Ym0rQlM4aEFDNXVSSkdUODZCSFMweGNkTDBlNTY3VWNlaFd6TlhFTkw2UTFmUjZIK3JzUFhQRkcw
2171 QldaQ0FwVENvCjV1akNyakZBb05meGNFalVxei8xbXZqNnlNcUh1djIxT0dRdEVKSVFvdkNiRXhn
2172 RkFqOGRRWUNlUTZDQlE3Q1JRN0NKUjVDUlI0Q0IKUjluSU1Iejc3YmNlSm5WM1YwakJaOGJYTS9q
2173 K21KSDRaY01tdEdyZEJ1WEtsb08vbng4ZXEvd1lYdTdTQlovUC93by8vSzhGSm5WTAp3SlJoUGJG
2174 dDEwRzBldnBaNklNaUFFNEhqdGNqMUJDSUdsRlIySkNYaDIvejhpREV4Ulg2ckFPTUwzN1pzbVZv
2175 MXF3WklpTWpFUkFRCmdHclZxcUZ2Mzc3NDRvc3Z2TWJxM28rdjh5cnNYQjlsRVBvSUxCOEtCcGVV
2176 QU1pM1M4aDN5TkR6QkNGK3hUTlFVQ1dhbVJCQUlCUjIKaVVKMDAzWTV3bnlvUWlIbENGV2hLOHBL
2177 SDl6ZFMvbDU3KzhXTUtXczNqbGxsYzRYZ2ZIcHJ3YWxpdmJyb3lRanBVeVRzWWtVSEdHVApxMEhn
2178 a1pGbjA0Z3pPTUo4endFR0RxSCt3ajNQeCtsMElpVWxCVGFiRFRWcTFQRFpKak16RS8zNzkwZlBu
2179 ajFSdG14WmRPL2VIYnQzCjc5YTA0RzR2dklEeVNVbWFJSFR2Kzg2ZE83RGI3UWdPRGtaSUVXdjlB
2180 b0RGN2wzNnpxQnphWVEybXcxWldWbUlpb29DSVFRLzUrYmkKM2JselVhOWVQVXlhTkFtbFNwWFN6
2181 TFZYcjE1Rmx5NWRjT1RJRVh6KytlY1lNbVNJeDBSb3M5a2dpaUsrK1hvaDFxOWRnQ0g5WkxSdgpI
2182 WXpjM0N5a3BGeER6Wm8xdlRRa2gwUEdiOXR6OGZsWE1obzE3WUlKRTZaQ3A5TWhNVEVSaHc0ZHd1
2183 M2J0NUdlbmc2NzNZNzkrL2Q3CmxOTDc0OEp0TkJtNTF1djh1cmVzaWtrOUd5REFwRWVnZ2J0djk0
2184 YjZqT2ZaWlVneVZhcHZNVHBRTlNDS2NaYXpCWnZxMmpFSUhBaFIKbmlIVnp3M2k4bm1EN1p2dm9P
2185 d2RmUWpaRFlXQlJWS3pCU1pWckZBQ3ozell2cXhRNmdLYUk0Q2ZIc2d5TzVCOEl4ZEpLWms0ZS9K
2186 UApOSzVvZ2w2dlI5MjZkUkVWRmZXWGpmdFJ3LzNLcnhMaCt3aENwaFIzekNJb2dCQVRyNW1KaWdK
2187 M016TlZJcVVwM0V6TUFvRytrRFFZCjkxSit2SnV3TEFwOCttL2QrbmpZSzlLVWxCU2twNmNqSmlZ
2188 R0VSRVJ4ZDVmbENnY01vVWt5WENLRkE3dEw0WEFFZmdiQmRpZEVteE8KR1VFbUhmUUNoNHc4bG82
2189 aGF1bEdnU0F5U0hmUGM3TmFyVmkyYkJrV0xseUlnd2NQQW9DbU5lcVVTa1dpS0tKaHc0Wll1blFw
2190 NHVMaQpNSEhpUkZpdFZnd1pNZ1RSMGRINDlkZGZNZmVkZDlESkxhcFRsbVdrcGFVeHBpMlRDVHFk
2191 emlkelUyRlFVMWswRUVEZ09ZOEZpV3F5CnpMRGJzVUVRc1AzUUlXM01xaGFuYWliVnFsWEQ4T0hE
2192 VWJ0MmJZL29Xb0FSL2ZmdTNSdUxGaTJDSkVtWS8rVkhPSGQyUDU2b2s0MjYKdFUyb1hUTVVKaU1I
2193 bTEzR2hVdDJuRDR2WWZOT0RuYW5QODZkVDBkK2ZqNlNrNU1SRlJXRkZTdFd3T2wwNHJISEhzT2FO
2194 V3VRbTV1TAo2ZE9uYTlXZEFDRHRUajRxdjc3TTUzbkhsZzdFRjRPYm8zNlZTTStvZnVvWmphMTVX
2195 OVg0QnJjK0pKbHhyV3ZYQVlEQUVZZ3lWZExzCkNBd0NwN3gzRkRsV0NRUkFaS0J3eitkRnBxeGdo
2196 NS91d1lJc0MrdGJsQmhqbm5yckJjNUZsVnJZMk94T0NwdEl3WE9Bdi83dnNWTDkKVzNDLzhxdkU1
2197 L3NJd3VhVXRaZFpWNGgyV2hDcXRpcFRGaWprRUtubU02SksxTEJKVDd5ME5OVUU3VTc5V05SU2Zu
2198 KzEvMWFXWlp3NwpkdzVKU1VrNGNPQUFHalJvZ09iTm02Tm56NTY0ZWZNbXlwY3ZqNFNFQkF3Yk5n
2199 eWxmVlNhVVJjRXFtQjFTakljaW9DVlpCYXBiTlR6CnlMSjRSaEtyT1pVOHh6UVBtMU9DUWNjaElr
2200 Z1BxMFBXM0FHRldRN1VzYlBJVWg0R2d3SDkrL2ZIMXExYk1XZk9IQXdkT2xTN05tb1YKcFp5Y0hI
2201 VHMyQkVYTDE1RVhGd2MrdlhyaDdGanh5SXRMUTNSMGRGbzA2WU5QZ2tPeGxXekdURnVrY3labVpt
2202 SWo0OEg0TTJiU3ltRgowK21FSkVsd09CeGFzWG9WUEtkTUdvUm9Qc1NDVGtaMVl0bHZzYURMVzI5
2203 NS9hYWVSM0p5TW1yV3JJbkJnd2Y3dkI0eE1URjQ3cm5uCjhNb3JyK0NMTDc3QWwvTi93Q2VmZkFL
2204 ZTUzRDRiREpXYkVpQzNXNkR3V0JFeFlyVkVWZmpTU3o2dWpYTVpqTWlJaUxRdFd0WDNMaHgKQTFG
2205 UlVSNzU1VE5tekVDSERoMDhCQzhBaEFjYUNnNUJPK2QzTzlWR1hMa2dCSnM0bGxmcllNK0RyOGVW
2206 UlpDN25tZjF1MDdKNitZSQpZTGJKc0RobFVJNGl5TVFqMnlyREtWRUU2QUdIUkZpUkV1WFNPaVI2
2207 ejFLZ0Qxc1BvWlROQmFKRVBhcUhHWGtDNFM2eEh1cStOdEhGClUrNVhJbmdmR2txRTd5TUcxZmNE
2208 TUhMOW9qem9xcGtaWU56UEZpVkNVak14NjcyRnVKb2lwTDZNUWhGSytURk5oMm0zb21xcUlrekQK
2209 ZFZVbGVuZ3Y1clp0MjlDdVhUdjA3ZHNYcFVxVlFvVUtGY0R6UEVhTkdvVTJiZHJBYXJWaTRzU0pX
2210 TGh3b1Vja3FpeFRYTSsySzM2NAp3dnMzMnlRWWRUeUMvQVRZSFRJNGppaWFPbFAzQlo2RFVmRzN5
2211 NVJDejNNUTNYSmlUVDU4OGVucDZiaDkrN1pXc3hWd3BXZTk5TkpMCkhnUU5PcDFPSy9aZ05CcGhz
2212 Vmh3NDhZTldLMVd4TWJHZ3VkNW5EOS9IbzBhTllJZ0NKZzhjeWJHOU8rUDdySU12UkpCSFJnWWlK
2213 U1UKRkZnc0ZvMUxXTVdWSzFlUW01c0xmMzkveUxLTTh1WExld2hmZ1NPUXFScnA3REtEdXNOdXQr
2214 Tm9lanJPR1F3SU9Id1lmZkx6TlIrdgp1NW00U3BVcVdMVnFGUUNYdHV3T251Y3hac3dZVkt0V0RT
2215 Tkhqc1NWSzFmUXExY3ZyNHBEaGVWWW0wd21wS2FtSWlFaEFVNm5VL005Cm04MW16ZFF1eTdKMnJY
2216 bU9RNEJSQjdQTmMyRzFZRWd6ZEdwVUVmNUdwcjF6UEFGSG1Qa1ZvQ3hsU3hXMlBzYmhDLzVHRGxa
2217 UlZnUWMKRTh4T2lTM3llT1VhNndVQ3QweXpJdUZCWGlVMWNscVVYQUdXSEdIeEZleGRMY3E4UXBX
2218 YTFXeHVNT3BLQk8vRFJJbndmY1NnRWw3dwpITHlLdFB1Q2FtYm1DWVZUcEJvcEJZVnErdktjUUdR
2219 M29WdVVVbjZGK1crRnY4Ri9HeHNiaXpwMTZ1RHJyNy8yR005VFR6MEZnQW1zCjBOQlFPQXZrd0JM
2220 Qy9GT3EzT1VJRk1GS3dDditXaVprMmRqOTlEejBQT2NLN2lUUUJMZEpZQk01eDdFK1JjWFV5Q0tk
2221 dmM4OU1URVIKRXlkT1JPL2V2V0UybTFHalJnMTA2TkFCdTNmdlJtSmlvaVpzVkFIRkF0SmsrUHY3
2222 SXo0K0hpZFBuc1RPblR2UnZuMTdORzdjR0t0VwpyVUtmUG4zQTh6eWFOMitPRmkrK2lOMXIxdUFw
2223 UmVERXhNUWdKU1VGQVFFQlhxWGJPSTVEMmJKbEN6WExFd0trM0xpRDBFQS9oSWQ0CkJ6c0JRRVpl
2224 SG42M1dqRncyREQwNmRPblNEN2xnam5QN3Y5MzZ0UUpTNWN1UlhoNHVFL0JTOVRBc2dKOVJrWkdh
2225 bVFZQUJQbXUzZnYKUnZueTVSRVRFK04xWEp0RFJKa3dQeVJmZDhXSnY5QXcxa1B3YW4xeFJFdDV1
2226 cDhGSkVkWU1GU2VYWWJaTGlISXlNTXBVVmlkTW9LTQpCREtJRmcxZGxKN1Y1L0IrM2l4ZmZsemRY
2227 Znk0aFk1QkNkQVVaZC96U0FrZUhDWEM5eEVDZStEWk10VlB6OS9ESEtRR1JiRUFDRFVmCjJFVk00
2228 ZklYRlRRdHM4Q1B3azNMaGZsdi82cjgyNExIVnZ1dlhMa3kwdFBUc1hUcFVxMmlTN1Zxcm54UXE5
2229 V0tWYXRXWWZIaXhaNTkKQUFqeEV5REQ1Wjh0Q0Y0VnlNcFBuTUJCNzZhOTUxb2xPQ1NXWXFLYWw5
2230 VjdBN0NJV2w4TVlFT0hEc1dhTld2UXVYTm5oSWFHWXRXcQpWWmcxYXhZaUl5TXhiOTQ4alR4QWxt
2231 WHdQQTlCRURUeWplZWVldzZDSUdEQ2hBbUlpb3JDN3QyNzBhbFRKNC8reDR3Zmo1ZjM3OGV4CjI3
2232 ZFJKeWdJVnFzVitmbjVxRm16cHRjNUNvSUFzOW1zK1lIVlNGalh0UWJLUm9UQW9CYzhhQkxWd0Ir
2233 SExHTVh6MlBVMUtrWW9wVGQKOHdWZm1xNjZuYW9IQXJ0VzU4NmRRMVpXRm43OTlWZXZ0azZKd3VL
2234 VVlkSVJMOU5zWkdRa1VsTlRBVEJUdlU2bnc2bFRwNUNUazRQNgo5ZXRyL2F1UUtFWFpjSmZ3TFIx
2235 aVF1TFE1bDZDVjRWZVlEbkhsQkpRMEdJdktrMTZEdmtPV1ltYmtPR25ZejVmZDVOMVVWRmNzM09o
2236 CmZsemg3bjdjdS9XWGIyZDlxZVEySlhqNGVPQlVvMTI3ZGlFdUxnNVZxbFRCbkRsenZINy80WWNm
2237 RUI4ZmovajRlSFR2M2gzbno1OS8KMEVQK1oyRlhORmVPc01Db3dxQ2FtV1czTkI1VjIvWFRFL2pw
2238 aWVMUFUxS0ZKQmYxbzFFQTlENEViMEgrWklmRUptQ05QMWwzZC83awo0a0ttakdITGJCT1JtZTlF
2239 ZW80REtaazJ4ZnpIUUFqUjJJQXVYYnFFdDk1NkM4ZVBIOWQrLy9EREQ5R3dZVU1QZ2F6Q29PZGhF
2240 RGdZCkJNNlZxbUhnRUdUa0VHTGlFV2prdFpxNTZrUXZVZGRFcFFhYXFVeEJiRUppd2pmQXdMUmVW
2241 WEM3QjF1RWhJU2dTNWN1V0x0MkxabzEKYTRaWnMyYmh4eDkvUlBmdTNmSFZWMTloMkxCaDZOS2xp
2242 MC9DaHFDZ0lMenl5aXQ0NFlVWE1HclVLRkJLOGV5enozcTBDUTRPeHVKbAp5M0E2S0FnbmxGS0hC
2243 b05CTTErN2o4VmtNc0ZzTmlNbEpRVTNidHhBdGh2bHBJck1IRE16MXhJMzN5WUF1eVJoYlU0T21u
2244 WHRpcmNLCktSWHBEalZkeHYwRHNGeDFzeUtVS0tXb1ZxMGFmdjMxVnc4R0xOVzZ3aUxNaVVLVzRT
2245 bUJPbmJzaUpFalJ3S0FGdFdzRXBJQXJsck4KS25oQ1VEYk1wYzB2K1Y4ckdBdlVkOXk1Y3ljKysr
2246 d3oxejRjNDA2WGZLUU4zUXVFRUFRWWVQanBPZmdwZjlYMzVYNWZtWHY1WXAwUwpjMUhsMjFsZ0pT
2247 RnMwUjFnSUJvalZuSGZWOFl0emU2SG43NUU4UDZWZU9CbzU0U0VCSHorK2VlSWlZbEJ1M2J0c0dm
2248 UEhwUXFWVXI3CmZmLysvYWhSb3dhQ2c0T3haTWtTYk4yNkZVdVhMdlVjUkVtME15aWx5TEtJRUdV
2249 Z3dNQVZtdHVyUlZrcVFSU3EwTlVMVEdBVFF0eTAKWWxmNlFNRlVvYnY1YjNudTRmaHYxVW5WSWJJ
2250 QUZJZGIwSk03KzQ0N29vTDE4SGRqODhwWGZJd0FNR25TSk5oc05vd1lNUUxYcjEvSAp4SWtUa1pp
2251 WTZHVldMVXdUdXh0a0pmM0l3QU1Ya3M5anlkZmZZdGVXTGNnMzUwR3YxeUVpcWd6YXZOd2Q3Wi90
2252 aUFxbHd4U05taDNMClY1NzBDeSs4Z0srKytnb09od01qUjQ3RWdRTUhNSEhpUk5TdFd4ZWlLS0p6
2253 NTg1WXYzNjk1aHNXUlJIcjE2OUhwMDZkNEhBNElBaUMKei94U1NXYkJRYWtwMXpDZys2c29lK3NX
2254 eXVYa2dBTVRScEdSa2RwKzd2N1R6TXhNWkdabW9tTEZpcHA1T3QvcXdQa3I2VWlJcStCeApqQXk3
2255 SGI5WkxHamJxeGZlR3ovZWkxSlVVZ040WktwWlZWUVF3bEp1T0VMZ2tHVE45RW5CQ29NSUJUU3hn
2256 ajVlOWZ4MGJvSkRkU3VvClVkYnFmZzZIQXprNU9ZaU1qUFM2NXc1Und1UmxSekZ6MVFtODluUjFU
2257 Ty8zcEpmV2UvNzhlUXdlUEJpQmdZRll0R2lSeDNNa1Npd0cKb0RnYWNGRTV3ZThGaDhTRWFhQ2hJ
2258 SWU2YnordXdCZmRqM3MzaURLRnhjN093Yy93MTZZNS9aZHd2L0xyZ1RSZmxjQzZlZlBtaUltSgp3
2259 ZE5QUDYybFVxaG8xS2dSZ29PREFRQWRPblRBenAwN0grU1EvMWs0bEVoRVF0Z2tWUkNVTXFJTE5W
2260 TFhYV0FHR0FoTU9nNFVCQTZKCjhSZkxsQVZKR0FRb0U1NkxLRUxsVDdZcDFZY0s4aWNYbC9DQ1Vn
2261 cW5LQ1BmTGlIYjRzU3RYQWZTc3V5NGttSERsUXdicm1jN2NEdlAKaVJ5ckNJdERWaFlMTENmUzM4
2262 QWp5Q1FneEYrSHNBQWRPTTd6UVhhditsSytmSGxrWldXMVZVZkpBQUFnQUVsRVFWUWhNREFRSDN6
2263 dwpBVUpDUW5EcTFDbE1talFKMjdadDA5cmRML2Z6OVpTcjZONjVNL284OXh5dXIxeUJaeHgyOVBI
2264 elEzZWREalZUVXJGbHhvZm8zcllwCjVzNzZGRHdrU0RLelZsZ2Rzb2UyQjBDamh2enNzODlRcTFZ
2265 dFhMaHdBWDM2OUVITm1qVlJvVUlGVkt0V0RSa1pHVnA3aDhPaENXSzkKWHU5VjZFR1NLZXhPR1pu
2266 NVR1UllSRlNNamNIeTllc1IxTG8xOWdRR1Fnd0lRR0Jnb01kKzd0SElBUUVCNERoT0s0Z0FBUGxX
2267 TzRJRApURnBFdkNoVEhNakt4bXBSUXI4UFBzU1FVZU5nbHdnc1Rvbzh1NHdjbTR4Y3U0eDhoOHZh
2268 b3VhM0dnUUNrNDdBS0xBZ1FVVU13VS9ICklkRElDQ0VZQjdLNktGUElKY0JjSnFxRmdlZUlSMnFk
2269 TE11d1dDd2VnbGM5TjRQQjRGRTh3QjBDeDBIZ09GU0tDc0tNQW9KWHZVOVYKcTFiRnRtM2JVTGR1
2270 WFkrNEFvQUYyM0dFUUpTS0hpVlYySFBuY0RpUXIxU1lLZ3JVQllzS1dibjMrUTRLcTRNcVFWMHVL
2271 eGVMdW40dwpRZW1VbU1ZTEF2aVhDTjYvQlEvazh6MTgrTEFIRlZpTkdqVnc0TUFCZE9qUXdXZjd4
2272 TVJFZE96WTBlZHZreVpOMHI2M2JOa1NMVnUyCmZKQ2gvZXVnUmpqNzZid2puQ2xsazd5YTJxUE84
2273 VVlkUzJPZ0lGb2hBdmRVSDdZdjFYSjNIOVIvcXdaenlJcEd5OHplN3ZSMWJQTDAKTjNCYUVKYzZL
2274 Y2dVc0RobEg2bE83R1FZY1FYZ0hwUk5LVVY2ZWpyKytPTVAzTGx6Qnp0MjdFQ1hMbDF3L1BoeGJO
2275 bXlCWTBiTjhaWApYMzJGK1BoNGp3b285NE9rcENTODFxMGJhcG56MFRJb2lKa2ZaYXBGdkZZdytT
2276 SGFEN0RLRXJZc1NzVGxDeGZ3NGF3NUlKeWdCTDJ4ClFCc1ZVVkZSMkxseko1S1RrekY2OUdqdE9u
2277 TWNoeVZMbGlBK1BoN05temZYMnZ2NSthRktsU3BlMXh1RVRZeFVwdEFKSENJQ1hSSEcKcFVxVnd0
2278 ekVSR3pZc0FGVDMzc1BaUzBXeE50c1dqVWlTWkkwWVp1Ym04dTBkSU1yQlNjaU5CRGhJWUd3aXpL
2279 UzhuSnhDa0IwL1Nldwo5S1BwaUNwVGxsbExvQVRtQ1NwclV1RldFVmtHMkdQTW5oTTk3MDNrd3Jr
2280 ZVRPYm1FTmt6SlBBRW5Gc1FtdnYxVWhmdjZua1VKWmZaCklVcTRkQ01YUDQ1K0N2b0M1bVpDQ0M1
2281 ZHVvUWxTNWJnZ3c4K3dLbFRwMUN6WmsxWXJWYnMyTEVEelpzMzF4WjlBcy9CS1VvUStLSmwKSHZo
2282 cTg4WWJiOERmM3grM2I5L0dDeSs4QUoxT2g2ZWZmaG9HZzhHREdNUUZkdCtacGVqaCtIRUJGcm51
2283 ZnYrMW8xR1d2OHNUcHZIKwoweVE0anpwMjdOamhVZG5xZnZGQVp1ZXRXN2RpOGVMRldMYU1KYk12
2284 V0xBQWFXbHBtREpsaXMrMnc0WU53NzU5Kzd3aUp2K3ZtNTJkCmtvd3NDMHZDRHcvd1pFeGkycFhz
2285 SVhUVmdDb1pCS0pDUnlkd0xnMjNZUDR0d0FTdFVBUnpjc0hjV0hmeUNZQ2lmS2lCalk4VVBSVkQK
2286 N1pkU0lOOHBneWRFaVphK2R3VG0xcTFiTVhueVpOU3BVd2ZObWpWRHg0NGR2VFREd280SHVQS2Nx
2287 YmJkdFUzOVBUMzlGbm8rM3dIMQo4M0pSTGRDTnhNS3RrVXhkZWIxMlNVWmlXZ3JPWkdRdzVxZjFt
2288 MUhuaVNiUThVQ1pFS01XNkxabHl4YTg4ODQ3MkxxVjFVdjk4ODgvCk1YSGlSRlN2WGgwLy9mUVRB
2289 RmFJNEp0dnZ2RTVkc0RiUkVzcElNT1Z1NjMrbnBtWmlWVS8vNHdmRmkwQ241Mk5TcUtJRUFDV0d6
2290 ZGcKMU9rMGs3VFJhQVNsRkhtaWlDczVabHl4MjNEVDM0U0V4bzNSNDdYWDBLeHBVemhrQWtsaUds
2291 QnhKbm03Q0ZCRjhBcWN5dzF5THhUSApYRHRxMUNpc1hic1dyNzMyR3Q1OTkxMnZDRzhWRGxHQ1U1
2292 UWg4QndNQllRdnBSVFoyZGw0NG9rblVLNWNPWVNGaFdIV3JGa1FSUkhmCmZmY2RQdjc0WTJ6ZnZo
2293 Mk5HemYyMkUrU0MrY0Q5d1ZSRkNFSUF2cjI3YXRWVEZxMGFCRXVYcnlJYytmT0lTQWdBRC8vL0xQ
2294 SHVFVEYKbWtMZDNsc2RUN3pNOWNYRnh4OS9qSHIxNnFGdDI3WStmMzlZSnZQL2kvaEhTRFlhTkdp
2295 Z0JVRUF3T25UcHpWdVczZWNPSEVDZ3dZTgp3cVpObTRwRmYvZGZ4bzRkT3pSQzhTOFhmb1dYdXZX
2296 Q1NjOXBncGVabWFtVzhxS2FtRTA2VmtaczVxelp5TW5KUnFWS0ZkRzNkMjhBCkxqOXY5U29Wa1hM
2297 dEdwbzNiNEZ0di8vdVU4Q3BBUnNPaVptTTNmK3F6eEh6QWJQVUhMM0FJVEpRZDkrcmJsVXpEaXht
2298 ZGFZMmJkcWcKVFpzMlJXNnZSdGphWE5aVnpZUkh0QVdENS9mbFM3OUIrZXdzeElXR3NqN2dNdjFS
2299 S1BuU25HcUJrS0FYT05ReCtlR01jbDYzOHh6SQp5SE13QnFNZ2d6WkJ0MjNiRmdrSkNSZzBhQkJD
2300 UTBPUmtaR0JFU05Hb0ZldlhwcndKZHI5ZHIyOEtrc1NzeTdJbWwrMTRPdXQ0NWlMCmdoQldvdkMx
2301 MTE5SDMzNzlzSGZ2WG16ZnZCbkhqeHpCRlo1SEVNL0RRQWlJSkVIS3owZXVLSUlZalREN1I2Sldx
2302 eWV4ZXZLN0dvMmwKVENsRUp5MjBwR1JoY0VwTThLclI5MFVWdk83WFFJVjdHcFpIQkxNa1lkaXdZ
2303 VENaVEZpeFlnVkdqUnJsMGQ0ZGVvR0h2a0JGakJzMwpiaUFpSWdLQ0lHaVI2Rk9tVE1HMzMzNnJC
2304 WUIxNk5BQlAvNzRJOHcraXNMekhJRkRsS0Fyb2hhc0xoQmZmZlZWVEo0OEdRRHcyR09QClFSUkZI
2305 RHQyRE9IaDRSN2FxQ1FyV1F2Szgrbm5neFRuZmpCZ3dBQ2twYVhoN2J0RXJKY0kzYjhmRHlSOFZY
2306 UFFybDI3RUIwZGpTMWIKdG1oY3J5cXVYYnVHbDE1NkNULzg4QU1xVjY3OElJZjdUK0RjdVhQNC92
2307 c2ZzV0hEWm0zU09ITTJDUytJSWt6K3pBUkZLV0FUWmFiVgpxZ0ZWU2tDRlUyYmE0cGR6WnVQYXRX
2308 dG8wYUlsWHUzZTJ5UC9WaVZWVjAxOGRwRXlUVUNpV3ZDVEdsV3Ntb3Faa09YZ0x5Z2FhWUZnCkV3
2309 SnZNN1hOWm9QVDZZVE5aZ1BIY1FnUEQwZGFXaHB1Mzc2dGJhdGV2YnFYbVZCTFFZR25KcXB1RTFU
2310 aGVBOE4zZWQycFMrajRDNTAKQysvSFpyTmg5UTgvNEVVMzM3SXFkTlZ2Uk5rZ1VRcUR3SU82OFJD
2311 Nmo0TUN1SGJIaW9vUmZwb0FYcmh3SVVSUnhMVnIxenlJTndxZQppMU1Kc3BFS25KWnE5bFUxbjRK
2312 c1MyYTdCS09PQXdHRlRtQ3BTKzZWZVJ3T0I2NWV2UXFMeFFKUkZHRTBHaEVXRm9ZOE8wRjhwNm1Z
2313 Citkb0FqL3EwVHBFTlFGZU1OUkpMUzJPUjk2Q00xT1YrSnZQNTgrZGo4T0RCMnI0RkJURFA4eWhm
2314 dmp3dVhMaUFuajE3QWdEKy9QTlAKN04yN0YrdlhyOGRUVHoybEJWRDV3dHExYTdGdTNUb3NXN1lN
2315 d2NIQjJMRmpCNEtDZ2pSL3NpekxtRHAxS29ZTUdZSm16WnF4NitGMApJaXNyUy9NdDZ3VWVzc3o4
2316 Kzl3OXRHQ080M0R0MmpVWWpVWWtKU1doVTZkT0NBd01SRnhjSE9iTW1hTXhrd0hxTzBIaHB5ZGE1
2317 UExECkVMeGp4b3pCL3YzN2NmTGtTUkJDY092V0xRUUZCVUVRQkMzTjdWNVdwQkw4TlhqZ1BOL1pz
2318 MmZqalRmZWdOUHB4TEJodzFDcVZDa3QKMk9TTk45N0E1TW1Ua1ptWmlVR0RCZ0ZnRVl1SERoMTYw
2319 TVArclpCbEdVNm4wNmUvcEtpdzJXd1lPZko5Yk5xMEQ3SmNIWkpVRmNCKwpVRXF4L0lkZjhjZWhZ
2320 MWo2M1FKVWlJNVZDcjZ6L2RSb1Jnb0NRaWdFUWoyMElBb1d6Y3g4dXl4VjZORHhjMHlUbFdSY3li
2321 QjVrVXdZCmRCejhETDV6WUdWS1FXWFYzOGdtR0IxSG9DdVFjbkRzMkRFMGF0UUlkZXJVUVU1T0Rw
2322 NTY2aW5NbWpVTFE0WU13UjkvL0lHNHVEaVUKTFZzVzc3MzNub2Z3cFpUQ1drQXJWYlZRS044bHln
2323 U3dMd0hyUGpFRExENWcxNjVkaUltSndmZmZmNDhSSTBZZ09Ua1piZHUyeGNLRgpDM0gxNmxXOCsr
2324 NjdPSDc4T0hyMDZJRmh3NFloTmpZV0FETUx2dm5tbXppVG5JeGpUaWY4QkFFVlRDYThXSzRjeXBo
2325 TXpBUXZVVGhsCml2WHBhZmd6T3hzNndxRnVTQWpDZEhydGZDVFJsZVp5TTlPTXIrZE14OFpmMStQ
2326 Q2hRdUlpSWhBOCtiTjhkRkhIMm50QythaldwMXMKc3RVWDlLdWlLQnFKR2huc2V3TFY2L1Zldm1R
2327 QUNMTGEwYmRUSTFRcTc4cE1vSlRDSWFGWWtiT3lRdkxDemdYdzB4VmZXenR5NUFqZQpmdnR0WExw
2328 MENYRnhjUjd4SGdYUC8vVHAwemh4NGdUbXo1OFBnQVcwVmE1Y0dXUEhqc1ZYWDMyRnhNUkVyUnBV
2329 UVF3YU5BaHBhV25vCjJMRWpxbGF0aXV2WHIrUDExMS9YampGcDBpU0VoWVdoUzVjdVdwSDJyS3dz
2330 akJrekJ1WEtsZFBjYWFyUUxZb3ZlTVdLRmRpOGVUT3EKVkttQ2loVXJZc0dDQlI2L3V6L2pPbzFJ
2331 L2VHNTRDcFdySWhubm5rR08zZnV4TW1USjNIczJERVlqVVlZREFaTW16YXRFSjl6Q2Y0VwowRWNB
2332 RHpLTUZpMWFVRUlJalkyTnBVZVBIcVV0Vzdha3djSEJ0SDc5K3ZTMzMzN3phTHQwNlZMYXVIRmpH
2333 aFlXUmt1WExrM2J0MjlQCkR4MDZWR2gvKy9mdnA4MmFOYVArL3Y1MHpabzFsRkpLYzNKeTZLaFJv
2334 Mmg4ZkR6MTkvZW40ZUhodEczYnR2VGl4WXRhSDFldlhxVTkKZXZTZ2xTdFhwbjUrZnJSMjdkcTBk
2335 dTBFR2h2YmdTWWtmRW5yMVZ0SXExYjlINU51SUxSQ1RGOWF1Y3BRR2wrbkNYMng4OHUwZWx3TgpH
2336 aElTUW8xR0k2MWN1UXJ0LzlvQWV2RktLczIzeS9UTXVZdVVFT0x6TTN6VU9KcVNhYVBsbzJNb0lZ
2337 UTJhZGFDWnVZN2FaWkZwRmtXCmtXN1l1b08yYnRPV1JwVXBTNE9DZzJtREp4clMyVjh1cEhmTURw
2338 cGpjVktMWGFUakowelEranR3OEJCOTVaV3VOREl5a3JacjE1NXUKMkxCQk84Yy8vL3lUMXF0WHor
2339 UGEzYng1azQ0Wk00WnUyN2F0MFBzbHk3TDJjZDhteVRJVkpaazZSWms2UkluYW5SSjFPQ1hxRUNW
2340 cQpjNGpVWWhlcDJTYlNYS3RJY3l4T21tMXgwcXg4SjIzU3JEa2xoRkQvZ0FEcUh4RGdjVDBhUE5t
2341 SWhwZUs4TmhXcDI0RGVqWERTcS9jCnR0Sm1yZHBRRUVJQlVPTDI0UW1od3g2clRPZldxVXZueENm
2342 UWxoRVJIcjhUZ0licTlKUW9pdmFNQlQvUVF4ZXo2ZUVMZDJqTjJuVW8KSVlSeUhLZDlDQ0cwVkts
2343 UzlQcjE2MVJXemxNZFQ3OSsvWXIvMEx2aGVrWWVsZHl1SmFXVVNwSkVKVW55dU1hK2tIb3prOXJz
2344 RHUxLwp1MU9tdVZhSlN0TGQ5MU1oeTVSYW5aUmFuVExOdFVuVUlSWnRQM2ZNbkRtVDFxdFhqODZi
2345 TjQ4T0hqeVlidHk0a1ZKS3FTaUtQdHVQCkd6ZU85dS9mWC92LysrKy9wL1BtemFPVVVycDc5Mjdh
2346 cFVzWG1wR1JVV0NjbnVNNmRlb1UzYlp0RzgzT3p0YTJiZGl3Z2JacTFZb2UKUG56WTY1Z1pHUm0w
2347 YTlldTlNVVhYNlJuenB6eCtNMXFGMm5hSFhPaDU1ZVdsa1psV2FaNWVYbGEzK3A0Q3JzL1pydEVy
2348 UTZwMEQ3dgpoY3VYTDlOTm16WlJTaW0xMld4MHpwdzV0SFhyMXJSdTNicjAyTEZqZE5ldVhYVGd3
2349 SUhhZFN2QmcrRis1ZGQvUnZnR0JBVFF3TUJBCmo0bFdwOVBSRXlkT1VFb3BIVEpraUxiZGZWTGtl
2350 VjU3VUF2MkY2Qk01aHpIMGJWcjE5S3NyQ3dhRXhQajFRL0hjWFRuenAyVVVrcVQKa3BLMC9kUTJS
2351 Sm5namNheVBvVnZkRXhmbWxCM0lZMk82VWtCZUUzY2hCQWFWNk1tdlh6TFRQZjhrZVFsZE5XMjc0
2352 MmJTTE1zSXEyZwpDTittelZ2U1c3a09laXZYUWVkLzlhM1hQcG9BZUcwQXpiR0tOTnNxMHRGalhj
2353 STNMRHpjcTYwNitadzVjNGJHeGNWUnM5bE1Nek16CkthV1VabVptMGlGRGh0Qng0OGJSVTZkTzBa
2354 czNiM3JkTDFtVzZjVmJGbm9oM1VLVGIxcm8rUWY4UE5HNG1UYTJWM3IycDFzUG5LSzEKRStwcjIr
2355 bzkyWmh1Mm5PTXZ2aEtEMG9Jb1lJZzBNTkphWFRXZ2lYYWZTbG5OTkZ4MWVOb3p3b3hWTTl4bEFD
2356 MHRNRkl2NGhQb0hQagpFMml3VGtjSlFNc1lqWFJFbFdwMFVNWEhhSkFnYU1KMzBUZmZVN3RUb2pO
2357 bXpOQ084ZU9QeTJsT1RnN2R1M2N2RFFvS29vUVEycmR2Clgwb3BmYWpDOTBKS3hsMkY1ZDBFY0hw
2358 R2prZTdQSnRFTGZhaVQvcDIwU1Y0cmM3aUM0djA5SFQ2NXB0djBxdFhyMUpLS1owMGFSSnQKM2Jw
2359 MW9lMGxTYUwxNjllbjI3ZHZwNVJTK3NzdnY5RDMzbnVQbWt3bTJxUkpFenAwNkZBNmV2Um9qMzNV
2360 eFk2dmEyUTJtK21NR1RQbwp5cFVyNllnUkkyaFNVcExYOVhMLy8vbm5uNmNoSVNFMEpTVkYyNVp2
2361 YzlKNncxYlNsWHN1ZXV4VHNCOUprangrYzRneXpiR0lQdStQCjJTNVIyMzFjVDBvcFBYTGtDSTJJ
2362 aUtDbFNwV2lxMWV2cHBSU21wMmRUWmN1WGVyeFBuNzIyV2Qwd1lJRjkzV01FbmppZnVYWGY4YlkK
2363 bjUrZmp4ZGZmQkdYTGwzU09HTkZVY1NxVmF0dytQQmhmUG5sbHdDQTBhTkg0OGFOR3poMzdoenEx
2364 YXNIV1pZMWszakIvcDU0NGdrYwpQSGdRTjIvZVJLTkdqVEJ1M0RoY3UzWU5BTkM1YzJmczI3Y1B0
2365 Mi9meHRLbFM3VUUvYmZmZmx2TDZmdnNzODl3OGVKRnhNUlVBZ0RZCmJEZHc2OVkycjJPeG9CNkt3
2366 TUM2aUN3ZGkyMTdEdUhTald6OG1YUVY0eVl6YzJYUzJUUFl2V01iWW1OamNlMk9GZVhLUndNQUdq
2367 VnAKamt1MzhuSHBWajdlR0Q0R09mbE9MVXBYa2luTU5nbnBkM0x3L2lobWlpc1ZVUnBmZnJNY3F6
2368 ZnZSZTBFUnN2MzdkZGZZZlAydmJpVgo0L0NvOFJvWlZRNC9iZGlGeGN0Y2RWRzNiTmtDZ0xFeFpX
2369 VmxhWDYydFd2WElqQXdFRUZCUWRpMmJSdmVlKzg5ekowN0YrbnA2UjduClNnalJnb2tlWm53N0lR
2370 VERSbzVGZEd3bFBOR29tYmE5UjkrQnFGUzVLdHAxZUJFQWN5RWNQckFYQi9mdDB2YXJIaGlJU0lN
2371 UlQ0U0YKb2FJZjgvM2VzdHVRNTNUaXFzV0NYSVhrb1VGSUdHTDgvRkE3SkJpUHU2Vy9CQVVGUUtJ
2372 RVc3ZjlEb0FGQnIzNmFqZUVoSVNnYWRPbQp5TXZMQXdEczNic1hBRHdpWnFVSGpQSjNPSnlhelQ0
2373 MU5SVWpSb3hBelpvMTBidDNiMXkvZmwwemlkNjRjUU4ydTkxajN4eXpWZnV1CjVvMFhkQzhVQmta
2374 Vnlsd2RhdEgzb21MejVzMzQ2cXV2Y1AzNmRYejU1WmVJam1iUGNzK2VQUkVjSE96QllnYXdZaFhq
2375 eDQvSHpKa3oKRVI0ZWpwWXRXOEptczJIQWdBR29XN2N1TGwrK2pLaW9LRHoxMUZQNCtPT1BBWGlh
2376 YzYxT1p0cG5iSEN1NTl2ZjN4L1BQZmNjR2pacwppRW1USnFGcTFhcGVKbVJDQ0NSSnd2TGx5Mkd6
2377 MmJCNDhXS1VMMTllKzUxU2l0U01mUFQ4OUhmMG5iVWR0N0t0R2xHRk9nYXFSRXRLCk1tT2tzb3RB
2378 amxXQ3hTbDdNTHE1K2dUdWo5a1pPSFBtRE1hTUdZTmx5NVpoL1BqeDJMMTdONEtEZy9IeXl5OTdW
2379 UDQ2Y09CQVNaRFYKUDR6L2pQQWxoR0RhdEdtSWpZM0YyMisvcmZuMTFxMWJoKzNidDJ2dHBrK2Zq
2380 cWlvS0ZTdFdoVkhqeDRGd0FxQjM3aHh3NnUvR1RObQpvRUdEQm9pSWlFQkVSQVIrLzUxTnJvSWdJ
2381 REV4RVU4KytTVEN3c0xRdlh0M3hNWEZnVktLWGJ2WXBGNjFhbFVNSHo0Y1pjcVVnU1FKClVGK212
2382 RHhHcitsZTRVUldXSDBJYndJUWpnRjllNkZlemNxb1V5MGFVeWU4cDdWTFRyNEFpME5tcEE2SzZH
2383 SU1VdFQxY1h1WlZlS0UKczJkT0l6c3JFd0R3VlBzT2FOUCtPY1E5SG8vZXI3K3B0VDIwZjdmWE5l
2384 MzEyaURVVHFpSEppMmVRa2hvR0FCbzE3Sk1tVEk0ZGVvVQpEaHc0Z09IRGgyUGN1SEhJek16RStQ
2385 SGpzVy9mUHZ6ODg4K3cyKzBlOUgxc1RONmsrUjdYSGN6ZnlWS2pXRFVtdmNDSUJJdzZEaVk5CkJ6
2386 ODlCMzhEaHdBRHJ3bXlVaEdScUZheEFzTDhCWVFGQjJqM3NGbkQraWdkcEVOMFZLaDJERUUwSS92
2387 V2RhMk5NeWdRZW9HRFh1QVEKN2UraVBUVExJcTdaWEdYNkt2ajdRUyt3WXZQbFRTWnQ4VkFxTkFo
2388 NkhraTVkdFYxSG9SNGZhNWR1NmFRcWJqdWtTUVhIanhXRkxCQQpPM1lOeG8wYmgwcVZLaUV4TVJH
2389 eHNiRVlNMmFNeG9mY3ExY3Y3WGxYa1puRHpvMVM5dXh3eERQUEdtQ0xGWnZONW5sTXlncDVFQ1VZ
2390 CnpWU015T2JodzRkajRzU0p5TTdPUnRldVhiRnk1VXFOMjFxdjE4UGhjSGdRZ1FDTUp0UGhjR0RX
2391 ckZuWXYzOC96cHc1Z3kxYnRpQWgKSVVFVEtxKy8vcm9XYXdKNCtvcjlkQ3h1SXQ5QkFYRGE4UUFn
2392 TGk0TzVjcVZnNysvZjZIbndQTThtalJwZ2lsVHBxQno1ODdhOW55YgpFN1BXbkVDT3hRRUFXTDdy
2393 SWhxOXV3Wjd6bHlIT3plSFU2TEl5cGVRYVJGaGNiSThlYU5DcEdNWGZkLzcreFdMdlhyMVFwOCtm
2394 ZENtClRSc01IVG9VUTRjT1JWSlNrdWJiVFU1T3hqUFBQSU93c0RBTUhEandQbzlTZ29lQi80endE
2395 UWtKOFZpUjFxNWRHd0FMRERwMzdweTIKM2Rla1NBakIxYXRYUGZvTENncEMzYnAxUGJhcGJXcldy
2396 SW13c0RDdk1haFJ2Z0MwU0VhcjFRcTkzaDg4enlaMWh5TlRHWWYzT1RpZAoyYmlWL2djdUppY2g4
2397 ODV0RDRZaUFNakp6aXJheFNpQTYybXVhakRWYTlUV3ZsZXI0WXErdlhrOVZhT1ZaT01qYU5pb3NT
2398 YndUQ1kyCmZwWFZUSTF1QmhqRmFOT21UYkY5KzNidEpkZnBkR2pkdWpWT25qenBOWjRLNFFiRWhC
2399 dFFzWlFSbFNLTWVDekNpTXFSeXFlMENZOUYKbWxBcHdvU0tFVWJFbGpJaUp0eUk2SEFqS29RWlVE
2400 N1VnSEtoQnBRTk1hQk1pRjRyL083dlowS3BRQjNDQTNRdzZWMlBkV1JZSUlKTQpnZ2RkcDE3Z0VC
2401 c2JvLzF2MXV0eHcyb0ZBWkRxVmhNM1hLOUg1WUFBMTNXMFdiVzg2VFNyVmJ0T0FzOFdBZXFDejkv
2402 Zkh4a1pkMkMyCmliRGFSVGljSXV4T0VYbjVWbzM2VXdWSEFLdklJcDBkU2hTNkpGT05LL2xlOERP
2403 NG1KdisvUE5QOU9uVEIwMmFOTUdJRVNNUUdCaUkKVHovOUZBQzBNb1VxSEU0UmRnZlQ2R1VsbGNs
2404 WGV0R1lNV1BRdTNkdkR4SWNOUkpkenpQTzdLSUszaU5IanVEbXpadjQ3YmZmTUdMRQpDTHozM251
2405 WU0yZU9GbTFib1VJRlZLaFFRUnV6aXFDZ0lFeWZQaDNYcjEvSHdvVUxzVy9mUHNUR3hxSlNwVW80
2406 Y2VJRUhBNEgxcTlmCnJ4R3RxTUpWTFVxZloyZlgwMTlQZkJiRFVISG16Qmxjdm56WjUyL2x5NWZI
2407 RTA4OG9mMHZ5VEt1M1RaaitzcGpIdTJ1WitianhTbWIKOFA2U2c3QXJISkE2bm1pRU5BQmdkU09i
2408 c2JzL0RBb2VRUEVGQU8yOUhEaHdJTHAxNjRhK2ZmdXlmaW5GenAwNzhkSkxMMmtCYXlYNAo1L0Nm
2409 RWI3WjJkbmFLaCtBWnJwS1NFandJTjdmdUhFakpFbnkrcWpWWmxTRWhvWjZ2YVRxNUhYNjlHbGta
2410 bVo2alNFaUlrSVRQc2VPCnNaY3lJQ0FBa21TREpMRkpYYTluUXJ2ZyswOUFrSm14R3dBRngvTlkr
2411 dE42WEx5Umd6VWJmOWZhR0hVY1F2d0VoUG9KV3MxWkhVOFEKRWFoRFpKQU9wWU4waUFyV2E5cWdR
2412 VWRRSWN5QWhMaEtXaCtwRjA4emdSZHBSRlpLa3JhOVZyVktxQlJoUW9pZkt3QytjdGxRVGVEcApC
2413 TTlIeFd3Mkl5TWpBeGFMQmFkT25jTEJnd2Z4N0xQUDRzQ0JBemgxNmhSMjd0eUo1Y3VYZTYydUNX
2414 SFZYdlFDSTM1WDA1b0tMalQrCktsQWwybGlOcUtXVVF0THBzRE0zRndmdTNNRUZKYjh6eW1oRW9F
2415 NkhDaVlUZ3BWVWxBTjM3dUNLSlI4bnNuTndQQ2ZIcTI4MWJ6cy8KUHgvRGg3K041S1RUdUpPVmcv
2416 MzdEK0R0b1VQdzN1aVJUSU4zTSszS2xLWDNxS2N1VVdnVW9WYVJtVXh0aW5CMktscXpKTHVLRndU
2417 Ngpzd2o4M054Y0dJMUdFRUlneXpLQ2dvSXdhOVlzWExwMENUTm16SURaYkViWnNtVzE0MXB0VGhq
2418 MDdMd2N5dkVMM0dLTUhqMGFOMi9lCnhQang0L0h6eno5ajc5NjlFRVhSZzVDaE9QZXNkdTNhbURG
2419 akJvS0Nna0FweGNzdnY0ekF3RURrNXVacS9NMERCdzZFM1c3WDNEc0YKMGExYk43eisrdXVvVWFN
2420 R2F0YXNpWDc5K3FGNzkrNElEdy9YRmdpcU1DZHduWk9lSjlxaVFSMHpwUlEybXcyTEZpMUMvZnIx
2421 TVhEZwpRSHo2NmFmNDdydnZmQjdiWFdPMk8yVjBtNzVWS3pGWkVIUFduMExqRVd0dzdCSWpZdkZY
2422 ZVpxcGk3Rkt4eE9Jc3F0NGh6b21kZXozCkMvZEYyNGdSSTlDeFkwZlVxRkVEMGRIUmVPeXh4L0Q2
2423 NjY4L1FPOGxlRmo0endoZlNpbkdqUnVISzFldVlQYnMyWnFXK3Z6eno2TlYKcTFiYUN6ZCsvSGpz
2424 MkxFRGVYbDVPSEhpQkQ3KytPTWlremlvZFdSRlVjU2dRWU53K1BCaFpHWm1ZdG15WlRoejVnd0lJ
2425 VnArWlhKeQpNcjc0NGd1a3BxYkNaSEpsamdZR1Z2WHFWeld0eWhMVGJEbENFRk8yRkhKdXArSHpU
2426 NmRwN1V4NkR1RUJBa29GNmxDN0Z0TmFMeVNmCmd6M3ZEb0pOQW9KTUFnS052UGJpY29TWmF1dldx
2427 YTJ0aG45WnZ3NGJmdjBGSjArYzBQemdoQkFQcXNPaUlDMHREYTFhdFVLelpzMHcKWWNJRVRKMDZG
2428 UUVCQWZqNjY2OHhkT2hRekp3NUU0MGFOY0x6eno5ZnJIN3ZGNzYweEx0cGpsMjdkdFh1NTRtVEo3
2429 RWpOUlhmWExrQwprVkx3aEtDNzRvY2toS0N1UXI1eDAyYkRqS1Frekx0NEFYWWZ4QTdEaHc5SFFr
2430 SUNBR0RwMHFXb0UxOGI1VXFIb1htekpwZy9mejRzCmJscTFDcDVUeWowcWRJeEdoU1BaSkNnVnFI
2431 aDM1akpYbFNxcklweERnNW1QV3EvWFkvTGt5VWhMUzlNNG5QVjZQWllzV1lLdnYvN2EKeTVSTENC
2432 QWE1QWRaNFFuWEY2aUFjL2p3WVd6YXRBbHo1c3hCclZxMThQampqMlAyN05sbzNibzFacytlN2RW
2433 ZlVhRFg2elgvTGlFRQpseTlmUm1abUp2UjZ2WlpyU3doQmxTcFZQSXF6K0FMUDh4ZzBhQkNPSGoy
2434 S3FWT25ZdHk0Y1I3NXltcGZSaDJyWk9WT05HT3hXTEJ2CjN6NFFRbUN6MlNDS0loWXNXSUE5ZS9h
2435 Z1ZxMWEyTE5uRDNLVmlsSHVVSVc2MmViRXVPOE80WHlhOXdMTUhXZFRzdEY4OURwODh2TXgKNkRu
2436 WHZRWUFVWmFoNXdzM1BkL3ZPdFREend6bUlxdFdyUnF1WHIyS1R6NzVCSzFhdGJxL2prdncwUEdm
2437 cWVjYkdCaUk5ZXZYZTZ4YQpCVUZBNTg2ZDhmampqK090dDk3QzNMbHpjZmp3WVUxRFVlSE9UMzAz
2438 VEowNkZldlhyOGZWcTFleGN1VktyRnk1VXZ0TjVmcWNQWHMyCjZ0V3JCNHZGZ3VIRGgyUDQ4T0Zh
2439 RzZNeENxVkwreGIwbEZMbzlRWVFRaUNLSXBvM2FRUUFIc1FNa3N3MElnS0sxbTNhNHRkZmY4WE4K
2440 bXpjMWM5dldyVnU5emcxZzJ2ZG5uMzJHdm4zN0lqMDlIUys4OElMSDcvMzc5OGVUVHo3cE5aNjdv
2441 VnExYWo1TnlvbUppWGZkNzJIRAozWFhndnMzOWIySGJObTdjaUpreloyTEZpaFZJVGs2RzZIUWlo
2442 T1BRdlh4NVZIVWphbmk1ZkhrUUFFZXoyT0xJejk4ZkxkcTN4NC9MCmwydEVFQUI3M3ZidDI0ZFBQ
2443 LzBVcTFldnhvVUxGeUFJQXFKall0Q3FkUnU4MXErdjE5aDV3a29UMmtVS2crQ2lMeVNFc0VWVUla
2444 TXcKcFJRWjJma1FBb3pRNndUb2REcTBhOWRPMDg0RWdiM2FvYUdoMkwxN3QxZjlYSk5SanpJUndW
2445 cU1RRUZTalFZTkdtRFRwazBJRGc3RwpuajE3c0huelpodzhlQkRIangvSGtpVkwwTEJoUXpScTFN
2446 ajM0SW9BU2ltdVhMbUN1TGc0R0kxRy9QYmJieEJGRVIwNmRFQ2RPbldLCjFkZTkzbC8zZS83UlJ4
2447 OWg5dXpac052dFNFcEtRbFJVRkFZUEhxejlmdlRvVVRSczJMQlEvbWluS09INHBUdFlzUEZNa2Ni
2448 bUZHVk0KK1A0SU5oeEp3YnczbXlFczJGL3hzUU4rZW82VmJ4UmwrQ211a2djSnY2Tkt6cmdrczJJ
2449 ckFITTNmUFBOTjFpM2JwMjIyQ3pCbzRILwpqUEFORHcvSCt2WHI4ZmJiYitPUFAvN0FZNDg5aG1u
2450 VHBtbkM2NHN2dmtDVEprMHdiOTQ4bkR0M0RoYUxCZVhLbFVPalJvM1F2WHQzCnJaKzdtZEtDZ29K
2451 dzRzUUpUSjA2RmIvOTloc3VYcndJdlY2UGhJUUViZFZkclZvMW5ENTlHbVBIanRVaXBTdFZxb1N3
2452 c0ZLNGNzVU8KVVRSRHB3dUcrNnhLcVlUczdCMm9VeWNVblRvdHhIZmZmWWRMbHk3aDZhZWZ4c2lS
2453 SS9INDQ0K0RFQlo4WkJLWWFiTGJxOTF4NjladApyRm45TTg0clBtM1ZKT25ySEhyMTZvWFkyRmhN
2454 blRvVnAwNmRnc1ZpUWZYcTFkRy9mMzhNR0REQTQvemQveGJsdXZ5VGNBK21VekZ4CjRrUXZwclVX
2455 TFZwNG1BMEJKcUJHang2TjBhTkhBMkNtOU05bnpzVGE1Y3R4UGljSGp4RUNmMEdBUkNsaUF3SmdE
2456 d3BDU0hRMDNuejMKWFR6ejdMUDQvdi85UDloRjVyZFZ6ZGtHZ3dGang0N0YyTEZqdGVOUXhaU3Nm
2457 cEYyZkRNQUFDQUFTVVJCVkNmRTA0VHBsQ2pNZGhsVwpwNnpVQ3I0M0NDRzRlVHNIQnAwQXZVN0Fp
2458 aFVyWUxmYk5mL2U3dDI3Y2VEQUFjVEV4S0I5Ky9iYWRoVTh4MEhRR3lES0ZBTFBuaWxXCkY4dDE3
2459 OVZGWGRPbVRYSHExQ21VS1ZNR2xTdFh4dlhyMTdGLy8zNDgrZVNUUHRtUkJnMGFCRkVVVWIxNmRV
2460 UkhSK1BGRjErRVhxLzMKYUtOZUt6OC9QODJzdldUSmtpS2QrNE9nY2VQR2VQYlpaekZuemh6OCtP
2461 T1AydUk0SlNVRnc0Y1B4NlZMbDVDVmxZWExseTlqNnRTcApYdnRUQUwxbi9vNTdyRTI5Y0NBcEhj
2462 MUdyY0hFN2czUXBYa1ZFTVVQck9NNU9FVFpqVktUdFMvdW0wWVYvN1lrZTlZQ041bE1XTDE2CnRk
2463 ZjFMOEUvandldTUvdFFCa0h1djdDQ3luQVVHeHVMUzVjdVBlU1JQVHhRU3JGNDhUZVlOV3NCSEk3
2464 U2tPWHlJSVFIcFhmQWNjbDQKNnFrbW1ERmpTcEVxdGhUc1Z3MllrU2swZWtJQ1YxMWU5bm4wQk9l
2465 aml2ejhmUHo2NjYvWXNYRWpzak16b2RQclViNWlSYnpVclJzUwpFaEk4RmlHVVVxalpXWWE3QlBN
2466 d1htaVZLTi83OXp5YkJGRUdBZzJjVnlXZ3dyRDN6NHVvVTYwOC9QME1lUFhWVi9ITU04K2dkKy9l
2467 CldMdDJMYlp1M1lyTXpFeWtwcWFpUllzV0dEVnFGQUxjZ3NmU2JtVWpMRFJZcTUycjBuSWFCTi9N
2468 V3U0MGhLKzg4Z282ZHV5SVhyMTYKK1J4WFpHUWtSbzRjaWV6c2JGeTZkQW5mZnZ1dHhnNUgzY3ox
2469 SDMvOE1kNS8vMzBNSFRvVUgzMzBrY2F2L0ZkQ1BZL2x5NWRqL3Z6NQpIdFZwVko3bHMyZlBZdkRn
2470 d1pneFk0WkhrQlVBV08waUluc3NLZFRYV3hROFZhYzhwci9XR0dYQy9LRGpPT1E3SklUNThkQUxI
2471 RXRICmNyTGdzQ0t6akZGV0RsQ21ycktnSmZqN2NML3k2eitqK1Q3cUlJVGc5ZGY3bzN2M2J0aTRj
2472 U01PSFRvR3A5T0pTcFZxNE1VWFAvR0kKMUM1dXZ6d0IxUG1jS3J6Sk1vVlM2bzZ0MWdtb0pvaDVy
2473 bmdWaWY2dndkL2ZINis4OGdwZWVlV1ZlN1lsaE1EQVV5MUl5aUJRbjVNbQpJWUJlZ0tZcDh3VVVS
2474 cE9lUTU1TmhzVXBJNUFyR25HL0pNc3dLdEhPWnJOWjAyNFdMMTZNSVVPRzRPbW5ud1lBdlB6eXl6
2475 aDkrclNICmErSG03UndFQndVcEpTZzlGeFBxWC9jeHFIN2t3WU1IZytkNUQ4SHIzdmJtelp1SWlv
2476 cnlLTGhTR05xMGFZUFNwVXVqWDc5KzkyejcKc0tBdUlOcTBhWVBwMDZmajlPblRxRm16SmlSSjBo
2477 WUlFUkVScUY2OXVtYTZkNGREbFBGa3RkTFllK2JtZlk5aDI3RlVQUDMrV2t4LwpyUWs2TjZvSW9y
2478 Z2Q5RUx4emM2U3pEUmVTbGtoQmwweDhxMUw4TS9pWHk5OEgxVnphR0h3OC9QRFN5KzloSmRlZXVr
2479 djZWLzFGYXBrCi9JQVMwZXVtR1R1VldCbU9VUEFFSG1UOUpTZytXTm9OaFZQeHlSdDQzNlhuV09G
2480 NVpvSTJFRmRhRjhCeW12VThVZEtObUtDK0Z3TDkKRE9BVktUNWt5QkJNbWpRSnNpd2pOallXMTY1
2481 ZFEycHFLdlI2UFM1ZnZxeVJ3QUNBS0Vrd1creXNZRWNCTGNsVHEvY00vREdieldqYwp1REY2SzFX
2482 MGZDRTFOUlduVDUvR08rKzhneFl0V3FCOSsvWWUvTUh1L2Rldlh4LzE2OWUvOTRrK0JNalUwNlFl
2483 SGg2T2hnMGJZc21TCkpaZ3hZd1o0bmtkK2ZqN01aalBtejU4UGs4bUVtalZyZXZVajhCeHFWQWg5
2484 SU9FTEFKbDVkZ3lZL1R0Ky83TUtKdlY4QWp3UkVBaSsKV0dablVhWWFvWWUvZ1VBb1JybkRFdnp6
2485 K05jTFgxOCt2eEo0Z2hBQzl6bTJvS2xhSmNibkNIVXpVNWVZcW9zREpvQ1poY0V1QVhwUQpuNU1o
2486 endGR1pYTkI0V2JTTWVGcmRjcEZLbHNYSHVJeUk3ZHIxMDZMZXpoKy9EaTJidDBLczltTXMyZlBv
2487 bDI3ZGg0NXZoYWJFNFRqCldRSDFRaVpzdFZLUndnVUJRZ2hDUWtKOGFxbnU0NHlKaWNGUFAvMkUz
2488 TnhjckZ1M0RnNkh3OE9Db0tiVkZGenNGZFMwSHdZb1paSGMKTEhkYXFVL3M5dnZBZ1FNeGJOZ3dP
2489 SjFPbkQxN0ZuUG16TUVmZi95QjVzMmI0KzIzMy9aWlNJVWp3T1kvVTd5MjN5K1c3VXpHM2pNMwo4
2490 TW1BcHVoUXIxeVI5M05LRkJZSFN4SHoxNU5pMVJrdXdhT0JmNzNQdHdRUGpvS21hcFg2VWRXZ1Mw
2491 elZ4WU1vSzlXQmxFTG9CZUV1CmRBc0tZRVkvU09Hblk5V243Z2FMMVFFL0V6TTE1K1hsNGM2ZE96
2492 QWFqVWhKU2NHeFk4ZVFuWjJOVHAwNmVaWHl6TW16NGtKcUp1S3IKbHZYcFg1Wmx3Q0V6VWdpT1VC
2493 aUtXZHRYeGF4WnMzRG16QmtzV3JSSU9WZG1IcFhocXRxa0hWTUpTaVBFVmVtS2MvdGUxR2VQVXFx
2494 NApXeWhVSmttT3NQdFFrR0JqMmJKbDZOR2pCL1I2UFdiTm1vVVdMVnFnUm8wYWhmWXRVNHFqeWJm
2495 UmZQUzZZbCtMZTRFUVlHakhXcGpZCm96NGtTaEJvS1B6ZU8wUVcxY3dSdHFBb1dTVC9zN2hmK2ZX
2496 ZnlmTXR3ZjJERVBZQ0N4eWpjVlR6VE5sa3hVelZLdW1EVFhTeE1KVXMKbUh4RDRBZ01QTE1vT0NU
2497 djYrUStWeGFjTjQwNnBwMVpuWGUvdnRtNUZzM2tmUDc4ZVF3Yk5neU5HemZHcEVtVGtKdWJpei8r
2498 K0FNTwpod01aR1JtUUpNbGpYNE5CUUdSWWtKZmZHV0NMQWFkTWxmckt4Uk84QlhOL0thVUlEUTNW
2499 dU00SllZUXFBcWVXVG5SOVZKTzh3S25SCjR5eW4yUmZoaU1vRUpyb3hnVWt5aGQwcEk5K3VwTnRJ
2500 ckQ4L1BTTzRLTWplZGVMRUNYejMzWGRJVEV4RWRuWTJCZzhlZkZmQkN6QkwKVUlPcWtmaCtSR3VF
2501 QnR4L2VWRmZrR1dLMmN0K3g5ZzVLM0hpK0hIY3VYUEhxdzJsckdTbzFjbjR0QU5LQk8rL0dpV2Fi
2502 d21LaE1LaQpxajNOMUNXbWFuZklsR29CVnZxN1JFSVhoTTBwdytxa01Pb0lUSVZvdjJjdjNrRFp5
2503 QkFFQjVydzZhZWZJak16RTlPbVRjUEFnUU54CjRjSUZ2UHJxcXpDYnpkaThlVE1tVFpya0VXeGxz
2504 enZCY1R6MFB2cDJLQ1phU1dhRjNlOTFQOTNOeFJhTEJmMzY5WVBOWmtOOGZEd08KSERpQThlUEhh
2505 NFhwN3hlcVpZWlNsMVhHL2J2YUJtQ0xHVjRSNXVxSGJYKzR6K1gxekh3TW1yc2JXLzVNdlhmanU0
2506 Q0tka2pwSnlCbApuUVkxY2lnVkV3M3g0a2s0c3JQUXVINENKcjgvQms4KytTUWpCSEZTK0J1WnA3
2507 QlBuejc0NXB0dkhzYXBsT0FCVVJMdFhJSy9GQ1ZSCjFjVUhSd2lNZ290T3NDQWtTUUxQZStjZEdR
2508 UUN1OGkwbk1LaXAzUE1WcFFySFFJQU9IZnVuQmE0bEp1YmkrYk5tMnU1Mi9uNStUaDYKOUtpSDhN
2509 M0lNbXY3dWtPVTFmdkpCUCs5Qks4a3M0SU1SaDI3eDM1K2ZwZzZkU3JPblR1SHRMUTBUSmt5eFN0
2510 VjUzN2dUampDS1g1YwpsdFBPZmxlTGNLaUNWbDBjaXJKTE9LdlBKYyt4NGhFUCtreVdEZlBIMnZI
2511 dHNPaTNzeGp6elVGWUhkSzlkeW9BMlp3TzU4VzFvUEgxCmdUNlRnTXExWVN3VmdOUUd6SmUvL1hw
2512 RmRQOXdGcDZwRm9PcEV6OEFyek82cnNmLzBYZnF2NFFTNFZ1Qys4TGZHVlY5L2ZwMUQxN2kKZnhN
2513 SUlZeTh3c2M1dDIvZkhwMDdkL1pnV0ZMM01lbFlGUjZya3ZOWkVObTVGbzNmMjJBd29FcVZLZ0NB
2514 YWRPbWVlVHpIamx5eEl0ZwpJeU03SCtYZHFqd0J6TStya3JUb2hYdEh6dHBGR1hrMkdaUUNlb0hY
2515 enJGS2xTcmFXQjRXQ3ZQakdnUUNnYis3dGNWOWthaHF5d1NNClVNU2pIYUFKYzlYSGZLOW5sUkND
2516 Z2Uxcm9GWHRjbmh0OWc0Y1RyNWQ5SE95M0lIejRtclFBYU5CNnJYVXRuUHU1U1pMbFlWdXlpSnMK
2517 WERRTmVhUEhZT0dzenlCSlVvbmcvWStneE9kYmdvY0dvdmlOTlk1aWdSRlA4SXJmV09Va1Z2MTJx
2518 cyt1TU9UbTV1S25uMzVDang0OQpFQnNiaTI3ZHVublZCLzQzd05kazJhbFRKM0FjaHg5Ly9CR1RK
2519 MC8yK2wzSEUvQWNDNjZSZktqT3B5NWMxeUtXNXM2ZHE5R0tWcXBVCkNaR1JrUUNZRDlaZ01DQXVM
2520 azdiVDVabG1QT3RIbjJwQVZhVU1zMVFmNWRjVVVvcDhtd1NjcTJLNE9YSlgyYmRLSW9mOTE3YXVY
2521 czgKZzQ1bnorYlJJNGZSb1VNSFJFZEhJeVFrQkkwYk44WVAvKy8vYVVKYWxJR1ZxOVlndms0Q3dz
2522 UEQ4ZnlMblhEcGFpbzRqZ1BIY2VqYgp0NS9tYStZNER0WEtoNkxTcmRVWTM2MHVlSTVBdXJZWHRq
2523 VURZVnN6RUhJR1k1K2o5anc0RGlmQ3ZtVWNiTDhNaFgzTCs2QjUxNEUvCmRvQ2FHVWMwUGI0WDEr
2524 cjV1d2EvWlRtUzZ3WGh5b0tQc2VuNEtheGU5Uk40bmdmSGNWNVI1K3ZXclVPTEZpMFFHUm1KaUln
2525 SXRHalIKQXV2V2VRYUc5ZTNiVnp1SHk1Y3ZvME9IRGloVnFoUzZkdTJLL2Z2M2U3VDk3YmZmTUdE
2526 QUFNVEZ4Y0ZrTW1sTVpYdjI3TG5QdTFrQwpMOUJIQUkvSU1FcndGME9XWlNySk1uVktNclU1Wldw
2527 eHlEVGZ3ZjdhbkRJVkpabktzcXkxWDdCZ0FlM1hyeDg5ZHV3WXRWZ3NkUHYyCjdmVDI3ZHYvNEJr
2528 OEhJd2NPWkkrL3ZqamxGSktMUllMYmR5NE1WMjRjS0ZYTzRjbzA4eDhrZWJaUksvZjJ2U2ZSZWN0
2529 MjBIenJmWkMKajJPMVdtbEdSb2JIdHB3OEs5Mnk3NHpITnUxZTJDV1A2MThRVGxHbWQ4eE9laXVY
2530 ZlN6M2FIOC9rR1NaMnAweU5kc2ttbXRsSDR0RApvazVSZmlqSFdyNThPZVU0amhKQ0tNZHgybmRD
2531 Q0gzLy9mY3BwWlFlUEhqUVl6dkhjYlJpeFlyYS83Mzc5S1A1eXJPcmJ1dlR0eDkxCmlESk5TczJt
2532 ZFR1L1N3RkNBVUwxVFVkUzQ0dUxxUDZweWRvMjlnRUZJZXhUdnhVbHY5MmltTEhhdFUzOWNCd0Z4
2533 OUV5NzB5aHpaN3YKcEIydlg3OSsyamw5K09HSDJuWjF2T3IzYWRPbWFlMzY5T21qYlE4UEQvZllS
2534 NmZUMGR6Y1hFb3BwYm01dVRRNE9OampHcWw5enB3NQo4NEh2d1g4Tjl5dS9TalRmRXZ4dHVGZFVO
2535 U2xnNXR1OGVUTVNFaEpRdlhwMW1Fd210R3paRWlFaDNyN0tmeE5rV1VaY1hCd0lJZGk2CmRTdE1K
2536 aFAyN3QycmxWNmsxR1grVk5Oam5CTEw2M1RINWRRTWpKcjVNNll1MklCYm1XYklsRUtTWk9TYXJj
2537 akpzOElwU2pBYWpWbzEKS3dESXQ5cVJjak1UQmpjR0Q2ZEVOVCt2cVpEYXZKUlNXQjB5c2l3U0pK
2538 bHB4NkYrUEV6Nm9qRngzUXVVVWlWdmxXbTVkcVhFb1ZGSApFR0JnUVdjQy8rQitUb3ZGZ3FGRGg0
2539 SlNpcWVmZmhybnpwM0R6WnMzOGRwcnJ3RUFac3lZZ1lzWEwyTFZxbFZhQU0zOCtmT1JsSlRrClFi
2540 akJjOUNxVHJsRHBrQjBaQkRlZUtZbVM1WGlDRDU1dlRIbUQybUJkN28yUSt2WHBxRFJrRzhRV084
2541 bDRJMHBRT2RCYk1lak8wQ3YKblFlSmI0SXFKMnhhZjJHZCs2SnVzb2g2eVJMS3ZEVVdONGgzaFBY
2542 VnExZnh3UWNmQUFDcVZxMks3ZHUzWS92MjdacnBmL0xreVVoSgo4YzVMcmxXckZzNmNPYU1WUXBF
2543 a1NlTk1VUE8walVZampoOC9qdno4ZkNRbkoyUHg0c1dvVmF2Vy9WejZFdmhBaWZBdHdUOEtkMU8x
2544 CnV3a3hOVFVWdTNmdnh0NjllOUdtVFJ0TW1USUZUcWZUSitYZnZ3RnFHbzVxTWt4TVRNVHExYXVS
2545 VTZBdXNGcUVRYlUwcTlIT1ZxZXMKQ1FTcnpZRzBXOWtRUlJtemxtekZrdldIa0dFV01mS3pOWGlx
2546 L3l5OE1lbDdiTng5R2xhN2lEL09YRVg2blZ6Y3lUWmo2YnFEYVBUcQpkRlFzeDhyMVNSTFY2c2tX
2547 Sm5obG1TTFhKc05zWnlzQ280NGcxSTh2TXY5MFlhQ1VRcFNZVURmYldYQVo0NVltOERjUStPazU2
2548 QjZDCndIWEh5Wk1uY2ZzMjg4dHUzcndaVmF0V1JlblNwYkY0OFdJQVRBQWRQSGdRNjlldkI4Q3FK
2549 YjN4eGh1b1VxV0tWbnhEaGJxUVZLSDYKb0UwNjRzSGR2ZU40R3BLdlo2TnlUQm5VTE0wamI5Zm5z
2550 SjVjQnlST0FGWXQwTm9GWjZjaHlFOFB3UzMvaS9tZWlYWThzVTVqcjNQYQp2MysvVmd1NWI5Kyth
2551 TkdpQlpvM2I0NCtmZm9BWUh6VkJ3NGM4TnB2M0xoeHFGNjlPbDU5OVZVQTdINm93cmR4WTNZY204
2552 MkdxVk9uCll2SGl4YmgxNnhaNjlPaUJ0bTNiM3ZNNmw2Qm8rSGZPWkNYNHp5TXpNeE9DSUdEZXZI
2553 a3dtVXpvMDZjUFRwdzRnWHIxNmdGZ2s0VkQKK3ZkRVZmLzY2Njg0ZXZTbzV0KzEyV3pZdTNldk5t
2554 YXFwT3h3SENCUXdDR3lJZ2U4RDlySnkybWVPYUFXcXdNQXEzRjdLdms2VGlWZgpSNmVuRzJESGtR
2555 dm9QR1N1UjF1RFhrRFp5R0RJTXVDazdMaEd3VGREa2tNSnFwSVZJcEJBSXdlRDhHRHJkVWxXY25R
2556 bEY1R0xuZ2NFCi9xOW5hVkpyZkt2dzlieGN1SEFCWjgrZUJRQVBMZTllR2g5MWkxMncyKzNhOS81
2557 UFY4T1BwM0x4NmVJMWNPejhTRzBORU9XaFZmWXoKMlBNUUh1NS8xMnRBVGY1ZTI2NWR1Nlo5ajQr
2558 UDE3N1hybDNiWnh1QW5YZVRKazBBc0twSEt0U0ZZUFhxMWZIMjIyOWozcng1V0xGaQpCVmFzV0FF
2559 QUtGMjZOSDc2NlNjMGJkcTAwREdXb09nbzBYeEw4RWppekpremFOZXVIY0xDd3VCd09GQ25UaDFz
2560 MjdiTm84Mi9pUUNrCmFkT20yTDU5TzhhT0hZdERodzVoeFlvVjZOcTFLNEtDZ3JRY2FuWE1LdEdF
2561 UTJKenMwbkhKbVJWKzcyVTRobFZhN0V4NGF1eVhSRkMKOEdSOEpldy9kdEZySExIbHdnRndXb0FW
2562 eHhFdkxaWlNDck5kUW82VkNWNGR6N1RkK3hXOE1tVXBTZmwyR1JZSFcwVHdQRHN2ZndOago4dm83
2563 NkJIZEtUYkhqQmtEU1pLOFBoTW1UTkRLa0o0NGNVSnI3LzdkSFdvVk1vdkZvbTFUTlUxS0tZTDg5
2564 Rmo2Ym1zOGFUak5mdFFaClFhTHJBQXQzQXFQbWFmdmN5ckhoZkZyMlhaOWJZczcxMmhZVEU2TjlQ
2565 M2JzbVBiOStQSGoydmZvNkdpdi9WUytiVjhsSVFIR1RwYVQKazRNOWUvWmd6cHc1cUZpeEl0TFQw
2566 ekZ6NXN4Q3gxZUM0cUZFK0piZ2tVVGR1blhoNStlSGZmdjJZZE9tVGJoMjdackhhcDV4S1JjOQpx
2567 dnFmRnNiaDRlSFl0V3NYYkRZYnZ2enlTMVNwVWdVOWUvYlVmaGVWb2d3eVpmNU9IZTlpZWVJNGRw
2568 NHlaZFZ2THFWa2VQUnRzVEpOCnk4L0loRytWbUVpRWh3VGdvQS9oKzFpRkNJM0JDcUFvV0Q1WWtp
2569 bXlMUktzRHBXd24wT3dxZmpDOGUveTR4WUh0V3JWMGdwTUpDWW0KWXVYS2xjak96c2FGQ3hmdzNY
2570 ZmZvVzdkdWtoUFQ4ZHp6ejBIZ09WUEwxaXdBTW5KeVpneFk0YlBQbHUxYWdVQU9IandJTXhtTS9i
2571 cwoyWU5ObXpaNXRDR0VJRkJ3c3Z1cTA0SDRsUUcyclFSV2Z1blJybndwZnhqMUFveFZtSC9abW5R
2572 Y1lrNFdBSURLTW9Tak83Mk8zNmhSCkk2MmExWklsUzdCcjF5N3MzcjBiMzMzM0hRQ1dodGF3WWNO
2573 aVhhZnQyN2Zqczg4K3crWExseEVmSDQ5T25UcHBDNWRUcDA0VnE2OFMKRkk0U3MzTUpIa2xVclZv
2574 Vk5Xdld4T2pSb3hFVEU0TWhRNGFnUVlNR1B0dTZFNERvNE1ydFZIbXFuVExnZ0NmUmdvczMrTyti
2575 L0FraAptRGx6SnN4bXMwY3Vic0dxU0VhRldFTXRRYWdLTFpWNEkrMVdsa2UvcXVaclVvUnZvenFW
2576 SVlvU2pweSs0aldHWGk4MFVsaktHSCswCnU5bmJMbEtZYlRJbzJFSW0wTVFYcTBRZFZmTnhGVjh5
2577 VVBSODNMOERKcE1KYytmT3hhdXZ2b3JNekV5dmtwRXFlVVhuenAweFk4WU0KeUxLTU45OThFNEJ2
2578 N1JFQTJyWnRpN1ZyMStMYXRXdUlpSWlBM1c3M3VMY3FldlhxaFkwYk4wSzA1b0dlMndRa2JRUmlY
2579 U2xnZmdZZQpwWUtZTmhyVTdHbllray9EY3ZwUEhLL0hBdVlxZmJrU1ZZTDhVSEE1RlIwZGpYSGp4
2580 bUhDaEFrNGYvNDhXclpzNlhFKzQ4YU5RNFVLCkZZcDFuYTVldllvUkkwWmd4SWdSWHRmbmYvLzdY
2581 N0g2S2tIaEtCRytKWGhrOGVhYmIycVRYM0dnRVlDNGFYWFVqUUJFWlhJQy9wbXkKaXI0bVowSUlk
2582 QndyZStkZWxsQXRRY2dKQlArL3ZYdVBpcnJPK3dEKy9zMkZhNFlpSUpZaUlNbEZ3a0dCUVVGRUsz
2583 bzJVaXl3cERVZgowejBuU1kvWldYdlVmVHlzdGRuV3Rtb3I1VDIyRW5IZHBGWE14MXkwQTVnb2VN
2584 bnlncEVpWW9xQklJTGNtZmsrZjR4TXNJQWdETDhSCmVML084Y2pNZkJrL245L0k3OFB2Ky90ZXJO
2585 UVNhaG9FUm85cVdRaWE3dm5hMmhoR3cybzFJL0ZEM3MvRzU1djRlN25nNllsKzBJdVcKQTZ6MHds
2586 QjA2eG9OQjhWS0plRWhxODZQWkRibmZkejdOV1BHRExpN3UrUHR0OS9HbVRObjhNc3Z2MkRJa0NG
2587 NC9QSEg4Znp6ejJQdwo0TUZ3Y25MQ2wxOStpVC8rOFkrNGV2VXFKa3lZZ1BYcjE3ZFpnT2ZObXdj
2588 TEN3c2tKQ1RnenAwN2lJNk9ob2VIQitiUG45L2krRVZIClJ5TWhJUUZidG14QlJVVUZZR1dMbngr
2589 ZmhJWXJGd0JKd3VBQlZtaWF1TzMwMzRzQUFPVUh2a1Q5ZGNQOTJvWTkyeEFYOXdyKy9jOGQKclQ2
2590 WEZTdFd3TmZYRjJ2WHJqWGVyL2IyOXNiaXhZdngzSFBQR2R0MXRHQklrNkNnSU15ZVBSdkhqaDFE
2591 VVZFUmJHeHNFQklTZ3BDUQpFTXlkTy9jK2p6aTFoMnM3VTcvVWRKKzFhVFd1WDR0eHM1MmNaQ3JH
2592 LzZscFZ5VERSZ01TR25XR1h4Z3NsQUtWZFhyVTFEVmd3Z3QvClFsR0pZWURNMHhNZngrWlZjM0Vv
2593 Nnh6bUx0dUtVLzlhaWRSdlRtTmx3bTdqZTFwYnFWRnc2QU9vVkVyalFDN0FjSlZhVWFNenJ2ejAK
2594 a0pVQ1ZoM3NwZ1FZQ25hajd0ZXBTZ0NnVWdKcWhXRnhrQWQ1OEZ0WE5kMGZuVE5uRGhJVEU3djFY
2595 c1hGeFpnNit4VmNESTNCb0drdgpZV0E3R3pYb3FxdFE4Y0gvSU5yRkFlKy92YkpQSHRmZWpyc2FF
2596 ZDBIU1RKY2xhbWIzVGUyVWhrS3JoQ0d1YlZOTytuVU5iYmNRYWVuCk5lMktWSzh6YkhUUXRNOXln
2597 MTZDaFFLd3RGQmp5ZStlTWJadjN1MDh6SGtRaGpuYkkvdjdsaDJVT1YvRVE2MVdvdlJXQlpRS3c4
2598 bWkKcWs2UDhtcEQ0VlVwZ0VHMnluc1czZ2Z4UG01djVlVGtoTjEvMzRweHA3K0c0cjBGcURqOGI0
2599 aTdVNFlBb0xIc0ptN3QzSUxLMTJQdwpzdWR3L0hsbFBJOXJIOE51WnlLMDNWV3RiM1oxTEhkWHRW
2600 SWh3VW95N0lva0pFQ3RFS2pYUzZpcXFjZkpDei9qeFdlQ3NHVm5PaTdrCkY2R3ErdTZBSzJzTEJJ
2601 OFpDUURJL2o3ZitGNmYvK1YzZUhUSVFIeTIrd2ptVGcrR1RtOVlJckxoN2pySk5oWUsyRmkwdjhE
2602 R2czd2YKVjI2bS9LeUhEaDJLLy92SGRtUm1abUxMUDc3QThjMnJvSHA0RUlTdUVjcWFLc3o2cndq
2603 TTJyak81R3RsMDRPQnhaZW9IUXJwMTUxeQpnTlpkMVEzR1lpUjZwS3U2YVZlazJrYWdYbThvd0dv
2604 TE5ZNmUrZ2xCZnU1WThkbzB6RnF5Q1RWM3IzeHRyUzJoSFRNU0YvS0xVSGJiCnNJZnVuT2RDOEd6
2605 NEdIei80ODlZOS9sQnZESjlBbTVWNlNCZ2lQZGhLeVhVcXRieDlxYjd1SExSNi9VbWYwK1ZTb1Vw
2606 VTZaZ3lwUXAKcUtpb1FIbDVPZFJxTmV6dDdXRnBhZG85ZytuQnd1SkwxRW5tR0ZVdDNTM0FkVHBE
2607 TjNUV3FUekV4VTdHdHlmek1HVzhEeVlHak1LVgpheVVvdW40TjVhVTM0VGRxQ0k3ZDdYSit6TlVK
2608 cTVmUHhPMDdOWGhoMGNkWTg0ZVhVRkZyS0NDV2R3ZFZOYjl5YmVzK3JycXA0SnJwCi9uZC84dkRE
2609 RHh2bkRWUGZ4d0ZYUkNiVXZLdGEzMndnVi9OdTZxNTBWVGV0NkhXcnNnYWZmSEVZc2M4R28rck9M
2610 WHp5eVJicyt1ZFcKUEQ3S0RncUZRRVVGVUNVOWd0eFNaMXcvdmcxcXRRb3ZMZG1NUDh5ZmhwRXVo
2611 dDJPREN0VlNjYWZ1OGE3M2NyTjk4ZFZLeVdvK3VqQQpLU0pUNm1yOVl2RWw2a0dtSEZVdGhNQzJy
2612 NDdqNlZCZmZMbzlCZnQycmtMVTA0M1FCdFJENisrSXh3TE9vdkJhUFVhNnF1RGxOUnpqCnRDOGhl
2613 ZWMrWEx6d1BZYTdqTUNCekZQd0dEYlFzQmhKRy9keDFjcitlUitYcUR1NldyL1k3VXpVZzB6WlZT
2614 MUpFdFo5ZmhCZjdENkEKcWt2YnNHYWxoREcrZG1ob0dqbDF0N256RUFza3I3ZkRvdjlOUWtPTjRj
2615 bktxbHBjdS80TFhJZmFvWmIzY1luTXJsdFRqVEl6TStIdAo3WTNISG5zTUNRa0piYlpadm53NTNO
2616 M2RNVzdjT0Z5NGNLRTcveHhScjllMEc0NWErZXUyaWxiTnRsVnMwUDI2Vm5YZGY2eFZMWVJBCi9z
2617 OGxPSFlvRVMvUEtNZVkwYmFHQW1xaFF2TmZ2TlVxSmF5c0ZWanpwNEc0ZGVzR0FNTTBwQ0ROS0RU
2618 b0RQTnhyUzNrWFZlWmlGcnEKVnZGOS9mWFhzV25USmh3OGVCQWZmL3d4YnQ1c3VlWnNUazRPRGg4
2619 K2pCTW5UclM1WEJsUmY3Smp4dzRvRkFvb0ZBcmp3dmRwYVdsUQpLWld3VUNseHRTQWYxbW9KWCsv
2620 OUZ4NnlWTUxhUW9tc1k4Znc1L2ZlUjVBMkdJNU9UcWc0L2hGdVh5L0UzNU52NDE5Zlg0Vk9yemRN
2621 CmtXbytLdnZ1MzlaV0VoenREVjgzTnVvQWZTTWVzcFN3ZE1rYnNGQXBvVlFxc1hidFdnQ0dqU3pl
2622 ZlBOTkJBY0h3OXJhR3M3T3pwZ3kKWllweHV6MGlNcTB1RjkrbTdhZkN3c0l3WXNRSVJFUkVJRHM3
2623 dTBXYjdPeHN4TVRFd043ZUhyR3hzY2FsejRqNm83Q3dNQUNHcTkrbQpuVytPSGoxcWZLN3A2NmEv
2624 YlcxdEVhSU54RmVwdTNIcTVBbmNLaXVEWHE5RFk2TWUzeDZ0eDV5NFVweTdVSGwzTTRZV2M2SWdR
2625 VUpECmd3NFBQV1M0WWk0cnY0TUJOaFpZdFdvVkVoSVNJRWtTVnExYWhUZmVlQU1Bc0dEQkFxeGV2
2626 Um81T1Rtb3I2OUhTVWtKMHRQVHNXZlAKSHJrT0QxRy8wdVhpZS96NGNYaDVlUmtmKy9qNHROcTBP
2627 U2NuQno0K1BzYkhqbzZPdUhTcDlVNHJSUDNCbzQ4K0NsZFhWd2doakQ4cgpXVmxaeGdFYnpaOERn
2628 T0RnWUtoVUtzVEh4K1A4K2ZPNGZmczIzbjdyRDFqK3VqTXNMU1hVMWdrazc2cHNOZGlqVWFmSGo1
2629 ZUxrSGZsCkJnREQvV0NWU29uTm16Y2pQajdldU9EKzh1WExBUUNYTGwxQ1JrWUdKRWxDWW1JaXFx
2630 cXFjUFhxVmFTbXBtTHExS2t5SFIyaS9xVkgKQjF5Sk5wYmphMjlVNThxVks0MWZoNGVIdDlpZGc2
2631 aXZDQXNMUTBGQmdmSHFOanM3RzBGQlFiaDgrVEt5c3JMUTBOQ0FreWRQR3RzQwpoazNNbHk1ZGlw
2632 TW5UK0w2OWVzUTR0ZkZIZ3F1MXNOQ3BXaDF6OWZUYlFqcTZ4dWhWdDBCMEFoZC9SM2pKaFZMbGl6
2633 QlcyKzlaV3p2CjV1YUdvVU9Ib3Fpb0NGdTNic1dOR3pjd2J0dzRoSWFHWXVEQWdUMThSSWg2bC9U
2634 MGRLU25wM2YvalVRWGxaZVhDNDFHWTN5OGNPRkMKOGRWWFg3Vm9zMjdkT3JGbXpScmpZM2QzOXpi
2635 ZnF4dGhFUFVxVzdkdUZaSWtDWVZDSVE0ZlBpd2tTUksvLy8zdnhmVHAwNFZLcFJKcAphV2xDa2lR
2636 aFNaSklUMDhYUWdqaDQrTmpmRTZoVUFnSkVKSmsrRE01ZElBUUplT0VLQmtuUmd5M2FQV2MxMk5X
2637 QWtDTDc5Ky9mMytyCnVMWnQyeVlHRHg1c2JDZEprckN5c2hMcjFxMlQreEFSOVNwZHJWOWQ3bmEy
2638 czdNRFlCanhYRkJRZ0xTME5HaTEyaFp0dEZvdFVsSlMKVUZwYWl1VGtaSGg3ZTdmMVZrVDl4c1NK
2639 RXdFWWVvVldyMTROd0xBaCt2ang0NkhUNmZEaGh4OENBQ3dzTEJBY0hJeERodzRaeDBxOAo4ODQ3
2640 S0MwdHhiT1I0MkZqM2ZHUHJrNG5jTFBNc0ppR282TWpQRDA5SVlUQUN5KzhnRk9uVHJWb08ydldM
2641 QlFYRitQMDZkUDQvUFBQCkVSNGVqcnE2T3J6enpqdG9iR3cwNVNFZ0luU3oyL25ERHovRXE2Kytp
2642 b2FHQml4YXRBZ09EZzdZdEdrVEFPRFZWMTlGVUZBUVFrTkQKRVJBUUFIdDdleVFsSlpra2FLTGVh
2643 dFNvVVhCeWNrSnhjVEgyN3QwTFNaSXdZY0lFT0RrWlZwL2F2MzgvQUNBZ0lBQ1dscFlvTFMwMQpm
2644 dStBQVFOUVcxc0x0YVV6cXFyMXVOZGFHSHE5d0Y4K0tvZWxwUjJBV3RqYTJtTGZ2bjBJRGc3R3pa
2645 czNFUmtaaWFOSGo4TFYxUlhGCnhjVllzMllObm4vK2VYaDRlR0RFaUJFNGUvWXMwdFBUVVZwYWlx
2646 S2lvdnZla0oySTdvMHJYQkhKYk1hTUdVaEpTUUVBdUxpNG9LQ2cKQU5YVjFiQ3pzNE5PWnhnZ3RX
2647 elpNcno3N3J1b3E2dURzN096Y1hZQllCaTRkZXRXR2FxcXF1SG5ZNDNqYVY2d3NGREFkZXdaRlA1
2648 YwpqMENORFVMSEQwRjV6Vmo4ZExFWTMzNzdMVnhkWFpHZm40OGpSNDdneVNlZlJGMWRIVHc5UFhI
2649 a3lCRlVWRlRBM2QyOTNWaDM3dHpaCjh3ZUZxSmZpZnI1RXZVUlQxM1BUVlM4QTJOallRS1BSR0xZ
2650 MmxDVGpZQ3RMUzB1a3BxWWlKaVlHZ3djUFJrUkVCQTRkT2dSSFJ5Y28KRkFxVWxqK01aMSt1eEp0
2651 djNVSDViY01KNEZLaENuNkJLN0IrdzNZbzhHWENlUUFBQ0VCSlJFRlVsY29XZ3h4RFFrS01HOEhu
2652 NWVVaApLaW9LRGc0T1dMUm9FY2FPSFF0N2Uzc01HREFBVHp6eEJPTGo0L0hYdi81VnprTkQxRy93
2653 eXBlb2x5c3NMTVRGaXhkUlgxOFBSMGRICmFEUWFLSlhLanIrUmlMcU5HeXNRRVJISmpOM09SRVJF
2654 dlFTTEx4RVJrY3hZZkltSWlHVEc0a3RFUkNRekZsOGlJaUtac2ZnU0VSSEoKak1XWGlJaElaaXkr
2655 UkVSRU1tUHhKU0lpa2htTEx4RVJrY3hZZkltSWlHVEc0a3RFUkNRekZsOGlJaUtac2ZnU0VSSEpq
2656 TVdYaUloSQpaaXkrUkVSRU1tUHhKU0lpa2htTEx4RVJrY3hZZkltSWlHVEc0a3RFUkNRekZsOGlJ
2657 aUtac2ZnU0VSSEpqTVdYaUloSVppeStSRVJFCk1tUHhKU0lpa2htTEx4RVJrY3hZZkltSWlHVEc0
2658 a3RFUkNRekZsOGlJaUtac2ZnU0VSSEpqTVdYaUloSVpsMHV2cFdWbFlpS2lvS0wKaXd1bVQ1K09P
2659 M2Z1dEdwejllcFZUSjQ4R2FOSGowWjRlRGlTazVPN0ZXeGZrNTZlYnU0UXpJSjU5eC85TVdlQWVW
2660 UEh1bHg4TjJ6WQpBQmNYRi96MDAwOFlObXdZTm03YzJLcU5XcTNHMnJWcmNlN2NPZXphdFFzclZx
2661 eEFaV1ZsdHdMdVMvcnJmMVRtM1gvMHg1d0I1azBkCjYzTHh6Y25Kd2J4NTgyQnBhWW01YytjaU96
2662 dTdWUnRuWjJkb05Cb0FnSU9EQTBhUEhvMFRKMDUwUFZvaUlxSStvTXZGOS9qeDQvRHkKOGdJQWVI
2663 bDVJU2NuNTU3dEwxNjhpSFBuemlFb0tLaXIveVFSRVZHZklBa2hSSHN2UHZYVVU3aHg0MGFyNTFl
2664 dFdvV0ZDeGNpTHk4UApWbFpXcUs2dWhyZTNONjVjdWRMbSsxUldWaUk4UEJ6eDhmR0lpb3BxSFlR
2665 a2RTTUZJaUlpODdsSEdXMlg2bDR2cHFXbHRmdmFaNTk5Cmh0emNYUGo3K3lNM054ZUJnWUZ0dG10
2666 b2FFQjBkRFJlZnZubE5nc3YwTFhBaVlpSWVxc3VkenRydFZva0ppYWlwcVlHaVltSkNBNE8KYnRW
2667 R0NJRjU4K2JCMTljWGl4Y3Y3bGFnUkVSRWZVV1hpMjljWEJ3S0N3dmg2ZW1KYTlldVlmNzgrUUNB
2668 Njlldkl6SXlFZ0J3NU1nUgpKQ1VsNFp0dnZvRy92ei84L2YzeDlkZGZteVp5SWlLaTNrcVlRVVZG
2669 aFpnMmJab1lQbnk0aUlxS0VwV1ZsYTNhRkJZV2l2RHdjT0hqCjR5TW1UWm9rdG0vZmJvWkl1eThq
2670 STBONGVYa0pEdzhQc1c3ZHVqYmJMRnUyVExpNXVZbXhZOGVLM054Y21TUHNHUjNsblpTVUpQejgK
2671 L0lTZm41K0lqWTBWUC83NG94bWlOTDNPZk41Q0NKR1RreU9VU3FWSVNVbVJNYnFlMFptY2MzSnlS
2672 RUJBZ1BEeThoS1RKazJTTjhBZQowbEhlMWRYVll2YnMyVUtqMFlpd3NEQ3hlL2R1TTBScFdxKzg4
2673 b3B3Y25JU3ZyNis3YmJwaStlemp2THV5dm5NTE1YMy9mZmZGd3NYCkxoUzF0YlZpd1lJRjRvTVBQ
2674 bWpWcHFpb1NIejMzWGRDQ0NGS1NrcUVtNXVicUtpb2tEdlVidE5vTkNJakkwTVVGQlFJVDA5UFVW
2675 SlMKMHVMMTdPeHNFUklTSWtwTFMwVnljcktJakl3MFU2U20xVkhlV1ZsWm9yeThYQWdoeEtlZmZp
2676 cG16WnBsampCTnJxTzhoUkNpc2JGUgpUSjQ4V1VSR1JvcGR1M2FaSVVyVDZpaG52VjR2ZkgxOVJW
2677 cGFtaEJDdEhsTWVxT084dDZ3WVlPSWk0c1RRZ2hSVUZBZzNOM2RoVjZ2Ck4wZW9KcE9abVNsT25U
2678 clZiaEhxcStlemp2THV5dm5NTE10TDlwYzV3cmR2M3dZQWhJV0ZZY1NJRVlpSWlHaVZhM1oyTm1K
2679 aVltQnYKYjQvWTJGams1dWFhSTFTVDZremU0OGVQaDUyZEhRQWdNaklTR1JrWnNzZHBhcDNKR3dB
2680 U0VoSVFFeE1EUjBkSHVVTTB1YzdrZk9MRQpDZmo1K2VISko1OEVZUGg1N3UwNms3ZWRuUjBxS3l2
2681 UjBOQ0Fzckl5Mk5qWTlQcVpIUk1uVHNTZ1FZUGFmYjB2bnMrQWp2UHV5dm5NCkxNVzN2OHdSYnA0
2682 bkFQajQrT0RZc1dNdDJ1VGs1TURIeDhmNDJOSFJFWmN1WFpJdHhwN1FtYnliMjd4NU02Wk9uU3BI
2683 YUQycU0zbGYKdTNZTmUvYnNRVnhjSElEZVA4MnVNemtmT0hBQWtpUmg0c1NKbURwMUtnNGNPQ0Iz
2684 bUNiWG1ieGpZMk9oMCtuZzRPQ0EwTkJRYk4rKwpYZTR3WmRjWHoyZjNxN1BuczN0T05lcU9lODBS
2685 RnZjeHRhaXlzaEl2dnZnaTFxNWRDMXRiVzFPRytFQVFocTcvRnMvMTloUHkvVGg0CjhDQ1NrcEtR
2686 bFpWbDdsQmtzWGp4WXJ6MzNudVFKS25Oejc0dnFxMnR4ZW5UcDNIdzRFRlVWMWZqcWFlZXd0bXpa
2687 MkZ0YlczdTBIclUKUng5OUJKVktoYUtpSXB3NWN3YVJrWkc0Y3VVS0ZJcSt1NThOejJlZFA1LzEy
2688 UCtDdExRMG5EbHpwdFdmYWRPbUlUQXcwTmdkMGQwNQp3Zyt5d01CQVhMaHd3Zmo0M0xsenJhWmth
2689 YlZhbkQ5LzN2aTRwS1FFN3U3dXNzWFlFenFUTndEODhNTVBtRDkvUGxKVFV6Rnc0RUE1ClErd1Ju
2690 Y243NU1tVG1EbHpKdHpjM0pDU2tvTFhYbnNOcWFtcGNvZHFNcDNKZWZ6NDhmak5iMzREWjJkbnVM
2691 dTdJeUFnQUptWm1YS0gKYWxLZHlUc3pNeE8vL2UxdllXTmpBNjFXaTBjZWVRUjVlWGx5aHlxcnZu
2692 Zys2Nno3UForWjVWZXcvakpIdU9rZVFHWm1KZ29LQ3BDVwpsZ2F0VnR1aWpWYXJSVXBLQ2twTFM1
2693 R2NuQXh2YjI5emhHcFNuY203c0xBUTBkSFIyTDU5T3p3OFBNd1Jwc2wxSnUvOC9IeGN2bndaCmx5
2694 OWZSa3hNRERaczJJQnAwNmFaSTF5VDZFek93Y0hCeU1qSVFIVjFOY3JLeXZEZGQ5OGhKQ1RFSE9H
2695 YVRHZnlmdUtKSjdCMzcxN28KOVhyazUrZWpyS3lzUlZkMVg5UVh6MmVkMGFYem1VbUdndDJuOXFZ
2696 YVhidDJUVHp6ekROQ0NDRU9IejRzSkVrU1k4YU1FUnFOUm1nMApHckYvLzM1emhOc3Q2ZW5wd3N2
2697 TFM0d2NPVkw4N1c5L0UwSUlzWEhqUnJGeDQwWmptNlZMbHdwWFYxY3hkdXhZY2Y3OGVYT0ZhbElk
2698 CjVUMXYzanhoYjI5di9Hd0RBd1BOR2E3SmRPYnpiakpuenB3K01kV29Nem12WDc5ZWVIdDdpN0N3
2699 TUxGanh3NXpoV3BTSGVWZFhsNHUKRmkxYUpQejkvVVZFUklUWXQyK2ZPY00xaVprelo0cWhRNGNL
2700 dFZvdGhnMGJKajc1NUpOK2NUN3JLTyt1bk0vdXViWXpFUkVSbVY3Zgp2Zk5QUkVUMGdHTHhKU0lp
2701 a2htTEx4RVJrY3hZZkltSWlHVEc0a3RFUkNRekZsOGlJaUtaL1QvR1BwWnExd3BzbndBQUFBQkpS
2702 VTVFCnJrSmdnZz09Cg==
2703 </png>
2704 </output>
2705 </outputs>
2706 </codecell>
2707 </cells>
2708 </worksheet>
2709 </worksheets>
2710 </notebook>
1 {
2 "nbformat": 2,
3 "name": "text_analysis",
4 "worksheets": [
5 {
6 "cells": [
7 {
8 "source": "<h1>Text Analysis Using NetworkX</h1>",
9 "cell_type": "markdown"
10 },
11 {
12 "source": "<p>This notebook will analyze a plain text file treating it as a list of\nnewline-separated sentences (e.g. a list of paper titles).</p>\n<br>\n<p>It computes word frequencies (after doing some naive normalization by\nlowercasing and throwing away a few overly common words). It also computes,\nfrom the most common words, a weighted graph of word co-occurrences and\ndisplays it, as well as summarizing the graph structure by ranking its nodes in\ndescending order of eigenvector centrality.</p>\n<br>\n<p>This is meant as an illustration of text processing in Python, using matplotlib\nfor visualization and NetworkX for graph-theoretical manipulation. It should\nnot be considered production-strength code for serious text analysis.</p>\n<br>\n<p>Author: Fernando Perez</p>",
13 "cell_type": "markdown"
14 },
15 {
16 "cell_type": "code",
17 "language": "python",
18 "outputs": [],
19 "collapsed": true,
20 "prompt_number": 1,
21 "input": "%run text_analysis.py"
22 },
23 {
24 "cell_type": "code",
25 "language": "python",
26 "outputs": [],
27 "collapsed": true,
28 "prompt_number": 2,
29 "input": "default_url = \"http://bibserver.berkeley.edu/tmp/titles.txt\"\nn_words = 15\nn_nodes = 15\nurl = default_url\n "
30 },
31 {
32 "source": "Fetch text and do basic preprocessing.",
33 "cell_type": "markdown"
34 },
35 {
36 "cell_type": "code",
37 "language": "python",
38 "outputs": [],
39 "collapsed": true,
40 "prompt_number": 3,
41 "input": "text = get_text_from_url(url).lower()\nlines = text.splitlines()\nwords = text_cleanup(text)"
42 },
43 {
44 "source": "Compute frequency histogram.",
45 "cell_type": "markdown"
46 },
47 {
48 "cell_type": "code",
49 "language": "python",
50 "outputs": [],
51 "collapsed": true,
52 "prompt_number": 4,
53 "input": "wf = word_freq(words)\nsorted_wf = sort_freqs(wf)"
54 },
55 {
56 "source": "Build a graph from the n_nodes most frequent words.",
57 "cell_type": "markdown"
58 },
59 {
60 "cell_type": "code",
61 "language": "python",
62 "outputs": [],
63 "collapsed": true,
64 "prompt_number": 5,
65 "input": "popular = sorted_wf[-n_nodes:]\npop_words = [wc[0] for wc in popular]\nco_occur = co_occurrences(lines, pop_words)\nwgraph = co_occurrences_graph(popular, co_occur, cutoff=1)\ncentrality = nx.eigenvector_centrality_numpy(wgraph)\n"
66 },
67 {
68 "source": "Print summaries of single-word frequencies and graph structure.",
69 "cell_type": "markdown"
70 },
71 {
72 "cell_type": "code",
73 "language": "python",
74 "outputs": [
75 {
76 "output_type": "stream",
77 "text": "Number of unique words: 9265\n\n10 least frequent words:\n rosenhouse&apos;s -&gt; 1\n reconstruction, -&gt; 1\nparameterization -&gt; 1\n benda) -&gt; 1\n reconstruction: -&gt; 1\n payoff -&gt; 1\n electricity -&gt; 1\n kalman-bucy -&gt; 1\n clark--ocone -&gt; 1\n m-estimators -&gt; 1\n\n10 most frequent words:\n large -&gt; 421\n process -&gt; 428\n markov -&gt; 440\n equations -&gt; 471\n limit -&gt; 518\n brownian -&gt; 536\n model -&gt; 542\nstochastic -&gt; 1000\n processes -&gt; 1087\n random -&gt; 2356\n\nGraph centrality\n random: 0.474\n limit: 0.336\n stochastic: 0.312\n walks: 0.307\n process: 0.297\n processes: 0.259\n theorem: 0.251\n time: 0.232\n equations: 0.213\n model: 0.209\n markov: 0.197\n large: 0.19\n brownian: 0.125\n models: 0.107\n percolation: 0.0852"
78 }
79 ],
80 "collapsed": false,
81 "prompt_number": 6,
82 "input": "summarize_freq_hist(sorted_wf)\nsummarize_centrality(centrality)"
83 },
84 {
85 "source": "Plot histogram and graph.",
86 "cell_type": "markdown"
87 },
88 {
89 "cell_type": "code",
90 "language": "python",
91 "outputs": [
92 {
93 "output_type": "pyout",
94 "prompt_number": 7,
95 "text": "&lt;matplotlib.axes.AxesSubplot at 0x334b250&gt;"
96 },
97 {
98 "output_type": "display_data",
99 "png": "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\n"
100 }
101 ],
102 "collapsed": false,
103 "prompt_number": 7,
104 "input": "plot_word_histogram(sorted_wf, n_words,\"Frequencies for %s most frequent words\" % n_words)"
105 },
106 {
107 "cell_type": "code",
108 "language": "python",
109 "outputs": [
110 {
111 "output_type": "pyout",
112 "prompt_number": 8,
113 "text": "&lt;matplotlib.axes.AxesSubplot at 0x3371e50&gt;"
114 },
115 {
116 "output_type": "display_data",
117 "png": "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\n"
118 }
119 ],
120 "collapsed": false,
121 "prompt_number": 8,
122 "input": "plot_word_histogram(sorted_wf, 1.0, \"Frequencies for entire word list\")\n"
123 },
124 {
125 "cell_type": "code",
126 "language": "python",
127 "outputs": [
128 {
129 "output_type": "display_data",
130 "png": "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\nuHjxoggMDBSpqamFzg0dOlSMHj3a+L5ixQrj4V9QfD0ej4iKihK//fabkbZv377izTffFELo4lu5\ncuVi++J62nOla331XLNmjXF+zJgx4t///rfxPTU1VURHRwuPxyP2798vatSo4VdW9+7dxbx584qt\nv48dO3aIuLg4kZycbLyU+Bg0aJDxkuXjt99+EzExMYZA/NGyGzduLBYtWlTo+MKFC8U999xjfM/O\nzvb7jYt6uPnqtnr1amEymURKSooQQv9tgoODxa+//lpsOy7HBx98IAYPHmx8971InT17Vpw5c0bY\n7XbhcDiM8xUqVDAenq+99prxOwohxA8//OBX96ZNm/qJ66JFi0SnTp2uql4jR44Uw4YNK3Q8JSVF\nBAQEGC88QgjRrFkzsXDhwiLzudK9/+CDD4q33nqr0HV79+4VkZGRhe4TIQr3cVHi+8orrxjf/+g9\nLoR+DyxYsMA437FjR/Hee+8JIYrvm4yMDFGmTBm/F5F//vOfYvLkyUV1zW1xf97uSLPzdVC7dm26\ndOnCpEmT/BxN1q9fz9133+2XtlGjRqxdu5Z9+/ahaRqVK1c2zjVo0MD4vHLlStauXUtERITxd/Dg\nQdasWVOo/PXr1xMXF0dUVFShcz/99BMNGzY0vjds2JBdu3aRmZnpl27fvn3k5uZSvXp1v7Rr1641\nvjdp0qTYPrie9hR1bcOGDQvNGxYsf+XKlUycONHIq2rVquTk5LB161ZWrlzJkSNH/Mr64Ycf/NpS\nHPXq1ePf//43o0aNoly5crz00kvFmunT09Pp1q0b//73v2natKlRr6stOzs7my1bttCsWbNC5376\n6Se/eycwMJBq1arx008/XbENAGXKlCE6OhoAs9lMdHQ0p06dMs7/EYeolStXMnv2bKM90dHRZGdn\ns2bNGjZt2kTVqlWx2+1G+oL13rRpk999UPBcdnY2GzZsoHPnzkbegwYNuuo2JicnF9l3P//8M5Ur\nVyYoKMg41qhRI9atWwfo/1590wXr168v9t73pS+unNWrV9OkSRNU9doen0X9e7qae3zbtm1GmoSE\nBONzmTJlDNNvcXVet24dKSkplC1b1sh3xowZRlsLcrvcn7c7Unyvk3HjxvHhhx/63UDNmjXz+4cC\nsHXrVlq0aEHNmjVRVZVDhw4Z5wqmbdOmDUlJSaSlpRl/mZmZPPfcc4XKbtq0KceOHeP8+fOFzjVr\n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\nrkJggg==\n"
131 }
132 ],
133 "collapsed": false,
134 "prompt_number": 9,
135 "input": "plot_graph(wgraph)"
136 }
137 ]
138 }
139 ]
140 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now