## matplotlib-checkins

 SF.net SVN: matplotlib: [3943] trunk/py4science/workbook From: - 2007-10-14 20:44:09 Revision: 3943 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3943&view=rev Author: fer_perez Date: 2007-10-14 13:44:08 -0700 (Sun, 14 Oct 2007) Log Message: ----------- Fix typo in a formula. Modified Paths: -------------- trunk/py4science/workbook/trapezoid.lyx trunk/py4science/workbook/trapezoid.tex Modified: trunk/py4science/workbook/trapezoid.lyx =================================================================== --- trunk/py4science/workbook/trapezoid.lyx 2007-10-14 19:11:32 UTC (rev 3942) +++ trunk/py4science/workbook/trapezoid.lyx 2007-10-14 20:44:08 UTC (rev 3943) @@ -120,7 +120,7 @@ ) becomes \begin_inset Formula $$-\int_{a}^{b}f(x)dx\approx\frac{1}{2}\sum_{i=1}^{n}\left(x_{i}-x_{i-1}\right)\left(y_{i}+y_{i+1}\right).\label{eq:trapz}$$ +\int_{a}^{b}f(x)dx\approx\frac{1}{2}\sum_{i=1}^{n}\left(x_{i}-x_{i-1}\right)\left(y_{i}+y_{i-1}\right).\label{eq:trapz} \end_inset Modified: trunk/py4science/workbook/trapezoid.tex =================================================================== --- trunk/py4science/workbook/trapezoid.tex 2007-10-14 19:11:32 UTC (rev 3942) +++ trunk/py4science/workbook/trapezoid.tex 2007-10-14 20:44:08 UTC (rev 3943) @@ -23,7 +23,7 @@ \int_{a}^{b}f(x)dx\approx\frac{h}{2}\sum_{i=1}^{n}\left(f(x_{i})+f(x_{i+1})\right).\label{eq:trapzf2} One frequently receives the function values already precomputed, $y_{i}=f(x_{i}),$ so equation~(\ref{eq:trapzf}) becomes $$-\int_{a}^{b}f(x)dx\approx\frac{1}{2}\sum_{i=1}^{n}\left(x_{i}-x_{i-1}\right)\left(y_{i}+y_{i+1}\right).\label{eq:trapz}$$ +\int_{a}^{b}f(x)dx\approx\frac{1}{2}\sum_{i=1}^{n}\left(x_{i}-x_{i-1}\right)\left(y_{i}+y_{i-1}\right).\label{eq:trapz} % This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [3973] trunk/py4science/workbook From: - 2007-10-20 21:33:00 Revision: 3973 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3973&view=rev Author: jdh2358 Date: 2007-10-20 14:32:59 -0700 (Sat, 20 Oct 2007) Log Message: ----------- added stock records exercise Modified Paths: -------------- trunk/py4science/workbook/files_etc.tex trunk/py4science/workbook/main.tex Added Paths: ----------- trunk/py4science/workbook/fig/stock_records.eps trunk/py4science/workbook/fig/stock_records.png Added: trunk/py4science/workbook/fig/stock_records.eps =================================================================== --- trunk/py4science/workbook/fig/stock_records.eps (rev 0) +++ trunk/py4science/workbook/fig/stock_records.eps 2007-10-20 21:32:59 UTC (rev 3973) @@ -0,0 +1,9121 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: fig/stock_records.eps +%%Creator: matplotlib version 0.90.1, http://matplotlib.sourceforge.net/ +%%CreationDate: Sat Oct 20 15:31:09 2007 +%%Orientation: portrait +%%BoundingBox: 18 180 594 612 +%%EndComments +%%BeginProlog +/mpldict 7 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +closepath +} bind def +/clipbox { +box +clip +newpath +} bind def +/ellipse { +newpath +matrix currentmatrix 7 1 roll +translate +scale +0 0 1 5 3 roll arc +setmatrix +closepath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: Bitstream Vera Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. +%%Creator: Converted from TrueType by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /BitstreamVeraSans-Roman def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-182 -235 1287 928]def +/FontType 3 def +/Encoding StandardEncoding def +/FontInfo 10 dict dup begin +/FamilyName (Bitstream Vera Sans) def +/FullName (Bitstream Vera Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.) def +/Weight (Roman) def +/Version (Release 1.10) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -213 def +/UnderlineThickness 143 def +end readonly def +/CharStrings 30 dict dup begin +/hyphen{361 0 49 234 312 314 _sc +49 314 _m +312 314 _l +312 234 _l +49 234 _l +49 314 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +}_e{370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/four{636 0 49 0 580 729 _sc +378 643 _m +129 254 _l +378 254 _l +378 643 _l +352 729 _m +476 729 _l +476 254 _l +580 254 _l +580 172 _l +476 172 _l +476 0 _l +378 0 _l +378 172 _l +49 172 _l +49 267 _l +352 729 _l +_cl}_d +/five{{636 0 77 -13 549 729 _sc +108 729 _m +495 729 _l +495 646 _l +198 646 _l +198 467 _l +212 472 227 476 241 478 _c +255 480 270 482 284 482 _c +365 482 429 459 477 415 _c +525 370 549 310 549 234 _c +549 155 524 94 475 51 _c +426 8 357 -13 269 -13 _c +238 -13 207 -10 175 -6 _c +143 -1 111 6 77 17 _c +77 116 _l +106 100 136 88 168 80 _c +199 72 232 69 267 69 _c +323 69 368 83 401 113 _c +433 143 450 183 450 234 _c +450 284 433 324 401 354 _c +368 384 323 399 267 399 _c +241 399 214 396 188 390 _c +162 384 135 375 108 363 _c +108 729 _l +_cl}_e}_d +/six{{636 0 70 -13 573 742 _sc +330 404 _m +286 404 251 388 225 358 _c +199 328 186 286 186 234 _c +186 181 199 139 225 109 _c +251 79 286 64 330 64 _c +374 64 409 79 435 109 _c +461 139 474 181 474 234 _c +474 286 461 328 435 358 _c +409 388 374 404 330 404 _c +526 713 _m +526 623 _l +501 635 476 644 451 650 _c +425 656 400 659 376 659 _c +310 659 260 637 226 593 _c +192 549 172 482 168 394 _c +187 422 211 444 240 459 _c +269 474 301 482 336 482 _c +409 482 467 459 509 415 _c +551 371 573 310 573 234 _c +573 159 550 99 506 54 _c +462 9 403 -13 330 -13 _c +246 -13 181 19 137 83 _c +92 147 70 241 70 364 _c +70 479 97 571 152 639 _c +206 707 280 742 372 742 _c +}_e{396 742 421 739 447 735 _c +472 730 498 723 526 713 _c +_cl}_e}_d +/seven{636 0 82 0 551 729 _sc +82 729 _m +551 729 _l +551 687 _l +286 0 _l +183 0 _l +432 646 _l +82 646 _l +82 729 _l +_cl}_d +/eight{{636 0 68 -13 568 742 _sc +318 346 _m +271 346 234 333 207 308 _c +180 283 167 249 167 205 _c +167 161 180 126 207 101 _c +234 76 271 64 318 64 _c +364 64 401 76 428 102 _c +455 127 469 161 469 205 _c +469 249 455 283 429 308 _c +402 333 365 346 318 346 _c +219 388 _m +177 398 144 418 120 447 _c +96 476 85 511 85 553 _c +85 611 105 657 147 691 _c +188 725 245 742 318 742 _c +390 742 447 725 489 691 _c +530 657 551 611 551 553 _c +551 511 539 476 515 447 _c +491 418 459 398 417 388 _c +464 377 501 355 528 323 _c +554 291 568 251 568 205 _c +568 134 546 80 503 43 _c +459 5 398 -13 318 -13 _c +237 -13 175 5 132 43 _c +89 80 68 134 68 205 _c +68 251 81 291 108 323 _c +134 355 171 377 219 388 _c +}_e{183 544 _m +183 506 194 476 218 455 _c +242 434 275 424 318 424 _c +360 424 393 434 417 455 _c +441 476 453 506 453 544 _c +453 582 441 611 417 632 _c +393 653 360 664 318 664 _c +275 664 242 653 218 632 _c +194 611 183 582 183 544 _c +_cl}_e}_d +/A{684 0 8 0 676 729 _sc +342 632 _m +208 269 _l +476 269 _l +342 632 _l +286 729 _m +398 729 _l +676 0 _l +573 0 _l +507 187 _l +178 187 _l +112 0 _l +8 0 _l +286 729 _l +_cl}_d +/C{{698 0 56 -13 644 742 _sc +644 673 _m +644 569 _l +610 599 575 622 537 638 _c +499 653 460 661 418 661 _c +334 661 270 635 226 584 _c +182 533 160 460 160 364 _c +160 268 182 194 226 143 _c +270 92 334 67 418 67 _c +460 67 499 74 537 90 _c +575 105 610 128 644 159 _c +644 56 _l +609 32 572 15 534 4 _c +496 -7 455 -13 412 -13 _c +302 -13 215 20 151 87 _c +87 154 56 246 56 364 _c +56 481 87 573 151 641 _c +215 708 302 742 412 742 _c +456 742 497 736 535 725 _c +573 713 610 696 644 673 _c +_cl}_e}_d +/E{632 0 98 0 568 729 _sc +98 729 _m +559 729 _l +559 646 _l +197 646 _l +197 430 _l +544 430 _l +544 347 _l +197 347 _l +197 83 _l +568 83 _l +568 0 _l +98 0 _l +98 729 _l +_cl}_d +/F{575 0 98 0 517 729 _sc +98 729 _m +517 729 _l +517 646 _l +197 646 _l +197 431 _l +486 431 _l +486 348 _l +197 348 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/G{{775 0 56 -13 693 742 _sc +595 104 _m +595 300 _l +434 300 _l +434 381 _l +693 381 _l +693 68 _l +655 40 613 20 567 7 _c +521 -6 472 -13 420 -13 _c +306 -13 216 20 152 86 _c +88 152 56 245 56 364 _c +56 482 88 575 152 642 _c +216 708 306 742 420 742 _c +467 742 512 736 555 724 _c +598 712 638 695 674 673 _c +674 568 _l +637 598 598 621 557 637 _c +516 653 473 661 428 661 _c +338 661 271 636 227 586 _c +182 536 160 462 160 364 _c +160 265 182 191 227 141 _c +271 91 338 67 428 67 _c +462 67 493 70 521 76 _c +549 82 573 91 595 104 _c +_cl}_e}_d +/H{752 0 98 0 654 729 _sc +98 729 _m +197 729 _l +197 430 _l +555 430 _l +555 729 _l +654 729 _l +654 0 _l +555 0 _l +555 347 _l +197 347 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/I{295 0 98 0 197 729 _sc +98 729 _m +197 729 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/L{557 0 98 0 552 729 _sc +98 729 _m +197 729 _l +197 83 _l +552 83 _l +552 0 _l +98 0 _l +98 729 _l +_cl}_d +/M{863 0 98 0 765 729 _sc +98 729 _m +245 729 _l +431 233 _l +618 729 _l +765 729 _l +765 0 _l +669 0 _l +669 640 _l +481 140 _l +382 140 _l +194 640 _l +194 0 _l +98 0 _l +98 729 _l +_cl}_d +/N{748 0 98 0 650 729 _sc +98 729 _m +231 729 _l +554 119 _l +554 729 _l +650 729 _l +650 0 _l +517 0 _l +194 610 _l +194 0 _l +98 0 _l +98 729 _l +_cl}_d +/O{787 0 56 -13 731 742 _sc +394 662 _m +322 662 265 635 223 582 _c +181 528 160 456 160 364 _c +160 272 181 199 223 146 _c +265 92 322 66 394 66 _c +465 66 522 92 564 146 _c +606 199 627 272 627 364 _c +627 456 606 528 564 582 _c +522 635 465 662 394 662 _c +394 742 _m +496 742 577 707 639 639 _c +700 571 731 479 731 364 _c +731 248 700 157 639 89 _c +577 21 496 -13 394 -13 _c +291 -13 209 21 148 89 _c +86 157 56 248 56 364 _c +56 479 86 571 148 639 _c +209 707 291 742 394 742 _c +_cl}_d +/P{603 0 98 0 569 729 _sc +197 648 _m +197 374 _l +321 374 _l +367 374 402 385 427 409 _c +452 433 465 467 465 511 _c +465 555 452 588 427 612 _c +402 636 367 648 321 648 _c +197 648 _l +98 729 _m +321 729 _l +402 729 464 710 506 673 _c +548 636 569 582 569 511 _c +569 439 548 384 506 348 _c +464 311 402 293 321 293 _c +197 293 _l +197 0 _l +98 0 _l +98 729 _l +_cl}_d +/S{{635 0 66 -13 579 742 _sc +535 705 _m +535 609 _l +497 627 462 640 429 649 _c +395 657 363 662 333 662 _c +279 662 237 651 208 631 _c +179 610 165 580 165 542 _c +165 510 174 485 194 469 _c +213 452 250 439 304 429 _c +364 417 _l +437 403 491 378 526 343 _c +561 307 579 260 579 201 _c +579 130 555 77 508 41 _c +460 5 391 -13 300 -13 _c +265 -13 228 -9 189 -2 _c +150 5 110 16 69 32 _c +69 134 _l +109 111 148 94 186 83 _c +224 71 262 66 300 66 _c +356 66 399 77 430 99 _c +460 121 476 152 476 194 _c +476 230 465 258 443 278 _c +421 298 385 313 335 323 _c +275 335 _l +201 349 148 372 115 404 _c +82 435 66 478 66 534 _c +66 598 88 649 134 686 _c +179 723 242 742 322 742 _c +}_e{356 742 390 739 426 733 _c +461 727 497 717 535 705 _c +_cl}_e}_d +/T{611 0 -2 0 614 729 _sc +-2 729 _m +614 729 _l +614 646 _l +355 646 _l +355 0 _l +256 0 _l +256 646 _l +-2 646 _l +-2 729 _l +_cl}_d +/W{989 0 33 0 956 729 _sc +33 729 _m +133 729 _l +286 113 _l +439 729 _l +550 729 _l +703 113 _l +856 729 _l +956 729 _l +773 0 _l +649 0 _l +495 633 _l +340 0 _l +216 0 _l +33 729 _l +_cl}_d +/Y{611 0 -1 0 613 729 _sc +-1 729 _m +104 729 _l +306 429 _l +507 729 _l +613 729 _l +355 347 _l +355 0 _l +256 0 _l +256 347 _l +-1 729 _l +_cl}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +}_e{132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/d{{635 0 55 -13 544 760 _sc +454 464 _m +454 760 _l +544 760 _l +544 0 _l +454 0 _l +454 82 _l +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +%%EOF +end +%%EndProlog +mpldict begin +18 180 translate +576 432 0 0 clipbox +1.000 setgray +1.000 setlinewidth +0 setlinejoin +2 setlinecap +[] 0 setdash +0 0 m +0 432 l +576 432 l +576 0 l +closepath +gsave +fill +grestore +stroke +0.000 setgray +72 43.2 m +72 388.8 l +518.4 388.8 l +518.4 43.2 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +0.000 0.000 1.000 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +110.389 100.8 m +110.598 100.698 l +111.228 101.137 l +111.438 101.261 l +111.647 100.793 l +111.857 101.056 l +112.067 101.305 l +112.696 101.276 l +112.906 101.554 l +113.116 101.254 l +113.326 101.151 l +113.535 100.558 l +114.374 100.522 l +114.584 100.493 l +114.794 100.785 l +115.004 100.222 l +115.633 100.236 l +115.843 100.346 l +116.053 100.778 l +116.262 100.171 l +116.472 100.09 l +117.102 100.171 l +117.311 100.075 l +117.521 100.046 l +117.731 99.929 l +117.941 99.6802 l +118.57 99.8339 l +118.78 99.8778 l +118.989 99.7461 l +119.199 100.01 l +119.409 100.441 l +120.248 100.844 l +120.458 100.873 l +120.668 100.998 l +120.877 100.881 l +121.507 100.712 l +121.717 100.844 l +121.926 100.5 l +122.136 100.822 l +122.346 101.203 l +122.975 100.793 l +123.185 100.763 l +123.395 101.012 l +123.605 100.793 l +123.814 100.346 l +124.444 100.266 l +124.653 100.229 l +124.863 100.456 l +125.073 101.268 l +125.283 101.144 l +125.912 101.759 l +126.122 101.891 l +126.332 101.708 l +126.541 101.905 l +126.751 102.352 l +127.38 101.59 l +127.59 101.744 l +127.8 101.642 l +128.01 101.429 l +128.22 101.181 l +128.849 100.529 l +129.059 100.624 l +129.268 101.386 l +129.478 101.422 l +129.688 101.063 l +130.317 101.268 l +130.527 101.093 l +130.737 100.807 l +130.947 100.946 l +131.156 100.851 l +131.786 101.137 l +131.995 101.115 l +132.205 101.832 l +132.415 102.176 l +133.254 102.169 l +133.464 102.41 l +133.674 102.74 l +133.883 102.374 l +134.093 101.912 l +134.723 102.235 l +134.932 102.352 l +135.142 101.993 l +135.352 102.088 l +135.562 102.432 l +136.191 102.439 l +136.401 102.791 l +136.611 102.564 l +136.82 102.33 l +137.03 102.827 l +137.659 103.105 l +137.869 102.996 l +138.079 102.879 l +138.289 103.113 l +138.498 102.769 l +139.128 102.198 l +139.338 102.191 l +139.547 102.315 l +139.757 102.264 l +139.967 102.293 l +140.806 102.959 l +141.016 102.937 l +141.226 103.691 l +141.435 103.684 l +142.065 103.376 l +142.274 103.874 l +142.484 104.072 l +142.694 104.386 l +142.904 104.335 l +143.533 104.269 l +143.743 104.474 l +143.953 104.423 l +144.162 104.599 l +144.372 104.057 l +145.002 104.408 l +145.211 104.115 l +145.421 104.328 l +145.631 103.889 l +145.841 103.581 l +146.47 103.362 l +146.68 103.427 l +146.889 103.142 l +147.099 103.552 l +147.309 103.508 l +147.938 103.676 l +148.148 104.094 l +148.358 104.642 l +148.568 104.306 l +149.407 105.125 l +149.617 105.294 l +149.826 105.521 l +150.036 105.125 l +150.246 105.426 l +150.875 105.894 l +151.085 105.953 l +151.295 106.787 l +151.505 106.523 l +151.714 106.34 l +152.344 105.923 l +152.553 106.172 l +152.763 106.443 l +152.973 105.865 l +153.183 106.509 l +153.812 106.406 l +154.022 106.501 l +154.232 106.223 l +154.441 106.494 l +154.651 106.589 l +155.28 106.662 l +155.49 106.084 l +155.7 105.989 l +155.91 105.887 l +156.12 105.601 l +156.749 105.828 l +156.959 106.15 l +157.168 106.384 l +157.378 106.684 l +157.588 106.619 l +158.217 107.409 l +158.427 107.607 l +158.637 107.526 l +158.847 107.548 l +159.056 108.243 l +159.686 108.141 l +159.895 108.463 l +160.105 108.675 l +160.315 108.873 l +160.525 109.07 l +161.364 109.173 l +161.574 108.814 l +161.783 109.078 l +161.993 109.158 l +162.623 109.48 l +162.832 109.209 l +163.042 108.426 l +163.252 108.682 l +163.462 108.902 l +164.091 108.661 l +164.301 109.297 l +164.511 109.275 l +164.72 109.466 l +164.93 109.473 l +165.559 109.026 l +165.769 109.312 l +165.979 108.514 l +166.189 108.28 l +166.398 108.156 l +167.028 108.917 l +167.238 108.331 l +167.447 109.1 l +167.657 109.092 l +167.867 109.78 l +168.496 109.744 l +168.706 110.015 l +168.916 109.817 l +169.126 109.89 l +169.335 110.344 l +169.965 110.6 l +170.174 110.798 l +170.384 111.266 l +170.594 111.595 l +170.804 111.2 l +171.433 111.544 l +171.643 111.515 l +171.853 111.098 l +172.062 110.893 l +172.272 110.798 l +172.902 111.032 l +173.111 111.896 l +173.321 111.991 l +173.531 112.049 l +173.741 112.093 l +174.37 112.847 l +174.58 112.598 l +174.789 112.649 l +174.999 112.913 l +175.209 112.744 l +175.838 112.408 l +176.048 112.422 l +176.258 112.898 l +176.468 112.679 l +176.677 111.998 l +177.307 111.603 l +177.517 111.339 l +177.726 111.808 l +177.936 111.332 l +178.146 111.669 l +178.775 112.459 l +178.985 112.188 l +179.195 112.379 l +179.614 112.51 l +180.244 112.862 l +180.453 112.73 l +180.663 112.371 l +180.873 112.51 l +181.083 111.515 l +181.712 111.2 l +181.922 110.234 l +182.132 110.351 l +182.341 110.688 l +182.551 110.659 l +183.18 110.227 l +183.39 110.241 l +183.6 110.176 l +183.81 110.688 l +184.02 110.454 l +184.649 110.351 l +184.859 110.827 l +185.068 110.812 l +185.488 111.003 l +186.117 111.552 l +186.327 111.471 l +186.537 111.478 l +186.956 111.559 l +187.586 112.078 l +187.795 112.071 l +188.005 112.825 l +188.215 113.001 l +188.425 112.81 l +189.054 112.935 l +189.264 112.547 l +189.474 112.408 l +189.683 112.181 l +189.893 112.064 l +190.732 111.866 l +190.942 111.588 l +191.152 111.193 l +191.362 111.273 l +191.991 111.742 l +192.201 111.193 l +192.411 111.017 l +192.62 110.681 l +192.83 110.424 l +193.459 110.285 l +193.669 111.032 l +193.879 110.102 l +194.089 110.029 l +194.298 110.695 l +194.928 110.483 l +195.138 110.461 l +195.347 110.776 l +195.557 110.6 l +195.767 110.183 l +196.606 110.651 l +196.816 110.505 l +197.026 110.015 l +197.235 110.088 l +197.865 109.392 l +198.074 109.531 l +198.284 109.824 l +198.494 109.744 l +198.704 109.531 l +199.333 109.875 l +199.543 109.81 l +199.753 109.422 l +199.962 109.846 l +200.172 109.356 l +200.802 108.492 l +201.011 108.69 l +201.221 108.221 l +201.431 108.06 l +201.641 108.485 l +202.27 108.075 l +202.48 108.119 l +202.689 108.558 l +202.899 108.148 l +203.109 107.651 l +203.738 107.475 l +203.948 107.424 l +204.158 107.68 l +204.368 108.558 l +204.577 108.273 l +205.207 108.485 l +205.417 108.302 l +205.626 108.148 l +205.836 108.273 l +206.046 108.785 l +206.675 109.085 l +206.885 108.887 l +207.095 108.434 l +207.305 108.265 l +208.144 108.426 l +208.353 108.47 l +208.563 108.265 l +208.773 107.768 l +208.983 107.629 l +209.612 107.782 l +209.822 107.365 l +210.032 107.504 l +210.241 107.672 l +210.451 108.375 l +211.08 108.112 l +211.29 107.921 l +211.5 107.555 l +211.71 107.402 l +211.92 107.124 l +212.549 107.343 l +212.759 107.504 l +212.968 107.482 l +213.178 107.328 l +213.388 107.665 l +214.017 107.724 l +214.227 108.573 l +214.437 108.434 l +214.647 108.339 l +214.856 108.06 l +215.486 107.921 l +215.695 108.141 l +215.905 108.112 l +216.115 108.324 l +216.325 108.419 l +216.954 108.551 l +217.164 108.8 l +217.374 108.99 l +217.583 109.041 l +217.793 109.114 l +218.632 108.961 l +218.842 108.734 l +219.052 108.324 l +219.262 108.829 l +219.891 109.253 l +220.101 109.414 l +220.311 109.005 l +220.52 109.173 l +221.359 108.726 l +221.569 109.026 l +221.779 108.814 l +221.989 108.47 l +222.198 108.478 l +222.828 108.397 l +223.038 108.756 l +223.247 109.092 l +223.457 108.697 l +223.667 108.58 l +224.296 108.302 l +224.506 108.456 l +224.716 108.456 l +224.926 108.046 l +225.135 107.57 l +225.974 107.416 l +226.184 107.577 l +226.394 107.497 l +226.604 107.738 l +227.233 107.504 l +227.443 107.438 l +227.653 105.521 l +227.862 105.36 l +228.072 105.067 l +228.702 105.191 l +228.911 105.426 l +229.121 104.95 l +229.331 105.448 l +229.541 105.03 l +230.17 105.235 l +230.38 105.448 l +230.589 105.579 l +230.799 106.121 l +231.009 106.216 l +231.638 106.575 l +231.848 106.07 l +232.058 105.96 l +232.268 105.748 l +232.477 105.125 l +233.107 104.986 l +233.317 104.964 l +233.526 104.701 l +233.736 104.057 l +233.946 104.284 l +234.575 104.181 l +234.785 104.247 l +234.995 104.738 l +235.205 104.591 l +235.414 104.32 l +236.044 104.511 l +236.253 104.357 l +236.463 104.555 l +236.673 104.43 l +236.883 104.599 l +237.512 104.306 l +237.722 104.094 l +237.932 104.189 l +238.141 104.328 l +238.351 103.23 l +239.19 103.12 l +239.4 103.003 l +239.61 103.318 l +239.82 103.596 l +240.449 103.75 l +240.659 103.735 l +240.868 103.486 l +241.078 103.274 l +241.288 103.603 l +241.917 103.837 l +242.127 103.947 l +242.337 103.486 l +242.547 103.457 l +242.756 103.288 l +243.386 103.142 l +243.595 102.974 l +243.805 103.245 l +244.015 103.237 l +244.225 103.786 l +244.854 103.984 l +245.064 104.115 l +245.274 103.984 l +245.483 104.057 l +245.693 103.581 l +246.323 103.618 l +246.532 103.391 l +246.742 103.881 l +246.952 103.552 l +247.162 103.618 l +247.791 103.742 l +248.001 103.75 l +248.211 104.203 l +248.42 104.372 l +248.63 104.101 l +249.259 104.108 l +249.469 104.167 l +249.679 104.584 l +249.889 104.774 l +250.098 104.767 l +250.728 104.891 l +250.938 105.008 l +251.147 105.082 l +251.357 105.228 l +251.567 105.565 l +252.196 105.469 l +252.406 105.367 l +252.616 105.213 l +252.826 105.433 l +253.035 105.792 l +253.665 105.85 l +253.874 105.894 l +254.084 106.231 l +254.294 106.567 l +254.504 106.121 l +255.133 106.077 l +255.343 105.572 l +255.553 105.74 l +255.972 105.455 l +256.602 105.352 l +256.811 104.877 l +257.021 105.382 l +257.231 105.111 l +257.441 105.945 l +258.07 106.018 l +258.28 105.645 l +258.489 105.316 l +258.699 105.147 l +258.909 105.008 l +259.538 105.052 l +259.748 105.477 l +259.958 105.411 l +260.168 105.221 l +260.377 105.155 l +261.007 105.104 l +261.217 105.652 l +261.426 105.623 l +261.636 105.689 l +262.475 105.572 l +262.685 105.506 l +262.895 105.484 l +263.105 105.484 l +263.314 105.587 l +263.944 105.36 l +264.153 105.038 l +264.363 104.884 l +264.573 104.935 l +264.783 105.169 l +265.412 105.228 l +265.622 104.994 l +265.832 105.426 l +266.041 105.184 l +266.251 105.323 l +267.09 105.272 l +267.3 105.03 l +267.51 105.016 l +267.72 104.906 l +268.349 104.606 l +268.559 104.796 l +268.768 104.906 l +268.978 104.833 l +269.188 104.781 l +269.817 104.928 l +270.027 105.052 l +270.237 105.016 l +270.447 104.935 l +270.656 105.367 l +271.286 105.308 l +271.495 105.652 l +271.705 105.579 l +271.915 105.718 l +272.125 106.187 l +272.754 106.282 l +272.964 106.399 l +273.174 106.165 l +273.383 105.806 l +273.593 106.084 l +274.432 105.901 l +274.642 105.587 l +274.852 105.857 l +275.062 106.128 l +275.691 106.062 l +275.901 106.501 l +276.111 106.436 l +276.32 106.421 l +276.53 106.545 l +277.159 106.845 l +277.369 106.626 l +277.579 106.655 l +277.789 106.662 l +277.998 106.209 l +278.628 106.26 l +278.838 105.982 l +279.047 105.748 l +279.257 105.652 l +279.467 105.652 l +280.096 105.718 l +280.306 105.382 l +280.516 105.645 l +280.726 105.491 l +281.565 105.579 l +281.774 105.477 l +281.984 105.711 l +282.194 105.528 l +282.404 105.374 l +283.033 105.323 l +283.243 105.462 l +283.453 105.404 l +283.662 105.652 l +283.872 105.572 l +284.502 105.455 l +284.711 105.521 l +284.921 105.243 l +285.131 105.008 l +285.341 104.752 l +285.97 104.818 l +286.18 105.111 l +286.389 105.133 l +286.599 105.623 l +286.809 105.535 l +287.438 105.652 l +287.648 105.594 l +287.858 105.726 l +288.068 105.499 l +288.277 105.733 l +288.907 105.755 l +289.117 105.953 l +289.326 106.201 l +289.536 106.304 l +289.746 106.472 l +290.375 106.684 l +290.585 106.597 l +290.795 106.662 l +291.005 106.714 l +291.214 106.911 l +291.844 107.058 l +292.053 107.321 l +292.263 107.482 l +292.473 107.533 l +292.683 107.775 l +293.312 107.877 l +293.522 108.199 l +293.732 108.229 l +293.941 108.492 l +294.151 108.507 l +294.99 108.199 l +295.2 108.434 l +295.41 108.646 l +295.62 108.463 l +296.249 108.353 l +296.459 108.134 l +296.668 108.302 l +296.878 108.719 l +297.088 108.214 l +297.717 108.229 l +297.927 108.016 l +298.137 108.185 l +298.347 108.317 l +298.556 108.317 l +299.186 108.163 l +299.395 108.353 l +299.605 108.309 l +299.815 108.068 l +300.025 107.599 l +300.654 107.431 l +300.864 107.76 l +301.074 107.702 l +301.283 107.541 l +301.493 107.672 l +302.332 108.009 l +302.542 107.877 l +302.752 107.921 l +302.962 108.426 l +303.591 108.719 l +303.801 108.756 l +304.011 108.646 l +304.22 108.851 l +304.43 109.144 l +305.059 109.092 l +305.269 109.429 l +305.479 108.536 l +305.689 108.251 l +305.898 108.053 l +306.528 107.892 l +306.738 108.156 l +306.947 108.273 l +307.157 108.47 l +307.367 108.331 l +307.996 108.309 l +308.206 108.624 l +308.416 108.734 l +308.626 108.295 l +308.835 108.126 l +309.465 108.082 l +309.674 108.214 l +309.884 108.199 l +310.094 108.156 l +310.304 107.797 l +310.933 107.958 l +311.143 107.585 l +311.353 107.643 l +311.562 107.497 l +311.772 107.336 l +312.402 107.621 l +312.611 107.387 l +312.821 107.248 l +313.031 107.204 l +313.241 107.167 l +313.87 107.394 l +314.08 107.277 l +314.289 107.387 l +314.499 107.058 l +314.709 107.072 l +315.548 107.372 l +315.758 107.343 l +315.968 107.643 l +316.177 107.05 l +316.807 106.867 l +317.017 106.809 l +317.226 106.516 l +317.436 106.56 l +317.646 106.743 l +318.275 106.655 l +318.485 106.509 l +318.695 106.523 l +318.905 106.567 l +319.114 106.443 l +319.744 106.326 l +319.953 106.055 l +320.163 106.136 l +320.373 106.509 l +320.583 106.633 l +321.212 106.597 l +321.422 106.523 l +321.632 106.223 l +321.841 106.004 l +322.051 106.048 l +322.68 105.762 l +322.89 105.762 l +323.1 105.638 l +323.31 105.609 l +323.52 105.63 l +324.149 105.792 l +324.359 105.974 l +324.568 105.953 l +324.778 105.909 l +324.988 105.572 l +325.617 105.543 l +325.827 105.55 l +326.037 105.521 l +326.247 105.36 l +326.456 105.704 l +327.086 105.821 l +327.295 105.221 l +327.505 105.733 l +327.715 106.157 l +327.925 106.223 l +328.554 106.582 l +328.764 106.619 l +328.974 106.794 l +329.183 107.109 l +329.393 107.028 l +330.023 107.197 l +330.232 106.992 l +330.442 106.875 l +330.652 107.014 l +330.862 107.153 l +331.491 107.116 l +331.701 107.76 l +331.911 108.097 l +332.33 108.214 l +332.959 108.251 l +333.169 108.192 l +333.379 108.126 l +333.589 108.478 l +333.798 108.653 l +334.428 108.28 l +334.638 108.119 l +334.847 107.753 l +335.057 107.431 l +335.267 107.702 l +335.896 108.082 l +336.106 108.156 l +336.316 108.09 l +336.526 108.053 l +336.735 107.914 l +337.365 107.49 l +337.574 107.511 l +337.784 107.563 l +337.994 107.621 l +338.204 107.621 l +339.043 107.263 l +339.253 107.248 l +339.462 106.984 l +339.672 106.911 l +340.511 107.343 l +340.721 107.577 l +340.931 107.833 l +341.141 107.863 l +341.77 107.98 l +341.98 107.731 l +342.189 107.746 l +342.399 107.621 l +342.609 107.497 l +343.448 107.307 l +343.658 105.243 l +343.868 105.104 l +344.077 104.65 l +344.707 104.357 l +344.917 104.313 l +345.126 104.262 l +345.336 104.459 l +345.546 104.584 l +346.175 104.569 l +346.385 104.298 l +346.595 104.503 l +346.805 104.255 l +347.014 103.998 l +347.644 103.903 l +347.853 103.947 l +348.063 103.947 l +348.273 104.181 l +348.483 104.386 l +349.112 104.276 l +349.322 104.445 l +349.532 104.43 l +349.741 104.43 l +349.951 103.903 l +350.79 103.911 l +351 103.581 l +351.21 103.676 l +351.42 103.728 l +352.049 103.845 l +352.259 103.896 l +352.468 104.042 l +352.678 103.823 l +352.888 103.698 l +353.517 103.684 l +353.727 103.515 l +353.937 103.479 l +354.147 103.296 l +354.356 103.369 l +354.986 103.281 l +355.195 103.303 l +355.405 103.42 l +355.615 103.223 l +355.825 103.149 l +356.454 103.201 l +356.664 103.318 l +356.874 103.457 l +357.083 103.259 l +357.293 103.186 l +357.923 103.296 l +358.132 103.179 l +358.342 103.347 l +358.552 103.259 l +358.762 103.091 l +359.391 103.01 l +359.601 102.974 l +359.811 103.105 l +360.02 103.032 l +360.23 102.937 l +360.859 103.018 l +361.069 102.879 l +361.279 102.849 l +361.489 103.084 l +362.328 102.901 l +362.538 103.04 l +362.747 103.164 l +362.957 103.084 l +363.167 102.805 l +363.796 102.703 l +364.006 102.871 l +364.216 103.113 l +364.426 103.53 l +364.635 103.457 l +365.265 103.113 l +365.474 103.186 l +365.684 102.944 l +365.894 103.076 l +366.104 103.193 l +366.733 103.625 l +366.943 103.471 l +367.153 103.245 l +367.362 103.091 l +367.572 102.864 l +368.202 103.062 l +368.411 102.879 l +368.621 102.593 l +368.831 102.586 l +369.041 102.374 l +369.67 102.125 l +369.88 102.081 l +370.089 102.044 l +370.299 102.154 l +370.509 102.278 l +371.348 101.986 l +371.558 102.132 l +371.768 102.147 l +371.977 102.286 l +372.607 102.103 l +372.817 101.971 l +373.026 101.686 l +373.236 101.488 l +373.446 101.517 l +374.075 101.305 l +374.285 101.495 l +374.495 101.927 l +374.705 102.205 l +374.914 102.337 l +375.544 102.293 l +375.753 102.227 l +375.963 102.403 l +376.173 102.3 l +376.383 102.117 l +377.012 102.322 l +377.222 102.154 l +377.432 102.593 l +377.641 103.062 l +377.851 102.835 l +378.48 103.091 l +378.9 102.652 l +379.11 102.725 l +379.32 102.52 l +379.949 102.249 l +380.159 102.6 l +380.368 102.037 l +380.578 101.92 l +380.788 102.037 l +381.417 102.008 l +381.627 102.271 l +381.837 102.469 l +382.047 101.481 l +382.256 101.51 l +382.886 101.751 l +383.095 101.788 l +383.305 101.766 l +383.515 101.744 l +383.725 102.249 l +384.354 102.117 l +384.564 101.876 l +384.774 101.825 l +384.983 101.715 l +385.193 101.825 l +385.823 101.708 l +386.032 101.737 l +386.242 101.766 l +386.452 102.015 l +386.662 101.773 l +387.291 102.103 l +387.501 102.286 l +387.711 102.63 l +387.92 102.593 l +388.13 102.483 l +388.759 102.374 l +388.969 102.439 l +389.179 102.469 l +389.389 102.593 l +389.598 102.842 l +390.228 103.186 l +390.438 103.398 l +390.647 103.515 l +390.857 103.318 l +391.067 103.545 l +391.906 103.618 l +392.116 103.135 l +392.326 103.069 l +392.535 103.23 l +393.165 103.201 l +393.374 103.449 l +393.584 103.508 l +393.794 103.471 l +394.004 103.274 l +394.633 103.376 l +394.843 103.215 l +395.053 103.259 l +395.262 103.047 l +395.472 102.959 l +396.102 103.208 l +396.311 103.596 l +396.521 103.911 l +396.731 104.181 l +396.941 104.035 l +397.57 103.947 l +397.78 104.035 l +397.989 104.218 l +398.199 104.189 l +398.409 104.079 l +399.038 104.072 l +399.248 104.269 l +399.458 104.269 l +399.668 104.694 l +399.877 104.774 l +400.507 104.781 l +400.717 104.276 l +400.926 104.423 l +401.136 104.364 l +401.346 104.584 l +401.975 104.672 l +402.185 104.789 l +402.395 104.862 l +402.605 104.899 l +402.814 104.416 l +403.444 104.533 l +403.653 104.591 l +403.863 104.357 l +404.073 104.115 l +404.283 104.064 l +404.912 104.291 l +405.122 104.276 l +405.332 104.211 l +405.541 103.998 l +405.751 104.115 l +406.38 104.416 l +406.59 105.052 l +406.8 105.367 l +407.01 105.374 l +407.22 105.213 l +407.849 105.33 l +408.059 104.833 l +408.268 104.943 l +408.688 104.847 l +409.317 104.43 l +409.527 104.401 l +409.737 104.591 l +409.947 104.708 l +410.156 104.372 l +410.786 104.577 l +410.995 104.503 l +411.205 104.35 l +411.415 104.167 l +411.625 104.189 l +412.254 104.203 l +412.464 104.225 l +412.674 104.203 l +412.883 104.255 l +413.093 104.386 l +413.723 104.306 l +413.932 104.174 l +414.142 104.13 l +414.352 103.962 l +414.562 103.757 l +415.401 103.808 l +415.611 103.984 l +415.82 103.998 l +416.03 103.881 l +417.079 103.947 l +417.289 104.54 l +417.498 104.489 l +418.128 104.423 l +418.338 104.438 l +418.547 104.796 l +418.757 105.082 l +418.967 105.235 l +419.806 105.352 l +420.016 104.445 l +420.226 104.167 l +420.435 104.291 l +421.065 104.269 l +421.274 104.094 l +421.484 104.306 l +421.694 104.13 l +421.904 104.079 l +422.533 104.342 l +422.743 104.372 l +422.953 104.386 l +423.162 104.496 l +423.372 104.584 l +424.002 104.701 l +424.211 104.723 l +424.421 104.869 l +424.631 104.76 l +424.841 104.518 l +425.47 104.357 l +425.68 104.408 l +425.889 104.599 l +426.099 104.723 l +426.309 104.664 l +427.148 104.628 l +427.358 104.416 l +427.568 104.474 l +427.777 104.328 l +428.407 104.394 l +428.617 103.793 l +428.826 103.676 l +429.036 103.479 l +429.246 103.208 l +429.875 103.127 l +430.085 103.34 l +430.295 103.135 l +430.505 103.215 l +430.714 103.12 l +431.344 103.398 l +431.553 103.135 l +431.763 103.215 l +431.973 103.149 l +432.183 103.157 l +432.812 103.127 l +433.022 103.04 l +433.232 103.296 l +433.441 103.164 l +433.651 103.245 l +434.28 103.259 l +434.49 103.091 l +434.7 102.952 l +434.91 103.113 l +435.12 103.142 l +435.749 103.142 l +435.959 103.274 l +436.168 103.325 l +436.378 103.471 l +437.217 103.845 l +437.427 104.269 l +437.637 104.115 l +437.847 104.137 l +438.056 104.108 l +438.686 104.276 l +438.895 104.481 l +439.105 104.752 l +439.315 105.089 l +439.525 105.338 l +440.154 105.162 l +440.364 105.184 l +440.574 105.411 l +440.783 105.287 l +440.993 105.133 l +441.623 104.862 l +441.832 105.082 l +442.042 105.177 l +442.252 105.118 l +442.462 105.235 l +443.091 105.279 l +443.301 105.418 l +443.511 105.652 l +443.72 105.462 l +443.93 105.513 l +444.559 105.396 l +444.769 105.316 l +444.979 105.44 l +445.189 105.477 l +445.398 105.813 l +446.028 105.762 l +446.238 106.026 l +446.447 105.792 l +446.657 105.287 l +446.867 105.426 l +447.706 105.528 l +447.916 105.367 l +448.126 105.44 l +448.335 105.572 l +448.965 105.426 l +449.174 105.279 l +449.384 104.935 l +449.594 104.803 l +449.804 105.184 l +450.433 105.257 l +450.643 105.455 l +450.853 105.792 l +451.062 106.201 l +451.272 106.941 l +451.902 106.889 l +452.111 106.838 l +452.321 106.721 l +452.531 106.977 l +452.741 106.545 l +453.37 106.384 l +453.58 106.311 l +453.789 106.611 l +453.999 106.706 l +454.209 106.575 l +454.838 106.963 l +455.048 107.197 l +455.468 107.204 l +455.677 107.263 l +456.307 107.46 l +456.517 107.468 l +456.726 107.182 l +456.936 108.221 l +457.146 108.199 l +457.775 108.185 l +457.985 108.463 l +458.195 107.533 l +458.405 107.68 l +458.614 107.167 l +459.244 107.292 l +459.453 107.153 l +459.663 107.131 l +459.873 106.765 l +460.083 106.428 l +460.712 106.655 l +460.922 106.487 l +461.132 106.619 l +461.341 106.984 l +461.551 106.78 l +462.18 106.941 l +462.39 106.941 l +462.6 107.343 l +462.81 106.787 l +463.02 106.831 l +463.649 106.86 l +463.859 106.699 l +464.068 106.275 l +464.278 106.187 l +464.488 106.626 l +465.117 106.926 l +465.327 106.765 l +465.537 106.955 l +465.747 107.014 l +465.956 107.424 l +466.586 107.175 l +466.795 106.816 l +467.005 107.643 l +467.215 107.782 l +467.425 108.126 l +468.264 108.441 l +468.474 108.302 l +468.683 108.419 l +468.893 107.921 l +469.523 107.833 l +469.732 108.06 l +469.942 107.914 l +470.152 107.833 l +470.362 107.526 l +470.991 107.468 l +471.201 107.877 l +471.411 108.075 l +471.62 108.17 l +471.83 108.214 l +472.459 108.295 l +472.669 108.229 l +472.879 108.243 l +473.089 108.134 l +473.298 108.207 l +473.928 108.58 l +474.138 108.587 l +474.347 108.17 l +474.557 108.016 l +474.767 107.973 l +475.396 108.06 l +475.606 108.192 l +475.816 108.221 l +476.026 107.892 l +476.235 107.98 l +476.865 108.126 l +477.074 107.929 l +477.284 108.836 l +477.494 109.019 l +477.704 108.529 l +stroke +grestore +0.000 0.500 0.000 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +110.389 100.8 m +110.598 100.815 l +111.228 101.026 l +111.438 101.247 l +111.647 100.91 l +111.857 101.247 l +112.067 101.272 l +112.696 101.372 l +112.906 101.497 l +113.116 101.347 l +113.326 101.151 l +113.535 100.313 l +114.374 100.288 l +114.584 100.218 l +114.794 100.489 l +115.004 99.9721 l +115.633 99.8266 l +115.843 99.7514 l +116.053 99.9822 l +116.262 99.6259 l +116.472 99.4553 l +117.102 99.6911 l +117.311 99.4252 l +117.521 99.35 l +117.731 99.4503 l +117.941 99.2697 l +118.57 99.4403 l +118.78 99.2396 l +118.989 99.2396 l +119.199 99.355 l +119.409 99.636 l +120.248 99.9872 l +120.458 99.8367 l +120.668 99.6661 l +120.877 99.8768 l +121.507 99.636 l +121.717 99.6861 l +121.926 99.4403 l +122.136 99.4252 l +122.346 99.4754 l +122.975 99.4102 l +123.185 99.2045 l +123.395 99.365 l +123.605 99.2948 l +123.814 99.4152 l +124.444 99.1543 l +124.653 99.0891 l +124.863 99.3449 l +125.073 99.8969 l +125.283 99.9771 l +125.912 100.439 l +126.122 100.484 l +126.332 100.604 l +126.541 100.574 l +126.751 100.715 l +127.38 100.163 l +127.59 100.248 l +127.8 100.143 l +128.01 100.052 l +128.22 99.8969 l +128.849 99.6962 l +129.059 99.7564 l +129.268 100.348 l +129.478 100.348 l +129.688 100.077 l +130.317 100.108 l +130.527 100.288 l +130.737 99.8517 l +130.947 99.8617 l +131.156 99.6911 l +131.786 99.932 l +131.995 99.8668 l +132.205 100.002 l +132.415 100.253 l +133.254 100.128 l +133.464 100.363 l +133.674 100.348 l +133.883 100.248 l +134.093 100.133 l +134.723 100.353 l +134.932 100.379 l +135.142 100.283 l +135.352 100.348 l +135.562 100.509 l +136.191 100.409 l +136.401 100.624 l +136.611 100.464 l +136.82 100.353 l +137.03 100.619 l +137.659 100.554 l +137.869 100.464 l +138.079 100.303 l +138.289 100.379 l +138.498 100.283 l +139.128 99.932 l +139.338 99.8768 l +139.547 99.6209 l +139.757 99.6761 l +139.967 99.7012 l +140.806 99.947 l +141.016 99.7815 l +141.226 99.7764 l +141.435 99.8668 l +142.065 99.8818 l +142.274 99.9872 l +142.484 99.9822 l +142.694 99.646 l +142.904 99.4654 l +143.533 99.5005 l +143.743 99.8969 l +143.953 99.9872 l +144.162 100.032 l +144.372 99.8868 l +145.002 100.203 l +145.211 100.449 l +145.421 100.499 l +145.631 100.499 l +145.841 100.609 l +146.47 100.374 l +146.68 100.338 l +146.889 100.148 l +147.099 100.358 l +147.309 100.308 l +147.938 100.313 l +148.148 100.529 l +148.358 100.845 l +148.568 100.685 l +149.407 101.076 l +149.617 101.196 l +149.826 101.101 l +150.036 100.86 l +150.246 101.031 l +150.875 101.071 l +151.085 101.016 l +151.295 101.121 l +151.505 100.765 l +151.714 100.85 l +152.344 100.484 l +152.553 100.629 l +152.763 100.66 l +152.973 100.469 l +153.183 100.85 l +153.812 100.73 l +154.022 100.67 l +154.232 100.564 l +154.441 100.644 l +154.651 100.539 l +155.28 100.544 l +155.49 100.318 l +155.7 100.318 l +155.91 100.343 l +156.12 100.288 l +156.749 100.298 l +156.959 100.348 l +157.168 100.293 l +157.378 100.308 l +157.588 100.268 l +158.217 100.338 l +158.427 100.735 l +158.637 100.66 l +158.847 100.569 l +159.056 100.559 l +159.686 100.685 l +159.895 100.715 l +160.105 100.649 l +160.315 100.685 l +160.525 100.69 l +161.364 101.011 l +161.574 101.457 l +161.783 101.512 l +161.993 101.492 l +162.623 101.688 l +162.832 101.487 l +163.042 101.136 l +163.252 101.257 l +163.462 101.472 l +164.091 101.482 l +164.301 101.713 l +164.511 101.543 l +164.72 101.974 l +164.93 102.17 l +165.559 101.788 l +165.769 102.014 l +165.979 101.528 l +166.189 101.432 l +166.398 101.407 l +167.028 101.683 l +167.238 101.242 l +167.447 101.553 l +167.657 101.543 l +167.867 101.793 l +168.496 101.839 l +168.706 101.819 l +168.916 101.678 l +169.126 101.733 l +169.335 101.718 l +169.965 101.663 l +170.174 101.618 l +170.384 101.859 l +170.594 101.929 l +170.804 101.798 l +171.433 101.979 l +171.643 101.979 l +171.853 101.778 l +172.062 101.788 l +172.272 100.795 l +172.902 100.925 l +173.111 101.051 l +173.321 100.85 l +173.531 100.579 l +173.741 100.589 l +174.37 100.825 l +174.58 100.559 l +174.789 100.574 l +174.999 100.629 l +175.209 100.574 l +175.838 100.529 l +176.048 100.444 l +176.258 100.519 l +176.468 100.394 l +176.677 100.313 l +177.307 100.163 l +177.517 100.163 l +177.726 100.248 l +177.936 100.143 l +178.146 100.143 l +178.775 100.414 l +178.985 100.268 l +179.195 100.293 l +179.614 100.404 l +180.244 100.459 l +180.453 100.384 l +180.663 100.389 l +180.873 100.614 l +181.083 100.519 l +181.712 100.634 l +181.922 100.695 l +182.132 100.785 l +182.341 100.795 l +182.551 100.81 l +183.18 100.85 l +183.39 100.991 l +183.6 100.981 l +183.81 101.136 l +184.02 101.116 l +184.649 101.041 l +184.859 101.026 l +185.068 100.981 l +185.488 101.051 l +186.117 101.161 l +186.327 101.186 l +186.537 101.121 l +186.956 101.156 l +187.586 101.457 l +187.795 101.497 l +188.005 101.487 l +188.215 101.462 l +188.425 101.247 l +189.054 101.211 l +189.264 101.146 l +189.474 101.267 l +189.683 101.196 l +189.893 101.312 l +190.732 101.437 l +190.942 101.523 l +191.152 101.397 l +191.362 101.603 l +191.991 101.743 l +192.201 101.502 l +192.411 101.272 l +192.62 101.357 l +192.83 101.242 l +193.459 101.136 l +193.669 101.086 l +193.879 100.966 l +194.089 100.946 l +194.298 100.996 l +194.928 100.92 l +195.138 100.971 l +195.347 101.026 l +195.557 100.94 l +195.767 100.785 l +196.606 100.961 l +196.816 100.865 l +197.026 100.73 l +197.235 100.775 l +197.865 100.795 l +198.074 100.91 l +198.284 100.835 l +198.494 100.745 l +198.704 100.76 l +199.333 100.835 l +199.543 100.7 l +199.753 100.69 l +199.962 100.69 l +200.172 100.68 l +200.802 100.454 l +201.011 100.409 l +201.221 100.258 l +201.431 100.138 l +201.641 100.263 l +202.27 100.168 l +202.48 100.173 l +202.689 100.153 l +202.899 100.047 l +203.109 99.937 l +203.738 99.8818 l +203.948 99.7313 l +204.158 99.8417 l +204.368 100.178 l +204.577 100.108 l +205.207 100.233 l +205.417 100.183 l +205.626 100.067 l +205.836 100.133 l +206.046 100.464 l +206.675 100.509 l +206.885 100.444 l +207.095 100.353 l +207.305 100.303 l +208.144 100.363 l +208.353 100.293 l +208.563 100.318 l +208.773 100.193 l +208.983 100.168 l +209.612 100.328 l +209.822 100.238 l +210.032 100.293 l +210.241 100.509 l +210.451 101.196 l +211.08 101.066 l +211.29 101.056 l +211.5 100.77 l +211.71 100.74 l +211.92 100.584 l +212.549 100.68 l +212.759 100.675 l +212.968 100.66 l +213.178 100.579 l +213.388 100.434 l +214.017 100.499 l +214.227 100.504 l +214.437 100.504 l +214.647 100.574 l +214.856 100.469 l +215.486 100.328 l +215.695 100.454 l +215.905 100.363 l +216.115 100.414 l +216.325 100.484 l +216.954 100.424 l +217.164 100.574 l +217.374 100.589 l +217.583 100.614 l +217.793 100.629 l +218.632 100.579 l +218.842 100.584 l +219.052 100.484 l +219.262 100.509 l +219.891 100.715 l +220.101 100.79 l +220.311 100.735 l +220.52 100.865 l +221.359 100.92 l +221.569 101.141 l +221.779 101.101 l +221.989 101.297 l +222.198 101.548 l +222.828 101.548 l +223.038 101.523 l +223.247 101.523 l +223.457 101.563 l +223.667 101.643 l +224.296 101.517 l +224.506 101.613 l +224.716 101.638 l +224.926 101.668 l +225.135 101.643 l +225.974 101.402 l +226.184 101.437 l +226.394 101.242 l +226.604 101.337 l +227.233 101.347 l +227.443 101.221 l +227.653 101.452 l +227.862 101.337 l +228.072 101.171 l +228.702 101.372 l +228.911 101.533 l +229.121 101.768 l +229.331 101.829 l +229.541 101.407 l +230.17 101.683 l +230.38 101.588 l +230.589 101.648 l +230.799 101.603 l +231.009 101.608 l +231.638 101.618 l +231.848 101.427 l +232.058 101.422 l +232.268 101.191 l +232.477 101.021 l +233.107 101.041 l +233.317 101.272 l +233.526 101.141 l +233.736 100.91 l +233.946 100.971 l +234.575 101.001 l +234.785 100.986 l +234.995 101.161 l +235.205 101.016 l +235.414 101.051 l +236.044 101.101 l +236.253 101.101 l +236.463 101.237 l +236.673 101.186 l +236.883 101.196 l +237.512 101.126 l +237.722 101.126 l +237.932 101.166 l +238.141 101.267 l +238.351 101.046 l +239.19 101.151 l +239.4 101.111 l +239.61 101.116 l +239.82 101.211 l +240.449 101.106 l +240.659 101.186 l +240.868 101.081 l +241.078 101.111 l +241.288 101.216 l +241.917 101.216 l +242.127 101.111 l +242.337 101.051 l +242.547 101.151 l +242.756 101.121 l +243.386 101.081 l +243.595 101.116 l +243.805 101.247 l +244.015 101.277 l +244.225 101.538 l +244.854 101.482 l +245.064 101.598 l +245.274 101.663 l +245.483 101.502 l +245.693 101.427 l +246.323 101.457 l +246.532 101.442 l +246.742 101.442 l +246.952 101.342 l +247.162 101.427 l +247.791 101.608 l +248.001 101.507 l +248.211 101.733 l +248.42 101.673 l +248.63 101.317 l +249.259 101.272 l +249.469 101.387 l +249.679 101.497 l +249.889 101.437 l +250.098 101.417 l +250.728 101.467 l +250.938 101.533 l +251.147 101.633 l +251.357 101.864 l +251.567 101.999 l +252.196 101.984 l +252.406 102.2 l +252.616 102.18 l +252.826 102.29 l +253.035 102.285 l +253.665 102.526 l +253.874 102.396 l +254.084 102.421 l +254.294 102.37 l +254.504 102.27 l +255.133 102.17 l +255.343 102.11 l +255.553 102.165 l +255.972 102.145 l +256.602 102.23 l +256.811 102.245 l +257.021 102.461 l +257.231 102.38 l +257.441 102.451 l +258.07 102.501 l +258.28 102.37 l +258.489 102.511 l +258.699 102.451 l +258.909 102.375 l +259.538 102.461 l +259.748 102.451 l +259.958 102.391 l +260.168 102.416 l +260.377 102.32 l +261.007 102.315 l +261.217 102.37 l +261.426 102.325 l +261.636 102.345 l +262.475 102.265 l +262.685 102.315 l +262.895 102.29 l +263.105 102.225 l +263.314 102.205 l +263.944 102.215 l +264.153 102.26 l +264.363 102.235 l +264.573 102.22 l +264.783 102.18 l +265.412 102.24 l +265.622 102.21 l +265.832 102.235 l +266.041 101.984 l +266.251 101.914 l +267.09 102.009 l +267.3 101.844 l +267.51 101.788 l +267.72 101.688 l +268.349 101.698 l +268.559 101.864 l +268.768 101.859 l +268.978 101.909 l +269.188 101.944 l +269.817 101.989 l +270.027 102.044 l +270.237 102.079 l +270.447 101.944 l +270.656 102.009 l +271.286 101.934 l +271.495 101.969 l +271.705 101.889 l +271.915 101.884 l +272.125 101.839 l +272.754 101.859 l +272.964 101.859 l +273.174 101.793 l +273.383 101.723 l +273.593 101.643 l +274.432 101.523 l +274.642 101.507 l +274.852 101.588 l +275.062 101.533 l +275.691 101.487 l +275.901 101.543 l +276.111 101.538 l +276.32 101.492 l +276.53 101.492 l +277.159 101.638 l +277.369 101.603 l +277.579 101.558 l +277.789 101.618 l +277.998 101.452 l +278.628 101.462 l +278.838 101.367 l +279.047 101.231 l +279.257 101.186 l +279.467 101.076 l +280.096 101.021 l +280.306 100.92 l +280.516 101.011 l +280.726 101.061 l +281.565 101.021 l +281.774 100.885 l +281.984 101.001 l +282.194 101.006 l +282.404 100.981 l +283.033 101.036 l +283.243 101.151 l +283.453 101.247 l +283.662 101.457 l +283.872 101.382 l +284.502 101.392 l +284.711 101.563 l +284.921 101.427 l +285.131 101.332 l +285.341 101.146 l +285.97 101.242 l +286.18 101.231 l +286.389 101.081 l +286.599 101.543 l +286.809 101.397 l +287.438 101.402 l +287.648 101.292 l +287.858 101.402 l +288.068 101.141 l +288.277 101.553 l +288.907 101.523 l +289.117 101.583 l +289.326 101.512 l +289.536 101.523 l +289.746 101.517 l +290.375 101.462 l +290.585 101.362 l +290.795 101.367 l +291.005 101.407 l +291.214 101.553 l +291.844 101.688 l +292.053 101.673 l +292.263 101.788 l +292.473 101.894 l +292.683 101.809 l +293.312 101.859 l +293.522 101.814 l +293.732 101.793 l +293.941 101.884 l +294.151 101.969 l +294.99 101.839 l +295.2 101.844 l +295.41 101.834 l +295.62 101.658 l +296.249 101.628 l +296.459 101.698 l +296.668 101.643 l +296.878 101.698 l +297.088 101.658 l +297.717 101.598 l +297.927 101.623 l +298.137 101.573 l +298.347 101.467 l +298.556 101.467 l +299.186 101.502 l +299.395 101.523 l +299.605 101.482 l +299.815 101.598 l +300.025 101.467 l +300.654 101.472 l +300.864 101.482 l +301.074 101.492 l +301.283 101.372 l +301.493 101.307 l +302.332 101.437 l +302.542 101.302 l +302.752 101.277 l +302.962 101.492 l +303.591 101.588 l +303.801 101.743 l +304.011 101.768 l +304.22 101.919 l +304.43 101.834 l +305.059 101.713 l +305.269 102.014 l +305.479 102.024 l +305.689 102.15 l +305.898 101.778 l +306.528 101.783 l +306.738 101.708 l +306.947 101.798 l +307.157 101.814 l +307.367 101.743 l +307.996 101.894 l +308.206 102.33 l +308.416 102.541 l +308.626 102.576 l +308.835 102.792 l +309.465 102.486 l +309.674 102.591 l +309.884 102.396 l +310.094 102.551 l +310.304 102.446 l +310.933 102.521 l +311.143 102.335 l +311.353 102.436 l +311.562 102.37 l +311.772 102.325 l +312.402 102.416 l +312.611 102.396 l +312.821 102.365 l +313.031 102.476 l +313.241 102.446 l +313.87 102.531 l +314.08 102.546 l +314.289 102.646 l +314.499 102.556 l +314.709 102.471 l +315.548 102.461 l +315.758 102.386 l +315.968 102.27 l +316.177 102.255 l +316.807 102.27 l +317.017 102.205 l +317.226 102.125 l +317.436 102.105 l +317.646 102.004 l +318.275 101.974 l +318.485 101.894 l +318.695 101.723 l +318.905 101.648 l +319.114 101.613 l +319.744 101.613 l +319.953 101.648 l +320.163 101.809 l +320.373 101.944 l +320.583 101.839 l +321.212 101.728 l +321.422 101.472 l +321.632 101.322 l +321.841 101.352 l +322.051 101.282 l +322.68 101.221 l +322.89 101.196 l +323.1 101.141 l +323.31 101.282 l +323.52 101.322 l +324.149 101.252 l +324.359 101.272 l +324.568 101.528 l +324.778 101.382 l +324.988 101.377 l +325.617 101.533 l +325.827 101.497 l +326.037 101.538 l +326.247 101.412 l +326.456 101.743 l +327.086 101.824 l +327.295 101.954 l +327.505 102.195 l +327.715 102.185 l +327.925 102.295 l +328.554 102.466 l +328.764 102.486 l +328.974 102.441 l +329.183 102.506 l +329.393 102.596 l +330.023 102.641 l +330.232 102.742 l +330.442 102.862 l +330.652 102.973 l +330.862 103.023 l +331.491 103.068 l +331.701 102.942 l +331.911 102.947 l +332.33 102.872 l +332.959 102.867 l +333.169 102.832 l +333.379 102.832 l +333.589 102.932 l +333.798 102.993 l +334.428 102.912 l +334.638 102.837 l +334.847 102.867 l +335.057 102.837 l +335.267 102.847 l +335.896 102.717 l +336.106 102.561 l +336.316 102.541 l +336.526 102.461 l +336.735 102.451 l +337.365 102.416 l +337.574 102.431 l +337.784 102.365 l +337.994 102.295 l +338.204 102.32 l +339.043 102.235 l +339.253 102.2 l +339.462 102.14 l +339.672 102.084 l +340.511 102.421 l +340.721 102.486 l +340.931 102.496 l +341.141 102.456 l +341.77 102.431 l +341.98 102.501 l +342.189 102.641 l +342.399 102.566 l +342.609 102.591 l +343.448 102.496 l +343.658 102.416 l +343.868 102.506 l +344.077 102.21 l +344.707 102.18 l +344.917 102.145 l +345.126 102.205 l +345.336 102.255 l +345.546 102.887 l +346.175 102.988 l +346.385 103.063 l +346.595 103.008 l +346.805 102.832 l +347.014 102.762 l +347.644 102.581 l +347.853 102.471 l +348.063 102.456 l +348.273 102.33 l +348.483 102.345 l +349.112 102.2 l +349.322 102.325 l +349.532 102.486 l +349.741 102.451 l +349.951 102.396 l +350.79 102.315 l +351 102.406 l +351.21 102.375 l +351.42 102.36 l +352.049 102.566 l +352.259 102.481 l +352.468 102.611 l +352.678 102.526 l +352.888 102.511 l +353.517 102.501 l +353.727 102.571 l +353.937 102.666 l +354.147 102.541 l +354.356 102.626 l +354.986 102.596 l +355.195 102.656 l +355.405 102.722 l +355.615 102.677 l +355.825 102.787 l +356.454 102.983 l +356.664 102.907 l +356.874 102.616 l +357.083 102.471 l +357.293 102.546 l +357.923 102.546 l +358.132 102.496 l +358.342 102.551 l +358.552 102.656 l +358.762 102.646 l +359.391 102.817 l +359.601 102.857 l +359.811 102.907 l +360.02 102.817 l +360.23 102.666 l +360.859 102.687 l +361.069 102.606 l +361.279 102.641 l +361.489 102.576 l +362.328 102.466 l +362.538 102.651 l +362.747 102.556 l +362.957 102.556 l +363.167 102.616 l +363.796 102.596 l +364.006 102.596 l +364.216 102.591 l +364.426 102.666 l +364.635 101.141 l +365.265 101.211 l +365.474 101.076 l +365.684 100.66 l +365.894 100.795 l +366.104 100.971 l +366.733 100.935 l +366.943 100.885 l +367.153 100.956 l +367.362 100.685 l +367.572 100.66 l +368.202 100.695 l +368.411 100.629 l +368.621 100.489 l +368.831 100.539 l +369.041 100.404 l +369.67 100.564 l +369.88 100.519 l +370.089 100.87 l +370.299 100.986 l +370.509 100.976 l +371.348 100.695 l +371.558 100.449 l +371.768 100.534 l +371.977 100.504 l +372.607 100.374 l +372.817 100.193 l +373.026 100.148 l +373.236 100.183 l +373.446 100.088 l +374.075 99.9872 l +374.285 99.8868 l +374.495 100.072 l +374.705 100.163 l +374.914 100.178 l +375.544 100.399 l +375.753 100.404 l +375.963 100.66 l +376.173 100.564 l +376.383 100.374 l +377.012 100.534 l +377.222 100.554 l +377.432 100.7 l +377.641 100.855 l +377.851 100.77 l +378.48 100.966 l +378.9 100.795 l +379.11 100.86 l +379.32 100.77 l +379.949 100.87 l +380.159 100.67 l +380.368 100.444 l +380.578 100.258 l +380.788 100.273 l +381.417 100.363 l +381.627 100.494 l +381.837 100.82 l +382.047 100.549 l +382.256 101.051 l +382.886 101.116 l +383.095 101.221 l +383.305 101.297 l +383.515 101.051 l +383.725 101.237 l +384.354 101.146 l +384.564 101.111 l +384.774 101.262 l +384.983 101.221 l +385.193 101.257 l +385.823 101.221 l +386.032 101.282 l +386.242 101.332 l +386.452 101.342 l +386.662 101.327 l +387.291 101.377 l +387.501 101.467 l +387.711 101.507 l +387.92 101.507 l +388.13 102.044 l +388.759 102.21 l +388.969 101.959 l +389.179 101.984 l +389.389 102.019 l +389.598 102.074 l +390.228 102.125 l +390.438 102.069 l +390.647 102.049 l +390.857 101.999 l +391.067 102.069 l +391.906 101.954 l +392.116 101.954 l +392.326 101.869 l +392.535 101.949 l +393.165 102.105 l +393.374 102.115 l +393.584 102.14 l +393.794 102.31 l +394.004 102.571 l +394.633 102.541 l +394.843 102.576 l +395.053 102.732 l +395.262 102.596 l +395.472 102.476 l +396.102 102.621 l +396.311 102.742 l +396.521 102.862 l +396.731 102.842 l +396.941 102.817 l +397.57 102.822 l +397.78 102.827 l +397.989 103.108 l +398.199 103.098 l +398.409 103.073 l +399.038 103.003 l +399.248 102.988 l +399.458 102.912 l +399.668 103.249 l +399.877 103.324 l +400.507 103.364 l +400.717 103.359 l +400.926 103.394 l +401.136 103.284 l +401.346 103.354 l +401.975 103.364 l +402.185 103.279 l +402.395 103.294 l +402.605 103.314 l +402.814 103.309 l +403.444 103.399 l +403.653 103.489 l +403.863 103.54 l +404.073 103.519 l +404.283 103.499 l +404.912 103.555 l +405.122 103.61 l +405.332 103.625 l +405.541 103.76 l +405.751 103.75 l +406.38 103.805 l +406.59 103.795 l +406.8 103.74 l +407.01 103.916 l +407.22 103.881 l +407.849 104.127 l +408.059 104.142 l +408.268 104.142 l +408.688 104.061 l +409.317 103.921 l +409.527 103.876 l +409.737 103.966 l +409.947 103.861 l +410.156 103.74 l +410.786 103.846 l +410.995 103.745 l +411.205 103.68 l +411.415 103.61 l +411.625 103.881 l +412.254 103.951 l +412.464 103.896 l +412.674 103.956 l +412.883 104.217 l +413.093 104.272 l +413.723 104.127 l +413.932 104.177 l +414.142 104.222 l +414.352 104.172 l +414.562 104.001 l +415.401 104.177 l +415.611 104.192 l +415.82 104.172 l +416.03 104.111 l +417.079 104.111 l +417.289 104.086 l +417.498 104.001 l +418.128 104.147 l +418.338 104.162 l +418.547 104.011 l +418.757 104.528 l +418.967 104.779 l +419.806 104.754 l +420.016 104.724 l +420.226 104.678 l +420.435 104.729 l +421.065 104.538 l +421.274 104.548 l +421.484 104.719 l +421.694 104.403 l +421.904 104.478 l +422.533 104.443 l +422.743 104.418 l +422.953 104.608 l +423.162 104.458 l +423.372 104.272 l +424.002 103.986 l +424.211 103.936 l +424.421 103.866 l +424.631 103.81 l +424.841 103.675 l +425.47 103.655 l +425.68 103.74 l +425.889 103.931 l +426.099 103.961 l +426.309 103.605 l +427.148 103.65 l +427.358 103.906 l +427.568 103.926 l +427.777 103.685 l +428.407 103.765 l +428.617 103.168 l +428.826 103.319 l +429.036 103.279 l +429.246 103.113 l +429.875 103.013 l +430.085 103.148 l +430.295 103.038 l +430.505 102.897 l +430.714 102.882 l +431.344 102.957 l +431.553 102.596 l +431.763 102.937 l +431.973 102.877 l +432.183 102.902 l +432.812 103.148 l +433.022 103.153 l +433.232 103.494 l +433.441 103.369 l +433.651 103.243 l +434.28 103.344 l +434.49 103.093 l +434.7 103.053 l +434.91 103.108 l +435.12 103.168 l +435.749 103.103 l +435.959 103.168 l +436.168 103.484 l +436.378 103.509 l +437.217 103.519 l +437.427 103.434 l +437.637 103.289 l +437.847 103.504 l +438.056 103.54 l +438.686 103.6 l +438.895 103.66 l +439.105 103.534 l +439.315 103.58 l +439.525 103.745 l +440.154 103.625 l +440.364 103.63 l +440.574 103.73 l +440.783 103.78 l +440.993 104.292 l +441.623 104.202 l +441.832 104.433 l +442.042 104.533 l +442.252 104.714 l +442.462 104.508 l +443.091 104.583 l +443.301 104.603 l +443.511 104.618 l +443.72 104.518 l +443.93 104.673 l +444.559 104.714 l +444.769 104.729 l +444.979 104.814 l +445.189 104.769 l +445.398 104.694 l +446.028 104.804 l +446.238 104.623 l +446.447 104.568 l +446.657 104.362 l +446.867 104.518 l +447.706 104.673 l +447.916 104.834 l +448.126 104.623 l +448.335 104.573 l +448.965 104.638 l +449.174 104.568 l +449.384 104.423 l +449.594 104.091 l +449.804 104.307 l +450.433 104.292 l +450.643 104.207 l +450.853 104.473 l +451.062 104.538 l +451.272 104.523 l +451.902 104.533 l +452.111 104.508 l +452.321 104.287 l +452.531 104.387 l +452.741 104.026 l +453.37 104.026 l +453.58 104.041 l +453.789 104.217 l +453.999 104.197 l +454.209 104.016 l +454.838 104.152 l +455.048 104.292 l +455.468 104.277 l +455.677 104.267 l +456.307 104.217 l +456.517 103.946 l +456.726 104.026 l +456.936 104.312 l +457.146 104.192 l +457.775 104.297 l +457.985 104.668 l +458.195 104.739 l +458.405 105.035 l +458.614 104.859 l +459.244 104.874 l +459.453 104.678 l +459.663 104.633 l +459.873 104.272 l +460.083 103.976 l +460.712 103.981 l +460.922 103.775 l +461.132 103.931 l +461.341 104.041 l +461.551 103.76 l +462.18 104.051 l +462.39 104.056 l +462.6 104.282 l +462.81 103.931 l +463.02 103.635 l +463.649 103.595 l +463.859 103.464 l +464.068 103.379 l +464.278 103.233 l +464.488 103.454 l +465.117 103.459 l +465.327 103.364 l +465.537 103.439 l +465.747 103.479 l +465.956 103.735 l +466.586 103.575 l +466.795 103.294 l +467.005 103.625 l +467.215 103.555 l +467.425 103.695 l +468.264 103.735 l +468.474 103.57 l +468.683 103.785 l +468.893 103.55 l +469.523 103.57 l +469.732 103.795 l +469.942 103.795 l +470.152 103.911 l +470.362 103.851 l +470.991 103.695 l +471.201 103.795 l +471.411 103.665 l +471.62 103.54 l +471.83 103.655 l +472.459 103.871 l +472.669 104.111 l +472.879 104.081 l +473.089 104.076 l +473.298 104.061 l +473.928 104.217 l +474.138 104.182 l +474.347 104.056 l +474.557 104.187 l +474.767 104.252 l +475.396 104.252 l +475.606 104.382 l +475.816 104.448 l +476.026 104.287 l +476.235 104.418 l +476.865 104.352 l +477.074 104.493 l +477.284 104.874 l +477.494 104.914 l +477.704 104.418 l +stroke +grestore +1.000 0.000 0.000 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +110.389 100.8 m +110.598 101.127 l +111.228 101.677 l +111.438 101.808 l +111.647 101.559 l +111.857 102.004 l +112.067 102.371 l +112.696 102.161 l +112.906 102.175 l +113.116 102.096 l +113.326 101.559 l +113.535 101.311 l +114.374 101.009 l +114.584 101.376 l +114.794 101.769 l +115.004 101.572 l +115.633 101.14 l +115.843 101.468 l +116.053 101.599 l +116.262 101.127 l +116.472 101.193 l +117.102 101.036 l +117.311 100.905 l +117.521 100.931 l +117.731 101.023 l +117.941 100.761 l +118.57 101.009 l +118.78 101.258 l +118.989 101.18 l +119.199 101.088 l +119.409 101.651 l +120.248 102.031 l +120.458 101.965 l +120.668 102.188 l +120.877 102.253 l +121.507 102.161 l +121.717 102.371 l +121.926 102.175 l +122.136 102.423 l +122.346 102.934 l +122.975 102.319 l +123.185 102.292 l +123.395 102.305 l +123.605 102.004 l +123.814 102.122 l +124.444 101.847 l +124.653 101.69 l +124.863 101.847 l +125.073 102.528 l +125.283 102.829 l +125.912 103.929 l +126.122 103.654 l +126.332 103.811 l +126.541 104.243 l +126.751 104.963 l +127.38 104.57 l +127.59 104.74 l +127.8 105.487 l +128.01 105.251 l +128.22 105.238 l +128.849 105.002 l +129.059 104.204 l +129.268 104.819 l +129.478 105.212 l +129.688 105.015 l +130.317 104.989 l +130.527 104.858 l +130.737 104.256 l +130.947 105.172 l +131.156 105.277 l +131.786 105.225 l +131.995 105.513 l +132.205 105.434 l +132.415 105.709 l +133.254 105.905 l +133.464 106.076 l +133.674 106.036 l +133.883 105.945 l +134.093 105.617 l +134.723 105.84 l +134.932 105.657 l +135.142 105.5 l +135.352 105.343 l +135.562 105.735 l +136.191 105.67 l +136.401 105.735 l +136.611 105.487 l +136.82 105.696 l +137.03 105.67 l +137.659 106.416 l +137.869 107.097 l +138.079 107.018 l +138.289 107.293 l +138.498 107.45 l +139.128 106.272 l +139.338 106.678 l +139.547 106.416 l +139.757 106.887 l +139.967 107.921 l +140.806 108.89 l +141.016 108.851 l +141.226 109.008 l +141.435 108.812 l +142.065 108.039 l +142.274 107.961 l +142.484 108.655 l +142.694 108.511 l +142.904 107.581 l +143.533 107.28 l +143.743 107.542 l +143.953 108.655 l +144.162 108.72 l +144.372 108.079 l +145.002 109.348 l +145.211 109.846 l +145.421 110.422 l +145.631 109.977 l +145.841 110.317 l +146.47 109.911 l +146.68 109.807 l +146.889 109.807 l +147.099 110.815 l +147.309 110.369 l +147.938 110.684 l +148.148 111.299 l +148.358 111.757 l +148.568 111.993 l +149.407 112.372 l +149.617 112.255 l +149.826 112.385 l +150.036 110.592 l +150.246 110.343 l +150.875 110.356 l +151.085 110.461 l +151.295 110.134 l +151.505 109.322 l +151.714 108.851 l +152.344 109.597 l +152.553 109.728 l +152.763 110.304 l +152.973 111.011 l +153.183 110.749 l +153.812 110.592 l +154.022 109.937 l +154.232 109.44 l +154.441 109.649 l +154.651 109.872 l +155.28 109.427 l +155.49 108.799 l +155.7 108.563 l +155.91 108.183 l +156.12 108.262 l +156.749 108.196 l +156.959 108.825 l +157.168 108.615 l +157.378 108.772 l +157.588 108.838 l +158.217 109.767 l +158.427 110.239 l +158.637 110.212 l +158.847 110.762 l +159.056 110.108 l +159.686 110.265 l +159.895 110.265 l +160.105 110.487 l +160.315 110.448 l +160.525 111.129 l +161.364 111.652 l +161.574 111.247 l +161.783 112.084 l +161.993 112.111 l +162.623 112.543 l +162.832 112.189 l +163.042 111.823 l +163.252 111.927 l +163.462 112.071 l +164.091 111.953 l +164.301 112.726 l +164.511 112.844 l +164.72 113.878 l +164.93 113.655 l +165.559 113.223 l +165.769 114.035 l +165.979 113.249 l +166.189 113.184 l +166.398 112.241 l +167.028 112.961 l +167.238 112.438 l +167.447 113.105 l +167.657 114.087 l +167.867 114.964 l +168.496 115.318 l +168.706 114.768 l +168.916 114.676 l +169.126 117.268 l +169.335 117.53 l +169.965 117.36 l +170.174 116.967 l +170.384 116.404 l +170.594 116.902 l +170.804 116.928 l +171.433 117.007 l +171.643 117.308 l +171.853 116.627 l +172.062 115.724 l +172.272 115.802 l +172.902 116.221 l +173.111 117.439 l +173.321 117.478 l +173.531 117.897 l +173.741 117.884 l +174.37 118.041 l +174.58 117.713 l +174.789 118.106 l +174.999 117.412 l +175.209 116.993 l +175.838 116.273 l +176.048 115.868 l +176.258 117.111 l +176.468 117.622 l +176.677 116.535 l +177.307 115.697 l +177.517 114.153 l +177.726 114.991 l +177.936 114.598 l +178.146 115.121 l +178.775 116.627 l +178.985 116.797 l +179.195 117.478 l +179.614 117.425 l +180.244 118.211 l +180.453 117.753 l +180.663 117.098 l +180.873 117.517 l +181.083 117.321 l +181.712 117.281 l +181.922 116.483 l +182.132 116.221 l +182.341 117.281 l +182.551 117.412 l +183.18 116.928 l +183.39 115.92 l +183.6 115.933 l +183.81 116.692 l +184.02 116.849 l +184.649 117.164 l +184.859 117.871 l +185.068 118.591 l +185.488 118.276 l +186.117 118.721 l +186.327 118.695 l +186.537 118.748 l +186.956 118.996 l +187.586 119.978 l +187.795 120.201 l +188.005 120.476 l +188.215 121.078 l +188.425 120.777 l +189.054 121.837 l +189.264 121.222 l +189.474 120.947 l +189.683 120.764 l +189.893 120.777 l +190.732 120.476 l +190.942 120.292 l +191.152 120.161 l +191.362 120.109 l +191.991 120.803 l +192.201 120.07 l +192.411 119.507 l +192.62 119.455 l +192.83 120.031 l +193.459 119.847 l +193.669 119.062 l +193.879 118.708 l +194.089 119.455 l +194.298 119.716 l +194.928 119.991 l +195.138 119.965 l +195.347 120.607 l +195.557 120.384 l +195.767 119.651 l +196.606 119.756 l +196.816 119.455 l +197.026 119.389 l +197.235 119.716 l +197.865 118.669 l +198.074 117.923 l +198.284 117.648 l +198.494 117.779 l +198.704 118.303 l +199.333 118.132 l +199.543 117.425 l +199.753 117.661 l +199.962 118.172 l +200.172 118.342 l +200.802 117.975 l +201.011 117.648 l +201.221 116.575 l +201.431 116.548 l +201.641 117.439 l +202.27 116.614 l +202.48 117.137 l +202.689 118.63 l +202.899 118.761 l +203.109 119.232 l +203.738 118.394 l +203.948 118.132 l +204.158 118.407 l +204.368 120.004 l +204.577 120.135 l +205.207 120.489 l +205.417 121.222 l +205.626 121.012 l +205.836 121.654 l +206.046 122.112 l +206.675 122.007 l +206.885 121.209 l +207.095 120.921 l +207.305 126.065 l +208.144 125.372 l +208.353 124.717 l +208.563 125.071 l +208.773 124.56 l +208.983 124.717 l +209.612 125.725 l +209.822 124.324 l +210.032 125.005 l +210.241 126.982 l +210.451 126.432 l +211.08 126.589 l +211.29 126.943 l +211.5 125.83 l +211.71 125.084 l +211.92 122.348 l +212.549 123.513 l +212.759 123.866 l +212.968 124.076 l +213.178 123.552 l +213.388 123.84 l +214.017 122.884 l +214.227 124.311 l +214.437 124.73 l +214.647 124.756 l +214.856 124.586 l +215.486 124.652 l +215.695 125.633 l +215.905 125.869 l +216.115 125.974 l +216.325 126.655 l +216.954 127.807 l +217.164 128.919 l +217.374 128.697 l +217.583 129.286 l +217.793 129.417 l +218.632 131.799 l +218.842 130.582 l +219.052 130.111 l +219.262 131.001 l +219.891 131.839 l +220.101 132.467 l +220.311 131.59 l +220.52 131.695 l +221.359 130.713 l +221.569 131.302 l +221.779 131.786 l +221.989 131.668 l +222.198 131.263 l +222.828 130.739 l +223.038 131.878 l +223.247 133.75 l +223.457 133.933 l +223.667 134.98 l +224.296 135.727 l +224.506 135.556 l +224.716 136.931 l +224.926 134.182 l +225.135 133.711 l +225.974 132.768 l +226.184 131.956 l +226.394 128.657 l +226.604 128.697 l +227.233 128.893 l +227.443 128.998 l +227.653 129.417 l +227.862 128.88 l +228.072 127.492 l +228.702 126.079 l +228.911 127.754 l +229.121 126.105 l +229.331 127.584 l +229.541 126.183 l +230.17 126.209 l +230.38 128.553 l +230.589 128.16 l +230.799 129.194 l +231.009 129.6 l +231.638 129.103 l +231.848 127.44 l +232.058 125.817 l +232.268 124.364 l +232.477 123.343 l +233.107 122.924 l +233.317 124.822 l +233.526 125.175 l +233.736 125.345 l +233.946 125.267 l +234.575 126.262 l +234.785 126.38 l +234.995 126.563 l +235.205 126.079 l +235.414 126.733 l +236.044 126.759 l +236.253 126.471 l +236.463 127.728 l +236.673 127.466 l +236.883 127.636 l +237.512 126.537 l +237.722 126.602 l +237.932 127.257 l +238.141 128.343 l +238.351 127.846 l +239.19 128.081 l +239.4 129.05 l +239.61 129.194 l +239.82 129.967 l +240.449 131.001 l +240.659 132.742 l +240.868 132.349 l +241.078 132.205 l +241.288 133.082 l +241.917 132.82 l +242.127 132.82 l +242.337 131.786 l +242.547 132.532 l +242.756 131.93 l +243.386 130.935 l +243.595 132.218 l +243.805 133.789 l +244.015 133.671 l +244.225 135.137 l +244.854 134.98 l +245.064 135.046 l +245.274 135.046 l +245.483 134.81 l +245.693 134.012 l +246.323 133.815 l +246.532 134.09 l +246.742 135.046 l +246.952 135.046 l +247.162 134.47 l +247.791 135.491 l +248.001 134.627 l +248.211 134.431 l +248.42 136.015 l +248.63 135.046 l +249.259 135.36 l +249.469 135.216 l +249.679 136.643 l +249.889 136.996 l +250.098 136.656 l +250.728 137.612 l +250.938 138.685 l +251.147 138.986 l +251.357 138.58 l +251.567 136.865 l +252.196 137.9 l +252.406 137.756 l +252.616 137.271 l +252.826 138.751 l +253.035 138.764 l +253.665 138.541 l +253.874 137.376 l +254.084 137.651 l +254.294 137.965 l +254.504 136.604 l +255.133 136.996 l +255.343 136.931 l +255.553 138.515 l +255.972 138.777 l +256.602 139.183 l +256.811 138.528 l +257.021 139.025 l +257.231 140.518 l +257.441 140.361 l +258.07 140.125 l +258.28 137.821 l +258.489 137.782 l +258.699 139.431 l +258.909 139.052 l +259.538 139.143 l +259.748 139.366 l +259.958 139.405 l +260.168 137.821 l +260.377 137.415 l +261.007 137.271 l +261.217 137.271 l +261.426 138.096 l +261.636 138.044 l +262.475 138.685 l +262.685 138.895 l +262.895 138.829 l +263.105 138.855 l +263.314 138.607 l +263.944 139.261 l +264.153 137.167 l +264.363 136.577 l +264.573 135.661 l +264.783 136.355 l +265.412 136.826 l +265.622 135.962 l +265.832 136.591 l +266.041 135.53 l +266.251 137.324 l +267.09 137.952 l +267.3 136.996 l +267.51 136.119 l +267.72 135.491 l +268.349 133.697 l +268.559 133.841 l +268.768 135.713 l +268.978 134.745 l +269.188 134.601 l +269.817 135.373 l +270.027 134.771 l +270.237 135.805 l +270.447 135.216 l +270.656 135.124 l +271.286 134.404 l +271.495 134.26 l +271.705 133.252 l +271.915 133.056 l +272.125 133.985 l +272.754 134.221 l +272.964 133.763 l +273.174 134.339 l +273.383 133.553 l +273.593 133.265 l +274.432 132.205 l +274.642 131.328 l +274.852 130.49 l +275.062 130.817 l +275.691 131.524 l +275.901 131.564 l +276.111 131.472 l +276.32 131.577 l +276.53 131.642 l +277.159 132.598 l +277.369 132.689 l +277.579 131.59 l +277.789 131.053 l +277.998 130.713 l +278.628 130.281 l +278.838 131.092 l +279.047 130.621 l +279.257 130.66 l +279.467 130.006 l +280.096 130.673 l +280.306 129.849 l +280.516 129.692 l +280.726 130.399 l +281.565 131.498 l +281.774 131.38 l +281.984 133.108 l +282.194 133.658 l +282.404 134.156 l +283.033 135.19 l +283.243 135.295 l +283.453 134.431 l +283.662 135.19 l +283.872 134.784 l +284.502 134.575 l +284.711 134.156 l +284.921 133.265 l +285.131 133.082 l +285.341 131.773 l +285.97 131.891 l +286.18 132.768 l +286.389 134.64 l +286.599 136.237 l +286.809 134.928 l +287.438 135.74 l +287.648 135.098 l +287.858 135.033 l +288.068 134.221 l +288.277 134.444 l +288.907 134.287 l +289.117 134.156 l +289.326 135.334 l +289.536 134.719 l +289.746 134.47 l +290.375 134.561 l +290.585 133.868 l +290.795 134.941 l +291.005 134.719 l +291.214 134.863 l +291.844 135.687 l +292.053 135.988 l +292.263 136.342 l +292.473 137.389 l +292.683 136.839 l +293.312 137.455 l +293.522 137.232 l +293.732 136.761 l +293.941 137.9 l +294.151 138.07 l +294.99 137.978 l +295.2 139.575 l +295.41 139.68 l +295.62 138.921 l +296.249 139.706 l +296.459 138.292 l +296.668 137.232 l +296.878 138.305 l +297.088 137.468 l +297.717 137.585 l +297.927 137.455 l +298.137 136.826 l +298.347 136.931 l +298.556 136.8 l +299.186 136.996 l +299.395 137.651 l +299.605 137.585 l +299.815 136.669 l +300.025 136.525 l +300.654 135.988 l +300.864 136.145 l +301.074 135.02 l +301.283 134.64 l +301.493 134.365 l +302.332 134.575 l +302.542 133.946 l +302.752 134.614 l +302.962 134.601 l +303.591 136.093 l +303.801 136.708 l +304.011 137.363 l +304.22 137.533 l +304.43 137.167 l +305.059 137.167 l +305.269 138.672 l +305.479 133.004 l +305.689 132.401 l +305.898 133.174 l +306.528 133.593 l +306.738 133.985 l +306.947 134.169 l +307.157 133.802 l +307.367 132.925 l +307.996 132.912 l +308.206 133.632 l +308.416 134.457 l +308.626 133.868 l +308.835 133.161 l +309.465 133.711 l +309.674 133.868 l +309.884 134.038 l +310.094 135.02 l +310.304 134.575 l +310.933 134.575 l +311.143 134.09 l +311.353 134.3 l +311.562 134.26 l +311.772 133.789 l +312.402 132.742 l +312.611 132.624 l +312.821 133.095 l +313.031 133.108 l +313.241 133.226 l +313.87 133.37 l +314.08 132.716 l +314.289 132.899 l +314.499 132.794 l +314.709 132.703 l +315.548 133.37 l +315.758 133.868 l +315.968 132.925 l +316.177 133.082 l +316.807 133.671 l +317.017 134.182 l +317.226 133.527 l +317.436 133.226 l +317.646 132.703 l +318.275 132.153 l +318.485 132.009 l +318.695 131.132 l +318.905 131.223 l +319.114 131.341 l +319.744 131.407 l +319.953 131.799 l +320.163 131.629 l +320.373 133.082 l +320.583 133.58 l +321.212 133.488 l +321.422 133.226 l +321.632 133.121 l +321.841 133.527 l +322.051 133.999 l +322.68 134.483 l +322.89 133.92 l +323.1 133.697 l +323.31 132.964 l +323.52 133.161 l +324.149 133.999 l +324.359 133.396 l +324.568 136.289 l +324.778 135.439 l +324.988 135.478 l +325.617 135.465 l +325.827 135.255 l +326.037 135.7 l +326.247 135.687 l +326.456 135.857 l +327.086 137.677 l +327.295 138.659 l +327.505 139.012 l +327.715 138.305 l +327.925 138.855 l +328.554 138.895 l +328.764 138.986 l +328.974 138.698 l +329.183 139.929 l +329.393 139.667 l +330.023 139.615 l +330.232 138.567 l +330.442 141.696 l +330.652 144.563 l +330.862 143.66 l +331.491 144.615 l +331.701 144.733 l +331.911 144.916 l +332.33 144.432 l +332.959 143.097 l +333.169 141.892 l +333.379 141.945 l +333.589 143.044 l +333.798 143.228 l +334.428 142.259 l +334.638 141.892 l +334.847 141.788 l +335.057 142.102 l +335.267 142.049 l +335.896 141.748 l +336.106 143.215 l +336.316 143.345 l +336.526 143.935 l +336.735 144.681 l +337.365 143.018 l +337.574 142.534 l +337.784 142.259 l +337.994 142.73 l +338.204 142.468 l +339.043 141.565 l +339.253 141.971 l +339.462 141.068 l +339.672 140.57 l +340.511 142.835 l +340.721 142.913 l +340.931 143.647 l +341.141 145.846 l +341.77 146.121 l +341.98 145.545 l +342.189 144.092 l +342.399 142.809 l +342.609 141.513 l +343.448 141.788 l +343.658 135.334 l +343.868 134.221 l +344.077 133.449 l +344.707 134.012 l +344.917 134.928 l +345.126 134.431 l +345.336 135.321 l +345.546 135.216 l +346.175 135.164 l +346.385 134.287 l +346.595 135.098 l +346.805 134.116 l +347.014 133.187 l +347.644 132.375 l +347.853 132.506 l +348.063 132.48 l +348.273 131.825 l +348.483 131.839 l +349.112 131.223 l +349.322 132.113 l +349.532 132.506 l +349.741 132.153 l +349.951 132.166 l +350.79 131.681 l +351 132.689 l +351.21 132.676 l +351.42 132.493 l +352.049 132.14 l +352.259 131.249 l +352.468 131.407 l +352.678 130.778 l +352.888 130.451 l +353.517 130.608 l +353.727 130.425 l +353.937 129.849 l +354.147 128.919 l +354.356 129.312 l +354.986 128.749 l +355.195 129.849 l +355.405 129.247 l +355.615 128.723 l +355.825 128.644 l +356.454 129.129 l +356.664 128.697 l +356.874 129.535 l +357.083 130.948 l +357.293 130.87 l +357.923 130.451 l +358.132 131.681 l +358.342 131.904 l +358.552 131.721 l +358.762 131.511 l +359.391 131.027 l +359.601 131.302 l +359.811 131.315 l +360.02 132.205 l +360.23 131.524 l +360.859 131.891 l +361.069 130.372 l +361.279 129.993 l +361.489 130.032 l +362.328 129.823 l +362.538 130.255 l +362.747 133.187 l +362.957 132.964 l +363.167 132.336 l +363.796 132.493 l +364.006 131.158 l +364.216 132.48 l +364.426 132.742 l +364.635 132.192 l +365.265 131.276 l +365.474 130.975 l +365.684 131.393 l +365.894 131.42 l +366.104 132.035 l +366.733 132.31 l +366.943 131.812 l +367.153 131.289 l +367.362 129.849 l +367.572 129.613 l +368.202 129.901 l +368.411 129.823 l +368.621 128.697 l +368.831 127.244 l +369.041 127.937 l +369.67 129.155 l +369.88 129.548 l +370.089 130.896 l +370.299 132.375 l +370.509 132.506 l +371.348 131.171 l +371.558 130.634 l +371.768 131.158 l +371.977 130.543 l +372.607 129.626 l +372.817 129.469 l +373.026 129.26 l +373.236 129.142 l +373.446 129.037 l +374.075 128.265 l +374.285 128.095 l +374.495 128.055 l +374.705 129.587 l +374.914 129.024 l +375.544 129.011 l +375.753 129.338 l +375.963 129.94 l +376.173 129.443 l +376.383 130.346 l +377.012 130.582 l +377.222 130.529 l +377.432 131.066 l +377.641 132.441 l +377.851 132.48 l +378.48 132.873 l +378.9 131.786 l +379.11 132.624 l +379.32 131.825 l +379.949 132.284 l +380.159 132.703 l +380.368 132.977 l +380.578 131.472 l +380.788 131.276 l +381.417 130.961 l +381.627 131.485 l +381.837 122.269 l +382.047 122.361 l +382.256 123.172 l +382.886 124.547 l +383.095 124.56 l +383.305 124.73 l +383.515 124.233 l +383.725 125.241 l +384.354 124.809 l +384.564 124.547 l +384.774 124.141 l +384.983 124.495 l +385.193 124.612 l +385.823 124.73 l +386.032 125.201 l +386.242 124.913 l +386.452 125.267 l +386.662 125.28 l +387.291 124.966 l +387.501 126.157 l +387.711 126.445 l +387.92 127.126 l +388.13 128.265 l +388.759 127.113 l +388.969 127.584 l +389.179 126.851 l +389.389 127.231 l +389.598 126.943 l +390.228 127.126 l +390.438 127.191 l +390.647 127.27 l +390.857 127.021 l +391.067 127.885 l +391.906 127.335 l +392.116 126.589 l +392.326 125.751 l +392.535 126.118 l +393.165 126.733 l +393.374 127.361 l +393.584 127.466 l +393.794 127.283 l +394.004 127.663 l +394.633 127.244 l +394.843 122.989 l +395.053 122.845 l +395.262 122.452 l +395.472 122.688 l +396.102 122.387 l +396.311 122.073 l +396.521 121.549 l +396.731 122.439 l +396.941 122.374 l +397.57 121.85 l +397.78 121.798 l +397.989 122.282 l +398.199 122.243 l +398.409 122.623 l +399.038 122.047 l +399.248 121.313 l +399.458 121.012 l +399.668 120.855 l +399.877 121.248 l +400.507 120.934 l +400.717 120.895 l +400.926 119.376 l +401.136 119.572 l +401.346 119.664 l +401.975 119.873 l +402.185 120.083 l +402.395 121.34 l +402.605 122.374 l +402.814 122.452 l +403.444 123.251 l +403.653 123.761 l +403.863 123.303 l +404.073 124.01 l +404.283 123.552 l +404.912 124.089 l +405.122 124.115 l +405.332 124.495 l +405.541 125.215 l +405.751 125.136 l +406.38 125.149 l +406.59 124.94 l +406.8 124.822 l +407.01 124.154 l +407.22 124.508 l +407.849 124.259 l +408.059 124.809 l +408.268 126.576 l +408.688 125.974 l +409.317 124.979 l +409.527 124.625 l +409.737 124.678 l +409.947 124.639 l +410.156 123.958 l +410.786 124.481 l +410.995 125.188 l +411.205 124.442 l +411.415 124.141 l +411.625 123.761 l +412.254 123.958 l +412.464 124.298 l +412.674 124.102 l +412.883 124.455 l +413.093 124.495 l +413.723 123.709 l +413.932 123.853 l +414.142 122.78 l +414.352 122.636 l +414.562 122.727 l +415.401 122.596 l +415.611 122.989 l +415.82 122.479 l +416.03 122.714 l +417.079 122.806 l +417.289 124.429 l +417.498 125.594 l +418.128 125.83 l +418.338 125.385 l +418.547 126.851 l +418.757 127.505 l +418.967 127.833 l +419.806 127.623 l +420.016 127.309 l +420.226 126.092 l +420.435 125.463 l +421.065 125.175 l +421.274 124.573 l +421.484 127.165 l +421.694 126.209 l +421.904 125.987 l +422.533 125.764 l +422.743 125.987 l +422.953 126.34 l +423.162 126.393 l +423.372 126.943 l +424.002 126.668 l +424.211 127.702 l +424.421 128.409 l +424.631 128.657 l +424.841 128.212 l +425.47 127.466 l +425.68 127.977 l +425.889 129.417 l +426.099 130.189 l +426.309 131.053 l +427.148 131.184 l +427.358 130.713 l +427.568 130.647 l +427.777 131.302 l +428.407 131.315 l +428.617 129.796 l +428.826 129.679 l +429.036 129.679 l +429.246 129.103 l +429.875 128.959 l +430.085 129.6 l +430.295 129.063 l +430.505 129.482 l +430.714 127.401 l +431.344 128.54 l +431.553 127.977 l +431.763 128.369 l +431.973 128.631 l +432.183 128.396 l +432.812 128.592 l +433.022 128.985 l +433.232 130.241 l +433.441 130.202 l +433.651 130.333 l +434.28 130.726 l +434.49 130.582 l +434.7 130.399 l +434.91 130.307 l +435.12 130.241 l +435.749 130.228 l +435.959 130.804 l +436.168 130.673 l +436.378 131.119 l +437.217 130.7 l +437.427 130.765 l +437.637 130.084 l +437.847 130.137 l +438.056 130.399 l +438.686 130.66 l +438.895 131.289 l +439.105 126.34 l +439.315 125.293 l +439.525 125.228 l +440.154 125.777 l +440.364 125.961 l +440.574 126.013 l +440.783 126.576 l +440.993 126.38 l +441.623 125.987 l +441.832 125.581 l +442.042 126.092 l +442.252 126.17 l +442.462 129.836 l +443.091 129.05 l +443.301 129.089 l +443.511 128.841 l +443.72 128.16 l +443.93 128.618 l +444.559 127.649 l +444.769 126.995 l +444.979 127.519 l +445.189 126.681 l +445.398 128.225 l +446.028 127.702 l +446.238 127.139 l +446.447 126.733 l +446.657 126.471 l +446.867 126.694 l +447.706 126.458 l +447.916 126.432 l +448.126 126.851 l +448.335 126.956 l +448.965 126.707 l +449.174 126.236 l +449.384 125.201 l +449.594 124.599 l +449.804 125.136 l +450.433 125.084 l +450.643 124.691 l +450.853 125.123 l +451.062 125.018 l +451.272 125.031 l +451.902 126.092 l +452.111 125.45 l +452.321 125.489 l +452.531 125.503 l +452.741 125.123 l +453.37 125.463 l +453.58 125.555 l +453.789 125.385 l +453.999 124.953 l +454.209 124.796 l +454.838 124.442 l +455.048 124.625 l +455.468 124.612 l +455.677 124.756 l +456.307 124.887 l +456.517 124.586 l +456.726 124.22 l +456.936 124.573 l +457.146 124.076 l +457.775 124.233 l +457.985 125.319 l +458.195 123.578 l +458.405 123.356 l +458.614 122.465 l +459.244 121.994 l +459.453 121.798 l +459.663 121.588 l +459.873 120.737 l +460.083 120.031 l +460.712 120.201 l +460.922 119.716 l +461.132 119.716 l +461.341 119.86 l +461.551 119.284 l +462.18 119.35 l +462.39 119.965 l +462.6 120.528 l +462.81 120.436 l +463.02 120.62 l +463.649 121.444 l +463.859 120.332 l +464.068 119.808 l +464.278 119.075 l +464.488 120.096 l +465.117 119.834 l +465.327 119.441 l +465.537 119.69 l +465.747 119.559 l +465.956 120.161 l +466.586 119.428 l +466.795 118.761 l +467.005 118.8 l +467.215 118.879 l +467.425 119.036 l +468.264 120.659 l +468.474 120.829 l +468.683 120.895 l +468.893 120.384 l +469.523 119.782 l +469.732 120.319 l +469.942 120.122 l +470.152 120.332 l +470.362 121.654 l +470.991 121.942 l +471.201 122.086 l +471.411 122.387 l +471.62 122.387 l +471.83 123.382 l +472.459 122.963 l +472.669 123.984 l +472.879 124.233 l +473.089 123.67 l +473.298 124.416 l +473.928 124.678 l +474.138 124.56 l +474.347 124.848 l +474.557 124.822 l +474.767 125.777 l +475.396 126 l +475.606 126.419 l +475.816 126.406 l +476.026 125.476 l +476.235 126.563 l +476.865 125.751 l +477.074 124.22 l +477.284 127.008 l +477.494 127.702 l +477.704 127.283 l +stroke +grestore +0.000 0.750 0.750 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +235.205 100.8 m +235.414 101.715 l +236.044 101.84 l +236.253 101.32 l +236.463 101.45 l +236.673 101.669 l +236.883 101.467 l +237.512 100.992 l +237.722 101.033 l +237.932 100.79 l +238.141 100.934 l +238.351 100.762 l +239.19 100.942 l +239.4 101.025 l +239.61 101.026 l +239.82 101.373 l +240.449 101.622 l +240.659 102.08 l +240.868 102.139 l +241.078 102.365 l +241.288 102.769 l +241.917 102.984 l +242.127 102.809 l +242.337 102.871 l +242.547 103.151 l +242.756 103.038 l +243.386 102.857 l +243.595 103.845 l +243.805 104.329 l +244.015 104.159 l +244.225 104.501 l +244.854 104.786 l +245.064 105.166 l +245.274 105.018 l +245.483 105.221 l +245.693 105.093 l +246.323 104.809 l +246.532 105.055 l +246.742 105.457 l +246.952 105.583 l +247.162 105.825 l +247.791 106.405 l +248.001 106.265 l +248.211 105.41 l +248.42 106.43 l +248.63 109.077 l +249.259 110.795 l +249.469 110.152 l +249.679 110.631 l +249.889 111.473 l +250.098 111.167 l +250.728 111.786 l +250.938 111.653 l +251.147 111.286 l +251.357 110.485 l +251.567 108.723 l +252.196 109.09 l +252.406 108.648 l +252.616 108.552 l +252.826 110.292 l +253.035 110.175 l +253.665 110.505 l +253.874 109.089 l +254.084 109.085 l +254.294 108.515 l +254.504 108.729 l +255.133 108.235 l +255.343 108.513 l +255.553 109.344 l +255.972 109.876 l +256.602 110.066 l +256.811 110.173 l +257.021 109.941 l +257.231 109.877 l +257.441 109.992 l +258.07 109.52 l +258.28 108.962 l +258.489 108.795 l +258.699 109.191 l +258.909 108.987 l +259.538 108.849 l +259.748 109.795 l +259.958 109.92 l +260.168 109.54 l +260.377 109.955 l +261.007 110.522 l +261.217 110.376 l +261.426 110.669 l +261.636 110.853 l +262.475 111.313 l +262.685 111.411 l +262.895 111.427 l +263.105 111.966 l +263.314 111.414 l +263.944 112.553 l +264.153 111.61 l +264.363 111.497 l +264.573 110.927 l +264.783 111.536 l +265.412 111.675 l +265.622 111.5 l +265.832 111.712 l +266.041 111.706 l +266.251 112.238 l +267.09 112.69 l +267.3 111.932 l +267.51 111.544 l +267.72 110.896 l +268.349 110.028 l +268.559 109.615 l +268.768 111.007 l +268.978 110.873 l +269.188 111.133 l +269.817 111.739 l +270.027 111.312 l +270.237 112.926 l +270.447 113.489 l +270.656 112.742 l +271.286 111.786 l +271.495 112.086 l +271.705 111.275 l +271.915 110.862 l +272.125 110.795 l +272.754 111.437 l +272.964 111.694 l +273.174 112.059 l +273.383 112.001 l +273.593 112.007 l +274.432 111.251 l +274.642 111.547 l +274.852 110.966 l +275.062 110.62 l +275.691 110.863 l +275.901 110.641 l +276.111 110.54 l +276.32 110.751 l +276.53 110.623 l +277.159 110.957 l +277.369 110.543 l +277.579 110.101 l +277.789 109.943 l +277.998 109.693 l +278.628 109.371 l +278.838 109.786 l +279.047 109.441 l +279.257 109.864 l +279.467 109.95 l +280.096 110.047 l +280.306 109.785 l +280.516 109.829 l +280.726 109.86 l +281.565 110.109 l +281.774 109.896 l +281.984 109.997 l +282.194 110.004 l +282.404 109.95 l +283.033 110.553 l +283.243 110.93 l +283.453 111.004 l +283.662 111.526 l +283.872 111.329 l +284.502 111.465 l +284.711 111.548 l +284.921 111.43 l +285.131 111.26 l +285.341 110.52 l +285.97 110.746 l +286.18 111.255 l +286.389 112.024 l +286.599 112.726 l +286.809 114.057 l +287.438 114.943 l +287.648 114.395 l +287.858 114.513 l +288.068 114.475 l +288.277 114.538 l +288.907 114.801 l +289.117 115.249 l +289.326 115.514 l +289.536 115.339 l +289.746 115.459 l +290.375 115.229 l +290.585 115.434 l +290.795 115.834 l +291.005 115.539 l +291.214 115.599 l +291.844 115.807 l +292.053 116.046 l +292.263 116.738 l +292.473 116.74 l +292.683 117.019 l +293.312 118.608 l +293.522 118.671 l +293.732 119.224 l +293.941 119.039 l +294.151 119.819 l +294.99 121.113 l +295.2 122.345 l +295.41 122.334 l +295.62 121.457 l +296.249 122.683 l +296.459 122.933 l +296.668 121.376 l +296.878 122.151 l +297.088 121.714 l +297.717 121.742 l +297.927 121.237 l +298.137 120.83 l +298.347 121.133 l +298.556 121.461 l +299.186 122.196 l +299.395 122.327 l +299.605 122.494 l +299.815 122.542 l +300.025 123.407 l +300.654 124.194 l +300.864 123.953 l +301.074 122.887 l +301.283 123.051 l +301.493 122.718 l +302.332 123.23 l +302.542 122.749 l +302.752 123.211 l +302.962 123.29 l +303.591 122.959 l +303.801 122.779 l +304.011 123.592 l +304.22 123.825 l +304.43 123.86 l +305.059 123.67 l +305.269 124.86 l +305.479 125.101 l +305.689 125.323 l +305.898 123.998 l +306.528 123.246 l +306.738 123.274 l +306.947 123.37 l +307.157 122.977 l +307.367 122.318 l +307.996 122.76 l +308.206 123.63 l +308.416 123.413 l +308.626 123.462 l +308.835 122.845 l +309.465 122.718 l +309.674 122.755 l +309.884 122.079 l +310.094 121.892 l +310.304 122.543 l +310.933 121.886 l +311.143 122.075 l +311.353 122.012 l +311.562 121.426 l +311.772 121.427 l +312.402 120.739 l +312.611 121.378 l +312.821 121.722 l +313.031 121.724 l +313.241 121.838 l +313.87 122.397 l +314.08 122.261 l +314.289 122.116 l +314.499 122.144 l +314.709 122.397 l +315.548 122.243 l +315.758 123.134 l +315.968 123.194 l +316.177 123.618 l +316.807 124.841 l +317.017 125.064 l +317.226 124.067 l +317.436 124.024 l +317.646 123.746 l +318.275 124.158 l +318.485 124.631 l +318.695 125.089 l +318.905 125.028 l +319.114 125.486 l +319.744 125.362 l +319.953 125.323 l +320.163 124.412 l +320.373 124.827 l +320.583 125.613 l +321.212 125.868 l +321.422 124.986 l +321.632 124.953 l +321.841 125.187 l +322.051 125.214 l +322.68 124.946 l +322.89 124.423 l +323.1 123.834 l +323.31 123.429 l +323.52 123.28 l +324.149 124.297 l +324.359 124.099 l +324.568 124.722 l +324.778 124.09 l +324.988 128.304 l +325.617 129.308 l +325.827 129.109 l +326.037 130.088 l +326.247 129.815 l +326.456 130.401 l +327.086 132.005 l +327.295 132.836 l +327.505 132.871 l +327.715 133.591 l +327.925 134.105 l +328.554 134.633 l +328.764 134.044 l +328.974 132.81 l +329.183 134.182 l +329.393 134.102 l +330.023 134.856 l +330.232 134.377 l +330.442 134.991 l +330.652 135.6 l +330.862 135.228 l +331.491 136.278 l +331.701 137.095 l +331.911 137.828 l +332.33 138.49 l +332.959 137.9 l +333.169 135.61 l +333.379 135.768 l +333.589 136.822 l +333.798 137.236 l +334.428 135.875 l +334.638 135.725 l +334.847 135.688 l +335.057 136.427 l +335.267 136.26 l +335.896 136.652 l +336.106 137.212 l +336.316 137.381 l +336.526 137.793 l +336.735 138.665 l +337.365 138.028 l +337.574 138.618 l +337.784 138.227 l +337.994 138.882 l +338.204 138.755 l +339.043 138.033 l +339.253 138.268 l +339.462 137.517 l +339.672 136.91 l +340.511 139.249 l +340.721 140.398 l +340.931 141.087 l +341.141 142.742 l +341.77 142.885 l +341.98 143.213 l +342.189 143.428 l +342.399 142.509 l +342.609 142.81 l +343.448 142.909 l +343.658 140.36 l +343.868 139.389 l +344.077 135.142 l +344.707 138.361 l +344.917 140.144 l +345.126 138.993 l +345.336 139.138 l +345.546 139.049 l +346.175 138.283 l +346.385 138.954 l +346.595 135.408 l +346.805 134.749 l +347.014 133.086 l +347.644 133.493 l +347.853 131.521 l +348.063 131.654 l +348.273 130.47 l +348.483 130.911 l +349.112 128.97 l +349.322 128.696 l +349.532 128.589 l +349.741 131.353 l +349.951 131.616 l +350.79 131.368 l +351 131.242 l +351.21 132.686 l +351.42 132.609 l +352.049 134.099 l +352.259 130.912 l +352.468 131.163 l +352.678 132.5 l +352.888 132.699 l +353.517 131.541 l +353.727 131.122 l +353.937 129.909 l +354.147 128.66 l +354.356 128.028 l +354.986 127.978 l +355.195 129.597 l +355.405 128.832 l +355.615 128.174 l +355.825 128.291 l +356.454 129.256 l +356.664 128.306 l +356.874 128.341 l +357.083 128.532 l +357.293 131.277 l +357.923 131.724 l +358.132 132.586 l +358.342 134.628 l +358.552 133.877 l +358.762 134.056 l +359.391 134.021 l +359.601 135.702 l +359.811 136.121 l +360.02 136.487 l +360.23 135.911 l +360.859 137.084 l +361.069 136.313 l +361.279 136.231 l +361.489 135.452 l +362.328 135.987 l +362.538 135.691 l +362.747 136.409 l +362.957 136.926 l +363.167 139.463 l +363.796 139.854 l +364.006 138.322 l +364.216 138.185 l +364.426 137.503 l +364.635 137.264 l +365.265 135.078 l +365.474 134.607 l +365.684 134.535 l +365.894 134.601 l +366.104 134.549 l +366.733 134.605 l +366.943 136.214 l +367.153 135.546 l +367.362 133.711 l +367.572 132.234 l +368.202 132.471 l +368.411 131.909 l +368.621 132.276 l +368.831 131.873 l +369.041 131.762 l +369.67 131.869 l +369.88 132.4 l +370.089 133.051 l +370.299 133.251 l +370.509 133.063 l +371.348 131.982 l +371.558 131.969 l +371.768 133.208 l +371.977 132.843 l +372.607 132.269 l +372.817 134.055 l +373.026 133.655 l +373.236 134.435 l +373.446 133.662 l +374.075 133.084 l +374.285 133.656 l +374.495 133.412 l +374.705 134.171 l +374.914 134.136 l +375.544 133.842 l +375.753 133.731 l +375.963 135.448 l +376.173 135.198 l +376.383 135.762 l +377.012 135.688 l +377.222 135.47 l +377.432 135.905 l +377.641 137.249 l +377.851 137.423 l +378.48 137.867 l +378.9 137.668 l +379.11 137.866 l +379.32 137.552 l +379.949 137.293 l +380.159 138.024 l +380.368 137.184 l +380.578 136.218 l +380.788 135.606 l +381.417 136.11 l +381.627 135.554 l +381.837 135.089 l +382.047 133.725 l +382.256 134.068 l +382.886 134.159 l +383.095 133.982 l +383.305 133.539 l +383.515 133.183 l +383.725 133.84 l +384.354 133.665 l +384.564 132.392 l +384.774 131.442 l +384.983 132.378 l +385.193 132.202 l +385.823 132.672 l +386.032 133.022 l +386.242 132.556 l +386.452 132.242 l +386.662 131.587 l +387.291 131.694 l +387.501 133.019 l +387.711 133.794 l +387.92 133.574 l +388.13 133.293 l +388.759 132.598 l +388.969 132.711 l +389.179 132.153 l +389.389 132.188 l +389.598 132.134 l +390.228 133.017 l +390.438 132.787 l +390.647 132.994 l +390.857 132.739 l +391.067 132.747 l +391.906 133.408 l +392.116 132.924 l +392.326 132.734 l +392.535 132.661 l +393.165 133.377 l +393.374 134.274 l +393.584 135.958 l +393.794 135.661 l +394.004 136.338 l +394.633 136.89 l +394.843 135.641 l +395.053 134.859 l +395.262 135.99 l +395.472 135.638 l +396.102 135.661 l +396.311 135.993 l +396.521 135.539 l +396.731 135.615 l +396.941 135.422 l +397.57 135.369 l +397.78 135.668 l +397.989 137.006 l +398.199 136.56 l +398.409 137.557 l +399.038 138.533 l +399.248 138.264 l +399.458 138.246 l +399.668 138.354 l +399.877 138.338 l +400.507 137.701 l +400.717 137.574 l +400.926 137.421 l +401.136 138.196 l +401.346 142.055 l +401.975 144.478 l +402.185 143.621 l +402.395 145.146 l +402.605 144.974 l +402.814 143.838 l +403.444 143.995 l +403.653 143.974 l +403.863 142.954 l +404.073 143.23 l +404.283 143.447 l +404.912 144.038 l +405.122 143.536 l +405.332 143.815 l +405.541 143.542 l +405.751 143.648 l +406.38 144.507 l +406.59 145.456 l +406.8 145.758 l +407.01 146.214 l +407.22 146.546 l +407.849 146.117 l +408.059 147.793 l +408.268 147.604 l +408.688 147.259 l +409.317 144.934 l +409.527 145.479 l +409.737 144.922 l +409.947 144.941 l +410.156 144.48 l +410.786 144.945 l +410.995 145.192 l +411.205 145.389 l +411.415 144.692 l +411.625 144.86 l +412.254 144.84 l +412.464 144.593 l +412.674 144.273 l +412.883 144.632 l +413.093 144.423 l +413.723 142.414 l +413.932 143.083 l +414.142 142.425 l +414.352 141.656 l +414.562 141.585 l +415.401 141.809 l +415.611 143.014 l +415.82 142.386 l +416.03 142.148 l +417.079 142.964 l +417.289 144.763 l +417.498 145.214 l +418.128 144.8 l +418.338 145.02 l +418.547 145.475 l +418.757 146.653 l +418.967 147.259 l +419.806 147.176 l +420.016 146.373 l +420.226 145.288 l +420.435 145.508 l +421.065 144.485 l +421.274 144.28 l +421.484 146.578 l +421.694 145.317 l +421.904 146.207 l +422.533 145.82 l +422.743 146.033 l +422.953 146.857 l +423.162 144.59 l +423.372 144.561 l +424.002 142.914 l +424.211 143.41 l +424.421 143.242 l +424.631 143.359 l +424.841 142.309 l +425.47 141.896 l +425.68 141.989 l +425.889 142.773 l +426.099 142.261 l +426.309 143.234 l +427.148 143.482 l +427.358 143.913 l +427.568 143.912 l +427.777 143.312 l +428.407 142.658 l +428.617 140.803 l +428.826 140.881 l +429.036 140.741 l +429.246 139.645 l +429.875 139.905 l +430.085 141.811 l +430.295 141.592 l +430.505 141.486 l +430.714 141.284 l +431.344 141.49 l +431.553 140.144 l +431.763 140.715 l +431.973 140.507 l +432.183 139.894 l +432.812 140.626 l +433.022 140.402 l +433.232 141.696 l +433.441 142.327 l +433.651 142.303 l +434.28 142.666 l +434.49 142.508 l +434.7 142.308 l +434.91 142.198 l +435.12 141.881 l +435.749 141.924 l +435.959 143.539 l +436.168 143.358 l +436.378 143.414 l +437.217 143.035 l +437.427 142.839 l +437.637 142.613 l +437.847 142.941 l +438.056 142.815 l +438.686 143.731 l +438.895 143.562 l +439.105 143.931 l +439.315 143.43 l +439.525 144.673 l +440.154 144.283 l +440.364 144.105 l +440.574 144.158 l +440.783 144.524 l +440.993 144.275 l +441.623 143.399 l +441.832 143.126 l +442.042 142.756 l +442.252 143.611 l +442.462 143.369 l +443.091 142.927 l +443.301 142.874 l +443.511 143.154 l +443.72 142.261 l +443.93 142.866 l +444.559 142.297 l +444.769 141.863 l +444.979 143.54 l +445.189 143.351 l +445.398 143.277 l +446.028 143.309 l +446.238 143.913 l +446.447 143.696 l +446.657 143.738 l +446.867 144.793 l +447.706 145.205 l +447.916 146.524 l +448.126 146.445 l +448.335 146.731 l +448.965 147.497 l +449.174 148.848 l +449.384 148.78 l +449.594 148.414 l +449.804 148.463 l +450.433 147.987 l +450.643 147.232 l +450.853 147.286 l +451.062 147.011 l +451.272 147.361 l +451.902 148.43 l +452.111 148.328 l +452.321 147.829 l +452.531 148.305 l +452.741 149.553 l +453.37 149.833 l +453.58 150.159 l +453.789 149.703 l +453.999 149.556 l +454.209 149.291 l +454.838 150.173 l +455.048 150.627 l +455.468 151.464 l +455.677 151.208 l +456.307 151.571 l +456.517 151.661 l +456.726 151.79 l +456.936 151.889 l +457.146 152.673 l +457.775 152.769 l +457.985 152.999 l +458.195 152.368 l +458.405 152.263 l +458.614 148.995 l +459.244 148.121 l +459.453 148.292 l +459.663 147.805 l +459.873 147.603 l +460.083 148.05 l +460.712 148.534 l +460.922 147.833 l +461.132 148.17 l +461.341 147.949 l +461.551 147.029 l +462.18 147.833 l +462.39 148.524 l +462.6 149.645 l +462.81 148.376 l +463.02 148.493 l +463.649 148.464 l +463.859 147.672 l +464.068 146.404 l +464.278 145.711 l +464.488 146.689 l +465.117 146.446 l +465.327 147.444 l +465.537 148.149 l +465.747 148.084 l +465.956 148.407 l +466.586 148.207 l +466.795 147.42 l +467.005 148.164 l +467.215 147.994 l +467.425 148.436 l +468.264 149.572 l +468.474 149.877 l +468.683 149.385 l +468.893 148.906 l +469.523 148.347 l +469.732 149.134 l +469.942 149.285 l +470.152 149.53 l +470.362 149.986 l +470.991 149.59 l +471.201 150.734 l +471.411 152.064 l +471.62 152.75 l +471.83 153.585 l +472.459 154.494 l +472.669 154.607 l +472.879 154.51 l +473.089 154.434 l +473.298 154.408 l +473.928 156.162 l +474.138 156.374 l +474.347 156.331 l +474.557 155.758 l +474.767 157.483 l +475.396 159.27 l +475.606 159.909 l +475.816 161.081 l +476.026 160.692 l +476.235 162.459 l +476.865 160.475 l +477.074 160.003 l +477.284 162.01 l +477.494 162.715 l +477.704 163.299 l +stroke +grestore +0.750 0.000 0.750 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +110.389 100.8 m +110.598 100.764 l +111.228 101.057 l +111.438 100.99 l +111.647 100.81 l +111.857 100.99 l +112.067 100.877 l +112.696 100.872 l +112.906 100.903 l +113.116 100.666 l +113.326 100.594 l +113.535 100.528 l +114.374 100.157 l +114.584 99.9261 l +114.794 100.106 l +115.004 99.7051 l +115.633 99.6999 l +115.843 99.7462 l +116.053 99.6896 l +116.262 99.4737 l +116.472 99.741 l +117.102 99.9724 l +117.311 99.6999 l +117.521 99.6794 l +117.731 99.628 l +117.941 99.5406 l +118.57 99.5097 l +118.78 99.4532 l +118.989 99.3401 l +119.199 99.3041 l +119.409 99.4429 l +120.248 99.6382 l +120.458 99.8387 l +120.668 99.8387 l +120.877 100.039 l +121.507 99.8696 l +121.717 100.121 l +121.926 99.9312 l +122.136 100.173 l +122.346 100.24 l +122.975 100.173 l +123.185 99.9415 l +123.395 100.127 l +123.605 100.193 l +123.814 100.353 l +124.444 100.034 l +124.653 99.921 l +124.863 100.127 l +125.073 100.769 l +125.283 100.97 l +125.912 101.252 l +126.122 101.309 l +126.332 101.576 l +126.541 101.515 l +126.751 102.039 l +127.38 101.463 l +127.59 101.576 l +127.8 101.401 l +128.01 101.329 l +128.22 101.144 l +128.849 100.903 l +129.059 101.186 l +129.268 101.607 l +129.478 101.833 l +129.688 101.869 l +130.317 101.931 l +130.527 102.07 l +130.737 101.72 l +130.947 101.756 l +131.156 101.88 l +131.786 101.931 l +131.995 102.178 l +132.205 101.962 l +132.415 102.265 l +133.254 102.111 l +133.464 102.491 l +133.674 102.671 l +133.883 102.543 l +134.093 102.548 l +134.723 102.733 l +134.932 102.676 l +135.142 102.702 l +135.352 102.543 l +135.562 102.532 l +136.191 102.419 l +136.401 102.548 l +136.611 102.43 l +136.82 102.255 l +137.03 102.496 l +137.659 102.481 l +137.869 102.291 l +138.079 102.316 l +138.289 102.26 l +138.498 101.972 l +139.128 101.833 l +139.338 101.916 l +139.547 101.859 l +139.757 101.916 l +139.967 101.874 l +140.806 102.183 l +141.016 102.162 l +141.226 102.152 l +141.435 102.358 l +142.065 102.496 l +142.274 102.517 l +142.484 102.661 l +142.694 102.851 l +142.904 103.088 l +143.533 103.016 l +143.743 103.221 l +143.953 103.396 l +144.162 103.437 l +144.372 103.247 l +145.002 103.56 l +145.211 103.499 l +145.421 103.283 l +145.631 102.887 l +145.841 102.954 l +146.47 102.892 l +146.68 102.918 l +146.889 102.615 l +147.099 102.651 l +147.309 102.409 l +147.938 102.435 l +148.148 102.414 l +148.358 102.404 l +148.568 102.373 l +149.407 102.707 l +149.617 102.496 l +149.826 102.296 l +150.036 102.209 l +150.246 102.178 l +150.875 102.142 l +151.085 101.972 l +151.295 101.838 l +151.505 101.71 l +151.714 102.023 l +152.344 101.736 l +152.553 101.854 l +152.763 101.859 l +152.973 101.864 l +153.183 102.322 l +153.812 102.291 l +154.022 102.08 l +154.232 102.111 l +154.441 102.327 l +154.651 102.332 l +155.28 102.342 l +155.49 102.034 l +155.7 101.977 l +155.91 102.162 l +156.12 102.162 l +156.749 102.25 l +156.959 102.275 l +157.168 102.131 l +157.378 102.373 l +157.588 102.481 l +158.217 102.949 l +158.427 102.969 l +158.637 102.789 l +158.847 103.113 l +159.056 102.985 l +159.686 102.969 l +159.895 102.985 l +160.105 102.928 l +160.315 102.892 l +160.525 102.846 l +161.364 103.242 l +161.574 103.555 l +161.783 103.648 l +161.993 103.519 l +162.623 103.674 l +162.832 103.571 l +163.042 103.514 l +163.252 103.72 l +163.462 103.74 l +164.091 103.684 l +164.301 103.925 l +164.511 103.828 l +164.72 104.008 l +164.93 103.925 l +165.559 103.684 l +165.769 103.756 l +165.979 103.411 l +166.189 103.303 l +166.398 103.067 l +167.028 103.298 l +167.238 103.036 l +167.447 103.417 l +167.657 103.473 l +167.867 103.504 l +168.496 103.489 l +168.706 103.427 l +168.916 103.216 l +169.126 103.185 l +169.335 102.81 l +169.965 102.63 l +170.174 102.8 l +170.384 102.594 l +170.594 102.676 l +170.804 102.455 l +171.433 102.563 l +171.643 102.609 l +171.853 102.363 l +172.062 102.383 l +172.272 102.342 l +172.902 102.306 l +173.111 102.445 l +173.321 102.584 l +173.531 102.609 l +173.741 102.671 l +174.37 102.573 l +174.58 102.507 l +174.789 102.404 l +174.999 102.404 l +175.209 102.26 l +175.838 102.28 l +176.048 102.255 l +176.258 102.527 l +176.468 102.358 l +176.677 102.147 l +177.307 102.116 l +177.517 102.404 l +177.726 102.882 l +177.936 102.64 l +178.146 102.46 l +178.775 102.548 l +178.985 102.625 l +179.195 102.558 l +179.614 102.512 l +180.244 102.676 l +180.453 102.887 l +180.663 102.902 l +180.873 102.733 l +181.083 102.712 l +181.712 102.836 l +181.922 102.923 l +182.132 102.995 l +182.341 103.309 l +182.551 103.175 l +183.18 103.278 l +183.39 103.427 l +183.6 103.463 l +183.81 103.519 l +184.02 103.535 l +184.649 103.586 l +184.859 103.632 l +185.068 103.54 l +185.488 103.458 l +186.117 103.602 l +186.327 103.55 l +186.537 103.674 l +186.956 103.735 l +187.586 103.951 l +187.795 103.853 l +188.005 103.997 l +188.215 104.26 l +188.425 104.054 l +189.054 104.188 l +189.264 103.967 l +189.474 104.147 l +189.683 104.147 l +189.893 104.774 l +190.732 104.779 l +190.942 105.005 l +191.152 104.851 l +191.362 104.707 l +191.991 105.139 l +192.201 105.164 l +192.411 104.964 l +192.62 105.087 l +192.83 104.902 l +193.459 104.902 l +193.669 104.707 l +193.879 104.697 l +194.089 104.851 l +194.298 104.697 l +194.928 104.558 l +195.138 104.378 l +195.347 104.645 l +195.557 104.547 l +195.767 104.481 l +196.606 104.635 l +196.816 104.496 l +197.026 104.424 l +197.235 104.47 l +197.865 104.804 l +198.074 104.743 l +198.284 104.599 l +198.494 104.547 l +198.704 104.481 l +199.333 104.604 l +199.543 104.465 l +199.753 104.635 l +199.962 104.655 l +200.172 104.599 l +200.802 104.157 l +201.011 104.033 l +201.221 103.818 l +201.431 103.499 l +201.641 103.581 l +202.27 103.442 l +202.48 103.535 l +202.689 103.658 l +202.899 103.638 l +203.109 103.365 l +203.738 103.026 l +203.948 102.928 l +204.158 102.918 l +204.368 103.16 l +204.577 103.35 l +205.207 103.524 l +205.417 103.622 l +205.626 103.545 l +205.836 103.591 l +206.046 103.797 l +206.675 104.039 l +206.885 104.013 l +207.095 103.956 l +207.305 103.961 l +208.144 104.059 l +208.353 103.771 l +208.563 103.524 l +208.773 103.658 l +208.983 103.879 l +209.612 103.818 l +209.822 103.519 l +210.032 103.627 l +210.241 103.699 l +210.451 103.622 l +211.08 103.653 l +211.29 103.56 l +211.5 103.314 l +211.71 103.324 l +211.92 103.278 l +212.549 103.442 l +212.759 103.509 l +212.968 103.53 l +213.178 103.519 l +213.388 103.303 l +214.017 103.314 l +214.227 103.417 l +214.437 103.489 l +214.647 103.468 l +214.856 103.375 l +215.486 103.288 l +215.695 103.504 l +215.905 103.417 l +216.115 103.411 l +216.325 103.607 l +216.954 103.668 l +217.164 103.869 l +217.374 103.905 l +217.583 103.889 l +217.793 103.828 l +218.632 103.787 l +218.842 103.818 l +219.052 103.771 l +219.262 103.879 l +219.891 104.085 l +220.101 103.987 l +220.311 103.853 l +220.52 103.997 l +221.359 104.033 l +221.569 104.147 l +221.779 104.29 l +221.989 104.404 l +222.198 104.506 l +222.828 104.517 l +223.038 104.635 l +223.247 104.902 l +223.457 104.923 l +223.667 104.414 l +224.296 104.47 l +224.506 104.481 l +224.716 104.517 l +224.926 104.332 l +225.135 104.172 l +225.974 104.249 l +226.184 104.337 l +226.394 104.188 l +226.604 104.409 l +227.233 104.609 l +227.443 104.722 l +227.653 104.856 l +227.862 104.969 l +228.072 104.84 l +228.702 104.907 l +228.911 104.897 l +229.121 104.609 l +229.331 104.743 l +229.541 104.573 l +230.17 104.47 l +230.38 104.702 l +230.589 104.933 l +230.799 104.897 l +231.009 104.912 l +231.638 104.918 l +231.848 104.738 l +232.058 104.743 l +232.268 104.429 l +232.477 104.1 l +233.107 104.254 l +233.317 104.368 l +233.526 104.419 l +233.736 104.141 l +233.946 104.275 l +234.575 104.465 l +234.785 104.393 l +234.995 104.691 l +235.205 104.661 l +235.414 104.635 l +236.044 104.568 l +236.253 104.625 l +236.463 104.697 l +236.673 104.697 l +236.883 104.686 l +237.512 104.594 l +237.722 104.697 l +237.932 104.743 l +238.141 104.856 l +238.351 104.722 l +239.19 104.959 l +239.4 105.108 l +239.61 105.2 l +239.82 105.211 l +240.449 105.149 l +240.659 105.185 l +240.868 105.046 l +241.078 105.046 l +241.288 105.37 l +241.917 105.365 l +242.127 105.483 l +242.337 105.236 l +242.547 105.087 l +242.756 105.082 l +243.386 104.943 l +243.595 105.036 l +243.805 105.103 l @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4008] trunk/py4science/workbook From: - 2007-10-26 02:35:25 Revision: 4008 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4008&view=rev Author: jdh2358 Date: 2007-10-25 19:35:23 -0700 (Thu, 25 Oct 2007) Log Message: ----------- added workbook Modified Paths: -------------- trunk/py4science/workbook/main.tex Added Paths: ----------- trunk/py4science/workbook/main.pdf Added: trunk/py4science/workbook/main.pdf =================================================================== --- trunk/py4science/workbook/main.pdf (rev 0) +++ trunk/py4science/workbook/main.pdf 2007-10-26 02:35:23 UTC (rev 4008) @@ -0,0 +1,8917 @@ +%PDF-1.4 +5 0 obj +<< /S /GoTo /D (chapter.1) >> +endobj +8 0 obj +(Chapter 1. Introduction) +endobj +9 0 obj +<< /S /GoTo /D (chapter.2) >> +endobj +12 0 obj +(Chapter 2. Simple non-numerical problems) +endobj +13 0 obj +<< /S /GoTo /D (section.2.1) >> +endobj +16 0 obj +(1. Sorting quickly with QuickSort ) +endobj +17 0 obj +<< /S /GoTo /D (section.2.2) >> +endobj +20 0 obj +(2. Dictionaries for counting words) +endobj +21 0 obj +<< /S /GoTo /D (chapter.3) >> +endobj +24 0 obj +(Chapter 3. Working with files, the internet, and numpy arrays) +endobj +25 0 obj +<< /S /GoTo /D (section.3.1) >> +endobj +28 0 obj +(1. Loading and saving ASCII data) +endobj +29 0 obj +<< /S /GoTo /D (section.3.2) >> +endobj +32 0 obj +(2. Working with CSV files) +endobj +33 0 obj +<< /S /GoTo /D (section.3.3) >> +endobj +36 0 obj +(3. Loading and saving binary data) +endobj +37 0 obj +<< /S /GoTo /D (chapter.4) >> +endobj +40 0 obj +(Chapter 4. Elementary Numerics) +endobj +41 0 obj +<< /S /GoTo /D (section.4.1) >> +endobj +44 0 obj +(1. Wallis' slow road to ) +endobj +45 0 obj +<< /S /GoTo /D (section.4.2) >> +endobj +48 0 obj +(2. Trapezoidal rule) +endobj +49 0 obj +<< /S /GoTo /D (section.4.3) >> +endobj +52 0 obj +(3. Newton's method) +endobj +53 0 obj +<< /S /GoTo /D (chapter.5) >> +endobj +56 0 obj +(Chapter 5. Linear algebra) +endobj +57 0 obj +<< /S /GoTo /D (section.5.1) >> +endobj +60 0 obj +(1. Glass Moir\351 Patterns) +endobj +61 0 obj +<< /S /GoTo /D [62 0 R /Fit ] >> +endobj +64 0 obj << +/Length 292 +/Filter /FlateDecode +>> +stream +xڍQ;O\xC30\xDE\xF3+<ڃ\x9F_\x8F\xBC +\xEAT\x89H \x94\xA1\xA4\xA1\x8DJm\xB5\xFCz\xEC\x86VEb\xA8,\xD9:/\xDF\x99\xCA Y0\xE0\x95Ҍ\x8C\x81\x89X\xBB\xAD[e\xEC\xA1\xC2_\x8E\xD5(\x9F\x8BP\xE9\xB0B\xCD\xE4\xB9\xC9MS]M\x8Cch\xC1X\xAFY\xF3δR\xA0\x9D\xAF\x99G\xB5Ɋf\xF9\xC2gâ\xDD\xF5\xED\xE2CH\xE3\x89?\xB5}\x85Q|'\x90\xF7B"\x9F+c\xDBz~\x9B\xB6\xE5\xE6s\xE3J\xBC6SF\xD11\xA9P+:8\xF7q\xB4\x9C}f\x91\xACS<\xD0e
 SF.net SVN: matplotlib: [4013] trunk/py4science/workbook From: - 2007-10-26 17:43:54 Revision: 4013 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4013&view=rev Author: jdh2358 Date: 2007-10-26 10:43:50 -0700 (Fri, 26 Oct 2007) Log Message: ----------- added some figs for convolution example Added Paths: ----------- trunk/py4science/workbook/fig/convolve_deltas.eps trunk/py4science/workbook/fig/convolve_deltas.png trunk/py4science/workbook/scripts/ trunk/py4science/workbook/scripts/convolve_deltas.py trunk/py4science/workbook/scripts/convolve_explain.py Added: trunk/py4science/workbook/fig/convolve_deltas.eps =================================================================== --- trunk/py4science/workbook/fig/convolve_deltas.eps (rev 0) +++ trunk/py4science/workbook/fig/convolve_deltas.eps 2007-10-26 17:43:50 UTC (rev 4013) @@ -0,0 +1,780 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: convolve_deltas.eps +%%Creator: matplotlib version 0.90.1, http://matplotlib.sourceforge.net/ +%%CreationDate: Fri Oct 26 12:42:28 2007 +%%Orientation: portrait +%%BoundingBox: 18 180 594 612 +%%EndComments +%%BeginProlog +/mpldict 7 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +closepath +} bind def +/clipbox { +box +clip +newpath +} bind def +/ellipse { +newpath +matrix currentmatrix 7 1 roll +translate +scale +0 0 1 5 3 roll arc +setmatrix +closepath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: Bitstream Vera Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. +%%Creator: Converted from TrueType by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /BitstreamVeraSans-Roman def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-182 -235 1287 928]def +/FontType 3 def +/Encoding StandardEncoding def +/FontInfo 10 dict dup begin +/FamilyName (Bitstream Vera Sans) def +/FullName (Bitstream Vera Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.) def +/Weight (Roman) def +/Version (Release 1.10) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -213 def +/UnderlineThickness 143 def +end readonly def +/CharStrings 7 dict dup begin +/period{318 0 107 0 210 124 _sc +107 124 _m +210 124 _l +210 0 _l +107 0 _l +107 124 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +}_e{370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/four{636 0 49 0 580 729 _sc +378 643 _m +129 254 _l +378 254 _l +378 643 _l +352 729 _m +476 729 _l +476 254 _l +580 254 _l +580 172 _l +476 172 _l +476 0 _l +378 0 _l +378 172 _l +49 172 _l +49 267 _l +352 729 _l +_cl}_d +/five{{636 0 77 -13 549 729 _sc +108 729 _m +495 729 _l +495 646 _l +198 646 _l +198 467 _l +212 472 227 476 241 478 _c +255 480 270 482 284 482 _c +365 482 429 459 477 415 _c +525 370 549 310 549 234 _c +549 155 524 94 475 51 _c +426 8 357 -13 269 -13 _c +238 -13 207 -10 175 -6 _c +143 -1 111 6 77 17 _c +77 116 _l +106 100 136 88 168 80 _c +199 72 232 69 267 69 _c +323 69 368 83 401 113 _c +433 143 450 183 450 234 _c +450 284 433 324 401 354 _c +368 384 323 399 267 399 _c +241 399 214 396 188 390 _c +162 384 135 375 108 363 _c +108 729 _l +_cl}_e}_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +%%EOF +end +%%EndProlog +mpldict begin +18 180 translate +576 432 0 0 clipbox +gsave +1.000 setgray +1.000 setlinewidth +0 setlinejoin +2 setlinecap +[] 0 setdash +0 0 m +0 432 l +576 432 l +576 0 l +closepath +gsave +fill +grestore +stroke +grestore +gsave +0.000 setgray +72 43.2 m +72 388.8 l +518.4 388.8 l +518.4 43.2 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +69.21 43.2 m +69.21 388.8 l +74.79 388.8 l +74.79 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +91.53 43.2 m +91.53 362.457 l +97.11 362.457 l +97.11 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +113.85 43.2 m +113.85 307.904 l +119.43 307.904 l +119.43 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +136.17 43.2 m +136.17 239.267 l +141.75 239.267 l +141.75 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +158.49 43.2 m +158.49 172.281 l +164.07 172.281 l +164.07 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +180.81 43.2 m +180.81 120.84 l +186.39 120.84 l +186.39 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +203.13 43.2 m +203.13 94.252 l +208.71 94.252 l +208.71 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +225.45 43.2 m +225.45 95.729 l +231.03 95.729 l +231.03 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +247.77 43.2 m +247.77 122.291 l +253.35 122.291 l +253.35 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +270.09 43.2 m +270.09 165.978 l +275.67 165.978 l +275.67 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +292.41 43.2 m +292.41 216 l +297.99 216 l +297.99 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +314.73 43.2 m +314.73 261.261 l +320.31 261.261 l +320.31 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +337.05 43.2 m +337.05 292.723 l +342.63 292.723 l +342.63 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +359.37 43.2 m +359.37 305.099 l +364.95 305.099 l +364.95 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +381.69 43.2 m +381.69 297.61 l +387.27 297.61 l +387.27 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +404.01 43.2 m +404.01 273.718 l +409.59 273.718 l +409.59 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +426.33 43.2 m +426.33 239.993 l +431.91 239.993 l +431.91 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +448.65 43.2 m +448.65 204.446 l +454.23 204.446 l +454.23 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +470.97 43.2 m +470.97 174.705 l +476.55 174.705 l +476.55 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +gsave +gsave +446.4 345.6 72 43.2 clipbox +493.29 43.2 m +493.29 156.455 l +498.87 156.455 l +498.87 43.2 l +closepath +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +grestore +0.000 0.000 1.000 setrgbcolor +2.000 setlinewidth +gsave +446.4 345.6 72 43.2 clipbox +72 388.8 m +94.32 362.457 l +116.64 307.904 l +138.96 239.267 l +161.28 172.281 l +183.6 120.84 l +205.92 94.252 l +228.24 95.7291 l +250.56 122.291 l +272.88 165.978 l +295.2 216 l +317.52 261.261 l +339.84 292.723 l +362.16 305.099 l +384.48 297.61 l +406.8 273.718 l +429.12 239.993 l +451.44 204.446 l +473.76 174.705 l +496.08 156.455 l +stroke +grestore +0.000 setgray +gsave +446.4 345.6 72 43.2 clipbox +72 43.2 m +518.4 43.2 l +stroke +grestore +/BitstreamVeraSans-Roman findfont +12.000 scalefont +setfont +63.25 30.122 m +0 0.172 rmoveto +(0.0) show +0.500 setlinewidth +0 setlinecap +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +161.28 43.2 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +161.28 388.8 o +152.686 30.122 m +0 0.172 rmoveto +(0.1) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +250.56 43.2 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +250.56 388.8 o +242.013 30.122 m +0 0.172 rmoveto +(0.2) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +339.84 43.2 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +339.84 388.8 o +331.176 30.122 m +0 0.172 rmoveto +(0.3) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +429.12 43.2 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +429.12 388.8 o +420.307 30.122 m +0 0.172 rmoveto +(0.4) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +518.4 43.2 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +518.4 388.8 o +509.775 30.122 m +0 0.172 rmoveto +(0.5) show +50.5 38.661 m +0 0.172 rmoveto +(0.0) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 129.6 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 129.6 o +50.75 125.061 m +0 0.172 rmoveto +(0.5) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 216 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 216 o +51.016 211.461 m +0 0.172 rmoveto +(1.0) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 302.4 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 302.4 o +51.266 297.939 m +0 0.172 rmoveto +(1.5) show +50.578 384.261 m +0 0.172 rmoveto +(2.0) show +1.000 setlinewidth +2 setlinecap +72 43.2 m +518.4 43.2 l +518.4 388.8 l +72 388.8 l +72 43.2 l +stroke + +end +showpage Added: trunk/py4science/workbook/fig/convolve_deltas.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/convolve_deltas.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/scripts/convolve_deltas.py =================================================================== --- trunk/py4science/workbook/scripts/convolve_deltas.py (rev 0) +++ trunk/py4science/workbook/scripts/convolve_deltas.py 2007-10-26 17:43:50 UTC (rev 4013) @@ -0,0 +1,18 @@ +import numpy as npy +from pylab import figure, show + +dt = 0.025 +t = npy.arange(0.0, 0.5, dt) +Nt = len(t) + + +s = npy.exp(-2*t)*npy.cos(2*3*npy.pi*t)+1.0 +fig = figure() +ax = fig.add_subplot(111) +ax.plot(t, s, color='blue', lw=2) +ax.bar(t-dt/8., s, facecolor='blue', width=dt/4.) +ax.axhline(0, color='black', lw=2) +ax.set_xlim(xmin=0) +fig.savefig('convolve_deltas.png', dpi=150) +fig.savefig('convolve_deltas.eps') +show() Added: trunk/py4science/workbook/scripts/convolve_explain.py =================================================================== --- trunk/py4science/workbook/scripts/convolve_explain.py (rev 0) +++ trunk/py4science/workbook/scripts/convolve_explain.py 2007-10-26 17:43:50 UTC (rev 4013) @@ -0,0 +1,48 @@ +import numpy as npy +from pylab import figure, show + +dt = 0.01 +t = npy.arange(0.0, 10.0, dt) +Nt = len(t) + +def impulse_response(t): + 'double exponential response function' + return (npy.exp(-t) - npy.exp(-5*t)) + +i1 = npy.zeros(len(t)) +i2 = npy.zeros(len(t)) +i3 = npy.zeros(len(t)) +r = impulse_response(t) + +ind1, ind2, ind3 = 100, 300, 900 +i1[ind1] = 1 +i2[ind2] = 1.7 +i3[ind3] = 0.6 + +y1 = npy.convolve(i1, r, mode='full')[:Nt] +y2 = npy.convolve(i2, r, mode='full')[:Nt] +y3 = npy.convolve(i3, r, mode='full')[:Nt] + +fig = figure() +ax1 = ax = fig.add_subplot(311) +ax.plot(t, r, 'k', lw=2) +ax.set_ylabel('impulse response') + +ax = fig.add_subplot(312, sharex=ax1) +ax.bar(t[ind1], i1[ind1], facecolor='blue', lw=2, edgecolor='blue', width=3*dt) +ax.bar(t[ind2], i2[ind2], facecolor='green', lw=2, edgecolor='green', width=3*dt) +ax.bar(t[ind3], i3[ind3], facecolor='red', lw=2, edgecolor='red', width=3*dt) +ax.plot(t, y1, color='blue', lw=1, label='input 1') +ax.plot(t, y2, color='green', lw=1, label='input 2') +ax.plot(t, y3, color='red', lw=1, label='input d') +ax.set_ylabel('3 inputs') + + +ax = fig.add_subplot(313, sharex=ax1) +ax.plot(t, y1+y2+y3, color='black', lw=2, label='sum') +ax.set_ylabel('output') +#ax.legend(loc='best') + +fig.savefig('../fig/convolve_inputs.png', dpi=150) +fig.savefig('../fig/convolve_inputs.eps') +show() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4015] trunk/py4science/workbook From: - 2007-10-26 17:56:08 Revision: 4015 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4015&view=rev Author: jdh2358 Date: 2007-10-26 10:56:06 -0700 (Fri, 26 Oct 2007) Log Message: ----------- added more convolution figs Modified Paths: -------------- trunk/py4science/workbook/scripts/convolve_explain.py Added Paths: ----------- trunk/py4science/workbook/fig/convolve_explain.eps trunk/py4science/workbook/fig/convolve_explain.png Added: trunk/py4science/workbook/fig/convolve_explain.eps =================================================================== --- trunk/py4science/workbook/fig/convolve_explain.eps (rev 0) +++ trunk/py4science/workbook/fig/convolve_explain.eps 2007-10-26 17:56:06 UTC (rev 4015) @@ -0,0 +1,6355 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: ../fig/convolve_explain.eps +%%Creator: matplotlib version 0.90.1, http://matplotlib.sourceforge.net/ +%%CreationDate: Fri Oct 26 12:55:41 2007 +%%Orientation: portrait +%%BoundingBox: 18 180 594 612 +%%EndComments +%%BeginProlog +/mpldict 7 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +closepath +} bind def +/clipbox { +box +clip +newpath +} bind def +/ellipse { +newpath +matrix currentmatrix 7 1 roll +translate +scale +0 0 1 5 3 roll arc +setmatrix +closepath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: Bitstream Vera Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. +%%Creator: Converted from TrueType by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /BitstreamVeraSans-Roman def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-182 -235 1287 928]def +/FontType 3 def +/Encoding StandardEncoding def +/FontInfo 10 dict dup begin +/FamilyName (Bitstream Vera Sans) def +/FullName (Bitstream Vera Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.) def +/Weight (Roman) def +/Version (Release 1.10) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -213 def +/UnderlineThickness 143 def +end readonly def +/CharStrings 21 dict dup begin +/space{318 0 0 0 0 0 _sc +}_d +/period{318 0 107 0 210 124 _sc +107 124 _m +210 124 _l +210 0 _l +107 0 _l +107 124 _l +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +}_e{370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/four{636 0 49 0 580 729 _sc +378 643 _m +129 254 _l +378 254 _l +378 643 _l +352 729 _m +476 729 _l +476 254 _l +580 254 _l +580 172 _l +476 172 _l +476 0 _l +378 0 _l +378 172 _l +49 172 _l +49 267 _l +352 729 _l +_cl}_d +/five{{636 0 77 -13 549 729 _sc +108 729 _m +495 729 _l +495 646 _l +198 646 _l +198 467 _l +212 472 227 476 241 478 _c +255 480 270 482 284 482 _c +365 482 429 459 477 415 _c +525 370 549 310 549 234 _c +549 155 524 94 475 51 _c +426 8 357 -13 269 -13 _c +238 -13 207 -10 175 -6 _c +143 -1 111 6 77 17 _c +77 116 _l +106 100 136 88 168 80 _c +199 72 232 69 267 69 _c +323 69 368 83 401 113 _c +433 143 450 183 450 234 _c +450 284 433 324 401 354 _c +368 384 323 399 267 399 _c +241 399 214 396 188 390 _c +162 384 135 375 108 363 _c +108 729 _l +_cl}_e}_d +/six{{636 0 70 -13 573 742 _sc +330 404 _m +286 404 251 388 225 358 _c +199 328 186 286 186 234 _c +186 181 199 139 225 109 _c +251 79 286 64 330 64 _c +374 64 409 79 435 109 _c +461 139 474 181 474 234 _c +474 286 461 328 435 358 _c +409 388 374 404 330 404 _c +526 713 _m +526 623 _l +501 635 476 644 451 650 _c +425 656 400 659 376 659 _c +310 659 260 637 226 593 _c +192 549 172 482 168 394 _c +187 422 211 444 240 459 _c +269 474 301 482 336 482 _c +409 482 467 459 509 415 _c +551 371 573 310 573 234 _c +573 159 550 99 506 54 _c +462 9 403 -13 330 -13 _c +246 -13 181 19 137 83 _c +92 147 70 241 70 364 _c +70 479 97 571 152 639 _c +206 707 280 742 372 742 _c +}_e{396 742 421 739 447 735 _c +472 730 498 723 526 713 _c +_cl}_e}_d +/eight{{636 0 68 -13 568 742 _sc +318 346 _m +271 346 234 333 207 308 _c +180 283 167 249 167 205 _c +167 161 180 126 207 101 _c +234 76 271 64 318 64 _c +364 64 401 76 428 102 _c +455 127 469 161 469 205 _c +469 249 455 283 429 308 _c +402 333 365 346 318 346 _c +219 388 _m +177 398 144 418 120 447 _c +96 476 85 511 85 553 _c +85 611 105 657 147 691 _c +188 725 245 742 318 742 _c +390 742 447 725 489 691 _c +530 657 551 611 551 553 _c +551 511 539 476 515 447 _c +491 418 459 398 417 388 _c +464 377 501 355 528 323 _c +554 291 568 251 568 205 _c +568 134 546 80 503 43 _c +459 5 398 -13 318 -13 _c +237 -13 175 5 132 43 _c +89 80 68 134 68 205 _c +68 251 81 291 108 323 _c +134 355 171 377 219 388 _c +}_e{183 544 _m +183 506 194 476 218 455 _c +242 434 275 424 318 424 _c +360 424 393 434 417 455 _c +441 476 453 506 453 544 _c +453 582 441 611 417 632 _c +393 653 360 664 318 664 _c +275 664 242 653 218 632 _c +194 611 183 582 183 544 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +}_e{_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/p{{635 0 91 -207 580 560 _sc +181 82 _m +181 -207 _l +91 -207 _l +91 547 _l +181 547 _l +181 464 _l +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +}_e{301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 547 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +_cl}_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +%%EOF +end +%%EndProlog +mpldict begin +18 180 translate +576 432 0 0 clipbox +gsave +1.000 setgray +1.000 setlinewidth +0 setlinejoin +2 setlinecap +[] 0 setdash +0 0 m +0 432 l +576 432 l +576 0 l +closepath +gsave +fill +grestore +stroke +grestore +gsave +0.000 setgray +72 287.153 m +72 388.8 l +518.4 388.8 l +518.4 287.153 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +grestore +2.000 setlinewidth +gsave +446.4 101.647 72 287.153 clipbox +72 287.153 m +72.4464 293.73 l +72.8928 299.92 l +73.3392 305.744 l +73.7856 311.219 l +74.232 316.364 l +74.6784 321.196 l +75.1248 325.729 l +75.5712 329.98 l +76.0176 333.962 l +76.464 337.69 l +76.9104 341.176 l +77.3568 344.433 l +77.8032 347.472 l +78.2496 350.305 l +78.696 352.943 l +79.1424 355.395 l +79.5888 357.671 l +80.0352 359.78 l +80.4816 361.731 l +80.928 363.532 l +81.3744 365.192 l +81.8208 366.717 l +82.2672 368.114 l +82.7136 369.391 l +83.16 370.554 l +83.6064 371.608 l +84.0528 372.56 l +84.4992 373.415 l +84.9456 374.179 l +85.392 374.855 l +85.8384 375.45 l +86.2848 375.967 l +86.7312 376.412 l +87.1776 376.786 l +87.624 377.096 l +88.0704 377.344 l +88.5168 377.534 l +88.9632 377.668 l +89.4096 377.751 l +89.856 377.786 l +90.3024 377.774 l +90.7488 377.719 l +91.1952 377.623 l +91.6416 377.489 l +92.088 377.319 l +92.5344 377.115 l +92.9808 376.879 l +93.4272 376.613 l +93.8736 376.32 l +94.32 376 l +94.7664 375.656 l +95.2128 375.289 l +95.6592 374.9 l +96.1056 374.492 l +96.552 374.065 l +96.9984 373.621 l +97.4448 373.16 l +97.8912 372.685 l +98.3376 372.196 l +98.784 371.694 l +99.2304 371.18 l +99.6768 370.655 l +100.123 370.121 l +100.57 369.577 l +101.016 369.025 l +101.462 368.465 l +101.909 367.899 l +102.355 367.326 l +102.802 366.748 l +103.248 366.165 l +103.694 365.577 l +104.141 364.986 l +104.587 364.391 l +105.034 363.793 l +105.48 363.193 l +105.926 362.591 l +106.373 361.988 l +106.819 361.383 l +107.266 360.778 l +107.712 360.172 l +108.158 359.566 l +108.605 358.96 l +109.051 358.354 l +109.498 357.749 l +109.944 357.146 l +110.39 356.543 l +110.837 355.942 l +111.283 355.342 l +111.73 354.744 l +112.176 354.149 l +112.622 353.555 l +113.069 352.964 l +113.515 352.375 l +113.962 351.789 l +114.408 351.206 l +114.854 350.625 l +115.301 350.048 l +115.747 349.474 l +116.194 348.902 l +116.64 348.335 l +117.086 347.77 l +117.533 347.209 l +117.979 346.652 l +118.426 346.098 l +118.872 345.548 l +119.318 345.001 l +119.765 344.458 l +120.211 343.919 l +120.658 343.384 l +121.104 342.853 l +121.55 342.326 l +121.997 341.802 l +122.443 341.283 l +122.89 340.767 l +123.336 340.256 l +123.782 339.748 l +124.229 339.245 l +124.675 338.745 l +125.122 338.25 l +125.568 337.759 l +126.014 337.272 l +126.461 336.788 l +126.907 336.309 l +127.354 335.834 l +127.8 335.363 l +128.246 334.896 l +128.693 334.433 l +129.139 333.974 l +129.586 333.519 l +130.032 333.068 l +130.478 332.621 l +130.925 332.178 l +131.371 331.739 l +131.818 331.304 l +132.264 330.873 l +132.71 330.446 l +133.157 330.022 l +133.603 329.603 l +134.05 329.187 l +134.496 328.775 l +134.942 328.367 l +135.389 327.962 l +135.835 327.562 l +136.282 327.165 l +136.728 326.772 l +137.174 326.382 l +137.621 325.996 l +138.067 325.614 l +138.514 325.235 l +138.96 324.86 l +139.406 324.489 l +139.853 324.121 l +140.299 323.756 l +140.746 323.395 l +141.192 323.037 l +141.638 322.683 l +142.085 322.332 l +142.531 321.985 l +142.978 321.641 l +143.424 321.3 l +143.87 320.962 l +144.317 320.628 l +144.763 320.297 l +145.21 319.969 l +145.656 319.644 l +146.102 319.323 l +146.549 319.004 l +146.995 318.689 l +147.442 318.376 l +147.888 318.067 l +148.334 317.761 l +148.781 317.458 l +149.227 317.157 l +149.674 316.86 l +150.12 316.565 l +150.566 316.274 l +151.013 315.985 l +151.459 315.699 l +151.906 315.416 l +152.352 315.136 l +152.798 314.858 l +153.245 314.583 l +153.691 314.311 l +154.138 314.041 l +154.584 313.774 l +155.03 313.51 l +155.477 313.249 l +155.923 312.989 l +156.37 312.733 l +156.816 312.479 l +157.262 312.227 l +157.709 311.978 l +158.155 311.732 l +158.602 311.488 l +159.048 311.246 l +159.494 311.007 l +159.941 310.77 l +160.387 310.535 l +160.834 310.303 l +161.28 310.073 l +161.726 309.845 l +162.173 309.619 l +162.619 309.396 l +163.066 309.175 l +163.512 308.956 l +163.958 308.739 l +164.405 308.525 l +164.851 308.312 l +165.298 308.102 l +165.744 307.894 l +166.19 307.688 l +166.637 307.483 l +167.083 307.281 l +167.53 307.081 l +167.976 306.883 l +168.422 306.687 l +168.869 306.493 l +169.315 306.3 l +169.762 306.11 l +170.208 305.921 l +170.654 305.735 l +171.101 305.55 l +171.547 305.367 l +171.994 305.186 l +172.44 305.007 l +172.886 304.829 l +173.333 304.653 l +173.779 304.479 l +174.226 304.307 l +174.672 304.136 l +175.118 303.967 l +175.565 303.8 l +176.011 303.635 l +176.458 303.471 l +176.904 303.308 l +177.35 303.148 l +177.797 302.988 l +178.243 302.831 l +178.69 302.675 l +179.136 302.521 l +179.582 302.368 l +180.029 302.216 l +180.475 302.067 l +180.922 301.918 l +181.368 301.771 l +181.814 301.626 l +182.261 301.482 l +182.707 301.339 l +183.154 301.198 l +183.6 301.058 l +184.046 300.92 l +184.493 300.783 l +184.939 300.648 l +185.386 300.513 l +185.832 300.38 l +186.278 300.249 l +186.725 300.119 l +187.171 299.99 l +187.618 299.862 l +188.064 299.735 l +188.51 299.61 l +188.957 299.486 l +189.403 299.364 l +189.85 299.242 l +190.296 299.122 l +190.742 299.003 l +191.189 298.885 l +191.635 298.768 l +192.082 298.653 l +192.528 298.538 l +192.974 298.425 l +193.421 298.313 l +193.867 298.202 l +194.314 298.092 l +194.76 297.983 l +195.206 297.875 l +195.653 297.768 l +196.099 297.663 l +196.546 297.558 l +196.992 297.455 l +197.438 297.352 l +197.885 297.251 l +198.331 297.15 l +198.778 297.051 l +199.224 296.952 l +199.67 296.855 l +200.117 296.758 l +200.563 296.663 l +201.01 296.568 l +201.456 296.474 l +201.902 296.382 l +202.349 296.29 l +202.795 296.199 l +203.242 296.109 l +203.688 296.02 l +204.134 295.932 l +204.581 295.844 l +205.027 295.758 l +205.474 295.672 l +205.92 295.587 l +206.366 295.503 l +206.813 295.42 l +207.259 295.338 l +207.706 295.257 l +208.152 295.176 l +208.598 295.096 l +209.045 295.017 l +209.491 294.939 l +209.938 294.861 l +210.384 294.785 l +210.83 294.709 l +211.277 294.634 l +211.723 294.559 l +212.17 294.486 l +212.616 294.413 l +213.062 294.34 l +213.509 294.269 l +213.955 294.198 l +214.402 294.128 l +214.848 294.059 l +215.294 293.99 l +215.741 293.922 l +216.187 293.854 l +216.634 293.788 l +217.08 293.722 l +217.526 293.656 l +217.973 293.592 l +218.419 293.528 l +218.866 293.464 l +219.312 293.401 l +219.758 293.339 l +220.205 293.278 l +220.651 293.217 l +221.098 293.156 l +221.544 293.097 l +221.99 293.037 l +222.437 292.979 l +222.883 292.921 l +223.33 292.864 l +223.776 292.807 l +224.222 292.751 l +224.669 292.695 l +225.115 292.64 l +225.562 292.585 l +226.008 292.531 l +226.454 292.478 l +226.901 292.425 l +227.347 292.372 l +227.794 292.32 l +228.24 292.269 l +228.686 292.218 l +229.133 292.167 l +229.579 292.118 l +230.026 292.068 l +230.472 292.019 l +230.918 291.971 l +231.365 291.923 l +231.811 291.875 l +232.258 291.828 l +232.704 291.782 l +233.15 291.736 l +233.597 291.69 l +234.043 291.645 l +234.49 291.6 l +234.936 291.556 l +235.382 291.512 l +235.829 291.469 l +236.275 291.426 l +236.722 291.383 l +237.168 291.341 l +237.614 291.3 l +238.061 291.258 l +238.507 291.218 l +238.954 291.177 l +239.4 291.137 l +239.846 291.097 l +240.293 291.058 l +240.739 291.019 l +241.186 290.981 l +241.632 290.943 l +242.078 290.905 l +242.525 290.868 l +242.971 290.831 l +243.418 290.794 l +243.864 290.758 l +244.31 290.722 l +244.757 290.687 l +245.203 290.651 l +245.65 290.617 l +246.096 290.582 l +246.542 290.548 l +246.989 290.514 l +247.435 290.481 l +247.882 290.448 l +248.328 290.415 l +248.774 290.382 l +249.221 290.35 l +249.667 290.319 l +250.114 290.287 l +250.56 290.256 l +251.006 290.225 l +251.453 290.194 l +251.899 290.164 l +252.346 290.134 l +252.792 290.104 l +253.238 290.075 l +253.685 290.046 l +254.131 290.017 l +254.578 289.989 l +255.024 289.961 l +255.47 289.933 l +255.917 289.905 l +256.363 289.878 l +256.81 289.85 l +257.256 289.824 l +257.702 289.797 l +258.149 289.771 l +258.595 289.745 l +259.042 289.719 l +259.488 289.693 l +259.934 289.668 l +260.381 289.643 l +260.827 289.618 l +261.274 289.594 l +261.72 289.569 l +262.166 289.545 l +262.613 289.522 l +263.059 289.498 l +263.506 289.475 l +263.952 289.452 l +264.398 289.429 l +264.845 289.406 l +265.291 289.384 l +265.738 289.361 l +266.184 289.34 l +266.63 289.318 l +267.077 289.296 l +267.523 289.275 l +267.97 289.254 l +268.416 289.233 l +268.862 289.212 l +269.309 289.192 l +269.755 289.171 l +270.202 289.151 l +270.648 289.131 l +271.094 289.112 l +271.541 289.092 l +271.987 289.073 l +272.434 289.054 l +272.88 289.035 l +273.326 289.016 l +273.773 288.998 l +274.219 288.979 l +274.666 288.961 l +275.112 288.943 l +275.558 288.925 l +276.005 288.908 l +276.451 288.89 l +276.898 288.873 l +277.344 288.856 l +277.79 288.839 l +278.237 288.822 l +278.683 288.806 l +279.13 288.789 l +279.576 288.773 l +280.022 288.757 l +280.469 288.741 l +280.915 288.725 l +281.362 288.709 l +281.808 288.694 l +282.254 288.678 l +282.701 288.663 l +283.147 288.648 l +283.594 288.633 l +284.04 288.619 l +284.486 288.604 l +284.933 288.59 l +285.379 288.575 l +285.826 288.561 l +286.272 288.547 l +286.718 288.533 l +287.165 288.52 l +287.611 288.506 l +288.058 288.492 l +288.504 288.479 l +288.95 288.466 l +289.397 288.453 l +289.843 288.44 l +290.29 288.427 l +290.736 288.414 l +291.182 288.402 l +291.629 288.389 l +292.075 288.377 l +292.522 288.365 l +292.968 288.353 l +293.414 288.341 l +293.861 288.329 l +294.307 288.317 l +294.754 288.306 l +295.2 288.294 l +295.646 288.283 l +296.093 288.272 l +296.539 288.261 l +296.986 288.25 l +297.432 288.239 l +297.878 288.228 l +298.325 288.217 l +298.771 288.207 l +299.218 288.196 l +299.664 288.186 l +300.11 288.176 l +300.557 288.165 l +301.003 288.155 l +301.45 288.145 l +301.896 288.135 l +302.342 288.126 l +302.789 288.116 l +303.235 288.106 l +303.682 288.097 l +304.128 288.088 l +304.574 288.078 l +305.021 288.069 l +305.467 288.06 l +305.914 288.051 l +306.36 288.042 l +306.806 288.033 l +307.253 288.024 l +307.699 288.016 l +308.146 288.007 l +308.592 287.999 l +309.038 287.99 l +309.485 287.982 l +309.931 287.974 l +310.378 287.965 l +310.824 287.957 l +311.27 287.949 l +311.717 287.941 l +312.163 287.934 l +312.61 287.926 l +313.056 287.918 l +313.502 287.91 l +313.949 287.903 l +314.395 287.895 l +314.842 287.888 l +315.288 287.881 l +315.734 287.874 l +316.181 287.866 l +316.627 287.859 l +317.074 287.852 l +317.52 287.845 l +317.966 287.838 l +318.413 287.832 l +318.859 287.825 l +319.306 287.818 l +319.752 287.812 l +320.198 287.805 l +320.645 287.798 l +321.091 287.792 l +321.538 287.786 l +321.984 287.779 l +322.43 287.773 l +322.877 287.767 l +323.323 287.761 l +323.77 287.755 l +324.216 287.749 l +324.662 287.743 l +325.109 287.737 l +325.555 287.731 l +326.002 287.725 l +326.448 287.72 l +326.894 287.714 l +327.341 287.709 l +327.787 287.703 l +328.234 287.698 l +328.68 287.692 l +329.126 287.687 l +329.573 287.681 l +330.019 287.676 l +330.466 287.671 l +330.912 287.666 l +331.358 287.661 l +331.805 287.656 l +332.251 287.651 l +332.698 287.646 l +333.144 287.641 l +333.59 287.636 l +334.037 287.631 l +334.483 287.626 l +334.93 287.622 l +335.376 287.617 l +335.822 287.612 l +336.269 287.608 l +336.715 287.603 l +337.162 287.599 l +337.608 287.594 l +338.054 287.59 l +338.501 287.586 l +338.947 287.581 l +339.394 287.577 l +339.84 287.573 l +340.286 287.569 l +340.733 287.565 l +341.179 287.56 l +341.626 287.556 l +342.072 287.552 l +342.518 287.548 l +342.965 287.544 l +343.411 287.541 l +343.858 287.537 l +344.304 287.533 l +344.75 287.529 l +345.197 287.525 l +345.643 287.522 l +346.09 287.518 l +346.536 287.514 l +346.982 287.511 l +347.429 287.507 l +347.875 287.504 l +348.322 287.5 l +348.768 287.497 l +349.214 287.493 l +349.661 287.49 l +350.107 287.487 l +350.554 287.483 l +351 287.48 l +351.446 287.477 l +351.893 287.474 l +352.339 287.47 l +352.786 287.467 l +353.232 287.464 l +353.678 287.461 l +354.125 287.458 l +354.571 287.455 l +355.018 287.452 l +355.464 287.449 l +355.91 287.446 l +356.357 287.443 l +356.803 287.44 l +357.25 287.437 l +357.696 287.434 l +358.142 287.432 l +358.589 287.429 l +359.035 287.426 l +359.482 287.423 l +359.928 287.421 l +360.374 287.418 l +360.821 287.415 l +361.267 287.413 l +361.714 287.41 l +362.16 287.408 l +362.606 287.405 l +363.053 287.403 l +363.499 287.4 l +363.946 287.398 l +364.392 287.395 l +364.838 287.393 l +365.285 287.39 l +365.731 287.388 l +366.178 287.386 l +366.624 287.383 l +367.07 287.381 l +367.517 287.379 l +367.963 287.377 l +368.41 287.374 l +368.856 287.372 l +369.302 287.37 l +369.749 287.368 l +370.195 287.366 l +370.642 287.364 l +371.088 287.361 l +371.534 287.359 l +371.981 287.357 l +372.427 287.355 l +372.874 287.353 l +373.32 287.351 l +373.766 287.349 l +374.213 287.347 l +374.659 287.345 l +375.106 287.344 l +375.552 287.342 l +375.998 287.34 l +376.445 287.338 l +376.891 287.336 l +377.338 287.334 l +377.784 287.332 l +378.23 287.331 l +378.677 287.329 l +379.123 287.327 l +379.57 287.325 l +380.016 287.324 l +380.462 287.322 l +380.909 287.32 l +381.355 287.319 l +381.802 287.317 l +382.248 287.315 l +382.694 287.314 l +383.141 287.312 l +383.587 287.311 l +384.034 287.309 l +384.48 287.307 l +384.926 287.306 l +385.373 287.304 l +385.819 287.303 l +386.266 287.301 l +386.712 287.3 l +387.158 287.298 l +387.605 287.297 l +388.051 287.296 l +388.498 287.294 l +388.944 287.293 l +389.39 287.291 l +389.837 287.29 l +390.283 287.289 l +390.73 287.287 l +391.176 287.286 l +391.622 287.285 l +392.069 287.283 l +392.515 287.282 l +392.962 287.281 l +393.408 287.279 l +393.854 287.278 l +394.301 287.277 l +394.747 287.276 l +395.194 287.274 l +395.64 287.273 l +396.086 287.272 l +396.533 287.271 l +396.979 287.27 l +397.426 287.269 l +397.872 287.267 l +398.318 287.266 l +398.765 287.265 l +399.211 287.264 l +399.658 287.263 l +400.104 287.262 l +400.55 287.261 l +400.997 287.26 l +401.443 287.259 l +401.89 287.258 l +402.336 287.256 l +402.782 287.255 l +403.229 287.254 l +403.675 287.253 l +404.122 287.252 l +404.568 287.251 l +405.014 287.25 l +405.461 287.249 l +405.907 287.249 l +406.354 287.248 l +406.8 287.247 l +407.246 287.246 l +407.693 287.245 l +408.139 287.244 l +408.586 287.243 l +409.032 287.242 l +409.478 287.241 l +409.925 287.24 l +410.371 287.239 l +410.818 287.239 l +411.264 287.238 l +411.71 287.237 l +412.157 287.236 l +412.603 287.235 l +413.05 287.234 l +413.496 287.234 l +413.942 287.233 l +414.389 287.232 l +414.835 287.231 l +415.282 287.23 l +415.728 287.23 l +416.174 287.229 l +416.621 287.228 l +417.067 287.227 l +417.514 287.227 l +417.96 287.226 l +418.406 287.225 l +418.853 287.224 l +419.299 287.224 l +419.746 287.223 l +420.192 287.222 l +420.638 287.222 l +421.085 287.221 l +421.531 287.22 l +421.978 287.22 l +422.424 287.219 l +422.87 287.218 l +423.317 287.218 l +423.763 287.217 l +424.21 287.216 l +424.656 287.216 l +425.102 287.215 l +425.549 287.215 l +425.995 287.214 l +426.442 287.213 l +426.888 287.213 l +427.334 287.212 l +427.781 287.212 l +428.227 287.211 l +428.674 287.21 l +429.12 287.21 l +429.566 287.209 l +430.013 287.209 l +430.459 287.208 l +430.906 287.208 l +431.352 287.207 l +431.798 287.206 l +432.245 287.206 l +432.691 287.205 l +433.138 287.205 l +433.584 287.204 l +434.03 287.204 l +434.477 287.203 l +434.923 287.203 l +435.37 287.202 l +435.816 287.202 l +436.262 287.201 l +436.709 287.201 l +437.155 287.2 l +437.602 287.2 l +438.048 287.199 l +438.494 287.199 l +438.941 287.199 l +439.387 287.198 l +439.834 287.198 l +440.28 287.197 l +440.726 287.197 l +441.173 287.196 l +441.619 287.196 l +442.066 287.195 l +442.512 287.195 l +442.958 287.195 l +443.405 287.194 l +443.851 287.194 l +444.298 287.193 l +444.744 287.193 l +445.19 287.193 l +445.637 287.192 l +446.083 287.192 l +446.53 287.191 l +446.976 287.191 l +447.422 287.191 l +447.869 287.19 l +448.315 287.19 l +448.762 287.19 l +449.208 287.189 l +449.654 287.189 l +450.101 287.188 l +450.547 287.188 l +450.994 287.188 l +451.44 287.187 l +451.886 287.187 l +452.333 287.187 l +452.779 287.186 l +453.226 287.186 l +453.672 287.186 l +454.118 287.185 l +454.565 287.185 l +455.011 287.185 l +455.458 287.184 l +455.904 287.184 l +456.35 287.184 l +456.797 287.184 l +457.243 287.183 l +457.69 287.183 l +458.136 287.183 l +458.582 287.182 l +459.029 287.182 l +459.475 287.182 l +459.922 287.181 l +460.368 287.181 l +460.814 287.181 l +461.261 287.181 l +461.707 287.18 l +462.154 287.18 l +462.6 287.18 l +463.046 287.18 l +463.493 287.179 l +463.939 287.179 l +464.386 287.179 l +464.832 287.178 l +465.278 287.178 l +465.725 287.178 l +466.171 287.178 l +466.618 287.177 l +467.064 287.177 l +467.51 287.177 l +467.957 287.177 l +468.403 287.177 l +468.85 287.176 l +469.296 287.176 l +469.742 287.176 l +470.189 287.176 l +470.635 287.175 l +471.082 287.175 l +471.528 287.175 l +471.974 287.175 l +472.421 287.174 l +472.867 287.174 l +473.314 287.174 l +473.76 287.174 l +474.206 287.174 l +474.653 287.173 l +475.099 287.173 l +475.546 287.173 l +475.992 287.173 l +476.438 287.173 l +476.885 287.172 l +477.331 287.172 l +477.778 287.172 l +478.224 287.172 l +478.67 287.172 l +479.117 287.171 l +479.563 287.171 l +480.01 287.171 l +480.456 287.171 l +480.902 287.171 l +481.349 287.171 l +481.795 287.17 l +482.242 287.17 l +482.688 287.17 l +483.134 287.17 l +483.581 287.17 l +484.027 287.17 l +484.474 287.169 l +484.92 287.169 l +485.366 287.169 l +485.813 287.169 l +486.259 287.169 l +486.706 287.169 l +487.152 287.168 l +487.598 287.168 l +488.045 287.168 l +488.491 287.168 l +488.938 287.168 l +489.384 287.168 l +489.83 287.168 l +490.277 287.167 l +490.723 287.167 l +491.17 287.167 l +491.616 287.167 l +492.062 287.167 l +492.509 287.167 l +492.955 287.167 l +493.402 287.166 l +493.848 287.166 l +494.294 287.166 l +494.741 287.166 l +495.187 287.166 l +495.634 287.166 l +496.08 287.166 l +496.526 287.165 l +496.973 287.165 l +497.419 287.165 l +497.866 287.165 l +498.312 287.165 l +498.758 287.165 l +499.205 287.165 l +499.651 287.165 l +500.098 287.165 l +500.544 287.164 l +500.99 287.164 l +501.437 287.164 l +501.883 287.164 l +502.33 287.164 l +502.776 287.164 l +503.222 287.164 l +503.669 287.164 l +504.115 287.164 l +504.562 287.163 l +505.008 287.163 l +505.454 287.163 l +505.901 287.163 l +506.347 287.163 l +506.794 287.163 l +507.24 287.163 l +507.686 287.163 l +508.133 287.163 l +508.579 287.163 l +509.026 287.162 l +509.472 287.162 l +509.918 287.162 l +510.365 287.162 l +510.811 287.162 l +511.258 287.162 l +511.704 287.162 l +512.15 287.162 l +512.597 287.162 l +513.043 287.162 l +513.49 287.162 l +513.936 287.161 l +514.382 287.161 l +514.829 287.161 l +515.275 287.161 l +515.722 287.161 l +516.168 287.161 l +516.614 287.161 l +517.061 287.161 l +517.507 287.161 l +517.954 287.161 l +stroke +grestore +/BitstreamVeraSans-Roman findfont +12.000 scalefont +setfont +68.977 274.075 m +0 0.172 rmoveto +(0) show +0.500 setlinewidth +0 setlinecap +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +161.28 287.153 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +161.28 388.8 o +158.499 274.247 m +(2) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +250.56 287.153 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +250.56 388.8 o +247.372 274.403 m +(4) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +339.84 287.153 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +339.84 388.8 o +336.824 274.075 m +0 0.172 rmoveto +(6) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +429.12 287.153 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +429.12 388.8 o +426.12 274.075 m +0 0.172 rmoveto +(8) show +511.814 274.075 m +0 0.172 rmoveto +(10) show +50.5 282.614 m +0 0.172 rmoveto +(0.0) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 304.094 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 304.094 o +50.812 299.555 m +0 0.172 rmoveto +(0.1) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 321.035 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 321.035 o +50.906 316.496 m +0 0.172 rmoveto +(0.2) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 337.976 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 337.976 o +50.672 333.437 m +0 0.172 rmoveto +(0.3) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 354.918 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 354.918 o +50.375 350.379 m +0 0.172 rmoveto +(0.4) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 371.859 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 371.859 o +50.75 367.32 m +0 0.172 rmoveto +(0.5) show +50.469 384.261 m +0 0.172 rmoveto +(0.6) show +45.375 285.383 m +gsave +90 rotate +0 2.5 rmoveto +(impulse response) show +grestore +1.000 setlinewidth +2 setlinecap +72 287.153 m +518.4 287.153 l +518.4 388.8 l +72 388.8 l +72 287.153 l +stroke +gsave +72 165.176 m +72 266.824 l +518.4 266.824 l +518.4 165.176 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +grestore +gsave +0.000 0.000 1.000 setrgbcolor +2.000 setlinewidth +gsave +446.4 101.6 72 165.2 clipbox +116.64 165.176 m +116.64 221.647 l +117.979 221.647 l +117.979 165.176 l +closepath +gsave +fill +grestore +stroke +grestore +grestore +gsave +0.000 0.502 0.000 setrgbcolor +gsave +446.4 101.6 72 165.2 clipbox +205.92 165.176 m +205.92 261.176 l +207.259 261.176 l +207.259 165.176 l +closepath +gsave +fill +grestore +stroke +grestore +grestore +gsave +1.000 0.000 0.000 setrgbcolor +gsave +446.4 101.6 72 165.2 clipbox +473.76 165.176 m +473.76 199.059 l +475.099 199.059 l +475.099 165.176 l +closepath +gsave +fill +grestore +stroke +grestore +grestore +0.000 0.000 1.000 setrgbcolor +1.000 setlinewidth +gsave +446.4 101.647 72 165.176 clipbox +72 165.176 m +72.4464 165.176 l +72.8928 165.176 l +73.3392 165.176 l +73.7856 165.176 l +74.232 165.176 l +74.6784 165.176 l +75.1248 165.176 l +75.5712 165.176 l +76.0176 165.176 l +76.464 165.176 l +76.9104 165.176 l +77.3568 165.176 l +77.8032 165.176 l +78.2496 165.176 l +78.696 165.176 l +79.1424 165.176 l +79.5888 165.176 l +80.0352 165.176 l +80.4816 165.176 l +80.928 165.176 l +81.3744 165.176 l +81.8208 165.176 l +82.2672 165.176 l +82.7136 165.176 l +83.16 165.176 l +83.6064 165.176 l +84.0528 165.176 l +84.4992 165.176 l +84.9456 165.176 l +85.392 165.176 l +85.8384 165.176 l +86.2848 165.176 l +86.7312 165.176 l +87.1776 165.176 l +87.624 165.176 l +88.0704 165.176 l +88.5168 165.176 l +88.9632 165.176 l +89.4096 165.176 l +89.856 165.176 l +90.3024 165.176 l +90.7488 165.176 l +91.1952 165.176 l +91.6416 165.176 l +92.088 165.176 l +92.5344 165.176 l +92.9808 165.176 l +93.4272 165.176 l +93.8736 165.176 l +94.32 165.176 l +94.7664 165.176 l +95.2128 165.176 l +95.6592 165.176 l +96.1056 165.176 l +96.552 165.176 l +96.9984 165.176 l +97.4448 165.176 l +97.8912 165.176 l +98.3376 165.176 l +98.784 165.176 l +99.2304 165.176 l +99.6768 165.176 l +100.123 165.176 l +100.57 165.176 l +101.016 165.176 l +101.462 165.176 l +101.909 165.176 l +102.355 165.176 l +102.802 165.176 l +103.248 165.176 l +103.694 165.176 l +104.141 165.176 l +104.587 165.176 l +105.034 165.176 l +105.48 165.176 l +105.926 165.176 l +106.373 165.176 l +106.819 165.176 l +107.266 165.176 l +107.712 165.176 l +108.158 165.176 l +108.605 165.176 l +109.051 165.176 l +109.498 165.176 l +109.944 165.176 l +110.39 165.176 l +110.837 165.176 l +111.283 165.176 l +111.73 165.176 l +112.176 165.176 l +112.622 165.176 l +113.069 165.176 l +113.515 165.176 l +113.962 165.176 l +114.408 165.176 l +114.854 165.176 l +115.301 165.176 l +115.747 165.176 l +116.194 165.176 l +116.64 165.176 l +117.086 167.369 l +117.533 169.432 l +117.979 171.373 l +118.426 173.199 l +118.872 174.914 l +119.318 176.524 l +119.765 178.035 l +120.211 179.452 l +120.658 180.779 l +121.104 182.022 l +121.55 183.184 l +121.997 184.27 l +122.443 185.283 l +122.89 186.227 l +123.336 187.106 l +123.782 187.924 l +124.229 188.682 l +124.675 189.385 l +125.122 190.036 l +125.568 190.636 l +126.014 191.189 l +126.461 191.698 l +126.907 192.164 l +127.354 192.589 l +127.8 192.977 l +128.246 193.328 l +128.693 193.646 l +129.139 193.931 l +129.586 194.185 l +130.032 194.411 l +130.478 194.609 l +130.925 194.781 l +131.371 194.929 l +131.818 195.054 l +132.264 195.158 l +132.71 195.24 l +133.157 195.303 l +133.603 195.348 l +134.05 195.376 l +134.496 195.387 l +134.942 195.383 l +135.389 195.365 l +135.835 195.333 l +136.282 195.288 l +136.728 195.232 l +137.174 195.164 l +137.621 195.085 l +138.067 194.997 l +138.514 194.899 l +138.96 194.792 l +139.406 194.677 l +139.853 194.555 l +140.299 194.426 l +140.746 194.289 l +141.192 194.147 l +141.638 193.999 l +142.085 193.846 l +142.531 193.687 l +142.978 193.524 l +143.424 193.357 l +143.87 193.185 l +144.317 193.011 l +144.763 192.832 l +145.21 192.651 l +145.656 192.467 l +146.102 192.281 l +146.549 192.092 l +146.995 191.901 l +147.442 191.708 l +147.888 191.514 l +148.334 191.318 l +148.781 191.121 l +149.227 190.922 l +149.674 190.723 l +150.12 190.523 l +150.566 190.323 l +151.013 190.121 l +151.459 189.92 l +151.906 189.718 l +152.352 189.516 l +152.798 189.314 l +153.245 189.112 l +153.691 188.91 l +154.138 188.709 l +154.584 188.507 l +155.03 188.306 l +155.477 188.106 l +155.923 187.906 l +156.37 187.707 l +156.816 187.508 l +157.262 187.311 l +157.709 187.113 l +158.155 186.917 l +158.602 186.722 l +159.048 186.527 l +159.494 186.334 l +159.941 186.141 l +160.387 185.95 l +160.834 185.76 l +161.28 185.57 l +161.726 185.382 l +162.173 185.195 l +162.619 185.009 l +163.066 184.825 l +163.512 184.641 l +163.958 184.459 l +164.405 184.278 l +164.851 184.099 l +165.298 183.92 l +165.744 183.743 l +166.19 183.567 l +166.637 183.393 l +167.083 183.22 l +167.53 183.048 l +167.976 182.877 l +168.422 182.708 l +168.869 182.54 l +169.315 182.374 l +169.762 182.209 l +170.208 182.045 l +170.654 181.883 l +171.101 181.722 l +171.547 181.562 l +171.994 181.404 l +172.44 181.247 l +172.886 181.091 l +173.333 180.937 l +173.779 180.784 l +174.226 180.632 l +174.672 180.482 l +175.118 180.333 l +175.565 180.185 l +176.011 180.039 l +176.458 179.894 l +176.904 179.75 l +177.35 179.607 l +177.797 179.466 l +178.243 179.326 l +178.69 179.188 l +179.136 179.05 l +179.582 178.914 l +180.029 178.78 l +180.475 178.646 l +180.922 178.514 l +181.368 178.383 l +181.814 178.253 l +182.261 178.124 l +182.707 177.997 l +183.154 177.871 l +183.6 177.746 l +184.046 177.622 l +184.493 177.499 l +184.939 177.377 l +185.386 177.257 l +185.832 177.138 l +186.278 177.02 l +186.725 176.903 l +187.171 176.787 l +187.618 176.672 l +188.064 176.559 l +188.51 176.446 l +188.957 176.335 l +189.403 176.224 l +189.85 176.115 l +190.296 176.007 l +190.742 175.9 l +191.189 175.794 l +191.635 175.688 l +192.082 175.584 l +192.528 175.481 l +192.974 175.379 l +193.421 175.278 l +193.867 175.178 l +194.314 175.079 l +194.76 174.981 l +195.206 174.883 l +195.653 174.787 l +196.099 174.692 l +196.546 174.597 l +196.992 174.504 l +197.438 174.411 l +197.885 174.32 l +198.331 174.229 l +198.778 174.139 l +199.224 174.05 l +199.67 173.962 l +200.117 173.875 l +200.563 173.789 l +201.01 173.703 l +201.456 173.618 l +201.902 173.535 l +202.349 173.452 l +202.795 173.369 l +203.242 173.288 l +203.688 173.207 l +204.134 173.128 l +204.581 173.049 l +205.027 172.97 l +205.474 172.893 l +205.92 172.816 l +206.366 172.74 l +206.813 172.665 l +207.259 172.591 l +207.706 172.517 l +208.152 172.444 l +208.598 172.372 l +209.045 172.3 l +209.491 172.23 l +209.938 172.16 l +210.384 172.09 l +210.83 172.021 l +211.277 171.953 l +211.723 171.886 l +212.17 171.819 l +212.616 171.753 l +213.062 171.688 l +213.509 171.623 l +213.955 171.559 l +214.402 171.495 l +214.848 171.433 l +215.294 171.37 l +215.741 171.309 l +216.187 171.248 l +216.634 171.187 l +217.08 171.128 l +217.526 171.069 l +217.973 171.01 l +218.419 170.952 l +218.866 170.894 l +219.312 170.838 l +219.758 170.781 l +220.205 170.726 l +220.651 170.67 l +221.098 170.616 l +221.544 170.562 l +221.99 170.508 l +222.437 170.455 l +222.883 170.402 l +223.33 170.35 l +223.776 170.299 l +224.222 170.248 l +224.669 170.198 l +225.115 170.148 l +225.562 170.098 l +226.008 170.049 l +226.454 170.001 l +226.901 169.953 l +227.347 169.905 l +227.794 169.858 l +228.24 169.812 l +228.686 169.766 l +229.133 169.72 l +229.579 169.675 l +230.026 169.63 l +230.472 169.586 l +230.918 169.542 l +231.365 169.498 l +231.811 169.455 l +232.258 169.413 l +232.704 169.371 l +233.15 169.329 l +233.597 169.288 l +234.043 169.247 l +234.49 169.206 l +234.936 169.166 l +235.382 169.126 l +235.829 169.087 l +236.275 169.048 l +236.722 169.01 l +237.168 168.972 l +237.614 168.934 l +238.061 168.896 l +238.507 168.859 l +238.954 168.823 l +239.4 168.786 l +239.846 168.751 l +240.293 168.715 l +240.739 168.68 l +241.186 168.645 l +241.632 168.61 l +242.078 168.576 l +242.525 168.542 l +242.971 168.509 l +243.418 168.476 l +243.864 168.443 l +244.31 168.41 l +244.757 168.378 l +245.203 168.346 l +245.65 168.315 l +246.096 168.284 l +246.542 168.253 l +246.989 168.222 l +247.435 168.192 l +247.882 168.162 l +248.328 168.132 l +248.774 168.103 l +249.221 168.074 l +249.667 168.045 l +250.114 168.016 l +250.56 167.988 l +251.006 167.96 l +251.453 167.932 l +251.899 167.905 l +252.346 167.878 l +252.792 167.851 l +253.238 167.824 l +253.685 167.798 l +254.131 167.772 l +254.578 167.746 l +255.024 167.72 l +255.47 167.695 l +255.917 167.67 l +256.363 167.645 l +256.81 167.621 l +257.256 167.596 l +257.702 167.572 l +258.149 167.548 l +258.595 167.525 l +259.042 167.501 l +259.488 167.478 l +259.934 167.455 l +260.381 167.433 l +260.827 167.41 l +261.274 167.388 l +261.72 167.366 l +262.166 167.344 l +262.613 167.323 l +263.059 167.301 l +263.506 167.28 l +263.952 167.259 l +264.398 167.239 l +264.845 167.218 l +265.291 167.198 l +265.738 167.178 l +266.184 167.158 l +266.63 167.138 l +267.077 167.118 l +267.523 167.099 l +267.97 167.08 l +268.416 167.061 l +268.862 167.042 l +269.309 167.024 l +269.755 167.005 l +270.202 166.987 l +270.648 166.969 l +271.094 166.951 l +271.541 166.934 l +271.987 166.916 l +272.434 166.899 l +272.88 166.882 l +273.326 166.865 l +273.773 166.848 l +274.219 166.831 l +274.666 166.815 l +275.112 166.799 l +275.558 166.782 l +276.005 166.766 l +276.451 166.751 l +276.898 166.735 l +277.344 166.719 l +277.79 166.704 l +278.237 166.689 l +278.683 166.674 l +279.13 166.659 l +279.576 166.644 l +280.022 166.63 l +280.469 166.615 l +280.915 166.601 l +281.362 166.587 l +281.808 166.573 l +282.254 166.559 l +282.701 166.545 l +283.147 166.531 l +283.594 166.518 l +284.04 166.505 l +284.486 166.491 l +284.933 166.478 l +285.379 166.465 l +285.826 166.452 l +286.272 166.44 l +286.718 166.427 l +287.165 166.415 l +287.611 166.402 l +288.058 166.39 l +288.504 166.378 l +288.95 166.366 l +289.397 166.354 l +289.843 166.343 l +290.29 166.331 l +290.736 166.32 l +291.182 166.308 l +291.629 166.297 l +292.075 166.286 l +292.522 166.275 l +292.968 166.264 l +293.414 166.253 l +293.861 166.242 l +294.307 166.232 l +294.754 166.221 l +295.2 166.211 l +295.646 166.2 l +296.093 166.19 l +296.539 166.18 l +296.986 166.17 l +297.432 166.16 l +297.878 166.151 l +298.325 166.141 l +298.771 166.131 l +299.218 166.122 l +299.664 166.112 l +300.11 166.103 l +300.557 166.094 l +301.003 166.085 l +301.45 166.076 l +301.896 166.067 l +302.342 166.058 l +302.789 166.049 l +303.235 166.04 l +303.682 166.032 l +304.128 166.023 l +304.574 166.015 l +305.021 166.007 l +305.467 165.998 l +305.914 165.99 l +306.36 165.982 l +306.806 165.974 l +307.253 165.966 l +307.699 165.958 l +308.146 165.95 l +308.592 165.943 l +309.038 165.935 l +309.485 165.928 l +309.931 165.92 l +310.378 165.913 l +310.824 165.905 l +311.27 165.898 l +311.717 165.891 l +312.163 165.884 l +312.61 165.877 l +313.056 165.87 l +313.502 165.863 l +313.949 165.856 l +314.395 165.849 l +314.842 165.843 l +315.288 165.836 l +315.734 165.829 l +316.181 165.823 l +316.627 165.816 l +317.074 165.81 l +317.52 165.804 l +317.966 165.798 l +318.413 165.791 l +318.859 165.785 l +319.306 165.779 l +319.752 165.773 l +320.198 165.767 l +320.645 165.761 l +321.091 165.756 l +321.538 165.75 l +321.984 165.744 l +322.43 165.738 l +322.877 165.733 l +323.323 165.727 l +323.77 165.722 l +324.216 165.716 l +324.662 165.711 l +325.109 165.706 l +325.555 165.7 l +326.002 165.695 l +326.448 165.69 l +326.894 165.685 l +327.341 165.68 l +327.787 165.675 l +328.234 165.67 l +328.68 165.665 l +329.126 165.66 l +329.573 165.655 l +330.019 165.651 l +330.466 165.646 l +330.912 165.641 l +331.358 165.637 l +331.805 165.632 l +332.251 165.627 l +332.698 165.623 l +333.144 165.619 l +333.59 165.614 l +334.037 165.61 l +334.483 165.605 l +334.93 165.601 l +335.376 165.597 l +335.822 165.593 l +336.269 165.589 l +336.715 165.585 l +337.162 165.58 l +337.608 165.576 l +338.054 165.572 l +338.501 165.569 l +338.947 165.565 l +339.394 165.561 l +339.84 165.557 l +340.286 165.553 l +340.733 165.549 l +341.179 165.546 l +341.626 165.542 l +342.072 165.538 l +342.518 165.535 l +342.965 165.531 l +343.411 165.528 l +343.858 165.524 l +344.304 165.521 l +344.75 165.517 l +345.197 165.514 l +345.643 165.511 l +346.09 165.507 l +346.536 165.504 l +346.982 165.501 l +347.429 165.497 l +347.875 165.494 l +348.322 165.491 l +348.768 165.488 l +349.214 165.485 l +349.661 165.482 l +350.107 165.479 l +350.554 165.476 l +351 165.473 l +351.446 165.47 l +351.893 165.467 l +352.339 165.464 l +352.786 165.461 l +353.232 165.458 l +353.678 165.456 l +354.125 165.453 l +354.571 165.45 l +355.018 165.447 l +355.464 165.445 l +355.91 165.442 l +356.357 165.439 l +356.803 165.437 l +357.25 165.434 l +357.696 165.432 l +358.142 165.429 l +358.589 165.426 l +359.035 165.424 l +359.482 165.422 l +359.928 165.419 l +360.374 165.417 l +360.821 165.414 l +361.267 165.412 l +361.714 165.41 l +362.16 165.407 l +362.606 165.405 l +363.053 165.403 l +363.499 165.4 l +363.946 165.398 l +364.392 165.396 l +364.838 165.394 l +365.285 165.392 l +365.731 165.39 l +366.178 165.387 l +366.624 165.385 l +367.07 165.383 l +367.517 165.381 l +367.963 165.379 l +368.41 165.377 l +368.856 165.375 l +369.302 165.373 l +369.749 165.371 l +370.195 165.369 l +370.642 165.367 l +371.088 165.365 l +371.534 165.364 l +371.981 165.362 l +372.427 165.36 l +372.874 165.358 l +373.32 165.356 l +373.766 165.354 l +374.213 165.353 l +374.659 165.351 l +375.106 165.349 l +375.552 165.347 l +375.998 165.346 l +376.445 165.344 l +376.891 165.342 l +377.338 165.341 l +377.784 165.339 l +378.23 165.337 l +378.677 165.336 l +379.123 165.334 l +379.57 165.333 l +380.016 165.331 l +380.462 165.33 l +380.909 165.328 l +381.355 165.327 l +381.802 165.325 l +382.248 165.324 l +382.694 165.322 l +383.141 165.321 l +383.587 165.319 l +384.034 165.318 l +384.48 165.316 l +384.926 165.315 l +385.373 165.314 l +385.819 165.312 l +386.266 165.311 l +386.712 165.31 l +387.158 165.308 l +387.605 165.307 l +388.051 165.306 l +388.498 165.304 l +388.944 165.303 l +389.39 165.302 l +389.837 165.301 l +390.283 165.299 l +390.73 165.298 l +391.176 165.297 l +391.622 165.296 l +392.069 165.295 l +392.515 165.293 l +392.962 165.292 l +393.408 165.291 l +393.854 165.29 l +394.301 165.289 l +394.747 165.288 l +395.194 165.287 l +395.64 165.285 l +396.086 165.284 l +396.533 165.283 l +396.979 165.282 l +397.426 165.281 l +397.872 165.28 l +398.318 165.279 l +398.765 165.278 l +399.211 165.277 l +399.658 165.276 l +400.104 165.275 l +400.55 165.274 l +400.997 165.273 l +401.443 165.272 l +401.89 165.271 l +402.336 165.27 l +402.782 165.269 l +403.229 165.268 l +403.675 165.268 l +404.122 165.267 l +404.568 165.266 l +405.014 165.265 l +405.461 165.264 l +405.907 165.263 l +406.354 165.262 l +406.8 165.261 l +407.246 165.261 l +407.693 165.26 l +408.139 165.259 l +408.586 165.258 l +409.032 165.257 l +409.478 165.256 l +409.925 165.256 l +410.371 165.255 l +410.818 165.254 l +411.264 165.253 l +411.71 165.253 l +412.157 165.252 l +412.603 165.251 l +413.05 165.25 l +413.496 165.25 l +413.942 165.249 l +414.389 165.248 l +414.835 165.247 l +415.282 165.247 l +415.728 165.246 l +416.174 165.245 l +416.621 165.245 l +417.067 165.244 l +417.514 165.243 l +417.96 165.243 l +418.406 165.242 l +418.853 165.241 l +419.299 165.241 l +419.746 165.24 l +420.192 165.239 l +420.638 165.239 l +421.085 165.238 l +421.531 165.238 l +421.978 165.237 l +422.424 165.236 l +422.87 165.236 l +423.317 165.235 l +423.763 165.235 l +424.21 165.234 l +424.656 165.233 l +425.102 165.233 l +425.549 165.232 l +425.995 165.232 l +426.442 165.231 l +426.888 165.231 l +427.334 165.23 l +427.781 165.23 l +428.227 165.229 l +428.674 165.228 l +429.12 165.228 l +429.566 165.227 l +430.013 165.227 l +430.459 165.226 l +430.906 165.226 l +431.352 165.225 l +431.798 165.225 l +432.245 165.224 l +432.691 165.224 l +433.138 165.224 l +433.584 165.223 l +434.03 165.223 l +434.477 165.222 l +434.923 165.222 l +435.37 165.221 l +435.816 165.221 l +436.262 165.22 l +436.709 165.22 l +437.155 165.219 l +437.602 165.219 l +438.048 165.219 l +438.494 165.218 l +438.941 165.218 l +439.387 165.217 l +439.834 165.217 l +440.28 165.217 l +440.726 165.216 l +441.173 165.216 l +441.619 165.215 l +442.066 165.215 l +442.512 165.215 l +442.958 165.214 l +443.405 165.214 l +443.851 165.213 l +444.298 165.213 l +444.744 165.213 l +445.19 165.212 l +445.637 165.212 l +446.083 165.212 l +446.53 165.211 l +446.976 165.211 l +447.422 165.211 l +447.869 165.21 l +448.315 165.21 l +448.762 165.21 l +449.208 165.209 l +449.654 165.209 l +450.101 165.209 l +450.547 165.208 l +450.994 165.208 l +451.44 165.208 l +451.886 165.207 l +452.333 165.207 l +452.779 165.207 l +453.226 165.206 l +453.672 165.206 l +454.118 165.206 l +454.565 165.206 l +455.011 165.205 l +455.458 165.205 l +455.904 165.205 l +456.35 165.204 l +456.797 165.204 l +457.243 165.204 l +457.69 165.204 l +458.136 165.203 l +458.582 165.203 l +459.029 165.203 l +459.475 165.203 l +459.922 165.202 l +460.368 165.202 l +460.814 165.202 l +461.261 165.202 l +461.707 165.201 l +462.154 165.201 l +462.6 165.201 l +463.046 165.201 l +463.493 165.2 l +463.939 165.2 l +464.386 165.2 l +464.832 165.2 l +465.278 165.199 l +465.725 165.199 l +466.171 165.199 l +466.618 165.199 l +467.064 165.198 l +467.51 165.198 l +467.957 165.198 l +468.403 165.198 l +468.85 165.198 l +469.296 165.197 l +469.742 165.197 l +470.189 165.197 l +470.635 165.197 l +471.082 165.197 l +471.528 165.196 l +471.974 165.196 l +472.421 165.196 l +472.867 165.196 l +473.314 165.196 l +473.76 165.195 l +474.206 165.195 l +474.653 165.195 l +475.099 165.195 l +475.546 165.195 l +475.992 165.194 l +476.438 165.194 l +476.885 165.194 l +477.331 165.194 l +477.778 165.194 l +478.224 165.194 l +478.67 165.193 l +479.117 165.193 l +479.563 165.193 l +480.01 165.193 l +480.456 165.193 l +480.902 165.193 l +481.349 165.192 l +481.795 165.192 l +482.242 165.192 l +482.688 165.192 l +483.134 165.192 l +483.581 165.192 l +484.027 165.192 l +484.474 165.191 l +484.92 165.191 l +485.366 165.191 l +485.813 165.191 l +486.259 165.191 l +486.706 165.191 l +487.152 165.191 l +487.598 165.19 l +488.045 165.19 l +488.491 165.19 l +488.938 165.19 l +489.384 165.19 l +489.83 165.19 l +490.277 165.19 l +490.723 165.189 l +491.17 165.189 l +491.616 165.189 l +492.062 165.189 l +492.509 165.189 l +492.955 165.189 l +493.402 165.189 l +493.848 165.189 l +494.294 165.188 l +494.741 165.188 l +495.187 165.188 l +495.634 165.188 l +496.08 165.188 l +496.526 165.188 l +496.973 165.188 l +497.419 165.188 l +497.866 165.188 l +498.312 165.187 l +498.758 165.187 l +499.205 165.187 l +499.651 165.187 l +500.098 165.187 l +500.544 165.187 l +500.99 165.187 l +501.437 165.187 l +501.883 165.187 l +502.33 165.186 l +502.776 165.186 l +503.222 165.186 l +503.669 165.186 l +504.115 165.186 l +504.562 165.186 l +505.008 165.186 l +505.454 165.186 l +505.901 165.186 l +506.347 165.186 l +506.794 165.186 l +507.24 165.185 l +507.686 165.185 l +508.133 165.185 l +508.579 165.185 l +509.026 165.185 l +509.472 165.185 l +509.918 165.185 l +510.365 165.185 l +510.811 165.185 l +511.258 165.185 l +511.704 165.185 l +512.15 165.184 l +512.597 165.184 l +513.043 165.184 l +513.49 165.184 l +513.936 165.184 l +514.382 165.184 l +514.829 165.184 l +515.275 165.184 l +515.722 165.184 l +516.168 165.184 l +516.614 165.184 l +517.061 165.184 l +517.507 165.184 l +517.954 165.184 l +stroke +grestore +0.000 0.502 0.000 setrgbcolor +gsave +446.4 101.647 72 165.176 clipbox +72 165.176 m +72.4464 165.176 l +72.8928 165.176 l +73.3392 165.176 l +73.7856 165.176 l +74.232 165.176 l +74.6784 165.176 l +75.1248 165.176 l +75.5712 165.176 l +76.0176 165.176 l +76.464 165.176 l +76.9104 165.176 l +77.3568 165.176 l +77.8032 165.176 l +78.2496 165.176 l +78.696 165.176 l +79.1424 165.176 l +79.5888 165.176 l +80.0352 165.176 l +80.4816 165.176 l +80.928 165.176 l +81.3744 165.176 l +81.8208 165.176 l +82.2672 165.176 l +82.7136 165.176 l +83.16 165.176 l +83.6064 165.176 l +84.0528 165.176 l +84.4992 165.176 l +84.9456 165.176 l +85.392 165.176 l +85.8384 165.176 l +86.2848 165.176 l +86.7312 165.176 l +87.1776 165.176 l +87.624 165.176 l +88.0704 165.176 l +88.5168 165.176 l +88.9632 165.176 l +89.4096 165.176 l +89.856 165.176 l +90.3024 165.176 l +90.7488 165.176 l +91.1952 165.176 l +91.6416 165.176 l +92.088 165.176 l +92.5344 165.176 l +92.9808 165.176 l +93.4272 165.176 l +93.8736 165.176 l +94.32 165.176 l +94.7664 165.176 l +95.2128 165.176 l +95.6592 165.176 l +96.1056 165.176 l +96.552 165.176 l +96.9984 165.176 l +97.4448 165.176 l +97.8912 165.176 l +98.3376 165.176 l +98.784 165.176 l +99.2304 165.176 l +99.6768 165.176 l +100.123 165.176 l +100.57 165.176 l +101.016 165.176 l +101.462 165.176 l +101.909 165.176 l +102.355 165.176 l +102.802 165.176 l +103.248 165.176 l +103.694 165.176 l +104.141 165.176 l +104.587 165.176 l +105.034 165.176 l +105.48 165.176 l +105.926 165.176 l +106.373 165.176 l +106.819 165.176 l +107.266 165.176 l +107.712 165.176 l +108.158 165.176 l +108.605 165.176 l +109.051 165.176 l +109.498 165.176 l +109.944 165.176 l +110.39 165.176 l +110.837 165.176 l +111.283 165.176 l +111.73 165.176 l +112.176 165.176 l +112.622 165.176 l +113.069 165.176 l +113.515 165.176 l +113.962 165.176 l +114.408 165.176 l +114.854 165.176 l +115.301 165.176 l +115.747 165.176 l +116.194 165.176 l +116.64 165.176 l +117.086 165.176 l +117.533 165.176 l +117.979 165.176 l +118.426 165.176 l +118.872 165.176 l +119.318 165.176 l +119.765 165.176 l +120.211 165.176 l +120.658 165.176 l +121.104 165.176 l +121.55 165.176 l +121.997 165.176 l +122.443 165.176 l +122.89 165.176 l +123.336 165.176 l +123.782 165.176 l +124.229 165.176 l +124.675 165.176 l +125.122 165.176 l +125.568 165.176 l +126.014 165.176 l +126.461 165.176 l +126.907 165.176 l +127.354 165.176 l +127.8 165.176 l +128.246 165.176 l +128.693 165.176 l +129.139 165.176 l +129.586 165.176 l +130.032 165.176 l +130.478 165.176 l +130.925 165.176 l +131.371 165.176 l +131.818 165.176 l +132.264 165.176 l +132.71 165.176 l +133.157 165.176 l +133.603 165.176 l +134.05 165.176 l +134.496 165.176 l +134.942 165.176 l +135.389 165.176 l +135.835 165.176 l +136.282 165.176 l +136.728 165.176 l +137.174 165.176 l +137.621 165.176 l +138.067 165.176 l +138.514 165.176 l +138.96 165.176 l +139.406 165.176 l +139.853 165.176 l +140.299 165.176 l +140.746 165.176 l +141.192 165.176 l +141.638 165.176 l +142.085 165.176 l +142.531 165.176 l +142.978 165.176 l +143.424 165.176 l +143.87 165.176 l +144.317 165.176 l +144.763 165.176 l +145.21 165.176 l +145.656 165.176 l +146.102 165.176 l +146.549 165.176 l +146.995 165.176 l +147.442 165.176 l +147.888 165.176 l +148.334 165.176 l +148.781 165.176 l +149.227 165.176 l +149.674 165.176 l +150.12 165.176 l +150.566 165.176 l +151.013 165.176 l +151.459 165.176 l +151.906 165.176 l +152.352 165.176 l +152.798 165.176 l +153.245 165.176 l +153.691 165.176 l +154.138 165.176 l +154.584 165.176 l +155.03 165.176 l +155.477 165.176 l +155.923 165.176 l +156.37 165.176 l +156.816 165.176 l +157.262 165.176 l +157.709 165.176 l +158.155 165.176 l +158.602 165.176 l +159.048 165.176 l +159.494 165.176 l +159.941 165.176 l +160.387 165.176 l +160.834 165.176 l +161.28 165.176 l +161.726 165.176 l +162.173 165.176 l +162.619 165.176 l +163.066 165.176 l +163.512 165.176 l +163.958 165.176 l +164.405 165.176 l +164.851 165.176 l +165.298 165.176 l +165.744 165.176 l +166.19 165.176 l +166.637 165.176 l +167.083 165.176 l +167.53 165.176 l +167.976 165.176 l +168.422 165.176 l +168.869 165.176 l +169.315 165.176 l +169.762 165.176 l +170.208 165.176 l +170.654 165.176 l +171.101 165.176 l +171.547 165.176 l +171.994 165.176 l +172.44 165.176 l +172.886 165.176 l +173.333 165.176 l +173.779 165.176 l +174.226 165.176 l +174.672 165.176 l +175.118 165.176 l +175.565 165.176 l +176.011 165.176 l +176.458 165.176 l +176.904 165.176 l +177.35 165.176 l +177.797 165.176 l +178.243 165.176 l +178.69 165.176 l +179.136 165.176 l +179.582 165.176 l +180.029 165.176 l +180.475 165.176 l +180.922 165.176 l +181.368 165.176 l +181.814 165.176 l +182.261 165.176 l +182.707 165.176 l +183.154 165.176 l +183.6 165.176 l +184.046 165.176 l +184.493 165.176 l +184.939 165.176 l +185.386 165.176 l +185.832 165.176 l +186.278 165.176 l +186.725 165.176 l +187.171 165.176 l +187.618 165.176 l +188.064 165.176 l +188.51 165.176 l +188.957 165.176 l +189.403 165.176 l +189.85 165.176 l +190.296 165.176 l +190.742 165.176 l +191.189 165.176 l +191.635 165.176 l +192.082 165.176 l +192.528 165.176 l +192.974 165.176 l +193.421 165.176 l +193.867 165.176 l +194.314 165.176 l +194.76 165.176 l +195.206 165.176 l +195.653 165.176 l +196.099 165.176 l +196.546 165.176 l +196.992 165.176 l +197.438 165.176 l +197.885 165.176 l +198.331 165.176 l +198.778 165.176 l +199.224 165.176 l +199.67 165.176 l +200.117 165.176 l +200.563 165.176 l +201.01 165.176 l +201.456 165.176 l +201.902 165.176 l +202.349 165.176 l +202.795 165.176 l +203.242 165.176 l +203.688 165.176 l +204.134 165.176 l +204.581 165.176 l +205.027 165.176 l +205.474 165.176 l +205.92 165.176 l +206.366 168.903 l +206.813 172.411 l +207.259 175.711 l +207.706 178.814 l +208.152 181.73 l +208.598 184.467 l +209.045 187.036 l +209.491 189.445 l +209.938 191.702 l +210.384 193.814 l +210.83 195.789 l +211.277 197.635 l +211.723 199.357 l +212.17 200.963 l +212.616 202.457 l +213.062 203.847 l +213.509 205.136 l +213.955 206.332 l +214.402 207.437 l +214.848 208.458 l +215.294 209.399 l +215.741 210.263 l +216.187 211.055 l +216.634 211.778 l +217.08 212.437 l +217.526 213.034 l +217.973 213.574 l +218.419 214.058 l +218.866 214.491 l +219.312 214.875 l +219.758 215.212 l +220.205 215.505 l +220.651 215.756 l +221.098 215.969 l +221.544 216.144 l +221.99 216.285 l +222.437 216.392 l +222.883 216.469 l +223.33 216.516 l +223.776 216.535 l +224.222 216.528 l +224.669 216.497 l +225.115 216.443 l +225.562 216.367 l +226.008 216.27 l +226.454 216.155 l +226.901 216.021 l +227.347 215.871 l +227.794 215.704 l +228.24 215.523 l +228.686 215.328 l +229.133 215.12 l +229.579 214.9 l +230.026 214.669 l +230.472 214.427 l +230.918 214.175 l +231.365 213.914 l +231.811 213.644 l +232.258 213.367 l +232.704 213.083 l +233.15 212.792 l +233.597 212.494 l +234.043 212.191 l +234.49 211.883 l +234.936 211.571 l +235.382 211.253 l +235.829 210.932 l +236.275 210.608 l +236.722 210.28 l +237.168 209.95 l +237.614 209.617 l +238.061 209.282 l +238.507 208.945 l +238.954 208.606 l +239.4 208.266 l +239.846 207.925 l +240.293 207.583 l +240.739 207.24 l +241.186 206.897 l +241.632 206.554 l +242.078 206.21 l +242.525 205.867 l +242.971 205.524 l +243.418 205.181 l +243.864 204.839 l +244.31 204.497 l +244.757 204.157 l +245.203 203.817 l +245.65 203.478 l +246.096 203.141 l +246.542 202.804 l +246.989 202.469 l +247.435 202.136 l +247.882 201.804 l +248.328 201.473 l +248.774 201.144 l +249.221 200.817 l +249.667 200.491 l +250.114 200.168 l +250.56 199.846 l +251.006 199.526 l +251.453 199.208 l +251.899 198.892 l +252.346 198.579 l +252.792 198.267 l +253.238 197.957 l +253.685 197.649 l +254.131 197.344 l +254.578 197.041 l +255.024 196.74 l +255.47 196.441 l +255.917 196.144 l +256.363 195.85 l +256.81 195.558 l +257.256 195.268 l +257.702 194.98 l +258.149 194.695 l +258.595 194.412 l +259.042 194.132 l +259.488 193.853 l +259.934 193.577 l +260.381 193.303 l +260.827 193.032 l +261.274 192.763 l +261.72 192.496 l +262.166 192.231 l +262.613 191.969 l +263.059 191.709 l +263.506 191.451 l +263.952 191.195 l +264.398 190.942 l +264.845 190.691 l +265.291 190.442 l +265.738 190.195 l +266.184 189.951 l +266.63 189.709 l +267.077 189.469 l +267.523 189.231 l +267.97 188.996 l +268.416 188.762 l +268.862 188.531 l +269.309 188.302 l +269.755 188.075 l +270.202 187.85 l +270.648 187.627 l +271.094 187.406 l +271.541 187.188 l +271.987 186.971 l +272.434 186.756 l +272.88 186.544 l +273.326 186.333 l +273.773 186.125 l +274.219 185.918 l +274.666 185.714 l +275.112 185.511 l +275.558 185.31 l +276.005 185.111 l +276.451 184.914 l +276.898 184.719 l +277.344 184.526 l +277.79 184.335 l +278.237 184.146 l +278.683 183.958 l +279.13 183.772 l +279.576 183.588 l +280.022 183.406 l +280.469 183.225 l +280.915 183.047 l +281.362 182.87 l +281.808 182.695 l +282.254 182.521 l +282.701 182.349 l +283.147 182.179 l +283.594 182.01 l +284.04 181.844 l +284.486 181.678 l +284.933 181.515 l +285.379 181.353 l +285.826 181.192 l +286.272 181.033 l +286.718 180.876 l +287.165 180.72 l +287.611 180.566 l +288.058 180.413 l +288.504 180.262 l +288.95 180.112 l +289.397 179.964 l +289.843 179.817 l +290.29 179.672 l +290.736 179.528 l +291.182 179.385 l +291.629 179.244 l +292.075 179.105 l +292.522 178.966 l +292.968 178.829 l +293.414 178.694 l +293.861 178.559 l +294.307 178.426 l +294.754 178.295 l +295.2 178.164 l +295.646 178.035 l +296.093 177.907 l +296.539 177.781 l +296.986 177.656 l +297.432 177.532 l +297.878 177.409 l +298.325 177.287 l +298.771 177.167 l +299.218 177.048 l +299.664 176.93 l +300.11 176.813 l +300.557 176.697 l +301.003 176.583 l +301.45 176.469 l +301.896 176.357 l +302.342 176.246 l +302.789 176.136 l +303.235 176.027 l +303.682 175.919 l +304.128 175.812 l +304.574 175.706 l +305.021 175.601 l +305.467 175.498 l +305.914 175.395 l +306.36 175.294 l +306.806 175.193 l +307.253 175.093 l +307.699 174.995 l +308.146 174.897 l +308.592 174.8 l +309.038 174.705 l +309.485 174.61 l +309.931 174.516 l +310.378 174.423 l +310.824 174.331 l +311.27 174.24 l +311.717 174.15 l +312.163 174.061 l +312.61 173.972 l +313.056 173.885 l +313.502 173.798 l +313.949 173.712 l +314.395 173.627 l +314.842 173.543 l +315.288 173.46 l +315.734 173.378 l +316.181 173.296 l +316.627 173.215 l +317.074 173.135 l +317.52 173.056 l +317.966 172.978 l +318.413 172.9 l +318.859 172.823 l +319.306 172.747 l +319.752 172.672 l +320.198 172.597 l +320.645 172.524 l +321.091 172.451 l +321.538 172.378 l +321.984 172.307 l +322.43 172.236 l +322.877 172.165 l +323.323 172.096 l +323.77 172.027 l +324.216 171.959 l +324.662 171.891 l +325.109 171.825 l +325.555 171.758 l +326.002 171.693 l +326.448 171.628 l +326.894 171.564 l +327.341 171.5 l +327.787 171.437 l +328.234 171.375 l +328.68 171.313 l +329.126 171.252 l +329.573 171.192 l +330.019 171.132 l +330.466 171.073 l +330.912 171.014 l +331.358 170.956 l +331.805 170.899 l +332.251 170.842 l +332.698 170.785 l +333.144 170.729 l +333.59 170.674 l +334.037 170.62 l +334.483 170.565 l +334.93 170.512 l +335.376 170.459 l +335.822 170.406 l +336.269 170.354 l +336.715 170.303 l +337.162 170.252 l +337.608 170.201 l +338.054 170.151 l +338.501 170.102 l +338.947 170.053 l +339.394 170.004 l +339.84 169.956 l +340.286 169.908 l +340.733 169.861 l +341.179 169.815 l +341.626 169.769 l +342.072 169.723 l +342.518 169.678 l +342.965 169.633 l +343.411 169.589 l +343.858 169.545 l +344.304 169.501 l +344.75 169.458 l +345.197 169.416 l +345.643 169.373 l +346.09 169.332 l +346.536 169.29 l +346.982 169.249 l +347.429 169.209 l +347.875 169.169 l +348.322 169.129 l +348.768 169.09 l +349.214 169.051 l +349.661 169.012 l +350.107 168.974 l +350.554 168.936 l +351 168.899 l +351.446 168.862 l +351.893 168.825 l +352.339 168.789 l +352.786 168.753 l +353.232 168.717 l +353.678 168.682 l +354.125 168.647 l +354.571 168.613 l +355.018 168.578 l +355.464 168.545 l +355.91 168.511 l +356.357 168.478 l +356.803 168.445 l +357.25 168.412 l +357.696 168.38 l +358.142 168.348 l +358.589 168.317 l +359.035 168.286 l +359.482 168.255 l +359.928 168.224 l +360.374 168.194 l +360.821 168.164 l +361.267 168.134 l +361.714 168.105 l +362.16 168.075 l +362.606 168.047 l +363.053 168.018 l +363.499 167.99 l +363.946 167.962 l +364.392 167.934 l +364.838 167.907 l +365.285 167.879 l +365.731 167.853 l +366.178 167.826 l +366.624 167.8 l +367.07 167.773 l +367.517 167.748 l +367.963 167.722 l +368.41 167.697 l +368.856 167.672 l +369.302 167.647 l +369.749 167.622 l +370.195 167.598 l +370.642 167.574 l +371.088 167.55 l +371.534 167.526 l +371.981 167.503 l +372.427 167.48 l +372.874 167.457 l +373.32 167.434 l +373.766 167.412 l +374.213 167.389 l +374.659 167.367 l +375.106 167.346 l +375.552 167.324 l +375.998 167.303 l +376.445 167.282 l +376.891 167.261 l +377.338 167.24 l +377.784 167.219 l +378.23 167.199 l +378.677 167.179 l +379.123 167.159 l +379.57 167.139 l +380.016 167.12 l +380.462 167.1 l +380.909 167.081 l +381.355 167.062 l +381.802 167.043 l +382.248 167.025 l +382.694 167.007 l +383.141 166.988 l +383.587 166.97 l +384.034 166.952 l +384.48 166.935 l +384.926 166.917 l +385.373 166.9 l +385.819 166.883 l +386.266 166.866 l +386.712 166.849 l +387.158 166.832 l +387.605 166.816 l +388.051 166.8 l +388.498 166.783 l +388.944 166.767 l +389.39 166.752 l +389.837 166.736 l +390.283 166.72 l +390.73 166.705 l +391.176 166.69 l +391.622 166.675 l +392.069 166.66 l +392.515 166.645 l +392.962 166.631 l +393.408 166.616 l +393.854 166.602 l +394.301 166.588 l +394.747 166.574 l +395.194 166.56 l +395.64 166.546 l +396.086 166.532 l +396.533 166.519 l +396.979 166.505 l +397.426 166.492 l +397.872 166.479 l +398.318 166.466 l +398.765 166.453 l +399.211 166.441 l +399.658 166.428 l +400.104 166.416 l +400.55 166.403 l +400.997 166.391 l +401.443 166.379 l +401.89 166.367 l +402.336 166.355 l +402.782 166.343 l +403.229 166.332 l +403.675 166.32 l +404.122 166.309 l +404.568 166.298 l +405.014 166.286 l +405.461 166.275 l +405.907 166.264 l +406.354 166.254 l +406.8 166.243 l +407.246 166.232 l +407.693 166.222 l +408.139 166.211 l +408.586 166.201 l +409.032 166.191 l +409.478 166.181 l +409.925 166.171 l +410.371 166.161 l +410.818 166.151 l +411.264 166.141 l +411.71 166.132 l +412.157 166.122 l +412.603 166.113 l +413.05 166.104 l +413.496 166.094 l +413.942 166.085 l +414.389 166.076 l +414.835 166.067 l +415.282 166.058 l +415.728 166.05 l +416.174 166.041 l +416.621 166.032 l +417.067 166.024 l +417.514 166.015 l +417.96 166.007 l +418.406 165.999 l +418.853 165.991 l +419.299 165.982 l +419.746 165.974 l +420.192 165.967 l +420.638 165.959 l +421.085 165.951 l +421.531 165.943 l +421.978 165.936 l +422.424 165.928 l +422.87 165.921 l +423.317 165.913 l +423.763 165.906 l +424.21 165.899 l +424.656 165.891 l +425.102 165.884 l +425.549 165.877 l +425.995 165.87 l +426.442 165.863 l +426.888 165.856 l +427.334 165.85 l +427.781 165.843 l +428.227 165.836 l +428.674 165.83 l +429.12 165.823 l +429.566 165.817 l +430.013 165.811 l +430.459 165.804 l +430.906 165.798 l +431.352 165.792 l +431.798 165.786 l +432.245 165.78 l +432.691 165.774 l +433.138 165.768 l +433.584 165.762 l +434.03 165.756 l +434.477 165.75 l +434.923 165.744 l +435.37 165.739 l +435.816 165.733 l +436.262 165.728 l +436.709 165.722 l +437.155 165.717 l +437.602 165.711 l +438.048 165.706 l +438.494 165.701 l +438.941 165.696 l +439.387 165.69 l +439.834 165.685 l +440.28 165.68 l +440.726 165.675 l +441.173 165.67 l +441.619 165.665 l +442.066 165.66 l +442.512 165.656 l +442.958 165.651 l +443.405 165.646 l +443.851 165.642 l +444.298 165.637 l +444.744 165.632 l +445.19 165.628 l +445.637 165.623 l +446.083 165.619 l +446.53 165.614 l +446.976 165.61 l +447.422 165.606 l +447.869 165.601 l +448.315 165.597 l +448.762 165.593 l +449.208 165.589 l +449.654 165.585 l +450.101 165.581 l +450.547 165.577 l +450.994 165.573 l +451.44 165.569 l +451.886 165.565 l +452.333 165.561 l +452.779 165.557 l +453.226 165.553 l +453.672 165.55 l +454.118 165.546 l +454.565 165.542 l +455.011 165.539 l +455.458 165.535 l +455.904 165.531 l +456.35 165.528 l +456.797 165.524 l +457.243 165.521 l +457.69 165.518 l +458.136 165.514 l +458.582 165.511 l +459.029 165.507 l +459.475 165.504 l +459.922 165.501 l +460.368 165.498 l +460.814 165.494 l +461.261 165.491 l +461.707 165.488 l +462.154 165.485 l +462.6 165.482 l +463.046 165.479 l +463.493 165.476 l +463.939 165.473 l +464.386 165.47 l +464.832 165.467 l +465.278 165.464 l +465.725 165.461 l +466.171 165.459 l +466.618 165.456 l +467.064 165.453 l +467.51 165.45 l +467.957 165.447 l +468.403 165.445 l +468.85 165.442 l +469.296 165.439 l +469.742 165.437 l +470.189 165.434 l +470.635 165.432 l +471.082 165.429 l +471.528 165.427 l +471.974 165.424 l +472.421 165.422 l +472.867 165.419 l +473.314 165.417 l +473.76 165.414 l +474.206 165.412 l +474.653 165.41 l +475.099 165.407 l +475.546 165.405 l +475.992 165.403 l +476.438 165.401 l +476.885 165.398 l +477.331 165.396 l +477.778 165.394 l +478.224 165.392 l +478.67 165.39 l +479.117 165.388 l +479.563 165.385 l +480.01 165.383 l +480.456 165.381 l +480.902 165.379 l +481.349 165.377 l +481.795 165.375 l +482.242 165.373 l +482.688 165.371 l +483.134 165.369 l +483.581 165.367 l +484.027 165.366 l +484.474 165.364 l +484.92 165.362 l +485.366 165.36 l +485.813 165.358 l +486.259 165.356 l +486.706 165.355 l +487.152 165.353 l +487.598 165.351 l +488.045 165.349 l +488.491 165.348 l +488.938 165.346 l +489.384 165.344 l +489.83 165.342 l +490.277 165.341 l +490.723 165.339 l +491.17 165.338 l +491.616 165.336 l +492.062 165.334 l +492.509 165.333 l +492.955 165.331 l +493.402 165.33 l +493.848 165.328 l +494.294 165.327 l +494.741 165.325 l +495.187 165.324 l +495.634 165.322 l +496.08 165.321 l +496.526 165.319 l +496.973 165.318 l +497.419 165.317 l +497.866 165.315 l +498.312 165.314 l +498.758 165.312 l +499.205 165.311 l +499.651 165.31 l +500.098 165.308 l +500.544 165.307 l +500.99 165.306 l +501.437 165.304 l +501.883 165.303 l +502.33 165.302 l +502.776 165.301 l +503.222 165.299 l +503.669 165.298 l +504.115 165.297 l +504.562 165.296 l +505.008 165.295 l +505.454 165.293 l +505.901 165.292 l +506.347 165.291 l +506.794 165.29 l +507.24 165.289 l +507.686 165.288 l +508.133 165.287 l +508.579 165.286 l +509.026 165.284 l +509.472 165.283 l +509.918 165.282 l +510.365 165.281 l +510.811 165.28 l +511.258 165.279 l +511.704 165.278 l +512.15 165.277 l +512.597 165.276 l +513.043 165.275 l +513.49 165.274 l +513.936 165.273 l +514.382 165.272 l +514.829 165.271 l +515.275 165.27 l +515.722 165.269 l +516.168 165.268 l +516.614 165.268 l +517.061 165.267 l +517.507 165.266 l +517.954 165.265 l +stroke +grestore +1.000 0.000 0.000 setrgbcolor +gsave +446.4 101.647 72 165.176 clipbox +72 165.176 m +72.4464 165.176 l +72.8928 165.176 l +73.3392 165.176 l +73.7856 165.176 l +74.232 165.176 l +74.6784 165.176 l +75.1248 165.176 l +75.5712 165.176 l +76.0176 165.176 l +76.464 165.176 l +76.9104 165.176 l +77.3568 165.176 l +77.8032 165.176 l +78.2496 165.176 l +78.696 165.176 l +79.1424 165.176 l +79.5888 165.176 l +80.0352 165.176 l +80.4816 165.176 l +80.928 165.176 l +81.3744 165.176 l +81.8208 165.176 l +82.2672 165.176 l +82.7136 165.176 l +83.16 165.176 l +83.6064 165.176 l +84.0528 165.176 l +84.4992 165.176 l +84.9456 165.176 l +85.392 165.176 l +85.8384 165.176 l +86.2848 165.176 l +86.7312 165.176 l +87.1776 165.176 l +87.624 165.176 l +88.0704 165.176 l +88.5168 165.176 l +88.9632 165.176 l +89.4096 165.176 l +89.856 165.176 l +90.3024 165.176 l +90.7488 165.176 l +91.1952 165.176 l +91.6416 165.176 l +92.088 165.176 l +92.5344 165.176 l +92.9808 165.176 l +93.4272 165.176 l +93.8736 165.176 l +94.32 165.176 l +94.7664 165.176 l +95.2128 165.176 l +95.6592 165.176 l +96.1056 165.176 l +96.552 165.176 l +96.9984 165.176 l +97.4448 165.176 l +97.8912 165.176 l +98.3376 165.176 l +98.784 165.176 l +99.2304 165.176 l +99.6768 165.176 l +100.123 165.176 l +100.57 165.176 l +101.016 165.176 l +101.462 165.176 l +101.909 165.176 l +102.355 165.176 l +102.802 165.176 l +103.248 165.176 l +103.694 165.176 l +104.141 165.176 l +104.587 165.176 l +105.034 165.176 l +105.48 165.176 l +105.926 165.176 l +106.373 165.176 l +106.819 165.176 l +107.266 165.176 l +107.712 165.176 l +108.158 165.176 l +108.605 165.176 l +109.051 165.176 l +109.498 165.176 l +109.944 165.176 l +110.39 165.176 l +110.837 165.176 l +111.283 165.176 l +111.73 165.176 l +112.176 165.176 l +112.622 165.176 l +113.069 165.176 l +113.515 165.176 l +113.962 165.176 l +114.408 165.176 l +114.854 165.176 l +115.301 165.176 l +115.747 165.176 l +116.194 165.176 l +116.64 165.176 l +117.086 165.176 l +117.533 165.176 l +117.979 165.176 l +118.426 165.176 l +118.872 165.176 l +119.318 165.176 l +119.765 165.176 l +120.211 165.176 l +120.658 165.176 l +121.104 165.176 l +121.55 165.176 l +121.997 165.176 l +122.443 165.176 l +122.89 165.176 l +123.336 165.176 l +123.782 165.176 l +124.229 165.176 l +124.675 165.176 l +125.122 165.176 l +125.568 165.176 l +126.014 165.176 l +126.461 165.176 l +126.907 165.176 l +127.354 165.176 l +127.8 165.176 l +128.246 165.176 l +128.693 165.176 l +129.139 165.176 l +129.586 165.176 l +130.032 165.176 l +130.478 165.176 l +130.925 165.176 l +131.371 165.176 l +131.818 165.176 l +132.264 165.176 l +132.71 165.176 l +133.157 165.176 l +133.603 165.176 l +134.05 165.176 l +134.496 165.176 l +134.942 165.176 l +135.389 165.176 l +135.835 165.176 l +136.282 165.176 l +136.728 165.176 l +137.174 165.176 l +137.621 165.176 l +138.067 165.176 l +138.514 165.176 l +138.96 165.176 l +139.406 165.176 l +139.853 165.176 l +140.299 165.176 l +140.746 165.176 l +141.192 165.176 l +141.638 165.176 l +142.085 165.176 l +142.531 165.176 l +142.978 165.176 l +143.424 165.176 l +143.87 165.176 l +144.317 165.176 l +144.763 165.176 l +145.21 165.176 l +145.656 165.176 l +146.102 165.176 l +146.549 165.176 l +146.995 165.176 l +147.442 165.176 l +147.888 165.176 l +148.334 165.176 l +148.781 165.176 l +149.227 165.176 l +149.674 165.176 l +150.12 165.176 l +150.566 165.176 l +151.013 165.176 l +151.459 165.176 l +151.906 165.176 l +152.352 165.176 l +152.798 165.176 l +153.245 165.176 l +153.691 165.176 l +154.138 165.176 l +154.584 165.176 l +155.03 165.176 l +155.477 165.176 l +155.923 165.176 l +156.37 165.176 l +156.816 165.176 l +157.262 165.176 l +157.709 165.176 l +158.155 165.176 l +158.602 165.176 l +159.048 165.176 l +159.494 165.176 l +159.941 165.176 l +160.387 165.176 l +160.834 165.176 l +161.28 165.176 l +161.726 165.176 l +162.173 165.176 l +162.619 165.176 l +163.066 165.176 l +163.512 165.176 l +163.958 165.176 l +164.405 165.176 l +164.851 165.176 l +165.298 165.176 l +165.744 165.176 l +166.19 165.176 l +166.637 165.176 l +167.083 165.176 l +167.53 165.176 l +167.976 165.176 l +168.422 165.176 l +168.869 165.176 l +169.315 165.176 l +169.762 165.176 l +170.208 165.176 l +170.654 165.176 l +171.101 165.176 l +171.547 165.176 l +171.994 165.176 l +172.44 165.176 l +172.886 165.176 l +173.333 165.176 l +173.779 165.176 l +174.226 165.176 l +174.672 165.176 l +175.118 165.176 l +175.565 165.176 l +176.011 165.176 l +176.458 165.176 l +176.904 165.176 l +177.35 165.176 l +177.797 165.176 l +178.243 165.176 l +178.69 165.176 l +179.136 165.176 l +179.582 165.176 l +180.029 165.176 l +180.475 165.176 l +180.922 165.176 l +181.368 165.176 l +181.814 165.176 l +182.261 165.176 l +182.707 165.176 l +183.154 165.176 l +183.6 165.176 l +184.046 165.176 l +184.493 165.176 l +184.939 165.176 l +185.386 165.176 l +185.832 165.176 l +186.278 165.176 l +186.725 165.176 l +187.171 165.176 l +187.618 165.176 l +188.064 165.176 l +188.51 165.176 l +188.957 165.176 l +189.403 165.176 l +189.85 165.176 l +190.296 165.176 l +190.742 165.176 l +191.189 165.176 l +191.635 165.176 l +192.082 165.176 l +192.528 165.176 l +192.974 165.176 l +193.421 165.176 l +193.867 165.176 l +194.314 165.176 l +194.76 165.176 l +195.206 165.176 l +195.653 165.176 l +196.099 165.176 l +196.546 165.176 l +196.992 165.176 l +197.438 165.176 l +197.885 165.176 l +198.331 165.176 l +198.778 165.176 l +199.224 165.176 l +199.67 165.176 l +200.117 165.176 l +200.563 165.176 l +201.01 165.176 l +201.456 165.176 l +201.902 165.176 l +202.349 165.176 l +202.795 165.176 l +203.242 165.176 l +203.688 165.176 l +204.134 165.176 l +204.581 165.176 l +205.027 165.176 l +205.474 165.176 l +205.92 165.176 l +206.366 165.176 l +206.813 165.176 l +207.259 165.176 l +207.706 165.176 l +208.152 165.176 l +208.598 165.176 l +209.045 165.176 l +209.491 165.176 l +209.938 165.176 l +210.384 165.176 l +210.83 165.176 l +211.277 165.176 l +211.723 165.176 l +212.17 165.176 l +212.616 165.176 l +213.062 165.176 l +213.509 165.176 l +213.955 165.176 l +214.402 165.176 l +214.848 165.176 l +215.294 165.176 l +215.741 165.176 l +216.187 165.176 l +216.634 165.176 l +217.08 165.176 l +217.526 165.176 l +217.973 165.176 l +218.419 165.176 l +218.866 165.176 l +219.312 165.176 l +219.758 165.176 l +220.205 165.176 l +220.651 165.176 l +221.098 165.176 l +221.544 165.176 l +221.99 165.176 l +222.437 165.176 l +222.883 165.176 l +223.33 165.176 l +223.776 165.176 l +224.222 165.176 l +224.669 165.176 l +225.115 165.176 l +225.562 165.176 l +226.008 165.176 l +226.454 165.176 l +226.901 165.176 l +227.347 165.176 l +227.794 165.176 l +228.24 165.176 l +228.686 165.176 l +229.133 165.176 l +229.579 165.176 l +230.026 165.176 l +230.472 165.176 l +230.918 165.176 l +231.365 165.176 l +231.811 165.176 l +232.258 165.176 l +232.704 165.176 l +233.15 165.176 l +233.597 165.176 l +234.043 165.176 l +234.49 165.176 l +234.936 165.176 l +235.382 165.176 l +235.829 165.176 l +236.275 165.176 l +236.722 165.176 l +237.168 165.176 l +237.614 165.176 l +238.061 165.176 l +238.507 165.176 l +238.954 165.176 l +239.4 165.176 l +239.846 165.176 l +240.293 165.176 l +240.739 165.176 l +241.186 165.176 l +241.632 165.176 l +242.078 165.176 l +242.525 165.176 l +242.971 165.176 l +243.418 165.176 l +243.864 165.176 l +244.31 165.176 l +244.757 165.176 l +245.203 165.176 l +245.65 165.176 l +246.096 165.176 l +246.542 165.176 l +246.989 165.176 l +247.435 165.176 l +247.882 165.176 l +248.328 165.176 l +248.774 165.176 l +249.221 165.176 l +249.667 165.176 l +250.114 165.176 l +250.56 165.176 l +251.006 165.176 l +251.453 165.176 l +251.899 165.176 l +252.346 165.176 l +252.792 165.176 l +253.238 165.176 l +253.685 165.176 l +254.131 165.176 l +254.578 165.176 l +255.024 165.176 l +255.47 165.176 l +255.917 165.176 l +256.363 165.176 l +256.81 165.176 l +257.256 165.176 l +257.702 165.176 l +258.149 165.176 l +258.595 165.176 l +259.042 165.176 l +259.488 165.176 l +259.934 165.176 l +260.381 165.176 l +260.827 165.176 l +261.274 165.176 l +261.72 165.176 l +262.166 165.176 l +262.613 165.176 l +263.059 165.176 l +263.506 165.176 l +263.952 165.176 l +264.398 165.176 l +264.845 165.176 l +265.291 165.176 l +265.738 165.176 l +266.184 165.176 l +266.63 165.176 l +267.077 165.176 l +267.523 165.176 l +267.97 165.176 l +268.416 165.176 l +268.862 165.176 l +269.309 165.176 l +269.755 165.176 l +270.202 165.176 l +270.648 165.176 l +271.094 165.176 l +271.541 165.176 l +271.987 165.176 l +272.434 165.176 l +272.88 165.176 l +273.326 165.176 l +273.773 165.176 l +274.219 165.176 l +274.666 165.176 l +275.112 165.176 l +275.558 165.176 l +276.005 165.176 l +276.451 165.176 l +276.898 165.176 l +277.344 165.176 l +277.79 165.176 l +278.237 165.176 l +278.683 165.176 l +279.13 165.176 l +279.576 165.176 l +280.022 165.176 l +280.469 165.176 l +280.915 165.176 l +281.362 165.176 l +281.808 165.176 l +282.254 165.176 l +282.701 165.176 l +283.147 165.176 l +283.594 165.176 l +284.04 165.176 l +284.486 165.176 l +284.933 165.176 l +285.379 165.176 l +285.826 165.176 l +286.272 165.176 l +286.718 165.176 l +287.165 165.176 l +287.611 165.176 l +288.058 165.176 l +288.504 165.176 l +288.95 165.176 l +289.397 165.176 l +289.843 165.176 l +290.29 165.176 l +290.736 165.176 l +291.182 165.176 l +291.629 165.176 l +292.075 165.176 l +292.522 165.176 l +292.968 165.176 l +293.414 165.176 l +293.861 165.176 l +294.307 165.176 l +294.754 165.176 l +295.2 165.176 l +295.646 165.176 l +296.093 165.176 l +296.539 165.176 l +296.986 165.176 l +297.432 165.176 l +297.878 165.176 l +298.325 165.176 l +298.771 165.176 l +299.218 165.176 l +299.664 165.176 l +300.11 165.176 l +300.557 165.176 l +301.003 165.176 l +301.45 165.176 l +301.896 165.176 l +302.342 165.176 l +302.789 165.176 l +303.235 165.176 l +303.682 165.176 l +304.128 165.176 l +304.574 165.176 l +305.021 165.176 l +305.467 165.176 l +305.914 165.176 l +306.36 165.176 l +306.806 165.176 l +307.253 165.176 l +307.699 165.176 l +308.146 165.176 l +308.592 165.176 l +309.038 165.176 l +309.485 165.176 l +309.931 165.176 l +310.378 165.176 l +310.824 165.176 l +311.27 165.176 l +311.717 165.176 l +312.163 165.176 l +312.61 165.176 l +313.056 165.176 l +313.502 165.176 l +313.949 165.176 l +314.395 165.176 l +314.842 165.176 l +315.288 165.176 l +315.734 165.176 l +316.181 165.176 l +316.627 165.176 l +317.074 165.176 l +317.52 165.176 l +317.966 165.176 l +318.413 165.176 l +318.859 165.176 l +319.306 165.176 l +319.752 165.176 l +320.198 165.176 l +320.645 165.176 l +321.091 165.176 l +321.538 165.176 l +321.984 165.176 l +322.43 165.176 l +322.877 165.176 l +323.323 165.176 l +323.77 165.176 l +324.216 165.176 l +324.662 165.176 l +325.109 165.176 l +325.555 165.176 l +326.002 165.176 l +326.448 165.176 l +326.894 165.176 l +327.341 165.176 l +327.787 165.176 l +328.234 165.176 l +328.68 165.176 l +329.126 165.176 l +329.573 165.176 l +330.019 165.176 l +330.466 165.176 l +330.912 165.176 l +331.358 165.176 l +331.805 165.176 l +332.251 165.176 l +332.698 165.176 l +333.144 165.176 l +333.59 165.176 l +334.037 165.176 l +334.483 165.176 l +334.93 165.176 l +335.376 165.176 l +335.822 165.176 l +336.269 165.176 l +336.715 165.176 l +337.162 165.176 l +337.608 165.176 l +338.054 165.176 l +338.501 165.176 l +338.947 165.176 l +339.394 165.176 l +339.84 165.176 l +340.286 165.176 l +340.733 165.176 l +341.179 165.176 l +341.626 165.176 l +342.072 165.176 l +342.518 165.176 l +342.965 165.176 l +343.411 165.176 l +343.858 165.176 l +344.304 165.176 l +344.75 165.176 l +345.197 165.176 l +345.643 165.176 l +346.09 165.176 l +346.536 165.176 l +346.982 165.176 l +347.429 165.176 l +347.875 165.176 l +348.322 165.176 l +348.768 165.176 l +349.214 165.176 l +349.661 165.176 l +350.107 165.176 l +350.554 165.176 l +351 165.176 l +351.446 165.176 l +351.893 165.176 l +352.339 165.176 l +352.786 165.176 l +353.232 165.176 l +353.678 165.176 l +354.125 165.176 l +354.571 165.176 l +355.018 165.176 l +355.464 165.176 l +355.91 165.176 l +356.357 165.176 l +356.803 165.176 l +357.25 165.176 l +357.696 165.176 l +358.142 165.176 l +358.589 165.176 l +359.035 165.176 l +359.482 165.176 l +359.928 165.176 l +360.374 165.176 l +360.821 165.176 l +361.267 165.176 l +361.714 165.176 l +362.16 165.176 l +362.606 165.176 l +363.053 165.176 l +363.499 165.176 l +363.946 165.176 l +364.392 165.176 l +364.838 165.176 l +365.285 165.176 l +365.731 165.176 l +366.178 165.176 l +366.624 165.176 l +367.07 165.176 l +367.517 165.176 l +367.963 165.176 l +368.41 165.176 l +368.856 165.176 l +369.302 165.176 l +369.749 165.176 l +370.195 165.176 l +370.642 165.176 l +371.088 165.176 l +371.534 165.176 l +371.981 165.176 l +372.427 165.176 l +372.874 165.176 l +373.32 165.176 l +373.766 165.176 l +374.213 165.176 l +374.659 165.176 l +375.106 165.176 l +375.552 165.176 l +375.998 165.176 l +376.445 165.176 l +376.891 165.176 l +377.338 165.176 l +377.784 165.176 l +378.23 165.176 l +378.677 165.176 l +379.123 165.176 l +379.57 165.176 l +380.016 165.176 l +380.462 165.176 l +380.909 165.176 l +381.355 165.176 l +381.802 165.176 l +382.248 165.176 l +382.694 165.176 l +383.141 165.176 l +383.587 165.176 l +384.034 165.176 l +384.48 165.176 l +384.926 165.176 l +385.373 165.176 l +385.819 165.176 l +386.266 165.176 l +386.712 165.176 l +387.158 165.176 l +387.605 165.176 l +388.051 165.176 l +388.498 165.176 l +388.944 165.176 l +389.39 165.176 l +389.837 165.176 l +390.283 165.176 l +390.73 165.176 l +391.176 165.176 l +391.622 165.176 l +392.069 165.176 l +392.515 165.176 l +392.962 165.176 l +393.408 165.176 l +393.854 165.176 l +394.301 165.176 l +394.747 165.176 l +395.194 165.176 l +395.64 165.176 l +396.086 165.176 l +396.533 165.176 l +396.979 165.176 l +397.426 165.176 l +397.872 165.176 l +398.318 165.176 l +398.765 165.176 l +399.211 165.176 l +399.658 165.176 l +400.104 165.176 l +400.55 165.176 l +400.997 165.176 l +401.443 165.176 l +401.89 165.176 l +402.336 165.176 l +402.782 165.176 l +403.229 165.176 l +403.675 165.176 l +404.122 165.176 l +404.568 165.176 l +405.014 165.176 l +405.461 165.176 l +405.907 165.176 l +406.354 165.176 l +406.8 165.176 l +407.246 165.176 l +407.693 165.176 l +408.139 165.176 l +408.586 165.176 l +409.032 165.176 l +409.478 165.176 l +409.925 165.176 l +410.371 165.176 l +410.818 165.176 l +411.264 165.176 l +411.71 165.176 l +412.157 165.176 l +412.603 165.176 l +413.05 165.176 l +413.496 165.176 l +413.942 165.176 l +414.389 165.176 l +414.835 165.176 l +415.282 165.176 l +415.728 165.176 l +416.174 165.176 l +416.621 165.176 l +417.067 165.176 l +417.514 165.176 l +417.96 165.176 l +418.406 165.176 l +418.853 165.176 l +419.299 165.176 l +419.746 165.176 l +420.192 165.176 l +420.638 165.176 l +421.085 165.176 l +421.531 165.176 l +421.978 165.176 l +422.424 165.176 l +422.87 165.176 l +423.317 165.176 l +423.763 165.176 l +424.21 165.176 l +424.656 165.176 l +425.102 165.176 l +425.549 165.176 l +425.995 165.176 l +426.442 165.176 l +426.888 165.176 l +427.334 165.176 l +427.781 165.176 l +428.227 165.176 l +428.674 165.176 l +429.12 165.176 l +429.566 165.176 l +430.013 165.176 l +430.459 165.176 l +430.906 165.176 l +431.352 165.176 l +431.798 165.176 l +432.245 165.176 l +432.691 165.176 l +433.138 165.176 l +433.584 165.176 l +434.03 165.176 l +434.477 165.176 l +434.923 165.176 l +435.37 165.176 l +435.816 165.176 l +436.262 165.176 l +436.709 165.176 l +437.155 165.176 l +437.602 165.176 l +438.048 165.176 l +438.494 165.176 l +438.941 165.176 l +439.387 165.176 l +439.834 165.176 l +440.28 165.176 l +440.726 165.176 l +441.173 165.176 l +441.619 165.176 l +442.066 165.176 l +442.512 165.176 l +442.958 165.176 l +443.405 165.176 l +443.851 165.176 l +444.298 165.176 l +444.744 165.176 l +445.19 165.176 l +445.637 165.176 l +446.083 165.176 l +446.53 165.176 l +446.976 165.176 l +447.422 165.176 l +447.869 165.176 l +448.315 165.176 l +448.762 165.176 l +449.208 165.176 l +449.654 165.176 l +450.101 165.176 l +450.547 165.176 l +450.994 165.176 l +451.44 165.176 l +451.886 165.176 l +452.333 165.176 l +452.779 165.176 l +453.226 165.176 l +453.672 165.176 l +454.118 165.176 l +454.565 165.176 l +455.011 165.176 l +455.458 165.176 l +455.904 165.176 l +456.35 165.176 l +456.797 165.176 l +457.243 165.176 l +457.69 165.176 l +458.136 165.176 l +458.582 165.176 l +459.029 165.176 l +459.475 165.176 l +459.922 165.176 l +460.368 165.176 l +460.814 165.176 l +461.261 165.176 l +461.707 165.176 l +462.154 165.176 l +462.6 165.176 l +463.046 165.176 l +463.493 165.176 l +463.939 165.176 l +464.386 165.176 l +464.832 165.176 l +465.278 165.176 l +465.725 165.176 l +466.171 165.176 l +466.618 165.176 l +467.064 165.176 l +467.51 165.176 l +467.957 165.176 l +468.403 165.176 l +468.85 165.176 l +469.296 165.176 l +469.742 165.176 l +470.189 165.176 l +470.635 165.176 l +471.082 165.176 l +471.528 165.176 l +471.974 165.176 l +472.421 165.176 l +472.867 165.176 l +473.314 165.176 l +473.76 165.176 l +474.206 166.492 l +474.653 167.73 l +475.099 168.895 l +475.546 169.99 l +475.992 171.019 l +476.438 171.985 l +476.885 172.892 l +477.331 173.742 l +477.778 174.538 l +478.224 175.284 l +478.67 175.981 l +479.117 176.632 l +479.563 177.24 l +480.01 177.807 l +480.456 178.334 l +480.902 178.825 l +481.349 179.28 l +481.795 179.702 l +482.242 180.092 l +482.688 180.452 l +483.134 180.784 l +483.581 181.089 l +484.027 181.369 l +484.474 181.624 l +484.92 181.857 l +485.366 182.067 l +485.813 182.258 l +486.259 182.429 l +486.706 182.582 l +487.152 182.717 l +487.598 182.836 l +488.045 182.939 l +488.491 183.028 l +488.938 183.103 l +489.384 183.165 l +489.83 183.215 l +490.277 183.253 l +490.723 183.28 l +491.17 183.296 l +491.616 183.303 l +492.062 183.301 l +492.509 183.29 l +492.955 183.27 l +493.402 183.244 l +493.848 183.21 l +494.294 183.169 l +494.741 183.122 l +495.187 183.069 l +495.634 183.01 l +496.08 182.946 l +496.526 182.877 l +496.973 182.804 l +497.419 182.726 l +497.866 182.644 l +498.312 182.559 l +498.758 182.47 l +499.205 182.378 l +499.651 182.283 l +500.098 182.185 l +500.544 182.085 l +500.99 181.982 l +501.437 181.877 l +501.883 181.77 l +502.33 181.661 l +502.776 181.551 l +503.222 181.439 l +503.669 181.326 l +504.115 181.211 l +504.562 181.095 l +505.008 180.979 l +505.454 180.861 l +505.901 180.743 l +506.347 180.624 l +506.794 180.505 l +507.24 180.385 l +507.686 180.264 l +508.133 180.143 l +508.579 180.023 l +509.026 179.901 l +509.472 179.78 l +509.918 179.659 l +510.365 179.538 l +510.811 179.417 l +511.258 179.296 l +511.704 179.175 l +512.15 179.054 l +512.597 178.934 l +513.043 178.814 l +513.49 178.695 l +513.936 178.576 l +514.382 178.457 l +514.829 178.339 l +515.275 178.221 l +515.722 178.104 l +516.168 177.987 l +516.614 177.871 l +517.061 177.755 l +517.507 177.641 l +517.954 177.526 l +stroke +grestore +0.000 setgray +68.977 152.098 m +0 0.172 rmoveto +(0) show +0.500 setlinewidth +0 setlinecap +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +161.28 165.176 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +161.28 266.824 o +158.499 152.27 m +(2) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +250.56 165.176 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +250.56 266.824 o +247.372 152.426 m +(4) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +339.84 165.176 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +339.84 266.824 o +336.824 152.098 m +0 0.172 rmoveto +(6) show +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +429.12 165.176 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +429.12 266.824 o +426.12 152.098 m +0 0.172 rmoveto +(8) show +511.814 152.098 m +0 0.172 rmoveto +(10) show +50.5 160.637 m +0 0.172 rmoveto +(0.0) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 176.471 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 176.471 o +50.906 171.932 m +0 0.172 rmoveto +(0.2) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 187.765 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 187.765 o +50.375 183.226 m +0 0.172 rmoveto +(0.4) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 199.059 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 199.059 o +50.469 194.52 m +0 0.172 rmoveto +(0.6) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 210.353 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 210.353 o +50.531 205.814 m +0 0.172 rmoveto +(0.8) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 221.647 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 221.647 o +51.016 217.108 m +0 0.172 rmoveto +(1.0) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 232.941 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 232.941 o +51.422 228.488 m +(1.2) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 244.235 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 244.235 o +50.891 239.86 m +(1.4) show +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 255.529 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 255.529 o +50.984 250.99 m +0 0.172 rmoveto +(1.6) show +51.047 262.284 m +0 0.172 rmoveto +(1.8) show +45.375 192 m +gsave +90 rotate +0 2.5 rmoveto +(3 inputs) show +grestore +1.000 setlinewidth +2 setlinecap +72 165.176 m +518.4 165.176 l +518.4 266.824 l +72 266.824 l +72 165.176 l +stroke +gsave +72 43.2 m +72 144.847 l +518.4 144.847 l +518.4 43.2 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +grestore +2.000 setlinewidth +gsave +446.4 101.647 72 43.2 clipbox +72 43.2 m +72.4464 43.2 l +72.8928 43.2 l +73.3392 43.2 l +73.7856 43.2 l +74.232 43.2 l +74.6784 43.2 l +75.1248 43.2 l +75.5712 43.2 l +76.0176 43.2 l +76.464 43.2 l +76.9104 43.2 l +77.3568 43.2 l +77.8032 43.2 l +78.2496 43.2 l +78.696 43.2 l +79.1424 43.2 l +79.5888 43.2 l +80.0352 43.2 l +80.4816 43.2 l +80.928 43.2 l +81.3744 43.2 l +81.8208 43.2 l +82.2672 43.2 l +82.7136 43.2 l +83.16 43.2 l +83.6064 43.2 l +84.0528 43.2 l +84.4992 43.2 l +84.9456 43.2 l +85.392 43.2 l +85.8384 43.2 l +86.2848 43.2 l +86.7312 43.2 l +87.1776 43.2 l +87.624 43.2 l +88.0704 43.2 l +88.5168 43.2 l +88.9632 43.2 l +89.4096 43.2 l +89.856 43.2 l +90.3024 43.2 l +90.7488 43.2 l +91.1952 43.2 l +91.6416 43.2 l +92.088 43.2 l +92.5344 43.2 l +92.9808 43.2 l +93.4272 43.2 l +93.8736 43.2 l +94.32 43.2 l +94.7664 43.2 l +95.2128 43.2 l +95.6592 43.2 l +96.1056 43.2 l +96.552 43.2 l +96.9984 43.2 l +97.4448 43.2 l +97.8912 43.2 l +98.3376 43.2 l +98.784 43.2 l +99.2304 43.2 l +99.6768 43.2 l +100.123 43.2 l +100.57 43.2 l +101.016 43.2 l +101.462 43.2 l +101.909 43.2 l +102.355 43.2 l +102.802 43.2 l +103.248 43.2 l +103.694 43.2 l +104.141 43.2 l +104.587 43.2 l +105.034 43.2 l +105.48 43.2 l +105.926 43.2 l +106.373 43.2 l +106.819 43.2 l +107.266 43.2 l +107.712 43.2 l +108.158 43.2 l +108.605 43.2 l +109.051 43.2 l +109.498 43.2 l +109.944 43.2 l +110.39 43.2 l +110.837 43.2 l +111.283 43.2 l +111.73 43.2 l +112.176 43.2 l +112.622 43.2 l +113.069 43.2 l +113.515 43.2 l +113.962 43.2 l +114.408 43.2 l +114.854 43.2 l +115.301 43.2 l +115.747 43.2 l +116.194 43.2 l +116.64 43.2 l +117.086 46.4883 l +117.533 49.5835 l +117.979 52.4954 l +118.426 55.2332 l +118.872 57.8057 l +119.318 60.2213 l +119.765 62.488 l +120.211 64.6133 l +120.658 66.6045 l +121.104 68.4683 l +121.55 70.2114 l +121.997 71.8398 l +122.443 73.3595 l +122.89 74.7761 l +123.336 76.0948 l +123.782 77.3208 l +124.229 78.4588 l +124.675 79.5135 l +125.122 80.4891 l +125.568 81.3898 l +126.014 82.2195 l +126.461 82.9819 l +126.907 83.6807 l +127.354 84.3191 l +127.8 84.9004 l +128.246 85.4276 l +128.693 85.9036 l +129.139 86.3311 l +129.586 86.7128 l +130.032 87.0512 l +130.478 87.3486 l +130.925 87.6073 l +131.371 87.8293 l +131.818 88.0168 l +132.264 88.1716 l +132.71 88.2955 l +133.157 88.3903 l +133.603 88.4577 l +134.05 88.4992 l +134.496 88.5164 l +134.942 88.5105 l +135.389 88.483 l +135.835 88.4351 l +136.282 88.368 l +136.728 88.2829 l +137.174 88.1809 l +137.621 88.063 l +138.067 87.9302 l +138.514 87.7835 l +138.96 87.6236 l +139.406 87.4515 l +139.853 87.268 l +140.299 87.0737 l +140.746 86.8695 l +141.192 86.656 l +141.638 86.4338 l +142.085 86.2036 l +142.531 85.9659 l +142.978 85.7213 l +143.424 85.4703 l +143.87 85.2134 l +144.317 84.9511 l +144.763 84.6838 l +145.21 84.412 l +145.656 84.1359 l +146.102 83.8561 l +146.549 83.5729 l +146.995 83.2865 l +147.442 82.9974 l +147.888 82.7058 l +148.334 82.412 l +148.781 82.1163 l +149.227 81.8189 l +149.674 81.5201 l +150.12 81.2201 l +150.566 80.9192 l +151.013 80.6174 l +151.459 80.3151 l +151.906 80.0123 l +152.352 79.7094 l +152.798 79.4063 l +153.245 79.1033 l +153.691 78.8006 l +154.138 78.4982 l +154.584 78.1963 l +155.03 77.895 l +155.477 77.5944 l +155.923 77.2946 l +156.37 76.9957 l +156.816 76.6978 l +157.262 76.4011 l +157.709 76.1055 l +158.155 75.8111 l +158.602 75.5181 l +159.048 75.2264 l +159.494 74.9362 l +159.941 74.6475 l +160.387 74.3603 l +160.834 74.0747 l +161.28 73.7908 l +161.726 73.5086 l +162.173 73.2281 l +162.619 72.9493 l +163.066 72.6724 l +163.512 72.3973 l +163.958 72.124 l +164.405 71.8526 l +164.851 71.5832 l +165.298 71.3156 l +165.744 71.05 l +166.19 70.7863 l +166.637 70.5246 l +167.083 70.2649 l +167.53 70.0071 l +167.976 69.7514 l +168.422 69.4977 l +168.869 69.246 l +169.315 68.9963 l +169.762 68.7486 l +170.208 68.503 l +170.654 68.2593 l +171.101 68.0177 l +171.547 67.7782 l +171.994 67.5406 l +172.44 67.3051 l +172.886 67.0716 l +173.333 66.8401 l +173.779 66.6107 l +174.226 66.3832 l +174.672 66.1577 l +175.118 65.9342 l +175.565 65.7127 l +176.011 65.4932 l +176.458 65.2756 l +176.904 65.06 l +177.35 64.8463 l +177.797 64.6346 l +178.243 64.4248 l +178.69 64.2169 l +179.136 64.011 l +179.582 63.8069 l +180.029 63.6047 l +180.475 63.4044 l +180.922 63.2059 l +181.368 63.0093 l +181.814 62.8146 l +182.261 62.6216 l +182.707 62.4305 l +183.154 62.2411 l +183.6 62.0536 l +184.046 61.8678 l +184.493 61.6838 l +184.939 61.5015 l +185.386 61.321 l +185.832 61.1422 l +186.278 60.9651 l +186.725 60.7896 l +187.171 60.6159 l +187.618 60.4438 l +188.064 60.2734 l +188.51 60.1046 l +188.957 59.9375 l +189.403 59.7719 l +189.85 59.608 l +190.296 59.4456 l +190.742 59.2848 l +191.189 59.1256 l +191.635 58.9679 l +192.082 58.8118 l +192.528 58.6571 l +192.974 58.504 l +193.421 58.3524 l +193.867 58.2022 l +194.314 58.0535 l +194.76 57.9063 l +195.206 57.7604 l +195.653 57.6161 l +196.099 57.4731 l +196.546 57.3315 l +196.992 57.1913 l +197.438 57.0525 l +197.885 56.9151 l +198.331 56.779 l +198.778 56.6442 l +199.224 56.5108 l +199.67 56.3786 l +200.117 56.2478 l +200.563 56.1183 l +201.01 55.99 l +201.456 55.863 l +201.902 55.7372 l +202.349 55.6127 l +202.795 55.4894 l +203.242 55.3674 l +203.688 55.2465 l +204.134 55.1268 l +204.581 55.0083 l +205.027 54.891 l +205.474 54.7749 l +205.92 54.6598 l +206.366 60.1361 l +206.813 65.2852 l +207.259 70.1238 l +207.706 74.6675 l +208.152 78.9313 l +208.598 82.9295 l +209.045 86.6756 l +209.491 90.1824 l +209.938 93.4622 l +210.384 96.5266 l +210.83 99.3867 l +211.277 102.053 l +211.723 104.535 l +212.17 106.843 l +212.616 108.986 l +213.062 110.972 l +213.509 112.81 l +213.955 114.507 l +214.402 116.07 l +214.848 117.507 l +215.294 118.824 l +215.741 120.028 l +216.187 121.124 l +216.634 122.119 l +217.08 123.017 l +217.526 123.825 l +217.973 124.546 l +218.419 125.186 l +218.866 125.749 l +219.312 126.239 l +219.758 126.66 l +220.205 127.016 l +220.651 127.311 l +221.098 127.547 l +221.544 127.729 l +221.99 127.86 l +222.437 127.941 l +222.883 127.977 l +223.33 127.97 l +223.776 127.922 l +224.222 127.835 l +224.669 127.713 l +225.115 127.556 l +225.562 127.368 l +226.008 127.15 l +226.454 126.904 l +226.901 126.632 l +227.347 126.335 l +227.794 126.015 l +228.24 125.673 l +228.686 125.311 l +229.133 124.931 l +229.579 124.533 l +230.026 124.118 l +230.472 123.689 l +230.918 123.245 l +231.365 122.789 l +231.811 122.32 l +232.258 121.841 l +232.704 121.351 l +233.15 120.851 l +233.597 120.344 l +234.043 119.828 l +234.49 119.305 l +234.936 118.776 l +235.382 118.24 l +235.829 117.7 l +236.275 117.155 l +236.722 116.605 l +237.168 116.052 l +237.614 115.496 l +238.061 114.938 l +238.507 114.377 l +238.954 113.814 l +239.4 113.249 l +239.846 112.684 l +240.293 112.117 l +240.739 111.551 l +241.186 110.984 l +241.632 110.417 l +242.078 109.85 l +242.525 109.285 l +242.971 108.72 l +243.418 108.156 l +243.864 107.593 l +244.31 107.032 l +244.757 106.473 l +245.203 105.916 l +245.65 105.36 l +246.096 104.807 l +246.542 104.256 l +246.989 103.708 l +247.435 103.162 l +247.882 102.619 l +248.328 102.078 l +248.774 101.541 l +249.221 101.006 l +249.667 100.475 l +250.114 99.9466 l +250.56 99.4216 l +251.006 98.8999 l +251.453 98.3815 l +251.899 97.8665 l +252.346 97.355 l +252.792 96.847 l +253.238 96.3425 l +253.685 95.8416 l +254.131 95.3444 l +254.578 94.8508 l +255.024 94.3609 l +255.47 93.8746 l +255.917 93.3922 l +256.363 92.9134 l +256.81 92.4384 l +257.256 91.9672 l +257.702 91.4997 l +258.149 91.0361 l +258.595 90.5762 l +259.042 90.1201 l +259.488 89.6678 l +259.934 89.2193 l +260.381 88.7746 l +260.827 88.3337 l +261.274 87.8965 l +261.72 87.4631 l +262.166 87.0335 l +262.613 86.6076 l +263.059 86.1854 l +263.506 85.767 l +263.952 85.3523 l +264.398 84.9413 l +264.845 84.5339 l +265.291 84.1303 l +265.738 83.7302 l +266.184 83.3338 l +266.63 82.941 l +267.077 82.5518 l +267.523 82.1662 l +267.97 81.7841 l +268.416 81.4056 l +268.862 81.0305 l +269.309 80.6589 l +269.755 80.2908 l +270.202 79.9262 l +270.648 79.5649 l +271.094 79.207 l +271.541 78.8525 l +271.987 78.5014 l +272.434 78.1535 l +272.88 77.809 l +273.326 77.4677 l +273.773 77.1297 l +274.219 76.7949 l +274.666 76.4633 l +275.112 76.1348 l +275.558 75.8095 l +276.005 75.4873 l +276.451 75.1683 l +276.898 74.8522 l +277.344 74.5393 l +277.79 74.2293 l +278.237 73.9224 l +278.683 73.6184 l +279.13 73.3173 l +279.576 73.0192 l +280.022 72.7239 l +280.469 72.4315 l +280.915 72.142 l +281.362 71.8553 l +281.808 71.5714 l +282.254 71.2902 l +282.701 71.0118 l +283.147 70.7361 l +283.594 70.4631 l +284.04 70.1927 l +284.486 69.925 l +284.933 69.6599 l +285.379 69.3975 l +285.826 69.1376 l +286.272 68.8802 l +286.718 68.6254 l +287.165 68.373 l +287.611 68.1232 l +288.058 67.8758 l +288.504 67.6308 l +288.95 67.3883 l +289.397 67.1481 l +289.843 66.9103 l +290.29 66.6748 l +290.736 66.4417 l +291.182 66.2109 l +291.629 65.9823 l +292.075 65.756 l +292.522 65.5319 l +292.968 65.3101 l +293.414 65.0904 l +293.861 64.8729 l +294.307 64.6575 l +294.754 64.4443 l +295.2 64.2332 l +295.646 64.0242 l +296.093 63.8172 l +296.539 63.6123 l +296.986 63.4094 l +297.432 63.2085 l +297.878 63.0096 l +298.325 62.8127 l +298.771 62.6177 l +299.218 62.4247 l +299.664 62.2336 l +300.11 62.0443 l +300.557 61.857 l +301.003 61.6715 l +301.45 61.4878 l +301.896 61.306 l +302.342 61.1259 l +302.789 60.9477 l +303.235 60.7712 l +303.682 60.5965 l +304.128 60.4235 l +304.574 60.2522 l +305.021 60.0826 l +305.467 59.9147 l +305.914 59.7485 l +306.36 59.5839 l +306.806 59.4209 l +307.253 59.2596 l +307.699 59.0999 l +308.146 58.9417 l +308.592 58.7852 l +309.038 58.6301 l +309.485 58.4767 l +309.931 58.3247 l +310.378 58.1743 l +310.824 58.0253 l +311.27 57.8778 l +311.717 57.7318 l +312.163 57.5873 l +312.61 57.4442 l +313.056 57.3025 l +313.502 57.1622 l +313.949 57.0233 l +314.395 56.8858 l +314.842 56.7496 l +315.288 56.6148 l +315.734 56.4814 l +316.181 56.3493 l +316.627 56.2184 l +317.074 56.0889 l +317.52 55.9607 l +317.966 55.8338 l +318.413 55.7081 l +318.859 55.5836 l +319.306 55.4604 l +319.752 55.3384 l +320.198 55.2177 l +320.645 55.0981 l +321.091 54.9797 l +321.538 54.8626 l +321.984 54.7465 l +322.43 54.6316 l +322.877 54.5179 l +323.323 54.4053 l +323.77 54.2938 l +324.216 54.1834 l +324.662 54.0742 l +325.109 53.966 l +325.555 53.8589 l +326.002 53.7528 l +326.448 53.6478 l +326.894 53.5439 l +327.341 53.441 l +327.787 53.3391 l +328.234 53.2382 l +328.68 53.1383 l +329.126 53.0394 l +329.573 52.9415 l +330.019 52.8446 l +330.466 52.7486 l +330.912 52.6536 l +331.358 52.5596 l +331.805 52.4665 l +332.251 52.3743 l +332.698 52.283 l +333.144 52.1926 l +333.59 52.1031 l +334.037 52.0145 l +334.483 51.9268 l +334.93 51.84 l +335.376 51.754 l +335.822 51.6689 l +336.269 51.5847 l +336.715 51.5012 l +337.162 51.4186 l +337.608 51.3369 l +338.054 51.2559 l +338.501 51.1758 l +338.947 51.0964 l +339.394 51.0178 l +339.84 50.94 l +340.286 50.863 l +340.733 50.7868 l +341.179 50.7113 l +341.626 50.6366 l +342.072 50.5626 l +342.518 50.4893 l +342.965 50.4168 l +343.411 50.345 l +343.858 50.2739 l +344.304 50.2035 l +344.75 50.1338 l +345.197 50.0648 l +345.643 49.9965 l +346.09 49.9289 l +346.536 49.8619 l @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4022] trunk/py4science/workbook From: - 2007-10-26 19:44:09 Revision: 4022 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4022&view=rev Author: jdh2358 Date: 2007-10-26 12:44:07 -0700 (Fri, 26 Oct 2007) Log Message: ----------- added some more workbook files Added Paths: ----------- trunk/py4science/workbook/glass_dots.tex trunk/py4science/workbook/intro_linalg.tex trunk/py4science/workbook/intro_sigproc.tex Added: trunk/py4science/workbook/glass_dots.tex =================================================================== --- trunk/py4science/workbook/glass_dots.tex (rev 0) +++ trunk/py4science/workbook/glass_dots.tex 2007-10-26 19:44:07 UTC (rev 4022) @@ -0,0 +1,52 @@ +\section{Glass Moir\'e Patterns} +\label{sec:glass_patterns} + +When a random dot pattern is scaled, rotated, and superimposed over +the original dots, interesting visual patterns known as Glass Patterns +emerge\footnote{L. Glass. 'Moir\'e effect from random dots' Nature 223, + 578580 (1969).} In this exercise, we generate random dot fields +using numpy's uniform distribution function, and apply +transformations to the random dot field using a scale $\mathbf{S}$ +and rotation $\mathbf{R}$ matrix $\mathbf{X_2} = \mathbf{S} \mathbf{R} +\mathbf{X_1}$. + +If the scale and rotation factors are small, the transformation is +analogous to a single step in the numerical solution of a 2D ODE, and +the plot of both $\mathbf{X_1}$ and $\mathbf{X_2}$ will reveal the +structure of the vecotr field flow around the fixed point (the +invariant under the transformation); see for example the +\textit{stable focus}, aka \textit{spiral}, in +Figure~\ref{fig:glass_dots1}. + +The eigenvalues of the tranformation matrix $\mathbf{M} = +\mathbf{S}\mathbf{R}$ determine the type of fix point: +\textit{center}, \textit{stable focus}, \textit{saddle node}, +etc\dots. For example, if the two eigenvalues are real but differing +in signs, the fixed point is a \textit{saddle node}. If the real +parts of both eigenvalues are negative and the eigenvalues are +complex, the fixed point is a \textit{stable focus}. The complex part +of the eigenvalue determines whether there is any rotation in the +matrix transformation, so another way to look at this is to break out +the scaling and rotation components of the transformation +$\textbf{M}$. If there is a rotation component, then the fixed point +will be a \textit{center} or a \textit{focus}. If the scaling +components are both one, the rotation will be a \textit{center}, if +they are both less than one (contraction), it will be a \textit{stable + focus}. Likewise, if there is no rotation component, the fixed +point will be a \textit{node}, and the scaling components will +determine the type of node. If both are less than one, we have a +\textit{stable node}, if one is greater than one and the other less +than one, we have a \textit{saddle node}. + +\lstinputlisting[label=code:glass_dots1_skel,caption={IGNORED}]{skel/glass_dots1_skel.py} + + + +\begin{center}% +\begin{figure} +\begin{centering}\includegraphics[width=4in]{fig/glass_dots1}\par\end{centering} + + +\caption{\label{fig:glass_dots1}Glass pattern showing a stable focus} +\end{figure} +\par\end{center} Added: trunk/py4science/workbook/intro_linalg.tex =================================================================== --- trunk/py4science/workbook/intro_linalg.tex (rev 0) +++ trunk/py4science/workbook/intro_linalg.tex 2007-10-26 19:44:07 UTC (rev 4022) @@ -0,0 +1,49 @@ +Like matlab, numpy and scipy have support for fast linear algebra +built upon the highly optimized LAPACK, BLAS and ATLAS fortran linear +algebra libraries. Unlike Matlab, in which everything is a matrix or +vector, and the '*' operator always means matrix multiple, the default +object in numpy is an \texttt{array}, and the '*' operator on arrays means +element-wise multiplication. + +Instead, numpy provides a \texttt{matrix} class if you want to do +standard matrix-matrix multiplication with the '*' operator, or the +\texttt{dot} function if you want to do matrix multiplies with plain +arrays. The basic linear algebra functionality is found in +\texttt{numpy.linalg} + +\begin{lstlisting} +In [1]: import numpy as npy +In [2]: import numpy.linalg as linalg + +# X and Y are arrays +In [3]: X = npy.random.rand(3,3) +In [4]: Y = npy.random.rand(3,3) + +# * operator is element wise multiplication, not matrix matrix +In [5]: print X*Y +[[ 0.00973215 0.18086148 0.05539387] + [ 0.00817516 0.63354021 0.2017993 ] + [ 0.34287698 0.25788149 0.15508982]] + +# the dot function will use optimized LAPACK to do matrix-matix +# multiply +In [6]: print npy.dot(X, Y) +[[ 0.10670678 0.68340331 0.39236388] + [ 0.27840642 1.14561885 0.62192324] + [ 0.48192134 1.32314856 0.51188578]] + +# the matrix class will create matrix objects that support matrix +# multiplication with * +In [7]: Xm = npy.matrix(X) +In [8]: Ym = npy.matrix(Y) +In [9]: print Xm*Ym +[[ 0.10670678 0.68340331 0.39236388] + [ 0.27840642 1.14561885 0.62192324] + [ 0.48192134 1.32314856 0.51188578]] + +# the linalg module provides functions to compute eigenvalues, +# determinants, etc. See help(linalg) for more info +In [10]: print linalg.eigvals(X) +[ 1.46131600+0.j 0.46329211+0.16501143j 0.46329211-0.16501143j] + +\end{lstlisting} Added: trunk/py4science/workbook/intro_sigproc.tex =================================================================== --- trunk/py4science/workbook/intro_sigproc.tex (rev 0) +++ trunk/py4science/workbook/intro_sigproc.tex 2007-10-26 19:44:07 UTC (rev 4022) @@ -0,0 +1,15 @@ +\texttt{numpy} and \texttt{scipy} provide many of the essential tools +for digital signal processing. \texttt{scipy.signal} provides basic +tools for digital filter design and filtering (eg Butterworth +filters), a linear systems toolkit, standard waveforms such as square +waves, and saw tooth functions, and some basic wavelet functionality. +\texttt{scipy.fftpack} provides a suite of tools for Fourier domain +analysis, including 1D, 2D, and ND discrete fourier transform and +inverse functions, in addition to other tools such as analytic signal +representations via the Hilbert trasformation (\texttt{numpy.fft} also +provides basic FFT functions). \texttt{pylab} provides Matlab +compatible functions for computing and plotting standard time series +analyses, such as historgrams (\texttt{hist}), auto and cross +correlations (\texttt{acorr} and \texttt{xcorr}), power spectra and +coherence spectra (\texttt{psd}, \texttt{csd}, \texttt{cohere} and +\texttt{specgram}. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4026] trunk/py4science/workbook From: - 2007-10-26 19:55:27 Revision: 4026 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4026&view=rev Author: jdh2358 Date: 2007-10-26 12:55:21 -0700 (Fri, 26 Oct 2007) Log Message: ----------- updated workbook Modified Paths: -------------- trunk/py4science/workbook/convolution.tex trunk/py4science/workbook/fft_imdenoise.tex trunk/py4science/workbook/main.pdf trunk/py4science/workbook/quad_newton.tex trunk/py4science/workbook/trapezoid.tex Modified: trunk/py4science/workbook/convolution.tex =================================================================== --- trunk/py4science/workbook/convolution.tex 2007-10-26 19:50:21 UTC (rev 4025) +++ trunk/py4science/workbook/convolution.tex 2007-10-26 19:55:21 UTC (rev 4026) @@ -1,3 +1,5 @@ +\section{Convolution} +\label{sec:convolution} \begin{center}% Modified: trunk/py4science/workbook/fft_imdenoise.tex =================================================================== --- trunk/py4science/workbook/fft_imdenoise.tex 2007-10-26 19:50:21 UTC (rev 4025) +++ trunk/py4science/workbook/fft_imdenoise.tex 2007-10-26 19:55:21 UTC (rev 4026) @@ -1,3 +1,6 @@ +\section{FFT Image Denoising} +\label{sec:fft_imdenoise} + Convolution of an input with with a linear filter in the termporal or spatial domain is equivalent to multiplication by the fourier transforms of the input and the filter in the spectral domain. This Modified: trunk/py4science/workbook/main.pdf =================================================================== --- trunk/py4science/workbook/main.pdf 2007-10-26 19:50:21 UTC (rev 4025) +++ trunk/py4science/workbook/main.pdf 2007-10-26 19:55:21 UTC (rev 4026) @@ -90,9 +90,21 @@ (Chapter 6. Signal processing) endobj 65 0 obj -<< /S /GoTo /D [66 0 R /Fit ] >> +<< /S /GoTo /D (section.6.1) >> endobj -68 0 obj << +68 0 obj +(1. Convolution) +endobj +69 0 obj +<< /S /GoTo /D (section.6.2) >> +endobj +72 0 obj +(2. FFT Image Denoising) +endobj +73 0 obj +<< /S /GoTo /D [74 0 R /Fit ] >> +endobj +76 0 obj << /Length 292 /Filter /FlateDecode >> @@ -101,24 +113,24 @@ \xEAT\x89H \x94\xA1\xA4\xA1\x8DJm\xB5\xFCz\xEC\x86VEb\xA8,\xD9:/\xDF\x99\xCA Y0\xE0\x95Ҍ\x8C\x81\x89X\xBB\xAD[e\xEC\xA1\xC2_\x8E\xD5(\x9F\x8BP\xE9\xB0B\xCD\xE4\xB9\xC9MS]M\x8Cch\xC1X\xAFY\xF3δR\xA0\x9D\xAF\x99G\xB5Ɋf\xF9\xC2gâ\xDD\xF5\xED\xE2CH\xE3\x89?\xB5}\x85Q|'\x90\xF7B"\x9F+c\xDBz~\x9B\xB6\xE5\xE6s\xE3J\xBC6SF\xD11\xA9P+:8\xF7q\xB4\x9C}f\x91\xACS<\xD0e
 SF.net SVN: matplotlib: [4031] trunk/py4science/workbook From: - 2007-10-26 20:21:36 Revision: 4031 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4031&view=rev Author: jdh2358 Date: 2007-10-26 13:21:23 -0700 (Fri, 26 Oct 2007) Log Message: ----------- added stats workbooks skel Modified Paths: -------------- trunk/py4science/workbook/main.pdf trunk/py4science/workbook/main.tex Added Paths: ----------- trunk/py4science/workbook/intro_stats.tex trunk/py4science/workbook/stats_descriptives.tex trunk/py4science/workbook/stats_distributions.tex Added: trunk/py4science/workbook/intro_stats.tex =================================================================== --- trunk/py4science/workbook/intro_stats.tex (rev 0) +++ trunk/py4science/workbook/intro_stats.tex 2007-10-26 20:21:23 UTC (rev 4031) @@ -0,0 +1 @@ +TODO \ No newline at end of file Modified: trunk/py4science/workbook/main.pdf =================================================================== --- trunk/py4science/workbook/main.pdf 2007-10-26 20:20:12 UTC (rev 4030) +++ trunk/py4science/workbook/main.pdf 2007-10-26 20:21:23 UTC (rev 4031) @@ -102,9 +102,27 @@ (2. FFT Image Denoising) endobj 73 0 obj -<< /S /GoTo /D [74 0 R /Fit ] >> +<< /S /GoTo /D (chapter.7) >> endobj -76 0 obj << +76 0 obj +(Chapter 7. Statistics) +endobj +77 0 obj +<< /S /GoTo /D (section.7.1) >> +endobj +80 0 obj +(1. Descriptive statistics) +endobj +81 0 obj +<< /S /GoTo /D (section.7.2) >> +endobj +84 0 obj +(2. Statistical distributions) +endobj +85 0 obj +<< /S /GoTo /D [86 0 R /Fit ] >> +endobj +88 0 obj << /Length 292 /Filter /FlateDecode >> @@ -113,24 +131,24 @@ \xEAT\x89H \x94\xA1\xA4\xA1\x8DJm\xB5\xFCz\xEC\x86VEb\xA8,\xD9:/\xDF\x99\xCA Y0\xE0\x95Ҍ\x8C\x81\x89X\xBB\xAD[e\xEC\xA1\xC2_\x8E\xD5(\x9F\x8BP\xE9\xB0B\xCD\xE4\xB9\xC9MS]M\x8Cch\xC1X\xAFY\xF3δR\xA0\x9D\xAF\x99G\xB5Ɋf\xF9\xC2gâ\xDD\xF5\xED\xE2CH\xE3\x89?\xB5}\x85Q|'\x90\xF7B"\x9F+c\xDBz~\x9B\xB6\xE5\xE6s\xE3J\xBC6SF\xD11\xA9P+:8\xF7q\xB4\x9C}f\x91\xACS<\xD0e
 SF.net SVN: matplotlib: [4033] trunk/py4science/workbook From: - 2007-10-27 04:09:16 Revision: 4033 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4033&view=rev Author: jdh2358 Date: 2007-10-26 21:09:13 -0700 (Fri, 26 Oct 2007) Log Message: ----------- late nite pomona workbook build Modified Paths: -------------- trunk/py4science/workbook/convolution.tex trunk/py4science/workbook/intro_stats.tex trunk/py4science/workbook/main.pdf trunk/py4science/workbook/stats_distributions.tex Modified: trunk/py4science/workbook/convolution.tex =================================================================== --- trunk/py4science/workbook/convolution.tex 2007-10-27 04:00:59 UTC (rev 4032) +++ trunk/py4science/workbook/convolution.tex 2007-10-27 04:09:13 UTC (rev 4033) @@ -4,7 +4,7 @@ The output of a linear system is given by the convolution of its impulse response function with the input. Mathematically $- y(t) = \int_0^\t x(\tau)r(t-\tau)d\tau + y(t) = \int_0^t x(\tau)r(t-\tau)d\tau$ This fundamental relationship lies at the heart of linear systems analysis. It is used to model the dynamics of calcium buffers in @@ -85,7 +85,7 @@ function $r$ by studying the amplitude and phase spectrum of its transform $R$. In the example below, however, we simply use the multiplication property to perform the same convolution in Fourier -space to confirm the numerical result from \textt{numpy.convolve}. +space to confirm the numerical result from \texttt{numpy.convolve}. \lstinputlisting[label=code:convolution_demo,caption={IGNORED}]{skel/convolution_demo_skel.py} Modified: trunk/py4science/workbook/intro_stats.tex =================================================================== --- trunk/py4science/workbook/intro_stats.tex 2007-10-27 04:00:59 UTC (rev 4032) +++ trunk/py4science/workbook/intro_stats.tex 2007-10-27 04:09:13 UTC (rev 4033) @@ -1,16 +1,16 @@ -\textt{R}, a statistical package based on \textt{S}, is viewd by some +\texttt{R}, a statistical package based on \texttt{S}, is viewd by some as the best statistical software on the planet, and in the open source world it is the clear choice for sophisticated statistical analysis. -Like python, \textt{R} is an interpreted language written in C with an +Like python, \texttt{R} is an interpreted language written in C with an interactive shell. Unlike python, which is a general purpose -programming language, \textt{R} is a specialized statistical language. +programming language, \texttt{R} is a specialized statistical language. Since python is a excellent glue language, with facilities for providing a transparent interface to FORTRAN, C, C++ and other languages, it should come as no surprise that you can harness -\textt{R}'s immense statistical power from python, through the +\texttt{R}'s immense statistical power from python, through the \texttt{rpy} third part extension library. -However, \textt{R} is not without its warts. As a language, it lacks +However, \texttt{R} is not without its warts. As a language, it lacks python's elegance and advanced programming constructs and idioms. It is also GPL, which means you cannot distribute code based upon it unhindered: the code you distribute must be GPL as well (python, and @@ -19,10 +19,10 @@ application). Fortunately, the core tools scientific libraries for python (primarily -\textt{numpy} and \texttt{scipy.stats}) provide a wide array of +\texttt{numpy} and \texttt{scipy.stats}) provide a wide array of statistical tools, from basic descriptive statistics (mean, variance, skew, kurtosis, correlation, \dots) to hypothesis testing (t-tests, -$\Chi$-Square, analysis of variance, general linear models, \dots) to +$\chi$-Square, analysis of variance, general linear models, \dots) to analytical and numerical tools for working with almost every discrete and continuous statistical distribution you can think of (normal, gamma, poisson, weibull, lognormal, levy stable, \dots). Modified: trunk/py4science/workbook/main.pdf =================================================================== --- trunk/py4science/workbook/main.pdf 2007-10-27 04:00:59 UTC (rev 4032) +++ trunk/py4science/workbook/main.pdf 2007-10-27 04:09:13 UTC (rev 4033) @@ -171,7 +171,7 @@ /ProcSet [ /PDF ] >> endobj 104 0 obj << -/Length 1521 +/Length 1520 /Filter /FlateDecode >> stream @@ -181,8 +181,9 @@ \xBF;\xF8N븫+\xA9K\xE1(\xDC\xC7N\xD67\xA5\x94\x84\xB1N0}k\xCC \xE3V?L\x99\xD9qOB3a\xA1\xA3X\xEEI4\xC1\x94'# WK\x9F\xD8\xCE\x87CqySKu9\x9C\x9D_\xEB\xAB\֫\xB3\x8B\xA6g\x9D\xE9 УnC\xE5慜\xEF\xD5/\x9B\xAA\x8C\xF2n\xA4}u#j&\x9EV\xDFN<\xFA*A\xA8ۅ,\xD6M0\xA5o\x84\xE1\xC2\xF9\xE0\xF4-\x9D]A\xD1ݿ\xE7b7
 SF.net SVN: matplotlib: [4035] trunk/py4science/workbook From: - 2007-10-27 04:32:05 Revision: 4035 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4035&view=rev Author: jdh2358 Date: 2007-10-26 21:31:54 -0700 (Fri, 26 Oct 2007) Log Message: ----------- added andy Modified Paths: -------------- trunk/py4science/workbook/main.pdf trunk/py4science/workbook/main.tex Modified: trunk/py4science/workbook/main.pdf =================================================================== --- trunk/py4science/workbook/main.pdf 2007-10-27 04:10:21 UTC (rev 4034) +++ trunk/py4science/workbook/main.pdf 2007-10-27 04:31:54 UTC (rev 4035) @@ -123,13 +123,14 @@ << /S /GoTo /D [86 0 R /Fit ] >> endobj 88 0 obj << -/Length 292 +/Length 321 /Filter /FlateDecode >> stream -xڍQ;O\xC30\xDE\xF3+<ڃ\x9F_\x8F\xBC -\xEAT\x89H \x94\xA1\xA4\xA1\x8DJm\xB5\xFCz\xEC\x86VEb\xA8,\xD9:/\xDF\x99\xCA Y0\xE0\x95Ҍ\x8C\x81\x89X\xBB\xAD[e\xEC\xA1\xC2_\x8E\xD5(\x9F\x8BP\xE9\xB0B\xCD\xE4\xB9\xC9MS]M\x8Cch\xC1X\xAFY\xF3δR\xA0\x9D\xAF\x99G\xB5Ɋf\xF9\xC2gâ\xDD\xF5\xED\xE2CH\xE3\x89?\xB5}\x85Q|'\x90\xF7B"\x9F+c\xDBz~\x9B\xB6\xE5\xE6s\xE3J\xBC6SF\xD11\xA9P+:8\xF7q\xB4\x9C}f\x91\xACS<\xD0e
 SF.net SVN: matplotlib: [4065] trunk/py4science/workbook From: - 2007-10-30 19:14:22 Revision: 4065 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4065&view=rev Author: jdh2358 Date: 2007-10-30 12:14:17 -0700 (Tue, 30 Oct 2007) Log Message: ----------- added lotka volterra skeleton to workbook Modified Paths: -------------- trunk/py4science/workbook/main.tex Added Paths: ----------- trunk/py4science/workbook/fig/lotka_volterra.eps trunk/py4science/workbook/fig/lotka_volterra.png trunk/py4science/workbook/intro_dynsys.tex trunk/py4science/workbook/lotka_volterra.tex Added: trunk/py4science/workbook/fig/lotka_volterra.eps =================================================================== --- trunk/py4science/workbook/fig/lotka_volterra.eps (rev 0) +++ trunk/py4science/workbook/fig/lotka_volterra.eps 2007-10-30 19:14:17 UTC (rev 4065) @@ -0,0 +1,12596 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: lotka_volterra.eps +%%Creator: matplotlib version 0.90.1, http://matplotlib.sourceforge.net/ +%%CreationDate: Tue Oct 30 14:09:28 2007 +%%Orientation: portrait +%%BoundingBox: 18 180 594 612 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +closepath +} bind def +/clipbox { +box +clip +newpath +} bind def +/ellipse { +newpath +matrix currentmatrix 7 1 roll +translate +scale +0 0 1 5 3 roll arc +setmatrix +closepath +} bind def +/unitcircle { +newpath +-1. 0. moveto +-1.0 0.552284749831 -0.552284749831 1.0 0.0 1.0 curveto +0.552284749831 1.0 1.0 0.552284749831 1.0 0.0 curveto +1.0 -0.552284749831 0.552284749831 -1.0 0.0 -1.0 curveto +-0.552284749831 -1.0 -1.0 -0.552284749831 -1.0 0.0 curveto +closepath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: Bitstream Vera Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. +%%Creator: Converted from TrueType by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /BitstreamVeraSans-Roman def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-182 -235 1287 928]def +/FontType 3 def +/Encoding StandardEncoding def +/FontInfo 10 dict dup begin +/FamilyName (Bitstream Vera Sans) def +/FullName (Bitstream Vera Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.) def +/Weight (Roman) def +/Version (Release 1.10) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -213 def +/UnderlineThickness 143 def +end readonly def +/CharStrings 31 dict dup begin +/space{318 0 0 0 0 0 _sc +}_d +/parenleft{390 0 86 -131 310 759 _sc +310 759 _m +266 683 234 609 213 536 _c +191 463 181 389 181 314 _c +181 238 191 164 213 91 _c +234 17 266 -56 310 -131 _c +232 -131 _l +183 -54 146 20 122 94 _c +98 168 86 241 86 314 _c +86 386 98 459 122 533 _c +146 607 182 682 232 759 _c +310 759 _l +_cl}_d +/parenright{390 0 80 -131 304 759 _sc +80 759 _m +158 759 _l +206 682 243 607 267 533 _c +291 459 304 386 304 314 _c +304 241 291 168 267 94 _c +243 20 206 -54 158 -131 _c +80 -131 _l +123 -56 155 17 177 91 _c +198 164 209 238 209 314 _c +209 389 198 463 177 536 _c +155 609 123 683 80 759 _c +_cl}_d +/zero{636 0 66 -13 570 742 _sc +318 664 _m +267 664 229 639 203 589 _c +177 539 165 464 165 364 _c +165 264 177 189 203 139 _c +229 89 267 64 318 64 _c +369 64 407 89 433 139 _c +458 189 471 264 471 364 _c +471 464 458 539 433 589 _c +407 639 369 664 318 664 _c +318 742 _m +399 742 461 709 505 645 _c +548 580 570 486 570 364 _c +570 241 548 147 505 83 _c +461 19 399 -13 318 -13 _c +236 -13 173 19 130 83 _c +87 147 66 241 66 364 _c +66 486 87 580 130 645 _c +173 709 236 742 318 742 _c +_cl}_d +/one{636 0 110 0 544 729 _sc +124 83 _m +285 83 _l +285 639 _l +110 604 _l +110 694 _l +284 729 _l +383 729 _l +383 83 _l +544 83 _l +544 0 _l +124 0 _l +124 83 _l +_cl}_d +/two{{636 0 73 0 536 742 _sc +192 83 _m +536 83 _l +536 0 _l +73 0 _l +73 83 _l +110 121 161 173 226 239 _c +290 304 331 346 348 365 _c +380 400 402 430 414 455 _c +426 479 433 504 433 528 _c +433 566 419 598 392 622 _c +365 646 330 659 286 659 _c +255 659 222 653 188 643 _c +154 632 117 616 78 594 _c +78 694 _l +118 710 155 722 189 730 _c +223 738 255 742 284 742 _c +359 742 419 723 464 685 _c +509 647 532 597 532 534 _c +532 504 526 475 515 449 _c +504 422 484 390 454 354 _c +446 344 420 317 376 272 _c +332 227 271 164 192 83 _c +_cl}_e}_d +/three{{636 0 76 -13 556 742 _sc +406 393 _m +453 383 490 362 516 330 _c +542 298 556 258 556 212 _c +556 140 531 84 482 45 _c +432 6 362 -13 271 -13 _c +240 -13 208 -10 176 -4 _c +144 1 110 10 76 22 _c +76 117 _l +103 101 133 89 166 81 _c +198 73 232 69 268 69 _c +330 69 377 81 409 105 _c +441 129 458 165 458 212 _c +458 254 443 288 413 312 _c +383 336 341 349 287 349 _c +202 349 _l +202 430 _l +291 430 _l +339 430 376 439 402 459 _c +428 478 441 506 441 543 _c +441 580 427 609 401 629 _c +374 649 336 659 287 659 _c +260 659 231 656 200 650 _c +169 644 135 635 98 623 _c +98 711 _l +135 721 170 729 203 734 _c +235 739 266 742 296 742 _c +}_e{370 742 429 725 473 691 _c +517 657 539 611 539 553 _c +539 513 527 479 504 451 _c +481 423 448 403 406 393 _c +_cl}_e}_d +/four{636 0 49 0 580 729 _sc +378 643 _m +129 254 _l +378 254 _l +378 643 _l +352 729 _m +476 729 _l +476 254 _l +580 254 _l +580 172 _l +476 172 _l +476 0 _l +378 0 _l +378 172 _l +49 172 _l +49 267 _l +352 729 _l +_cl}_d +/five{{636 0 77 -13 549 729 _sc +108 729 _m +495 729 _l +495 646 _l +198 646 _l +198 467 _l +212 472 227 476 241 478 _c +255 480 270 482 284 482 _c +365 482 429 459 477 415 _c +525 370 549 310 549 234 _c +549 155 524 94 475 51 _c +426 8 357 -13 269 -13 _c +238 -13 207 -10 175 -6 _c +143 -1 111 6 77 17 _c +77 116 _l +106 100 136 88 168 80 _c +199 72 232 69 267 69 _c +323 69 368 83 401 113 _c +433 143 450 183 450 234 _c +450 284 433 324 401 354 _c +368 384 323 399 267 399 _c +241 399 214 396 188 390 _c +162 384 135 375 108 363 _c +108 729 _l +_cl}_e}_d +/six{{636 0 70 -13 573 742 _sc +330 404 _m +286 404 251 388 225 358 _c +199 328 186 286 186 234 _c +186 181 199 139 225 109 _c +251 79 286 64 330 64 _c +374 64 409 79 435 109 _c +461 139 474 181 474 234 _c +474 286 461 328 435 358 _c +409 388 374 404 330 404 _c +526 713 _m +526 623 _l +501 635 476 644 451 650 _c +425 656 400 659 376 659 _c +310 659 260 637 226 593 _c +192 549 172 482 168 394 _c +187 422 211 444 240 459 _c +269 474 301 482 336 482 _c +409 482 467 459 509 415 _c +551 371 573 310 573 234 _c +573 159 550 99 506 54 _c +462 9 403 -13 330 -13 _c +246 -13 181 19 137 83 _c +92 147 70 241 70 364 _c +70 479 97 571 152 639 _c +206 707 280 742 372 742 _c +}_e{396 742 421 739 447 735 _c +472 730 498 723 526 713 _c +_cl}_e}_d +/eight{{636 0 68 -13 568 742 _sc +318 346 _m +271 346 234 333 207 308 _c +180 283 167 249 167 205 _c +167 161 180 126 207 101 _c +234 76 271 64 318 64 _c +364 64 401 76 428 102 _c +455 127 469 161 469 205 _c +469 249 455 283 429 308 _c +402 333 365 346 318 346 _c +219 388 _m +177 398 144 418 120 447 _c +96 476 85 511 85 553 _c +85 611 105 657 147 691 _c +188 725 245 742 318 742 _c +390 742 447 725 489 691 _c +530 657 551 611 551 553 _c +551 511 539 476 515 447 _c +491 418 459 398 417 388 _c +464 377 501 355 528 323 _c +554 291 568 251 568 205 _c +568 134 546 80 503 43 _c +459 5 398 -13 318 -13 _c +237 -13 175 5 132 43 _c +89 80 68 134 68 205 _c +68 251 81 291 108 323 _c +134 355 171 377 219 388 _c +}_e{183 544 _m +183 506 194 476 218 455 _c +242 434 275 424 318 424 _c +360 424 393 434 417 455 _c +441 476 453 506 453 544 _c +453 582 441 611 417 632 _c +393 653 360 664 318 664 _c +275 664 242 653 218 632 _c +194 611 183 582 183 544 _c +_cl}_e}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +}_e{132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/b{{635 0 91 -13 580 760 _sc +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +181 464 _m +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +181 0 _l +91 0 _l +91 760 _l +181 760 _l +181 464 _l +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/d{{635 0 55 -13 544 760 _sc +454 464 _m +454 760 _l +544 760 _l +544 0 _l +454 0 _l +454 82 _l +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/f{352 0 23 0 371 760 _sc +371 760 _m +371 685 _l +285 685 _l +253 685 230 678 218 665 _c +205 652 199 629 199 595 _c +199 547 _l +347 547 _l +347 477 _l +199 477 _l +199 0 _l +109 0 _l +109 477 _l +23 477 _l +23 547 _l +109 547 _l +109 585 _l +109 645 123 690 151 718 _c +179 746 224 760 286 760 _c +371 760 _l +_cl}_d +/h{634 0 91 0 549 760 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 760 _l +181 760 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/j{278 0 -17 -207 184 760 _sc +94 547 _m +184 547 _l +184 -9 _l +184 -78 170 -128 144 -160 _c +117 -191 74 -207 16 -207 _c +-17 -207 _l +-17 -131 _l +6 -131 _l +40 -131 63 -123 75 -107 _c +87 -91 94 -58 94 -9 _c +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +}_e{_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/p{{635 0 91 -207 580 560 _sc +181 82 _m +181 -207 _l +91 -207 _l +91 547 _l +181 547 _l +181 464 _l +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +}_e{301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 547 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +_cl}_d +/x{592 0 29 0 559 547 _sc +549 547 _m +351 281 _l +559 0 _l +453 0 _l +294 215 _l +135 0 _l +29 0 _l +241 286 _l +47 547 _l +153 547 _l +298 352 _l +443 547 _l +549 547 _l +_cl}_d +/y{592 0 30 -207 562 547 _sc +322 -50 _m +296 -114 271 -157 247 -177 _c +223 -197 191 -207 151 -207 _c +79 -207 _l +79 -132 _l +132 -132 _l +156 -132 175 -126 189 -114 _c +203 -102 218 -75 235 -31 _c +251 9 _l +30 547 _l +125 547 _l +296 119 _l +467 547 _l +562 547 _l +322 -50 _l +_cl}_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +%%EOF +end +%%EndProlog +mpldict begin +18 180 translate +576 432 0 0 clipbox +1.000 setgray +1.000 setlinewidth +0 setlinejoin +2 setlinecap +[] 0 setdash +0 0 m +0 432 l +576 432 l +576 0 l +closepath +gsave +fill +grestore +stroke +0.000 setgray +72 238.539 m +72 388.8 l +518.4 388.8 l +518.4 238.539 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +0.000 0.000 1.000 setrgbcolor +2.000 setlinewidth +gsave +446.4 150.261 72 238.539 clipbox +72 338.713 m +72.4464 328.518 l +72.8928 318.247 l +73.3392 308.278 l +73.7856 298.909 l +74.232 290.342 l +74.6784 282.686 l +75.1248 275.973 l +75.5712 270.176 l +76.0176 265.229 l +76.464 261.045 l +76.9104 257.53 l +77.3568 254.589 l +77.8032 252.137 l +78.2496 250.093 l +78.696 248.392 l +79.1424 246.974 l +79.5888 245.79 l +80.0352 244.8 l +80.4816 243.97 l +80.928 243.272 l +81.3744 242.684 l +81.8208 242.186 l +82.2672 241.763 l +82.7136 241.403 l +83.16 241.096 l +83.6064 240.832 l +84.0528 240.605 l +84.4992 240.41 l +84.9456 240.24 l +85.392 240.093 l +85.8384 239.965 l +86.2848 239.853 l +86.7312 239.755 l +87.1776 239.669 l +87.624 239.594 l +88.0704 239.527 l +88.5168 239.468 l +88.9632 239.417 l +89.4096 239.371 l +89.856 239.33 l +90.3024 239.294 l +90.7488 239.263 l +91.1952 239.235 l +91.6416 239.21 l +92.088 239.188 l +92.5344 239.169 l +92.9808 239.153 l +93.4272 239.138 l +93.8736 239.126 l +94.32 239.116 l +94.7664 239.108 l +95.2128 239.101 l +95.6592 239.096 l +96.1056 239.092 l +96.552 239.09 l +96.9984 239.089 l +97.4448 239.089 l +97.8912 239.091 l +98.3376 239.094 l +98.784 239.099 l +99.2304 239.104 l +99.6768 239.111 l +100.123 239.119 l +100.57 239.129 l +101.016 239.14 l +101.462 239.153 l +101.909 239.166 l +102.355 239.182 l +102.802 239.199 l +103.248 239.217 l +103.694 239.238 l +104.141 239.26 l +104.587 239.284 l +105.034 239.31 l +105.48 239.339 l +105.926 239.369 l +106.373 239.402 l +106.819 239.438 l +107.266 239.477 l +107.712 239.518 l +108.158 239.563 l +108.605 239.611 l +109.051 239.663 l +109.498 239.719 l +109.944 239.779 l +110.39 239.844 l +110.837 239.913 l +111.283 239.988 l +111.73 240.069 l +112.176 240.156 l +112.622 240.25 l +113.069 240.351 l +113.515 240.46 l +113.962 240.577 l +114.408 240.704 l +114.854 240.84 l +115.301 240.987 l +115.747 241.146 l +116.194 241.318 l +116.64 241.503 l +117.086 241.702 l +117.533 241.918 l +117.979 242.151 l +118.426 242.403 l +118.872 242.676 l +119.318 242.97 l +119.765 243.289 l +120.211 243.633 l +120.658 244.006 l +121.104 244.409 l +121.55 244.845 l +121.997 245.318 l +122.443 245.829 l +122.89 246.383 l +123.336 246.983 l +123.782 247.632 l +124.229 248.336 l +124.675 249.098 l +125.122 249.923 l +125.568 250.817 l +126.014 251.785 l +126.461 252.834 l +126.907 253.97 l +127.354 255.199 l +127.8 256.53 l +128.246 257.971 l +128.693 259.529 l +129.139 261.215 l +129.586 263.037 l +130.032 265.006 l +130.478 267.133 l +130.925 269.428 l +131.371 271.902 l +131.818 274.568 l +132.264 277.437 l +132.71 280.521 l +133.157 283.83 l +133.603 287.377 l +134.05 291.17 l +134.496 295.218 l +134.942 299.527 l +135.389 304.098 l +135.835 308.932 l +136.282 314.021 l +136.728 319.352 l +137.174 324.903 l +137.621 330.638 l +138.067 336.512 l +138.514 342.461 l +138.96 348.4 l +139.406 354.224 l +139.853 359.8 l +140.299 364.968 l +140.746 369.541 l +141.192 373.307 l +141.638 376.036 l +142.085 377.496 l +142.531 377.468 l +142.978 375.777 l +143.424 372.318 l +143.87 367.086 l +144.317 360.195 l +144.763 351.884 l +145.21 342.494 l +145.656 332.439 l +146.102 322.149 l +146.549 312.024 l +146.995 302.397 l +147.442 293.506 l +147.888 285.496 l +148.334 278.424 l +148.781 272.283 l +149.227 267.021 l +149.674 262.557 l +150.12 258.798 l +150.566 255.649 l +151.013 253.02 l +151.459 250.829 l +151.906 249.005 l +152.352 247.484 l +152.798 246.216 l +153.245 245.157 l +153.691 244.269 l +154.138 243.524 l +154.584 242.896 l +155.03 242.366 l +155.477 241.916 l +155.923 241.534 l +156.37 241.208 l +156.816 240.928 l +157.262 240.688 l +157.709 240.481 l +158.155 240.302 l +158.602 240.147 l +159.048 240.012 l +159.494 239.894 l +159.941 239.791 l +160.387 239.701 l +160.834 239.621 l +161.28 239.552 l +161.726 239.49 l +162.173 239.436 l +162.619 239.388 l +163.066 239.345 l +163.512 239.307 l +163.958 239.274 l +164.405 239.245 l +164.851 239.219 l +165.298 239.196 l +165.744 239.176 l +166.19 239.159 l +166.637 239.144 l +167.083 239.131 l +167.53 239.12 l +167.976 239.111 l +168.422 239.103 l +168.869 239.097 l +169.315 239.093 l +169.762 239.09 l +170.208 239.089 l +170.654 239.089 l +171.101 239.09 l +171.547 239.093 l +171.994 239.097 l +172.44 239.102 l +172.886 239.108 l +173.333 239.116 l +173.779 239.125 l +174.226 239.136 l +174.672 239.148 l +175.118 239.161 l +175.565 239.176 l +176.011 239.192 l +176.458 239.21 l +176.904 239.23 l +177.35 239.251 l +177.797 239.275 l +178.243 239.3 l +178.69 239.327 l +179.136 239.357 l +179.582 239.389 l +180.029 239.424 l +180.475 239.461 l +180.922 239.502 l +181.368 239.545 l +181.814 239.592 l +182.261 239.643 l +182.707 239.697 l +183.154 239.755 l +183.6 239.818 l +184.046 239.886 l +184.493 239.959 l +184.939 240.038 l +185.386 240.122 l +185.832 240.213 l +186.278 240.312 l +186.725 240.417 l +187.171 240.532 l +187.618 240.654 l +188.064 240.787 l +188.51 240.93 l +188.957 241.084 l +189.403 241.251 l +189.85 241.43 l +190.296 241.624 l +190.742 241.834 l +191.189 242.06 l +191.635 242.305 l +192.082 242.569 l +192.528 242.855 l +192.974 243.164 l +193.421 243.498 l +193.867 243.86 l +194.314 244.251 l +194.76 244.675 l +195.206 245.133 l +195.653 245.629 l +196.099 246.166 l +196.546 246.748 l +196.992 247.378 l +197.438 248.061 l +197.885 248.8 l +198.331 249.6 l +198.778 250.468 l +199.224 251.407 l +199.67 252.424 l +200.117 253.526 l +200.563 254.719 l +201.01 256.01 l +201.456 257.408 l +201.902 258.92 l +202.349 260.556 l +202.795 262.325 l +203.242 264.237 l +203.688 266.302 l +204.134 268.532 l +204.581 270.936 l +205.027 273.528 l +205.474 276.318 l +205.92 279.318 l +206.366 282.54 l +206.813 285.995 l +207.259 289.693 l +207.706 293.643 l +208.152 297.852 l +208.598 302.323 l +209.045 307.057 l +209.491 312.05 l +209.938 317.291 l +210.384 322.761 l +210.83 328.431 l +211.277 334.259 l +211.723 340.188 l +212.17 346.142 l +212.616 352.024 l +213.062 357.712 l +213.509 363.056 l +213.955 367.88 l +214.402 371.98 l +214.848 375.132 l +215.294 377.103 l +215.741 377.667 l +216.187 376.627 l +216.634 373.849 l +217.08 369.286 l +217.526 363.007 l +217.973 355.202 l +218.419 346.178 l +218.866 336.326 l +219.312 326.075 l +219.758 315.844 l +220.205 305.994 l +220.651 296.8 l +221.098 288.442 l +221.544 281.01 l +221.99 274.519 l +222.437 268.93 l +222.883 264.172 l +223.33 260.155 l +223.776 256.784 l +224.222 253.967 l +224.669 251.618 l +225.115 249.662 l +225.562 248.032 l +226.008 246.673 l +226.454 245.539 l +226.901 244.59 l +227.347 243.793 l +227.794 243.123 l +228.24 242.558 l +228.686 242.079 l +229.133 241.673 l +229.579 241.326 l +230.026 241.03 l +230.472 240.775 l +230.918 240.556 l +231.365 240.367 l +231.811 240.204 l +232.258 240.061 l +232.704 239.937 l +233.15 239.829 l +233.597 239.734 l +234.043 239.651 l +234.49 239.577 l +234.936 239.513 l +235.382 239.456 l +235.829 239.405 l +236.275 239.361 l +236.722 239.321 l +237.168 239.286 l +237.614 239.256 l +238.061 239.228 l +238.507 239.204 l +238.954 239.183 l +239.4 239.165 l +239.846 239.149 l +240.293 239.135 l +240.739 239.124 l +241.186 239.114 l +241.632 239.106 l +242.078 239.099 l +242.525 239.095 l +242.971 239.091 l +243.418 239.089 l +243.864 239.089 l +244.31 239.09 l +244.757 239.092 l +245.203 239.095 l +245.65 239.1 l +246.096 239.106 l +246.542 239.113 l +246.989 239.122 l +247.435 239.132 l +247.882 239.143 l +248.328 239.156 l +248.774 239.17 l +249.221 239.186 l +249.667 239.203 l +250.114 239.222 l +250.56 239.243 l +251.006 239.265 l +251.453 239.29 l +251.899 239.317 l +252.346 239.346 l +252.792 239.377 l +253.238 239.41 l +253.685 239.447 l +254.131 239.486 l +254.578 239.528 l +255.024 239.574 l +255.47 239.623 l +255.917 239.676 l +256.363 239.733 l +256.81 239.794 l +257.256 239.86 l +257.702 239.931 l +258.149 240.007 l +258.595 240.089 l +259.042 240.178 l +259.488 240.273 l +259.934 240.376 l +260.381 240.487 l +260.827 240.606 l +261.274 240.735 l +261.72 240.874 l +262.166 241.024 l +262.613 241.186 l +263.059 241.36 l +263.506 241.549 l +263.952 241.752 l +264.398 241.972 l +264.845 242.209 l +265.291 242.466 l +265.738 242.743 l +266.184 243.043 l +266.63 243.368 l +267.077 243.719 l +267.523 244.098 l +267.97 244.509 l +268.416 244.954 l +268.862 245.435 l +269.309 245.956 l +269.755 246.521 l +270.202 247.132 l +270.648 247.794 l +271.094 248.511 l +271.541 249.287 l +271.987 250.129 l +272.434 251.04 l +272.88 252.026 l +273.326 253.095 l +273.773 254.252 l +274.219 255.505 l +274.666 256.861 l +275.112 258.329 l +275.558 259.917 l +276.005 261.634 l +276.451 263.49 l +276.898 265.496 l +277.344 267.661 l +277.79 269.997 l +278.237 272.516 l +278.683 275.229 l +279.13 278.148 l +279.576 281.284 l +280.022 284.649 l +280.469 288.253 l +280.915 292.106 l +281.362 296.215 l +281.808 300.586 l +282.254 305.22 l +282.701 310.116 l +283.147 315.264 l +283.594 320.649 l +284.04 326.247 l +284.486 332.02 l +284.933 337.918 l +285.379 343.873 l +285.826 349.796 l +286.272 355.573 l +286.718 361.068 l +287.165 366.113 l +287.611 370.515 l +288.058 374.056 l +288.504 376.506 l +288.95 377.631 l +289.397 377.223 l +289.843 375.119 l +290.29 371.236 l +290.736 365.596 l +291.182 358.343 l +291.629 349.741 l +292.075 340.155 l +292.522 330.006 l +292.968 319.721 l +293.414 309.688 l +293.861 300.217 l +294.307 291.525 l +294.754 283.734 l +295.2 276.886 l +295.646 270.96 l +296.093 265.895 l +296.539 261.606 l +296.986 258 l +297.432 254.982 l +297.878 252.464 l +298.325 250.366 l +298.771 248.619 l +299.218 247.163 l +299.664 245.948 l +300.11 244.932 l +300.557 244.081 l +301.003 243.366 l +301.45 242.763 l +301.896 242.253 l +302.342 241.82 l +302.789 241.452 l +303.235 241.137 l +303.682 240.868 l +304.128 240.636 l +304.574 240.436 l +305.021 240.263 l +305.467 240.113 l +305.914 239.983 l +306.36 239.868 l +306.806 239.769 l +307.253 239.681 l +307.699 239.604 l +308.146 239.536 l +308.592 239.477 l +309.038 239.424 l +309.485 239.377 l +309.931 239.336 l +310.378 239.299 l +310.824 239.267 l +311.27 239.238 l +311.717 239.213 l +312.163 239.191 l +312.61 239.172 l +313.056 239.155 l +313.502 239.14 l +313.949 239.128 l +314.395 239.117 l +314.842 239.109 l +315.288 239.102 l +315.734 239.096 l +316.181 239.092 l +316.627 239.09 l +317.074 239.089 l +317.52 239.089 l +317.966 239.091 l +318.413 239.094 l +318.859 239.098 l +319.306 239.103 l +319.752 239.11 l +320.198 239.118 l +320.645 239.128 l +321.091 239.138 l +321.538 239.151 l +321.984 239.164 l +322.43 239.179 l +322.877 239.196 l +323.323 239.215 l +323.77 239.235 l +324.216 239.257 l +324.662 239.28 l +325.109 239.306 l +325.555 239.334 l +326.002 239.365 l +326.448 239.397 l +326.894 239.433 l +327.341 239.471 l +327.787 239.512 l +328.234 239.556 l +328.68 239.604 l +329.126 239.655 l +329.573 239.71 l +330.019 239.77 l +330.466 239.834 l +330.912 239.903 l +331.358 239.977 l +331.805 240.057 l +332.251 240.143 l +332.698 240.236 l +333.144 240.336 l +333.59 240.444 l +334.037 240.56 l +334.483 240.685 l +334.93 240.82 l +335.376 240.966 l +335.822 241.123 l +336.269 241.292 l +336.715 241.475 l +337.162 241.673 l +337.608 241.886 l +338.054 242.117 l +338.501 242.366 l +338.947 242.635 l +339.394 242.926 l +339.84 243.241 l +340.286 243.581 l +340.733 243.95 l +341.179 244.349 l +341.626 244.78 l +342.072 245.247 l +342.518 245.753 l +342.965 246.3 l +343.411 246.893 l +343.858 247.535 l +344.304 248.231 l +344.75 248.984 l +345.197 249.8 l +345.643 250.683 l +346.09 251.641 l +346.536 252.677 l +346.982 253.8 l +347.429 255.015 l +347.875 256.331 l +348.322 257.755 l +348.768 259.296 l +349.214 260.963 l +349.661 262.765 l +350.107 264.712 l +350.554 266.815 l +351 269.085 l +351.446 271.533 l +351.893 274.171 l +352.339 277.009 l +352.786 280.061 l +353.232 283.338 l +353.678 286.849 l +354.125 290.606 l +354.571 294.617 l +355.018 298.888 l +355.464 303.421 l +355.91 308.218 l +356.357 313.271 l +356.803 318.568 l +357.25 324.088 l +357.696 329.799 l +358.142 335.657 l +358.589 341.6 l +359.035 347.546 l +359.482 353.394 l +359.928 359.015 l +360.374 364.253 l +360.821 368.925 l +361.267 372.821 l +361.714 375.715 l +362.16 377.372 l +362.606 377.572 l +363.053 376.129 l +363.499 372.929 l +363.946 367.949 l +364.392 361.286 l +364.838 353.161 l +365.285 343.903 l +365.731 333.917 l +366.178 323.634 l +366.624 313.464 l +367.07 303.748 l +367.517 294.739 l +367.963 286.596 l +368.41 279.387 l +368.856 273.115 l +369.302 267.731 l +369.749 263.157 l +370.195 259.301 l +370.642 256.07 l +371.088 253.371 l +371.534 251.122 l +371.981 249.248 l +372.427 247.687 l +372.874 246.386 l +373.32 245.299 l +373.766 244.388 l +374.213 243.624 l +374.659 242.981 l +375.106 242.437 l +375.552 241.977 l +375.998 241.585 l +376.445 241.252 l +376.891 240.966 l +377.338 240.721 l +377.784 240.509 l +378.23 240.326 l +378.677 240.168 l +379.123 240.03 l +379.57 239.91 l +380.016 239.805 l +380.462 239.713 l +380.909 239.632 l +381.355 239.561 l +381.802 239.498 l +382.248 239.443 l +382.694 239.394 l +383.141 239.351 l +383.587 239.313 l +384.034 239.279 l +384.48 239.249 l +384.926 239.222 l +385.373 239.199 l +385.819 239.179 l +386.266 239.161 l +386.712 239.146 l +387.158 239.132 l +387.605 239.121 l +388.051 239.112 l +388.498 239.104 l +388.944 239.098 l +389.39 239.094 l +389.837 239.091 l +390.283 239.089 l +390.73 239.089 l +391.176 239.09 l +391.622 239.092 l +392.069 239.096 l +392.515 239.101 l +392.962 239.107 l +393.408 239.115 l +393.854 239.124 l +394.301 239.134 l +394.747 239.146 l +395.194 239.159 l +395.64 239.174 l +396.086 239.19 l +396.533 239.207 l +396.979 239.227 l +397.426 239.248 l +397.872 239.271 l +398.318 239.296 l +398.765 239.323 l +399.211 239.353 l +399.658 239.385 l +400.104 239.419 l +400.55 239.456 l +400.997 239.496 l +401.443 239.539 l +401.89 239.585 l +402.336 239.635 l +402.782 239.689 l +403.229 239.747 l +403.675 239.809 l +404.122 239.876 l +404.568 239.948 l +405.014 240.026 l +405.461 240.11 l +405.907 240.2 l +406.354 240.297 l +406.8 240.402 l +407.246 240.515 l +407.693 240.636 l +408.139 240.767 l +408.586 240.909 l +409.032 241.061 l +409.478 241.226 l +409.925 241.404 l +410.371 241.595 l +410.818 241.803 l +411.264 242.026 l +411.71 242.268 l +412.157 242.53 l +412.603 242.812 l +413.05 243.118 l +413.496 243.448 l +413.942 243.806 l +414.389 244.193 l +414.835 244.611 l +415.282 245.064 l +415.728 245.555 l +416.174 246.086 l +416.621 246.661 l +417.067 247.284 l +417.514 247.959 l +417.96 248.689 l +418.406 249.481 l +418.853 250.338 l +419.299 251.266 l +419.746 252.272 l +420.192 253.361 l +420.638 254.54 l +421.085 255.817 l +421.531 257.199 l +421.978 258.694 l +422.424 260.312 l +422.87 262.061 l +423.317 263.952 l +423.763 265.994 l +424.21 268.199 l +424.656 270.577 l +425.102 273.141 l +425.549 275.902 l +425.995 278.871 l +426.442 282.06 l +426.888 285.481 l +427.334 289.144 l +427.781 293.057 l +428.227 297.227 l +428.674 301.661 l +429.12 306.357 l +429.566 311.313 l +430.013 316.519 l +430.459 321.957 l +430.906 327.6 l +431.352 333.409 l +431.798 339.327 l +432.245 345.283 l +432.691 351.183 l +433.138 356.907 l +433.584 362.311 l +434.03 367.222 l +434.477 371.44 l +434.923 374.744 l +435.37 376.901 l +435.816 377.68 l +436.262 376.883 l +436.709 374.361 l +437.155 370.055 l +437.602 364.015 l +438.048 356.414 l +438.494 347.544 l +438.941 337.785 l +439.387 327.565 l +439.834 317.307 l +440.28 307.383 l +440.726 298.081 l +441.173 289.595 l +441.619 282.026 l +442.066 275.4 l +442.512 269.684 l +442.958 264.812 l +443.405 260.694 l +443.851 257.235 l +444.298 254.343 l +444.744 251.932 l +445.19 249.923 l +445.637 248.25 l +446.083 246.855 l +446.53 245.691 l +446.976 244.717 l +447.422 243.9 l +447.869 243.213 l +448.315 242.634 l +448.762 242.144 l +449.208 241.727 l +449.654 241.373 l +450.101 241.07 l +450.547 240.81 l +450.994 240.586 l +451.44 240.393 l +451.886 240.226 l +452.333 240.081 l +452.779 239.954 l +453.226 239.844 l +453.672 239.747 l +454.118 239.662 l +454.565 239.587 l +455.011 239.521 l +455.458 239.463 l +455.904 239.412 l +456.35 239.367 l +456.797 239.327 l +457.243 239.291 l +457.69 239.26 l +458.136 239.232 l +458.582 239.208 l +459.029 239.186 l +459.475 239.168 l +459.922 239.151 l +460.368 239.137 l +460.814 239.125 l +461.261 239.115 l +461.707 239.107 l +462.154 239.1 l +462.6 239.095 l +463.046 239.092 l +463.493 239.089 l +463.939 239.089 l +464.386 239.089 l +464.832 239.091 l +465.278 239.094 l +465.725 239.099 l +466.171 239.105 l +466.618 239.112 l +467.064 239.12 l +467.51 239.13 l +467.957 239.141 l +468.403 239.154 l +468.85 239.168 l +469.296 239.183 l +469.742 239.2 l +470.189 239.219 l +470.635 239.24 l +471.082 239.262 l +471.528 239.286 l +471.974 239.313 l +472.421 239.341 l +472.867 239.372 l +473.314 239.405 l +473.76 239.441 l +474.206 239.48 l +474.653 239.522 l +475.099 239.567 l +475.546 239.616 l +475.992 239.668 l +476.438 239.724 l +476.885 239.785 l +477.331 239.85 l +477.778 239.92 l +478.224 239.996 l +478.67 240.077 l +479.117 240.165 l +479.563 240.259 l +480.01 240.361 l +480.456 240.47 l +480.902 240.589 l +481.349 240.716 l +481.795 240.853 l +482.242 241.002 l +482.688 241.162 l +483.134 241.334 l +483.581 241.521 l +484.027 241.722 l +484.474 241.939 l +484.92 242.174 l +485.366 242.428 l +485.813 242.702 l +486.259 242.998 l +486.706 243.319 l +487.152 243.666 l +487.598 244.042 l +488.045 244.448 l +488.491 244.887 l +488.938 245.363 l +489.384 245.879 l +489.83 246.436 l +490.277 247.041 l +490.723 247.695 l +491.17 248.404 l +491.616 249.171 l +492.062 250.003 l +492.509 250.903 l +492.955 251.879 l +493.402 252.935 l +493.848 254.079 l +494.294 255.318 l +494.741 256.659 l +495.187 258.11 l +495.634 259.68 l +496.08 261.378 l +496.526 263.213 l +496.973 265.196 l +497.419 267.338 l +497.866 269.649 l +498.312 272.14 l +498.758 274.825 l +499.205 277.713 l +499.651 280.817 l +500.098 284.148 l +500.544 287.717 l +500.99 291.534 l +501.437 295.605 l +501.883 299.938 l +502.33 304.534 l +502.776 309.392 l +503.222 314.504 l +503.669 319.857 l +504.115 325.426 l +504.562 331.176 l +505.008 337.06 l +505.454 343.012 l +505.901 348.945 l +506.347 354.752 l +506.794 360.298 l +507.24 365.419 l +507.686 369.927 l +508.133 373.606 l +508.579 376.228 l +509.026 377.559 l +509.472 377.384 l +509.918 375.532 l +510.365 371.908 l +510.811 366.516 l +511.258 359.482 l +511.704 351.055 l +512.15 341.586 l +512.597 331.491 l +513.043 321.2 l +513.49 311.109 l +513.936 301.542 l +514.382 292.727 l +514.829 284.802 l +515.275 277.817 l +515.722 271.761 l +516.168 266.577 l +516.614 262.182 l +517.061 258.483 l +517.507 255.386 l +517.954 252.8 l +stroke +grestore +0.000 0.502 0.000 setrgbcolor +gsave +446.4 150.261 72 238.539 clipbox +72 288.626 m +72.4464 292.254 l +72.8928 295.558 l +73.3392 298.455 l +73.7856 300.892 l +74.232 302.85 l +74.6784 304.334 l +75.1248 305.372 l +75.5712 306.003 l +76.0176 306.276 l +76.464 306.242 l +76.9104 305.949 l +77.3568 305.442 l +77.8032 304.76 l +78.2496 303.939 l +78.696 303.008 l +79.1424 301.991 l +79.5888 300.91 l +80.0352 299.781 l +80.4816 298.618 l +80.928 297.432 l +81.3744 296.232 l +81.8208 295.027 l +82.2672 293.821 l +82.7136 292.62 l +83.16 291.427 l +83.6064 290.246 l +84.0528 289.079 l +84.4992 287.928 l +84.9456 286.795 l +85.392 285.68 l +85.8384 284.584 l +86.2848 283.509 l +86.7312 282.454 l +87.1776 281.42 l +87.624 280.407 l +88.0704 279.415 l +88.5168 278.443 l +88.9632 277.493 l +89.4096 276.564 l +89.856 275.655 l +90.3024 274.767 l +90.7488 273.898 l +91.1952 273.05 l +91.6416 272.221 l +92.088 271.411 l +92.5344 270.619 l +92.9808 269.847 l +93.4272 269.092 l +93.8736 268.356 l +94.32 267.636 l +94.7664 266.934 l +95.2128 266.249 l +95.6592 265.58 l +96.1056 264.927 l +96.552 264.289 l +96.9984 263.667 l +97.4448 263.06 l +97.8912 262.468 l +98.3376 261.89 l +98.784 261.326 l +99.2304 260.776 l +99.6768 260.239 l +100.123 259.716 l +100.57 259.205 l +101.016 258.707 l +101.462 258.221 l +101.909 257.747 l +102.355 257.284 l +102.802 256.833 l +103.248 256.394 l +103.694 255.965 l +104.141 255.547 l +104.587 255.139 l +105.034 254.741 l +105.48 254.354 l +105.926 253.976 l +106.373 253.607 l +106.819 253.248 l +107.266 252.898 l +107.712 252.557 l +108.158 252.225 l +108.605 251.901 l +109.051 251.585 l +109.498 251.278 l +109.944 250.978 l +110.39 250.686 l +110.837 250.402 l +111.283 250.126 l +111.73 249.856 l +112.176 249.594 l +112.622 249.339 l +113.069 249.091 l +113.515 248.85 l +113.962 248.615 l +114.408 248.387 l +114.854 248.165 l +115.301 247.95 l +115.747 247.741 l +116.194 247.538 l +116.64 247.341 l +117.086 247.15 l +117.533 246.964 l +117.979 246.785 l +118.426 246.612 l +118.872 246.444 l +119.318 246.282 l +119.765 246.125 l +120.211 245.974 l +120.658 245.829 l +121.104 245.689 l +121.55 245.555 l +121.997 245.427 l +122.443 245.304 l +122.89 245.187 l +123.336 245.076 l +123.782 244.971 l +124.229 244.871 l +124.675 244.778 l +125.122 244.691 l +125.568 244.61 l +126.014 244.536 l +126.461 244.469 l +126.907 244.409 l +127.354 244.356 l +127.8 244.312 l +128.246 244.275 l +128.693 244.248 l +129.139 244.229 l +129.586 244.221 l +130.032 244.223 l +130.478 244.237 l +130.925 244.264 l +131.371 244.305 l +131.818 244.36 l +132.264 244.433 l +132.71 244.524 l +133.157 244.636 l +133.603 244.771 l +134.05 244.933 l +134.496 245.125 l +134.942 245.351 l +135.389 245.616 l +135.835 245.925 l +136.282 246.287 l +136.728 246.708 l +137.174 247.2 l +137.621 247.773 l +138.067 248.441 l +138.514 249.221 l +138.96 250.13 l +139.406 251.191 l +139.853 252.428 l +140.299 253.869 l +140.746 255.541 l +141.192 257.475 l +141.638 259.698 l +142.085 262.231 l +142.531 265.088 l +142.978 268.264 l +143.424 271.734 l +143.87 275.449 l +144.317 279.331 l +144.763 283.28 l +145.21 287.178 l +145.656 290.903 l +146.102 294.342 l +146.549 297.402 l +146.995 300.019 l +147.442 302.16 l +147.888 303.823 l +148.334 305.026 l +148.781 305.807 l +149.227 306.211 l +149.674 306.288 l +150.12 306.088 l +150.566 305.658 l +151.013 305.038 l +151.459 304.267 l +151.906 303.374 l +152.352 302.388 l +152.798 301.329 l +153.245 300.216 l +153.691 299.065 l +154.138 297.886 l +154.584 296.691 l +155.03 295.487 l +155.477 294.281 l +155.923 293.077 l +156.37 291.881 l +156.816 290.695 l +157.262 289.523 l +157.709 288.365 l +158.155 287.225 l +158.602 286.103 l +159.048 285 l +159.494 283.917 l +159.941 282.854 l +160.387 281.812 l +160.834 280.791 l +161.28 279.791 l +161.726 278.811 l +162.173 277.853 l +162.619 276.916 l +163.066 275.999 l +163.512 275.103 l +163.958 274.227 l +164.405 273.371 l +164.851 272.535 l +165.298 271.717 l +165.744 270.919 l +166.19 270.139 l +166.637 269.378 l +167.083 268.635 l +167.53 267.909 l +167.976 267.2 l +168.422 266.508 l +168.869 265.833 l +169.315 265.174 l +169.762 264.531 l +170.208 263.903 l +170.654 263.29 l +171.101 262.692 l +171.547 262.109 l +171.994 261.54 l +172.44 260.984 l +172.886 260.443 l +173.333 259.914 l +173.779 259.398 l +174.226 258.895 l +174.672 258.405 l +175.118 257.926 l +175.565 257.459 l +176.011 257.004 l +176.458 256.56 l +176.904 256.127 l +177.35 255.705 l +177.797 255.293 l +178.243 254.892 l +178.69 254.5 l +179.136 254.119 l +179.582 253.747 l +180.029 253.384 l +180.475 253.031 l +180.922 252.686 l +181.368 252.35 l +181.814 252.023 l +182.261 251.704 l +182.707 251.394 l +183.154 251.091 l +183.6 250.797 l +184.046 250.51 l +184.493 250.23 l +184.939 249.958 l +185.386 249.693 l +185.832 249.436 l +186.278 249.185 l +186.725 248.941 l +187.171 248.704 l +187.618 248.473 l +188.064 248.249 l +188.51 248.031 l +188.957 247.82 l +189.403 247.614 l +189.85 247.415 l +190.296 247.222 l +190.742 247.034 l +191.189 246.853 l +191.635 246.677 l +192.082 246.507 l +192.528 246.343 l +192.974 246.184 l +193.421 246.031 l +193.867 245.884 l +194.314 245.742 l +194.76 245.606 l +195.206 245.475 l +195.653 245.35 l +196.099 245.231 l +196.546 245.118 l +196.992 245.01 l +197.438 244.908 l +197.885 244.813 l +198.331 244.723 l +198.778 244.64 l +199.224 244.564 l +199.67 244.494 l +200.117 244.431 l +200.563 244.376 l +201.01 244.328 l +201.456 244.288 l +201.902 244.257 l +202.349 244.235 l +202.795 244.223 l +203.242 244.221 l +203.688 244.231 l +204.134 244.252 l +204.581 244.287 l +205.027 244.337 l +205.474 244.403 l +205.92 244.487 l +206.366 244.591 l +206.813 244.717 l +207.259 244.868 l +207.706 245.048 l +208.152 245.26 l +208.598 245.51 l +209.045 245.801 l +209.491 246.142 l +209.938 246.54 l +210.384 247.004 l +210.83 247.544 l +211.277 248.174 l +211.723 248.909 l +212.17 249.766 l +212.616 250.767 l +213.062 251.934 l +213.509 253.293 l +213.955 254.874 l +214.402 256.705 l +214.848 258.814 l +215.294 261.227 l +215.741 263.96 l +216.187 267.016 l +216.634 270.378 l +217.08 274.007 l +217.526 277.836 l +217.973 281.773 l +218.419 285.705 l +218.866 289.51 l +219.312 293.07 l +219.758 296.284 l +220.205 299.075 l +220.651 301.4 l +221.098 303.244 l +221.544 304.619 l +221.99 305.556 l +222.437 306.098 l +222.883 306.294 l +223.33 306.194 l +223.776 305.847 l +224.222 305.295 l +224.669 304.577 l +225.115 303.727 l +225.562 302.774 l +226.008 301.74 l +226.454 300.646 l +226.901 299.508 l +227.347 298.338 l +227.794 297.148 l +228.24 295.947 l +228.686 294.741 l +229.133 293.536 l +229.579 292.336 l +230.026 291.146 l +230.472 289.968 l +230.918 288.805 l +231.365 287.658 l +231.811 286.529 l +232.258 285.418 l +232.704 284.328 l +233.15 283.257 l +233.597 282.207 l +234.043 281.178 l +234.49 280.17 l +234.936 279.182 l +235.382 278.216 l +235.829 277.271 l +236.275 276.347 l +236.722 275.443 l +237.168 274.559 l +237.614 273.695 l +238.061 272.851 l +238.507 272.027 l +238.954 271.221 l +239.4 270.435 l +239.846 269.666 l +240.293 268.916 l +240.739 268.184 l +241.186 267.468 l +241.632 266.77 l +242.078 266.089 l +242.525 265.423 l +242.971 264.774 l +243.418 264.14 l +243.864 263.522 l +244.31 262.919 l +244.757 262.33 l +245.203 261.755 l +245.65 261.195 l +246.096 260.648 l +246.542 260.114 l +246.989 259.594 l +247.435 259.086 l +247.882 258.59 l +248.328 258.107 l +248.774 257.636 l +249.221 257.176 l +249.667 256.728 l +250.114 256.291 l +250.56 255.865 l +251.006 255.449 l +251.453 255.044 l +251.899 254.648 l +252.346 254.263 l +252.792 253.887 l +253.238 253.521 l +253.685 253.164 l +254.131 252.816 l +254.578 252.477 l +255.024 252.147 l +255.47 251.825 l +255.917 251.511 l +256.363 251.206 l +256.81 250.908 l +257.256 250.618 l +257.702 250.336 l +258.149 250.061 l +258.595 249.794 l +259.042 249.533 l +259.488 249.28 l +259.934 249.033 l +260.381 248.794 l +260.827 248.56 l +261.274 248.334 l +261.72 248.114 l +262.166 247.9 l +262.613 247.692 l +263.059 247.49 l +263.506 247.295 l +263.952 247.105 l +264.398 246.921 l +264.845 246.744 l +265.291 246.571 l +265.738 246.405 l +266.184 246.244 l +266.63 246.089 l +267.077 245.939 l +267.523 245.795 l +267.97 245.657 l +268.416 245.524 l +268.862 245.397 l +269.309 245.276 l +269.755 245.16 l +270.202 245.05 l +270.648 244.946 l +271.094 244.848 l +271.541 244.757 l +271.987 244.671 l +272.434 244.592 l +272.88 244.52 l +273.326 244.454 l +273.773 244.396 l +274.219 244.345 l +274.666 244.302 l +275.112 244.268 l +275.558 244.242 l +276.005 244.226 l +276.451 244.221 l +276.898 244.226 l +277.344 244.243 l +277.79 244.272 l +278.237 244.316 l +278.683 244.376 l +279.13 244.453 l +279.576 244.549 l +280.022 244.666 l +280.469 244.807 l +280.915 244.976 l +281.362 245.175 l +281.808 245.41 l +282.254 245.685 l +282.701 246.006 l +283.147 246.381 l +283.594 246.818 l +284.04 247.328 l +284.486 247.922 l +284.933 248.615 l +285.379 249.424 l +285.826 250.367 l +286.272 251.467 l +286.718 252.75 l +287.165 254.243 l +287.611 255.975 l +288.058 257.975 l +288.504 260.269 l +288.95 262.879 l +289.397 265.812 l +289.843 269.061 l +290.29 272.595 l +290.736 276.357 l +291.182 280.265 l +291.629 284.213 l +292.075 288.081 l +292.522 291.748 l +292.968 295.104 l +293.414 298.064 l +293.861 300.57 l +294.307 302.597 l +294.754 304.148 l +295.2 305.248 l +295.646 305.935 l +296.093 306.257 l +296.539 306.264 l +296.986 306.006 l +297.432 305.527 l +297.878 304.868 l +298.325 304.065 l +298.771 303.148 l +299.218 302.143 l +299.664 301.07 l +300.11 299.946 l +300.557 298.787 l +301.003 297.604 l +301.45 296.406 l +301.896 295.201 l +302.342 293.995 l +302.789 292.793 l +303.235 291.599 l +303.682 290.416 l +304.128 289.247 l +304.574 288.094 l +305.021 286.957 l +305.467 285.84 l +305.914 284.741 l +306.36 283.663 l +306.806 282.605 l +307.253 281.568 l +307.699 280.552 l +308.146 279.557 l +308.592 278.582 l +309.038 277.629 l +309.485 276.697 l +309.931 275.785 l +310.378 274.894 l +310.824 274.023 l +311.27 273.171 l +311.717 272.339 l +312.163 271.526 l +312.61 270.733 l +313.056 269.957 l +313.502 269.2 l +313.949 268.461 l +314.395 267.739 l +314.842 267.035 l +315.288 266.347 l +315.734 265.675 l +316.181 265.02 l +316.627 264.38 l +317.074 263.756 l +317.52 263.147 l +317.966 262.553 l +318.413 261.973 l +318.859 261.407 l +319.306 260.855 l +319.752 260.316 l +320.198 259.791 l +320.645 259.278 l +321.091 258.778 l +321.538 258.29 l +321.984 257.814 l +322.43 257.35 l +322.877 256.898 l +323.323 256.456 l +323.77 256.026 l +324.216 255.606 l +324.662 255.197 l +325.109 254.798 l +325.555 254.409 l +326.002 254.03 l +326.448 253.66 l +326.894 253.299 l +327.341 252.948 l +327.787 252.606 l +328.234 252.272 l +328.68 251.947 l +329.126 251.63 l +329.573 251.321 l +330.019 251.021 l +330.466 250.728 l +330.912 250.443 l +331.358 250.165 l +331.805 249.895 l +332.251 249.632 l +332.698 249.376 l +333.144 249.127 l +333.59 248.884 l +334.037 248.649 l +334.483 248.42 l +334.93 248.197 l +335.376 247.981 l +335.822 247.771 l +336.269 247.567 l +336.715 247.369 l +337.162 247.177 l +337.608 246.991 l +338.054 246.811 l +338.501 246.636 l +338.947 246.468 l +339.394 246.305 l +339.84 246.147 l +340.286 245.996 l +340.733 245.85 l +341.179 245.709 l +341.626 245.574 l +342.072 245.445 l +342.518 245.322 l +342.965 245.204 l +343.411 245.092 l +343.858 244.985 l +344.304 244.885 l +344.75 244.791 l +345.197 244.703 l +345.643 244.621 l +346.09 244.546 l +346.536 244.478 l +346.982 244.417 l +347.429 244.364 l +347.875 244.318 l +348.322 244.28 l +348.768 244.251 l +349.214 244.231 l +349.661 244.222 l +350.107 244.222 l +350.554 244.235 l +351 244.259 l +351.446 244.298 l +351.893 244.351 l +352.339 244.421 l +352.786 244.51 l +353.232 244.619 l +353.678 244.75 l +354.125 244.908 l +354.571 245.095 l +355.018 245.316 l +355.464 245.575 l +355.91 245.877 l +356.357 246.231 l +356.803 246.643 l +357.25 247.124 l +357.696 247.685 l +358.142 248.338 l +358.589 249.1 l +359.035 249.99 l +359.482 251.027 l +359.928 252.238 l +360.374 253.647 l +360.821 255.284 l +361.267 257.178 l +361.714 259.358 l +362.16 261.845 l +362.606 264.655 l +363.053 267.786 l +363.499 271.216 l +363.946 274.899 l +364.392 278.763 l +364.838 282.71 l +365.285 286.623 l +365.731 290.38 l +366.178 293.866 l +366.624 296.986 l +367.07 299.669 l +367.517 301.88 l +367.963 303.611 l +368.41 304.879 l +368.856 305.719 l +369.302 306.174 l +369.749 306.295 l +370.195 306.133 l +370.642 305.733 l +371.088 305.138 l +371.534 304.387 l +371.981 303.51 l +372.427 302.535 l +372.874 301.486 l +373.32 300.38 l +373.766 299.233 l +374.213 298.058 l +374.659 296.864 l +375.106 295.661 l +375.552 294.455 l +375.998 293.251 l +376.445 292.053 l +376.891 290.866 l +377.338 289.691 l +377.784 288.532 l +378.23 287.389 l +378.677 286.264 l +379.123 285.158 l +379.57 284.072 l +380.016 283.006 l +380.462 281.961 l +380.909 280.937 l +381.355 279.934 l +381.802 278.952 l +382.248 277.991 l +382.694 277.05 l +383.141 276.131 l +383.587 275.231 l +384.034 274.353 l +384.48 273.494 l +384.926 272.654 l +385.373 271.834 l +385.819 271.033 l +386.266 270.251 l +386.712 269.487 l +387.158 268.741 l +387.605 268.013 l +388.051 267.301 l +388.498 266.607 l +388.944 265.93 l +389.39 265.268 l +389.837 264.623 l +390.283 263.993 l +390.73 263.378 l +391.176 262.778 l +391.622 262.192 l +392.069 261.621 l +392.515 261.064 l +392.962 260.52 l +393.408 259.99 l +393.854 259.472 l +394.301 258.967 l +394.747 258.475 l +395.194 257.995 l +395.64 257.526 l +396.086 257.069 l +396.533 256.624 l +396.979 256.189 l +397.426 255.765 l +397.872 255.352 l +398.318 254.949 l +398.765 254.556 l +399.211 254.173 l +399.658 253.8 l +400.104 253.436 l +400.55 253.081 l +400.997 252.735 l +401.443 252.398 l +401.89 252.07 l +402.336 251.75 l +402.782 251.438 l +403.229 251.135 l +403.675 250.839 l +404.122 250.551 l +404.568 250.27 l +405.014 249.997 l +405.461 249.731 l +405.907 249.473 l +406.354 249.221 l +406.8 248.976 l +407.246 248.738 l +407.693 248.506 l +408.139 248.281 l +408.586 248.062 l +409.032 247.85 l +409.478 247.644 l +409.925 247.444 l +410.371 247.249 l +410.818 247.061 l +411.264 246.879 l +411.71 246.702 l +412.157 246.531 l +412.603 246.366 l +413.05 246.207 l +413.496 246.053 l +413.942 245.905 l +414.389 245.762 l +414.835 245.625 l +415.282 245.494 l +415.728 245.368 l +416.174 245.248 l +416.621 245.134 l +417.067 245.025 l +417.514 244.923 l +417.96 244.826 l +418.406 244.736 l +418.853 244.652 l +419.299 244.574 l +419.746 244.503 l +420.192 244.44 l +420.638 244.383 l +421.085 244.334 l +421.531 244.293 l +421.978 244.261 l +422.424 244.238 l +422.87 244.224 l +423.317 244.221 l +423.763 244.229 l +424.21 244.248 l +424.656 244.282 l +425.102 244.329 l +425.549 244.393 l +425.995 244.474 l +426.442 244.574 l +426.888 244.697 l +427.334 244.845 l +427.781 245.02 l +428.227 245.227 l +428.674 245.471 l +429.12 245.756 l +429.566 246.09 l +430.013 246.479 l +430.459 246.932 l +430.906 247.461 l +431.352 248.077 l +431.798 248.796 l +432.245 249.634 l +432.691 250.613 l +433.138 251.754 l +433.584 253.084 l +434.03 254.631 l +434.477 256.423 l +434.923 258.491 l +435.37 260.859 l +435.816 263.545 l +436.262 266.554 l +436.709 269.874 l +437.155 273.468 l +437.602 277.274 l +438.048 281.202 l +438.494 285.141 l +438.941 288.972 l +439.387 292.575 l +439.834 295.844 l +440.28 298.7 l +440.726 301.094 l +441.173 303.007 l +441.619 304.448 l +442.066 305.446 l +442.512 306.042 l +442.958 306.285 l +443.405 306.225 l +443.851 305.91 l +444.298 305.385 l +444.744 304.69 l +445.19 303.857 l +445.637 302.917 l +446.083 301.894 l +446.53 300.807 l +446.976 299.674 l +447.422 298.509 l +447.869 297.321 l +448.315 296.121 l +448.762 294.915 l +449.208 293.71 l +449.654 292.509 l +450.101 291.318 l +450.547 290.138 l +450.994 288.972 l +451.44 287.823 l +451.886 286.691 l +452.333 285.578 l +452.779 284.484 l +453.226 283.41 l +453.672 282.357 l +454.118 281.325 l +454.565 280.314 l +455.011 279.324 l +455.458 278.355 l +455.904 277.407 l +456.35 276.479 l +456.797 275.572 l +457.243 274.686 l +457.69 273.819 l +458.136 272.972 l +458.582 272.145 l +459.029 271.337 l +459.475 270.547 l +459.922 269.776 l +460.368 269.023 l +460.814 268.288 l +461.261 267.571 l +461.707 266.87 l +462.154 266.186 l +462.6 265.519 l +463.046 264.867 l +463.493 264.231 l +463.939 263.611 l +464.386 263.005 l +464.832 262.414 l +465.278 261.837 l +465.725 261.275 l +466.171 260.726 l +466.618 260.19 l +467.064 259.668 l +467.51 259.158 l +467.957 258.661 l +468.403 258.176 l +468.85 257.703 l +469.296 257.242 l +469.742 256.792 l +470.189 256.354 l +470.635 255.926 l +471.082 255.508 l +471.528 255.102 l +471.974 254.705 l +472.421 254.318 l +472.867 253.941 l +473.314 253.574 l +473.76 253.215 l +474.206 252.866 l +474.653 252.526 l +475.099 252.194 l +475.546 251.871 l +475.992 251.556 l +476.438 251.25 l +476.885 250.951 l +477.331 250.66 l +477.778 250.376 l +478.224 250.1 l +478.67 249.832 l +479.117 249.57 l +479.563 249.316 l +480.01 249.069 l +480.456 248.828 l +480.902 248.594 l +481.349 248.366 l +481.795 248.145 l +482.242 247.93 l +482.688 247.722 l +483.134 247.519 l +483.581 247.323 l +484.027 247.132 l +484.474 246.948 l +484.92 246.769 l +485.366 246.596 l +485.813 246.429 l +486.259 246.267 l +486.706 246.111 l +487.152 245.961 l +487.598 245.816 l +488.045 245.677 l +488.491 245.543 l +488.938 245.415 l +489.384 245.293 l +489.83 245.177 l +490.277 245.066 l +490.723 244.961 l +491.17 244.862 l +491.616 244.77 l +492.062 244.683 l +492.509 244.603 l +492.955 244.53 l +493.402 244.463 l +493.848 244.404 l +494.294 244.352 l +494.741 244.308 l +495.187 244.272 l +495.634 244.246 l +496.08 244.228 l +496.526 244.221 l +496.973 244.224 l +497.419 244.239 l +497.866 244.267 l +498.312 244.309 l +498.758 244.366 l +499.205 244.441 l +499.651 244.534 l +500.098 244.648 l +500.544 244.785 l +500.99 244.95 l +501.437 245.144 l +501.883 245.373 l +502.33 245.642 l +502.776 245.956 l +503.222 246.323 l +503.669 246.751 l +504.115 247.249 l +504.562 247.831 l +505.008 248.508 l +505.454 249.299 l +505.901 250.221 l +506.347 251.298 l +506.794 252.552 l +507.24 254.013 l +507.686 255.708 l +508.133 257.668 l +508.579 259.919 l +509.026 262.482 l +509.472 265.368 l +509.918 268.573 l +510.365 272.068 l +510.811 275.802 l +511.258 279.695 l +511.704 283.645 l +512.15 287.532 l +512.597 291.235 l +513.043 294.642 l +513.49 297.663 l +513.936 300.237 l +514.382 302.334 l +514.829 303.953 l +515.275 305.115 l +515.722 305.859 l +516.168 306.231 l +516.614 306.281 l +517.061 306.058 l +517.507 305.608 l +517.954 304.973 l +stroke +grestore +0.000 setgray +/BitstreamVeraSans-Roman findfont +12.000 scalefont +setfont +68.977 225.461 m +0 0.172 rmoveto +(0) show +0.500 setlinewidth +0 setlinecap +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +161.28 238.539 m +161.28 388.8 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +161.28 238.539 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +161.28 388.8 o +154.475 225.461 m +0 0.172 rmoveto +(20) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +250.56 238.539 m +250.56 388.8 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +250.56 238.539 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +250.56 388.8 o +243.615 225.461 m +0 0.172 rmoveto +(40) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +339.84 238.539 m +339.84 388.8 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +339.84 238.539 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +339.84 388.8 o +333.02 225.461 m +0 0.172 rmoveto +(60) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +429.12 238.539 m +429.12 388.8 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +-0.5 0 m +-0.5 4 l +closepath +stroke +grestore } bind def +429.12 238.539 o +/o { gsave +newpath +translate +-0.5 -4 m +-0.5 0 l +closepath +stroke +grestore } bind def +429.12 388.8 o +422.284 225.461 m +0 0.172 rmoveto +(80) show +507.994 225.461 m +0 0.172 rmoveto +(100) show +259.044 208.836 m +0 2.5 rmoveto +(time $$years$$) show +61.953 234 m +0 0.172 rmoveto +(0) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +72 263.583 m +518.4 263.583 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 263.583 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 263.583 o +62.328 259.122 m +0 0.172 rmoveto +(5) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +72 288.626 m +518.4 288.626 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 288.626 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 288.626 o +54.828 284.087 m +0 0.172 rmoveto +(10) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +72 313.67 m +518.4 313.67 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 313.67 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 313.67 o +55.078 309.209 m +0 0.172 rmoveto +(15) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +72 338.713 m +518.4 338.713 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 338.713 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 338.713 o +54.391 334.174 m +0 0.172 rmoveto +(20) show +[1 3] 0 setdash +gsave +446.4 150.261 72 238.539 clipbox +72 363.757 m +518.4 363.757 l +stroke +grestore +[] 0 setdash +/o { gsave +newpath +translate +0 0.5 m +4 0.5 l +closepath +stroke +grestore } bind def +72 363.757 o +/o { gsave +newpath +translate +-4 0.5 m +0 0.5 l +closepath +stroke +grestore } bind def +518.4 363.757 o +54.641 359.217 m +0 0.172 rmoveto +(25) show +54.438 384.261 m +0 0.172 rmoveto +(30) show +49.391 282.787 m +gsave +90 rotate +0 2.5 rmoveto +(population) show +grestore +1.000 setlinewidth +2 setlinecap +72 238.539 m +518.4 238.539 l +518.4 388.8 l +72 388.8 l +72 238.539 l +stroke +/BitstreamVeraSans-Roman findfont +14.000 scalefont +setfont +155.887 391.805 m +0 2.906 rmoveto +(population trajectories and phase plane) show +412.181 356.305 m +412.181 385.795 l +509.472 385.795 l +509.472 356.305 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +0.000 0.000 1.000 setrgbcolor +2.000 setlinewidth +423.288 377.915 m +445.608 377.915 l +stroke +0.000 0.502 0.000 setrgbcolor +423.288 364.184 m +445.608 364.184 l +stroke +0.000 setgray +454.536 372.494 m +0 0.203 rmoveto +(rabbits) show +454.536 358.762 m +0 0.203 rmoveto +(foxes) show +1.000 setlinewidth +145.415 43.2 m +145.415 193.461 l +444.985 193.461 l +444.985 43.2 l +closepath +gsave +1.000 setgray +fill +grestore +stroke +0.000 setlinewidth +0 setlinecap +gsave +299.6 150.3 145.4 43.2 clipbox +145.029 43.296 m +145.139 42.914 l +145.524 42.818 l +145.8 43.104 l +145.691 43.486 l +145.305 43.582 l +145.029 43.296 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +154.925 43.597 m +154.581 43.399 l +154.581 43.001 l +154.925 42.803 l +155.269 43.001 l +155.269 43.399 l +154.925 43.597 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.827 43.265 m +164.574 43.572 l +164.183 43.507 l +164.043 43.135 l +164.296 42.828 l +164.687 42.893 l +164.827 43.265 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +173.937 43.336 m +174.073 43.345 l +173.92 43.609 l +175.309 43.285 l +173.971 42.791 l +174.09 43.072 l +173.954 43.064 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.45 43.405 m +183.654 43.41 l +183.438 43.814 l +185.502 43.257 l +183.472 42.586 l +183.666 43.001 l +183.461 42.995 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +192.963 43.473 m +193.236 43.476 l +192.957 44.019 l +195.694 43.228 l +192.974 42.381 l +193.241 42.93 l +192.968 42.927 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.476 43.541 m +202.817 43.541 l +202.476 44.223 l +205.886 43.2 l +202.476 42.177 l +202.817 42.859 l +202.476 42.859 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +211.989 43.597 m +212.507 43.594 l +212.115 44.391 l +216.078 43.172 l +212.098 42.008 l +212.501 42.799 l +211.983 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.501 43.597 m +222.701 43.583 l +222.313 44.382 l +226.271 43.143 l +222.285 41.999 l +222.692 42.789 l +221.491 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +231.012 43.597 m +232.895 43.568 l +232.51 44.368 l +236.463 43.115 l +232.473 41.985 l +232.883 42.773 l +231 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.524 43.597 m +243.089 43.55 l +242.706 44.351 l +246.655 43.086 l +242.662 41.969 l +243.074 42.755 l +240.509 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +250.035 43.597 m +253.282 43.529 l +252.901 44.332 l +256.848 43.058 l +252.852 41.949 l +253.265 42.735 l +250.018 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.546 43.597 m +263.475 43.508 l +263.096 44.311 l +267.04 43.029 l +263.042 41.928 l +263.457 42.714 l +259.528 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +269.057 43.597 m +273.668 43.485 l +273.29 44.289 l +277.232 43.001 l +273.233 41.906 l +273.649 42.691 l +269.037 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.567 43.597 m +283.861 43.461 l +283.484 44.266 l +287.424 42.973 l +283.423 41.883 l +283.841 42.667 l +278.547 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +288.078 43.597 m +294.054 43.437 l +293.678 44.242 l +297.617 42.944 l +293.614 41.859 l +294.033 42.643 l +288.057 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.589 43.597 m +304.247 43.412 l +303.872 44.217 l +307.809 42.916 l +303.806 41.835 l +304.225 42.618 l +297.567 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +307.099 43.597 m +314.439 43.387 l +314.065 44.192 l +318.001 42.887 l +313.997 41.81 l +314.417 42.593 l +307.076 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.61 43.597 m +324.632 43.361 l +324.258 44.167 l +328.193 42.859 l +324.188 41.785 l +324.609 42.567 l +316.586 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +326.12 43.597 m +334.825 43.335 l +334.452 44.141 l +338.386 42.831 l +334.38 41.759 l +334.801 42.541 l +326.096 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.63 43.597 m +345.017 43.309 l +344.645 44.115 l +348.578 42.802 l +344.571 41.733 l +344.993 42.515 l +335.606 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +345.141 43.597 m +355.21 43.282 l +354.838 44.089 l +358.77 42.774 l +354.763 41.707 l +355.185 42.488 l +345.116 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.651 43.597 m +365.402 43.256 l +365.031 44.062 l +368.963 42.745 l +364.955 41.68 l +365.377 42.462 l +354.626 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +364.162 43.597 m +375.595 43.229 l +375.223 44.036 l +379.155 42.717 l +375.147 41.654 l +375.569 42.435 l +364.136 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.672 43.597 m +385.787 43.202 l +385.416 44.009 l +389.347 42.688 l +385.339 41.627 l +385.761 42.408 l +373.646 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +383.182 43.597 m +395.98 43.175 l +395.609 43.982 l +399.539 42.66 l +395.53 41.6 l +395.954 42.381 l +383.156 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.693 43.597 m +406.172 43.148 l +405.802 43.955 l +409.732 42.632 l +405.722 41.573 l +406.146 42.354 l +392.666 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +402.203 43.597 m +416.365 43.12 l +415.994 43.928 l +419.924 42.603 l +415.914 41.546 l +416.338 42.326 l +402.176 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.713 43.597 m +426.557 43.093 l +426.187 43.9 l +430.116 42.575 l +426.106 41.519 l +426.53 42.299 l +411.686 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +421.223 43.597 m +436.749 43.066 l +436.38 43.873 l +440.308 42.546 l +436.298 41.491 l +436.722 42.272 l +421.196 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.734 43.597 m +446.942 43.038 l +446.572 43.846 l +450.501 42.518 l +446.49 41.464 l +446.914 42.244 l +430.706 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +440.244 43.597 m +457.134 43.01 l +456.765 43.818 l +460.693 42.489 l +456.682 41.436 l +457.107 42.217 l +440.216 42.803 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.017 52.71 m +145.216 52.366 l +145.613 52.366 l +145.812 52.71 l +145.613 53.054 l +145.216 53.054 l +145.017 52.71 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +155.322 52.71 m +155.123 53.054 l +154.726 53.054 l +154.528 52.71 l +154.726 52.366 l +155.123 52.366 l +155.322 52.71 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.832 52.71 m +164.634 53.054 l +164.236 53.054 l +164.038 52.71 l +164.236 52.366 l +164.634 52.366 l +164.832 52.71 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +173.945 52.824 m +174.059 52.824 l +173.945 53.051 l +175.082 52.71 l +173.945 52.369 l +174.059 52.597 l +173.945 52.597 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.455 52.881 m +183.626 52.881 l +183.455 53.222 l +185.161 52.71 l +183.455 52.199 l +183.626 52.54 l +183.455 52.54 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +192.966 52.938 m +193.193 52.938 l +192.966 53.392 l +195.239 52.71 l +192.966 52.028 l +193.193 52.483 l +192.966 52.483 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.476 52.994 m +202.76 52.994 l +202.476 53.563 l +205.318 52.71 l +202.476 51.858 l +202.76 52.426 l +202.476 52.426 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +211.986 53.051 m +212.327 53.051 l +211.986 53.733 l +215.396 52.71 l +211.986 51.687 l +212.327 52.369 l +211.986 52.369 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.496 53.107 m +221.9 53.107 l +221.503 53.902 l +225.475 52.71 l +221.503 51.519 l +221.9 52.313 l +221.496 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +231.006 53.107 m +231.979 53.107 l +231.582 53.902 l +235.554 52.71 l +231.582 51.519 l +231.979 52.313 l +231.006 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.516 53.107 m +242.058 53.107 l +241.66 53.902 l +245.632 52.71 l +241.66 51.519 l +242.058 52.313 l +240.516 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +250.027 53.107 m +252.136 53.107 l +251.739 53.902 l +255.711 52.71 l +251.739 51.519 l +252.136 52.313 l +250.027 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.537 53.107 m +262.215 53.107 l +261.818 53.902 l +265.789 52.71 l +261.818 51.519 l +262.215 52.313 l +259.537 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +269.047 53.107 m +272.293 53.107 l +271.896 53.902 l +275.868 52.71 l +271.896 51.519 l +272.293 52.313 l +269.047 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.557 53.107 m +282.372 53.107 l +281.975 53.902 l +285.946 52.71 l +281.975 51.519 l +282.372 52.313 l +278.557 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +288.067 53.107 m +292.45 53.107 l +292.053 53.902 l +296.025 52.71 l +292.053 51.519 l +292.45 52.313 l +288.067 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.578 53.107 m +302.529 53.107 l +302.132 53.902 l +306.104 52.71 l +302.132 51.519 l +302.529 52.313 l +297.578 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +307.088 53.107 m +312.608 53.107 l +312.21 53.902 l +316.182 52.71 l +312.21 51.519 l +312.608 52.313 l +307.088 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.598 53.107 m +322.686 53.107 l +322.289 53.902 l +326.261 52.71 l +322.289 51.519 l +322.686 52.313 l +316.598 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +326.108 53.107 m +332.765 53.107 l +332.368 53.902 l +336.339 52.71 l +332.368 51.519 l +332.765 52.313 l +326.108 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.618 53.107 m +342.843 53.107 l +342.446 53.902 l +346.418 52.71 l +342.446 51.519 l +342.843 52.313 l +335.618 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +345.128 53.107 m +352.922 53.107 l +352.525 53.902 l +356.497 52.71 l +352.525 51.519 l +352.922 52.313 l +345.128 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.639 53.107 m +363.001 53.107 l +362.603 53.902 l +366.575 52.71 l +362.603 51.519 l +363.001 52.313 l +354.639 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +364.149 53.107 m +373.079 53.107 l +372.682 53.902 l +376.654 52.71 l +372.682 51.519 l +373.079 52.313 l +364.149 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.659 53.107 m +383.158 53.107 l +382.761 53.902 l +386.732 52.71 l +382.761 51.519 l +383.158 52.313 l +373.659 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +383.169 53.107 m +393.236 53.107 l +392.839 53.902 l +396.811 52.71 l +392.839 51.519 l +393.236 52.313 l +383.169 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.679 53.107 m +403.315 53.107 l +402.918 53.902 l +406.89 52.71 l +402.918 51.519 l +403.315 52.313 l +392.679 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +402.19 53.107 m +413.394 53.107 l +412.996 53.902 l +416.968 52.71 l +412.996 51.519 l +413.394 52.313 l +402.19 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.7 53.107 m +423.472 53.107 l +423.075 53.902 l +427.047 52.71 l +423.075 51.519 l +423.472 52.313 l +411.7 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +421.21 53.107 m +433.551 53.107 l +433.154 53.902 l +437.125 52.71 l +433.154 51.519 l +433.551 52.313 l +421.21 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.72 53.107 m +443.629 53.107 l +443.232 53.902 l +447.204 52.71 l +443.232 51.519 l +443.629 52.313 l +430.72 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +440.23 53.107 m +453.708 53.107 l +453.311 53.902 l +457.282 52.71 l +453.311 51.519 l +453.708 52.313 l +440.23 52.313 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.043 62.081 m +145.349 61.829 l +145.721 61.968 l +145.787 62.36 l +145.48 62.612 l +145.108 62.473 l +145.043 62.081 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +154.925 61.823 m +155.269 62.022 l +155.269 62.419 l +154.925 62.618 l +154.581 62.419 l +154.581 62.022 l +154.925 61.823 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.82 62.124 m +164.711 62.506 l +164.326 62.602 l +164.05 62.317 l +164.159 61.935 l +164.544 61.839 l +164.82 62.124 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +173.954 62.311 m +174.045 62.303 l +173.971 62.493 l +174.855 62.135 l +173.92 61.948 l +174.028 62.121 l +173.937 62.129 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.461 62.357 m +183.597 62.351 l +183.472 62.63 l +184.82 62.164 l +183.438 61.811 l +183.586 62.078 l +183.45 62.084 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +192.968 62.402 m +193.15 62.399 l +192.974 62.766 l +194.784 62.192 l +192.957 61.675 l +193.145 62.036 l +192.963 62.038 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.476 62.448 m +202.703 62.448 l +202.476 62.902 l +204.749 62.22 l +202.476 61.538 l +202.703 61.993 l +202.476 61.993 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +211.983 62.493 m +212.256 62.496 l +211.977 63.039 l +214.714 62.249 l +211.994 61.402 l +212.262 61.95 l +211.989 61.948 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.49 62.539 m +221.809 62.544 l +221.479 63.175 l +224.679 62.277 l +221.513 61.265 l +221.82 61.908 l +221.502 61.902 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +230.998 62.584 m +231.362 62.593 l +230.981 63.312 l +234.644 62.306 l +231.032 61.129 l +231.379 61.865 l +231.015 61.857 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.505 62.617 m +241.025 62.632 l +240.606 63.415 l +244.609 62.334 l +240.672 61.033 l +241.047 61.838 l +240.527 61.823 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +250.014 62.617 m +250.989 62.648 l +250.567 63.429 l +254.574 62.362 l +250.641 61.047 l +251.013 61.854 l +250.039 61.823 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.523 62.617 m +260.953 62.666 l +260.529 63.446 l +264.539 62.391 l +260.61 61.065 l +260.98 61.872 l +259.55 61.823 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +269.033 62.617 m +270.917 62.686 l +270.491 63.465 l +274.504 62.419 l +270.578 61.084 l +270.946 61.892 l +269.061 61.823 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.542 62.617 m +280.881 62.707 l +280.454 63.486 l +284.469 62.448 l +280.546 61.104 l +280.912 61.913 l +278.572 61.823 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +288.051 62.617 m +290.846 62.729 l +290.417 63.507 l +294.434 62.476 l +290.513 61.126 l +290.878 61.936 l +288.083 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.561 62.617 m +300.81 62.753 l +300.38 63.53 l +304.398 62.505 l +300.48 61.149 l +300.843 61.959 l +297.594 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +307.071 62.617 m +310.775 62.776 l +310.344 63.553 l +314.363 62.533 l +310.446 61.172 l +310.809 61.983 l +307.105 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.58 62.617 m +320.74 62.801 l +320.308 63.577 l +324.328 62.561 l +320.413 61.196 l +320.775 62.007 l +316.615 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +326.09 62.617 m +330.704 62.825 l +330.272 63.601 l +334.293 62.59 l +330.379 61.22 l +330.74 62.032 l +326.126 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.6 62.617 m +340.669 62.851 l +340.236 63.626 l +344.258 62.618 l +340.345 61.245 l +340.706 62.057 l +335.637 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +345.11 62.617 m +350.634 62.876 l +350.2 63.651 l +354.223 62.647 l +350.311 61.27 l +350.671 62.083 l +345.147 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.62 62.617 m +360.598 62.902 l +360.164 63.676 l +364.188 62.675 l +360.277 61.296 l +360.636 62.108 l +354.658 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +364.13 62.617 m +370.563 62.928 l +370.128 63.702 l +374.153 62.704 l +370.243 61.322 l +370.602 62.134 l +364.168 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.64 62.617 m +380.528 62.954 l +380.092 63.728 l +384.118 62.732 l +380.209 61.348 l +380.567 62.161 l +373.678 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +383.15 62.617 m +390.493 62.98 l +390.057 63.754 l +394.083 62.76 l +390.175 61.374 l +390.532 62.187 l +383.189 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.66 62.617 m +400.458 63.007 l +400.021 63.78 l +404.048 62.789 l +400.14 61.4 l +400.497 62.214 l +392.699 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +402.17 62.617 m +410.422 63.034 l +409.986 63.807 l +414.012 62.817 l +410.106 61.427 l +410.462 62.24 l +402.21 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.68 62.617 m +420.387 63.06 l +419.95 63.834 l +423.977 62.846 l +420.071 61.454 l +420.428 62.267 l +411.72 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +421.19 62.617 m +430.352 63.087 l +429.915 63.86 l +433.942 62.874 l +430.037 61.48 l +430.393 62.294 l +421.23 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.7 62.617 m +440.317 63.114 l +439.879 63.887 l +443.907 62.902 l +440.002 61.507 l +440.358 62.321 l +430.741 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +440.21 62.617 m +450.282 63.142 l +449.844 63.914 l +453.872 62.931 l +449.968 61.534 l +450.323 62.348 l +440.251 61.824 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.134 71.45 m +145.517 71.347 l +145.798 71.628 l +145.695 72.011 l +145.312 72.114 l +145.031 71.833 l +145.134 71.45 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +154.925 71.333 m +155.269 71.532 l +155.269 71.929 l +154.925 72.128 l +154.581 71.929 l +154.581 71.532 l +154.925 71.333 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.765 71.51 m +164.791 71.907 l +164.461 72.127 l +164.105 71.951 l +164.079 71.555 l +164.409 71.334 l +164.765 71.51 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +174.331 71.634 m +174.221 72.016 l +173.836 72.112 l +173.56 71.827 l +173.669 71.445 l +174.054 71.349 l +174.331 71.634 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.467 71.833 m +183.569 71.821 l +183.489 72.037 l +184.478 71.617 l +183.421 71.424 l +183.546 71.617 l +183.444 71.628 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +192.971 71.867 m +193.108 71.861 l +192.983 72.14 l +194.33 71.674 l +192.948 71.321 l +193.096 71.588 l +192.96 71.594 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.476 71.901 m +202.646 71.901 l +202.476 72.242 l +204.181 71.731 l +202.476 71.219 l +202.646 71.56 l +202.476 71.56 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +211.98 71.935 m +212.185 71.941 l +211.969 72.344 l +214.032 71.787 l +212.003 71.117 l +212.196 71.532 l +211.992 71.526 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.485 71.969 m +221.723 71.981 l +221.462 72.447 l +223.883 71.844 l +221.53 71.014 l +221.746 71.503 l +221.507 71.492 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +230.989 72.003 m +231.262 72.02 l +230.955 72.549 l +233.735 71.901 l +231.057 70.912 l +231.296 71.475 l +231.023 71.458 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.494 72.037 m +240.801 72.06 l +240.448 72.651 l +243.586 71.958 l +240.585 70.81 l +240.846 71.446 l +240.539 71.424 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +249.998 72.072 m +250.339 72.1 l +249.941 72.754 l +253.437 72.015 l +250.112 70.707 l +250.396 71.418 l +250.055 71.39 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.503 72.106 m +259.878 72.14 l +259.435 72.856 l +263.288 72.072 l +259.639 70.605 l +259.946 71.39 l +259.571 71.355 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +269.009 72.126 m +269.543 72.178 l +269.071 72.93 l +273.14 72.128 l +269.302 70.558 l +269.62 71.387 l +269.085 71.335 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.517 72.126 m +279.394 72.216 l +278.918 72.965 l +282.991 72.185 l +279.161 70.595 l +279.475 71.425 l +278.598 71.335 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +288.025 72.125 m +289.245 72.256 l +288.766 73.004 l +292.842 72.242 l +289.02 70.634 l +289.33 71.466 l +288.11 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.534 72.125 m +299.097 72.299 l +298.614 73.045 l +302.693 72.299 l +298.877 70.676 l +299.184 71.509 l +297.621 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +307.043 72.125 m +308.948 72.343 l +308.463 73.087 l +312.544 72.356 l +308.734 70.72 l +309.038 71.554 l +307.133 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.552 72.125 m +318.799 72.389 l +318.312 73.132 l +322.396 72.413 l +318.59 70.765 l +318.892 71.601 l +316.644 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +326.061 72.125 m +328.65 72.437 l +328.161 73.178 l +332.247 72.469 l +328.446 70.812 l +328.745 71.648 l +326.156 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.57 72.125 m +338.502 72.485 l +338.011 73.225 l +342.098 72.526 l +338.301 70.86 l +338.599 71.696 l +335.667 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +345.079 72.125 m +348.353 72.534 l +347.86 73.273 l +351.949 72.583 l +348.156 70.908 l +348.452 71.746 l +345.178 71.336 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.589 72.125 m +358.204 72.584 l +357.71 73.322 l +361.801 72.64 l +358.011 70.958 l +358.304 71.796 l +354.689 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +364.098 72.124 m +368.056 72.634 l +367.56 73.371 l +371.652 72.697 l +367.865 71.008 l +368.157 71.846 l +364.2 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.608 72.124 m +377.907 72.685 l +377.41 73.421 l +381.503 72.754 l +377.719 71.058 l +378.01 71.897 l +373.71 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +383.117 72.124 m +387.758 72.737 l +387.261 73.472 l +391.354 72.811 l +387.572 71.11 l +387.862 71.949 l +383.221 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.627 72.124 m +397.61 72.789 l +397.111 73.524 l +401.205 72.867 l +397.426 71.161 l +397.715 72.001 l +392.732 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +402.137 72.124 m +407.461 72.841 l +406.961 73.575 l +411.057 72.924 l +407.279 71.213 l +407.567 72.054 l +402.243 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.646 72.124 m +417.312 72.894 l +416.812 73.627 l +420.908 72.981 l +417.133 71.266 l +417.419 72.106 l +411.753 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +421.156 72.124 m +427.164 72.947 l +426.662 73.68 l +430.759 73.038 l +426.986 71.319 l +427.271 72.16 l +421.264 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.666 72.124 m +437.015 73 l +436.513 73.732 l +440.61 73.095 l +436.839 71.372 l +437.124 72.213 l +430.774 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +440.176 72.124 m +446.866 73.053 l +446.364 73.785 l +450.462 73.152 l +446.691 71.425 l +446.976 72.266 l +440.285 71.337 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.253 80.878 m +145.648 80.92 l +145.81 81.283 l +145.576 81.604 l +145.181 81.562 l +145.02 81.199 l +145.253 80.878 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +154.925 80.844 m +155.269 81.042 l +155.269 81.439 l +154.925 81.638 l +154.581 81.439 l +154.581 81.042 l +154.925 80.844 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.655 80.91 m +164.831 81.266 l +164.611 81.597 l +164.215 81.571 l +164.039 81.215 l +164.259 80.885 l +164.655 80.91 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +174.291 81.046 m +174.287 81.443 l +173.941 81.638 l +173.599 81.435 l +173.603 81.038 l +173.95 80.844 l +174.291 81.046 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.841 81.144 m +183.731 81.526 l +183.346 81.623 l +183.07 81.337 l +183.179 80.955 l +183.565 80.859 l +183.841 81.144 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +192.974 81.332 m +193.065 81.323 l +192.991 81.514 l +193.875 81.155 l +192.94 80.968 l +193.048 81.141 l +192.957 81.15 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.476 81.354 m +202.589 81.354 l +202.476 81.582 l +203.613 81.241 l +202.476 80.9 l +202.589 81.127 l +202.476 81.127 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +211.977 81.377 m +212.114 81.386 l +211.96 81.65 l +213.35 81.326 l +212.011 80.831 l +212.131 81.113 l +211.994 81.104 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.479 81.4 m +221.638 81.417 l +221.445 81.718 l +223.088 81.411 l +221.547 80.763 l +221.672 81.099 l +221.513 81.082 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +230.981 81.423 m +231.163 81.448 l +230.93 81.786 l +232.825 81.497 l +231.083 80.695 l +231.214 81.084 l +231.032 81.059 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.482 81.445 m +240.687 81.479 l +240.414 81.855 l +242.563 81.582 l +240.619 80.627 l +240.755 81.07 l +240.551 81.036 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +249.984 81.468 m +250.211 81.511 l +249.899 81.923 l +252.3 81.667 l +250.155 80.559 l +250.297 81.056 l +250.069 81.013 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.486 81.491 m +259.736 81.542 l +259.383 81.991 l +262.038 81.752 l +259.69 80.49 l +259.838 81.042 l +259.588 80.991 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +268.987 81.514 m +269.26 81.573 l +268.868 82.059 l +271.775 81.838 l +269.226 80.422 l +269.38 81.028 l +269.107 80.968 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.489 81.536 m +278.785 81.605 l +278.353 82.127 l +281.513 81.923 l +278.762 80.354 l +278.921 81.013 l +278.625 80.945 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +287.991 81.559 m +288.309 81.636 l +287.837 82.196 l +291.25 82.008 l +288.298 80.286 l +288.462 80.999 l +288.144 80.922 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.492 81.582 m +297.833 81.667 l +297.322 82.264 l +300.988 82.093 l +297.833 80.218 l +298.004 80.985 l +297.663 80.9 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +306.994 81.605 m +307.358 81.698 l +306.806 82.332 l +310.726 82.179 l +307.369 80.149 l +307.545 80.971 l +307.182 80.877 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.496 81.625 m +316.906 81.733 l +316.319 82.399 l +320.463 82.264 l +316.928 80.096 l +317.109 80.965 l +316.7 80.857 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +326.004 81.624 m +326.646 81.798 l +326.055 82.461 l +330.201 82.349 l +326.678 80.161 l +326.854 81.031 l +326.212 80.857 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.512 81.624 m +336.387 81.865 l +335.792 82.525 l +339.938 82.434 l +336.427 80.228 l +336.598 81.1 l +335.724 80.858 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +345.021 81.623 m +346.127 81.934 l +345.53 82.591 l +349.676 82.52 l +346.175 80.297 l +346.342 81.169 l +345.236 80.858 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.53 81.623 m +355.867 82.005 l +355.267 82.659 l +359.413 82.605 l +355.922 80.368 l +356.085 81.241 l +354.748 80.859 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +364.038 81.622 m +365.607 82.077 l +365.004 82.729 l +369.151 82.69 l +365.668 80.44 l +365.828 81.314 l +364.259 80.859 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.547 81.622 m +375.347 82.15 l +374.742 82.8 l +378.888 82.775 l +375.413 80.514 l +375.57 81.388 l +373.771 80.86 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +383.056 81.621 m +385.086 82.224 l +384.479 82.873 l +388.626 82.861 l +385.157 80.588 l +385.312 81.463 l +383.282 80.86 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.565 81.621 m +394.825 82.299 l +394.217 82.946 l +398.363 82.946 l +394.902 80.663 l +395.054 81.538 l +392.793 80.86 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +402.074 81.621 m +404.565 82.375 l +403.954 83.02 l +408.101 83.031 l +404.645 80.739 l +404.795 81.615 l +402.305 80.861 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.584 81.621 m +414.304 82.452 l +413.692 83.095 l +417.839 83.116 l +414.388 80.816 l +414.536 81.692 l +411.816 80.861 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +421.093 81.62 m +424.043 82.529 l +423.43 83.171 l +427.576 83.202 l +424.131 80.894 l +424.277 81.77 l +421.327 80.861 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.602 81.62 m +433.782 82.607 l +433.167 83.248 l +437.314 83.287 l +433.873 80.972 l +434.017 81.848 l +430.838 80.861 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +440.112 81.62 m +443.521 82.685 l +442.905 83.325 l +447.051 83.372 l +443.616 81.05 l +443.758 81.927 l +440.349 80.862 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.349 90.359 m +145.721 90.498 l +145.787 90.89 l +145.48 91.143 l +145.108 91.003 l +145.043 90.612 l +145.349 90.359 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +154.925 90.354 m +155.269 90.552 l +155.269 90.949 l +154.925 91.148 l +154.581 90.949 l +154.581 90.552 l +154.925 90.354 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.531 90.366 m +164.817 90.642 l +164.721 91.027 l +164.339 91.136 l +164.053 90.86 l +164.149 90.475 l +164.531 90.366 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +174.165 90.42 m +174.342 90.776 l +174.121 91.107 l +173.725 91.081 l +173.549 90.725 l +173.769 90.395 l +174.165 90.42 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.786 90.531 m +183.811 90.927 l +183.481 91.147 l +183.125 90.971 l +183.099 90.575 l +183.43 90.355 l +183.786 90.531 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +193.351 90.655 m +193.242 91.036 l +192.856 91.133 l +192.58 90.847 l +192.689 90.465 l +193.075 90.369 l +193.351 90.655 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.873 90.751 m +202.674 91.095 l +202.277 91.095 l +202.079 90.751 l +202.277 90.407 l +202.674 90.407 l +202.873 90.751 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +212.378 90.816 m +212.125 91.123 l +211.733 91.058 l +211.594 90.686 l +211.847 90.379 l +212.238 90.444 l +212.378 90.816 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.473 90.83 m +221.553 90.853 l +221.428 90.99 l +222.292 90.978 l +221.564 90.512 l +221.598 90.694 l +221.519 90.671 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +230.972 90.842 m +231.063 90.876 l +230.904 91.024 l +231.916 91.092 l +231.109 90.478 l +231.131 90.694 l +231.04 90.66 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.471 90.853 m +240.573 90.899 l +240.38 91.058 l +241.54 91.206 l +240.653 90.444 l +240.664 90.694 l +240.562 90.649 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +249.97 90.865 m +250.083 90.921 l +249.856 91.092 l +251.163 91.319 l +250.197 90.41 l +250.197 90.694 l +250.083 90.637 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.469 90.876 m +259.594 90.944 l +259.332 91.126 l +260.787 91.433 l +259.741 90.376 l +259.73 90.694 l +259.605 90.626 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +268.967 90.887 m +269.104 90.967 l +268.808 91.16 l +270.411 91.547 l +269.286 90.342 l +269.263 90.694 l +269.127 90.614 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.466 90.899 m +278.614 90.99 l +278.284 91.194 l +280.035 91.66 l +278.83 90.308 l +278.796 90.694 l +278.648 90.603 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +287.965 90.91 m +288.124 91.012 l +287.76 91.228 l +289.659 91.774 l +288.374 90.273 l +288.329 90.694 l +288.17 90.592 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.464 90.921 m +297.634 91.035 l +297.237 91.262 l +299.283 91.888 l +297.919 90.239 l +297.862 90.694 l +297.691 90.58 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +306.963 90.933 m +307.145 91.058 l +306.713 91.297 l +308.907 92.001 l +307.463 90.205 l +307.395 90.694 l +307.213 90.569 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.461 90.944 m +316.655 91.081 l +316.189 91.331 l +318.53 92.115 l +317.007 90.171 l +316.928 90.694 l +316.734 90.558 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +325.96 90.956 m +326.165 91.103 l +325.665 91.365 l +328.154 92.229 l +326.551 90.137 l +326.461 90.694 l +326.256 90.546 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.459 90.967 m +335.675 91.126 l +335.141 91.399 l +337.778 92.342 l +336.096 90.103 l +335.993 90.694 l +335.777 90.535 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +344.958 90.978 m +345.185 91.149 l +344.617 91.433 l +347.402 92.456 l +345.64 90.069 l +345.526 90.694 l +345.299 90.524 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.457 90.99 m +354.695 91.172 l +354.093 91.467 l +357.026 92.57 l +355.184 90.035 l +355.059 90.694 l +354.821 90.512 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +363.956 91.001 m +364.206 91.194 l +363.569 91.501 l +366.65 92.683 l +364.729 90.001 l +364.592 90.694 l +364.342 90.501 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.454 91.012 m +373.716 91.217 l +373.045 91.535 l +376.274 92.797 l +374.273 89.967 l +374.125 90.694 l +373.864 90.489 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +382.953 91.024 m +383.226 91.24 l +382.521 91.569 l +385.898 92.911 l +383.817 89.932 l +383.658 90.694 l +383.385 90.478 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.452 91.035 m +392.736 91.262 l +391.997 91.604 l +395.521 93.025 l +393.361 89.898 l +393.191 90.694 l +392.907 90.467 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +401.951 91.046 m +402.246 91.285 l +401.473 91.638 l +405.145 93.138 l +402.906 89.864 l +402.724 90.694 l +402.428 90.455 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.45 91.058 m +411.757 91.308 l +410.949 91.672 l +414.769 93.252 l +412.45 89.83 l +412.257 90.694 l +411.95 90.444 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +420.958 91.058 m +421.379 91.404 l +420.568 91.765 l +424.393 93.366 l +422.08 89.924 l +421.883 90.79 l +421.462 90.444 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.467 91.057 m +431.01 91.506 l +430.197 91.865 l +434.017 93.479 l +431.717 90.029 l +431.516 90.894 l +430.973 90.445 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +439.976 91.056 m +440.64 91.61 l +439.827 91.966 l +443.641 93.593 l +441.352 90.135 l +441.149 90.999 l +440.485 90.446 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.5 100.261 m +145.5 100.176 l +145.67 100.261 l +145.415 99.408 l +145.159 100.261 l +145.329 100.176 l +145.329 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +154.925 99.864 m +155.269 100.063 l +155.269 100.46 l +154.925 100.658 l +154.581 100.46 l +154.581 100.063 l +154.925 99.864 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.435 99.864 m +164.779 100.063 l +164.779 100.46 l +164.435 100.658 l +164.091 100.46 l +164.091 100.063 l +164.435 99.864 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +173.945 99.864 m +174.289 100.063 l +174.289 100.46 l +173.945 100.658 l +173.601 100.46 l +173.601 100.063 l +173.945 99.864 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.455 99.864 m +183.799 100.063 l +183.799 100.46 l +183.455 100.658 l +183.111 100.46 l +183.111 100.063 l +183.455 99.864 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +192.966 99.864 m +193.31 100.063 l +193.31 100.46 l +192.966 100.658 l +192.622 100.46 l +192.622 100.063 l +192.966 99.864 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +202.873 100.261 m +202.674 100.605 l +202.277 100.605 l +202.079 100.261 l +202.277 99.917 l +202.674 99.917 l +202.873 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +211.986 100.658 m +211.642 100.46 l +211.642 100.063 l +211.986 99.864 l +212.33 100.063 l +212.33 100.46 l +211.986 100.658 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +221.496 100.658 m +221.152 100.46 l +221.152 100.063 l +221.496 99.864 l +221.84 100.063 l +221.84 100.46 l +221.496 100.658 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +231.006 100.658 m +230.662 100.46 l +230.662 100.063 l +231.006 99.864 l +231.35 100.063 l +231.35 100.46 l +231.006 100.658 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +240.516 100.658 m +240.172 100.46 l +240.172 100.063 l +240.516 99.864 l +240.86 100.063 l +240.86 100.46 l +240.516 100.658 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +250.027 100.658 m +249.683 100.46 l +249.683 100.063 l +250.027 99.864 l +250.371 100.063 l +250.371 100.46 l +250.027 100.658 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +259.452 100.261 m +259.452 100.346 l +259.281 100.261 l +259.537 101.114 l +259.793 100.261 l +259.622 100.346 l +259.622 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +268.948 100.261 m +268.948 100.361 l +268.749 100.261 l +269.047 101.256 l +269.345 100.261 l +269.146 100.361 l +269.146 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +278.444 100.261 m +278.444 100.375 l +278.216 100.261 l +278.557 101.398 l +278.898 100.261 l +278.671 100.375 l +278.671 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +287.939 100.261 m +287.939 100.389 l +287.684 100.261 l +288.067 101.54 l +288.451 100.261 l +288.195 100.389 l +288.195 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +297.435 100.261 m +297.435 100.403 l +297.151 100.261 l +297.578 101.682 l +298.004 100.261 l +297.72 100.403 l +297.72 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +306.931 100.261 m +306.931 100.417 l +306.619 100.261 l +307.088 101.824 l +307.557 100.261 l +307.244 100.417 l +307.244 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +316.427 100.261 m +316.427 100.432 l +316.086 100.261 l +316.598 101.966 l +317.109 100.261 l +316.768 100.432 l +316.768 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +325.923 100.261 m +325.923 100.446 l +325.554 100.261 l +326.108 102.108 l +326.662 100.261 l +326.293 100.446 l +326.293 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +335.419 100.261 m +335.419 100.46 l +335.021 100.261 l +335.618 102.251 l +336.215 100.261 l +335.817 100.46 l +335.817 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +344.915 100.261 m +344.915 100.474 l +344.489 100.261 l +345.128 102.393 l +345.768 100.261 l +345.342 100.474 l +345.342 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +354.411 100.261 m +354.411 100.488 l +353.957 100.261 l +354.639 102.535 l +355.321 100.261 l +354.866 100.488 l +354.866 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +363.907 100.261 m +363.907 100.503 l +363.424 100.261 l +364.149 102.677 l +364.874 100.261 l +364.39 100.503 l +364.39 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +373.403 100.261 m +373.403 100.517 l +372.892 100.261 l +373.659 102.819 l +374.426 100.261 l +373.915 100.517 l +373.915 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +382.899 100.261 m +382.899 100.531 l +382.359 100.261 l +383.169 102.961 l +383.979 100.261 l +383.439 100.531 l +383.439 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +392.395 100.261 m +392.395 100.545 l +391.827 100.261 l +392.679 103.103 l +393.532 100.261 l +392.964 100.545 l +392.964 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +401.891 100.261 m +401.891 100.56 l +401.294 100.261 l +402.19 103.245 l +403.085 100.261 l +402.488 100.56 l +402.488 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +411.387 100.261 m +411.387 100.574 l +410.762 100.261 l +411.7 103.387 l +412.638 100.261 l +412.012 100.574 l +412.012 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +420.883 100.261 m +420.883 100.588 l +420.229 100.261 l +421.21 103.529 l +422.19 100.261 l +421.537 100.588 l +421.537 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +430.379 100.261 m +430.379 100.602 l +429.697 100.261 l +430.72 103.672 l +431.743 100.261 l +431.061 100.602 l +431.061 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +439.875 100.261 m +439.875 100.616 l +439.165 100.261 l +440.23 103.814 l +441.296 100.261 l +440.586 100.616 l +440.586 100.261 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +145.517 109.783 m +145.528 109.68 l +145.722 109.805 l +145.528 108.748 l +145.108 109.737 l +145.324 109.658 l +145.312 109.76 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +155.01 109.771 m +155.01 109.686 l +155.181 109.771 l +154.925 108.919 l +154.669 109.771 l +154.84 109.686 l +154.84 109.771 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +164.37 109.379 m +164.742 109.519 l +164.807 109.911 l +164.5 110.163 l +164.128 110.024 l +164.063 109.632 l +164.37 109.379 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +173.784 109.408 m +174.179 109.45 l +174.34 109.813 l +174.106 110.134 l +173.712 110.092 l +173.55 109.729 l +173.784 109.408 l +closepath +gsave +fill +grestore +grestore +gsave +299.6 150.3 145.4 43.2 clipbox +183.175 109.49 m +183.558 109.388 l +183.839 109.668 l +183.736 110.052 l +183.353 110.155 l +183.072 109.874 l +183.175 109.49 l @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4066] trunk/py4science/workbook From: - 2007-10-30 19:18:30 Revision: 4066 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4066&view=rev Author: jdh2358 Date: 2007-10-30 12:18:26 -0700 (Tue, 30 Oct 2007) Log Message: ----------- increased fig size Modified Paths: -------------- trunk/py4science/workbook/fft_imdenoise.tex trunk/py4science/workbook/lotka_volterra.tex trunk/py4science/workbook/stats_descriptives.tex trunk/py4science/workbook/stats_distributions.tex trunk/py4science/workbook/trapezoid.tex Modified: trunk/py4science/workbook/fft_imdenoise.tex =================================================================== --- trunk/py4science/workbook/fft_imdenoise.tex 2007-10-30 19:14:17 UTC (rev 4065) +++ trunk/py4science/workbook/fft_imdenoise.tex 2007-10-30 19:18:26 UTC (rev 4066) @@ -44,7 +44,7 @@ \lstinputlisting[label=code:fft_imdenoise_skel,caption={IGNORED}]{skel/fft_imdenoise_skel.py} \begin{figure} -\begin{centering}\includegraphics[width=3in]{fig/fft_imdenoise}\par\end{centering} +\begin{centering}\includegraphics[width=4in]{fig/fft_imdenoise}\par\end{centering} \caption{\label{fig:fft_imdenoise}High freqeuency noise filtering of a 2D image in the Fourier domain. The upper panels show the original image (left) and spectral power (right) and the lower panels show the same data with the high frequency power set to zero. Although the input and output images are grayscale, you can provide colormaps to \texttt{pylab.imshow} to plot them in psudo-color} \end{figure} Modified: trunk/py4science/workbook/lotka_volterra.tex =================================================================== --- trunk/py4science/workbook/lotka_volterra.tex 2007-10-30 19:14:17 UTC (rev 4065) +++ trunk/py4science/workbook/lotka_volterra.tex 2007-10-30 19:18:26 UTC (rev 4066) @@ -4,7 +4,7 @@ \lstinputlisting[label=code:lotka_volterra_skel,caption={IGNORED}]{skel/lotka_volterra_skel.py} \begin{figure} -\begin{centering}\includegraphics[width=3in]{fig/lotka_volterra}\par\end{centering} +\begin{centering}\includegraphics[width=4in]{fig/lotka_volterra}\par\end{centering} \caption{\label{fig:lotka_volterra}Upper panel shows population trajectories for rabbits (blue) and foxes (green) simulated using Modified: trunk/py4science/workbook/stats_descriptives.tex =================================================================== --- trunk/py4science/workbook/stats_descriptives.tex 2007-10-30 19:14:17 UTC (rev 4065) +++ trunk/py4science/workbook/stats_descriptives.tex 2007-10-30 19:18:26 UTC (rev 4066) @@ -47,7 +47,7 @@ \lstinputlisting[label=code:stats_descriptives_skel,caption={IGNORED}]{skel/stats_descriptives_skel.py} \begin{figure} -\begin{centering}\includegraphics[width=3in]{fig/stats_descriptives}\par\end{centering} +\begin{centering}\includegraphics[width=4in]{fig/stats_descriptives}\par\end{centering} \caption{\label{fig:stats_descriptives}} \end{figure} Modified: trunk/py4science/workbook/stats_distributions.tex =================================================================== --- trunk/py4science/workbook/stats_distributions.tex 2007-10-30 19:14:17 UTC (rev 4065) +++ trunk/py4science/workbook/stats_distributions.tex 2007-10-30 19:18:26 UTC (rev 4066) @@ -81,7 +81,7 @@ \lstinputlisting[label=code:stats_distributions_skel,caption={IGNORED}]{skel/stats_distributions_skel.py} \begin{figure} -\begin{centering}\includegraphics[width=3in]{fig/stats_distributions}\par\end{centering} +\begin{centering}\includegraphics[width=4in]{fig/stats_distributions}\par\end{centering} \caption{\label{fig:stats_distributions}} \end{figure} Modified: trunk/py4science/workbook/trapezoid.tex =================================================================== --- trunk/py4science/workbook/trapezoid.tex 2007-10-30 19:14:17 UTC (rev 4065) +++ trunk/py4science/workbook/trapezoid.tex 2007-10-30 19:18:26 UTC (rev 4066) @@ -28,7 +28,7 @@ % \begin{figure} -\begin{centering}\includegraphics[width=3in]{fig/Composite_trapezoidal_rule_illustration}\par\end{centering} +\begin{centering}\includegraphics[width=4in]{fig/Composite_trapezoidal_rule_illustration}\par\end{centering} \caption{\label{fig:trapezoid}Illustration of the composite trapezoidal rule This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4067] trunk/py4science/workbook From: - 2007-10-30 20:21:42 Revision: 4067 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4067&view=rev Author: jdh2358 Date: 2007-10-30 13:21:39 -0700 (Tue, 30 Oct 2007) Log Message: ----------- added solved vs skeletons Makefile build Modified Paths: -------------- trunk/py4science/workbook/convolution.tex trunk/py4science/workbook/fft_imdenoise.tex trunk/py4science/workbook/files_etc.tex trunk/py4science/workbook/glass_dots.tex trunk/py4science/workbook/lotka_volterra.tex trunk/py4science/workbook/qsort.tex trunk/py4science/workbook/quad_newton.tex trunk/py4science/workbook/stats_descriptives.tex trunk/py4science/workbook/stats_distributions.tex trunk/py4science/workbook/trapezoid.tex trunk/py4science/workbook/wallis_pi.tex trunk/py4science/workbook/wordfreqs.tex Added Paths: ----------- trunk/py4science/workbook/Makefile trunk/py4science/workbook/examples_skel/ trunk/py4science/workbook/examples_skel/convolution_demo.py trunk/py4science/workbook/examples_skel/fft_imdenoise.py trunk/py4science/workbook/examples_skel/glass_dots1.py trunk/py4science/workbook/examples_skel/lotka_volterra.py trunk/py4science/workbook/examples_skel/noisy_sine.py trunk/py4science/workbook/examples_skel/qsort.py trunk/py4science/workbook/examples_skel/quad_newton.py trunk/py4science/workbook/examples_skel/stats_descriptives.py trunk/py4science/workbook/examples_skel/stats_distributions.py trunk/py4science/workbook/examples_skel/stock_records.py trunk/py4science/workbook/examples_skel/trapezoid.py trunk/py4science/workbook/examples_skel/wallis_pi.py trunk/py4science/workbook/examples_skel/wordfreqs.py trunk/py4science/workbook/examples_solved Removed Paths: ------------- trunk/py4science/workbook/skel Added: trunk/py4science/workbook/Makefile =================================================================== --- trunk/py4science/workbook/Makefile (rev 0) +++ trunk/py4science/workbook/Makefile 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1,11 @@ +solved: + rm -rf examples + ln -s examples_solved examples + cp main.tex workbook_solved.tex + pdflatex workbook_solved + +skeletons: + rm -rf examples + ln -s examples_skel examples + cp main.tex workbook_skeletons.tex + pdflatex workbook_skeletons Modified: trunk/py4science/workbook/convolution.tex =================================================================== --- trunk/py4science/workbook/convolution.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/convolution.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -87,7 +87,7 @@ multiplication property to perform the same convolution in Fourier space to confirm the numerical result from \texttt{numpy.convolve}. -\lstinputlisting[label=code:convolution_demo,caption={IGNORED}]{skel/convolution_demo_skel.py} +\lstinputlisting[label=code:convolution_demo,caption={IGNORED}]{examples/convolution_demo.py} Added: trunk/py4science/workbook/examples_skel/convolution_demo.py =================================================================== --- trunk/py4science/workbook/examples_skel/convolution_demo.py (rev 0) +++ trunk/py4science/workbook/examples_skel/convolution_demo.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/convolution_demo_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/convolution_demo.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/fft_imdenoise.py =================================================================== --- trunk/py4science/workbook/examples_skel/fft_imdenoise.py (rev 0) +++ trunk/py4science/workbook/examples_skel/fft_imdenoise.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/fft_imdenoise_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/fft_imdenoise.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/glass_dots1.py =================================================================== --- trunk/py4science/workbook/examples_skel/glass_dots1.py (rev 0) +++ trunk/py4science/workbook/examples_skel/glass_dots1.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/glass_dots1_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/glass_dots1.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/lotka_volterra.py =================================================================== --- trunk/py4science/workbook/examples_skel/lotka_volterra.py (rev 0) +++ trunk/py4science/workbook/examples_skel/lotka_volterra.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/lotka_volterra_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/lotka_volterra.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/noisy_sine.py =================================================================== --- trunk/py4science/workbook/examples_skel/noisy_sine.py (rev 0) +++ trunk/py4science/workbook/examples_skel/noisy_sine.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/noisy_sine_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/noisy_sine.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/qsort.py =================================================================== --- trunk/py4science/workbook/examples_skel/qsort.py (rev 0) +++ trunk/py4science/workbook/examples_skel/qsort.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/qsort_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/qsort.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/quad_newton.py =================================================================== --- trunk/py4science/workbook/examples_skel/quad_newton.py (rev 0) +++ trunk/py4science/workbook/examples_skel/quad_newton.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/quad_newton_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/quad_newton.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/stats_descriptives.py =================================================================== --- trunk/py4science/workbook/examples_skel/stats_descriptives.py (rev 0) +++ trunk/py4science/workbook/examples_skel/stats_descriptives.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/stats_descriptives_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/stats_descriptives.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/stats_distributions.py =================================================================== --- trunk/py4science/workbook/examples_skel/stats_distributions.py (rev 0) +++ trunk/py4science/workbook/examples_skel/stats_distributions.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/stats_distributions_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/stats_distributions.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/stock_records.py =================================================================== --- trunk/py4science/workbook/examples_skel/stock_records.py (rev 0) +++ trunk/py4science/workbook/examples_skel/stock_records.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/stock_records_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/stock_records.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/trapezoid.py =================================================================== --- trunk/py4science/workbook/examples_skel/trapezoid.py (rev 0) +++ trunk/py4science/workbook/examples_skel/trapezoid.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/trapezoid_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/trapezoid.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/wallis_pi.py =================================================================== --- trunk/py4science/workbook/examples_skel/wallis_pi.py (rev 0) +++ trunk/py4science/workbook/examples_skel/wallis_pi.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/wallis_pi_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/wallis_pi.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_skel/wordfreqs.py =================================================================== --- trunk/py4science/workbook/examples_skel/wordfreqs.py (rev 0) +++ trunk/py4science/workbook/examples_skel/wordfreqs.py 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../../examples/skel/wordfreqs_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_skel/wordfreqs.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/examples_solved =================================================================== --- trunk/py4science/workbook/examples_solved (rev 0) +++ trunk/py4science/workbook/examples_solved 2007-10-30 20:21:39 UTC (rev 4067) @@ -0,0 +1 @@ +link ../examples \ No newline at end of file Property changes on: trunk/py4science/workbook/examples_solved ___________________________________________________________________ Name: svn:special + * Modified: trunk/py4science/workbook/fft_imdenoise.tex =================================================================== --- trunk/py4science/workbook/fft_imdenoise.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/fft_imdenoise.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -41,7 +41,7 @@ to one. This serves to enhance contrast among the darker elements of the image, so it is not completely dominated by the brighter segments -\lstinputlisting[label=code:fft_imdenoise_skel,caption={IGNORED}]{skel/fft_imdenoise_skel.py} +\lstinputlisting[label=code:fft_imdenoise,caption={IGNORED}]{examples/fft_imdenoise.py} \begin{figure} \begin{centering}\includegraphics[width=4in]{fig/fft_imdenoise}\par\end{centering} Modified: trunk/py4science/workbook/files_etc.tex =================================================================== --- trunk/py4science/workbook/files_etc.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/files_etc.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -44,7 +44,7 @@ Here is the exercise skeleton of the script to create and plot the data file -\lstinputlisting[label=code:noisy_sine_skel,caption={IGNORED}]{skel/noisy_sine_skel.py} +\lstinputlisting[label=code:noisy_sine,caption={IGNORED}]{examples/noisy_sine.py} and the graph will look something like Figure~\ref{fig:noisy_sine} @@ -189,7 +189,7 @@ in 2003 and held to the present) for each stock. Here is the exercise skeleton.: -\lstinputlisting[label=code:stock_records_skel,caption={IGNORED}]{skel/stock_records_skel.py} +\lstinputlisting[label=code:stock_records,caption={IGNORED}]{examples/stock_records.py} The graph will look something like Figure~\ref{fig:stock_records}. Modified: trunk/py4science/workbook/glass_dots.tex =================================================================== --- trunk/py4science/workbook/glass_dots.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/glass_dots.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -38,7 +38,7 @@ \textit{stable node}, if one is greater than one and the other less than one, we have a \textit{saddle node}. -\lstinputlisting[label=code:glass_dots1_skel,caption={IGNORED}]{skel/glass_dots1_skel.py} +\lstinputlisting[label=code:glass_dots1,caption={IGNORED}]{examples/glass_dots1.py} Modified: trunk/py4science/workbook/lotka_volterra.tex =================================================================== --- trunk/py4science/workbook/lotka_volterra.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/lotka_volterra.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -1,7 +1,7 @@ \section{Lotka-Volterra Equations} \label{sec:lotka_volterra} -\lstinputlisting[label=code:lotka_volterra_skel,caption={IGNORED}]{skel/lotka_volterra_skel.py} +\lstinputlisting[label=code:lotka_volterra,caption={IGNORED}]{examples/lotka_volterra.py} \begin{figure} \begin{centering}\includegraphics[width=4in]{fig/lotka_volterra}\par\end{centering} Modified: trunk/py4science/workbook/qsort.tex =================================================================== --- trunk/py4science/workbook/qsort.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/qsort.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -20,11 +20,11 @@ represents the sorting operation, $+$ indicates list concatenation and $[p]$ is the list containing the pivot as its single element. \end{enumerate} -The listing~\ref{code:qsort_skel} contains a skeleton with no implementation +The listing~\ref{code:qsort} contains a skeleton with no implementation but with tests already written (in the form of \emph{unit tests}, as described in the introduction). -\lstinputlisting[label=code:qsort_skel,caption={IGNORED}]{skel/qsort_skel.py} +\lstinputlisting[label=code:qsort,caption={IGNORED}]{examples/qsort.py} \subsection*{Hints} Modified: trunk/py4science/workbook/quad_newton.tex =================================================================== --- trunk/py4science/workbook/quad_newton.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/quad_newton.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -26,9 +26,9 @@ u=\frac{1}{4}.\] -The listing~\ref{code:quad_newton_skel} contains a skeleton that +The listing~\ref{code:quad_newton} contains a skeleton that includes for comparison the correct numerical value. -\lstinputlisting[label=code:quad_newton_skel,caption={IGNORED}]{skel/quad_newton_skel.py} +\lstinputlisting[label=code:quad_newton,caption={IGNORED}]{examples/quad_newton.py} Deleted: trunk/py4science/workbook/skel =================================================================== --- trunk/py4science/workbook/skel 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/skel 2007-10-30 20:21:39 UTC (rev 4067) @@ -1 +0,0 @@ -link ../examples/skel \ No newline at end of file Modified: trunk/py4science/workbook/stats_descriptives.tex =================================================================== --- trunk/py4science/workbook/stats_descriptives.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/stats_descriptives.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -44,7 +44,7 @@ \end{lstlisting} -\lstinputlisting[label=code:stats_descriptives_skel,caption={IGNORED}]{skel/stats_descriptives_skel.py} +\lstinputlisting[label=code:stats_descriptives,caption={IGNORED}]{examples/stats_descriptives.py} \begin{figure} \begin{centering}\includegraphics[width=4in]{fig/stats_descriptives}\par\end{centering} Modified: trunk/py4science/workbook/stats_distributions.tex =================================================================== --- trunk/py4science/workbook/stats_distributions.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/stats_distributions.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -78,7 +78,7 @@ should look something like those in Figure~\ref{fig:stats_distributions}. -\lstinputlisting[label=code:stats_distributions_skel,caption={IGNORED}]{skel/stats_distributions_skel.py} +\lstinputlisting[label=code:stats_distributions,caption={IGNORED}]{examples/stats_distributions.py} \begin{figure} \begin{centering}\includegraphics[width=4in]{fig/stats_distributions}\par\end{centering} Modified: trunk/py4science/workbook/trapezoid.tex =================================================================== --- trunk/py4science/workbook/trapezoid.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/trapezoid.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -36,11 +36,11 @@ \end{figure} -Listing~\ref{code:trapezoid_skel} contains a skeleton for this problem, +Listing~\ref{code:trapezoid} contains a skeleton for this problem, written in the form of two incomplete functions and a set of automatic tests (in the form of \emph{unit tests}, as described in the introduction). -\lstinputlisting[label=code:trapezoid_skel,caption={IGNORED}]{skel/trapezoid_skel.py} +\lstinputlisting[label=code:trapezoid,caption={IGNORED}]{examples/trapezoid.py} In this exercise, you'll need to write two functions, \texttt{trapz} and \texttt{trapzf}. \texttt{trapz} applies the trapezoid formula Modified: trunk/py4science/workbook/wallis_pi.tex =================================================================== --- trunk/py4science/workbook/wallis_pi.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/wallis_pi.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -6,12 +6,12 @@ \pi=\prod_{i=1}^{\infty}\frac{4i^{2}}{4i^{2}-1}. -The listing~\ref{code:wallis_pi_skel} contains a skeleton with no +The listing~\ref{code:wallis_pi} contains a skeleton with no implementation but with some plotting commands already inserted, so that you can visualize the convergence rate of this formula as more terms are kept. -\lstinputlisting[label=code:wallis_pi_skel,caption={IGNORED}]{skel/wallis_pi_skel.py} +\lstinputlisting[label=code:wallis_pi,caption={IGNORED}]{examples/wallis_pi.py} After running the script successfully, you should obtain a plot similar to Figure~\ref{fig:wallis_pi}. Modified: trunk/py4science/workbook/wordfreqs.tex =================================================================== --- trunk/py4science/workbook/wordfreqs.tex 2007-10-30 19:18:26 UTC (rev 4066) +++ trunk/py4science/workbook/wordfreqs.tex 2007-10-30 20:21:39 UTC (rev 4067) @@ -14,10 +14,10 @@ In this problem, you will need to count the frequencies of all the words contained in a compressed text file supplied as input. -The listing~\ref{code:wordfreqs_skel} contains a skeleton for this +The listing~\ref{code:wordfreqs} contains a skeleton for this problem, with \texttt{XXX} marking various places that are incomplete. -\lstinputlisting[label=code:wordfreqs_skel,caption={IGNORED}]{skel/wordfreqs_skel.py} +\lstinputlisting[label=code:wordfreqs,caption={IGNORED}]{examples/wordfreqs.py} \subsection*{Hints} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4100] trunk/py4science/workbook From: - 2007-11-03 12:32:03 Revision: 4100 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4100&view=rev Author: jdh2358 Date: 2007-11-03 05:31:59 -0700 (Sat, 03 Nov 2007) Log Message: ----------- added readme and exercise template Added Paths: ----------- trunk/py4science/workbook/README trunk/py4science/workbook/template.tex Added: trunk/py4science/workbook/README =================================================================== --- trunk/py4science/workbook/README (rev 0) +++ trunk/py4science/workbook/README 2007-11-03 12:31:59 UTC (rev 4100) @@ -0,0 +1,22 @@ +This is the workbook for the py4science course. It is made up of a +bunch of different units, each of which lives in a separate *.tex +file. To make a new unit, copy template.tex to yourfile.tex and fill +it in. We use the latex listing package for including python source +code. + +For every unit, create an example in ../examples/your_example.py, a +skeleton in ../examples/your_example_skel.py, and a symlink from +../examples/your_example_skel.py -> examples_skel/your_example.py +(../examples is in the top level of the py4science repository). If +there are any figures, you should create a PNG and EPS version of each +and add them to the fig subdirectory of the workbook directory. You +will need to svn add your tex file, example, skeleton, skeleton +symlink, and figures. + +You can build the workbook in skeleton form with + + > make skeletons # create workbook_skeletons.pdf + +and in solved form with + + > make solved # creates workbook_solved.pdf Added: trunk/py4science/workbook/template.tex =================================================================== --- trunk/py4science/workbook/template.tex (rev 0) +++ trunk/py4science/workbook/template.tex 2007-11-03 12:31:59 UTC (rev 4100) @@ -0,0 +1,37 @@ +\section{Your Example} +\label{sec:your_example} + +This is your introduction. Refer to python packages like +\texttt{numpy} and \texttt{matplotlib}, as well as functions like +\texttt{n.arange}, with texttt''. + +Refer to figures like Figure~\ref{fig:your_figure}. Your example code +should be included like. + +\lstinputlisting[label=code:your_example,caption={IGNORED}]{examples/your_example.py} + +and your figures should be saved in the \textff{fig} subdirectory with +a PNG and EPS version. You should include it like + +\begin{figure} +\begin{centering}\includegraphics[width=4in]{fig/your_example}\par\end{centering} + +\caption{\label{fig:your_example}Your figure caption here} +\end{figure} + +If you want to include python code inline, including ipython sessions use the following environment. I sometimes decorate ipython sessions with comments. + +\begin{listing} +# use namespaces! +In [1]: import numpy as n + +In [2]: x = n.random.rand(10) + +In [3]: x**2 +Out[3]: +array([ 0.08694464, 0.99225328, 0.05017794, 0.44827437, 0.25938905, + 0.10617795, 0.27397649, 0.33391573, 0.27975237, 0.06808894]) + +In [4]: + +\end{listing} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4409] trunk/py4science/workbook From: - 2007-11-21 20:50:17 Revision: 4409 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4409&view=rev Author: jswhit Date: 2007-11-21 12:50:10 -0800 (Wed, 21 Nov 2007) Log Message: ----------- add 'Plotting on Maps' chapter Modified Paths: -------------- trunk/py4science/workbook/main.tex Added Paths: ----------- trunk/py4science/workbook/basemap.tex trunk/py4science/workbook/fig/basemap1.eps trunk/py4science/workbook/fig/basemap1.pdf trunk/py4science/workbook/fig/basemap1.png trunk/py4science/workbook/fig/basemap2.eps trunk/py4science/workbook/fig/basemap2.png trunk/py4science/workbook/fig/basemap3.eps trunk/py4science/workbook/fig/basemap3.pdf trunk/py4science/workbook/fig/basemap3.png trunk/py4science/workbook/fig/basemap4.eps trunk/py4science/workbook/fig/basemap4.pdf trunk/py4science/workbook/fig/basemap4.png trunk/py4science/workbook/fig/basemap5.pdf trunk/py4science/workbook/fig/basemap5.png Added: trunk/py4science/workbook/basemap.tex =================================================================== --- trunk/py4science/workbook/basemap.tex (rev 0) +++ trunk/py4science/workbook/basemap.tex 2007-11-21 20:50:10 UTC (rev 4409) @@ -0,0 +1,125 @@ +The matplotlib basemap toolkit is an add-on for matplotlib that provides +the capability to draw maps of the earth in various map projections, +and plot data on those maps. This section shows how to use basemap +to create simple maps, draw coastlines and political boundaries, draw +lines of constant latitude and longitude, and plot geophysical data +on the maps. + + +\section{Setting up the map.} + +In order to represent the curved surface of the earth in a two-dimensional +map, a map projection is needed. Since this cannot be done without +distortion, there are many map projections, each with it's own advantages +and disadvantages. Basemap provides 19 different map projections. +Some are global, some can only represent a portion of the globe. When +a Basemap class instance is created, the desired map projection must +be specified, along with information about the portion of the earth's +surface that the map projection will describe. There are two basic +ways of doing this. One is to provide the latitude and longitude values +of each of the four corners of the rectangular map projection region. +The other is to provide the lat/lon value of the center of the map +projection region along with the width and height of the region in +map projection coordinates. The first script illustrates how to use +both of these methods to create a simple map. It also shows how to +draw the continents and political boundaries on the map. + +Here is an example script that creates a map by specifying the latitudes +and longitudes of the four corners + +\lstinputlisting[label=code:basemap1_skel,caption={IGNORED}]{../examples/basemap1.py} + +After running this script, you should see a plot that looks similar +to Figure 1. + +\begin{figure}[h] +\includegraphics[scale=0.75]{fig/basemap1} + +\caption{A map created by specifying the latitudes and longitudes of the four +corners.} + +\end{figure} + +\medskip{} +Here is an example script that creates a map by specifying the center +of the map, plus the width and height in meters. + +\lstinputlisting[label=code:basemap2_skel,caption={IGNORED}]{../examples/basemap2.py} + +After running this script, you should see a plot that looks nearly +identical to Figure 1.\medskip{} + + +The Basemap class instance can be used to convert latitudes and longitudes +to coordinates on the map. To do this, simply call the instance as +if it were a function, passing it the longitude and latitudes values +to convert. The corresponding x and y values in map projection coordinates +will be returned. The following example script shows how to use this +to plot the locations of two cities (New York and London). The Basemap +method drawgreatcircle is then used to draw the great circle route +between these cities on the map. + +\lstinputlisting[label=code:basemap3_skel,caption={IGNORED}]{../examples/basemap3.py} + +This should produce something similar to Figure 2. + +\begin{figure}[h] +\includegraphics[scale=0.75]{fig/basemap3} + +\caption{Drawing the locations of two cities, and connecting them along a great +circle.} + +\end{figure} + +\medskip{} +Most maps include a graticule grid, a reference network of labelled +latitude and longitude lines. Basemap does this with the drawparallels +and drawmeridians instance methods. The longitude and latitude lines +can be labelled where the intersect the map projection boundary. Following +is an example script that draws a graticule on the map we've been +working with. + +\lstinputlisting[label=code:basemap4_skel,caption={IGNORED}]{../examples/basemap4.py} + +Running this script should produce a plot that looks like Figure 3. + +\begin{figure}[h] +\includegraphics[scale=0.75]{fig/basemap4} + +\caption{Drawing labelled meridians and parallels on the map (a graticule grid).} + +\end{figure} + + +\section{Plotting geophysical data on the map.} + +One of the most common uses of Basemap is to visualize earth science +data, such as output from climate models. These data often come on +latitude/longitude grids. One common data format for storing such +grids is NetCDF. Basemap includes a NetCDF file reader (written in +pure python by Roberto D'Almeida). There are python packages available +for reading just about every other scientific data format imaginable, +including HDF, GRIB, FITS and many others. Following is an example +of how to read sea-surface temperature data from a NetCDF file and +plot it on a global mollweide projection. + +\lstinputlisting[label=code:basemap5_skel,caption={IGNORED}]{../examples/basemap5.py} + +The resulting plot should look like Figure 4. + +\pagebreak + +\begin{figure}[h] +\includegraphics[scale=0.75]{fig/basemap5} + +\caption{Sea surface temperature on a global mollweide projection.} + +\end{figure} + +\medskip{} + +Basemap also is capable of reading ESRI shapefiles, a very common +GIS format. The script fillstates.py in the examples directory of +the basemap source distribution shows how to read and plot polygons +in a shapefile. There are many other useful examples in that directory +that illustrate various ways of using basemap.% Added: trunk/py4science/workbook/fig/basemap1.eps =================================================================== --- trunk/py4science/workbook/fig/basemap1.eps (rev 0) +++ trunk/py4science/workbook/fig/basemap1.eps 2007-11-21 20:50:10 UTC (rev 4409) @@ -0,0 +1,50377 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: basemap1.eps +%%Creator: matplotlib version 0.90.1, http://matplotlib.sourceforge.net/ +%%CreationDate: Wed Nov 21 12:50:18 2007 +%%Orientation: portrait +%%BoundingBox: 18 180 594 612 +%%EndComments +%%BeginProlog +/mpldict 8 dict def +mpldict begin +/m { moveto } bind def +/l { lineto } bind def +/r { rlineto } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +closepath +} bind def +/clipbox { +box +clip +newpath +} bind def +/ellipse { +newpath +matrix currentmatrix 7 1 roll +translate +scale +0 0 1 5 3 roll arc +setmatrix +closepath +} bind def +/unitcircle { +newpath +-1. 0. moveto +-1.0 0.552284749831 -0.552284749831 1.0 0.0 1.0 curveto +0.552284749831 1.0 1.0 0.552284749831 1.0 0.0 curveto +1.0 -0.552284749831 0.552284749831 -1.0 0.0 -1.0 curveto +-0.552284749831 -1.0 -1.0 -0.552284749831 -1.0 0.0 curveto +closepath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: Bitstream Vera Sans +%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. +%%Creator: Converted from TrueType by PPR +25 dict begin +/_d{bind def}bind def +/_m{moveto}_d +/_l{lineto}_d +/_cl{closepath eofill}_d +/_c{curveto}_d +/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d +/_e{exec}_d +/FontName /BitstreamVeraSans-Roman def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-182 -235 1287 928]def +/FontType 3 def +/Encoding StandardEncoding def +/FontInfo 10 dict dup begin +/FamilyName (Bitstream Vera Sans) def +/FullName (Bitstream Vera Sans) def +/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.) def +/Weight (Roman) def +/Version (Release 1.10) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -213 def +/UnderlineThickness 143 def +end readonly def +/CharStrings 19 dict dup begin +/space{318 0 0 0 0 0 _sc +}_d +/slash{337 0 0 -92 337 729 _sc +254 729 _m +337 729 _l +83 -92 _l +0 -92 _l +254 729 _l +_cl}_d +/a{{613 0 60 -13 522 560 _sc +343 275 _m +270 275 220 266 192 250 _c +164 233 150 205 150 165 _c +150 133 160 107 181 89 _c +202 70 231 61 267 61 _c +317 61 357 78 387 114 _c +417 149 432 196 432 255 _c +432 275 _l +343 275 _l +522 312 _m +522 0 _l +432 0 _l +432 83 _l +411 49 385 25 355 10 _c +325 -5 287 -13 243 -13 _c +187 -13 142 2 109 33 _c +76 64 60 106 60 159 _c +60 220 80 266 122 298 _c +163 329 224 345 306 345 _c +432 345 _l +432 354 _l +432 395 418 427 391 450 _c +364 472 326 484 277 484 _c +245 484 215 480 185 472 _c +155 464 127 453 100 439 _c +100 522 _l +}_e{132 534 164 544 195 550 _c +226 556 256 560 286 560 _c +365 560 424 539 463 498 _c +502 457 522 395 522 312 _c +_cl}_e}_d +/c{{550 0 55 -13 488 560 _sc +488 526 _m +488 442 _l +462 456 437 466 411 473 _c +385 480 360 484 334 484 _c +276 484 230 465 198 428 _c +166 391 150 339 150 273 _c +150 206 166 154 198 117 _c +230 80 276 62 334 62 _c +360 62 385 65 411 72 _c +437 79 462 90 488 104 _c +488 21 _l +462 9 436 0 410 -5 _c +383 -10 354 -13 324 -13 _c +242 -13 176 12 128 64 _c +79 115 55 185 55 273 _c +55 362 79 432 128 483 _c +177 534 244 560 330 560 _c +358 560 385 557 411 551 _c +437 545 463 537 488 526 _c +_cl}_e}_d +/d{{635 0 55 -13 544 760 _sc +454 464 _m +454 760 _l +544 760 _l +544 0 _l +454 0 _l +454 82 _l +435 49 411 25 382 10 _c +353 -5 319 -13 279 -13 _c +213 -13 159 13 117 65 _c +75 117 55 187 55 273 _c +55 359 75 428 117 481 _c +159 533 213 560 279 560 _c +319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +148 273 _m +148 207 161 155 188 117 _c +215 79 253 61 301 61 _c +348 61 385 79 413 117 _c +440 155 454 207 454 273 _c +454 339 440 390 413 428 _c +385 466 348 485 301 485 _c +253 485 215 466 188 428 _c +161 390 148 339 148 273 _c +_cl}_e}_d +/e{{615 0 55 -13 562 560 _sc +562 296 _m +562 252 _l +149 252 _l +153 190 171 142 205 110 _c +238 78 284 62 344 62 _c +378 62 412 66 444 74 _c +476 82 509 95 541 113 _c +541 28 _l +509 14 476 3 442 -3 _c +408 -9 373 -13 339 -13 _c +251 -13 182 12 131 62 _c +80 112 55 181 55 268 _c +55 357 79 428 127 481 _c +175 533 241 560 323 560 _c +397 560 455 536 498 489 _c +540 441 562 377 562 296 _c +472 322 _m +471 371 457 410 431 440 _c +404 469 368 484 324 484 _c +274 484 234 469 204 441 _c +174 413 156 373 152 322 _c +472 322 _l +_cl}_e}_d +/f{352 0 23 0 371 760 _sc +371 760 _m +371 685 _l +285 685 _l +253 685 230 678 218 665 _c +205 652 199 629 199 595 _c +199 547 _l +347 547 _l +347 477 _l +199 477 _l +199 0 _l +109 0 _l +109 477 _l +23 477 _l +23 547 _l +109 547 _l +109 585 _l +109 645 123 690 151 718 _c +179 746 224 760 286 760 _c +371 760 _l +_cl}_d +/g{{635 0 55 -207 544 560 _sc +454 280 _m +454 344 440 395 414 431 _c +387 467 349 485 301 485 _c +253 485 215 467 188 431 _c +161 395 148 344 148 280 _c +148 215 161 165 188 129 _c +215 93 253 75 301 75 _c +349 75 387 93 414 129 _c +440 165 454 215 454 280 _c +544 68 _m +544 -24 523 -93 482 -139 _c +440 -184 377 -207 292 -207 _c +260 -207 231 -204 203 -200 _c +175 -195 147 -188 121 -178 _c +121 -91 _l +147 -105 173 -115 199 -122 _c +225 -129 251 -133 278 -133 _c +336 -133 380 -117 410 -87 _c +439 -56 454 -10 454 52 _c +454 96 _l +435 64 411 40 382 24 _c +353 8 319 0 279 0 _c +211 0 157 25 116 76 _c +75 127 55 195 55 280 _c +55 364 75 432 116 483 _c +157 534 211 560 279 560 _c +}_e{319 560 353 552 382 536 _c +411 520 435 496 454 464 _c +454 547 _l +544 547 _l +544 68 _l +_cl}_e}_d +/i{278 0 94 0 184 760 _sc +94 547 _m +184 547 _l +184 0 _l +94 0 _l +94 547 _l +94 760 _m +184 760 _l +184 646 _l +94 646 _l +94 760 _l +_cl}_d +/l{278 0 94 0 184 760 _sc +94 760 _m +184 760 _l +184 0 _l +94 0 _l +94 760 _l +_cl}_d +/m{{974 0 91 0 889 560 _sc +520 442 _m +542 482 569 511 600 531 _c +631 550 668 560 711 560 _c +767 560 811 540 842 500 _c +873 460 889 403 889 330 _c +889 0 _l +799 0 _l +799 327 _l +799 379 789 418 771 444 _c +752 469 724 482 686 482 _c +639 482 602 466 575 435 _c +548 404 535 362 535 309 _c +535 0 _l +445 0 _l +445 327 _l +445 379 435 418 417 444 _c +398 469 369 482 331 482 _c +285 482 248 466 221 435 _c +194 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +201 495 226 520 255 536 _c +283 552 317 560 357 560 _c +397 560 430 550 458 530 _c +486 510 506 480 520 442 _c +}_e{_cl}_e}_d +/n{634 0 91 0 549 560 _sc +549 330 _m +549 0 _l +459 0 _l +459 327 _l +459 379 448 417 428 443 _c +408 469 378 482 338 482 _c +289 482 251 466 223 435 _c +195 404 181 362 181 309 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +202 494 227 519 257 535 _c +286 551 320 560 358 560 _c +420 560 468 540 500 501 _c +532 462 549 405 549 330 _c +_cl}_d +/o{612 0 55 -13 557 560 _sc +306 484 _m +258 484 220 465 192 427 _c +164 389 150 338 150 273 _c +150 207 163 156 191 118 _c +219 80 257 62 306 62 _c +354 62 392 80 420 118 _c +448 156 462 207 462 273 _c +462 337 448 389 420 427 _c +392 465 354 484 306 484 _c +306 560 _m +384 560 445 534 490 484 _c +534 433 557 363 557 273 _c +557 183 534 113 490 63 _c +445 12 384 -13 306 -13 _c +227 -13 165 12 121 63 _c +77 113 55 183 55 273 _c +55 363 77 433 121 484 _c +165 534 227 560 306 560 _c +_cl}_d +/p{{635 0 91 -207 580 560 _sc +181 82 _m +181 -207 _l +91 -207 _l +91 547 _l +181 547 _l +181 464 _l +199 496 223 520 252 536 _c +281 552 316 560 356 560 _c +422 560 476 533 518 481 _c +559 428 580 359 580 273 _c +580 187 559 117 518 65 _c +476 13 422 -13 356 -13 _c +316 -13 281 -5 252 10 _c +223 25 199 49 181 82 _c +487 273 _m +487 339 473 390 446 428 _c +418 466 381 485 334 485 _c +286 485 249 466 222 428 _c +194 390 181 339 181 273 _c +181 207 194 155 222 117 _c +249 79 286 61 334 61 _c +381 61 418 79 446 117 _c +473 155 487 207 487 273 _c +_cl}_e}_d +/r{411 0 91 0 411 560 _sc +411 463 _m +401 469 390 473 378 476 _c +366 478 353 480 339 480 _c +288 480 249 463 222 430 _c +194 397 181 350 181 288 _c +181 0 _l +91 0 _l +91 547 _l +181 547 _l +181 462 _l +199 495 224 520 254 536 _c +284 552 321 560 365 560 _c +371 560 378 559 386 559 _c +393 558 401 557 411 555 _c +411 463 _l +_cl}_d +/s{{521 0 54 -13 472 560 _sc +443 531 _m +443 446 _l +417 458 391 468 364 475 _c +336 481 308 485 279 485 _c +234 485 200 478 178 464 _c +156 450 145 430 145 403 _c +145 382 153 366 169 354 _c +185 342 217 330 265 320 _c +296 313 _l +360 299 405 279 432 255 _c +458 230 472 195 472 151 _c +472 100 452 60 412 31 _c +372 1 316 -13 246 -13 _c +216 -13 186 -10 154 -5 _c +122 0 89 8 54 20 _c +54 113 _l +87 95 120 82 152 74 _c +184 65 216 61 248 61 _c +290 61 323 68 346 82 _c +368 96 380 117 380 144 _c +380 168 371 187 355 200 _c +339 213 303 226 247 238 _c +216 245 _l +160 257 119 275 95 299 _c +70 323 58 356 58 399 _c +58 450 76 490 112 518 _c +148 546 200 560 268 560 _c +}_e{301 560 332 557 362 552 _c +391 547 418 540 443 531 _c +_cl}_e}_d +/t{392 0 27 0 368 702 _sc +183 702 _m +183 547 _l +368 547 _l +368 477 _l +183 477 _l +183 180 _l +183 135 189 106 201 94 _c +213 81 238 75 276 75 _c +368 75 _l +368 0 _l +276 0 _l +206 0 158 13 132 39 _c +106 65 93 112 93 180 _c +93 477 _l +27 477 _l +27 547 _l +93 547 _l +93 702 _l +183 702 _l +_cl}_d +/u{634 0 85 -13 543 547 _sc +85 216 _m +85 547 _l +175 547 _l +175 219 _l +175 167 185 129 205 103 _c +225 77 255 64 296 64 _c +344 64 383 79 411 110 _c +439 141 453 183 453 237 _c +453 547 _l +543 547 _l +543 0 _l +453 0 _l +453 84 _l +431 50 405 26 377 10 _c +348 -5 315 -13 277 -13 _c +214 -13 166 6 134 45 _c +101 83 85 140 85 216 _c +_cl}_d +/v{592 0 30 0 562 547 _sc +30 547 _m +125 547 _l +296 88 _l +467 547 _l +562 547 _l +357 0 _l +235 0 _l +30 547 _l +_cl}_d +end readonly def + +/BuildGlyph + {exch begin + CharStrings exch + 2 copy known not{pop /.notdef}if + true 3 1 roll get exec + end}_d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +}_d + +FontName currentdict end definefont pop +%%EOF +end +%%EndProlog +mpldict begin +18 180 translate +576 432 0 0 clipbox +1.000 setgray +1.000 setlinewidth +0 setlinejoin +2 setlinecap +[] 0 setdash +0 0 m +0 432 l +576 432 l +576 0 l +closepath +gsave +fill +grestore +stroke +0.000 setgray +57.6 43.214 m +57.6 388.786 l +518.4 388.786 l +518.4 43.214 l +closepath +gsave +0.000 1.000 1.000 setrgbcolor +fill +grestore +stroke +1.000 0.498 0.314 setrgbcolor +0.000 setlinewidth +gsave +460.8 345.6 57.6 43.21 clipbox +371.865 388.786 m +371.763 388.613 l +372.168 388.022 l +371.562 387.849 l +371.541 388.16 l +370.667 388.402 l +370.681 388.786 l +371.865 388.786 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +375.155 388.786 m +374.98 387.867 l +374.707 387.23 l +373.564 386.427 l +372.465 387.347 l +373.15 388.666 l +373.071 388.786 l +375.155 388.786 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +385.585 388.786 m +385.65 388.739 l +385.651 387.917 l +386.099 387.45 l +385.801 387.085 l +384.739 386.985 l +383.481 386.023 l +382.548 386.077 l +381.872 385.758 l +379.632 386.026 l +377.372 384.204 l +376.834 383.215 l +375.631 383.549 l +374.931 383.378 l +373.51 384.544 l +372.715 384.793 l +370.129 383.681 l +369.853 383.86 l +370.188 384.592 l +370.482 384.495 l +371.012 385.148 l +371.213 384.976 l +372.132 385.579 l +374.017 385.57 l +375.254 386.391 l +375.816 386.153 l +376.197 386.539 l +376.469 387.679 l +376.314 387.54 l +376.014 388.786 l +385.585 388.786 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +387.853 388.786 m +387.417 388.721 l +387.279 388.786 l +387.853 388.786 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +518.4 277.926 m +516.183 275.642 l +515.493 273.818 l +517.149 272.603 l +517.624 272.614 l +518.014 271.98 l +517.728 272.086 l +517.271 271.397 l +517.367 269.378 l +515.496 267.798 l +514.86 268.132 l +514.703 267.744 l +514.236 268.248 l +513.698 267.828 l +514.288 267.262 l +513.795 267.218 l +513.487 266.679 l +513.054 266.914 l +512.817 266.337 l +512.535 266.451 l +512.844 266.079 l +512.397 265.709 l +512.949 265.656 l +513.278 264.427 l +513.009 264.259 l +513.009 264.807 l +512.671 264.428 l +512.724 265.061 l +512.377 265.158 l +512.014 263.775 l +512.38 263.417 l +511.97 262.503 l +511.709 262.444 l +511.68 263.558 l +512.186 264.81 l +511.731 265.046 l +512.008 265.51 l +511.625 266.324 l +510.891 263.603 l +510.425 263.233 l +510.505 262.566 l +509.789 262.832 l +509.836 263.253 l +510.299 263.471 l +509.87 264.345 l +509.566 263.725 l +508.823 263.886 l +509.012 263.468 l +508.771 263.027 l +507.832 263.535 l +507.233 262.947 l +507.24 263.885 l +506.261 264.345 l +505.459 263.619 l +505.479 263.17 l +504.541 263.162 l +504.43 262.729 l +504.785 262.392 l +503.788 262.008 l +503.6 261.521 l +503.227 261.888 l +503.63 262.042 l +503.332 262.737 l +503.088 262.371 l +502.222 262.609 l +502.156 262.884 l +503.069 263.281 l +503.45 262.959 l +504.048 263.051 l +503.586 263.369 l +504.048 263.551 l +504.189 264.91 l +503.916 264.166 l +502.709 263.811 l +502.361 264.035 l +502.607 264.516 l +502.225 264.675 l +502.244 265.332 l +501.961 265.373 l +501.574 264.61 l +501.104 265.118 l +499.973 264.57 l +499.241 266.177 l +498.408 263.226 l +496.692 264.282 l +496.383 264.551 l +496.471 265.044 l +495.881 265.56 l +495.512 267.043 l +495.918 267.734 l +495.951 268.844 l +496.804 269.078 l +497.267 270.035 l +497.14 270.532 l +496.482 270.096 l +496.342 270.396 l +496.904 271.204 l +497.122 270.605 l +497.343 270.733 l +497.509 271.805 l +498.64 274.005 l +498.52 274.653 l +497.701 273.617 l +497.445 274.442 l +497.68 276.3 l +497.963 276.339 l +498.299 277.604 l +497.12 275.58 l +496.944 275.761 l +495.924 275.154 l +495.264 275.979 l +496.611 278.376 l +496.626 279.428 l +497.717 280.773 l +498.187 282.23 l +497.926 283.007 l +497.481 283.125 l +496.845 286.325 l +496.563 290.274 l +498.262 294.504 l +497.876 295.636 l +498.399 296.18 l +498.34 295.892 l +498.707 295.675 l +499.759 296.023 l +500.425 296.837 l +500.285 298.217 l +500.527 298.422 l +501.589 298.415 l +502.793 299.067 l +502.448 299.885 l +502.692 300.5 l +503.638 301.06 l +503.982 301.841 l +504.712 302.462 l +504.322 303.092 l +504.49 303.428 l +505.167 303.578 l +505.881 305.11 l +505.736 307.847 l +506.024 308.228 l +505.807 308.791 l +506.424 309.203 l +507.155 311.025 l +505.98 315.488 l +504.176 317.097 l +500.067 316.723 l +499.633 315.855 l +498.745 315.694 l +498.253 315.168 l +497.469 313.485 l +496.812 313.455 l +496.15 312.532 l +491.643 309.843 l +490.662 308.215 l +488.999 307.307 l +489.317 307.025 l +488.864 306.229 l +487.529 305.923 l +486.108 304.202 l +486.022 305.474 l +485.817 304.919 l +485.483 304.905 l +485.541 305.179 l +485.327 304.951 l +485.66 304.411 l +485.217 305.062 l +485.884 306.008 l +486.292 305.676 l +486.258 306.443 l +485.889 306.014 l +486.042 307.187 l +484.9 307.735 l +484.671 308.487 l +483.623 309.144 l +483.602 309.623 l +484.048 309.485 l +482.854 310.304 l +483.285 310.123 l +484.016 311.007 l +482.259 310.025 l +481.95 309.378 l +480.56 309.078 l +481.068 309.911 l +480.82 310.861 l +481.179 310.908 l +481.365 311.643 l +480.937 311.493 l +480.98 311.131 l +480.469 311.408 l +480.502 312.562 l +480.08 313.492 l +480.307 314.019 l +479.266 314.167 l +479.029 313.305 l +479.323 313.177 l +479.438 312.026 l +479.076 311.899 l +479.476 310.554 l +479.068 310.565 l +478.79 309.144 l +479.59 308.125 l +479.178 308.024 l +479.427 307.063 l +480.175 306.312 l +479.787 306.542 l +479.434 306.056 l +479.545 305.281 l +480.263 304.285 l +479.783 304.938 l +479.4 303.895 l +479.95 302.285 l +480.955 301.126 l +481.054 300.508 l +480.189 301.912 l +480.159 301.635 l +479.332 301.625 l +479.992 301.477 l +480.562 300.101 l +480.354 299.582 l +480.909 299.362 l +481.277 298.778 l +481.399 299.099 l +481.056 299.15 l +481.332 299.354 l +481.867 298.773 l +481.649 299.703 l +482.166 298.838 l +481.902 299.484 l +482.447 299.045 l +482.345 299.773 l +482.688 299.419 l +482.5 299.72 l +482.941 300.074 l +483.633 300.129 l +484.042 299.573 l +484.928 300.749 l +484.795 300.927 l +481.9 299.963 l +482.016 299.695 l +481.103 299.937 l +480.686 299.605 l +480.899 299.943 l +480.614 300.084 l +482.835 300.319 l +484.717 300.953 l +484.793 301.743 l +484.319 302.281 l +484.871 302.562 l +484.687 303.779 l +485.379 304.543 l +485.575 303.781 l +486.41 303.664 l +486.511 303.376 l +486.318 301.688 l +485.727 301.383 l +485.528 300.788 l +486.151 300.284 l +485.973 299.932 l +486.544 299.199 l +486.243 298.911 l +486.209 297.746 l +486.914 296.693 l +487.231 295.37 l +487.035 294.658 l +485.869 293.846 l +485.937 294.516 l +485.787 294.299 l +484.303 295.062 l +483.408 294.799 l +483.404 294.248 l +482.4 293.688 l +482.097 294.479 l +482.383 293.682 l +482.025 293.133 l +482.114 292.682 l +481.631 292.293 l +480.892 294.663 l +480.567 294.879 l +480.865 295.006 l +480.623 296.268 l +480.919 296.408 l +480.598 296.763 l +480.399 296.35 l +479.501 296.573 l +479.956 296.153 l +479.34 295.367 l +478.927 295.543 l +479.208 295.206 l +478.886 293.406 l +478.315 292.603 l +478.102 292.712 l +477.222 291.916 l +477.307 291.541 l +477.06 291.637 l +477.107 292.5 l +476.838 292.469 l +476.351 291.725 l +476.697 291.591 l +475.744 291.201 l +477.011 293.343 l +476.524 293.412 l +476.474 292.96 l +475.912 292.654 l +475.279 292.663 l +474.94 292.999 l +475.223 292.545 l +475.846 292.414 l +475.905 292.068 l +475.466 291.039 l +474.748 291.792 l +475.097 291.413 l +474.724 291.3 l +475.13 291.385 l +475.484 290.978 l +475.004 289.894 l +475.108 289.041 l +475.81 288.765 l +475.811 288.407 l +476.75 287.541 l +475.375 287.547 l +475.634 287.306 l +475.232 287.398 l +475.148 287.046 l +475.565 286.924 l +476.766 287.526 l +477.435 286.17 l +477.098 286.282 l +477.471 285.975 l +477.145 285.761 l +477.6 285.472 l +477.344 285.412 l +477.411 285.108 l +477.75 285.174 l +477.906 284.707 l +476.877 284.737 l +477.9 284.218 l +477.968 284.589 l +478.272 284.123 l +478.59 284.633 l +479.422 284.172 l +479.104 284.012 l +479.489 284.053 l +479.356 283.787 l +479.662 283.942 l +480.83 283.142 l +480.612 281.67 l +480.822 281.093 l +480.529 281.13 l +480.43 281.759 l +480.178 281.51 l +479.695 281.879 l +479.566 281.15 l +480.458 281.054 l +480.314 280.356 l +480.772 280.432 l +480.593 280.834 l +480.83 281.088 l +480.813 280.313 l +481.481 280.047 l +481.03 280.799 l +481.984 279.387 l +483.311 279.01 l +483.863 278.346 l +485.24 277.928 l +485.607 277.389 l +485.196 277.042 l +485.097 276.306 l +485.613 275.44 l +487.609 274.577 l +487.375 274.059 l +487.908 273.571 l +487.726 273.158 l +488.121 272.813 l +488.065 272.869 l +488.579 273.541 l +489.288 273.353 l +490.664 273.792 l +491.328 273.332 l +492.837 273.527 l +495.147 275.837 l +495.965 275.052 l +495.675 273.832 l +495.1 273.839 l +495.48 273.638 l +494.695 272.821 l +494.822 271.801 l +494.304 271.168 l +494.19 270.443 l +495.05 269.259 l +495.236 266.95 l +496.229 264.615 l +495.529 265.269 l +495.131 265.202 l +494.947 267.465 l +494.607 267.662 l +493.919 265.474 l +492.821 265.663 l +492.012 264.165 l +491.019 263.05 l +490.797 263.181 l +490.952 261.793 l +490.698 261.325 l +490.198 261.331 l +490.053 260.784 l +490.411 260.404 l +490.452 259.382 l +489.805 258.853 l +489.795 258.409 l +490.067 258.123 l +490.945 258.544 l +490.917 258.188 l +491.391 258.151 l +491.681 258.5 l +491.427 258.667 l +493.197 259.294 l +493.231 258.919 l +492.314 258.781 l +491.397 257.629 l +492.07 257.416 l +492.776 257.947 l +493.397 257.468 l +491.8 257.12 l +491.19 256.453 l +491.396 256.045 l +490.03 255.081 l +489.405 255.122 l +489.506 255.685 l +489.045 255.735 l +489.195 254.351 l +489.719 254.383 l +490.388 253.602 l +491.009 253.453 l +495.516 254.112 l +495.444 253.007 l +495.326 253.696 l +494.679 253.632 l +494.172 253.17 l +494.583 252.514 l +495.29 252.789 l +495.627 252.535 l +495.742 252.852 l +495.9 251.869 l +495.535 250.871 l +496.748 252.255 l +497.385 252.214 l +497.306 252.611 l +497.651 252.906 l +498.258 252.672 l +498.565 253.392 l +499.365 253.412 l +500.095 254.224 l +500.801 254.387 l +500.889 253.955 l +502.296 253.679 l +502.825 253.205 l +500.404 252.353 l +500.237 250.334 l +500.83 250.781 l +501.572 250.34 l +502.181 250.72 l +501.81 250.786 l +501.873 251.155 l +502.37 250.866 l +502.893 251.105 l +502.597 250.264 l +502.93 249.693 l +502.483 249.49 l +502.174 249.877 l +501.071 248.8 l +504.917 248.456 l +505.386 247.899 l +506.442 248.045 l +505.713 247.463 l +504.272 247.429 l +503.998 246.967 l +504.509 246.051 l +505.44 245.598 l +504.682 245.422 l +504.049 245.931 l +502.705 245.545 l +502.257 245.776 l +502.094 245.066 l +502.917 244.785 l +503.069 244.327 l +502.632 244.33 l +502.391 243.967 l +501.877 244.263 l +500.806 244.238 l +500.429 244.969 l +499.829 245.123 l +498.739 244.895 l +498.419 244.458 l +497.786 244.686 l +497.209 244.282 l +496.895 244.546 l +496.921 245.315 l +496.194 245.901 l +496.873 246.471 l +496.489 247.392 l +496.73 247.977 l +499.851 250.136 l +499.804 250.482 l +499.384 250.193 l +499.721 251.295 l +499.485 251.638 l +498.462 250.385 l +497.642 250.305 l +497.911 249.779 l +496.975 249.632 l +497.406 249.31 l +496.383 248.073 l +496.121 246.505 l +495.283 246.337 l +495.661 245.718 l +495.273 245.308 l +495.06 245.664 l +494.486 245.726 l +494.477 245.449 l +493.074 245.592 l +493.054 245.195 l +492.741 245.198 l +492.657 245.531 l +492.336 245.633 l +493.28 246.69 l +492.506 246.88 l +492.306 246.194 l +491.878 245.936 l +492.338 245.825 l +492.2 245.483 l +490.485 245.427 l +489.97 244.96 l +489.216 245.278 l +488.933 244.94 l +488.631 245.309 l +488.036 244.835 l +487.433 245.313 l +486.477 245.242 l +485.112 244.469 l +484.01 244.391 l +484.62 244.801 l +484.248 245.051 l +483.716 244.911 l +483.988 245.022 l +483.739 245.205 l +483.704 244.953 l +483.127 244.979 l +482.237 245.918 l +482.516 245.847 l +482.502 246.184 l +482.13 246.302 l +482.406 245.946 l +481.949 246.132 l +481.116 246.952 l +480.344 246.903 l +480.227 247.445 l +479.751 247.447 l +479.967 247.977 l +479.138 248.375 l +477.96 247.428 l +476.197 247.384 l +476.038 247.055 l +475.094 246.739 l +475.441 247.14 l +475.093 247.268 l +475.429 247.375 l +475.16 247.515 l +474.874 246.725 l +475.144 246.631 l +472.57 245.74 l +472.068 245.318 l +472.456 245.325 l +470.255 243.819 l +470.705 244.577 l +472.147 245.445 l +468.571 244.41 l +467.32 243.318 l +467.256 243.526 l +466.983 242.486 l +466.572 242.132 l +465.585 242.521 l +465.164 242.069 l +462.623 241.648 l +462.282 241.822 l +462.688 242.189 l +462.343 242.338 l +463.668 242.789 l +460.962 242.164 l +458.751 243.117 l +457.591 242.83 l +456.979 242.39 l +458.061 241.059 l +457.997 240.703 l +457.614 240.894 l +458.399 240.201 l +458.125 239.929 l +458.361 239.847 l +456.801 239.86 l +456.552 240.017 l +456.722 240.295 l +456.468 239.976 l +455.874 240.457 l +455.043 240.594 l +455.13 241.707 l +454.031 241.503 l +454.295 241.34 l +454.186 240.81 l +453.926 240.928 l +453.383 240.4 l +453.813 239.973 l +453.399 239.58 l +453.375 237.791 l +453.23 238.478 l +452.945 238.235 l +452.925 237.56 l +453.255 237.625 l +452.886 237.447 l +452.987 236.976 l +453.776 236.67 l +453.845 236.988 l +454.344 236.556 l +455.063 236.857 l +455.016 236.549 l +455.575 236.283 l +455.245 236.42 l +455.58 236.097 l +455.194 235.938 l +455.5 235.537 l +457.641 234.56 l +459.073 234.79 l +462.251 236.076 l +465.876 234.895 l +468.754 235.162 l +469.268 235.553 l +469.884 235.422 l +471.661 236.963 l +471.58 236.5 l +471.827 237.436 l +472.388 237.606 l +472.195 237.932 l +472.863 238.859 l +473.441 238.637 l +473.512 237.419 l +474.198 237.241 l +477.592 239.428 l +479.347 240.08 l +480.959 241.19 l +481.334 241.024 l +483.004 241.563 l +483.776 241.471 l +484.812 240.18 l +483.742 239.614 l +482.05 239.881 l +481.388 238.874 l +480.403 238.259 l +480.281 238.51 l +479.841 238.294 l +479.767 237.427 l +480.552 235.764 l +481.068 235.539 l +481.568 234.644 l +482.143 234.588 l +482.613 235.151 l +484.164 235.762 l +485.206 234.909 l +485.687 235.015 l +485.995 234.368 l +485.463 233.848 l +485.383 232.706 l +485.649 232.25 l +486.795 231.667 l +487.123 229.757 l +487.743 228.927 l +487.176 227.995 l +486.549 227.868 l +485.739 228.401 l +485.845 229.079 l +485.34 229.835 l +484.548 230.032 l +484.844 231.133 l +484.505 231.666 l +479.032 232.952 l +478.658 232.776 l +478.697 232.121 l +478.284 231.766 l +477.491 231.76 l +476.769 231.279 l +476.388 231.911 l +475.002 232.001 l +474.457 230.444 l +474.063 231.261 l +473.354 231.002 l +473.117 230.222 l +472.479 230.506 l +470.839 230.491 l +470.7 229.968 l +469.779 229.386 l +469.587 228.575 l +468.788 228.637 l +467.976 227.989 l +466.117 227.693 l +465.301 227.926 l +464.33 227.418 l +462.948 227.585 l +462.088 227.205 l +461.575 226.437 l +461.374 227.007 l +460.714 227.043 l +459.411 226.588 l +459.078 226.981 l +458.491 226.335 l +457.458 227.293 l +456.267 227.411 l +454.292 228.314 l +453.13 227.89 l +453.31 227.678 l +451.107 227.021 l +451.237 226.843 l +449.875 226.054 l +449.733 225.162 l +450.34 222.959 l +449.216 220.18 l +449.581 219.658 l +449.228 219.228 l +449.463 218.723 l +449.191 218.369 l +449.321 217.519 l +449.592 217.79 l +449.813 217.373 l +449.361 216.73 l +449.484 216.451 l +449.041 216.142 l +449.248 215.781 l +448.425 215.488 l +448.669 215.376 l +448.471 215.041 l +447.749 215.09 l +446.87 214.347 l +446.339 214.725 l +445.885 213.995 l +445.525 214.051 l +445.622 214.242 l +445.051 213.928 l +445.444 213.572 l +445.052 213.586 l +445.431 213.515 l +444.975 213.138 l +444.511 213.351 l +444.851 213.074 l +444.456 213.199 l +443.52 212.371 l +443.029 212.428 l +442.688 210.21 l +442.251 209.849 l +442.431 208.561 l +442.18 208.6 l +442.936 207.913 l +442.659 207.98 l +442.836 207.566 l +443.103 207.644 l +442.943 207.899 l +443.726 207.069 l +444.822 206.609 l +445.308 206.853 l +445.162 206.003 l +445.867 205.823 l +446.413 205.256 l +446.361 204.073 l +445.62 201.712 l +445.79 200.777 l +443.88 197.308 l +443.913 195.925 l +444.67 195.976 l +444.594 195.048 l +444.367 194.936 l +444.537 195.479 l +444.235 195.075 l +445.016 190.385 l +445.566 188.982 l +446.733 188.238 l +448.153 187.965 l +449.166 188.099 l +448.509 184.976 l +448.901 184.527 l +448.711 184.187 l +449.538 182.58 l +449.46 182.082 l +450.189 182.04 l +449.372 180.839 l +448.884 180.661 l +448.586 179.871 l +448.457 178.149 l +449.044 176.958 l +449.07 175.652 l +448.066 175.437 l +447.611 174.888 l +447.634 174.101 l +446.802 173.799 l +445.603 172.422 l +444.268 171.654 l +442.731 170.174 l +442.712 168.907 l +441.443 167.338 l +441.83 165.848 l +441.405 165.91 l +441.691 165.512 l +441.378 164.853 l +440.001 164.835 l +439.608 164.524 l +437.834 165.167 l +438.334 165.308 l +438.056 165.234 l +437.907 165.576 l +437.335 165.337 l +436.929 165.555 l +436.937 165.986 l +435.971 166.301 l +434.272 166.142 l +434.113 166.679 l +434.125 166.23 l +433.848 166.332 l +434.203 166.052 l +433.72 165.906 l +432.964 165.114 l +432.67 165.264 l +432.938 165.067 l +432.239 163.862 l +431.442 163.202 l +431.823 163.181 l +429.688 162.589 l +428.627 161.1 l +427.458 164.216 l +426.469 164.781 l +425.822 166.315 l +424.982 166.7 l +425.619 166.538 l +425.357 166.716 l +426.024 166.976 l +425.655 166.896 l +425.317 167.378 l +425.419 166.872 l +424.96 166.835 l +424.3 165.761 l +424.084 166.305 l +423.452 166.601 l +423.8 166.942 l +424.298 166.815 l +424.02 166.951 l +424.334 167.331 l +424.061 167.139 l +424.244 167.677 l +423.702 167.997 l +423.57 168.486 l +423.815 167.073 l +422.984 166.361 l +422.538 166.574 l +421.838 168.548 l +421.289 168.909 l +421.826 169.509 l +420.798 172.843 l +421.065 172.892 l +420.558 172.919 l +419.92 175.096 l +419.8 174.9 l +418.846 176.946 l +418.514 176.89 l +417.692 177.603 l +415.586 179.909 l +415.789 181.325 l +415.298 180.467 l +415.44 181.57 l +415.047 181.007 l +414.561 181.093 l +414.919 181.288 l +414.597 182.203 l +414.261 182.093 l +414.162 181.106 l +413.73 181.761 l +413.83 182.553 l +413.48 181.812 l +412.941 182.369 l +412.643 182.397 l +412.579 181.994 l +412.103 182.551 l +412.318 182.992 l +412.077 183.288 l +412.647 183.843 l +412.344 183.928 l +412.563 184.453 l +413.076 184.491 l +413.488 185.342 l +413.819 185.274 l +413.799 185.682 l +414.277 185.576 l +414.103 185.975 l +413.667 185.802 l +413.928 186.29 l +413.574 185.796 l +413.338 186.206 l +413.885 187.738 l +414.217 187.49 l +414.38 188.224 l +414.963 187.921 l +415.112 188.408 l +416.114 188.306 l +416.653 188.636 l +416.834 188.353 l +416.85 188.883 l +418.568 190.317 l +419.142 190.443 l +419.38 191.316 l +420.091 191.232 l +420.766 191.83 l +420.877 191.631 l +421.098 191.991 l +423.583 193.114 l +424.887 194.866 l +425.185 194.54 l +425.38 195.387 l +425.918 195.546 l +425.799 195.233 l +426.066 195.187 l +425.95 195.411 l +426.309 195.62 l +427.371 195.929 l +427.171 196.461 l +427.581 196.946 l +428.004 196.773 l +427.96 197.027 l +429.614 197.649 l +430.419 199.283 l +430.156 200.334 l +427.951 203.656 l +427.753 204.186 l +428.184 204.526 l +427.486 204.591 l +427.692 203.93 l +425.326 207.292 l +426.623 207.205 l +427.846 206.567 l +428.297 206.743 l +427.766 206.689 l +426.264 207.631 l +424.614 207.429 l +424.324 207.737 l +424.602 207.963 l +424.266 208.069 l +424.326 208.823 l +424.188 208.616 l +423.443 209.106 l +423.222 208.94 l +423.086 209.725 l +422.991 209.342 l +420.982 208.864 l +419.291 209.273 l +418.949 210.318 l +418.153 210.084 l +417.943 210.679 l +417.757 210.313 l +417.053 210.023 l +417.199 210.183 l +416.776 210.279 l +416.947 210.646 l +416.566 210.784 l +416.776 211.033 l +416.244 210.553 l +416.233 210.818 l +415.886 210.147 l +415.466 210.183 l +415.912 210.491 l +415.719 210.853 l +415.385 210.26 l +415.034 210.416 l +415.44 210.157 l +414.972 210.224 l +415.223 209.5 l +414.579 209.9 l +414.44 210.402 l +414.559 209.899 l +414.099 209.776 l +414.289 209.916 l +414.046 209.831 l +414.021 210.23 l +413.882 209.623 l +413.436 209.818 l +413.152 209.465 l +412.816 209.551 l +412.719 209.172 l +412.198 209.382 l +412.145 209.007 l +411.723 209.043 l +411.956 208.606 l +411.532 208.227 l +410.915 208.698 l +410.042 208.378 l +410.878 209.353 l +410.752 209.616 l +410.187 209.607 l +410.098 209.146 l +409.615 209.388 l +409.663 209.77 l +409.815 209.567 l +410.767 210.15 l +410.175 210.039 l +410.219 210.304 l +409.883 209.864 l +409.956 210.479 l +409.168 209.291 l +408.676 209.871 l +408.978 210.418 l +408.836 210.745 l +409.766 212.02 l +410.401 211.938 l +410.211 212.325 l +410.832 212.574 l +410.547 213.278 l +410.906 213.384 l +411.075 213.922 l +411.286 213.737 l +411.364 214.245 l +411.613 213.698 l +411.671 214.156 l +413.304 213.703 l +413.543 215.029 l +413.706 214.768 l +413.827 215.019 l +414.104 214.849 l +414.268 215.374 l +414.724 215.18 l +414.27 215.441 l +414.33 215.796 l +414.499 216 l +414.965 215.786 l +415.759 216.675 l +414.987 216.623 l +413.659 218.196 l +412.662 218.197 l +411.377 219.098 l +412.278 219.421 l +412.861 220.262 l +413.2 219.702 l +414.254 219.354 l +414.3 219.815 l +416.226 220.826 l +416.554 221.495 l +417.091 222.915 l +416.47 222.295 l +416.128 222.215 l +415.826 223.105 l +416.171 224.254 l +416.998 225.448 l +416.963 227.175 l +417.329 227.377 l +416.795 227.42 l +415.079 229.329 l +416.213 231.705 l +417.072 234.645 l +417.866 235.018 l +417.938 235.553 l +418.618 235.929 l +417.776 235.706 l +417.711 235.172 l +416.544 234.868 l +417.058 235.868 l +418.324 236.123 l +418.001 236.445 l +417.385 236.107 l +417.829 236.511 l +417.424 236.51 l +418.199 237.759 l +416.746 236.972 l +416.26 237.251 l +416.491 237.495 l +415.737 239.905 l +414.399 241.57 l +414.883 241.622 l +415.012 242.07 l +415.747 241.719 l +416.084 241.985 l +416.264 241.515 l +415.967 241.143 l +416.519 240.705 l +416.711 240.889 l +416.587 240.26 l +417.39 240.672 l +416.927 240.617 l +416.974 241.774 l +417.547 242.605 l +416.854 242.328 l +416.496 243.084 l +415.757 242.512 l +415.097 243.027 l +414.83 243.637 l +415.005 244.981 l +415.705 245.388 l +415.905 245.612 l +415.497 245.582 l +416.356 246.967 l +417.498 246.935 l +417.693 247.575 l +418.164 247.489 l +417.691 247.588 l +417.061 247.021 l +416.426 247.845 l +416.433 248.486 l +417.406 249.883 l +418.339 249.825 l +418.411 249.419 l +418.847 249.507 l +418.838 249.869 l +418.268 250.211 l +418.953 250.565 l +419.446 250.007 l +418.988 250.608 l +418.323 250.847 l +417.967 251.749 l +418.37 251.838 l +419.087 252.771 l +420.284 252.717 l +421.01 253.066 l +420.283 252.766 l +418.71 252.844 l +418.21 252.328 l +417.781 252.443 l +418.058 252.766 l +417.866 252.956 l +417.241 252.79 l +417.026 253.457 l +416.47 252.667 l +416.253 253.051 l +416.546 254.014 l +416.279 253.571 l +416.332 254.055 l +415.325 253.46 l +415.403 253.965 l +414.609 254.305 l +414.192 253.787 l +414.513 253.318 l +413.714 254.371 l +414.197 253.897 l +414.612 254.403 l +413.222 255.647 l +411.802 255.651 l +412.224 255.324 l +411.545 255.131 l +411.006 255.911 l +408.402 257.879 l +407.98 258.519 l +408.632 258.244 l +408.965 258.758 l +407.833 258.787 l +407.195 260.319 l +408.228 261.87 l +407.574 263.961 l +408.069 265.65 l +408.246 264.838 l +409.629 264.129 l +410.135 263.14 l +410 262.922 l +411.09 262.386 l +410.773 262.006 l +411.152 262.373 l +411.427 261.879 l +412.401 262.859 l +412.881 262.861 l +413.542 261.621 l +413.121 261.68 l +413.433 261.206 l +413.155 261.34 l +412.97 261.061 l +412.654 261.532 l +412.712 260.856 l +413.814 259.859 l +413.27 259.256 l +413.651 259.546 l +414.05 259.168 l +413.309 258.308 l +414.041 258.655 l +414.208 258.147 l +413.933 257.619 l +414.336 257.916 l +414.311 257.622 l +414.889 257.407 l +414.848 257.108 l +415.083 257.393 l +415.374 256.249 l +415.606 256.619 l +416.306 256.641 l +416.499 256.366 l +415.985 256.381 l +416.037 255.711 l +416.164 256.224 l +416.91 256.341 l +417.011 256.629 l +417.891 256.16 l +417.897 255.573 l +418.35 256.224 l +418.847 255.774 l +418.725 256.441 l +419.748 256.847 l +420.107 257.911 l +420.706 257.339 l +420.678 256.296 l +421.207 256.311 l +421.451 257.046 l +422.278 257.311 l +421.806 258.135 l +421.794 257.832 l +421.726 258.395 l +422.235 259.289 l +422.641 259.196 l +422.253 259.299 l +421.834 260.916 l +422.643 261.698 l +422.076 260.485 l +422.507 260.127 l +422.278 260.737 l +422.438 261.073 l +422.732 261.153 l +422.716 261.822 l +423.398 261.605 l +424.568 261.852 l +424.68 262.576 l +425.199 262.292 l +425.803 262.388 l +425.951 261.989 l +426.884 262.694 l +427.055 262.495 l +427.057 262.795 l +427.905 263.02 l +427.467 263.161 l +426.994 264.155 l +426.598 264.329 l +427.737 267.81 l +427.207 269.289 l +427.997 272.918 l +428.463 273.728 l +429.714 274.307 l +429.967 274.223 l +428.763 273.819 l +430.18 273.395 l +430.863 273.654 l +431.522 275.3 l +431.105 276.611 l +431.56 275.545 l +431.43 274.566 l +431.702 274.492 l +431.861 274.821 l +432.042 274.632 l +431.476 276.71 l +431.612 277.84 l +431.311 277.072 l +430.925 277.053 l +431.129 276.631 l +430.148 277.314 l +430.608 278.381 l +430.383 279.191 l +429.291 281.032 l +429.881 280.61 l +430.697 278.633 l +431.505 279.526 l +431.573 280.202 l +430.578 280.544 l +430.319 281.015 l +430.043 280.87 l +429.581 281.28 l +428.637 281.335 l +425.374 282.828 l +424.285 283.619 l +423.924 284.715 l +422.974 285.272 l +422.241 286.393 l +422.469 288.617 l +423.053 288.32 l +424.502 288.911 l +425.687 288.654 l +426.565 289.197 l +426.767 289.933 l +426.264 291.29 l +423.902 292.267 l +422.294 293.665 l +421.811 293.226 l +422.195 292.561 l +421.733 292.503 l +421.363 292.007 l +419.835 292.162 l +419.871 292.837 l +419.493 292.208 l +419.4 292.467 l +418.833 292.495 l +418.942 293.044 l +418.461 292.614 l +418.412 292.956 l +417.777 293.203 l +418.171 294.435 l +417.67 294.535 l +418.048 294.856 l +417.778 294.831 l +417.657 295.327 l +418.176 296.122 l +417.684 296.366 l +418.162 296.51 l +418.406 296.873 l +418.114 296.977 l +418.587 297.46 l +418.491 297.791 l +418.03 297.863 l +418.512 298.063 l +418.098 298.299 l +418.635 298.334 l +418.484 298.757 l +419.429 299.943 l +420.117 300.354 l +421.07 302.222 l +420.954 302.615 l +419.697 303.216 l +420.427 303.538 l +419.843 304.033 l +420.271 304.449 l +420.307 304.991 l +419.736 305.561 l +421.071 307.426 l +420.814 307.932 l +420.301 307.273 l +419.618 307.309 l +418.919 305.693 l +418.024 305.522 l +417.901 305.149 l +416.989 305.108 l +417.634 305.469 l +416.72 305.682 l +416.764 305.993 l +416.39 305.835 l +416.706 305.577 l +416.585 304.964 l +416.97 304.654 l +416.682 303.955 l +416.293 303.807 l +416.678 303.661 l +416.339 303.156 l +416.569 303.127 l +415.848 302.717 l +416.068 302.6 l +415.793 302.36 l +416.179 302.051 l +415.859 301.813 l +416.037 301.503 l +415.553 301.219 l +415.816 300.967 l +416.241 301.092 l +415.532 300.716 l +415.868 300.459 l +415.13 300.215 l +415.945 300.254 l +416.017 299.812 l +415.655 300.108 l +415.367 299.871 l +416.068 299.693 l +415.625 299.531 l +415.938 299.634 l +415.751 299.306 l +415.334 299.498 l +415.707 298.933 l +415.405 298.658 l +415.7 297.963 l +415.328 297.919 l +415.596 297.723 l +415.282 297.606 l +415.552 297.163 l +415.158 297.002 l +415.482 297.045 l +415.802 296.295 l +415.471 296.667 l +415.593 296.226 l +415.258 296.422 l +415.25 295.155 l +414.908 294.438 l +414.511 294.919 l +415.181 293.809 l +414.989 293.128 l +414.9 293.924 l +414.641 294.02 l +414.632 293.793 l +414.453 294.203 l +414.446 293.747 l +414.735 293.584 l +414.568 293.32 l +414.115 293.367 l +414.458 293.608 l +414.203 293.757 l +414.244 293.886 l +413.93 294.063 l +413.616 293.763 l +413.049 294.581 l +413.097 293.203 l +412.936 293.56 l +412.826 293.182 l +412.497 293.818 l +412.234 293.115 l +411.212 292.726 l +411.371 292.299 l +410.835 292.794 l +411.139 292.011 l +410.56 291.939 l +410.054 292.008 l +410.057 292.298 l +409.427 292.263 l +409.518 292.539 l +409.195 292.161 l +409.318 292.352 l +408.92 292.514 l +409.415 292.602 l +408.618 292.682 l +408.857 293.019 l +408.361 293.149 l +408.391 293.536 l +407.482 293.639 l +407.566 293.94 l +407.183 293.802 l +407.346 294.137 l +406.905 293.997 l +407.582 294.387 l +405.213 294.473 l +404.516 295.205 l +404.205 295.238 l +404.295 295.05 l +403.875 295.384 l +403.637 295.364 l +403.851 295.058 l +403.474 295.327 l +403.196 295.179 l +402.885 295.618 l +402.694 295.376 l +402.04 295.83 l +401.813 296.234 l +402.007 296.473 l +401.381 296.953 l +401.598 297.312 l +400.987 297.244 l +400.626 297.598 l +401.003 297.597 l +401.097 298.23 l +401.509 298.047 l +401.213 298.245 l +401.336 298.925 l +400.551 298.977 l +400.797 299.289 l +400.201 299.412 l +400.69 299.418 l +400.191 299.633 l +399.892 300.197 l +400.355 300.37 l +400.215 300.711 l +399.815 300.796 l +399.6 300.457 l +399.709 300.897 l +399.39 300.91 l +400.018 300.971 l +399.553 301.342 l +399.752 301.981 l +399.188 302.188 l +399.52 302.492 l +398.906 302.933 l +398.962 303.435 l +398.364 304.007 l +398.519 304.381 l +398.154 304.444 l +397.633 305.355 l +397.276 305.468 l +397.316 306.55 l +397.87 306.892 l +397.062 306.878 l +397.495 307.184 l +397.237 307.41 l +396.614 307.139 l +396.492 307.554 l +395.887 307.508 l +396.076 307.876 l +395.701 307.624 l +395.424 307.957 l +394.479 307.786 l +394.201 307.149 l +393.365 307.418 l +393.524 307.024 l +393.11 306.737 l +393.38 306.584 l +392.968 306.764 l +393.129 306.026 l +392.755 306.04 l +392.819 305.696 l +392.507 305.658 l +392.813 305.353 l +392.499 305.451 l +392.596 305.278 l +392.04 305.084 l +392.596 305.146 l +392.777 304.781 l +391.613 304.478 l +392.234 304.222 l +391.572 303.842 l +392.291 303.595 l +392.058 303.545 l +392.24 303.35 l +392.834 303.369 l +392.315 302.905 l +392.61 303.065 l +392.414 302.462 l +392.79 302.671 l +392.965 302.35 l +392.53 301.823 l +392.994 301.855 l +392.61 301.584 l +393.115 301.844 l +393.598 301.664 l +392.593 301.376 l +392.629 301.139 l +393.005 301.41 l +393.663 301.32 l +394.515 299.979 l +394.269 299.779 l +394.866 300.082 l +395.189 299.869 l +394.951 299.619 l +395.7 300.01 l +395.987 300.008 l +395.879 299.767 l +396.31 299.964 l +396.799 298.351 l +397.903 297.104 l +398.013 296.763 l +397.594 296.901 l +398.118 296.395 l +397.623 296.49 l +398.09 296.232 l +397.721 296.375 l +398.032 296.098 l +397.766 295.772 l +398.329 294.676 l +397.602 294.628 l +398.273 294.381 l +397.77 294.272 l +398.625 293.107 l +398.073 293.077 l +397.959 292.804 l +398.415 292.912 l +398.372 292.605 l +398.05 292.673 l +398.419 292.554 l +398.235 292.193 l +398.676 291.831 l +398.419 291.742 l +398.655 291.759 l +398.448 291.359 l +398.989 291.844 l +398.788 291.637 l +399.069 291.687 l +399.24 291.215 l +398.909 291.086 l +399.199 291.087 l +399.259 290.686 l +398.858 290.757 l +398.833 290.471 l +398.086 290.724 l +397.959 290.481 l +399.501 290.246 l +399.332 290.021 l +400.001 289.626 l +399.873 289.266 l +400.263 289.208 l +399.433 289.074 l +399.53 288.7 l +400.194 288.418 l +400.753 288.733 l +400.598 288.453 l +401.496 287.483 l +402.78 287.074 l +402.004 286.677 l +402.405 286.755 l +402.36 286.407 l +402.582 286.617 l +402.463 286.203 l +402.743 286.466 l +402.571 286.148 l +403.206 286.183 l +403.103 285.916 l +403.676 285.98 l +403.512 285.782 l +403.784 285.945 l +403.456 285.692 l +403.836 285.773 l +404.647 285.084 l +404.752 285.286 l +404.851 284.962 l +405.286 285.167 l +405.455 284.839 l +405.782 284.917 l +405.841 284.432 l +406.453 285.134 l +407.115 285.02 l +407.009 285.707 l +408.241 285.552 l +408.472 285.963 l +408.668 285.796 l +408.96 286.06 l +408.948 285.8 l +408.405 285.654 l +409.634 285.604 l +409.341 285.796 l +409.878 285.91 l +409.728 286.166 l +410.455 285.903 l +410.85 286.125 l +411.043 285.924 l +410.411 285.853 l +410.814 285.787 l +410.92 285.163 l +411.329 285.855 l +411.47 283.715 l +411.844 283.653 l +411.415 283.286 l +411.797 283.058 l +411.932 283.655 l +412.225 283.759 l +411.854 284.017 l +412.297 284.184 l +412.132 283.967 l +412.458 284.136 l +412.447 283.873 l +412.226 283.678 l +412.651 283.904 l +412.642 283.6 l +411.993 283.499 l +412.312 283.465 l +412.169 283.268 l +412.79 283.451 l +412.797 282.22 l +413.49 281.624 l +412.819 281.54 l +412.267 282.009 l +412.325 281.74 l +411.799 281.959 l +412.866 281.25 l +412.701 281.08 l +412.991 281.029 l +412.645 280.929 l +413.091 280.791 l +412.926 279.99 l +412.642 279.971 l +412.851 279.713 l +413.038 279.953 l +412.818 279.523 l +413.034 279.625 l +413.046 279.333 l +412.048 278.005 l +412.877 279.016 l +413.542 279.06 l +413.495 278.535 l +412.909 278.056 l +413.752 278.507 l +413.609 278.18 l +413.936 278.191 l +414.007 278.439 l +414.011 278.106 l +414.659 278.043 l +414.425 277.832 l +414.898 277.858 l +414.866 277.434 l +415.204 277.468 l +415.115 277.717 l +415.565 277.385 l +415.097 277.148 l +415.076 276.825 l +415.958 276.933 l +415.039 276.687 l +416.012 276.912 l +416.197 276.843 l +415.932 276.599 l +416.522 276.437 l +416.173 276.373 l +416.308 276.159 l +416.565 276.419 l +417.003 276.301 l +417.307 275.37 l +418.249 275.119 l +418.096 274.851 l +418.354 274.92 l +418.426 274.712 l +418.2 274.77 l +418.956 274.147 l +419.121 274.286 l +418.995 274.03 l +419.398 273.824 l +419.326 273.499 l +420.813 271.424 l +420.444 271.61 l +420.205 271.083 l +419.988 271.239 l +420.001 270.54 l +419.735 270.601 l +418.961 269.345 l +419.606 269.104 l +419.139 268.804 l +419.427 267.696 l +419.962 267.282 l +420.695 267.233 l +421.067 266.489 l +420.472 266.006 l +420.08 264.724 l +419.155 263.732 l +419.172 264.201 l +418.627 264.362 l +418.488 264.969 l +415.439 265.326 l +416.23 265.773 l +415.273 265.951 l +415.583 266.495 l +415.154 266.967 l +414.755 266.986 l +414.666 266.706 l +413.882 266.929 l +413.15 266.717 l +411.947 267.192 l +411.754 266.995 l +411.088 267.526 l +411.268 267.097 l +410.962 267.049 l +410.687 267.418 l +409.944 267.588 l +409.945 267.935 l +409.609 267.463 l +409.489 267.98 l +409.081 267.775 l +407.709 269.451 l +407.433 269.074 l +407.597 268.359 l +407.557 268.991 l +408.003 269.054 l +408.342 268.397 l +408.591 268.306 l +408.666 267.785 l +408.214 267.899 l +408.255 268.476 l +408.046 267.895 l +407.5 268.199 l +407.113 269.323 l +407.121 269.088 l +406.798 269.197 l +407.33 268.412 l +406.928 268.766 l +406.941 268.482 l +406.712 268.948 l +406.745 268.221 l +406.474 268.846 l +406.212 268.668 l +406.105 269.004 l +404.441 269.636 l +404.281 270.223 l +403.831 270.341 l +403.945 269.963 l +403.396 269.942 l +403.442 269.644 l +402.902 269.988 l +402.806 269.751 l +402.29 269.888 l +402.075 270.33 l +401.142 270.761 l +400.868 271.175 l +401.317 271.036 l +400.863 271.43 l +400.748 270.767 l +401.843 270.29 l +401.808 269.92 l +401.438 270.115 l +401.648 269.812 l +401.33 269.665 l +402.134 269.767 l +403.278 268.674 l +402.521 269.197 l +403.153 268.453 l +402.804 268.509 l +403.123 268.218 l +402.787 267.94 l +402.994 267.612 l +402.762 267.388 l +402.349 267.669 l +402.294 267.359 l +401.822 267.306 l +402.631 267.314 l +402.407 266.697 l +402.667 266.574 l +402.348 266.273 l +402.817 266.298 l +402.539 265.446 l +402.744 265.761 l +402.948 265.52 l +403.008 264.924 l +402.729 264.938 l +403.188 264.524 l +403.027 264.172 l +403.343 262.843 l +403.132 262.651 l +403.398 262.319 l +403.078 262.075 l +402.72 262.34 l +403.127 261.759 l +402.857 260.957 l +402.064 260.389 l +402.121 259.954 l +401.93 260.372 l +401.888 259.96 l +401.681 260.356 l +401.773 259.99 l +401.575 260.14 l +401.438 259.925 l +401.61 260.39 l +401.423 260.132 l +401.17 260.262 l +401.512 259.73 l +400.957 259.488 l +400.946 260.637 l +400.873 260.064 l +400.541 260.169 l +400.72 259.974 l +400.267 259.676 l +398.252 259.219 l +397.363 259.501 l +396.818 260.236 l +397.087 260.324 l +396.596 260.44 l +396.997 260.654 l +397.413 260.208 l +397.229 260.748 l +398.247 261.063 l +397.692 261.059 l +398.085 262.257 l +397.68 261.51 l +397.672 260.931 l +397.403 260.958 l +397.491 261.148 l +396.89 261.1 l +397.129 261.778 l +396.9 261.496 l +396.786 262.092 l +397.108 262.862 l +396.722 262.037 l +396.529 262.101 l +396.73 262.413 l +396.388 262.502 l +396.631 262.335 l +396.26 262.046 l +396.1 262.901 l +396.387 263.588 l +396.067 262.939 l +395.737 263.358 l +396.164 261.999 l +395.768 262.164 l +395.946 262.547 l +395.677 262.224 l +395.383 262.325 l +395.596 261.608 l +395.705 262.015 l +396.045 261.851 l +395.987 261.202 l +395.192 261.858 l +395.099 261.467 l +395.345 261.673 l +395.812 261.094 l +395.308 261.306 l +395.497 260.914 l +395.089 261.231 l +395.532 260.749 l +394.528 261.28 l +394.374 261.9 l +394.66 261.79 l +394.305 262.347 l +395.007 261.533 l +394.561 262.319 l +395.122 262.442 l +394.768 263.101 l +395.109 263.272 l +395.108 264.02 l +394.964 263.209 l +394.575 263.439 l +394.71 263.019 l +394.163 262.903 l +394.27 263.717 l +393.966 264.12 l +394.165 264.728 l +393.984 264.386 l +393.634 264.538 l +393.439 265.474 l +393.756 266.078 l +394.667 264.935 l +393.85 266.034 l +393.769 266.512 l +394.117 267.068 l +393.811 266.7 l +393.67 267.131 l +393.73 266.186 l +393.459 266.462 l +393.152 265.152 l +393.515 264.966 l +393.301 264.649 l +393.947 263.737 l +393.88 263.424 l +393.558 263.536 l +393.971 263.065 l +393.853 262.82 l +393.282 262.844 l +393.255 263.385 l +393.599 263.644 l +393.208 264.021 l +393.033 263.628 l +393.016 264.14 l +392.775 263.987 l +392.563 264.596 l +392.926 263.353 l +392.1 263.413 l +392.107 263.785 l +391.777 263.616 l +392.012 263.913 l +391.475 264.246 l +392.035 264.206 l +392.309 264.738 l +391.519 265.619 l +391.456 265.334 l +391.294 265.562 l +391.404 264.258 l +390.802 264.341 l +391.143 264.468 l +390.691 264.63 l +390.1 264.517 l +391.358 264.81 l +390.67 264.897 l +390.611 265.299 l +390.792 265.684 l +390.565 265.704 l +390.59 264.948 l +390.22 264.798 l +389.692 265.053 l +390.132 264.976 l +389.94 265.353 l +389.495 265.279 l +389.517 265.627 l +390.281 265.844 l +390.082 266.11 l +390.523 267.021 l +391.026 267.409 l +391.208 267.203 l +391.291 267.518 l +391.487 267.333 l +391.264 268.173 l +392.098 268.441 l +392.385 267.813 l +392.42 268.281 l +392.915 268.047 l +392.766 268.367 l +392.022 268.592 l +392.176 269.016 l +392.618 269.257 l +392.323 269.23 l +392.492 269.996 l +392.213 269.448 l +391.753 269.545 l +391.482 270.51 l +391.395 269.786 l +392.234 269.183 l +391.865 268.465 l +391.66 269.236 l +391.79 268.667 l +391.102 268.186 l +390.929 268.493 l +390.75 268.233 l +391.233 267.742 l +390.658 267.554 l +390.556 267.175 l +390.347 267.4 l +389.937 265.997 l +389.563 265.799 l +389.066 265.855 l +389.415 266.156 l +388.897 265.799 l +388.651 265.932 l +389.334 267.223 l +388.674 266.191 l +388.382 266.326 l +388.442 266.629 l +388.217 266.324 l +388.378 266.894 l +389.303 267.746 l +388.2 266.887 l +388.386 267.328 l +388.031 267.173 l +388.396 267.47 l +388.191 267.469 l +387.745 266.806 l +388.111 267.606 l +387.586 266.937 l +387.235 267.25 l +387.59 267.413 l +387.546 267.805 l +387.252 267.55 l +387.428 268.15 l +387.057 267.96 l +387.742 268.742 l +387.887 268.442 l +388.217 269.053 l +388.496 268.645 l +388.287 269.099 l +388.759 269.125 l +388.358 269.196 l +389.044 269.704 l +389.291 270.414 l +387.963 268.809 l +387.744 268.808 l +388.028 269.227 l +387.227 268.513 l +386.997 267.978 l +386.699 268.201 l +386.936 268.159 l +386.934 268.699 l +386.274 268.471 l +385.952 268.714 l +386.348 268.976 l +387.028 268.705 l +387.05 269.126 l +386.564 268.977 l +386.445 269.309 l +387.118 269.343 l +386.773 269.507 l +387.046 269.911 l +387.542 269.291 l +387.276 269.873 l +387.666 269.688 l +387.986 270.137 l +386.963 270.024 l +387.314 270.211 l +386.879 270.235 l +387.023 271.072 l +388.154 270.62 l +388 271.024 l +387.066 271.199 l +387.472 271.323 l +387.163 271.472 l +387.266 271.854 l +388.174 271.808 l +388.626 271.049 l +389.013 271.58 l +388.653 271.27 l +388.232 271.832 l +388.812 272.353 l +388.055 271.856 l +387.275 272.059 l +386.641 271.158 l +387.129 271.958 l +386.406 271.369 l +386.234 271.531 l +386.51 272.103 l +386.777 271.983 l +386.68 272.499 l +387.114 272.47 l +386.87 272.671 l +387.063 272.939 l +387.567 272.667 l +387.253 273.009 l +388.181 273.22 l +388.207 273.777 l +387.99 273.368 l +387.542 273.354 l +387.864 273.449 l +387.572 273.597 l +387.873 274.487 l +388.275 274.646 l +387.909 274.741 l +387.269 273.446 l +387.356 274.2 l +386.714 272.985 l +386.443 273.257 l +386.766 273.61 l +386.375 273.317 l +385.965 273.632 l +386.157 274.249 l +386.757 274.201 l +386.918 274.843 l +387.044 274.513 l +387.246 275.22 l +387.86 274.973 l +388.839 275.154 l +386.944 275.333 l +386.98 275.053 l +386.877 275.714 l +387.62 275.658 l +387.922 275.323 l +388.264 275.578 l +387.933 275.616 l +388.557 275.805 l +387.786 275.742 l +387.938 276.202 l +387.652 275.721 l +387.631 276.045 l +387.367 275.693 l +386.917 275.792 l +387.535 276.446 l +387.225 276.39 l +387.618 277.273 l +387.189 276.662 l +386.468 277.054 l +386.769 277.262 l +386.808 277.027 l +386.975 277.429 l +386.548 277.323 l +386.987 277.833 l +386.805 278.021 l +387.29 278.02 l +387.484 277.67 l +387.602 278.553 l +387.384 278.094 l +387.121 278.186 l +387.315 278.797 l +386.876 278.275 l +386.925 278.822 l +387.156 278.714 l +386.992 278.998 l +387.261 279.023 l +386.979 279.031 l +387.034 279.566 l +388.012 279.394 l +388.267 278.824 l +388.738 279.508 l +388.311 279.35 l +388.228 279.731 l +389.137 280.888 l +388.704 280.724 l +388.513 281.237 l +388.413 280.647 l +388.265 281.528 l +388.605 282.549 l +388.093 282.462 l +387.862 282.115 l +387.831 283.127 l +387.464 282.803 l +387.354 283.234 l +387.498 281.258 l +387.768 282.131 l +388.125 281.631 l +388.101 280.39 l +387.764 279.48 l +387.522 279.839 l +387.378 279.584 l +387.009 279.784 l +387.028 280.49 l +386.772 279.22 l +386.734 279.98 l +386.426 279.635 l +386.308 280.039 l +386.765 281.018 l +386.523 281.085 l +386.418 280.567 l +386.413 281.109 l +386.284 280.66 l +385.878 281.14 l +386.108 281.532 l +385.876 281.39 l +385.706 281.736 l +385.987 281.916 l +385.685 281.915 l +385.737 282.401 l +385.467 282.467 l +385.723 282.831 l +385.271 282.8 l +385.863 283.094 l +385.37 283.032 l +385.585 283.642 l +385.19 283.871 l +385.978 283.746 l +386.195 283.996 l +386.489 283.496 l +386.227 284.119 l +386.73 284.793 l +386.245 284.19 l +385.97 284.583 l +386.167 285.059 l +385.938 284.588 l +385.393 284.704 l +385.535 285.686 l +385.207 285.386 l +385.317 285.687 l +385.306 286.54 l +385.082 284.571 l +385.028 285.107 l +384.851 284.662 l +384.707 284.937 l +384.997 285.762 l +384.634 285.052 l +384.597 285.449 l +384.813 285.493 l +384.603 285.486 l +384.754 286.739 l +384.465 287.229 l +385.031 287.125 l +385.198 287.243 l +384.909 288.578 l +385.048 287.455 l +384.804 287.309 l +384.852 287.625 l +384.552 287.459 l +384.581 287.709 l +384.453 287.342 l +384.209 288.003 l +384.295 286.999 l +383.751 288.078 l +383.663 287.757 l +383.267 288.3 l +384.173 288.125 l +383.897 288.221 l +384.426 288.341 l +384.128 288.367 l +384.211 288.672 l +384.029 288.431 l +383.557 288.687 l +383.771 288.43 l +383.541 288.64 l +383.559 288.325 l +383.196 288.477 l +382.973 288.985 l +383.625 289.121 l +382.959 289.054 l +383.046 289.388 l +382.493 289.675 l +382.521 290.085 l +383.363 290.196 l +382.894 290.378 l +382.553 290.114 l +382.336 290.594 l +381.986 290.055 l +382.266 291.617 l +382.719 291.371 l +382.894 291.847 l +382.368 291.737 l +382.503 292.065 l +382.67 291.925 l +382.587 292.787 l +381.957 290.802 l +381.773 291.255 l +382.041 291.886 l +381.412 291.152 l +381.101 291.722 l +380.684 291.616 l +380.761 291.874 l +381.259 291.8 l +381.304 292.028 l +380.968 292.013 l +381.404 292.548 l +381.049 292.392 l +381.16 292.85 l +380.82 291.995 l +380.796 292.448 l +380.409 292.342 l +380.847 292.72 l +380.247 292.399 l +380.807 293.046 l +380.888 293.39 l +380.643 292.892 l +380.432 292.833 l +380.65 293.26 l +380.235 293.019 l +380.739 293.685 l +380.315 293.326 l +379.715 293.368 l +379.975 293.795 l +379.783 294.278 l +380.169 294.113 l +379.792 294.46 l +380.284 294.305 l +379.98 294.703 l +380.142 294.975 l +379.937 294.744 l +379.74 295.073 l +379.936 295.893 l +380.129 296.158 l +380.521 295.828 l +380.217 296.274 l +380.652 296.577 l +380.5 296.596 l +380.572 296.867 l +380.042 296.277 l +379.956 296.593 l +379.865 295.774 l +379.613 295.95 l +379.392 295.258 l +379.076 296.152 l +379.474 296.309 l +379.407 296.732 l +378.966 296.235 l +378.856 296.851 l +378.92 296.959 l +379.162 296.653 l +379.38 297.118 l +379.556 296.806 l +379.617 297.37 l +380.265 297.224 l +380.049 297.571 l +380.032 297.351 l +379.706 297.484 l +379.705 298.17 l +379.628 297.511 l +379.186 297.194 l +378.985 297.368 l +379.277 297.599 l +378.869 297.293 l +378.611 297.749 l +379.205 298.425 l +378.171 298.169 l +378.563 297.508 l +378.413 296.826 l +378.145 297.036 l +378.375 297.572 l +378.063 297.173 l +377.775 297.334 l +377.979 297.79 l +377.704 297.466 l +377.951 298.036 l +378.097 297.855 l +378.157 298.86 l +378.5 298.907 l +378.125 299.291 l +377.512 298.888 l +377.787 298.49 l +377.426 298.479 l +377.279 299.251 l +377.678 299.033 l +377.761 299.268 l +377.324 299.932 l +378.824 299.347 l +379.398 299.584 l +378.844 299.398 l +378.366 299.622 l +378.991 299.731 l +378.461 299.803 l +378.861 299.935 l +378.443 299.894 l +378.242 300.206 l +378.226 299.983 l +377.904 300.353 l +378.152 300.56 l +377.818 300.518 l +377.697 300.062 l +377.702 300.379 l +377.268 300.285 l +378.433 300.783 l +377.17 300.563 l +377.41 301.315 l +377.786 301.2 l +377.882 301.82 l +378.723 301.558 l +377.867 302.034 l +378.387 302.829 l +377.852 302.365 l +377.612 302.66 l +377.564 301.778 l +377.238 301.864 l +377.114 301.028 l +376.84 301.094 l +376.88 301.399 l +376.476 301.631 l +376.515 302.259 l +376.918 302.328 l +376.678 302.698 l +377.269 303.114 l +376.578 302.743 l +376.547 303.163 l +377.075 303.445 l +376.506 303.196 l +376.434 303.652 l +376.693 303.777 l +376.328 303.734 l +376.266 303.309 l +375.919 303.557 l +375.618 304.032 l +376.018 304.816 l +375.421 304.737 l +374.702 305.491 l +374.902 305.759 l +375.75 305.501 l +375.427 305.781 l +375.914 305.742 l +375.641 305.867 l +376.021 306.216 l +375.029 305.825 l +374.768 305.975 l +374.867 306.589 l +375.632 306.42 l +376.144 306.74 l +376.447 306.419 l +376.715 306.786 l +375.971 306.89 l +375.789 306.554 l +375.358 306.54 l +375.115 306.884 l +375.348 307.038 l +375.1 307.067 l +375.054 306.715 l +374.72 306.868 l +374.39 307.515 l +374.598 308.289 l +375.8 307.523 l +375.987 307.096 l +376.039 307.342 l +375.379 307.871 l +375.77 308.355 l +375.129 308.069 l +374.387 309.377 l +375.794 308.701 l +376.775 307.385 l +376.574 308.125 l +375.944 308.708 l +376.589 309.069 l +375.886 308.873 l +375.323 309.151 l +375.001 310.337 l +375.259 309.842 l +375.681 309.905 l +375.317 310.13 l +375.415 310.346 l +375.662 310.12 l +375.401 310.574 l +374.934 310.676 l +375.053 310.935 l +376.603 311.278 l +375.658 311.341 l +375.529 311.619 l +375.789 311.572 l +375.448 311.819 l +375.212 311.43 l +375.075 311.993 l +375.103 311.39 l +374.176 310.999 l +374.063 311.448 l +374.412 311.382 l +373.975 311.735 l +374.867 311.731 l +374.214 312.243 l +374.672 312.222 l +374.642 312.599 l +375.161 312.191 l +375.448 312.596 l +375.121 312.355 l +374.755 312.633 l +375.384 313.296 l +375.65 312.962 l +375.638 313.219 l +376.376 313.108 l +376.497 312.839 l +376.571 313.55 l +375.942 313.304 l +375.966 313.707 l +375.47 313.618 l +375.589 314.091 l +375.385 313.772 l +375.441 314.315 l +375.207 314.175 l +374.829 315.039 l +375.307 315.574 l +374.801 315.44 l +374.359 315.999 l +374.842 316.396 l +374.259 316.412 l +373.98 316.092 l +373.649 316.419 l +374.142 316.624 l +373.368 316.989 l +373.784 317.074 l +373.685 317.45 l +373.984 317.104 l +373.916 317.503 l +374.502 317.415 l +373.831 317.851 l +374.215 318.023 l +374.434 317.761 l +374.287 318.09 l +374.591 318.415 l +375.547 316.623 l +375.551 316.91 l +375.61 316.621 l +375.838 316.871 l +377.083 315.671 l +377.28 315.748 l +376.9 316.043 l +377.32 315.953 l +376.597 316.975 l +376.316 316.899 l +374.648 319.548 l +375.549 319.192 l +375.717 318.542 l +375.914 318.97 l +376.97 318.257 l +376.611 318.837 l +376.903 319.244 l +376.332 319.278 l +376.517 319.692 l +375.745 319.753 l +375.941 320.008 l +375.535 320.121 l +375.885 320.602 l +375.243 320.434 l +375.025 320.047 l +375.121 320.392 l +374.692 320.461 l +375.186 320.662 l +374.55 321.121 l +375.054 321.163 l +375.033 321.811 l +375.532 321.532 l +375.679 322.025 l +376.242 321.33 l +375.919 320.654 l +376.393 321.111 l +376.615 320.263 l +376.668 321.258 l +377.48 320.204 l +377.301 320.748 l +377.596 320.431 l +377.354 320.867 l +377.748 320.674 l +377.528 321.074 l +377.751 321.13 l +376.632 321.602 l +376.244 322.439 l +376.874 322.859 l +377.32 322.457 l +377.236 323.22 l +377.712 322.999 l +377.536 323.654 l +378.063 323.842 l +378.217 323.284 l +378.436 324.125 l +378.979 324.09 l +379.268 324.46 l +379.725 324.346 l +379.654 323.533 l +380.171 322.803 l +379.039 320.994 l +379.238 320.738 l +380.279 321.924 l +380.524 321.357 l +380.71 321.939 l +381.475 321.203 l +381.26 322.135 l +381.51 321.914 l +381.7 322.119 l +381.02 322.402 l +380.998 322.677 l +381.874 322.406 l +381.331 322.882 l +382.264 323.999 l +382.806 323.554 l +382.399 324.1 l +382.702 324.491 l +381.942 324.68 l +382.382 325.028 l +381.7 324.957 l +381.648 325.275 l +382.581 325.771 l +383.059 326.437 l +383.534 325.811 l +382.974 324.987 l +382.467 325.01 l +383.199 324.606 l +383.136 324.905 l +383.644 325.245 l +383.842 324.625 l +383.852 325.557 l +383.989 325.768 l +384.312 325.503 l +384.089 325.987 l +384.74 325.491 l +384.404 325.841 l +384.525 326.549 l +385.006 325.93 l +385.069 326.296 l +385.164 325.973 l +385.526 326.197 l +385.701 325.44 l +386.434 325.178 l +385.765 325.467 l +385.668 326.311 l +384.977 326.515 l +385.303 327.61 l +385.945 328.473 l +386.14 328.346 l +386.065 328.68 l +386.406 328.617 l +386.131 328.912 l +385.877 328.773 l +385.947 328.995 l +386.459 329.638 l +387.073 329.417 l +386.421 329.675 l +389.04 331.759 l +391.175 332.653 l +390.959 332.739 l +391.531 333.133 l +391.026 332.795 l +390.94 333.062 l +392.846 334.362 l +392.623 334.348 l +392.767 334.644 l +392.26 334.613 l +393.571 335.322 l +393.715 335.117 l +394.123 335.28 l +394.009 335.665 l +394.5 336.107 l +396.371 335.897 l +397.14 336.307 l +398.285 335.796 l +399.75 334.258 l +400.286 333.268 l +400.596 331.623 l +400.2 329.599 l +399.207 328.463 l +397.896 325.967 l +396.729 325.163 l +396.721 324.37 l +395.995 324.418 l +396.001 323.947 l +395.574 324.178 l +395.875 323.76 l +395.024 323.39 l +395.529 323.059 l +394.181 322.341 l +393.774 322.361 l +393.742 322.7 l +393.08 321.774 l +393.203 321.346 l +392.943 321.015 l +393.836 321.88 l +394.322 321.495 l +395.188 322.178 l +394.983 321.781 l +395.752 322.642 l +395.674 321.79 l +396.094 322.308 l +396.037 321.865 l +396.876 322.995 l +396.895 322.549 l +397.157 322.828 l +397.162 321.574 l +397.192 322.581 l +397.828 322.996 l +397.833 323.399 l +399.129 324.088 l +399.602 323.914 l +399.698 324.207 l +399.977 324.11 l +399.866 324.215 l +400.51 324.128 l +399.931 323.725 l +400.826 323.756 l +401.362 323.391 l +401.389 322.564 l +401.644 322.911 l +402.921 323.128 l +403.28 323.01 l +403.314 322.677 l +403.963 323.13 l +404.245 322.672 l +404.373 323.122 l +404.47 322.722 l +404.873 322.931 l +405.198 322.431 l +405.348 322.821 l +405.683 322.639 l +406.376 323.13 l +406.442 323.673 l +406.147 323.723 l +406.48 324.018 l +407.237 324.137 l +407.083 324.309 l +407.518 324.578 l +408.302 324.485 l +409.002 326.011 l +409.504 326.323 l +409.138 326.953 l +409.245 327.645 l +407.938 327.627 l +407.682 327.98 l +406.948 327.688 l +407.224 327.28 l +406.898 326.484 l +405.444 326.072 l +405.239 325.748 l +404.328 325.826 l +404.383 326.495 l +403.579 326.78 l +403.74 327.339 l +404.46 328.089 l +405.109 328.297 l +405.526 329.114 l +405.862 329.032 l +405.737 328.371 l +406.145 328.508 l +405.995 328.6 l +406.027 329.227 l +405.705 329.194 l +407.23 330.892 l +406.931 331.549 l +407.74 332.542 l +407.128 333.051 l +406.453 332.614 l +405.98 332.764 l +406.161 332.458 l +405.602 332.676 l +404.024 331.963 l +403.472 332.04 l +402.994 332.322 l +402.451 333.569 l +401.676 334.284 l +401.382 335.715 l +399.898 337.204 l +400.34 337.815 l +400.6 337.616 l +400.657 338.903 l +401.518 339.484 l +402.004 338.677 l +401.74 339.724 l +402.785 340.041 l +401.339 340.264 l +399.948 341.29 l +399.455 340.969 l +398.924 341.339 l +398.155 341.101 l +397.41 340.275 l +395.549 341.238 l +394.658 341.275 l +394.588 341.594 l +394.484 341.377 l +393.025 341.685 l +391.084 340.484 l +391.838 341.591 l +392.375 344.18 l +392.666 344.594 l +393.176 344.43 l +394.118 345.288 l +394.195 345.099 l +395.504 345.374 l +395.551 343.357 l +396.78 342.302 l +397.199 342.208 l +398.053 343.229 l +399.231 343.355 l +399.598 343.78 l +399.553 346.396 l +397.235 347.242 l +396.67 347.112 l +396.292 348.523 l +396.741 349.152 l +396.276 348.641 l +395.747 348.752 l +395.34 348.479 l +395.753 349.117 l +394.792 350.838 l +395.153 350.714 l +393.675 352.107 l +393.768 352.569 l +392.811 354.399 l +393.186 354.117 l +393.305 354.575 l +393.721 354.29 l +393.988 354.544 l +393.283 355.244 l +392.612 354.923 l +392.71 354.525 l +391.183 357.006 l +391.098 358.077 l +391.5 356.549 l +391.76 357.22 l +392.747 356.747 l +393.572 357.122 l +393.911 356.93 l +393.626 356.524 l +393.953 356.66 l +393.693 356.341 l +393.86 356.117 l +394.507 355.957 l +394.225 356.422 l +394.474 357.054 l +394.255 357.347 l +394.792 357.458 l +394.04 358.009 l +394.704 358.567 l +393.924 358.571 l +392.965 359.349 l +392.511 360.445 l +392.889 362.407 l +391.937 363.035 l +392.078 362.235 l +391.635 363.3 l +391.929 363.37 l +391.559 363.422 l +390.735 364.928 l +390.752 365.411 l +391.056 364.897 l +391.759 365.825 l +392.176 365.263 l +393.245 365.315 l +393.451 366.35 l +392.906 366.594 l +392.205 366.288 l +391.804 366.487 l +391.729 367.386 l +390.91 367.868 l +391.214 368.379 l +388.124 366.513 l +387.658 366.676 l +387.628 367.189 l +386.737 367.37 l +387.059 370.69 l +387.534 372.528 l +388.349 373.743 l +388.602 373.47 l +389.198 373.58 l +388.426 374.028 l +388.928 375.86 l +388.962 375.796 l +388.831 374.818 l +389.734 377.562 l +390.213 377.677 l +391.277 379.51 l +392.289 379.87 l +391.758 380.334 l +391.28 380.126 l +389.068 380.554 l +388.857 380.255 l +388.535 380.639 l +388.908 379.947 l +388.583 379.265 l +387.385 378.393 l +386.437 378.339 l +386.753 378.209 l +386.076 376.621 l +386.466 376.403 l +386.875 376.588 l +386.741 376.406 l +384.799 376.139 l +384.537 376.274 l +384.977 376.362 l +384.355 376.753 l +383.809 376.271 l +383.17 376.279 l +383.158 376.536 l +382.501 376.162 l +381.872 376.349 l +381.21 375.86 l +381.719 375.202 l +381.223 375.022 l +380.264 375.342 l +380.152 374.994 l +379.407 375.127 l +378.65 376.077 l +378.55 375.888 l +377.541 376.485 l +377.65 376.76 l +377.51 376.501 l +371.539 376.8 l +371.384 377.31 l +371.817 377.217 l +371.025 379.64 l +371.455 381.442 l +372.384 381.462 l +373.26 381.935 l +375.805 381.946 l +377.009 381.538 l +378.104 382.965 l +379.108 383.597 l +381.111 384.101 l +381.804 383.748 l +382.071 384.137 l +382.825 384.202 l +383.669 384.735 l +385.42 385.064 l +385.207 384.796 l +385.776 385.24 l +387.182 385.527 l +388.337 387.446 l +388.884 387.81 l +388.75 387.602 l +390.059 387.268 l +392.129 387.871 l +391.982 387.743 l +392.812 387.132 l +393.909 387.265 l +394.237 386.713 l +394.64 387.055 l +394.993 386.763 l +395.225 387.017 l +396.002 386.695 l +395.896 386.054 l +396.181 386.271 l +397.173 385.053 l +397.424 384.238 l +397.006 383.786 l +397.403 382.997 l +397.479 383.243 l +397.783 382.943 l +397.604 382.599 l +398.31 382.708 l +398.974 384.702 l +398.488 386.835 l +398.738 388.138 l +398.023 388.455 l +397.453 388.084 l +396.944 388.247 l +396.691 388.786 l +518.4 388.786 l +518.4 277.926 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +518.4 228.13 m +518.289 228.331 l +517.701 231.155 l +517.745 232.988 l +518.286 234.239 l +518.205 235.613 l +518.4 235.828 l +518.4 228.13 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +462.823 43.214 m +462.755 43.617 l +461.298 44.464 l +461.402 45.658 l +460.832 44.68 l +460.116 45.428 l +460.359 44.795 l +459.533 45.997 l +457.892 47.008 l +455.791 47.739 l +454.904 47.49 l +455.038 47.016 l +454.338 47.231 l +455.774 49.07 l +456.275 54.226 l +455.864 56.292 l +455.636 56.15 l +454.473 58.894 l +453.3 65.185 l +451.472 68.326 l +449.714 70.214 l +446.901 71.472 l +447.703 72.456 l +447.586 72.847 l +447.119 71.842 l +447.192 73.74 l +446.886 74.455 l +446.614 74.323 l +446.713 75.073 l +446.221 75.542 l +446.257 76.152 l +445.083 76.658 l +444.073 77.428 l +444.188 77.672 l +444.042 77.438 l +443.589 77.687 l +444.01 76.83 l +443.08 77.076 l +440.895 78.71 l +440.71 77.909 l +441.298 76.648 l +440.87 76.799 l +439.036 81.415 l +438.825 83.617 l +439.014 84.304 l +439.67 84.839 l +439.125 87.907 l +439.503 88.534 l +439.094 89.073 l +438.964 88.845 l +439.195 93.024 l +438.882 93.928 l +438.616 91.764 l +438.461 92.713 l +440.253 98.838 l +438.982 101.61 l +438.136 106.271 l +438.626 107.865 l +440.025 110.064 l +439.188 115.156 l +439.401 117.114 l +441.665 118.992 l +443.502 121.719 l +443.927 124.578 l +445.072 126.871 l +445.368 128.835 l +445.188 133.147 l +444.44 134.625 l +442.891 134.806 l +442.647 135.76 l +440.977 137.886 l +440.771 142.25 l +439.704 143.593 l +440.248 146.465 l +440.208 148.102 l +442.27 151.707 l +443.389 154.869 l +442.104 160.829 l +441.023 163.347 l +441.483 163.643 l +442.016 164.872 l +442.608 165.255 l +442.701 164.707 l +443.721 164.089 l +446.346 164.167 l +447.478 164.762 l +448.363 166.181 l +448.901 166.276 l +448.939 166.82 l +450.297 167.346 l +450.733 168.304 l +450.569 169.124 l +451.532 168.594 l +451.249 168.621 l +451.499 168.348 l +451.996 168.328 l +452.225 168.57 l +451.551 168.583 l +452.636 168.756 l +453.017 169.466 l +454.573 170.382 l +455.584 173.037 l +455.159 173.99 l +455.403 175.175 l +455.664 175.699 l +456.31 175.92 l +456.355 177.189 l +457.33 177.362 l +457.602 177.938 l +457.417 179.994 l +458.435 182.865 l +461.248 186.617 l +461.954 187.003 l +462.129 188.576 l +462.902 188.969 l +462.934 189.475 l +463.744 190.006 l +464.25 191.582 l +466.578 193.862 l +467.753 194.375 l +468.095 194.135 l +468.793 194.594 l +469.031 196.089 l +469.989 197.761 l +469.721 198.279 l +469.872 198.867 l +471.804 199.674 l +472.226 200.746 l +471.685 200.936 l +472.172 201.52 l +473.157 201.827 l +473.528 202.328 l +473.802 201.977 l +474.228 202.258 l +474.607 203.488 l +475.276 203.905 l +475.891 205.085 l +475.867 207.117 l +476.66 208.919 l +476.996 209.22 l +477.243 209.092 l +477.155 208.618 l +477.558 208.538 l +477.65 209.021 l +477.269 208.794 l +477.25 209.092 l +478.449 209.987 l +478.279 209.462 l +478.613 209.663 l +478.74 209.269 l +479.732 209.333 l +480.006 208.867 l +480.485 209.103 l +480.27 210.103 l +480.466 211.907 l +481.573 211.434 l +482.256 209.49 l +481.972 208.477 l +482.656 207.596 l +484.252 207.23 l +484.765 207.674 l +485.083 207.454 l +485.831 207.897 l +486.824 207.07 l +487.59 207.096 l +488.674 204.196 l +488.479 201.769 l +488.709 200.75 l +489.435 200.309 l +490.604 200.231 l +491.857 200.59 l +492.155 201.545 l +492.689 200.919 l +493.081 200.968 l +493.278 201.656 l +492.932 201.886 l +493.221 202.312 l +494.311 201.716 l +495.084 202.102 l +494.51 201.519 l +495.085 201.537 l +495.779 202.274 l +495.202 202.166 l +499.063 204.036 l +500.264 205.339 l +501.324 207.68 l +502.223 208.094 l +503.959 209.838 l +505.26 210.193 l +507.36 212.237 l +508.566 212.176 l +510.726 211.34 l +512.412 211.486 l +513.829 212.413 l +515.38 214.507 l +518.4 217.139 l +518.4 43.214 l +464.008 43.214 l +464.375 43.691 l +464.322 44.457 l +465.466 44.884 l +466.432 45.989 l +466.852 45.982 l +466.809 46.388 l +465.156 44.991 l +464.217 44.808 l +463.813 43.544 l +462.974 43.214 l +462.823 43.214 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +461.787 43.214 m +462.212 43.457 l +462.102 43.214 l +461.787 43.214 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +175.82 388.786 m +175.793 388.196 l +176.065 388.786 l +182.934 388.786 l +181.68 386.515 l +181.288 386.621 l +180.777 386.198 l +179.831 386.025 l +178.339 384.857 l +177.837 384.776 l +177.479 384.093 l +176.945 384.305 l +177.223 384.672 l +177.024 385.528 l +176.678 385.899 l +175.684 386.147 l +176.303 387.078 l +176.984 387.4 l +175.788 386.893 l +175.298 387.134 l +175.658 387.448 l +175.814 388.786 l +175.82 388.786 l +closepath +gsave +fill +grestore +newpath +grestore +gsave +460.8 345.6 57.6 43.21 clipbox +57.6 198.635 m +58.851 203.52 l +58.549 204.441 l +58.691 207.08 l +59.26 207.463 l +59.209 207.982 l +60.619 208.881 l +60.608 209.735 l +60.945 209.674 l +61.038 210.044 l +60.445 209.725 l +62.072 211.038 l +62.114 212.394 l +63.161 213.186 l +63.688 215.109 l +64.221 215.248 l +64.326 215.774 l +64.716 215.421 l +65.014 215.572 l +65.085 216.778 l +65.888 217.572 l +65.871 218.104 l +67.13 219.677 l +67.118 219.172 l +67.347 219.676 l +66.965 219.756 l +68.252 220.712 l +68.912 221.824 l +69.509 225.162 l +68.889 226.252 l +69.768 226.907 l +69.816 227.346 l +69.147 228.173 l +68.914 229.484 l +69.313 230.406 l +69.352 231.65 l +67.797 234.672 l +67.935 235.549 l +70.26 236.84 l +70.216 237.872 l +70.745 237.907 l +71.014 238.301 l +71.245 240.125 l +72.217 241.574 l +72.76 243.527 l +73.746 244.366 l +74.432 244.046 l +75.364 244.733 l +75.044 245.687 l +75.522 247.044 l +76.183 247.358 l +76.698 248.114 l +77.88 248.549 l +77.958 248.221 l +77.197 247.728 l +77.24 246.72 l +77.93 247.411 l +78.008 248.025 l +78.494 248.205 l +78.524 248.657 l +79.256 248.368 l +79.386 249.046 l +79.108 249.33 l +78.236 248.572 l +78.14 248.863 l +77.822 248.721 l +78.105 250.197 l +77.743 250.666 l +78.923 251.089 l +80.378 254.78 l +83.865 256.955 l +84.835 259.379 l +85.497 259.876 l +87.855 259.978 l +90.041 260.76 l +91.033 261.555 l +91.07 261.965 l +92.046 262.266 l +92.773 263.361 l +94.281 264.041 l +94.903 264.935 l +97.117 265.341 l +97.698 265.101 l +97.621 264.83 l +97.926 265.058 l +97.364 265.27 l +102.006 266.427 l +102.162 266.709 l +102.757 266.714 l +102.879 267.042 l +106.222 268.302 l +106.408 268.014 l +106.569 268.411 l +107.189 268.493 l +106.94 268.52 l +108.002 269.227 l +108.366 269.151 l +109.071 269.847 l +109.033 269.133 l +109.121 269.35 l +109.915 268.27 l +109.813 269.146 l +109.311 269.468 l +109.437 269.924 l +109.146 270.101 l +110.609 270.738 l +109.713 269.921 l +110.047 269.862 l +110.752 270.456 l +111.148 270.175 l +111.291 270.473 l +110.935 270.979 l +111.572 271.441 l +111.505 271.096 l +112.263 270.679 l +112.126 271.651 l +111.611 271.577 l +114.461 273.768 l +115.042 274.862 l +116.609 275.77 l +116.698 273.415 l +117.446 271.415 l +117.652 271.315 l +117.405 270.611 l +117.582 270.814 l +117.798 270.523 l +117.433 270.237 l +117.876 270.461 l +118.199 270.204 l +117.91 270.202 l +117.396 269.317 l +116.331 269.435 l +116.833 269.843 l +114.602 269.7 l +115.333 269.026 l +114.794 269.676 l +115.761 269.647 l +116.372 269.257 l +117.281 269.26 l +117.206 269.078 l +117.603 269.433 l +117.077 268.695 l +116.662 268.874 l +116.784 269.148 l +116.283 268.689 l +116.364 269.059 l +116.157 268.721 l +115.9 268.826 l +116.326 268.576 l +116.099 268.271 l +114.982 268.02 l +114.956 268.35 l +115.526 268.413 l +114.402 268.31 l +115.243 268.929 l +114.328 268.818 l +114.183 269.195 l +114.434 269.147 l +114.139 269.255 l +114.298 268.818 l +113.704 269.005 l +114.256 268.795 l +113.681 268.761 l +114.119 268.685 l +113.743 268.437 l +114.144 268.609 l +114.052 268.315 l +114.386 268.45 l +114.193 267.945 l +115.285 268.028 l +115.194 267.602 l +115.695 267.505 l +116.444 268.209 l +116.648 268.043 l +116.759 268.423 l +116.902 267.965 l +116.448 267.547 l +116.475 267.495 l +117.367 268.118 l +116.924 267.966 l +116.852 268.381 l +118.019 268.659 l +118.459 268.457 l +118.564 269.053 l +119.028 269.411 l +118.689 269.552 l +118.385 269.003 l +118.473 269.547 l +118.886 269.834 l +119.071 269.479 l +119.347 269.577 l +119.607 270.754 l +119.785 270.099 l +120.141 270.567 l +120.365 270.25 l +120.888 270.724 l +120.568 271.146 l +121.699 272.325 l +121.317 272.706 l +121.054 272.516 l +121.047 272.942 l +121.369 273.185 l +121.533 272.914 l +121.429 273.246 l +121.681 273.237 l +121.639 273.579 l +121.805 273.296 l +121.888 273.693 l +122.307 273.164 l +122.239 273.965 l +123.644 274.275 l +122.57 274.743 l +122.019 274.558 l +121.955 275.933 l +122.323 276.436 l +122.845 276.502 l +122.857 276.149 l +122.097 275.336 l +122.528 275.655 l +123.245 275.185 l +122.591 275.733 l +123.324 275.82 l +122.794 275.926 l +122.999 276.371 l +123.662 276.447 l +123.799 276.838 l +124.46 276.463 l +124.621 276.868 l +124.631 277.303 l +124.419 276.616 l +123.768 276.936 l +123.236 276.402 l +123.079 276.572 l +123.51 276.894 l +122.942 276.748 l +122.487 277.111 l +122.42 277.859 l +122.886 278.971 l +123.059 279.16 l +122.876 278.546 l +123.278 278.862 l +123.143 279.093 l +124.043 278.861 l +124.201 279.373 l +125.37 278.722 l +124.691 279.401 l +124.02 279.565 l +123.964 279.935 l +124.353 280.263 l +124.112 280.08 l +123.79 280.225 l +124.438 280.437 l +125.093 280.177 l +125.842 280.699 l +126.449 280.689 l +125.806 280.867 l +125.122 280.316 l +124.154 280.506 l +124.014 280.774 l +124.29 280.995 l +124.04 281.043 l +124.374 281.36 l +123.925 281.304 l +123.687 281.736 l +124.893 281.914 l +123.451 281.963 l +123.729 282.066 l +123.593 282.366 l +123.849 282.198 l +123.344 282.687 l +123.345 282.969 l +123.744 282.787 l +123.26 283.04 l +123.177 283.575 l +124.038 282.929 l +123.522 283.467 l +123.613 283.814 l +124.359 282.445 l +125.895 282.568 l +124.607 282.495 l +123.884 283.588 l +124.613 283.426 l +124.319 283.812 l +124.697 283.941 l +124.155 284.906 l +124.556 284.808 l +124.387 284.64 l +124.974 284.103 l +124.802 285.012 l +124.136 285.132 l +124.125 285.648 l +124.43 285.18 l +124.284 285.537 l +124.522 285.665 l +123.988 285.769 l +123.818 286.55 l +123.966 285.742 l +123.552 285.955 l +123.795 287.54 l +124.162 287.615 l +124.093 287.042 l +124.803 285.769 l +125.444 285.679 l +124.845 285.822 l +124.128 287.12 l +124.163 287.515 l +124.464 286.845 l +124.213 287.795 l +124.805 286.147 l +124.401 287.449 l +124.597 287.475 l +124.871 287.173 l +124.224 287.97 l +124.14 287.62 l +124.117 288.422 l +124.471 288.531 l +124.873 288.197 l +125.073 287.627 l +124.751 288.094 l +124.857 287.811 l +125.626 286.943 l +124.998 288.081 l +125.476 287.802 l +124.752 288.677 l +125.568 288.411 l +125.533 288.084 l +125.31 288.24 l +125.645 287.491 l +125.608 288.411 l +126.233 288.506 l +126.735 287.956 l +126.452 288.439 l +127.358 288.561 l +126.57 288.498 l +126.407 289.017 l +126.519 288.482 l +125.416 288.652 l +125.687 288.686 l +125.567 289.075 l +125.898 289.165 l +125.991 288.905 l +125.965 289.405 l +126.605 289.786 l +126.943 289.888 l +127.358 289.449 l +128.101 289.576 l +128.291 289.237 l +127.728 289.433 l +128.283 288.986 l +128.505 289.358 l +129.303 288.861 l +129.44 288.435 l +129.539 289.067 l +130.017 289.354 l +130.867 289.036 l +130.282 289.448 l +129.539 289.429 l +129.997 290.428 l +129.422 289.584 l +128.532 290.181 l +128.918 290.247 l +128.123 290.351 l +129.067 290.841 l +129.316 290.828 l +129.317 290.884 l +128.486 290.786 l +129.151 291.022 l +128.46 290.924 l +129.755 291.518 l +127.986 291.448 l +127.965 291.803 l +128.939 291.602 l +130.113 291.854 l +130.305 291.132 l +130.134 291.905 l +130.823 291.916 l +130.765 292.174 l +130.146 292.22 l +130.021 292.712 l +130.381 293.04 l +130.548 292.856 l +130.416 293.059 l +130.922 293.4 l +131.14 293.146 l +130.982 293.437 l +131.296 293.346 l +131.126 293.559 l +131.48 293.983 l +131.261 293.826 l +131.426 294.43 l +132.255 294.728 l +132.055 294.88 l +132.396 295.187 l +132.65 294.817 l +132.012 293.623 l +132.287 293.876 l +132.724 293.605 l +132.824 293.02 l +132.377 292.814 l +132.526 292.525 l +133.009 293.055 l +132.831 293.673 l +132.348 293.951 l +132.611 294.674 l +133.529 295.114 l +133.91 294.959 l +133.94 294.417 l +133.968 295.063 l +134.477 295.193 l +133.376 295.425 l +133.766 295.788 l +133.302 295.505 l +133.458 295.87 l +133.185 295.615 l +132.508 296.101 l +131.792 295.621 l +131.4 295.69 l +132.99 298.459 l +133.832 298.628 l +133.962 298.415 l +133.547 297.879 l +134.072 298.416 l +134.566 297.574 l +134.349 298.314 l +133.765 298.802 l +133.826 299.281 l +134.288 299.054 l +134.16 299.233 l +134.67 299.445 l +134.242 299.629 l +134.317 299.964 l +134.802 299.866 l +135.492 300.292 l +134.515 298.704 l +134.82 299.135 l +135.341 299.017 l +134.856 299.177 l +135.519 300.286 l +135.475 300.021 l +135.748 300.138 l +135.971 299.794 l +135.987 299.877 l +136.803 299.758 l +136.534 299.968 l +137.169 299.79 l +136.957 299.626 l +137.493 298.975 l +137.31 299.828 l +137.834 299.788 l +137.13 299.985 l +137.43 300.289 l +138.515 300.008 l +140.128 301.238 l +141.125 301.067 l +140.163 301.328 l +138.389 300.208 l +136.225 300.644 l +136.676 300.795 l +136.006 300.961 l +136.592 301.208 l +135.722 301.09 l +136.49 301.445 l +135.933 301.213 l +135.625 301.439 l +136.148 301.923 l +136.427 301.728 l +136.4 302.103 l +136.718 302.156 l +137.054 301.864 l +136.773 301.396 l +137.129 301.591 l +137.441 301.227 l +137.302 301.597 l +138.218 301.376 l +136.999 301.68 l +137.365 301.956 l +136.778 302.195 l +137.128 302.579 l +137.706 302.356 l +137.95 301.663 l +138.341 301.784 l +137.886 301.907 l +137.953 302.336 l +138.729 302.588 l +138.945 302.159 l +139.253 302.317 l +138.781 302.615 l +139.314 302.878 l +139.709 302.511 l +139.371 302.906 l +139.774 303.103 l +140.198 304 l +140.831 303.746 l +140.041 304.258 l +140.143 304.496 l +139.712 304.568 l +139.66 304.817 l +140.04 304.712 l +139.416 305.026 l +139.496 305.327 l +139.395 305.05 l +139.168 305.41 l +139.102 304.994 l +138.718 305.169 l +138.466 304.909 l +138.118 304.994 l +138.338 305.432 l +137.654 305.015 l +137.853 305.631 l +138.477 306.102 l +138.756 305.483 l +138.972 305.794 l +139.613 305.601 l +140.38 305.96 l +140.628 305.108 l +141.004 304.967 l +140.638 305.864 l +141.236 306.24 l +141.05 306.713 l +141.771 307.426 l +142.511 306.915 l +142.068 307.462 l +142.07 307.95 l +142.678 307.736 l +142.271 307.983 l +142.45 308.675 l +142.939 309.244 l +142.963 308.865 l +143.466 309.095 l +143.016 309.385 l +143.177 309.898 l +143.555 309.877 l +143.152 310.188 l +143.281 310.862 l +143.768 310.849 l +143.771 310.121 l +143.945 310.316 l +144.351 309.961 l +144.066 310.854 l +144.489 310.709 l +144.398 311.061 l +144.786 311.212 l +145.106 310.887 l +144.844 311.468 l +145.373 311.741 l +145.027 309.788 l +145.268 310.56 l +145.705 310.516 l +145.294 310.598 l +145.65 311.654 l +146.261 311.811 l +146.346 310.798 l +146.299 311.831 l +145.651 311.867 l +146.206 312.463 l +146.445 312.323 l +146.237 312.07 l +146.707 312.389 l +147.177 312.27 l +146.274 312.561 l +146.522 313.033 l +147.924 313.382 l +148.233 313.25 l +148.682 312.906 l +147.939 313.562 l +147.029 313.404 l +147.396 315 l +148.426 315.791 l +148.407 315.593 l +149.597 315.983 l +148.629 315.925 l +150.356 317.021 l +150.741 316.695 l +150.49 317.193 l +151.485 317.495 l +150.667 317.373 l +150.872 317.96 l +149.892 316.93 l +150.434 317.838 l +149.918 317.115 l +146.579 315.477 l +146.458 315.967 l +147.432 316.705 l +146.892 316.469 l +147.017 316.856 l +146.642 317.424 l +147.606 317.49 l +148.356 318.287 l +148.804 317.67 l +148.787 318.158 l +148.495 318.255 l +149.303 318.768 l +148.678 318.733 l +148.795 318.498 l +148.509 318.372 l +147.974 318.519 l +148.169 318.955 l +148.258 318.704 l +148.181 319.156 l +148.761 319.326 l +148.416 319.449 l +148.782 319.813 l +148.307 319.594 l +148.813 320.588 l +148.329 320.17 l +147.787 320.545 l +148.127 320.288 l +148.153 319.553 l +147.591 319.123 l +147.492 318.864 l +147.843 319.109 l +147.649 318.692 l +147.204 319.034 l +147.236 318.597 l +147.585 318.558 l +146.588 317.683 l +146.157 318.134 l +146.543 318.341 l +146.351 318.272 l +146.579 318.814 l +146.323 318.667 l +146.291 318.881 l +146.159 318.645 l +146.353 318.492 l +146.054 318.301 l +146.188 318.89 l +145.706 318.666 l +145.491 318.885 l +145.855 318.961 l +145.834 319.372 l +146.274 319.378 l +145.915 319.472 l +146.131 319.602 l +145.954 319.991 l +146.591 321.406 l +146.968 321.153 l +146.617 321.452 l +148.018 322.822 l +148.224 323.978 l +148.588 323.618 l +148.352 324.182 l +148.231 324.019 l +148.76 325.478 l +148.742 325.245 l +149.029 325.575 l +148.803 325.687 l +149.334 326.994 l +149.567 326.565 l +150.21 326.327 l +150.841 326.835 l +151.39 326.66 l +150.91 326.133 l +149.701 325.833 l +150.777 326.081 l +150.916 325.198 l +150.966 326.019 l +151.657 326.74 l +150.542 327.151 l +149.782 328.084 l +149.715 329.318 l +150.07 330.626 l +150.517 330.292 l +151.191 330.749 l +150.719 330.567 l +150.285 331.187 l +150.505 333.615 l +149.664 335.828 l +149.703 336.607 l +149.88 336.03 l +150.225 336.7 l +150.422 336.599 l +150.255 337.419 l +150.38 337.691 l +150.327 337.502 l +150.717 337.619 l +150.6 338.202 l +151.338 338.176 l +151.099 338.399 l +151.324 338.539 l +150.7 339.009 l +150.909 339.448 l +151.225 339.326 l +151.035 340.4 l +151.993 339.803 l +151.707 340.365 l +152.042 340.339 l +151.697 340.606 l +152.144 340.443 l +151.671 341.128 l +152.253 340.622 l +152.456 340.774 l +152.118 340.974 l +152.052 341.287 l +152.315 341.244 l +151.81 341.63 l +151.842 341.983 l +152.079 342.099 l +152.576 340.805 l +152.807 341.207 l +152.379 341.836 l +152.609 341.79 l +152.403 342.006 l +152.768 342.255 l +152.983 342.317 l +152.929 341.895 l +153.015 342.244 l +153.317 342.175 l +153.22 341.768 l +153.46 342.167 l +153.651 341.301 l +153.819 341.496 l +153.781 342.084 l +152.808 342.748 l +153.336 342.769 l +152.771 343.152 l +153.108 343.322 l +152.473 343.569 l +153.082 343.696 l +152.59 343.922 l +153.645 343.964 l +152.775 344.258 l +152.336 344.005 l +152.7 344.312 l +152.223 344.296 l +152.182 344.565 l +152.604 345 l +154.123 344.423 l +152.889 345.029 l +153.409 345.233 l +153.047 345.76 l +152.838 345.623 l +153.165 345.251 l +152.155 345.449 l +152.182 345.683 l +152.017 345.511 l +151.87 346.282 l +151.95 345.737 l +151.308 346.17 l +151.742 345.848 l +151.848 345.544 l +151.199 345.634 l +151.864 345.266 l +151.204 345.13 l +150.842 345.395 l +151.105 345.571 l +150.888 345.718 l +150.445 345.256 l +151.172 344.906 l +150.791 344.614 l +150.564 344.882 l +150.531 344.538 l +150.348 345.015 l +150.044 344.993 l +150.151 345.195 l +149.649 345.283 l +149.777 345.433 l +149.342 345.512 l +149.722 345.095 l +149.245 345.019 l +149.553 344.771 l +149.107 345.056 l +149.379 345.304 l +148.368 345.391 l +148.699 345.675 l +148.191 345.822 l +148.458 346.135 l +148.192 346.26 l +148.282 346.82 l +148.882 346.707 l +147.877 347.203 l +148.945 347.565 l +148.357 347.441 l +147.662 347.857 l +147.158 347.657 l +148.188 348.147 l +147.627 348.163 l +147.73 348.428 l +146.838 348.098 l +147.504 348.768 l +146.895 348.536 l +146.694 348.728 l +147.031 348.958 l +146.546 348.819 l +146.005 349.388 l +147.171 349.161 l +145.972 349.685 l +146.563 349.848 l +146.322 350.058 l +145.839 349.897 l +145.302 350.636 l +144.822 350.633 l +145.359 350.798 l +145.119 350.938 l +145.276 351.44 l +144.864 350.971 l +145.138 351.618 l +144.908 351.964 l +144.803 351.739 l +144.591 352.33 l +144.877 352.26 l +144.992 352.866 l +145.446 352.754 l +145.31 352.407 l +145.725 352.686 l +145.859 352.374 l +145.598 352.236 l +145.931 352.301 l +146.009 352.003 l +145.703 351.391 l +146.222 351.759 l +146.361 351.206 l +146.718 351.246 l +147.357 350.681 l +146.789 351.734 l +146.493 351.677 l +147.15 352.68 l +149.846 351.567 l +150.542 351.452 l +151.26 351.866 l +152.716 349.811 l +152.252 349.382 l +152.489 348.51 l +151.918 346.816 l +152.466 347.312 l +152.644 348.377 l +153.25 349.2 l +154.252 348.504 l +154.84 347.411 l +154.66 348.463 l +153.598 349.031 l +153.586 350.062 l +154.055 350.273 l +153.716 350.276 l +153.864 350.42 l +153.406 350.985 l +152.665 351.412 l +152.1 352.58 l +151.199 352.481 l +151.367 352.815 l +151.051 353.183 l +149.356 353.906 l +149.057 354.349 l +149.388 355.128 l +148.432 354.216 l +147.596 354.708 l +147.376 355.709 l +147.39 355.117 l +146.802 355.206 l +146.555 355.999 l +146.919 355.829 l +147.244 356.107 l +146.585 356.12 l +146.807 356.387 l +146.544 356.621 l +146.2 356.348 l +146.16 356.941 l +145.695 356.659 l +145.436 357.556 l +145.378 357.126 l +144.444 357.829 l +143.891 357.614 l +144.158 357.394 l +144.169 356.598 l +143.226 355.602 l +142.285 356.348 l +142.187 357.045 l +141.701 357.099 l +141.635 357.462 l +141.188 357.262 l +140.807 358.046 l +140.793 357.491 l +140.647 357.807 l +140.396 357.654 l +140.417 357.933 l +140.165 357.733 l +140.264 358.011 l +139.939 358.029 l +140.465 358.351 l +139.992 358.265 l +140.13 358.625 l +139.698 358.537 l +139.715 359.578 l +139.086 359.704 l +138.884 360.294 l +138.451 360.23 l +138.758 360.92 l +138.186 360.881 l +138.123 361.302 l +137.711 361.211 l +137.828 361.908 l +137.266 361.891 l +137.485 362.251 l +136.839 363.096 l +136.674 362.591 l +136.056 362.722 l +135.718 363.33 l +135.368 363.185 l +135.652 363.68 l +135.048 363.838 l +135.422 364.112 l +134.524 364.733 l +134.946 365.274 l +134.538 365.204 l +134.382 365.67 l +133.955 365.381 l +133.917 365.886 l +134.23 366.059 l +133.735 366.947 l +133.765 366.274 l +133.366 366.354 l +133.611 366.99 l +133.354 366.975 l +133.362 367.635 l +132.622 368.322 l +132.536 367.991 l +132.91 367.733 l +132.714 367.778 l +132.761 367.401 l +132.592 367.53 l +132.641 367.186 l +132.462 367.696 l +132.189 367.548 l +132.415 367 l +131.961 367.59 l +132.235 367.656 l +131.702 367.728 l +131.934 367.927 l +131.45 367.781 l +131.671 368.212 l +132.251 367.826 l +132.327 368.211 l +131.996 368.205 l +132.145 368.461 l +131.272 368.398 l +131.572 368.808 l +131.145 369.013 l +131.058 370.115 l +130.711 370.239 l +131.168 370.461 l +129.8 370.758 l +129.986 371.109 l +129.998 370.825 l +130.233 370.991 l +130.846 370.692 l +131.088 371.168 l +130.801 371.309 l +130.861 371.696 l +130.459 371.799 l +130.663 372.019 l +130.341 371.991 l +130.4 372.696 l +130.158 372.555 l +129.636 372.964 l +130.215 373.144 l +129.933 373.624 l +129.606 373.376 l +129.939 373.965 l +129.304 374.784 l +129.395 375.427 l +129.936 375.342 l +130.245 374.984 l +130.061 374.473 l +130.524 375.48 l +128.901 376.418 l +129.035 376.815 l +128.454 376.66 l +128.506 377.079 l +128.782 376.918 l +128.203 377.335 l +128.462 377.479 l +128.283 377.798 l +128.675 378.018 l +128.581 377.604 l +129.498 378.204 l +129.152 378.427 l +128.772 378.141 l +128.006 378.173 l +128.219 378.468 l +128.012 378.987 l +128.982 379.597 l +128.553 379.752 l +128.122 379.332 l +127.656 380.214 l +128.074 379.933 l +128.262 380.092 l +128.135 379.809 l +128.918 380.024 l +129.388 379.089 l +129.113 379.327 l +129.068 378.795 l +129.446 378.844 l +129.873 378.129 l +129.435 377.706 l +130.123 377.772 l +130.104 377.984 l +131.754 375.877 l +131.95 373.632 l +131.647 373.61 l +131.544 374.027 l +130.71 373.557 l +130.77 373.215 l +131.441 373.473 l +130.812 372.252 l +131.17 372.186 l +131.509 372.967 l +133.063 372.222 l +134.027 370.906 l +134.53 369.442 l +135.114 368.792 l +134.701 368.021 l +135.637 368.144 l +136.836 367.257 l +137.071 366.506 l +137.213 366.65 l +137.975 365.774 l +137.488 365.642 l +137.617 365.037 l +137.636 365.438 l +138.293 365.705 l +140.041 365.384 l +140.681 365.159 l +140.639 364.389 l +140.877 364.689 l +140.706 364.994 l +141.51 365.132 l +142.64 364.255 l +142.867 363.664 l +143.033 364.016 l +144.139 363.468 l +143.471 364.083 l +142.499 366.528 l +143.529 367.285 l +144.326 366.825 l +144.107 366.386 l +143.677 366.133 l +143.911 366.113 l +144.8 367.146 l +144.407 366.93 l +143.681 367.631 l +143.895 367.658 l +143.121 367.83 l +143.244 368.041 l +142.069 367.688 l +141.674 368.137 l +141.847 368.529 l +143.503 369.252 l +143.712 369.678 l +144.152 369.559 l +143.46 370.289 l +143.95 370.441 l +144.291 371.115 l +144.854 371.085 l +143.833 372.285 l +144.153 372.503 l +142.987 374.262 l +142.973 374.461 l +143.092 374.409 l +143.416 375.222 l +143.453 374.644 l +143.886 374.147 l +144.097 374.169 l +143.896 374.355 l +145.039 374.374 l +145.243 373.64 l +145.377 374.277 l +145.141 374.386 l +145.676 374.659 l +146.085 374.721 l +146.314 374.557 l +145.96 374.516 l +146.507 374.44 l +146.946 373.849 l +149.293 374.65 l +149.862 374.544 l +150.067 374.686 l +149.689 374.84 l +150.25 374.855 l +150.479 375.157 l +150.399 375.479 l +150.057 375.058 l +149.206 375.368 l +149.344 375.811 l +148.744 377.352 l +149.083 378.803 l +149.581 378.92 l +149.642 378.617 l +151.032 379.629 l +151.823 379.312 l +151.892 379.003 l +152.218 379.087 l +153.02 377.753 l +152.836 377.488 l +152.09 377.603 l +152.603 376.762 l +153.231 377.391 l +153.462 378.988 l +153.923 379.289 l +153.955 380.14 l +154.264 380.225 l +154.252 379.707 l +154.608 379.669 l +154.456 379.373 l +154.771 379.281 l +154.527 379.909 l +154.813 379.757 l +154.837 380.117 l +155.177 379.801 l +155.347 379.912 l +154.973 380.204 l +155.204 380.432 l +154.691 380.462 l +154.825 380.895 l +155.709 380.847 l +156.086 381.382 l +156.377 381.274 l +156.353 380.943 l +156.692 381.012 l +156.92 381.345 l +156.729 381.717 l +157.691 381.591 l +157.327 381.62 l +157.288 380.808 l +158.056 381.428 l +158.064 380.279 l +158.517 380.604 l +159.162 380.427 l +160.1 379.475 l +160.684 378.936 l +160.558 378.387 l +160.918 378.113 l +161.928 378.246 l +162.621 377.824 l +162.555 377.377 l +163.046 377.537 l +163.362 377.164 l +163.469 376.454 l +163.196 375.92 l +162.502 375.706 l +162.61 375.427 l +162.164 375.166 l +163.085 373.599 l +164.188 372.969 l +163.874 372.416 l +163.592 372.757 l +163.756 370.781 l +165.23 369.837 l +167.633 370.462 l +167.71 371.076 l +168.178 370.746 l +167.967 370.087 l +168.835 369.571 l +169.335 369.639 l +169.674 370.046 l +169.937 369.766 l +169.066 370.913 l +169.569 371.247 l +169.289 371.15 l +168.42 372.851 l +167.601 373.429 l +168.325 373.427 l +169.079 373.857 l +168.979 374.461 l +168.476 373.754 l +168.001 374.07 l +168.854 374.863 l +168.982 376.255 l +169.042 376.031 l +168.815 377.143 l +169.061 377.178 l +168.708 377.233 l +168.733 376.9 l +168.688 377.414 l +169.677 379.464 l +170.41 379.828 l +171.157 379.574 l +172.387 380.32 l +172.841 380.041 l +172.321 380.248 l +172.096 380.01 l +172.07 379.618 l +172.652 379.18 l +172.449 378.654 l +173.621 381.004 l +174.52 381.902 l +174.983 381.857 l +175.208 381.296 l +174.711 381.747 l +174.926 380.857 l +175.36 380.751 l +175.591 380.235 l +175.374 379.879 l +175.54 379.515 l +175.785 379.682 l +176.369 378.319 l +175.901 377.508 l +175.988 376.983 l +176.458 377.595 l +176.849 377.325 l +177.158 376.197 l +176.9 376.026 l +177.479 375.398 l +177.568 374.85 l +177.268 373.772 l +176.074 374.083 l +175.837 374.76 l +175.802 374.251 l +175.194 374.099 l +175.121 372.332 l +174.679 372.257 l +174.885 371.29 l +174.59 370.818 l +174.322 370.946 l +175.53 370.098 l +175.313 369.371 l +174.818 369.48 l +175.264 369.25 l +175.785 369.467 l +176.144 370.377 l +175.996 370.77 l +176.723 370.654 l +178.287 371.699 l +178.668 371.39 l +177.851 370.714 l +177.293 370.879 l +176.313 370.164 l +176.644 369.431 l +175.753 368.499 l +175.829 367.901 l +176.135 367.823 l +176.914 367.843 l +176.697 368.316 l +177.107 368.987 l +176.652 369.961 l +177.538 370.539 l +178.449 370.137 l +178.442 369.744 l +178.798 369.993 l +178.797 371.312 l +179.106 371.275 l +178.924 371.484 l +179.159 372.108 l +178.921 371.988 l +179.606 373.331 l +181.928 373.765 l +185.2 376.551 l +185.691 377.482 l +185.978 376.596 l +187.788 376.09 l +187.462 374.732 l +187.672 372.528 l +189.321 371.042 l +188.743 371.336 l +188.887 371.15 l +190.765 370.628 l +191.872 369.663 l +191.803 369.355 l +192.107 369.425 l +192.845 368.743 l +192.571 368.376 l +192.632 368.695 l +192.433 368.503 l +192.194 369.034 l +192.84 367.425 l +192.597 367.264 l +192.795 367.366 l +193.913 366.006 l +193.529 365.717 l +193.298 366.167 l +193.288 365.743 l +192.771 366.192 l +192.887 365.865 l +192.596 365.714 l +193.35 365.584 l +193.336 365.489 l +193.929 365.704 l +193.894 365.968 l +194.669 365.261 l +194.865 364.763 l +194.701 364.483 l +194.673 364.814 l +194.361 364.736 l +194.479 364.282 l +194.691 364.421 l +194.515 363.808 l +194.784 362.621 l +195.948 361.513 l +195.808 361.359 l +196.073 361.435 l +196.959 360.641 l +196.817 360.477 l +196.686 360.842 l +196.475 360.785 l +196.287 360.103 l +195.936 360.129 l +196.157 359.894 l +195.931 359.393 l +195.164 359.631 l +194.891 360.321 l +194.792 359.967 l +194.549 360.269 l +194.53 359.947 l +194.16 360.051 l +194.626 359.346 l +194.298 359.087 l +194.969 359.342 l +195.137 358.86 l +195.505 358.998 l +195.685 358.813 l +195.469 358.712 l +195.781 358.703 l +195.33 358.64 l +195.69 358.539 l +195.193 358.011 l +194.646 358.28 l +194.196 357.461 l +194.702 357.065 l +194.874 356.103 l +194.713 355.461 l +194.313 355.319 l +194.707 355.355 l +194.536 354.717 l +193.624 355.135 l +193.415 354.377 l +193.247 355.178 l +193.327 353.889 l +192.757 354.25 l +192.789 353.479 l +192.47 353.117 l +192.816 353.112 l +192.65 352.975 l +193.133 352.525 l +193.091 351.925 l +192.826 351.813 l +193.321 350.641 l +192.903 349.338 l +192.479 349.165 l +192.725 348.618 l +192.357 348.347 l +192.536 348.127 l +192.225 348.1 l +192.006 347.005 l +192.295 346.246 l +192.096 345.249 l +192.301 345.267 l +191.757 344.817 l +191.587 343.84 l +192.638 341.445 l +191.612 338.983 l +191.069 338.33 l +191.327 338.245 l +191.133 337.045 l +191.41 336.125 l +191.193 334.878 l +190.235 333.866 l +190.189 333.601 l +190.574 333.596 l +190.048 333.105 l +189.494 331.446 l +189.38 330.437 l +189.661 330.418 l +189.533 329.668 l +189.727 329.796 l +189.08 328.246 l +189.261 328.319 l +189.219 328 l +189.758 328.818 l +189.823 328.554 l +189.917 329.058 l +190.292 328.535 l +190.222 328.885 l +190.641 328.905 l +190.387 329.292 l +190.622 329.724 l +191.131 329.963 l +191.342 329.873 l +190.93 329.208 l +191.59 329.859 l +191.526 329.546 l +191.734 329.628 l +191.339 329.384 l +191.862 329.474 l +191.631 328.821 l +192.094 329.461 l +192.121 329.176 l +192.595 329.016 l +192.586 328.442 l +192.781 328.568 l +192.628 328.072 l +193.849 328.383 l +193.711 327.823 l +193.227 327.625 l +193.253 327.216 l +193.614 327.201 l +193.451 327.082 l +192.074 327.379 l +192.695 326.8 l +192.522 326.685 l +192.859 326.762 l +193.023 326.104 l +193.391 325.954 l +193.206 325.861 l +193.473 325.96 l +193.08 325.802 l +194.31 326.024 l +194.41 325.408 l +194.728 325.474 l +194.589 325.678 l +194.824 325.532 l +194.971 324.8 l +196.392 324.284 l +195.843 323.849 l +196.991 323.915 l +197.292 323.603 l +197.108 323.517 l +197.391 323.602 l +197.584 323.333 l +197.346 323.169 l +197.635 323.193 l +197.319 323.06 l +197.557 322.837 l +197.24 322.815 l +197.539 322.766 l +197.503 322.383 l +198.404 322.382 l +197.645 321.715 l +196.014 322.847 l +195.086 323.123 l +193.923 322.644 l +195.745 322.441 l +197.075 320.977 l +197.609 320.901 l +197.097 320.684 l +196.911 321.023 l +196.437 320.825 l +196.367 320.406 l +196.622 320.608 l +197.426 320.325 l +197.836 319.884 l +198.596 320.364 l +198.81 320.15 l +199.409 319.451 l +199.484 319.626 l +199.336 320.201 l +199.603 320.433 l +199.851 320.203 l +199.63 320.486 l +199.841 320.571 l +199.576 320.549 l +200.574 320.701 l +199.912 319.227 l +197.431 316.587 l +197.079 315.012 l +197.4 314.972 l +197.402 315.198 l +197.502 314.734 l +197.813 314.786 l +197.355 315.441 l +197.883 315.368 l +197.933 314.864 l +198.306 315.228 l +198.191 315.545 l +198.55 315.562 l +199.035 315.216 l +198.657 314.829 l +199.052 314.804 l +199.147 315.692 l +199.373 315.606 l +199.177 315.338 l +200.033 315.406 l +200.218 315.105 l +200.083 315.668 l +199.649 315.792 l +199.957 315.936 l +200.597 314.926 l +200.629 315.492 l +200.945 315.639 l +201.156 315.367 l +200.833 315.459 l +201.019 315.07 l +200.686 314.814 l +200.197 314.913 l +199.88 314.523 l +199.308 314.461 l +199.44 313.732 l +198.053 313.917 l +197.88 313.552 l +198.234 313.201 l +198.077 313.035 l +198.382 313.13 l +198.343 312.632 l +198.839 312.338 l +200.738 312.583 l +201.426 311.126 l +201.603 310.374 l +201.017 307.639 l +201.566 305.694 l +201.316 304.336 l +201.556 302.759 l +201.891 302.775 l +201.823 302.083 l +202.165 301.882 l +202.201 301.156 l +202.459 301.968 l +202.797 301.244 l +202.998 301.569 l +203.289 300.011 l +202.909 298.247 l +202.383 297.652 l +202.565 297.452 l +201.897 297.211 l +201.167 298.676 l +201.039 298.029 l +200.607 298.74 l +200.1 298.1 l +199.2 298.71 l +199.581 297.99 l +199.358 297.62 l +200.838 294.471 l +202.097 293.34 l +201.903 292.982 l +202.173 293.255 l +202.535 292.538 l +203.141 292.563 l @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4548] trunk/py4science/workbook From: - 2007-12-03 00:12:27 Revision: 4548 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4548&view=rev Author: fer_perez Date: 2007-12-02 16:12:18 -0800 (Sun, 02 Dec 2007) Log Message: ----------- Commits to continue the merged book. Modified Paths: -------------- trunk/py4science/workbook/Makefile trunk/py4science/workbook/basemap.tex trunk/py4science/workbook/convolution.tex trunk/py4science/workbook/fft_imdenoise.tex trunk/py4science/workbook/files_etc.tex trunk/py4science/workbook/glass_dots.tex trunk/py4science/workbook/lotka_volterra.tex trunk/py4science/workbook/main.tex trunk/py4science/workbook/qsort.tex trunk/py4science/workbook/quad_newton.tex trunk/py4science/workbook/stats_descriptives.tex trunk/py4science/workbook/stats_distributions.tex trunk/py4science/workbook/template.tex trunk/py4science/workbook/trapezoid.tex trunk/py4science/workbook/wallis_pi.tex trunk/py4science/workbook/wordfreqs.tex Added Paths: ----------- trunk/py4science/workbook/examples trunk/py4science/workbook/fig/hothead.png trunk/py4science/workbook/fig/ipscr_code.png trunk/py4science/workbook/fig/ipscr_meth_src.png trunk/py4science/workbook/fig/ipscr_traceback.png trunk/py4science/workbook/fig/load_ascii.png trunk/py4science/workbook/fig/mpl_image_hot.png trunk/py4science/workbook/fig/mpl_image_jet.png trunk/py4science/workbook/fig/mpl_one_two_three.png trunk/py4science/workbook/fig/mpl_ratner.png trunk/py4science/workbook/fig/mpl_set_get1.png trunk/py4science/workbook/fig/mpl_set_get2.png trunk/py4science/workbook/fig/mpl_subplot_demo.png trunk/py4science/workbook/fig/mpl_toolbar.png trunk/py4science/workbook/intro_to_python.tex trunk/py4science/workbook/ipython_tut.tex trunk/py4science/workbook/matplotlib_tut.tex trunk/py4science/workbook/problems_solved trunk/py4science/workbook/python.bib trunk/py4science/workbook/python2.bib trunk/py4science/workbook/snippets trunk/py4science/workbook/why_python.tex trunk/py4science/workbook/wrapping.tex Modified: trunk/py4science/workbook/Makefile =================================================================== --- trunk/py4science/workbook/Makefile 2007-12-02 17:27:41 UTC (rev 4547) +++ trunk/py4science/workbook/Makefile 2007-12-03 00:12:18 UTC (rev 4548) @@ -1,14 +1,16 @@ solved: - rm -f examples - ln -s examples_solved examples + rm -f problems + ln -s problems_solved problems rm -f workbook_solved.tex ln -s main.tex workbook_solved.tex pdflatex workbook_solved + bibtex workbook_solved + pdflatex workbook_solved rm -f workbook_solved.tex skeletons: - rm -f examples - ln -s examples_skel examples + rm -f problems + ln -s problems_skel problems rm -f workbook_skeletons.tex ln -s main.tex workbook_skeletons.tex pdflatex workbook_skeletons Modified: trunk/py4science/workbook/basemap.tex =================================================================== --- trunk/py4science/workbook/basemap.tex 2007-12-02 17:27:41 UTC (rev 4547) +++ trunk/py4science/workbook/basemap.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -27,7 +27,7 @@ Here is an example script that creates a map by specifying the latitudes and longitudes of the four corners -\lstinputlisting[label=code:basemap1_skel,caption={IGNORED}]{../examples/basemap1.py} +\lstinputlisting[label=code:basemap1_skel,caption={IGNORED}]{problems/basemap1.py} After running this script, you should see a plot that looks similar to Figure 1. @@ -44,7 +44,7 @@ Here is an example script that creates a map by specifying the center of the map, plus the width and height in meters. -\lstinputlisting[label=code:basemap2_skel,caption={IGNORED}]{../examples/basemap2.py} +\lstinputlisting[label=code:basemap2_skel,caption={IGNORED}]{problems/basemap2.py} After running this script, you should see a plot that looks nearly identical to Figure 1.\medskip{} @@ -59,7 +59,7 @@ method drawgreatcircle is then used to draw the great circle route between these cities on the map. -\lstinputlisting[label=code:basemap3_skel,caption={IGNORED}]{../examples/basemap3.py} +\lstinputlisting[label=code:basemap3_skel,caption={IGNORED}]{problems/basemap3.py} This should produce something similar to Figure 2. @@ -79,7 +79,7 @@ is an example script that draws a graticule on the map we've been working with. -\lstinputlisting[label=code:basemap4_skel,caption={IGNORED}]{../examples/basemap4.py} +\lstinputlisting[label=code:basemap4_skel,caption={IGNORED}]{problems/basemap4.py} Running this script should produce a plot that looks like Figure 3. @@ -109,7 +109,7 @@ of how to read sea-surface temperature data from a NetCDF file and plot it on a global mollweide projection. -\lstinputlisting[label=code:basemap5_skel,caption={IGNORED}]{../examples/basemap5.py} +\lstinputlisting[label=code:basemap5_skel,caption={IGNORED}]{problems/basemap5.py} The resulting plot should look like Figure 4. Modified: trunk/py4science/workbook/convolution.tex =================================================================== --- trunk/py4science/workbook/convolution.tex 2007-12-02 17:27:41 UTC (rev 4547) +++ trunk/py4science/workbook/convolution.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -87,7 +87,7 @@ multiplication property to perform the same convolution in Fourier space to confirm the numerical result from \texttt{numpy.convolve}. -\lstinputlisting[label=code:convolution_demo,caption={IGNORED}]{examples/convolution_demo.py} +\lstinputlisting[label=code:convolution_demo,caption={IGNORED}]{problems/convolution_demo.py} Added: trunk/py4science/workbook/examples =================================================================== --- trunk/py4science/workbook/examples (rev 0) +++ trunk/py4science/workbook/examples 2007-12-03 00:12:18 UTC (rev 4548) @@ -0,0 +1 @@ +link ../book/examples \ No newline at end of file Property changes on: trunk/py4science/workbook/examples ___________________________________________________________________ Name: svn:special + * Modified: trunk/py4science/workbook/fft_imdenoise.tex =================================================================== --- trunk/py4science/workbook/fft_imdenoise.tex 2007-12-02 17:27:41 UTC (rev 4547) +++ trunk/py4science/workbook/fft_imdenoise.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -41,7 +41,7 @@ to one. This serves to enhance contrast among the darker elements of the image, so it is not completely dominated by the brighter segments -\lstinputlisting[label=code:fft_imdenoise,caption={IGNORED}]{examples/fft_imdenoise.py} +\lstinputlisting[label=code:fft_imdenoise,caption={IGNORED}]{problems/fft_imdenoise.py} \begin{figure} \begin{centering}\includegraphics[width=4in]{fig/fft_imdenoise}\par\end{centering} Added: trunk/py4science/workbook/fig/hothead.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/hothead.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/ipscr_code.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/ipscr_code.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/ipscr_meth_src.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/ipscr_meth_src.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/ipscr_traceback.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/ipscr_traceback.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/load_ascii.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/load_ascii.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_image_hot.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_image_hot.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_image_jet.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_image_jet.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_one_two_three.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_one_two_three.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_ratner.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_ratner.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_set_get1.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_set_get1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_set_get2.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_set_get2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_subplot_demo.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_subplot_demo.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/py4science/workbook/fig/mpl_toolbar.png =================================================================== (Binary files differ) Property changes on: trunk/py4science/workbook/fig/mpl_toolbar.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/py4science/workbook/files_etc.tex =================================================================== --- trunk/py4science/workbook/files_etc.tex 2007-12-02 17:27:41 UTC (rev 4547) +++ trunk/py4science/workbook/files_etc.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -44,7 +44,7 @@ Here is the exercise skeleton of the script to create and plot the data file -\lstinputlisting[label=code:noisy_sine,caption={IGNORED}]{examples/noisy_sine.py} +\lstinputlisting[label=code:noisy_sine,caption={IGNORED}]{problems/noisy_sine.py} and the graph will look something like Figure~\ref{fig:noisy_sine} @@ -189,7 +189,7 @@ in 2003 and held to the present) for each stock. Here is the exercise skeleton.: -\lstinputlisting[label=code:stock_records,caption={IGNORED}]{examples/stock_records.py} +\lstinputlisting[label=code:stock_records,caption={IGNORED}]{problems/stock_records.py} The graph will look something like Figure~\ref{fig:stock_records}. Modified: trunk/py4science/workbook/glass_dots.tex =================================================================== --- trunk/py4science/workbook/glass_dots.tex 2007-12-02 17:27:41 UTC (rev 4547) +++ trunk/py4science/workbook/glass_dots.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -38,7 +38,7 @@ \textit{stable node}, if one is greater than one and the other less than one, we have a \textit{saddle node}. -\lstinputlisting[label=code:glass_dots1,caption={IGNORED}]{examples/glass_dots1.py} +\lstinputlisting[label=code:glass_dots1,caption={IGNORED}]{problems/glass_dots1.py} Added: trunk/py4science/workbook/intro_to_python.tex =================================================================== --- trunk/py4science/workbook/intro_to_python.tex (rev 0) +++ trunk/py4science/workbook/intro_to_python.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -0,0 +1,1474 @@ + +\chapter[Python intro]{A whirlwind tour of python and the standard library} + +This is a quick-and-dirty introduction to the python language for +the impatient scientist. There are many top notch, comprehensive introductions +and tutorials for python. For absolute beginners, there is the \textit{Python +Beginner's Guide}.% +\footnote{http://www.python.org/moin/BeginnersGuide% +} The official \textit{Python Tutorial} can be read online% +\footnote{http://docs.python.org/tut/tut.html% +} or downloaded% +\footnote{http://docs.python.org/download.html% +} in a variety of formats. There are over 100 python tutorials collected +online.% +\footnote{http://www.awaretek.com/tutorials.html% +} + +There are also many excellent books. Targetting newbies is Mark Pilgrim's +\textit{Dive into Python} which in available in print and for free +online% +\footnote{http://diveintopython.org/toc/index.html% +}, though for absolute newbies even this may be too hard \cite{Dive}. +For experienced programmers, David Beasley's \textit{Python Essential +Reference} is an excellent introduction to python, but is a bit dated +since it only covers python2.1 \cite{Beasley}. Likwise Alex Martelli's +\textit{Python in a Nutshell} is highly regarded and a bit more current +-- a 2nd edition is in the works\cite{Nutshell}. And \textit{The +Python Cookbook} is an extremely useful collection of python idioms, +tips and tricks \cite{Cookbook}. + +But the typical scientist I encounter wants to solve a specific problem, +eg, to make a certain kind of graph, to numerically integrate an equation, +or to fit some data to a parametric model, and doesn't have the time +or interest to read several books or tutorials to get what they want. +This guide is for them: a short overview of the language to help them +get to what they want as quickly as possible. We get to advanced material +pretty quickly, so it may be touch sledding if you are a python newbie. +Take in what you can, and if you start getting dizzy, skip ahead to +the next section; you can always come back to absorb more detail later, +after you get your real work done. + + +\section{Hello Python} + +Python is a dynamically typed, object oriented, interpreted language. +Interpreted means that your program interacts with the python interpreter, +similar to Matlab, Perl, Tcl and Java, and unlike FORTRAN, C, or C++ +which are compiled. So let's fire up the python interpreter and get +started. I'm not going to cover installing python -- it's standard +on most linux boxes and for windows there is a friendly GUI installer. +To run the python interpreter, on windows, you can click \texttt{Start->All +Programs->Python 2.4->Python (command line)} or better yet, install +\texttt{ipython}, a python shell on steroids, and use that. On linux +/ unix systems, you just need to type \texttt{python} or \texttt{ipython} +at the command line. The \texttt{>\,{}>\,{}>} is the default python +shell prompt, so don't type it in the examples below + +\begin{lyxcode} +>\,{}>\,{}>~print~'hello~world' + +hello~world + + +\end{lyxcode} +As this example shows, \textit{hello world} in python is pretty easy +-- one common phrase you hear in the python community is that {}it +fits your brain''. -- the basic idea is that coding in python feels +natural. Compare python's version with \textit{hello world} in C++ + +\begin{lyxcode} +//~C++ + +\#include~ + +int~main~() + +\{~~~ + +~~std::cout~<\,{}<~\char\"{}Hello~World\char\"{}~<\,{}<~std::endl; + +~~return~0; + +\} +\end{lyxcode} + +\section[Calculator]{\label{sec:into_calculator}Python is a calculator} + +Aside from my daughter's solar powered cash-register calculator, Python +is the only calculator I use. From the python shell, you can type +arbitrary arithmetic expressions. + +\begin{lyxcode} +>\,{}>\,{}>~2+2 + +4 + +>\,{}>\,{}>~2{*}{*}10 + +1024 + +>\,{}>\,{}>~10/5 + +2 + +>\,{}>\,{}>~2+(24.3~+~.9)/.24 + +107.0 + +>\,{}>\,{}>~2/3 + +0 +\end{lyxcode} +The last line is a standard newbie gotcha -- if both the left and +right operands are integers, python returns an integer. To do floating +point division, make sure at least one of the numbers is a float + +\begin{lyxcode} +>\,{}>\,{}>~2.0/3 + +0.66666666666666663 +\end{lyxcode} +The distinction between integer and floating point division is a common +source of frustration among newbies and is slated for destruction +in the mythical Python 3000.% +\footnote{Python 3000 is a future python release that will clean up several +things that Guido considers to be warts.% +} Since default integer division will be removed in the future, you +can invoke the time machine with the \texttt{from \_\_future\_\_} +directives; these directives allow python programmers today to use +features that will become standard in future releases but are not +included by default because they would break existing code. From future +directives should be among the first lines you type in your python +code if you are going to use them, otherwise they may not work. The +future division operator will assume floating point division by default,% +\footnote{You may have noticed that 2/3 was represented as 0.66666666666666663 +and not 0.66666666666666666 as might be expected. This is because +computers are binary calculators, and there is no exact binary representation +of 2/3, just as there is no exact binary representation of 0.1 + +\begin{lyxcode} +>\,{}>\,{}>~0.1 + +0.10000000000000001 +\end{lyxcode} +Some languages try and hide this from you, but python is explicit.% +}and provides another operator // to do classic integer division. + +\begin{lyxcode} +>\,{}>\,{}>~from~\_\_future\_\_~import~division + +>\,{}>\,{}>~2/3 + +0.66666666666666663 + +>\,{}>\,{}>~2//3 + +0 +\end{lyxcode} +python has four basic numeric types: int, long, float and complex, +but unlike C++, BASIC, FORTRAN or Java, you don't have to declare +these types. python can infer them + +\begin{lyxcode} +>\,{}>\,{}>~type(1) + + + +>\,{}>\,{}>~type(1.0) + + + +>\,{}>\,{}>~type(2{*}{*}200) + + + + +\end{lyxcode} +$2^{200}$is a huge number! + +\begin{lyxcode} +>\,{}>\,{}>~2{*}{*}200 + +1606938044258990275541962092341162602522202993782792835301376L +\end{lyxcode} +but python will blithely compute it and much larger numbers for you +as long as you have CPU and memory to handle them. The integer type, +if it overflows, will automatically convert to a python \texttt{long} +(as indicated by the appended \texttt{L} in the output above) and +has no built-in upper bound on size, unlike C/C++ longs. + +Python has built in support for complex numbers. Eg, we can verify +$i^{2}=-1$ + +\begin{lyxcode} +>\,{}>\,{}>~x~=~complex(0,1) + +>\,{}>\,{}>~x{*}x + +(-1+0j) +\end{lyxcode} +To access the real and imaginary parts of a complex number, use the +\texttt{real} and \texttt{imag} attributes + +\begin{lyxcode} +>\,{}>\,{}>~x.real + +0.0 + +>\,{}>\,{}>~x.imag + +1.0 +\end{lyxcode} +If you come from other languages like Matlab, the above may be new +to you. In matlab, you might do something like this (>\,{}> is the +standard matlab shell prompt) + +\begin{lyxcode} +>\,{}>~x~=~0+j + +x~= + +~~~0.0000~+~1.0000i + + + +>\,{}>~real(x) + +ans~= + +~~~~~0 + + + +>\,{}>~imag(x) + +ans~= + +~~~~~1 + + + + +\end{lyxcode} +That is, in Matlab, you use a \textit{function} to access the real +and imaginary parts of the data, but in python these are attributes +of the complex object itself. This is a core feature of python and +other object oriented languages: an object carries its data and methods +around with it. One might say: {}a complex number knows it's real +and imaginary parts'' or {}a complex number knows how to take +its conjugate'', you don't need external functions for these operations + +\begin{lyxcode} +>\,{}>\,{}>~x.conjugate + + + +>\,{}>\,{}>~x.conjugate() + +-1j +\end{lyxcode} +On the first line, I just followed along from the example above with +\texttt{real} and \texttt{imag} and typed \texttt{x.conjugate} and +python printed the representation \texttt{.} This means that \texttt{conjugate} +is a \textit{method}, a.k.a a function, and in python we need to use +parentheses to call a function. If the method has arguments, like +the \texttt{x} in \texttt{sin(x)}, you place them inside the parentheses, +and if it has no arguments, like \texttt{conjugate}, you simply provide +the open and closing parentheses. \texttt{real}, \texttt{imag} and +\texttt{conjugate} are attributes of the complex object, and \texttt{conjugate} +is a \textit{callable} attribute, known as a \textit{method}. + +OK, now you are an object oriented programmer. There are several key +ideas in object oriented programming, and this is one of them: an +object carries around with it data (simple attributes) and methods +(callable attributes) that provide additional information about the +object and perform services. It's one stop shopping -- no need to +go to external functions and libraries to deal with it -- the object +knows how to deal with itself. + + +\section[Standard Library]{Accessing the standard library} + +Arithmetic is fine, but before long you may find yourself tiring of +it and wanting to compute logarithms and exponents, sines and cosines + +\begin{lyxcode} +>\,{}>\,{}>~log(10) + +Traceback~(most~recent~call~last): + +~~File~\char\"{}\char\"{},~line~1,~in~? + +NameError:~name~'log'~is~not~defined +\end{lyxcode} +These functions are not built into python, but don't despair, they +are built into the python standard library. To access a function from +the standard library, or an external library for that matter, you +must import it. + +\begin{lyxcode} +>\,{}>\,{}>~import~math + +>\,{}>\,{}>~math.log(10) + +2.3025850929940459 + +>\,{}>\,{}>~math.sin(math.pi) + +1.2246063538223773e-16 +\end{lyxcode} +Note that the default \texttt{log} function is a base 2 logarithm +(use \texttt{math.log10} for base 10 logs) and that floating point +math is inherently imprecise, since analytically$\sin(\pi)=0$. + +It's kind of a pain to keep typing \texttt{math.log} and \texttt{math.sin} +and \texttt{math.p}i, and python is accomodating. There are additional +forms of \texttt{import} that will let you save more or less typing +depending on your desires + +\begin{lyxcode} +\textcolor{blue}{\#~Appreviate~the~module~name:~m~is~an~alias} + +>\,{}>\,{}>~import~math~as~m + +>\,{}>\,{}>~m.cos(2{*}m.pi) + +1.0 + + + +\textcolor{blue}{\#~Import~just~the~names~you~need} + +>\,{}>\,{}>~from~math~import~exp,~log + +>\,{}>\,{}>~log(exp(1)) + +1.0 + + + +\textcolor{blue}{\#~Import~everything~-~use~with~caution!} + +>\,{}>\,{}>~from~math~import~{*} + +>\,{}>\,{}>~sin(2{*}pi{*}10) + +-2.4492127076447545e-15 +\end{lyxcode} +To help you learn more about what you can find in the math library, +python has nice introspection capabilities -- introspection is a way +of asking an object about itself. For example, to find out what is +available in the math library, we can get a directory of everything +available with the \texttt{dir} command% +\footnote{In addition to the introdpection and help provided in the python interpreter, +the official documentation of the python standard library is very +good and up-to-date http://docs.python.org/lib/lib.html .% +} + +\begin{lyxcode} +>\,{}>\,{}>~dir(math) + +{[}'\_\_doc\_\_',~'\_\_file\_\_',~'\_\_name\_\_',~'acos',~'asin',~'atan',~'atan2',~'ceil',~'cos',~'cosh',~'degrees',~'e',~'exp',~'fabs',~'floor',~'fmod',~'frexp',~'hypot',~'ldexp',~'log',~'log10',~'modf',~'pi',~'pow',~'radians',~'sin',~'sinh',~'sqrt',~'tan',~'tanh'] +\end{lyxcode} +This gives us just a listing of the names that are in the math module +-- they are fairly self descriptive, but if you want more, you can +call \texttt{help} on any of these functions for more information + +\begin{lyxcode} +>\,{}>\,{}>~help(math.sin)~ + +Help~on~built-in~function~sin: + +sin(...) + +sin(x) + +Return~the~sine~of~x~(measured~in~radians). +\end{lyxcode} +and for the whole math library + +\begin{lyxcode} +>\,{}>\,{}>~help(math)~ + +Help~on~module~math: + +~ + +NAME + +~~~~math + +~ + +FILE + +~~~~/usr/local/lib/python2.3/lib-dynload/math.so + +~ + +DESCRIPTION + +~~~~This~module~is~always~available.~~It~provides~access~to~the + +~~~~mathematical~functions~defined~by~the~C~standard. + +~ + +FUNCTIONS + +~~~~acos(...) + +~~~~~~~~acos(x) + +~~~~~~~~~ + +~~~~~~~~Return~the~arc~cosine~(measured~in~radians)~of~x. + +~~~~~ + +~~~~asin(...) + +~~~~~~~~asin(x) + +~~~~~~~~~ + +~~~~~~~~Return~the~arc~sine~(measured~in~radians)~of~x. + +~~~~~ +\end{lyxcode} +And much more which is snipped. Likewise, we can get information on +the complex object in the same way + +\begin{lyxcode} +>\,{}>\,{}>~x~=~complex(0,1) + +>\,{}>\,{}>~dir(x) + +{[}'\_\_abs\_\_',~'\_\_add\_\_',~'\_\_class\_\_',~'\_\_coerce\_\_',~'\_\_delattr\_\_',~'\_\_div\_\_',~'\_\_divmod\_\_',~'\_\_doc\_\_',~'\_\_eq\_\_',~'\_\_float\_\_',~'\_\_floordiv\_\_',~'\_\_ge\_\_',~'\_\_getattribute\_\_',~'\_\_getnewargs\_\_',~'\_\_gt\_\_',~'\_\_hash\_\_',~'\_\_init\_\_',~'\_\_int\_\_',~'\_\_le\_\_',~'\_\_long\_\_',~'\_\_lt\_\_',~'\_\_mod\_\_',~'\_\_mul\_\_',~'\_\_ne\_\_',~'\_\_neg\_\_',~'\_\_new\_\_',~'\_\_nonzero\_\_',~'\_\_pos\_\_',~'\_\_pow\_\_',~'\_\_radd\_\_',~'\_\_rdiv\_\_',~'\_\_rdivmod\_\_',~'\_\_reduce\_\_',~'\_\_reduce\_ex\_\_',~'\_\_repr\_\_',~'\_\_rfloordiv\_\_',~'\_\_rmod\_\_',~'\_\_rmul\_\_',~'\_\_rpow\_\_',~'\_\_rsub\_\_',~'\_\_rtruediv\_\_',~'\_\_setattr\_\_',~'\_\_str\_\_',~'\_\_sub\_\_',~'\_\_truediv\_\_',~'conjugate',~'imag',~'real'] + + +\end{lyxcode} +Notice that called \texttt{dir} or \texttt{help} on the \texttt{math} +\textit{module}, the \texttt{math.sin} \textit{function}, and the +\texttt{complex} \textit{number} \texttt{x}. That's because modules, +functions and numbers are all \textit{objects}, and we use the same +object introspection and help capabilites on them. We can find out +what type of object they are by calling \texttt{type} on them, which +is another function in python's introspection arsenal + +\begin{lyxcode} +>\,{}>\,{}>~type(math) + + + +>\,{}>\,{}>~type(math.sin) + + + +>\,{}>\,{}>~type(x) + + + + +\end{lyxcode} +Now, you may be wondering: what were all those god-awful looking double +underscore methods, like \texttt{\_\_abs\_\_} and \texttt{\_\_mul\_\_} +in the \texttt{dir} listing of the complex object above? These are +methods that define what it means to be a numeric type in python, +and the complex object implements these methods so that complex numbers +act like the way should, eg \texttt{\_\_mul\_\_} implements the rules +of complex multiplication. The nice thing about this is that python +specifies an application programming interface (API) that is the definition +of what it means to be a number in python. And this means you can +define your own numeric types, as long as you implement the required +special double underscore methods for your custom type. double underscore +methods are very important in python; although the typical newbie +never sees them or thinks about them, they are there under the hood +providing all the python magic, and more importantly, showing the +way to let you make magic. + + +\section{\label{sec:intro_string}Strings} + +We've encountered a number of types of objects above: int, float, +long, complex, method/function and module. We'll continue our tour +with an introduction to strings, which are critical components of +almost every program. You can create strings in a number of different +ways, with single quotes, double quotes, or triple quotes -- this +diversity of methods makes it easy if you need to embed string characters +in the string itself + +\begin{lyxcode} +\textcolor{blue}{\#~single,~double~and~triple~quoted~strings} + +>\,{}>\,{}>~s~=~'Hi~Mom!' + +>\,{}>\,{}>~s~=~\char\"{}Hi~Mom!\char\"{} + +>\,{}>\,{}>~s~=~\char\"{}\char\"{}\char\"{}Porky~said,~\char\"{}That's~all~folks!\char\"{}~\char\"{}\char\"{}\char\"{} +\end{lyxcode} +You can add strings together to concatenate them + +\begin{lyxcode} +\textcolor{blue}{\#~concatenating~strings} + +>\,{}>\,{}>~first~=~'John' + +>\,{}>\,{}>~last~=~'Hunter' + +>\,{}>\,{}>~first+last + +'JohnHunter' +\end{lyxcode} +or call string methods to process them: upcase them or downcase them, +or replace one character with another + +\begin{lyxcode} +\textcolor{blue}{\#~string~methods} + +>\,{}>\,{}>~last.lower() + +'hunter' + +>\,{}>\,{}>~last.upper() + +'HUNTER' + +>\,{}>\,{}>~last.replace('h',~'p') + +'Hunter' + +>\,{}>\,{}>~last.replace('H',~'P') + +'Punter'~ +\end{lyxcode} +Note that in all of these examples, the string \texttt{last} is unchanged. +All of these methods operate on the string and return a new string, +leaving the original unchanged. In fact, python strings cannot be +changed by any python code at all: they are \textit{immutable} (unchangeable). +The concept of mutable and immutable objects in python is an important +one, and it will come up again, because only immutable objects can +be used as keys in python dictionaries and elements of python sets. + +You can access individual characters, or slices of the string (substrings), +using indexing. A string in sequence of characters, and strings implement +the sequence protocol in python -- we'll see more examples of python +sequences later -- and all sequences have the same syntax for accessing +their elements. Python uses 0 based indexing which means the first +element is at index 0; you can use negative indices to access the +last elements in the sequence + +\begin{lyxcode} +\textcolor{blue}{\#~string~indexing} + +>\,{}>\,{}>~last~=~'Hunter' + +>\,{}>\,{}>~last{[}0] + +'H' + +>\,{}>\,{}>~last{[}1] + +'u' + +>\,{}>\,{}>~last{[}-1]~ + +'r'~ +\end{lyxcode} +To access substrings, or generically in terms of the sequence protocol, +slices, you use a colon to indicate a range + +\begin{lyxcode} +\textcolor{blue}{\#~string~slicing} + +>\,{}>\,{}>~last{[}0:2] + +'Hu' + +>\,{}>\,{}>~last{[}2:4] + +'nt' +\end{lyxcode} +As this example shows, python uses {}one-past-the-end'' indexing +when defining a range; eg, in the range \texttt{indmin:indmax}, the +element of \texttt{imax} is not included. You can use negative indices +when slicing too; eg, to get everything before the last character + +\begin{lyxcode} +>\,{}>\,{}>~last{[}0:-1] + +'Hunte' +\end{lyxcode} +You can also leave out either the min or max indicator; if they are +left out, 0 is assumed to be the \texttt{indmin} and one past the +end of the sequence is assumed to be \texttt{indmax} + +\begin{lyxcode} +>\,{}>\,{}>~last{[}:3] + +'Hun' + +>\,{}>\,{}>~last{[}3:] + +'ter' +\end{lyxcode} +There is a third number that can be placed in a slice, a step, with +syntax indmin:indmax:step; eg, a step of 2 will skip every second +letter + +\begin{lyxcode} +>\,{}>\,{}>~last{[}1:6:2] + +'utr' +\end{lyxcode} +Although this may be more that you want to know about slicing strings, +the time spent here is worthwhile. As mentioned above, all python +sequences obey these rules. In addition to strings, lists and tuples, +which are built-in python sequence data types and are discussed in +the next section, the numeric arrays widely used in scientific computing +also implement the sequence protocol, and thus have the same slicing +rules. + +\begin{xca} +What would you expect last{[}:] to return? +\end{xca} +One thing that comes up all the time is the need to create strings +out of other strings and numbers, eg to create filenames from a combination +of a base directory, some base filename, and some numbers. Scientists +like to create lots of data files like and then write code to loop +over these files and analyze them. We're going to show how to do that, +starting with the newbie way and progressively building up to the +way of python zen master. All of the methods below \textit{work}, +but the zen master way will more efficient, more scalable (eg to larger +numbers of files) and cross-platform.% +\footnote{{}But it works'' is a common defense of bad code; my rejoinder +to this is {}A computer scientist is someone who fixes things that +aren't broken''. % +} Here's the newbie way: we also introduce the for-loop here in the +spirit of diving into python -- note that python uses whitespace indentation +to delimit the for-loop code block + +\begin{lyxcode} +\textcolor{blue}{\#~The~newbie~way} + +for~i~in~(1,2,3,4): + +~~~~fname~=~'data/myexp0'~+~str(i)~+~'.dat' + +~~~~print~fname +\end{lyxcode} +Now as promised, this will print out the 4 file names above, but it +has three flaws: it doesn't scale to 10 or more files, it is inefficient, +and it is not cross platform. It doesn't scale because it hard-codes +the '\texttt{0}' after \texttt{myexp}, it is inefficient because to +add several strings requires the creation of temporary strings, and +it is not cross-platform because it hard-codes the directory separator +'/'. + +\begin{lyxcode} +\textcolor{blue}{\#~On~the~path~to~elightenment} + +for~i~in~(1,2,3,4): + +~~~~fname~=~'data/myexp\%02d.dat'\%i + +~~~~print~fname +\end{lyxcode} +This example uses string interpolation, the funny \% thing. If you +are familiar with C programming, this will be no surprise to you (on +linux/unix systems do \texttt{man sprintf} at the unix shell). The +percent character is a string formatting character: \texttt{\%02d} +means to take an integer (the \texttt{d} part) and print it with two +digits, padding zero on the left (the \texttt{\%02} part). There is +more to be said about string interpolation, but let's finish the job +at hand. This example is better than the newbie way because is scales +up to files numbered 0-99, and it is more efficient because it avoids +the creation of temporary strings. For the platform independent part, +we go to the python standard library \texttt{os.path}, which provides +a host of functions for platform-independent manipulations of filenames, +extensions and paths. Here we use \texttt{os.path.join} to combine +the directory with the filename in a platform independent way. On +windows, it will use the windows path separator '\textbackslash{}' +and on unix it will use '/'. + +\begin{lyxcode} +\textcolor{blue}{\#~the~zen~master~approach} + +import~os + +for~i~in~(1,2,3,4): + +~~~~fname~=~os.path.join('data',~'myexp\%02d.dat'\%i) + +~~~~print~fname +\end{lyxcode} +\begin{xca} +Suppose you have data files named like +\end{xca} +\begin{lyxcode} +data/2005/exp0100.dat + +data/2005/exp0101.dat + +data/2005/exp0102.dat + +... + +data/2005/exp1000.dat +\end{lyxcode} +Write the python code that iterates over these files, constructing +the filenames as strings in using \texttt{os.path.join} to construct +the paths in a platform-independent way. \textit{Hint}: read the help +for \texttt{os.path.join}! + +OK, I promised to torture you a bit more with string interpolation +-- don't worry, I remembered. The ability to properly format your +data when printing it is crucial in scientific endeavors: how many +signficant digits do you want, do you want to use integer, floating +point representation or exponential notation? These three choices +are provided with \texttt{\%d}, \texttt{\%f} and \texttt{\%e}, with +lots of variations on the theme to indicate precision and more + +\begin{lyxcode} +>\,{}>\,{}>~'warm~for~\%d~minutes~at~\%1.1f~C'~\%~(30,~37.5) + +'warm~for~30~minutes~at~37.5~C' + + + +>\,{}>\,{}>~'The~mass~of~the~sun~is~\%1.4e~kg'\%~(1.98892{*}10{*}{*}30) + +'The~mass~of~the~sun~is~1.9889e+30~kg' + + +\end{lyxcode} +There are two string methods, \texttt{split} and \texttt{join}, that +arise frequenctly in Numeric processing, specifically in the context +of processing data files that have comma, tab, or space separated +numbers in them. \texttt{split} takes a single string, and splits +it on the indicated character to a sequence of strings. This is useful +to take a single line of space or comma separated values and split +them into individual numbers + +\begin{lyxcode} +\textcolor{blue}{\#~s~is~a~single~string~and~we~split~it~into~a~list~of~strings} + +\textcolor{blue}{\#~for~further~processing} + +>\,{}>\,{}>~s~=~'1.0~2.0~3.0~4.0~5.0' + +>\,{}>\,{}>~s.split('~') + +{[}'1.0',~'2.0',~'3.0',~'4.0',~'5.0'] +\end{lyxcode} +The return value, with square brackets, indicates that python has +returned a list of strings. These individual strings need further +processing to convert them into actual floats, but that is the first +step. The conversion to floats will be discussed in the next session, +when we learn about list comprehensions. The converse method is join, +which is often used to create string output to an ASCII file from +a list of numbers. In this case you want to join a list of numbers +into a single line for printing to a file. The example below will +be clearer after the next section, in which lists are discussed + +\begin{lyxcode} +\textcolor{blue}{\#~vals~is~a~list~of~floats~and~we~convert~it~to~a~single} + +\textcolor{blue}{\#~space~separated~string} + +>\,{}>\,{}>~vals~=~{[}1.0,~2.0,~3.0,~4.0,~5.0] + +>\,{}>\,{}>~'~'.join({[}str(val)~for~val~in~vals]) + +'1.0~2.0~3.0~4.0~5.0' +\end{lyxcode} +There are two new things in the example above. One, we called the +join method directly on a string itself, and not on a variable name. +Eg, in the previous examples, we always used the name of the object +when accessing attributes, eg \texttt{x.real} or \texttt{s.upper()}. +In this example, we call the \texttt{join} method on the string which +is a single space. The second new feature is that we use a list comprehension +\texttt{{[}str(val) for val in vals]} as the argument to \texttt{join}. +\texttt{join} requires a sequence of strings, and the list comprehension +converts a list of floats to a strings. This can be confusing at first, +so don't dispair if it is. But it is worth bringing up early because +list comprehensions are a very useful feature of python. To help elucidate, +compare \texttt{vals}, which is a list of floats, with the conversion +of \texttt{vals} to a list of strings using list comprehensions in +the next line + +\begin{lyxcode} +\textcolor{blue}{\#~converting~a~list~of~floats~to~a~list~of~strings} + +>\,{}>\,{}>~vals + +{[}1.0,~2.0,~3.0,~4.0,~5.0] + +>\,{}>\,{}>~{[}str(val)~for~val~in~vals]~ + +{[}'1.0',~'2.0',~'3.0',~'4.0',~'5.0'] +\end{lyxcode} + +\section[Data Structures]{The basic python data structures} + +Strings, covered in the last section, are sequences of characters. +python has two additional built-in sequence types which can hold arbitrary +elements: tuples and lists. tuples are created using parentheses, +and lists are created using square brackets + +\begin{lyxcode} +\textcolor{blue}{\#~a~tuple~and~a~list~of~elements~of~the~same~type} + +\textcolor{blue}{\#~(homogeneous)} + +>\,{}>\,{}>~t~=~(1,2,3,4)~~\#~tuple + +>\,{}>\,{}>~l~=~{[}1,2,3,4]~~\#~list +\end{lyxcode} +Both tuples and lists can also be used to hold elements of different +types + +\begin{lyxcode} +\textcolor{blue}{\#~a~tuple~and~list~of~int,~string,~float} + +>\,{}>\,{}>~t~=~(1,'john',~3.0) + +>\,{}>\,{}>~l~=~{[}1,'john',~3.0] +\end{lyxcode} +Tuples and lists have the same indexing and slicing rules as each +other, and as string discussed above, because both implement the python +sequence protocol, with the only difference being that tuple slices +return tuples (indicated by the parentheses below) and list slices +return lists (indicated by the square brackets) + +\begin{lyxcode} +\#~indexing~and~slicing~tuples~and~lists + +>\,{}>\,{}>~t{[}0] + +1 + +>\,{}>\,{}>~l{[}0] + +1 + +>\,{}>\,{}>~t{[}:-1] + +(1,~'john') + +>\,{}>\,{}>~l{[}:-1] + +{[}1,~'john'] +\end{lyxcode} +So why the difference between tuples and lists? A number of explanations +have been offered on the mailing lists, but the only one that makes +a difference to me is that tuples are immutable, like strings, and +hence can be used as keys to python dictionaries and included as elements +of sets, and lists are mutable, and cannot. So a tuple, once created, +can never be changed, but a list can. For example, if we try to reassign +the first element of the tuple above, we get an error + +\begin{lyxcode} +>\,{}>\,{}>~t{[}0]~=~'why~not?' + +Traceback~(most~recent~call~last): + +~File~\char\"{}\char\"{},~line~1,~in~? + +TypeError:~object~doesn't~support~item~assignment +\end{lyxcode} +But the same operation is perfectly accetable for lists + +\begin{lyxcode} +>\,{}>\,{}>~l{[}0]~=~'why~not?' + +>\,{}>\,{}>~l + +{[}'why~not?',~'john',~3.0] +\end{lyxcode} +lists also have a lot of methods, tuples have none, save the special +double underscore methods that are required for python objects and +sequences + +\begin{lyxcode} +\textcolor{blue}{\#~tuples~contain~only~{}hidden''~double~underscore~methods} + +>\,{}>\,{}>~dir(t) + +{[}'\_\_add\_\_',~'\_\_class\_\_',~'\_\_contains\_\_',~'\_\_delattr\_\_',~'\_\_doc\_\_',~'\_\_eq\_\_',~'\_\_ge\_\_',~'\_\_getattribute\_\_',~'\_\_getitem\_\_',~'\_\_getnewargs\_\_',~'\_\_getslice\_\_',~'\_\_gt\_\_',~'\_\_hash\_\_',~'\_\_init\_\_',~'\_\_iter\_\_',~'\_\_le\_\_',~'\_\_len\_\_',~'\_\_lt\_\_',~'\_\_mul\_\_',~'\_\_ne\_\_',~'\_\_new\_\_',~'\_\_reduce\_\_',~'\_\_reduce\_ex\_\_',~'\_\_repr\_\_',~'\_\_rmul\_\_',~'\_\_setattr\_\_',~'\_\_str\_\_'] + + + +\textcolor{blue}{\#~but~lists~contain~other~methods,~eg~append,~extend~and} + +\textcolor{blue}{\#~reverse} + +>\,{}>\,{}>~dir(l) + +{[}'\_\_add\_\_',~'\_\_class\_\_',~'\_\_contains\_\_',~'\_\_delattr\_\_',~'\_\_delitem\_\_',~'\_\_delslice\_\_',~'\_\_doc\_\_',~'\_\_eq\_\_',~'\_\_ge\_\_',~'\_\_getattribute\_\_',~'\_\_getitem\_\_',~'\_\_getslice\_\_',~'\_\_gt\_\_',~'\_\_hash\_\_',~'\_\_iadd\_\_',~'\_\_imul\_\_',~'\_\_init\_\_',~'\_\_iter\_\_',~'\_\_le\_\_',~'\_\_len\_\_',~'\_\_lt\_\_',~'\_\_mul\_\_',~'\_\_ne\_\_',~'\_\_new\_\_',~'\_\_reduce\_\_',~'\_\_reduce\_ex\_\_',~'\_\_repr\_\_',~'\_\_rmul\_\_',~'\_\_setattr\_\_',~'\_\_setitem\_\_',~'\_\_setslice\_\_',~'\_\_str\_\_',~'append',~'count',~'extend',~'index',~'insert',~'pop',~'remove',~'reverse',~'sort'] +\end{lyxcode} +Many of these list methods change, or mutate, the list, eg append +adds an element to the list\texttt{: extend} extends the list with +a sequence of elements, \texttt{sort} sorts the list in place, \texttt{reverse} +reverses it in place, \texttt{pop} takes an element off the list and +returns it. + +We've seen a couple of examples of creating a list above -- let's +look at some more using list methods + +\begin{lyxcode} +>\,{}>\,{}>~x~=~{[}]~~~~~~~~~~~~~~~~~~~\textcolor{blue}{\#~create~the~empty~list} + +>\,{}>\,{}>~x.append(1)~~~~~~~~~~~~~~\textcolor{blue}{\#~add~the~integer~one~to~it} + +>\,{}>\,{}>~x.extend({[}'hi',~'mom'])~~\textcolor{blue}{\#~append~two~strings~to~it} + +>\,{}>\,{}>~x + +{[}1,~'hi',~'mom'] + +>\,{}>\,{}>~x.reverse()~~~~~~~~~~~~~~\textcolor{blue}{\#~reverse~the~list,~in~place} + +>\,{}>\,{}>~x + +{[}'mom',~'hi',~1] + +>\,{}>\,{}>~len(x) + +3 +\end{lyxcode} +We mentioned list comprehensions in the last section when discussing +string methods. List comprehensions are a way of creating a list +using a for loop in a single line of python. Let's create a list of +the perfect cubes from 1 to 10, first with a for loop and then with +a list comprehension. The list comprehension code will not only be +shorter and more elegant, it can be much faster (the dots are the +indentation block indicator from the python shell and should not be +typed) + +\begin{lyxcode} +\textcolor{blue}{\#~a~list~of~perfect~cubes~using~a~for-loop} + +>\,{}>\,{}>~cubes~=~{[}] + +>\,{}>\,{}>~for~i~in~range(1,10): + +...~~~~~cubes.append(i{*}{*}3) + +...~ + +>\,{}>\,{}>~cubes + +{[}1,~8,~27,~64,~125,~216,~343,~512,~729] + + + +\textcolor{blue}{\#~functionally~equivalent~code~using~list~comprehensions} + +>\,{}>\,{}>~cubes~=~{[}i{*}{*}3~for~i~in~range(1,10)] + +>\,{}>\,{}>~cubes + +{[}1,~8,~27,~64,~125,~216,~343,~512,~729] +\end{lyxcode} +The list comprehension code is faster because it all happens at the +C level. In the simple for-loop version, the python expression which +appends the cube of \texttt{i} has to be evaluated by the python interpreter +for each element of the loop. In the list comprehension example, the +single line is parsed once and executed at the C level. The difference +in speed can be considerable, and the list comprehension example is +shorter and more elegant to boot. + +The remaining essential built-in data strucuture in python is the +dictionary, which is an associative array that maps arbitrary immutable +objects to arbitrary objects. int, long, float, string and tuple are +all immutable and can be used as keys; to a dictionary list and dict +are mutable and cannot. A dictionary takes one kind of object as the +key, and this key points to another object which is the value. In +a contrived but easy to comprehent examples, one might map names to +ages + +\begin{lyxcode} +>\,{}>\,{}>~ages~=~\{\}~~~~~~~~~~~~\textcolor{blue}{\#~create~an~empty~dict} + +>\,{}>\,{}>~ages{[}'john']~=~36 + +>\,{}>\,{}>~ages{[}'fernando']~=~33 + +>\,{}>\,{}>~ages~~~~~~~~~~~~~~~~~\textcolor{blue}{\#~view~the~whole~dict} + +\{'john':~36,~'fernando':~33\} + +>\,{}>\,{}>~ages{[}'john'] + +36 + +>\,{}>\,{}>~ages{[}'john']~=~37~~~~\textcolor{blue}{\#~reassign~john's~age} + +>\,{}>\,{}>~ages{[}'john'] + +37 +\end{lyxcode} +Dictionary lookup is very fast; Tim Peter's once joked that any python +program which uses a dictionary is automatically 10 times faster than +any C program, which is of course false, but makes two worthy points +in jest: dictionary lookup is fast, and dictionaries can be used for +important optimizations, eg, creating a cache of frequently used values. +As a simple eaxample, suppose you needed to compute the product of +two numbers between 1 and 100 in an inner loop -- you could use a +dictionary to cache the cube of all odd of numbers < 100; if you were +inteterested in all numbers, you might simply use a list to store +the cached cubes -- I am cacheing only the odd numbers to show you +how a dictionary can be used to represent a sparse data structure + +\begin{lyxcode} + + +>\,{}>\,{}>~cubes~=~dict({[}~(~i,~i{*}{*}3~)~for~i~in~range(1,100,2)]) + +>\,{}>\,{}>~cubes{[}5] + +125 +\end{lyxcode} +The last example is syntactically a bit challenging, but bears careful +study. We are initializing a dictionary with a list comprehension. + The list comprehension is made up of length 2 tuples \texttt{( i, +i{*}{*}3} ). When a dictionary is initialized with a sequence of +length 2 tuples, it assumes the first element of the tuple \texttt{i} +is the \textit{key} and the second element i{*}{*}3is the \textit{value}. + Thus we have a lookup table from odd integers to to cube. Creating +dictionaries from list comprehensions as in this example is something +that hard-core python programmers do almost every day, and you should +too. + +\begin{xca} +Create a lookup table of the product of all pairs of numbers less +than 100. The key will be a tuple of the two numbers \texttt{(i,j)} +and the value will be the product. Hint: you can loop over multiple +ranges in a list comprehension, eg \texttt{{[} something for i in +range(Ni) for j in range(Nj)]} +\end{xca} + +\section[Zen]{The Zen of Python} + +\begin{xca} +\texttt{>\,{}>\,{}> import this} +\end{xca} + +\section{Functions and classes} + +You can define functions just about anywhere in python code. The typical +function definition takes zero or more arguments, zero or more keyword +arguments, and is followed by a documentation string and the function +definition, optionally returing a value. Here is a function to compute +the hypoteneuse of a right triange + +\begin{lyxcode} +def~hypot(base,~height): + +~~~'compute~the~hypoteneuse~of~a~right~triangle' + +~~~import~math + +~~~return~math.sqrt(base{*}{*}2~+~height{*}{*}2) +\end{lyxcode} +As in the case of the for-loop, leading white space is significant +and is used to delimt the start and end of the function. In the example +below, x = 1 is not in the function, because it is not indented + +\begin{lyxcode} +def~growone(l): + +~~~'append~1~to~a~list~l' + +~~~l.append(1) + +x~=~1 +\end{lyxcode} +Note that this function does not return anything, because the append +method modifies the list that was passed in. You should be careful +when designing functions that have side effects such as modifying +the structures that are passed in; they should be named and documented +in such a way that these side effects are clear. + +Python is pretty flexible with functions: you can define functions +within function definitions (just be mindful of your indentation), +you can attach attributes to functions (like other objects), you can +pass functions as arguments to other functions. A function keyword +argument defines a default value for a function that can be overridden. +Below is an example which provides a normalize keyword argument. The +default argument is \texttt{normalize=None}; the value None is a standard +python idiom which usually means either do the default thing or do +nothing. If \texttt{normalize} is not \texttt{None}, we assume it +is a function that can be called to normalize our data + +\begin{lyxcode} +def~psd(x,~normalize=None): + +~~~~'compute~the~power~spectral~density~of~x' + +~~~~if~normalize~is~not~None:~x~=~normalize(x) + +~~~\textcolor{blue}{~\#~compute~the~power~spectra~of~x~and~return~it} +\end{lyxcode} +This function could be called with or without a \texttt{normalize} +keyword argument, since if the argument is not passed, the default +of \texttt{None} is used and no normalization is done. + +\begin{lyxcode} + + +\textcolor{blue}{\#~no~normalize~argument;~do~the~default~thing} + +>\,{}>\,{}>~psd(x)~~~ + + + +\textcolor{blue}{\#~define~a~custom~normalize~function~unitstd~as~pass~it} + +\textcolor{blue}{\#~to~psd} + +>\,{}>\,{}>~def~unitstd(x):~return~x/std(x) + +>\,{}>\,{}>~psd(x,~normalize=unitstd) + + +\end{lyxcode} +In Section\ref{sec:into_calculator} we noticed that complex objects +have the real and imag data attributes, and the conjugate method. +An object is an instance of a class that defines it, and in python +you can easily define your own classes. In that section, we emphasized +that one of the important features of a classes/objects is that they +carry around their data and methods in a single bundle. Let's look +at the mechnics of defining classes, and creating instances (a.k.a. +objects) of these classes. Classes have a special double underscore +method \_\_init\_\_ that is used as the function to initialize the +class. For this example, we'll continue with the normalize theme above, +but in this case the normalization requires some data parameters. +This example arises when you want to normalize an image which may +range over 0-255 (8 bit image) or from 0-65535 (16 bit image) to the +0-1 interval. For 16 bit images, you would normally divide everything +by 65525, but you might want to configure this to a smaller number +if your data doesn't use the whole intensity range to enhance contrast. +For simplicitly, let's suppose our normalize class is only interested +in the pixel maximum, and will divide all the data by that value. + +\begin{lyxcode} +from~\_\_future\_\_~import~division~~\textcolor{blue}{\#~make~sure~we~do~float~division} + +class~Normalize: + +~~~~\char\"{}\char\"{}\char\"{} + +~~~~A~class~to~normalize~data~by~dividing~it~by~a~maximum~value + +~~~~\char\"{}\char\"{}\char\"{} + +~~~~def~\_\_init\_\_(self,~maxval): + +~~~~~~~~'maxval~will~be~mapped~to~1' + +~~~~~~~~self.maxval~=~maxval + +~~~~def~\_\_call\_\_(self,~data): + +~~~~~~~~'do~the~normalization' + +~~~~~~~~\textcolor{blue}{\#~in~real~life~you~would~also~want~to~clip~all~values~of} + +~\textcolor{blue}{~~~~~~~\#~data>maxval~so~that~the~returned~value~will~be~in~the~unit} + +~\textcolor{blue}{~~~~~~~\#~interval} + +~~~~~~~~return~data/self.maxval +\end{lyxcode} +The triple quoted string following the definition of class Normalize +is the class documentation stringd, and it will bre shown to the user +when they do \texttt{help(Normalize)}. A commonly used convention +is to name classes with \textit{UpperCase}, but this is not required. +self is a special variable that a class can use to refer to its own +data and methods, and must be the first argument to all the class +methods. The \texttt{\_\_init\_\_} method stores the normalization +value maxval as a class attribute in \texttt{self.maxval}, and this +value can later be reused by other class methods (as it is in \texttt{\_\_call\_\_}) +and it can be altered by the user of the class, as will illustrate +below. The \texttt{\_\_call\_\_} method is another piece of python +double underscore magic, it allows class instances to be used as \textit{functions}, +eg you can call them just like you can call any function. OK, now +let's see how you could use this. + +The first line use used to create an \textit{instance} of the \textit{class} +\texttt{Normalize}, and the special method \texttt{\_\_init\_\_} is +implicitly called. The second line implicitly calls the special \texttt{\_\_call\_\_}method + +\begin{lyxcode} +>\,{}>\,{}>~norm~=~Normalize(65356)~\textcolor{blue}{\#~good~for~16~bit~images} + +>\,{}>\,{}>~norm(255)~~~~~~~~~~~~~~~\textcolor{blue}{\#~call~this~function} + +0.0039017075708427688 + + + +\textcolor{blue}{\#~We~can~reset~the~maxval~attribute,~and~the~call~method~} + +\textcolor{blue}{\#~is~automagically~updated} + +>\,{}>\,{}>~norm.maxval~=~255~~~~~~~\textcolor{blue}{\#~reset~the~maxval} + +>\,{}>\,{}>~norm(255)~~~~~~~~~~~~~~~\textcolor{blue}{\#~and~call~it~again} + +1.0 + + + +\textcolor{blue}{\#~We~can~pass~the~norm~instance~to~the~psd~function~we~defined~above,~which~} + +\textcolor{blue}{\#~is~expecting~a~function} + +>\,{}>\,{}>~pdf(X,~normalize=norm)~~~~~~~~~~~~ +\end{lyxcode} +\begin{xca} +Pretend that \texttt{complex} were not built-in to the python core, +and write your own complex class \texttt{MyComplex}. Provide \texttt{real} +and \texttt{imag} attributes and the \texttt{conjugate} method. Define +\texttt{\_\_abs\_\_}, \texttt{\_\_mul\_\_} and \texttt{\_\_add\_\_} +to implement the absolute value of complex numbers, multiplication +of complex numbers and addition of complex numbers. See the API definition +of the python number protocol; although this is written for C programmers, +it contains information about the required function call signatures +for each of the double underscore methods that define the number protocol +in python; where they use \texttt{o1} on that page, you would use +\texttt{self} in python, and where they use \texttt{o2} you might +use \texttt{other} in python.% +\footnote{http://www.python.org/doc/current/api/number.html% +} To get you started, I'll show you what the \texttt{\_\_add\_\_} method +should look like +\end{xca} +\begin{lyxcode} +\textcolor{blue}{\#~An~example~double~underscore~method~required~in~your~MyComplex} + +\textcolor{blue}{\#~implementation} + +def~\_\_add\_\_(self,~other): + +~~~~'add~self~to~other~and~return~a~new~MyComplex~instance' + +~~~~r~=~self.real~+~other.real + +~~~~i~=~self.imag~+~other.imag + +~~~~return~MyComplex(r,i) + + + +\textcolor{blue}{\#~When~you~are~finished,~test~your~implementation~with~} + +>\,{}>\,{}>~x~=~MyComplex(2,3) + +>\,{}>\,{}>~y~=~MyComplex(0,1) + +>\,{}>\,{}>~x.real + +2.0 + +>\,{}>\,{}>~y.imag + +1.0 + +>\,{}>\,{}>~x.conjugate() + +(2-3j) + +>\,{}>\,{}>~x+y + +(2+4j) + +>\,{}>\,{}>~x{*}y + +(-3+2j) + +>\,{}>\,{}>~abs(x{*}y) + +3.6055512754639891 + + +\end{lyxcode} + +\section[Files]{Files and file like objects} + +Working with files is one of the most common and important things +we do in scientific computing because that is usually where the data +lives. In Section\ref{sec:intro_string}, we went through the mechanics +of automatically building file names like + +\begin{lyxcode} +data/myexp01.dat + +data/myexp02.dat + +data/myexp03.dat + +data/myexp04.dat +\end{lyxcode} +but we didn't actually do anything with these files. Here we'll show +how to read in the data and do something with it. Python makes working +with files easy and dare I say fun. The test data set lives in \texttt{data/family.csv} +and is a standard comma separated value file that contains information +about my family: first name, last name, age, height in cm, weight +in kg and birthdate. We'll open this file and parse it -- note that +python has a standard module for parsing CSV files that is much more +sophisticated than what I am doing here. Nevertheless, it serves as +an easy to understand example that is close enough to real life that +it is worth doing. Here is what the data file looks like + +\begin{lyxcode} +First,Last,Age,Weight,Height,Birthday + +John,Hunter,36,175,180,1968-03-05 + +Miriam,Sierig,33,135,177,1971-05-04 + +Rahel,Hunter,7,55,134,1998-02-25 + +Ava,Hunter,3,45,121,2001-04-26 + +Clara,Hunter,0,15,55,2004-10-02 +\end{lyxcode} +Here is the code to parse that file + +\begin{lyxcode} +\textcolor{blue}{\#~open~the~file~for~reading} + +fh~=~file('../data/family.csv',~'r') + +\textcolor{blue}{\#~slurp~the~header,~splitting~on~the~comma} + +headers~=~fh.readline().split(',') + +\textcolor{blue}{\#~now~loop~over~the~remaining~lines~in~the~file~and~parse~them} + +for~line~in~fh: + +~~~~\textcolor{blue}{\#~remove~any~leading~or~trailing~white~space} + +~~~~line~=~line.strip() + +~~~~\textcolor{blue}{\#~split~the~line~on~the~comma~into~separate~variables} + +~~~~first,~last,~age,~weight,~height,~dob~=~line.split(',') + +~~~~\textcolor{blue}{\#~convert~some~of~these~strings~to~floats} + +~~~~age,~weight,~height~=~{[}float(val)~for~val~in~(age,~weight,~height)] + +~~~~print~first,~last,~age,~weight,~height,~dob +\end{lyxcode} +This example illustrates several interesting things. The syntax for +opening a file is \texttt{file(filename, mode)} and the \texttt{mode} +is a string like \texttt{'r'} or \texttt{'w'} that determines whether +you are opening in read or write mode. You can also read and write +binary files with \texttt{'rb'} and \texttt{'wb'}. There are more +options and you should do \texttt{help(file)} to learn about them. +We then use the file \texttt{readline} method to read in the first +line of the file. This returns a string (the line of text) and we +call the string method \texttt{split(',')} to split that string wherever +it sees a comma, and this returns a list of strings which are the +headers + +\begin{lyxcode} +>\,{}>\,{}>~headers + +{[}'First',~'Last',~'Age',~'Weight',~'Height',~'Birthday\textbackslash{}n'] +\end{lyxcode} +The new line character \texttt{'\textbackslash{}n'} at the end of +\texttt{'Birthday\textbackslash{}n'} indicates we forgot to strip +the string of whitespace. To fix that, we should have done + +\begin{lyxcode} +>\,{}>\,{}>~headers~=~fh.readline().strip().split(',') + +>\,{}>\,{}>~headers + +{[}'First',~'Last',~'Age',~'Weight',~'Height',~'Birthday']~ +\end{lyxcode} +Notice how this works like a pipeline: \texttt{fh.readline} returns +a line of text as a string; we call the string method \texttt{strip} +which returns a string with all white space (spaces, tabs, newlines) +removed from the left and right; we then call the \texttt{split} method +on this stripped string to split it into a list of strings. + +Next we start to loop over the file -- this is a nice feature of python +file handles, you can iterate over them as a sequence. We've learned +our lesson about trailing newlines, so we first strip the line with +\texttt{line = line.strip()}. The rest is string processing, splitting +the line on a comma as we did for the headers, and converting the +strings to numbers where approriate by calling f\texttt{loat(val)} +for each of \texttt{age}, \texttt{weight} and \texttt{height}. Notice +how we use list comprehensions and tuple unpacking -- the age, weight, +\texttt{height = {[}float(val) for val in (age, weight, height)]} +line, to convert several values at once. + +Now that we have all this data, how mught we store it. We could store +it in a \texttt{results} list + +\begin{lyxcode} +results~=~{[}] + +for~line~in~fh: + +~~~~\textcolor{blue}{\#~process~the~line~as~above~to~get~the~variables} + +~~~~results.append(~(first,~last,~age,~weight,~height,~dob)~) + + + + + +\textcolor{blue}{\#~and~later~when~we~want~to~analyze~the~data} + +for~first,~last,~age,~weight,~height,~dob~in~results: + +~~~~\textcolor{blue}{\#~do~something~with~the~data} +\end{lyxcode} +\begin{xca} +\texttt{zip} magic. Python has a nice funcion \texttt{zip} that lets +you do very useful things with lists of tuples. \texttt{results} +above is a list of tuples -- each tuple is the \texttt{first}, \texttt{last}, +\texttt{age}, \texttt{weight}, \texttt{height}, \texttt{dob} for a +family member. What happens if you do +\end{xca} +\begin{lyxcode} +>\,{}>\,{}>~first,~last,~age,~weight,~height,~dob~=~zip({*}results) +\end{lyxcode} +What is \texttt{age} now? + +\begin{xca} +Write a class \texttt{Person} and store the attributes \texttt{first}, +\texttt{last}, \texttt{age}, \texttt{weight}, \texttt{height}, \texttt{dob} +in that class. Add a class instance to the results list, eg +\end{xca} +\begin{lyxcode} +results.append(Person(first,~last,~age,~weight,~height,~dob)) +\end{lyxcode} +Python also has a special syntax for printing to an open writable +file object + +\begin{lyxcode} +\textcolor{blue}{\#~open~the~file~for~writing} + +outfile~=~file('mydata.data',~'w')~ + +for~x,y,z~in~myresults: + +~~~~print~>\,{}>~outfile,~'\%1.3f~\%1.3f~\%1.3f'\%(x,y,z) +\end{lyxcode} +Another really nice thing about file objects is that other classes +can implement the file protcol and allow you to use them as if they +were files. For example, the StringIO module in the standard library +allows you to read and write to strings as if they were files. The +urllib.urlopen function allows you to open a remove web page as a +file object. Try this + +\begin{lyxcode} +\textcolor{blue}{\#~loop~over~the~lines~in~google's~html} + +from~urllib~import~urlopen + +for~line~in~urlopen('http://www.google.com').readlines(): + +~~~~print~line, +\end{lyxcode} + Added: trunk/py4science/workbook/ipython_tut.tex =================================================================== --- trunk/py4science/workbook/ipython_tut.tex (rev 0) +++ trunk/py4science/workbook/ipython_tut.tex 2007-12-03 00:12:18 UTC (rev 4548) @@ -0,0 +1,1246 @@ + +\chapter{A tour of IPython} + +One of Python's most useful features is its interactive interpreter. +This system allows very fast testing of ideas without the overhead +of creating test files as is typical in most programming languages. +In scientific computing, one of the reasons behind the popularity +of systems like Matlab~\texttrademark, IDL~\texttrademark or Mathematica~\texttrademark, +is precisely their interactive nature. Scientific computing is an +inherently exploratory problem domain, where one is rarely faced with +writing a program against a set of well-defined explicit constraints. +Being able to load data, process it with different algorithms or test +parameters, visualize it, save results, and do all of this in a fluid +and efficient way, can make a big productivity difference in day to +day scientific work. Even for the development of large codes, a good +interactive interpreter can be a major asset, though this is a less +commonly held view; later in this document we will discuss this aspect +of the problem. + +However, the interpreter supplied with the standard Python distribution +is somewhat limited for extended interactive use. The IPython project +\cite{IPython} was born out of a desire to have a better Python interactive +environment, which could combine the advantages of the Python language +with some of the best ideas found in systems like IDL or Mathematica, +along with many more enhancements. IPython is a free software project +(released under the BSD license) which tries to: + +\begin{enumerate} +\item Provide an interactive shell superior to Python's default. IPython +has many features for object introspection, system shell access, and +its own special command system for adding functionality when working +interactively. It tries to be a very efficient environment both for +Python code development and for exploration of problems using Python +objects (in situations like data analysis). +\item Serve as an embeddable, ready to use interpreter for your own programs. +IPython can be started with a single call from inside another program, +providing access to the current namespace. This can be very useful +both for debugging purposes and for situations where a blend of batch-processing +and interactive exploration are needed. +\item Offer a flexible framework which can be used as the base environment +for other systems with Python as the underlying language. Specifically +scientific environments like Mathematica, IDL and Matlab inspired +its design, but similar ideas can be useful in many fields. +\end{enumerate} +This document is not meant to replace the comprehensive IPython manual, +which ships with the IPython distribution and is also available online +at \url{http://ipython.scipy.org/doc/manual}. Instead, we will present +here some relevant parts of it for everyday use, and refer readers +to the full manual for in-depth details. + +Additionally, this article by Jeremy Jones provides an introductory +tutorial about IPython:\\ +\url{http://www.onlamp.com/pub/a/python/2005/01/27/ipython.html}. + + +\section[Main features]{Main IPython features} + +This section summarizes the most important user-visible features of +IPython, which are not a part of the default Python shell or other +interactive Python systems. While you can use IPython as a straight +replacement for the normal Python shell, a quick read of these will +allow you to take advantage of many enhancements which can be very +useful in everyday work. + +A bird's eye view of IPython's feature set: + +\begin{itemize} +\item Dynamic object introspection. You can access docstrings, function +definition prototypes, source code, source files and other details +of any object accessible to the interpreter with a single keystroke +(\texttt{?}'). Adding a second \texttt{?} produces more details when +possible. +\item Completion in the local namespace, via the TAB key. This works for +keywords, methods, variables and files in the current directory. TAB-completion, +especially for attributes, is a convenient way to explore the structure +of any object you're dealing with. Simply type object\_name. +and a list of the object's attributes will be printed. +\item Numbered input/output prompts with command history (persistent across +sessions and tied to each profile), full searching in this history +and caching of all input and output. +\item User-extensible magic' commands. A set of commands prefixed with +\texttt{\%} is available for controlling IPython itself and provides +directory control, namespace information and many aliases to common +system shell commands. +\item Alias facility for defining your own system aliases. +\item Complete system shell access. Lines starting with ! are passed directly +to the system shell, and using !! captures shell output into python +variables for further use. +\item The ability to expand python variables when calling the system shell. +In a shell command, any python variable prefixed with \texttt{\$} +is expanded. A double \texttt{\$\$} allows passing a literal \texttt{\$} +to the shell (for access to shell and environment variables like \texttt{\$PATH}). +\item Filesystem navigation, via a magic \texttt{\%cd} command, along with +a persistent bookmark system (using \texttt{\%bookmark}) for fast +access to frequently visited directories. +\item A macro system for quickly re-executing multiple lines of previous +input with a single name, implemented via the \texttt{\%macro} magic +command. +\item Session logging and restoring via the \texttt{\%logstart}, \texttt{\%logon/off} +and \texttt{\%logstate} magics. You can then later use these log files +as code in your programs. +\item Verbose and colored exception traceback printouts. Easier to parse +visually, and in verbose mode they produce a lot of useful debugging +information. +\item Auto-parentheses: callable objects can be executed without parentheses: +\texttt{sin 3'} is automatically converted to \texttt{sin(3)}'. +\item Auto-quoting: using \texttt{,}' as the first character forces auto-quoting +of the rest of the line: \texttt{,my\_function a b'} becomes automatically +\texttt{my\_function(\char\"{}a\char\"{},\char\"{}b\char\"{})'.} +\item Flexible configuration system. It uses a configuration file which +allows permanent setting of all command-line options, module loading, +code and file execution. The system allows recursive file inclusion, +so you can have a base file with defaults and layers which load other +customizations for particular projects. +\item Embeddable. You can call IPython as a python shell inside your own +python programs. This can be used both for debugging code or for providing +interactive abilities to your programs with knowledge about the local +namespaces (very useful in debugging and data analysis situations). +\item Easy debugger access. You can set IPython to call up the Python debugger +(pdb) every time there is an uncaught exception. This drops you inside +the code which triggered the exception with all the data live and +it is possible to navigate the stack to rapidly isolate the source +of a bug. The \texttt{\%run} magic command --with the \texttt{-d} +option-- can run any script under \texttt{pdb}'s control, automatically +setting initial breakpoints for you. +\item Profiler support. You can run single statements (similar to \texttt{profile.run()}) +or complete programs under the profiler's control. While this is possible +with the standard \texttt{profile} module, IPython wraps this functionality +with magic commands (see \texttt{\%prun'} and \texttt{\%run -p}') +convenient for rapid interactive work. +\end{itemize} + +\section[Interactive use]{Effective interactive work } + +IPython has been designed to try to make interactive work as fluid +and efficient as possible. All of its features try to maximize the +output-per-keystroke, so that as you work at an interactive console, +minimal typing produces results. It makes extensive use of the readline +library, has its own control system (magics), caches previous inputs +and outputs, has a macro system, etc. Becoming familiar with these +features, while not necessary for basic use, will make long-term use +of the system much more pleasant and productive. + + +\subsection{Magic functions} + +The default Python interactive shell only allows valid Python code +to be typed at its input prompt. While this appears like a reasonable +approach in principle, in practical use it turns out to be rather +limiting. A good interactive environment should allow you to control +the environment itself, in hopefully the most typing-efficient way. + +Verbosity in code is a good thing, since code is a long-lived entity, +and deciphering three-letter acronyms for variable names, 6 months +after a program was written, is typically an exercise in frustration. +However at an interactive prompt, where every keystroke counts and +things are not meant to be permanent, compact and efficient control +of your environment is an important feature. The default Python shell +does not offer this, and the Python language's verbosity, which is +an asset for the long-term readability of code, becomes a bit of a +liability in this context. + +For this reason, IPython offers a system of magic' commands, which +serve to control IPython itself and perform a number of common tasks. +Users of IDL will be familiar with the dot' commands, like \texttt{.stop}, +which perform similar functions in that system. In IPython, the magic +system covers much more functionality and is fully user-extensible. +This allows users to add all the control they may desire to their +everyday working environment. + +The magics system is patterned after the time-honored Unix shells, +with whitespace separating arguments, no parentheses required, and +dashes for specifying options to commands. Many builtin magics also +are named like the Unix commands they mimic, so that an IPython environment +can be used out of the box' by any Unix user with ease. + +IPython will treat any line whose first character is a \texttt{\%} +as a special call to a magic function. For example: typing \texttt{\%cd +mydir'} (without the quotes) changes you working directory to \texttt{mydir'}, +if it exists. For any magic function, typing its name followed by +\texttt{?} will show you the magic's information and docstring, just +like for other regular Python objects. Simply typing \texttt{magic} +at the prompt will print an overview of the system, and a list of +all the existing magics with their docstrings. + +If you have 'automagic' enabled, you don't need to type in the \texttt{\%} +explicitly. Automagic is enabled by default, and you can configure +this in your \texttt{ipythonrc} file, via the command line option +\texttt{-automagic} or even toggle it at runtime with the \texttt{\%automagic} +function. IPython will scan its internal list of magic functions and +call one if it exists. With automagic on you can then just type \texttt{cd +mydir}' to go to directory \texttt{mydir}'. The automagic system +has the lowest possible precedence in name searches, so defining an +identifier with the same name as an existing magic function will shadow +it for automagic use. You can still access the shadowed magic function +by explicitly using the \texttt{\%} character at the beginning of +the line. + +An example (with automagic on) should clarify all this: + +\begin{lyxcode} +In~{[}1]:~cd~ipython~\textcolor{blue}{\#~\%cd~is~called~by~automagic} + +/home/fperez/ipython + +In~{[}2]:~cd~=~1~\textcolor{blue}{\#~now~cd~is~just~a~variable} + +In~{[}3]:~cd~..~\textcolor{blue}{\#~and~doesn't~work~as~a~function~anymore} + +-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}- + +~~~~File~\char\"{}\char\"{},~line~1 + +~~~~~~cd~.. + +~~~~~~~~~~\textasciicircum{} + +SyntaxError:~invalid~syntax + + + +In~{[}4]:~\%cd~..~\textcolor{blue}{\#~but~\%cd~always~works} + +/home/fperez + +In~{[}5]:~del~cd~\textcolor{blue}{\#~if~you~remove~the~cd~variable} + +In~{[}6]:~cd~ipython~\textcolor{blue}{\#~automagic~can~work~again} + +/home/fperez/ipython +\end{lyxcode} + +\subsection{Object exploration} + +Python is a language with exceptional introspection capabilities. +This means that, within the language itself, it is possible to extract +a remarkable amount of information about all objects currently in +memory. However the default Python shell exposes very little of this +power in an easy to use manner; IPython provides a lot of functionality +to remedy this. + +The bulk of IPython's introspection system is accessible via only +two keys: the question mark \texttt{?} and the \texttt{} key. +Under the hood, these two keys control a fairly complex set of libraries +which ultimately rely on the \texttt{readline} and \texttt{inspect} +modules from the Python standard library. But for regular use, you +should never need to remember anything beyond these two. As an example, +consider defining a variable named \texttt{mylist}, which starts as +an empty list: + +\begin{lyxcode} +In~{[}1]:~mylist={[}] +\end{lyxcode} +now you can find out some things about it by using the question mark: + +\begin{lyxcode} +In~{[}2]:~mylist? + +Type:~~~~~~~~~~~list + +Base~Class:~~~~~ + +String~Form:~~~~{[}] + +Namespace:~~~~~~Interactive + +Length:~~~~~~~~~0 + +Docstring: + +~~~~list()~->~new~list + +~~~~list(sequence)~->~new~list~initialized~from~sequence's~items +\end{lyxcode} +next, by adding a period (the standard Python attribute separator) +and hitting \texttt{TAB}, IPython will show you all the attributes +which this object has: + +\begin{lyxcode} +In~{[}3]:~mylist.\textcolor{blue}{\emph{}} + +mylist.append~~~mylist.extend~~~mylist.insert~~~mylist.remove~mylist.sort + +mylist.count~~~~mylist.index~~~~mylist.pop~~~~~~mylist.reverse +\end{lyxcode} +you can then request further details about any of them: + +\begin{lyxcode} +In~{[}3]:~mylist.append? + +Type:~~~~~~~~~~~builtin\_function\_or\_method + +Base~Class:~~~~~ + +String~Form:~~~~ + +Namespace:~~~~~~Interactive + +Docstring: + +~~~~L.append(object)~-{}-~append~object~to~end +\end{lyxcode} +The \texttt{?} system can be doubled. The first screenshot in Fig.~\ref{fig:ipscr_code} +was generated by typing at the IPython prompt: + +\begin{lyxcode} +In~{[}1]:~import~code + +In~{[}2]:~code?? +\end{lyxcode} +Using \texttt{??} shows the syntax-highlighted source for the \texttt{code} +module from the Python standard library. This is an excellent way +to explore modules or objects which you are not familiar with. As +long as Python's \texttt{inspect} system is capable of finding the +source code for an object, IPython will show it to you, with nice +syntax highlights. + +This can be done for entire modules, as in the prvious example, for +individual functions, or even methods of object instances. The second +screenshot in the same figure shows source for the \texttt{timeit} +method of a \texttt{timeit.Timer} object. + +The magic commands \texttt{\%pdoc}, \texttt{\%pdef}, \texttt{\%psource} +and \texttt{\%pfile} will respectively print the docstring, function +definition line, full source code and the complete file for any object +(when they can be found). + +% +\begin{figure} +\begin{centering} +\includegraphics[width=0.48\linewidth]{fig/ipscr_code}~\includegraphics[width=0.48\linewidth]{fig/ipscr_meth_src} +\par\end{centering} + +\caption{\label{fig:ipscr_code}IPython can show syntax-highlighted source +code for objects whose source is available.} + +\end{figure} + + + +\subsection{Input and Ouptut cached prompts} + +In IPython, all output results are automatically stored in a global +dictionary named \texttt{Out} and variables named \texttt{\_1}, \texttt{\_2}, +etc. alias them. For example, the result of input line 4 is available +either as \texttt{Out{[}4]} or as \texttt{\_4}. Additionally, three +variables named \texttt{\_}, \texttt{\_\_} and \texttt{\_\_\_} are +always kept updated with the for the last three results. This allows +you to recall any previous result and further use it for new calculations. +For example: + +\begin{lyxcode} +In~{[}1]:~2+4 + +Out{[}1]:~6 + + + +In~{[}2]:~\_+9 + +Out{[}2]:~15 + + + +In~{[}3]:~\_+\_\_ + +Out{[}3]:~21 + + + +In~{[}4]:~print~\_1 + +6 + + + +In~{[}5]:~print~Out{[}1] + +6 + + + +In~{[}6]:~\_2{*}{*}3 + +Out{[}6]:~3375 +\end{lyxcode} +You can put a \texttt{;}' at the end of a line to supress the printing +of output. This is useful when doing calculations which generate long +output you are not interested in seeing. The \texttt{\_{*}} variables +and the \texttt{Out{[}]} list do get updated with the contents of +the output, even if it is not printed. You can thus still access the +generated results this way for further processing. + +A similar system exists for caching input. All input is stored in +a global list called \texttt{In} , so you can re-execute lines 22 +through 28 plus line 34 by typing \texttt{'exec In{[}22:29]+In{[}34]'} +(using Python slicing notation). + +At any time, your input history remains available. The \texttt{\%hist} +command can show you all previous input, without line numbers if desired +(option \texttt{-n}) so you can directly copy and paste code either +back in IPython or in a text editor. You can also save all your history +by turning on logging via \texttt{\%logstart}; these logs can later +be either reloaded as IPython sessions or used as code for your programs. + +If you need to execute the same set of lines often, you can assign +them to a macro with the \texttt{\%macro} magic function. Macros are +simply short names for groups of input lines, which can be re-executed +by only typing that name. Typing \texttt{macro?} at the prompt will +show you the function's full documentation. For example, if your history +contains: + +\begin{lyxcode} +44:~x=1 + +45:~y=3 + +46:~z=x+y + +47:~print~x + +48:~a=5 + +49:~print~'x',x,'y',y +\end{lyxcode} +You can create a macro with lines 44 through 47 (included) and line +49 called \texttt{my\_macro} with: + +\begin{lyxcode} +In~{[}51]:~\%macro~my\_macro~44:48~49 +\end{lyxcode} +Now, simply typing \texttt{my\_macro} will re-execute all this code +in one pass. The number range follows standard Python list slicing +notation, where \texttt{n:m} means the numbers$(n,n+1,\ldots,m-1).$+ +You should note that macros execute in the current context, so if +any variable changes, the macro will pick up the new value every time +it is executed: + +\begin{lyxcode} +In~{[}1]:~x=1 + +In~{[}2]:~y=x{*}5 + +In~{[}3]:~z=x+3 + +In~{[}4]:~print~'y~is:',y,'and~z~is:',z + +y~is:~5~and~z~is:~4 + +\textcolor{blue}{\#~make~a~macro~with~lines~2,3,4~(note~Python~list~slice~syntax):} + +In~{[}5]:~macro~yz~2:5 + +Macro~yz~created.~To~execute,~type~its~name~(without~quotes). + +Macro~contents: + +y=x{*}5 + +z=x+3 + +print~'y~is:',y,'and~z~is:',z + +\textcolor{blue}{\#~now,~run~the~macro~directly:} + +In~{[}6]:~yz + +Out{[}6]:~Executing~Macro... + +y~is:~5~and~z~is:~4 + +\textcolor{blue}{\#~we~change~the~value~of~x} + +In~{[}7]:~x=9 + +\textcolor{blue}{\#~and~now~if~we~rerun~the~macro,~we~get~the~new~values:} + +In~{[}8]:~yz + +Out{[}8]:~Executing~Macro... + +y~is:~45~and~z~is:~12 +\end{lyxcode} + +\subsection{Running code} + +The \texttt{\%run} magic command allows you to run any python script +and load all of its data directly into the interactive namespace. +\texttt{\%run} is a sophisticated wrapper around the Python \texttt{execfile()} +builtin function; since the file is re-read from disk each time, changes +you make to it are reflected immediately (in contrast to the behavior +of \texttt{import}). I rarely use \texttt{import} for code I am testing, +relying on \texttt{\%run} instead. + +By default, + +\begin{lyxcode} +\%run~myfile~arg1~arg2~... +\end{lyxcode} +executes \texttt{myfile} in a namespace initially consisting only +of \texttt{\_\_name\_\_=='\_\_main\_\_'} and \texttt{sys.argv} being +filled with arg1, arg2, etc. This means that using \texttt{\%run} +is functionally very simlar to executing a script at the system command +line, but you get all the functionality of IPython (better tracebacks, +debugger and profiler access, etc.). The \texttt{-n} option prevents +\texttt{\_\_name\_\_} from being set equal to \texttt{'\_\_main\_\_'}, +in case you want to test the part of a script which only runs when +\texttt{import}ed. + +Additionally, the fact that IPython then updates your interactive +namespace with the variables defined in the script is very useful, +because you can run your code to do a lot of processing, and then +continue using and exploring interactively the objects created by +the program. + +For example, if the file \texttt{ip\_simple.py} contains: + +\lstinputlisting{examples/ip_simple.py}you can run it in IPython +as follows: + +\begin{lyxcode} +\textcolor{blue}{\#~First,~let's~check~that~x~is~undefined} + +In~{[}1]:~x + +-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}- + +exceptions.NameError~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Traceback~(most~recent~call~last) + +/usr/local/home/fperez/teach/course/problems/ + +NameError:~name~'x'~is~not~defined + + + +\textcolor{blue}{\#~Now~we~run~the~script~(the~.py~extension~is~optional):} + +In~{[}2]:~run~ip\_simple + +sys.argv~is:~{[}'ip\_simple.py'] + +\_\_name\_\_~is:~\_\_main\_\_ + + + +\textcolor{blue}{\#~If~we~print~x,~now~it~has~the~value~from~the~script} + +In~{[}3]:~x + +Out{[}3]:~1 + + + +\textcolor{blue}{\#~Again,~but~now~running~with~some~arguments:} + +In~{[}4]:~run~ip\_simple~-x~arg1~\char\"{}hello~world\char\"{} + +sys.argv~is:~{[}'ip\_simple.py',~'-x',~'arg1',~'hello~world'] + +\_\_name\_\_~is:~\_\_main\_\_ +\end{lyxcode} +With the \texttt{-i} option, the namespace where your script runs +is actually your interactive one. This can be used for two sligthly +different purposes. The simpler case, is just to quickly type up a +set of commands in an editor which you want to execute on your current +environment (although the \texttt{\%edit} command can also be used +for this). Consider running the file \texttt{ip\_simple2.py}: + +\lstinputlisting{examples/ip_simple2.py}in IPython: + +\begin{lyxcode} +\textcolor{blue}{\#~A~regular~\%run~will~produce~an~error:} + +In~{[}1]:~run~ip\_simple2 + +-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}- + +exceptions.NameError~~~~~~~~~~~~~~Traceback~(most~recent~call~last) + +/usr/local/home/fperez/teach/course/problems/ip\_simple2.py + +~~~~~~2 + +~~~~~~3~It~should~be~run~via~IPython's~\%run~with~the~-i~option.\char\"{}\char\"{}\char\"{} + +~~~~~~4 + +-{}-{}-{}->~5~print~'x~is:',x + +~~~~~~6 + +NameError:~name~'x'~is~not~defined + +WARNING:~Failure~executing~file:~ + +x~is: + +\textcolor{blue}{\#~However,~if~you~do~have~a~variable~x~defined:} + +In~{[}2]:~x='hello' + +\textcolor{blue}{\#~you~can~use~the~-i~option~and~the~code~will~see~x:} + +In~{[}3]:~run~-i~ip\_simple2 + +x~is:~hello +\end{lyxcode} +A different use of \texttt{\%run -i}, is to repeatedly run scripts +which may have a potentially expensive initialization phase. If this +initialization does not need to be repeated on each run (for example, +you are debugging some other submodule and can reuse the same expensive +object several times), you can avoid it by protecting the expensive +object with a \texttt{try/except} block. This simple script illustrates +the technique: + +\lstinputlisting{examples/ip_expensive_init.py}In IPython, here is +how you can use it: + +\begin{lyxcode} +\textcolor{blue}{\#~The~first~time~it~runs,~it~will~have~to~initialize} + +In~{[}1]:~run~-i~ip\_expensive\_init.py + +bigobject~not~found,~performing~expensive~initialization... + +total~is:~499500 + +\textcolor{blue}{\#~but~successive~runs~don't~require~initialization} + +In~{[}2]:~run~-i~ip\_expensive\_init.py + +We~found~bigobject!~No~need~to~initialize~it. + +total~is:~499500 + +\textcolor{blue}{\#~you~can~still~run~without~-i,~to~achieve~a~full~reload~} + +\textcolor{blue}{\#~if~you~need~it~for~any~reason} + +In~{[}3]:~run~ip\_expensive\_init.py + +bigobject~not~found,~performing~expensive~initialization... + +total~is:~499500 +\end{lyxcode} +In the third run, by not using \texttt{-i}, your script runs in an +empty namespace and this forces a full initialization (the \texttt{NameError} +exception is triggered). + +\texttt{\%run} also has special flags for timing the execution of +your scripts (\texttt{-t}) and for executing them under the control +of either Python's \texttt{pdb} debugger (\texttt{-d}) or profiler +(\texttt{-p}). You can get all of its docstring with the usual \texttt{run?} +mechanism. + +Thanks to all of its various control options, \texttt{\%run} can be +used as the main tool for efficient interactive development of code +which you write in your editor of choice. My personal operation mode, +which has served me well for several years of scientific work in Python, +is to have a good editor (XEmacs in my case) open with all my Python +code, and IPython open in a terminal where I run, debug, explore, +plot, etc. + + +\section[OS access]{Access to the underlying Operating System} + + +\subsection{Basic usage} + +IPython allows you to always access the underlying OS very easily. +Any lines starting with \texttt{!} are passed directly to the system +shell: + +\begin{lyxcode} +In~{[}6]:~!ls~ip{*}.py + +ip\_expensive\_init.py~~ip\_simple2.py~~ip\_simple.py +\end{lyxcode} +and using \texttt{!!} captures shell output into python variables +for further use: + +\begin{lyxcode} +In~{[}7]:~!!ls~ip{*}.py + +Out{[}7]:~{[}'ip\_expensive\_init.py',~'ip\_simple2.py',~'ip\_simple.py'] +\end{lyxcode} +There is a difference between the two cases: in the first, the \texttt{ls} +command simply prints its results to the terminal as text, but no +value is returned. In the second, IPython actually captures the output +of the command, splits it as a list (one line per entry), and returns +its value. This allows you to then operate on the results with Python +routines. + +Additionally, IPython plays a few interesting syntactic tricks for +your convenience. Whenever you make a system call, IPython will expand +any call of the type \texttt{\$var} into the actual value of the python +variable \texttt{var}, so that you can call shell commands on Python +values. Continuing the session above, and remembering that \texttt{\_} +holds the previously returned value, we can call the \texttt{wc -l}' +Unix command (which does a line count on a file) on the files we just +obtained: + +\begin{lyxcode} +In~{[}8]:~for~f~in~\_: + +~~~...:~~~~~~if~'simple'~in~f: + +~~~...:~~~~~~~~~~!wc~-l~\$f + +~~~...: + +3~ip\_simple2.py + +4~ip\_simple.py +\end{lyxcode} +While this is completely unorthodox (actually, invalid) Python, it +is the kind of functionality which can make for extremely efficient +uses when working at an interactive command line. Obviously all of +this can be done (and it \emph{is} done that way by IPython internally) +with regular Python code, but that approach requires a fair amount +more typing, the use of \texttt{\%}-based string interpolation, and +making system calls via the \texttt{os.system()} function. + +If you actually need to pass a \texttt{\$} character to a shell command, +you simply use \texttt{\$\$} in the IPython command line: + +\begin{lyxcode} +In~{[}11]:~!echo~\$\$SHELL + +/bin/tcsh +\end{lyxcode} +If you want to capture the output of a system command directly to +a named Python variable, you can use the \texttt{\%sc} magic function: + +\begin{lyxcode} +\textcolor{blue}{\#~by~default,~\%sc~captures~to~a~plain~string:} + +In~{[}16]:~\%sc~astr=ls~ip{*}.py + +In~{[}17]:~astr + +Out{[}17]:~'ip\_expensive\_init.py\textbackslash{}nip\_simple2.py\textbackslash{}nip\_simple.py' + +\textcolor{blue}{\#~but~with~the~-l~option,~it~splits~to~a~list~(like~!!~does)} + +In~{[}18]:~\%sc~-l~alist=ls~ip{*}.py + +In~{[}19]:~alist + +Out{[}19]:~{[}'ip\_expensive\_init.py',~'ip\_simple2.py',~'ip\_simple.py'] +\end{lyxcode} + +\subsection{System aliases} + +In IPython, you can also define your own system aliases. Even though +IPython gives you access to your system shell via the \texttt{!} prefix, +it is convenient to have aliases to the system commands you use most +often. This allows you to work seamlessly from inside IPython with +the same commands you are used to in your system shell: + +\texttt{\%alias alias\_name cmd'} defines \texttt{alias\_name'} +as an alias for \texttt{cmd'} + +Then, typing \texttt{alias\_name params'} will execute the system +command \texttt{cmd params'} (from your underlying operating system). +Aliases have lower precedence than magic functions and Python normal +variables, so if \texttt{foo'} is both a Python variable and an alias, +the alias can not be executed until \texttt{del foo'} removes the +Python variable. If you need to access an alias directly, you can +use the builtin function \texttt{ipalias} as \texttt{ipalias('foo')}. + +You can use the \texttt{\%l} specifier in an alias definition to represent +the whole line when the alias is called. For example: + +\begin{lyxcode} +In~{[}2]:~alias~all~echo~\char\"{}Input~in~brackets:~<\%l>\char\"{} + +In~{[}3]:~all~hello~world + +Input~in~brackets:~ +\end{lyxcode} +You can also define aliases with positional parameters using \texttt{\%s} +specifiers (one per parameter): + +\begin{lyxcode} +In~{[}1]:~alias~parts~echo~first~\%s~second~\%s + +In~{[}2]:~\%parts~A~B + +first~A~second~B + +In~{[}3]:~\%parts~A + +Incorrect~number~of~arguments:~2~expected. + +parts~is~an~alias~to:~'echo~first~\%s~second~\%s' +\end{lyxcode} +Aliases expand Python variables just like system calls using \texttt{!} +or \texttt{!!} do: all expressions prefixed with '\texttt{\$}' get +expanded. For details of the semantic rules, see PEP-215: \url{http://www.python.org/peps/pep-0215.html}. +This is the library used by IPython for variable expansion. + +Simply typing \texttt{alias} will print a list of the current aliases, +and \texttt{unalias} can be used to remove an alias. For further details, +use \texttt{alias?}. + + +\subsection{Directory management} + +IPython comes with some pre-defined aliases and a complete system +for changing directories, both via a stack (see \texttt{\%pushd}, +\texttt{\%popd} and \texttt{\%ds}) and via direct \texttt{\%cd}. The +latter keeps a history of visited directories and allows you to go +to any previously visited one. You can see this history with the \texttt{\%dhist} +magic: + +\begin{lyxcode} +In~{[}1]:~cd~\textasciitilde{}/code/python + +/home/fperez/code/python + +In~{[}2]:~cd~\textasciitilde{}/teach/ + +/home/fperez/teach + +In~{[}3]:~cd~\textasciitilde{}/research + +/home/fperez/research + +In~{[}4]:~dhist + +Directory~history~(kept~in~\_dh) + +0:~/home/fperez/teach/course/examples + +1:~/home/fperez/code/python + +2:~/home/fperez/teach + +3:~/home/fperez/research + +In~{[}5]:~cd~-1 + +/home/fperez/code/python +\end{lyxcode} +The \texttt{\%bookmark} magic allows you to create named bookmarks +in your filesystem, which \texttt{cd} can be directed to go to (with +the \texttt{-b} flag), and to which it will try to default automatically +if no such named directory exists. The system is very easy to use +and quite natural in practice: + +\begin{lyxcode} +In~{[}8]:~bookmark~course + +In~{[}9]:~cd + +/home/fperez + +In~{[}10]:~ls~course + +ls:~course:~No~such~file~or~directory + +In~{[}11]:~cd~course + +(bookmark:course)~->~/home/fperez/teach/course + +/home/fperez/teach/course +\end{lyxcode} + +\subsection{IPython as a system shell} + +While IPython is \emph{not} a system shell, it ships with a special +profile called \texttt{pysh}, which you can activate at the command +line as \texttt{ipython -p pysh'}. This modifies IPython's behavior +and adds some additional facilities and a prompt customized for filesystem +navigation. + +Note that this does \emph{not} make IPython a full-fledged system +shell. In particular, it has no job control, so if you type Ctrl-Z +(under Unix), you'll suspend pysh itself, not the process you just +started. + +What the shell profile allows you to do is to use the convenient and +powerful syntax of Python to do quick scripting at the command line. +Below we describe some of its features. + + +\subsubsection{Aliases} + +All of your \texttt{\$PATH} has been loaded as IPython aliases, so +you should be able to type any normal system command and have it executed. +See \texttt{\%alias?} and \texttt{\%unalias?} for details on the alias +facilities. See also \texttt{\%rehash?} and \texttt{\%rehashx?} for +details on the mechanism used to load \texttt{\$PATH}. + + +\subsubsection{Special syntax} + +Any lines which begin with \texttt{\textasciitilde{}'}, \texttt{/'} +and \texttt{.'} will be executed as shell commands instead of as +Python code. The special escapes below are also recognized. \texttt{!cmd} +is valid in single or multi-line input, all others are only valid +in single-line input: + +\begin{description} +\item [{\texttt{!cmd}}] pass cmd' directly to the shell +\item [{\texttt{!!cmd}}] execute cmd' and return output as a list (split +on \textbackslash{}n') +\item [{\texttt{\$var=cmd}}] capture output of cmd into var, as a string +(shorthand for \texttt{\%sc var=cmd}) +\item [{\texttt{\$\$var=cmd}}] capture output of cmd into var, as a list +(split on \textbackslash{}n', shorthand for \texttt{\%sc -l var=cmd}) +\end{description} + +\subsubsection{Useful functions and modules} + +The os, sys and shutil modules from the Python standard library are +automatically loaded. Some additional functions, useful for shell +usage, are listed below. You can request more help about them with +\texttt{?}'. + +\begin{description} +\item [{\texttt{shell}}] - execute a command in the underlying system shell +\item [{\texttt{system}}] - like \texttt{shell()}, but return the exit +status of the command +\item [{\texttt{sout}}] - capture the output of a command as a string +\item [{\texttt{lout}}] - capture the output of a command as a list (split +on \textbackslash{}n') +\item [{\texttt{getoutputerror}}] - capture (output,error) of a shell commandss +\end{description} +\texttt{sout}/\texttt{lout} are the functional equivalents of \texttt{\$}/\texttt{\$\$}. +They are provided to allow you to capture system output in the middle +of true python code, function definitions, etc (where \texttt{\$} +and \texttt{\$\$} are invalid) + + +\section{Access to an editor} + +You can use \texttt{\%edit} to have almost multiline editing. While +IPython doesn't support true multiline editing, this command allows +you to call an editor on the spot, and IPython will execute the code +you type in there as if it were typed interactively. + +\texttt{\%edit} runs your IPython configured editor. By default this +is read from your environment variable \texttt{\$EDITOR}. If this +isn't found, it will default to \texttt{vi} under Linux/Unix and to +\texttt{notepad} under Windows. + +You can also set the value of this editor via the command-line option +\texttt{-editor'} or in your \texttt{ipythonrc} file. This is useful +if you wish to use specifically for IPython an editor different from +your typical default (and for Windows users who typically don't set +environment variables). + +This command allows you to conveniently edit multi-line code right +in your IPython session. + +If called without arguments, \texttt{\%edit} opens up an empty editor +with a temporary file and will execute the contents of this file when +you close it (don't forget to save it!). + + +\section{Customizing IPython} + + +\subsection{Basics} + +IPython has a very flexible configuration system. It uses a configuration +file which allows permanent setting of all command-line options, module +loading, code and file execution. The system allows recursive file +inclusion, so you can have a base file with defaults and layers which +load other customizations for particular projects. + +IPython reads a configuration file which can be specified at the command +line (\texttt{-rcfile}) or which by default is assumed to be called +\texttt{ipythonrc}. Such a file is looked for in the current directory +where IPython is started and then in your \texttt{IPYTHONDIR}, which +allows you to have local configuration files for specific projects. +The default value for this directory is \texttt{\$HOME/.ipython} (\texttt{\_ipython} +under Windows). Under Unix operating systems \texttt{\$HOME} always +exists; for Windows, IPython will try to find such an environment +variable; if it doesn't exist, it uses \texttt{HOMEDRIVE\textbackslash{}HOMEPATH} +(these are always defined by Windows). This typically gives something +like \texttt{C:\textbackslash{}Documents and Settings\textbackslash{}YourUserName}, +but your local details may vary. Finally, you can make this directory +live anywhere you want by creating an environment variable called +\texttt{\$IPYTHONDIR}. + +In this directory you will find all the files that configure IPython's +defaults, and you can put there your profiles and extensions. This +directory is automatically added by IPython to \texttt{sys.path}, +so anything you place there can be found by \texttt{import} statements. + +The syntax of an rcfile is one of key-value pairs separated by whitespace, +one per line. Lines beginning with a \texttt{\#} are ignored as comments, +but comments can \textbf{not} be put on lines with data (the parser +is fairly primitive). You can study the default rcfile created by +IPython at startup for customization details, it is extremely commented. + + +\subsection{Profiles} + +IPython can load any configuration file you want if you give its name +at startup with the \texttt{-rcfile} flag. However, for convenience +it provides a shorthand based on a naming convention for loading such +profiles. This system allows you to easily maintain customized versions +of IPython for specific purposes. + +With the \texttt{-profile } flag (you can abbreviate it to \texttt{-p}), +IPython will assume that your config file is called \texttt{ipythonrc-} +(it looks in current dir first, then in \texttt{IPYTHONDIR}). This +is a quick way to keep and load multiple config files for different +tasks, especially if you use the include option of config files. You +can keep a basic \texttt{IPYTHONDIR/ipythonrc} file and then have +other profiles which include this one and load extra things for particular +tasks. For example: + +\begin{enumerate} +\item \texttt{\$HOME/.ipython/ipythonrc}: load basic things you always want. +\item \texttt{\$HOME/.ipython/ipythonrc-math}: load (1) and basic math-related +modules. +\item \texttt{\$HOME/.ipython/ipythonrc-numeric}: load (1) and Numeric and +plotting modules. +\end{enumerate} +Since it is possible to create an endless loop by having circular +file inclusions, IPython will stop if it reaches 15 recursive inclusions. + + +\section[Debugging and profiling]{Debugging and profiling with IPython } + +The Python standard library includes powerful facilities for debugging +and profiling code, but it is common to find even experienced Python +programmers who still do not take advantage of them. In part, this +is due to the fact that loading and configuring them requires reading +an extra documentation section, and keeping a bit of additional information +about their use in your head. IPython tries to automate their use +to the point where, with a single command, you can use either of these +subsystems in a transparent manner. Hopefully they will become part +of your daily workflow. + +At its most basic, for debugging your programs, you can rely on using +\texttt{\%run} to execute them, see the results, play with all variables +loaded into the interactive namespace, etc. A typical working session +involves keeping your favorite editor open with the file you are working +on, and repeatedly calling \texttt{\%run} on it as you make changes +and save them. + +% +\begin{figure} +\begin{centering} +\includegraphics[width=0.7\linewidth]{fig/ipscr_traceback} +\par\end{centering} + +\caption{\label{fig:ipscr_traceback}IPython can provide extremely detailed +tracebacks.} + +\end{figure} + + +If your program raises an exception, IPython will provide you with +a more detailed traceback than the default Python ones. You can even +increase the level of detail further by using \texttt{\%xmode Verbose}, +which forces the printing of variable values at all stack frames. +This option should be used with care though (and that's why it is +not the default), as printing a ten-million-entry array can lock up +your computer for a very long time. An example of this kind of very +informative traceback is shown in Fig.~\ref{fig:ipscr_traceback}. + + +\subsection{Automatic invocation of \texttt{pdb} on exceptions} + @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.   SF.net SVN: matplotlib: [4556] trunk/py4science/workbook From: - 2007-12-03 08:22:18 Revision: 4556 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4556&view=rev Author: fer_perez Date: 2007-12-03 00:22:16 -0800 (Mon, 03 Dec 2007) Log Message: ----------- Reorganize a bit. Waste 2 hours dealing with utf-8 problems with latex... Modified Paths: -------------- trunk/py4science/workbook/intro_to_python.tex trunk/py4science/workbook/ipython_tut.tex trunk/py4science/workbook/main.tex trunk/py4science/workbook/matplotlib_tut.tex trunk/py4science/workbook/qsort.tex trunk/py4science/workbook/why_python.tex trunk/py4science/workbook/wrapping.tex Added Paths: ----------- trunk/py4science/workbook/introduction.tex Modified: trunk/py4science/workbook/intro_to_python.tex =================================================================== --- trunk/py4science/workbook/intro_to_python.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/intro_to_python.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -734,13 +734,12 @@ \end{lyxcode} -There are two string methods, \texttt{split} and \texttt{join}, that -arise frequenctly in Numeric processing, specifically in the context -of processing data files that have comma, tab, or space separated -numbers in them. \texttt{split} takes a single string, and splits -it on the indicated character to a sequence of strings. This is useful -to take a single line of space or comma separated values and split -them into individual numbers +There are two string methods, \texttt{split} and \texttt{join}, that arise +frequenctly in numerical processing, specifically in the context of processing +data files that have comma, tab, or space separated numbers in +them. \texttt{split} takes a single string, and splits it on the indicated +character to a sequence of strings. This is useful to take a single line of +space or comma separated values and split them into individual numbers \begin{lyxcode} \textcolor{blue}{\#~s~is~a~single~string~and~we~split~it~into~a~list~of~strings} Added: trunk/py4science/workbook/introduction.tex =================================================================== --- trunk/py4science/workbook/introduction.tex (rev 0) +++ trunk/py4science/workbook/introduction.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -0,0 +1,41 @@ +\chapter*{Introduction} + +This book is currently a work in progress, and ultimately we hope it will +evolve into an open, community-driven document developed in tandem with the +underlying tools, by the same scientists who have written them. + +The book is aimed at practicing scientists, students and in general anyone who +is looking for a modern, high-level and open platform for scientific +computing. The Python language is in the opinion of the authors the leading +candidate today for this role. + +The book is broadly divided in two parts: the first is a general discussion of +the Python tools used for scientific work, with an explanatory approach. It is +not a complete Python reference book, as there are many excellent resources for +the base language, both in print and online. But beyond the basic language and +the NumPy book, it should serve as reasonably self-contained description of the +core libraries for common numerical tasks. + +The second part is meant as a practical workbook, and the build system used to +produce the document will in the future allow users to create custom versions +with only the examples that they deem practical for any given audience. This +workbook approach grew out of a sequence of workshops taught by the editors at +a number of research institutions and universities, and we've found it to be +extremely convenient. + +The workbook is structured as a collection of problems, meant to be solved by +the reader as programming exercises. The entire book can be compiled in one of +two forms: either with the examples in skeleton' form, where they contain +incomplete code meant to be filled in, or with the full solution code. This +should enable instructors to hand out the skeleton workbook at courses and +workshops, with the solutions being available as well for after the teaching is +over. + +We hope that the community will continue to contribute many more examples, so +that ultimately the projects allows for the easy construction of custom +workbooks tailored to the needs of different audiences. + +\begin{flushright} +John D. Hunter and Fernando P\xE9rez, editors. + +\end{flushright} Modified: trunk/py4science/workbook/ipython_tut.tex =================================================================== --- trunk/py4science/workbook/ipython_tut.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/ipython_tut.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -1020,8 +1020,6 @@ \item \texttt{\$HOME/.ipython/ipythonrc}: load basic things you always want. \item \texttt{\$HOME/.ipython/ipythonrc-math}: load (1) and basic math-related modules. -\item \texttt{\$HOME/.ipython/ipythonrc-numeric}: load (1) and Numeric and -plotting modules. \end{enumerate} Since it is possible to create an endless loop by having circular file inclusions, IPython will stop if it reaches 15 recursive inclusions. Modified: trunk/py4science/workbook/main.tex =================================================================== --- trunk/py4science/workbook/main.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/main.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -45,6 +45,9 @@ \usepackage{babel} \makeatother + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Begin main document - front matter + \begin{document} \title{ \vspace{3cm} @@ -67,10 +70,15 @@ \tableofcontents{} -\part{Discussion} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main document - body +\input{introduction.tex} + +\part{General Discussion} + % In this part, each tex file is a chapter by itself, since it is more or less % meant to be used in whole. + \input{why_python.tex} \input{intro_to_python.tex} @@ -83,7 +91,8 @@ -\part{Workbook} +\part{Workbook\\ +A Problem Collection} % This part specifies the chapter declarations in the main file, while the % chapters are made of individual TeX files which themselves should be written @@ -91,26 +100,19 @@ % few closely related topics, and to allow users to build them with as many or % as few actual sections as desired for a given audience. -\chapter{Introduction} - +\chapter{Introduction to the workbook} \input{intro.tex} -\chapter{Simple non-numerical problems} - +\chapter{Simple non-numerical Problems} \input{qsort.tex} - \input{wordfreqs.tex} \chapter{Working with files, the internet, and numpy arrays} - \input{files_etc.tex} -\chapter{Elementary Numerics} - +\chapter{Elementary numerics} \input{wallis_pi.tex} - \input{trapezoid.tex} - \input{quad_newton.tex} \chapter{Linear algebra} @@ -122,7 +124,7 @@ \input{convolution.tex} \input{fft_imdenoise.tex} -\chapter{Dynamical Systems} +\chapter{Dynamical systems} \input{intro_dynsys.tex} \input{lotka_volterra.tex} @@ -131,9 +133,11 @@ \input{stats_descriptives.tex} \input{stats_distributions.tex} -\chapter{Plotting on Maps} +\chapter{Plotting on maps} \input{basemap.tex} +%%% Bibliography section + \bibliographystyle{plain} \bibliography{python,python2} Modified: trunk/py4science/workbook/matplotlib_tut.tex =================================================================== --- trunk/py4science/workbook/matplotlib_tut.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/matplotlib_tut.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -6,17 +6,16 @@ matplotlib is a library for making 2D plots of arrays in python.% \footnote{This short guide is not meant as a complete guide or tutorial. There -is a more comprehensive user's guide and tutorial on the matplotlib -web-site at http://matplotlib.sf.net.% -} Although it has its origins in emulating the Matlab graphics commands, -it does not require matlab, and has a pure, object oriented API. Although -matplotlib is written primarily in python, it makes heavy use of Numeric/numarray -and other extension code to provide good performance even for large -arrays. matplotlib is designed with the philosophy that you should -be able to create simple plots with just a few commands, or just one! -If you want to see a histogram of your data, you shouldn't need to -instantiate objects, call methods, set properties, and so on; it should -just work. + is a more comprehensive user's guide and tutorial on the matplotlib web-site + at http://matplotlib.sf.net.% +} Although it has its origins in emulating the Matlab graphics commands, it +does not require matlab, and has a pure, object oriented API. Although +matplotlib is written primarily in python, it makes heavy use of NumPy and +other extension code to provide good performance even for large +arrays. matplotlib is designed with the philosophy that you should be able to +create simple plots with just a few commands, or just one! If you want to see +a histogram of your data, you shouldn't need to instantiate objects, call +methods, set properties, and so on; it should just work. The matplotlib code is divided into three parts: the \textit{pylab interface} is the set of functions provided by the \texttt{pylab} @@ -355,68 +354,7 @@ In~{[}25]:~set(t,~fontsize=20,~color='darkslategray')~ \end{lyxcode} -\section[numerix]{A common interface to Numeric and numarray} -Currently the python computing community is in a state of having too -many array pacakges, none of which satisfy everyone's needs. Although -Numeric and numarray both provide the same set of core functions, -they are organized differently, and matplotlib provides a compatibility -later so you can use either one in your matplotlib scripts without -having to change your code. - -Several numarray/Numeric developers are codevelopers of matplotlib, -giving matplotlib full Numeric and numarray compatibility, thanks -in large part to Todd Miller's \texttt{matplotlib.numerix} module -and the numarray compatibility layer for extension code. This allows -you to choose between Numeric or numarray at the prompt or in a config -file. Thus when you do - -\begin{lyxcode} -\textcolor{blue}{\#~import~matplotlib~and~all~the~numerix~functions} - -from~pylab~import~{*} -\end{lyxcode} -you'll not only get all the matplotlib pylab interface commands, but -most of the Numeric or numarray package as well (depending on your -\texttt{numerix} setting). All of the array creation and manipulation -functions are imported, such as \texttt{array}, \texttt{arange}, \texttt{take}, -\texttt{where}, etc, as are the external module functions which reside -in \texttt{mlab, fft} and \texttt{linear\_algebra.} - -Even if you don't want to import all of the numerix symbols from the -pytlab interface, to make your matplotlib scripts as portable as possible -with respect to your choice of array packages, it is advised not to -explicitly import Numeric or numarray. Rather, you should use \texttt{matplotlib.numerix} -where possible, either by using the functions imported by \texttt{pylab}, -or by explicitly importing the \texttt{numerix} module, as in - -\begin{lyxcode} -\textcolor{blue}{\#~create~a~numerix~namespace} - -import~matplotlib.numerix~as~n - -from~matplotlib.numerix.mlab~import~mean - -x~=~n.arange(100) - -y~=~n.take(x,~range(10,20)) - -print~mean(y) -\end{lyxcode} -For the remainder of this manual, the term \texttt{numerix} is used -to mean either the Numeric or numarray package. To select numarray -or Numeric from the prompt, run your matplotlib script with - -\begin{lyxcode} -~~>~python~myscript.py~-{}-numarray~~\textcolor{blue}{\#~use~numarray} - -~~>~python~myscript.py~-{}-Numeric~~~\textcolor{blue}{\#~use~Numeric} -\end{lyxcode} -Typically, however, users will choose one or the other and make this -setting in their rc file using either \texttt{numerix : Numeric} or -\texttt{numerix : numarray}. - - \section[matplotlibrc]{Customizing the default behavior with the rc file} matplotlib is designed to work in a variety of settings: some people @@ -436,13 +374,13 @@ \begin{lyxcode} C:\textbackslash{}Python23\textbackslash{}share\textbackslash{}matplotlib\textbackslash{}.matplotlibrc~\textcolor{blue}{\#~windows}~/usr/share/matplotlib/.matplotlibrc~~\textcolor{blue}{\#~linux} \end{lyxcode} -By default, the installer will overwrite the existing file in the -install path, so if you want to preserve your's, please move it to -your \texttt{HOME} dir and set the environment variable if necessary. -In the rc file, you can set your backend , your numerix setting , -whether you'll be working interactively and default values for most -of the figure properties. +By default, the installer will overwrite the existing file in the install path, +so if you want to preserve yours, please move it to your \texttt{HOME} dir and +set the environment variable if necessary. In the rc file, you can set your +backend, whether you'll be working interactively and default values for most of +the figure properties. + In the RC file, blank lines, or lines starting with a comment symbol, are ignored, as are trailing comments. Other lines must have the format Modified: trunk/py4science/workbook/qsort.tex =================================================================== --- trunk/py4science/workbook/qsort.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/qsort.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -30,12 +30,16 @@ \subsection*{Hints} \begin{itemize} -\item Python has no particular syntactic requirements for implementing recursion, -but it does have a maximum recursion depth. This value can be queried -via the function \texttt{sys.getrecursionlimit()}, and it can be changed -with \texttt{sys.setrecursionlimit(new\_value)}. + +\item Python has no particular syntactic requirements for implementing + recursion, but it does have a maximum recursion depth. This value can be + queried via the function \texttt{sys.getrecursionlimit()}, and it can be + changed with \texttt{sys.setrecursionlimit(new\_value)}. + \item Like in all recursive problems, don't forget to implement an exit -condition! + condition! + \item If \texttt{L} is a list, the call \texttt{len(L)} provides its length. + \end{itemize} Modified: trunk/py4science/workbook/why_python.tex =================================================================== --- trunk/py4science/workbook/why_python.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/why_python.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -43,7 +43,7 @@ group at the Scripps Research Institute uses Python extensively to build a suite of applications for molecular visualization and exploration of drug/molecule interactions using virtual reality and 3D printing -technology\cite{Sanner2005a,Sanner2005b}. Engineers at Google use +technology \cite{Sanner2005a,Sanner2005b}. Engineers at Google use Python in automation, control and tuning of their computational grid, and use \texttt{SWIG} generated Python of their in-house C++ libraries in virtually all facets of their work \cite{Beazley1998,Stein2005}. @@ -116,7 +116,7 @@ Complementing these built-in features, Python is also readily extensible, giving it a wealth of libraries for scientific computing that have been in development for many years \cite{Dubois1996b,Dubois1996c}. -\texttt{Numeric Python} supports large array manipulations, math, +\texttt{NumPy} supports large array manipulations, math, optimized linear algebra, efficient Fourier transforms and random numbers. \texttt{scipy} is a collection of Python wrappers of high performance FORTRAN code (eg LAPACK, ODEPACK) for numerical analysis @@ -239,8 +239,8 @@ 256x256 pixels, and each pixel is a 2 byte integer. We read this into a string using python's \texttt{file} function -- the 'rb' flag says to open the file in \texttt{read/binary} mode. We can then use the -numerix \texttt{fromstring} method to convert this to an array, passing -the type of the data (\texttt{Int16}) as an argument. We reshape the +numpy \texttt{fromstring} method to convert this to an array, passing +the type of the data (\texttt{int16}) as an argument. We reshape the array by changing the array shape attribute to 256 by 256, and pass this off to the matplotlib pylab command \texttt{imshow} for plotting. matplotlib has a number of colormaps, and the default one is jet; @@ -277,7 +277,7 @@ \end{lyxcode} creates a 20x30 array of zeros (default integer type; details on how to specify other types will follow). Note that the dimensions ({}shape'' -in numarray parlance) are specified by giving the dimensions as a +in numpy parlance) are specified by giving the dimensions as a comma-separated list within parentheses. The parentheses aren't necessary for a single dimension. As an aside, the parentheses used this way are being used to specify a Python tuple; more will be said about @@ -333,36 +333,35 @@ \subsection{Array numeric types} -numarray supports all standard numeric types. The default integer +numpy supports all standard numeric types. The default integer matches what Python uses for integers, usually 32 bit integers or -what numarray calls \texttt{Int32}. The same is true for floats, i.e., -generally 64-bit doubles called \texttt{Float64} in numarray. The -default complex type is \texttt{Complex64}. Many of the functions +what numpy calls \texttt{int32}. The same is true for floats, i.e., +generally 64-bit doubles called \texttt{float64} in numpy. The +default complex type is \texttt{complex64}. Many of the functions accept a type argument. For example \begin{lyxcode} ->\,{}>\,{}>~zeros(3,~Int8)~\#~Signed~byte +>\,{}>\,{}>~zeros(3,~int8)~\#~Signed~byte ->\,{}>\,{}>~zeros(3,~type=UInt8)~\#~Unsigned~byte +>\,{}>\,{}>~zeros(3,~dtype=uint8)~\#~Unsigned~byte ->\,{}>\,{}>~array({[}2,3],~type=Float32) +>\,{}>\,{}>~array({[}2,3],~dtype=float32) ->\,{}>\,{}>~arange(4,~type=Complex64) +>\,{}>\,{}>~arange(4,~dtype=complex64) \end{lyxcode} -The possible types are \texttt{Int8, UInt8, Int16, UInt16, Int32, -UInt32, Int64, UInt64, Float32, Float64, Complex32, Complex64.} To -find out the type of an array use the .type() method. E.g., +The possible types are \texttt{int8, uint8, int16, uint16, int32, +uint32, int64, uint64, float32, float64, complex32, complex64.} To +find out the type of an array use the .dtype() method. E.g., \begin{lyxcode} ->\,{}>\,{}>~arr.type() - -Float32 +>\,{}>\,{}>~arr.dtype() +dtype('float32') \end{lyxcode} To convert an array to a different type use the \texttt{astype()} method, e.g, \begin{lyxcode} ->\,{}>\,{}>~a~=~arr.astype(Float64) +>\,{}>\,{}>~a~=~arr.astype(float64) \end{lyxcode} \subsection{Printing arrays} @@ -537,7 +536,7 @@ All of the indexing tools available for 1-D arrays apply to \emph{n}-dimensional arrays as well (though combining index arrays with slices is not currently permitted). To understand all the indexing options in their full detail, -read sections 4.6, 4.7 and 6 of the numarray manual. +read sections 4.6, 4.7 and 6 of the numpy manual. \subsection{Compatibility of dimensions} @@ -711,7 +710,7 @@ \subsection{Array functions} There are many array utility functions. The following lists the more -useful ones with a one line description. See the numarray manual for +useful ones with a one line description. See the numpy manual for details on how they are used. Arguments shown with argument=value indicate what the default value is if called without a value for that argument. @@ -858,9 +857,7 @@ \item [{\texttt{\emph{a}}\texttt{.repeat}\textmd{(a,repeats,axis=0):}}]~ \item [{\texttt{\emph{a}}\texttt{.resize}\textmd{(shape):}}]~ \item [{\texttt{\emph{a}}\texttt{.size}\textmd{():}}] same as nelements -\item [{\texttt{\emph{a}}\texttt{.type}\textmd{():}}] returns type of array -\item [{\texttt{\emph{a}}\texttt{.typecode}\textmd{():}}] returns corresponding -typecode character used by Numeric +\item [{\texttt{\emph{a}}\texttt{.dtype}\textmd{():}}] returns type of array \item [{\texttt{\emph{a}}\texttt{.tofile}\textmd{(}\textmd{\emph{file}}\textmd{):}}] write binary data to file \item [{\texttt{\emph{a}}\texttt{.tolist}\textmd{():}}] convert data to Modified: trunk/py4science/workbook/wrapping.tex =================================================================== --- trunk/py4science/workbook/wrapping.tex 2007-12-03 04:56:57 UTC (rev 4555) +++ trunk/py4science/workbook/wrapping.tex 2007-12-03 08:22:16 UTC (rev 4556) @@ -125,8 +125,8 @@ causes f2py to keep cached copies of the scratch areas, so no unnecessary mallocs should be triggered. -Since f2py relies on Numeric arrays, all dimensions can be determined -from the arrays themselves and it is not necessary to pass them explicitly. +Since f2py relies on NumPy arrays, all dimensions can be determined from the +arrays themselves and it is not necessary to pass them explicitly. With all this, the resulting f2py-generated docstring becomes: @@ -232,7 +232,7 @@ \subsection{Passing offset arrays to Fortran routines} It is possible to pass offset arrays (like pointers to the middle -of other arrays) by using Numeric's slice notation. +of other arrays) by using NumPy's slice notation. The print\_dvec function below simply prints its argument as \char\"{}print{*},'x',x\char\"{}. We show some examples of how it behaves with both 1 and 2-d arrays: @@ -339,7 +339,7 @@ \subsection{On matrix ordering and in-memory copies} -Numeric (which f2py relies on) is C-based, and therefore its arrays +NumPy (which f2py relies on) is C-based, and therefore its arrays are stored in row-major order. Fortran stores its arrays in column-major order. This means that copying issues must be dealt with. Below we reproduce some comments from Pearu on this topic given in the f2py @@ -348,7 +348,7 @@ \begin{quote} To avoid copying, you should create array that has internally Fortran data ordering. This is achived, for example, by reading/creating your -data in Fortran ordering to Numeric array and then doing Numeric.transpose +data in Fortran ordering to NumPy array and then doing numpy.transpose on that. Every f2py generated extension module provides also function has\_column\_major\_storage @@ -360,7 +360,7 @@ Also note that copying done by f2py generated interface is carried out in C on the raw data and therefore it is extremely fast compared -to if you would make a copy in Python, even when using Numeric. Tests +to if you would make a copy in Python, even when using NumPy. Tests with say 1000x1000 matrices show that there is no noticable performance hit when copying is carried out, in fact, sometimes making a copy may speed up things a bit -- I was quite surprised about that myself. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4573] trunk/py4science/workbook From: - 2007-12-04 06:24:10 Revision: 4573 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4573&view=rev Author: fer_perez Date: 2007-12-03 22:24:07 -0800 (Mon, 03 Dec 2007) Log Message: ----------- Get skeleton to build correctly, rewrite makefile to do as few latex runs as possible Modified Paths: -------------- trunk/py4science/workbook/Makefile Added Paths: ----------- trunk/py4science/workbook/problems_skel/basemap1.py trunk/py4science/workbook/problems_skel/basemap2.py trunk/py4science/workbook/problems_skel/basemap3.py trunk/py4science/workbook/problems_skel/basemap4.py trunk/py4science/workbook/problems_skel/basemap5.py Modified: trunk/py4science/workbook/Makefile =================================================================== --- trunk/py4science/workbook/Makefile 2007-12-04 03:18:39 UTC (rev 4572) +++ trunk/py4science/workbook/Makefile 2007-12-04 06:24:07 UTC (rev 4573) @@ -1,20 +1,55 @@ -solved: +# Makefile for the py4science book. + +# Dependencies + +# Warning: list the .aux *before* the bbl. It's probably possible to get the +# rules right, but I'm not sure how. +SKEL_SRC = workbook_skeletons.aux workbook_skeletons.bbl \ +workbook_skeletons.tex main.tex + +SOL_SRC = $(subst _skeletons,_solved,$(SKEL_SRC)) + +# programs +PDFTEX = pdflatex -file-line-error +FASTPDFTEX = pdflatex -file-line-error -draftmode -halt-on-error + +# convenience shorthand for targets +sol: workbook_solved.pdf +skel: workbook_skeletons.pdf +all: sol skel + +# actual targets +workbook_solved.pdf: $(SOL_SRC) rm -f problems - ln -s problems_solved problems - rm -f workbook_solved.tex - ln -s main.tex workbook_solved.tex - pdflatex workbook_solved - bibtex workbook_solved - pdflatex workbook_solved - rm -f workbook_solved.tex + ln -sf problems_solved problems +$(PDFTEX) workbook_solved + $(PDFTEX) workbook_solved -skeletons: +workbook_skeletons.pdf:$(SKEL_SRC) rm -f problems - ln -s problems_skel problems - rm -f workbook_skeletons.tex - ln -s main.tex workbook_skeletons.tex - pdflatex workbook_skeletons - rm -f workbook_skeletons.tex + ln -sf problems_skel problems + $(PDFTEX) workbook_skeletons +workbook_skeletons.tex: + ln -sf main.tex workbook_skeletons.tex + +workbook_solved.tex: + ln -sf main.tex workbook_solved.tex + clean: - rm -f *~ *.aux *.log *.toc *.out \ No newline at end of file + rm -f *~ *.aux *.log *.toc *.out *.bbl *.blg + +distclean: clean + rm -f workbook_solved.pdf workbook_skeletons.pdf + +# Basic rules +empty := +%.bbl : %.aux + bibtex$(subst .aux,$(empty),$<) + $(FASTPDFTEX)$(subst .aux,$(empty),$<) + +%.aux : %.tex + $(FASTPDFTEX)$< + +# Phony targets +.PHONY: all clean Added: trunk/py4science/workbook/problems_skel/basemap1.py =================================================================== --- trunk/py4science/workbook/problems_skel/basemap1.py (rev 0) +++ trunk/py4science/workbook/problems_skel/basemap1.py 2007-12-04 06:24:07 UTC (rev 4573) @@ -0,0 +1 @@ +link ../../examples/skel/basemap1_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/problems_skel/basemap1.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/problems_skel/basemap2.py =================================================================== --- trunk/py4science/workbook/problems_skel/basemap2.py (rev 0) +++ trunk/py4science/workbook/problems_skel/basemap2.py 2007-12-04 06:24:07 UTC (rev 4573) @@ -0,0 +1 @@ +link ../../examples/skel/basemap2_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/problems_skel/basemap2.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/problems_skel/basemap3.py =================================================================== --- trunk/py4science/workbook/problems_skel/basemap3.py (rev 0) +++ trunk/py4science/workbook/problems_skel/basemap3.py 2007-12-04 06:24:07 UTC (rev 4573) @@ -0,0 +1 @@ +link ../../examples/skel/basemap3_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/problems_skel/basemap3.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/problems_skel/basemap4.py =================================================================== --- trunk/py4science/workbook/problems_skel/basemap4.py (rev 0) +++ trunk/py4science/workbook/problems_skel/basemap4.py 2007-12-04 06:24:07 UTC (rev 4573) @@ -0,0 +1 @@ +link ../../examples/skel/basemap4_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/problems_skel/basemap4.py ___________________________________________________________________ Name: svn:special + * Added: trunk/py4science/workbook/problems_skel/basemap5.py =================================================================== --- trunk/py4science/workbook/problems_skel/basemap5.py (rev 0) +++ trunk/py4science/workbook/problems_skel/basemap5.py 2007-12-04 06:24:07 UTC (rev 4573) @@ -0,0 +1 @@ +link ../../examples/skel/basemap5_skel.py \ No newline at end of file Property changes on: trunk/py4science/workbook/problems_skel/basemap5.py ___________________________________________________________________ Name: svn:special + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. 
 SF.net SVN: matplotlib: [4663] trunk/py4science/workbook From: - 2007-12-07 04:48:32 Revision: 4663 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4663&view=rev Author: jdh2358 Date: 2007-12-06 20:48:30 -0800 (Thu, 06 Dec 2007) Log Message: ----------- updated pyrex workbook Modified Paths: -------------- trunk/py4science/workbook/main.tex Added Paths: ----------- trunk/py4science/workbook/intro_pyrex.tex trunk/py4science/workbook/pyrex_ringbuf.tex Added: trunk/py4science/workbook/intro_pyrex.tex =================================================================== --- trunk/py4science/workbook/intro_pyrex.tex (rev 0) +++ trunk/py4science/workbook/intro_pyrex.tex 2007-12-07 04:48:30 UTC (rev 4663) @@ -0,0 +1,167 @@ +\texttt{pyrex} is a pure python packages that utilizes a custom +language which is a hybid of C and python to write code that looks +like python, but is converted by \texttt{pyrex} into python C +extension code. It can be used to write custom C extension modules in +a python like module to remove performance bottlenecks in code, as +well as to wrap and existing C API with a python binding. \textt{pyrex} +generates C code, so you can use it to automatically generate C +extensions that you can ship with your code and users can build your +code without \texttt{pyrex} installed. + +\section{Writing C extensions \texttt{pyrex}} + +The canonical \texttt{pyrex} example generates a list of \texttt{N} +prime numbers, and illustrates the hybrid nature of \texttt{pyrex} +syntax + +\begin{lstlisting} + +# name this file with the pyx extension for pyrex, rather than the py +# extension for python, eg primes.pyx +def primes(int kmax): + # pyrex uses cdef to declare a c type + cdef int n, k, i + cdef int p[1000] + + # you can use normal python too, eg a python list + result = [] + if kmax > 1000: + kmax = 1000 + k = 0 + n = 2 + while k < kmax: + i = 0 + while i < k and n % p[i] <> 0: + i = i + 1 + if i == k: + p[k] = n + k = k + 1 + result.append(n) + n = n + 1 + return result + +\end{lstlisting} + +To build our python extension, we will use the \texttt{pyrex.distutils} +extensions. Here is a typical setup.py + +\begin{lstlisting} +from distutils.core import setup + +# we use the Pyrex distutils Extension class rather than the standard +# python one +#from distutils.extension import Extension + +from Pyrex.Distutils.extension import Extension +from Pyrex.Distutils import build_ext + +setup( + name = 'Demos', + ext_modules=[ + Extension("primes", ["primes.pyx"]), + ], + cmdclass = {'build_ext': build_ext} +) + +\end{lstlisting} + +and we can build it in place using + +\begin{lstlisting} +python setup.py build_ext --inplace +\end{lstlisting} + +This creates a primes.c module which is the generated C code that we +can ship with our python code to users who may not have \texttt{pyrex} +installed, and a primes.so file which is the python shared library +extension. We can now fire up ipython, import primes, and call our +function with C performance. Here is an example shell session in +which we build and test our new extension code + +\begin{lstlisting} +# our single pyx file from above +pyrex_demos> ls primes* +primes.pyx + +# build the module in place +pyrex_demos> python setup.py build_ext --inplace +running build_ext +pyrexc primes.pyx --> primes.c +building 'primes' extension +creating build +creating build/temp.macosx-10.3-fat-2.5 +gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c primes.c -o build/temp.macosx-10.3-fat-2.5/primes.o +gcc -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-fat-2.5/primes.o -o primes.so + +# now we have the original pyx and also the autogenerated C file and +# the extension module +pyrex_demos> ls primes* +primes.cprimes.pyxprimes.so + +# let's test drive this in ipython +pyrex_demos> ipython +IPython 0.8.3.svn.r2876 -- An enhanced Interactive Python. + +In [1]: import primes + +In [2]: dir(primes) +Out[2]: ['__builtins__', '__doc__', '__file__', '__name__', 'primes'] + +In [3]: print primes.primes(20) +[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71] + + +\end{lstlisting} + + +\section{Working with \texttt{numpy} arrays} + +\textt{numpy} arrays are the core of high performance computing in +python, and on of the most common data formats for passing large data +sets around between pyhton code and other wrappers. There are many +things that arrays do very well and are practically as fast as a +native C or Fortran implementations, eg convolutions and FFTs. But +there are somethings that can be painfully slow in python when working +with arrays, for example iterative algorithms over an array of values. +For these cases, it is nice to be able to quickly generate some python +extension code for working with \texttt{numpy} array data. + +\texttt{numpy} provides a file which exposes its C API for use in +\texttt{pyrex} extension code, you can find it, and another file which +\texttt{numpy} uses to expose the requisite bits of the Python C API +which it needs, in the \texttt{numpy} source code directory +\texttt{numpy/doc/pyrex}. These files are \texttt{c_numpy.pxd} and +\texttt{c_python.pxd}. In addition, \texttt{numpy} provides and +example file \texttt{numpyx.pyx}that shows you how to build a pyx +extension file for multi-dimensional array sof different data types +(eg int, float, python object). Here we will be a little less +ambitious for starters, and write a simple toy function that sums a 1D +array of floats. + +\begin{lstlisting} + +# import the numpy c API (you need to have c_python.pxd and +# c_numpy.pxd from the numpy source directory in your build directory +cimport c_numpy + +# since this is pyrex, we can import normal python modules too +import numpy + +# numpy must be initialized -- don't forget to do this when writing +# numpy extension code. It's a common gotcha +c_numpy.import_array() + +def sum_elements(c_numpy.ndarray arr): + cdef int i + cdef double x, val + + x = 0. + val = 0. + for i from 0<=i(arr.data + i*arr.strides[0]))[0] + x = x + val + + return x + +\end{lstlisting} + Modified: trunk/py4science/workbook/main.tex =================================================================== --- trunk/py4science/workbook/main.tex 2007-12-07 04:43:36 UTC (rev 4662) +++ trunk/py4science/workbook/main.tex 2007-12-07 04:48:30 UTC (rev 4663) @@ -50,12 +50,12 @@ \begin{document} -\title{ \vspace{3cm} +\title{ \vspace{3cm} Practical Scientific Computing\\ in Python} -\author{ \vspace{1cm} +\author{ \vspace{1cm} Editors:\\ John D. Hunter\\ Fernando P\xE9rez @@ -136,6 +136,11 @@ \chapter{Plotting on maps} \input{basemap.tex} +\chapter{Performance python: interfacing with other languages} +\input{intro_pyrex.tex} +\input{pyrex_ringbuf.tex} + + %%% Bibliography section \bibliographystyle{plain} Added: trunk/py4science/workbook/pyrex_ringbuf.tex =================================================================== --- trunk/py4science/workbook/pyrex_ringbuf.tex (rev 0) +++ trunk/py4science/workbook/pyrex_ringbuf.tex 2007-12-07 04:48:30 UTC (rev 4663) @@ -0,0 +1,43 @@ +This exercise introduces \texttt{pyrex} to wrap a C library for +trailing statistics. + +Computation of trailing windowed statistics is common in many +quantitative data driven disciplines, particularly where there is +noisy data. Common uses of windowed statistics are the trailing +moving average, standard deviation, minumum and maximum. Two common +use cases which pose computational challenges for python: real time +updating of trailing statistics as live data comes in, and posthoc +computation of trailing statistics over a large data array. In the +second case, for some statistics we can use convolution and related +techniques for efficient computation, eg of the trailing 30 sample +average + +\begin{lstlisting} + numpy.convolve(x, numpy.ones(30), mode=valid')[:len(x)] +\end{lstlisting} + +but for other statistics like the trailing 30 day maximum at each +point, efficient routines like convolution are of no help. + +This exercise introduces \texttt{pyrex} to efficiently solve the problem of +trailing statistics over arrays as well as for a live, incoming data +stream. A pure C library, \texttt{ringbuf}, defines a circular C +buffer and attached methods for efficiently computing trailing +averages, and \texttt{pyrex} is used to provide a pythonic API on top of this +extension code. The rigid segregation between the C library and the +python wrappers insures that the C code can be used in other projects, +be it a matlab (TM) extension or some other C library. The goal of +the exercise is to compute the trailing statistics \textit{mean}, +\textit{median}, \textit{stddev}, \textit{min} and \textit{max} using +three approaches: + +\begin{itemize} + \item with brute force using \texttt{numpy} arrays, slices and methods + + \item with python bindings to the \texttt{ringbuf} code + \texttt{ringbuf.Ringbuf}. + + \item using a \texttt{pyrex} extension to the + \texttt{ringbuf.runstats} code + +\end{itemize} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. `