
Tc           @   s  d  d l  m Z d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l
 Z
 d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z d d	 l m Z m Z m Z m Z m Z m Z m Z m Z m  Z  d
 Z! e j" j# e j" j$ e%  d  Z& d a' d a) d a* d   Z+ d e, f d     YZ- d S(   i(   t   division(   t   datetime(   t   wrapsNi   (   t
   TTFontFile(   t   fpdf_charwidths(   t   substrt   sprintft   print_rt   UTF8ToUTF16BEt   UTF8StringToArray(	   t   PY3Kt   picklet   urlopent   Imaget
   basestringt   unicodet	   exceptiont   bt   hashpaths   1.7.2t   fonti    c         C   s   | t    |  <d  S(   N(   t   globals(   t   vart   val(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt
   set_global%   s    t   FPDFc        	   B   s  e  Z d  Z d d d d  Z d   Z d d  Z d   Z d	   Z d
   Z d d  Z	 d d  Z
 d   Z d   Z d   Z d   Z d   Z d   Z d d  Z d   Z d   Z d   Z d d  Z d   Z d   Z d   Z d d d  Z d d d   Z d d d!  Z d"   Z d#   Z e d$    Z e e d%  Z  e d& d& d'   Z! e d d(   Z" e d d)   Z# d d e d*  Z$ d d d+  Z% d,   Z& d-   Z' d d d.  Z( d/   Z) e d d0   Z* e da da d1   Z, d2   Z- e d d d d d d d d3   Z. e d d d4 d e d5   Z/ e d d d6   Z0 e da da d d d d d7   Z1 e d d8   Z2 d9   Z3 d:   Z4 d;   Z5 d<   Z6 d=   Z7 d d d>  Z8 d?   Z9 d@   Z: dA   Z; dB   Z< dC   Z= dD   Z> dE   Z? dF   Z@ dG   ZA dH   ZB dI   ZC dJ   ZD dK   ZE dL   ZF dM   ZG dN   ZH dO   ZI dP   ZJ dQ   ZK dR   ZL dS   ZM dT   ZN dU   ZO dV   ZP dW   ZQ dX   ZR dY   ZS dZ   ZT e d[ d\ d]   ZU e d^ d_ d`   ZV RS(b   s   PDF Generation classt   Pt   mmt   A4c         C   s  |  j    i  |  _ d |  _ d |  _ d |  _ i  |  _ i  |  _ d |  _ i  |  _ i  |  _	 i  |  _
 i  |  _ i  |  _ i  |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ i d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6|  _ | d# k rwd$ |  _ nY | d% k rdF |  _ nA | d( k rdG |  _ n) | d* k rd+ |  _ n |  j d, |  t | t  r| j    } | d- k r dH } ne | d0 k rdI } nP | d2 k r*dJ } n; | d4 k r?dK } n& | d7 k rTdL } n |  j d9 |  | d |  _! | d$ |  _" n( | d |  j |  _! | d$ |  j |  _" |  j! |  j |  _# |  j" |  j |  _$ | j    } | d: k s| d; k rd< |  _% |  j! |  _& |  j" |  _' nM | d= k s0| d> k rTd? |  _% |  j" |  _& |  j! |  _' n |  j d@ |  |  j% |  _( |  j& |  j |  _) |  j' |  j |  _* dA |  j } |  j+ | |  | dB |  _, dC |  j |  _- |  j. d$ d |  |  j/ dD  |  j0 d$  dE |  _1 d  S(M   Ni    i   t    i   s   0 Gs   0 gt   Couriert   couriers   Courier-Boldt   courierBs   Courier-Obliquet   courierIs   Courier-BoldObliquet	   courierBIt	   Helveticat	   helveticas   Helvetica-Boldt
   helveticaBs   Helvetica-Obliquet
   helveticaIs   Helvetica-BoldObliquet   helveticaBIs   Times-Romant   timess
   Times-Boldt   timesBs   Times-Italict   timesIs   Times-BoldItalict   timesBIt   Symbolt   symbolt   ZapfDingbatst   zapfdingbatst   pti   R   iH   gffffff9@t   cmgRQ@t   ing      R@s   Incorrect unit: t   a3gQO@g33333@t   a4g
ףp=@t   a5gףp=
Oz@t   letterid  i  t   legali  s   Unknown page format: t   pt   portraitR   t   lt	   landscapet   Ls   Incorrect orientation: gY<@g      $@g/$?t	   fullwidths   1.3gjZ@gbX<@(   gQO@g33333@(   g
ףp=@gQO@(   gףp=
Oz@g
ףp=@(   id  i  (   id  i  (2   t	   _docheckst   offsetst   paget   nt   buffert   pagest   orientation_changest   statet   fontst
   font_filest   diffst   imagest
   page_linkst   linkst	   in_footert   lastwt   lastht   font_familyt
   font_stylet   font_size_ptt	   underlinet
   draw_colort
   fill_colort
   text_colort
   color_flagt   wst   anglet
   core_fontst   kt   errort
   isinstanceR   t   lowert   fw_ptt   fh_ptt   fwt   fht   def_orientationt   w_ptt   h_ptt   cur_orientationt   wt   ht   set_marginst   c_margint
   line_widtht   set_auto_page_breakt   set_display_modet   set_compressiont   pdf_version(   t   selft   orientationt   unitt   formatt   margin(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   __init__,   s    
																																	c            s   t       f d    } | S(   s$   Decorator to protect drawing methodsc            s>   |  j  r* | j d  r* |  j d  n   |  | |  Sd  S(   Nt
   split_onlys/   No page open, you need to call add_page() first(   R?   t   getRZ   (   Rn   t   argst   kwargs(   t   fn(    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   wrapper   s    (   R   (   Rx   Ry   (    (   Rx   s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt
   check_page   s    ic         C   s4   | |  _  | |  _ | d k r' | } n  | |  _ d S(   s   Set left, top and right marginsiN(   t   l_margint   t_margint   r_margin(   Rn   t   leftt   topt   right(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRg      s
    			c         C   s7   | |  _  |  j d k r3 |  j | k  r3 | |  _ n  d S(   s   Set left margini    N(   R{   R?   t   x(   Rn   Rr   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_left_margin   s    	c         C   s   | |  _  d S(   s   Set top marginN(   R|   (   Rn   Rr   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_top_margin   s    c         C   s   | |  _  d S(   s   Set right marginN(   R}   (   Rn   Rr   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_right_margin   s    i    c         C   s&   | |  _  | |  _ |  j | |  _ d S(   s.   Set auto page break mode and triggering marginN(   t   auto_page_breakt   b_marginRf   t   page_break_trigger(   Rn   t   autoRr   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRj      s    		t
   continuousc         C   s   | d k s@ | d k s@ | d k s@ | d k s@ t  | t  rL | |  _ n |  j d |  | d k s | d k s | d k s | d k r | |  _ n |  j d	 |  d
 S(   s   Set display mode in viewer
        
        The "zoom" argument may be 'fullpage', 'fullwidth', 'real',
        'default', or a number, interpreted as a percentage.t   fullpageR<   t   realt   defaults   Incorrect zoom display mode: t   singleR   t   twos   Incorrect layout display mode: N(   R[   R   t	   zoom_modeRZ   t   layout_mode(   Rn   t   zoomt   layout(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRk      s    @0c         C   s   | |  _  d S(   s   Set page compressionN(   t   compress(   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRl      s    c         C   s   | |  _  d S(   s   Title of documentN(   t   title(   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt	   set_title   s    c         C   s   | |  _  d S(   s   Subject of documentN(   t   subject(   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_subject   s    c         C   s   | |  _  d S(   s   Author of documentN(   t   author(   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt
   set_author   s    c         C   s   | |  _  d S(   s   Keywords of documentN(   t   keywords(   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_keywords   s    c         C   s   | |  _  d S(   s   Creator of documentN(   t   creator(   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_creator   s    s   {nb}c         C   s   | |  _  | S(   s)   Define an alias for total number of pages(   t   str_alias_nb_pages(   Rn   t   alias(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   alias_nb_pages   s    	c         C   s   t  d |   d S(   s   Fatal errors   FPDF error: N(   t   RuntimeError(   Rn   t   msg(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRZ      s    c         C   s   d |  _  d S(   s   Begin documenti   N(   RD   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   open   s    c         C   sc   |  j  d k r d S|  j d k r/ |  j   n  d |  _ |  j   d |  _ |  j   |  j   d S(   s   Terminate documenti   Ni    i   (   RD   R?   t   add_pageRK   t   footert   _endpaget   _enddoc(   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   close   s    	
	
R   c   
      C   s1  |  j  d k r |  j   n  |  j } |  j r> |  j d } n	 |  j } |  j } |  j } |  j } |  j } |  j	 } |  j
 }	 |  j d k r d |  _ |  j   d |  _ |  j   n  |  j |  |  j d  | |  _ |  j t d | |  j   | r|  j | | |  n  | |  _ | d k r6|  j |  n  | |  _ | d k r[|  j |  n  | |  _	 |	 |  _
 |  j   |  j | k r| |  _ |  j t d | |  j   n  | r|  j | | |  n  |  j | k r| |  _ |  j |  n  |  j | k r| |  _ |  j |  n  | |  _	 |	 |  _
 d S(	   s   Start a new pagei    t   Ui   s   2 Js   %.2f ws   0 Gs   0 gN(   RD   R   RN   RQ   RO   RP   Ri   RR   RS   RT   RU   R?   RK   R   R   t
   _beginpaget   _outR   RY   t   set_fontt   header(
   Rn   Ro   t   familyt   stylet   sizet   lwt   dct   fct   tct   cf(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR      sZ    										
						
	 			c         C   s   d S(   s4   Header to be implemented in your own inherited classN(    (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   4  s    c         C   s   d S(   s4   Footer to be implemented in your own inherited classN(    (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   8  s    c         C   s   |  j  S(   s   Get current page number(   R?   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   page_no<  s    c         C   s   | d k r$ | d k r$ | d k s0 | d k rI t  d | d  |  _ n$ t  d | d | d | d  |  _ |  j d k r |  j |  j  n  d S(   s%   Set color for all stroking operationsi    is   %.3f Gg     o@s   %.3f %.3f %.3f RGN(   R   RR   R?   R   (   Rn   t   rt   gR   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_draw_color@  s
    0$c         C   s   | d k r$ | d k r$ | d k s0 | d k rI t  d | d  |  _ n$ t  d | d | d | d  |  _ |  j |  j k |  _ |  j d k r |  j |  j  n  d S(   s$   Set color for all filling operationsi    is   %.3f gg     o@s   %.3f %.3f %.3f rgN(   R   RS   RT   RU   R?   R   (   Rn   R   R   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_fill_colorI  s    0$c         C   s   | d k r$ | d k r$ | d k s0 | d k rI t  d | d  |  _ n$ t  d | d | d | d  |  _ |  j |  j k |  _ d S(   s   Set color for texti    is   %.3f gg     o@s   %.3f %.3f %.3f rgN(   R   RT   RS   RU   (   Rn   R   R   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_text_colorS  s    0$c         C   s   |  j  |  } |  j d } d } t |  } |  j r x | D]h } t |  } t |  | k rs | | | 7} q> |  j d d r | |  j d d 7} q> | d 7} q> Wn4 x1 t d |  D]  } | | j | | d  7} q W| |  j d S(   s)   Get width of a string in the current fontt   cwi    t   desct   MissingWidthi  g     @@(   t   normalize_textt   current_fontt   lent   unifontsubsett   ordt   rangeRu   t	   font_size(   Rn   t   sR   Re   R9   t   chart   i(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   get_string_width[  s    	c         C   s<   | |  _  |  j d k r8 |  j t d | |  j   n  d S(   s   Set line widthi    s   %.2f wN(   Ri   R?   R   R   RY   (   Rn   t   width(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_line_widthq  s    	c         C   sM   |  j  t d | |  j |  j | |  j | |  j |  j | |  j   d S(   s   Draw a lines   %.2f %.2f m %.2f %.2f l SN(   R   R   RY   Rf   (   Rn   t   x1t   y1t   x2t   y2(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   linew  s    c         C   sF   | r/ | r/ t  d | |  j | |  j  } n d } |  j |  d  S(   Ns   [%.3f %.3f] 0 ds   [] 0 d(   R   RY   R   (   Rn   t   dash_lengtht   space_lengthR   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt	   _set_dash|  s    #i   c         C   s4   |  j  | |  |  j | | | |  |  j    d S(   s   Draw a dashed line. Same interface as line() except:
           - dash_length: Length of the dash
           - space_length: Length of the space between dashesN(   R   R   (   Rn   R   R   R   R   R   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   dashed_line  s    c         C   s   | d k r d } n' | d k s- | d k r6 d } n d } |  j  t d | |  j |  j | |  j | |  j | |  j |   d S(	   s   Draw a rectanglet   Ft   ft   FDt   DFt   Bt   Ss   %.2f %.2f %.2f %.2f re %sN(   R   R   RY   Rf   (   Rn   R   t   yRe   Rf   R   t   op(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   rect  s    		c         C   s  | d k r d } n' | d k s- | d k r6 d } n d } | | d } | | d } | d }	 | d }
 d t  j d
  d |	 } d t  j d
  d |
 } |  j t d | |	 |  j |  j | |  j | |	 |  j |  j | | |  j | | |  j |  j | |
 |  j | |  j |  j | |
 |  j 	  |  j t d | | |  j |  j | |
 |  j | |	 |  j |  j | | |  j | |	 |  j |  j | |  j   |  j t d | |	 |  j |  j | | |  j | | |  j |  j | |
 |  j | |  j |  j | |
 |  j   |  j t d | | |  j |  j | |
 |  j | |	 |  j |  j | | |  j | |	 |  j |  j | |  j |   d S(   s   Draw a ellipseR   R   R   R   R   R   g       @g      @g      @i   i   s+   %.2f %.2f m %.2f %.2f %.2f %.2f %.2f %.2f cs   %.2f %.2f %.2f %.2f %.2f %.2f cs"   %.2f %.2f %.2f %.2f %.2f %.2f c %sNgUUUUUU?gUUUUUU?(   t   matht   sqrtR   R   RY   Rf   (   Rn   R   R   Re   Rf   R   R   t   cxt   cyt   rxt   ryt   lxt   ly(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   ellipse  s:    		

##&##&##&##c      	   C   s5  | j    } | d k r; | j d d  | j    d } n  | d k rP d } n  | j   } | d k rq d } n  | | } | |  j k r d S| rt j j |  r | } n t r t j j t j j t |   r t j j t |  } nO t	 r-t j j t j j t	 |   r-t j j t	 |  } n t
 d	 |   d } t d
 k rlt j j |  d
 d } n4 t d k rt j j t t |  d  } n d } | rt j j |  rt | d  }	 z t j |	  }
 Wd |	 j   Xnt   } | j |  i t t | j d
   d 6t t | j d
   d 6t t | j d
   d 6| j d 6d t t | j d
 d
   t t | j d d
   t t | j d d
   t t | j d d
   f d 6t | j  d 6t t | j d
   d 6t t | j d
   d 6} i	 t  j! d d | j"  d 6d d 6| d 6t | j#  d 6t | j$  d 6| d 6| d  6t j% |  j& d! 6| j' d" 6}
 | ry- t | d#  }	 t j( |
 |	  |	 j   Wqt) k
 rt*   j+ t+ j, k s  qqXn  ~ t- |  d$  rt. t/ d
 d%   } n t. t/ d
 d&   } i t0 |  j  d d' 6|
 d d 6|
 d d 6|
 d d 6|
 d d 6|
 d d 6|
 d" d" 6|
 d d 6| d  6| d( 6| d) 6|  j | <i |
 d! d* 6d d 6| d 6|  j1 | <i d d 6|  j1 | <nHt |  } z t j |  }
 Wd | j   Xi t0 |  j  d d' 6|  j | <|  j | j2 |
  t3 rd
 } t0 |  j4  } x8 t/ d | d  D]# } |  j4 | t3 k rz| } PqzqzW| d
 k r| d } t3 |  j4 | <n  | |  j | d+ <n  |
 j5 d,  } | r1t6 d- k ri t7 d* 6|  j1 | <q1i t8 d* 6t9 d. 6|  j1 | <n  d S(/   s   Add a TrueType or Type1 fontR   t    s   .pklt   arialR#   t   IBt   BINs   TTF Font file not found: %si    i   t   rbt   Ascentt   Descentt	   CapHeightt   Flagss   [%s %s %s %s]i   i   t   FontBBoxt   ItalicAnglet   StemVR   s   [ ()]t   namet   TTFt   typeR   t   upt   utt   ttffilet   fontkeyt   originalsizeR   t   wbR   i9   i    R   t   subsett   unifilenamet   length1t   difft   filenamet   TrueTypet   length2(:   R\   t   replacet   upperRE   t   ost   patht   existst   FPDF_FONT_DIRt   joint   SYSTEM_TTFONTSR   t   FPDF_CACHE_MODEt   splitextt   FPDF_CACHE_DIRR   t   NoneR   R   t   loadR   R   t
   getMetricst   intt   roundt   ascentt   descentt	   capHeightt   flagst   bboxt   italicAnglet   stemVt   defaultWidtht   ret   subt   fullNamet   underlinePositiont   underlineThicknesst   statt   st_sizet
   charWidthst   dumpt   IOErrorR   t   errnot   EACCESt   hasattrt   listR   R   RF   t   updateR   RG   Ru   R   R   t   size1t   size2(   Rn   R   R   t   fnamet   uniR   t   ttffilenameR   R   R`   t	   font_dictt   ttfR   t   sbarrt   fontfilet   dt   nbR   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   add_font  s    #		
	!!	
!!

c         B   s  | j    } | d k r$ |  j } n  | d k r9 d } n! | d k sQ | d k rZ d } n  | j   } d | k r d |  _ | j d d  } n	 d |  _ | d	 k r d
 } n  | d k r |  j } n  |  j | k r |  j | k r |  j | k r d S| | } | |  j k r*| |  j k r| e	 k re
 j j e |  } | d k sX| d k rk| | j    7} n  e e | d  j   | d d  d U| e	 k r|  j d |  qn  e |  j  d } i | d 6d d 6|  j | d 6d d 6d d 6e	 | d 6|  j | <q*|  j d | d |  n  | |  _ | |  _ | |  _ | |  j |  _ |  j | |  _ |  j | d d k |  _ |  j d k r|  j e d |  j d |  j   n  d S(   s#   Select a font; size given in pointsR   R   R#   R,   R.   R   i   i    R   R   NR'   s   .fontt   execs&   Could not include font metric file forR   t   coreR   R   iR   i2   R   R   s   Undefined font: R   R   s   BT /F%d %.2f Tf ET(   R\   RN   R  RQ   R  RP   RO   RE   RX   R   R  R  R	  R  t   compileR   t   readRZ   R   RY   R   R   R   R?   R   R   (   Rn   R   R   R   R   R   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   5  sN    					-
(E			c         C   se   |  j  | k r d S| |  _  | |  j |  _ |  j d k ra |  j t d |  j d |  j    n  d S(   s   Set font size in pointsNi    s   BT /F%d %.2f Tf ETR   (   RP   RY   R   R?   R   R   R   (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_font_sizef  s    	c         C   s$   t  |  j  d } d |  j | <| S(   s   Create a new internal linki   i    (   i    i    (   R   RJ   (   Rn   R@   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   add_linko  s    c         C   sG   | d k r |  j  } n  | d k r0 |  j } n  | | g |  j | <d S(   s    Set destination of internal linkiN(   R   R?   RJ   (   Rn   t   linkR   R?   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_linku  s
    c         C   st   |  j  |  j k r% g  |  j |  j  <n  |  j |  j  c | |  j |  j | |  j | |  j | |  j | f g 7<d S(   s   Put a link on the pageN(   R?   RI   RY   Rc   (   Rn   R   R   Re   Rf   R<  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR<  }  s    c         C   s  |  j  |  } |  j r^ |  j t | t   } x: t |  D] } |  j d j |  q= Wn |  j |  } t d | |  j	 |  j
 | |  j	 |  } |  j r | d k r | d |  j | | |  7} n  |  j r d |  j d | d } n  |  j |  d S(   s   Output a stringR   s   BT %.2f %.2f Td (%s) Tj ETR   R   s   q s    QN(   R   R   t   _escapeR   t   FalseR	   R   t   appendR   RY   Rf   RQ   t   _dounderlineRU   RT   R   (   Rn   R   R   t   txtt   txt2R-  R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   text  s    	* 	c      
   C   s   | d  k r |  j } n  | d  k r0 |  j } n  |  j d k rO |  j d  n  | |  _ | d k r | t j d 9} t j |  } t j |  } | |  j	 } |  j
 | |  j	 } t d | | | | | | | | 	 } |  j |  n  d  S(   Ni    t   Qi   s7   q %.5F %.5F %.5F %.5F %.2F %.2F cm 1 0 0 1 %.2F %.2F cm(   R  R   R   RW   R   R   t   pit   cost   sinRY   Rf   R   (   Rn   RW   R   R   t   cR   R   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   rotate  s    	'c         C   s   |  j  S(   s"   Accept automatic page break or not(   R   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   accept_page_break  s    c	      	   C   s  |  j  |  } |  j }	 |  j | |  j k r |  j r |  j   r |  j }
 |  j } | d k r{ d |  _ |  j d  n  |  j	 |  j
  |
 |  _ | d k r | |  _ |  j t d | |	   q n  | d k r |  j |  j |  j } n  d } | d k s| d k ry| d k r7| d k r.d } q=d } n d } t d	 |  j |	 |  j |  j |	 | |	 | |	 |  } n  t | t  r|  j }
 |  j } d
 | k r| t d |
 |	 |  j | |	 |
 |	 |  j | | |	  7} n  d | k r4| t d |
 |	 |  j | |	 |
 | |	 |  j | |	  7} n  d | k r| t d |
 | |	 |  j | |	 |
 | |	 |  j | | |	  7} n  d | k r| t d |
 |	 |  j | | |	 |
 | |	 |  j | | |	  7} qn  | d k r| d k r| |  j |  j |  } n/ | d k r<| |  j |  d } n	 |  j } |  j rf| d |  j d 7} n  |  j r|  j rx( t |  D] } |  j d j |  qW|  j t d t   } | t d |  j | |	 |  j |  j d | d |  j |	  7} | j d  } t |  } x t |  D] } | | } d |  j t | t   d } | t d |  7} | d | k  r%|  j |  j d |  j  } | t d | |  7} q%q%W| d 7} | d 7} n |  j r|  j t | t   } x: t |  D] } |  j d j |  qWn |  j |  } | t d |  j | |	 |  j |  j d | d |  j |	 |  7} |  j! r| d |  j" |  j | |  j d | d |  j |  7} n  |  j r| d 7} n  | r|  j# |  j | |  j d | d |  j |  j |  |  j |  qn  | r+|  j |  n  | |  _$ | d k rm|  j | 7_ | d k r||  j% |  _ q|n |  j | 7_ d S(    s   Output a celli    s   0 Tws   %.3f TwR   i   R   R   R   s   %.2f %.2f %.2f %.2f re %s R;   s   %.2f %.2f m %.2f %.2f l S t   Tt   Rt   Cg       @s   q R   R   s   BT 0 Tw %.2F %.2F Td [g      ?g333333?t   (t   )s   %s i  s   %d(%s) s   ] TJs    ETs   BT %.2f %.2f Td (%s) Tj ETs    QN(&   R   RY   R   R   RK   RK  R   RV   R   R   Rd   R   Re   R}   Rf   R[   R   Rh   R   RU   RT   R   R	   R   R@  R>  R   R?  R   t   splitR   R   RP   RQ   RA  R<  RM   R{   (   Rn   Re   Rf   RB  t   bordert   lnt   alignt   fillR<  RY   R   RV   R   R   R   t   dxR-  t   spacet   tt   numtR   t   txt   adjRC  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   cell  s    	,					 		<		AAIL		B
 
	E	=	H	t   Jc         C   sC  |  j  |  } g  } |  j d }	 | d k rH |  j |  j |  j } n  | d |  j d |  j }
 | j d d  } t |  } | d k r | | d d k r | d 8} n  d } | r6| d k r d	 } d
 } d } q6d } d | k r | d 7} n  d | k r| d 7} n  d | k r-| d } q6| } n  d } d } d } d } d } d } x1| | k  r| | } | d k rR|  j	 d k rd |  _	 | s|  j
 d  qn  | s|  j | | t | | | |  | d | |  n | j t | | | |   | d 7} d } | } d } d } | d 7} | r]| d k r]| } q]q]n  | d k rw| } | } | d 7} n  |  j r| |  j |  |  j d 7} n | |	 j | d  7} | |
 k r| d k rq| | k r| d 7} n  |  j	 d k rd |  _	 | s|  j
 d  qn  | sQ|  j | | t | | | |  | d | |  q@| j t | | | |   n | d k r| d k r|
 | d |  j | d |  _	 n	 d |  _	 | s|  j
 t d |  j	 |  j   qn  | s|  j | | t | | | |  | d | |  n | j t | | | |   | d } d } | } d } d } | d 7} | r| d k r| } qq]| d 7} q]W|  j	 d k rd |  _	 | s|  j
 d  qn  | rd | k r| d 7} n  | s"|  j | | t | | | |  | d | |  |  j |  _ n | j t | | | |   | S(   s2   Output text with automatic or explicit line breaksR   i    i   g     @@s   R   i   s   
t   LTRBt   LRTt   LRR;   RM  RL  is   0 TwR   R]  s   %.3f TwR   (   R   R   Re   R}   R   Rh   R   R  R   RV   R   R\  R   R@  R   R   Ru   R   RY   R{   (   Rn   Re   Rf   RB  RR  RT  RU  Rt   t   retR   t   wmaxR   R4  R   t   b2t   sepR   t   jR9   t   nst   nlRI  t   ls(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt
   multi_cell  s     		
	2

		!	2 #	&2

	/c      	   C   s  |  j  |  } |  j d } |  j |  j |  j } | d |  j d |  j } | j d d  } t |  } d }	 d }
 d } d } d } x|
 | k  rG| |
 } | d	 k r\|  j	 | | t
 | | |
 |  d d d d |  |
 d 7}
 d }	 |
 } d } | d k rL|  j |  _ |  j |  j |  j } | d |  j d |  j } n  | d 7} q n  | d
 k rq|
 }	 n  |  j r| |  j |  |  j d 7} n | | j | d  7} | | k r:|	 d k r|  j |  j k rC|  j |  _ |  j | 7_ |  j |  j |  j } | d |  j d |  j } |
 d 7}
 | d 7} q n  |
 | k r\|
 d 7}
 n  |  j	 | | t
 | | |
 |  d d d d |  n< |  j	 | | t
 | | |	 |  d d d d |  |	 d }
 d }	 |
 } d } | d k r-|  j |  _ |  j |  j |  j } | d |  j d |  j } n  | d 7} q |
 d 7}
 q W|
 | k r|  j	 | d |  j | t
 | |  d d d d |  n  d S(   s   Output text in flowing modeR   i   g     @@s   R   ii    i   s   
R   N(   R   R   Re   R}   R   Rh   R   R  R   R\  R   R{   R   R   Ru   R   (   Rn   Rf   RB  R<  R   Re   Rb  R   R4  Rd  R   Re  R9   Rg  RI  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   writey  sp    
2

		!

52
c      	   C   sI  | |  j  k r| d k rZ | j d  } | sD |  j d |  n  t | | d  } n  | j   } | d k s~ | d k r |  j |  }	 n | d k r |  j |  }	 n t }
 |  j |  j |  j g } x/ | D]' } y | |  }	 t	 }
 PWq q Xq W|
 sId | } t
 |  |  s1|  j d	 |  n  t |  |  |  }	 n  d | } t
 |  |  sv|  j d	 |  n  t |  |  |  }	 t |  j   d |	 d
 <|	 |  j  | <n |  j  | }	 | d k r| d k r|	 d |  j } |	 d |  j } nJ | d k r!| |	 d |	 d } n% | d k rF| |	 d |	 d } n  | d k r|  j | |  j k r|  j r|  j   r|  j } |  j |  j  | |  _ n  |  j } |  j | 7_ n  | d k r|  j } n  |  j t d | |  j | |  j | |  j |  j | | |  j |	 d
   | rE|  j | | | | |  n  d S(   s   Put an image on the pageR   t   .s7   image file has no extension and no type was specified: i   t   jpgt   jpegt   pngt   _parses   Unsupported image type: R   i    Re   Rf   s&   q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do QN(   RH   t   rfindRZ   R   R\   t	   _parsejpgt	   _parsepngR?  t	   _parsegift   TrueR'  t   getattrR   RY   R  R   R   RK   RK  R   R   Rd   R   R   Rf   R<  (   Rn   R   R   R   Re   Rf   R   R<  t   post   infot   succeed_parsingt   parsing_functionst   pft   mtd(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   image  sf    

,		Mc         C   sC   |  j  |  _ t | t  r0 |  j |  j 7_ n |  j | 7_ d S(   s,   Line Feed; default value is last cell heightN(   R{   R   R[   R   R   RM   (   Rn   Rf   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRS     s    c         C   s   |  j  S(   s   Get x position(   R   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   get_x	  s    c         C   s,   | d k r | |  _  n |  j | |  _  d S(   s   Set x positioni    N(   R   Re   (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_x  s    c         C   s   |  j  S(   s   Get y position(   R   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   get_y  s    c         C   s8   |  j  |  _ | d k r$ | |  _ n |  j | |  _ d S(   s   Set y position and reset xi    N(   R{   R   R   Rf   (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_y  s    c         C   s   |  j  |  |  j |  d S(   s   Set x and y positionsN(   R  R~  (   Rn   R   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   set_xy   s    c         C   s"  |  j  d k  r |  j   n  | j   } | d k rX | d k rO d } d } qX d } n  | d k ro |  j GHn | d k r |  j GHn | d k r t | d  } | s |  j d |  n  t r | j |  j j d	   n | j |  j  | j   n$ | d
 k r|  j S|  j d |  d S(   s   Output PDF to some destinationi   R   s   doc.pdft   IR   t   DR   s   Unable to create output file: t   latin1R   s   Incorrect output destination: (	   RD   R   R  RA   R   RZ   R
   Rj  t   encode(   Rn   R   t   destR   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   output%  s0    		c         C   sg   |  j  r1 t | t  r1 t r1 | j d  } n2 |  j  rc t | t  rc t rc | j d  } n  | S(   s7   Check that text input is in the correct format/encodingt   utf8R  (   R   R[   t   strR
   t   decodeR   R  (   Rn   RB  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   G  s
     c         C   s;   t  d d  d k r7 d d  l } | j | j d  n  d  S(   Ns   %.1fg      ?s   1.0iRN  (   R   t   localet	   setlocalet
   LC_NUMERIC(   Rn   R  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR=   R  s    c         C   s   t  d S(   Nt   /(   R  (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _getfontpath[  s    c      
   C   ss  |  j  } t |  d  r t |  j t  } t t |  t  } x; t d | d  D]& } |  j | j | |  |  j | <qS WxG t d | d  D]/ } |  j | j |  j t |   |  j | <q Wn  |  j	 d k r |  j
 } |  j } n |  j } |  j
 } |  j rd } n d } xt d | d  D]{} |  j   |  j d  |  j d  | |  j k r~|  j t d | |   n  |  j d	  |  j r| |  j k rd
 } x |  j | D] }	 t d |	 d |	 d |	 d |	 d |	 d |	 d  }
 | d |
 d 7} t |	 d t  r<| d |  j |	 d  d 7} q|  j |	 d } | d |  j k ri| } n | } | t d d d | d | | d |  j  7} qW|  j | d  n  |  j d k r|  j d  n  |  j d t |  j d  d  |  j d  |  j rJt r+|  j | j d  n
 |  j | } t j |  } n |  j | } |  j   |  j d | d t t |   d  |  j |  |  j d  q)Wt |  j  |  j d <|  j d  |  j d   d! } x3 t d |  D]" } | t d d |  d" 7} qW|  j | d  |  j d# t |   |  j t d | |   |  j d  |  j d  d  S($   NR   i   R   s   /Filter /FlateDecode R   s   <</Type /Pages   /Parent 1 0 Rs   /MediaBox [0 0 %.2f %.2f]s   /Resources 2 0 Rs	   /Annots [s   %.2f %.2f %.2f %.2fi    i   i   s%   <</Type /Annot /Subtype /Link /Rect [s   ] /Border [0 0 0] i   s   /A <</S /URI /URI s   >>>>s!   /Dest [%d 0 R /XYZ 0 %.2f null]>>t   ]s   1.3s7   /Group <</Type /Group /S /Transparency /CS /DeviceRGB>>s
   /Contents s    0 R>>t   endobjR  s   <<s   /Length s   >>s   1 0 objs   <</Type /Pagess   /Kids [s    0 R s   /Count (    R?   R'  R   R   R?  R  R   RB   R  Ra   R]   R^   R   t   _newobjR   RC   R   RI   R[   R   t   _textstringRJ   RY   Rm   R@   R
   R  t   zlibR   t
   _putstreamRA   R>   (   Rn   R4  R   R   R@   Rb   Rc   t   filtert   annotst   plR   R9   Rf   R7   t   kidsR   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt	   _putpages^  sv    	$0					
8"	5"	)
) c       	   C   s
  |  j  } xD |  j D]9 } |  j   |  j d |  j | d  |  j d  q Wx|  j j   D]\ } } d | k r` | d d k r` |  j   |  j  |  j | d <d } t |  j   | d d	  } | s |  j d
  n  | j	   } | j
   t | d  d k } | rd | k rt | d  d k } | rJt | d  } n  | rt | | d  d k rt | d | d  t | | d d  } qn  |  j d t t |    | r|  j d  n  |  j d t | d   d | k r|  j d t | d  d  n  |  j d  |  j |  |  j d  q` q` Wg  |  j j   D]% }	 |	 d	 d |	 d |	 d	 f ^ qU}
 |
 j   x8|
 D]0\ } } } |  j  d	 |  j | d <| d } | d } | d k rR|  j   |  j d  |  j d |  |  j d  | d k r5| d k r5|  j d   n  |  j d  |  j d  q| d! k sj| d" k r|  j   |  j d  |  j d |  |  j d# |  |  j d$  |  j d% t |  j  d	  d&  |  j d' t |  j  d(  d&  | d) r@d* | k r0|  j d+ t | | d*  d&  q@|  j d   n  |  j d  |  j d  |  j   | d, } d- } x@ t d. d/  D]/ } | t | j t |   pd  d0 7} qW|  j | d1  |  j d  |  j   d2 | } x* d] D]" } | d; | | d< | f 7} qW| d= } | ro| d> 7} | d! k rI| d? 7} n  | d0 t |  j | d  d& 7} n  |  j | d  |  j d  q| d k r
|  j  d	 |  j | d <t   } d^ | d } | dB } | d =| j | dC |  } t |  } t j |  } | j } |  j   |  j d  |  j dD  |  j d | d  |  j dE  |  j dF t |  j  d	  dG  |  j dH t |  j  d(  d&  |  j d  |  j d  |  j   |  j d  |  j dI  |  j d | d  |  j dJ t |  j  d(  d&  |  j d' t |  j  dK  d&  | d< j d:  rf|  j dL | d< d:  n  |  j | | j  |  j dM t |  j  dN  d&  |  j d  |  j d  |  j   dO } |  j d t t |   d  |  j |  |  j d  |  j   |  j dP  |  j dQ  |  j dR  |  j d  |  j d  |  j   |  j dS  |  j dT |  xV d_ D]N } | d< | } | dU k r| dN B} | d` @} n  |  j d; | | f  qzW|  j dV t |  j  d(  d&  |  j d  |  j d  d } dW g d/ d/ d( } xN | j   D]@ \ } } t | dX ? | | d( <t | dY @ | | d( d	 <q0	Wd j |  } t r	| j dZ  } n  t j |  } |  j   |  j d t t |   d  |  j d  |  j d  |  j |  |  j d  |  j   |  j d t t |    |  j d  |  j d t |   |  j d  |  j |  |  j d  ~ qd[ | j   } t  |  |  s
|  j d\ |  n  |  j! |  qWd  S(a   Ns?   <</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences [s   ]>>R  R   R   R@   R   R   i   s   Font file not foundis   .zR  i    i   i   R   s
   <</Length s   /Filter /FlateDecodes	   /Length1 s	   /Length2 s    /Length3 0s   >>R   R   R7  s   <</Type /Fonts   /BaseFont /s   /Subtype /Type1R+   R-   s   /Encoding /WinAnsiEncodingt   Type1R  s
   /Subtype /s   /FirstChar 32 /LastChar 255s   /Widths s    0 Rs   /FontDescriptor i   t   encR   s
   /Encoding R   t   [i    i   R   R  s#   <</Type /FontDescriptor /FontName /R   R   R   t   FalgsR   R   R   R   s    /%s %sR   t   files
    /FontFilet   2t   MPDFAAt   +R   R   s   /Subtype /Type0s   /Encoding /Identity-Hs   /DescendantFonts [s    0 R]s   /ToUnicode s   /Subtype /CIDFontType2s   /CIDSystemInfo i   s   /DW %ds   /CIDToGIDMap i   sY  /CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<</Registry (Adobe)
/Ordering (UCS)
/Supplement 0
>> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
1 beginbfrange
<0000> <FFFF> <0000>
endbfrange
endcmap
CMapName currentdict /CMap defineresource pop
end
ends   <</Registry (Adobe)s   /Ordering (UCS)s   /Supplement 0s   <</Type /FontDescriptors   /FontName /R   s   /FontFile2 t    i   i   R  t   _puts   Unsupported font type: (   s   Ascents   Descents	   CapHeightR  s   FontBBoxs   ItalicAngles   StemVs   MissingWidths   MPDFAA+(   s   Ascents   Descents	   CapHeights   Flagss   FontBBoxs   ItalicAngles   StemVs   MissingWidthi("   R@   RG   R  R   RF   t   itemsR   R  RZ   R9  R   R   R   R  R   R  RE   t   sortR   Ru   t   chrR   t
   makeSubsetR  R   t   codeToGlypht   _putTTfontwidthst   maxUniR	  R
   R  R\   t   method_existsR{  (    Rn   t   nfR   R   Rw  R   R   t
   compressedR   R   t   flistt   idxRY   R   R   R   R   R   R0  t   fontnameR   t   ttfontstreamt
   ttfontsizet
   fontstreamR  t   toUnit   kdt   vt   cidtogidmapt   cct   glyphR{  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt	   _putfonts  s@   	


 1";




""
&

-

 

&	
	
""
"""
!


" 
!
c      
   C   s  | d r+ t  j j | d  d d } n d  } | r t  j j |  r t | d  } z t j |  } Wd  | j   X| d } | d } | d } | d }	 | d	 }
 | d
 } d } n* d } i  } i  } d } d }	 t	 }
 d } | d } xJt
 | |  D]9} | d k r| rt  j j |  ryo t | d  } i  } | | d <| | d <|	 | d <|
 | d	 <| | d
 <| | d <t j | |  | j   Wqt k
 rt   j t j k s  qqXn  | d | d k rqn  | d | } | d k rd } n  | d k r'| | d k s| r4qn  d | k sZ| d r| | d k r| | d k r| |	 k r| | | d k r| j | g   j |  n$ | | j   | } |	 | g | | <t }
 t | | <q,|
 r| } | g | | <n | | j |  t	 }
 n | } | g | | <t	 }
 | } | }	 qqWd } d } t	 } x t | j    D] \ } } t |  } | | k r| r| | k s| d k  r| | k r| | =n  | | | | | | <| | =n | } | | } | | k r| d k } | | =| d 8} qdt	 } qdWg  } x t | j    D] \ } } t t |   d k r| j d | | t |  d | d f  q<| j d | d j g  | D] } t t |   ^ q f  q<W|  j d d j |   d  S(   NR   i    s
   .cw127.pklR   t   rangeidR   t   prevcidt	   prevwidtht   intervalt   range_intervali   iii   R   R   i  i   R   t   dwi   s	    %s %s %ss    %s [ %s ]
R   s   /W [%s]R   (   R  R  R  R  R  R   R   R  R   R?  R   R#  R$  R   R%  R&  t
   setdefaultR@  t   popRt  t   sortedR  R   t   setR	  R  R  R   (   Rn   R   R  t
   cw127fnameR`   R/  R  t   range_R  R  R  R  t   startcidt   cwlent   cidR   t   prevkt   nextkt   previntRY   RV   t   cwsRe   Rf   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  {  s    
!





	
%





 	#&	+



/Cc         C   s   d } |  j  r d } n  g  |  j j   D] } | d d | d f ^ q( } | j   x> | D]6 \ } } |  j |  | d =d | k r] | d =q] q] Wd  S(   NR   s   /Filter /FlateDecode i   R   t   datat   smask(   R   RH   R  R  t	   _putimage(   Rn   R  R   R   R  Rw  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt
   _putimages  s    		4
c         C   s  d | k r|  j    |  j | d <|  j d  |  j d  |  j d t | d   |  j d t | d   | d	 d
 k r |  j d t t t | d  d  d  d t |  j d  d  n5 |  j d | d	  | d	 d k r|  j d  n  |  j d t | d   d | k rB|  j d | d  n  d | k rj|  j d | d d  n  d | k rt | d t  rd } xS t d t | d   D]8 } | t | d |  d t | d |  d 7} qW|  j d | d  n  d  | k r.|  j d! t |  j d  d"  n  |  j d# t t | d   d  |  j	 | d  |  j d$  d  | k rd% t | d  } i | d d 6| d d 6d& d	 6d' d 6| d d 6| d 6| d  d 6} |  j
 |  n  | d	 d
 k r|  j    |  j rd( pd } |  j r6t j | d  } n
 | d } |  j d) | d# t t |   d  |  j	 |  |  j d$  qn  d  S(*   NR  R@   s   <</Type /XObjects   /Subtype /Images   /Width Re   s   /Height Rf   t   cst   Indexeds!   /ColorSpace [/Indexed /DeviceRGB t   pali   i   R   s    0 R]s   /ColorSpace /t
   DeviceCMYKs   /Decode [1 0 1 0 1 0 1 0]s   /BitsPerComponent t   bpcR   s	   /Filter /t   dps   /DecodeParms <<s   >>t   trnsR   i    s   /Mask [R  R  s   /SMask s    0 Rs   /Length R  s5   /Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns t
   DeviceGrayi   s   /Filter /FlateDecode s   <<(   R  R@   R   R  R  R   R[   R(  R   R  R  R   R  (   Rn   Rw  R  R   R  R  R  R  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR    sP    
K 6%%G
	
)c         C   s~   g  |  j  j   D] } | d | d f ^ q } | j   x= | D]5 \ } } |  j d t |  d t |  d  qA Wd  S(   NR   R@   s   /IR   s    0 R(   RH   t   valuesR  R   R  (   Rn   R   R   R  R@   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _putxobjectdict  s    0
c         C   s   |  j  d  |  j  d  g  |  j j   D] } | d | d f ^ q* } | j   x= | D]5 \ } } |  j  d t |  d t |  d  q[ W|  j  d  |  j  d	  |  j   |  j  d  d  S(
   Ns-   /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]s   /Font <<R   R@   s   /FR   s    0 Rs   >>s   /XObject <<(   R   RE   R  R  R  R  (   Rn   R   R   R  R@   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _putresourcedict#  s    0
-
c         C   sl   |  j    |  j   t |  j  |  j d <|  j d  |  j d  |  j   |  j d  |  j d  d  S(   Ni   s   2 0 objs   <<s   >>R  (   R  R  R   RA   R>   R   R  (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _putresources/  s    


c         C   s>  |  j  d |  j d t d   t |  d  rQ |  j  d |  j |  j   n  t |  d  r |  j  d |  j |  j   n  t |  d  r |  j  d	 |  j |  j   n  t |  d
  r |  j  d |  j |  j   n  t |  d  r|  j  d |  j |  j   n  |  j  d |  j d t	 j
   j d    d  S(   Ns
   /Producer s   PyFPDF s    http://pyfpdf.googlecode.com/R   s   /Title R   s	   /Subject R   s   /Author R   s
   /Keywords R   s	   /Creator s   /CreationDate s   D:s   %Y%m%d%H%M%S(   R   R  t   FPDF_VERSIONR'  R   R   R   R   R   R   t   nowt   strftime(   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _putinfo:  s    "     c         C   s
  |  j  d  |  j  d  |  j d k r9 |  j  d  np |  j d k rX |  j  d  nQ |  j d k rw |  j  d  n2 t |  j t  s |  j  t d	 |  j d
   n  |  j d k r |  j  d  n> |  j d k r |  j  d  n |  j d k r|  j  d  n  d  S(   Ns   /Type /Catalogs   /Pages 1 0 RR   s   /OpenAction [3 0 R /Fit]R<   s   /OpenAction [3 0 R /FitH null]R   s$   /OpenAction [3 0 R /XYZ null null 1]s%   /OpenAction [3 0 R /XYZ null null %s]id   R   s   /PageLayout /SinglePageR   s   /PageLayout /OneColumnR   s   /PageLayout /TwoColumnLeft(   R   R   R[   R   R   R   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _putcatalogH  s      c         C   s   |  j  d |  j  d  S(   Ns   %PDF-(   R   Rm   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt
   _putheaderZ  s    c         C   sb   |  j  d t |  j d   |  j  d t |  j  d  |  j  d t |  j d  d  d  S(   Ns   /Size i   s   /Root s    0 Rs   /Info (   R   R  R@   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   _puttrailer]  s    c         C   s~  |  j    |  j   |  j   |  j   |  j d  |  j   |  j d  |  j d  |  j   |  j d  |  j   |  j d  |  j d  t |  j  } |  j d  |  j d t	 |  j
 d   |  j d  x; t d |  j
 d  D]# } |  j t d |  j |   q W|  j d	  |  j d  |  j   |  j d  |  j d
  |  j |  |  j d  d |  _ d  S(   Ns   <<s   >>R  t   xrefs   0 i   s   0000000000 65535 f s   %010d 00000 n t   trailert	   startxrefs   %%EOFi   (   R  R  R  R  R   R  R  R   RA   R  R@   R   R   R>   R  RD   (   Rn   t   oR   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   b  s6    






!
c         C   s.  |  j  d 7_  d |  j |  j  <d |  _ |  j |  _ |  j |  _ d |  _ | s[ |  j } n2 | d j	   } | |  j k r d |  j
 |  j  <n  | |  j k r*| d k r |  j |  _ |  j |  _ |  j |  _ |  j |  _ n0 |  j |  _ |  j |  _ |  j |  _ |  j |  _ |  j |  j |  _ | |  _ n  d  S(   Ni   R   i   i    R   (   R?   RB   RD   R{   R   R|   R   RN   Ra   R  RC   Rd   R]   Rb   R^   Rc   R_   Re   R`   Rf   R   R   (   Rn   Ro   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR     s.    		c         C   s   d |  _  d  S(   Ni   (   RD   (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR     s    c         C   sF   |  j  d 7_  t |  j  |  j |  j  <|  j t |  j   d  d  S(   Ni   s    0 obj(   R@   R   RA   R>   R   R  (   Rn   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR    s    c         C   s   |  j  d } |  j  d } |  j |  |  j | j d  } t d | |  j |  j | | d |  j |  j | |  j | d |  j  S(   NR   R   R   s   %.2f %.2f %.2f %.2f re fg     @@(	   R   R   RV   t   countR   RY   Rf   R   RP   (   Rn   R   R   RB  R   R   Re   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRA    s    #c         C   s6  yt  | d  } xt rt j d | j d   \ } } | d k sT | d k  rc t d   q | d k r~ t d   q | d	 k s| d
 k r | d k s| d k r | d k r q t j d | j d   \ } | d k r | j | d  n d } | d k r| d k s`| d k r0| d k s`| d k rH| d k s`| d k r | d k r t j d |  \ } } }	 }
 |
 d k rd n |
 d k rd n d } Pq q WWn1 t k
 r|  j d | t	 t
    f  n X| j d  | j   } | j   i |	 d 6| d  6| d! 6| d" 6d# d$ 6| d% 6S(&   NR   t   BBi   i   i   s   No JPEG marker foundi   s   No JPEG SOF marker foundi   i   i   i   i   s   >HR   i   i   i   i   i   i   i   s   >BHHBi   t	   DeviceRGBi   R  R  s.   Missing or incorrect image file: %s. error: %si    Re   Rf   R  R  t	   DCTDecodeR   R  (   R   Rt  t   structt   unpackR9  t   SyntaxErrort   unpack_fromt	   ExceptionRZ   R  R   t   seekR   (   Rn   R   R   t
   markerHight	   markerLowt   dataSizeR  R  t   heightR   t   layerst   colspace(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRq    s6    	!%*$
c         C   s   t  d  k r |  j d  n  y t  j |  } Wn1 t k
 rb |  j d | t t    f  n Xt j d t	 d d  } | j
 } | j   d | j k r | j | d | j d n | j |  |  j |  } t j |  | S(   Ns   PIL is required for GIF supports.   Missing or incorrect image file: %s. error: %st   deletet   suffixs   .pngt   transparency(   R   R  RZ   R   R  R  R   t   tempfilet   NamedTemporaryFileR?  R   R   Rw  t   saveRr  R  t   unlink(   Rn   R   t   imR   t   tmpRw  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRs    s    $	
c         C   s&  | j  d  s | j  d  r- t |  } n t | d  } | sV |  j d |  n  | j d  j d  } dE } t s | j d  } n  | | k r |  j d |  n  | j d  | j d  j d  } | d k r |  j d |  n  |  j |  } |  j |  } t | j d   } | d k rD|  j d |  n  t | j d   }	 |	 d k sq|	 d k rzd }
 nG |	 d k s|	 d k rd }
 n& |	 d k rd }
 n |  j d |  t | j d   d k r|  j d |  n  t | j d   d k r|  j d |  n  t | j d   d k rN|  j d |  n  | j d  d } |
 d k rz| d 7} n
 | d 7} | d  t	 |  d! t	 |  d" 7} d" } d" } t rt
   n t	   } d } x| d  k ra|  j |  } | j d  j d  } | d# k r5| j |  } | j d  q| d$ k r| j |  } |	 d k rzt t | d d   g } n |	 d k rt t | d d   t t | d d   t t | d% d   g } n0 | j d& j d   } | d' k r| g } n  | j d  q| d( k r=| | j |  7} | j d  q| d) k rMPq| j | d  qW|
 d k r| r|  j d* |  n  | j   i | d+ 6| d, 6|
 d- 6| d. 6d/ d0 6| d1 6| d2 6| d3 6} |	 d k rt j |  } t d"  } t d"  } |	 d k rd | } xt |  D] } d | | } | t | |  7} | t | |  7} t | | d |  } t j d4 j d5  d6 t j } t j d7 j d5  d6 t j } | | j d8   |  7} | | j d9   |  7} q'Wn d | } x t |  D] } d | | } | t | |  7} | t | |  7} t | | d |  } t j d: j d5  d6 t j } t j d; j d5  d6 t j } | | j d<   |  7} | | j d=   |  7} qW~ t j |  } t j |  | d> <|  j d? k  rd? |  _ qn  | | d@ <| S(F   Ns   http://s   https://R   s   Can't open image file: i   R  s   t   PNGs   s   
s   s   Not a PNG file: i   t   IHDRs   Incorrect PNG file: i   s   16-bit depth not supported: i    R  i   i   R  i   R  s   Unknown color type: s   Unknown compression method: s   Unknown filter method: s   Interlacing not supported: s   /Predictor 15 /Colors t   3t   1s    /BitsPerComponent s
    /Columns R   t   PLTEt   tRNSi   R  it   IDATt   IENDs   Missing palette in Re   Rf   R  R  t   FlateDecodeR   R  R  R  s   (.).t   asciiR  s   .(.)c         S   s   |  j  d  S(   Ni   (   t   group(   t   m(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   <lambda>H  s    c         S   s   |  j  d  S(   Ni   (   R  (   R  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  I  s    s   (...).s   ...(.)c         S   s   |  j  d  S(   Ni   (   R  (   R  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  T  s    c         S   s   |  j  d  S(   Ni   (   R  (   R  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  U  s    R  s   1.4R  s   PNGs   PNGs   PNG
s   PNG
s   PNG

(   t
   startswithR   R   RZ   R9  R  R
   t	   _freadintR   R  t   bytesR  R   t   findR  R   R  t
   decompressR   R   R  R8  t   DOTALLR  R   Rm   (   Rn   R   R   t   magict	   signaturet   chunkRe   Rf   R  t   ctR  R  R  R  R  R@   R   RX  Rv  Rw  t   colort   alphat   lengthR   R   t   re_ct   re_a(    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyRr    s     			
&H
>
!! 
!!
c         C   s0   y! t  j d | j d   d SWn d  SXd  S(   Ns   >Ii   i    (   R  R  R9  R  (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  ^  s    !c         C   s   d |  j  |  d S(   NRO  RP  (   R>  (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  e  s    c         C   s4   | j  d d  j  d d  j  d d  j  d d  S(	   Ns   \s   \\RP  s   \)RO  s   \(s   s   \r(   R  (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR>  i  s    c         C   s+   |  j  d  |  j  |  |  j  d  d  S(   Nt   streamt	   endstream(   R   (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR  m  s    c         C   s   t  r' t | t  r' | j d  } nF t  rO t | t  rO | j d  } n t | t  sm t |  } n  |  j d k r |  j	 |  j
 c | d 7<n |  j | d 7_ d  S(   NR  i   s   
(   R
   R[   R  R  R   R  R   R  RD   RB   R?   RA   (   Rn   R   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   r  s    g      ?g      $@c         C   s  | d } | } i d d 6d d 6d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6} |  j  d  | }	 t |	  d d k r d |	 }	 n  d |	 j   d }	 x?t d t |	  d  D]%}
 |	 |
 } |	 |
 d } | | j   k rt d |   n  | | j   k r5t d |   n  d  } x? t d t | |   D]$ } | | | | | | | 7} qUWxr t d t |   D][ } | | d! k r| } n | } | d d k r|  j | | | | d"  n  | | 7} qWq Wd# S($   s/   Barcode I2of5 (numeric), adds a 0 if odd lenghtg      @t   nnwwnt   0t   wnnnwR  t   nwnnwR  t   wwnnnR  t   nnwnwt   4t   wnwnnt   5t   nwwnnt   6t   nnnwwt   7t   wnnwnt   8t   nwnwnt   9t   nnt   At   wnt   Zi    i   t   AAt   ZAi   s   Char "%s" invalid for I25: R   R@   R   N(   R   R   R\   R   t   keysR   R   (   Rn   RB  R   R   Re   Rf   t   narrowt   widet   bar_chart   codeR   t   char_bart
   char_spacet   seqR   t   barRi   (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   interleaved2of5  s6    

 "	g      ?g      @c         C   s  i | d 6| d d 6} i, d d 6d d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6d$ d% 6d& d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6d0 d1 6d2 d3 6d4 d5 6d6 d7 6d8 d9 6d: d; 6d< d= 6d> d? 6d@ dA 6dB dC 6dD dE 6dF dG 6dH dI 6dJ dK 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6dV dW 6dX dY 6dZ d[ 6} |  j  d\  x | j   D] } | | k rt d] |   n  x\ t | |  D]J \ }	 }
 |	 d^ d\ k r|  j | | | |
 | d#  n  | | |
 7} qW| | d 7} qlWd_ S(`   s   Barcode 3of9Re   g      @R@   t	   nnnwwnwnnR"  t	   wnnwnnnnwR  t	   nnwwnnnnwR  t	   wnwwnnnnnR  t	   nnnwwnnnwR'  t	   wnnwwnnnnR)  t	   nnwwwnnnnR+  t	   nnnwnnwnwR-  t	   wnnwnnwnnR/  t	   nnwwnnwnnR1  t	   wnnnnwnnwR3  t	   nnwnnwnnwR   t	   wnwnnwnnnRN  t	   nnnnwwnnwR  t	   wnnnwwnnnt   Et	   nnwnwwnnnR   t	   nnnnnwwnwt   Gt	   wnnnnwwnnt   Ht	   nnwnnwwnnR  t	   nnnnwwwnnR]  t	   wnnnnnnwwt   Kt	   nnwnnnnwwR;   t	   wnwnnnnwnt   Mt	   nnnnwnnwwt   Nt	   wnnnwnnwnt   Ot	   nnwnwnnwnR   t	   nnnnnnwwwRE  t	   wnnnnnwwnRM  t	   nnwnnnwwnR   t	   nnnnwnwwnRL  t	   wwnnnnnnwR   t	   nwwnnnnnwt   Vt	   wwwnnnnnnt   Wt	   nwnnwnnnwt   Xt	   wwnnwnnnnt   Yt	   nwwnwnnnnR5  t	   nwnnnnwnwt   -t	   wwnnnnwnnRk  t	   nwwnnnwnnR   t	   nwnnwnwnnt   *t	   nwnwnwnnnt   $t	   nwnwnnnwnR  t	   nwnnnwnwnR  t	   nnnwnwnwnt   %i    s   Invalid char "%s" for Code39i   N(   R   R  R   t	   enumerateR   (   Rn   RB  R   R   Re   Rf   t   dimt   charsRI  R   R3  (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   code39  s4     N(W   t   __name__t
   __module__t   __doc__Rs   Rz   Rg   R   R   R   Rj   Rk   Rl   R   R   R   R   R   R   RZ   R   R   R   R   R   R   R   R   R   R   R   R   R?  R   R   R   R   R5  R   R:  R;  R=  R<  RD  R  RJ  RK  R\  Ri  Rj  R|  RS  R}  R~  R  R  R  R  R   R=   R  R  R  R  R  R  R  R  R  R  R  R  R  R   R   R   R  RA  Rq  Rs  Rr  R  R  R>  R  R   RA  R  (    (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyR   )   s   c	
												<				
		
$y1					!\qCB					"					I		h		.								!					!		w					0(.   t
   __future__R    R   t	   functoolsR   R   R%  R  t   sysR  R  R  R  t   ttfontsR   RE   R   t   phpR   R   R   R   R	   t   py3kR
   R   R   R   R   R   R   R   R   R  R  R	  t   dirnamet   __file__R  R  R  R  R
  R   t   objectR   (    (    (    s/   /var/www/ficnx/bin/fpdf/fpdf-1.7.2/fpdf/fpdf.pyt   <module>   s    T(@!	