From b04e55fbbcdcbca04098f1bf05ec4473e47b5c51 Mon Sep 17 00:00:00 2001 From: couchot Date: Wed, 29 Oct 2014 16:23:02 +0100 Subject: [PATCH 1/1] =?utf8?q?retouche=20complexit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- complexity.eps | 4097 +++++++++++++++++++++++++++ complexity.tex | 68 +- experiments.tex | 19 +- ourapproach.tex | 4 +- stc/exp/python/complexityDisplay.py | 37 + 5 files changed, 4184 insertions(+), 41 deletions(-) create mode 100644 complexity.eps create mode 100644 stc/exp/python/complexityDisplay.py diff --git a/complexity.eps b/complexity.eps new file mode 100644 index 0000000..8eb76d2 --- /dev/null +++ b/complexity.eps @@ -0,0 +1,4097 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: complexity.eps +%%Creator: matplotlib version 1.3.1, http://matplotlib.org/ +%%CreationDate: Wed Oct 29 15:58:05 2014 +%%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 +/c { curveto } bind def +/cl { closepath } bind def +/box { +m +1 index 0 r +0 exch r +neg 0 r +cl +} bind def +/clipbox { +box +clip +newpath +} bind def +%!PS-Adobe-3.0 Resource-Font +%%Title: Arial +%%Copyright: Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved +%%Creator: Converted from TrueType to type 3 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 /ArialMT def +/PaintType 0 def +/FontMatrix[.001 0 0 .001 0 0]def +/FontBBox[-665 -325 2028 1037]def +/FontType 3 def +/Encoding [ /space /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /H /S /U /W /a /b /c /d /e /f /g /h /i /l /m /n /o /p /r /s /t /u /w /y ] def +/FontInfo 10 dict dup begin +/FamilyName (Arial) def +/FullName (Arial) def +/Notice (Typeface © The Monotype Corporation plc. Data © The Monotype Corporation plc/Type Solutions Inc. 1990-1992. All Rights Reserved Arial¨ Trademark of The Monotype Corporation plc registered in the US Pat & TM Off. and elsewhere.) def +/Weight (Regular) def +/Version (Version 2.82) def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -217 def +/UnderlineThickness 150 def +end readonly def +/CharStrings 37 dict dup begin +/space{278 0 0 0 0 0 _sc +}_d +/period{278 0 91 0 191 100 _sc +91 0 _m +91 100 _l +191 100 _l +191 0 _l +91 0 _l +_cl}_d +/slash{278 0 0 -11 278 728 _sc +0 -11 _m +208 728 _l +278 728 _l +71 -11 _l +0 -11 _l +_cl}_d +/zero{{556 0 42 -11 508 719 _sc +42 353 _m +42 437 50 505 68 557 _c +85 609 111 649 145 677 _c +179 705 223 719 275 719 _c +313 719 347 711 376 695 _c +404 679 428 657 447 628 _c +466 599 481 564 492 522 _c +502 480 508 423 508 353 _c +508 269 499 201 482 149 _c +465 97 439 58 405 30 _c +371 2 327 -11 275 -11 _c +205 -11 151 13 112 62 _c +65 121 42 218 42 353 _c +132 353 _m +}_e{132 235 145 157 173 118 _c +200 79 234 60 275 60 _c +315 60 348 79 376 118 _c +404 157 418 235 418 353 _c +418 471 404 549 376 588 _c +348 626 314 646 274 646 _c +233 646 201 629 177 595 _c +147 551 132 470 132 353 _c +_cl}_e}_d +/one{556 0 109 0 373 719 _sc +373 0 _m +285 0 _l +285 560 _l +263 540 235 519 201 499 _c +167 479 136 464 109 454 _c +109 539 _l +158 562 201 590 238 623 _c +274 655 300 687 316 719 _c +373 719 _l +373 0 _l +_cl}_d +/two{{556 0 29 0 503 719 _sc +503 84 _m +503 0 _l +30 0 _l +29 21 33 41 41 61 _c +53 93 72 124 98 156 _c +124 187 163 223 213 265 _c +291 328 343 378 371 416 _c +398 453 412 488 412 522 _c +412 556 399 586 374 610 _c +349 634 317 646 277 646 _c +235 646 201 633 176 608 _c +150 582 137 547 137 502 _c +47 512 _l +53 579 76 630 116 666 _c +156 701 211 719 279 719 _c +}_e{347 719 402 699 442 661 _c +482 623 502 576 502 520 _c +502 491 496 463 484 435 _c +472 407 453 378 426 348 _c +399 317 354 275 291 222 _c +238 178 204 148 189 132 _c +174 116 162 100 152 84 _c +503 84 _l +_cl}_e}_d +/three{{556 0 42 -12 511 719 _sc +42 189 _m +130 201 _l +140 151 157 115 181 93 _c +205 71 235 60 270 60 _c +311 60 346 74 374 103 _c +402 131 417 167 417 209 _c +417 249 403 283 377 309 _c +351 335 317 349 277 349 _c +260 349 239 345 215 339 _c +225 416 _l +231 415 235 415 239 415 _c +276 415 310 424 340 444 _c +370 464 385 494 385 535 _c +385 567 374 593 352 614 _c +}_e{330 635 302 646 268 646 _c +234 646 205 635 182 614 _c +159 592 145 560 139 518 _c +51 533 _l +61 592 86 638 124 670 _c +162 702 209 719 266 719 _c +305 719 341 710 374 693 _c +406 676 431 653 449 625 _c +467 596 476 565 476 533 _c +476 501 467 473 451 448 _c +434 422 409 402 377 388 _c +419 378 451 357 475 327 _c +499 296 511 257 511 211 _c +511 149 488 96 442 53 _c +}_e{396 9 339 -12 270 -12 _c +206 -12 154 6 113 44 _c +71 81 48 129 42 189 _c +_cl}_e}_d +/four{556 0 13 0 508 716 _sc +323 0 _m +323 171 _l +13 171 _l +13 252 _l +339 716 _l +411 716 _l +411 252 _l +508 252 _l +508 171 _l +411 171 _l +411 0 _l +323 0 _l +323 252 _m +323 575 _l +99 252 _l +323 252 _l +_cl}_d +/five{{556 0 42 -11 516 706 _sc +42 188 _m +134 195 _l +140 150 156 116 181 94 _c +206 71 236 60 271 60 _c +313 60 349 76 379 108 _c +408 140 423 182 423 235 _c +423 285 408 324 380 353 _c +352 382 315 397 270 397 _c +242 397 216 390 193 377 _c +170 364 152 348 140 328 _c +57 338 _l +126 706 _l +482 706 _l +482 622 _l +197 622 _l +158 430 _l +201 460 246 475 293 475 _c +}_e{355 475 408 453 451 410 _c +494 366 516 311 516 243 _c +516 178 497 122 459 75 _c +413 17 351 -11 271 -11 _c +206 -11 153 7 112 43 _c +70 79 47 127 42 188 _c +_cl}_e}_d +/six{{556 0 38 -11 510 719 _sc +498 541 _m +410 534 _l +402 568 391 593 377 609 _c +353 633 323 646 289 646 _c +261 646 236 638 215 623 _c +187 603 166 573 150 535 _c +134 496 125 441 125 369 _c +146 401 172 424 203 440 _c +233 456 265 464 299 464 _c +357 464 407 442 448 399 _c +489 356 510 300 510 232 _c +510 187 500 145 481 107 _c +461 68 435 39 401 19 _c +367 -1 329 -11 286 -11 _c +}_e{212 -11 153 15 107 69 _c +61 122 38 211 38 335 _c +38 473 63 573 114 637 _c +158 691 218 719 294 719 _c +350 719 397 703 433 671 _c +469 639 490 596 498 541 _c +139 232 _m +139 202 145 173 158 145 _c +170 117 188 96 212 82 _c +235 67 259 60 285 60 _c +321 60 353 75 380 105 _c +406 135 420 175 420 227 _c +420 276 406 315 380 344 _c +354 372 321 387 281 387 _c +}_e{241 387 208 372 180 344 _c +152 315 139 278 139 232 _c +_cl}_e}_d +/seven{556 0 47 0 511 707 _sc +47 622 _m +47 707 _l +511 707 _l +511 638 _l +465 589 419 524 375 444 _c +330 364 295 281 271 197 _c +253 137 242 71 238 0 _c +147 0 _l +148 56 159 124 180 204 _c +201 284 231 361 271 435 _c +311 509 353 571 398 622 _c +47 622 _l +_cl}_d +/eight{{556 0 41 -11 512 719 _sc +177 388 _m +140 401 113 420 95 445 _c +77 469 69 499 69 534 _c +69 586 87 629 125 665 _c +163 701 213 719 275 719 _c +337 719 388 700 426 664 _c +464 628 483 584 483 532 _c +483 498 474 469 457 445 _c +439 420 413 401 377 388 _c +421 374 454 351 477 319 _c +500 287 512 249 512 205 _c +512 143 490 92 447 51 _c +403 9 346 -11 276 -11 _c +}_e{205 -11 148 9 105 51 _c +62 92 41 144 41 207 _c +41 253 52 292 76 324 _c +99 355 133 376 177 388 _c +159 537 _m +159 503 170 475 192 454 _c +214 432 242 422 277 422 _c +311 422 338 432 360 454 _c +382 475 393 501 393 532 _c +393 564 381 591 359 613 _c +337 635 309 646 276 646 _c +242 646 214 635 192 614 _c +170 592 159 567 159 537 _c +131 207 _m +131 181 137 157 149 134 _c +}_e{161 110 178 92 202 79 _c +225 66 250 60 277 60 _c +319 60 353 73 381 100 _c +408 127 422 162 422 204 _c +422 246 408 280 380 308 _c +352 336 316 350 274 350 _c +232 350 198 336 171 309 _c +144 281 131 247 131 207 _c +_cl}_e}_d +/nine{{556 0 42 -11 512 719 _sc +55 166 _m +139 173 _l +146 133 160 105 180 87 _c +200 69 226 60 258 60 _c +284 60 308 66 328 78 _c +348 90 365 107 378 128 _c +391 148 402 176 411 212 _c +420 247 425 283 425 319 _c +425 323 424 329 424 337 _c +406 309 382 286 352 269 _c +322 251 289 243 253 243 _c +194 243 144 264 103 307 _c +62 350 42 407 42 477 _c +42 549 63 608 106 652 _c +}_e{148 696 202 719 267 719 _c +313 719 355 706 394 681 _c +432 656 462 620 482 574 _c +502 527 512 460 512 373 _c +512 281 502 208 482 154 _c +462 100 433 59 394 31 _c +354 3 308 -11 256 -11 _c +200 -11 154 4 118 35 _c +82 65 61 109 55 166 _c +415 481 _m +415 531 401 571 374 601 _c +347 631 315 646 277 646 _c +238 646 204 630 175 598 _c +146 566 132 524 132 474 _c +}_e{132 428 145 391 173 363 _c +200 334 234 320 275 320 _c +315 320 349 334 375 363 _c +401 391 415 431 415 481 _c +_cl}_e}_d +/H{722 0 80 0 642 716 _sc +80 0 _m +80 716 _l +175 716 _l +175 422 _l +547 422 _l +547 716 _l +642 716 _l +642 0 _l +547 0 _l +547 337 _l +175 337 _l +175 0 _l +80 0 _l +_cl}_d +/S{{667 0 45 -11 615 728 _sc +45 230 _m +134 238 _l +138 202 148 172 164 149 _c +179 126 203 108 236 94 _c +268 80 305 73 346 73 _c +382 73 413 78 441 89 _c +469 99 489 114 503 133 _c +516 151 523 172 523 194 _c +523 216 516 236 503 253 _c +490 269 469 283 439 295 _c +420 303 378 314 312 330 _c +246 346 200 361 174 375 _c +140 393 114 415 97 441 _c +80 467 72 497 72 531 _c +}_e{72 567 82 600 103 632 _c +123 663 153 687 193 703 _c +232 719 276 728 324 728 _c +377 728 424 719 464 702 _c +504 685 536 660 558 627 _c +580 593 591 556 593 514 _c +502 507 _l +497 552 481 586 453 610 _c +425 633 383 645 328 645 _c +270 645 229 634 203 613 _c +177 592 164 567 164 537 _c +164 511 173 490 191 474 _c +209 457 257 440 334 422 _c +411 404 464 389 493 377 _c +}_e{534 357 565 333 585 304 _c +605 274 615 240 615 202 _c +615 164 604 128 582 94 _c +560 60 528 34 488 16 _c +447 -2 401 -11 350 -11 _c +285 -11 231 -2 187 16 _c +143 34 109 63 84 101 _c +59 139 46 182 45 230 _c +_cl}_e}_d +/U{722 0 79 -11 642 716 _sc +547 716 _m +642 716 _l +642 302 _l +642 230 633 172 617 130 _c +601 88 571 54 529 28 _c +486 2 430 -11 362 -11 _c +294 -11 239 0 197 23 _c +154 45 124 78 106 122 _c +88 166 79 226 79 302 _c +79 716 _l +173 716 _l +173 303 _l +173 240 178 194 190 165 _c +202 135 222 113 250 97 _c +278 81 312 73 354 73 _c +423 73 472 88 502 120 _c +532 152 547 213 547 303 _c +547 716 _l +_cl}_d +/W{944 0 12 0 933 716 _sc +202 0 _m +12 716 _l +109 716 _l +218 247 _l +230 197 240 148 249 100 _c +267 176 277 220 281 232 _c +417 716 _l +531 716 _l +634 354 _l +659 264 677 179 689 100 _c +698 145 710 197 725 256 _c +837 716 _l +933 716 _l +736 0 _l +645 0 _l +494 545 _l +481 591 474 619 472 629 _c +464 596 457 568 451 545 _c +299 0 _l +202 0 _l +_cl}_d +/a{{556 0 36 -11 514 530 _sc +404 64 _m +371 36 340 16 310 5 _c +280 -5 247 -11 213 -11 _c +156 -11 112 2 82 30 _c +51 58 36 93 36 137 _c +36 162 41 185 53 206 _c +65 227 80 244 99 257 _c +117 269 138 279 162 286 _c +179 290 205 294 240 299 _c +311 307 363 317 397 329 _c +397 341 397 348 397 352 _c +397 388 389 413 373 428 _c +350 448 316 458 272 458 _c +}_e{230 458 200 450 180 436 _c +160 421 146 395 137 359 _c +51 371 _l +59 407 72 437 90 460 _c +108 482 133 500 167 512 _c +201 524 240 530 285 530 _c +329 530 365 524 393 514 _c +421 504 441 491 454 475 _c +467 459 476 440 481 416 _c +484 400 486 373 486 334 _c +486 217 _l +486 135 487 84 491 62 _c +495 40 502 20 514 0 _c +422 0 _l +412 18 406 39 404 64 _c +397 260 _m +}_e{365 247 317 236 253 227 _c +217 221 191 215 176 209 _c +161 203 150 193 142 181 _c +134 168 130 154 130 139 _c +130 115 138 96 156 80 _c +174 64 200 57 234 57 _c +268 57 298 64 324 79 _c +350 94 370 114 383 140 _c +392 160 397 189 397 228 _c +397 260 _l +_cl}_e}_d +/b{{556 0 65 -11 515 716 _sc +147 0 _m +65 0 _l +65 716 _l +153 716 _l +153 460 _l +190 506 237 530 295 530 _c +327 530 357 523 386 511 _c +414 498 438 480 456 457 _c +474 433 489 405 499 372 _c +509 339 515 304 515 267 _c +515 178 493 109 449 61 _c +405 13 352 -11 291 -11 _c +229 -11 181 14 147 65 _c +147 0 _l +146 263 _m +146 201 154 156 171 128 _c +199 83 236 61 284 61 _c +}_e{322 61 355 77 383 111 _c +411 144 425 194 425 260 _c +425 327 411 377 385 409 _c +358 441 326 458 288 458 _c +249 458 216 441 188 408 _c +160 374 146 326 146 263 _c +_cl}_e}_d +/c{{500 0 39 -11 491 530 _sc +404 190 _m +491 179 _l +481 119 457 72 418 39 _c +379 5 331 -11 275 -11 _c +203 -11 146 12 103 58 _c +60 104 39 170 39 257 _c +39 313 48 362 67 404 _c +85 446 113 477 151 498 _c +189 519 230 530 275 530 _c +331 530 377 515 413 487 _c +449 459 472 418 482 366 _c +397 353 _l +389 387 374 413 354 431 _c +333 449 308 458 279 458 _c +}_e{234 458 198 442 170 410 _c +142 378 129 328 129 260 _c +129 190 142 139 169 108 _c +195 76 230 61 274 61 _c +308 61 337 71 360 92 _c +383 113 398 146 404 190 _c +_cl}_e}_d +/d{{556 0 34 -11 484 716 _sc +402 0 _m +402 65 _l +369 14 321 -11 257 -11 _c +215 -11 177 0 143 23 _c +108 45 81 77 62 118 _c +43 158 34 205 34 259 _c +34 310 42 357 60 399 _c +77 441 103 474 137 496 _c +171 518 210 530 253 530 _c +284 530 312 523 337 510 _c +361 497 381 480 396 459 _c +396 716 _l +484 716 _l +484 0 _l +402 0 _l +125 259 _m +125 192 138 142 166 110 _c +}_e{194 77 227 61 266 61 _c +304 61 336 76 363 108 _c +390 139 404 187 404 251 _c +404 322 390 374 363 408 _c +335 441 302 458 262 458 _c +222 458 190 442 164 410 _c +138 378 125 327 125 259 _c +_cl}_e}_d +/e{{556 0 37 -11 515 530 _sc +421 167 _m +512 156 _l +497 102 470 61 432 32 _c +393 3 344 -11 284 -11 _c +208 -11 147 12 103 58 _c +59 104 37 170 37 255 _c +37 342 59 410 104 458 _c +148 506 207 530 279 530 _c +348 530 405 506 449 459 _c +493 412 515 346 515 260 _c +515 254 514 247 514 237 _c +127 237 _l +130 179 146 136 175 106 _c +204 76 240 61 284 61 _c +}_e{316 61 344 69 367 86 _c +389 102 407 129 421 167 _c +132 309 _m +422 309 _l +418 353 407 385 389 407 _c +361 441 324 458 280 458 _c +239 458 205 444 178 417 _c +150 390 135 354 132 309 _c +_cl}_e}_d +/f{278 0 9 0 313 728 _sc +87 0 _m +87 450 _l +9 450 _l +9 519 _l +87 519 _l +87 574 _l +87 608 90 634 96 651 _c +104 674 119 693 141 707 _c +162 721 192 728 230 728 _c +255 728 283 725 313 719 _c +299 643 _l +281 645 264 647 248 647 _c +221 647 202 641 191 630 _c +179 618 174 597 174 566 _c +174 519 _l +275 519 _l +275 450 _l +174 450 _l +174 0 _l +87 0 _l +_cl}_d +/g{{556 0 32 -209 489 530 _sc +50 -42 _m +135 -55 _l +139 -81 149 -100 165 -112 _c +187 -128 216 -137 254 -137 _c +294 -137 326 -128 348 -112 _c +370 -96 386 -73 394 -44 _c +398 -26 400 11 400 68 _c +361 22 313 0 256 0 _c +184 0 129 25 90 77 _c +51 128 32 190 32 262 _c +32 311 41 357 59 399 _c +77 441 103 473 137 496 _c +171 518 211 530 257 530 _c +318 530 368 505 408 456 _c +}_e{408 519 _l +489 519 _l +489 70 _l +489 -10 480 -66 464 -100 _c +448 -134 422 -160 386 -180 _c +350 -199 307 -209 255 -209 _c +193 -209 143 -195 105 -167 _c +67 -139 48 -98 50 -42 _c +123 269 _m +123 201 136 151 163 120 _c +190 88 224 73 265 73 _c +305 73 338 88 366 119 _c +393 150 407 199 407 266 _c +407 329 393 377 365 409 _c +337 441 303 458 263 458 _c +224 458 191 442 164 410 _c +}_e{136 378 123 331 123 269 _c +_cl}_e}_d +/h{556 0 66 0 488 716 _sc +66 0 _m +66 716 _l +154 716 _l +154 459 _l +194 506 246 530 309 530 _c +347 530 381 522 409 507 _c +437 492 458 471 470 445 _c +482 418 488 379 488 329 _c +488 0 _l +400 0 _l +400 329 _l +400 373 390 405 371 425 _c +352 445 325 455 291 455 _c +265 455 240 448 217 434 _c +194 420 178 402 168 379 _c +158 356 154 324 154 284 _c +154 0 _l +66 0 _l +_cl}_d +/i{222 0 66 0 154 716 _sc +66 615 _m +66 716 _l +154 716 _l +154 615 _l +66 615 _l +66 0 _m +66 519 _l +154 519 _l +154 0 _l +66 0 _l +_cl}_d +/l{222 0 64 0 152 716 _sc +64 0 _m +64 716 _l +152 716 _l +152 0 _l +64 0 _l +_cl}_d +/m{{833 0 66 0 769 530 _sc +66 0 _m +66 519 _l +145 519 _l +145 446 _l +161 471 182 491 209 507 _c +236 522 267 530 302 530 _c +340 530 371 522 396 506 _c +420 490 438 467 448 439 _c +489 499 542 530 608 530 _c +660 530 699 515 727 487 _c +755 459 769 415 769 356 _c +769 0 _l +681 0 _l +681 327 _l +681 361 678 386 672 402 _c +666 418 656 430 641 440 _c +626 449 609 454 589 454 _c +}_e{552 454 522 441 498 417 _c +474 393 462 354 462 301 _c +462 0 _l +374 0 _l +374 337 _l +374 376 366 405 352 425 _c +338 444 314 454 282 454 _c +257 454 234 447 213 434 _c +192 421 177 402 168 377 _c +158 352 154 316 154 269 _c +154 0 _l +66 0 _l +_cl}_e}_d +/n{556 0 66 0 487 530 _sc +66 0 _m +66 519 _l +145 519 _l +145 445 _l +183 501 238 530 310 530 _c +341 530 370 524 396 513 _c +422 502 442 487 455 469 _c +468 451 477 429 482 404 _c +485 388 487 359 487 319 _c +487 0 _l +399 0 _l +399 315 _l +399 351 395 377 389 395 _c +382 413 370 427 353 438 _c +335 448 315 454 292 454 _c +254 454 221 442 194 418 _c +167 394 154 349 154 283 _c +154 0 _l +66 0 _l +_cl}_d +/o{{556 0 33 -11 519 530 _sc +33 259 _m +33 355 59 426 113 473 _c +157 511 212 530 276 530 _c +347 530 405 506 451 460 _c +496 413 519 349 519 267 _c +519 200 509 147 489 109 _c +469 71 439 41 401 20 _c +363 0 321 -11 276 -11 _c +203 -11 144 12 100 58 _c +55 104 33 171 33 259 _c +124 259 _m +124 193 138 143 167 110 _c +195 77 232 61 276 61 _c +320 61 356 77 385 110 _c +}_e{414 143 429 194 429 262 _c +429 326 414 374 385 408 _c +355 441 319 458 276 458 _c +232 458 195 441 167 408 _c +138 375 124 325 124 259 _c +_cl}_e}_d +/p{{556 0 66 -198 516 530 _sc +66 -198 _m +66 519 _l +146 519 _l +146 451 _l +164 477 186 497 210 510 _c +234 523 262 530 296 530 _c +340 530 379 518 413 496 _c +447 473 472 441 490 399 _c +507 357 516 312 516 263 _c +516 210 506 162 487 120 _c +468 77 440 44 404 22 _c +368 0 330 -11 290 -11 _c +260 -11 234 -5 211 7 _c +187 19 168 34 154 54 _c +154 -198 _l +66 -198 _l +146 256 _m +}_e{146 189 159 140 186 108 _c +213 76 246 61 284 61 _c +323 61 356 77 384 110 _c +412 143 426 194 426 264 _c +426 330 412 379 385 412 _c +358 444 326 461 288 461 _c +250 461 217 443 189 408 _c +160 373 146 322 146 256 _c +_cl}_e}_d +/r{333 0 65 0 347 530 _sc +65 0 _m +65 519 _l +144 519 _l +144 440 _l +164 476 182 500 200 512 _c +217 524 236 530 256 530 _c +286 530 316 520 347 502 _c +316 420 _l +294 432 273 439 252 439 _c +232 439 215 433 200 422 _c +184 410 173 394 167 374 _c +157 342 153 308 153 271 _c +153 0 _l +65 0 _l +_cl}_d +/s{{500 0 31 -11 461 530 _sc +31 155 _m +118 168 _l +122 133 136 106 158 88 _c +180 70 212 61 252 61 _c +292 61 322 69 342 85 _c +361 101 371 121 371 143 _c +371 163 362 178 345 190 _c +333 198 303 208 255 220 _c +191 236 146 250 121 262 _c +96 274 77 290 64 311 _c +51 332 45 355 45 381 _c +45 404 50 425 61 445 _c +71 465 86 481 104 494 _c +118 504 136 512 160 519 _c +}_e{184 526 209 530 236 530 _c +276 530 312 524 343 512 _c +374 500 397 485 412 465 _c +426 445 436 418 442 385 _c +356 373 _l +352 399 340 420 322 435 _c +303 450 277 458 243 458 _c +202 458 173 451 156 438 _c +138 424 130 409 130 391 _c +130 379 133 369 141 360 _c +148 350 159 343 175 337 _c +183 333 209 326 252 314 _c +314 298 358 284 382 274 _c +406 263 426 247 440 227 _c +}_e{454 207 461 182 461 152 _c +461 122 452 95 435 69 _c +418 43 393 24 361 10 _c +329 -4 292 -11 252 -11 _c +184 -11 133 2 98 30 _c +62 58 40 99 31 155 _c +_cl}_e}_d +/t{278 0 18 -6 271 700 _sc +258 79 _m +271 1 _l +245 -3 223 -6 204 -6 _c +172 -6 147 -1 130 8 _c +112 18 100 31 93 48 _c +85 64 82 99 82 152 _c +82 450 _l +18 450 _l +18 519 _l +82 519 _l +82 647 _l +169 700 _l +169 519 _l +258 519 _l +258 450 _l +169 450 _l +169 147 _l +169 121 170 105 174 98 _c +177 91 182 85 189 81 _c +196 77 206 75 219 75 _c +229 75 242 76 258 79 _c +_cl}_d +/u{556 0 64 -11 484 519 _sc +406 0 _m +406 76 _l +365 18 310 -11 241 -11 _c +210 -11 181 -5 155 6 _c +129 17 109 32 96 50 _c +83 68 74 89 69 115 _c +65 132 64 159 64 197 _c +64 519 _l +152 519 _l +152 231 _l +152 185 153 154 157 138 _c +163 115 174 97 192 84 _c +210 70 232 64 259 64 _c +285 64 309 70 333 84 _c +356 97 372 115 382 139 _c +391 162 396 196 396 241 _c +396 519 _l +484 519 _l +484 0 _l +406 0 _l +_cl}_d +/w{722 0 3 0 714 519 _sc +162 0 _m +3 519 _l +94 519 _l +176 219 _l +207 108 _l +208 113 217 149 234 215 _c +316 519 _l +407 519 _l +484 218 _l +510 119 _l +540 219 _l +629 519 _l +714 519 _l +552 0 _l +461 0 _l +378 311 _l +358 399 _l +253 0 _l +162 0 _l +_cl}_d +/y{{500 0 16 -209 491 519 _sc +62 -199 _m +52 -116 _l +71 -121 88 -124 103 -124 _c +122 -124 137 -120 149 -114 _c +161 -107 170 -98 178 -87 _c +184 -78 193 -56 205 -21 _c +207 -16 209 -9 213 0 _c +16 519 _l +111 519 _l +219 218 _l +233 180 245 140 256 98 _c +266 138 278 178 292 216 _c +403 519 _l +491 519 _l +294 -8 _l +272 -64 256 -103 245 -125 _c +229 -154 211 -175 191 -189 _c +}_e{171 -202 147 -209 119 -209 _c +101 -209 82 -205 62 -199 _c +_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 +end +%%EndProlog +mpldict begin +18 180 translate +576 432 0 0 clipbox +gsave +0 0 m +576 0 l +576 432 l +0 432 l +cl +1.000 setgray +fill +grestore +gsave +72 43.2 m +518.4 43.2 l +518.4 388.8 l +72 388.8 l +cl +1.000 setgray +fill +grestore +1.000 setlinewidth +1 setlinejoin +2 setlinecap +[] 0 setdash +0.000 0.000 1.000 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +73.3392 174.189 m +117.781 191.46 l +162.222 202.354 l +206.664 210.33 l +251.106 216.626 l +295.547 221.827 l +339.989 226.259 l +384.43 230.12 l +428.872 233.54 l +473.314 236.611 l +stroke +grestore +0.500 setlinewidth +0 setlinecap +0.000 setgray +gsave +446.4 345.6 72 43.2 clipbox +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 -3 m +0.795609 -3 1.55874 -2.6839 2.12132 -2.12132 c +2.6839 -1.55874 3 -0.795609 3 0 c +3 0.795609 2.6839 1.55874 2.12132 2.12132 c +1.55874 2.6839 0.795609 3 0 3 c +-0.795609 3 -1.55874 2.6839 -2.12132 2.12132 c +-2.6839 1.55874 -3 0.795609 -3 0 c +-3 -0.795609 -2.6839 -1.55874 -2.12132 -2.12132 c +-1.55874 -2.6839 -0.795609 -3 0 -3 c +cl +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +73.3392 174.189 o +117.781 191.46 o +162.222 202.354 o +206.664 210.33 o +251.106 216.626 o +295.547 221.827 o +339.989 226.259 o +384.43 230.12 o +428.872 233.54 o +473.314 236.611 o +grestore +1.000 setlinewidth +2 setlinecap +0.000 0.500 0.000 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +73.3392 230.18 m +117.781 266.047 l +162.222 288.614 l +206.664 305.111 l +251.106 318.119 l +295.547 328.858 l +339.989 338.002 l +384.43 345.964 l +428.872 353.015 l +473.314 359.341 l +stroke +grestore +0.500 setlinewidth +0 setlinejoin +0 setlinecap +0.000 setgray +gsave +446.4 345.6 72 43.2 clipbox +/o { +gsave +newpath +translate +0.5 setlinewidth +0 setlinejoin +0 setlinecap +-3.67394e-16 -3 m +3 3 l +-3 3 l +cl +gsave +0.000 0.500 0.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +73.3392 230.18 o +117.781 266.047 o +162.222 288.614 o +206.664 305.111 o +251.106 318.119 o +295.547 328.858 o +339.989 338.002 o +384.43 345.964 o +428.872 353.015 o +473.314 359.341 o +grestore +1.000 setlinewidth +1 setlinejoin +2 setlinecap +1.000 0.000 0.000 setrgbcolor +gsave +446.4 345.6 72 43.2 clipbox +73.3392 62.499 m +117.781 79.7705 l +162.222 90.6643 l +206.664 98.6403 l +251.106 104.936 l +295.547 110.137 l +339.989 114.569 l +384.43 118.43 l +428.872 121.85 l +473.314 124.921 l +stroke +grestore +0.500 setlinewidth +0 setlinecap +gsave +446.4 345.6 72 43.2 clipbox +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +-3 -3 m +3 3 l +-3 3 m +3 -3 l +gsave +1.000 0.000 0.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +73.3392 62.499 o +117.781 79.7705 o +162.222 90.6643 o +206.664 98.6403 o +251.106 104.936 o +295.547 110.137 o +339.989 114.569 o +384.43 118.43 o +428.872 121.85 o +473.314 124.921 o +grestore +0.000 setgray +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 388.8 o +grestore +/ArialMT findfont +12.000 scalefont +setfont +gsave +62.531250 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /five glyphshow +6.673828 0.000000 m /zero glyphshow +13.347656 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +127.8 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +127.8 388.8 o +grestore +gsave +115.401562 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +6.673828 0.000000 m /zero glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +183.6 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +183.6 388.8 o +grestore +gsave +171.201562 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /one glyphshow +6.673828 0.000000 m /five glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +239.4 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +239.4 388.8 o +grestore +gsave +226.525000 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +6.673828 0.000000 m /zero glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +295.2 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +295.2 388.8 o +grestore +gsave +282.325000 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /two glyphshow +6.673828 0.000000 m /five glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +351 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +351 388.8 o +grestore +gsave +338.195312 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +6.673828 0.000000 m /zero glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +406.8 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +406.8 388.8 o +grestore +gsave +393.995312 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /three glyphshow +6.673828 0.000000 m /five glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +462.6 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +462.6 388.8 o +grestore +gsave +449.623437 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /four glyphshow +6.673828 0.000000 m /zero glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +0 -4 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 388.8 o +grestore +gsave +505.423437 30.606250 translate +0.000000 rotate +0.000000 0.000000 m /four glyphshow +6.673828 0.000000 m /five glyphshow +13.347656 0.000000 m /zero glyphshow +20.021484 0.000000 m /zero glyphshow +grestore +gsave +196.418750 14.481250 translate +0.000000 rotate +0.000000 0.000000 m /n glyphshow +6.673828 0.000000 m /b glyphshow +13.347656 0.000000 m /space glyphshow +16.681641 0.000000 m /o glyphshow +23.355469 0.000000 m /f glyphshow +26.689453 0.000000 m /space glyphshow +30.023438 0.000000 m /l glyphshow +32.689453 0.000000 m /i glyphshow +35.355469 0.000000 m /n glyphshow +42.029297 0.000000 m /e glyphshow +48.703125 0.000000 m /s glyphshow +54.703125 0.000000 m /space glyphshow +58.037109 0.000000 m /a glyphshow +64.710938 0.000000 m /n glyphshow +71.384766 0.000000 m /d glyphshow +78.058594 0.000000 m /space glyphshow +81.392578 0.000000 m /o glyphshow +88.066406 0.000000 m /f glyphshow +91.400391 0.000000 m /space glyphshow +94.734375 0.000000 m /r glyphshow +98.730469 0.000000 m /o glyphshow +105.404297 0.000000 m /w glyphshow +114.070312 0.000000 m /s glyphshow +120.070312 0.000000 m /space glyphshow +123.404297 0.000000 m /i glyphshow +126.070312 0.000000 m /n glyphshow +132.744141 0.000000 m /space glyphshow +136.078125 0.000000 m /e glyphshow +142.751953 0.000000 m /a glyphshow +149.425781 0.000000 m /c glyphshow +155.425781 0.000000 m /h glyphshow +162.099609 0.000000 m /space glyphshow +165.433594 0.000000 m /i glyphshow +168.099609 0.000000 m /m glyphshow +178.095703 0.000000 m /a glyphshow +184.769531 0.000000 m /g glyphshow +191.443359 0.000000 m /e glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 43.2 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 43.2 o +grestore +gsave +47.000000 39.090625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.087188 moveto +/one glyphshow + +6.673828 0.087188 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.060938 moveto +/seven glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 77.76 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 77.76 o +grestore +gsave +47.000000 73.150625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/eight glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 112.32 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 112.32 o +grestore +gsave +47.000000 107.710625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/nine glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 146.88 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 146.88 o +grestore +gsave +42.000000 142.270625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/zero glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 181.44 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 181.44 o +grestore +gsave +42.000000 176.830625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/one glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 216 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 216 o +grestore +gsave +42.000000 211.390625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/two glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 250.56 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 250.56 o +grestore +gsave +42.000000 245.950625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/three glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 285.12 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 285.12 o +grestore +gsave +42.000000 280.510625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/four glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 319.68 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 319.68 o +grestore +gsave +42.000000 315.070625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/five glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 354.24 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 354.24 o +grestore +gsave +42.000000 349.630625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/six glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 388.8 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-4 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 388.8 o +grestore +gsave +42.000000 384.190625 translate +0.000000 rotate +/ArialMT findfont +12.0 scalefont +setfont +0.000000 0.988750 moveto +/one glyphshow + +6.673828 0.988750 moveto +/zero glyphshow + +/ArialMT findfont +8.4 scalefont +setfont +13.347656 6.962500 moveto +/one glyphshow + +18.019336 6.962500 moveto +/seven glyphshow + + +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 53.6036 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 53.6036 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 64.0072 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 64.0072 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 70.0929 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 70.0929 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 74.4108 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 74.4108 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 88.1636 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 88.1636 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 98.5672 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 98.5672 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 104.653 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 104.653 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 108.971 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 108.971 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 122.724 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 122.724 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 133.127 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 133.127 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 139.213 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 139.213 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 143.531 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 143.531 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 157.284 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 157.284 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 167.687 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 167.687 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 173.773 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 173.773 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 178.091 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 178.091 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 191.844 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 191.844 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 202.247 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 202.247 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 208.333 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 208.333 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 212.651 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 212.651 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 226.404 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 226.404 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 236.807 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 236.807 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 242.893 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 242.893 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 247.211 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 247.211 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 260.964 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 260.964 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 271.367 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 271.367 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 277.453 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 277.453 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 281.771 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 281.771 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 295.524 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 295.524 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 305.927 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 305.927 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 312.013 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 312.013 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 316.331 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 316.331 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 330.084 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 330.084 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 340.487 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 340.487 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 346.573 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 346.573 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 350.891 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 350.891 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 364.644 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 364.644 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 375.047 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 375.047 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 381.133 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 381.133 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +72 385.451 o +grestore +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 0 m +-2 0 l +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +518.4 385.451 o +grestore +gsave +34.468750 149.882812 translate +90.000000 rotate +0.000000 0.000000 m /n glyphshow +6.673828 0.000000 m /b glyphshow +13.347656 0.000000 m /period glyphshow +16.681641 0.000000 m /space glyphshow +20.015625 0.000000 m /o glyphshow +26.689453 0.000000 m /f glyphshow +30.023438 0.000000 m /space glyphshow +33.357422 0.000000 m /p glyphshow +40.031250 0.000000 m /r glyphshow +44.027344 0.000000 m /i glyphshow +46.693359 0.000000 m /m glyphshow +56.689453 0.000000 m /a glyphshow +63.363281 0.000000 m /r glyphshow +67.359375 0.000000 m /y glyphshow +73.359375 0.000000 m /space glyphshow +76.693359 0.000000 m /o glyphshow +83.367188 0.000000 m /p glyphshow +90.041016 0.000000 m /e glyphshow +96.714844 0.000000 m /r glyphshow +100.710938 0.000000 m /a glyphshow +107.384766 0.000000 m /t glyphshow +110.718750 0.000000 m /i glyphshow +113.384766 0.000000 m /o glyphshow +120.058594 0.000000 m /n glyphshow +126.732422 0.000000 m /s glyphshow +grestore +1.000 setlinewidth +gsave +72 388.8 m +518.4 388.8 l +stroke +grestore +gsave +518.4 43.2 m +518.4 388.8 l +stroke +grestore +gsave +72 43.2 m +518.4 43.2 l +stroke +grestore +gsave +72 43.2 m +72 388.8 l +stroke +grestore +gsave +79.2 316.645 m +218.227 316.645 l +218.227 381.6 l +79.2 381.6 l +79.2 316.645 l +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +2 setlinecap +0.000 0.500 0.000 setrgbcolor +gsave +89.28 370.8 m +109.44 370.8 l +stroke +grestore +0.500 setlinewidth +0 setlinejoin +0 setlinecap +0.000 setgray +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +0 setlinejoin +0 setlinecap +-3.67394e-16 -3 m +3 3 l +-3 3 l +cl +gsave +0.000 0.500 0.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +89.28 370.8 o +109.44 370.8 o +grestore +/ArialMT findfont +14.400 scalefont +setfont +gsave +125.280000 365.760000 translate +0.000000 rotate +0.000000 0.000000 m /W glyphshow +13.332550 0.000000 m /o glyphshow +21.335922 0.000000 m /w glyphshow +31.728363 0.000000 m /slash glyphshow +35.726532 0.000000 m /U glyphshow +46.118973 0.000000 m /n glyphshow +54.122345 0.000000 m /i glyphshow +57.319473 0.000000 m /w glyphshow +67.711914 0.000000 m /a glyphshow +75.715286 0.000000 m /r glyphshow +80.507477 0.000000 m /d glyphshow +grestore +1.000 setlinewidth +1 setlinejoin +2 setlinecap +0.000 0.000 1.000 setrgbcolor +gsave +89.28 350.739 m +109.44 350.739 l +stroke +grestore +0.500 setlinewidth +0 setlinecap +0.000 setgray +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 -3 m +0.795609 -3 1.55874 -2.6839 2.12132 -2.12132 c +2.6839 -1.55874 3 -0.795609 3 0 c +3 0.795609 2.6839 1.55874 2.12132 2.12132 c +1.55874 2.6839 0.795609 3 0 3 c +-0.795609 3 -1.55874 2.6839 -2.12132 2.12132 c +-2.6839 1.55874 -3 0.795609 -3 0 c +-3 -0.795609 -2.6839 -1.55874 -2.12132 -2.12132 c +-1.55874 -2.6839 -0.795609 -3 0 -3 c +cl +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +89.28 350.739 o +109.44 350.739 o +grestore +gsave +125.280000 345.698750 translate +0.000000 rotate +0.000000 0.000000 m /H glyphshow +10.392441 0.000000 m /u glyphshow +18.395813 0.000000 m /g glyphshow +26.399185 0.000000 m /o glyphshow +grestore +1.000 setlinewidth +2 setlinecap +1.000 0.000 0.000 setrgbcolor +gsave +89.28 330.398 m +109.44 330.398 l +stroke +grestore +0.500 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +-3 -3 m +3 3 l +-3 3 m +3 -3 l +gsave +1.000 0.000 0.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +89.28 330.398 o +109.44 330.398 o +grestore +0.000 setgray +gsave +125.280000 325.358125 translate +0.000000 rotate +0.000000 0.000000 m /S glyphshow +9.598434 0.000000 m /t glyphshow +13.596603 0.000000 m /a glyphshow +21.599976 0.000000 m /b glyphshow +29.603348 0.000000 m /y glyphshow +36.798660 0.000000 m /l glyphshow +39.995789 0.000000 m /o glyphshow +grestore +1.000 setlinewidth +gsave +79.2 316.645 m +218.227 316.645 l +218.227 381.6 l +79.2 381.6 l +79.2 316.645 l +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +2 setlinecap +0.000 0.500 0.000 setrgbcolor +gsave +89.28 370.8 m +109.44 370.8 l +stroke +grestore +0.500 setlinewidth +0 setlinejoin +0 setlinecap +0.000 setgray +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +0 setlinejoin +0 setlinecap +-3.67394e-16 -3 m +3 3 l +-3 3 l +cl +gsave +0.000 0.500 0.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +89.28 370.8 o +109.44 370.8 o +grestore +gsave +125.280000 365.760000 translate +0.000000 rotate +0.000000 0.000000 m /W glyphshow +13.332550 0.000000 m /o glyphshow +21.335922 0.000000 m /w glyphshow +31.728363 0.000000 m /slash glyphshow +35.726532 0.000000 m /U glyphshow +46.118973 0.000000 m /n glyphshow +54.122345 0.000000 m /i glyphshow +57.319473 0.000000 m /w glyphshow +67.711914 0.000000 m /a glyphshow +75.715286 0.000000 m /r glyphshow +80.507477 0.000000 m /d glyphshow +grestore +1.000 setlinewidth +1 setlinejoin +2 setlinecap +0.000 0.000 1.000 setrgbcolor +gsave +89.28 350.739 m +109.44 350.739 l +stroke +grestore +0.500 setlinewidth +0 setlinecap +0.000 setgray +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +0 -3 m +0.795609 -3 1.55874 -2.6839 2.12132 -2.12132 c +2.6839 -1.55874 3 -0.795609 3 0 c +3 0.795609 2.6839 1.55874 2.12132 2.12132 c +1.55874 2.6839 0.795609 3 0 3 c +-0.795609 3 -1.55874 2.6839 -2.12132 2.12132 c +-2.6839 1.55874 -3 0.795609 -3 0 c +-3 -0.795609 -2.6839 -1.55874 -2.12132 -2.12132 c +-1.55874 -2.6839 -0.795609 -3 0 -3 c +cl +gsave +0.000 0.000 1.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +89.28 350.739 o +109.44 350.739 o +grestore +gsave +125.280000 345.698750 translate +0.000000 rotate +0.000000 0.000000 m /H glyphshow +10.392441 0.000000 m /u glyphshow +18.395813 0.000000 m /g glyphshow +26.399185 0.000000 m /o glyphshow +grestore +1.000 setlinewidth +2 setlinecap +1.000 0.000 0.000 setrgbcolor +gsave +89.28 330.398 m +109.44 330.398 l +stroke +grestore +0.500 setlinewidth +0 setlinecap +gsave +/o { +gsave +newpath +translate +0.5 setlinewidth +1 setlinejoin +0 setlinecap +-3 -3 m +3 3 l +-3 3 m +3 -3 l +gsave +1.000 0.000 0.000 setrgbcolor +fill +grestore +stroke +grestore +} bind def +89.28 330.398 o +109.44 330.398 o +grestore +0.000 setgray +gsave +125.280000 325.358125 translate +0.000000 rotate +0.000000 0.000000 m /S glyphshow +9.598434 0.000000 m /t glyphshow +13.596603 0.000000 m /a glyphshow +21.599976 0.000000 m /b glyphshow +29.603348 0.000000 m /y glyphshow +36.798660 0.000000 m /l glyphshow +39.995789 0.000000 m /o glyphshow +grestore + +end +showpage diff --git a/complexity.tex b/complexity.tex index 4499857..d19f6e2 100644 --- a/complexity.tex +++ b/complexity.tex @@ -6,11 +6,12 @@ steganographic scheme, namely HUGO~\cite{DBLP:conf/ih/PevnyFB10}, WOW~\cite{conf/wifs/HolubF12}, and UNIWARD~\cite{HFD14}. Each of these scheme starts with the computation of the distortion cost for each pixel switch and is later followed by the STC algorithm. -Since this last step is shared by all, we do not add its complexity. +Since this last step is shared by all, +we separately eavluate this complexity. In all the rest of this section, we consider a $n \times n$ square image. First of all, HUGO starts with computing the second order SPAM Features. -This steps is in $O(n^2 + 2\times 343^2)$ due to the calculation +This steps is in $\theta(n^2 + 2\times 343^2)$ due to the calculation of the difference arrays and next of the 686 features (of size 343). Next for each pixel, the distortion measure is calculated by +1/-1 modifying its value and computing again the SPAM @@ -18,46 +19,46 @@ features. Pixels are thus selected according to their ability to provide an image whose SPAM features are close to the original ones. The algorithm thus computes a distance between each feature and the original ones, -which is at least in $O(343)$, and an overall distance between these -metrics, which is in $O(686)$. Computing the distance is thus in -$O(2\times 343^2)$ and this modification -is thus in $O(2\times 343^2 \times n^2)$. +which is at least in $\theta(343)$, and an overall distance between these +metrics, which is in $\theta(686)$. Computing the distance is thus in +$\theta(2\times 343^2)$ and this modification +is thus in $\theta(2\times 343^2 \times n^2)$. Ranking these results may be achieved with an insertion sort, which is in -$2.n^2 \ln(n)$. +$2 \times n^2 \ln(n)$. The overall complexity of the pixel selection is finally -$O(n^2 +2.343^2 + 2\times 343^2 \times n^2 + 2.n^2 \ln(n))$, \textit{i.e}, -$O(2.n^2(343^2 + \ln(n)))$. +$\theta(n^2 +2 \times 343^2 + 2\times 343^2 \times n^2 + 2 \times n^2 \ln(n))$, \textit{i.e}, +$\theta(2 \times n^2(343^2 + \ln(n)))$. Let us focus now on WOW. This scheme starts to compute the residual -of the cover as a convolution product which is in $O(n^2\ln(n^2))$. +of the cover as a convolution product which is in $\theta(n^2\ln(n^2))$. The embedding suitability $\eta_{ij}$ is then computed for each pixel $1 \le i,j \le n$ thanks to a convolution product again. -We thus have a complexity of $O(n^2 \times n^2\ln(n^2))$. +We thus have a complexity of $\theta(n^2 \times n^2\ln(n^2))$. Moreover the suitability is computed for each wavelet level detail (HH, HL, LL). -This distortion computation step is thus in $O(6n^4\ln(n))$. +This distortion computation step is thus in $\theta(6n^4\ln(n))$. Finally a norm of these three values is computed for each pixel -which adds to this complexity the complexity of $O(n^2)$. -To summarize, the complixity is in $O(6n^4\ln(n) +n^2)$ +which adds to this complexity the complexity of $\theta(n^2)$. +To summarize, the complixity is in $\theta(6n^4\ln(n) +n^2)$ What follows details the complexity of the distortion evaluation of the UNIWARD scheme. This one is based to a convolution product $W$ of two elements -of size $n$ and is again in $O(n^2 \times n^2\ln(n^2))$ and a sum $D$ of -these $W$ which is in $O(n^2)$. -This distortion computation step is thus in $O(6n^4\ln(n) + n^2)$. +of size $n$ and is again in $\theta(n^2 \times n^2\ln(n^2))$ and a sum $D$ of +these $W$ which is in $\theta(n^2)$. +This distortion computation step is thus in $\theta(6n^4\ln(n) + n^2)$. Our edge selection is based on a Canny Filter. When applied on a -$n \times n$ square image, the noise reduction step is in $O(5^3 n^2)$. +$n \times n$ square image, the noise reduction step is in $\theta(5^3 n^2)$. Next, let $T$ be the size of the canny mask. -Computing gradients is in $O(4Tn)$ since derivatives of each direction (vertical or horizontal) -are in $O(2Tn)$. -Finally, thresholding with hysteresis is in $O(n^2)$. -The overall complexity is thus in $O((5^3+4T+1)n^2)$. +Computing gradients is in $\theta(4Tn)$ since derivatives of each direction (vertical or horizontal) +are in $\theta(2Tn)$. +Finally, thresholding with hysteresis is in $\theta(n^2)$. +The overall complexity is thus in $\theta((5^3+4T+1)n^2)$. @@ -65,18 +66,25 @@ The overall complexity is thus in $O((5^3+4T+1)n^2)$. We are then left to express the complexity of the STC algorithm. According to~\cite{DBLP:journals/tifs/FillerJF11}, it is -in $O(2^h.n)$ where $h$ is the size of the duplicated +in $\theta(2^h.n)$ where $h$ is the size of the duplicated matrix. Its complexity is thus negligible compared with the embedding map construction. -To summarize, for the embedding map construction, the complexity of Hugo, WOW -and UNIWARD are dramatically larger than the one of our scheme: -STABYLO is in $O(n^2)$ -whereas HUGO is in $O(n^2\ln(n)$, and WOW and UNIWARD are in $O(n^4\ln(n))$. +The Fig.~\ref{fig:compared} +summarizes the complexity of the embedding map construction, for Hugo, Wow +and Uniward. It deals with square images +of size $n \times n$ when $n$ ranges from +512 to 4096. The $y$-coordinate is expressed in a logarithm scale. +It shows that the complexity of all algorithms +is dramatically larger than the one of the STABYLO scheme. Thanks to these complexity results, we claim that STABYLO is lightweight. - - - +\begin{figure} +\begin{center} +\includegraphics[scale=0.4]{complexity} +\end{center} +\caption{Complexity evaluation of Wow/Uniward, Hugo, and Stabylo} +\label{fig:compared} +\end{figure} diff --git a/experiments.tex b/experiments.tex index a92c72f..6660072 100644 --- a/experiments.tex +++ b/experiments.tex @@ -85,24 +85,25 @@ If $b$ is 6, these values are respectively equal to \begin{table*} \begin{center} -\begin{tabular}{|c|c|c||c|c|c|c|c|c|} +\begin{small} +\begin{tabular}{|c|c|c||c|c|c|c|c|c|c|c|c|c|} \hline -Schemes & \multicolumn{4}{|c|}{STABYLO} & \multicolumn{2}{|c|}{HUGO}& \multicolumn{2}{|c|}{EAISLSBMR} \\ +Schemes & \multicolumn{4}{|c|}{STABYLO} & \multicolumn{2}{|c|}{HUGO}& \multicolumn{2}{|c|}{EAISLSBMR} & \multicolumn{2}{|c|}{WOW} & \multicolumn{2}{|c|}{UNIWARD}\\ \hline -Embedding & Fixed & \multicolumn{3}{|c|}{Adaptive (about 6.35\%)} & \multicolumn{2}{|c|}{Fixed}& \multicolumn{2}{|c|}{Fixed} \\ +Embedding & Fixed & \multicolumn{3}{|c|}{Adaptive (about 6.35\%)} & Fixed &Adaptive & Fixed &Adaptive & Fixed &Adaptive & Fixed &Adaptive \\ \hline -Rate & 10\% & + sample & +STC(7) & +STC(6) & 10\%&6.35\%& 10\%&6.35\%\\ +Rate & 10\% & + sample & +STC(7) & +STC(6) & 10\%&6.35\%& 10\%&6.35\%& 10\%&6.35\%& 10\%&6.35\%\\ \hline -PSNR & 61.86 & 63.48 & 66.55 (\textbf{-0.8\%}) & 63.7 & 64.65 & {67.08} & 60.8 & 62.9\\ +PSNR & 61.86 & 63.48 & 66.55 (\textbf{-0.8\%}) & 63.7 & 64.65 & {67.08} & 60.8 & 62.9&65.9 & 68.3 & 65.8 & 69.2\\ \hline PSNR-HVS-M & 72.9 & 75.39 & 78.6 (\textbf{-0.8\%}) & 75.5 & 76.67 & {79.23} & 71.8 & 74.3\\ %\hline %BIQI & 28.3 & 28.28 & 28.4 & 28.28 & 28.28 & 28.2 & 28.2\\ \hline -wPSNR & 77.47 & 80.59 & 86.43(\textbf{-1.6\%})& 86.28 & 83.03 & {87.8} & 76.7 & 80.6\\ +wPSNR & 77.47 & 80.59 & 86.43(\textbf{-1.6\%})& 86.28 & 83.03 & {88.6} & 76.7 & 83& 83.8 & 90.4 & 85.2 & 91.9\\ \hline \end{tabular} - +\end{small} \begin{footnotesize} \vspace{2em} Variances given in bold font express the quality differences between @@ -177,7 +178,7 @@ considered as state of the art steganalysers in the spatial domain~\cite{FK12}. \begin{table*} \begin{center} -%\begin{small} +\begin{small} \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|} \hline Schemes & \multicolumn{4}{|c|}{STABYLO} & \multicolumn{2}{|c|}{HUGO}& \multicolumn{2}{|c|}{EAISLSBMR} & \multicolumn{2}{|c|}{WOW} & \multicolumn{2}{|c|}{UNIWARD}\\ @@ -192,7 +193,7 @@ Ensemble Classifier & 0.35 & 0.44 & 0.47 & 0.47 & 0.48 & 0.49 & 0.43 & 0 \hline \end{tabular} -%\end{small} +\end{small} \end{center} \caption{Steganalysing STABYLO\label{table:steganalyse}} \end{table*} diff --git a/ourapproach.tex b/ourapproach.tex index 636b8ba..ec73f7d 100644 --- a/ourapproach.tex +++ b/ourapproach.tex @@ -21,7 +21,7 @@ Let us first focus on the data embedding. \begin{minipage}{0.49\textwidth} \begin{center} %\includegraphics[width=5cm]{emb.pdf} - \includegraphics[scale=0.45]{emb.ps} + \includegraphics[scale=0.45]{emb} \end{center} \end{minipage} \label{fig:sch:emb} @@ -31,7 +31,7 @@ Let us first focus on the data embedding. \begin{minipage}{0.49\textwidth} \begin{center} %\includegraphics[width=5cm]{rec.pdf} - \includegraphics[scale=0.45]{rec.ps} + \includegraphics[scale=0.45]{rec} \end{center} \end{minipage} \label{fig:sch:ext} diff --git a/stc/exp/python/complexityDisplay.py b/stc/exp/python/complexityDisplay.py new file mode 100644 index 0000000..3be2500 --- /dev/null +++ b/stc/exp/python/complexityDisplay.py @@ -0,0 +1,37 @@ +import math as m +import numpy as np +import matplotlib.pyplot as plt + + +tb = 512 +rhugo,rwow,runiw,rcanny=[],[],[],[] +T=3 + +for k in range(1,7): + n = tb*k + rhugo +=[2*(n**2)*(343**2+m.log(n))] + rwow +=[6*(n**4)*m.log(n)+n**2] + rcanny +=[(n**2)*(5**3+4*T+1)] + + +print rhugo +print rwow +print rcanny + + + +n=np.linspace(512,4096,10) +phugo, = plt.plot(n,2*pow(n,2)*(343**2+np.log(n)),marker='o',label="L1") +pwow, = plt.plot(n,6*pow(n,4)*np.log(n)+pow(n,2),marker='v',label="L2") +pcanny, = plt.plot(n,pow(n,2)*(5**3+4*T+1),marker='x',label="L3") +plt.yscale('log') +plt.ylabel('nb. of primary operations') +plt.xlabel("nb of lines and of rows in each image") +#plt.legend(handles=[phugo], loc=1) +#plt.legend([phugo, pwow], ["Hugo", "Wow/Uniward"]) +l1 = plt.legend([pwow,phugo,pcanny], ["Wow/Uniward","Hugo","Stabylo"], loc=0) +plt.gca().add_artist(l1) +#plt.gca().add_artist(l2) +#plt.gca().add_artist(l3) +plt.savefig("complexity.eps") +#plt.show() -- 2.39.5