§
    èƒñjÒ’  ã                  ó`  — d Z ddlmZ ddlmZ g d¢ZddlmZmZm	Z	 ddl
mZ dd	lmZmZmZ dd
lmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zedz  Zedz  Zedz  ZeZedz  Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d „ d!e¦  «        Z ed"z  Z!e!dz  Z"e"d#z  Z#e!d$z  Z$e"d%z  Z%e%d&z  Z&d'Z' G d(„ d)e¦  «        Z( G d*„ d+e(¦  «        Z) G d,„ d-e(¦  «        Z* G d.„ d/e(¦  «        Z+ed$z  Z,ed0z  Z- G d1„ d2e¦  «        Z. G d3„ d4e.¦  «        Z/ G d5„ d6e¦  «        Z0 G d7„ d8e0¦  «        Z1 G d9„ d:e0¦  «        Z2 G d;„ d<e.¦  «        Z3ed=z  Z4e4dz  d0z  Z5e4dz  d0z  Z6e6dz  Z7e5e4dz  z   Z8e6dz  Z9 G d>„ d?e¦  «        Z: G d@„ dAe:¦  «        Z; G dB„ dCe:¦  «        Z< G dD„ dEe<¦  «        Z=dFZ4dGZ>d$Z?d&Z@dHZAdIZB G dJ„ dKe¦  «        ZC G dL„ dMeC¦  «        ZD G dN„ dOeC¦  «        ZE G dP„ dQeE¦  «        ZFdRS )Sz Transistor elements é    )Úannotations)ÚOptional)ÚBjtÚBjt2ÚBjtNpnÚBjtNpn2ÚBjtPnpÚBjtPnp2ÚBjtPnp2cÚ	BjtPnp2c2ÚJFetÚJFet2ÚJFetNÚJFetN2ÚJFetPÚJFetP2ÚNFetÚNFet2ÚNMosÚNMos2ÚPFetÚPFet2ÚPMosÚPMos2Ú
AnalogNFetÚ
AnalogPFetÚAnalogBiasedFeté   )ÚElementÚElement2TermÚgap)Úreswidthé   )ÚSegmentÚSegmentPolyÚSegmentCircle)ÚPointc                  ó>   ‡ — e Zd ZdZdddœZddgZdddœdˆ fd„Zˆ xZS )Ú_Mosfeta“  Base Class for Metal Oxide Semiconductor Field Effect Transistors

        Args:
            variant: one of {'nmos', 'pmos'}
            diode: Draw body diode [default: False]
            circle: Draw circle around the mosfet [default: False]

        Anchors:
            * source
            * drain
            * gate

    Note: vertical orientation.  For horizontal orientation, see _Mosfet2.
    F©ÚdiodeÚcircleÚnmosÚpmosÚvariantÚstrr+   úOptional[bool]r,   c               óR	  •— || j         vr(t          d                     | j         |¦  «        ¦  «        ‚ t          ¦   «         j        d*i |¤Ž d| j        d<   t          dz  }| j                             t          d|z  d|z  fd|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d	|z  fg¦  «        t          d|z  d
|z  fd|z  d|z  fg¦  «        g¦  «         | j                             t          dd|z  fdg¦  «        t          d|z  d|z  fdd|z  fg¦  «        g¦  «         | j                             t          dd|z  fdd|z  fg¦  «        t          d|z  d|z  fdd|z  fg¦  «        g¦  «         |dk    rð| j                             t          d|z  d|z  fd|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d|z  fg¦  «        g¦  «         | j                             t          d|z  d|z  fdd|z  fgdd|z  d|z  ¬¦  «        t          dd|z  fdd|z  fg¦  «        g¦  «         d| j
        d<   d|z  d|z  f| j
        d<   dd|z  f| j
        d<   dd|z  f| j
        d<   nõ|dk    rï| j                             t          d|z  d|z  fd|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d|z  fg¦  «        g¦  «         | j                             t          d|z  d|z  fdd|z  fgdd|z  d|z  ¬¦  «        t          dd|z  fdd|z  fg¦  «        g¦  «         d| j
        d<   d|z  d|z  f| j
        d<   dd|z  f| j
        d<   dd|z  f| j
        d<   dd|z  f| j        d<   d | j        d!<   | j        d"         rÝ| j                             t          dd|z  fd#|z  d|z  fg¦  «        t          d#|z  d|z  fd#|z  d$|z  fg¦  «        t          d|z  d$|z  fd%|z  d$|z  fg¦  «        t          d#|z  d$|z  fd|z  d&|z  fd%|z  d&|z  fg¦  «        t          d#|z  d&|z  fd#|z  d|z  fg¦  «        t          d#|z  d|z  fdd|z  fg¦  «        g¦  «         | j        d'         r5| j                             t          d(|z  d|z  fd)|z  ¦  «        ¦  «         d S d S )+Nú.Parameter 'variant' must be one of {}, not {}.ÚrightÚilabelç      à?éýÿÿÿg      Àg      Àg      #Àg      %Àg      )Àg      +Àr   iùÿÿÿ©r   r   iìÿÿÿióÿÿÿr-   éöÿÿÿiòÿÿÿéûÿÿÿiúÿÿÿú<-r#   ©ÚarrowÚ
arrowwidthÚarrowlengthÚdrainÚgateÚcenterÚsourcer.   ú->ÚdropÚrgtÚlbllocr+   é   i÷ÿÿÿé   iõÿÿÿr,   éÿÿÿÿé   © )Ú_Mosfet__variantsÚ
ValueErrorÚformatÚsuperÚ__init__Ú	elmparamsr"   ÚsegmentsÚextendr$   ÚanchorsÚparamsr%   Úappendr&   ©Úselfr/   r+   r,   ÚkwargsÚuÚ	__class__s         €ú]/data/share/cad/hardware/.venv/lib/python3.11/site-packages/schemdraw/elements/transistors.pyrQ   z_Mosfet.__init__'   s  ø€ ð ˜$œ/Ð)Ð)ÝØ@×GÒGØ”O Wñ.ô .ñ/ô /ð /ð 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#*ˆŒ�xÑ Ý�S‰Lˆð
 	Œ×ÒÝ�b˜‘d˜D ™F�^ b¨¡d¨D°©F ^Ð4Ñ5Ô5Ý�b˜‘d˜D ™F�^ b¨¡d¨E°!©G _Ð5Ñ6Ô6Ý�b˜‘d˜E !™G�_ r¨!¡t¨U°1©W oÐ6Ñ7Ô7ðñ 	ô 	ð 	ð 	Œ×ÒÝ�a˜˜A™�Y Ð'Ñ(Ô(Ý�b˜‘d˜B˜q™D�\ A r¨!¡t 9Ð-Ñ.Ô.ðñ 	ô 	ð 	ð 	Œ×ÒÝ�a˜˜Q™�Z ! S¨¡U Ð,Ñ-Ô-Ý�b˜‘d˜C ™E�] Q¨¨A© JÐ/Ñ0Ô0ðñ 	ô 	ð 	ð
 �fÒÐàŒM× Ò Ý�c˜!‘e˜S ™U�^ b¨¡d¨C°©E ]Ð3Ñ4Ô4Ý�b˜‘d˜C ™E�] R¨¡T¨2¨a©4 LÐ1Ñ2Ô2ð"ñ ô ð ð
 ŒM× Ò ÝØ˜‘d˜C ™E�] Q¨¨A© JÐ/Ø¨1¨Q©3¸A¸a¹CðAñ Aô Aõ ˜!˜S ™U˜ a¨¨Q© ZÐ0Ñ1Ô1ð	"ñ ô ð ð %+ˆDŒL˜Ñ!Ø$'¨¡E¨3¨q©5 >ˆDŒL˜Ñ Ø&'¨¨Q© ZˆDŒL˜Ñ"Ø&'¨¨Q© ZˆDŒL˜Ñ"Ð"à˜ÒÐàŒM× Ò Ý�c˜!‘e˜R ™T�] R¨¡T¨2¨a©4 LÐ1Ñ2Ô2Ý�b˜‘d˜B˜q™D�\ B q¡D¨#¨a©% =Ð1Ñ2Ô2ð"ñ ô ð ð
 ŒM× Ò ÝØ˜‘d˜C ™E�] Q¨¨A© JÐ/Ø¨1¨Q©3¸A¸a¹CðAñ Aô Aõ ˜!˜S ™U˜ a¨¨A© YÐ/Ñ0Ô0ð	"ñ ô ð ð &,ˆDŒL˜Ñ"Ø$'¨¡E¨2¨a©4 =ˆDŒL˜Ñ Ø&'¨¨Q© ZˆDŒL˜Ñ"Ø%&¨¨A© JˆDŒL˜Ñ!à"# S¨¡U ˆŒ�vÑØ#(ˆŒ�xÑ àŒ;�wÔð 	ØŒM× Ò Ý˜!˜R ™T˜ Q q¡S¨"¨Q©$ KÐ0Ñ1Ô1Ý˜!˜A™#˜r !™t˜ q¨¡s¨B¨q©D kÐ2Ñ3Ô3Ý˜!˜A™#˜r !™t˜ q¨¡s¨B¨q©D kÐ2Ñ3Ô3Ý˜a ™c 2 a¡4˜[¨1¨Q©3°°A±¨,¸¸1¹¸cÀ!¹e¸ÐEÑFÔFÝ˜!˜A™#˜s 1™u˜¨¨!©¨S°©U |Ð4Ñ5Ô5Ý˜!˜A™#˜s 1™u˜¨¨3¨q©5 zÐ2Ñ3Ô3ð"ñ ô ð ð Œ;�xÔ ð 	3ØŒM× Ò Ý˜r !™t S¨¡U˜m¨Q¨q©SÑ1Ô1ñ3ô 3ð 3ð 3ð 3ð	3ð 	3ó    ©r/   r0   r+   r1   r,   r1   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú_element_defaultsrM   rQ   Ú__classcell__©r\   s   @r]   r)   r)      s†   ø€ € € € € ðð ð Øðð Ðð ˜&Ð!€Jð
 */Ø*/ð	Y3ð Y3ð Y3ð Y3ð Y3ð Y3ð Y3ð Y3ð Y3ð Y3ð Y3ð Y3r^   r)   c                  ó*   ‡ — e Zd ZdZ	 	 ddˆ fd„Zˆ xZS )	r   a9   N-type Metal Oxide Semiconductor Field Effect Transistor

        Args:
            diode: Draw body diode
            circle: Draw circle around the mosfet

        Anchors:
            * source
            * drain
            * gate

    Note: vertical orientation.  For horizontal orientation, see NMos2.
    Fr+   r1   r,   c                óB   •—  t          ¦   «         j        dd||dœ|¤Ž d S ©Nr-   ©r/   r+   r,   rL   ©rP   rQ   ©rY   r+   r,   rZ   r\   s       €r]   rQ   zNMos.__init__‘   ó1   ø€ ð 	�‰ŒÔÐN ¨u¸VÐNÐNÀvÐNÐNÐNÐNÐNr^   ©FF©r+   r1   r,   r1   ©r`   ra   rb   rc   rQ   re   rf   s   @r]   r   r   ƒ   ó_   ø€ € € € € ðð ð */Ø*/ðOð Oð Oð Oð Oð Oð Oð Oð Oð Oð Or^   r   c                  ó*   ‡ — e Zd ZdZ	 	 ddˆ fd„Zˆ xZS )	r   a9   P-type Metal Oxide Semiconductor Field Effect Transistor

        Args:
            diode: Draw body diode
            circle: Draw circle around the mosfet

        Anchors:
            * source
            * drain
            * gate

    Note: vertical orientation.  For horizontal orientation, see PMos2.
    Fr+   r1   r,   c                óB   •—  t          ¦   «         j        dd||dœ|¤Ž d S ©Nr.   rj   rL   rk   rl   s       €r]   rQ   zPMos.__init__§   rm   r^   rn   ro   rp   rf   s   @r]   r   r   ˜   s_   ø€ € € € € ðð ð */Ø*/ðOð Oð Oð Oð Oð Oð Oð Oð Oð Oð Or^   r   c                  ó>   ‡ — e Zd ZdZdddœZddgZdddœdˆ fd„Zˆ xZS )Ú_Mosfet2ap  Base Class for Metal Oxide Semiconductor Field Effect Transistors

        Args:
            variant: one of {'nmos', 'pmos'}
            diode: Draw body diode
            circle: Draw circle around the mosfet

        Anchors:
            * source
            * drain
            * gate

    Note: horizontal orientation.  For vertical orientation, see _Mosfet.
    Fr*   r-   r.   r/   r0   r+   r1   r,   c               ó˜  •— || j         vr(t          d                     | j         |¦  «        ¦  «        ‚ t          ¦   «         j        d(i |¤Ž || _        t          dz  }| j                             t          dd|z  dfd|z  d|z  ft          d|z  d|z  fd|z  dfd|z  dfg¦  «        ¦  «         | j                             t          d	|z  d|z  fd
|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d|z  fg¦  «        g¦  «         |dk    rá| j                             t          d|z  d|z  fd|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d|z  fg¦  «        g¦  «         | j                             t          d|z  d|z  fd|z  dfgdd|z  d|z  ¬¦  «        t          d|z  dfd|z  dfg¦  «        g¦  «         d| j        d<   d|z  d|z  f| j        d<   d|z  df| j        d<   næ|dk    rà| j                             t          d|z  d|z  fd|z  d|z  fg¦  «        t          d|z  d|z  fd|z  d|z  fg¦  «        g¦  «         | j                             t          d|z  d|z  fd|z  dfgdd|z  d|z  ¬¦  «        t          d|z  dfd|z  dfg¦  «        g¦  «         d| j        d<   d|z  d|z  f| j        d<   d|z  df| j        d<   d|z  df| j        d<   d|z  df| j        d<   d| j        d <   | j        d!         rÝ| j                             t          d|z  dfd|z  d"|z  fg¦  «        t          d|z  d"|z  fd#|z  d"|z  fg¦  «        t          d#|z  d|z  fd#|z  d$|z  fg¦  «        t          d#|z  d"|z  fd%|z  d|z  fd%|z  d$|z  fg¦  «        t          d%|z  d"|z  fd|z  d"|z  fg¦  «        t          d|z  d"|z  fd|z  dfg¦  «        g¦  «         | j        d&         r5| j                             t!          d|z  d'|z  fd|z  ¦  «        ¦  «         d S d S ))Nr3   r6   r8   rK   r   r7   é   é   g      @g      @g      #@g      %@g      )@g      +@r-   é   r9   r:   é   é
   r;   r#   r<   r@   rA   rC   r.   rD   rB   rE   ÚbottomrG   r+   rH   é	   rI   é   r,   rJ   rL   )Ú_Mosfet2__variantsrN   rO   rP   rQ   r/   r"   rS   rW   r$   r!   rT   rU   rR   rV   r%   r&   rX   s         €r]   rQ   z_Mosfet2.__init__Ã   s›  ø€ ð ˜$œ/Ð)Ð)ÝØ@×GÒGØ”O Wñ.ô .ñ/ô /ð /ð 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"ØˆŒÝ�S‰Lˆð 	Œ×ÒÝØ˜˜1™˜a˜ 1 Q¡3¨¨1© +­sØ�A‘�r˜!‘t�˜r !™t Q˜i¨"¨Q©$°¨ðñ ô ñ	ô 	ð 	ð 	Œ×ÒÝ�c˜!‘e˜R ™T�] S¨¡U¨B¨q©D MÐ2Ñ3Ô3Ý�c˜!‘e˜R ™T�] T¨!¡V¨R°©T NÐ3Ñ4Ô4Ý�d˜1‘f˜b ™d�^ d¨1¡f¨b°©d ^Ð4Ñ5Ô5ðñ 	ô 	ð 	ð �fÒÐàŒM× Ò Ý�b˜‘d˜C ™E�] R¨¡T¨2¨a©4 LÐ1Ñ2Ô2Ý�b˜‘d˜B˜q™D�\ A a¡C¨¨A© ;Ð/Ñ0Ô0ð"ñ ô ð ð
 ŒM× Ò ÝØ˜‘d˜B˜q™D�\ B q¡D¨! 9Ð-Ø¨1¨Q©3¸A¸a¹CðAñ Aô Aõ ˜"˜Q™$ ˜ R¨¡T¨1 IÐ.Ñ/Ô/ð	"ñ ô ð ð %+ˆDŒL˜Ñ!Ø$& q¡D¨#¨a©% =ˆDŒL˜Ñ Ø&(¨¡d¨A YˆDŒL˜Ñ"Ð"à˜ÒÐàŒM× Ò Ý�a˜‘c˜3˜q™5�\ A a¡C¨¨A© ;Ð/Ñ0Ô0Ý�a˜‘c˜2˜a™4�[ 2 a¡4¨¨A© ,Ð/Ñ0Ô0ð"ñ ô ð ð ŒM× Ò ÝØ˜‘d˜B˜q™D�\ B q¡D¨! 9Ð-Ø¨1¨Q©3¸A¸a¹CðAñ Aô Aõ ˜"˜Q™$ ˜ Q q¡S¨! HÐ-Ñ.Ô.ð	"ñ ô ð ð &,ˆDŒL˜Ñ"Ø$% a¡C¨¨Q© <ˆDŒL˜Ñ Ø%'¨¡T¨1 IˆDŒL˜Ñ!à"$ Q¡$¨ ˆŒ�XÑØ"$ Q¡$¨ ˆŒ�vÑØ#+ˆŒ�xÑ àŒ;�wÔð 	ØŒM× Ò Ý˜!˜A™#˜q˜ A a¡C¨¨1© :Ð.Ñ/Ô/Ý˜!˜A™#˜q ™s˜ a¨¡c¨1¨Q©3 ZÐ0Ñ1Ô1Ý˜!˜A™#˜q ™s˜ a¨¡c¨1¨Q©3 ZÐ0Ñ1Ô1Ý˜a ™c 1 Q¡3˜Z¨"¨Q©$°°!±¨°r¸!±t¸Q¸q¹S°kÐBÑCÔCÝ˜"˜Q™$  !¡˜ r¨!¡t¨Q¨q©S kÐ2Ñ3Ô3Ý˜"˜Q™$  !¡˜ r¨!¡t¨Q iÐ0Ñ1Ô1ð"ñ ô ð ð Œ;�xÔ ð 	2ØŒM× Ò Ý˜r !™t R¨¡T˜l¨A¨a©CÑ0Ô0ñ2ô 2ð 2ð 2ð 2ð	2ð 	2r^   r_   )r`   ra   rb   rc   rd   r€   rQ   re   rf   s   @r]   rv   rv   ®   s†   ø€ € € € € ðð ð Øðð Ðð ˜&Ð!€Jð */Ø*/ðR2ð R2ð R2ð R2ð R2ð R2ð R2ð R2ð R2ð R2ð R2ð R2r^   rv   c                  ó*   ‡ — e Zd ZdZ	 	 ddˆ fd„Zˆ xZS )	r   a8   N-type Metal Oxide Semiconductor Field Effect Transistor

        Args:
            diode: Draw body diode
            circle: Draw circle around the mosfet

        Anchors:
            * source
            * drain
            * gate

    Note: horizontal orientation.  For vertical orientation, see NMos.
    Fr+   r1   r,   c                óB   •—  t          ¦   «         j        dd||dœ|¤Ž d S ri   rk   rl   s       €r]   rQ   zNMos2.__init__&  rm   r^   rn   ro   rp   rf   s   @r]   r   r     rq   r^   r   c                  ó*   ‡ — e Zd ZdZ	 	 ddˆ fd„Zˆ xZS )	r   a8   P-type Metal Oxide Semiconductor Field Effect Transistor

        Args:
            diode: Draw body diode
            circle: Draw circle around the mosfet

        Anchors:
            * source
            * drain
            * gate

    Note: horizontal orientation.  For vertical orientation, see PMos.
    Fr+   r1   r,   c                óB   •—  t          ¦   «         j        dd||dœ|¤Ž d S rt   rk   rl   s       €r]   rQ   zPMos2.__init__;  rm   r^   rn   ro   rp   rf   s   @r]   r   r   -  rq   r^   r   rI   é   gffffffæ?c                  ó2   ‡ — e Zd ZdZddiZddœdˆ fd„Zˆ xZS )	r   zË N-type Field Effect Transistor

        Args:
            bulk: Draw bulk contact [default: False]

        Anchors:
            * source
            * drain
            * gate
            * center
    ÚbulkFN©r‡   r1   c               ó4  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          ddt           ft          t           ft          t           t          z
  fdt           t          z
  fddt          z  t          z
  fg¦  «        ¦  «         | j                             t          t          t          z   t           ft          t          z   t           t          z
  fg¦  «        ¦  «         | j                             t          t          t          z   t           t          dz  z
  ft          t          z   t          z   t          z   t           t          dz  z
  fg¦  «        ¦  «         ddt          z  t          z
  f| j
        d<   d| j
        d<   t          t          z   t          z   t          z   t           t          dz  z
  f| j
        d	<   dt           t          dz  z
  f| j
        d
