home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e032 / 2.ddi / FILES / PS.TX_ / PS.TXT
Encoding:
Text File  |  1992-07-09  |  14.0 KB  |  1,338 lines

  1. %!PS-Adobe-2.0 EPSF-2.0
  2. %%BoundingBox: $left $bottom $right $top
  3. %%Creator: Mathematica
  4. %%CreationDate: $date
  5. %%EndComments
  6. $preview
  7. /Mathdict 150 dict def
  8. Mathdict begin
  9. /Mlmarg        $lmarg 72 mul def
  10. /Mrmarg        $rmarg 72 mul def
  11. /Mbmarg        $bmarg 72 mul def
  12. /Mtmarg        $tmarg 72 mul def
  13. /Mwidth        $width 72 mul def
  14. /Mheight    $height 72 mul def
  15. /Mtransform    { $transform } bind def
  16. /Mnodistort    $nodistort def
  17. /Mfixwid    true    def
  18. /Mfixdash    false def
  19. /Mrot        0    def
  20. /Mpstart {
  21. MathPictureStart
  22. } bind def
  23. /Mpend {
  24. MathPictureEnd
  25. } bind def
  26. /Mscale {
  27. 0 1 0 1
  28. 5 -1 roll
  29. MathScale
  30. } bind def
  31. /ISOLatin1Encoding dup where
  32. { pop pop }
  33. {
  34. [
  35. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  36. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  37. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  38. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  39. /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
  40. /parenleft /parenright /asterisk /plus /comma /minus /period /slash
  41. /zero /one /two /three /four /five /six /seven
  42. /eight /nine /colon /semicolon /less /equal /greater /question
  43. /at /A /B /C /D /E /F /G
  44. /H /I /J /K /L /M /N /O
  45. /P /Q /R /S /T /U /V /W
  46. /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
  47. /quoteleft /a /b /c /d /e /f /g
  48. /h /i /j /k /l /m /n /o
  49. /p /q /r /s /t /u /v /w
  50. /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
  51. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  52. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  53. /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
  54. /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
  55. /space /exclamdown /cent /sterling /currency /yen /brokenbar /section
  56. /dieresis /copyright /ordfeminine /guillemotleft
  57. /logicalnot /hyphen /registered /macron
  58. /degree /plusminus /twosuperior /threesuperior
  59. /acute /mu /paragraph /periodcentered
  60. /cedilla /onesuperior /ordmasculine /guillemotright
  61. /onequarter /onehalf /threequarters /questiondown
  62. /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
  63. /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
  64. /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
  65. /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
  66. /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
  67. /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
  68. /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
  69. /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
  70. ] def
  71. } ifelse
  72. /MFontDict 50 dict def
  73. /MStrCat
  74. {
  75. exch
  76. dup length
  77. 2 index length add
  78. string
  79. dup 3 1 roll
  80. copy
  81. length
  82. exch dup
  83. 4 2 roll exch
  84. putinterval
  85. } def
  86. /MCreateEncoding
  87. {
  88. 1 index
  89. 255 string cvs
  90. (-) MStrCat
  91. 1 index MStrCat
  92. cvn exch
  93. (Encoding) MStrCat
  94. cvn dup where
  95. {
  96. exch get
  97. }
  98. {
  99. pop
  100. StandardEncoding
  101. } ifelse
  102. 3 1 roll
  103. dup MFontDict exch known not
  104. {
  105. 1 index findfont
  106. dup length dict
  107. begin
  108. {1 index /FID ne
  109. {def}
  110. {pop pop}
  111. ifelse} forall
  112. /Encoding 3 index
  113. def
  114. currentdict
  115. end
  116. 1 index exch definefont pop
  117. MFontDict 1 index
  118. null put
  119. }
  120. if
  121. exch pop
  122. exch pop
  123. } def
  124. /ISOLatin1 { (ISOLatin1) MCreateEncoding } def
  125. /ISO8859 { (ISOLatin1) MCreateEncoding } def
  126. /Mcopyfont {
  127. dup
  128. maxlength
  129. dict
  130. exch
  131. {
  132. 1 index
  133. /FID
  134. eq
  135. {
  136. pop pop
  137. }
  138. {
  139. 2 index
  140. 3 1 roll
  141. put
  142. }
  143. ifelse
  144. }
  145. forall
  146. } def
  147. /Plain    /Courier findfont Mcopyfont definefont pop
  148. /Bold    /Courier-Bold findfont Mcopyfont definefont pop
  149. /Italic /Courier-Oblique findfont Mcopyfont definefont pop
  150. /MathPictureStart {
  151. gsave
  152. Mtransform
  153. Mlmarg
  154. Mbmarg
  155. translate
  156. Mwidth
  157. Mlmarg Mrmarg add
  158. sub
  159. /Mwidth exch def
  160. Mheight
  161. Mbmarg Mtmarg add
  162. sub
  163. /Mheight exch def
  164. /Mtmatrix
  165. matrix currentmatrix
  166. def
  167. /Mgmatrix
  168. matrix currentmatrix
  169. def
  170. } bind def
  171. /MathPictureEnd {
  172. grestore
  173. } bind def
  174. /MFill {
  175. 0 0         moveto
  176. Mwidth 0     lineto
  177. Mwidth Mheight     lineto
  178. 0 Mheight     lineto
  179. fill
  180. } bind def
  181. /MPlotRegion {
  182. 3 index
  183. Mwidth mul
  184. 2 index
  185. Mheight mul
  186. translate
  187. exch sub
  188. Mheight mul
  189. /Mheight
  190. exch def
  191. exch sub
  192. Mwidth mul
  193. /Mwidth
  194. exch def
  195. } bind def
  196. /MathSubStart {
  197. Momatrix
  198. Mgmatrix Mtmatrix
  199. Mwidth Mheight
  200. 7 -2 roll
  201. moveto
  202. Mtmatrix setmatrix
  203. currentpoint
  204. Mgmatrix setmatrix
  205. 9 -2 roll
  206. moveto
  207. Mtmatrix setmatrix
  208. currentpoint
  209. 2 copy translate
  210. /Mtmatrix matrix currentmatrix def
  211. 3 -1 roll
  212. exch sub
  213. /Mheight exch def
  214. sub
  215. /Mwidth exch def
  216. } bind def
  217. /MathSubEnd {
  218. /Mheight exch def
  219. /Mwidth exch def
  220. /Mtmatrix exch def
  221. dup setmatrix
  222. /Mgmatrix exch def
  223. /Momatrix exch def
  224. } bind def
  225. /Mdot {
  226. moveto
  227. 0 0 rlineto
  228. stroke
  229. } bind def
  230. /Mtetra {
  231. moveto
  232. lineto
  233. lineto
  234. lineto
  235. fill
  236. } bind def
  237. /Metetra {
  238. moveto
  239. lineto
  240. lineto
  241. lineto
  242. closepath
  243. gsave
  244. fill
  245. grestore
  246. 0 setgray
  247. stroke
  248. } bind def
  249. /Mistroke {
  250. flattenpath
  251. 0 0 0
  252. {
  253. 4 2 roll
  254. pop pop
  255. }
  256. {
  257. 4 -1 roll
  258. 2 index
  259. sub dup mul
  260. 4 -1 roll
  261. 2 index
  262. sub dup mul
  263. add sqrt
  264. 4 -1 roll
  265. add
  266. 3 1 roll
  267. }
  268. {
  269. stop
  270. }
  271. {
  272. stop
  273. }
  274. pathforall
  275. pop pop
  276. currentpoint
  277. stroke
  278. moveto
  279. currentdash
  280. 3 -1 roll
  281. add
  282. setdash
  283. } bind def
  284. /Mfstroke {
  285. stroke
  286. currentdash
  287. pop 0
  288. setdash
  289. } bind def
  290. /Mrotsboxa {
  291. gsave
  292. dup
  293. /Mrot
  294. exch def
  295. Mrotcheck
  296. Mtmatrix
  297. dup
  298. setmatrix
  299. 7 1 roll
  300. 4 index
  301. 4 index
  302. translate
  303. rotate
  304. 3 index
  305. -1 mul
  306. 3 index
  307. -1 mul
  308. translate
  309. /Mtmatrix
  310. matrix
  311. currentmatrix
  312. def
  313. grestore
  314. Msboxa
  315. 3  -1 roll
  316. /Mtmatrix
  317. exch def
  318. /Mrot
  319. 0 def
  320. } bind def
  321. /Msboxa {
  322. newpath
  323. 5 -1 roll
  324. Mvboxa
  325. pop
  326. Mboxout
  327. 6 -1 roll
  328. 5 -1 roll
  329. 4 -1 roll
  330. Msboxa1
  331. 5 -3 roll
  332. Msboxa1
  333. Mboxrot
  334. [
  335. 7 -2 roll
  336. 2 copy
  337. [
  338. 3 1 roll
  339. 10 -1 roll
  340. 9 -1 roll
  341. ]
  342. 6 1 roll
  343. 5 -2 roll
  344. ]
  345. } bind def
  346. /Msboxa1 {
  347. sub
  348. 2 div
  349. dup
  350. 2 index
  351. 1 add
  352. mul
  353. 3 -1 roll
  354. -1 add
  355. 3 -1 roll
  356. mul
  357. } bind def
  358. /Mvboxa    {
  359. Mfixwid
  360. {
  361. Mvboxa1
  362. }
  363. {
  364. dup
  365. Mwidthcal
  366. 0 exch
  367. {
  368. add
  369. }
  370. forall
  371. exch
  372. Mvboxa1
  373. 4 index
  374. 7 -1 roll
  375. add
  376. 4 -1 roll
  377. pop
  378. 3 1 roll
  379. }
  380. ifelse
  381. } bind def
  382. /Mvboxa1 {
  383. gsave
  384. newpath
  385. [ true
  386. 3 -1 roll
  387. {
  388. Mbbox
  389. 5 -1 roll
  390. {
  391. 0
  392. 5 1 roll
  393. }
  394. {
  395. 7 -1 roll
  396. exch sub
  397. (m) stringwidth pop
  398. .3 mul
  399. sub
  400. 7 1 roll
  401. 6 -1 roll
  402. 4 -1 roll
  403. Mmin
  404. 3 -1 roll
  405. 5 index
  406. add
  407. 5 -1 roll
  408. 4 -1 roll
  409. Mmax
  410. 4 -1 roll
  411. }
  412. ifelse
  413. false
  414. }
  415. forall
  416. { stop } if
  417. counttomark
  418. 1 add
  419. 4 roll
  420. ]
  421. grestore
  422. } bind def
  423. /Mbbox {
  424. 1 dict begin
  425. 0 0 moveto
  426. /temp (T) def
  427. {    gsave
  428. currentpoint newpath moveto
  429. temp 0 3 -1 roll put temp
  430. false charpath flattenpath currentpoint
  431. pathbbox
  432. grestore moveto lineto moveto} forall
  433. pathbbox
  434. newpath
  435. end
  436. } bind def
  437. /Mmin {
  438. 2 copy
  439. gt
  440. { exch } if
  441. pop
  442. } bind def
  443. /Mmax {
  444. 2 copy
  445. lt
  446. { exch } if
  447. pop
  448. } bind def
  449. /Mrotshowa {
  450. dup
  451. /Mrot
  452. exch def
  453. Mrotcheck
  454. Mtmatrix
  455. dup
  456. setmatrix
  457. 7 1 roll
  458. 4 index
  459. 4 index
  460. translate
  461. rotate
  462. 3 index
  463. -1 mul
  464. 3 index
  465. -1 mul
  466. translate
  467. /Mtmatrix
  468. matrix
  469. currentmatrix
  470. def
  471. Mgmatrix setmatrix
  472. Mshowa
  473. /Mtmatrix
  474. exch def
  475. /Mrot 0 def
  476. } bind def
  477. /Mshowa {
  478. 4 -2 roll
  479. moveto
  480. 2 index
  481. Mtmatrix setmatrix
  482. Mvboxa
  483. 7 1 roll
  484. Mboxout
  485. 6 -1 roll
  486. 5 -1 roll
  487. 4 -1 roll
  488. Mshowa1
  489. 4 1 roll
  490. Mshowa1
  491. rmoveto
  492. currentpoint
  493. Mfixwid
  494. {
  495. Mshowax
  496. }
  497. {
  498. Mshoway
  499. }
  500. ifelse
  501. pop pop pop pop
  502. Mgmatrix setmatrix
  503. } bind def
  504. /Mshowax {    
  505. 0 1
  506. 4 index length
  507. -1 add
  508. {
  509. 2 index
  510. 4 index
  511. 2 index
  512. get
  513. 3 index
  514. add
  515. moveto
  516. 4 index
  517. exch get
  518. Mfixdash
  519. {
  520. Mfixdashp        
  521. }
  522. if
  523. show
  524. } for
  525. } bind def
  526. /Mfixdashp {
  527. dup
  528. length
  529. 1
  530. gt
  531. 1 index
  532. true exch
  533. {
  534. 45
  535. eq
  536. and
  537. } forall
  538. and
  539. {
  540. gsave
  541. (--)        
  542. stringwidth pop
  543. (-)
  544. stringwidth pop
  545. sub
  546. 2 div
  547. 0 rmoveto
  548. dup
  549. length
  550. 1 sub
  551. {
  552. (-)
  553. show
  554. }
  555. repeat
  556. grestore
  557. }
  558. if
  559. } bind def    
  560. /Mshoway {
  561. 3 index
  562. Mwidthcal
  563. 5 1 roll
  564. 0 1
  565. 4 index length
  566. -1 add
  567. {
  568. 2 index
  569. 4 index
  570. 2 index
  571. get
  572. 3 index
  573. add
  574. moveto
  575. 4 index
  576. exch get
  577. [
  578. 6 index
  579. aload
  580. length
  581. 2 add
  582. -1 roll
  583. {
  584. pop
  585. Strform
  586. stringwidth
  587. pop
  588. neg 
  589. exch
  590. add
  591. 0 rmoveto
  592. }
  593. exch
  594. kshow
  595. cleartomark
  596. } for
  597. pop    
  598. } bind def
  599. /Mwidthcal {
  600. [
  601. exch
  602. {
  603. Mwidthcal1
  604. }
  605. forall
  606. ]
  607. [
  608. exch
  609. dup
  610. Maxlen
  611. -1 add
  612. 0 1
  613. 3 -1 roll
  614. {
  615. [
  616. exch
  617. 2 index
  618. {         
  619. 1 index    
  620. Mget
  621. exch
  622. }
  623. forall        
  624. pop
  625. Maxget
  626. exch
  627. }
  628. for
  629. pop
  630. ]
  631. Mreva
  632. } bind def
  633. /Mreva    {
  634. [
  635. exch
  636. aload
  637. length
  638. -1 1
  639. {1 roll}
  640. for
  641. ]
  642. } bind def
  643. /Mget    {
  644. 1 index
  645. length
  646. -1 add
  647. 1 index
  648. ge
  649. {
  650. get
  651. }
  652. {
  653. pop pop
  654. 0
  655. }
  656. ifelse
  657. } bind def
  658. /Maxlen    {
  659. [
  660. exch
  661. {
  662. length
  663. }
  664. forall
  665. Maxget
  666. } bind def
  667. /Maxget    {
  668. counttomark
  669. -1 add
  670. 1 1
  671. 3 -1 roll
  672. {
  673. pop
  674. Mmax
  675. }
  676. for
  677. exch
  678. pop
  679. } bind def
  680. /Mwidthcal1 {
  681. [
  682. exch
  683. {
  684. Strform
  685. stringwidth
  686. pop
  687. }
  688. forall
  689. ]
  690. } bind def
  691. /Strform {
  692. /tem (x) def
  693. tem 0
  694. 3 -1 roll
  695. put
  696. tem
  697. } bind def
  698. /Mshowa1 {
  699. 2 copy
  700. add
  701. 4 1 roll
  702. sub
  703. mul
  704. sub
  705. -2 div
  706. } bind def
  707. /MathScale {
  708. Mwidth
  709. Mheight
  710. Mlp
  711. translate
  712. scale
  713. /yscale exch def
  714. /ybias exch def
  715. /xscale exch def
  716. /xbias exch def
  717. /Momatrix
  718. xscale yscale matrix scale
  719. xbias ybias matrix translate
  720. matrix concatmatrix def
  721. /Mgmatrix
  722. matrix currentmatrix
  723. def
  724. } bind def
  725. /Mlp {
  726. 3 copy
  727. Mlpfirst
  728. {
  729. Mnodistort
  730. {
  731. Mmin
  732. dup
  733. } if
  734. 4 index
  735. 2 index
  736. 2 index
  737. Mlprun
  738. 11 index
  739. 11 -1 roll
  740. 10 -4 roll
  741. Mlp1
  742. 8 index
  743. 9 -5 roll
  744. Mlp1
  745. 4 -1 roll
  746. and
  747. { exit } if
  748. 3 -1 roll
  749. pop pop
  750. } loop
  751. exch
  752. 3 1 roll
  753. 7 -3 roll
  754. pop pop pop
  755. } bind def
  756. /Mlpfirst {
  757. 3 -1 roll
  758. dup length
  759. 2 copy
  760. -2 add
  761. get
  762. aload
  763. pop pop pop
  764. 4 -2 roll
  765. -1 add
  766. get
  767. aload
  768. pop pop pop
  769. 6 -1 roll
  770. 3 -1 roll
  771. 5 -1 roll
  772. sub
  773. div
  774. 4 1 roll
  775. exch sub
  776. div
  777. } bind def
  778. /Mlprun {
  779. 2 copy
  780. 4 index
  781. 0 get
  782. dup
  783. 4 1 roll
  784. Mlprun1
  785. 3 copy
  786. 8 -2 roll
  787. 9 -1 roll
  788. {
  789. 3 copy
  790. Mlprun1
  791. 3 copy
  792. 11 -3 roll
  793. /gt Mlpminmax
  794. 8 3 roll
  795. 11 -3 roll
  796. /lt Mlpminmax
  797. 8 3 roll
  798. } forall
  799. pop pop pop pop
  800. 3 1 roll
  801. pop pop
  802. aload pop
  803. 5 -1 roll
  804. aload pop
  805. exch
  806. 6 -1 roll
  807. Mlprun2
  808. 8 2 roll
  809. 4 -1 roll
  810. Mlprun2
  811. 6 2 roll
  812. 3 -1 roll
  813. Mlprun2
  814. 4 2 roll
  815. exch
  816. Mlprun2
  817. 6 2 roll
  818. } bind def
  819. /Mlprun1 {
  820. aload pop
  821. exch
  822. 6 -1 roll
  823. 5 -1 roll
  824. mul add
  825. 4 -2 roll
  826. mul
  827. 3 -1 roll
  828. add
  829. } bind def
  830. /Mlprun2 {
  831. 2 copy
  832. add 2 div
  833. 3 1 roll
  834. exch sub
  835. } bind def
  836. /Mlpminmax {
  837. cvx
  838. 2 index
  839. 6 index
  840. 2 index
  841. exec
  842. {
  843. 7 -3 roll
  844. 4 -1 roll
  845. } if
  846. 1 index
  847. 5 index
  848. 3 -1 roll
  849. exec
  850. {
  851. 4 1 roll
  852. pop
  853. 5 -1 roll
  854. aload
  855. pop pop
  856. 4 -1 roll
  857. aload pop
  858. [
  859. 8 -2 roll
  860. pop
  861. 5 -2 roll
  862. pop
  863. 6 -2 roll
  864. pop
  865. 5 -1 roll
  866. ]
  867. 4 1 roll
  868. pop
  869. }
  870. {
  871. pop pop pop
  872. } ifelse
  873. } bind def
  874. /Mlp1 {
  875. 5 index
  876. 3 index    sub
  877. 5 index
  878. 2 index mul
  879. 1 index
  880. le
  881. 1 index
  882. 0 le
  883. or
  884. dup
  885. not
  886. {
  887. 1 index
  888. 3 index    div
  889. .99999 mul
  890. 8 -1 roll
  891. pop
  892. 7 1 roll
  893. }
  894. if
  895. 8 -1 roll
  896. 2 div
  897. 7 -2 roll
  898. pop sub
  899. 5 index
  900. 6 -3 roll
  901. pop pop
  902. mul sub
  903. exch
  904. } bind def
  905. /intop 0 def
  906. /inrht 0 def
  907. /inflag 0 def
  908. /outflag 0 def
  909. /xadrht 0 def
  910. /xadlft 0 def
  911. /yadtop 0 def
  912. /yadbot 0 def
  913. /Minner {
  914. outflag
  915. 1
  916. eq
  917. {
  918. /outflag 0 def
  919. /intop 0 def
  920. /inrht 0 def
  921. } if        
  922. 5 index
  923. gsave
  924. Mtmatrix setmatrix
  925. Mvboxa pop
  926. grestore
  927. 3 -1 roll
  928. pop
  929. dup
  930. intop
  931. gt
  932. {
  933. /intop
  934. exch def
  935. }
  936. { pop }
  937. ifelse
  938. dup
  939. inrht
  940. gt
  941. {
  942. /inrht
  943. exch def
  944. }
  945. { pop }
  946. ifelse
  947. pop
  948. /inflag
  949. 1 def
  950. } bind def
  951. /Mouter {
  952. /xadrht 0 def
  953. /xadlft 0 def
  954. /yadtop 0 def
  955. /yadbot 0 def
  956. inflag
  957. 1 eq
  958. {
  959. dup
  960. 0 lt
  961. {
  962. dup
  963. intop
  964. mul
  965. neg
  966. /yadtop
  967. exch def
  968. } if
  969. dup
  970. 0 gt
  971. {
  972. dup
  973. intop
  974. mul
  975. /yadbot
  976. exch def
  977. }
  978. if
  979. pop
  980. dup
  981. 0 lt
  982. {
  983. dup
  984. inrht
  985. mul
  986. neg
  987. /xadrht
  988. exch def
  989. } if
  990. dup
  991. 0 gt
  992. {
  993. dup
  994. inrht
  995. mul
  996. /xadlft
  997. exch def
  998. } if
  999. pop
  1000. /outflag 1 def
  1001. }
  1002. { pop pop}
  1003. ifelse
  1004. /inflag 0 def
  1005. /inrht 0 def
  1006. /intop 0 def
  1007. } bind def    
  1008. /Mboxout {
  1009. outflag
  1010. 1
  1011. eq
  1012. {
  1013. 4 -1
  1014. roll
  1015. xadlft
  1016. leadjust
  1017. add
  1018. sub
  1019. 4 1 roll
  1020. 3 -1
  1021. roll
  1022. yadbot
  1023. leadjust
  1024. add
  1025. sub
  1026. 3 1
  1027. roll
  1028. exch
  1029. xadrht
  1030. leadjust
  1031. add
  1032. add
  1033. exch
  1034. yadtop
  1035. leadjust
  1036. add
  1037. add
  1038. /outflag 0 def
  1039. /xadlft 0 def
  1040. /yadbot 0 def
  1041. /xadrht 0 def
  1042. /yadtop 0 def
  1043. } if
  1044. } bind def
  1045. /leadjust {
  1046. (m) stringwidth pop
  1047. .5 mul
  1048. } bind def
  1049. /Mrotcheck {
  1050. dup
  1051. 90
  1052. eq
  1053. {
  1054. yadbot
  1055. /yadbot
  1056. xadrht
  1057. def    
  1058. /xadrht
  1059. yadtop
  1060. def
  1061. /yadtop
  1062. xadlft
  1063. def
  1064. /xadlft
  1065. exch
  1066. def
  1067. }
  1068. if
  1069. dup
  1070. cos
  1071. 1 index
  1072. sin
  1073. Checkaux
  1074. dup
  1075. cos
  1076. 1 index
  1077. sin neg
  1078. exch
  1079. Checkaux
  1080. 3 1 roll
  1081. pop pop
  1082. } bind def
  1083. /Checkaux {
  1084. 4 index
  1085. exch
  1086. 4 index
  1087. mul
  1088. 3 1 roll
  1089. mul add
  1090. 4 1 roll
  1091. } bind def
  1092. /Mboxrot {
  1093. Mrot
  1094. 90 eq
  1095. {
  1096. brotaux
  1097. 4 2
  1098. roll
  1099. }
  1100. if
  1101. Mrot
  1102. 180 eq
  1103. {
  1104. 4 2
  1105. roll
  1106. brotaux
  1107. 4 2
  1108. roll
  1109. brotaux
  1110. }    
  1111. if
  1112. Mrot
  1113. 270 eq
  1114. {
  1115. 4 2
  1116. roll
  1117. brotaux
  1118. }
  1119. if
  1120. } bind def
  1121. /brotaux {
  1122. neg
  1123. exch
  1124. neg
  1125. } bind def
  1126. /Mabsproc {
  1127. 0
  1128. matrix defaultmatrix
  1129. dtransform idtransform
  1130. dup mul exch
  1131. dup mul
  1132. add sqrt
  1133. } bind def
  1134. /Mabswid {
  1135. Mabsproc
  1136. setlinewidth    
  1137. } bind def
  1138. /Mabsdash {
  1139. exch
  1140. [
  1141. exch
  1142. {
  1143. Mabsproc
  1144. }
  1145. forall
  1146. ]
  1147. exch
  1148. setdash
  1149. } bind def
  1150. /MBeginOrig { Momatrix concat} bind def
  1151. /MEndOrig { Mgmatrix setmatrix} bind def
  1152. /sampledsound where
  1153. { pop}
  1154. { /sampledsound {
  1155. exch
  1156. pop
  1157. exch
  1158. 5 1 roll
  1159. mul
  1160. 4 idiv
  1161. mul
  1162. 2 idiv
  1163. exch pop
  1164. exch
  1165. /Mtempproc exch def
  1166. { Mtempproc pop}
  1167. repeat
  1168. } bind def
  1169. } ifelse
  1170. /g { setgray} bind def
  1171. /k { setcmykcolor} bind def
  1172. /m { moveto} bind def
  1173. /p { gsave} bind def
  1174. /r { setrgbcolor} bind def
  1175. /w { setlinewidth} bind def
  1176. /C { curveto} bind def
  1177. /F { fill} bind def
  1178. /L { lineto} bind def
  1179. /P { grestore} bind def
  1180. /s { stroke} bind def
  1181. /setcmykcolor where
  1182. { pop}
  1183. { /setcmykcolor {
  1184. 4 1
  1185. roll
  1186. [
  1187. 4 1 
  1188. roll
  1189. ]
  1190. {
  1191. 1 index
  1192. sub
  1193. 1
  1194. sub neg
  1195. dup
  1196. 0
  1197. lt
  1198. {
  1199. pop
  1200. 0
  1201. }
  1202. if
  1203. dup
  1204. 1
  1205. gt
  1206. {
  1207. pop
  1208. 1
  1209. }
  1210. if
  1211. exch
  1212. } forall
  1213. pop
  1214. setrgbcolor
  1215. } bind def
  1216. } ifelse
  1217. /Mcharproc
  1218. {
  1219. currentfile
  1220. (x)
  1221. readhexstring
  1222. pop
  1223. 0 get
  1224. exch
  1225. div
  1226. } bind def
  1227. /Mshadeproc
  1228. {
  1229. dup
  1230. 3 1
  1231. roll
  1232. {
  1233. dup
  1234. Mcharproc
  1235. 3 1
  1236. roll
  1237. } repeat
  1238. 1 eq
  1239. {
  1240. setgray
  1241. }
  1242. {
  1243. 3 eq
  1244. {
  1245. setrgbcolor
  1246. }
  1247. {
  1248. setcmykcolor
  1249. } ifelse
  1250. } ifelse
  1251. } bind def
  1252. /Mrectproc
  1253. {
  1254. 3 index
  1255. 2 index
  1256. moveto
  1257. 2 index
  1258. 3 -1
  1259. roll
  1260. lineto
  1261. dup
  1262. 3 1
  1263. roll
  1264. lineto
  1265. lineto
  1266. fill
  1267. } bind def
  1268. /Mcolorimage
  1269. {
  1270. 7 1
  1271. roll
  1272. pop
  1273. pop
  1274. matrix
  1275. invertmatrix
  1276. concat
  1277. 2 exch exp
  1278. 1 sub
  1279. 3 1 roll
  1280. 1 1
  1281. 2 index
  1282. {
  1283. 1 1
  1284. 4 index
  1285. {
  1286. dup
  1287. 1 sub
  1288. exch
  1289. 2 index
  1290. dup
  1291. 1 sub
  1292. exch
  1293. 7 index
  1294. 9 index
  1295. Mshadeproc
  1296. Mrectproc
  1297. } for
  1298. pop
  1299. } for
  1300. pop pop pop pop
  1301. } bind def
  1302. /Mimage
  1303. {
  1304. pop
  1305. matrix
  1306. invertmatrix
  1307. concat
  1308. 2 exch exp
  1309. 1 sub
  1310. 3 1 roll
  1311. 1 1
  1312. 2 index
  1313. {
  1314. 1 1
  1315. 4 index
  1316. {
  1317. dup
  1318. 1 sub
  1319. exch
  1320. 2 index
  1321. dup
  1322. 1 sub
  1323. exch
  1324. 7 index
  1325. Mcharproc
  1326. setgray
  1327. Mrectproc
  1328. } for
  1329. pop
  1330. } for
  1331. pop pop pop
  1332. } bind def
  1333. $body
  1334. end
  1335. showpage
  1336.  
  1337. };
  1338.