long_term_pyomo-nonlinear.ipynb 57 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyomo.environ import ConcreteModel, Var, Objective, NonNegativeReals, Constraint, Suffix, exp\n",
    "from pyomo.opt import SolverFactory\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('bmh')\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coal</th>\n",
       "      <th>nuclear</th>\n",
       "      <th>CSP</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>LCOE</th>\n",
       "      <td>50.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>150.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>emissions</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>base LCOE</th>\n",
       "      <td>50.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>35.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>volume</th>\n",
       "      <td>1000000.0</td>\n",
       "      <td>1000000.0</td>\n",
       "      <td>200.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                coal    nuclear    CSP\n",
       "LCOE            50.0      100.0  150.0\n",
       "emissions        1.0        0.0    0.0\n",
       "base LCOE       50.0      100.0   35.0\n",
       "volume     1000000.0  1000000.0  200.0"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "techs = [\"coal\",\"nuclear\",\"CSP\"]\n",
    "colors = [\"#707070\",\"#ff9000\",\"#f9d002\"]\n",
    "parameters = pd.DataFrame(data=[[50.,100.,150.],  # LCOE EUR/MWh_el\n",
    "                                [1.,0.,0.],    # emissions tCO2/MWh_el\n",
    "                                [50.,100.,35.],  # LCOE long-term potential EUR/MWh_el\n",
    "                                [1e6,1e6,200]],  # Volume in GW until (today - base) LCOE reduces by 1/e\n",
    "                          index=[\"LCOE\",\"emissions\",\"base LCOE\",\"volume\"],\n",
    "                          columns=techs)\n",
    "parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#discount rate\n",
    "rate = 0.05\n",
    "\n",
    "#demand in GW\n",
    "demand = 100.\n",
    "\n",
    "years = list(range(2021,2050))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = ConcreteModel(\"discounted total costs\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.generators = Var(techs, years, within=NonNegativeReals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.costs = Var(techs, years, within=NonNegativeReals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def balance_constraint(model, year):\n",
    "    return demand == sum(model.generators[tech,year] for tech in techs)\n",
    "model.balance_constraint = Constraint(years, rule=balance_constraint)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def co2_constraint(model):\n",
    "    return 0.2*30*demand >= sum(model.generators[tech,year]*parameters.at[\"emissions\",tech] for tech in techs for year in years)\n",
    "model.co2_constraint = Constraint(rule=co2_constraint)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def cost_constraint(model,tech,year):\n",
    "    if tech != \"CSP\":\n",
    "        return model.costs[tech,year] == parameters.at[\"LCOE\",tech]\n",
    "    else:\n",
    "        #return model.costs[tech,year] == parameters.at[\"base LCOE\",tech] \\\n",
    "        #                           + (parameters.at[\"LCOE\",tech] - parameters.at[\"base LCOE\",tech])*exp(-sum(model.generators[tech,yeart] for yeart in years if yeart < year)/parameters.at[\"volume\",tech])\n",
    "        return model.costs[tech,year] == parameters.at[\"LCOE\",tech]*(1+sum(model.generators[tech,yeart] for yeart in years if yeart < year))**(-0.4)\n",
    "model.cost_constraint = Constraint(techs, years, rule=cost_constraint)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# in billion EUR\n",
    "model.objective = Objective(expr=sum(model.generators[tech,year]*model.costs[tech,year]*8760/1e6/(1+rate)**(year-2021)\n",
    "                                     for year in years\n",
    "                                     for tech in techs))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "opt = SolverFactory(\"ipopt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "results = opt.solve(model,suffixes=[\"dual\"],keepfiles=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "230.3039488909157\n"
     ]
    }
   ],
   "source": [
    "print(model.objective())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1270.2\n"
     ]
    }
   ],
   "source": [
    "print(8760*demand*parameters.at[\"LCOE\",\"coal\"]*len(years)/1e6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "capacities = pd.DataFrame(0.,index=years,columns=techs)\n",
    "for year in years:\n",
    "    for tech in techs:\n",
    "        capacities.at[year,tech] = model.generators[tech,year].value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'capacity [GW]')"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAFzCAYAAACQKhUCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3ycZZn/8e81k8lk0vSUnugBChbkVFmqVIHKqYjgooLsoihKF/H0+ykeUBdQFxTdn65HRNEVBayLK7LgWkCXitRSDxWrFLUILlQttIS2NC3tZM4z1++PuScNJWkmydy5r5nn+369+moyk0yu4WN27z7zzHOLqoKIiIiIwomFHoCIiIgo6rggIyIiIgqMCzIiIiKiwLggIyIiIgqMCzIiIiKiwLggIyIiIgqsLfQAY7F69WpNJpOhx2haqgoRCT0GgS2sYQ872MIW9hibTCbzzOmnnz5jsPuaekGWTCZxxBFHhB6jaT3zzDOYPn166DEIbGENe9jBFrawx9g8+OCDm4a6jy9ZRlhfX1/oEchhC1vYww62sIU9/OGCLMIOOOCA0COQwxa2sIcdbGELe/jDBVmEPf3006FHIIctbGEPO9jCFvbwhwuyCEskEqFHIIctbGEPO9jCFvbwhwuyCJs8eXLoEchhC1vYww62sIU9/OGCLMKeeeaZ0COQwxa2sIcdbGELe/jDBVmE8V86drCFLexhB1vYwh7+cEEWYYVCIfQI5LCFLexhB1vYwh7+cEEWYdlsNvQI5LCFLexhB1vYwh7+cEEWYbyejB1sYQt72MEWtrCHP+OyIBORm0Rkm4hsGHBbt4jcKyKPub+nDrjvShF5XET+LCJnjseMUcTrydjBFrawhx1sYQt7+DNeR8i+DeCsfW67AsB9qnoYgPvc5xCRowBcAOBo9z1fE5H4OM0ZKe3t7aFHIIctbGEPO9jCFvbwZ1wWZKq6BkDvPjefA2C5+3g5gHMH3H6rquZV9a8AHgfw0vGYM2omTpwYegRy2MIW9rCDLWxhD3/aAv7sWaraAwCq2iMiM93tcwH8esDXbXa3PU+s8BAmPPFyv1O2sAnA85fJFARb2MIedrCFLewxVvfIUPdYPKl/sGF13KcgIiIiaqCOWM/BQ90XckG2VURmA4D7e5u7fTOAAwd83TwATw32AIqk1wFb3Zb00tAjkMMWtrCHHWxhC3uMmckjZHcCWOY+XgZgxYDbLxCRpIgcAuAwAL8JMF/Ly5ZmDv9FNC7Ywhb2sIMtbGEPf8blHDIR+R6AUwFMF5HNAK4G8BkAt4nIJQCeAHA+AKjqwyJyG4A/ASgBeLeqlsdjzqiZ17Uy9AjksIUt7GEHW9jCHv6M17ss36iqs1U1oarzVPVGVd2hqqer6mHu794BX/+vqrpAVQ9X1f8ZjxmjaHOal3izgi1sYQ872MIW9vDH4kn9NE5SbduG/yIaF2xhC3vYwRa2sIc/XJBFWGdiS+gRyGELW9jDDrawhT384YIswnZkF4UegRy2sIU97GALW9jDHy7IImxG57rQI5DDFrawhx1sYQt7+MMFWYTtzi8IPQI5bGELe9jBFrawhz9ckEVYvtwdegRy2MIW9rCDLWxhD3+4IIswXk/GDrawhT3sYAtb2MMfLsgijNeTsYMtbGEPO9jCFvbwhwuyCOtMDLpFKAXAFrawhx1sYQt7+MMFWYR1xHuH/yIaF2xhC3vYwRa2sIc/XJBFWG9uYegRyGELW9jDDrawhT384YIswmZ1rg09AjlsYQt72MEWtrCHP1yQRVhvnv/SsYItbGEPO9jCFvbwhwuyCCuWJ4YegRy2sIU97GALW9jDHy7IIozXk7GDLWxhDzvYwhb28IcLsgjj9WTsYAtb2MMOtrCFPfzhgizCuto3hR6BHLawhT3sYAtb2MMfLsgirE2yoUcghy1sYQ872MIW9vCHC7II25U/IvQI5LCFLexhB1vYwh7+cEEWYbMnrAk9AjlsYQt72MEWtrCHP1yQRdj27OLQI5DDFrawhx1sYQt7+MMFWYRVNBF6BHLYwhb2sIMtbGEPf7ggizAeeraDLWxhDzvYwhb28IcLsgjbkl4aegRy2MIW9rCDLWxhD3+4IIuwSe0bQ49ADlvYwh52sIUt7OEPF2REREREgXFBFmG7CwtCj0AOW9jCHnawhS3s4Q8XZBE2t2tV6BHIYQtb2MMOtrCFPfzhgizCevpODj0COWxhC3vYwRa2sIc/XJBFWEyKoUcghy1sYQ872MIW9vCHC7IIm5FaF3oEctjCFvawgy1sYQ9/uCCLMB56toMtbGEPO9jCFvbwhwuyCJuSfDT0COSwhS3sYQdb2MIe/nBBFmElTYUegRy2sIU97GALW9jDHy7IIixdmB96BHLYwhb2sIMtbGEPf7ggi7B5XStDj0AOW9jCHnawhS3s4Q8XZBG2OX1m6BHIYQtb2MMOtrCFPfzhgizCEvE9oUcghy1sYQ872MIW9vCHC7II605uCD0COWxhC3vYwRa2sIc/XJBF2NbMCaFHIIctbGEPO9jCFvbwhwuyCOvu4L90rGALW9jDDrawhT384YIswnLl7tAjkMMWtrCHHWxhC3v4wwVZhGWKc0KPQA5b2MIedrCFLezhDxdkEcbrydjBFrawhx1sYQt7+MMFWYTxejJ2sIUt7GEHW9jCHv5wQRZhyXhv6BHIYQtb2MMOtrCFPfzhgizCJiU3hh6BHLawhT3sYAtb2MMfLsgibHtmcegRyGELW9jDDrawhT384YIswqal1ocegRy2sIU97GALW9jDHy7IIixTnBt6BHLYwhb2sIMtbGEPf7ggi7BsaWboEchhC1vYww62sIU9/OGCLMJ4PRk72MIW9rCDLWxhD3+4IIswXk/GDrawhT3sYAtb2MOf4AsyEfmAiDwsIhtE5Hsi0iEi3SJyr4g85v6eOtj3FrMy3uO2lFTbttAjkMMWtrCHHWxhC3v4E3RBJiJzAbwXwHGquhBAHMAFAK4AcJ+qHgbgPvf588SLxfEatSV1JraEHoEctrCFPexgC1vYw5/gR8gAtAFIiUgbgE4ATwE4B8Byd/9yAOcO9o2CyrgM2Kp2ZBeFHoEctrCFPexgC1vYw5+gCzJV3QLg8wCeANAD4FlV/QmAWara476mB8Cgb+uIQaEVHa9xW86MznWhRyCHLWxhDzvYwhb28Kct5A9354adA+AQALsA/JeIvLn+71ecdvF0ZPLPoqwp/MOrD8dlb9yIzekz0dW+CW2Sxa78EZg9YQ22ZxejognMnrAGW9JLMam9uv3D7sICzO1ahZ6+kxGTImak1qGn72RMST6KkqaQLszHvK6V2Jw+E4n4HnQnN2Br5gR0d2xArtyNTHFO//3JeC8mJTdie2YxpqXWI1Oci2xpZv/9qbZt6ExswY7sIszoXIfd+QXIl7v77+9MPIWOeC96cwsxq3MtevMLUSxP7L+/0c/p8V0XYHrqoZZ6Ts3aaXfhEBw25bst9ZyaudPjuy7AgV0/aann1Kyd8uUpKHZObKnn1Myd/rr7HLxwyi0t9ZzGs9N+1zSq4Y4wicj5AM5S1Uvc5xcBOB7A6QBOVdUeEZkNYLWqHr7v9//m7q/pwakrMGV637jO3Soe33UBDp1ya+gxCGxhDXvYwRa2sMfYrOu9eeeS0y7qHuy+0OeQPQHgeBHpFBFBdSH2CIA7ASxzX7MMwIqhHiDf1+59yFbF68nYwRa2sIcdbGELe/gT+hyyBwDcDuBBAH9089wA4DMAzhCRxwCc4T4fVDGbGIdJWxOvJ2MHW9jCHnawhS3s4U/Qc8gAQFWvBnD1PjfnUT1aNqxyLvRBvubVmXgq9AjksIUt7GEHW9jCHv40/WpGC7w47Gh1xHtDj0AOW9jCHnawhS3s4U/TL8hQ5IJstHpzC0OPQA5b2MIedrCFLezhT9MvyGIlXodstGZ1rg09AjlsYQt72MEWtrCHP02/IGsrl0OP0LR68/yXjhVsYQt72MEWtrCHP02/IGtX7mc5WsXyxNAjkMMWtrCHHWxhC3v40/QLsiS4IBstXk/GDrawhT3sYAtb2MOfpl+QpSQfeoSmxevJ2MEWtrCHHWxhC3v409wLMhV0xvLgaWSj09W+KfQI5LCFLexhB1vYwh7+NPWCrILqJS+yfR2BJ2lObZINPQI5bGELe9jBFrawhz9NvSAru/G5n+Xo7MofEXoEctjCFvawgy1sYQ9/mnpBVtHq+AXuZzkqsyesCT0COWxhC3vYwRa2sIc/zb0gc+OXssG35GxK27OLQ49ADlvYwh52sIUt7OFPSyzIKvmmfhrBVJRHFq1gC1vYww62sIU9/GnqlUztJUtuMD46PPRsB1vYwh52sIUt7OFPcy/I3PhS5H6Wo7ElvTT0COSwhS3sYQdb2MIe/rTEgixW5oJsNCa1bww9AjlsYQt72MEWtrCHPy2xIEuUS4EnISIiIhq9Jl+QxQEASW4wPiq7CwtCj0AOW9jCHnawhS3s4U+TL8iq43dIIfAkzWlu16rQI5DDFrawhx1sYQt7+NPUCzJ1R8g6JQet8DyykerpOzn0COSwhS3sYQdb2MIe/jT5gkxQqMSRiJVRLPDisCMVE77UawVb2MIedrCFLezhT1MvyACgr5ICwA3GR2NGal3oEchhC1vYww62sIU9/Gn+BVm5uiDLZ7jB+Ejx0LMdbGELe9jBFrawhz/NvyBzR8iKGb5kOVJTko+GHoEctrCFPexgC1vYw5+mX5Cl3RGycj4eeJLmU9JU6BHIYQtb2MMOtrCFPfxp+gVZ7QhZJc/9LEcqXZgfegRy2MIW9rCDLWxhD3+afkFWO0KGIhdkIzWva2XoEchhC1vYww62sIU9/Gn6BVntCFmsxOuQjdTm9JmhRyCHLWxhDzvYwhb28Kf5F2TuCFlbuRx4kuaTiO8JPQI5bGELe9jBFrawhz9NvyBLV6rXH0tUuMH4SHUnN4QegRy2sIU97GALW9jDn6ZfkPWVOwEASfDqwSO1NXNC6BHIYQtb2MMOtrCFPfxp+gVZulw9QpZCPvAkzae7g//SsYItbGEPO9jCFvbwp+kXZBn3kmUqlkeFp5GNSK7cHXoEctjCFvawgy1sYQ9/mn5BVkEcfeUkYqLIZZKhx2kqmeKc0COQwxa2sIcdbGELe/jT9AsyYO+lL3J9XJCNBK8nYwdb2MIedrCFLezhT2ssyNylLwpZ7mc5EryejB1sYQt72MEWtrCHPy2xIEu7I2QlLshGJBnvDT0COWxhC3vYwRa2sIc/LbEg6+MG46MyKbkx9AjksIUt7GEHW9jCHv60xoLMvdNSC9zPciS2ZxaHHoEctrCFPexgC1vYw58hX+MTkbfW+RglVf1Og+YZlbS7OKwUuZ/lSExLrQ89AjlsYQt72MEWtrCHP/s76eoGAD+v4zEWAwi6IKsdIeMG4yOTKc7F1OSfQ49BYAtr2MMOtrCFPfzZ34Isq6qnDfcAIrKzgfOMCjcYH51saWboEchhC1vYww62sIU9/NnfOWQvrvMxgr+gnHYLsqRyP8uR4PVk7GALW9jDDrawhT38GXJBpqqPiciwS2FVfbyxI41c7cKwSSkEnqS58HoydrCFLexhB1vYwh7+DHfhrqdF5H8BrHF/7lfVJ/2PNTK1I2Sdwg3GRyLVti30COSwhS3sYQdb2MIe/gx32Yt5AD4OoAjgcgB/E5G/ishyEblERA7zPWA98tqOksaQjBVRLLTElTzGRWdiS+gRyGELW9jDDrawhT382e/qRVWfUtVbVfXdqvoiANMBvA/AdgD/CuDRcZixDtJ/Yn+2ryPwLM1jR3ZR6BHIYQtb2MMOtrCFPfype68hEfk7ACcDOAXAEgDbANzhaa4RS1dSmIw+FPoSwNTQ0zSHGZ3rQo9ADlvYwh52sIUt7OHPfo+QiciHROQuEekB8FUAcwDcDOBIVT1GVd89HkPWo3aELJ9NBJ6keezOLwg9AjlsYQt72MEWtrCHP8MdIfssgEcAXAXgXlX9m/eJRql2cdhyjhuM1ytf7g49AjlsYQt72MEWtrCHP8OtXuah+jLlSQDeKyKTAfwC1Sv4/1xVN3ier2617ZMq3M+ybryejB1sYQt72MEWtrCHPyM9qf/vANwKYAGAe0Vkx3gMWY/aETLwUmR14/Vk7GALW9jDDrawhT38Gc1J/bU/UwD8ztNcI1Y7hyzGi/XXrTPxVOgRyGELW9jDDrawhT38qfek/l4AawGcB+BPAN4EYIqqnjjWAURkiojcLiKPisgjInKCiHSLyL0i8pj7e9j3TdYuDhsvV8Y6UmR0xHtDj0AOW9jCHnawhS3s4c9wV1F9BaoLsdeiugA7TVWvVtX7VDXboBm+DOAeVT0C1ZdEHwFwBYD7VPUwAPe5z/ertn1SolJq0Fitrze3MPQI5LCFLexhB1vYwh7+7PclS1U9y+cPF5FJqL78+U/u5xUAFETkHACnui9bDmA1qjsFDKn2kmUSfM2yXrM614YegRy2sIU97GALW9jDn+FesnyhiLx7wOf3iMiqAX8OH+PPfwGqV/2/WUTWi8i3RGQCgFmq2gMA7u9hNzlPuyNkHeB+lvXqzfNfOlawhS3sYQdb2MIe/gx3Uv8VAO4f8PmJAD7gPj7W3X/xGH/+iwFcqqoPiMiXUcfLkzXZbBZ33HEHisUiulIJfOJ9QGcsh0d7L8DEjifQJlnsyh+B2RPWYHt2MSqawOwJa7AlvRST2jcCAHYXFmBu1yr09J2MmBQxI7UOPX0nY0ryUZQ0hXRhPuZ1rcTm9JlIxPegO7kBWzMnoLtjA3LlbmSKc/rvT8Z7MSm5EdszizEttR6Z4lxkSzP770+1bUNnYgt2ZBdhRuc67M4vQL7c3X9/Z+IpdMR70ZtbiFmda9GbX4hieWL//V3tmxr6nLb2nQAALfWcmrVTb+5oTO9Y31LPqZk7be07Aan4tpZ6Ts3aKV2chwltW1rqOTVzp619J6A7uaGlntN4dtofUdWh7xR5HMCLVXW3+3ynqk51H08E8KA7z2tUROQAAL9W1YPd5yehuiA7FMCpqtojIrMBrFbV5x2NW7Fiha5evbr/808f9DV0xAp4dnESqQl86XI4udJUdLTtDD0GgS2sYQ872MIW9hibdb0371xy2kWDXl13uJP6Z9YWY85FtQ9UdQ+AWWMZTFWfBvDkgJc+T0f1XZx3AljmblsGYEU9j1d7p2WuLzmWsSKD15Oxgy1sYQ872MIW9vBnuJcs94jIwbUtk1T1rtodIvICAOkGzHApgO+KSDuAv6D6EmgMwG0icgmAJwCcX88D9VU6MB3PopBpb8BYra+rfVPoEchhC1vYww62sIU9/BluQfYjAJ8E8JZB7vuEu39MVPUhAMcNctfpI32s2vZJRe5nWZc2adSVS2is2MIW9rCDLWxhD3+Ge8nyKgBL3DsgrxKRd4jI1SKyHtX9Lf/F/4j127vBeDzwJM1hV/6I0COQwxa2sIcdbGELe/gz3HXInhaR4wBcBuBVAKYD2AHgxwC+qKpm9rIE9l6LTLmfZV1mT1gTegRy2MIW9rCDLWxhD3+GO0IGVe1V1Y+p6gmqepiqHq+qH7W2GAP2ntSPooQdpElszy4OPQI5bGELe9jBFrawhz9DLshE5JX1PICInNG4ccamtn1SvMT9LOtR0UToEchhC1vYww62sIU9/NnfEbLb63yM7zdikEaovWTZVi4HnqQ58NCzHWxhC3vYwRa2sIc/+1uQdYnIE8P8eRKAmYt+1bZPSig3GK/HlvTS0COQwxa2sIcdbGELe/izv5P6T6vzMcy8Plg7QtYBntVfj9q2DxQeW9jCHnawhS3s4c+QCzJVvX+o+6yqnUOWEm4wTkRERM1j2HdZNpNsJYmyClKxAsolvtNyOLsLC0KPQA5b2MIedrCFLezhT0styBSCjDtKlkmbObXNrLldq0KPQA5b2MIedrCFLezhT0styACgr1y9Wn8+wwXZcHr6Tg49AjlsYQt72MEWtrCHP3UtyETktSLSFBtE1t5pWczyWinDiUkx9AjksIUt7GEHW9jCHv7Ue4TskwB6ROSrIvIynwONVe2dlsUs97MczozUutAjkMMWtrCHHWxhC3v4U9eCTFX/DsArAGQB3CEifxaRj4nIwR5nG5XaOy210HKvxjYcDz3bwRa2sIcdbGELe/hT96pFVX+vqh8GcCCAdwM4H8BGEVkjIheKiIkVULp/g3G+y3I4U5KPhh6BHLawhT3sYAtb2MOfEZ0XJiILALzZ/akAuArAEwDeA+AfAJzX6AFHqvaSpRQ08CT2lTQVegRy2MIW9rCDLWxhD3/qPan/3SLyawAPAJgF4C2qeriq/quq/geA0wHUtRm5b7WT+uNlMxsImJUuzA89AjlsYQt72MEWtrCHP/UeIXsVgC8AWKGqz9uXSFUzIhL86Biw9whZosL9LIczr2tl6BHIYQtb2MMOtrCFPfyp97yv1ar6X/suxkTkstrHqvqThk42SrWT+tvBBdlwNqfPDD0COWxhC3vYwRa2sIc/9S7Irhri9o81apBGSfdvMM79LIeTiO8JPQI5bGELe9jBFrawhz/7fclSRJbWvk5ETgMw8K2LLwBgrkxfpXql/gmxHMoVhcT4bsuhdCc3hB6BHLawhT3sYAtb2MOf4c4hu9H9nQRw04DbFcDTAC71MdRYFDWBfKUNyVgJ2Xw7kim+dDmUrZkTMLF9U+gxCGxhDXvYwRa2sIc/+12QqeohACAi31HVi8ZnpLHrq6SQjO1Bri/JBdl+dHfwXzpWsIUt7GEHW9jCHv7Ue6X+plmMAXvfaZnvaw88iW25cnfoEchhC1vYww62sIU9/BnyCJmIPKKqR7qPn0T1ZcrnUdWDPM02av0bjOeaYj/0YDLFOaFHIIctbGEPO9jCFvbwZ38rlrcP+PjNvgdppNoRslKOG4zvD68nYwdb2MIedrCFLezhz5AvWarqLwZ8fP9Qf8ZnzJGpLcg0b2J7TbN4PRk72MIW9rCDLWxhD3/q3TrpByJy0j63nSQit/sZa2xqL1ny2rD7l4z3hh6BHLawhT3sYAtb2MOfeg8hnQLgV/vcthbAaY0dpzFqR8hiRW4wvj+TkhtDj0AOW9jCHnawhS3s4U+9C7IcgAn73NYFoNjYcRqjdoSsrVwOPIlt2zOLQ49ADlvYwh52sIUt7OFPvQuylQC+ISKTAMD9/VUA9/gabCz6ytWr9bcrX7Pcn2mp9aFHIIctbGEPO9jCFvbwp94F2QcBTALQKyLbAPQCmAzg/b4GG4t0pRMAkERhmK+MtkxxbugRyGELW9jDDrawhT38qetCXaq6E8DZIjIbwDwAT6rq014nG4PaEbKUcIPx/cmWZoYegRy2sIU97GALW9jDnxFdOVVVe0TkaQAiIjF3W8XLZGOQqXSgokCH5JEvxxDn5cgGxevJ2MEWtrCHHWxhC3v4U+9lL+aIyH+LyA5ULyZRHPDHHEUMmUoHYgLk+jpCj2MWrydjB1vYwh52sIUt7OFPveeQfQNAAcDpANIAXgzgTgDv8jTXmPW5d1rmMtzPciiptm2hRyCHLWxhDzvYwhb28KfelyxPBHCQqvaJiKrq70XkElSvTfZNf+ONXl85BSR2opBJhB7FrM7EltAjkMMWtrCHHWxhC3v4U+8RsjL2Xvd+l4jMANAHwOzbLdK1/SyzPIFsKDuyi0KPQA5b2MIedrCFLezhT70LsgcA/L37eCWA7wP4AYDf+hiqEWovWVbyXJANZUbnutAjkMMWtrCHHWxhC3v4U++C7C0AahuJvx/AzwBsAPAmH0M1Qu0ImRYk8CR27c4vCD0COWxhC3vYwRa2sIc/9V6HbNeAj7MAPultogapHSET7mc5pHy5O/QI5LCFLexhB1vYwh7+1HvZi3YRuUZEHhORPvf3J0XE7DUlaheHjZW5IBsKrydjB1vYwh52sIUt7OFPvS9Zfh3AUgDvBbDY/X0KgK95mmvMahuMJ8rcz3IovJ6MHWxhC3vYwRa2sIc/9V724lwACwa8dPknEXkAwOMA3uplsjHqc+eQtdu8dq0JnYmnQo9ADlvYwh52sIUt7OFPvUfIngbQuc9tKQA9jR2ncWrnkHVwg/EhdcR7Q49ADlvYwh52sIUt7OFPvQuy/wBwj4i8XUReJSLvAPBjAN8RkaW1P/7GHLnauyw7ucH4kHpzC0OPQA5b2MIedrCFLezhT70vWb7T/f2RfW5/F/Zun6QAXtCIoRqhoAkUNY72WAnpfALtyXLokcyZ1bk29AjksIUt7GEHW9jCHv7Ue9mLQ3wP0niCvnIKU9rSyKaTaE9mQg9kTm9+ISa2bwo9BoEtrGEPO9jCFvbwp96XLJtS7WXLQpYbjA+mWJ4YegRy2MIW9rCDLWxhD3/qOkImIpMAfBzVS11MB9B/+XtVPcjLZA1QO7GfG4wPjteTsYMtbGEPO9jCFvbwp94jZF8D8GIA1wDoBnApgCcAfMnTXA1RuzhsOcf9LAfD68nYwRa2sIcdbGELe/hT70n9rwRwpKruEJGyqq4Qkd8CuAuGF2XpSvVKHRXuZzmoLp4HYAZb2MIedrCFLezhT71HyGIAnnUfp0VkCqrXIDvUy1QNUjtCBi7IBtUm2dAjkMMWtrCHHWxhC3v4U++C7Peonj8GAD8HcD2q2yn9byOGEJG4iKwXkbvd590icq/bM/NeEZk6msetnUMWK3E/y8Hsyh8RegRy2MIW9rCDLWxhD3/qXZC9HcDf3MfvBZAFMAXARQ2a430AHhnw+RUA7lPVwwDc5z4fsdq7LONlXoNsMLMnrAk9AjlsYQt72MEWtrCHP3UtyFT1L6q60X28XVXfpqpvUNU/jXUAEZkH4GwA3xpw8zkAlruPl6O6l+aI1Y6QtVe4wfhgtmcXhx6BHLawhT3sYAtb2MOfuhZkInKdiJy4z20nisi1DZjhWgD/DKAy4LZZqtoDAO7vmaN54NoRsnblBuODqSgvB2IFW9jCHnawhS3s4U+977J8I4AP7XPb7wD8EMD7R/vDReTVALap6u9E5NSRfn82m8Udd9yBYrGItrY2LFmyBPPnz8fcuXORTqcRL1Uvd5GSPP62+xxUNCVGDO0AAB+ZSURBVIHZE9ZgS3opJrVvBADsLizA3K5V6Ok7GTEpYkZqHXr6TsaU5KMoaQrpwnzM61qJzekzkYjvQXdyA7ZmTkB3xwbkyt3IFOf035+M92JSciO2ZxZjWmo9MsW5yJZm9t+fatuGzsQW7MguwozOddidX4B8ubv//s7EU+iI96I3txCzOteiN78QxfLE/vu72jehTbLYlT8Csyeswfbs4jE9p3x5MjbtObulnlOzdiprEn3FOS31nJq5U748Gdsyi1vqOTVrp/b4LjyTPbalnlMzd8qXJ2NPYX5LPafx7LTfNZHq8Ce8i8g2AAepam7AbZ0AnlDV6cM+wNCP+2kAbwFQAtABYBKAHwBYDOBUVe0RkdkAVqvq4ft+/4oVK3T16tVDPn4MZXzh4K+gooLCKUAsxndbDvT4rgtw6JRbQ49BYAtr2MMOtrCFPcZmXe/NO5ecdlH3YPfVe1L/zwF8SkRiAOD+/ri7fdRU9UpVnaeqBwO4AMAqVX0zgDsBLHNftgzAitE8fgVxZMpJxESRzyTHMmpLqq3uKTy2sIU97GALW9jDn3pfsnwfgLsB9IjIJgAHoXodstd4muszAG4TkUtQ3RHg/NE+UF8lhc54Hrm+JFJdhYYNSERERNQo9b7LcjOqWyedA+BzqL7r8SXu9oZQ1dWq+mr38Q5VPV1VD3N/9472cWsXh81zP8vn2V1YEHoEctjCFvawgy1sYQ9/6j1CBlWtAPi1+9M0atsnlXJ1P9XImNu1KvQI5LCFLexhB1vYwh7+1HsOWdPiBuND6+k7OfQI5LCFLexhB1vYwh7+tP6CzF0cVrmf5fPEhNdns4ItbGEPO9jCFvbwp+UXZLWLw4L/G3qeGal1oUcghy1sYQ872MIW9vCn5RdktSNk8VJlmK+MHh56toMtbGEPO9jCFvbwp/UXZO4IWVuFG4zva0ry0dAjkMMWtrCHHWxhC3v40/ILsnSF+1kOpaSp0COQwxa2sIcdbGELe/jT8guy2hGyDvCisPtKF+aHHoEctrCFPexgC1vYw5+WX5ClK9XLXqQkH3gSe+Z1rQw9AjlsYQt72MEWtrCHPy2/IMtVkihrDB2xIkrFln+6IzLczvM0ftjCFvawgy1sYQ9/IrBCkf6Lw2bT3GB8oER8T+gRyGELW9jDDrawhT38icCCbO/2SblMe+BJbOlObgg9AjlsYQt72MEWtrCHP5FYkNWOkBW5wfhzbM2cEHoEctjCFvawgy1sYQ9/orEgc5e+KHE/y+fo7uC/dKxgC1vYww62sIU9/InEgqy2fZIWIvF065Yrd4cegRy2sIU97GALW9jDn0isULjB+OAyxTmhRyCHLWxhDzvYwhb28CcaCzJ3hEyKGngSW3g9GTvYwhb2sIMtbGEPfyKxIKttnxQvc4PxgXg9GTvYwhb2sIMtbGEPfyKxIKsdIUtUSoEnsSUZ7w09AjlsYQt72MEWtrCHP5FYkNW2T0pyg/HnmJTcGHoEctjCFvawgy1sYQ9/IrEg6ytXLwzbIdxgfKDtmcWhRyCHLWxhDzvYwhb28CcaCzJ3hKwzloNWeGJ/zbTU+tAjkMMWtrCHHWxhC3v4E4kFWUnbkKsk0CYV5HLcPqkmU5wbegRy2MIW9rCDLWxhD38isSAD9p7Yn+/jBuM12dLM0COQwxa2sIcdbGELe/gTmQVZ7dIX+T4eIavh9WTsYAtb2MMOtrCFPfyJzIKsdoSsyP0s+/F6MnawhS3sYQdb2MIe/kRnQeaOkJW5IOuXatsWegRy2MIW9rCDLWxhD38isyDjBuPP15nYEnoEctjCFvawgy1sYQ9/IrM6qR0hA/ez7Lcjuyj0COSwhS3sYQdb2MIe/kRmQVY7QhYrcUFWM6NzXegRyGELW9jDDrawhT38icyCrHZx2AQ3GO+3O78g9AjksIUt7GEHW9jCHv5EZ0Hmtk9KcD/Lfvlyd+gRyGELW9jDDrawhT38icyCLF2uHiHrAPezrOH1ZOxgC1vYww62sIU9/InMgqx2Un9K8oEnsYPXk7GDLWxhDzvYwhb28CcyC7JspQMVFaRiBZRLEnocEzoTT4UegRy2sIU97GALW9jDn8gsyBTSf2J/Ns39LAGgI94begRy2MIW9rCDLWxhD38isyADBmwwnuF+lgDQm1sYegRy2MIW9rCDLWxhD38itSCrbTBeyCYCT2LDrM61oUcghy1sYQ872MIW9vAnUguy2hGyUq4t8CQ29Ob5Lx0r2MIW9rCDLWxhD3+itSBz55CV85F62kMqlieGHoEctrCFPexgC1vYw59IrUzS7uKwKPBdlgCvJ2MJW9jCHnawhS3s4U+kFmS1I2TCDcYB8HoylrCFLexhB1vYwh7+RGtB5s4hi3M/SwBAV/um0COQwxa2sIcdbGELe/gTqQVZ2i3IEuVy4ElsaJNs6BHIYQtb2MMOtrCFPfyJ1IKstn1SOzcYBwDsyh8RegRy2MIW9rCDLWxhD3+itSBzR8g6hBuMA8DsCWtCj0AOW9jCHnawhS3s4U+kFmS1C8N2Sg5a4Yn927OLQ49ADlvYwh52sIUt7OFPpBZkRU2gUGlDIlZGocCr9VeU/w2sYAtb2MMOtrCFPfyJ1IIM2HuULMcNxnno2RC2sIU97GALW9jDn8gtyLjB+F5b0ktDj0AOW9jCHnawhS3s4U/0FmTu4rDFLPeznNS+MfQI5LCFLexhB1vYwh7+RG5BVts+qZyPB56EiIiIqCpyC7LaEbIKNxjH7sKC0COQwxa2sIcdbGELe/gTdFUiIgeKyM9E5BEReVhE3udu7xaRe0XkMff31Eb9zNo5ZOC1YTG3a1XoEchhC1vYww62sIU9/Al9mKgE4IOqeiSA4wG8W0SOAnAFgPtU9TAA97nPG6K2fVKMG4yjp+/k0COQwxa2sIcdbGELe/gTdEGmqj2q+qD7eA+ARwDMBXAOgOXuy5YDOLdRP7O2fVIb97NETHiY0Aq2sIU97GALW9jDn9BHyPqJyMEAFgF4AMAsVe0Bqos2ADMb9XNqL1kmtNSoh2xaM1LrQo9ADlvYwh52sIUt7OGPiWs/iEgXgDsAvF9Vd4tIXd+XzWZxxx13oFgsoq2tDUuWLMH8+fMxd+5cpNNplMtlTJ48GVu3bsW0adMQi8WQ374bAJDUErZlFmN3YQHmdq1CT9/JiEkRM1Lr0NN3MqYkH0VJU0gX5mNe10psTp+JRHwPupMbsDVzAro7NiBX7kamOKf//mS8F5OSG7E9sxjTUuuRKc5FtjSz//5U2zZ0JrZgR3YRZnSuw+78AuTL3f33dyaeQke8F725hZjVuRa9+YUolif239/VvgltksWu/BGYPWENtmcXo6IJzJ6wBlvSS/vfjlzvc3p4x//FrAlrW+o5NWun3tzROLL7my31nJq508M7/i8OnrSipZ5Ts3ZKF+dhXtdPW+o5NXOnx3ddgCO7v9lSz2k8O+13LaQa9lwqEUkAuBvASlX9orvtzwBOVdUeEZkNYLWqHr7v965YsUJXr149op/XFcvgkwfdgL5yBxKnR3uT8Weyx2J66qHQYxDYwhr2sIMtbGGPsVnXe/POJadd1D3YfaHfZSkAbgTwSG0x5twJYJn7eBmAFY36mRl32YtULIdKxE8jK2kq9AjksIUt7GEHW9jCHv6EPodsCYC3AFgqIg+5P38P4DMAzhCRxwCc4T5viApi6Ct3ICZALhPt/SzThfmhRyCHLWxhDzvYwhb28CfoOWSq+gsAQ50wdrqvn9tXSWFCPIdsXzs6J+Z9/Rjz5nWtDD0COWxhC3vYwRa2sIc/oY+QBdFXru1nGe0Nxoc7wZDGD1vYwh52sIUt7OFPJBdkaXctsmI22vtZJuJ7Qo9ADlvYwh52sIUt7OFPJBdktWuRVSK+wXh3ckPoEchhC1vYww62sIU9/Inkgqy2fZIW6rveWavamjkh9AjksIUt7GEHW9jCHv6YuDDseKttnyQR38+yu4P/0rGCLWxhDzvYwpbujg1QFeyMXYxS/DCIRPK4zn6pVtBWfgxTKzdDpP51RjQXZLUNxkvRXpDlyoNem44CYAtb2MMOtrAlV+7GztjFiE99PVKJSC4h6lIoLsLOnUC33lT390RyaVs7qT8R8SvDZopzQo9ADlvYwh52sIUtmeIclOKHoZ2Lsf1qT7ShFD9sRN8TyQVZ7QhZeyXau9bzejJ2sIUt7GEHW9gyr2slX6as00j/O0Xyv2rtHLIOifZelryejB1sYQt72MEWtrRSj+9+/x58+CNfDj1Gv0gec6y9yzIlucCThJWM94YegRy2sIU97GALWwbrcec9D2FHb7phP2Nadxdee9axDXu8ZhHJBVleEyhpHMlYCX35NiSSldAjBTEpuTH0COSwhS3sYQdb2DIpuRGFfXY23NGbxqYnx3/h/L3bfoKv/PttEAGOPvIF+Njlb8V7LvscntnxLKZPm4zrv/TPOHDeLPzPT36Fz197CwrFErqnTsI3r/8IZs6w92aRSL5kCQjSbvukbF9H4FnC2Z5ZHHoEctjCFvawgy1ssdLjkT//FV+47hbc9V9fwC/v+xb+7ZPvwYc/eh0uOP+V+NWqb+H8816Byz/2VQDACS99EX76o+vx83tvwD+ccxq+fP33A08/uEgeIQOq55FNQR/ymXagOxN6nCCmpdaHHoEctrCFPexgC1umpdajhEWhx8CaX6zHOWefgmnTJgMApk6dhHW//RNuufEaAMAF/3gGrv7kNwAAW3q24+J3XoOt23pRKBYx/8DZweben4geIdv7TstiJhF4knAyxbmhRyCHLWxhDzvYwhYrPVQBGWazHXFf8M8f/Qre/tZz8auf3YgvffYy5PI239AX2QVZ7VpkpXxk/xMgW5oZegRy2MIW9rCDLWyx0uOUkxbhv++6H729zwIAdu7cjZcuPhp3/HAVAOC2H/wUx790IQBg954+zDlgBgDge7fZvYxKdF+y7N9gPLoLMl7fxw62sIU97GALW+Z1rcQeAy9ZHnn4Ifjg+y7E2ed9ALF4DMcsPAz/9qlL8Z4PfBbXff22/pP6AeCKDy7Dsnd8AnMOmI7jXnIkNj3xdODpBxf5BRkivMH45vSZOHTKraHHILCFNexhB1vYsjl9JiannnvbtO6uhv6Meh/vTa8/E296/XOvi3bX7V983tedfdYSnH3WkufdfuEbzsKFbzhrdEN6ENkFWe0lS4nwfpaptm2hRyCHLWxhDzvYwpbBekTxmmE+RPb1utoRsrZyNK9BBgCdiS2hRyCHLWxhDzvYwhb28CeyC7K9G4xHdz/LHdnw5wFQFVvYwh52sIUt7OFPZBdkfe7CsEmN7oJsRue60COQwxa2sIcdbGELe/gT3QVZpRNAtDcY351fEHoEctjCFvawgy1sYQ9/orsgc0fIOmM5VCrRPLE/X7a3l1dUsYUt7GEHW9jCHv5EdkFWRhzZSjvioshnk6HHCYLX97GDLWxhDzvYwpZW63H2eR/A+of+HHoMABG+7AUApMsppGIF5NJJpCZE76VLXt/HDrawhT3sYAtbBrsOWce6LyC+58mG/YzyxAORW/zBhj3eeCiVymhri4/pMSK9IOurpDADzyKfjeZ+lp2Jp0KPQA5b2MIedrCFLdUez32nZXzPk2jb/odxnWPTk0/j/DddgeNfuhC/+e3DmH3AdPzntz+Ff7zwCnzqqndh0bGHY8eOZ3HqWe/CH9d9D+VyGVd/6gasWv1bQATLLvx7vPOS857zmKtWr8OnP78c+XwBhxw8B9dfezm6JqTwb1/8Du75yVrkcnm89Lijce3nLoOI4OzzPoCXHXc0fr1uA1515om49F2vH9NziuxLlsDea5GVstFcl3bEe0OPQA5b2MIedrCFLZZ6bPzrZrzt4nPx6/tvxuTJXbjzR2uG/Npv33I3Nj3xNNbcewN+tepbeP15r3jO/Tt2PIvPXXsLfnjb57Dm3huw6O8Ox/Xf+C8AwDsuPhc/u+frWLv6JmRzedxz79r+73t2dxo//u9rx7wYAyJ+hCztFmTlXDTXpb25heju2BB6DAJbWMMedrCFLb25hZg8MfQUVfMPmo1jFh4KADj2mBfiiSeH3qNy9ZoH8daLXtP/suLUqZOec/+6B/+EP//vJpz52vcCAIqFEhYfdxQAYM0vH8J1X7sV2WweO3ftxpGHH4xXvfJEAMDrXntaw55PpBdkfe7isFqM5oJsVufa4b+IxgVb2MIedrCFLbM61yJnYHNxAEi27z3dKB6PIZurnsdV0eoOPLn83nPDVRUiQ+9drao47ZSX4Mav/8tzbs/lCvjQlV/Gz+75OubNnYlPf/7bz3ncCZ0djXo6fMkSAKQYzcte9OYXhh6BHLawhT3sYAtbrPc46MAD8NAf/hcAsOLu+/tvX3rKcbjpO3ehVCoDAHbu3P2c71v84qPwwG8exl/+Wt0aKpPJ4fGNT/YvvqZ1T0a6L4s77x76ZdGxivQRstr2SbGILsiKZSPHnYktjGEPO9jCFus9Ln3X6/FP77wG37/9Xpy8ZO+RvIsuPBuP/2Uzlix9G9oScSy78Gy8462v679/+vQpuP7L/4xL/s+nkC9Ud/D52OUX49AFB2LZhX+PE5degoMOPACLjj3c2+yi2ryLkRUrVujq1atH/f1HpzbibbPuwqbKLMxeur1xgzWJXGkqOtp2hh6DwBbWsIcdbGFLrjQVe1JXoKv7Jf238bIXg0v3/g4zipc/57Z1vTfvXHLaRYNeXZdHyAC0V0qBJwmD1/exgy1sYQ872MKWwa5D1gqLJwt4DhmAZET3s+xq3xR6BHLYwhb2sIMtbGEPf6K9IHNHyDolH3iSMNokG3oEctjCFvawgy1sYQ9/Ir0gy1aSKKugI1ZAqTj022Fb1a78EaFHIIctbGEPO9jCFvbwJ9ILMkD6j5Ll+hp3LZFmMXuCv7fv0siwhS3sYQdb2MIe/kR8Qbb3PLJcX3vgScbf9uzi0COQwxa2sIcdbGELe/gT6XdZAnu3TypEcIPxikbvOVvFFrawhx1sYYulHlu39eLKq67Hgw89imR7Ow46cBY+fc27ccPNP8TPf7EeIoJksh0333AVDj5oNl60+I2Y2NUJiQlmTp+Kf//KlZg1c9ArUAQR+QVZ7SXLci4eeJLxx0PPdrCFLexhB1vYMnvCGqTx3KNkid1fhJQ2N+xnaNs8FCddtv+vUcWb33oV3nj+K3HTv1e3O/rDhsfxgxWr8fTTO/DLVd9CLBbDlqe2P2d7o7tu/yKmTZuMa/7ft/CF676Lz37q0obNPVaRX5D1bzCej96rt1vSS3l9HyPYwhb2sIMtbNmSXvq865BJaTPixT807GeU6/iaNb9cj7a2ON667LX9tx2z8FCs+cV6zJrVjVis+v/T586ZMej3n3j8MfjGjT9oxLgNE71VyD5qR8gQwXdZTmrfGHoEctjCFvawgy1ssdLjkUf/hmOPeeHzbn/da0/FPT9Zi5e/4u346Me/jt//8bFBv3/lT9fiqCNf4HvMEeGCrFw9lCmF5t1CioiIiKpHxH77i+W4+sq3IRYTnPP6D+H+nz/Yf/9r/vEyvPwVb8fuPRl84NI3BZz0+fiSpTtCFi9XAk8y/nYXFmBm57rQYxDYwhr2sIMtbNldWIDJoYcAcOThB2PF3fcPel8y2Y4zTn8Zzjj9ZZg5YyruvucXOOWkFwPYew6ZRTxC5s4hS0RwP8u5XatCj0AOW9jCHnawhS1Wepz88kUoFIpYfsvd/bc9+NCj+MWvfo+ep58BAFQqFWz4019w0LxZocYcES7I3BGypBYDTzL+evpODj0COWxhC3vYwRa2WOkhIrjlpmvwszW/w7HHX4jjT7kYn/n8cjz8yEZccNFHccKpb8WSpW9DW1scb7/4daHHrQtfsnRHyDoiuMF4TKK3CLWKLWxhDzvYwpbBemjbvLreGVkvbZtX19fNPmA6vn3D1c+7/Z2XnDfo1/9x3ffGNJdvkV+QZWobjMdyKFcUEovOuy1npHhehhVsYQt72MEWtsxIrUMGJz7ntuGuGUb1ifxLlkVtQ76SQJtUkM9Fa/skK4eeiS2sYQ872MIW9vAn8gsyYO/LlrlMtBZkU5KPhh6BHLawhT3sYAtb2MMfLsiw98T+fMQ2GC9pavgvonHBFrawhx1sYUtJU1CN3mWiRmOk/524IMPei8MWI7bBeLowP/QI5LCFLexhB1vYki7MR1v5MRSK0btU1EgUiiW0lQffJWAokT+pHwDSlU4AQCVi+1nO61oZegRy2MIW9rCDLWyZ17USycou7NwJ7IkfBpFo/f/NeqhW0FZ+DFMrNwMjeJ+g6QWZiJwF4MsA4gC+paqf8fFzakfIKvnovMMSADanz+SmvUawhS3sYQdb2FLr0a03ATxItn8jXFKYXdqKSBzA9QBeBeAoAG8UkaN8/KyobjB+x482hB6BHLawhT3sYAtb2MMfswsyAC8F8Liq/kVVCwBuBXCOjx9Ue5dlrBStExXvuIvvlrGCLWxhDzvYwhb28MfyS5ZzATw54PPNAF7m4wfVjpDNLO1Cz6oZPn6ESTe9QdCzSkOPQWALa9jDDrawhT3G6Nih77K8IBvs9cPn/K8gFovpUUftfRWzs7OzkkqlRnGY6yT8UJZh9pTtiSj9z+yZXUBhSugpCGALa9jDDrawhT3GplCZPGmo+ywvyDYDOHDA5/MAPDXwC17zmtdYfsmViIiIqC6WFzTrABwmIoeISDuACwDcGXgmIiIiooYze4RMVUsi8h4AK1G97MVNqvpw4LGIiIiIGs7yETKo6o9V9YWqukBV/zX0PNaJyIEi8jMReUREHhaR97nbu0XkXhF5zP091d1+hoj8TkT+6P5eOuCxVovIn0XkIfdnZqjn1YxG0eKlA/5b/15EXjfgsV7iGj0uIteJSLSuz9IADe7B340xGGmLAd93kIikReRDA27j78YYNbgHfzfGQFSjdBp7axOR2QBmq+qDIjIRwO8AnAvgnwD0qupnROQKAFNV9XIRWQRgq6o+JSILAaxU1bnusVYD+JCq/jbIk2lyo2jRCaDgjgzPBvB7AHPc578B8D4AvwbwYwDXqer/hHhezarBPVaDvxujNtIWA77vDgAVAA+o6ufdbfzdGKMG91gN/m6MmukjZDQyqtqjqg+6j/cAeATVy4ecA2C5+7LlqP6yQVXXq2rtjRIPA+gQkeT4Tt2aRtEio6q16153wL2j2P0fy0mqular/3r6Tu17qH6N6kFjN9IWACAi5wL4C6r/d6p2G383GqBRPWjsuCBrUSJyMIBFAB4AMEtVe4DqLx+AwQ4j/wOA9aqaH3Dbze6w87/wpYDRq7eFiLxMRB4G8EcA73ILgrmovuO4ZrO7jUZpjD1q+LvRAPW0EJEJAC4H8Il9vp2/Gw02xh41/N0YJS7IWpCIdAG4A8D7VXV3HV9/NIB/A/DOATdfqKovAnCS+/MWH7O2upG0UNUHVPVoAIsBXCkiHajjenxUvwb0APi70RAjaPEJAF9S1fS+DzHI1/J3Y5Qa0APg78aYcEHWYkQkgeov1XdV9Qfu5q3u8H7tMP+2AV8/D8B/A7hIVTfWblfVLe7vPQD+E9WtrGgERtqiRlUfAdAHYCGq/+qfN+Du512Pj+rToB783WiAEbZ4GYDPisjfALwfwEek+g58/m40SIN68HdjjLggayHu8PCNAB5R1S8OuOtOAMvcx8sArHBfPwXAjwBcqaq/HPA4bSIy3X2cAPBqANxRdgRG0eIQEWlzH88HcDiAv7mXCvaIyPHuMS+qfQ/Vr1E9+LsxdiNtoaonqerBqnowgGsB/D9V/Sp/NxqjUT34uzF2fJdlCxGRlwP4OarnvNS2kPoIqucD3AbgIABPADhfVXtF5GMArgTw2ICHeSWqRwPWAEigeg24nwK4TFXL4/E8WsEoWrwFwBUAiu7rr1HVH7rHOg7AtwGkAPwPgEuVv7gj0qge7vwZ/m6MwUhb7PO9HweQHvCuPv5ujFGjevB3Y+y4ICMiIiIKjC9ZEhEREQXGBRkRERFRYFyQEREREQXGBRkRERFRYFyQEREREQXGBRkRERFRYFyQEREREQXGBRkR0RjVrupPRDRaXJARUUsTkQ+LyB373PYVEblWRCaLyI0i0iMiW0TkUyISd1+zQERWicgOEXlGRL7rthurPcbfRORyEfkDgD4uyohoLLggI6JWdwuAs2qLKbdwegOA/wCwHEAJwKEAFqG6ddjb3PcJgE8DmAPgSAAHAvj4Po/9RgBnA5iiqiWvz4KIWhoXZETU0twm1GsAnO9uOgvAMwA2A3gVgPerap+qbgPwJQAXuO97XFXvVdW8qm4H8EUAp+zz8Nep6pOqmh2P50JErYuH2IkoCpYD+D8AvgngzageHZuP6kbIPSJS+7oYgCcBQERmArgOwEkAJrr7du7zuE/6HpyIooFHyIgoCn4I4BgRWQjg1QC+i+piKg9guqpOcX8mqerR7ns+DUABHKOqk1BdyMk+j6vjMz4RtTouyIio5alqDsDtAP4TwG9U9Qn3UuZPAHxBRCaJSMydyF97WXIigDSAXSIyF8CHgwxPRJHABRkRRcVyAC9C9eXKmosAtAP4E6ovR94OYLa77xMAXgzgWQA/AvCDcZuUiCJHVHnEnYhan4gcBOBRAAeo6u7Q8xARDcQjZETU8kQkBuAyALdyMUZEFvFdlkTU0kRkAoCtADaheskLIiJz+JIlERERUWB8yZKIiIgoMC7IiIiIiALjgoyIiIgoMC7IiIiIiALjgoyIiIgoMC7IiIiIiAL7/4W0VdjI5bJMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "fig.set_size_inches((10,6))\n",
    "\n",
    "capacities.plot(kind=\"area\",stacked=True,color=colors,ax=ax)\n",
    "ax.set_xlabel(\"year\")\n",
    "ax.set_ylabel(\"capacity [GW]\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "costs = pd.DataFrame(0.,index=years,columns=techs)\n",
    "for year in years:\n",
    "    for tech in techs:\n",
    "        costs.at[year,tech] = model.costs[tech,year].value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 160)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "fig.set_size_inches((10,6))\n",
    "\n",
    "costs.plot(color=colors,ax=ax,linewidth=3)\n",
    "ax.set_xlabel(\"year\")\n",
    "ax.set_ylabel(\"capacity [GW]\")\n",
    "ax.set_ylim([0,160])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}