<   ddt          z  t          z
  f| j        d<   d| j        d<   | j        d         rv| j                             t          dt           t          dz  z
  ft          t           t          dz  z
  fgdd¬¦  «        ¦  «         dt           t          dz  z
  f| j
        d<   d S d S ©NÚleftr5   r8   r   éþÿÿÿr#   rC   r@   rA   rB   rE   ÚlftrG   r‡   rD   çš™™™™™É?©r=   r>   rL   ©rP   rQ   rR   rS   rW   r$   ÚfetlÚfetwÚfetgapÚfetrrU   rV   ©rY   r‡   rZ   r\   s      €r]   rQ   zNFet.__init__X  sn  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#)ˆŒ�xÑ àŒ×Ò�W f¨qµ4°%¨j½4Å$À¸-Ý'+­d¨Uµ4©ZÐ&8¸1½t¸eÅD¹j¸/Ø'(¨"­T©'µ$©,Ð&7ð&9ñ :ô :ñ 	;ô 	;ð 	;ð 	Œ×Ò�W¥t­F¡{µT°EÐ&:Ý'+­F¡{µT°E½$±JÐ&?ð&Añ Bô Bñ 	Cô 	Cð 	CàŒ×Ò�W¥t­F¡{µT°E½$¸q¹&±LÐ&AÝ'+­F¡{µ4Ñ'7½Ñ'<½t¸eÅDÈÁF¹lÐ&Kð&Mñ Nô Nñ 	Oô 	Oð 	Oà"# R­¡W­T¡\Ð!2ˆŒ�XÑØ &ˆŒ�WÑÝ $¥V¡­DÑ 0µÑ 5½°u½TÀ!¹V±|ÐDˆŒ�VÑØ"#¥d U­T°!©V¡^Ð!4ˆŒ�XÑØ"# R­¡W­T¡\Ð!2ˆŒ�vÑØ#(ˆŒ�xÑ ØŒ;�vÔð 	5ØŒM× Ò ¥¨1­t¨eµD¸±F©lÐ*;½dÅTÀEÍ$ÈqÉ&ÁLÐ=QÐ)RØ/3Àð"Dñ "Dô "Dñ Eô Eð Eà$%­ u­T°!©V¡|Ð#4ˆDŒL˜Ñ Ð Ð ð	5ð 	5r^   ©r‡   r1   ©r`   ra   rb   rc   rd   rQ   re   rf   s   @r]   r   r   I  se   ø€ € € € € ð
