Commit 16051788ed6a8209aadff619b586eac86543b4f9

Authored by Jay Berkenbilt
1 parent eae8370c

Handle /Outlines dictionary being a direct object

Even though this case is not valid according to the spec, it has been
seen, and caused an internal error.
ChangeLog
1 1 2013-06-14 Jay Berkenbilt <ejb@ql.org>
2 2  
  3 + * Detect and correct /Outlines dictionary being a direct object
  4 + when linearizing files. This is not allowed by the spec but has
  5 + been seen in the wild. Prior to this change, such a file would
  6 + cause an internal error in the linearization code, which assumed
  7 + /Outlines was indirect.
  8 +
3 9 * Add /Length key to crypt filter dictionary for encrypted files.
4 10 This key is optional, but some version of MacOS reportedly fail to
5 11 open encrypted PDF files without this key.
... ...
libqpdf/QPDF_linearization.cc
... ... @@ -958,6 +958,15 @@ QPDF::checkHOutlines(std::list&lt;std::string&gt;&amp; warnings)
958 958 {
959 959 // Check length and offset. Acrobat gets these wrong.
960 960 QPDFObjectHandle outlines = getRoot().getKey("/Outlines");
  961 + if (! outlines.isIndirect())
  962 + {
  963 + // This case is not exercised in test suite since not
  964 + // permitted by the spec, but if this does occur, the
  965 + // code below would fail.
  966 + warnings.push_back(
  967 + "/Outlines key of root dictionary is not indirect");
  968 + return;
  969 + }
961 970 QPDFObjGen og(outlines.getObjGen());
962 971 assert(this->xref_table.count(og) > 0);
963 972 int offset = getLinearizationOffset(og);
... ...
libqpdf/QPDF_optimization.cc
... ... @@ -68,6 +68,20 @@ QPDF::optimize(std::map&lt;int, int&gt; const&amp; object_stream_data,
68 68 return;
69 69 }
70 70  
  71 + // The PDF specification indicates that /Outlines is supposed to
  72 + // be an indirect reference. Force it to be so if it exists and
  73 + // is direct. (This has been seen in the wild.)
  74 + QPDFObjectHandle root = getRoot();
  75 + if (root.getKey("/Outlines").isDictionary())
  76 + {
  77 + QPDFObjectHandle outlines = root.getKey("/Outlines");
  78 + if (! outlines.isIndirect())
  79 + {
  80 + QTC::TC("qpdf", "QPDF_optimization indirect outlines");
  81 + root.replaceKey("/Outlines", makeIndirectObject(outlines));
  82 + }
  83 + }
  84 +
71 85 // Traverse pages tree pushing all inherited resources down to the
72 86 // page level. This also initializes this->all_pages.
73 87 pushInheritedAttributesToPage(allow_changes, false);
... ... @@ -97,7 +111,6 @@ QPDF::optimize(std::map&lt;int, int&gt; const&amp; object_stream_data,
97 111 }
98 112 }
99 113  
100   - QPDFObjectHandle root = getRoot();
101 114 keys = root.getKeys();
102 115 for (std::set<std::string>::iterator iter = keys.begin();
103 116 iter != keys.end(); ++iter)
... ...
qpdf/qpdf.testcov
... ... @@ -263,3 +263,4 @@ QPDFObjectHandle EOF in inline image 0
263 263 QPDFObjectHandle inline image token 0
264 264 QPDF not caching overridden objstm object 0
265 265 QPDFWriter original obj non-zero gen 0
  266 +QPDF_optimization indirect outlines 0
... ...
qpdf/qtest/qpdf.test
... ... @@ -1192,6 +1192,7 @@ my @to_linearize =
1192 1192 'object-stream', # contains object streams
1193 1193 'hybrid-xref', # contains both xref tables and streams
1194 1194 'gen1', # has objects with generation > 0
  1195 + 'direct-outlines', # /Outlines is a direct object
