##// END OF EJS Templates
use IPython.display imports in example notebooks
MinRK -
Show More
@@ -1,1193 +1,1193 b''
1 {
1 {
2 "metadata": {
2 "metadata": {
3 "name": "00_notebook_tour"
3 "name": "00_notebook_tour"
4 },
4 },
5 "nbformat": 3,
5 "nbformat": 3,
6 "nbformat_minor": 0,
6 "nbformat_minor": 0,
7 "worksheets": [
7 "worksheets": [
8 {
8 {
9 "cells": [
9 "cells": [
10 {
10 {
11 "cell_type": "markdown",
11 "cell_type": "markdown",
12 "metadata": {},
12 "metadata": {},
13 "source": [
13 "source": [
14 "# A brief tour of the IPython notebook\n",
14 "# A brief tour of the IPython notebook\n",
15 "\n",
15 "\n",
16 "This document will give you a brief tour of the capabilities of the IPython notebook. \n",
16 "This document will give you a brief tour of the capabilities of the IPython notebook. \n",
17 "You can view its contents by scrolling around, or execute each cell by typing `Shift-Enter`.\n",
17 "You can view its contents by scrolling around, or execute each cell by typing `Shift-Enter`.\n",
18 "After you conclude this brief high-level tour, you should read the accompanying notebook \n",
18 "After you conclude this brief high-level tour, you should read the accompanying notebook \n",
19 "titled `01_notebook_introduction`, which takes a more step-by-step approach to the features of the\n",
19 "titled `01_notebook_introduction`, which takes a more step-by-step approach to the features of the\n",
20 "system. \n",
20 "system. \n",
21 "\n",
21 "\n",
22 "The rest of the notebooks in this directory illustrate various other aspects and \n",
22 "The rest of the notebooks in this directory illustrate various other aspects and \n",
23 "capabilities of the IPython notebook; some of them may require additional libraries to be executed.\n",
23 "capabilities of the IPython notebook; some of them may require additional libraries to be executed.\n",
24 "\n",
24 "\n",
25 "**NOTE:** This notebook *must* be run from its own directory, so you must ``cd``\n",
25 "**NOTE:** This notebook *must* be run from its own directory, so you must ``cd``\n",
26 "to this directory and then start the notebook, but do *not* use the ``--notebook-dir``\n",
26 "to this directory and then start the notebook, but do *not* use the ``--notebook-dir``\n",
27 "option to run it from another location.\n",
27 "option to run it from another location.\n",
28 "\n",
28 "\n",
29 "The first thing you need to know is that you are still controlling the same old IPython you're used to,\n",
29 "The first thing you need to know is that you are still controlling the same old IPython you're used to,\n",
30 "so things like shell aliases and magic commands still work:"
30 "so things like shell aliases and magic commands still work:"
31 ]
31 ]
32 },
32 },
33 {
33 {
34 "cell_type": "code",
34 "cell_type": "code",
35 "collapsed": false,
35 "collapsed": false,
36 "input": [
36 "input": [
37 "pwd"
37 "pwd"
38 ],
38 ],
39 "language": "python",
39 "language": "python",
40 "metadata": {},
40 "metadata": {},
41 "outputs": [
41 "outputs": [
42 {
42 {
43 "output_type": "pyout",
43 "output_type": "pyout",
44 "prompt_number": 1,
44 "prompt_number": 1,
45 "text": [
45 "text": [
46 "u'/Users/minrk/dev/ip/mine/docs/examples/notebooks'"
46 "u'/Users/minrk/dev/ip/mine/docs/examples/notebooks'"
47 ]
47 ]
48 }
48 }
49 ],
49 ],
50 "prompt_number": 1
50 "prompt_number": 1
51 },
51 },
52 {
52 {
53 "cell_type": "code",
53 "cell_type": "code",
54 "collapsed": false,
54 "collapsed": false,
55 "input": [
55 "input": [
56 "ls"
56 "ls"
57 ],
57 ],
58 "language": "python",
58 "language": "python",
59 "metadata": {},
59 "metadata": {},
60 "outputs": [
60 "outputs": [
61 {
61 {
62 "output_type": "stream",
62 "output_type": "stream",
63 "stream": "stdout",
63 "stream": "stdout",
64 "text": [
64 "text": [
65 "00_notebook_tour.ipynb callbacks.ipynb python-logo.svg\r\n",
65 "00_notebook_tour.ipynb callbacks.ipynb python-logo.svg\r\n",
66 "01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb\r\n",
66 "01_notebook_introduction.ipynb cython_extension.ipynb rmagic_extension.ipynb\r\n",
67 "Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb\r\n",
67 "Animations_and_Progress.ipynb display_protocol.ipynb sympy.ipynb\r\n",
68 "Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb\r\n",
68 "Capturing Output.ipynb formatting.ipynb sympy_quantum_computing.ipynb\r\n",
69 "Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb\r\n",
69 "Script Magics.ipynb octavemagic_extension.ipynb trapezoid_rule.ipynb\r\n",
70 "animation.m4v progbar.ipynb\r\n"
70 "animation.m4v progbar.ipynb\r\n"
71 ]
71 ]
72 }
72 }
73 ],
73 ],
74 "prompt_number": 2
74 "prompt_number": 2
75 },
75 },
76 {
76 {
77 "cell_type": "code",
77 "cell_type": "code",
78 "collapsed": false,
78 "collapsed": false,
79 "input": [
79 "input": [
80 "message = 'The IPython notebook is great!'\n",
80 "message = 'The IPython notebook is great!'\n",
81 "# note: the echo command does not run on Windows, it's a unix command.\n",
81 "# note: the echo command does not run on Windows, it's a unix command.\n",
82 "!echo $message"
82 "!echo $message"
83 ],
83 ],
84 "language": "python",
84 "language": "python",
85 "metadata": {},
85 "metadata": {},
86 "outputs": [
86 "outputs": [
87 {
87 {
88 "output_type": "stream",
88 "output_type": "stream",
89 "stream": "stdout",
89 "stream": "stdout",
90 "text": [
90 "text": [
91 "The IPython notebook is great!\r\n"
91 "The IPython notebook is great!\r\n"
92 ]
92 ]
93 }
93 }
94 ],
94 ],
95 "prompt_number": 3
95 "prompt_number": 3
96 },
96 },
97 {
97 {
98 "cell_type": "heading",
98 "cell_type": "heading",
99 "level": 2,
99 "level": 2,
100 "metadata": {},
100 "metadata": {},
101 "source": [
101 "source": [
102 "Plots with matplotlib"
102 "Plots with matplotlib"
103 ]
103 ]
104 },
104 },
105 {
105 {
106 "cell_type": "markdown",
106 "cell_type": "markdown",
107 "metadata": {},
107 "metadata": {},
108 "source": [
108 "source": [
109 "IPython adds an 'inline' matplotlib backend,\n",
109 "IPython adds an 'inline' matplotlib backend,\n",
110 "which embeds any matplotlib figures into the notebook."
110 "which embeds any matplotlib figures into the notebook."
111 ]
111 ]
112 },
112 },
113 {
113 {
114 "cell_type": "code",
114 "cell_type": "code",
115 "collapsed": false,
115 "collapsed": false,
116 "input": [
116 "input": [
117 "%pylab inline"
117 "%pylab inline"
118 ],
118 ],
119 "language": "python",
119 "language": "python",
120 "metadata": {},
120 "metadata": {},
121 "outputs": [
121 "outputs": [
122 {
122 {
123 "output_type": "stream",
123 "output_type": "stream",
124 "stream": "stdout",
124 "stream": "stdout",
125 "text": [
125 "text": [
126 "\n",
126 "\n",
127 "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
127 "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
128 "For more information, type 'help(pylab)'.\n"
128 "For more information, type 'help(pylab)'.\n"
129 ]
129 ]
130 }
130 }
131 ],
131 ],
132 "prompt_number": 4
132 "prompt_number": 4
133 },
133 },
134 {
134 {
135 "cell_type": "code",
135 "cell_type": "code",
136 "collapsed": false,
136 "collapsed": false,
137 "input": [
137 "input": [
138 "x = linspace(0, 3*pi, 500)\n",
138 "x = linspace(0, 3*pi, 500)\n",
139 "plot(x, sin(x**2))\n",
139 "plot(x, sin(x**2))\n",
140 "title('A simple chirp');"
140 "title('A simple chirp');"
141 ],
141 ],
142 "language": "python",
142 "language": "python",
143 "metadata": {},
143 "metadata": {},
144 "outputs": [
144 "outputs": [
145 {
145 {
146 "output_type": "display_data",
146 "output_type": "display_data",
147 "png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztfXt0VdWd/+fmwSvhlUDeAcSECREFFWtLi8YKWlBTrS8c\nq1StZVppO21XZ3XNrJnqmqmF6XSpa9EquqYVOlZp+6tCUfHZKK2ltIpohcqjonnwCOQBeSc35/fH\n7s49OTmP/Tzn3GR/1sqCJGc/7s09n/05n+93f3fCsiwLBgYGBgZjAhlRT8DAwMDAIDwY0jcwMDAY\nQzCkb2BgYDCGYEjfwMDAYAzBkL6BgYHBGIIhfQMDA4MxBEP6BmmPJ554AldeeaWWvr/whS/g3//9\n35X2ee+99+K2227z/P2CBQvw+uuvKx3TwIDCkL5B5KipqUFeXh76+vqE2t9666144YUXFM+KIJFI\nIJFIKO/TD3/5y19wySWXKB3TwIDCkL5BpDhy5Ah2796NgoICbNu2LerpuEL1/kWZ/pLJpMKZGIxF\nGNI3iBSbN2/GsmXLcNttt2HTpk2+1z7++OM4++yzMWXKFMydOxc///nPh36+dOnSoesyMjLw8MMP\no7KyElOmTMF//Md/4PDhw/jEJz6BadOmYdWqVejv7wcA1NXVoaysDN///vcxc+ZMnHXWWUP9umH7\n9u1YtGgRpk+fjk9+8pN49913Pa997733sHz5cuTn56OoqAjf//73ARCl39fXh9WrV2PKlClYsGAB\n3nzzzaF2c+bMwauvvgqAWEE33HADbrvtNkydOhWPP/740M9WrVqFKVOm4MILL8Q777wT8E4bGBAY\n0jeIFJs3b8bNN9+Mm266CS+88AJOnDjhel1nZye+/vWvY8eOHTh9+jT+8Ic/YNGiRZ79vvjii9iz\nZw927dqF9evX4+6778aTTz6Jjz76CO+++y6efPLJoWuPHz+OU6dOoampCZs2bcKXvvQlHDx4cESf\ne/bswV133YXHHnsMLS0tWLNmDWpra11tqTNnzmDZsmVYuXIljh49ikOHDuHyyy8HQJT+tm3bcMst\nt6C9vR21tbVYu3btUFun/bNt2zbceOONaG9vx6233jr0s5tuugmtra34x3/8R1x77bUYGBjweacN\nDAgM6RtEht/97ndobGxEbW0tKisrUV1d7auyMzIy8O6776K7uxuFhYWorq72vPZf/uVfkJubi+rq\n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\n"
147 "png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztfXt0VdWd/+fmwSvhlUDeAcSECREFFWtLi8YKWlBTrS8c\nq1StZVppO21XZ3XNrJnqmqmF6XSpa9EquqYVOlZp+6tCUfHZKK2ltIpohcqjonnwCOQBeSc35/fH\n7s49OTmP/Tzn3GR/1sqCJGc/7s09n/05n+93f3fCsiwLBgYGBgZjAhlRT8DAwMDAIDwY0jcwMDAY\nQzCkb2BgYDCGYEjfwMDAYAzBkL6BgYHBGIIhfQMDA4MxBEP6BmmPJ554AldeeaWWvr/whS/g3//9\n35X2ee+99+K2227z/P2CBQvw+uuvKx3TwIDCkL5B5KipqUFeXh76+vqE2t9666144YUXFM+KIJFI\nIJFIKO/TD3/5y19wySWXKB3TwIDCkL5BpDhy5Ah2796NgoICbNu2LerpuEL1/kWZ/pLJpMKZGIxF\nGNI3iBSbN2/GsmXLcNttt2HTpk2+1z7++OM4++yzMWXKFMydOxc///nPh36+dOnSoesyMjLw8MMP\no7KyElOmTMF//Md/4PDhw/jEJz6BadOmYdWqVejv7wcA1NXVoaysDN///vcxc+ZMnHXWWUP9umH7\n9u1YtGgRpk+fjk9+8pN49913Pa997733sHz5cuTn56OoqAjf//73ARCl39fXh9WrV2PKlClYsGAB\n3nzzzaF2c+bMwauvvgqAWEE33HADbrvtNkydOhWPP/740M9WrVqFKVOm4MILL8Q777wT8E4bGBAY\n0jeIFJs3b8bNN9+Mm266CS+88AJOnDjhel1nZye+/vWvY8eOHTh9+jT+8Ic/YNGiRZ79vvjii9iz\nZw927dqF9evX4+6778aTTz6Jjz76CO+++y6efPLJoWuPHz+OU6dOoampCZs2bcKXvvQlHDx4cESf\ne/bswV133YXHHnsMLS0tWLNmDWpra11tqTNnzmDZsmVYuXIljh49ikOHDuHyyy8HQJT+tm3bcMst\nt6C9vR21tbVYu3btUFun/bNt2zbceOONaG9vx6233jr0s5tuugmtra34x3/8R1x77bUYGBjweacN\nDAgM6RtEht/97ndobGxEbW0tKisrUV1d7auyMzIy8O6776K7uxuFhYWorq72vPZf/uVfkJubi+rq\n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\n"
148 }
148 }
149 ],
149 ],
150 "prompt_number": 5
150 "prompt_number": 5
151 },
151 },
152 {
152 {
153 "cell_type": "markdown",
153 "cell_type": "markdown",
154 "metadata": {},
154 "metadata": {},
155 "source": [
155 "source": [
156 "You can paste blocks of input with prompt markers, such as those from\n",
156 "You can paste blocks of input with prompt markers, such as those from\n",
157 "[the official Python tutorial](http://docs.python.org/tutorial/interpreter.html#interactive-mode)"
157 "[the official Python tutorial](http://docs.python.org/tutorial/interpreter.html#interactive-mode)"
158 ]
158 ]
159 },
159 },
160 {
160 {
161 "cell_type": "code",
161 "cell_type": "code",
162 "collapsed": false,
162 "collapsed": false,
163 "input": [
163 "input": [
164 ">>> the_world_is_flat = 1\n",
164 ">>> the_world_is_flat = 1\n",
165 ">>> if the_world_is_flat:\n",
165 ">>> if the_world_is_flat:\n",
166 "... print \"Be careful not to fall off!\""
166 "... print \"Be careful not to fall off!\""
167 ],
167 ],
168 "language": "python",
168 "language": "python",
169 "metadata": {},
169 "metadata": {},
170 "outputs": [
170 "outputs": [
171 {
171 {
172 "output_type": "stream",
172 "output_type": "stream",
173 "stream": "stdout",
173 "stream": "stdout",
174 "text": [
174 "text": [
175 "Be careful not to fall off!\n"
175 "Be careful not to fall off!\n"
176 ]
176 ]
177 }
177 }
178 ],
178 ],
179 "prompt_number": 6
179 "prompt_number": 6
180 },
180 },
181 {
181 {
182 "cell_type": "markdown",
182 "cell_type": "markdown",
183 "metadata": {},
183 "metadata": {},
184 "source": [
184 "source": [
185 "Errors are shown in informative ways:"
185 "Errors are shown in informative ways:"
186 ]
186 ]
187 },
187 },
188 {
188 {
189 "cell_type": "code",
189 "cell_type": "code",
190 "collapsed": false,
190 "collapsed": false,
191 "input": [
191 "input": [
192 "%run non_existent_file"
192 "%run non_existent_file"
193 ],
193 ],
194 "language": "python",
194 "language": "python",
195 "metadata": {},
195 "metadata": {},
196 "outputs": [
196 "outputs": [
197 {
197 {
198 "output_type": "stream",
198 "output_type": "stream",
199 "stream": "stderr",
199 "stream": "stderr",
200 "text": [
200 "text": [
201 "ERROR: File `u'non_existent_file.py'` not found."
201 "ERROR: File `u'non_existent_file.py'` not found."
202 ]
202 ]
203 }
203 }
204 ],
204 ],
205 "prompt_number": 7
205 "prompt_number": 7
206 },
206 },
207 {
207 {
208 "cell_type": "code",
208 "cell_type": "code",
209 "collapsed": false,
209 "collapsed": false,
210 "input": [
210 "input": [
211 "x = 1\n",
211 "x = 1\n",
212 "y = 4\n",
212 "y = 4\n",
213 "z = y/(1-x)"
213 "z = y/(1-x)"
214 ],
214 ],
215 "language": "python",
215 "language": "python",
216 "metadata": {},
216 "metadata": {},
217 "outputs": [
217 "outputs": [
218 {
218 {
219 "ename": "ZeroDivisionError",
219 "ename": "ZeroDivisionError",
220 "evalue": "integer division or modulo by zero",
220 "evalue": "integer division or modulo by zero",
221 "output_type": "pyerr",
221 "output_type": "pyerr",
222 "traceback": [
222 "traceback": [
223 "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)",
223 "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)",
224 "\u001b[1;32m<ipython-input-8-dc39888fd1d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mz\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
224 "\u001b[1;32m<ipython-input-8-dc39888fd1d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mz\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
225 "\u001b[1;31mZeroDivisionError\u001b[0m: integer division or modulo by zero"
225 "\u001b[1;31mZeroDivisionError\u001b[0m: integer division or modulo by zero"
226 ]
226 ]
227 }
227 }
228 ],
228 ],
229 "prompt_number": 8
229 "prompt_number": 8
230 },
230 },
231 {
231 {
232 "cell_type": "markdown",
232 "cell_type": "markdown",
233 "metadata": {},
233 "metadata": {},
234 "source": [
234 "source": [
235 "When IPython needs to display additional information (such as providing details on an object via `x?`\n",
235 "When IPython needs to display additional information (such as providing details on an object via `x?`\n",
236 "it will automatically invoke a pager at the bottom of the screen:"
236 "it will automatically invoke a pager at the bottom of the screen:"
237 ]
237 ]
238 },
238 },
239 {
239 {
240 "cell_type": "code",
240 "cell_type": "code",
241 "collapsed": false,
241 "collapsed": false,
242 "input": [
242 "input": [
243 "magic"
243 "magic"
244 ],
244 ],
245 "language": "python",
245 "language": "python",
246 "metadata": {},
246 "metadata": {},
247 "outputs": [],
247 "outputs": [],
248 "prompt_number": 18
248 "prompt_number": 18
249 },
249 },
250 {
250 {
251 "cell_type": "markdown",
251 "cell_type": "markdown",
252 "metadata": {},
252 "metadata": {},
253 "source": [
253 "source": [
254 "## Non-blocking output of kernel\n",
254 "## Non-blocking output of kernel\n",
255 "\n",
255 "\n",
256 "If you execute the next cell, you will see the output arriving as it is generated, not all at the end."
256 "If you execute the next cell, you will see the output arriving as it is generated, not all at the end."
257 ]
257 ]
258 },
258 },
259 {
259 {
260 "cell_type": "code",
260 "cell_type": "code",
261 "collapsed": false,
261 "collapsed": false,
262 "input": [
262 "input": [
263 "import time, sys\n",
263 "import time, sys\n",
264 "for i in range(8):\n",
264 "for i in range(8):\n",
265 " print i,\n",
265 " print i,\n",
266 " time.sleep(0.5)"
266 " time.sleep(0.5)"
267 ],
267 ],
268 "language": "python",
268 "language": "python",
269 "metadata": {},
269 "metadata": {},
270 "outputs": [
270 "outputs": [
271 {
271 {
272 "output_type": "stream",
272 "output_type": "stream",
273 "stream": "stdout",
273 "stream": "stdout",
274 "text": [
274 "text": [
275 "0 "
275 "0 "
276 ]
276 ]
277 },
277 },
278 {
278 {
279 "output_type": "stream",
279 "output_type": "stream",
280 "stream": "stdout",
280 "stream": "stdout",
281 "text": [
281 "text": [
282 "1 "
282 "1 "
283 ]
283 ]
284 },
284 },
285 {
285 {
286 "output_type": "stream",
286 "output_type": "stream",
287 "stream": "stdout",
287 "stream": "stdout",
288 "text": [
288 "text": [
289 "2 "
289 "2 "
290 ]
290 ]
291 },
291 },
292 {
292 {
293 "output_type": "stream",
293 "output_type": "stream",
294 "stream": "stdout",
294 "stream": "stdout",
295 "text": [
295 "text": [
296 "3 "
296 "3 "
297 ]
297 ]
298 },
298 },
299 {
299 {
300 "output_type": "stream",
300 "output_type": "stream",
301 "stream": "stdout",
301 "stream": "stdout",
302 "text": [
302 "text": [
303 "4 "
303 "4 "
304 ]
304 ]
305 },
305 },
306 {
306 {
307 "output_type": "stream",
307 "output_type": "stream",
308 "stream": "stdout",
308 "stream": "stdout",
309 "text": [
309 "text": [
310 "5 "
310 "5 "
311 ]
311 ]
312 },
312 },
313 {
313 {
314 "output_type": "stream",
314 "output_type": "stream",
315 "stream": "stdout",
315 "stream": "stdout",
316 "text": [
316 "text": [
317 "6 "
317 "6 "
318 ]
318 ]
319 },
319 },
320 {
320 {
321 "output_type": "stream",
321 "output_type": "stream",
322 "stream": "stdout",
322 "stream": "stdout",
323 "text": [
323 "text": [
324 "7\n"
324 "7\n"
325 ]
325 ]
326 }
326 }
327 ],
327 ],
328 "prompt_number": 19
328 "prompt_number": 19
329 },
329 },
330 {
330 {
331 "cell_type": "markdown",
331 "cell_type": "markdown",
332 "metadata": {},
332 "metadata": {},
333 "source": [
333 "source": [
334 "## Clean crash and restart\n",
334 "## Clean crash and restart\n",
335 "\n",
335 "\n",
336 "We call the low-level system libc.time routine with the wrong argument via\n",
336 "We call the low-level system libc.time routine with the wrong argument via\n",
337 "ctypes to segfault the Python interpreter:"
337 "ctypes to segfault the Python interpreter:"
338 ]
338 ]
339 },
339 },
340 {
340 {
341 "cell_type": "code",
341 "cell_type": "code",
342 "collapsed": false,
342 "collapsed": false,
343 "input": [
343 "input": [
344 "import sys\n",
344 "import sys\n",
345 "from ctypes import CDLL\n",
345 "from ctypes import CDLL\n",
346 "# This will crash a Linux or Mac system; equivalent calls can be made on Windows\n",
346 "# This will crash a Linux or Mac system; equivalent calls can be made on Windows\n",
347 "dll = 'dylib' if sys.platform == 'darwin' else '.so.6'\n",
347 "dll = 'dylib' if sys.platform == 'darwin' else '.so.6'\n",
348 "libc = CDLL(\"libc.%s\" % dll) \n",
348 "libc = CDLL(\"libc.%s\" % dll) \n",
349 "libc.time(-1) # BOOM!!"
349 "libc.time(-1) # BOOM!!"
350 ],
350 ],
351 "language": "python",
351 "language": "python",
352 "metadata": {},
352 "metadata": {},
353 "outputs": [],
353 "outputs": [],
354 "prompt_number": "*"
354 "prompt_number": "*"
355 },
355 },
356 {
356 {
357 "cell_type": "markdown",
357 "cell_type": "markdown",
358 "metadata": {},
358 "metadata": {},
359 "source": [
359 "source": [
360 "## Markdown cells can contain formatted text and code\n",
360 "## Markdown cells can contain formatted text and code\n",
361 "\n",
361 "\n",
362 "You can *italicize*, **boldface**\n",
362 "You can *italicize*, **boldface**\n",
363 "\n",
363 "\n",
364 "* build\n",
364 "* build\n",
365 "* lists\n",
365 "* lists\n",
366 "\n",
366 "\n",
367 "and embed code meant for illustration instead of execution in Python:\n",
367 "and embed code meant for illustration instead of execution in Python:\n",
368 "\n",
368 "\n",
369 " def f(x):\n",
369 " def f(x):\n",
370 " \"\"\"a docstring\"\"\"\n",
370 " \"\"\"a docstring\"\"\"\n",
371 " return x**2\n",
371 " return x**2\n",
372 "\n",
372 "\n",
373 "or other languages:\n",
373 "or other languages:\n",
374 "\n",
374 "\n",
375 " if (i=0; i<n; i++) {\n",
375 " if (i=0; i<n; i++) {\n",
376 " printf(\"hello %d\\n\", i);\n",
376 " printf(\"hello %d\\n\", i);\n",
377 " x += 4;\n",
377 " x += 4;\n",
378 " }"
378 " }"
379 ]
379 ]
380 },
380 },
381 {
381 {
382 "cell_type": "markdown",
382 "cell_type": "markdown",
383 "metadata": {},
383 "metadata": {},
384 "source": [
384 "source": [
385 "Courtesy of MathJax, you can include mathematical expressions both inline: \n",
385 "Courtesy of MathJax, you can include mathematical expressions both inline: \n",
386 "$e^{i\\pi} + 1 = 0$ and displayed:\n",
386 "$e^{i\\pi} + 1 = 0$ and displayed:\n",
387 "\n",
387 "\n",
388 "$$e^x=\\sum_{i=0}^\\infty \\frac{1}{i!}x^i$$"
388 "$$e^x=\\sum_{i=0}^\\infty \\frac{1}{i!}x^i$$"
389 ]
389 ]
390 },
390 },
391 {
391 {
392 "cell_type": "markdown",
392 "cell_type": "markdown",
393 "metadata": {},
393 "metadata": {},
394 "source": [
394 "source": [
395 "## Rich displays: include anyting a browser can show\n",
395 "## Rich displays: include anyting a browser can show\n",
396 "\n",
396 "\n",
397 "Note that we have an actual protocol for this, see the `display_protocol` notebook for further details.\n",
397 "Note that we have an actual protocol for this, see the `display_protocol` notebook for further details.\n",
398 "\n",
398 "\n",
399 "### Images"
399 "### Images"
400 ]
400 ]
401 },
401 },
402 {
402 {
403 "cell_type": "code",
403 "cell_type": "code",
404 "collapsed": false,
404 "collapsed": false,
405 "input": [
405 "input": [
406 "from IPython.core.display import Image\n",
406 "from IPython.display import Image\n",
407 "Image(filename='../../source/_static/logo.png')"
407 "Image(filename='../../source/_static/logo.png')"
408 ],
408 ],
409 "language": "python",
409 "language": "python",
410 "metadata": {},
410 "metadata": {},
411 "outputs": [
411 "outputs": [
412 {
412 {
413 "output_type": "pyout",
413 "output_type": "pyout",
414 "png": "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\n",
414 "png": "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\n",
415 "prompt_number": 1,
415 "prompt_number": 1,
416 "text": [
416 "text": [
417 "<IPython.core.display.Image at 0x1060e77d0>"
417 "<IPython.core.display.Image at 0x10faeafd0>"
418 ]
418 ]
419 }
419 }
420 ],
420 ],
421 "prompt_number": 1
421 "prompt_number": 1
422 },
422 },
423 {
423 {
424 "cell_type": "markdown",
424 "cell_type": "markdown",
425 "metadata": {},
425 "metadata": {},
426 "source": [
426 "source": [
427 "An image can also be displayed from raw data or a url"
427 "An image can also be displayed from raw data or a url"
428 ]
428 ]
429 },
429 },
430 {
430 {
431 "cell_type": "code",
431 "cell_type": "code",
432 "collapsed": false,
432 "collapsed": false,
433 "input": [
433 "input": [
434 "Image('http://python.org/images/python-logo.gif')"
434 "Image('http://python.org/images/python-logo.gif')"
435 ],
435 ],
436 "language": "python",
436 "language": "python",
437 "metadata": {},
437 "metadata": {},
438 "outputs": [
438 "outputs": [
439 {
439 {
440 "output_type": "pyout",
440 "output_type": "pyout",
441 "png": "R0lGODlh0wBHAPcAAP/////78vf3///35fb19fPy8u/v7//tyPHs2uvq6urq6vXoxv/tYObm5vHl\nw//krP/rXvXmpvXjmP/mWf/gl9zh5/bfoP/jVN7e3vfekvjhbt3d3friYv/gUtfe483f7vbYl/XZ\njfXagv/We//Wg//bTNbW1vfUe//YSf/TdvjVaPfShPnWW/vVT//VRP/PasbU4P/QQP/NV/fNdMLR\n3vvOR/jNV//MO8zMzPjHYvvIQPzFOf/FMsXFxfnCRLDH2fnAScLCwvvAN/q+QP2+Lv+8Kb29vf+4\nLf+1Mf+1IZu/3Zu92qG6z5260bW1taysrJCvyYKv1KioqIKt0aOjo3+oyqGgoICmxn6lxoCjwH2h\nv3+euJmZmXKgxZGRkXCWtZCPj2SVvWSRtVqRv2SOsoaGhlKNvX5+fkmIu0SJwFCFsEmFtkOFuziF\nw0ODtjiCvkl/rFB8oUN/snV1dTh/ukJ9rjh8tUN5pzd5r2xsbDd2q0JzpTxynjdzpWZmZjZtnDdq\nlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUUAIEALAAAAADTAEcA\nAAj/AAMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX\nMGPKnEmzps2bOHPq3Mmzp8+fQIMKjYiDSx4cQ2fSwBJmjRs5UOWoEaPFQ1KEZfz4QXrVZRM2b8La\n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\n",
441 "png": "R0lGODlh0wBHAPcAAP/////78vf3///35fb19fPy8u/v7//tyPHs2uvq6urq6vXoxv/tYObm5vHl\nw//krP/rXvXmpvXjmP/mWf/gl9zh5/bfoP/jVN7e3vfekvjhbt3d3friYv/gUtfe483f7vbYl/XZ\njfXagv/We//Wg//bTNbW1vfUe//YSf/TdvjVaPfShPnWW/vVT//VRP/PasbU4P/QQP/NV/fNdMLR\n3vvOR/jNV//MO8zMzPjHYvvIQPzFOf/FMsXFxfnCRLDH2fnAScLCwvvAN/q+QP2+Lv+8Kb29vf+4\nLf+1Mf+1IZu/3Zu92qG6z5260bW1taysrJCvyYKv1KioqIKt0aOjo3+oyqGgoICmxn6lxoCjwH2h\nv3+euJmZmXKgxZGRkXCWtZCPj2SVvWSRtVqRv2SOsoaGhlKNvX5+fkmIu0SJwFCFsEmFtkOFuziF\nw0ODtjiCvkl/rFB8oUN/snV1dTh/ukJ9rjh8tUN5pzd5r2xsbDd2q0JzpTxynjdzpWZmZjZtnDdq\nlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUUAIEALAAAAADTAEcA\nAAj/AAMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX\nMGPKnEmzps2bOHPq3Mmzp8+fQIMKjYiDSx4cQ2fSwBJmjRs5UOWoEaPFQ1KEZfz4QXrVZRM2b8La\nGYunrJ6zesh0LZh161qWTcLSmTuWLNo+ePe8FdiW616UaN6k+SBgCtmyZfEq/hLUL8G+N6VIlhxI\nioFACqTEBKsEAAACdhDfVdyHj88GVub4OQgZp2aBUoJsCPL6Zdgonj+ExjMa75/fPnFoXW2wdeSB\nUjIbqO0y7JspS9wgTqz4N/CewrWy1uq4Zu3vMeke/0ZM2vp1ntmJs+WeEzzs8HVFn61u/k/w4dvd\nukbOP6cY+tYBshEORjzxBA4NKGQCBkThVxx7EzWAg4FGmPAQgQYi2BMNY4DlXHzTlRcgIIAYwAAD\nE6SoQURGnDHci1wkWJATqnVHkIOBPPHii08M1JcBGFjholZ5WCGjQRhwsaMfcxiRUANODLljjDpV\n4dyH41Hn24gkGgABBBNcICYLDvWgmlZzlFGGlGccyReEB+Go45J+9PimHz0oSWebBvWQx3Bq/qkV\nlTMKmiYXZQjqB583NdHGo2/MRZd8eoj4G4ldpijmBSWUIAJDRhD5BIMD4SBoGevpF6d2BKWXH5FW\nIP+FwZx+oEqQCYIaOZARgnJBUANtleFYA3r64etNaUAqaV2h9daHeZh2uSmnndbAUFs9HJRetj7C\naRCOArn6oFa6EuTEcBYK1MCZThiEq1bthgvuY/PK9EMbV74BInkA/hGttNR26oILDixkXKpn0Kvq\nt6yWWm8gbTl5kKB25ogmQnPmIaO4fT4MUxeQijVeb/X9G8cCHXQg8MAxhGCwt+YORyrEMN/YsLw3\nd7swQWCQOxC7CDUwnMQcM6weTWbIJZ5d8/X7LyA0qNBpCQO7EEMMNry8s8NaSUzz1gPNW7TONgo0\np60mDFe2QEOCgfPRBXn8koci78bvlpf+uwUCU1f/HcMNN+ig9dqBDFfxwXHnPPada58tUA9yB6Jn\nwoEsHnbOMklKx75aPssliXHQgEALK/8N+A07DJ7QcMd+TbjYDyM+kOMWY04QrW+vbjtMWNqdWBYw\nGCD88MQbsIAKKCTP8uk8NK86QoCSrTvclstutla24p6Q9pYLFHlLy+57RwUScHDi+SdqGjDVVjPf\nPA/Pr1qr9NArHnvN188fCOS7509594Xrn0vcsLks4aECGkDf+VI0gZSpjH3tA9z7eCCE+BntcPjz\nnv1sZ73a2So96TpIz/QHwO+xZAycw0MWIqDA9KXIgSuzmukmWAQfWLBVw4mX66ZXkOplkHYB9IPX\n/wwyJDuVUIAtucLIzlIB8ylQfQHzmwRpWIQZ3HAg59JKCCPGQxxy8IfY01nrCiI0LeaufnCTCQzi\ngxY9FGACTwyTmPoWwRtMkAdFyCMCriiQM1HuTmNMHPXuBzYP7opIbppdGM8oP5zUYTp4wEsB4rgp\nOprOju/LYx6HcC2tVCxmWuGWQKiAroPwD25p00oCxtW4RQISSYLyyxHTKBMomOUuk1ygHKfGvktS\nMY9JAEEn0eQEUiWAVl4oSAIElYcnrDIQCTBCWzB3pk8yDmOuDAQGevXMyhXRi7TUYDhjIobe5JKB\nMISgLzOpySQAoSFtOROaXnSGbg7kXXTakbuGM/+HWNHPIEAUiAnOlAc1SYkKPZSbCV3CBDjc4aF3\nCMSXXpgygdXgojrIqEaFwNGOWhGe3MGBF3bUzIQkaUlecEICHmaCkXrynwUJqECOqSiteMFGswwK\nFPumAo/0pQBAxYFQCUeQBAwVA0AFauSEOrOMmGCo9vzLQqZlSfe9r4IU6WBFFirVl8yxqlNsXh6x\nOhGtTmSl+utqTipautPZUQYUGIEmK2JWiWQnkGqtCR3r+L4BeCYFSSACXTNIET0NMa81aYHyZBhW\nHgTAMyRIAlklUleIhMoPeYgqYmeSASliMpMvOMADjpCEFQy2kBE5aSg3mxMWrJOdSYhtEnJgkcrS\nJsQET+CClOZAVNbCxAI1+CwegRlbJAjTInrqrUKKxSRn+pYnCzgBEIRABE0OYQYFcyoVQiiRHpSB\nCk7g7nPHS97ymve86E2vetfLXoYQIKnwja9829ve98oXqMUT3n2TSt/yEsC+Sc2vgPN73/6yFsD4\nLV4CFszgBieAwPE1cF7/C18FM7gBGM5wAxpcvPlKuKsILkB+HUxiCMP3wxMO8YBXrF8PozjFFN6v\njJP63/++2L81zrGOd3zjHvv4x0AOspCHTOQiG/nISE6ykpfc44AAADs=\n",
442 "prompt_number": 2,
442 "prompt_number": 2,
443 "text": [
443 "text": [
444 "<IPython.core.display.Image at 0x1060e7410>"
444 "<IPython.core.display.Image at 0x1060e7410>"
445 ]
445 ]
446 }
446 }
447 ],
447 ],
448 "prompt_number": 2
448 "prompt_number": 2
449 },
449 },
450 {
450 {
451 "cell_type": "markdown",
451 "cell_type": "markdown",
452 "metadata": {},
452 "metadata": {},
453 "source": [
453 "source": [
454 "SVG images are also supported out of the box (since modern browsers do a good job of rendering them):"
454 "SVG images are also supported out of the box (since modern browsers do a good job of rendering them):"
455 ]
455 ]
456 },
456 },
457 {
457 {
458 "cell_type": "code",
458 "cell_type": "code",
459 "collapsed": false,
459 "collapsed": false,
460 "input": [
460 "input": [
461 "from IPython.core.display import SVG\n",
461 "from IPython.display import SVG\n",
462 "SVG(filename='python-logo.svg')"
462 "SVG(filename='python-logo.svg')"
463 ],
463 ],
464 "language": "python",
464 "language": "python",
465 "metadata": {},
465 "metadata": {},
466 "outputs": [
466 "outputs": [
467 {
467 {
468 "output_type": "pyout",
468 "output_type": "pyout",
469 "prompt_number": 3,
469 "prompt_number": 3,
470 "svg": [
470 "svg": [
471 "<svg height=\"115.02pt\" id=\"svg2\" inkscape:version=\"0.43\" sodipodi:docbase=\"/home/sdeibel\" sodipodi:docname=\"logo-python-generic.svg\" sodipodi:version=\"0.32\" version=\"1.0\" width=\"388.84pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://web.resource.org/cc/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sodipodi=\"http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
471 "<svg height=\"115.02pt\" id=\"svg2\" inkscape:version=\"0.43\" sodipodi:docbase=\"/home/sdeibel\" sodipodi:docname=\"logo-python-generic.svg\" sodipodi:version=\"0.32\" version=\"1.0\" width=\"388.84pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://web.resource.org/cc/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sodipodi=\"http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
472 " <metadata id=\"metadata2193\">\n",
472 " <metadata id=\"metadata2193\">\n",
473 " <rdf:RDF>\n",
473 " <rdf:RDF>\n",
474 " <cc:Work rdf:about=\"\">\n",
474 " <cc:Work rdf:about=\"\">\n",
475 " <dc:format>image/svg+xml</dc:format>\n",
475 " <dc:format>image/svg+xml</dc:format>\n",
476 " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
476 " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
477 " </cc:Work>\n",
477 " </cc:Work>\n",
478 " </rdf:RDF>\n",
478 " </rdf:RDF>\n",
479 " </metadata>\n",
479 " </metadata>\n",
480 " <sodipodi:namedview bordercolor=\"#666666\" borderopacity=\"1.0\" id=\"base\" inkscape:current-layer=\"svg2\" inkscape:cx=\"243.02499\" inkscape:cy=\"71.887497\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:window-height=\"543\" inkscape:window-width=\"791\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:zoom=\"1.4340089\" pagecolor=\"#ffffff\"/>\n",
480 " <sodipodi:namedview bordercolor=\"#666666\" borderopacity=\"1.0\" id=\"base\" inkscape:current-layer=\"svg2\" inkscape:cx=\"243.02499\" inkscape:cy=\"71.887497\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:window-height=\"543\" inkscape:window-width=\"791\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:zoom=\"1.4340089\" pagecolor=\"#ffffff\"/>\n",
481 " <defs id=\"defs4\">\n",
481 " <defs id=\"defs4\">\n",
482 " <linearGradient id=\"linearGradient2795\">\n",
482 " <linearGradient id=\"linearGradient2795\">\n",
483 " <stop id=\"stop2797\" offset=\"0\" style=\"stop-color:#b8b8b8;stop-opacity:0.49803922\"/>\n",
483 " <stop id=\"stop2797\" offset=\"0\" style=\"stop-color:#b8b8b8;stop-opacity:0.49803922\"/>\n",
484 " <stop id=\"stop2799\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>\n",
484 " <stop id=\"stop2799\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>\n",
485 " </linearGradient>\n",
485 " </linearGradient>\n",
486 " <linearGradient id=\"linearGradient2787\">\n",
486 " <linearGradient id=\"linearGradient2787\">\n",
487 " <stop id=\"stop2789\" offset=\"0\" style=\"stop-color:#7f7f7f;stop-opacity:0.5\"/>\n",
487 " <stop id=\"stop2789\" offset=\"0\" style=\"stop-color:#7f7f7f;stop-opacity:0.5\"/>\n",
488 " <stop id=\"stop2791\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>\n",
488 " <stop id=\"stop2791\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>\n",
489 " </linearGradient>\n",
489 " </linearGradient>\n",
490 " <linearGradient id=\"linearGradient3676\">\n",
490 " <linearGradient id=\"linearGradient3676\">\n",
491 " <stop id=\"stop3678\" offset=\"0\" style=\"stop-color:#b2b2b2;stop-opacity:0.5\"/>\n",
491 " <stop id=\"stop3678\" offset=\"0\" style=\"stop-color:#b2b2b2;stop-opacity:0.5\"/>\n",
492 " <stop id=\"stop3680\" offset=\"1\" style=\"stop-color:#b3b3b3;stop-opacity:0\"/>\n",
492 " <stop id=\"stop3680\" offset=\"1\" style=\"stop-color:#b3b3b3;stop-opacity:0\"/>\n",
493 " </linearGradient>\n",
493 " </linearGradient>\n",
494 " <linearGradient id=\"linearGradient3236\">\n",
494 " <linearGradient id=\"linearGradient3236\">\n",
495 " <stop id=\"stop3244\" offset=\"0\" style=\"stop-color:#f4f4f4;stop-opacity:1\"/>\n",
495 " <stop id=\"stop3244\" offset=\"0\" style=\"stop-color:#f4f4f4;stop-opacity:1\"/>\n",
496 " <stop id=\"stop3240\" offset=\"1\" style=\"stop-color:#ffffff;stop-opacity:1\"/>\n",
496 " <stop id=\"stop3240\" offset=\"1\" style=\"stop-color:#ffffff;stop-opacity:1\"/>\n",
497 " </linearGradient>\n",
497 " </linearGradient>\n",
498 " <linearGradient id=\"linearGradient4671\">\n",
498 " <linearGradient id=\"linearGradient4671\">\n",
499 " <stop id=\"stop4673\" offset=\"0\" style=\"stop-color:#ffd43b;stop-opacity:1\"/>\n",
499 " <stop id=\"stop4673\" offset=\"0\" style=\"stop-color:#ffd43b;stop-opacity:1\"/>\n",
500 " <stop id=\"stop4675\" offset=\"1\" style=\"stop-color:#ffe873;stop-opacity:1\"/>\n",
500 " <stop id=\"stop4675\" offset=\"1\" style=\"stop-color:#ffe873;stop-opacity:1\"/>\n",
501 " </linearGradient>\n",
501 " </linearGradient>\n",
502 " <linearGradient id=\"linearGradient4689\">\n",
502 " <linearGradient id=\"linearGradient4689\">\n",
503 " <stop id=\"stop4691\" offset=\"0\" style=\"stop-color:#5a9fd4;stop-opacity:1\"/>\n",
503 " <stop id=\"stop4691\" offset=\"0\" style=\"stop-color:#5a9fd4;stop-opacity:1\"/>\n",
504 " <stop id=\"stop4693\" offset=\"1\" style=\"stop-color:#306998;stop-opacity:1\"/>\n",
504 " <stop id=\"stop4693\" offset=\"1\" style=\"stop-color:#306998;stop-opacity:1\"/>\n",
505 " </linearGradient>\n",
505 " </linearGradient>\n",
506 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2987\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
506 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2987\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
507 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2990\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
507 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2990\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
508 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2587\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
508 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2587\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
509 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2589\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
509 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2589\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
510 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2248\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
510 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2248\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>\n",
511 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2250\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
511 " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2250\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
512 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2255\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
512 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2255\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>\n",
513 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2258\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"76.176224\" y2=\"76.313133\"/>\n",
513 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2258\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"76.176224\" y2=\"76.313133\"/>\n",
514 " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(1,0,0,0.177966,0,108.7434)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient2801\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>\n",
514 " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(1,0,0,0.177966,0,108.7434)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient2801\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>\n",
515 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1475\" x1=\"150.96111\" x2=\"112.03144\" xlink:href=\"#linearGradient4671\" y1=\"192.35176\" y2=\"137.27299\"/>\n",
515 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1475\" x1=\"150.96111\" x2=\"112.03144\" xlink:href=\"#linearGradient4671\" y1=\"192.35176\" y2=\"137.27299\"/>\n",
516 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1478\" x1=\"26.648937\" x2=\"135.66525\" xlink:href=\"#linearGradient4689\" y1=\"20.603781\" y2=\"114.39767\"/>\n",
516 " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1478\" x1=\"26.648937\" x2=\"135.66525\" xlink:href=\"#linearGradient4689\" y1=\"20.603781\" y2=\"114.39767\"/>\n",
517 " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient1480\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>\n",
517 " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient1480\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>\n",
518 " </defs>\n",
518 " </defs>\n",
519 " <g id=\"g2303\">\n",
519 " <g id=\"g2303\">\n",
520 " <path d=\"M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z \" id=\"path46\" style=\"fill:#646464;fill-opacity:1\"/>\n",
520 " <path d=\"M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z \" id=\"path46\" style=\"fill:#646464;fill-opacity:1\"/>\n",
521 " <path d=\"M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z \" id=\"path48\" style=\"fill:#646464;fill-opacity:1\"/>\n",
521 " <path d=\"M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z \" id=\"path48\" style=\"fill:#646464;fill-opacity:1\"/>\n",
522 " <path d=\"M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z \" id=\"path50\" style=\"fill:#646464;fill-opacity:1\"/>\n",
522 " <path d=\"M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z \" id=\"path50\" style=\"fill:#646464;fill-opacity:1\"/>\n",
523 " <path d=\"M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z \" id=\"path52\" style=\"fill:#646464;fill-opacity:1\"/>\n",
523 " <path d=\"M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z \" id=\"path52\" style=\"fill:#646464;fill-opacity:1\"/>\n",
524 " <path d=\"M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z \" id=\"path54\" style=\"fill:#646464;fill-opacity:1\"/>\n",
524 " <path d=\"M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z \" id=\"path54\" style=\"fill:#646464;fill-opacity:1\"/>\n",
525 " <path d=\"M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z \" id=\"path56\" style=\"fill:#646464;fill-opacity:1\"/>\n",
525 " <path d=\"M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z \" id=\"path56\" style=\"fill:#646464;fill-opacity:1\"/>\n",
526 " <path d=\"M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z \" id=\"path1948\" style=\"fill:url(#linearGradient1478);fill-opacity:1\"/>\n",
526 " <path d=\"M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z \" id=\"path1948\" style=\"fill:url(#linearGradient1478);fill-opacity:1\"/>\n",
527 " <path d=\"M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z \" id=\"path1950\" style=\"fill:url(#linearGradient1475);fill-opacity:1\"/>\n",
527 " <path d=\"M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z \" id=\"path1950\" style=\"fill:url(#linearGradient1475);fill-opacity:1\"/>\n",
528 " <path d=\"M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383\" id=\"text3004\" style=\"font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%;fill:#646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans\"/>\n",
528 " <path d=\"M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383\" id=\"text3004\" style=\"font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%;fill:#646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans\"/>\n",
529 " <path d=\"M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z\" id=\"path1894\" style=\"opacity:0.44382019;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" transform=\"matrix(0.73406,0,0,0.809524,16.24958,27.00935)\"/>\n",
529 " <path d=\"M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z\" id=\"path1894\" style=\"opacity:0.44382019;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" transform=\"matrix(0.73406,0,0,0.809524,16.24958,27.00935)\"/>\n",
530 " </g>\n",
530 " </g>\n",
531 "</svg>"
531 "</svg>"
532 ],
532 ],
533 "text": [
533 "text": [
534 "<IPython.core.display.SVG at 0x1060e78d0>"
534 "<IPython.core.display.SVG at 0x10fb998d0>"
535 ]
535 ]
536 }
536 }
537 ],
537 ],
538 "prompt_number": 3
538 "prompt_number": 3
539 },
539 },
540 {
540 {
541 "cell_type": "markdown",
541 "cell_type": "markdown",
542 "metadata": {},
542 "metadata": {},
543 "source": [
543 "source": [
544 "#### Embedded vs Non-embedded Images"
544 "#### Embedded vs Non-embedded Images"
545 ]
545 ]
546 },
546 },
547 {
547 {
548 "cell_type": "markdown",
548 "cell_type": "markdown",
549 "metadata": {},
549 "metadata": {},
550 "source": [
550 "source": [
551 "As of IPython 0.13, images are embedded by default for compatibility with QtConsole, and the ability to still be displayed offline.\n",
551 "As of IPython 0.13, images are embedded by default for compatibility with QtConsole, and the ability to still be displayed offline.\n",
552 "\n",
552 "\n",
553 "Let's look at the differences:"
553 "Let's look at the differences:"
554 ]
554 ]
555 },
555 },
556 {
556 {
557 "cell_type": "code",
557 "cell_type": "code",
558 "collapsed": false,
558 "collapsed": false,
559 "input": [
559 "input": [
560 "# by default Image data are embedded\n",
560 "# by default Image data are embedded\n",
561 "Embed = Image( 'http://www.google.fr/images/srpr/logo3w.png')\n",
561 "Embed = Image( 'http://www.google.fr/images/srpr/logo3w.png')\n",
562 "\n",
562 "\n",
563 "# if kwarg `url` is given, the embedding is assumed to be false\n",
563 "# if kwarg `url` is given, the embedding is assumed to be false\n",
564 "SoftLinked = Image(url='http://www.google.fr/images/srpr/logo3w.png')\n",
564 "SoftLinked = Image(url='http://www.google.fr/images/srpr/logo3w.png')\n",
565 "\n",
565 "\n",
566 "# In each case, embed can be specified explicitly with the `embed` kwarg\n",
566 "# In each case, embed can be specified explicitly with the `embed` kwarg\n",
567 "# ForceEmbed = Image(url='http://www.google.fr/images/srpr/logo3w.png', embed=True)"
567 "# ForceEmbed = Image(url='http://www.google.fr/images/srpr/logo3w.png', embed=True)"
568 ],
568 ],
569 "language": "python",
569 "language": "python",
570 "metadata": {},
570 "metadata": {},
571 "outputs": [],
571 "outputs": [],
572 "prompt_number": 4
572 "prompt_number": 4
573 },
573 },
574 {
574 {
575 "cell_type": "markdown",
575 "cell_type": "markdown",
576 "metadata": {},
576 "metadata": {},
577 "source": [
577 "source": [
578 "Today's Google doodle, (at the time I created this notebook). This should also work in the Qtconsole.\n",
578 "Today's Google doodle, (at the time I created this notebook). This should also work in the Qtconsole.\n",
579 "Drawback is that the saved notebook will be larger, but the image will still be present offline."
579 "Drawback is that the saved notebook will be larger, but the image will still be present offline."
580 ]
580 ]
581 },
581 },
582 {
582 {
583 "cell_type": "code",
583 "cell_type": "code",
584 "collapsed": false,
584 "collapsed": false,
585 "input": [
585 "input": [
586 "Embed"
586 "Embed"
587 ],
587 ],
588 "language": "python",
588 "language": "python",
589 "metadata": {},
589 "metadata": {},
590 "outputs": [
590 "outputs": [
591 {
591 {
592 "output_type": "pyout",
592 "output_type": "pyout",
593 "png": "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\n",
593 "png": "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\n",
594 "prompt_number": 5,
594 "prompt_number": 5,
595 "text": [
595 "text": [
596 "<IPython.core.display.Image at 0x105baf950>"
596 "<IPython.core.display.Image at 0x10fb99b50>"
597 ]
597 ]
598 }
598 }
599 ],
599 ],
600 "prompt_number": 5
600 "prompt_number": 5
601 },
601 },
602 {
602 {
603 "cell_type": "markdown",
603 "cell_type": "markdown",
604 "metadata": {},
604 "metadata": {},
605 "source": [
605 "source": [
606 "Today's Google doodle, visible only with an active internet connexion, that should be different from the previous one. This will not work on Qtconsole.\n",
606 "Today's Google doodle, visible only with an active internet connexion, that should be different from the previous one. This will not work on Qtconsole.\n",
607 "Notebook saved with this kind of image will be lighter and always reflect the current version of the source, but the image won't display offline."
607 "Notebook saved with this kind of image will be lighter and always reflect the current version of the source, but the image won't display offline."
608 ]
608 ]
609 },
609 },
610 {
610 {
611 "cell_type": "code",
611 "cell_type": "code",
612 "collapsed": false,
612 "collapsed": false,
613 "input": [
613 "input": [
614 "SoftLinked"
614 "SoftLinked"
615 ],
615 ],
616 "language": "python",
616 "language": "python",
617 "metadata": {},
617 "metadata": {},
618 "outputs": [
618 "outputs": [
619 {
619 {
620 "html": [
620 "html": [
621 "<img src=\"http://www.google.fr/images/srpr/logo3w.png\" />"
621 "<img src=\"http://www.google.fr/images/srpr/logo3w.png\" />"
622 ],
622 ],
623 "output_type": "pyout",
623 "output_type": "pyout",
624 "prompt_number": 6,
624 "prompt_number": 6,
625 "text": [
625 "text": [
626 "<IPython.core.display.Image at 0x105baf490>"
626 "<IPython.core.display.Image at 0x10fb99b10>"
627 ]
627 ]
628 }
628 }
629 ],
629 ],
630 "prompt_number": 6
630 "prompt_number": 6
631 },
631 },
632 {
632 {
633 "cell_type": "markdown",
633 "cell_type": "markdown",
634 "metadata": {},
634 "metadata": {},
635 "source": [
635 "source": [
636 "Of course, if you re-run this notebook, the two doodles will be the same again.\n",
636 "Of course, if you re-run this notebook, the two doodles will be the same again.\n",
637 "<!-- well actually I cheated a little, by setting Embed Url to http://www.google.com/logos/2012/doisneau12-hp.jpg then editing the ipynb myself and replacing it by the other url -->"
637 "<!-- well actually I cheated a little, by setting Embed Url to http://www.google.com/logos/2012/doisneau12-hp.jpg then editing the ipynb myself and replacing it by the other url -->"
638 ]
638 ]
639 },
639 },
640 {
640 {
641 "cell_type": "markdown",
641 "cell_type": "markdown",
642 "metadata": {},
642 "metadata": {},
643 "source": [
643 "source": [
644 "### Video"
644 "### Video"
645 ]
645 ]
646 },
646 },
647 {
647 {
648 "cell_type": "markdown",
648 "cell_type": "markdown",
649 "metadata": {},
649 "metadata": {},
650 "source": [
650 "source": [
651 "And more exotic objects can also be displayed, as long as their representation supports \n",
651 "And more exotic objects can also be displayed, as long as their representation supports \n",
652 "the IPython display protocol.\n",
652 "the IPython display protocol.\n",
653 "\n",
653 "\n",
654 "For example, videos hosted externally on YouTube are easy to load (and writing a similar wrapper for other\n",
654 "For example, videos hosted externally on YouTube are easy to load (and writing a similar wrapper for other\n",
655 "hosted content is trivial):"
655 "hosted content is trivial):"
656 ]
656 ]
657 },
657 },
658 {
658 {
659 "cell_type": "code",
659 "cell_type": "code",
660 "collapsed": false,
660 "collapsed": false,
661 "input": [
661 "input": [
662 "from IPython.lib.display import YouTubeVideo\n",
662 "from IPython.display import YouTubeVideo\n",
663 "# a talk about IPython at Sage Days at U. Washington, Seattle.\n",
663 "# a talk about IPython at Sage Days at U. Washington, Seattle.\n",
664 "# Video credit: William Stein.\n",
664 "# Video credit: William Stein.\n",
665 "YouTubeVideo('1j_HxD4iLn8')"
665 "YouTubeVideo('1j_HxD4iLn8')"
666 ],
666 ],
667 "language": "python",
667 "language": "python",
668 "metadata": {},
668 "metadata": {},
669 "outputs": [
669 "outputs": [
670 {
670 {
671 "html": [
671 "html": [
672 "\n",
672 "\n",
673 " <iframe\n",
673 " <iframe\n",
674 " width=\"400\"\n",
674 " width=\"400\"\n",
675 " height=\"300\"\n",
675 " height=\"300\"\n",
676 " src=\"http://www.youtube.com/embed/1j_HxD4iLn8\"\n",
676 " src=\"http://www.youtube.com/embed/1j_HxD4iLn8\"\n",
677 " frameborder=\"0\"\n",
677 " frameborder=\"0\"\n",
678 " allowfullscreen\n",
678 " allowfullscreen\n",
679 " ></iframe>\n",
679 " ></iframe>\n",
680 " "
680 " "
681 ],
681 ],
682 "output_type": "pyout",
682 "output_type": "pyout",
683 "prompt_number": 7,
683 "prompt_number": 7,
684 "text": [
684 "text": [
685 "<IPython.lib.display.YouTubeVideo at 0x105baf9d0>"
685 "<IPython.lib.display.YouTubeVideo at 0x10fba2190>"
686 ]
686 ]
687 }
687 }
688 ],
688 ],
689 "prompt_number": 7
689 "prompt_number": 7
690 },
690 },
691 {
691 {
692 "cell_type": "markdown",
692 "cell_type": "markdown",
693 "metadata": {},
693 "metadata": {},
694 "source": [
694 "source": [
695 "Using the nascent video capabilities of modern browsers, you may also be able to display local\n",
695 "Using the nascent video capabilities of modern browsers, you may also be able to display local\n",
696 "videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;\n",
696 "videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;\n",
697 "we will continue testing this and looking for ways to make it more robust. \n",
697 "we will continue testing this and looking for ways to make it more robust. \n",
698 "\n",
698 "\n",
699 "The following cell loads a local file called `animation.m4v`, encodes the raw video as base64 for http\n",
699 "The following cell loads a local file called `animation.m4v`, encodes the raw video as base64 for http\n",
700 "transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control\n",
700 "transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control\n",
701 "bar at the bottom with a play/pause button and a location slider."
701 "bar at the bottom with a play/pause button and a location slider."
702 ]
702 ]
703 },
703 },
704 {
704 {
705 "cell_type": "code",
705 "cell_type": "code",
706 "collapsed": false,
706 "collapsed": false,
707 "input": [
707 "input": [
708 "from IPython.core.display import HTML\n",
708 "from IPython.display import HTML\n",
709 "video = open(\"animation.m4v\", \"rb\").read()\n",
709 "video = open(\"animation.m4v\", \"rb\").read()\n",
710 "video_encoded = video.encode(\"base64\")\n",
710 "video_encoded = video.encode(\"base64\")\n",
711 "video_tag = '<video controls alt=\"test\" src=\"data:video/x-m4v;base64,{0}\">'.format(video_encoded)\n",
711 "video_tag = '<video controls alt=\"test\" src=\"data:video/x-m4v;base64,{0}\">'.format(video_encoded)\n",
712 "HTML(data=video_tag)"
712 "HTML(data=video_tag)"
713 ],
713 ],
714 "language": "python",
714 "language": "python",
715 "metadata": {},
715 "metadata": {},
716 "outputs": [
716 "outputs": [
717 {
717 {
718 "html": [
718 "html": [
719 "<video controls alt=\"test\" src=\"data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9\n",
719 "<video controls alt=\"test\" src=\"data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9\n",
720 "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv\n",
720 "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv\n",
721 "cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w\n",
721 "cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w\n",
722 "dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o\n",
722 "dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o\n",
723 "ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2\n",
723 "ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2\n",
724 "IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0\n",
724 "IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0\n",
725 "X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu\n",
725 "X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu\n",
726 "cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p\n",
726 "cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p\n",
727 "bnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEg\n",
727 "bnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEg\n",
728 "d2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBz\n",
728 "d2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBz\n",
729 "Y2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9\n",
729 "Y2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9\n",
730 "MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89\n",
730 "MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89\n",
731 "MS40MCBhcT0xOjEuMDAAgAAACqVliIQAV/0TAAI/3gU2tIW7KawwaCmQGTGHKmuYAAADACBcshU+\n",
731 "MS40MCBhcT0xOjEuMDAAgAAACqVliIQAV/0TAAI/3gU2tIW7KawwaCmQGTGHKmuYAAADACBcshU+\n",
732 "yICkgAA14AHowiEeT6ei7v7h3Hu0i2fpUBLGBIkbCMP3Vfz+9BVGCDXnw9Uv5o3iN030tb7eq6rs\n",
732 "yICkgAA14AHowiEeT6ei7v7h3Hu0i2fpUBLGBIkbCMP3Vfz+9BVGCDXnw9Uv5o3iN030tb7eq6rs\n",
733 "EEhHs2azbdTiE9Csz5Zm6SiUWRdmB43hbD5i6syATuODUJd7LM3d9cbFpc7zFlu5y3vUmNGd6urp\n",
733 "EEhHs2azbdTiE9Csz5Zm6SiUWRdmB43hbD5i6syATuODUJd7LM3d9cbFpc7zFlu5y3vUmNGd6urp\n",
734 "vKKT9iyleIyTuR1sVS431DhevGfkUllVeIznYUe2USoMW1tufETjyRdmGldN6eNlhAOsGAH4z+Hk\n",
734 "vKKT9iyleIyTuR1sVS431DhevGfkUllVeIznYUe2USoMW1tufETjyRdmGldN6eNlhAOsGAH4z+Hk\n",
735 "rwKecPPU7Q5T4gDAIxj9hW84jVExMTSTHxkPTq1I4OotgUxURCGTsw60k/ezPNmNg38j1bqaGmPc\n",
735 "rwKecPPU7Q5T4gDAIxj9hW84jVExMTSTHxkPTq1I4OotgUxURCGTsw60k/ezPNmNg38j1bqaGmPc\n",
736 "ruDKEIBDsK5qEytFB90Q68s0h2wmlf2KXd5bleBefiK+/p47ZsyUO4IdlW25rRy+HLjt6wQXfYee\n",
736 "ruDKEIBDsK5qEytFB90Q68s0h2wmlf2KXd5bleBefiK+/p47ZsyUO4IdlW25rRy+HLjt6wQXfYee\n",
737 "3IkiQOoOK+U7u/lxcl78zfxwIoEMjUUSKNZjkp8clnmecDDJ3Kz+viF7bPklk7N6QRyizAKPIIpn\n",
737 "3IkiQOoOK+U7u/lxcl78zfxwIoEMjUUSKNZjkp8clnmecDDJ3Kz+viF7bPklk7N6QRyizAKPIIpn\n",
738 "NJUuMWQmqeL2Or6cr4D0/0tOym+4tficxmhuEONKUtO2pPn3hRjMllkd12tXp70fLTfxy0dwB70M\n",
738 "NJUuMWQmqeL2Or6cr4D0/0tOym+4tficxmhuEONKUtO2pPn3hRjMllkd12tXp70fLTfxy0dwB70M\n",
739 "L9iLEcItHb7zVupHlP5RxdvecpREw+OsIPr9KWilIesNE19jgIbT+TkiRBjOoKvUuwcQnKg7fOTH\n",
739 "L9iLEcItHb7zVupHlP5RxdvecpREw+OsIPr9KWilIesNE19jgIbT+TkiRBjOoKvUuwcQnKg7fOTH\n",
740 "VoLvnKuAfea+oujEdm1Rwd2tEOnkF+ZC11WaNQsiNR/eJ9EnUXjXDYGfhB+Oe7qj8nYTT+eOXg1c\n",
740 "VoLvnKuAfea+oujEdm1Rwd2tEOnkF+ZC11WaNQsiNR/eJ9EnUXjXDYGfhB+Oe7qj8nYTT+eOXg1c\n",
741 "uJNgLXEs4vOheWEjQOqfIWMQc3DmTof5s0ksBmUQ3PQ+UHPxZSnmOEZB+j6xT3wbm7HGzDjWtSg1\n",
741 "uJNgLXEs4vOheWEjQOqfIWMQc3DmTof5s0ksBmUQ3PQ+UHPxZSnmOEZB+j6xT3wbm7HGzDjWtSg1\n",
742 "SjTxd1EiJ8xA4SIxxR8WIKLg+TwFxJNS7Laxq7Uglu3AkXe82P1JCdJX5PsbFbxuDbuJgakzRcTw\n",
742 "SjTxd1EiJ8xA4SIxxR8WIKLg+TwFxJNS7Laxq7Uglu3AkXe82P1JCdJX5PsbFbxuDbuJgakzRcTw\n",
743 "MLLSKCiizS/eCW0uJed/lev9yb80kKlVET4S219cn/zhkpeDV83cHYOr+sJQKDRk/Wh2c7fsuxfx\n",
743 "MLLSKCiizS/eCW0uJed/lev9yb80kKlVET4S219cn/zhkpeDV83cHYOr+sJQKDRk/Wh2c7fsuxfx\n",
744 "aEH/6reSmvFDsAnXAyPXliJ3G4VG3OkEM5K5WyGGrBizZbTrdGsBnzj5VSGGOJdCKuRrUluw/8es\n",
744 "aEH/6reSmvFDsAnXAyPXliJ3G4VG3OkEM5K5WyGGrBizZbTrdGsBnzj5VSGGOJdCKuRrUluw/8es\n",
745 "2vYRPs9BcTqAqvHk9M52SSIf+1T6L53EZP8VbtXB+G29CMW4xVCK/B/YDjaNmqMwJ61dapugjnWJ\n",
745 "2vYRPs9BcTqAqvHk9M52SSIf+1T6L53EZP8VbtXB+G29CMW4xVCK/B/YDjaNmqMwJ61dapugjnWJ\n",
746 "fqeXlGGa3Ch3aA7gi30T8PucNRBjLK3lF67ZDDvkWXRQXd+VMnKWHkBbCkQ/F/fMuNpHO3C00Y2p\n",
746 "fqeXlGGa3Ch3aA7gi30T8PucNRBjLK3lF67ZDDvkWXRQXd+VMnKWHkBbCkQ/F/fMuNpHO3C00Y2p\n",
747 "ljna1qImBhVMvPe0F7Qx7G/YyxLRzhyUU8e23HGzp0agtNJRbydbrPV+TqJMSifJMNcZIf8wkdnC\n",
747 "ljna1qImBhVMvPe0F7Qx7G/YyxLRzhyUU8e23HGzp0agtNJRbydbrPV+TqJMSifJMNcZIf8wkdnC\n",
748 "3/xdpcXnLf2Ye3Kbd0o7utciTG+q5h6WTEk+PaNbXLLA0YyZ2VnLTcyV1QTS76aNCbV9Q1/OQ7QU\n",
748 "3/xdpcXnLf2Ye3Kbd0o7utciTG+q5h6WTEk+PaNbXLLA0YyZ2VnLTcyV1QTS76aNCbV9Q1/OQ7QU\n",
749 "81Gg0hPa9aSiscGary6jLVwDQaik4zLsi7jPqgPVdup7pwx7uJDqRCVcVi5QoZFp/GHdex5sJTF6\n",
749 "81Gg0hPa9aSiscGary6jLVwDQaik4zLsi7jPqgPVdup7pwx7uJDqRCVcVi5QoZFp/GHdex5sJTF6\n",
750 "9A6sja69/NLkFIWNSIeRcuGahXpF+wZeYIrqJv975s1TKYKAvp1WtzgtgWNkcbzCtROqf8rPtlAI\n",
750 "9A6sja69/NLkFIWNSIeRcuGahXpF+wZeYIrqJv975s1TKYKAvp1WtzgtgWNkcbzCtROqf8rPtlAI\n",
751 "xkX8GLcEo9zfExyfimeXQ64qfFxEy0IMy2Hsxau9fSMqUnIjntuVVjCQtBL+94gx1RZLndE6wROV\n",
751 "xkX8GLcEo9zfExyfimeXQ64qfFxEy0IMy2Hsxau9fSMqUnIjntuVVjCQtBL+94gx1RZLndE6wROV\n",
752 "Tq/wHwHrQzo9QL9cpPqPFJjiZ/NGZIFuudS+wsBFe6Hu8Oitf5zToLqLdtU4Smwh4ne3JsiT9lOz\n",
752 "Tq/wHwHrQzo9QL9cpPqPFJjiZ/NGZIFuudS+wsBFe6Hu8Oitf5zToLqLdtU4Smwh4ne3JsiT9lOz\n",
753 "N+4PPw3VSx9l5FppVwdKUWELw1dYpCOppyVWlJ3YQ8H4FQQM8EcYMG9N3Bxu79y1J1ikuvuhMmLQ\n",
753 "N+4PPw3VSx9l5FppVwdKUWELw1dYpCOppyVWlJ3YQ8H4FQQM8EcYMG9N3Bxu79y1J1ikuvuhMmLQ\n",
754 "lehLTbguhbix74hd1VIQC8EjHmOZSSWbssulYwPbr6FF49tifk6PymJvulR9/u+2585HkRfbxveG\n",
754 "lehLTbguhbix74hd1VIQC8EjHmOZSSWbssulYwPbr6FF49tifk6PymJvulR9/u+2585HkRfbxveG\n",
755 "eWCz0ix1pIVfaNpESKmtLy/0mcbMg9hYDz2werz9oe0lT2BiMV6uAin6RaQcT8Vk9MPctfwae+gk\n",
755 "eWCz0ix1pIVfaNpESKmtLy/0mcbMg9hYDz2werz9oe0lT2BiMV6uAin6RaQcT8Vk9MPctfwae+gk\n",
756 "vtnZA/sOBk8MbpylaHqc0KIVHhhLFMNnkOFiucjtGo/JWTa/F6g8wWeow5ZuIJUORaYHWqegZbTg\n",
756 "vtnZA/sOBk8MbpylaHqc0KIVHhhLFMNnkOFiucjtGo/JWTa/F6g8wWeow5ZuIJUORaYHWqegZbTg\n",
757 "M9dCsYYsfZGjjVMuSlDIvpYvIvFFooGPC7Ye2Jfawmq4Ut7EL/nv/dyAd2HRc5msmUhzeu/XpX3r\n",
757 "M9dCsYYsfZGjjVMuSlDIvpYvIvFFooGPC7Ye2Jfawmq4Ut7EL/nv/dyAd2HRc5msmUhzeu/XpX3r\n",
758 "VlzRmf9/Qan8Dbve3QfW1Ym0o5J/KAc3z1VBho7JBr5PgCL68RiD9jZHN0VvsT4gzsEjNlW3D91U\n",
758 "VlzRmf9/Qan8Dbve3QfW1Ym0o5J/KAc3z1VBho7JBr5PgCL68RiD9jZHN0VvsT4gzsEjNlW3D91U\n",
759 "y4RduaodBFoNTzXwlfUYULBzdiTbH75l/UmVMC4TKeTWhNzw2UezaqeGd8at3WSY7W/VR3+hvZHD\n",
759 "y4RduaodBFoNTzXwlfUYULBzdiTbH75l/UmVMC4TKeTWhNzw2UezaqeGd8at3WSY7W/VR3+hvZHD\n",
760 "pkIjgKuNNH0DsCRa/Kk56XQoHIyvvUH/eNekNvziReqS4qgLnXUT4BRGt2BOtCifI6+X/DGHUOmW\n",
760 "pkIjgKuNNH0DsCRa/Kk56XQoHIyvvUH/eNekNvziReqS4qgLnXUT4BRGt2BOtCifI6+X/DGHUOmW\n",
761 "lX7TN5b4pw5U7jwfwshtbhGZM49T8JMk15Mzrc7tM6J11TYxb5R3mQhZ8TZumJ0bMJXPM69HFyih\n",
761 "lX7TN5b4pw5U7jwfwshtbhGZM49T8JMk15Mzrc7tM6J11TYxb5R3mQhZ8TZumJ0bMJXPM69HFyih\n",
762 "r5dJSEJMycxJVUh6NTQALUOoRTHIOwE+FpWI6feTv1SiZ0YpYe5DbkYJJbN7zAHbAKw25XvqR2mA\n",
762 "r5dJSEJMycxJVUh6NTQALUOoRTHIOwE+FpWI6feTv1SiZ0YpYe5DbkYJJbN7zAHbAKw25XvqR2mA\n",
763 "jQmOlsfX/tK8DPjP/8h5/xgAF4EUbj1tOnQCBQL8jk9vHtfsXncsprww4Z+P/Z/UrKifuFyEpBWN\n",
763 "jQmOlsfX/tK8DPjP/8h5/xgAF4EUbj1tOnQCBQL8jk9vHtfsXncsprww4Z+P/Z/UrKifuFyEpBWN\n",
764 "8kLpF7yywE2iYdDruV9+/qKR8rC9ozNKyqQNIwtxrzYkWpE5t8K7gG4JFnrHona/Rp8dOX6VW41+\n",
764 "8kLpF7yywE2iYdDruV9+/qKR8rC9ozNKyqQNIwtxrzYkWpE5t8K7gG4JFnrHona/Rp8dOX6VW41+\n",
765 "jb5LB1LEtE8MwjLp3RCUOq/+6yLzaOEgBTqzvEjDeFpg/u9DMHMr4/2TOchfjg7dl+uQ6Gsx+4Ia\n",
765 "jb5LB1LEtE8MwjLp3RCUOq/+6yLzaOEgBTqzvEjDeFpg/u9DMHMr4/2TOchfjg7dl+uQ6Gsx+4Ia\n",
766 "9W7vivG95027p25eKL0nHvx/OqmAQEZYJL/JO58lOj0zPdJxrQ5dZksjMISzVZNn7DsxqE3zgBBu\n",
766 "9W7vivG95027p25eKL0nHvx/OqmAQEZYJL/JO58lOj0zPdJxrQ5dZksjMISzVZNn7DsxqE3zgBBu\n",
767 "Nzk50R8lTK3U8P12QiOAQYSTeGlYlkvfeofrfO1AitEj02m9aUkxTFd1ZZJoLQT2d3zEU5PmE4lx\n",
767 "Nzk50R8lTK3U8P12QiOAQYSTeGlYlkvfeofrfO1AitEj02m9aUkxTFd1ZZJoLQT2d3zEU5PmE4lx\n",
768 "MVfL5ttNnIbqfcIU2RJKNWqdw77xfjfrNc/eNpRKPZ/6z50LzBprgjzBHRfKgSWWkDxHrX0aTbgw\n",
768 "MVfL5ttNnIbqfcIU2RJKNWqdw77xfjfrNc/eNpRKPZ/6z50LzBprgjzBHRfKgSWWkDxHrX0aTbgw\n",
769 "QFwd51+PoUWH4DkQg26uGslF5Hn3hB58+fkeLTosTANOIBNAeFZtTc4PIaLHw759zae7scY55xcT\n",
769 "QFwd51+PoUWH4DkQg26uGslF5Hn3hB58+fkeLTosTANOIBNAeFZtTc4PIaLHw759zae7scY55xcT\n",
770 "abzlilYIftst2RZ6ntsRC3zFxduCKvL6wLfYT+TiIWJn5P7sTwZwXuSzXY+9Q3xMZ5o4Xcpz6vD9\n",
770 "abzlilYIftst2RZ6ntsRC3zFxduCKvL6wLfYT+TiIWJn5P7sTwZwXuSzXY+9Q3xMZ5o4Xcpz6vD9\n",
771 "FtTjzS69iefEYt4pXiDrZUo4ePGiLeoIFIwYB/v6GXdmG5VLLk+eKbOc9AmsX2zmvqtcvDRGQbzu\n",
771 "FtTjzS69iefEYt4pXiDrZUo4ePGiLeoIFIwYB/v6GXdmG5VLLk+eKbOc9AmsX2zmvqtcvDRGQbzu\n",
772 "gXbH/kTH/lkNPBTmqN3ZJODUEXVohPEJ6th0xna0EVleB73Q3eNvaVUvhlJbjs3D/T17FRCebN7A\n",
772 "gXbH/kTH/lkNPBTmqN3ZJODUEXVohPEJ6th0xna0EVleB73Q3eNvaVUvhlJbjs3D/T17FRCebN7A\n",
773 "OXvzzbLE/I5kNfEmJcv4dxtIeo2uQ/z9ohSpiZzbDj1u40nJRyJxUK60wEv0nA9f/NuJ6/PEyU0b\n",
773 "OXvzzbLE/I5kNfEmJcv4dxtIeo2uQ/z9ohSpiZzbDj1u40nJRyJxUK60wEv0nA9f/NuJ6/PEyU0b\n",
774 "kK16z2KH12k3Lc4+1f5fawIzkK2qJRB4wnj8VHhUW9mbJhs9vgfFmU3xrXSShY67Ygb+gYNPxxtn\n",
774 "kK16z2KH12k3Lc4+1f5fawIzkK2qJRB4wnj8VHhUW9mbJhs9vgfFmU3xrXSShY67Ygb+gYNPxxtn\n",
775 "4K/9eTSwIA9fv/nR33lA2lZoXALRUTmOZIl3R0gAM5h6oX1y1thIyqViBK95VZc8Pvy7G3O90M9S\n",
775 "4K/9eTSwIA9fv/nR33lA2lZoXALRUTmOZIl3R0gAM5h6oX1y1thIyqViBK95VZc8Pvy7G3O90M9S\n",
776 "4zkpyFQ36jrMazvMveMA4d39fvoaC7p90quiJfjI4yrl+ECVkCJL5MxRSa+iVcIL7Xbl0jVaGhZI\n",
776 "4zkpyFQ36jrMazvMveMA4d39fvoaC7p90quiJfjI4yrl+ECVkCJL5MxRSa+iVcIL7Xbl0jVaGhZI\n",
777 "cMYmcGOBbLzhJgloM1x1zFnnj3ggJRFAM8yNnXxhavk+mA18JC+y3lqGsp6vPReRxGlGHMou17L4\n",
777 "cMYmcGOBbLzhJgloM1x1zFnnj3ggJRFAM8yNnXxhavk+mA18JC+y3lqGsp6vPReRxGlGHMou17L4\n",
778 "It070LzkoeCzarpv8Apw59smdS5KN9qVN1WgeL7OSN8BHg94ubCvS7DW6H3/PbtRB62jFLsBhUV5\n",
778 "It070LzkoeCzarpv8Apw59smdS5KN9qVN1WgeL7OSN8BHg94ubCvS7DW6H3/PbtRB62jFLsBhUV5\n",
779 "YqCIbIN5VZ81AAACpUGaIWxFfwAru8x8uT3FuOjrAeSWXmAWqq9jCNGE+N5AOv//9//xjk4uBAcA\n",
779 "YqCIbIN5VZ81AAACpUGaIWxFfwAru8x8uT3FuOjrAeSWXmAWqq9jCNGE+N5AOv//9//xjk4uBAcA\n",
780 "DN96c97AVGmzRtnWwPsgcCbLrVdQJgbKp4QSmPwQnVhv0hXyBjeFWWlcvx70urEN3FK6/lvk2tQe\n",
780 "DN96c97AVGmzRtnWwPsgcCbLrVdQJgbKp4QSmPwQnVhv0hXyBjeFWWlcvx70urEN3FK6/lvk2tQe\n",
781 "ZgbtlbzXluvTfnSj/Ctz7vZ+O1FjhDzzdpL7uLzewzCIW5VWLAEKUVuS2J6wNk6MR7UblcEd4EtO\n",
781 "ZgbtlbzXluvTfnSj/Ctz7vZ+O1FjhDzzdpL7uLzewzCIW5VWLAEKUVuS2J6wNk6MR7UblcEd4EtO\n",
782 "Y+R4/qJgfojCsfRvA0oC5dc41Vd0erZbSkrmPTjLCn815bxlchUJMS8gQD5hJNwoKHvNLNwn7XKu\n",
782 "Y+R4/qJgfojCsfRvA0oC5dc41Vd0erZbSkrmPTjLCn815bxlchUJMS8gQD5hJNwoKHvNLNwn7XKu\n",
783 "TtYIhH2wVNZvDWgzCjlPeQajnrcMsb6bZYJvNJU8HuGHvm50r7VG8qifEwmuyegAZXojh5Ul5Vvj\n",
783 "TtYIhH2wVNZvDWgzCjlPeQajnrcMsb6bZYJvNJU8HuGHvm50r7VG8qifEwmuyegAZXojh5Ul5Vvj\n",
784 "DW7kSAZyw8a7I6mHY3FZHd+OA3V4JZMbNliI3Tj1L6+MKTmilVialmyZagRtEMeKRdtxUPd3vVEt\n",
784 "DW7kSAZyw8a7I6mHY3FZHd+OA3V4JZMbNliI3Tj1L6+MKTmilVialmyZagRtEMeKRdtxUPd3vVEt\n",
785 "rOBVIVYWdgAGA7HmZiHQUQNxLkWxbLyWVlrh5EM0Do2NdbclHxxArz90d+MSVeUOIXQ/4V9quq8C\n",
785 "rOBVIVYWdgAGA7HmZiHQUQNxLkWxbLyWVlrh5EM0Do2NdbclHxxArz90d+MSVeUOIXQ/4V9quq8C\n",
786 "8qVflo1gPtPMkjO2/UrdOYqhY404ReObOu/fdp4hAEDq6jhy64vOeT7XUK/Onq0rXTldtA6kvgQa\n",
786 "8qVflo1gPtPMkjO2/UrdOYqhY404ReObOu/fdp4hAEDq6jhy64vOeT7XUK/Onq0rXTldtA6kvgQa\n",
787 "Jg+mgYSR9hfXtMbOUSLgLj/RmBSO8aAMHuJJZqf1tCM5pZ9eYUsrHmy+/z2NGalon0//uF6+33bQ\n",
787 "Jg+mgYSR9hfXtMbOUSLgLj/RmBSO8aAMHuJJZqf1tCM5pZ9eYUsrHmy+/z2NGalon0//uF6+33bQ\n",
788 "zT/RLRfBbYTjy9QrJqHLlw46lggWPGkHuPKSqk/CB7U4pNPXUbR0DdcJy9Db00wCzVzxVc6h7jfC\n",
788 "zT/RLRfBbYTjy9QrJqHLlw46lggWPGkHuPKSqk/CB7U4pNPXUbR0DdcJy9Db00wCzVzxVc6h7jfC\n",
789 "FgiL2Y0HVqd6bgIaVUqn/gJCEyCDVplnzebv0gg3XwMJAGu639lHu7rEvxTp1smIYjWp9R5L4Ssp\n",
789 "FgiL2Y0HVqd6bgIaVUqn/gJCEyCDVplnzebv0gg3XwMJAGu639lHu7rEvxTp1smIYjWp9R5L4Ssp\n",
790 "VvS07Nb+Smk1FgsMp1K3EMUT8X2Fty4VG54/Ec6bE8tNVw4/QV1VzBw7Px2/2eEhhUS+FMfbHAlD\n",
790 "VvS07Nb+Smk1FgsMp1K3EMUT8X2Fty4VG54/Ec6bE8tNVw4/QV1VzBw7Px2/2eEhhUS+FMfbHAlD\n",
791 "28x00jRgAAACW0GaQjwhkymEVwArOUkEOhoFqiELtH8wgecFLiUq6WqmwAP7iGEwbYzfnHacfqUN\n",
791 "28x00jRgAAACW0GaQjwhkymEVwArOUkEOhoFqiELtH8wgecFLiUq6WqmwAP7iGEwbYzfnHacfqUN\n",
792 "XAfD+CGR2ap0lAHL25ipuYtd5j2O0PU/MpaWPG/n2y5OkfTzaOpotaR5tWjN55B2XblVVqsFfBC/\n",
792 "XAfD+CGR2ap0lAHL25ipuYtd5j2O0PU/MpaWPG/n2y5OkfTzaOpotaR5tWjN55B2XblVVqsFfBC/\n",
793 "mvsiPvCBWUHFChacdY5whj5mP5rqQ0dqLJCsWjrs4TWnIbL2V/Iwfj3hwI35jfo1JkTOeR+8GhOd\n",
793 "mvsiPvCBWUHFChacdY5whj5mP5rqQ0dqLJCsWjrs4TWnIbL2V/Iwfj3hwI35jfo1JkTOeR+8GhOd\n",
794 "ma9rgiKWafCbQyhYMTDmVdvhND60Flm97EDSTjF0OC+0gD9b8Yn4tNeHipCa/aWyt0n79bMmjfcj\n",
794 "ma9rgiKWafCbQyhYMTDmVdvhND60Flm97EDSTjF0OC+0gD9b8Yn4tNeHipCa/aWyt0n79bMmjfcj\n",
795 "ntBCPjrcB5ecRTpfGHbEHy1IRj2cjkGXKC+VYoYJXBp4rd4cMd8ygLCk5nBSd8/cTaKNRjdBscOe\n",
795 "ntBCPjrcB5ecRTpfGHbEHy1IRj2cjkGXKC+VYoYJXBp4rd4cMd8ygLCk5nBSd8/cTaKNRjdBscOe\n",
796 "TXG6QEjSxj9/2pVwx9DMRVtWQR0BSaAcQcZ8W2KPSaeRC4QwmNMu2xx25CSyrDiq2rFSK/JJtmvo\n",
796 "TXG6QEjSxj9/2pVwx9DMRVtWQR0BSaAcQcZ8W2KPSaeRC4QwmNMu2xx25CSyrDiq2rFSK/JJtmvo\n",
797 "IjAKq0ciEXoOgw+Ke+Ylb7ULKCS3k1p/613UNRp450uSq5b7CAHo7S0b7fBMLfNmwSjRYEhLlo0H\n",
797 "IjAKq0ciEXoOgw+Ke+Ylb7ULKCS3k1p/613UNRp450uSq5b7CAHo7S0b7fBMLfNmwSjRYEhLlo0H\n",
798 "UaRe/I+IX2Z6XdZH9Hty/399ZA1PwZGC6EfvUJIf7CBeaxv7cu6IT2/s0zPRGthpvXpYw6A7P4Ww\n",
798 "UaRe/I+IX2Z6XdZH9Hty/399ZA1PwZGC6EfvUJIf7CBeaxv7cu6IT2/s0zPRGthpvXpYw6A7P4Ww\n",
799 "z5C4V98KnIUNUanadqabKP6eXWhvbvcQHxAjiOOiKZgXZplZW2g+B2NNyJSLiR+g48DqvWR6t9S2\n",
799 "z5C4V98KnIUNUanadqabKP6eXWhvbvcQHxAjiOOiKZgXZplZW2g+B2NNyJSLiR+g48DqvWR6t9S2\n",
800 "aGfFjdOW1Gi6oTtZ1d4p5XIslAr8mryeZ6+htSSQe4AcfVt7k+V6mOthBCYtr/LEU4ZHtl0mW987\n",
800 "aGfFjdOW1Gi6oTtZ1d4p5XIslAr8mryeZ6+htSSQe4AcfVt7k+V6mOthBCYtr/LEU4ZHtl0mW987\n",
801 "6PK8mRFAaT8DJOUFVz1lPfzRApuPggkkyq+UMvyfKTUbCk7/DpfX8Y4s4QAAAg9BmmNJ4Q8mUwIr\n",
801 "6PK8mRFAaT8DJOUFVz1lPfzRApuPggkkyq+UMvyfKTUbCk7/DpfX8Y4s4QAAAg9BmmNJ4Q8mUwIr\n",
802 "/wAsWUPjZw3ksgRsxZ6n4fQjprPbkj2aUh30y0bZJnLmiXnWskvOGnCPwBnG9dEhatwX3hoxk7BN\n",
802 "/wAsWUPjZw3ksgRsxZ6n4fQjprPbkj2aUh30y0bZJnLmiXnWskvOGnCPwBnG9dEhatwX3hoxk7BN\n",
803 "yG+wQ4emZUpcVzcWl2T9nKQB1euucuZWHTg7TCtM/iHyfPO2vbmGsfzs70b/egIbywUH4y4BQSL1\n",
803 "yG+wQ4emZUpcVzcWl2T9nKQB1euucuZWHTg7TCtM/iHyfPO2vbmGsfzs70b/egIbywUH4y4BQSL1\n",
804 "nWc1SmpHm2zHMBcUjYLDZ5gL5vdfxn0V8FFw66G88c/LN4I5icUa7xf4fcSBKywU0ajbp1P+aJYj\n",
804 "nWc1SmpHm2zHMBcUjYLDZ5gL5vdfxn0V8FFw66G88c/LN4I5icUa7xf4fcSBKywU0ajbp1P+aJYj\n",
805 "BgWT6Ggu0MDLDNl54tfqd42lKosQtM1aif4WXAZFP5Ww3vrQ1rH9+utSYxqZd6N6gGtNbSNMcVia\n",
805 "BgWT6Ggu0MDLDNl54tfqd42lKosQtM1aif4WXAZFP5Ww3vrQ1rH9+utSYxqZd6N6gGtNbSNMcVia\n",
806 "Kn5LcnjsbBi3T3EmGqshEbcme8VHKwR3kSfBOAprrIsv6K8R+X6az+MD23rWka/2v64m1qM69D7X\n",
806 "Kn5LcnjsbBi3T3EmGqshEbcme8VHKwR3kSfBOAprrIsv6K8R+X6az+MD23rWka/2v64m1qM69D7X\n",
807 "a+Kcs/n0KLCJdTilyaGadopLeaAn3eYvWTeHcucMM1Fp1KgHD1tiFeO6HvobLkZlRximsA3/7Mio\n",
807 "a+Kcs/n0KLCJdTilyaGadopLeaAn3eYvWTeHcucMM1Fp1KgHD1tiFeO6HvobLkZlRximsA3/7Mio\n",
808 "hYklLIcJrZL22BH+6W9d6kZsYIsej9RM681nU6mWNjepBAfAfTbrGRrVB/h2DxC5B8YyRjgSIzQj\n",
808 "hYklLIcJrZL22BH+6W9d6kZsYIsej9RM681nU6mWNjepBAfAfTbrGRrVB/h2DxC5B8YyRjgSIzQj\n",
809 "NYrse0rzChqbrsLl7mQ7W+1bsNKze5//9ZIa8rSsF+BXh/vgoRTDkPW/ws95B7VPCZEFChfX0icw\n",
809 "NYrse0rzChqbrsLl7mQ7W+1bsNKze5//9ZIa8rSsF+BXh/vgoRTDkPW/ws95B7VPCZEFChfX0icw\n",
810 "+tpcpN/q7NY87tUn4vESdSiMMlyhKklMjQu/G51J69ZRQLs2oUO6YfoJFqliy4qCFCrf8SZE9Fc6\n",
810 "+tpcpN/q7NY87tUn4vESdSiMMlyhKklMjQu/G51J69ZRQLs2oUO6YfoJFqliy4qCFCrf8SZE9Fc6\n",
811 "DcCagAAAAodBmoRJ4Q8mUwIr/wArPWF/KOw78THwadfPqhJO0CnmR/M74/XYZLqVYKlNcEaYauf+\n",
811 "DcCagAAAAodBmoRJ4Q8mUwIr/wArPWF/KOw78THwadfPqhJO0CnmR/M74/XYZLqVYKlNcEaYauf+\n",
812 "vrRUDJPmu75sMKy2Y+Bnslc/iAISSyWtw/h/3CF8fE5ZrbrwSNst+MSyCoNWP+8imtoX2eyojpdC\n",
812 "vrRUDJPmu75sMKy2Y+Bnslc/iAISSyWtw/h/3CF8fE5ZrbrwSNst+MSyCoNWP+8imtoX2eyojpdC\n",
813 "k8YP5K+cbK4SJPCkZXbYqSXYk7hO8AdSemBHgXKWiZ+UOr802aJo+98ZOIjX9hWL9bo31Gqx7cy4\n",
813 "k8YP5K+cbK4SJPCkZXbYqSXYk7hO8AdSemBHgXKWiZ+UOr802aJo+98ZOIjX9hWL9bo31Gqx7cy4\n",
814 "ZG+W/ar/WGlzDa1xPWnPRsEdrIcZlEVGV/jGmbirkxw1lyUYoqj8Vv7Bxube9XPQlBkXOV6Lc1LT\n",
814 "ZG+W/ar/WGlzDa1xPWnPRsEdrIcZlEVGV/jGmbirkxw1lyUYoqj8Vv7Bxube9XPQlBkXOV6Lc1LT\n",
815 "2IzNq0V7WwVhF0kA6yxfAsFxc9krNEH8vGGntTWI608ovjatXc/CKKXw7AjJSftlTcLI0hIIGXbR\n",
815 "2IzNq0V7WwVhF0kA6yxfAsFxc9krNEH8vGGntTWI608ovjatXc/CKKXw7AjJSftlTcLI0hIIGXbR\n",
816 "Ur0NCYNp7M4cVd/n73Rjetnixz4SAKpcz/P47UsijZG7T3SxzK2D79WS42aEalc12hQwCZ01LfmF\n",
816 "Ur0NCYNp7M4cVd/n73Rjetnixz4SAKpcz/P47UsijZG7T3SxzK2D79WS42aEalc12hQwCZ01LfmF\n",
817 "/H2mmGEvOzPBie1D0YT7Jh19vxa4Dd3SQ1FrDfmSUpvv4DjbYcZ2PrPpFpWtMjWqHBeoyMiZf6RP\n",
817 "/H2mmGEvOzPBie1D0YT7Jh19vxa4Dd3SQ1FrDfmSUpvv4DjbYcZ2PrPpFpWtMjWqHBeoyMiZf6RP\n",
818 "3EfYR6z9jsVNIIHxM0bzzBQF8eeYkPgDySydxPXv9Izo+QUY94N8kWi16fI6eZSDc1G0Yo0L91jc\n",
818 "3EfYR6z9jsVNIIHxM0bzzBQF8eeYkPgDySydxPXv9Izo+QUY94N8kWi16fI6eZSDc1G0Yo0L91jc\n",
819 "RQuDMGGS7B2zuf/0GbJyRhUO48UbMrqnILMrbQg1LF00Q3pH9nbGEK/RRQpRN3T/J/4IZQjwW2Ft\n",
819 "RQuDMGGS7B2zuf/0GbJyRhUO48UbMrqnILMrbQg1LF00Q3pH9nbGEK/RRQpRN3T/J/4IZQjwW2Ft\n",
820 "2ipWGztg1Jn9I4DmffKS60QC+JQcyakdVON6zDcKttIKlqeTcmAi4xzmo4QXa2dRKleS+fs3EtTd\n",
820 "2ipWGztg1Jn9I4DmffKS60QC+JQcyakdVON6zDcKttIKlqeTcmAi4xzmo4QXa2dRKleS+fs3EtTd\n",
821 "BBtony2wK9T2Imj+NCziOSEL7Q7VuIU8kclUHrJJsSneFcxGRgIgGGUEQM8/pklwTOqab7mMmJeR\n",
821 "BBtony2wK9T2Imj+NCziOSEL7Q7VuIU8kclUHrJJsSneFcxGRgIgGGUEQM8/pklwTOqab7mMmJeR\n",
822 "iaBrjJDEnDpkR4Vz3qXxgyn4/5x24FuTMNVPwQAAAhtBmqVJ4Q8mUwIr/wApcLwPT0/Xh9UdWqWX\n",
822 "iaBrjJDEnDpkR4Vz3qXxgyn4/5x24FuTMNVPwQAAAhtBmqVJ4Q8mUwIr/wApcLwPT0/Xh9UdWqWX\n",
823 "Is8Wbj5K1hivmN6qIQnq+aolcegdlM/63MbHsdC6xYZC1e/Q8UjQCt9N/Ejqwms8DzeWv2qxskel\n",
823 "Is8Wbj5K1hivmN6qIQnq+aolcegdlM/63MbHsdC6xYZC1e/Q8UjQCt9N/Ejqwms8DzeWv2qxskel\n",
824 "iZH0kt1QWkErWSEodq7V0ZNksctLkMGWayX33gBT368EehfIeGDolBZoqIbJfb4nqcfU+ev4OzVv\n",
824 "iZH0kt1QWkErWSEodq7V0ZNksctLkMGWayX33gBT368EehfIeGDolBZoqIbJfb4nqcfU+ev4OzVv\n",
825 "9zVqWyLck315GFmXxQKIM8pICQc8Q5es34LH1+DmnMnW8kQpVGrztQcDXhjCU3F0fOgoSsXSVWCj\n",
825 "9zVqWyLck315GFmXxQKIM8pICQc8Q5es34LH1+DmnMnW8kQpVGrztQcDXhjCU3F0fOgoSsXSVWCj\n",
826 "c6XKqGbCwQDfJUxCfXfIT6YmQoPpVp1mpGy1wQypXus9z0bScDpyDu23hViYDntdj1O45ea0znKZ\n",
826 "c6XKqGbCwQDfJUxCfXfIT6YmQoPpVp1mpGy1wQypXus9z0bScDpyDu23hViYDntdj1O45ea0znKZ\n",
827 "kj1+tLHbBtqAGJ1WTcbGlF6Vya6hQhEsiiZUIC2fRxIj8/wEXCICIbr0gZ/m6gcOhE10tenvE7iy\n",
827 "kj1+tLHbBtqAGJ1WTcbGlF6Vya6hQhEsiiZUIC2fRxIj8/wEXCICIbr0gZ/m6gcOhE10tenvE7iy\n",
828 "+BKY81wLWrnzos3S6FWxYtmCRes+LLhNGOKWRuQo6SyePH2OZ90xZm8oA1MuTe3V59euVNxjAt0F\n",
828 "+BKY81wLWrnzos3S6FWxYtmCRes+LLhNGOKWRuQo6SyePH2OZ90xZm8oA1MuTe3V59euVNxjAt0F\n",
829 "LkAc9TEiFhP/8CB+gA8mF+A8h1U01f4DVX55GzCH51jHI2xUS0L9GtsHoBxLPLK/NNel8zcnwG4X\n",
829 "LkAc9TEiFhP/8CB+gA8mF+A8h1U01f4DVX55GzCH51jHI2xUS0L9GtsHoBxLPLK/NNel8zcnwG4X\n",
830 "+UusfcfEb5hh+ffnXteCE9vRGbs2n9wYW0xA3ZicklfadmWKUtMiHYBfkMSULWnkBQr4CXxjpYOs\n",
830 "+UusfcfEb5hh+ffnXteCE9vRGbs2n9wYW0xA3ZicklfadmWKUtMiHYBfkMSULWnkBQr4CXxjpYOs\n",
831 "6ygeEoA5+5B0B1SZObgZ42wWqddyyYE0NfwQAl75tfdJGqOa7OMHwBYNeatJaJK0zT2+bFaw2qWC\n",
831 "6ygeEoA5+5B0B1SZObgZ42wWqddyyYE0NfwQAl75tfdJGqOa7OMHwBYNeatJaJK0zT2+bFaw2qWC\n",
832 "WwAAAitBmsZJ4Q8mUwIr/wAstkdsayRXchoFk703izqzduZ5WsyXriI9cfUdMUWvm0iGHwYIrUuj\n",
832 "WwAAAitBmsZJ4Q8mUwIr/wAstkdsayRXchoFk703izqzduZ5WsyXriI9cfUdMUWvm0iGHwYIrUuj\n",
833 "vz3Yjou+JLwv9df2kt7MJo8u+3P5CjEKbwlz4vkE5AHTAbgXn3+Xc/MMJLgW5cm7iX3KiGNnBpbp\n",
833 "vz3Yjou+JLwv9df2kt7MJo8u+3P5CjEKbwlz4vkE5AHTAbgXn3+Xc/MMJLgW5cm7iX3KiGNnBpbp\n",
834 "hhwJRlb3u91NRDr0d1IR2up/z7lKxE7XPAPFe0siPMYVlIqWNSn5KqLABPeuxxbOsvMEb27/nH1L\n",
834 "hhwJRlb3u91NRDr0d1IR2up/z7lKxE7XPAPFe0siPMYVlIqWNSn5KqLABPeuxxbOsvMEb27/nH1L\n",
835 "UVM8I2F95c1I3Lv1SpkhZXjs1JsmS9X7gsoTxkXyShGC2+zRJSGUbhCPo/q1XSFMHQyMWJ79FKPQ\n",
835 "UVM8I2F95c1I3Lv1SpkhZXjs1JsmS9X7gsoTxkXyShGC2+zRJSGUbhCPo/q1XSFMHQyMWJ79FKPQ\n",
836 "SL/RpVsacN2bYwdKo4TFBw1SsKq/L1iOmqMI+4Gxnbbjojdk0ek0JIcDb4bHv1czxchF7FX1Ym8H\n",
836 "SL/RpVsacN2bYwdKo4TFBw1SsKq/L1iOmqMI+4Gxnbbjojdk0ek0JIcDb4bHv1czxchF7FX1Ym8H\n",
837 "6IpPuE8CeNKjzQ1a1wqhEu+wl1N0x3Y37ZryCCKJRkxj0FT7bOoH3L38/yMUuh/v3aCmxY4eCkyk\n",
837 "6IpPuE8CeNKjzQ1a1wqhEu+wl1N0x3Y37ZryCCKJRkxj0FT7bOoH3L38/yMUuh/v3aCmxY4eCkyk\n",
838 "b2p6ZrYMFE044anM/nMjmbErMibfRFuCz58Io1rBlF7JfkIz0R2/5vjUMVskcdbX2mm7DntncOsW\n",
838 "b2p6ZrYMFE044anM/nMjmbErMibfRFuCz58Io1rBlF7JfkIz0R2/5vjUMVskcdbX2mm7DntncOsW\n",
839 "DIdg/XVmgsC9CzVzUyq4VsS/sk97lJggcddpWLNw/29egz8iLyzWHOAXCvl2fTIPkviYAOQXfVhZ\n",
839 "DIdg/XVmgsC9CzVzUyq4VsS/sk97lJggcddpWLNw/29egz8iLyzWHOAXCvl2fTIPkviYAOQXfVhZ\n",
840 "UQdxsyJUNFMTiALrZCmoQLMp2LmDbfbW8JQriDeR3fVz6P1sjT8C2yEDvzkCn7sh0aTBK+sx7BKH\n",
840 "UQdxsyJUNFMTiALrZCmoQLMp2LmDbfbW8JQriDeR3fVz6P1sjT8C2yEDvzkCn7sh0aTBK+sx7BKH\n",
841 "1nb4320+caQepQj4TCJtCeNXjdrVcNEnjvwlcRJwFT1pT+Y7HREbHnT71XYNh4EAAAGEQZrnSeEP\n",
841 "1nb4320+caQepQj4TCJtCeNXjdrVcNEnjvwlcRJwFT1pT+Y7HREbHnT71XYNh4EAAAGEQZrnSeEP\n",
842 "JlMCK/8AKIjxcI58rm/ML255fOJW1zbznFna7lfgMQrka7OTPPsvVAV4EJXye/Uxiu9dlftmRypJ\n",
842 "JlMCK/8AKIjxcI58rm/ML255fOJW1zbznFna7lfgMQrka7OTPPsvVAV4EJXye/Uxiu9dlftmRypJ\n",
843 "qfDot3xwDe8lX/qAVf6pBkSlUsaLyBYtww/SUSa1bGl1JvrJCN7FXCCXbLd5R4PoYlPiDIm/DQH2\n",
843 "qfDot3xwDe8lX/qAVf6pBkSlUsaLyBYtww/SUSa1bGl1JvrJCN7FXCCXbLd5R4PoYlPiDIm/DQH2\n",
844 "puO0StIWmrR77Isc/J1pRvdu5+mQa/n0SEHUeM2KkoRzCznfD9zaaRO7BDtvC9SYIT0uYZxrwTjx\n",
844 "puO0StIWmrR77Isc/J1pRvdu5+mQa/n0SEHUeM2KkoRzCznfD9zaaRO7BDtvC9SYIT0uYZxrwTjx\n",
845 "Q7N7UERTrYG0P+vRLAhxkfohFIYl3HXyjPOvnlbUFP2oiiy6nkUFuaIyQcJawJv3GU8k4ObcKsC1\n",
845 "Q7N7UERTrYG0P+vRLAhxkfohFIYl3HXyjPOvnlbUFP2oiiy6nkUFuaIyQcJawJv3GU8k4ObcKsC1\n",
846 "cNDXjSpsyQRrxLFaCCjke4mikyt7vs0iN0bnrNWv9HXruG9zOFEOer1ggIFTsT1Eos5CXRkgja5H\n",
846 "cNDXjSpsyQRrxLFaCCjke4mikyt7vs0iN0bnrNWv9HXruG9zOFEOer1ggIFTsT1Eos5CXRkgja5H\n",
847 "N4QUM6MhWpc5du/HgBIH8ANFcoo2kJpqcadw9r/0qk25X91MQSDJQiH8Hny2dQhqR+LFWEawiW75\n",
847 "N4QUM6MhWpc5du/HgBIH8ANFcoo2kJpqcadw9r/0qk25X91MQSDJQiH8Hny2dQhqR+LFWEawiW75\n",
848 "3SJhn0ngZcv/mPj3mwcHv1SL9ErBqAjm4JGiDetPKYtFwANYY11OyQAAAVdBmwhJ4Q8mUwIr/wAr\n",
848 "3SJhn0ngZcv/mPj3mwcHv1SL9ErBqAjm4JGiDetPKYtFwANYY11OyQAAAVdBmwhJ4Q8mUwIr/wAr\n",
849 "Ox5HV2505jRePGgMxptW4PGIHEszV1xGZS+flSkF+aq30AaqO7u6XK9jJsuWXTfYCRQTn1bZfFQ2\n",
849 "Ox5HV2505jRePGgMxptW4PGIHEszV1xGZS+flSkF+aq30AaqO7u6XK9jJsuWXTfYCRQTn1bZfFQ2\n",
850 "2DbO5DXAxK/TUmbQleCflFzeS6/czxkL4PJ8AwOs2U+oehekgCZC8gZyHHaQSaKbNJ46gTjNsLy8\n",
850 "2DbO5DXAxK/TUmbQleCflFzeS6/czxkL4PJ8AwOs2U+oehekgCZC8gZyHHaQSaKbNJ46gTjNsLy8\n",
851 "4ACQ5uNt11TPuCPqPTuh+schdw9S+/lU/6m+EyaqGZ49wDFPiBFBYXglQQBjyP9k/rqq0xL7SiLj\n",
851 "4ACQ5uNt11TPuCPqPTuh+schdw9S+/lU/6m+EyaqGZ49wDFPiBFBYXglQQBjyP9k/rqq0xL7SiLj\n",
852 "pe4riYg8SFUuUtOzPdWHyvxnI7Ug/0VLPGAAhgMISUnqe01d5QFf36yHpwMAHexjAZFIGQHAFaut\n",
852 "pe4riYg8SFUuUtOzPdWHyvxnI7Ug/0VLPGAAhgMISUnqe01d5QFf36yHpwMAHexjAZFIGQHAFaut\n",
853 "uMuEw6HzUZVzNdeHYxvEYOGkTo007bLwbuf/nxzrywGOxlRTYJLRdYI0mk0SdN3+LeTv1RIJwv21\n",
853 "uMuEw6HzUZVzNdeHYxvEYOGkTo007bLwbuf/nxzrywGOxlRTYJLRdYI0mk0SdN3+LeTv1RIJwv21\n",
854 "+e9rT5iFOTCgzeQoekEWXLYz0X8YLq5bVCtijP7/T7w1Ck71j0aqfrEn6wtIAAABNUGbKUnhDyZT\n",
854 "+e9rT5iFOTCgzeQoekEWXLYz0X8YLq5bVCtijP7/T7w1Ck71j0aqfrEn6wtIAAABNUGbKUnhDyZT\n",
855 "Aiv/ACcySi7VBgOid6qZNXvhh/JsllHkMLLq0yNbQTqv/Wk2EBoSKICZwFwAD0WRzhvvReCGirep\n",
855 "Aiv/ACcySi7VBgOid6qZNXvhh/JsllHkMLLq0yNbQTqv/Wk2EBoSKICZwFwAD0WRzhvvReCGirep\n",
856 "1Fe4bxjm49/UR+OYrXRmHR18T0C83AUVeBk7KvDZmb/eHzuzEN4yfXucr/NWFJl+USVMY4r4UQ9C\n",
856 "1Fe4bxjm49/UR+OYrXRmHR18T0C83AUVeBk7KvDZmb/eHzuzEN4yfXucr/NWFJl+USVMY4r4UQ9C\n",
857 "ayrfEY9v6AQ6mzAdLy2UMfFxrRJ99g/Rfl8qx+m4jIZNjlrTaThzJ/3OpVmAliDfxVyg8+CVIlI3\n",
857 "ayrfEY9v6AQ6mzAdLy2UMfFxrRJ99g/Rfl8qx+m4jIZNjlrTaThzJ/3OpVmAliDfxVyg8+CVIlI3\n",
858 "1IykiwQrXcebgajG+av8XU1SfyAG5ibvwbtdSAxkGBcJWL387V+uTdY56w3KN2vBtoQpVKD2zb3y\n",
858 "1IykiwQrXcebgajG+av8XU1SfyAG5ibvwbtdSAxkGBcJWL387V+uTdY56w3KN2vBtoQpVKD2zb3y\n",
859 "azIcATZ02upwIytNcM/rpaLCdMb1myWcikE25agzLhDhOS+4zwjYz2DnW6VY0gFBAPsphhsUMnau\n",
859 "azIcATZ02upwIytNcM/rpaLCdMb1myWcikE25agzLhDhOS+4zwjYz2DnW6VY0gFBAPsphhsUMnau\n",
860 "VVdUVHzCTSdvzEve/H8q4AAAAVdBm0pJ4Q8mUwIr/wAo+x5XKuiN1am7SkJKSMonFZDPU3f5XFcD\n",
860 "VVdUVHzCTSdvzEve/H8q4AAAAVdBm0pJ4Q8mUwIr/wAo+x5XKuiN1am7SkJKSMonFZDPU3f5XFcD\n",
861 "QSs0FLVq2idfsKwuIkt1mxIq8NgMHpzofTnDHqs/WedvAmhBgL0N5azdQa5MNKG2rJ4IAvGQY/uF\n",
861 "QSs0FLVq2idfsKwuIkt1mxIq8NgMHpzofTnDHqs/WedvAmhBgL0N5azdQa5MNKG2rJ4IAvGQY/uF\n",
862 "m3jKQAKzvhSS01gO1oIfizF817z9IShS4QK2WT0PeFPELqLSpED8eNOpVTR96vmwpk/WBKRVJdTQ\n",
862 "m3jKQAKzvhSS01gO1oIfizF817z9IShS4QK2WT0PeFPELqLSpED8eNOpVTR96vmwpk/WBKRVJdTQ\n",
863 "JzjiCQ5pgEwjtvk7KqoS0+lwXSbvIrXkYm8DignEts3DLNoLHrPjXlQmbIop76JZSyJEtB+91GrL\n",
863 "JzjiCQ5pgEwjtvk7KqoS0+lwXSbvIrXkYm8DignEts3DLNoLHrPjXlQmbIop76JZSyJEtB+91GrL\n",
864 "wo6Km5GeebyA2E6qGL3xSkpppej/ruoFprSKrH60UMbrq/SK7eCo+1QFoySPQmqDFsMGiQFqvtld\n",
864 "wo6Km5GeebyA2E6qGL3xSkpppej/ruoFprSKrH60UMbrq/SK7eCo+1QFoySPQmqDFsMGiQFqvtld\n",
865 "5BXDYdVI4yRaoyN7Y7wi83HRC6eVazuHU9OtIY3xJJApBWq1aJOsYwc38aTC3ee863Aa/4n9Lk4D\n",
865 "5BXDYdVI4yRaoyN7Y7wi83HRC6eVazuHU9OtIY3xJJApBWq1aJOsYwc38aTC3ee863Aa/4n9Lk4D\n",
866 "AtyFYHNZjB5m2e2vk8G2Gny9YFlBAAABQEGba0nhDyZTAiv/ACoZSZQfHxhfQxEqOBQrP+L3Dmgv\n",
866 "AtyFYHNZjB5m2e2vk8G2Gny9YFlBAAABQEGba0nhDyZTAiv/ACoZSZQfHxhfQxEqOBQrP+L3Dmgv\n",
867 "HSJQtB1iVkcLTxm+vagLHBLG91OGnopwrr7gT/loDypIhoRxjcwAAOeg/jN4WBbXzCJtnWGGllUC\n",
867 "HSJQtB1iVkcLTxm+vagLHBLG91OGnopwrr7gT/loDypIhoRxjcwAAOeg/jN4WBbXzCJtnWGGllUC\n",
868 "SdtUZQzKOSp9iM4yX18C6jrY4Sq6R9PUV/lEGNveJR4gw4FMve7110XdEPL1O2VTdHvdqeANyaq0\n",
868 "SdtUZQzKOSp9iM4yX18C6jrY4Sq6R9PUV/lEGNveJR4gw4FMve7110XdEPL1O2VTdHvdqeANyaq0\n",
869 "nLdEmtXnrzvdrFlBaUvmaR4EdlkqGkvkZKWJej8Vq+msbKa7JdbxjwZtRufiyGfD/NVqMgSrYRzw\n",
869 "nLdEmtXnrzvdrFlBaUvmaR4EdlkqGkvkZKWJej8Vq+msbKa7JdbxjwZtRufiyGfD/NVqMgSrYRzw\n",
870 "9z/a8Zwbr+9+19CxlWD5bCuAEfPmjY6kZJE2L/CQI6+tnCBTXOmWZtZMBoCLGOf7G2uAC3+kFlbo\n",
870 "9z/a8Zwbr+9+19CxlWD5bCuAEfPmjY6kZJE2L/CQI6+tnCBTXOmWZtZMBoCLGOf7G2uAC3+kFlbo\n",
871 "h9as5WCkO6+iqXq29dyhKnsHInorRYsPlgxIXyU1Om/Kyhj1DJV0Am9WJK3Dln0zNUH0q6ZTOnZc\n",
871 "h9as5WCkO6+iqXq29dyhKnsHInorRYsPlgxIXyU1Om/Kyhj1DJV0Am9WJK3Dln0zNUH0q6ZTOnZc\n",
872 "FD36AAABYkGbjEnhDyZTAiv/ACcwdIOLRFfoGK2ZkKsvgMwG0m0qsY0vMLPSzefc+ebp/aztyF7M\n",
872 "FD36AAABYkGbjEnhDyZTAiv/ACcwdIOLRFfoGK2ZkKsvgMwG0m0qsY0vMLPSzefc+ebp/aztyF7M\n",
873 "lsBz/fBeNtxFBcsKgR4pf65GvdfOMHah0ltZ918sMDmXUEZMeRHy/xpnWpTLeGz6uTs/7MATPmU5\n",
873 "lsBz/fBeNtxFBcsKgR4pf65GvdfOMHah0ltZ918sMDmXUEZMeRHy/xpnWpTLeGz6uTs/7MATPmU5\n",
874 "BgHbT/DkD8QeaZnFAzidyFCXDz2l/jaKhEdgqipbB2pH0+fQ039r05z9axxEWGmaLQjg6x9+po1o\n",
874 "BgHbT/DkD8QeaZnFAzidyFCXDz2l/jaKhEdgqipbB2pH0+fQ039r05z9axxEWGmaLQjg6x9+po1o\n",
875 "24yhkVO7m03YwWmPyCgy8cOwrvRyJkXJpRN4m8ZBS1zwY80HeN/VyMQQJSMwsTo7R1XMerSFuyx0\n",
875 "24yhkVO7m03YwWmPyCgy8cOwrvRyJkXJpRN4m8ZBS1zwY80HeN/VyMQQJSMwsTo7R1XMerSFuyx0\n",
876 "nz+8qOuhiqykc2ohCCsXia/+kIKbJ5Vs+cbWtvkqBKIDSfU7FhAd3GjcY/xar0EVmi6wWFTugAog\n",
876 "nz+8qOuhiqykc2ohCCsXia/+kIKbJ5Vs+cbWtvkqBKIDSfU7FhAd3GjcY/xar0EVmi6wWFTugAog\n",
877 "R3I7mTrQDdlTAqYgqO7Gn5NMXQVHu2i1zhFSdo9GjMbeGnbkJwsFbQ2XkoKRIDpuW7AewC9AEBt0\n",
877 "R3I7mTrQDdlTAqYgqO7Gn5NMXQVHu2i1zhFSdo9GjMbeGnbkJwsFbQ2XkoKRIDpuW7AewC9AEBt0\n",
878 "Ox/Ah6dGXfXO1jl8pEApj2RFmgAAAPlBm61J4Q8mUwIr/wAlR+eW/VZ7bSrmwwMA62G05DZ7p/5F\n",
878 "Ox/Ah6dGXfXO1jl8pEApj2RFmgAAAPlBm61J4Q8mUwIr/wAlR+eW/VZ7bSrmwwMA62G05DZ7p/5F\n",
879 "UugsSsQdonUq6abtbU5hjFr+I1lPgoiV5c3CkTQZS+K5zivdo+Ti2P4K90xXANp8dSMAu85uJIOC\n",
879 "UugsSsQdonUq6abtbU5hjFr+I1lPgoiV5c3CkTQZS+K5zivdo+Ti2P4K90xXANp8dSMAu85uJIOC\n",
880 "Qn2TXbEnNDifLB+3V84ht5tj4lvTaZx317BcliV8D5v2zZQW8RO1mUbuJEBItst8E7hfE+ZXj7tf\n",
880 "Qn2TXbEnNDifLB+3V84ht5tj4lvTaZx317BcliV8D5v2zZQW8RO1mUbuJEBItst8E7hfE+ZXj7tf\n",
881 "DxNZPTvtpFyUv0fH1cTg1pr2VLy0d0zQLiA58dg+GkRvR1/hs2LyifBgHcj6eTWz0vsypVn9iPXR\n",
881 "DxNZPTvtpFyUv0fH1cTg1pr2VLy0d0zQLiA58dg+GkRvR1/hs2LyifBgHcj6eTWz0vsypVn9iPXR\n",
882 "H/unJ6i8cfFL69NO24tQ9QQB+nDFhoP2cRhkAvhHwn56n5PppBD/oxni2f8AAAE9QZvOSeEPJlMC\n",
882 "H/unJ6i8cfFL69NO24tQ9QQB+nDFhoP2cRhkAvhHwn56n5PppBD/oxni2f8AAAE9QZvOSeEPJlMC\n",
883 "K/8AJjAXVGf+Kj2XNJnFeKC/gr7dJDTC2ngpd4WeAHlg04GuJKnn9hAmiECxxo9qM1IYMRiB85t6\n",
883 "K/8AJjAXVGf+Kj2XNJnFeKC/gr7dJDTC2ngpd4WeAHlg04GuJKnn9hAmiECxxo9qM1IYMRiB85t6\n",
884 "gALnlm9sRqGmioyzAm18RJndc9Ah8RlpGzr+44a6ntRaPx0cIwNIWAA8buL2JP00dmfjNqEiAlCa\n",
884 "gALnlm9sRqGmioyzAm18RJndc9Ah8RlpGzr+44a6ntRaPx0cIwNIWAA8buL2JP00dmfjNqEiAlCa\n",
885 "8OdV8FQxjp1vDXsGcAGF3Qbd62KEpkimeI3wH2nuXpbDHm8/ZKOR49s5ifUCkxCoJpfp43aC0lTz\n",
885 "8OdV8FQxjp1vDXsGcAGF3Qbd62KEpkimeI3wH2nuXpbDHm8/ZKOR49s5ifUCkxCoJpfp43aC0lTz\n",
886 "h2NXpcfVw6h0QnK8G60R4ZAxOxaJB7c0nn8ixXSU2JVY24EtGMF53nxJnHfzUheewUfBOGYSxeo8\n",
886 "h2NXpcfVw6h0QnK8G60R4ZAxOxaJB7c0nn8ixXSU2JVY24EtGMF53nxJnHfzUheewUfBOGYSxeo8\n",
887 "oK7oUCqX4rztzDwoc2QywNqQUJUkFrqIN+sb5ecYvX24Zujn+ZzTW6UDAF3R6WdNyJyRAremgC8s\n",
887 "oK7oUCqX4rztzDwoc2QywNqQUJUkFrqIN+sb5ecYvX24Zujn+ZzTW6UDAF3R6WdNyJyRAremgC8s\n",
888 "pSflTqygQNGfHyGkfIEEJJaFo/pBCBkAAAEWQZvvSeEPJlMCK/8AKI41fuekXG59Knbw4Y6YJrit\n",
888 "pSflTqygQNGfHyGkfIEEJJaFo/pBCBkAAAEWQZvvSeEPJlMCK/8AKI41fuekXG59Knbw4Y6YJrit\n",
889 "sh9VtQgc3QKvVmxrzzo7f4aXn8N74eyP4b2lV1Z2Q+rohxps7EHTkOY9jLdqxI3MXe7je4g2qepz\n",
889 "sh9VtQgc3QKvVmxrzzo7f4aXn8N74eyP4b2lV1Z2Q+rohxps7EHTkOY9jLdqxI3MXe7je4g2qepz\n",
890 "71+hY+jYdX+9LO0kA0Zg3NfyAlIRX7k6c/YHAZNtNaGZgTBMqiPgmEjiJH9Luk7shbgr+srfwiYw\n",
890 "71+hY+jYdX+9LO0kA0Zg3NfyAlIRX7k6c/YHAZNtNaGZgTBMqiPgmEjiJH9Luk7shbgr+srfwiYw\n",
891 "BX9rdS3fQNNFwcT8orQC+F60LAY9+GbFo2Sw3Ld4Tw9jq9yJtrY8RtHAdzytyek/mv2+j2TbTvAQ\n",
891 "BX9rdS3fQNNFwcT8orQC+F60LAY9+GbFo2Sw3Ld4Tw9jq9yJtrY8RtHAdzytyek/mv2+j2TbTvAQ\n",
892 "KbbCYtdC8E/KtR4V5ZTSScr5Wb63vmbw7UpddEXYvl55pARyyvMxWNSh3Li4GF8Jk5JBi5B5ASQw\n",
892 "KbbCYtdC8E/KtR4V5ZTSScr5Wb63vmbw7UpddEXYvl55pARyyvMxWNSh3Li4GF8Jk5JBi5B5ASQw\n",
893 "xCMYpX5hkAMc+d8tl2bT+IEvUTsAAAElQZoQSeEPJlMCK/8AJIAzFZs00JJ0yfm8CZiew4xWdArL\n",
893 "xCMYpX5hkAMc+d8tl2bT+IEvUTsAAAElQZoQSeEPJlMCK/8AJIAzFZs00JJ0yfm8CZiew4xWdArL\n",
894 "klEvBVXo/+ukPLu3XP9HFOfsme3T6BJEKmPPgZw/Lxnraq6Sl2kLVW19YU1qmqgfv+80LkZaWU5g\n",
894 "klEvBVXo/+ukPLu3XP9HFOfsme3T6BJEKmPPgZw/Lxnraq6Sl2kLVW19YU1qmqgfv+80LkZaWU5g\n",
895 "RAH4hqyo3bFYcbuY2SC3IW5Wm69gtYyAXOdbAYSEHA16fvCeRQjHEsxKVndJdrRAlrGHsKgUBQ3U\n",
895 "RAH4hqyo3bFYcbuY2SC3IW5Wm69gtYyAXOdbAYSEHA16fvCeRQjHEsxKVndJdrRAlrGHsKgUBQ3U\n",
896 "p/ZXIy1vkdFOfKSjpuZnswkuqr8NZI5tJ/dnBSErBTNWPaNwWV7nNomC0EYVGo+geGBhLXzaLw0U\n",
896 "p/ZXIy1vkdFOfKSjpuZnswkuqr8NZI5tJ/dnBSErBTNWPaNwWV7nNomC0EYVGo+geGBhLXzaLw0U\n",
897 "AOCYGjiPc3803BDw1GLoLIXjrIFJxwRfBNIAXYZAglu30oYzhpAfRWSprkeULMWYJTlWvbUQ5CNe\n",
897 "AOCYGjiPc3803BDw1GLoLIXjrIFJxwRfBNIAXYZAglu30oYzhpAfRWSprkeULMWYJTlWvbUQ5CNe\n",
898 "wSZssuDWIRAc3w8AcFaywwn+YSGhtR8VI1OGjYkfBbcAAAD8QZoxSeEPJlMCK/8AJdokjCUETRw/\n",
898 "wSZssuDWIRAc3w8AcFaywwn+YSGhtR8VI1OGjYkfBbcAAAD8QZoxSeEPJlMCK/8AJdokjCUETRw/\n",
899 "nciVPtaZQSBP/VxAQSITASEzlJBl9Na1r0DJhLOz279+KQLtl/xHZ8vAKc528mTMTqtWs4sFbeVg\n",
899 "nciVPtaZQSBP/VxAQSITASEzlJBl9Na1r0DJhLOz279+KQLtl/xHZ8vAKc528mTMTqtWs4sFbeVg\n",
900 "HWyBpHcHEtgTzjIqEinp/MPuUXF5poo8YLSSMFn9Ozx2FbU5/Kh9A39oN9NHQflVxV1NA6yT/84H\n",
900 "HWyBpHcHEtgTzjIqEinp/MPuUXF5poo8YLSSMFn9Ozx2FbU5/Kh9A39oN9NHQflVxV1NA6yT/84H\n",
901 "HyfMtfdSMS8KTvAEE2lDs14VQayNs5ctjXboQT7xMBf5OLj6thhPvgaDrFB2o/PV9ouK147lruWT\n",
901 "HyfMtfdSMS8KTvAEE2lDs14VQayNs5ctjXboQT7xMBf5OLj6thhPvgaDrFB2o/PV9ouK147lruWT\n",
902 "P2mkoA9oDIMYW1pcBx4yyV/t9GOPZ3aXneMUb2fFmUCX43BjXfUDMaa4GO2/Ankj3UEQwDxA7ZlN\n",
902 "P2mkoA9oDIMYW1pcBx4yyV/t9GOPZ3aXneMUb2fFmUCX43BjXfUDMaa4GO2/Ankj3UEQwDxA7ZlN\n",
903 "UQK2AAAA4UGaUknhDyZTAiv/ACJHv33I08bkhybYiJ/JiiheW5zMPBu4n5CxGr3frhE7TkLh0vPk\n",
903 "UQK2AAAA4UGaUknhDyZTAiv/ACJHv33I08bkhybYiJ/JiiheW5zMPBu4n5CxGr3frhE7TkLh0vPk\n",
904 "tM8m/AhaDiJisdk5QXNe/4WmxEDSAyaVi4eUVu0iHT2ly/KNTGqiORqA2oKpTjh84nYbrpXwnGv9\n",
904 "tM8m/AhaDiJisdk5QXNe/4WmxEDSAyaVi4eUVu0iHT2ly/KNTGqiORqA2oKpTjh84nYbrpXwnGv9\n",
905 "SOf/34Z06xN6Yo3t35UZrP8nlcs/63GtnEmnUwVZHBYfPM6bs5M5AeBfAQ/9mIqu7vnEst+5O2wp\n",
905 "SOf/34Z06xN6Yo3t35UZrP8nlcs/63GtnEmnUwVZHBYfPM6bs5M5AeBfAQ/9mIqu7vnEst+5O2wp\n",
906 "PjzdItjwGCZ2ApHVjGnYYFomlA9nm6AXnxNIWHIsDgxCk3zx+6QbXipu/CWLG1Wf0WIbt4C0JPVl\n",
906 "PjzdItjwGCZ2ApHVjGnYYFomlA9nm6AXnxNIWHIsDgxCk3zx+6QbXipu/CWLG1Wf0WIbt4C0JPVl\n",
907 "3TEb0QAAAMlBmnNJ4Q8mUwIr/wAVV64OfTKmlktYOqZHH1W1DhPy/X/6sD4T6hRdzfOgNtTOX2Ic\n",
907 "3TEb0QAAAMlBmnNJ4Q8mUwIr/wAVV64OfTKmlktYOqZHH1W1DhPy/X/6sD4T6hRdzfOgNtTOX2Ic\n",
908 "kRJHshfBQVkJIzns079io6kpJFCcS3VD4zrWCn/dNaGV0kWTpFBRuusfn8F0C0R/EhsQeyTsdZft\n",
908 "kRJHshfBQVkJIzns079io6kpJFCcS3VD4zrWCn/dNaGV0kWTpFBRuusfn8F0C0R/EhsQeyTsdZft\n",
909 "EkLGb5tq+nrir3vfmeb7rjmWJRXkIrTEKu8pIuAd+4FBGp8ARgGe80Jqpp//s1433HqBFqXsIFJT\n",
909 "EkLGb5tq+nrir3vfmeb7rjmWJRXkIrTEKu8pIuAd+4FBGp8ARgGe80Jqpp//s1433HqBFqXsIFJT\n",
910 "mU8j/toF9HyueI1Ea4uvsQ6NANGcYCbOAKCmbNiwABMCFaiUTMAAAAPSbW9vdgAAAGxtdmhkAAAA\n",
910 "mU8j/toF9HyueI1Ea4uvsQ6NANGcYCbOAKCmbNiwABMCFaiUTMAAAAPSbW9vdgAAAGxtdmhkAAAA\n",
911 "AHwlsIB8JbCAAAAD6AAAAyAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA\n",
911 "AHwlsIB8JbCAAAAD6AAAAyAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA\n",
912 "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAv10cmFrAAAAXHRraGQA\n",
912 "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAv10cmFrAAAAXHRraGQA\n",
913 "AAAPfCWwgHwlsIAAAAABAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAB\n",
913 "AAAPfCWwgHwlsIAAAAABAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAB\n",
914 "AAAAAAAAAAAAAAAAAABAAAAAAY4AAAGGAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAMgAAAA\n",
914 "AAAAAAAAAAAAAAAAAABAAAAAAY4AAAGGAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAMgAAAA\n",
915 "AgABAAAAAAJ1bWRpYQAAACBtZGhkAAAAAHwlsIB8JbCAAAAAGQAAABRVxAAAAAAALWhkbHIAAAAA\n",
915 "AgABAAAAAAJ1bWRpYQAAACBtZGhkAAAAAHwlsIB8JbCAAAAAGQAAABRVxAAAAAAALWhkbHIAAAAA\n",
916 "AAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACIG1pbmYAAAAUdm1oZAAAAAEAAAAA\n",
916 "AAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACIG1pbmYAAAAUdm1oZAAAAAEAAAAA\n",
917 "AAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAeBzdGJsAAAAtHN0c2QA\n",
917 "AAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAeBzdGJsAAAAtHN0c2QA\n",
918 "AAAAAAAAAQAAAKRhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAY4BhgBIAAAASAAAAAAAAAAB\n",
918 "AAAAAAAAAQAAAKRhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAY4BhgBIAAAASAAAAAAAAAAB\n",
919 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAMmF2Y0MBZAAV/+EAGWdkABWs\n",
919 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAMmF2Y0MBZAAV/+EAGWdkABWs\n",
920 "2UGQz6mhAAADAAEAAAMAMg8WLZYBAAZo6+PLIsAAAAAcdXVpZGtoQPJfJE/FujmlG88DI/MAAAAA\n",
920 "2UGQz6mhAAADAAEAAAMAMg8WLZYBAAZo6+PLIsAAAAAcdXVpZGtoQPJfJE/FujmlG88DI/MAAAAA\n",
921 "AAAAGHN0dHMAAAAAAAAAAQAAABQAAAABAAAAFHN0c3MAAAAAAAAAAQAAAAEAAAAYY3R0cwAAAAAA\n",
921 "AAAAGHN0dHMAAAAAAAAAAQAAABQAAAABAAAAFHN0c3MAAAAAAAAAAQAAAAEAAAAYY3R0cwAAAAAA\n",
922 "AAABAAAAFAAAAAIAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAZHN0c3oAAAAAAAAAAAAA\n",
922 "AAABAAAAFAAAAAIAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAZHN0c3oAAAAAAAAAAAAA\n",
923 "ABQAAA05AAACqQAAAl8AAAITAAACiwAAAh8AAAIvAAABiAAAAVsAAAE5AAABWwAAAUQAAAFmAAAA\n",
923 "ABQAAA05AAACqQAAAl8AAAITAAACiwAAAh8AAAIvAAABiAAAAVsAAAE5AAABWwAAAUQAAAFmAAAA\n",
924 "/QAAAUEAAAEaAAABKQAAAQAAAADlAAAAzQAAAGBzdGNvAAAAAAAAABQAAAAsAAANZQAAEA4AABJt\n",
924 "/QAAAUEAAAEaAAABKQAAAQAAAADlAAAAzQAAAGBzdGNvAAAAAAAAABQAAAAsAAANZQAAEA4AABJt\n",
925 "AAAUgAAAFwsAABkqAAAbWQAAHOEAAB48AAAfdQAAINAAACIUAAAjegAAJHcAACW4AAAm0gAAJ/sA\n",
925 "AAAUgAAAFwsAABkqAAAbWQAAHOEAAB48AAAfdQAAINAAACIUAAAjegAAJHcAACW4AAAm0gAAJ/sA\n",
926 "ACj7AAAp4AAAAGF1ZHRhAAAAWW1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAA\n",
926 "ACj7AAAp4AAAAGF1ZHRhAAAAWW1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAA\n",
927 "AAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNTIuMTExLjA=\n",
927 "AAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNTIuMTExLjA=\n",
928 "\">"
928 "\">"
929 ],
929 ],
930 "output_type": "pyout",
930 "output_type": "pyout",
931 "prompt_number": 8,
931 "prompt_number": 8,
932 "text": [
932 "text": [
933 "<IPython.core.display.HTML at 0x105baff50>"
933 "<IPython.core.display.HTML at 0x10fba28d0>"
934 ]
934 ]
935 }
935 }
936 ],
936 ],
937 "prompt_number": 8
937 "prompt_number": 8
938 },
938 },
939 {
939 {
940 "cell_type": "markdown",
940 "cell_type": "markdown",
941 "metadata": {},
941 "metadata": {},
942 "source": [
942 "source": [
943 "## Local Files\n",
943 "## Local Files\n",
944 "\n",
944 "\n",
945 "The above examples embed images and video from the notebook filesystem in the output\n",
945 "The above examples embed images and video from the notebook filesystem in the output\n",
946 "areas of code cells. It is also possible to request these files directly in markdown cells\n",
946 "areas of code cells. It is also possible to request these files directly in markdown cells\n",
947 "if they reside in the notebook directory via relative urls prefixed with `files/`:\n",
947 "if they reside in the notebook directory via relative urls prefixed with `files/`:\n",
948 "\n",
948 "\n",
949 " files/[subdirectory/]<filename>\n",
949 " files/[subdirectory/]<filename>\n",
950 "\n",
950 "\n",
951 "\n",
951 "\n",
952 "For example, in the example notebook folder, we have the Python logo, addressed as:\n",
952 "For example, in the example notebook folder, we have the Python logo, addressed as:\n",
953 "\n",
953 "\n",
954 " <img src=\"files/python-logo.svg\" />\n",
954 " <img src=\"files/python-logo.svg\" />\n",
955 "\n",
955 "\n",
956 "<img src=\"/files/python-logo.svg\" />\n",
956 "<img src=\"/files/python-logo.svg\" />\n",
957 "\n",
957 "\n",
958 "and a video with the HTML5 video tag:\n",
958 "and a video with the HTML5 video tag:\n",
959 "\n",
959 "\n",
960 " <video controls src=\"files/animation.m4v\" />\n",
960 " <video controls src=\"files/animation.m4v\" />\n",
961 "\n",
961 "\n",
962 "<video controls src=\"/files/animation.m4v\" />\n",
962 "<video controls src=\"/files/animation.m4v\" />\n",
963 "\n",
963 "\n",
964 "These do not embed the data into the notebook file,\n",
964 "These do not embed the data into the notebook file,\n",
965 "and require that the files exist when you are viewing the notebook.\n",
965 "and require that the files exist when you are viewing the notebook.\n",
966 "\n",
966 "\n",
967 "### Security of local files\n",
967 "### Security of local files\n",
968 "\n",
968 "\n",
969 "Note that this means that the IPython notebook server also acts as a generic file server\n",
969 "Note that this means that the IPython notebook server also acts as a generic file server\n",
970 "for files inside the same tree as your notebooks. Access is not granted outside the\n",
970 "for files inside the same tree as your notebooks. Access is not granted outside the\n",
971 "notebook folder so you have strict control over what files are visible, but for this\n",
971 "notebook folder so you have strict control over what files are visible, but for this\n",
972 "reason it is highly recommended that you do not run the notebook server with a notebook\n",
972 "reason it is highly recommended that you do not run the notebook server with a notebook\n",
973 "directory at a high level in your filesystem (e.g. your home directory).\n",
973 "directory at a high level in your filesystem (e.g. your home directory).\n",
974 "\n",
974 "\n",
975 "When you run the notebook in a password-protected manner, local file access is restricted\n",
975 "When you run the notebook in a password-protected manner, local file access is restricted\n",
976 "to authenticated users unless read-only views are active."
976 "to authenticated users unless read-only views are active."
977 ]
977 ]
978 },
978 },
979 {
979 {
980 "cell_type": "markdown",
980 "cell_type": "markdown",
981 "metadata": {},
981 "metadata": {},
982 "source": [
982 "source": [
983 "### External sites\n",
983 "### External sites\n",
984 "\n",
984 "\n",
985 "You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia\n",
985 "You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia\n",
986 "page for mobile users:"
986 "page for mobile users:"
987 ]
987 ]
988 },
988 },
989 {
989 {
990 "cell_type": "code",
990 "cell_type": "code",
991 "collapsed": false,
991 "collapsed": false,
992 "input": [
992 "input": [
993 "HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>')"
993 "HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>')"
994 ],
994 ],
995 "language": "python",
995 "language": "python",
996 "metadata": {},
996 "metadata": {},
997 "outputs": [
997 "outputs": [
998 {
998 {
999 "html": [
999 "html": [
1000 "<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>"
1000 "<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>"
1001 ],
1001 ],
1002 "output_type": "pyout",
1002 "output_type": "pyout",
1003 "prompt_number": 9,
1003 "prompt_number": 9,
1004 "text": [
1004 "text": [
1005 "<IPython.core.display.HTML at 0x105baff10>"
1005 "<IPython.core.display.HTML at 0x10fba2450>"
1006 ]
1006 ]
1007 }
1007 }
1008 ],
1008 ],
1009 "prompt_number": 9
1009 "prompt_number": 9
1010 },
1010 },
1011 {
1011 {
1012 "cell_type": "markdown",
1012 "cell_type": "markdown",
1013 "metadata": {},
1013 "metadata": {},
1014 "source": [
1014 "source": [
1015 "### Mathematics\n",
1015 "### Mathematics\n",
1016 "\n",
1016 "\n",
1017 "And we also support the display of mathematical expressions typeset in LaTeX, which is rendered\n",
1017 "And we also support the display of mathematical expressions typeset in LaTeX, which is rendered\n",
1018 "in the browser thanks to the [MathJax library](http://mathjax.org). \n",
1018 "in the browser thanks to the [MathJax library](http://mathjax.org). \n",
1019 "\n",
1019 "\n",
1020 "Note that this is *different* from the above examples. Above we were typing mathematical expressions\n",
1020 "Note that this is *different* from the above examples. Above we were typing mathematical expressions\n",
1021 "in Markdown cells (along with normal text) and letting the browser render them; now we are displaying\n",
1021 "in Markdown cells (along with normal text) and letting the browser render them; now we are displaying\n",
1022 "the output of a Python computation as a LaTeX expression wrapped by the `Math()` object so the browser\n",
1022 "the output of a Python computation as a LaTeX expression wrapped by the `Math()` object so the browser\n",
1023 "renders it. The `Math` object will add the needed LaTeX delimiters (`$$`) if they are not provided:"
1023 "renders it. The `Math` object will add the needed LaTeX delimiters (`$$`) if they are not provided:"
1024 ]
1024 ]
1025 },
1025 },
1026 {
1026 {
1027 "cell_type": "code",
1027 "cell_type": "code",
1028 "collapsed": false,
1028 "collapsed": false,
1029 "input": [
1029 "input": [
1030 "from IPython.core.display import Math\n",
1030 "from IPython.display import Math\n",
1031 "Math(r'F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx')"
1031 "Math(r'F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx')"
1032 ],
1032 ],
1033 "language": "python",
1033 "language": "python",
1034 "metadata": {},
1034 "metadata": {},
1035 "outputs": [
1035 "outputs": [
1036 {
1036 {
1037 "latex": [
1037 "latex": [
1038 "$$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$"
1038 "$$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$"
1039 ],
1039 ],
1040 "output_type": "pyout",
1040 "output_type": "pyout",
1041 "prompt_number": 10,
1041 "prompt_number": 10,
1042 "text": [
1042 "text": [
1043 "<IPython.core.display.Math at 0x105bafb10>"
1043 "<IPython.core.display.Math at 0x10fba26d0>"
1044 ]
1044 ]
1045 }
1045 }
1046 ],
1046 ],
1047 "prompt_number": 10
1047 "prompt_number": 10
1048 },
1048 },
1049 {
1049 {
1050 "cell_type": "markdown",
1050 "cell_type": "markdown",
1051 "metadata": {},
1051 "metadata": {},
1052 "source": [
1052 "source": [
1053 "With the `Latex` class, you have to include the delimiters yourself. This allows you to use other LaTeX modes such as `eqnarray`:"
1053 "With the `Latex` class, you have to include the delimiters yourself. This allows you to use other LaTeX modes such as `eqnarray`:"
1054 ]
1054 ]
1055 },
1055 },
1056 {
1056 {
1057 "cell_type": "code",
1057 "cell_type": "code",
1058 "collapsed": false,
1058 "collapsed": false,
1059 "input": [
1059 "input": [
1060 "from IPython.core.display import Latex\n",
1060 "from IPython.display import Latex\n",
1061 "Latex(r\"\"\"\\begin{eqnarray}\n",
1061 "Latex(r\"\"\"\\begin{eqnarray}\n",
1062 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1062 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1063 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1063 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1064 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1064 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1065 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
1065 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
1066 "\\end{eqnarray}\"\"\")"
1066 "\\end{eqnarray}\"\"\")"
1067 ],
1067 ],
1068 "language": "python",
1068 "language": "python",
1069 "metadata": {},
1069 "metadata": {},
1070 "outputs": [
1070 "outputs": [
1071 {
1071 {
1072 "latex": [
1072 "latex": [
1073 "\\begin{eqnarray}\n",
1073 "\\begin{eqnarray}\n",
1074 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1074 "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n",
1075 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1075 "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
1076 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1076 "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
1077 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
1077 "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
1078 "\\end{eqnarray}"
1078 "\\end{eqnarray}"
1079 ],
1079 ],
1080 "output_type": "pyout",
1080 "output_type": "pyout",
1081 "prompt_number": 11,
1081 "prompt_number": 11,
1082 "text": [
1082 "text": [
1083 "<IPython.core.display.Latex at 0x105bafc10>"
1083 "<IPython.core.display.Latex at 0x10fba2c10>"
1084 ]
1084 ]
1085 }
1085 }
1086 ],
1086 ],
1087 "prompt_number": 11
1087 "prompt_number": 11
1088 },
1088 },
1089 {
1089 {
1090 "cell_type": "markdown",
1090 "cell_type": "markdown",
1091 "metadata": {},
1091 "metadata": {},
1092 "source": [
1092 "source": [
1093 "# Loading external codes\n",
1093 "# Loading external codes\n",
1094 "* Drag and drop a ``.py`` in the dashboard\n",
1094 "* Drag and drop a ``.py`` in the dashboard\n",
1095 "* Use ``%load`` with any local or remote url: [the Matplotlib Gallery!](http://matplotlib.sourceforge.net/gallery.html)\n",
1095 "* Use ``%load`` with any local or remote url: [the Matplotlib Gallery!](http://matplotlib.sourceforge.net/gallery.html)\n",
1096 "\n",
1096 "\n",
1097 "In this notebook we've kept the output saved so you can see the result, but you should run the next\n",
1097 "In this notebook we've kept the output saved so you can see the result, but you should run the next\n",
1098 "cell yourself (with an active internet connection)."
1098 "cell yourself (with an active internet connection)."
1099 ]
1099 ]
1100 },
1100 },
1101 {
1101 {
1102 "cell_type": "markdown",
1102 "cell_type": "markdown",
1103 "metadata": {},
1103 "metadata": {},
1104 "source": [
1104 "source": [
1105 "Let's make sure we have pylab again, in case we have restarted the kernel due to the crash demo above"
1105 "Let's make sure we have pylab again, in case we have restarted the kernel due to the crash demo above"
1106 ]
1106 ]
1107 },
1107 },
1108 {
1108 {
1109 "cell_type": "code",
1109 "cell_type": "code",
1110 "collapsed": false,
1110 "collapsed": false,
1111 "input": [
1111 "input": [
1112 "%pylab inline"
1112 "%pylab inline"
1113 ],
1113 ],
1114 "language": "python",
1114 "language": "python",
1115 "metadata": {},
1115 "metadata": {},
1116 "outputs": [
1116 "outputs": [
1117 {
1117 {
1118 "output_type": "stream",
1118 "output_type": "stream",
1119 "stream": "stdout",
1119 "stream": "stdout",
1120 "text": [
1120 "text": [
1121 "\n",
1121 "\n",
1122 "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
1122 "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
1123 "For more information, type 'help(pylab)'.\n"
1123 "For more information, type 'help(pylab)'.\n"
1124 ]
1124 ]
1125 }
1125 }
1126 ],
1126 ],
1127 "prompt_number": 12
1127 "prompt_number": 12
1128 },
1128 },
1129 {
1129 {
1130 "cell_type": "code",
1130 "cell_type": "code",
1131 "collapsed": false,
1131 "collapsed": false,
1132 "input": [
1132 "input": [
1133 "%load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py"
1133 "%load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py"
1134 ],
1134 ],
1135 "language": "python",
1135 "language": "python",
1136 "metadata": {},
1136 "metadata": {},
1137 "outputs": [],
1137 "outputs": [],
1138 "prompt_number": 15
1138 "prompt_number": 15
1139 },
1139 },
1140 {
1140 {
1141 "cell_type": "code",
1141 "cell_type": "code",
1142 "collapsed": false,
1142 "collapsed": false,
1143 "input": [
1143 "input": [
1144 "#!/usr/bin/env python\n",
1144 "#!/usr/bin/env python\n",
1145 "\n",
1145 "\n",
1146 "# implement the example graphs/integral from pyx\n",
1146 "# implement the example graphs/integral from pyx\n",
1147 "from pylab import *\n",
1147 "from pylab import *\n",
1148 "from matplotlib.patches import Polygon\n",
1148 "from matplotlib.patches import Polygon\n",
1149 "\n",
1149 "\n",
1150 "def func(x):\n",
1150 "def func(x):\n",
1151 " return (x-3)*(x-5)*(x-7)+85\n",
1151 " return (x-3)*(x-5)*(x-7)+85\n",
1152 "\n",
1152 "\n",
1153 "ax = subplot(111)\n",
1153 "ax = subplot(111)\n",
1154 "\n",
1154 "\n",
1155 "a, b = 2, 9 # integral area\n",
1155 "a, b = 2, 9 # integral area\n",
1156 "x = arange(0, 10, 0.01)\n",
1156 "x = arange(0, 10, 0.01)\n",
1157 "y = func(x)\n",
1157 "y = func(x)\n",
1158 "plot(x, y, linewidth=1)\n",
1158 "plot(x, y, linewidth=1)\n",
1159 "\n",
1159 "\n",
1160 "# make the shaded region\n",
1160 "# make the shaded region\n",
1161 "ix = arange(a, b, 0.01)\n",
1161 "ix = arange(a, b, 0.01)\n",
1162 "iy = func(ix)\n",
1162 "iy = func(ix)\n",
1163 "verts = [(a,0)] + zip(ix,iy) + [(b,0)]\n",
1163 "verts = [(a,0)] + zip(ix,iy) + [(b,0)]\n",
1164 "poly = Polygon(verts, facecolor='0.8', edgecolor='k')\n",
1164 "poly = Polygon(verts, facecolor='0.8', edgecolor='k')\n",
1165 "ax.add_patch(poly)\n",
1165 "ax.add_patch(poly)\n",
1166 "\n",
1166 "\n",
1167 "text(0.5 * (a + b), 30,\n",
1167 "text(0.5 * (a + b), 30,\n",
1168 " r\"$\\int_a^b f(x)\\mathrm{d}x$\", horizontalalignment='center',\n",
1168 " r\"$\\int_a^b f(x)\\mathrm{d}x$\", horizontalalignment='center',\n",
1169 " fontsize=20)\n",
1169 " fontsize=20)\n",
1170 "\n",
1170 "\n",
1171 "axis([0,10, 0, 180])\n",
1171 "axis([0,10, 0, 180])\n",
1172 "figtext(0.9, 0.05, 'x')\n",
1172 "figtext(0.9, 0.05, 'x')\n",
1173 "figtext(0.1, 0.9, 'y')\n",
1173 "figtext(0.1, 0.9, 'y')\n",
1174 "ax.set_xticks((a,b))\n",
1174 "ax.set_xticks((a,b))\n",
1175 "ax.set_xticklabels(('a','b'))\n",
1175 "ax.set_xticklabels(('a','b'))\n",
1176 "ax.set_yticks([])\n",
1176 "ax.set_yticks([])\n",
1177 "show()\n"
1177 "show()\n"
1178 ],
1178 ],
1179 "language": "python",
1179 "language": "python",
1180 "metadata": {},
1180 "metadata": {},
1181 "outputs": [
1181 "outputs": [
1182 {
1182 {
1183 "output_type": "display_data",
1183 "output_type": "display_data",
1184 "png": "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\ng23UdEXM4ccffzS6hFo5pem+/roj5XrwGEVEmgFPnuWe0uQLaVu3Qno6/PvfzijHM/n4+LBv3z6e\nfvppo0vJDkGKAAAB1ElEQVQRkVrYbDajS6iTxV7L1NkMf2qIiHii87XWWpOup18FFBExGx28KCLi\nRmq6IiJupKZbh9tuu43evXuTnJzMhx9+aHQ5IlKDvLw8uprkziyXP4Ld7D7++GOioqIoLy+nb9++\n3H777bRs2dLoskTEpJR06/D222/TvXt3BgwYQEFBATk5OUaXJCI1qK6uZtSoUXTp0oU777yT8vJy\no0uqkZpuLX788UeWLFlCWloaGzdupHv37lRWVhpdlojUICsri7Fjx5KZmUlERATvvvuu0SXVSE23\nFsXFxURFRREUFMS2bdtIS0szuiQROY/27dszYMAAAEaNGsXy5csNrqhmarq1uP7666murqZLly48\n++yzp/+DiojnOfNmLk8+3lEX0moREBDAwoULjS5DROohPz+ftLQ0+vfvz7x587jiiiuMLqlGSroi\nYnoWi4XExETeeecdunTpwrFjx3j00UeNLqtGtZ69ICIizqWkKyLiRmq6IiJupKYrIuJka9asoVu3\nblRWVlJaWkpycjKZmZmAZroiIi4xadIkKioqKC8vp3379kycOBFQ0xURcYkTJ07Qu3dvgoOD+eWX\nX07vG9Z4QUTEBQ4dOkRpaSklJSVnnQPx/xV9BfkfDyZLAAAAAElFTkSuQmCC\n"
1184 "png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAD5CAYAAACEcub7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0VPX5x/H3ZN9JkLAkASMYoiTIvoqgxRU3/LmgBVRq\nXVHEVqFq0UiVRVwDatWjiBZcTottpYhSUBQw7ARIIAsQQljDEkJ2MjO/PwYoSMg6M3fu5PM6h2NJ\nZub7VOHhw3O/93stdrvdjoiIuIUPwPPPP09qaqrRtYiIeD2L1Wq1d+7cmTVr1hAVFWV0PSIiXs3n\n+++/p2fPnmq4IiJu4FtdXZ0yZswYLr74YqNrERHxepZOnTrZc3JysFgsRtciIuL1fO666y41XBER\nN7Hk5ubaO3XqVPM31YxFRBrlfLtxLbXt07VYLOd9Y3OTkpJCSkqK0WWISB3c9Xt19Wq4+27IzQUf\nn7O/V1vv9KnxqyIiUqu//hUefvjchlsXP9eUIyLivY4ehfnzITu74e9V0q2nK6+80ugSRKQe3PF7\n9bPP4IYboHXrhr9XM10RkQaw2yEpCd57D4YMqfk1mumKiDjJkiXg6wuDBzfu/Wq6IiINkJoK48ZB\nY3fUarwgIlJP27dD//6waxeEhJz/dRoviIg4waxZ8MADtTfcuijpiojUw/HjEB8PGzZAhw61v1ZJ\nV0SkiT79FK66qu6GWxfdHCEiUgebDWbOhA8/bPpnKemKiNTh++8hOBgGDWr6Z6npiojUoanbxM6k\nC2kiIrXIyoIrroD8fAgKqt97dCFNRKSR3ngDHnmk/g23Lkq6IiLncfAgJCY60m5DDrdR0hURaYRZ\ns2DEiMadJnY+SroiIjUoLXXcDLFiBXTu3LD3KumKiDTQJ584tog1tOHWRUlXRORXrFZHs/3sMxg4\nsOHvV9IVEWmA+fOhTZvGNdy6qOmKiJzBbocZM+CZZ1zz+Wq6IiJn+OknKCqCW25xzeer6YqInOGV\nV2DiRMcjeVxBTVdE5KTVq2HbNhg92nVrqOmKiJx0KuUGBLhuDW0ZExEBNm2C666DHTscxzg2hbaM\niYjUYcoU+OMfm95w66KkKyLN3qnjG3fsgLCwpn+ekq6ISC2mToUnnnBOw62Lkq6INGs7d0Lv3rB9\nO0RGOuczlXRFRM7j5Zfhscec13DroqcBi0izlZsL//43ZGe7b00lXRFptl56yfHAyago962pma6I\nNEtbt8KQIY60GxHh3M/WTFdE5FdSUhz7cp3dcOuipCsizc6mTXDttY4dC6Ghzv98JV0RkTO8+CJM\nmOCahlsXJV0RaVbWroVbb3XMcl11y6+SrogIjqdCTJwIkya5/oyF81HTFZFm47vvYM8eeOAB42pQ\n0xWRZsFqdaTcqVPB39+4OtR0RaRZmDvXcaDN8OHG1qELaSLi9SoqIDER5s2Dyy93/Xq6kCYizdqs\nWdCjh3sabl2UdEXEqx096ki5y5bBpZe6Z83aeqearoh4taeegrIyeP99962ppisizdLWrTB4MGRm\nQnS0+9bVTFdEmh273ZFyn3vOvQ23Lmq6IuKVFi6EvDwYO9boSs6mJ0eIiNepqnKk3LffhoAAo6s5\nm5KuiHidmTMhIQFuuMHoSs6lC2ki4lUOHIDkZFixAjp3NqYG7V4QkWbj3nuhTRuYMcO4GmrrnZrp\niojX+OEHx00QGRlGV3J+mumKiFeorIRHH7WTmuo42MZTabwgIl6hV6+vycoKp6TkaqNL0c0RIuLd\nli3bw/r1VxATM93oUuqkma6ImJrNZueOO/bTuvVSEhODjC6nTkq6ImJq48f/QnFxGOPGmWMUqqYr\nIqaVnX2Ud965mAkTsgkK8jXFNSg1XRExrWuvzSIxcRXDh8dgsViMLqdeNNMVEVP685/XsWdPNN9+\naz39NSVdEREX2LHjGFOnxjJ+fDpRUZ5/8exMSroiYjpXX51Bp05HuPvuC8/6uhmSrpquiJjK88+v\nYvfuGBYuPLvBmuVmLo0XRMQ0MjIOMW1aPH/842Zatjx7rKALaSIiTmSz2fnNb3aRnLybO+9sX+Nr\nzJB01XRFxBRGjfqF4uJQ/v73tjV+3yxJV+MFEfF4Cxfm8cUXnZk+fQ8hIf7nfZ2SrohIExUXV3LH\nHZVcd91aLr/8ovO+zixJV01XRDzakCFphIb6MHlyfJ2vVdIVEWmCiRPXsHlzPP/4xy58fMyRZOui\nma6IeKQff9zDjBnxPPfcRuLiQuv1HiVdEZFGKCqqZNiwEq66ahO33tqxXu/RTFdEpJEGDlxDREQV\n06ad/8JZTZR0RUQa6MEHl5Ob245//Wtfg+a4Zkm6mumKiMeYPXsbH32UyLRp2bRuHdzg95sh6arp\niohH2LChkN//PpL77/+JIUNaN/j9Zkm6Gi+IiOGKiiq54opD9O69lbFj4xv9OWZIumq6ImIom81O\nz57rCAsrZ+bMmg+yqQ8lXRGRerjuup/Yt+8CFiwAX9+mTTzNkHQ10xURwzz6aBo//NCRjz4qJDIy\n0Ohy3EJNV0QM8frr6bz/fkemT99MYmKEUz5TSVdEpAZ//3suzzwTw/jxK7jyyjZO+UyzzHTVdEXE\nrX7+uYARI0IYMeJnRo7s4NTPNkPS1YU0EXGbjRsL+c1vrFx11RqefvrCut/QAGZJumq6IuIWWVlH\n6dfvOL16bWT6dOc2XDDP04DVdEXE5fLzj9GjxwESE7cxa5ZzRwpnUtMVkWYvP7+YLl120759Ph99\nFOeyMYBZxgu6kCYiLrNzZzGXXrqHmJh8/va31i5/+oMZkq6aroi4RFbWUZKS9tOhQy5z57q+4ZqF\nmq6ION3GjQfo1u0ICQmZfPppO7c1XCVdEWl2lizZTZ8+lXTrtpmPPopzW8PVTFdEmp1PP83i2msD\nufrqNbz7bnu3N0IlXRFpNiZPXsf991/Avff+zMsvx7t9fbMkXW0ZE5Emsdvhnnt+5quvEvnTn1Zy\n++3xBtbi+UlXTVdEGq2srJq+fVeRnd2ad9/dSJ8+sYbVoqQrIl4tK+sI/fvvxmKx8fXXB2jb9gKj\nSzJF0tVMV0QabM6crSQllRIXl89//hNA27ahRpdkGmq6IlJvNpudO+5YwZgxFzBy5Bo++SSGgADP\n+QuzGZKu5/zbEhGPtnNnEZdfnsXRo+G88856+vZ1/klhTWGWma6SrojUacaMdBISyggPP8yiRaX0\n7RttdEk1UtIVEVMrLCxj6NB1ZGTE88gjq/jd71x3LGNTKemKiKm9+WY6sbEHOXKkgvnzt3t0wz1F\nSVdETCcz8wg335zFrl1x3H//Wh591PObLSjpiojJVFVZ+e1vfyY52UZg4EEWLMgzTcMFPa5HREzC\nboepU9OZPDkEf/8Qpk1bxdChcUaX5bXUdEWasblzt/HEE5UcPx7MyJHpjB0bj49PW6PLajQlXRHx\nSHPn5vD000c5eLA9V1+9gkmT4ggOvsjosppMTVdEPIbNZue997aQknKCI0daM3jwJubOtdKihfmb\nLZjnQpqabjNQUlLB6tV72LChiKysMvbsqeLgQTtFRb4cPx5EeXkg1dV+VFf7Y7MFYbMFYrf7AnYs\nFjtgO/m/bfj6VuDrW4G/fyWBgdUEBVUTGmojMrKa6Gho29aX2Ngg4uNDSUiI4rLLogkLCzT430Dz\nduxYFRMmrOdvf4ugqiqMq69ex8SJFYSHxxtdmtMp6Ypb7d1bzDff7OCnn46waRMUFLTg+PForNY2\n+PoGERLiQ0RENRERVURGWklMtNGqVTFRUT6Eh/sRHu5LWJgvoaE++PtbsFh8sNkcCam62kpFhZXS\nUjslJTaKi20UF1spLrZy7BgcPepLdnYA69f7UVrqS0WFL1VVPthsFiyW/QQFFRIRUUx0dAVxcdCp\nUxBdu4YzYEBrkpJa4+urjTTOtmhRHi++uIs1a5KIiLByzz3b+P3v4/D3945k+2tKuuJSNpudRYu2\n8+WXu1m5EvLzY6mqiiU4OIDoaAvx8SUMHlxKt25FJCUdICjoVFOLOPnD1cqBcqqq9rBjRxm5ueXs\n2HGC3bvt5Of7s2GDPx9/7ENFRQB2eykBAQVERh4hJqachARfLrsslP79oxk4MI6QEH831OsdMjMP\n8+KLW/n225aUl7fkkktKmDlzLf37RwOedVaCKyjpilNt3XqQmTO38u23dvLzL8ViCaJtWx+Skoq5\n//4dXHllEUFBvrivsdYtIMCHSy4J45JLwmr4biWwk4MHq0hPL2br1ip27LCwdm0Q339voaTEF6vV\nhp/fLlq0KCQmpoyEBB+6dw9lwIDWDBzYjpAQJeQVK/bx5pvbWbo0lKNHLyImpoKRIzO57772BAaa\ndydCQynpilMsX57HtGnbWbYsmpKSeFq1CqR370KefXYLvXpFAmEnf5hX69YBXHNNK6655tffKaSs\nbB/p6UfZtKmcnBwb6elBLFlioaSkHKu1Cj+/I0RGHiI2tpyEBAvduoXSv39r+vVrRXi4OX4TNtSe\nPaV89FE233xTzObN7aiqiiQurpRbbjnAqFHlREVFAVFGl2kIJV1plKysQzz33Ba++y6SsrIOXHih\nhXvv3cWIEeWEhvoDMUaX6DYhIX4MGBDNgAG//s4xSkr2s3HjYTZvLiMnx8769cEsXhxJSYkPVmso\nfn6ltGhRSLt2pXTqBMnJQfTuHcXll7chOtocI4sTJ2z8978FLFiwl19+qSQrK5qysvaEh1eRmHiU\nP/6xmJtvboO/fyugldHlGkpJVxrEarXxxhvrSE0tp6DgMmJiYPTo3YwcWUVwcAughdElepywsGAG\nDYpj0KBff6eMY8dWs3nzYTIyysnNhczMYH76KZKSEgsnTrTAx+c4ISF7admyiLZtrcTF+dKxYyAJ\nCWEkJUXStWsrIiLc15gLC8tYuXI/aWlHTqZ6H/btC6ekpCO+vtVccEEFnToVMXZsEcOGFREeHgi0\nd1t9ZqGkK3UqLCzh8cdX8/XX8VgskQwefIB3380gJiYcCDe6PNNq0SKcQYPCa2jIlZw4kUl2dhEZ\nGRXk5trYuxc2bQrg559DKSnxo7KyCpvNhsVShJ9fEYGBpQQHVxAaWkVERDWRkTYiIiAkxJfQUF9C\nQnwIDrYQHAw+Po4dGzabI6VWV1spK7Nx7Jid4mIbx47BsWM2iov9KC4OpbQ0gqqqaMAPf38r4eHl\ntG5dRMeOVdxyyxGuuOIocXFhOH4t6NeDN1DTNUhmZiEPP5zOihWX0apVME89lckdd7TFx6ed0aV5\nPX9/P5KSWpGUVNN3bcAhrNaDFBSUkZ9fyv79VRw6ZOXwYTtFRRaOH/ejsNCPqioLVVW+VFf7Ul3t\nh9UagN0OFosVi8WOxQI+Pjb8/GwEBlYSHHyC4GArF1xgJyHBQrt2djp08CchIYzY2LCT2+ZCTv6Q\nxlDSlXNs23aQ0aM3s25dT+Lj7cycuZn+/SMBNVtP4uvrw4UXhnHhhea+SNmcaKYrZ9m9+xi//e0a\nVqzoQceOdubM2UCXLi2NLkvEqyjpChUVJ7j//p/56qtkYmN9+eCDTfTo0Ty384i4kpKukJq6jokT\ng/H3b8mUKeu55hrPfJifiLdQ0m2mMjIOcuONWRQUdGLEiPWMH98WHx81XBFXMkvS1T2UTmSz2Xnk\nkR/o2tVOWNhxvv02jz/8oR0+Pub4xSBidkq6zcjatXsZNiyP4uI4XnppA8OGtTG6JJFmRUm3GXnq\nqZ/p29ef9u2LWLz4KMOGaZQgYgQlXS934MBxrrhiDTt3duKFF9Zw881KtyJSOyXdRpo/P4sOHfZR\nXu7HggV71XBFDGaWR7Cr6TbCww//xB13XMCNN27l669DadUqwOiSRASNF7xOefkJBgz4kYyMzrz6\n6jquuirO6JJE5CSzXEhT062nrKxD9O+/E4slkvnzC4iJad5nl4p4IjMkXY0X6mHZsv0kJ5cSG3uY\n//wHYmKCjC5JRH7FLElXTbcOK1bArbe24KKL5jFnTjQBAfpXJiKNpw5Si6+/huHD4dFHV9Op009G\nlyMitVDSNbl33oGxY2HRIujefb/R5YhIPWima1KvvAJvveUYLfTqZXQ1IuJNtHvhDHY7vPACzJ8P\nP/0E7fQwBxFTMUPSVdM9yW6HCRNg8WL48UeI1vEJIqZilpmumi6Ohvvkk7ByJSxdCi31FB0RU1LS\nNQG7HZ5+GlatgiVLoEULoysSkcZQ0jWJl16C//7XMVJQwxUxNyVdD/f66/DFF7BsGUTpWZEipqak\n6+E++ABmzXLsUmijUxlFvIKSroeaP98xVli2DNq3N7oaEXEGJV0P9csv8PDD8N13cPHFRlcjIs5k\nhqTbrO5Iy8mB226DOXOgZ0+jqxGR5qjZNN1Dh2DYMJg82fFPEfEuelyPB6mogFtugTvvhIceMroa\nEWnOvL7p2u2OGW5cHLz8stHVSH199dVXDBkyhC1bthhdipiEkq6HePttSE+H2bPBx+v/33qPG2+8\nkcDAQJKSkowuRUzEDE3Xq3cvLFkC06ZBWhqEhhpdjTTE2rVr6dGjh2m2AYnxzPJrxWuz344dMHKk\n446z+Hijq5GGWrVqFRaLhUWLFjFlyhRyc3ONLklMwAxJ1yubbmmp4zE7zz8PV15pdDVSly+++IKh\nQ4cyatQodu3aBTia7siRI7n++usZPHgw7777rsFViqdT0jXQ449D9+6Of4pnW7t2LW+++SZvvfUW\npaWl/OUvf2H//v3Y7Xa6du0KwOHDhykqKjK4UjEDMyRdr5vpfvKJ45jGNWvAJH/wNWszZ85kwIAB\ndO7cGbvdTps2bdi6dSvdu3c//Zq0tDQGDhxoYJUizuNVSTcjA555Br76ShfOzGDLli1kZmZyzTXX\nEBgYyD//+U9eeeUVQkNDCQ8PByA/P5/c3FxGjRplcLViBmZIul7TdEtL4a674NVXITnZ6GqkPhYu\nXAhwTort06cPPj4+LFiwgM8//5z33nuPoKAgI0oUEzHLTNdrxguPPw59+sCYMUZXIvW1bNkyOnbs\nSNSvDjO2WCw8+eSTANx0001GlCYmZYak6xVNd948x17ctWuNrkTqKz8/n4MHDzJo0CCjSxEvoaTr\nJrt3w/jxsGiR5rhmsmbNGgCSNQsSJzJD0jX1TNdmg/vug6ee0lGNZrNu3ToALr30UoMrEW9hlqRr\n6qb71ltQVQUTJhhdiTTUunXrCAgI4KKLLjK6FPEiZki6ph0vbN4MU6fC6tXg62t0NdIQu3bt4siR\nI3Tp0gVf/ccTJ1HSdaHKShg1yrE9TEHJfDZs2ABA586dDa5EvI0Zkq4pm+7LLzsOsbn/fqMrkcZY\nv349ABfrIXXSDJluvJCeDu+/Dxs36jZfs9q8eTPgGU3XarU2esRRXV2Nn5/pfgt5LY0XXKC6Gn73\nO8cZuTExRlcjjXH06FEKCgqwWCx06tTJ0FqWLl16+q64xpg9ezbp6elOrEiaA1M13ddegwsu0F1n\nZrZp0yYAoqKiiIyMdPl6u3fvZvz48aSmpjJ16tTTM79169axYcMGbr755kZ/9pgxY/j444/ZuXNn\nvV7/9NNPM3LkSN1l5yJ6XI+TZWU5mu4HH2isYGanmq47RgsnTpzg8ccfZ+jQoRw+fJh//etflJaW\nUlJSQmpqKo838exPPz8/nn32WV588UWqq6vrfP306dPp2bMnBw4caNK6Ym6maLo2GzzwALz4op4C\nYXanHjSZkJDg8rV++eUX9u7dS8+ePbnrrrtITU0lLCyM2bNnc8MNNxAYGNjkNdq2bUunTp1YsGBB\nna/19fXVjg0XUtJ1og8/dDTesWONrkSawmq1kpmZCbin6a5bt46oqChiY2NJSkqib9++lJeX889/\n/pNhw4Y5bZ0RI0YwZ84cp32eeDePb7oHD8KkSfDXv+ppvmaXl5dHRUUFFovFLU03IyODLl26nPW1\n5cuXExMTQ0REhNPW6dy5M8eOHWPbtm1O+0xpOLMkXY/f7zJxIoweDZddZnQl0lSnUq6vry8dO3Z0\n2TopKSkcOXKE9PR04uPjGTduHLGxsUycOJFVq1ZxWS2/mLZu3crChQvx8fFh3759/PnPf2b+/Pkc\nP36cwsJCHnroIeLi4s56j4+PD927dyctLY1LLrnk9Ne3b9/O7NmziYiIICgoCH9//3OOsWzq2nI2\nNd0m+vlnWLwYtm41uhJxhlNNt2PHji7d35qSksKePXsYPnw4Y8eO5coznk6anZ3NbbfdVuP7CgoK\n+Oabb5hw8jCPlJQUxowZQ0pKCjabjQcffJDExERGjhx5zns7dOhAdnb26Z+np6fz5JNP8sYbb9Dz\n5GlMZWVlPPbYYzXuJ23K2mIuHvsX9hMn4LHH4M034eSTW8TkTjXdxMREl6+VlZUFnHur8d69e08/\nCujX5s6dyxNPPHH65+Xl5URERNC1a1fatm3LqFGjzrvFLDw8nL179wJgs9lISUmhT58+pxsuQEhI\nCNdee22Naawpa8v/mCHpemzTTU2F2Fi44w6jKxFnsFqt5ObmAu45zjE7O5uwsDBifnUXTUlJyXmb\n7ujRowkODj79882bN9O3b18A2rRpw7hx4847C46MjKSkpARwbIsrKCigW7du9a63KWuLg1nuSPPI\n8cKePY4TxNLStCfXW+Tl5VFVVYXFYnFb061pe5bFYsFms9X4njMbdF5eHoWFhfTu3bte69lsttMp\n69Q+3IY0yaasLf+jpNtIf/oTPPwweMCt+eIkp+adfn5+bhkvZGdn17hOeHg4xcXFdb5/7dq1+Pv7\nn3XRraCg4LyvLy4uPp2g27RpA0BFRUVDy27U2uJglqTrcU131SpYuhSefdboSsSZcnJyAMedaP7+\n/i5d69ixYxw4cKDGbWkxMTEUFRWd8/WKigpSU1NPj0BWrVpFQkLC6RsobDYbn332Wa1rxsbGApye\nw566EeRMVqvV6WvL/yjpNpDd7nje2ZQpEBZmdDXiTKcaijueiXbqIlpNTbd79+41npWwYsUKPvvs\nM3bs2EFeXh67d+8mICDg9Pc//vjjWi9k7dy58/TYxNfXlxdeeIHly5ef/sMG4NChQ3zzzTcA7Nmz\nx2lri4NZkq5HzXQ//9yxa2H0aKMrEWc71XSTkpJcvta2bdsIDw+vcaY7YMAA3njjjXO+3qtXL26+\n+Wa2bdtGVlYWn3zyCdOmTWPKlCn4+/szZMiQ8/6BUV1dzaZNmxg3btzpr/Xp04fU1FQ+/PBD2rVr\nR0hICH5+ftx4443MmTOH8ePHM3LkSIYPH96kteVsZki6HtN0S0sds9x583Tnmbc5tbnfYrG4ren2\n6dMHnxp+IfXo0YNDhw5RWFhIdHT06a9HRkbywgsvnPXalJSUeq2XkZFB27Ztz0nWycnJvPrqq+e8\n/r777jvr501ZW/7HLEnXY9rba6/BwIEwaJDRlYizbd++HXBczY930YlFc+bMYezJwzkyMzMZOnRo\nja8LCAhgxIgRfP75505be968ebppwUOYIel6RNMtKHDsy50+3ehKxBV27NgBOOaprrJw4UICAgLI\nycnB39//vE0X4N5772XlypX12sVQl7y8PPbv36+Zq9SbRzTdlBR48EG48EKjKxFXONV0e/To4bI1\nRo8eTXR0NLNnz2bGjBm1PoInKCiISZMm8fLLLzcpGVVWVjJjxgxeeeUV0/zV1tuZIekaPtPNzIR/\n/xvOuG1dvMypK/iuTLo33XRTg57IkJSUxO23386XX37J3Xff3ag1Z8+ezdixY3UIjYcwyx98hjfd\n55+HCRPADU9uEYPk5OQQHBx81glcnqBfv37069ev0e9/5JFHnFiNNJWOdqyHlSth3TrHVjHxTvv2\n7eP48eP06dOn0U/dFfEmhs107XbHWbmTJ0NQkFFViKttPXkuZ69evQyuRLydWZKuYU33P/+Bo0d1\nI4S3y8jIADh9YpZIc2dI07VaHTdCTJ0K+hund9uyZQuhoaFuuSlCmjezXEgzpOl+/rnjwlkDLjaL\nCVVUVLBlyxb69etX491hIs2R2y+kVVfDSy/BBx/orFxvt3btWqqqqhgyZIjRpUgzoZluDf72N4iL\ng6uucvfK4mqvvfYa99xzD9XV1QAsWrSIiIiIWu8OE3EmMzRdtybdEyfgL3+B2bPduaq4y+rVqzlx\n4gQ2m439+/ezdOlSHnjggdPnwoq4kllmum5tup9+ChddBIMHu3NVcZdu3brRsmVLiouLmTx5Mh06\ndDjnRC0RVzJD0nXbeKGqypFyX3rJXSuKu40dO5aMjAyGDx9OQEAAM2fOPO+j1qurq3nvvff4xz/+\nwZdffslTTz2lR9JIkyjp/srs2XDJJXD55e5aUdwtMjKSWbNm1eu1U6dOJSEhgdtvv52ioiLef/99\nnWEgTaake1JlJbzyilKuOOTk5LB48WL+7//+D3A8VaJnz54GVyVmZ5ak65amO2cOJCdDE84WES+y\nevVqunfvfvo5YKtXr6ZPnz4cP37c4MrE7JR0cezLnT7dcZqYCDieINGqVSsAysrK+OGHH7jsssv4\n9ttvDa5MzMwsSdflM90vv3Tsy9UsV0657rrr2LhxI9999x1VVVVcf/31rFy50uOOfhTzMUPSdWnT\ntdkc5yu8/rorVxGzCQgIYNKkSUaXIWIIl44XvvkGAgPh2mtduYqIiIMZkq7Lmq7dDlOmwHPP6YwF\nEXE9s8x0XdZ0ly6F4mK47TZXrSAi8j/N/hDzKVMcZ+bqRD8Rkf9xSUtMS4PcXPjtb13x6SIi52rW\nSXf6dHjmGfD3d8Wni4iYl9O3jOXkwPLljnNzRUTcpdleSHvrLXjoIQgNdfYni4iYn1OT7uHDMG8e\nZGY681NFROrPbrd7dOp1atL9619h+HBo186Znyoi4j2clnQrK+Gdd+C775z1iSIiDXNqB0OzSLqf\nfw5duzp+iIgYxdO3jTml6drt8MYb8Ic/OOPTPNORI0eMLkFE6mCxWFi2bJnRZdTKKU138WJH4/Xm\ng23UdEXM4ccffzS6hFo5pem+/roj5XrwGEVEmgFPnuWe0uQLaVu3Qno6/PvfzijHM/n4+LBv3z6e\nfvppo0vJDkGKAAAB1ElEQVQRkVrYbDajS6iTxV7L1NkMf2qIiHii87XWWpOup18FFBExGx28KCLi\nRmq6IiJupKZbh9tuu43evXuTnJzMhx9+aHQ5IlKDvLw8uprkziyXP4Ld7D7++GOioqIoLy+nb9++\n3H777bRs2dLoskTEpJR06/D222/TvXt3BgwYQEFBATk5OUaXJCI1qK6uZtSoUXTp0oU777yT8vJy\no0uqkZpuLX788UeWLFlCWloaGzdupHv37lRWVhpdlojUICsri7Fjx5KZmUlERATvvvuu0SXVSE23\nFsXFxURFRREUFMS2bdtIS0szuiQROY/27dszYMAAAEaNGsXy5csNrqhmarq1uP7666murqZLly48\n++yzp/+DiojnOfNmLk8+3lEX0moREBDAwoULjS5DROohPz+ftLQ0+vfvz7x587jiiiuMLqlGSroi\nYnoWi4XExETeeecdunTpwrFjx3j00UeNLqtGtZ69ICIizqWkKyLiRmq6IiJupKYrIuJka9asoVu3\nblRWVlJaWkpycjKZmZmAZroiIi4xadIkKioqKC8vp3379kycOBFQ0xURcYkTJ07Qu3dvgoOD+eWX\nX07vG9Z4QUTEBQ4dOkRpaSklJSVnnQPx/xV9BfkfDyZLAAAAAElFTkSuQmCC\n"
1185 }
1185 }
1186 ],
1186 ],
1187 "prompt_number": 16
1187 "prompt_number": 16
1188 }
1188 }
1189 ],
1189 ],
1190 "metadata": {}
1190 "metadata": {}
1191 }
1191 }
1192 ]
1192 ]
1193 } No newline at end of file
1193 }
@@ -1,275 +1,275 b''
1 {
1 {
2 "metadata": {
2 "metadata": {
3 "name": "Animations_and_Progress"
3 "name": "Animations_and_Progress"
4 },
4 },
5 "nbformat": 3,
5 "nbformat": 3,
6 "nbformat_minor": 0,
6 "nbformat_minor": 0,
7 "worksheets": [
7 "worksheets": [
8 {
8 {
9 "cells": [
9 "cells": [
10 {
10 {
11 "cell_type": "heading",
11 "cell_type": "heading",
12 "level": 1,
12 "level": 1,
13 "metadata": {},
13 "metadata": {},
14 "source": [
14 "source": [
15 "Simple animations, progress bars, and clearing output"
15 "Simple animations, progress bars, and clearing output"
16 ]
16 ]
17 },
17 },
18 {
18 {
19 "cell_type": "markdown",
19 "cell_type": "markdown",
20 "metadata": {},
20 "metadata": {},
21 "source": [
21 "source": [
22 "Sometimes you want to print progress in-place, but don't want\n",
22 "Sometimes you want to print progress in-place, but don't want\n",
23 "to keep growing the output area. In terminals, there is the carriage-return\n",
23 "to keep growing the output area. In terminals, there is the carriage-return\n",
24 "(`'\\r'`) for overwriting a single line, but the notebook frontend does not support this\n",
24 "(`'\\r'`) for overwriting a single line, but the notebook frontend does not support this\n",
25 "behavior (yet).\n",
25 "behavior (yet).\n",
26 "\n",
26 "\n",
27 "What the notebook *does* support is explicit `clear_output`, and you can use this to replace previous\n",
27 "What the notebook *does* support is explicit `clear_output`, and you can use this to replace previous\n",
28 "output (specifying stdout/stderr or the special IPython display outputs)."
28 "output (specifying stdout/stderr or the special IPython display outputs)."
29 ]
29 ]
30 },
30 },
31 {
31 {
32 "cell_type": "markdown",
32 "cell_type": "markdown",
33 "metadata": {},
33 "metadata": {},
34 "source": [
34 "source": [
35 "A simple example printing our progress iterating through a list:"
35 "A simple example printing our progress iterating through a list:"
36 ]
36 ]
37 },
37 },
38 {
38 {
39 "cell_type": "code",
39 "cell_type": "code",
40 "collapsed": true,
40 "collapsed": true,
41 "input": [
41 "input": [
42 "import sys\n",
42 "import sys\n",
43 "import time"
43 "import time"
44 ],
44 ],
45 "language": "python",
45 "language": "python",
46 "metadata": {},
46 "metadata": {},
47 "outputs": []
47 "outputs": []
48 },
48 },
49 {
49 {
50 "cell_type": "code",
50 "cell_type": "code",
51 "collapsed": false,
51 "collapsed": false,
52 "input": [
52 "input": [
53 "from IPython.core.display import clear_output\n",
53 "from IPython.display import clear_output\n",
54 "for i in range(10):\n",
54 "for i in range(10):\n",
55 " time.sleep(0.25)\n",
55 " time.sleep(0.25)\n",
56 " clear_output()\n",
56 " clear_output()\n",
57 " print i\n",
57 " print i\n",
58 " sys.stdout.flush()"
58 " sys.stdout.flush()"
59 ],
59 ],
60 "language": "python",
60 "language": "python",
61 "metadata": {},
61 "metadata": {},
62 "outputs": []
62 "outputs": []
63 },
63 },
64 {
64 {
65 "cell_type": "markdown",
65 "cell_type": "markdown",
66 "metadata": {},
66 "metadata": {},
67 "source": [
67 "source": [
68 "The AsyncResult object has a special `wait_interactive()` method, which prints its progress interactively,\n",
68 "The AsyncResult object has a special `wait_interactive()` method, which prints its progress interactively,\n",
69 "so you can watch as your parallel computation completes.\n",
69 "so you can watch as your parallel computation completes.\n",
70 "\n",
70 "\n",
71 "**This example assumes you have an IPython cluster running, which you can start from the [cluster panel](/#tab2)**"
71 "**This example assumes you have an IPython cluster running, which you can start from the [cluster panel](/#tab2)**"
72 ]
72 ]
73 },
73 },
74 {
74 {
75 "cell_type": "code",
75 "cell_type": "code",
76 "collapsed": false,
76 "collapsed": false,
77 "input": [
77 "input": [
78 "from IPython import parallel\n",
78 "from IPython import parallel\n",
79 "rc = parallel.Client()\n",
79 "rc = parallel.Client()\n",
80 "view = rc.load_balanced_view()\n",
80 "view = rc.load_balanced_view()\n",
81 "\n",
81 "\n",
82 "amr = view.map_async(time.sleep, [0.5]*100)\n",
82 "amr = view.map_async(time.sleep, [0.5]*100)\n",
83 "\n",
83 "\n",
84 "amr.wait_interactive()"
84 "amr.wait_interactive()"
85 ],
85 ],
86 "language": "python",
86 "language": "python",
87 "metadata": {},
87 "metadata": {},
88 "outputs": []
88 "outputs": []
89 },
89 },
90 {
90 {
91 "cell_type": "markdown",
91 "cell_type": "markdown",
92 "metadata": {},
92 "metadata": {},
93 "source": [
93 "source": [
94 "You can also use `clear_output()` to clear figures and plots.\n",
94 "You can also use `clear_output()` to clear figures and plots.\n",
95 "\n",
95 "\n",
96 "This time, we need to make sure we are using inline pylab (**requires matplotlib**)"
96 "This time, we need to make sure we are using inline pylab (**requires matplotlib**)"
97 ]
97 ]
98 },
98 },
99 {
99 {
100 "cell_type": "code",
100 "cell_type": "code",
101 "collapsed": false,
101 "collapsed": false,
102 "input": [
102 "input": [
103 "%pylab inline"
103 "%pylab inline"
104 ],
104 ],
105 "language": "python",
105 "language": "python",
106 "metadata": {},
106 "metadata": {},
107 "outputs": []
107 "outputs": []
108 },
108 },
109 {
109 {
110 "cell_type": "code",
110 "cell_type": "code",
111 "collapsed": false,
111 "collapsed": false,
112 "input": [
112 "input": [
113 "from scipy.special import jn\n",
113 "from scipy.special import jn\n",
114 "x = np.linspace(0,5)\n",
114 "x = np.linspace(0,5)\n",
115 "f, ax = plt.subplots()\n",
115 "f, ax = plt.subplots()\n",
116 "ax.set_title(\"Bessel functions\")\n",
116 "ax.set_title(\"Bessel functions\")\n",
117 "\n",
117 "\n",
118 "for n in range(1,10):\n",
118 "for n in range(1,10):\n",
119 " time.sleep(1)\n",
119 " time.sleep(1)\n",
120 " ax.plot(x, jn(x,n))\n",
120 " ax.plot(x, jn(x,n))\n",
121 " clear_output()\n",
121 " clear_output()\n",
122 " display(f)\n",
122 " display(f)\n",
123 "\n",
123 "\n",
124 "# close the figure at the end, so we don't get a duplicate\n",
124 "# close the figure at the end, so we don't get a duplicate\n",
125 "# of the last plot\n",
125 "# of the last plot\n",
126 "plt.close()"
126 "plt.close()"
127 ],
127 ],
128 "language": "python",
128 "language": "python",
129 "metadata": {},
129 "metadata": {},
130 "outputs": []
130 "outputs": []
131 },
131 },
132 {
132 {
133 "cell_type": "heading",
133 "cell_type": "heading",
134 "level": 2,
134 "level": 2,
135 "metadata": {},
135 "metadata": {},
136 "source": [
136 "source": [
137 "A Javascript Progress Bar"
137 "A Javascript Progress Bar"
138 ]
138 ]
139 },
139 },
140 {
140 {
141 "cell_type": "markdown",
141 "cell_type": "markdown",
142 "metadata": {},
142 "metadata": {},
143 "source": [
143 "source": [
144 "`clear_output()` is still something of a hack, and if you want to do a progress bar in the notebook\n",
144 "`clear_output()` is still something of a hack, and if you want to do a progress bar in the notebook\n",
145 "it is better to just use Javascript/HTML if you can.\n",
145 "it is better to just use Javascript/HTML if you can.\n",
146 "\n",
146 "\n",
147 "Here is a simple progress bar using HTML/Javascript:"
147 "Here is a simple progress bar using HTML/Javascript:"
148 ]
148 ]
149 },
149 },
150 {
150 {
151 "cell_type": "code",
151 "cell_type": "code",
152 "collapsed": false,
152 "collapsed": false,
153 "input": [
153 "input": [
154 "import uuid\n",
154 "import uuid\n",
155 "from IPython.core.display import HTML, Javascript, display\n",
155 "from IPython.display import HTML, Javascript, display\n",
156 "\n",
156 "\n",
157 "divid = str(uuid.uuid4())\n",
157 "divid = str(uuid.uuid4())\n",
158 "\n",
158 "\n",
159 "pb = HTML(\n",
159 "pb = HTML(\n",
160 "\"\"\"\n",
160 "\"\"\"\n",
161 "<div style=\"border: 1px solid black; width:500px\">\n",
161 "<div style=\"border: 1px solid black; width:500px\">\n",
162 " <div id=\"%s\" style=\"background-color:blue; width:0%%\">&nbsp;</div>\n",
162 " <div id=\"%s\" style=\"background-color:blue; width:0%%\">&nbsp;</div>\n",
163 "</div> \n",
163 "</div> \n",
164 "\"\"\" % divid)\n",
164 "\"\"\" % divid)\n",
165 "display(pb)\n",
165 "display(pb)\n",
166 "for i in range(1,101):\n",
166 "for i in range(1,101):\n",
167 " time.sleep(0.1)\n",
167 " time.sleep(0.1)\n",
168 " \n",
168 " \n",
169 " display(Javascript(\"$('div#%s').width('%i%%')\" % (divid, i)))"
169 " display(Javascript(\"$('div#%s').width('%i%%')\" % (divid, i)))"
170 ],
170 ],
171 "language": "python",
171 "language": "python",
172 "metadata": {},
172 "metadata": {},
173 "outputs": []
173 "outputs": []
174 },
174 },
175 {
175 {
176 "cell_type": "markdown",
176 "cell_type": "markdown",
177 "metadata": {},
177 "metadata": {},
178 "source": [
178 "source": [
179 "The above simply makes a div that is a box, and a blue div inside it with a unique ID \n",
179 "The above simply makes a div that is a box, and a blue div inside it with a unique ID \n",
180 "(so that the javascript won't collide with other similar progress bars on the same page). \n",
180 "(so that the javascript won't collide with other similar progress bars on the same page). \n",
181 "\n",
181 "\n",
182 "Then, at every progress point, we run a simple jQuery call to resize the blue box to\n",
182 "Then, at every progress point, we run a simple jQuery call to resize the blue box to\n",
183 "the appropriate fraction of the width of its containing box, and voil\u00e0 a nice\n",
183 "the appropriate fraction of the width of its containing box, and voil\u00e0 a nice\n",
184 "HTML/Javascript progress bar!"
184 "HTML/Javascript progress bar!"
185 ]
185 ]
186 },
186 },
187 {
187 {
188 "cell_type": "heading",
188 "cell_type": "heading",
189 "level": 2,
189 "level": 2,
190 "metadata": {},
190 "metadata": {},
191 "source": [
191 "source": [
192 "ProgressBar class"
192 "ProgressBar class"
193 ]
193 ]
194 },
194 },
195 {
195 {
196 "cell_type": "markdown",
196 "cell_type": "markdown",
197 "metadata": {},
197 "metadata": {},
198 "source": [
198 "source": [
199 "And finally, here is a progress bar *class* extracted from [PyMC](http://code.google.com/p/pymc/), which will work in regular Python as well as in the IPython Notebook"
199 "And finally, here is a progress bar *class* extracted from [PyMC](http://code.google.com/p/pymc/), which will work in regular Python as well as in the IPython Notebook"
200 ]
200 ]
201 },
201 },
202 {
202 {
203 "cell_type": "code",
203 "cell_type": "code",
204 "collapsed": true,
204 "collapsed": true,
205 "input": [
205 "input": [
206 "import sys, time\n",
206 "import sys, time\n",
207 "try:\n",
207 "try:\n",
208 " from IPython.core.display import clear_output\n",
208 " from IPython.display import clear_output\n",
209 " have_ipython = True\n",
209 " have_ipython = True\n",
210 "except ImportError:\n",
210 "except ImportError:\n",
211 " have_ipython = False\n",
211 " have_ipython = False\n",
212 "\n",
212 "\n",
213 "class ProgressBar:\n",
213 "class ProgressBar:\n",
214 " def __init__(self, iterations):\n",
214 " def __init__(self, iterations):\n",
215 " self.iterations = iterations\n",
215 " self.iterations = iterations\n",
216 " self.prog_bar = '[]'\n",
216 " self.prog_bar = '[]'\n",
217 " self.fill_char = '*'\n",
217 " self.fill_char = '*'\n",
218 " self.width = 40\n",
218 " self.width = 40\n",
219 " self.__update_amount(0)\n",
219 " self.__update_amount(0)\n",
220 " if have_ipython:\n",
220 " if have_ipython:\n",
221 " self.animate = self.animate_ipython\n",
221 " self.animate = self.animate_ipython\n",
222 " else:\n",
222 " else:\n",
223 " self.animate = self.animate_noipython\n",
223 " self.animate = self.animate_noipython\n",
224 "\n",
224 "\n",
225 " def animate_ipython(self, iter):\n",
225 " def animate_ipython(self, iter):\n",
226 " print '\\r', self,\n",
226 " print '\\r', self,\n",
227 " sys.stdout.flush()\n",
227 " sys.stdout.flush()\n",
228 " self.update_iteration(iter + 1)\n",
228 " self.update_iteration(iter + 1)\n",
229 "\n",
229 "\n",
230 " def update_iteration(self, elapsed_iter):\n",
230 " def update_iteration(self, elapsed_iter):\n",
231 " self.__update_amount((elapsed_iter / float(self.iterations)) * 100.0)\n",
231 " self.__update_amount((elapsed_iter / float(self.iterations)) * 100.0)\n",
232 " self.prog_bar += ' %d of %s complete' % (elapsed_iter, self.iterations)\n",
232 " self.prog_bar += ' %d of %s complete' % (elapsed_iter, self.iterations)\n",
233 "\n",
233 "\n",
234 " def __update_amount(self, new_amount):\n",
234 " def __update_amount(self, new_amount):\n",
235 " percent_done = int(round((new_amount / 100.0) * 100.0))\n",
235 " percent_done = int(round((new_amount / 100.0) * 100.0))\n",
236 " all_full = self.width - 2\n",
236 " all_full = self.width - 2\n",
237 " num_hashes = int(round((percent_done / 100.0) * all_full))\n",
237 " num_hashes = int(round((percent_done / 100.0) * all_full))\n",
238 " self.prog_bar = '[' + self.fill_char * num_hashes + ' ' * (all_full - num_hashes) + ']'\n",
238 " self.prog_bar = '[' + self.fill_char * num_hashes + ' ' * (all_full - num_hashes) + ']'\n",
239 " pct_place = (len(self.prog_bar) // 2) - len(str(percent_done))\n",
239 " pct_place = (len(self.prog_bar) // 2) - len(str(percent_done))\n",
240 " pct_string = '%d%%' % percent_done\n",
240 " pct_string = '%d%%' % percent_done\n",
241 " self.prog_bar = self.prog_bar[0:pct_place] + \\\n",
241 " self.prog_bar = self.prog_bar[0:pct_place] + \\\n",
242 " (pct_string + self.prog_bar[pct_place + len(pct_string):])\n",
242 " (pct_string + self.prog_bar[pct_place + len(pct_string):])\n",
243 "\n",
243 "\n",
244 " def __str__(self):\n",
244 " def __str__(self):\n",
245 " return str(self.prog_bar)"
245 " return str(self.prog_bar)"
246 ],
246 ],
247 "language": "python",
247 "language": "python",
248 "metadata": {},
248 "metadata": {},
249 "outputs": []
249 "outputs": []
250 },
250 },
251 {
251 {
252 "cell_type": "code",
252 "cell_type": "code",
253 "collapsed": false,
253 "collapsed": false,
254 "input": [
254 "input": [
255 "p = ProgressBar(1000)\n",
255 "p = ProgressBar(1000)\n",
256 "for i in range(1001):\n",
256 "for i in range(1001):\n",
257 " p.animate(i)"
257 " p.animate(i)"
258 ],
258 ],
259 "language": "python",
259 "language": "python",
260 "metadata": {},
260 "metadata": {},
261 "outputs": []
261 "outputs": []
262 },
262 },
263 {
263 {
264 "cell_type": "code",
264 "cell_type": "code",
265 "collapsed": false,
265 "collapsed": false,
266 "input": [],
266 "input": [],
267 "language": "python",
267 "language": "python",
268 "metadata": {},
268 "metadata": {},
269 "outputs": []
269 "outputs": []
270 }
270 }
271 ],
271 ],
272 "metadata": {}
272 "metadata": {}
273 }
273 }
274 ]
274 ]
275 } No newline at end of file
275 }
General Comments 0
You need to be logged in to leave comments. Login now