ð 
ð 	�ðÐð 26ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5r^   r   c                  ó2   ‡ — e Zd ZdZddiZddœdˆ fd„Zˆ xZS )	r   z² P-type Field Effect Transistor

        Args:
            bulk: Draw bulk contact

        Anchors:
            source
            drain
            gate
            center
    r‡   FNrˆ   r1   c               óô  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          ddt           ft          t           ft          t           t          z
  fdt           t          z
  fddt          z  t          z
  fg¦  «        ¦  «         | j                             t          t          t          z   t           ft          t          z   t           t          z
  fg¦  «        ¦  «         | j                             t          t          t          z   t          dz  z   t           t          dz  z
  ft          t          z   t          z   t          z   t           t          dz  z
  fg¦  «        ¦  «         | j                             t          t          t          z   t          z   t           t          dz  z
  ft          ¦  «        ¦  «         d| j        d<   ddt          z  t          z
  f| j        d<   t          t          z   t          z   t          z   t           t          dz  z
  f| j        d	<   dt           t          dz  z
  f| j        d
<   ddt          z  t          z
  f| j        d<   d| j        d<   | j        d         rv| j                             t          dt           t          dz  z
  ft          t           t          dz  z
  fgdd¬¦  «        ¦  «         dt           t          dz  z
  f| j        d<   d S d S rŠ   )rP   rQ   rR   rS   rW   r$   r‘   r’   r“   r”   r&   rU   rV   r•   s      €r]   rQ   zPFet.__init__~  s°  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#)ˆŒ�xÑ àŒ×Ò�W f¨qµ4°%¨j½4Å$À¸-Ý'+­d¨Uµ4©ZÐ&8¸1½t¸eÅD¹j¸/Ø'(¨"­T©'µ$©,Ð&7ð&9ñ :ô :ñ 	;ô 	;ð 	;ð 	Œ×Ò�W¥t­F¡{µT°EÐ&:Ý'+­F¡{µT°E½$±JÐ&?ð&Añ Bô Bñ 	Cô 	Cð 	CàŒ×Ò�W¥t­F¡{µ4¸±6Ñ'9½D¸5ÅÀaÁ¹<Ð&HÝ'+­F¡{µ4Ñ'7½Ñ'<½t¸eÅDÈÁF¹lÐ&Kð&Mñ Nô Nñ 	Oô 	Oð 	OàŒ×Ò�]­Dµ©K½Ñ,<½t¸eÅDÈÁF¹lÐ+KÍTÑRÔRÑSÔSÐSà!'ˆŒ�XÑØ!" B¥t¡G­D¡LÐ 1ˆŒ�WÑÝ $¥V¡­DÑ 0µÑ 5½°u½TÀ!¹V±|ÐDˆŒ�VÑØ"#¥d U­T°A©XÑ%5Ð!6ˆŒ�XÑØ"# R­¡W­T¡\Ð!2ˆŒ�vÑØ#(ˆŒ�xÑ ØŒ;�vÔð 	5ØŒM× Ò ¥¨1­t¨eµD¸±F©lÐ*;½dÅTÀEÍ$ÈqÉ&ÁLÐ=QÐ)RØ/3Àð"Dñ "Dô "Dñ Eô Eð Eà$%­ u­T°!©V¡|Ð#4ˆDŒL˜Ñ Ð Ð ð	5ð 	5r^   r–   r—   rf   s   @r]   r   r   o  se   ø€ € € € € ð
ð 
ð 	�ðÐð 26ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5r^   r   c                  ó<   ‡ — e Zd ZdZddiZddœd	ˆ fd„Zˆ fd„Zˆ xZS )
r   zõ N-type Field Effect Transistor which extends
        source/drain leads to the desired length

        Args:
            bulk: Draw bulk contact [default: False]

        Anchors:
            * source
            * drain
            * gate
    r‡   FNrˆ   r1   c               óª  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          dt          dft          t          ft          t          z   t          ft          t          z   dfdt          z  t          z   dfg¦  «        ¦  «         | j                             t          t          t          t          z   ft          t          z   t          t          z   fg¦  «        ¦  «         | j                             t          t          t          dz  z   t          t          z   ft          t          dz  z   t          t          z   t          z   t          z   fg¦  «        ¦  «         dt          z  t          z   df| j
        d<   d| j
        d<   t          t          dz  z   t          t          z   t          z   t          z   f| j
        d<   d| j        d	<   | j        d
         rs| j                             t          t          t          dz  z   dft          t          dz  z   t          fgdd¬¦  «        ¦  «         t          t          dz  z   df| j
        d