1195 1196 @linearized_files, # we should be able to relinearize
1196 1197 );
1197 1198  
... ...
qpdf/qtest/qpdf/direct-outlines.pdf 0 → 100644
  1 +%PDF-1.3
  2 +%¿÷¢þ
  3 +%QDF-1.0
  4 +
  5 +1 0 obj
  6 +<<
  7 + /PageLabels << /Nums [
  8 + 0 << /P () >>
  9 + 2 << /S /r /St 1 >>
  10 + 7 << /P () >>
  11 + 9 << /S /r /St 6 >>
  12 + 11 << /P () >>
  13 + 12 << /S /D /St 2 >>
  14 + 15 << /S /D /St 6 >>
  15 + 19 << /P () >>
  16 + 20 << /S /D /St 12 >>
  17 + 22 << /S /D /St 16059 >>
  18 + 23 << /S /r /St 50 >>
  19 + 29 << /S /r /St 54 >>
  20 + ] >>
  21 + /Pages 2 0 R
  22 + /Type /Catalog
  23 + /PageMode /UseOutlines
  24 + /Outlines <<
  25 + /Type /Outlines
  26 + /First 96 0 R
  27 + /Last 97 0 R
  28 + /Count 6
  29 + >>
  30 +>>
  31 +endobj
  32 +
  33 +2 0 obj
  34 +<<
  35 + /Count 30
  36 + /Kids [
  37 + 3 0 R
  38 + 4 0 R
  39 + 5 0 R
  40 + 6 0 R
  41 + 7 0 R
  42 + 8 0 R
  43 + 9 0 R
  44 + 10 0 R
  45 + 11 0 R
  46 + 12 0 R
  47 + 13 0 R
  48 + 14 0 R
  49 + 15 0 R
  50 + 16 0 R
  51 + 17 0 R
  52 + 18 0 R
  53 + 19 0 R
  54 + 20 0 R
  55 + 21 0 R
  56 + 22 0 R
  57 + 23 0 R
  58 + 24 0 R
  59 + 25 0 R
  60 + 26 0 R
  61 + 27 0 R
  62 + 28 0 R
  63 + 29 0 R
  64 + 30 0 R
  65 + 31 0 R
  66 + 32 0 R
  67 + ]
  68 + /Type /Pages
  69 +>>
  70 +endobj
  71 +
  72 +%% Page 1
  73 +3 0 obj
  74 +<<
  75 + /Contents 33 0 R
  76 + /MediaBox [
  77 + 0
  78 + 0
  79 + 612
  80 + 792
  81 + ]
  82 + /Parent 2 0 R
  83 + /Resources <<
  84 + /Font <<
  85 + /F1 35 0 R
  86 + >>
  87 + /ProcSet 36 0 R
  88 + >>
  89 + /Type /Page
  90 +>>
  91 +endobj
  92 +
  93 +%% Page 2
  94 +4 0 obj
  95 +<<
  96 + /Contents 37 0 R
  97 + /MediaBox [
  98 + 0
  99 + 0
  100 + 612
  101 + 792
  102 + ]
  103 + /Parent 2 0 R
  104 + /Resources <<
  105 + /Font <<
  106 + /F1 35 0 R
  107 + >>
  108 + /ProcSet 36 0 R
  109 + >>
  110 + /Type /Page
  111 +>>
  112 +endobj
  113 +
  114 +%% Page 3
  115 +5 0 obj
  116 +<<
  117 + /Contents 39 0 R
  118 + /MediaBox [
  119 + 0
  120 + 0
  121 + 612
  122 + 792
  123 + ]
  124 + /Parent 2 0 R
  125 + /Resources <<
  126 + /Font <<
  127 + /F1 35 0 R
  128 + >>
  129 + /ProcSet 36 0 R
  130 + >>
  131 + /Type /Page
  132 +>>
  133 +endobj
  134 +
  135 +%% Page 4
  136 +6 0 obj
  137 +<<
  138 + /Contents 41 0 R
  139 + /MediaBox [
  140 + 0
  141 + 0
  142 + 612
  143 + 792
  144 + ]
  145 + /Parent 2 0 R
  146 + /Resources <<
  147 + /Font <<
  148 + /F1 35 0 R
  149 + >>
  150 + /ProcSet 36 0 R
  151 + >>
  152 + /Type /Page
  153 +>>
  154 +endobj
  155 +
  156 +%% Page 5
  157 +7 0 obj
  158 +<<
  159 + /Contents 43 0 R
  160 + /MediaBox [
  161 + 0
  162 + 0
  163 + 612
  164 + 792
  165 + ]
  166 + /Parent 2 0 R
  167 + /Resources <<
  168 + /Font <<
  169 + /F1 35 0 R
  170 + >>
  171 + /ProcSet 36 0 R
  172 + >>
  173 + /Type /Page
  174 +>>
  175 +endobj
  176 +
  177 +%% Page 6
  178 +8 0 obj
  179 +<<
  180 + /Contents 45 0 R
  181 + /MediaBox [
  182 + 0
  183 + 0
  184 + 612
  185 + 792
  186 + ]
  187 + /Parent 2 0 R
  188 + /Resources <<
  189 + /Font <<
  190 + /F1 35 0 R
  191 + >>
  192 + /ProcSet 36 0 R
  193 + >>
  194 + /Type /Page
  195 +>>
  196 +endobj
  197 +
  198 +%% Page 7
  199 +9 0 obj
  200 +<<
  201 + /Contents 47 0 R
  202 + /MediaBox [
  203 + 0
  204 + 0
  205 + 612
  206 + 792
  207 + ]
  208 + /Parent 2 0 R
  209 + /Resources <<
  210 + /Font <<
  211 + /F1 35 0 R
  212 + >>
  213 + /ProcSet 36 0 R
  214 + >>
  215 + /Type /Page
  216 +>>
  217 +endobj
  218 +
  219 +%% Page 8
  220 +10 0 obj
  221 +<<
  222 + /Contents 49 0 R
  223 + /MediaBox [
  224 + 0
  225 + 0
  226 + 612
  227 + 792
  228 + ]
  229 + /Parent 2 0 R
  230 + /Resources <<
  231 + /Font <<
  232 + /F1 35 0 R
  233 + >>
  234 + /ProcSet 36 0 R
  235 + >>
  236 + /Type /Page
  237 +>>
  238 +endobj
  239 +
  240 +%% Page 9
  241 +11 0 obj
  242 +<<
  243 + /Contents 51 0 R
  244 + /MediaBox [
  245 + 0
  246 + 0
  247 + 612
  248 + 792
  249 + ]
  250 + /Parent 2 0 R
  251 + /Resources <<
  252 + /Font <<
  253 + /F1 35 0 R
  254 + >>
  255 + /ProcSet 36 0 R
  256 + >>
  257 + /Type /Page
  258 +>>
  259 +endobj
  260 +
  261 +%% Page 10
  262 +12 0 obj
  263 +<<
  264 + /Contents 53 0 R
  265 + /MediaBox [
  266 + 0
  267 + 0
  268 + 612
  269 + 792
  270 + ]
  271 + /Parent 2 0 R
  272 + /Resources <<
  273 + /Font <<
  274 + /F1 35 0 R
  275 + >>
  276 + /ProcSet 36 0 R
  277 + >>
  278 + /Type /Page
  279 +>>
  280 +endobj
  281 +
  282 +%% Page 11
  283 +13 0 obj
  284 +<<
  285 + /Contents 55 0 R
  286 + /MediaBox [
  287 + 0
  288 + 0
  289 + 612
  290 + 792
  291 + ]
  292 + /Parent 2 0 R
  293 + /Resources <<
  294 + /Font <<
  295 + /F1 35 0 R
  296 + >>
  297 + /ProcSet 36 0 R
  298 + >>
  299 + /Type /Page
  300 +>>
  301 +endobj
  302 +
  303 +%% Page 12
  304 +14 0 obj
  305 +<<
  306 + /Contents 57 0 R
  307 + /MediaBox [
  308 + 0
  309 + 0
  310 + 612
  311 + 792
  312 + ]
  313 + /Parent 2 0 R
  314 + /Resources <<
  315 + /Font <<
  316 + /F1 35 0 R
  317 + >>
  318 + /ProcSet 36 0 R
  319 + >>
  320 + /Type /Page
  321 +>>
  322 +endobj
  323 +
  324 +%% Page 13
  325 +15 0 obj
  326 +<<
  327 + /Contents 59 0 R
  328 + /MediaBox [
  329 + 0
  330 + 0
  331 + 612
  332 + 792
  333 + ]
  334 + /Parent 2 0 R
  335 + /Resources <<
  336 + /Font <<
  337 + /F1 35 0 R
  338 + >>
  339 + /ProcSet 36 0 R
  340 + >>
  341 + /Type /Page
  342 +>>
  343 +endobj
  344 +
  345 +%% Page 14
  346 +16 0 obj
  347 +<<
  348 + /Contents 61 0 R
  349 + /MediaBox [
  350 + 0
  351 + 0
  352 + 612
  353 + 792
  354 + ]
  355 + /Parent 2 0 R
  356 + /Resources <<
  357 + /Font <<
  358 + /F1 35 0 R
  359 + >>
  360 + /ProcSet 36 0 R
  361 + >>
  362 + /Type /Page
  363 +>>
  364 +endobj
  365 +
  366 +%% Page 15
  367 +17 0 obj
  368 +<<
  369 + /Contents 63 0 R
  370 + /MediaBox [
  371 + 0
  372 + 0
  373 + 612
  374 + 792
  375 + ]
  376 + /Parent 2 0 R
  377 + /Resources <<
  378 + /Font <<
  379 + /F1 35 0 R
  380 + >>
  381 + /ProcSet 36 0 R
  382 + >>
  383 + /Type /Page
  384 +>>
  385 +endobj
  386 +
  387 +%% Page 16
  388 +18 0 obj
  389 +<<
  390 + /Contents 65 0 R
  391 + /MediaBox [
  392 + 0
  393 + 0
  394 + 612
  395 + 792
  396 + ]
  397 + /Parent 2 0 R
  398 + /Resources <<
  399 + /Font <<
  400 + /F1 35 0 R
  401 + >>
  402 + /ProcSet 36 0 R
  403 + >>
  404 + /Type /Page
  405 +>>
  406 +endobj
  407 +
  408 +%% Page 17
  409 +19 0 obj
  410 +<<
  411 + /Contents 67 0 R
  412 + /MediaBox [
  413 + 0
  414 + 0
  415 + 612
  416 + 792
  417 + ]
  418 + /Parent 2 0 R
  419 + /Resources <<
  420 + /Font <<
  421 + /F1 35 0 R
  422 + >>
  423 + /ProcSet 36 0 R
  424 + >>
  425 + /Type /Page
  426 +>>
  427 +endobj
  428 +
  429 +%% Page 18
  430 +20 0 obj
  431 +<<
  432 + /Contents 69 0 R
  433 + /MediaBox [
  434 + 0
  435 + 0
  436 + 612
  437 + 792
  438 + ]
  439 + /Parent 2 0 R
  440 + /Resources <<
  441 + /Font <<
  442 + /F1 35 0 R
  443 + >>
  444 + /ProcSet 36 0 R
  445 + >>
  446 + /Type /Page
  447 +>>
  448 +endobj
  449 +
  450 +%% Page 19
  451 +21 0 obj
  452 +<<
  453 + /Contents 71 0 R
  454 + /MediaBox [
  455 + 0
  456 + 0
  457 + 612
  458 + 792
  459 + ]
  460 + /Parent 2 0 R
  461 + /Resources <<
  462 + /Font <<
  463 + /F1 35 0 R
  464 + >>
  465 + /ProcSet 36 0 R
  466 + >>
  467 + /Type /Page
  468 +>>
  469 +endobj
  470 +
  471 +%% Page 20
  472 +22 0 obj
  473 +<<
  474 + /Contents 73 0 R
  475 + /MediaBox [
  476 + 0
  477 + 0
  478 + 612
  479 + 792
  480 + ]
  481 + /Parent 2 0 R
  482 + /Resources <<
  483 + /Font <<
  484 + /F1 35 0 R
  485 + >>
  486 + /ProcSet 36 0 R
  487 + >>
  488 + /Type /Page
  489 +>>
  490 +endobj
  491 +
  492 +%% Page 21
  493 +23 0 obj
  494 +<<
  495 + /Contents 75 0 R
  496 + /MediaBox [
  497 + 0
  498 + 0
  499 + 612
  500 + 792
  501 + ]
  502 + /Parent 2 0 R
  503 + /Resources <<
  504 + /Font <<
  505 + /F1 35 0 R
  506 + >>
  507 + /ProcSet 36 0 R
  508 + >>
  509 + /Type /Page
  510 +>>
  511 +endobj
  512 +
  513 +%% Page 22
  514 +24 0 obj
  515 +<<
  516 + /Contents 77 0 R
  517 + /MediaBox [
  518 + 0
  519 + 0
  520 + 612
  521 + 792
  522 + ]
  523 + /Parent 2 0 R
  524 + /Resources <<
  525 + /Font <<
  526 + /F1 35 0 R
  527 + >>
  528 + /ProcSet 36 0 R
  529 + >>
  530 + /Type /Page
  531 +>>
  532 +endobj
  533 +
  534 +%% Page 23
  535 +25 0 obj
  536 +<<
  537 + /Contents 79 0 R
  538 + /MediaBox [
  539 + 0
  540 + 0
  541 + 612
  542 + 792
  543 + ]
  544 + /Parent 2 0 R
  545 + /Resources <<
  546 + /Font <<
  547 + /F1 35 0 R
  548 + >>
  549 + /ProcSet 36 0 R
  550 + >>
  551 + /Type /Page
  552 +>>
  553 +endobj
  554 +
  555 +%% Page 24
  556 +26 0 obj
  557 +<<
  558 + /Contents 81 0 R
  559 + /MediaBox [
  560 + 0
  561 + 0
  562 + 612
  563 + 792
  564 + ]
  565 + /Parent 2 0 R
  566 + /Resources <<
  567 + /Font <<
  568 + /F1 35 0 R
  569 + >>
  570 + /ProcSet 36 0 R
  571 + >>
  572 + /Type /Page
  573 +>>
  574 +endobj
  575 +
  576 +%% Page 25
  577 +27 0 obj
  578 +<<
  579 + /Contents 83 0 R
  580 + /MediaBox [
  581 + 0
  582 + 0
  583 + 612
  584 + 792
  585 + ]
  586 + /Parent 2 0 R
  587 + /Resources <<
  588 + /Font <<
  589 + /F1 35 0 R
  590 + >>
  591 + /ProcSet 36 0 R
  592 + >>
  593 + /Type /Page
  594 +>>
  595 +endobj
  596 +
  597 +%% Page 26
  598 +28 0 obj
  599 +<<
  600 + /Contents 85 0 R
  601 + /MediaBox [
  602 + 0
  603 + 0
  604 + 612
  605 + 792
  606 + ]
  607 + /Parent 2 0 R
  608 + /Resources <<
  609 + /Font <<
  610 + /F1 35 0 R
  611 + >>
  612 + /ProcSet 36 0 R
  613 + >>
  614 + /Type /Page
  615 +>>
  616 +endobj
  617 +
  618 +%% Page 27
  619 +29 0 obj
  620 +<<
  621 + /Contents 87 0 R
  622 + /MediaBox [
  623 + 0
  624 + 0
  625 + 612
  626 + 792
  627 + ]
  628 + /Parent 2 0 R
  629 + /Resources <<
  630 + /Font <<
  631 + /F1 35 0 R
  632 + >>
  633 + /ProcSet 36 0 R
  634 + >>
  635 + /Type /Page
  636 +>>
  637 +endobj
  638 +
  639 +%% Page 28
  640 +30 0 obj
  641 +<<
  642 + /Contents 89 0 R
  643 + /MediaBox [
  644 + 0
  645 + 0
  646 + 612
  647 + 792
  648 + ]
  649 + /Parent 2 0 R
  650 + /Resources <<
  651 + /Font <<
  652 + /F1 35 0 R
  653 + >>
  654 + /ProcSet 36 0 R
  655 + >>
  656 + /Type /Page
  657 +>>
  658 +endobj
  659 +
  660 +%% Page 29
  661 +31 0 obj
  662 +<<
  663 + /Contents 91 0 R
  664 + /MediaBox [
  665 + 0
  666 + 0
  667 + 612
  668 + 792
  669 + ]
  670 + /Parent 2 0 R
  671 + /Resources <<
  672 + /Font <<
  673 + /F1 35 0 R
  674 + >>
  675 + /ProcSet 36 0 R
  676 + >>
  677 + /Type /Page
  678 +>>
  679 +endobj
  680 +
  681 +%% Page 30
  682 +32 0 obj
  683 +<<
  684 + /Contents 93 0 R
  685 + /MediaBox [
  686 + 0
  687 + 0
  688 + 612
  689 + 792
  690 + ]
  691 + /Parent 2 0 R
  692 + /Resources <<
  693 + /Font <<
  694 + /F1 35 0 R
  695 + >>
  696 + /ProcSet 36 0 R
  697 + >>
  698 + /Type /Page
  699 +>>
  700 +endobj
  701 +
  702 +%% Contents for page 1
  703 +33 0 obj
  704 +<<
  705 + /Length 34 0 R
  706 +>>
  707 +stream
  708 +BT
  709 + /F1 24 Tf
  710 + 72 720 Td
  711 + (Potato 0) Tj
  712 +ET
  713 +endstream
  714 +endobj
  715 +
  716 +34 0 obj
  717 +46
  718 +endobj
  719 +
  720 +35 0 obj
  721 +<<
  722 + /BaseFont /Helvetica
  723 + /Encoding /WinAnsiEncoding
  724 + /Name /F1
  725 + /Subtype /Type1
  726 + /Type /Font
  727 +>>
  728 +endobj
  729 +
  730 +36 0 obj
  731 +[
  732 + /PDF
  733 + /Text
  734 +]
  735 +endobj
  736 +
  737 +%% Contents for page 2
  738 +37 0 obj
  739 +<<
  740 + /Length 38 0 R
  741 +>>
  742 +stream
  743 +BT
  744 + /F1 24 Tf
  745 + 72 720 Td
  746 + (Potato 1) Tj
  747 +ET
  748 +endstream
  749 +endobj
  750 +
  751 +38 0 obj
  752 +46
  753 +endobj
  754 +
  755 +%% Contents for page 3
  756 +39 0 obj
  757 +<<
  758 + /Length 40 0 R
  759 +>>
  760 +stream
  761 +BT
  762 + /F1 24 Tf
  763 + 72 720 Td
  764 + (Potato 2) Tj
  765 +ET
  766 +endstream
  767 +endobj
  768 +
  769 +40 0 obj
  770 +46
  771 +endobj
  772 +
  773 +%% Contents for page 4
  774 +41 0 obj
  775 +<<
  776 + /Length 42 0 R
  777 +>>
  778 +stream
  779 +BT
  780 + /F1 24 Tf
  781 + 72 720 Td
  782 + (Potato 3) Tj
  783 +ET
  784 +endstream
  785 +endobj
  786 +
  787 +42 0 obj
  788 +46
  789 +endobj
  790 +
  791 +%% Contents for page 5
  792 +43 0 obj
  793 +<<
  794 + /Length 44 0 R
  795 +>>
  796 +stream
  797 +BT
  798 + /F1 24 Tf
  799 + 72 720 Td
  800 + (Potato 4) Tj
  801 +ET
  802 +endstream
  803 +endobj
  804 +
  805 +44 0 obj
  806 +46
  807 +endobj
  808 +
  809 +%% Contents for page 6
  810 +45 0 obj
  811 +<<
  812 + /Length 46 0 R
  813 +>>
  814 +stream
  815 +BT
  816 + /F1 24 Tf
  817 + 72 720 Td
  818 + (Potato 5) Tj
  819 +ET
  820 +endstream
  821 +endobj
  822 +
  823 +46 0 obj
  824 +46
  825 +endobj
  826 +
  827 +%% Contents for page 7
  828 +47 0 obj
  829 +<<
  830 + /Length 48 0 R
  831 +>>
  832 +stream
  833 +BT
  834 + /F1 24 Tf
  835 + 72 720 Td
  836 + (Potato 6) Tj
  837 +ET
  838 +endstream
  839 +endobj
  840 +
  841 +48 0 obj
  842 +46
  843 +endobj
  844 +
  845 +%% Contents for page 8
  846 +49 0 obj
  847 +<<
  848 + /Length 50 0 R
  849 +>>
  850 +stream
  851 +BT
  852 + /F1 24 Tf
  853 + 72 720 Td
  854 + (Potato 7) Tj
  855 +ET
  856 +endstream
  857 +endobj
  858 +
  859 +50 0 obj
  860 +46
  861 +endobj
  862 +
  863 +%% Contents for page 9
  864 +51 0 obj
  865 +<<
  866 + /Length 52 0 R
  867 +>>
  868 +stream
  869 +BT
  870 + /F1 24 Tf
  871 + 72 720 Td
  872 + (Potato 8) Tj
  873 +ET
  874 +endstream
  875 +endobj
  876 +
  877 +52 0 obj
  878 +46
  879 +endobj
  880 +
  881 +%% Contents for page 10
  882 +53 0 obj
  883 +<<
  884 + /Length 54 0 R
  885 +>>
  886 +stream
  887 +BT
  888 + /F1 24 Tf
  889 + 72 720 Td
  890 + (Potato 9) Tj
  891 +ET
  892 +endstream
  893 +endobj
  894 +
  895 +54 0 obj
  896 +46
  897 +endobj
  898 +
  899 +%% Contents for page 11
  900 +55 0 obj
  901 +<<
  902 + /Length 56 0 R
  903 +>>
  904 +stream
  905 +BT
  906 + /F1 24 Tf
  907 + 72 720 Td
  908 + (Potato 10) Tj
  909 +ET
  910 +endstream
  911 +endobj
  912 +
  913 +56 0 obj
  914 +47
  915 +endobj
  916 +
  917 +%% Contents for page 12
  918 +57 0 obj
  919 +<<
  920 + /Length 58 0 R
  921 +>>
  922 +stream
  923 +BT
  924 + /F1 24 Tf
  925 + 72 720 Td
  926 + (Potato 11) Tj
  927 +ET
  928 +endstream
  929 +endobj
  930 +
  931 +58 0 obj
  932 +47
  933 +endobj
  934 +
  935 +%% Contents for page 13
  936 +59 0 obj
  937 +<<
  938 + /Length 60 0 R
  939 +>>
  940 +stream
  941 +BT
  942 + /F1 24 Tf
  943 + 72 720 Td
  944 + (Potato 12) Tj
  945 +ET
  946 +endstream
  947 +endobj
  948 +
  949 +60 0 obj
  950 +47
  951 +endobj
  952 +
  953 +%% Contents for page 14
  954 +61 0 obj
  955 +<<
  956 + /Length 62 0 R
  957 +>>
  958 +stream
  959 +BT
  960 + /F1 24 Tf
  961 + 72 720 Td
  962 + (Potato 13) Tj
  963 +ET
  964 +endstream
  965 +endobj
  966 +
  967 +62 0 obj
  968 +47
  969 +endobj
  970 +
  971 +%% Contents for page 15
  972 +63 0 obj
  973 +<<
  974 + /Length 64 0 R
  975 +>>
  976 +stream
  977 +BT
  978 + /F1 24 Tf
  979 + 72 720 Td
  980 + (Potato 14) Tj
  981 +ET
  982 +endstream
  983 +endobj
  984 +
  985 +64 0 obj
  986 +47
  987 +endobj
  988 +
  989 +%% Contents for page 16
  990 +65 0 obj
  991 +<<
  992 + /Length 66 0 R
  993 +>>
  994 +stream
  995 +BT
  996 + /F1 24 Tf
  997 + 72 720 Td
  998 + (Potato 15) Tj
  999 +ET
  1000 +endstream
  1001 +endobj
  1002 +
  1003 +66 0 obj
  1004 +47
  1005 +endobj
  1006 +
  1007 +%% Contents for page 17
  1008 +67 0 obj
  1009 +<<
  1010 + /Length 68 0 R
  1011 +>>
  1012 +stream
  1013 +BT
  1014 + /F1 24 Tf
  1015 + 72 720 Td
  1016 + (Potato 16) Tj
  1017 +ET
  1018 +endstream
  1019 +endobj
  1020 +
  1021 +68 0 obj
  1022 +47
  1023 +endobj
  1024 +
  1025 +%% Contents for page 18
  1026 +69 0 obj
  1027 +<<
  1028 + /Length 70 0 R
  1029 +>>
  1030 +stream
  1031 +BT
  1032 + /F1 24 Tf
  1033 + 72 720 Td
  1034 + (Potato 17) Tj
  1035 +ET
  1036 +endstream
  1037 +endobj
  1038 +
  1039 +70 0 obj
  1040 +47
  1041 +endobj
  1042 +
  1043 +%% Contents for page 19
  1044 +71 0 obj
  1045 +<<
  1046 + /Length 72 0 R
  1047 +>>
  1048 +stream
  1049 +BT
  1050 + /F1 24 Tf
  1051 + 72 720 Td
  1052 + (Potato 18) Tj
  1053 +ET
  1054 +endstream
  1055 +endobj
  1056 +
  1057 +72 0 obj
  1058 +47
  1059 +endobj
  1060 +
  1061 +%% Contents for page 20
  1062 +73 0 obj
  1063 +<<
  1064 + /Length 74 0 R
  1065 +>>
  1066 +stream
  1067 +BT
  1068 + /F1 24 Tf
  1069 + 72 720 Td
  1070 + (Potato 19) Tj
  1071 +ET
  1072 +endstream
  1073 +endobj
  1074 +
  1075 +74 0 obj
  1076 +47
  1077 +endobj
  1078 +
  1079 +%% Contents for page 21
  1080 +75 0 obj
  1081 +<<
  1082 + /Length 76 0 R
  1083 +>>
  1084 +stream
  1085 +BT
  1086 + /F1 24 Tf
  1087 + 72 720 Td
  1088 + (Potato 20) Tj
  1089 +ET
  1090 +endstream
  1091 +endobj
  1092 +
  1093 +76 0 obj
  1094 +47
  1095 +endobj
  1096 +
  1097 +%% Contents for page 22
  1098 +77 0 obj
  1099 +<<
  1100 + /Length 78 0 R
  1101 +>>
  1102 +stream
  1103 +BT
  1104 + /F1 24 Tf
  1105 + 72 720 Td
  1106 + (Potato 21) Tj
  1107 +ET
  1108 +endstream
  1109 +endobj
  1110 +
  1111 +78 0 obj
  1112 +47
  1113 +endobj
  1114 +
  1115 +%% Contents for page 23
  1116 +79 0 obj
  1117 +<<
  1118 + /Length 80 0 R
  1119 +>>
  1120 +stream
  1121 +BT
  1122 + /F1 24 Tf
  1123 + 72 720 Td
  1124 + (Potato 22) Tj
  1125 +ET
  1126 +endstream
  1127 +endobj
  1128 +
  1129 +80 0 obj
  1130 +47
  1131 +endobj
  1132 +
  1133 +%% Contents for page 24
  1134 +81 0 obj
  1135 +<<
  1136 + /Length 82 0 R
  1137 +>>
  1138 +stream
  1139 +BT
  1140 + /F1 24 Tf
  1141 + 72 720 Td
  1142 + (Potato 23) Tj
  1143 +ET
  1144 +endstream
  1145 +endobj
  1146 +
  1147 +82 0 obj
  1148 +47
  1149 +endobj
  1150 +
  1151 +%% Contents for page 25
  1152 +83 0 obj
  1153 +<<
  1154 + /Length 84 0 R
  1155 +>>
  1156 +stream
  1157 +BT
  1158 + /F1 24 Tf
  1159 + 72 720 Td
  1160 + (Potato 24) Tj
  1161 +ET
  1162 +endstream
  1163 +endobj
  1164 +
  1165 +84 0 obj
  1166 +47
  1167 +endobj
  1168 +
  1169 +%% Contents for page 26
  1170 +85 0 obj
  1171 +<<
  1172 + /Length 86 0 R
  1173 +>>
  1174 +stream
  1175 +BT
  1176 + /F1 24 Tf
  1177 + 72 720 Td
  1178 + (Potato 25) Tj
  1179 +ET
  1180 +endstream
  1181 +endobj
  1182 +
  1183 +86 0 obj
  1184 +47
  1185 +endobj
  1186 +
  1187 +%% Contents for page 27
  1188 +87 0 obj
  1189 +<<
  1190 + /Length 88 0 R
  1191 +>>
  1192 +stream
  1193 +BT
  1194 + /F1 24 Tf
  1195 + 72 720 Td
  1196 + (Potato 26) Tj
  1197 +ET
  1198 +endstream
  1199 +endobj
  1200 +
  1201 +88 0 obj
  1202 +47
  1203 +endobj
  1204 +
  1205 +%% Contents for page 28
  1206 +89 0 obj
  1207 +<<
  1208 + /Length 90 0 R
  1209 +>>
  1210 +stream
  1211 +BT
  1212 + /F1 24 Tf
  1213 + 72 720 Td
  1214 + (Potato 27) Tj
  1215 +ET
  1216 +endstream
  1217 +endobj
  1218 +
  1219 +90 0 obj
  1220 +47
  1221 +endobj
  1222 +
  1223 +%% Contents for page 29
  1224 +91 0 obj
  1225 +<<
  1226 + /Length 92 0 R
  1227 +>>
  1228 +stream
  1229 +BT
  1230 + /F1 24 Tf
  1231 + 72 720 Td
  1232 + (Potato 28) Tj
  1233 +ET
  1234 +endstream
  1235 +endobj
  1236 +
  1237 +92 0 obj
  1238 +47
  1239 +endobj
  1240 +
  1241 +%% Contents for page 30
  1242 +93 0 obj
  1243 +<<
  1244 + /Length 94 0 R
  1245 +>>
  1246 +stream
  1247 +BT
  1248 + /F1 24 Tf
  1249 + 72 720 Td
  1250 + (Potato 29) Tj
  1251 +ET
  1252 +endstream
  1253 +endobj
  1254 +
  1255 +94 0 obj
  1256 +47
  1257 +endobj
  1258 +
  1259 +95 0 obj
  1260 +null
  1261 +endobj
  1262 +
  1263 +96 0 obj
  1264 +<<
  1265 + /Type /Outline
  1266 + /Title (Isís 1 -> 5: /XYZ null null null)
  1267 + /Parent 95 0 R
  1268 + /Count 4
  1269 + /Next 97 0 R
  1270 + /First 98 0 R
  1271 + /Last 99 0 R
  1272 + /Dest [ 8 0 R /XYZ null null null ]
  1273 +>>
  1274 +endobj
  1275 +
  1276 +97 0 obj
  1277 +<<
  1278 + /Type /Outline
  1279 + /Title (Trepak 2 -> 15: /XYZ 66 756 3)
  1280 + /Parent 95 0 R
  1281 + /Prev 96 0 R
  1282 + /Dest [ 18 0 R /XYZ 66 756 3 ]
  1283 +>>
  1284 +endobj
  1285 +
  1286 +98 0 obj
  1287 +<<
  1288 + /Type /Outline
  1289 + /Title (Amanda 1.1 -> 11: /Fit)
  1290 + /Parent 96 0 R
  1291 + /Next 99 0 R
  1292 + /First 100 0 R
  1293 + /Last 101 0 R
  1294 + /Count -3
  1295 + /Dest [ 14 0 R /Fit ]
  1296 +>>
  1297 +endobj
  1298 +
  1299 +99 0 obj
  1300 +<<
  1301 + /Type /Outline
  1302 + % /Title (Sandy (Sandy [Greek]) 1.2 -> 13: /FitH 792)
  1303 + /Title <feff00530061006e00640079002000f703a303b103bd03b403b900f700200031002e00320020002d003e002000310033003a0020002f00460069007400480020003700390032>
  1304 + /Parent 96 0 R
  1305 + /Prev 98 0 R
  1306 + /First 105 0 R
  1307 + /Last 106 0 R
  1308 + /Count 2
  1309 + /Dest [ 16 0 R /FitH 792 ]
  1310 +>>
  1311 +endobj
  1312 +
  1313 +100 0 obj
  1314 +<<
  1315 + /Type /Outline
  1316 + /Title (Isosicle 1.1.1 -> 12: /FitV 100)
  1317 + /Parent 98 0 R
  1318 + /Next 101 0 R
  1319 + /First 102 0 R
  1320 + /Last 103 0 R
  1321 + /Count -2
  1322 + /Dest [ 15 0 R /FitV 100 ]
  1323 +>>
  1324 +endobj
  1325 +
  1326 +101 0 obj
  1327 +<<
  1328 + /Type /Outline
  1329 + /Title (Isosicle 1.1.2 -> 12: /XYZ null null null)
  1330 + /Parent 98 0 R
  1331 + /Prev 100 0 R
  1332 + /First 104 0 R
  1333 + /Last 104 0 R
  1334 + /Count 1
  1335 + /Dest [ 15 0 R /XYZ null null null ]
  1336 +>>
  1337 +endobj
  1338 +
  1339 +102 0 obj
  1340 +<<
  1341 + /Type /Outline
  1342 + /Title (Isosicle 1.1.1.1 -> 18: /XYZ null null null)
  1343 + /Parent 100 0 R
  1344 + /Next 103 0 R
  1345 + /Dest [ 21 0 R /XYZ null null null ]
  1346 +>>
  1347 +endobj
  1348 +
  1349 +103 0 obj
  1350 +<<
  1351 + /Type /Outline
  1352 + /Title (Isosicle 1.1.1.2 -> 19: /XYZ null null null)
  1353 + /Parent 100 0 R
  1354 + /Prev 102 0 R
  1355 + /Dest [ 22 0 R /XYZ null null null ]
  1356 +>>
  1357 +endobj
  1358 +
  1359 +104 0 obj
  1360 +<<
  1361 + /Type /Outline
  1362 + /Title (Isosicle 1.1.2.1 -> 22: /XYZ null null null)
  1363 + /Parent 101 0 R
  1364 + /Dest [ 25 0 R /XYZ null null null ]
  1365 +>>
  1366 +endobj
  1367 +
  1368 +105 0 obj
  1369 +<<
  1370 + /Type /Outline
  1371 + /Title (Trepsichord 1.2.1 -> 1: /FitR 66 714 180 770)
  1372 + /Parent 99 0 R
  1373 + /Next 106 0 R
  1374 + /Dest [ 4 0 R /FitR 66 714 180 770 ]
  1375 +>>
  1376 +endobj
  1377 +
  1378 +106 0 obj
  1379 +<<
  1380 + /Type /Outline
  1381 + /Title (Trepsicle 1.2.2 -> 0: /XYZ null null null)
  1382 + /Parent 99 0 R
  1383 + /Prev 105 0 R
  1384 + /Dest [ 3 0 R /XYZ null null null ]
  1385 +>>
  1386 +endobj
  1387 +
  1388 +xref
  1389 +0 107
  1390 +0000000000 65535 f
  1391 +0000000025 00000 n
  1392 +0000000507 00000 n
  1393 +0000000903 00000 n
  1394 +0000001108 00000 n
  1395 +0000001313 00000 n
  1396 +0000001518 00000 n
  1397 +0000001723 00000 n
  1398 +0000001928 00000 n
  1399 +0000002133 00000 n
  1400 +0000002338 00000 n
  1401 +0000002544 00000 n
  1402 +0000002751 00000 n
  1403 +0000002958 00000 n
  1404 +0000003165 00000 n
  1405 +0000003372 00000 n
  1406 +0000003579 00000 n
  1407 +0000003786 00000 n
  1408 +0000003993 00000 n
  1409 +0000004200 00000 n
  1410 +0000004407 00000 n
  1411 +0000004614 00000 n
  1412 +0000004821 00000 n
  1413 +0000005028 00000 n
  1414 +0000005235 00000 n
  1415 +0000005442 00000 n
  1416 +0000005649 00000 n
  1417 +0000005856 00000 n
  1418 +0000006063 00000 n
  1419 +0000006270 00000 n
  1420 +0000006477 00000 n
  1421 +0000006684 00000 n
  1422 +0000006891 00000 n
  1423 +0000007110 00000 n
  1424 +0000007213 00000 n
  1425 +0000007233 00000 n
  1426 +0000007352 00000 n
  1427 +0000007411 00000 n
  1428 +0000007514 00000 n
  1429 +0000007557 00000 n
  1430 +0000007660 00000 n
  1431 +0000007703 00000 n
  1432 +0000007806 00000 n
  1433 +0000007849 00000 n
  1434 +0000007952 00000 n
  1435 +0000007995 00000 n
  1436 +0000008098 00000 n
  1437 +0000008141 00000 n
  1438 +0000008244 00000 n
  1439 +0000008287 00000 n
  1440 +0000008390 00000 n
  1441 +0000008433 00000 n
  1442 +0000008536 00000 n
  1443 +0000008580 00000 n
  1444 +0000008683 00000 n
  1445 +0000008727 00000 n
  1446 +0000008831 00000 n
  1447 +0000008875 00000 n
  1448 +0000008979 00000 n
  1449 +0000009023 00000 n
  1450 +0000009127 00000 n
  1451 +0000009171 00000 n
  1452 +0000009275 00000 n
  1453 +0000009319 00000 n
  1454 +0000009423 00000 n
  1455 +0000009467 00000 n
  1456 +0000009571 00000 n
  1457 +0000009615 00000 n
  1458 +0000009719 00000 n
  1459 +0000009763 00000 n
  1460 +0000009867 00000 n
  1461 +0000009911 00000 n
  1462 +0000010015 00000 n
  1463 +0000010059 00000 n
  1464 +0000010163 00000 n
  1465 +0000010207 00000 n
  1466 +0000010311 00000 n
  1467 +0000010355 00000 n
  1468 +0000010459 00000 n
  1469 +0000010503 00000 n
  1470 +0000010607 00000 n
  1471 +0000010651 00000 n
  1472 +0000010755 00000 n
  1473 +0000010799 00000 n
  1474 +0000010903 00000 n
  1475 +0000010947 00000 n
  1476 +0000011051 00000 n
  1477 +0000011095 00000 n
  1478 +0000011199 00000 n
  1479 +0000011243 00000 n
  1480 +0000011347 00000 n
  1481 +0000011391 00000 n
  1482 +0000011495 00000 n
  1483 +0000011539 00000 n
  1484 +0000011643 00000 n
  1485 +0000011663 00000 n
  1486 +0000011685 00000 n
  1487 +0000011881 00000 n
  1488 +0000012027 00000 n
  1489 +0000012202 00000 n
  1490 +0000012555 00000 n
  1491 +0000012746 00000 n
  1492 +0000012956 00000 n
  1493 +0000013125 00000 n
  1494 +0000013294 00000 n
  1495 +0000013447 00000 n
  1496 +0000013616 00000 n
  1497 +trailer <<
  1498 + /Root 1 0 R
  1499 + /Size 107
  1500 +>>
  1501 +startxref
  1502 +13781
  1503 +%%EOF
... ...