<   d S d S ©Nr}   r5   r8   r   r#   ÚisourceÚidrainrA   rG   r‡   rD   rŽ   r�   rL   r�   r•   s      €r]   rQ   zNFet2.__init__¦  s  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#+ˆŒ�xÑ àŒ×Ò�W f­t°Q¨i½$Å¸Ý'+­D¡yµ$Ð&7½$½t¹)ÀQ¸È!ÍDÉ&ÕQUÉ+ÐWXÐIYð&[ñ \ô \ñ 	]ô 	]ð 	]àŒ×Ò�W¥t­Tµ&©[Ð&9½DÅ¹IÅtÍFÁ{Ð;SÐ%TÑUÔUÑVÔVÐVØŒ×Ò�W¥t­D°©F¡{µD½±KÐ&@Å4ÍÈQÉÁ;ÕPTÕU[ÑP[Õ\`ÑP`ÕaeÑPeÐBfÐ%gÑhÔhÑiÔiÐiØ#$¥T¡6­$¡;°Ð"2ˆŒ�YÑØ!'ˆŒ�XÑÝ $¥T¨!¡V¡­Tµ&©[½Ñ-=½dÑ-BÐCˆŒ�VÑØ#+ˆŒ�xÑ ØŒ;�vÔð 	4ØŒM× Ò ¥­4µ°Q±©;¸Ð*:½TÅ$ÀqÁ&¹[Í$Ð<OÐ)PØ/3Àð"Dñ "Dô "Dñ Eô Eð Eå$(­¨a©¡K°Ð#3ˆDŒL˜Ñ Ð Ð ð	4ð 	4r^   c                ó.  •— t          ¦   «                              ||¦  «         | j        d         | j        d<   | j        d         | j        d<   | j                             dd¦  «        r,| j        d         | j        d<   | j        d         | j        d<   dS dS ©úk Allow positioning anchors relative to extended endpoints
            before the element is placed
        ÚendrC   Ústartr@   ÚreverseFN©rP   Ú_place_anchorsrU   Ú_userparamsÚget©rY   r£   r¢   r\   s      €r]   r¦   zNFet2._place_anchors·  ó–   ø€ õ 	‰Œ×Ò˜u cÑ*Ô*Ð*Ø!%¤¨eÔ!4ˆŒ�XÑØ $¤¨WÔ 5ˆŒ�WÑØÔ×Ò 	¨5Ñ1Ô1ð 	8Ø%)¤\°'Ô%:ˆDŒL˜Ñ"Ø$(¤L°Ô$7ˆDŒL˜Ñ!Ð!Ð!ð	8ð 	8r^   r–   ©r`   ra   rb   rc   rd   rQ   r¦   re   rf   s   @r]   r   r   —  s~   ø€ € € € € ð
ð 
ð 	�ð
Ðð 26ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð"	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8r^   r   c                  ó<   ‡ — e Zd ZdZddiZddœd	ˆ fd„Zˆ fd„Zˆ xZS )
r   zõ P-type Field Effect Transistor which extends
        source/drain leads to the desired length

        Args:
            bulk: Draw bulk contact [default: False]

        Anchors:
            * source
            * drain
            * gate
    r‡   FNrˆ   r1   c               óh  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          dt          dft          t          ft          t          z   t          ft          t          z   dfdt          z  t          z   dfg¦  «        ¦  «         | j                             t          t          t          t          z   ft          t          z   t          t          z   fg¦  «        ¦  «         | j                             t          t          t          dz  z   t          t          z   t          z   ft          ¦  «        ¦  «         | j                             t          t          t          dz  z   t          t          z   t          dz  z   ft          t          dz  z   t          t          z   t          z   t          z   fg¦  «        ¦  «         dt          z  t          z   df| j        d<   d| j        d<   t          t          dz  z   t          t          z   t          z   t          z   f| j        d<   d| j        d	<   | j        d
         rs| j                             t          t          t          dz  z   dft          t          dz  z   t          fgdd¬¦  «        ¦  «         t          t          dz  z   df| j        d
<   d S d S rœ   )rP   rQ   rR   rS   rW   r$   r‘   r’   r“   r&   r”   rU   rV   r•   s      €r]   rQ   zPFet2.__init__Ò  sF  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#+ˆŒ�xÑ àŒ×Ò�W f­t°Q¨i½$Å¸Ý'+­D¡yµ$Ð&7½$½t¹)ÀQ¸È!ÍDÉ&ÕQUÉ+ÐWXÐIYð&[ñ \ô \ñ 	]ô 	]ð 	]àŒ×Ò�W¥t­Tµ&©[Ð&9½DÅ¹IÅtÍFÁ{Ð;SÐ%TÑUÔUÑVÔVÐVØŒ×Ò�]­Dµ°a±©K½½f¹ÅTÑ9IÐ+JÍDÑQÔQÑRÔRÐRØŒ×Ò�W¥t­D°©F¡{µD½±KÅÀQÁÑ4FÐ&GÍ$ÍtÐTUÉvÉ+ÕW[Õ\bÑWbÕcgÑWgÕhlÑWlÐImÐ%nÑoÔoÑpÔpÐpØ#$¥T¡6­$¡;°Ð"2ˆŒ�YÑØ!'ˆŒ�XÑÝ $¥T¨!¡V¡­Tµ&©[½Ñ-=½dÑ-BÐCˆŒ�VÑØ#+ˆŒ�xÑ ØŒ;�vÔð 	4ØŒM× Ò ¥­4µ°Q±©;¸Ð*:½TÅ$ÀqÁ&¹[Í$Ð<OÐ)PØ/3Àð"Dñ "Dô "Dñ Eô Eð Eå$(­¨a©¡K°Ð#3ˆDŒL˜Ñ Ð Ð ð	4ð 	4r^   c                ó.  •— t          ¦   «                              ||¦  «         | j        d         | j        d<   | j        d         | j        d<   | j                             dd¦  «        r,| j        d         | j        d<   | j        d         | j        d<   dS dS r    r¥   r©   s      €r]   r¦   zPFet2._place_anchorsä  rª   r^   r–   r«   rf   s   @r]   r   r   Ã  s~   ø€ € € € € ð
ð 
ð 	�ðÐð 26ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð$	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8r^   r   g      @r6   rŽ   çš™™™™™¹?g      è?ç      Ð?c                  ó*   ‡ — e Zd ZddddœZˆ fd„Zˆ xZS )Ú
_AnalogFetFT©r‡   Úoffset_gater=   c                óN   •—  t          ¦   «         j        di |¤Ž d| j        d<   d S )Nr‹   r5   rL   )rP   rQ   rR   )rY   rZ   r\   s     €r]   rQ   z_AnalogFet.__init__   s2   ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#)ˆŒ�xÑ Ð Ð r^   )r`   ra   rb   rd   rQ   re   rf   s   @r]   r²   r²   ú  sN   ø€ € € € € àØØðð Ðð
*ð *ð *ð *ð *ð *ð *ð *ð *r^   r²   c                  ó.   ‡ — e Zd ZdZddddœd	ˆ fd„Zˆ xZS )
r   aŽ   N-type Field Effect Transistor, analog style

        Args:
            bulk: Draw bulk contact
            offset_gate: Draw gate on the source side of the transistor, rather than middle
            arrow: Draw source arrow on the transistor if bulk arrow is not drawn

        Anchors:
            source
            drain
            gate
            bulk (if bulk=True)
            center
    Nr³   r‡   r1   r´   r=   c               óª  •—  t          ¦   «         j        di |¤Ž | j        d         s| j        d         nd}| j                             t          ddt           ft          t           ft          t           t          z
  fdt           t          z
  fddt          z  t          z
  fg¦  «        ¦  «         |r\| j                             t          t          t           t          z
  fdt           t          z
  fgdt          t          ¬¦  «        ¦  «         | j                             t          t          t          z   t           t          z
  ft          t          z   t           t          z
  t          z   fg¦  «        ¦  «         | j        d	         r³| j                             t          t          t          z   t           t          z
  t          z   ft          t          z   t          z   t           t          z
  t          z   fg¦  «        ¦  «         t          t          z   t          z   t           t          z
  t          z   f| j        d
<   n£| j                             t          t          t          z   t           t          dz  z
  ft          t          z   t          z   t           t          dz  z
  fg¦  «        ¦  «         t          t          z   t          z   t           t          dz  z
  f| j        d
<   ddt          z  t          z
  f| j        d<   d| j        d<   dt           t          dz  z
  f| j        d<   ddt          z  t          z
  f| j        d<   d| j        d<   | j        d         r�| j                             t          dt           t          dz  z
  ft          t           t          dz  z
  fgdt          t          ¬¦  «        ¦  «         dt           t          dz  z
  f| j        d<   d S d S ©Nr‡   r=   Fr8   r   rŒ   rD   r<   r´   rA   r#   rC   r@   rB   rE   r�   rG   rL   ©rP   rQ   rV   rS   rW   r$   ÚafetlÚafetwÚafethÚafetaÚafetgapÚafetirU   rR   ©rY   r‡   r´   r=   rZ   Ú_arrowr\   s         €r]   rQ   zAnalogNFet.__init__  s•  ø€ ð
 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø-1¬[¸Ô-@ÐK�”˜WÔ%Ð%ÀeˆØŒ×Ò�W f¨qµ5°&¨k½EÅEÀ6¸?Ý',­u¨fµu©nÐ&=ÀÅEÀ6ÍEÁ>Ð?RØ'(¨"­u©*µuÑ*<Ð&=ð&?ñ @ô @ñ 	Aô 	Að 	Að ð 	[ØŒM× Ò ¥­5µ5°&½5±.Ð*AÀAÍÀvÕPUÁ~ÐCVÐ)WØ/3ÅÕSXð"Zñ "Zô "Zñ [ô [ð [àŒ×Ò�W¥u­w¡½¸Å¹Ð&GÝ',­w¡½¸Å¹ÍÑ8NÐ&Oð&Qñ Rô Rñ 	Sô 	Sð 	Sð Œ;�}Ô%ð 	QØŒM× Ò ¥­5µ7©?½U¸FÅU¹NÍUÑ<RÐ*SÝ+0µ7©?½UÑ+BÅUÀFÍUÁNÕUZÑDZÐ*[ð*]ñ "^ô "^ñ _ô _ð _å$)­G¡OµeÑ$;½e¸VÅe¹^ÍeÑ=SÐ#TˆDŒL˜Ñ Ð àŒM× Ò ¥­5µ7©?½U¸FÅUÈQÁYÑ<NÐ*OÝ+0µ7©?½UÑ+BÅUÀFÍUÐUVÉYÑDVÐ*Wð*Yñ "Zô "Zñ [ô [ð [å$)­G¡OµeÑ$;½e¸VÅeÈaÁiÑ=OÐ#PˆDŒL˜Ñ à"# R­%¡Zµ%Ñ%7Ð!8ˆŒ�XÑØ &ˆŒ�WÑØ"#¥e V­e°a©iÑ%7Ð!8ˆŒ�XÑØ"# R­%¡Zµ%Ñ%7Ð!8ˆŒ�vÑØ#(ˆŒ�xÑ àŒ;�vÔð 	;ØŒM× Ò ¥¨1­u¨fµu¸q±yÑ.@Ð*AÅEÍEÈ6ÕTYÐ\]ÑT]ÑK]ÐC^Ð)_Ø/3ÅÕSXð"Zñ "Zô "Zñ [ô [ð [à$%­ vµ¸±	Ñ'9Ð#:ˆDŒL˜Ñ Ð Ð ð	;ð 	;r^   ©r‡   r1   r´   r1   r=   r1   rp   rf   s   @r]   r   r     s\   ø€ € € € € ðð ð )-Ø/3Ø)-ð";ð ";ð ";ð ";ð ";ð ";ð ";ð ";ð ";ð ";ð ";ð ";r^   r   c                  ó.   ‡ — e Zd ZdZddddœd	ˆ fd„Zˆ xZS )
r   aŽ   P-type Field Effect Transistor, analog style

        Args:
            bulk: Draw bulk contact
            offset_gate: Draw gate on the source side of the transistor, rather than middle
            arrow: Draw source arrow on the transistor if bulk arrow is not drawn

        Anchors:
            source
            drain
            gate
            bulk (if bulk=True)
            center
    Nr³   r‡   r1   r´   r=   c               óZ  •—  t          ¦   «         j        di |¤Ž | j        d         s| j        d         nd}| j                             t          ddt           ft          t           ft          t           t          z
  fdt           t          z
  fddt          z  t          z
  fg¦  «        ¦  «         |rL| j                             t          dt           ft          t           fgdt          t          ¬¦  «        ¦  «         | j                             t          t          t          z   t           t          z
  ft          t          z   t           t          z
  t          z   fg¦  «        ¦  «         | j        d	         r›| j                             t          t          t          z   t           t          z
  ft          t          z   t          z   t           t          z
  fg¦  «        ¦  «         t          t          z   t          z   t           t          z
  f| j        d
<   n£| j                             t          t          t          z   t           t          dz  z
  ft          t          z   t          z   t           t          dz  z
  fg¦  «        ¦  «         t          t          z   t          z   t           t          dz  z
  f| j        d
<   d| j        d<   ddt          z  t          z
  f| j        d<   dt           t          dz  z
  f| j        d<   ddt          z  t          z
  f| j        d<   d| j        d<   | j        d         r�| j                             t          t          t           t          dz  z
  fdt           t          dz  z
  fgdt          t          ¬¦  «        ¦  «         dt           t          dz  z
  f| j        d<   d S d S r¸   r¹   rÀ   s         €r]   rQ   zAnalogPFet.__init__H  sx  ø€ ð
 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø-1¬[¸Ô-@ÐK�”˜WÔ%Ð%ÀeˆØŒ×Ò�W f¨qµ5°&¨k½EÅEÀ6¸?Ý',­u¨fµu©nÐ&=ÀÅEÀ6ÍEÁ>Ð?RØ'(¨"­u©*µuÑ*<Ð&=ð&?ñ @ô @ñ 	Aô 	Að 	Að ð 	[ØŒM× Ò ¥¨1­u¨f¨+½Å¸v°Ð)GØ/3ÅÕSXð"Zñ "Zô "Zñ [ô [ð [àŒ×Ò�W¥u­w¡½¸Å¹Ð&GÝ',­w¡½¸Å¹ÍÑ8NÐ&Oð&Qñ Rô Rñ 	Sô 	Sð 	SàŒ;�}Ô%ð 	QØŒM× Ò ¥­5µ7©?½U¸FÅU¹NÐ*KÝ+0µ7©?½UÑ+BÅUÀFÍUÁNÐ*Sð*Uñ "Vô "Vñ Wô Wð Wå$)­G¡OµeÑ$;½e¸VÅe¹^Ð#LˆDŒL˜Ñ Ð àŒM× Ò ¥­5µ7©?½U¸FÅUÈQÁYÑ<NÐ*OÝ+0µ7©?½UÑ+BÅUÀFÍUÐUVÉYÑDVÐ*Wð*Yñ "Zô "Zñ [ô [ð [å$)­G¡OµeÑ$;½e¸VÅeÈaÁiÑ=OÐ#PˆDŒL˜Ñ à!'ˆŒ�XÑØ!" B­¡JµÑ$6Ð 7ˆŒ�WÑØ"#¥e V­e°a©iÑ%7Ð!8ˆŒ�XÑØ"# R­%¡Zµ%Ñ%7Ð!8ˆŒ�vÑØ#(ˆŒ�xÑ ØŒ;�vÔð 	;ØŒM× Ò ¥­5µ5°&½5À1¹9Ñ2DÐ*EÈÍEÈ6ÕTYÐ\]ÑT]ÑK]ÐG^Ð)_Ø/3ÅÕSXð"Zñ "Zô "Zñ [ô [ð [à$%­ vµ¸±	Ñ'9Ð#:ˆDŒL˜Ñ Ð Ð ð	;ð 	;r^   rÂ   rp   rf   s   @r]   r   r   9  s\   ø€ € € € € ðð ð )-Ø/3Ø)-ð ;ð  ;ð  ;ð  ;ð  ;ð  ;ð  ;ð  ;ð  ;ð  ;ð  ;ð  ;r^   r   c                  ó.   ‡ — e Zd ZdZddddœd	ˆ fd„Zˆ xZS )
r   aŸ   Generic biased small-signal Field Effect Transistor, analog style

        Args:
            bulk: Draw bulk contact
            offset_gate: Draw gate on the source side of the transistor, rather than middle
            arrow: Draw source dot on the transistor if bulk dot is not drawn

        Anchors:
            source
            drain
            gate
            bulk (if bulk=True)
            center
    Nr³   r‡   r1   r´   r=   c               ó  •—  t          ¦   «         j        di |¤Ž | j        d         s| j        d         nd}| j                             t          ddt           ft          t           ft          t           t          z
  fdt           t          z
  fddt          z  t          z
  fg¦  «        ¦  «         |rG| j                             t          t          dz  t           t          z
  ft          d¬	¦  «        ¦  «         | j                             t          t          t          z   t           t          z
  ft          t          z   t           t          z
  t          z   fg¦  «        ¦  «         | j        d
         r³| j                             t          t          t          z   t           t          z
  t          z   ft          t          z   t          z   t           t          z
  t          z   fg¦  «        ¦  «         t          t          z   t          z   t           t          z
  t          z   f| j        d<   n£| j                             t          t          t          z   t           t          dz  z
  ft          t          z   t          z   t           t          dz  z
  fg¦  «        ¦  «         t          t          z   t          z   t           t          dz  z
  f| j        d<   ddt          z  t          z
  f| j        d<   d| j        d<   dt           t          dz  z
  f| j        d<   ddt          z  t          z
  f| j        d<   d| j        d<   | j        d         rÅ| j                             t          dt           t          dz  z
  ft          t           t          dz  z
  fg¦  «        ¦  «         | j                             t          t          t          dz  z
  t           t          dz  z
  ft          d¬	¦  «        ¦  «         dt           t          dz  z
  f| j        d<   d S d S )Nr‡   r=   Fr8   r   rŒ   r#   T)rB   ÚradiusÚfillr´   rA   rC   r@   rB   rE   r�   rG   rL   )rP   rQ   rV   rS   rW   r$   rº   r»   r¼   r&   Úafetbr¾   r¿   rU   rR   rÀ   s         €r]   rQ   zAnalogBiasedFet.__init__z  sª  ø€ ð
 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø-1¬[¸Ô-@ÐK�”˜WÔ%Ð%ÀeˆØŒ×Ò�W f¨qµ5°&¨k½EÅEÀ6¸?Ý',­u¨fµu©nÐ&=ÀÅEÀ6ÍEÁ>Ð?RØ'(¨"­u©*µuÑ*<Ð&=ð&?ñ @ô @ñ 	Aô 	Að 	Að ð 	mØŒM× Ò ¥µu¸q±yÅ5À&Í5Á.Ð6QÕZ_ÐfjÐ!kÑ!kÔ!kÑlÔlÐlØŒ×Ò�W¥u­w¡½¸Å¹Ð&GÝ',­w¡½¸Å¹ÍÑ8NÐ&Oð&Qñ Rô Rñ 	Sô 	Sð 	Sð Œ;�}Ô%ð 	QØŒM× Ò ¥­5µ7©?½U¸FÅU¹NÍUÑ<RÐ*SÝ+0µ7©?½UÑ+BÅUÀFÍUÁNÕUZÑDZÐ*[ð*]ñ "^ô "^ñ _ô _ð _å$)­G¡OµeÑ$;½e¸VÅe¹^ÍeÑ=SÐ#TˆDŒL˜Ñ Ð àŒM× Ò ¥­5µ7©?½U¸FÅUÈQÁYÑ<NÐ*OÝ+0µ7©?½UÑ+BÅUÀFÍUÐUVÉYÑDVÐ*Wð*Yñ "Zô "Zñ [ô [ð [å$)­G¡OµeÑ$;½e¸VÅeÈaÁiÑ=OÐ#PˆDŒL˜Ñ à"# R­%¡Zµ%Ñ%7Ð!8ˆŒ�XÑØ &ˆŒ�WÑØ"#¥e V­e°a©iÑ%7Ð!8ˆŒ�XÑØ"# R­%¡Zµ%Ñ%7Ð!8ˆŒ�vÑØ#(ˆŒ�xÑ ØŒ;�vÔð 	;ØŒM× Ò ¥¨1­u¨fµu¸q±yÑ.@Ð*AÝ+0µ5°&½5À1¹9Ñ2DÐ*Eð*Gñ "Hô "Hñ Iô Ið IàŒM× Ò ¥µu½uÀq¹yÑ7HÍ5È&ÕSXÐ[\ÑS\ÑJ\Ð6]ÕfkÐrvÐ!wÑ!wÔ!wÑxÔxÐxØ$%­ vµ¸±	Ñ'9Ð#:ˆDŒL˜Ñ Ð Ð ð		;ð 	;r^   rÂ   rp   rf   s   @r]   r   r   k  s\   ø€ € € € € ðð ð )-Ø/3Ø)-ð!;ð !;ð !;ð !;ð !;ð !;ð !;ð !;ð !;ð !;ð !;ð !;r^   r   rH   c                  ó4   ‡ — e Zd ZdZdddœZddœd
ˆ fd	„Zˆ xZS )r   z“ Junction Field Effect Transistor (untyped)

        Anchors:
            * source
            * drain
            * gate
            * center
    Fr�   ©r,   rG   N©r,   r,   r1   c               ó  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          ddt           ft          t           ft          t           t          z   ft          t           t          z
  t          z
  ft          t           t          z
  fdt           t          z
  fddt          z  t          z
  fg¦  «        ¦  «         | j                             t          t          t           t          z
  ft          t          z   t           t          z
  fg¦  «        ¦  «         t          t          z   t           t          z
  f| j        d<   ddt          z  t          z
  f| j	        d<   d| j	        d<   t          t          z   t           t          z
  f| j	        d	<   dt           t          d
z  z
  f| j	        d<   | j
        d         rB| j                             t          t          d
z  t           ft          dz  ¦  «        ¦  «         d S d S )Nr‹   r5   r8   r   rŒ   rE   rC   r@   rA   r#   rB   r,   çš™™™™™ñ?rL   ©rP   rQ   rR   rS   rW   r$   r‘   ÚjfetwÚfeterU   rV   r&   r’   ©rY   r,   rZ   r\   s      €r]   rQ   zJFet.__init__°  sº  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#)ˆŒ�xÑ ØŒ×Ò�WØ�a�$˜�Z¥%­$¨ µ%½$¸½t¹Ð1DÝ•d�U�5‘[¥Ñ%Ð&­µ°µe±Ð(<Ø•$�•u‘Ð  2¥d¡7­5¡=Ð1ð3ñ4ô 4ñ 	5ô 	5ð 	5ð 	Œ×Ò�W¥u­t¨eµE©kÐ&:½UÅ4¹ZÍ$ÈÍuÉÐ<UÐ%VÑWÔWÑXÔXÐXÝ"'­¡*­t¨eµE©kÐ!:ˆŒ�vÑØ"# R­¡W­U¡]Ð!3ˆŒ�XÑØ &ˆŒ�WÑÝ %¥d¡
­T¨Eµ%©KÐ8ˆŒ�VÑØ"#¥d U­5°©7¡]Ð!3ˆŒ�XÑØŒ;�xÔ ð 	LØŒM× Ò ¥µ°a±½$¸Ð/?ÅÀcÁÑ!JÔ!JÑKÔKÐKÐKÐKð	Lð 	Lr^   ©r,   r1   r—   rf   s   @r]   r   r   £  sw   ø€ € € € € ðð ð Øðð Ðð 48ð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lr^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   zÕ N-type Junction Field Effect Transistor

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * source
            * drain
            * gate
            * center
    NrÌ   r,   r1   c               óø   •—  t          ¦   «         j        dd|i|¤Ž | j                             t	          t
          dz   t           t
          z
  ft
          dz   t           t
          z
  fgddd¬¦  «        ¦  «         d S )Nr,   r¯   ç333333Ó?rD   rŽ   r<   rL   ©rP   rQ   rS   rW   r$   rÐ   r‘   rÒ   s      €r]   rQ   zJFetN.__init__Í  s�   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥u¨R¡xµ$°µu±Ð&=ÅÀbÁÍ4È%ÕPUÉ+Ð?VÐ%WØ+/¸BÈBðPñ Pô Pñ 	Qô 	Qð 	Qð 	Qð 	Qr^   rÓ   rp   rf   s   @r]   r   r   Á  ób   ø€ € € € € ð
ð 
ð 48ð Qð Qð Qð Qð Qð Qð Qð Qð Qð Qð Qð Qr^   r   c                  ó>   ‡ — e Zd ZdZdddœZddœdˆ fd	„Zˆ fd
„Zˆ xZS )r   zÂ Junction Field Effect Transistor (untyped) which extends
        collector/emitter leads to the desired length

        Anchors:
            * source
            * drain
            * gate
    Fr}   rË   NrÌ   r,   r1   c               óæ  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          dt          dft          t          ft          t          z   t          ft          t          z   dfdt          z  t          z   dfg¦  «        ¦  «         | j                             t          t          t          z
  t          ft          t          z   t          z   t          fg¦  «        ¦  «         | j                             t          t          t          z   t          ft          t          z   t          t          z   fg¦  «        ¦  «         dt          z  t          z   df| j	        d<   d| j	        d<   t          t          z   t          t          z   f| j	        d<   | j
        d	         rL| j                             t          t          t          dz  z   t          dz  ft          d
z  ¦  «        ¦  «         d S d S )Nr}   r5   r8   r   r#   r�   rž   rA   r,   rÎ   rL   rÏ   rÒ   s      €r]   rQ   zJFet2.__init__à  s”  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#+ˆŒ�xÑ àŒ×Ò�WØ•T˜1�I¥¥e˜}­tµE©z½5Ð.AÝ•%‰Z˜ˆO˜a¥™f¥U™l¨AÐ.ð&0ñ 1ô 1ñ 	2ô 	2ð 	2ð 	Œ×Ò�W¥t­D¡yµ%Ð&8½4Å¹:Åd¹?ÍEÐ:RÐ%SÑTÔTÑUÔUÐUØŒ×Ò�W¥t­E¡zµ5Ð&9½DÅ¹JÍÍdÉ
Ð;SÐ%TÑUÔUÑVÔVÐVØ#$¥T¡6­%¡<°Ð"3ˆŒ�YÑØ!'ˆŒ�XÑÝ $¥U¡
­Eµ$©JÐ7ˆŒ�VÑàŒ;�xÔ ð 	SØŒM× Ò ¥µµU¸1±W±½eÀA¹gÐ/FÍÈSÉÑ!QÔ!QÑRÔRÐRÐRÐRð	Sð 	Sr^   c                ó.  •— t          ¦   «                              ||¦  «         | j        d         | j        d<   | j        d         | j        d<   | j                             dd¦  «        r,| j        d         | j        d<   | j        d         | j        d<   dS dS r    r¥   r©   s      €r]   r¦   zJFet2._place_anchorsð  rª   r^   rÓ   r«   rf   s   @r]   r   r   Ó  sŒ   ø€ € € € € ðð ð Øðð Ðð 48ð Sð Sð Sð Sð Sð Sð Sð Sð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8r^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   a   N-type Junction Field Effect Transistor which extends
        collector/emitter leads to the desired length

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * source
            * drain
            * gate
    NrÌ   r,   r1   c               óî   •—  t          ¦   «         j        dd|i|¤Ž | j                             t	          t
          t          z   t          ft
          t          z   t          dz   fgddd¬¦  «        ¦  «         d S ©Nr,   rÖ   rD   rŽ   r<   rL   ©rP   rQ   rS   rW   r$   r‘   rÐ   rÒ   s      €r]   rQ   zJFetN2.__init__  s†   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥t­E¡zµ5Ð&9½DÅ¹JÍÈcÉ	Ð;RÐ%SØ+/¸BÈBðPñ Pô Pñ 	Qô 	Qð 	Qð 	Qð 	Qr^   rÓ   rp   rf   s   @r]   r   r   ü  rØ   r^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   a   P-type Junction Field Effect Transistor which extends
        collector/emitter leads to the desired length

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * source
            * drain
            * gate
    NrÌ   r,   r1   c               óî   •—  t          ¦   «         j        dd|i|¤Ž | j                             t	          t
          t          z   t          dz   ft
          t          z   t          fgddd¬¦  «        ¦  «         d S rÞ   rß   rÒ   s      €r]   rQ   zJFetP2.__init__  s†   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥t­E¡zµ5¸±9Ð&=ÅÅUÁ
ÍEÐ?RÐ%SØ+/¸BÈBðPñ Pô Pñ 	Qô 	Qð 	Qð 	Qð 	Qr^   rÓ   rp   rf   s   @r]   r   r     rØ   r^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   zÕ P-type Junction Field Effect Transistor

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * source
            * drain
            * gate
            * center
    NrÌ   r,   r1   c               óò   •—  t          ¦   «         j        dd|i|¤Ž | j                             t	          t
          dz   t           t
          z
  ft
          t           t
          z
  fgddd¬¦  «        ¦  «         d S )Nr,   r°   rD   rŽ   r<   rL   r×   rÒ   s      €r]   rQ   zJFetP.__init__,  sŠ   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥u¨S¡yµ4°%½±+Ð&>ÅÍÈÍeÉÐ@TÐ%UØ+/¸BÈBðPñ Pô Pñ 	Qô 	Qð 	Qð 	Qð 	Qr^   rÓ   rp   rf   s   @r]   r   r      rØ   r^   r   gffffff
@c                  ó4   ‡ — e Zd ZdZdddœZddœd
ˆ fd	„Zˆ xZS )r   zØ Bipolar Junction Transistor (untyped)

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
            * center
    FrF   rË   NrÌ   r,   r1   c          	     ó  •—  t          ¦   «         j        di |¤Ž d| j        d<   | j                             t          dt          dfg¦  «        ¦  «         | j                             t          t          t          dz  ft          t           dz  fg¦  «        ¦  «         | j                             t          t          t          ft          t          ft          t          t          z   fg¦  «        ¦  «         | j                             t          t          t           ft          t           ft          t           t          z
  fg¦  «        ¦  «         | j        d         r4| j                             t          t          dft          ¦  «        ¦  «         t          t          t          z   f| j        d<   d| j        d<   t          t          t          z   f| j        d	<   t          t           t          z
  f| j        d
<   t          df| j        d<   |  |  |  d S )Nr4   r5   r8   r   r#   r,   rE   ÚbaseÚ	collectorÚemitterrB   rL   )rP   rQ   rR   rS   rW   r$   Úbjt_vÚ	bjt_v_lenÚbjt_aÚbjt_emxÚbjt_emyrV   r&   Úbjt_rrU   rÒ   s      €r]   rQ   zBjt.__init__K  sÍ  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#*ˆŒ�xÑ àŒ×Ò�W f­u°a¨jÐ%9Ñ:Ô:Ñ;Ô;Ð;ØŒ×Ò�W¥u­i¸©kÐ&:½UÅYÀJÈqÁLÐ<QÐ%RÑSÔSÑTÔTÐTØŒ×Ò�W¥u­e nµwÅÐ6HÝ'.µ½±Ð&>ð&@ñ Aô Añ 	Bô 	Bð 	BàŒ×Ò�W¥u­u¨f o½Å'ÀÐ7JÝ'.µ°½±Ð&?ð&Añ Bô Bñ 	Cô 	Cð 	CàŒ;�xÔ ð 	CØŒM× Ò ¥µ°q¨z½5Ñ!AÔ!AÑBÔBÐBÝ")­7µ5©=Ð!9ˆŒ�vÑØ%ˆŒ�VÑÝ%,­gµe©mÐ$<ˆŒ�[Ñ!Ý#*­W¨HµU©NÐ";ˆŒ�YÑÝ")¨1 ˆŒ�XÑØÐØÐØÐÐÐr^   rÓ   r—   rf   s   @r]   r   r   ;  sk   ø€ € € € € ð
ð 
ð Øðð Ðð 48ð ð ð ð ð ð ð ð ð ð ð ð r^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   zÒ NPN Bipolar Junction Transistor

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
            * center
    NrÌ   r,   r1   c               óÊ   •—  t          ¦   «         j        dd|i|¤Ž | j                             t	          t
          t           ft          t           fgdd¬¦  «        ¦  «         d S )Nr,   rD   rŽ   r�   rL   )	rP   rQ   rS   rW   r$   ré   rë   rì   rí   rÒ   s      €r]   rQ   zBjtNpn.__init__m  s{   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥u­u¨f o½Å'ÀÐ7JÐ%KØ+/¸Bð@ñ @ô @ñ 	Aô 	Að 	Að 	Að 	Ar^   rÓ   rp   rf   s   @r]   r   r   a  ób   ø€ € € € € ð
ð 
ð 48ð Að Að Að Að Að Að Að Að Að Að Að Ar^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r	   zÒ PNP Bipolar Junction Transistor

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
            * center
    NrÌ   r,   r1   c               óT  •—  t          ¦   «         j        d	d|i|¤Ž | j                             t	          t
          t          ft          t          fgdd¬¦  «        ¦  «         d| j	        d<   t
          t           t          z
  f| j	        d<   t
          t          t          z   f| j	        d<   d S )
Nr,   rD   rŽ   r�   r8   ræ   rç   rè   rL   )
rP   rQ   rS   rW   r$   rì   rí   ré   rë   rU   rÒ   s      €r]   rQ   zBjtPnp.__init__  s˜   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥wµÐ&8½5Å%¸.Ð%IÐQUÐbdÐeÑeÔeÑfÔfÐfØ%ˆŒ�VÑÝ%,­w¨hµu©nÐ$=ˆŒ�[Ñ!Ý#*­GµE©MÐ":ˆŒ�YÑÐÐr^   rÓ   rp   rf   s   @r]   r	   r	   s  sV   ø€ € € € € ð
ð 
ð 48ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;r^   r	   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   zõ PNP Bipolar Junction Transistor with 2 collectors

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
            * C2
            * center
    NrÌ   r,   r1   c               ó  •—  t          ¦   «         j        dd|i|¤Ž d}| j                             t	          t
          t           |z
  ft          t           |z
  fg¦  «        ¦  «         t          t           |z
  f| j	        d<   |  d S )Nr,   g      Ð¿ÚC2rL   )
rP   rQ   rS   rW   r$   ré   rë   rì   rí   rU   ©rY   r,   rZ   Ú	bjt_2c_dyr\   s       €r]   rQ   zBjtPnp2c.__init__”  s™   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1Øˆ	ØŒ×Ò�W¥u­u¨f°YÑ.>Ð&?Ý'.µ°¸Ñ0BÐ&Cð&Eñ Fô Fñ 	Gô 	Gð 	Gå%­ x°	Ñ'9Ð:ˆŒ�TÑØˆˆˆr^   rÓ   rp   rf   s   @r]   r   r   ‡  óV   ø€ € € € € ðð ð 48ð ð ð ð ð ð ð ð ð ð ð ð r^   r   gš™™™™™á?g
×£p=
Ç?gáz®GáÚ?rÎ   c                  óB   ‡ — e Zd ZdZdddddœZddœdˆ fd„Zˆ fd„Zˆ xZS )r   a   Bipolar Junction Transistor (untyped) which extends
        collector/emitter leads to the desired length

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
    Fr}   r¯   éZ   )r,   rG   ÚlblofstÚthetaNrÌ   r,   r1   c          	     ó‚  •—  t          ¦   «         j        d
i |¤Ž d| j        d<   | j                             t          dt          dz  t          z
  t          ft          dz  t          z   t          ft          dff¦  «        ¦  «         | j                             t          t          dz  t          dz  z
  t          ft          dz  t          dz  z   t          ff¦  «        ¦  «         | j                             t          t          dz  t          ft          dz  t          t          dz  z   ff¦  «        ¦  «         | j
        d         r?| j                             t          t          dz  t          dz  ft          ¦  «        ¦  «         t          dz  t          t          dz  z   f| j        d<   t          df| j        d<   d| j        d	<   d S )Nr}   r5   r8   r#   r   r,   ræ   Ú
icollectorÚiemitterrL   )rP   rQ   rR   rS   rW   r$   Ú	bjt_widthÚbjt_diag_ofstÚ
bjt_base_hÚ
bjt_base_wrV   r&   rî   rU   rÒ   s      €r]   rQ   zBjt2.__init__·  s¬  ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø#+ˆŒ�xÑ ØŒ×Ò�W fÝ'0°¡{µ=Ñ'@Å*Ð&MÝ'0°¡{µ=Ñ'@Å*Ð&MÝ'0°! nð&6ñ 7ô 7ñ 	8ô 	8ð 	8ð 	Œ×Ò�W¥y°¡{µ:¸a±<Ñ'?ÅÐ&LÝ'0°¡{µ:¸a±<Ñ'?ÅÐ&Lð&Nñ Oô Oñ 	Pô 	Pð 	PàŒ×Ò�W¥y°¡{µJÐ&?Ý'0°¡{µJ½zÈ!¹|Ñ4KÐ&Lð&Nñ Oô Oñ 	Pô 	Pð 	PàŒ;�xÔ ð 	OØŒM× Ò ¥µ	¸!±½UÀ1¹WÐ/EÅuÑ!MÔ!MÑNÔNÐNÝ )¨!¡­Z½
À1¹Ñ-DÐEˆŒ�VÑÝ&/° ^ˆŒ�\Ñ"Ø#)ˆŒ�ZÑ Ð Ð r^   c                ó.  •— t          ¦   «                              ||¦  «         | j        d         | j        d<   | j        d         | j        d<   | j                             dd¦  «        r,| j        d         | j        d<   | j        d         | j        d<   dS dS )r¡   r£   rè   r¢   rç   r¤   FNr¥   r©   s      €r]   r¦   zBjt2._place_anchorsÈ  s–   ø€ õ 	‰Œ×Ò˜u cÑ*Ô*Ð*Ø"&¤,¨wÔ"7ˆŒ�YÑØ$(¤L°Ô$7ˆŒ�[Ñ!ØÔ×Ò 	¨5Ñ1Ô1ð 	>Ø&*¤l°5Ô&9ˆDŒL˜Ñ#Ø(,¬°WÔ(=ˆDŒL˜Ñ%Ð%Ð%ð	>ð 	>r^   rÓ   r«   rf   s   @r]   r   r   ¥  sŠ   ø€ € € € € ð
ð 
ð ØØØð	ð Ðð 48ð *ð *ð *ð *ð *ð *ð *ð *ð"	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>r^   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   a   NPN Bipolar Junction Transistor which extends
        collector/emitter leads to the desired length

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
    NrÌ   r,   r1   c               óÄ   •—  t          ¦   «         j        dd|i|¤Ž | j                             t	          dt
          dz  t          z
  t          fgdd¬¦  «        ¦  «         d S )Nr,   r8   r#   r;   rŽ   r�   rL   )rP   rQ   rS   rW   r$   r  r  r  rÒ   s      €r]   rQ   zBjtNpn2.__init__à  s|   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W f­y¸©{½=Ñ/HÍ*Ð.UÐ%VØ+/¸Bð@ñ @ô @ñ 	Aô 	Að 	Að 	Að 	Ar^   rÓ   rp   rf   s   @r]   r   r   Ô  rñ   r^   r   c                  ó4   ‡ — e Zd ZdZddœdˆ fd„Zˆ fd„Zˆ xZS )	r
   a   PNP Bipolar Junction Transistor which extends
        collector/emitter leads to the desired length

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
    NrÌ   r,   r1   c               ó(  •—  t          ¦   «         j        d	d|i|¤Ž | j                             t	          t
          dz  t          z   t          ft
          dfgdd¬¦  «        ¦  «         | j        d         | j        d         c| j        d<   | j        d<   d S )
Nr,   r#   r   r;   rŽ   r�   r   rÿ   rL   ©	rP   rQ   rS   rW   r$   r  r  r  rU   rÒ   s      €r]   rQ   zBjtPnp2.__init__ò  s¬   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1ØŒ×Ò�W¥y°¡{µ=Ñ'@Å*Ð&MÝ'0°! nð&6à+/¸Bð@ñ @ô @ñ 	Aô 	Að 	Að @D¼|ÈJÔ?WÐY]ÔYeÐfrÔYsÐ<ˆŒ�\Ñ" D¤L°Ñ$<Ð$<Ð$<r^   c                ó.  •— t          ¦   «                              ||¦  «         | j        d         | j        d<   | j        d         | j        d<   | j                             dd¦  «        r,| j        d         | j        d<   | j        d         | j        d<   dS dS )r¡   r¢   rè   r£   rç   r¤   FNr¥   r©   s      €r]   r¦   zBjtPnp2._place_anchorsù  s–   ø€ õ 	‰Œ×Ò˜u cÑ*Ô*Ð*Ø"&¤,¨uÔ"5ˆŒ�YÑØ$(¤L°Ô$9ˆŒ�[Ñ!ØÔ×Ò 	¨5Ñ1Ô1ð 	<Ø&*¤l°7Ô&;ˆDŒL˜Ñ#Ø(,¬°UÔ(;ˆDŒL˜Ñ%Ð%Ð%ð	<ð 	<r^   rÓ   )r`   ra   rb   rc   rQ   r¦   re   rf   s   @r]   r
   r
   æ  sw   ø€ € € € € ð
ð 
ð 48ð tð tð tð tð tð tð tð tð	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<r^   r
   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   a   2-Collector PNP Bipolar Junction Transistor which extends
        collector/emitter leads to the desired length

        Args:
            circle: Draw circle around the transistor

        Anchors:
            * collector
            * emitter
            * base
            * C2
    NrÌ   r,   r1   c               óè   •—  t          ¦   «         j        dd|i|¤Ž d}| j                             t	          |df|t
          dz  z   t          z
  t          fg¦  «        ¦  «         |df| j        d<   |  d S )Nr,   r°   r   r#   rö   rL   r
  r÷   s       €r]   rQ   zBjtPnp2c2.__init__  s�   ø€ Ø�‰ŒÔÐ1Ð1 Ð1¨&Ð1Ð1Ð1Øˆ	ØŒ×Ò�W y°! nØ'0µ¸1±Ñ'<½]Ñ'JÍJÐ&Wð&Yñ Zô Zñ 	[ô 	[ð 	[à'¨˜^ˆŒ�TÑØˆˆˆr^   rÓ   rp   rf   s   @r]   r   r     rù   r^   r   N)Grc   Ú
__future__r   Útypingr   Ú__all__Úelementsr   r    r!   Útwotermr"   rS   r$   r%   r&   Útypesr'   r)   r   r   rv   r   r   r’   Úfethr‘   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   rî   ré   rê   rë   rì   rí   r   r   r	   r   Úbjt_lead_dfltr  r  r  r  r   r   r
   r   rL   r^   r]   ú<module>r     s™  ðØ Ð à "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð ð3ð 3ð 3€ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð ðn3ð n3ð n3ð n3ð n3ˆgñ n3ô n3ð n3ðbOð Oð Oð Oð Oˆ7ñ Oô Oð Oð*Oð Oð Oð Oð Oˆ7ñ Oô Oð Oð,g2ð g2ð g2ð g2ð g2ˆ|ñ g2ô g2ð g2ðTOð Oð Oð Oð OˆHñ Oô Oð Oð*Oð Oð Oð Oð OˆHñ Oô Oð Oð* �!�|€Ø�!�|€Øˆa�x€Ø	€Ø�"�}€ð#5ð #5ð #5ð #5ð #5ˆ7ñ #5ô #5ð #5ðL%5ð %5ð %5ð %5ð %5ˆ7ñ %5ô %5ð %5ðP)8ð )8ð )8ð )8ð )8ˆLñ )8ô )8ð )8ðX*8ð *8ð *8ð *8ð *8ˆLñ *8ô *8ð *8ð\ 	�3‰€Ø�‰	€Ø�‰€Ø
�#‰+€Ø�‰€Ø�‰€Ø€ð*ð *ð *ð *ð *�ñ *ô *ð *ð1;ð 1;ð 1;ð 1;ð 1;�ñ 1;ô 1;ð 1;ðh/;ð /;ð /;ð /;ð /;�ñ /;ô /;ð /;ðd0;ð 0;ð 0;ð 0;ð 0;�jñ 0;ô 0;ð 0;ðh ˆB�w€Ø�‰
€ðLð Lð Lð Lð Lˆ7ñ Lô Lð Lð<Qð Qð Qð Qð QˆDñ Qô Qð Qð$&8ð &8ð &8ð &8ð &8ˆLñ &8ô &8ð &8ðRQð Qð Qð Qð QˆUñ Qô Qð Qð$Qð Qð Qð Qð QˆUñ Qô Qð Qð$Qð Qð Qð Qð QˆDñ Qô Qð Qð& 	�‰€Øˆa‰�‰	€Ø�!‰G�A‰I€	Ø�!‰€Ø
�%˜‘(Ñ
€Ø
�B‰,€ð#ð #ð #ð #ð #ˆ'ñ #ô #ð #ðLAð Að Að Að AˆSñ Aô Að Að$;ð ;ð ;ð ;ð ;ˆSñ ;ô ;ð ;ð(ð ð ð ð ˆvñ ô ð ð, 	€Ø€Ø€Ø€
Ø€
Ø€	ð,>ð ,>ð ,>ð ,>ð ,>ˆ<ñ ,>ô ,>ð ,>ð^Að Að Að Að Aˆdñ Aô Að Að$<ð <ð <ð <ð <ˆdñ <ô <ð <ð>ð ð ð ð �ñ ô ð ð ð r^   