+
    NV-j[7 ã                  óà3  € ^ RI Ht ^ RIt^ RIt^ RIHtHtHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHu Ht  ^ RI!t"^ RI!H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t, ^ RI-H.t/ ^ RI0H1t1 ^ RI2H3t3 ^ RI4H5t5H6t6H7t7H8t8H9t9H:t:H;t; ]'       d   ^ RI<t<]Pz                  P}                  R4      ]Pz                  P~                  .t@]P‚                  R 4       tBR tCR R ltDR R ltER R ltFR tGR R ltHR R ltIR R ltJR  R! ltKR" tLR# R$ ltMR% R& ltN]P‚                  R' 4       tO]P‚                  R( 4       tP]P‚                  R) 4       tQ]P‚                  R* 4       tR]P‚                  R+ 4       tSR, tTR- tUR. R/ ltVR0 R1 ltW]P‚                  R2 4       tX]P‚                  R3 4       tY]P‚                  R4 4       tZ]P‚                  R5 4       t[]P‚                  R6 4       t\]P‚                  R7 4       t]]P‚                  R8 4       t^]P‚                  R9 4       t_]P‚                  R: 4       t`]P‚                  R; 4       ta]P‚                  R< 4       tb]P‚                  R= 4       tc]P‚                  R> 4       td]P‚                  R? 4       te]P‚                  R@ 4       tf]P‚                  RA 4       tg]P‚                  RB 4       th]P‚                  RC 4       ti]P‚                  RD 4       tj]P‚                  RE 4       tk]P‚                  RF 4       tl]P‚                  RG 4       tm]P‚                  RH 4       tn]P‚                  RI 4       to]P‚                  RJ 4       tp]P‚                  RK 4       tq]P‚                  RL 4       tr]P‚                  RM 4       ts]P‚                  RN 4       tt]P‚                  RO 4       tu]Pì                  ! RP]Pz                  Pî                  RQ7      ]Pì                  ! RR]Pz                  Pî                  RQ7      .tx]Pì                  ! RS]Pz                  Pî                  RQ7      ]Pì                  ! RT]Pz                  Pî                  RQ7      .ty]Pì                  ! RU]Pz                  Pî                  RQ7      ]Pì                  ! RV]Pz                  Pî                  RQ7      .tz]Pì                  ! RW]Pz                  Pî                  RQ7      ]Pì                  ! RX]Pz                  Pî                  RQ7      .t{]Pì                  ! RY]Pz                  Pî                  RQ7      ]Pì                  ! RZ]Pz                  Pî                  RQ7      .t|]Pì                  ! R[]Pz                  Pî                  RQ7      ]Pì                  ! R\]Pz                  Pî                  RQ7      .t}. ER'Ot~. ER(Ot. ER)Ot€]x]{,           ]~,           t�]y]|,           ],           t‚]z]},           ]€,           tƒR]]Pì                  ! R^]Pz                  Pî                  RQ7      .t„]Pì                  ! R_]Pz                  Pî                  RQ7      R`.t…]Pì                  ! Ra]Pz                  Pî                  RQ7      Rb.t†. ]�ORcN]„Ot‡. ]‚ORdN]…Otˆ. ]ƒOReN]†Ot‰]Pz                  EP                  Rf]‡4      Rg 4       t‹]Pz                  EP                  Rf]‡4      Rh 4       tŒ]Pz                  EP                  Rf]‡4      Ri 4       t�]Pz                  EP                  Rf]‡4      Rj 4       tŽ]Pz                  EP                  Rf]‡4      ]Pz                  EP                  RkRRl.4      Rm 4       4       t�]Pz                  EP                  Rf]‡4      ]Pz                  EP                  Rn. ER*O4      Ro 4       4       t�]Pz                  EP                  Rf]‡4      Rp 4       t‘]Pz                  EP                  Rf]ˆ4      Rq 4       t’]Pz                  EP                  Rf]ˆ4      Rr 4       t“]Pz                  EP                  Rf]‚4      Rs 4       t”]Pz                  EP                  Rf]ˆ4      Rt 4       t•]Pz                  EP                  Rf]‚4      Ru 4       t–]Pz                  EP                  Rf]‚4      Rv 4       t—]Pz                  EP                  Rf]�4      Rw 4       t˜]Pz                  EP                  Rf]‰4      Rx 4       t™]Pz                  EP                  Rf]x4      Ry 4       tš]Pz                  EP                  Rf]{4      ]Pz                  EP                  Rz^R{.4      R| 4       4       t›]Pz                  EP                  Rf]{4      R} 4       tœ]Pz                  EP                  Rf]‡4      R~ 4       t�]Pz                  EP                  Rf]x4      R 4       tž]Pz                  EP                  Rf]{4      R€ 4       tŸR� t R‚ t¡]Pz                  EP                  Rf]ˆ4      Rƒ 4       t¢]Pz                  EP                  Rf]ˆ4      R„ 4       t£]Pz                  EP                  Rf]ˆ4      R… 4       t¤]Pz                  EP                  Rf]ˆ4      R† 4       t¥]Pz                  EP                  Rf]ˆ4      R‡ 4       t¦]Pz                  EP                  Rf]‡4      Rˆ 4       t§]Pz                  EP                  Rf]‡4      R‰ 4       t¨]Pz                  EP                  Rf]‡4      RŠ 4       t©]Pz                  EP                  Rf]‡4      R‹ 4       tª]Pz                  EP                  Rf]‡4      RŒ 4       t«]Pz                  EP                  Rf]‡4      R� 4       t¬]Pz                  EP                  Rf]‡4      RŽ 4       t­]Pz                  EP                  Rf]‡4      R� 4       t®]Pz                  EP                  Rf]ˆ4      R� 4       t¯]Pz                  EP                  Rf]‰4      R‘ 4       t°]Pz                  EP                  Rf]‰4      ]Pz                  EP                  R’R“R”.4      ]Pz                  EP                  R•]3EPb                  R–ER+3]3EPb                  R˜R—3]3Pt                  R–ER+3]3Pv                  R˜R—3.4      R™ 4       4       4       t²]Pz                  EP                  Rf]‰4      Rš 4       t³]Pz                  EP                  Rf]‡4      R› 4       t´]Pz                  EP                  Rf]‡4      Rœ 4       tµ]Pz                  EP                  Rf]‡4      ]Pz                  EP                  R�. ER,O4      Rž 4       4       t¶]Pz                  EP                  Rf]‡4      RŸ 4       t·]Pz                  EP                  Rf]‡4      R  4       t¸]Pz                  EP                  Rf]‡4      ]Pz                  EP                  R¡R]¹]ºR¢]¹R£]º/.4      R¤ 4       4       t»]Pz                  EP                  Rf]‡4      R¥ 4       t¼]Pz                  EP                  Rf]‡4      R¦ 4       t½]Pz                  EP                  Rf]‡4      R§ 4       t¾]Pz                  EP                  Rf]‡4      R¨ 4       t¿]Pz                  EP                  Rf]‡4      R© 4       tÀ]Pz                  EP                  Rf]‡4      Rª 4       tÁ]Pz                  EP                  Rf]‡4      R« 4       tÂ]Pz                  EP                  Rf]‡4      R¬ 4       tÃ]Pz                  EP                  Rf]‡4      R­ 4       tÄ]Pz                  EP                  Rf]‡4      R® 4       tÅ]Pz                  EP                  Rf]‡4      R¯ 4       tÆ]Pz                  EP                  Rf]‡4      R° 4       tÇ]Pz                  EP                  Rf]ˆ4      R± 4       tÈR² tÉ]Pz                  EP                  Rf]‡4      R³ 4       tÊ]Pz                  EP                  Rf]�4      R´ 4       tË]Pz                  EP                  Rf]�4      ]Pz                  EP                  RµER-ER.ER/ER0ER1ER2ER3ER4ER5ER6ER7ER8ER9ER:]¹]EP˜                  ! ]¹4      EPš                  R¸8X  d   R·MR¶3.4      R¹ 4       4       tÎ]Pz                  EP                  Rf]�4      ]Pz                  EP                  RºR»R¼.4      R½ 4       4       tÏR¾ tÐ] EP¢                  ! R¿4      RÀ 4       tÒ]Pz                  EP                  Rf]‚4      RÁ 4       tÓ]Pz                  EP                  Rf]‚4      RÂ 4       tÔ]Pz                  EP                  Rf]‡4      RÃ 4       tÕRÄ tÖ] EP¢                  ! R—4      RÅ 4       t×] EP¢                  ! R—4      RÆ 4       tØRÇ tÙRÈ tÚRÉ tÛ]Pz                  EP                  Rf]�4      RÊ 4       tÜ]Pz                  EP                  Rf]�4      RË 4       tÝ]Pz                  EP                  RÌ]‡4      RÍ 4       tÞ]Pz                  EP                  RÌ]‡4      RÎ 4       tß]Pz                  EP                  Rf]‡4      RÏ 4       tà]Pz                  EP                  Rf]ˆ4      RÐ 4       tá]Pz                  EP                  Rf]‚4      RÑ 4       tâ]Pz                  EP                  Rf]‚4      RÒ 4       tã]Pz                  EP                  Rf]‚4      RÓ 4       tä]Pz                  EP                  Rf]ƒ4      RÔ 4       tå]Pz                  EP                  Rf]�4      RÕ 4       tæ]Pz                  EP                  Rf]ƒ4      RÖ 4       tç]Pz                  EP                  Rf]{4      ]Pz                  EP                  R×RRØ..4      RÙ 4       4       tè]Pz                  EP                  Rf]{4      RÚ 4       té]Pz                  EP                  Rf]{4      RÛ 4       tê]Pz                  EP                  Rf]�4      RÜ 4       të]Pz                  EP                  Rf]�4      RÝ 4       tì]Pz                  EP                  Rf]�4      RÞ 4       tí]Pz                  EP                  Rf]ƒ4      Rß 4       tî]Pz                  EP                  Rf]�4      Rà 4       tï]Pz                  EP                  Rf]�4      Rá 4       tð]Pz                  EP                  Rf]�4      Râ 4       tñ]Pz                  EP                  Rf]�4      Rã 4       tò]Pz                  EP                  Rf]�4      Rä 4       tó]Pz                  EP                  Rf]�4      Rå 4       tô]Pz                  EP                  Rf]�4      Ræ 4       tõ]Pz                  EP                  Rf]�4      Rç 4       tö]Pz                  EP                  Rf]‡4      Rè 4       t÷]Pz                  EP                  Rf]‡4      Ré 4       tø]Pz                  EP                  Rf]‡4      Rê 4       tù]Pz                  EP                  Rf]�4      Rë 4       tú]Pz                  EP                  Rf]�4      Rì 4       tû]Pz                  EP                  Rf]�4      Rí 4       tü]Pz                  EP                  Rf]�4      Rî 4       tý]Pz                  EP                  Rf]�4      Rï 4       tþ]Pz                  EP                  Rf]�4      ]Pz                  EP                  RðRñ]EPþ                  ./Rñ]EPþ                  ) ./Rñ]EPþ                  ) .RòRó./.4      Rô 4       4       Et ]Pz                  EP                  Rf]�4      Rõ 4       Et]Pz                  EP                  Rf]‡4      Rö 4       Et]Pz                  EP                  Rf]‡4      R÷ 4       Et]Pz                  EP                  Rf]�4      Rø 4       Et]Pz                  EP                  Rf]‡4      Rù 4       EtRú Et]Pz                  EP                  Rf]‡4      ]Pz                  EP                  RûRüRý.4      Rþ 4       4       Et]Pz                  EP                  Rf]‡4      ]Pz                  EP                  RûRüRÿ.4      ER  4       4       Et]Pz                  EP                  Rf]‡4      ]Pz                  EP                  Rû. ER;O4      ER 4       4       Et	]P‚                  ER ER l4       Et
]P‚                  ER 4       Et]Pz                  EP                  Rf]‡4      ER 4       Et]Pz                  EP                  Rf]‡4      ]Pz                  EP                  ER]EP                  ER.4      ]Pz                  EP                  RûRüRý.4      ER 4       4       4       EtER	 EtER
 EtER EtER EtER Et]P‚                  ER 4       EtER Et]Pz                  Pî                  ER 4       Et]Pz                  Pî                  ER 4       EtER EtER Et]Pz                  EP                  ERERER.4      ER 4       EtER EtER EtER EtER EtER EtER<ER lEt ER Et!ER Et"ER  Et#ER! Et$ER" Et%ER# Et&ER$ Et'ER% Et(ER& Et)R# (=  é    )ÚannotationsN)ÚdateÚdatetimeÚtimeÚ	timedelta)ÚDecimal)ÚStringIO©ÚPath)ÚTYPE_CHECKING)Úusing_string_dtype)Úlib)Úpa_version_under14p1)Úimport_optional_dependency)
Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚconcatÚ
date_rangeÚisnaÚto_datetimeÚto_timedelta)ÚVersion)Úsql)ÚSQLAlchemyEngineÚSQLDatabaseÚSQLiteDatabaseÚ
get_engineÚpandasSQL_builderÚread_sql_queryÚread_sql_tablez=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                 ó6   € R RRRRRR/RRRRR	RR
/RRRRRRR//# )Úread_parametersÚsqlitez1SELECT * FROM iris WHERE Name=? AND SepalLength=?Úmysqlz7SELECT * FROM iris WHERE `Name`=%s AND `SepalLength`=%sÚ
postgresqlz7SELECT * FROM iris WHERE "Name"=%s AND "SepalLength"=%sÚread_named_parametersz]
                SELECT * FROM iris WHERE Name=:name AND SepalLength=:length
                zw
                SELECT * FROM iris WHERE
                `Name`=%(name)s AND `SepalLength`=%(length)s
                zw
                SELECT * FROM iris WHERE
                "Name"=%(name)s AND "SepalLength"=%(length)s
                Úread_no_parameters_with_percentz&SELECT * FROM iris WHERE Name LIKE '%'z(SELECT * FROM iris WHERE `Name` LIKE '%'z(SELECT * FROM iris WHERE "Name" LIKE '%'© r+   ó    Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pandas/tests/io/test_sql.pyÚsql_stringsr.   C   sj   € ð 	ØÐIØÐNØÐSð
ð
 	 Øð ð ð ð ð ð"
ð 	*ØÐ>ØÐ?ØÐFð,
ð'ð r,   c                 óø   € ^ RI p ^ RI HpHpHpHpHpHp \        V P                  4      \        R4      8¼  d   TMTpV! 4       pV! RVV! RV4      V! RV4      V! RV4      V! RV4      V! R	V! ^È4      4      4      p	V	# )
r   N)ÚColumnÚDoubleÚFloatÚMetaDataÚStringÚTablez2.0.0ÚirisÚSepalLengthÚ
SepalWidthÚPetalLengthÚ
PetalWidthÚName)	Ú
sqlalchemyr0   r1   r2   r3   r4   r5   r   Ú__version__)
r<   r0   r1   r2   r3   r4   r5   ÚdtypeÚmetadatar6   s
             r-   Úiris_table_metadatar@   `   sƒ   € Û÷÷ ô ˜j×4Ñ4Ó5¼ÀÓ9IÔI‰FÈu€EÙ‹z€HÙØØÙˆ}˜eÓ$Ùˆ|˜UÓ#Ùˆ}˜eÓ$Ùˆ|˜UÓ#Ùˆv‘v˜c“{Ó#ó€Dð €Kr,   c               ó   € V ^8„  d   QhRR/# ©é   Ú	iris_filer   r+   )Úformats   "r-   Ú__annotate__rF   y   s   € ÷ ñ °$ñ r,   c                ó*  € R pV P                  4       pVP                  V4       VP                  RRR7      ;_uu_ 4       p\        P                  ! V4      p\        V4       Rp. pV Uu. uFQ  p\        V^ ,          4      \        V^,          4      \        V^,          4      \        V^,          4      V^,          3NKS  	  ppVP                  W&4       RRR4       VP                  4        V P                  4        R# u upi   + '       g   i     L7; i)z³CREATE TABLE iris (
            "SepalLength" REAL,
            "SepalWidth" REAL,
            "PetalLength" REAL,
            "PetalWidth" REAL,
            "Name" TEXT
        )Núutf-8©ÚnewlineÚencodingz&INSERT INTO iris VALUES(?, ?, ?, ?, ?))
ÚcursorÚexecuteÚopenÚcsvÚreaderÚnextÚfloatÚexecutemanyÚcloseÚcommit)ÚconnrD   ÚstmtÚcurÚcsvfilerP   ÚrecordsÚrows   &&      r-   Úcreate_and_load_iris_sqlite3r\   y   sæ   € ð€Dð �+‰+‹-€CØ‡K�K�ÔØ	�‰ ¨wˆ×	7Ô	7¸7Ü—’˜GÓ$ˆÜˆVŒØ7ˆàˆñ ó	
ñ �ô �c˜!•f“Ü�c˜!•f“Ü�c˜!•f“Ü�c˜!•f“Ø�A•óñ ð 	ð 	
ð 	�‰˜Ô&÷# 
8ð$ ‡I�I„Kà‡K�K†Mùò	
÷ 
8×	7ús   ¿*DÁ)AC=Ã DÃ=DÄD	c               ó   € V ^8„  d   QhRR/# rB   r+   )rE   s   "r-   rF   rF   ›   s   € ÷ ñ °Tñ r,   c                óN  € R pV P                  4       ;_uu_ 4       pVP                  V4       VP                  RRR7      ;_uu_ 4       p\        P                  ! V4      p\        V4       RpV Uu. uFQ  p\        V^ ,          4      \        V^,          4      \        V^,          4      \        V^,          4      V^,          3NKS  	  ppVP                  W'4       RRR4       RRR4       V P                  4        R# u upi   + '       g   i     L/; i  + '       g   i     L:; i)zãCREATE TABLE iris (
            "SepalLength" DOUBLE PRECISION,
            "SepalWidth" DOUBLE PRECISION,
            "PetalLength" DOUBLE PRECISION,
            "PetalWidth" DOUBLE PRECISION,
            "Name" TEXT
        )NrH   rI   z+INSERT INTO iris VALUES($1, $2, $3, $4, $5))	rL   rM   rN   rO   rP   rQ   rR   rS   rU   )rV   rD   rW   rX   rY   rP   r[   rZ   s   &&      r-   Úcreate_and_load_iris_postgresqlr_   ›   sç   € ð€Dð 
�‰�Œ˜#Ø�‰�DÔØ�^‰^ D°7ˆ^×;Ô;¸wÜ—Z’Z Ó(ˆFÜ�ŒLØ@ˆDñ "ó	ñ "�Cô ˜#˜a�&“MÜ˜#˜a�&“MÜ˜#˜a�&“MÜ˜#˜a�&“MØ˜•Fóñ "ð ð 	ð �O‰O˜DÔ*÷! <÷ 
ð( 	‡K�K†Mùò	÷ <×;ú÷ 
�ús6   ›-DÁ(D	Á0AC<ÃD	ÃDÃ<D	ÄDÄDÄD$	c               ó   € V ^8„  d   QhRR/# rB   r+   )rE   s   "r-   rF   rF   º   s   € ÷ ñ ¨$ñ r,   c                ó*  € ^ RI Hp \        4       pVP                  RRR7      ;_uu_ 4       p\        P
                  ! V4      p\        V4      pV Uu. uF  p\        \        Wg4      4      NK  	  ppV! V4      P                  V4      p	V P                  4       ;_uu_ 4       p
VP                  V
RR7       VP                  V
R7       V
P                  V	4       RRR4       RRR4       R# u upi   + '       g   i     L; i  + '       g   i     R# ; i)r   ©ÚinsertNrH   rI   T©Ú
checkfirst©Úbind)r<   rc   r@   rN   rO   rP   rQ   ÚdictÚzipÚvaluesÚbeginÚdropÚcreaterM   )rV   rD   rc   r6   rY   rP   Úheaderr[   ÚparamsrW   Úcons   &&         r-   Úcreate_and_load_irisrq   º   sÆ   € Ý!äÓ €Dà	�‰ ¨wˆ×	7Ô	7¸7Ü—’˜GÓ$ˆÜ�f“ˆÙ4:Ó;±F¨S”$”s˜6Ó'Ö(±FˆÐ;Ù�d‹|×"Ñ" 6Ó*ˆØ�Z‰Z�\Œ\˜SØ�I‰I�c dˆIÔ+Ø�K‰K˜SˆKÔ!Ø�K‰K˜Ô÷ ÷ 
8Ñ	7ùò <ç�\ú÷ 
8×	7Ð	7ús5   ¬&DÁC)Á/1DÂ 7C.	ÃDÃ)DÃ.C>Ã9DÄD	c                óF  € R p\        V \        P                  4      '       d$   V P                  4       pVP	                  V4       R# \        RRR7      pV'       d`   \        WP                  4      '       dE   V P                  4       ;_uu_ 4       pVP	                  V4       RRR4       V P                  4        R# ^ RIHp V! V4      pV P                  4       ;_uu_ 4       pVP	                  V4       RRR4       R#   + '       g   i     Ld; i  + '       g   i     R# ; i)z+CREATE VIEW iris_view AS SELECT * FROM irisúadbc_driver_manager.dbapiÚignore©ÚerrorsN©Útext)
Ú
isinstanceÚsqlite3Ú
ConnectionrL   rM   r   rU   r<   rx   rk   )rV   rW   rX   Úadbcrx   rp   s   &     r-   Úcreate_and_load_iris_viewr}   Ê   s´   € Ø8€DÜ�$œ×*Ñ*×+Ò+Ø�k‰k‹mˆØ�‰�DÖä)Ð*EÈhÔWˆß”J˜t§_¡_×5Ò5Ø—‘—” #Ø—‘˜DÔ!÷ à�K‰KŽMå'á˜“:ˆDØ—‘—” Ø—‘˜DÔ!÷ ‘÷ —ú÷ —�ús   ÂC<Ã DÃ<D	ÄD 	c               ó   € V ^8„  d   QhRR/# )rC   ÚdialectÚstrr+   )rE   s   "r-   rF   rF   Ý   s   € ÷ ñ  #ñ r,   c                ó
  € ^ RI HpHpHpHpHpHpHpHp V R8X  d   TMTp	V R8X  d   TMTp
V! 4       pV! RVV! RV4      V! RV	4      V! RV4      V! RV4      V! RV4      V! R	V4      V! R
V
4      V! RV4      V! RV
4      4      pV# )r   )ÚTEXTÚBooleanr0   ÚDateTimer2   ÚIntegerr3   r5   r&   ÚtypesÚTextColÚDateColÚ
IntDateColÚIntDateOnlyColÚFloatColÚIntColÚBoolColÚIntColWithNullÚBoolColWithNull)	r<   r‚   rƒ   r0   r„   r2   r…   r3   r5   )r   r‚   rƒ   r0   r„   r2   r…   r3   r5   Ú	date_typeÚ	bool_typer?   r†   s   &            r-   Útypes_table_metadatar’   Ý   sª   € ÷	÷ 	ó 	ð   8Ô+‘°€IØ" hÔ.‘°G€IÙ‹z€HÙØØÙˆy˜$Óáˆy˜)Ó$Ùˆ|˜WÓ%ÙÐ Ó)Ùˆz˜5Ó!Ùˆx˜Ó!áˆy˜)Ó$ÙÐ Ó)áÐ  )Ó,ó€Eð  €Lr,   c               ó   € V ^8„  d   QhRR/# ©rC   Ú
types_dataú
list[dict]r+   )rE   s   "r-   rF   rF   ÿ   s   € ÷ ñ °Jñ r,   c                ó‚  € R pRp\        V \        P                  4      '       d5   V P                  4       pVP	                  V4       VP                  W14       R# V P                  4       ;_uu_ 4       pVP	                  V4       VP                  W14       RRR4       V P                  4        R#   + '       g   i     L"; i)a”  CREATE TABLE types (
                    "TextCol" TEXT,
                    "DateCol" TEXT,
                    "IntDateCol" INTEGER,
                    "IntDateOnlyCol" INTEGER,
                    "FloatCol" REAL,
                    "IntCol" INTEGER,
                    "BoolCol" INTEGER,
                    "IntColWithNull" INTEGER,
                    "BoolColWithNull" INTEGER
                )ze
                INSERT INTO types
                VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)
                N)ry   rz   r{   rL   rM   rS   rU   )rV   r•   rW   Úins_stmtrX   s   &&   r-   Úcreate_and_load_types_sqlite3r™   ÿ   s…   € ð
€Dð€Hô
 �$œ×*Ñ*×+Ò+Ø�k‰k‹mˆØ�‰�DÔØ�‰˜Ö-à�[‰[�]Œ]˜cØ�K‰K˜ÔØ�O‰O˜HÔ1÷ ð 	�‰Ž÷	 �]ús   Á1#B.Â.B>	c               ó   € V ^8„  d   QhRR/# r”   r+   )rE   s   "r-   rF   rF     s   € ÷ ñ °zñ r,   c                óÚ   € V P                  4       ;_uu_ 4       pR pVP                  V4       RpVP                  W14       RRR4       V P                  4        R#   + '       g   i     L"; i)aÍ  CREATE TABLE types (
                        "TextCol" TEXT,
                        "DateCol" TIMESTAMP,
                        "IntDateCol" INTEGER,
                        "IntDateOnlyCol" INTEGER,
                        "FloatCol" DOUBLE PRECISION,
                        "IntCol" INTEGER,
                        "BoolCol" BOOLEAN,
                        "IntColWithNull" INTEGER,
                        "BoolColWithNull" BOOLEAN
                    )zy
                INSERT INTO types
                VALUES($1, $2::timestamp, $3, $4, $5, $6, $7, $8, $9)
                N)rL   rM   rS   rU   )rV   r•   rX   rW   s   &&  r-   Ú create_and_load_types_postgresqlrœ     sQ   € Ø	�‰�Œ˜#ð
ˆð 	�‰�DÔðˆð
 	�‰˜Ô)÷' 
ð* 	‡K�K†M÷+ 
�ús   ™'AÁA*	c               ó    € V ^8„  d   QhRRRR/# )rC   r•   r–   r   r€   r+   )rE   s   "r-   rF   rF   6  s   € ÷ ñ ¨Jð Àñ r,   c           	     óœ  € ^ RI Hp ^ RIHp \	        V4      pV! V4      P                  V4      p\        W4      '       d{   V P                  4       ;_uu_ 4       p V P                  4       ;_uu_ 4        VP                  V RR7       VP                  V R7       V P                  V4       RRR4       RRR4       R# V P                  4       ;_uu_ 4        VP                  V RR7       VP                  V R7       V P                  V4       RRR4       R#   + '       g   i     Ls; i  + '       g   i     R# ; i  + '       g   i     R# ; i)r   rb   ©ÚEngineTrd   rf   N)r<   rc   Úsqlalchemy.enginer    r’   rj   ry   Úconnectrk   rl   rm   rM   )rV   r•   r   rc   r    r†   rW   s   &&&    r-   Úcreate_and_load_typesr£   6  sÙ   € Ý!Ý(ä  Ó)€Eá�%‹=×Ñ 
Ó+€DÜ�$×ÒØ�\‰\�^Œ^˜tØ—‘—•Ø—
‘
˜4¨D�
Ô1Ø—‘ $�Ô'Ø—‘˜TÔ"÷ ÷ ‰^ð �Z‰Z�\�\Ø�J‰J�t¨ˆJÔ-Ø�L‰L˜dˆLÔ#Ø�L‰L˜Ô÷ ‰\÷ —ú÷ �^ˆ^ú÷ �\ˆ\ús0   ÁD&Á17D	Â(D&Ã7D:ÄD#ÄD&Ä&D7	Ä:E	c                óD  € ^ RI HpHpHpHpHp ^ RIHp V! 4       pV! RWq! RV! RR7      4      4      pRR/RR/.p	V! V4      P                  V	4      p
\        W4      '       dz   V P                  4       ;_uu_ 4       p V P                  4       ;_uu_ 4        VP                  V RR	7       VP                  V R
7       V P                  V
4       RRR4       RRR4       MWV P                  4       ;_uu_ 4        VP                  V RR	7       VP                  V R
7       V P                  V
4       RRR4       \        RRR7      \        RRR7      .p\!        VRR7      P#                  R4      #   + '       g   i     L¦; i  + '       g   i     LY; i  + '       g   i     Ll; i)r   )r0   r„   r3   r5   rc   rŸ   ÚdatetzÚDateColWithTzT)Útimezonez2000-01-01 00:00:00-08:00z2000-06-01 00:00:00-07:00rd   rf   Nz2000-01-01 08:00:00ÚUTC©Útzz2000-06-01 07:00:00©ÚnameúM8[us, UTC])r<   r0   r„   r3   r5   rc   r¡   r    rj   ry   r¢   rk   rl   rm   rM   r   r   Úastype)rV   r0   r„   r3   r5   rc   r    r?   r¥   Údatetz_datarW   Úexpected_datas   &           r-   Úcreate_and_load_postgres_datetzr±   J  sP  € ÷õ õ )á‹z€HÙ�8˜X v¨o¹xÐQUÔ?VÓ'WÓX€Fð Ð8ð	
ð Ð8ð	
ð	€Kñ �&‹>× Ñ  Ó-€DÜ�$×ÒØ�\‰\�^Œ^˜tØ—‘—•Ø—‘˜D¨T�Ô2Ø—‘ 4�Ô(Ø—‘˜TÔ"÷ ÷ ˆ^ð �Z‰Z�\�\Ø�K‰K˜¨ˆKÔ.Ø�M‰M˜tˆMÔ$Ø�L‰L˜Ô÷ ô 	Ð'¨EÔ2ÜÐ'¨EÔ2ð€Mô �- oÔ6×=Ñ=¸mÓLÐL÷' —ú÷ �^ú÷ �\ús0   Á;E<Â7E)	ÃE<Ã47FÅ)E9Å4E<Å<F	ÆF	c               ó   € V ^8„  d   QhRR/# )rC   Úframer   r+   )rE   s   "r-   rF   rF   w  s   € ÷ -ñ -˜Iñ -r,   c           	     óB  € V P                   P                  ^ ,          P                  pV P                  ^ ,          p\        V\        P
                  4      '       g   Q h\        P                  ! V\        . ROV P                  ^ R7      4       V P                  R9   g   Q hR# )r   )Úindexr¬   N©çffffff@g      @gffffffö?çš™™™™™É?úIris-setosa))é–   é   )é   r»   )ÚdtypesÚilocÚtypeÚ
issubclassÚnpÚfloatingÚtmÚassert_series_equalr   ÚcolumnsÚshape)r³   Úpytyper[   s   &  r-   Úcheck_iris_framerÈ   w  sw   € Ø�\‰\×Ñ˜qÕ!×&Ñ&€FØ
�*‰*�Q�-€CÜ�fœbŸk™k×*Ò*Ð*Ð*Ü×ÒØŒVÒ7¸u¿}¹}ÐSTÔUôð �;‰;Ð,Ô,Ð,Ò,r,   c               ó   € V ^8„  d   QhRR/# )rC   Ú
table_namer€   r+   )rE   s   "r-   rF   rF   �  s   € ÷ ;ñ ; ñ ;r,   c                óR  € R V 2p\        RRR7      p\        V \        P                  4      '       d7   V P	                  4       pVP                  V4      P                  4       ^ ,          # V'       dg   \        WP                  4      '       dL   V P	                  4       ;_uu_ 4       pVP                  V4       VP                  4       ^ ,          uuRRR4       # ^ RIHp ^ RI	H
p \        V \        4      '       d\    V! V 4      pVP                  4       ;_uu_ 4       p V P                  V4      P                  4       uuRRR4       VP                  4        # \        W4      '       dC   V P                  4       ;_uu_ 4       p V P                  V4      P                  4       uuRRR4       # V P                  V4      P                  4       #   + '       g   i     R# ; i  + '       g   i     M; i TP                  4        R#   XP                  4        i ; i  + '       g   i     R# ; i)z SELECT count(*) AS count_1 FROM rs   rt   ru   N)Úcreate_enginerŸ   )r   ry   rz   r{   rL   rM   Úfetchoner<   rÌ   r¡   r    r€   r¢   Úexec_driver_sqlÚ
scalar_oneÚdispose)rV   rÊ   rW   r|   rX   rÌ   r    Úengines   &&      r-   Ú
count_rowsrÒ   �  sz  € Ø-¨j¨\Ð:€DÜ%Ð&AÈ(ÔS€DÜ�$œ×*Ñ*×+Ò+Ø�k‰k‹mˆØ�{‰{˜4Ó ×)Ñ)Ó+¨AÕ.Ð.ß	”*˜T§?¡?×3Ò3Ø�[‰[�]Œ]˜cØ�K‰K˜ÔØ—<‘<“> !Õ$÷ Š]õ 	-Ý,ä�dœC× Ò ð!Ù& tÓ,�Ø—^‘^×%Ô%¨Ø×/Ñ/°Ó5×@Ñ@ÓB÷ &Ñ%ð —‘Õ Ü˜×%Ò%Ø—‘—” 4Ø×+Ñ+¨DÓ1×<Ñ<Ó>÷  ’ð ×'Ñ'¨Ó-×8Ñ8Ó:Ð:÷% �]ˆ]ú÷ &×%úÐ%ð —‘Ö ø�—‘Õ úç—�ús<   Â$(GÃ: H  ÄGÄ9
H  Å=HÇG	ÇG*	Ç%H  È HÈH&	c                ó.   € V ! R RRR4      p\        V4      # )ÚioÚdatarO   ziris.csvr
   )ÚdatapathÚ	iris_paths   & r-   r×   r×   �  s   € á˜˜v u¨jÓ9€IÜ�	‹?Ðr,   c                 ó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‡   Úfirstrˆ   ú2000-01-03 00:00:00r‰   i wðrŠ   i’·2r‹   g333333$@rŒ   r�   FrŽ   r�   ú2000-01-04 00:00:00i 'âPi\¸2Nr+   r+   r,   r-   r•   r•   £  sv   € ð �wØÐ,Ø˜)Ø˜hØ˜Ø�aØ�uØ˜aØ˜uð
	
ð �wØÐ,Ø˜*Ø˜hØ˜Ø�aØ�uØ˜dØ˜tð
	
ðð r,   c                óŠ   € R RRRRRRRRRRRR	RR
RRR/	p\        V 4      pW!P                  4       ,          P                  V4      # )r‡   r€   rˆ   r‰   Úint64rŠ   r‹   rR   rŒ   r�   rŽ   r�   )r   Úkeysr®   )r•   r½   Údfs   &  r-   Útypes_data_framerà   ¿  s^   € ð 	�5Ø�5Ø�gØ˜'Ø�GØ�'Ø�7Ø˜'Ø˜7ð
€Fô 
�:Ó	€BØ�k‰k‹mÕ×#Ñ# FÓ+Ð+r,   c                 ó*   € . ROp . ROp\        WR7      # )rµ   ©rÅ   )rµ   ÚAÚBÚCÚD))rÚ   gNÿ\^ï?g9\›x`|@g%Ú TO×¿gá(nIŽò¿)rÛ   gî}ÒCÄð?çc×^ÜV¥¿g~q"B¶Ä¿gˆ”æÐ4Ë?)ú2000-01-05 00:00:00gGà Í¿èß?ç2rÂ¹eç?gˆŽ>Ý¦4á¿gÑ‘öÙRŠõ?)ú2000-01-06 00:00:00gÔ?{mXìñ?ç$ôó­ùù?gnk3¥AÓm?gØ
S«›å?©r   ©rÅ   rÕ   s     r-   Útest_frame1rî   Ð  s   € â+€Gò€Dô< �TÔ+Ð+r,   c                 ó*   € . ROp . ROp\        WR7      # )rµ   râ   )rµ   rã   rä   ))rÚ   iÿÿÿgZØÓÍÿ¿)rÛ   iãÿÿÿrç   )rè   i N  ré   )rê   iÍ�ûÿrë   rì   rí   s     r-   Útest_frame3rð   ô  s   € â!€Gò€Dô �TÔ+Ð+r,   c                ó|  € \        V \        P                  4      '       d8   V P                  R 4      pVP	                  4        Uu. uF  q"^ ,          NK  	  up# \        RRR7      pV'       d±   \        WP                  4      '       d–   . pV P                  4       P                  4       P                  4       pV F_  pVR,           VR,           FF  pVR,           VR,           F-  pVR,          R	8X  g   K  VR
,          p	VP                  V	4       K/  	  KH  	  Ka  	  V# ^ RI
Hp
 V
! V 4      P                  4       # u upi )z0SELECT name FROM sqlite_master WHERE type='view'rs   rt   ru   Úcatalog_nameÚcatalog_db_schemasÚdb_schema_nameÚdb_schema_tablesÚ
table_typeÚviewrÊ   ©Úinspect)ry   rz   r{   rM   Úfetchallr   Úadbc_get_objectsÚread_allÚ	to_pylistÚappendr<   rù   Úget_view_names)rV   Úcr÷   r|   ÚresultsÚinfoÚcatalogÚschemaÚtableÚ	view_namerù   s   &          r-   Úget_all_viewsr     s  € Ü�$œ×*Ñ*×+Ò+Ø�L‰LÐKÓLˆØ$%§J¡J¤LÓ1¡L˜D�Q—�¡LÑ1Ð1ä)Ð*EÈhÔWˆß”J˜t§_¡_×5Ò5ØˆGØ×(Ñ(Ó*×3Ñ3Ó5×?Ñ?ÓAˆDÛ�Ø˜Ö'Ø%Ð&:×;Ð;�FØÐ+Ö,Ø!'Ð(:×!;Ð!;˜Ø  Õ.°&Ö8Ø(-¨lÕ(;˜IØ#ŸN™N¨9Ö5ó "<ó <ñ  ð ˆNå*á˜4“=×/Ñ/Ó1Ð1ùò' 2s   ÁD9c                óX  € \        V \        P                  4      '       d8   V P                  R 4      pVP	                  4        Uu. uF  q"^ ,          NK  	  up# \        RRR7      pV'       dŸ   \        WP                  4      '       d„   . pV P                  4       P                  4       P                  4       pV FM  pVR,           F=  pVR,           F-  pVR,          R8X  g   K  VR,          pVP                  V4       K/  	  K?  	  KO  	  V# ^ R	I
Hp	 V	! V 4      P                  4       # u upi )
z1SELECT name FROM sqlite_master WHERE type='table'rs   rt   ru   ró   rõ   rö   r  rÊ   rø   )ry   rz   r{   rM   rú   r   rû   rü   rý   rþ   r<   rù   Úget_table_names)
rV   r   r  r|   r  r  r  r  rÊ   rù   s
   &         r-   Úget_all_tablesr
    sû   € Ü�$œ×*Ñ*×+Ò+Ø�L‰LÐLÓMˆØ&'§j¡j¤lÓ3¡l˜U�a—�¡lÑ3Ð3ä)Ð*EÈhÔWˆç”J˜t§_¡_×5Ò5ØˆGØ×(Ñ(Ó*×3Ñ3Ó5×?Ñ?ÓAˆDÛ�Ø%Ð&:×;Ð;�FØ!'Ð(:×!;Ð!;˜Ø  Õ.°'Ö9Ø).¨|Õ)<˜JØ#ŸN™N¨:Ö6ó "<ó <ñ  ð ˆNå*á˜4“=×0Ñ0Ó2Ð2ùò% 4s   ÁD'c               ó    € V ^8„  d   QhRRRR/# )rC   rÊ   r€   rV   úLsqlite3.Connection | sqlalchemy.engine.Engine | sqlalchemy.engine.Connectionr+   )rE   s   "r-   rF   rF   1  s   € ÷ .ñ .Øð.à
Vñ.r,   c           	     ó²  € \        V\        P                  4      '       d;   VP                  R \        P
                  ! V 4       24       VP                  4        R# \        RRR7      pV'       dT   \        WP                  4      '       d9   VP                  4       ;_uu_ 4       pVP                  RV  R24       RRR4       R# VP                  4       ;_uu_ 4       p\        P                  ! V4      ;_uu_ 4       pVP                  V 4       RRR4       RRR4       R#   + '       g   i     R# ; i  + '       g   i     L.; i  + '       g   i     R# ; i)zDROP TABLE IF EXISTS rs   rt   ru   zDROP TABLE IF EXISTS "Ú"N)ry   rz   r{   rM   r   Ú_get_valid_sqlite_namerU   r   rL   rk   r   Ú
drop_table)rÊ   rV   r|   rX   rp   Údbs   &&    r-   r  r  1  sß   € ô �$œ×*Ñ*×+Ò+Ø�‰Ð,¬S×-GÒ-GÈ
Ó-SÐ,TÐUÔVØ�‰Žô *Ð*EÈhÔWˆß”J˜t§_¡_×5Ò5Ø—‘—” #Ø—‘Ð4°Z°LÀÐBÔC÷ ‘ð —‘—” Ü—_’_ S×)Ô)¨RØ—M‘M *Ô-÷ *÷ ‘÷ —�ú÷ *×)ú÷ —�ús0   Â#DÃEÃ:D2	ÄEÄD/	Ä2EÄ=EÅE	c               ó    € V ^8„  d   QhRRRR/# )rC   r  r€   rV   r  r+   )rE   s   "r-   rF   rF   D  s   € ÷ "ñ "Øð"à
Vñ"r,   c                óÎ  € ^ RI p\        V\        P                  4      '       d;   VP	                  R\
        P                  ! V 4       24       VP                  4        R# \        RRR7      pV'       dT   \        WP                  4      '       d9   VP                  4       ;_uu_ 4       pVP	                  RV  R24       RRR4       R# VP                  P                  P                  P                  V 4      pVP                  ! RV 24      pVP                  4       ;_uu_ 4       pVP	                  V4       RRR4       R#   + '       g   i     R# ; i  + '       g   i     R# ; i)r   NzDROP VIEW IF EXISTS rs   rt   ru   zDROP VIEW IF EXISTS "r  )r<   ry   rz   r{   rM   r   r  rU   r   rL   rÑ   r   Úidentifier_preparerÚquote_identifierrx   rk   )r  rV   r<   r|   rX   Úquoted_viewrW   rp   s   &&      r-   Ú	drop_viewr  D  sü   € ó ä�$œ×*Ñ*×+Ò+Ø�‰Ð+¬C×,FÒ,FÀyÓ,QÐ+RÐSÔTØ�‰Žä)Ð*EÈhÔWˆß”J˜t§_¡_×5Ò5Ø—‘—” #Ø—‘Ð3°I°;¸aÐ@ÔA÷ ‘ð Ÿ+™+×-Ñ-×AÑA×RÑRØóˆKð —?’?Ð%9¸+¸Ð#GÓHˆDØ—‘—” Ø—‘˜DÔ!÷ ‘÷ —�ú÷ —�ús   Â'D?Ä#EÄ?E	ÅE$	c               #  ó”  "  € \         P                  ! R 4      p \         P                  ! R4      pV P                  ! RRVP                  P                  P
                  /V P                  P                  R7      pVx € \        V4       F  p\        W24       K  	  \        V4       F  p\        WB4       K  	  VP                  4        R# 5i)r<   Úpymysqlz*mysql+pymysql://root@localhost:3306/pandasÚclient_flag)Úconnect_argsÚ	poolclassN)ÚpytestÚimportorskiprÌ   Ú	constantsÚCLIENTÚMULTI_STATEMENTSÚpoolÚNullPoolr  r  r
  r  rÐ   )r<   r  rÑ   r÷   Útbls        r-   Úmysql_pymysql_enginer%  [  sž   é € ä×$Ò$ \Ó2€JÜ×!Ò! )Ó,€GØ×%Ò%Ø4Ø# W×%6Ñ%6×%=Ñ%=×%NÑ%NÐOØ—/‘/×*Ñ*ô€Fð
 ‚LÜ˜fÖ%ˆÜ�$Öñ &ä˜fÖ%ˆÜ�3Öñ &à
‡N�NÖùs   ‚CCc                ó2   € \        W4       \        V 4       V # ©N©rq   r}   )r%  r×   s   &&r-   Úmysql_pymysql_engine_irisr)  l  s   € äÐ-Ô9ÜÐ2Ô3ØÐr,   c                ó   € \        WR 4       V # )r'   ©r£   )r%  r•   s   &&r-   Úmysql_pymysql_engine_typesr,  s  s   € äÐ.¸GÔDØÐr,   c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  ©r¢   )r%  rV   s   & r-   Úmysql_pymysql_connr/  y  s)   é € à	×	%Ñ	%×	'Ô	'¨4ØŠ
÷ 
(×	'×	'Ò	'üó   ‚>›* 
>ª;	µ	>c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )r)  rV   s   & r-   Úmysql_pymysql_conn_irisr2    s)   é € à	"×	*Ñ	*×	,Ô	,°ØŠ
÷ 
-×	,×	,Ò	,ür0  c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )r,  rV   s   & r-   Úmysql_pymysql_conn_typesr4  …  ó)   é € à	#×	+Ñ	+×	-Ô	-°ØŠ
÷ 
.×	-×	-Ò	-ür0  c               #  óR  "  € \         P                  ! R 4      p \         P                  ! R4       V P                  ! RV P                  P                  R7      pVx € \        V4       F  p\        W!4       K  	  \        V4       F  p\        W14       K  	  VP                  4        R# 5i)r<   Úpsycopg2z=postgresql+psycopg2://postgres:postgres@localhost:5432/pandas©r  N©
r  r  rÌ   r"  r#  r  r  r
  r  rÐ   )r<   rÑ   r÷   r$  s       r-   Úpostgresql_psycopg2_enginer:  ‹  s‚   é € ä×$Ò$ \Ó2€JÜ
×Ò˜
Ô#Ø×%Ò%ØGØ—/‘/×*Ñ*ô€Fð ‚LÜ˜fÖ%ˆÜ�$Öñ &ä˜fÖ%ˆÜ�3Öñ &à
‡N�NÖùs   ‚B%B'c                ó2   € \        W4       \        V 4       V # r'  r(  )r:  r×   s   &&r-   Úpostgresql_psycopg2_engine_irisr<  ›  s   € äÐ3Ô?ÜÐ8Ô9Ø%Ð%r,   c                ó   € \        WR 4       V # )Úpostgresr+  )r:  r•   s   &&r-   Ú postgresql_psycopg2_engine_typesr?  ¢  s   € äÐ4À*ÔMØ%Ð%r,   c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )r:  rV   s   & r-   Úpostgresql_psycopg2_connrA  ¨  r5  r0  c               #  ó~  "  € \         P                  ! R 4       \         P                  ! R4       ^ RIHp  RpV P	                  V4      ;_uu_ 4       pVx € \        V4       F  p\        W24       K  	  \        V4       F  p\        WB4       K  	  VP                  4        RRR4       R#   + '       g   i     R# ; i5i)ÚpyarrowÚadbc_driver_postgresql©Údbapiz4postgresql://postgres:postgres@localhost:5432/pandasN)
r  r  rD  rF  r¢   r  r  r
  r  rU   )rF  ÚurirV   r÷   r$  s        r-   Úpostgresql_adbc_connrH  ®  s…   é € ä
×Ò˜	Ô"Ü
×ÒÐ0Ô1Ý,à
@€CØ	�‰�s×	Ô	˜tØŠ
Ü! $Ö'ˆDÜ�dÖ!ñ (ä! $Ö'ˆCÜ�sÖ!ñ (à�‰Œ÷ 
×	×	Ò	üs   ‚AB=ÁAB)Â
B=Â)B:	Â4	B=c                ó$  € ^ RI pT p VP                  R4        VP                  R4       V#   TP                   d    TP                  4        \	        Y14        LBi ; i  TP                   d     TP                  4        \        T4        T# i ; i©r   Nr6   Ú	iris_view)Úadbc_driver_managerÚadbc_get_table_schemaÚProgrammingErrorÚrollbackr_   r}   )rH  r×   ÚmgrrV   s   &&  r-   Úpostgresql_adbc_irisrQ  ¾  s‹   € ã%à€Dð9Ø×"Ñ" 6Ô*ð(Ø×"Ñ" ;Ô/ð €Køð ×Ñô 9Ø�‰ŒÜ'¨Ö8ð9ûð
 ×Ñô (Ø�‰ŒÜ! $Õ'Ø€Kð(úó    ˆ- šA ­,AÁAÁ,BÂBc                óø   € ^ RI pT p VP                  R4       V#   TP                   dN    TP                  4        T Uu. uF  p\	        TP                  4       4      NK  	  Mu upi pp\        Y54        T# i ; i)r   Nr†   )rL  rM  rN  rO  Útuplerj   rœ   )rH  r•   rP  rV   ÚentryÚnew_datas   &&    r-   Úpostgresql_adbc_typesrW  Ñ  ss   € ã%à€Dð9Ø×"Ñ" 7Ô+ð €Køð ×Ñô 9Ø�‰ŒÙ7AÓB±z¨e”E˜%Ÿ,™,›.Ö)²zùÒBˆÐBä(¨Õ8à€Kð9ús   ˆ ›%A9Á "A#Á"A9Á8A9c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )r<  rV   s   & r-   Úpostgresql_psycopg2_conn_irisrY  â  s)   é € à	(×	0Ñ	0×	2Ô	2°dØŠ
÷ 
3×	2×	2Ò	2ür0  c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )r?  rV   s   & r-   Úpostgresql_psycopg2_conn_typesr[  è  s)   é € à	)×	1Ñ	1×	3Ô	3°tØŠ
÷ 
4×	3×	3Ò	3ür0  c                ó8   € \         P                  ! R 4       RV  2# )r<   ú
sqlite:///)r  r  )Ú	temp_files   &r-   Ú
sqlite_strr_  î  s   € ä
×Ò˜Ô%Ø˜	�{Ð#Ð#r,   c              #  ó$  "  € \         P                  ! R 4      pVP                  ! WP                  P                  R7      pVx € \        V4       F  p\        W24       K  	  \        V4       F  p\        WB4       K  	  VP                  4        R# 5i)r<   r8  Nr9  )r_  r<   rÑ   r÷   r$  s   &    r-   Úsqlite_enginera  ô  sl   é € ä×$Ò$ \Ó2€JØ×%Ò% j¿O¹O×<TÑ<TÔU€FØ
‚LÜ˜fÖ%ˆÜ�$Öñ &ä˜fÖ%ˆÜ�3Öñ &à
‡N�NÖùs   ‚BBc              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )ra  rV   s   & r-   Úsqlite_connrc     s)   é € à	×	Ñ	×	 Ô	  DØŠ
÷ 
!×	 ×	 Ò	 ür0  c                ó¢   € \         P                  ! R 4      pVP                  ! V 4      p\        W14       \	        V4       VP                  4        V # )r<   )r  r  rÌ   rq   r}   rÐ   )r_  r×   r<   rÑ   s   &&  r-   Úsqlite_str_irisre    sB   € ä×$Ò$ \Ó2€JØ×%Ò% jÓ1€FÜ˜Ô+Ü˜fÔ%Ø
‡N�NÔØÐr,   c                ó2   € \        W4       \        V 4       V # r'  r(  )ra  r×   s   &&r-   Úsqlite_engine_irisrg    s   € ä˜Ô2Ü˜mÔ,ØÐr,   c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )rg  rV   s   & r-   Úsqlite_conn_irisri    s)   é € à	×	#Ñ	#×	%Ô	%¨ØŠ
÷ 
&×	%×	%Ò	%ür0  c                óŽ   € \         P                  ! R 4      pVP                  ! V 4      p\        W1R4       VP	                  4        V # )r<   r&   )r  r  rÌ   r£   rÐ   )r_  r•   r<   rÑ   s   &&  r-   Úsqlite_str_typesrk    s<   € ä×$Ò$ \Ó2€JØ×%Ò% jÓ1€FÜ˜&¨hÔ7Ø
‡N�NÔØÐr,   c                ó   € \        WR 4       V # )r&   r+  )ra  r•   s   &&r-   Úsqlite_engine_typesrm  &  s   € ä˜-°XÔ>ØÐr,   c              #  ó€   "  € V P                  4       ;_uu_ 4       pVx € R R R 4       R #   + '       g   i     R # ; i5ir'  r.  )rm  rV   s   & r-   Úsqlite_conn_typesro  ,  s)   é € à	×	$Ñ	$×	&Ô	&¨$ØŠ
÷ 
'×	&×	&Ò	&ür0  c              #  ó„  "  € \         P                  ! R 4       \         P                  ! R4       ^ RIHp RV  2pVP	                  V4      ;_uu_ 4       pVx € \        V4       F  p\        WC4       K  	  \        V4       F  p\        WS4       K  	  VP                  4        RRR4       R#   + '       g   i     R# ; i5i)rC  Úadbc_driver_sqliterE  zfile:N)
r  r  rq  rF  r¢   r  r  r
  r  rU   )r^  rF  rG  rV   r÷   r$  s   &     r-   Úsqlite_adbc_connrr  2  sŒ   é € ä
×Ò˜	Ô"Ü
×ÒÐ,Ô-Ý(à�)�Ð
€CØ	�‰�s×	Ô	˜tØŠ
Ü! $Ö'ˆDÜ�dÖ!ñ (ä! $Ö'ˆCÜ�sÖ!ñ (à�‰Œ÷ 
×	×	Ò	üs   ‚AC ÁAB,Â"
C Â,B=	Â7	C c                ó$  € ^ RI pT p VP                  R4        VP                  R4       V#   TP                   d    TP                  4        \	        Y14        LBi ; i  TP                   d     TP                  4        \        T4        T# i ; irJ  )rL  rM  rN  rO  r\   r}   )rr  r×   rP  rV   s   &&  r-   Úsqlite_adbc_irisrt  B  s‹   € ã%à€Dð6Ø×"Ñ" 6Ô*ð(Ø×"Ñ" ;Ô/ð €Køð ×Ñô 6Ø�‰ŒÜ$ TÖ5ð6ûð
 ×Ñô (Ø�‰ŒÜ! $Õ'Ø€Kð(úrR  c                óŒ  € ^ RI pT p VP                  R4       V#   TP                   d˜    TP                  4        . pT F`  p\	        TR,          4      TR&   TR,          e   \	        TR,          4      TR&   TP                  \        TP                  4       4      4       Kb  	  \        Y44       TP                  4         T# i ; i)r   Nr†   r�   r�   )
rL  rM  rN  rO  Úintrþ   rT  rj   r™   rU   )rr  r•   rP  rV   rV  rU  s   &&    r-   Úsqlite_adbc_typesrw  T  s¸   € ã%à€DðØ×"Ñ" 7Ô+ð €Køð ×Ñô 
Ø�‰ŒØˆÛˆEÜ" 5¨Õ#3Ó4ˆE�)ÑØÐ&Õ'Ò3Ü+.¨uÐ5FÕ/GÓ+H�Ð'Ñ(Ø�O‰OœE %§,¡,£.Ó1Ö2ñ	  ô 	& dÔ5Ø�‰�à€Kð
ús   ˆ ›B$CÃCc            	   #  ó   "  € \         P                  ! \        P                  ! R 4      4      ;_uu_ 4       p V ;_uu_ 4       pVx € RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)ú:memory:N)Ú
contextlibÚclosingrz   r¢   ©Úclosing_connrV   s     r-   Úsqlite_buildinr~  j  sK   é € ä	×	Ò	œGŸOšO¨JÓ7×	8Ô	8¸Lß‰\˜TØŠJ÷ ÷ 
9Ñ	8ß�\ú÷ 
9×	8Ð	8üs4   ‚3A>µA*Á A	ÁA*Á
A>ÁA'Á"A*Á*A;	Á5	A>c                ó2   € \        W4       \        V 4       V # r'  )r\   r}   )r~  r×   s   &&r-   Úsqlite_buildin_irisr€  q  s   € ä  Ô;Ü˜nÔ-ØÐr,   c                óv   € V Uu. uF  p\        VP                  4       4      NK  	  pp\        W4       V # u upi r'  )rT  rj   r™   )r~  r•   rU  s   && r-   Úsqlite_buildin_typesr‚  x  s5   € á5?Ó@±Z¨E”%˜Ÿ™›Ö'±Z€JÐ@Ü! .Ô=ØÐùò As   …"6r%  )Úmarksr/  r)  r2  r,  r4  r:  rA  r<  rY  r?  r[  rr  rH  rQ  rt  rW  rw  r~  r€  r‚  rV   c                óR   € VP                  V 4      p VP                  R V RRR7       R# )Útestrþ   F©r¬   rp   Ú	if_existsrµ   N)ÚgetfixturevalueÚto_sql)rV   rî   Úrequests   &&&r-   Útest_dataframe_to_sqlr‹  Ø  s+   € ð ×"Ñ" 4Ó(€DØ×Ñ˜F¨¸ÈÐÖNr,   c                óŠ  € V R 8X  dƒ   \        4       '       gs   \        P                  ! R4      p\        VP                  4      \        R4      8  d:   VP
                  P                  \        P                  P                  RR7      4       VP                  V 4      p VP                  R,          pVP                  RV RRR	7       R
# )rH  rD  z1.11z>postgres ADBC driver < 1.11 cannot insert index with null type©ÚreasonºNr   Nr…  rþ   Fr†  N)r   r  r  r   r=   ÚnodeÚ
add_markerÚmarkÚxfailrˆ  r¾   r‰  )rV   rî   rŠ  Úadbc_pgÚempty_dfs   &&&  r-   Útest_dataframe_to_sql_emptyr–  ß  sž   € àÐ%Ô%Ô.@×.BÒ.BÜ×%Ò%Ð&>Ó?ˆÜ�7×&Ñ&Ó'¬'°&«/Ô9Ø�L‰L×#Ñ#Ü—‘×!Ñ!àXð "ó ôð ×"Ñ" 4Ó(€DØ×Ñ Õ#€HØ‡O�O˜ T°XÀU€OÖKr,   c                óÌ  € \         P                  ! R 4       \        R\        P                  ! ^.RR7      R\        P                  ! \        R^^4      .RR7      R\        P                  ! \        R^^4      .RR7      R	\        P                  ! \        ^4      .R
R7      R\        P                  ! R.RR7      /4      pRV 9   d5   V R8X  d   VP                  R	.R7      p\        '       d
   \        pRpMRpRpM\        pRpVP                  V 4      p \        P                  ! W4RR7      ;_uu_ 4        VP                  RV RRR7       RRR4       R#   + '       g   i     R# ; i)rC  rv  zint8[pyarrow]©r>   r   éç  útimestamp[ns][pyarrow]r   zdate32[day][pyarrow]r   zduration[ns][pyarrow]ÚstringÚazstring[pyarrow]r|   rr  râ   zis_sparse is deprecatedNÚ zthe 'timedelta'F)ÚmatchÚcheck_stacklevelÚ
test_arrowÚreplacer†  )r  r  r   ÚpdÚarrayr   r   r   rl   r   ÚDeprecationWarningÚUserWarningrˆ  rÃ   Úassert_produces_warningr‰  )rV   rŠ  rß   Úexp_warningÚmsgs   &&   r-   Ú"test_dataframe_to_sql_arrow_dtypesr©  ò  s+  € ô ×Ò˜	Ô"Ü	à”2—8’8˜Q˜C Ô7ØœŸšÜ˜$  1Ó%Ð&Ð.Fôð ”B—H’Hœd 4¨¨AÓ.Ð/Ð7MÔNØœŸš¤9¨Q£< .Ð8OÔPØ”b—h’h ˜uÐ,=Ô>ð	
ó

€Bð �„~ØÐ%Ô%Ø—‘ + �Ó/ˆBßÓÜ,ˆKØ+‰CàˆKØ‰Cä!ˆØˆà×"Ñ" 4Ó(€DÜ	×	#Ò	# KÈU×	SÖ	SØ
�	‰	�|¨¸È%ˆ	ÔP÷ 
T×	S×	SÒ	Sús   Ä2EÅE#	c           
     ó8  € \         P                  ! R 4       \        V\        4      '       d   \         P                  ! RR7       \        R\        P                  ! \        R^^4      V.RR7      /4      pVP                  V 4      p VP                  RV RR	R
7       R# )rC  z?Decimal('NaN') not supported in constructor for timestamp dtyper�  r   r™  rš  r˜  r   r¡  Fr†  N)r  r  ry   r   Úskipr   r¢  r£  r   rˆ  r‰  )rV   rŠ  Únulls_fixturerß   s   &&& r-   Ú*test_dataframe_to_sql_arrow_dtypes_missingr­    s‡   € ô ×Ò˜	Ô"Ü�-¤×)Ò)Ü�ŠàTõ	
ô
 
àœŸšÜ˜$  1Ó% }Ð5Ð=Uôð	
ó
€Bð ×"Ñ" 4Ó(€DØ‡I�I�< T°YÀe€IÖLr,   ÚmethodÚmultic                ó®  € VR 8X  dB   RV 9   d;   VP                   P                  \        P                  P	                  RRR7      4       VP                  V 4      p \        V RR7      ;_uu_ 4       pVP                  VRVR7       VP                  R4      '       g   Q h RRR4       \        V R4      \        V4      8X  g   Q hR#   + '       g   i     L.; i)	r¯  r|   z)'method' not implemented for ADBC driversT©rŽ  Ústrict©Úneed_transactionÚ
test_frame©r®  N)r�  r‘  r  r’  r“  rˆ  r!   r‰  Ú	has_tablerÒ   Úlen)rV   r®  rî   rŠ  Ú	pandasSQLs   &&&& r-   Útest_to_sqlrº  )  s·   € ð �Ô˜V tœ^Ø�‰×ÑÜ�K‰K×ÑØBÈ4ð ó ô	
ð ×"Ñ" 4Ó(€DÜ	˜4°$×	7Õ	7¸9Ø×Ñ˜ l¸6ÐÔBØ×"Ñ" <×0Ò0Ð0Ñ0÷ 
8ô �d˜LÓ)¬S°Ó-=Ô=Ð=Ò=÷ 
8×	7ús   Á/.CÃC	zmode, num_row_coefc                óT  € VP                  V 4      p \        V R R7      ;_uu_ 4       pVP                  VRRR7       VP                  VRVR7       VP                  R4      '       g   Q h RRR4       \	        V R4      V\        V4      ,          8X  g   Q hR#   + '       g   i     L5; i)Tr³  rµ  Úfail©r‡  N©rˆ  r!   r‰  r·  rÒ   r¸  )rV   ÚmodeÚnum_row_coefrî   rŠ  r¹  s   &&&&& r-   Útest_to_sql_existrÁ  :  s“   € ð
 ×"Ñ" 4Ó(€DÜ	˜4°$×	7Õ	7¸9Ø×Ñ˜ l¸fÐÔEØ×Ñ˜ l¸dÐÔCØ×"Ñ" <×0Ò0Ð0Ñ0÷ 
8ô �d˜LÓ)¨\¼CÀÓ<LÕ-LÔLÐLÒL÷	 
8×	7ús   §ABÂB'	c           
     ó’  € VP                  V 4      p \        V R R7      ;_uu_ 4       pVP                  VRRR7       VP                  R4      '       g   Q hRp\        P
                  ! \        VR7      ;_uu_ 4        VP                  VRRR7       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)Tr³  rµ  r¼  r½  z!Table 'test_frame' already exists©rž  N)rˆ  r!   r‰  r·  r  ÚraisesÚ
ValueError)rV   rî   rŠ  r¹  r¨  s   &&&  r-   Útest_to_sql_exist_failrÆ  G  sš   € à×"Ñ" 4Ó(€DÜ	˜4°$×	7Õ	7¸9Ø×Ñ˜ l¸fÐÔEØ×"Ñ" <×0Ò0Ð0Ð0à1ˆÜ�]Š]œ:¨S×1Ö1Ø×Ñ˜[¨,À&ÐÔI÷ 2÷ 
8Ñ	7÷
 2×1ú÷ 
8×	7Ð	7ús$   §AB5Á;B"	ÂB5Â"B2Â-B5Â5C	c                ó  € VP                  V 4      p \        R V 4      p\        V4       \        P                  ! R V 4      p\        V4       \        P                  ! RV 4      pVP
                  R8X  g   Q hRVP                  9   g   Q hR# )úSELECT * FROM irisúSELECT * FROM iris where 0=1r8   N©r   r»   )rˆ  r"   rÈ   r¢  Úread_sqlrÆ   rÅ   ©rV   rŠ  Ú
iris_frames   && r-   Útest_read_iris_queryrÎ  S  sy   € à×"Ñ" 4Ó(€DÜÐ 4°dÓ;€JÜ�ZÔ Ü—’Ð1°4Ó8€JÜ�ZÔ Ü—’Ð;¸TÓB€JØ×Ñ˜vÔ%Ð%Ð%Ø˜:×-Ñ-Ô-Ð-Ò-r,   c                óØ  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       VP                  V 4      p \        \        RV ^R7      4      p\        V4       \        \        P                  ! RV ^R7      4      p\        V4       \        \        P                  ! RV ^R7      4      pVP                  R	8X  g   Q hRVP                  9   g   Q hR# )
r|   ú,'chunksize' not implemented for ADBC driversTr±  rÈ  ©Ú	chunksizerÉ  r8   NrÊ  )r�  r‘  r  r’  r“  rˆ  r   r"   rÈ   r¢  rË  rÆ   rÅ   rÌ  s   && r-   Útest_read_iris_query_chunksizerÓ  _  sÇ   € à�„~Ø�‰×ÑÜ�K‰K×ÑØEØð ó ô	
ð ×"Ñ" 4Ó(€DÜœÐ';¸TÈQÔOÓP€JÜ�ZÔ ÜœŸšÐ$8¸$È!ÔLÓM€JÜ�ZÔ ÜœŸšÐ$BÀDÐTUÔVÓW€JØ×Ñ˜vÔ%Ð%Ð%Ø˜:×-Ñ-Ô-Ð-Ò-r,   c                óº  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       TP                  V 4      p ^ RIHpHpH	pH
p V! 4       p\        V \        4      '       d	   V! V 4      MT pV! RWgR7      p\        V! V4      V RRR	R
/R7      p	\        V	4       \        V \        4      '       d   VP                  4        R# R# )r|   rÐ  Tr±  )r3   r5   rÌ   Úselectr6   )Úautoload_withr¬   r¹   Úlengthr·   ©ro   N)r�  r‘  r  r’  r“  rˆ  r<   r3   r5   rÌ   rÕ  ry   r€   r"   rÈ   rÐ   )
rV   rŠ  r3   r5   rÌ   rÕ  r?   Úautoload_conr6   rÍ  s
   &&        r-   Ú.test_read_iris_query_expression_with_parameterrÚ  r  sÇ   € à�„~Ø�‰×ÑÜ�K‰K×ÑØEØð ó ô	
ð ×"Ñ" 4Ó(€D÷ó ñ ‹z€HÜ*4°T¼3×*?Ò*?‘= Ô&ÀT€LÙ�˜Ô>€DÜÙˆt‹�d F¨M¸8ÀSÐ#Iô€Jô �ZÔ Ü�$œ×ÒØ×ÑÖñ r,   c                óH  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       VR,          P                  4        F  w  r4W09   g   K   M	  \        RV  R24      hVP                  V 4      p \        W@R	R7      p\        V4       R# )
r|   rÐ  Tr±  r%   zNo part of z( found in sql_strings['read_parameters']rØ  N©r¹   r·   )
r�  r‘  r  r’  r“  ÚitemsÚKeyErrorrˆ  r"   rÈ   )rV   rŠ  r.   r  ÚqueryrÍ  s   &&&   r-   Ú*test_read_iris_query_string_with_parameterrà  Ž  s™   € à�„~Ø�‰×ÑÜ�K‰K×ÑØEØð ó ô	
ð !Ð!2Õ3×9Ñ9Ö;‰	ˆØŽ:Ùñ <ô ˜ T FÐ*RÐSÓTÐTØ×"Ñ" 4Ó(€DÜ Ð4HÔI€JÜ�ZÖ r,   c                óš   € VP                  V 4      p \        R V 4      p\        V4       \        P                  ! R V 4      p\        V4       R# )r6   N)rˆ  r#   rÈ   r¢  rË  rÌ  s   && r-   Útest_read_iris_tablerâ  ¢  s@   € ð ×"Ñ" 4Ó(€DÜ ¨Ó-€JÜ�ZÔ Ü—’˜V TÓ*€JÜ�ZÖ r,   c                óF  € R V 9   d:   VP                   P                  \        P                  P	                  RR7      4       VP                  V 4      p \        \        RV ^R7      4      p\        V4       \        \        P                  ! RV ^R7      4      p\        V4       R# )r|   ú+chunksize argument NotImplemented with ADBCr�  r6   rÑ  N)r�  r‘  r  r’  r“  rˆ  r   r#   rÈ   r¢  rË  rÌ  s   && r-   Útest_read_iris_table_chunksizerå  ¬  s}   € à�„~Ø�‰×ÑÜ�K‰K×ÑÐ%RÐÓSô	
ð ×"Ñ" 4Ó(€DÜœ v¨t¸qÔAÓB€JÜ�ZÔ ÜœŸš F¨D¸AÔ>Ó?€JÜ�ZÖ r,   c                óD  a€ VP                  V 4      p . oV3R  lp\        V RR7      ;_uu_ 4       pVP                  VRVR7       VP                  R4      '       g   Q h RRR4       S^.8X  g   Q h\	        V R4      \        V4      8X  g   Q hR#   + '       g   i     L8; i)c           	     óÎ   <€ SP                  ^4       V Uu. uF  p\        \        W$4      4      NK  	  ppVP                  V P                  P                  4       V4       R# u upi )é   N)rþ   rh   ri   rM   r  rc   )Úpd_tablerV   rÞ   Ú	data_iterr[   rÕ   Úchecks   &&&&  €r-   ÚsampleÚ$test_to_sql_callable.<locals>.sample¿  sK   ø€ Ø�‰�QŒÙ09Ó:±	¨””S˜“^Ö$±	ˆÐ:Ø�‰�X—^‘^×*Ñ*Ó,¨dÖ3ùò ;s   —A"Tr³  rµ  r¶  Nr¾  )rV   rî   rŠ  rì  r¹  rë  s   &&&  @r-   Útest_to_sql_callablerî  ¹  s’   ø€ à×"Ñ" 4Ó(€Dà€Eõ4ô
 
˜4°$×	7Õ	7¸9Ø×Ñ˜ l¸6ÐÔBØ×"Ñ" <×0Ò0Ð0Ñ0÷ 
8ð �Q�CŒ<Ðˆ<Ü�d˜LÓ)¬S°Ó-=Ô=Ð=Ò=÷	 
8×	7ús   °.BÂB	c                óT  € T pVR 8X  d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \
        P                  ! RV 4      p\        VP                  P                  P                  \        P                  4      '       g   Q h\        VP                  P                  P                  \        P                  4      '       g   Q hRV9   dB   \        VP                  P                  P                  \        P                   4      '       g   Q hM@\        VP                  P                  P                  \        P                  4      '       g   Q h\        VP"                  P                  P                  \        P                  4      '       g   Q hRV9   d9   \        VP$                  P                  P                  \&        4      '       g   Q hR# \        VP$                  P                  P                  \        P                  4      '       g   Q hR# )r‚  ú;sqlite_buildin connection does not implement read_sql_tabler�  r†   r(   N)Úapplymarkerr  r’  r“  rˆ  r   r#   rÀ   r‹   r>   r¿   rÁ   rÂ   rŒ   Úintegerr�   Úbool_rŽ   r�   Úobject©rV   rŠ  Ú	conn_namerß   s   &&  r-   Útest_default_type_conversionr÷  Ë  sƒ  € à€IØÐ*Ô*Ø×ÑÜ�K‰K×ÑØTð ó ô	
ð ×"Ñ" 4Ó(€DÜ	×	Ò	˜G TÓ	*€Bä�b—k‘k×'Ñ'×,Ñ,¬b¯k©k×:Ò:Ð:Ð:Ü�b—i‘i—o‘o×*Ñ*¬B¯J©J×7Ò7Ð7Ð7ð �yÔ Ü˜"Ÿ*™*×*Ñ*×/Ñ/´·±×:Ò:Ð:Ñ:ä˜"Ÿ*™*×*Ñ*×/Ñ/´·±×<Ò<Ð<Ð<ô �b×'Ñ'×-Ñ-×2Ñ2´B·K±K×@Ò@Ð@Ð@ð �yÔ Ü˜"×,Ñ,×2Ñ2×7Ñ7¼×@Ò@Ð@Ò@ä˜"×,Ñ,×2Ñ2×7Ñ7¼¿¹×EÒEÐEÒEr,   c           	     óö  € VP                  V 4      p ^ RIHp ^ RIHp \        R. ROR. RO/4      pVP                  RV RR7       RpV! V4      p\        W4      '       dU   V P                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  V4       R	R	R	4       R	R	R	4       M2V P                  4       ;_uu_ 4        V P                  V4       R	R	R	4       \        P                  ! R
V 4      p\        P                  ! WG4       \        P                  ! R
V 4      p\        P                  ! WH4       R	#   + '       g   i     L§; i  + '       g   i     L; i  + '       g   i     L’; i)r   rw   rŸ   rœ  Úbrµ  F©r¬   rp   rµ   z}DROP PROCEDURE IF EXISTS get_testdb;

    CREATE PROCEDURE get_testdb ()

    BEGIN
        SELECT * FROM test_frame;
    ENDNzCALL get_testdb();©rè  rC   é   ©çš™™™™™¹?r¸   ç333333Ó?)rˆ  r<   rx   r¡   r    r   r‰  ry   r¢   rk   rM   r   r"   rÃ   Úassert_frame_equalrË  )	rV   rŠ  rx   r    rß   ÚprocÚengine_connÚres1Úres2s	   &&       r-   Útest_read_procedurer  ë  s  € à×"Ñ" 4Ó(€Dõ
  Ý(ä	�Cš CªÐ9Ó	:€BØ‡I�I�< T°€IÔ7ð€Dñ �‹:€DÜ�$×ÒØ�\‰\�^Œ^˜{Ø×"Ñ"×$Õ$Ø×#Ñ# DÔ)÷ %÷ ˆ^ð �Z‰Z�\�\Ø�L‰L˜Ô÷ ô ×ÒÐ2°DÓ9€DÜ×Ò˜"Ô#ô �<Š<Ð,¨dÓ3€DÜ×Ò˜"Ö#÷ %×$ú÷ �^ú÷ �\ús0   Á8EÂE	Â#EÃE(ÅEÅEÅE%	Å(E8	Úexpected_countzSuccess!c           	     ó  a€ V3R  lpVP                  V 4      p \        R^^.RRR.RRR./4      pVP                  RV R	VR
7      pSf   Ve   Q hM	VS8X  g   Q h\        P                  ! RV 4      p\
        P                  ! Wd4       R# )c           
     ó  <€ VP                   pVP                  4       ;_uu_ 4       p\        4       p\        P                  ! V4      pVP                  V4       VP                  ^ 4       RP                  V Uu. uF	  pRV R2NK  	  up4      p	V P                  '       d   V P                   RV P                   2p
MV P                  p
RV
 RV	 R2pVP                  W¶R7       RRR4       S# u upi   + '       g   i     S# ; i)	r   z, r  Ú.zCOPY z (z) FROM STDIN WITH CSV)r   ÚfileN)Ú
connectionrL   r	   rO   ÚwriterÚ	writerowsÚseekÚjoinr  r¬   Úcopy_expert)r  rV   rÞ   rê  Ú
dbapi_connrX   Ús_bufr  ÚkrÅ   rÊ   Ú	sql_queryr  s   &&&&        €r-   Úpsql_insert_copyÚBtest_copy_from_callable_insertion_method.<locals>.psql_insert_copy  sà   ø€ à—_‘_ˆ
Ø×Ñ× Ô  CÜ“JˆEÜ—Z’Z Ó&ˆFØ×Ñ˜YÔ'Ø�J‰J�qŒMà—i‘i±4Ó 8±4¨a 1 Q C q£±4Ñ 8Ó9ˆGØ�|�|ˆ|Ø %§¡˜~¨Q¨u¯z©z¨lÐ;‘
à"ŸZ™Z�
à 
˜|¨2¨g¨YÐ6KÐLˆIØ�O‰O 	ˆOÔ6÷ !ð Ðùò !9÷ !Ö ð Ðús%   ¦AC2Á8C-ÂC2Â AC2Ã-C2Ã2D	Úcol1Úcol2rþ  r¸   Úcol3rœ  Únrµ  F)r¬   rp   rµ   r®  N©rˆ  r   r‰  r   r#   rÃ   r   )rV   r  rŠ  r  ÚexpectedÚresult_countÚresults   &f&    r-   Ú(test_copy_from_callable_insertion_methodr    sœ   ø€ õð& ×"Ñ" 4Ó(€DÜ˜& 1 a &¨&°3¸°*¸fÀsÈCÀjÐQÓR€HØ—?‘?Ø˜t¨5Ð9Ið #ó €Lð ÒØÒ#Ð#Ñ#à˜~Ô-Ð-Ð-Ü×Ò ¨dÓ3€FÜ×Ò˜&Ö+r,   c           	     óÐ  a€ VP                  V 4      p ^ RIHo ^ RIHp ^ RIHp V3R lpV! R4      p\        W4      '       dU   V P                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  V4       RRR4       RRR4       M2V P                  4       ;_uu_ 4        V P                  V4       RRR4       \        . RO.\        R4      R7      pVP                  R	V R
RR7       \        . RO.\        R4      R7      pVP                  R	V RR
VR7      p	\        P                  ! R	V 4      p
\         P"                  ! W§4       V	^ 8X  g   Q h\        P$                  ! V RR7      ;_uu_ 4       pVP'                  R	4       RRR4       R#   + '       g   i     EL; i  + '       g   i     Ló; i  + '       g   i     EL; i  + '       g   i     R# ; i)r   rb   rŸ   rw   c           	     óò   <€ V Uu. uF  p\        \        W$4      4      NK  	  ppS! V P                  4      P                  V4      P	                  R .R7      pVP                  V4      pVP                  # u upi )rœ  )Úindex_elements)rh   ri   r  rj   Úon_conflict_do_nothingrM   Úrowcount©	r  rV   rÞ   rê  r[   rÕ   rW   r  rc   s	   &&&&    €r-   Úinsert_on_conflictÚHtest_insertion_method_on_conflict_do_nothing.<locals>.insert_on_conflict@  si   ø€ Ù09Ó:±	¨””S˜“^Ö$±	ˆÐ:á�5—;‘;Óß‰V�D‹\ß#Ñ#°C°5Ð#Ó9ð 	ð
 —‘˜dÓ#ˆØ�‰Ðùò ;s   †A4zx
    CREATE TABLE test_insert_conflict (
        a  integer PRIMARY KEY,
        b  numeric,
        c  text
    );
    NÚabcrâ   Útest_insert_conflictrþ   Fr†  ©r¬   rp   rµ   r‡  r®  Tr³  ©rè  çÍÌÌÌÌÌ @rœ  ©rè  gš™™™™™	@rù  )rˆ  Úsqlalchemy.dialects.postgresqlrc   r¡   r    Úsqlalchemy.sqlrx   ry   r¢   rk   rM   r   Úlistr‰  r   r#   rÃ   r   r   r  )rV   rŠ  r    rx   r&  Ú
create_sqlrp   r  Ú	df_insertÚinsertedr  r¹  rc   s   &&          @r-   Ú,test_insertion_method_on_conflict_do_nothingr4  7  sx  ø€ ð ×"Ñ" 4Ó(€Då5Ý(Ý#õñ ð	ó€Jô �$×ÒØ�\‰\�^Œ^˜sØ—‘—•Ø—‘˜JÔ'÷ ÷ ˆ^ð �Z‰Z�\�\Ø�L‰L˜Ô$÷ ô š-˜´$°u³+Ô>€HØ‡O�OØ#¨¸Èð ô ô š=˜/´4¸³;Ô?€IØ×ÑØ#ØØØØ!ð  ó €Hô ×ÒÐ 6¸Ó=€FÜ×Ò˜&Ô+Ø�qŒ=Ðˆ=ô 
�Š˜°×	5Õ	5¸Ø×ÑÐ3Ô4÷ 
6Ñ	5÷1 —�ú÷ �^ú÷ �\ˆ\ú÷* 
6×	5Ð	5úó<   ÁF-Á5F	ÂF-Â0G Å=GÆF*Æ$	F-Æ-F=	Ç G	ÇG%	c                ód  € R V 9   g   RV 9   d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \        . RO. RO.\        R4      R7      pVP                  RV RRR	R
7       \        P                  ! RV R	R7      p\        P                  ! W#4       R# )r&   r'   z2test for public schema only specific to postgresqlr�  r(  râ   Útest_public_schemarþ   FÚpublic)r¬   rp   r‡  rµ   r  ©r  Nr+  )rC   gÍÌÌÌÌÌ@rù  )rñ  r  r’  r“  rˆ  r   r0  r‰  r   r#   rÃ   r   )rV   rŠ  Ú	test_dataÚdf_outs   &&  r-   Útest_to_sql_on_public_schemar<  q  s¦   € à�4Ô˜7 dœ?Ø×ÑÜ�K‰K×ÑØKð ó ô	
ð ×"Ñ" 4Ó(€Däš=ª-Ð8Ä$ÀuÃ+ÔN€IØ×ÑØ!ØØØØð ô ô ×ÒÐ 4°dÀ8ÔL€FÜ×Ò˜)Ö,r,   c           	     óÐ  a€ VP                  V 4      p ^ RIHo ^ RIHp ^ RIHp V3R lpV! R4      p\        W4      '       dU   V P                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  V4       RRR4       RRR4       M2V P                  4       ;_uu_ 4        V P                  V4       RRR4       \        . RO.\        R4      R7      pVP                  R	V R
RR7       \        . RO.\        R4      R7      pVP                  R	V RR
VR7      p	\        P                  ! R	V 4      p
\         P"                  ! W¨4       V	^8X  g   Q h\        P$                  ! V RR7      ;_uu_ 4       pVP'                  R	4       RRR4       R#   + '       g   i     EL; i  + '       g   i     Ló; i  + '       g   i     EL; i  + '       g   i     R# ; i)r   rb   rŸ   rw   c           	     óF  <€ V Uu. uF  p\        \        W$4      4      NK  	  ppS! V P                  4      P                  V4      pVP	                  VP
                  P                  VP
                  P                  R 7      pVP                  V4      pVP                  # u upi ))rù  r   )
rh   ri   r  rj   Úon_duplicate_key_updater3  rù  r   rM   r$  r%  s	   &&&&    €r-   r&  ÚDtest_insertion_method_on_conflict_update.<locals>.insert_on_conflict’  s{   ø€ Ù09Ó:±	¨””S˜“^Ö$±	ˆÐ:Ù�e—k‘kÓ"×)Ñ)¨$Ó/ˆØ×+Ñ+¨d¯m©m¯o©oÀÇÁÇÁÐ+ÓQˆØ—‘˜dÓ#ˆØ�‰Ðùò	 ;s   †Bzv
    CREATE TABLE test_insert_conflict (
        a INT PRIMARY KEY,
        b FLOAT,
        c VARCHAR(10)
    );
    Nr(  râ   r)  rþ   Fr†  r*  Tr³  r+  r-  )rˆ  Úsqlalchemy.dialects.mysqlrc   r¡   r    r/  rx   ry   r¢   rk   rM   r   r0  r‰  r   r#   rÃ   r   r   r  )rV   rŠ  r    rx   r&  r1  rp   rß   r  r3  r  r¹  rc   s   &&          @r-   Ú(test_insertion_method_on_conflict_updaterB  ‰  so  ø€ ð ×"Ñ" 4Ó(€Då0Ý(Ý#õñ ð	ó€Jô �$×ÒØ�\‰\�^Œ^˜sØ—‘—•Ø—‘˜JÔ'÷ ÷ ˆ^ð �Z‰Z�\�\Ø�L‰L˜Ô$÷ ô 
’M�?¬D°«KÔ	8€BØ‡I�IÐ)¨t¸xÈu€IÔUäš-˜´$°u³+Ô>€HØ�‰Ø#ØØØØ!ð ó €Hô ×ÒÐ 6¸Ó=€FÜ×Ò˜&Ô+Ø�qŒ=Ðˆ=ô 
�Š˜°×	5Õ	5¸Ø×ÑÐ3Ô4÷ 
6Ñ	5÷- —�ú÷ �^ú÷ �\ˆ\ú÷& 
6×	5Ð	5úr5  c                óô  € VP                  V 4      p ^ RIHp ^ RIHp R\
        P                  ! 4       P                   2pR\
        P                  ! 4       P                   2pV! RV RV RV RV R	2	4      p\        W4      '       dU   V P                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  V4       R
R
R
4       R
R
R
4       M2V P                  4       ;_uu_ 4        V P                  V4       R
R
R
4       \        WP4      p\        R^.RR/4      p	\        P                  ! W‰4       R
#   + '       g   i     L~; i  + '       g   i     LV; i  + '       g   i     Li; i)r   rŸ   rw   Úgroup_Úgroup_view_z
    CREATE TABLE zF (
        group_id INTEGER,
        name TEXT
    );
    INSERT INTO z- VALUES
        (1, 'name');
    CREATE VIEW z
    AS
    SELECT * FROM z;
    NÚgroup_idr¬   )rˆ  r¡   r    r/  rx   ÚuuidÚuuid4Úhexry   r¢   rk   rM   r#   r   rÃ   r   )
rV   rŠ  r    rx   rÊ   r  Úsql_stmtrp   r  r  s
   &&        r-   Útest_read_view_postgresrK  ¾  s*  € ð ×"Ñ" 4Ó(€Då(Ý#àœ$Ÿ*š*›,×*Ñ*Ð+Ð,€JØœdŸjšj›l×.Ñ.Ð/Ð0€IáðØ�ð ð �ð à�ð à�,ð ð
	ó€Hô �$×ÒØ�\‰\�^Œ^˜sØ—‘—•Ø—‘˜HÔ%÷ ÷ ˆ^ð �Z‰Z�\�\Ø�L‰L˜Ô"÷ ä˜IÓ,€FÜ˜* q c¨6°6Ð:Ó;€HÜ×Ò˜&Ö+÷ —ú÷ �^ú÷ �\ús0   Â EÂ9E	ÃEÃ4E'ÅEÅEÅE$	Å'E7	c                óò   € R pRpRpV P                  V4       V P                  V4       V P                  V4       \        P                  ! RV 4      p\        R^.RR/4      p\        P
                  ! WE4       R# )z<
CREATE TABLE groups (
   group_id INTEGER,
   name TEXT
);
z,
INSERT INTO groups VALUES
    (1, 'name');
z1
CREATE VIEW group_view
AS
SELECT * FROM groups;
zSELECT * FROM group_viewrF  r¬   N)rM   r¢  rË  r   rÃ   r   )r~  Úcreate_tableÚinsert_intoÚcreate_viewr  r  s   &     r-   Útest_read_view_sqliterP  â  sw   € ð€Lð€Kð€Kð
 ×Ñ˜<Ô(Ø×Ñ˜;Ô'Ø×Ñ˜;Ô'Ü�[Š[Ð3°^ÓD€FÜ˜* q c¨6°6Ð:Ó;€HÜ×Ò˜&Ö+r,   c                óT   € R V 9   d   R # RV 9   d   R# RV 9   d   R# \        RV  24      h)r(   r&   r'   zunsupported connection: )rÅ  )rö  s   &r-   ÚflavorrR  û  s6   € Ø�yÔ ÙØ	�YÔ	ÙØ	�IÔ	Ùä
Ð/°	¨{Ð;Ó
<Ð<r,   c           	     óä  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       T pVP                  V 4      p VR,          \        V4      ,          pRp\        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  WER7      pRRR4       RRR4       \        X4       R#   + '       g   i     L%; i  + '       g   i     L0; i)r|   ú)'params' not implemented for ADBC driversTr±  r%   rØ  NrÜ  ©r�  r‘  r  r’  r“  rˆ  rR  r!   Úrun_transactionÚ
read_queryrÈ   ©rV   rŠ  r.   rö  rß  ro   r¹  rÍ  s   &&&     r-   Útest_read_sql_iris_parameterrY    s¾   € à�„~Ø�‰×ÑÜ�K‰K×ÑØBØð ó ô	
ð €IØ×"Ñ" 4Ó(€DØÐ)Õ*¬6°)Ó+<Õ=€EØ!€FÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø"×-Ñ-¨eÐ-ÓCˆJ÷ )÷ 
!ô �ZÖ ÷ )×(ú÷ 
!×	 ús$   ÂCÂC	Â/CÃCÃCÃC/	c           	     óì  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       T pVP                  V 4      p VR,          \        V4      ,          pRRRR/p\        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  WER	7      pR
R
R
4       R
R
R
4       \        X4       R
#   + '       g   i     L%; i  + '       g   i     L0; i)r|   rT  Tr±  r)   r¬   r¹   r×  r·   rØ  NrU  rX  s   &&&     r-   Ú"test_read_sql_iris_named_parameterr[    sÇ   € à�„~Ø�‰×ÑÜ�K‰K×ÑØBØð ó ô	
ð €IØ×"Ñ" 4Ó(€DØÐ/Õ0´¸	Ó1BÕC€EØ�m X¨sÐ3€FÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø"×-Ñ-¨eÐ-ÓCˆJ÷ )÷ 
!ô �ZÖ ÷ )×(ú÷ 
!×	 ús$   ÂC#Â C	Â3C#ÃC ÃC#Ã#C3	c           	     óè  € R V 9   g   RV 9   d7   RV 9  d0   VP                  \        P                  P                  RR7      4       T pVP	                  V 4      p VR,          \        V4      ,          p\        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  VRR7      pRRR4       RRR4       \        X4       R#   + '       g   i     L%; i  + '       g   i     L0; i)r'   r(   r|   zbroken testr�  r*   NrØ  )
rñ  r  r’  r“  rˆ  rR  r!   rV  rW  rÈ   )rV   rŠ  r.   rö  rß  r¹  rÍ  s   &&&    r-   Ú,test_read_sql_iris_no_parameter_with_percentr]  -  s¸   € à�$„˜<¨4Ô/°FÀ$Ô4FØ×ÑœFŸK™K×-Ñ-°]Ð-ÓCÔDà€IØ×"Ñ" 4Ó(€DàÐ9Õ:¼6À)Ó;LÕM€EÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø"×-Ñ-¨e¸DÐ-ÓAˆJ÷ )÷ 
!ô �ZÖ ÷ )×(ú÷ 
!×	 ús$   ÂC!ÂC	Â1C!ÃCÃC!Ã!C1	c                ól   € VP                  V 4      p \        P                  ! R V 4      p\        V4       R# )zSELECT * FROM iris_viewN)rˆ  r   r"   rÈ   rÌ  s   && r-   Útest_api_read_sql_viewr_  @  s-   € à×"Ñ" 4Ó(€DÜ×#Ò#Ð$=¸tÓD€JÜ�ZÖ r,   c                óH  € R V 9   d:   VP                   P                  \        P                  P	                  RR7      4       VP                  V 4      p Rp\        P                  ! W ^R7      p\        P                  ! W 4      p\        P                  ! \        V4      V4       R# )r|   rä  r�  z1SELECT * FROM iris_view WHERE "SepalLength" < 0.0rÑ  N)r�  r‘  r  r’  r“  rˆ  r   r"   rÃ   r   r   )rV   rŠ  rß  Ú
with_batchÚwithout_batchs   &&   r-   Ú*test_api_read_sql_with_chunksize_no_resultrc  G  s   € à�„~Ø�‰×ÑÜ�K‰K×ÑÐ%RÐÓSô	
ð ×"Ñ" 4Ó(€DØ?€EÜ×#Ò# E¸1Ô=€JÜ×&Ò& uÓ3€MÜ×Òœ& Ó,¨mÖ<r,   c                ój  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        P
                  ! VR V 4       \        P                  ! R V 4      '       g   Q hR#   + '       g   i     LI; i)rî   Tr³  N)rˆ  r   r·  r   r  r‰  )rV   rŠ  rî   r¹  s   &&& r-   Útest_api_to_sqlre  T  s{   € à×"Ñ" 4Ó(€DÜ
‡}‚}�] D×)Ò)Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô/÷ :ô ‡J‚Jˆ{˜M¨4Ô0Ü�=Š=˜¨×-Ò-Ð-Ò-÷	 :×9ús   ÁB"Â"B2	c           	     ó(  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        P
                  ! VR V RR7       \        P                  ! R V 4      '       g   Q hRp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! VR V RR7       RRR4       R#   + '       g   i     L”; i  + '       g   i     R# ; i)Útest_frame2Tr³  Nr¼  r½  z"Table 'test_frame2' already existsrÃ  )	rˆ  r   r·  r   r  r‰  r  rÄ  rÅ  )rV   rŠ  rî   r¹  r¨  s   &&&  r-   Útest_api_to_sql_failrh  _  s¹   € à×"Ñ" 4Ó(€DÜ
‡}‚}�] D×)Ò)Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô/÷ :ô ‡J‚Jˆ{˜M¨4¸6ÕBÜ�=Š=˜¨×-Ò-Ð-Ð-à
.€CÜ	�Š”z¨×	-Ö	-Ü�
Š
�; ¨t¸vÕF÷ 
.Ñ	-÷ :×9ú÷ 
.×	-Ð	-ús   ÁC-ÃD Ã-C=	Ä D	c                óà  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        P
                  ! VR V RR7       \        P
                  ! VR V RR7       \        P                  ! R V 4      '       g   Q h\        V4      p\        V R 4      pWT8X  g   Q hR#   + '       g   i     L„; i)rð   Tr³  Nr¼  r½  r¡  ©rˆ  r   r·  r   r  r‰  r¸  rÒ   ©rV   rŠ  rî   r¹  Únum_entriesÚnum_rowss   &&&   r-   Útest_api_to_sql_replacern  n  s±   € à×"Ñ" 4Ó(€DÜ
‡}‚}�] D×)Ò)Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô/÷ :ô ‡J‚Jˆ{˜M¨4¸6ÕBä‡J‚Jˆ{˜M¨4¸9ÕEÜ�=Š=˜¨×-Ò-Ð-Ð-ä�kÓ"€KÜ˜$ Ó.€HàÔ"Ð"Ò"÷ :×9ús   ÁCÃC-	c                ó
  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        P
                  ! VR V RR7      ^8X  g   Q h\        P
                  ! VR V RR7      ^8X  g   Q h\        P                  ! R V 4      '       g   Q h^\        V4      ,          p\        V R 4      pWT8X  g   Q hR#   + '       g   i     L™; i)Útest_frame4Tr³  Nr¼  r½  rþ   rj  rk  s   &&&   r-   Útest_api_to_sql_appendrq  €  sÎ   € à×"Ñ" 4Ó(€DÜ
‡}‚}�] D×)Ò)Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô/÷ :ô �:Š:�k =°$À&ÔIÈQÔNÐNÐNô �:Š:�k =°$À(ÔKÈqÔPÐPÐPÜ�=Š=˜¨×-Ò-Ð-Ð-à”c˜+Ó&Õ&€KÜ˜$ Ó.€HàÔ"Ð"Ò"÷ :×9ús   ÁC2Ã2D	c                óŠ  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        P
                  ! VR V RR7       \        P                  ! RV 4      p\        P                  ! W$4       R#   + '       g   i     LY; i)Útest_frame5Tr³  NF©rµ   zSELECT * FROM test_frame5)	rˆ  r   r·  r   r  r‰  rË  rÃ   r   )rV   rŠ  rð   r¹  r  s   &&&  r-   Útest_api_to_sql_type_mappingru  “  s…   € à×"Ñ" 4Ó(€DÜ
‡}‚}�] D×)Ò)Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô/÷ :ô ‡J‚Jˆ{˜M¨4°uÕ=Ü�\Š\Ð5°tÓ<€Fä×Ò˜+Ö.÷ :×9ús   ÁB2Â2C	c                óî  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        \        P                  ! ^RR7      RR7      p\        P                  ! VR V RR	7       \        P                  ! R
V 4      p\        P                  ! VP                  4       V4       R#   + '       g   i     L‹; i)Útest_seriesTr³  NrÝ   r˜  Úseriesr«   Frt  zSELECT * FROM test_series)rˆ  r   r·  r   r  r   rÁ   Úaranger‰  r"   rÃ   r   Úto_frame)rV   rŠ  r¹  ÚsÚs2s   &&   r-   Útest_api_to_sql_seriesr}     s¦   € à×"Ñ" 4Ó(€DÜ
‡}‚}�] D×)Ò)Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô/÷ :ô 	Œr�yŠy˜ 'Ô*°Ô:€AÜ‡J‚Jˆq�- ¨UÕ3Ü	×	Ò	Ð7¸Ó	>€BÜ×Ò˜!Ÿ*™*›,¨Ö+÷ :×9ús   ÁC$Ã$C4	c                óæ  € T pVP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        P
                  ! VR V R7       \        P                  ! RV R7      pRV9   d   VP                  RR7      pMVP                  R	R7      p\        P                  ! WR4       R#   + '       g   i     L…; i)
Útest_frame_roundtripTr³  N©rp   ú"SELECT * FROM test_frame_roundtripr|   Ú__index_level_0__râ   Úlevel_0)
rˆ  r   r·  r   r  r‰  r"   rl   rÃ   r   ©rV   rŠ  rî   rö  r¹  r  s   &&&   r-   Útest_api_roundtripr…  ­  s¸   € à€IØ×"Ñ" 4Ó(€DÜ
‡}‚}Ð+¨T×2Ò2Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!7Ô8÷ :ô ‡J‚Jˆ{Ð2¸Õ=Ü×ÒÐ DÈ$ÔO€Fð �ÔØ—‘Ð%8�Ó9‰à—‘ Y�Ó/ˆÜ×Ò˜&Ö.÷ :×9ús   ÁC Ã C0	c                ó  € R V 9   d:   VP                   P                  \        P                  P	                  RR7      4       VP                  V 4      p \        P                  ! RV 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP                  R4       RRR4       \        P                  ! VRV R^R7       \        P                  ! R	V R
7      p\        P                  ! WB4       R#   + '       g   i     L[; i)r|   rä  r�  r  Tr³  NF)rp   rµ   rÒ  r�  r€  )r�  r‘  r  r’  r“  rˆ  r   r·  r   r  r‰  r"   rÃ   r   )rV   rŠ  rî   r¹  r  s   &&&  r-   Útest_api_roundtrip_chunksizer‡  À  sÅ   € à�„~Ø�‰×ÑÜ�K‰K×ÑÐ%RÐÓSô	
ð ×"Ñ" 4Ó(€DÜ
‡}‚}Ð+¨T×2Ò2Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!7Ô8÷ :ô ‡J‚JØØØØØõô ×ÒÐ DÈ$ÔO€FÜ×Ò˜&Ö.÷ :×9ús   ÂC4Ã4D	c                ó&  € VP                  V 4      p \        P                  ! V 4      ;_uu_ 4       pVP                  R 4      pVP	                  4       pVP                  4        RRR4       \        X4      . RO8X  g   Q hR#   + '       g   i     L&; i©rÈ  Nr¶   )rˆ  r   r!   rM   rÍ   rT   r0  )rV   rŠ  Ú
pandas_sqlÚiris_resultsr[   s   &&   r-   Útest_api_execute_sqlrŒ  Ö  su   € ð ×"Ñ" 4Ó(€DÜ	×	Ò	˜t×	$Ô	$¨
Ø!×)Ñ)Ð*>Ó?ˆØ×#Ñ#Ó%ˆØ×ÑÔ÷ 
%ô �‹9Ò;Ô;Ð;Ò;÷	 
%×	$ús   °2B Â B	c           
     óâ  € T pVP                  V 4      p \        P                  ! R V 4      pRV9   gH   RV9   gA   \        VP                  P
                  P                  \        P                  4      '       d   Q h\        P                  ! R V R.R7      p\        VP                  P
                  P                  \        P                  4      '       g   Q hVP                  P                  4       \        R^^^ ^ ^ 4      \        R^^^ ^ ^ 4      .8X  g   Q h\        P                  ! R V RR/R7      p\        VP                  P
                  P                  \        P                  4      '       g   Q hVP                  P                  4       \        R^^^ ^ ^ 4      \        R^^^ ^ ^ 4      .8X  g   Q h\        P                  ! R V R.R7      p\        VP                  P
                  P                  \        P                  4      '       g   Q hVP                  P                  4       \        R^^^ ^ ^ 4      \        R	^^^ ^ ^ 4      .8X  g   Q h\        P                  ! R V RR
/R7      p\        VP                  P
                  P                  \        P                  4      '       g   Q hVP                  P                  4       \        R^^^ ^ ^ 4      \        R	^^^ ^ ^ 4      .8X  g   Q h\        P                  ! R V RR/R7      p\        VP                  P
                  P                  \        P                  4      '       g   Q hVP                  P                  4       \        R4      \        R4      .8X  g   Q hR# )úSELECT * FROM typesr'   r>  rˆ   ©Úparse_datesiÐ  ú%Y-%m-%d %H:%M:%Sr‰   iÂ  iÝ  r{  rŠ   z%Y%m%dz
2010-10-10z
2010-12-12N)rˆ  r   r"   rÀ   rˆ   r>   r¿   rÁ   Ú
datetime64Útolistr   r‰   rŠ   rõ  s   &&  r-   Útest_api_date_parsingr”  á  s  € à€IØ×"Ñ" 4Ó(€Dô 
×	Ò	Ð1°4Ó	8€BØ�yÔ  J°)Ô$;Ü˜bŸj™j×.Ñ.×3Ñ3´R·]±]×CÒCÐCÐCä	×	Ò	Ð1°4ÀiÀ[Ô	Q€BÜ�b—j‘j×&Ñ&×+Ñ+¬R¯]©]×;Ò;Ð;Ð;Ø�:‰:×ÑÓÜ�$˜˜1˜a  AÓ&Ü�$˜˜1˜a  AÓ&ð#ô ð ð ô
 
×	Ò	ØØØÐ 3Ð4ô
€Bô
 �b—j‘j×&Ñ&×+Ñ+¬R¯]©]×;Ò;Ð;Ð;Ø�:‰:×ÑÓÜ�$˜˜1˜a  AÓ&Ü�$˜˜1˜a  AÓ&ð#ô ð ð ô
 
×	Ò	Ð1°4ÀlÀ^Ô	T€BÜ�b—m‘m×)Ñ)×.Ñ.´·±×>Ò>Ð>Ð>Ø�=‰=×ÑÓ!Ü�$˜˜B  1 aÓ(Ü�$˜˜1˜a  AÓ&ð&ô ð ð ô
 
×	Ò	Ø˜t°,ÀÐ1Dô
€Bô �b—m‘m×)Ñ)×.Ñ.´·±×>Ò>Ð>Ð>Ø�=‰=×ÑÓ!Ü�$˜˜B  1 aÓ(Ü�$˜˜1˜a  AÓ&ð&ô ð ð ô
 
×	Ò	ØØØ% xÐ0ô
€Bô
 �b×'Ñ'×-Ñ-×2Ñ2´B·M±M×BÒBÐBÐBØ×Ñ×#Ñ#Ó%Ü�,ÓÜ�,Óð*ô ð ò r,   ÚerrorÚraiseÚcoercezread_sql, text, moderŽ  r<   r†   c                óÜ  € T pVP                  V 4      p VR 8X  d7   VR8X  d0   VP                  \        P                  P	                  RR7      4       VP                  RR/4      pV! VV RRV//R7      p	RV9   d?   V	R	,          P                  \        4      V	R	&   V	R
,          P                  \        4      V	R
&   VR8X  d   VP                  RRRRRR/4      p\        P                  ! W˜4       R# )r†   r‚  z failing combination of argumentsr�  rˆ   zdatetime64[us]rv   )rp   r�  r>  r�   r�   rW  r‰   Úint32rŠ   rŒ   N)
rˆ  rñ  r  r’  r“  r®   rv  rR   rÃ   r   )
rV   rŠ  rË  rx   r¿  r•  rà   rö  r  r  s
   &&&&&&&   r-   Ú!test_api_custom_dateparsing_errorrš    sþ   € ð$ €IØ×"Ñ" 4Ó(€DØˆw„˜9Ð(>Ô>Ø×ÑÜ�K‰K×ÑÐ%GÐÓHô	
ð  ×&Ñ&¨	Ð3CÐ'DÓE€HáØØà˜ %Ð(ð
ô€Fð �YÔà" 9Õ-×4Ñ4´SÓ9ˆˆyÑØ$*Ð+<Õ$=×$DÑ$DÄUÓ$KˆÐ Ñ!àÐ+Ô+Ø—?‘?à˜gØ  'Ø˜'ðó
ˆô ×Ò˜&Ö+r,   c                ó`  € VP                  V 4      p \        P                  ! R V RRR.R7      p\        VP                  P
                  P                  \        P                  4      '       g   Q h\        VP                  P
                  P                  \        P                  4      '       g   Q hR# )rŽ  rˆ   r‰   )Ú	index_colr�  N)
rˆ  r   r"   rÀ   rµ   r>   r¿   rÁ   r’  r‰   ©rV   rŠ  rß   s   && r-   Útest_api_date_and_indexrž  L  sƒ   € ð ×"Ñ" 4Ó(€DÜ	×	Ò	ØØØØ Ð-ô	
€Bô �b—h‘h—n‘n×)Ñ)¬2¯=©=×9Ò9Ð9Ð9Ü�b—m‘m×)Ñ)×.Ñ.´·±×>Ò>Ð>Ò>r,   c           
     óì  € T pVP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        \        RR.RR7      4      P                  4       pVR8X  d:   VP                  P                  \        P                  P                  R	R
7      4       RV9   d   \        '       d   \        pM	RpM\        p\         P"                  ! VRR7      ;_uu_ 4        VP%                  R V R7      pRRR4       X^8X  g   Q h\        P&                  ! RV 4      pVR8X  dA   \        \(        P*                  ! ^ ^ R^ R7      \(        P*                  ! ^ ^ R^ R7      .RR7      pMVR,          P-                  R4      p\         P.                  ! VR,          V4       R#   + '       g   i     ELu; i  + '       g   i     LÃ; i)Útest_timedeltaTr³  Nz00:00:01z00:00:03Úfoor«   rr  z.sqlite ADBC driver doesn't implement timedeltar�  r|   F)rŸ  ©r¬   rp   zSELECT * FROM test_timedeltarH  i@B )ÚmonthsÚdaysÚmicrosecondsÚnanosecondsiÀÆ- rÝ   )rˆ  r   r·  r   r  r   r   rz  r�  r‘  r  r’  r“  r   r¤  r¥  rÃ   r¦  r‰  r"   r¢  Ú
DateOffsetr®   rÄ   )	rV   rŠ  rö  r¹  rß   r§  r  r  r  s	   &&       r-   Útest_api_timedeltar¨  [  sš  € ð €IØ×"Ñ" 4Ó(€DÜ
‡}‚}Ð% t×,Ò,Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!1Ô2÷ :ô 
”f˜j¨*Ð5¸EÔBÓ	C×	LÑ	LÓ	N€BàÐ&Ô&Ø�‰×ÑÜ�K‰K×ÑØGð ó ô	
ð �ÔßÓÜ,‰Kà‰Kä!ˆä	×	#Ò	# KÀ%×	HÖ	HØ—y‘yÐ&6¸D�yÓAˆ÷ 
Ià˜1ÔÐÐÜ×ÒÐ >ÀÓE€FàÐ*Ô*ô ä—’ Q¨Q¸WÐRSÔTÜ—’ Q¨Q¸WÐRSÔTðð ô
‰ð �e•9×#Ñ# GÓ,ˆÜ×Ò˜6 %�=¨(Ö3÷M :×9Ð9ú÷( 
I×	Hús   ÁGÄG#ÇG 	Ç#G3	c                ó  € T pVP                  V 4      p \        R R	R./4      pRV9   d   RpMRp\        P                  ! \        VR7      ;_uu_ 4        VP                  RV R7      e   Q h RRR4       R#   + '       g   i     R# ; i)
rœ  y               @r|   zdatatypes not supportedzComplex datatypes not supportedrÃ  Útest_complexr€  Ny      ð?      ð?)rˆ  r   r  rÄ  rÅ  r‰  )rV   rŠ  rö  rß   r¨  s   &&   r-   Útest_api_complex_raisesr«  Š  su   € à€IØ×"Ñ" 4Ó(€DÜ	�C˜& "˜Ð&Ó	'€Bà�ÔØ'‰à/ˆÜ	�Š”z¨×	-Ö	-Ø�y‰y˜¨TˆyÓ2Ò:Ð:Ñ:÷ 
.×	-×	-Ò	-ús   ÁA6Á6B	zindex_name,index_label,expectedc                ó^  € R V 9   d:   VP                   P                  \        P                  P	                  RR7      4       VP                  V 4      p \        P                  ! RV 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP                  R4       RRR4       \        R\        ^4      /4      pW&P                  n        Rp\        P                  ! VRWR	7       \        P                  ! Wp4      pVP                   ^ ,          V8X  g   Q hR#   + '       g   i     Lƒ; i)
r|   ú-index_label argument NotImplemented with ADBCr�  Útest_index_labelTr³  Nr  úSELECT * FROM test_index_label)Úindex_label)r�  r‘  r  r’  r“  rˆ  r   r·  r   r  r   Úrangerµ   r¬   r‰  r"   rÅ   )	rV   rŠ  Ú
index_namer°  r  r¹  Ú
temp_framerß  r³   s	   &&&&&    r-   Útest_api_to_sql_index_labelr´  ˜  så   € ð& �„~Ø�‰×ÑÜ�K‰K×ÑÐ%TÐÓUô	
ð ×"Ñ" 4Ó(€DÜ
‡}‚}Ð'¨×.Ò.Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!3Ô4÷ :ô ˜F¤E¨!£HÐ-Ó.€JØ&×ÑÔØ,€EÜ‡J‚JˆzÐ-¨tÕMÜ×Ò˜uÓ+€EØ�=‰=˜Õ˜xÔ'Ð'Ò'÷ :×9ús   ÂDÄD,	c           
     óh  € T pR V9   d2   VP                  \        P                  P                  RRR7      4       M@RV9   d:   VP                  P                  \        P                  P                  RR7      4       VP                  V 4      p \        P                  ! RV 4      '       d;   \        P                  ! V RR	7      ;_uu_ 4       pVP                  R4       R
R
R
4       ^p\        R\        ^4      /\        P                  ! RR.4      R7      p\        P                  ! VRV 4      pWd8X  g   Q h\        P                   ! RV 4      pVP"                  ^ ,          R8X  g   Q hVP"                  ^,          R8X  g   Q h\        P                  ! VRV RRR.R7      pWd8X  g   Q h\        P                   ! RV 4      pVP"                  R,          P%                  4       RR.8X  g   Q hRR.VP&                  n        \        P                  ! VRV RR7      pWd8X  g   Q h\        P                   ! RV 4      pVP"                  R,          P%                  4       RR.8X  g   Q h\        P                  ! VRV RRR.R7      pWd8X  g   Q h\        P                   ! RV 4      pVP"                  R,          P%                  4       RR.8X  g   Q hRp\        P*                  ! \,        VR7      ;_uu_ 4        \        P                  ! VRV RRR7       R
R
R
4       R
#   + '       g   i     EL:; i  + '       g   i     R
# ; i)r'   z/MySQL can fail using TEXT without length as keyFr±  r|   r­  r�  r®  Tr³  Nr  rt  r¯  rƒ  Úlevel_1r¡  rã   rä   )r‡  r°  :NrC   Nr½  rå   ræ   zALength of 'index_label' should match number of levels, which is 2rÃ  )ÚA0ÚA1)ÚB0ÚB1)rñ  r  r’  r“  r�  r‘  rˆ  r   r·  r   r  r   r±  r   Úfrom_productr‰  r"   rÅ   r“  rµ   ÚnamesrÄ  rÅ  )	rV   rŠ  rö  r¹  Úexpected_row_countr³  r  r³   r¨  s	   &&       r-   Ú&test_api_to_sql_index_label_multiindexr¾  ¼  sÙ  € à€IØ�)ÔØ×ÑÜ�K‰K×ÑØHÐQVð ó õ	
ð
 
�9Ô	Ø�‰×ÑÜ�K‰K×ÑÐ%TÐÓUô	
ð ×"Ñ" 4Ó(€DÜ
‡}‚}Ð'¨×.Ò.Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!3Ô4÷ :ð ÐÜØ	”�q“ÐÜ×%Ò% |°\Ð&BÓCô€Jô �ZŠZ˜
Ð$6¸Ó=€FØÔ'Ð'Ð'Ü×ÒÐ?ÀÓF€EØ�=‰=˜Õ˜yÔ(Ð(Ð(Ø�=‰=˜Õ˜yÔ(Ð(Ð(ô �ZŠZØØØØØ˜#�Jô€Fð Ô'Ð'Ð'Ü×ÒÐ?ÀÓF€EØ�=‰=˜Õ×#Ñ#Ó%¨#¨s¨Ô3Ð3Ð3ð " 3˜Z€J×ÑÔÜ�ZŠZ˜
Ð$6¸È	ÔR€FØÔ'Ð'Ð'Ü×ÒÐ?ÀÓF€EØ�=‰=˜Õ×#Ñ#Ó%¨#¨s¨Ô3Ð3Ð3ô �ZŠZØØØØØ˜#�Jô€Fð Ô'Ð'Ð'Ü×ÒÐ?ÀÓF€EØ�=‰=˜Õ×#Ñ#Ó%¨#¨s¨Ô3Ð3Ð3à
M€CÜ	�Š”z¨×	-Ö	-Ü�
Š
ØØØØØõ	
÷ 
.Ñ	-÷a :×9Ð9ú÷` 
.×	-Ð	-ús   Ã	LË&L ÌL	Ì L1	c                óÆ  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \
        P                  ! RR.. RORR.R7      pVP                  R V R7       \        P                  ! RV RR.R	7      p\        P                  ! W4RR
7       R#   + '       g   i     Lw; i)Útest_multiindex_roundtripTr³  Nrã   rä   ©rÅ   rµ   r¢  z'SELECT * FROM test_multiindex_roundtrip©rœ  ©Úcheck_index_type©rè  r,  Úline1©rC   ç      ø?Úline2©rã   rä   rå   )rˆ  r   r·  r   r  r   Úfrom_recordsr‰  r"   rÃ   r   )rV   rŠ  r¹  rß   r  s   &&   r-   Útest_api_multiindex_roundtriprÌ    s¹   € à×"Ñ" 4Ó(€DÜ
‡}‚}Ð0°$×7Ò7Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!<Ô=÷ :ô 
×	Ò	Ø	Ð-Ð.ÚØ�Cˆjô
€Bð ‡I�IÐ.°D€IÔ9Ü×ÒØ1°4ÀCÈÀ:ô€Fô ×Ò˜"°t×<÷ :×9ús   ÁCÃC 	r>   rã   rä   c                óô  € T pVP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        RR.RR..RR	.R
7      pVP                  R V R7      ^8X  g   Q hVP                  V4      pRV9   d   RpMRp\        P                  ! WpVR7      p\        P                  ! W†4       R#   + '       g   i     LŒ; i)Útest_dtype_argumentTr³  Nç333333ó?g333333@çffffff@g333333@rã   rä   râ   r¢  r>  z(SELECT "A", "B" FROM test_dtype_argumentz$SELECT A, B FROM test_dtype_argument©rp   r>   )rˆ  r   r·  r   r  r   r‰  r®   r"   rÃ   r   )	rV   rŠ  r>   rö  r¹  rß   r  rß  r  s	   &&&      r-   Útest_api_dtype_argumentrÒ    sÖ   € ð €IØ×"Ñ" 4Ó(€DÜ
‡}‚}Ð*¨D×1Ò1Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!6Ô7÷ :ô 
�S˜#�J  c 
Ð+°c¸3°ZÔ	@€BØ�9‰9Ð/°Tˆ9Ó:¸aÔ?Ð?Ð?à�y‰y˜Ó€Hà�YÔØ:‰à6ˆÜ×Ò °uÔ=€Fä×Ò˜&Ö+÷ :×9ús   ÁC'Ã'C7	c                ó†   € VP                  V 4      p \        ^^.^^..^ ^.R7      p\        P                  ! VRV RR7       R# )rè  râ   Útest_frame_integer_col_namesr¡  r½  N)rˆ  r   r   r‰  r�  s   && r-   Útest_api_integer_col_namesrÕ  :  sB   € à×"Ñ" 4Ó(€DÜ	�Q˜�F˜Q ˜FÐ#¨a°¨VÔ	4€BÜ‡J‚JˆrÐ1°4À9×Mr,   c                óî   € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       VP                  V 4      p \        P                  ! VRV R7      pRV9   g   Q hR# )r|   ú-'get_schema' not implemented for ADBC driversTr±  r…  r€  ÚCREATEN©r�  r‘  r  r’  r“  rˆ  r   Ú
get_schema©rV   rŠ  rî   r1  s   &&& r-   Útest_api_get_schemarÜ  A  sj   € à�„~Ø�‰×ÑÜ�K‰K×ÑØFØð ó ô	
ð ×"Ñ" 4Ó(€DÜ—’ ¨V¸Ô>€JØ�zÔ!Ð!Ò!r,   c                óð   € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       VP                  V 4      p \        P                  ! VRV RR7      pRV9   g   Q hR# )	r|   r×  Tr±  r…  Úpypi)rp   r  zCREATE TABLE pypi.NrÙ  rÛ  s   &&& r-   Útest_api_get_schema_with_schemarß  O  sn   € ð �„~Ø�‰×ÑÜ�K‰K×ÑØFØð ó ô	
ð ×"Ñ" 4Ó(€DÜ—’ ¨V¸ÀfÔM€JØ :Ô-Ð-Ò-r,   c                óT  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       T pVP                  V 4      p \        RRR.RRR	./4      pVR
8X  d   RpM^ RIHp Tp\        P                  ! VRV RV/R7      pRV9   g   Q hRV9   g   Q hR# )r|   r×  Tr±  rœ  çš™™™™™ñ?rÏ  rù  r,  çš™™™™™@r~  ÚINTEGER)r…   r…  rÑ  rØ  N)r�  r‘  r  r’  r“  rˆ  r   r<   r…   r   rÚ  )rV   rŠ  rö  Úfloat_framer>   r…   r1  s   &&     r-   Útest_api_get_schema_dtypesrå  ^  s´   € à�„~Ø�‰×ÑÜ�K‰K×ÑØFØð ó ô	
ð €IØ×"Ñ" 4Ó(€DÜ˜S 3¨ *¨c°C¸°:Ð>Ó?€KàÐ$Ô$Ø‰å&àˆÜ—’ ¨V¸ÀcÈ5À\ÔR€JØ�zÔ!Ð!Ð!Ø˜
Ô"Ð"Ò"r,   c                ó�  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       T pVP                  V 4      p \        RRR.RRR	./4      p\        P                  ! VR
V RR7      pRV9   d   RpMRpWe9   g   Q h\        P                  ! VR
V RR.R7      pRV9   d   RpMRpWe9   g   Q hR# )r|   r×  Tr±  ÚCol1rá  rÏ  ÚCol2r,  râ  r…  )rp   rÞ   r'   z'CONSTRAINT test_pk PRIMARY KEY (`Col1`)z'CONSTRAINT test_pk PRIMARY KEY ("Col1")rã   rä   z)CONSTRAINT test_pk PRIMARY KEY (`A`, `B`)z)CONSTRAINT test_pk PRIMARY KEY ("A", "B")N)	r�  r‘  r  r’  r“  rˆ  r   r   rÚ  )rV   rŠ  rî   rö  r³   r1  Úconstraint_sentences   &&&    r-   Útest_api_get_schema_keysrê  v  sØ   € à�„~Ø�‰×ÑÜ�K‰K×ÑØFØð ó ô	
ð €IØ×"Ñ" 4Ó(€DÜ�v  S˜z¨6°C¸°:Ð>Ó?€EÜ—’  v°4¸fÔE€Jà�)ÔØGÑàGÐØÔ,Ð,Ð,ô —’ ¨V¸ÀSÈ#ÀJÔO€JØ�)ÔØIÑàIÐØÔ,Ð,Ò,r,   c                óö  € R V 9   d:   VP                   P                  \        P                  P	                  RR7      4       T pVP                  V 4      p \        P                  ! RV 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP                  R4       RRR4       \        \        P                  P                  ^4      P                  R4      \        R4      R7      pVP!                  RV R	R
7       \        P"                  ! RV 4      p\        4       p^ p. ROp\        P"                  ! RV ^R7       F2  p	\%        Wi.RR7      p\'        V	4      W‡,          8X  g   Q hV^,          pK4  	  \(        P*                  ! WV4       VR8X  dI   \        P,                  ! \.        RR7      ;_uu_ 4        \        P0                  ! RV ^R7       RRR4       R# \        4       p
^ p. ROp\        P0                  ! RV ^R7       F2  p	\%        W©.RR7      p
\'        V	4      W‡,          8X  g   Q hV^,          pK4  	  \(        P*                  ! WZ4       R#   + '       g   i     EL¹; i  + '       g   i     R# ; i)r|   rä  r�  Útest_chunksizeTr³  NÚabcderâ   Frú  zselect * from test_chunksizerÑ  ©Úignore_indexr~  z^$rÃ  )é   r»   )r»   r»   r»   r»   rC   )r�  r‘  r  r’  r“  rˆ  r   r·  r   r  r   rÁ   ÚrandomÚdefault_rngÚstandard_normalr0  r‰  r"   r   r¸  rÃ   r   rÄ  ÚNotImplementedErrorr#   )rV   rŠ  rö  r¹  rß   r  r  ÚiÚsizesÚchunkÚres3s   &&         r-   Útest_api_chunksize_readrù  “  sþ  € à�„~Ø�‰×ÑÜ�K‰K×ÑÐ%RÐÓSô	
ð €IØ×"Ñ" 4Ó(€DÜ
‡}‚}Ð% t×,Ò,Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!1Ô2÷ :ô 
Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ä4ÈÃ=ô
€Bð ‡I�IÐ#¨°U€IÔ;ô ×ÒÐ<¸dÓC€Dô ‹;€DØ	€AÚ€Eä×#Ò#Ð$BÀDÐTU×VˆÜ�t�m°$Ô7ˆÜ�5‹z˜U�XÔ%Ð%Ð%Ø	ˆQ�Šñ Wô
 ×Ò˜$Ô%ð Ð$Ô$Ü�]Š]Ô.°d×;Ö;Ü×ÒÐ/°ÀÕC÷ <Ñ;ô ‹{ˆØˆÚˆä×'Ò'Ð(8¸$È!×LˆEÜ˜4˜-°dÔ;ˆDÜ�u“: ¥Ô)Ð)Ð)Ø��FŠAñ Mô
 	×Ò˜dÖ)÷K :×9Ð9ú÷2 <×;Ð;ús   ÂIÆ8I'ÉI$	É'I8	c                óä  € V R 8X  do   \        RRR7      pVe^   \        VP                  4      \        R4      8  d;   VP                  P	                  \
        P                  P                  RRR7      4       VP                  V 4      p \        P                  ! R	V 4      '       d;   \        P                  ! V RR
7      ;_uu_ 4       pVP                  R	4       RRR4       \        R. ROR. RO/4      pVP                  4       pVR,          P                  R4      VR&   VP!                  R	V RR7       \        P"                  ! RV 4      p\$        P&                  ! Wd4       R#   + '       g   i     L‘; i)rH  rD  rt   ru   Nz0.9.0z:categorical dtype not implemented for ADBC postgres driverTr±  Útest_categoricalr³  Ú	person_idÚperson_nameÚcategoryFrú  zSELECT * FROM test_categoricalrû  )úJohn P. Doez	Jane Doverÿ  )r   r   r=   r�  r‘  r  r’  r“  rˆ  r   r·  r   r  r   Úcopyr®   r‰  r"   rÃ   r   )rV   rŠ  r|   r¹  rß   Údf2Úress   &&     r-   Útest_api_categoricalr  Ä  s/  € àÐ%Ô%Ü)Ð*BÈ8ÔTˆØÒ¤¨×(8Ñ(8Ó 9¼GÀGÓ<LÔ LØ�L‰L×#Ñ#Ü—‘×!Ñ!ØWØð "ó ôð ×"Ñ" 4Ó(€DÜ
‡}‚}Ð'¨×.Ò.Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!3Ô4÷ :ô 
àšØÒFð	
ó
€Bð �'‰'‹)€CØ˜]Õ+×2Ñ2°:Ó>€CˆÑà‡J�JÐ&¨D¸€JÔ>Ü
×
Ò
Ð=¸tÓ
D€Cä×Ò˜#Ö"÷ :×9ús   ÃEÅE/	c                óN  € VP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        ^^.^^..RR.R7      pVP                  R V RR7       R#   + '       g   i     L;; i)	Útest_unicodeTr³  Nô   Ã©rù  râ   Frú  )rˆ  r   r·  r   r  r   r‰  )rV   rŠ  r¹  rß   s   &&  r-   Útest_api_unicode_column_namer  å  s…   € ð ×"Ñ" 4Ó(€DÜ
‡}‚}�^ T×*Ò*Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô0÷ :ô 
�Q˜�F˜Q ˜FÐ#¨f°c¨]Ô	;€BØ‡I�I�> t°5€IÖ9÷	 :×9ús   ÁBÂB$	c                óÜ  € T pVP                  V 4      p \        P                  ! R V 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP	                  R 4       RRR4       \        R. RORR\        P                  R./4      pVP                  R V RR	7       R
V9   d   RpMRp\        P                  ! WP4      p\        P                  ! Wd4       R#   + '       g   i     L€; i)zd1187b08-4943-4c8d-a7f6Tr³  Nrã   rä   r¸   rÐ  Frú  r>  z'SELECT * FROM "d1187b08-4943-4c8d-a7f6"z'SELECT * FROM `d1187b08-4943-4c8d-a7f6`©r   rè  rC   )rˆ  r   r·  r   r  r   rÁ   Únanr‰  r"   rÃ   r   )rV   rŠ  rö  r¹  rß   rß  r  s   &&     r-   Útest_api_escaped_table_namer  ñ  s¾   € ð €IØ×"Ñ" 4Ó(€DÜ
‡}‚}Ð.°×5Ò5Ü�_Š_˜T°D×9Õ9¸YØ× Ñ Ð!:Ô;÷ :ô 
�Cš C¨#¬r¯v©v°sÐ);Ð<Ó	=€BØ‡I�IÐ,°$¸e€IÔDà�YÔØ9‰à9ˆÜ
×
Ò
˜UÓ
)€Cä×Ò˜#Ö"÷ :×9ús   ÁCÃC+	c                óÚ  € R V 9   d{   \         P                  ! R4      p\        VP                  4      \        R4      8¼  d   V R9   g;   VP                  P                  \         P                  P                  RRR7      4       VP                  V 4      p \        P                  ! RV 4      '       d;   \        P                  ! V RR7      ;_uu_ 4       pVP                  R4       RRR4       \        R	. ROR
. ROR^/4      pVP                  RV RR7       \        P                   ! RV 4      p\        . RO. RO. RO.. ROR7      p\"        P$                  ! WV4       R#   + '       g   i     L€; i)r|   rC  z16.0z!pyarrow->pandas throws ValueErrorTr±  Ú
test_tabler³  Nrœ  rù  r   Frú  z)SELECT a, b, a +1 as a, c FROM test_tablerâ   )rr  rH  rû  rý  )rè  rþ  rC   rè  )rC   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   )rV   rŠ  Úpar¹  rß   r  r  s   &&     r-   Ú#test_api_read_sql_duplicate_columnsr  	  s  € ð �„~Ü× Ò  Ó+ˆä�B—N‘NÓ#¤w¨v£Ô6ØÐDÔDà�L‰L×#Ñ#Ü—‘×!Ñ!Ø>Àtð "ó ôð
 ×"Ñ" 4Ó(€DÜ
‡}‚}�\ 4×(Ò(Ü�_Š_˜T°D×9Õ9¸YØ× Ñ  Ô.÷ :ô 
�Cš Cª¸#¸qÐAÓ	B€BØ‡I�I�< T°€IÔ7ä�[Š[ÐDÀdÓK€FÜÚ	šªÐ8Ú$ô€Hô ×Ò˜&Ö+÷ :×9ús   ÃEÅE*	c                óB  € T pVR 8X  d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \
        P                  ! VRV 4       RR.p\
        P                  ! RWR7      pVP                  P                  4       V8X  g   Q hR# )r~  úNot Implementedr�  rµ  rã   rä   râ   N)
rñ  r  r’  r“  rˆ  r   r‰  r#   rÅ   r“  )rV   rŠ  rî   rö  Úcolsr  s   &&&   r-   Útest_read_table_columnsr  $	  s‰   € ð €IØÐ$Ô$Ø×ÑœFŸK™K×-Ñ-Ð5FÐ-ÓGÔHà×"Ñ" 4Ó(€DÜ‡J‚Jˆ{˜L¨$Ô/à�ˆ:€Dä×Ò ¨dÔA€FØ�>‰>× Ñ Ó" dÔ*Ð*Ò*r,   c                ój  € T pVR 8X  d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \
        P                  ! VRV 4       \
        P                  ! RV RR7      pVP                  P                  R.8X  g   Q h\
        P                  ! RV RR.R7      pVP                  P                  RR.8X  g   Q h\
        P                  ! RV RR.RR	.R
7      pVP                  P                  RR.8X  g   Q hVP                  P                  4       RR	.8X  g   Q hR# )r~  r  r�  rµ  rµ   rÂ  rã   rä   rå   ræ   )rœ  rÅ   N)rñ  r  r’  r“  rˆ  r   r‰  r#   rµ   r¼  rÅ   r“  )rV   rŠ  rî   rö  r  s   &&&  r-   Útest_read_table_index_colr  4	  s  € ð €IØÐ$Ô$Ø×ÑœFŸK™K×-Ñ-Ð5FÐ-ÓGÔHà×"Ñ" 4Ó(€DÜ‡J‚Jˆ{˜L¨$Ô/ä×Ò ¨d¸gÔF€FØ�<‰<×Ñ ' Ô*Ð*Ð*ä×Ò ¨d¸sÀC¸jÔI€FØ�<‰<×Ñ # s Ô+Ð+Ð+ä×ÒØ�d s¨C j¸3À¸*ô€Fð �<‰<×Ñ # s Ô+Ð+Ð+Ø�>‰>× Ñ Ó" s¨C jÔ0Ð0Ò0r,   c                ó¤  € V R 8X  d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \
        P                  ! RV 4      p\
        P                  ! RV 4      p\        P                  ! W#4       \
        P                  ! RV 4      p\
        P                  ! RV 4      p\        P                  ! W#4       R# )r€  rð  r�  rÈ  r6   N)rñ  r  r’  r“  rˆ  r   r"   rË  rÃ   r   r#   )rV   rŠ  Úiris_frame1Úiris_frame2s   &&  r-   Útest_read_sql_delegater  K	  s§   € àÐ$Ô$Ø×ÑÜ�K‰K×ÑØTð ó ô	
ð ×"Ñ" 4Ó(€DÜ×$Ò$Ð%9¸4Ó@€KÜ—,’,Ð3°TÓ:€KÜ×Ò˜+Ô3ä×$Ò$ V¨TÓ2€KÜ—,’,˜v tÓ,€KÜ×Ò˜+Ö3r,   c           
     óÐ  € T p^ RI Hp ^ RIHp V! R4      V! R4      .pV F›  p\	        W4      '       dV   VP                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  V4       RRR4       RRR4       Ki  VP                  4       ;_uu_ 4        VP                  V4       RRR4       K�  	  \        P                  ! R4      ;_uu_ 4        \        P                  ! RV4       \        P                  ! RV4       RRR4       R#   + '       g   i     L§; i  + '       g   i     EK  ; i  + '       g   i     EK0  ; i  + '       g   i     R# ; i)r   rw   rŸ   z,CREATE TABLE invalid (x INTEGER, y UNKNOWN);z0CREATE TABLE other_table (x INTEGER, y INTEGER);NÚother_tablezSELECT * FROM other_table)r<   rx   r¡   r    ry   r¢   rk   rM   rÃ   r¦  r   r#   r"   )rc  rV   rx   r    Ú
query_listrß  s   &     r-   Útest_not_reflect_all_tablesr  ^	  só   € Ø€DÝÝ(ñ 	Ð;Ó<ÙÐ?Ó@ð€Jó
 ˆÜ�d×#Ò#Ø—‘—” 4Ø—Z‘Z—\•\Ø—L‘L Ô'÷ "÷  ‘ð —‘—•Ø—‘˜UÔ#÷ ‘ñ ô 
×	#Ò	# D×	)Õ	)Ü×Ò˜=¨$Ô/Ü×ÒÐ6¸Ô=÷ 
*Ñ	)÷ "—\ú÷  —‘ú÷ —‘ú÷ 
*×	)Ð	)ús<   ÁD*Á&DÁ8D*Â"D?Ã/EÄD'Ä"D*Ä*D<Ä?EÅE%	c           	     óZ  € T pVR 8X  g   RV9   d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V 4      ;_uu_ 4       pVP                  RR4       RRR4       RRR4       \
        P                  ! R4      ;_uu_ 4        VP                  R	V R
7       RRR4       R#   + '       g   i     LT; i  + '       g   i     L_; i  + '       g   i     R# ; i)r~  r|   zDoes not raise warningr�  z¶The provided table name 'TABLE1' is not found exactly as such in the database after writing the table, possibly due to case sensitivity issues. Consider using lower case table names.rÃ  ÚTABLE1r�  NÚCaseSensitiver¢  )rñ  r  r’  r“  rˆ  rÃ   r¦  r¥  r   r   Úcheck_case_sensitiver‰  )rV   rŠ  rî   rö  r  s   &&&  r-   Ú(test_warning_case_insensitive_table_namer#  w	  sß   € à€IØÐ$Ô$¨°)Ô(;Ø×ÑœFŸK™K×-Ñ-Ð5MÐ-ÓNÔOà×"Ñ" 4Ó(€Dä	×	#Ò	#ÜðJ÷
ö 
ô �_Š_˜T×"Ô" bØ×#Ñ# H¨bÔ1÷ #÷
ô 
×	#Ò	# D×	)Õ	)Ø×Ñ °TÐÔ:÷ 
*Ñ	)÷	 #×"ú÷
÷ 
ú÷ 
*×	)Ð	)ús0   Á5DÂC3	Â'DÃDÃ3DÃ>DÄD	ÄD*	c                ó‚  € VP                  V 4      p ^ RIHp \        R\	        RR.RR7      /4      p\
        P                  ! V 4      ;_uu_ 4       p\
        P                  ! RWCR7      p\        VP                  P                  R,          P                  V4      '       g   Q h R	R	R	4       R	#   + '       g   i     R	# ; i)
r   )Ú	TIMESTAMPr   ú2014-12-12 01:54ú2014-12-11 02:54T©ÚutcÚ	test_type©r³   N)rˆ  r<   r%  r   r   r   r   ÚSQLTablery   r  r   r¿   )rV   rŠ  r%  rß   r  r  s   &&    r-   Útest_sqlalchemy_type_mappingr-  �	  s�   € à×"Ñ" 4Ó(€DÝ$ô 
Ø	”Ð0Ð2DÐEÈ4ÔPÐQó
€Bô 
�Š˜×	Ô	 "Ü—’˜[¨"Ô7ˆä˜%Ÿ+™+Ÿ-™-¨Õ/×4Ñ4°i×@Ò@Ð@Ñ@÷ 
×	×	Ò	ús   ÁAB-Â-B>	zinteger, expectedrã  ÚBIGINTrÝ   c                óf  € VP                  V 4      p \        ^ ^.R.VR7      p\        P                  ! V 4      ;_uu_ 4       p\        P                  ! RWTR7      p\        VP                  P                  P                  P                  4      pRRR4       XV8X  g   Q hR#   + '       g   i     L; i)r   rœ  ©rÅ   r>   r*  r+  N)
rˆ  r   r   r   r,  r€   r  r   rœ  r¿   )rV   rŠ  rò  r  rß   r  r  r  s   &&&&    r-   Útest_sqlalchemy_integer_mappingr1  ž	  sƒ   € ð. ×"Ñ" 4Ó(€DÜ	�A�q�6 C 5°Ô	8€BÜ	�Š˜×	Ô	 "Ü—’˜[¨"Ô7ˆä�U—[‘[—]‘]—_‘_×)Ñ)Ó*ˆ÷ 
ð �XÔÐÒ÷	 
×	ús   ÁAB Â B0	rò  Úuint64ÚUInt64c           
     óp  € VP                  V 4      p \        ^ ^.R.VR7      p\        P                  ! V 4      ;_uu_ 4       p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! RWCR7       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   rœ  r0  z1Unsigned 64 bit integer datatype is not supportedrÃ  r*  r+  N)rˆ  r   r   r   r  rÄ  rÅ  r,  )rV   rŠ  rò  rß   r  s   &&&  r-   Ú(test_sqlalchemy_integer_overload_mappingr5  ¾	  s„   € ð ×"Ñ" 4Ó(€Dä	�A�q�6 C 5°Ô	8€BÜ	�Š˜×	Ô	 "Ü�]Š]ÜÐQ÷
ö 
ô �LŠL˜ bÕ3÷
÷ 
Ñ	÷
÷ 
ú÷ 
×	Ð	ús$   Á%B$Á&B	Á?B$ÂB!ÂB$Â$B5	c                ó’  € \         P                  ! R 4       \        V 4      pRV,           pRpVP                  WTRRR7       \        P
                  ! WT4      p\        P                  ! WT4      pRp\        P                  ! W„4      p	\        P                  ! W&4       \        P                  ! W'4       \        P                  ! W)4       R# )r<   r]  r6   r¡  Fr†  rÈ  N)
r  r  r€   r‰  r   rË  r#   r"   rÃ   r   )
r^  rŠ  rî   r¬   Údb_urir  rg  rð   rß  rp  s
   &&&       r-   Útest_database_uri_stringr8  Ë	  sœ   € Ü
×Ò˜Ô%ô
 ˆy‹>€DØ˜DÕ €FØ€EØ×Ñ˜E¸È%ÐÔPÜ—,’,˜uÓ-€KÜ×$Ò$ UÓ3€KØ €EÜ×$Ò$ UÓ3€KÜ×Ò˜+Ô3Ü×Ò˜+Ô3Ü×Ò˜+Ö3r,   Úpg8000c                óæ   € \         P                  ! R 4       Rp\         P                  ! \        RR7      ;_uu_ 4        \        P
                  ! RV4       RRR4       R#   + '       g   i     R# ; i)r<   z)postgresql+pg8000://user:pass@host/dbnamer9  rÃ  zselect * from tableN)r  r  rÄ  ÚImportErrorr   rË  )rŠ  r7  s   & r-   Ú(test_pg8000_sqlalchemy_passthrough_errorr<  Þ	  sF   € ä
×Ò˜Ô%ð 9€FÜ	�Š”{¨(×	3Ö	3Ü�ŠÐ*¨FÔ3÷ 
4×	3×	3Ò	3ús   ½AÁA0	c                óÔ   € T pVP                  V 4      p ^ RIHp RV9   d
   V! R4      pMV! R4      p\        P                  ! W@RR/R7      p\        VR,          4      pVR08X  g   Q hR	# )
r   rw   r>  z%select * from iris where "Name"=:namez#select * from iris where name=:namer¬   zIris-versicolorrØ  r;   N)rˆ  r<   rx   r   rË  Úset)rV   rŠ  rö  rx   Ú	name_textÚiris_dfÚ	all_namess   &&     r-   Útest_query_by_text_objrB  è	  sp   € ð €IØ×"Ñ" 4Ó(€DÝà�YÔÙÐ@ÓA‰	áÐ>Ó?ˆ	Ü�lŠl˜9°FÐ<MÐ3NÔO€GÜ�G˜F•OÓ$€IØÐ*Ð+Ô+Ð+Ò+r,   c                ó   € VP                  V 4      p ^ RIHpHp \	        4       pV! V4      P                  VP                  P                  V! R4      8H  4      p\        P                  ! WPRR/R7      p\        VR,          4      pVR08X  g   Q hR# )r   )Ú	bindparamrÕ  r¬   r¹   rØ  r;   N)rˆ  r<   rD  rÕ  r@   Úwherer   r;   r   rË  r>  )rV   rŠ  rD  rÕ  r6   Úname_selectr@  rA  s   &&      r-   Útest_query_by_select_objrG  ø	  sz   € à×"Ñ" 4Ó(€D÷ô
 Ó €DÙ˜“,×$Ñ$ T§V¡V§[¡[±I¸fÓ4EÑ%EÓF€KÜ�lŠl˜;°f¸mÐ5LÔM€GÜ�G˜F•OÓ$€IØ˜˜Ô'Ð'Ò'r,   c                ó@  € T pVR 8X  d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p \        R. R	OR. R
O/4      pVP                  RV RR7       \        P                  ! RV 4      p\        P                  ! WC4       R# )r~  r  r�  rã   z%_variationÚtest_column_percentageFrú  Nr	  ©rü  r  r»   )rñ  r  r’  r“  rˆ  r   r‰  r   r#   rÃ   r   )rV   rŠ  rö  rß   r  s   &&   r-   Útest_column_with_percentagerK  
  sŠ   € ð €IØÐ$Ô$Ø×ÑœFŸK™K×-Ñ-Ð5FÐ-ÓGÔHà×"Ñ" 4Ó(€DÜ	�Cš M²9Ð=Ó	>€BØ‡I�IÐ+°¸U€IÔCä
×
Ò
Ð5°tÓ
<€Cä×Ò˜#Ö"r,   c           	     óÞ  € \         P                  ! \        P                  ! V 4      4      ;_uu_ 4       p\        P
                  ! VR VRR7      ^8X  g   Q h RRR4       \         P                  ! \        P                  ! V 4      4      ;_uu_ 4       p\        P                  ! RV4      pRRR4       \        P                  ! VX4       R#   + '       g   i     L{; i  + '       g   i     L<; i)Útest_frame3_legacyFrt  Nz!SELECT * FROM test_frame3_legacy;)	rz  r{  rz   r¢   r   r‰  r"   rÃ   r   )r^  rð   rV   r  s   &&  r-   Útest_sql_open_closerN  
  sž   € ô 
×	Ò	œGŸOšO¨IÓ6×	7Ô	7¸4Ü�zŠz˜+Ð';¸TÈÔOÐSTÔTÐTÑT÷ 
8ô 
×	Ò	œGŸOšO¨IÓ6×	7Ô	7¸4Ü×#Ò#Ð$GÈÓNˆ÷ 
8ô ×Ò˜+ vÖ.÷ 
8×	7ú÷ 
8×	7ús   ³"C	ÂCÃ	C	ÃC,	c                 ó¾   € R p Rp\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! RV 4       RRR4       R#   + '       g   i     R# ; i)zmysql://root@localhost/pandasz-Using URI string without sqlalchemy installedrÃ  rÈ  N)r  rÄ  r;  r   rË  )rV   r¨  s     r-   Útest_con_string_import_errorrP  %
  s;   € à*€DØ
9€CÜ	�Š”{¨#×	.Ö	.Ü�ŠÐ)¨4Ô0÷ 
/×	.×	.Ò	.ús   ©AÁA	c            	     óJ  €  ! R  R4      p \         P                  ! V ! R4      4      ;_uu_ 4       p\        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! RV4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                  ó.   € ] tR tRtR R ltR tR tRtR# )Úhtest_con_unknown_dbapi2_class_does_not_error_without_sql_alchemy_installed.<locals>.MockSqliteConnectioni/
  c               ó   € V ^8„  d   QhRR/# )rC   ÚreturnÚNoner+   )rE   s   "r-   rF   Úutest_con_unknown_dbapi2_class_does_not_error_without_sql_alchemy_installed.<locals>.MockSqliteConnection.__annotate__0
  s   € ÷ 	<ñ 	<¨tñ 	<r,   c                	ó<   € \         P                  ! V/ VB V n        R # r'  )rz   r{   rV   )ÚselfÚargsÚkwargss   &*,r-   Ú__init__Úqtest_con_unknown_dbapi2_class_does_not_error_without_sql_alchemy_installed.<locals>.MockSqliteConnection.__init__0
  s   € Ü×*Ò*¨DÐ;°FÑ;ˆDŽIr,   c                	ó.   € \        V P                  V4      # r'  )ÚgetattrrV   )rY  r¬   s   &&r-   Ú__getattr__Úttest_con_unknown_dbapi2_class_does_not_error_without_sql_alchemy_installed.<locals>.MockSqliteConnection.__getattr__3
  s   € Ü˜4Ÿ9™9 dÓ+Ð+r,   c                	ó:   € V P                   P                  4        R # r'  )rV   rT   )rY  s   &r-   rT   Úntest_con_unknown_dbapi2_class_does_not_error_without_sql_alchemy_installed.<locals>.MockSqliteConnection.close6
  s   € Ø�I‰I�O‰OÖr,   )rV   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r\  r`  rT   Ú__static_attributes__r+   r,   r-   ÚMockSqliteConnectionrS  /
  s   † õ	<ò	,ö	r,   ri  ry  zonly supports SQLAlchemyrÃ  zSELECT 1N)rz  r{  rÃ   r¦  r¥  r   rË  )ri  rV   s     r-   ÚJtest_con_unknown_dbapi2_class_does_not_error_without_sql_alchemy_installedrj  -
  sj   € ÷ñ ô 
×	Ò	Ñ0°Ó<×	=Ô	=ÀÜ×'Ò'¬Ð;U×VÖVÜ�LŠL˜ TÔ*÷ W÷ 
>Ñ	=ßV×Vú÷ 
>×	=Ð	=ús#   ¯%BÁA>	Á,BÁ>BÂ	BÂB"	c                óZ  € T p\         P                  ! R V4      p\         P                  ! R V4      p\        P                  ! W#4       Rp\
        P                  ! \         P                  VR7      ;_uu_ 4        \         P                  ! RV4       RRR4       R#   + '       g   i     R# ; i)rÈ  z9Execution failed on sql 'iris': near "iris": syntax errorrÃ  r6   N)r   r"   rË  rÃ   r   r  rÄ  ÚDatabaseError)r€  rV   r  r  r¨  s   &    r-   Útest_sqlite_read_sql_delegaterm  >
  sr   € Ø€DÜ×$Ò$Ð%9¸4Ó@€KÜ—,’,Ð3°TÓ:€KÜ×Ò˜+Ô3à
G€CÜ	�Š”s×(Ñ(°×	4Ö	4Ü�Š�V˜TÔ"÷ 
5×	4×	4Ò	4ús   Á7BÂB*	c                óF   € \         P                  ! V R 4      pRV9   g   Q hR# )r…  rØ  N)r   rÚ  )rî   r1  s   & r-   Útest_get_schema2ro  I
  s    € ä—’ ¨VÓ4€JØ�zÔ!Ð!Ò!r,   c                ó€  € T p\        R \        RR.RR7      /4      p\        P                  ! V4      p\        P                  ! RW2R7      pVP                  4       pVP                  R4       FN  pVP                  4       ^ ,          P                  R4      R 8X  g   K0  VP                  4       ^,          R	8X  d   KN  Q h	  R
# )r   r&  r'  Tr(  r*  r+  Ú
r  r%  N)r   r   r   r   ÚSQLiteTableÚ
sql_schemaÚsplitÚstrip)r~  rV   rß   r  r  r  Úcols   &      r-   Útest_sqlite_type_mappingrw  O
  sŸ   € à€DÜ	Ø	”Ð0Ð2DÐEÈ4ÔPÐQó
€Bô 
×	Ò	˜DÓ	!€BÜ�OŠO˜K¨Ô6€EØ×ÑÓ€FØ�|‰|˜DÖ!ˆØ�9‰9‹;�q�>×Ñ Ó$¨Ö.Ø—9‘9“;˜q•> [Ö0Ð0Ð0ó "r,   c                ó  € V R 8X  d   \         P                  ! R4       TP                  V 4      p ^ RIHp \        R. R	OR. R
O/4      p\        P                  ! V RR7      ;_uu_ 4       pVP                  VR4      ^8X  g   Q h RRR4       V! V 4      pVP                  R4      '       g   Q h\        P                  ! V RR7      ;_uu_ 4       pVP                  R4       RRR4       R#   + '       g   i     Lm; i  + '       g   i     R# ; i)r_  ú#sqlite_str has no inspection systemrø   ÚoneÚtwoTr³  r³  N©ç      ð?ç       @ç      @ç      @©r€  r  r~  r}  )r  r«  rˆ  r<   rù   r   r   r   r‰  r·  r  ©rV   rŠ  rù   r³  r¹  Úinsps   &&    r-   Útest_create_tabler„  a
  sÒ   € àˆ|ÔÜ�ŠÐ9Ô:à×"Ñ" 4Ó(€Då"ä˜EÒ#7¸Ò@TÐUÓV€JÜ	�Š˜°×	5Õ	5¸Ø×Ñ 
¨LÓ9¸QÔ>Ð>Ñ>÷ 
6ñ �4‹=€DØ�>‰>˜,×'Ò'Ð'Ð'ô 
�Š˜°×	5Õ	5¸Ø×Ñ˜\Ô*÷ 
6Ñ	5÷ 
6×	5ú÷ 
6×	5Ð	5ús   Á(C(ÃC;Ã(C8	Ã;D	c           	     óê  € V R 8X  d   \         P                  ! R4       TP                  V 4      p ^ RIHp \        R. ROR. RO/4      p\        P                  ! V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  VR4      ^8X  g   Q h RRR4       V! V 4      pVP                  R4      '       g   Q hVP                  4       ;_uu_ 4        VP                  R4       RRR4        VP                  4        VP                  R4      '       d   Q h RRR4       R#   + '       g   i     L˜; i  + '       g   i     LX; i  \         d     LWi ; i  + '       g   i     R# ; i)	r_  ry  rø   rz  r{  r³  Nr|  r�  )r  r«  rˆ  r<   rù   r   r   r   rV  r‰  r·  r  Úclear_cacheÚAttributeErrorr‚  s   &&    r-   Útest_drop_tablerˆ  v
  s#  € àˆ|ÔÜ�ŠÐ9Ô:à×"Ñ" 4Ó(€Då"ä˜EÒ#7¸Ò@TÐUÓV€JÜ	�Š˜×	Ô	 )Ø×&Ñ&×(Õ(Ø×#Ñ# J°Ó=ÀÔBÐBÑB÷ )ñ �t‹}ˆØ�~‰~˜l×+Ò+Ð+Ð+à×&Ñ&×(Õ(Ø× Ñ  Ô.÷ )ð	Ø×ÑÔð —>‘> ,×/Ò/Ð/Ð/Ð/÷ 
Ñ	ß(×(ú÷ )×(ûô ô 	Ùð	ú÷ 
×	Ð	úsl   Á&E!Á?D*	Â&E!ÃE!ÃD=	Ã-E!Ã6EÄE!ÄE!Ä*D:Ä5E!Ä=EÅE!ÅEÅE!ÅEÅE!Å!E2	rö  c           	     ó4  € R pVP                  V 4      p\        V4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  W4      VP                  ^ ,          8X  g   Q h RRR4       VP                  4       ;_uu_ 4        VP                  V4      e   Q h RRR4       \        WC4      ^ 8X  g   Q hVP                  V4      '       g   Q h RRR4       R#   + '       g   i     L}; i  + '       g   i     LY; i  + '       g   i     R# ; i)Útemp_delete_rows_frameN)rˆ  r!   rV  r‰  rÆ   Údelete_rowsrÒ   r·  )rö  rî   rŠ  rÊ   rV   r¹  s   &&&   r-   Útest_delete_rows_successrŒ  �
  sÚ   € à)€JØ×"Ñ" 9Ó-€Dä	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø×#Ñ# KÓ<À×@QÑ@QÐRSÕ@TÔTÐTÑT÷ )ð ×&Ñ&×(Õ(Ø×(Ñ(¨Ó4Ò<Ð<Ñ<÷ )ô ˜$Ó+¨qÔ0Ð0Ð0Ø×"Ñ" :×.Ò.Ð.Ñ.÷ 
!Ñ	 ß(×(ú÷ )×(ú÷	 
!×	 Ð	 úsA   §DÁ *C 	Á+ DÂC3	Â"0DÃDÃ C0Ã+DÃ3DÃ>DÄD	c                óh  € \         P                  ! R 4      pRpRV R2pV R8w  d   RV 9  d   VP                  ! V4      p\        R^^.R^^./RR	7      p\        R. ROR. RO/RR	7      pVP	                  V 4      p\        V4      ;_uu_ 4       pVP                  4       ;_uu_ 4       p	V	P                  V4       R
R
R
4       VP                  4       ;_uu_ 4        VP                  WSRRR7       R
R
R
4       \         P                  ! \        P                  P                  4      ;_uu_ 4        VP                  4       ;_uu_ 4        VP                  WcRRR7       R
R
R
4       R
R
R
4       VP                  4       ;_uu_ 4        VP                  RV 2RR	7      p
\        P                  ! W¥4       R
R
R
4       R
R
R
4       R
#   + '       g   i     EL; i  + '       g   i     Lï; i  + '       g   i     L–; i  + '       g   i     L¡; i  + '       g   i     Lg; i  + '       g   i     R
# ; i)r<   Útemp_delete_rows_atomic_framezCREATE TABLE z' (a INTEGER, b INTEGER UNIQUE NOT NULL)r~  r|   rœ  rù  r™  r˜  Nrþ   F©r‡  rµ   r‹  úSELECT * FROM )r»   é   é   )r¼   r¼   r¼   )r  r  rx   r   rˆ  r!   rV  rM   r‰  rÄ  r¢  rv   rl  rW  rÃ   r   )rö  rŠ  r<   rÊ   Ú
table_stmtÚoriginal_dfÚreplacing_dfrV   r¹  rX   Ú	result_dfs   &&         r-   Útest_delete_rows_is_atomicr—   
  sº  € ä×$Ò$ \Ó2€Jà0€JØ   Ð,SÐT€JàÐ$Ô$¨°yÔ)@Ø—_’_ ZÓ0ˆ
ô ˜S 1 a &¨#°°1¨vÐ6¸gÔF€KÜ˜c¢9¨c²9Ð=ÀWÔM€Là×"Ñ" 9Ó-€DÜ	˜4×	 Ô	  IØ×&Ñ&×(Ô(¨CØ�K‰K˜
Ô#÷ )ð ×&Ñ&×(Õ(Ø×Ñ˜[ÀÐPUÐÔV÷ )ô �]Š]œ2Ÿ9™9×2Ñ2×3Õ3Ø×*Ñ*×,Õ,Ø× Ñ Ø ¸ÈUð !ô ÷ -÷ 4ð ×&Ñ&×(Õ(Ø!×,Ñ,Ø   Ð-°Wð -ó ˆIô ×!Ò! )Ô9÷	 )÷ 
!Ñ	 ß(×(Ð(ú÷ )×(ú÷
 -×,ú÷ 4×3ú÷ )×(ú÷ 
!×	 Ð	 ús„   ÂH Â&G 	Â8 H ÃG	Ã->H Ä+G:	ÅG'ÅG:	Å! H Æ-H	Æ.H Ç GÇ	H ÇG$ÇH Ç'G7Ç2G:	Ç:H
ÈH ÈHÈH È H1	c           	     ó*  € V R 8X  d   \         P                  ! R4       T pVP                  V 4      p \        V 4      ;_uu_ 4       pVP	                  4       ;_uu_ 4        VP                  VR4      ^8X  g   Q hVP                  R4      pRRR4       RRR4       RV9   d   XP                  RR/R7      pXP                  RR	R
7       RVP                  n
        \        P                  ! WR4       R#   + '       g   i     Lo; i  + '       g   i     Lz; i)r_  ry  r  r�  Nr|   r‚  rƒ  râ   T)Úinplace)r  r«  rˆ  r!   rV  r‰  rW  ÚrenameÚ	set_indexrµ   r¬   rÃ   r   r„  s   &&&   r-   Útest_roundtriprœ  Å
  sà   € àˆ|ÔÜ�ŠÐ9Ô:à€IØ×"Ñ" 4Ó(€DÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø×#Ñ# KÐ1GÓHÈAÔMÐMÐMØ×)Ñ)Ð*NÓOˆF÷ )÷ 
!ð
 �ÔØ—‘Ð(;¸YÐ'G�ÓHˆØ
×Ñ�Y¨ÐÔ-ð €F‡L�LÔä×Ò˜&Ö.÷ )×(ú÷ 
!×	 ús$   ÁDÁ+C/	ÂDÃ/C?Ã:DÄD	c           	     óx  € VP                  V 4      p \        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  R 4      pVP	                  4       pVP                  4        RRR4       RRR4       \        X4      . RO8X  g   Q hR#   + '       g   i     L.; i  + '       g   i     L9; ir‰  )rˆ  r!   rV  rM   rÍ   rT   r0  )rV   rŠ  r¹  r‹  r[   s   &&   r-   Útest_execute_sqlrž  Û
  sŠ   € à×"Ñ" 4Ó(€DÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø$×,Ñ,Ð-AÓBˆLØ×'Ñ'Ó)ˆCØ×ÑÔ ÷ )÷ 
!ô
 �‹9Ò;Ô;Ð;Ò;÷	 )×(ú÷ 
!×	 ús"   ¥B)¾2B	Á0B)ÂB&Â!B)Â)B9	c                ón   € VP                  V 4      p \        P                  ! R V R7      p\        V4       R# )r6   r€  N)rˆ  r   r#   rÈ   rÌ  s   && r-   Útest_sqlalchemy_read_tabler   æ
  s,   € à×"Ñ" 4Ó(€DÜ×#Ò# F°Ô5€JÜ�ZÖ r,   c                ó¶   € VP                  V 4      p \        P                  ! R V RR.R7      p\        P                  ! VP
                  \        RR.4      4       R# )r6   r7   )rp   rÅ   ÚSepalLength__1N)rˆ  r   r#   rÃ   Úassert_index_equalrÅ   r   rÌ  s   && r-   Ú"test_sqlalchemy_read_table_columnsr¤  í
  sQ   € à×"Ñ" 4Ó(€DÜ×#Ò#Ø�D =°-Ð"@ô€Jô ×Ò˜*×,Ñ,¬e°]ÐDTÐ4UÓ.VÖWr,   c                óÞ   € VP                  V 4      p R p\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! RV R7       RRR4       R#   + '       g   i     R# ; i)z!Table this_doesnt_exist not foundrÃ  Úthis_doesnt_existr€  N)rˆ  r  rÄ  rÅ  r   r#   )rV   rŠ  r¨  s   && r-   Útest_read_table_absent_raisesr§  ö
  sH   € à×"Ñ" 4Ó(€DØ
-€CÜ	�Š”z¨×	-Ö	-Ü×ÒÐ.°DÕ9÷ 
.×	-×	-Ò	-ús   ¸AÁA,	c                ó|  € T pVR 8X  d   \         P                  ! R4       M=RV9   g   RV9   d0   VP                  \         P                  P	                  RR7      4       VP                  V 4      p \        P                  ! RV 4      p\        VP                  P                  P                  \        P                  4      '       g   Q h\        VP                  P                  P                  \        P                  4      '       g   Q h\        VP                   P                  P                  \        P"                  4      '       g   Q h\        VP$                  P                  P                  \        P                  4      '       g   Q h\        VP&                  P                  P                  \(        4      '       g   Q hR# )r_  ú.types tables not created in sqlite_str fixturer'   r&   z#boolean dtype not inferred properlyr�  r†   N)r  r«  rñ  r’  r“  rˆ  r   r#   rÀ   r‹   r>   r¿   rÁ   rÂ   rŒ   rò  r�   ró  rŽ   r�   rô  rõ  s   &&  r-   Ú'test_sqlalchemy_default_type_conversionrª  þ
  s6  € à€IØ�LÔ Ü�ŠÐDÕEØ	�IÔ	 ¨YÔ!6Ø×ÑÜ�K‰K×ÑÐ%JÐÓKô	
ð ×"Ñ" 4Ó(€DÜ	×	Ò	˜G TÓ	*€Bä�b—k‘k×'Ñ'×,Ñ,¬b¯k©k×:Ò:Ð:Ð:Ü�b—i‘i—o‘o×*Ñ*¬B¯J©J×7Ò7Ð7Ð7Ü�b—j‘j×&Ñ&×+Ñ+¬R¯X©X×6Ò6Ð6Ð6ô �b×'Ñ'×-Ñ-×2Ñ2´B·K±K×@Ò@Ð@Ð@ä�b×(Ñ(×.Ñ.×3Ñ3´V×<Ò<Ð<Ò<r,   c                óÖ   € VP                  V 4      p \        R R./R7      pVP                  RV RR7      ^8X  g   Q h\        P                  ! RV 4      p\
        P                  ! W#4       R# )Úi64)rÕ   Útest_bigintFrú  Nl            r  ©rV   rŠ  rß   r  s   &&  r-   r­  r­    sb   € ð ×"Ñ" 4Ó(€DÜ	˜  Ð(Ô	)€BØ�9‰9˜-¨T¸ˆ9Ó?À1ÔDÐDÐDÜ×Ò ¨tÓ4€Fä×Ò˜"Ö%r,   c                ó‚  € T pVR 8X  d   \         P                  ! R4       M6RV9   d0   VP                  \         P                  P	                  RR7      4       VP                  V 4      p \        P                  ! RV 4      p\        VP                  P                  P                  \        P                  4      '       g   Q hR# )r_  r©  r&   z"sqlite does not read date properlyr�  r†   N)r  r«  rñ  r’  r“  rˆ  r   r#   rÀ   rˆ   r>   r¿   rÁ   r’  rõ  s   &&  r-   Útest_default_date_loadr°     s“   € à€IØ�LÔ Ü�ŠÐDÕEØ	�YÔ	Ø×ÑÜ�K‰K×ÑÐ%IÐÓJô	
ð ×"Ñ" 4Ó(€DÜ	×	Ò	˜G TÓ	*€Bä�b—j‘j×&Ñ&×+Ñ+¬R¯]©]×;Ò;Ð;Ò;r,   r�  r¦   c                óœ   € VP                  V 4      p \        V 4      p\        R WR7      pVP                  p\        P
                  ! WS4       R# )úselect * from datetzr�  N)rˆ  r±   r"   r¦   rÃ   rÄ   )rV   rŠ  r�  r  rß   rv  s   &&&   r-   Ú!test_datetime_with_timezone_queryr³  0  sF   € ð ×"Ñ" 4Ó(€DÜ.¨tÓ4€Hô 
Ð.°Ô	N€BØ
×
Ñ
€CÜ×Ò˜3Ö)r,   c           
     óÆ   € VP                  V 4      p \        V 4      p\        \        \	        R V ^R7      4      RR7      pVP
                  p\        P                  ! WB4       R# )r²  rÑ  Trî  N)rˆ  r±   r   r0  r"   r¦   rÃ   rÄ   )rV   rŠ  r  rß   rv  s   &&   r-   Ú+test_datetime_with_timezone_query_chunksizerµ  ?  sV   € à×"Ñ" 4Ó(€DÜ.¨tÓ4€Hä	ÜŒ^Ð2°DÀAÔFÓGØô
€Bð ×
Ñ
€CÜ×Ò˜3Ö)r,   c                ó¸   € VP                  V 4      p \        V 4      p\        P                  ! R V 4      pVP	                  4       p\
        P                  ! W44       R# )r¥   N)rˆ  r±   r   r#   rz  rÃ   r   )rV   rŠ  r  r  Ú	exp_frames   &&   r-   Ú!test_datetime_with_timezone_tabler¸  L  sJ   € à×"Ñ" 4Ó(€DÜ.¨tÓ4€HÜ×Ò ¨$Ó/€Fà×!Ñ!Ó#€IÜ×Ò˜&Ö,r,   c           
     óª  € T pVP                  V 4      p \        R \        R^RRR7      /4      pVP                  RV RR7      ^8X  g   Q hRV9   d'   VR ,          P                  P                  R	4      VR &   M%VR ,          P                  P                  R
4      VR &   \        P                  ! RV 4      p\        P                  ! WC4       \        P                  ! RV 4      pRV9   dX   \        VP                  R,          \        4      '       g   Q h\        VR ,          4      P                  P!                  R4      VR &   \        P                  ! WC4       R
# )rã   ú2013-01-01 09:00:00ú
US/PacificÚus)Úperiodsrª   ÚunitÚtest_datetime_tzFrú  r(   r¨   NzSELECT * FROM test_datetime_tzr&   ©r   rã   )rˆ  r   r   r‰  ÚdtÚ
tz_convertÚtz_localizer   r#   rÃ   r   r"   ry   Úlocr€   r   Úas_unit)rV   rŠ  rö  r  r  s   &&   r-   Ú%test_datetime_with_timezone_roundtriprÆ  V  s'  € à€IØ×"Ñ" 4Ó(€Dô
 Ø	ŒjÐ.¸¸lÐQUÔVÐWó€Hð �?‰?Ð 2¸ÀEˆ?ÓJÈaÔOÐOÐOà�yÔ à  �×(Ñ(×3Ñ3°EÓ:ˆ�Šð ! �×(Ñ(×4Ñ4°TÓ:ˆ�‰ä×ÒÐ 2°DÓ9€FÜ×Ò˜&Ô+ä×ÒÐ @À$ÓG€FØ�9Ôä˜&Ÿ*™* VÕ,¬c×2Ò2Ð2Ð2Ü! &¨¥+Ó.×1Ñ1×9Ñ9¸$Ó?ˆˆs‰Ü×Ò˜&Ö+r,   c           	     óN  € VP                  V 4      p \        R \        R^^4      /^ .R7      pVP                  RV RR7      ^8X  g   Q h\        P
                  ! RV 4      p\        \        P                  ! \        R^^4      .RR7      R .R7      p\        P                  ! W44       R	# )
r   i'  rt  Útest_datetime_obbFrú  úM8[us]r˜  râ   N)
rˆ  r   r   r‰  r   r#   rÁ   r£  rÃ   r   )rV   rŠ  rÕ   r  r  s   &&   r-   Útest_out_of_bounds_datetimerÊ  u  s™   € ð ×"Ñ" 4Ó(€DÜ�fœh t¨Q°Ó2Ð3¸A¸3Ô?€DØ�;‰;Ð/°TÀˆ;ÓGÈ1ÔLÐLÐLÜ×ÒÐ 3°TÓ:€FÜÜ
�Š”(˜4  AÓ&Ð'¨xÔ8À6À(ô€Hô ×Ò˜&Ö+r,   c                ó,  € VP                  V 4      p \        R ^RRR7      P                  R4      p\        R\	        ^4      /VR7      pVP                  RV RR	7      ^8X  g   Q h\        P                  ! RV RR
7      p\        P                  ! WCRR7       R# )z
2018-01-01Ú6hr¼  )r½  Úfreqr¾  NÚnumsrt  Ú	foo_tableÚ	info_date)r¬   rp   r°  rÂ  F)Úcheck_names)
rˆ  r   Ú
_with_freqr   r±  r‰  r   r#   rÃ   r   )rV   rŠ  Údatesr  r  s   &&   r-   Ú"test_naive_datetimeindex_roundtriprÔ  ‚  s‡   € ð ×"Ñ" 4Ó(€DÜ�|¨Q°TÀÔE×PÑPÐQUÓV€EÜ˜&¤%¨£(Ð+°5Ô9€HØ�?‰? °À;ˆ?ÓOÐSTÔTÐTÐTÜ×Ò ¨T¸[ÔI€Fä×Ò˜&¸×>r,   c                ó@  € T pVP                  V 4      p \        P                  ! R V 4      pRV9   d   \        M\        P
                  p\        VP                  P                  P                  V4      '       g   Q h\        P                  ! R V R.R7      p\        VP                  P                  P                  \        P
                  4      '       g   Q h\        P                  ! R V RR/R7      p\        VP                  P                  P                  \        P
                  4      '       g   Q h\        P                  ! R V RRR//R7      p\        VP                  P                  P                  \        P
                  4      '       g   Q h\        P                  ! R V R.R7      p\        VP                  P                  P                  \        P
                  4      '       g   Q h\        P                  ! R V RR/R7      p\        VP                  P                  P                  \        P
                  4      '       g   Q h\        P                  ! R V RRR//R7      p\        VP                  P                  P                  \        P
                  4      '       g   Q hR	# )
r†   r&   rˆ   r�  r‘  rE   r‰   r{  r¾  N)rˆ  r   r#   rô  rÁ   r’  rÀ   rˆ   r>   r¿   r‰   )rV   rŠ  rö  rß   Úexpected_types   &&   r-   Útest_date_parsingr×  �  sì  € ð €IØ×"Ñ" 4Ó(€DÜ	×	Ò	˜G TÓ	*€BØ&¨)Ô3•F¼¿¹€MÜ�b—j‘j×&Ñ&×+Ñ+¨]×;Ò;Ð;Ð;ä	×	Ò	˜G T¸	°{Ô	C€BÜ�b—j‘j×&Ñ&×+Ñ+¬R¯]©]×;Ò;Ð;Ð;ä	×	Ò	˜G T¸	ÐCVÐ7WÔ	X€BÜ�b—j‘j×&Ñ&×+Ñ+¬R¯]©]×;Ò;Ð;Ð;ä	×	Ò	ØØØ Ð+>Ð ?Ð@ô
€Bô
 �b—j‘j×&Ñ&×+Ñ+¬R¯]©]×;Ò;Ð;Ð;ä	×	Ò	˜G T¸°~Ô	F€BÜ�b—m‘m×)Ñ)×.Ñ.´·±×>Ò>Ð>Ð>ä	×	Ò	˜G T¸ÀcÐ7JÔ	K€BÜ�b—m‘m×)Ñ)×.Ñ.´·±×>Ò>Ð>Ð>ä	×	Ò	˜G T¸ÀvÈsÀmÐ7TÔ	U€BÜ�b—m‘m×)Ñ)×.Ñ.´·±×>Ò>Ð>Ò>r,   c                óŽ  € T pVP                  V 4      p \        R \        R^R7      R\        P                  ! R4      /4      pVP                  RV R7      ^8X  g   Q h\        P                  ! RV 4      pVP                  R^R7      pVR	,          pVR ,          P                  R
4      VR &   \        P                  ! WE4       \        P                  ! RV 4      pVP                  R^R7      pRV9   d?   \        VP                  R,          \        4      '       g   Q h\!        VR ,          4      VR &   \        P                  ! WE4       R# )rã   rº  ©r½  rä   r  Útest_datetimer¢  rµ   )ÚaxisºNNNrÉ  úSELECT * FROM test_datetimer&   NrÀ  )rˆ  r   r   rÁ   ry  r‰  r   r#   rl   r®   rÃ   r   r"   ry   rÄ  r€   r   ©rV   rŠ  rö  rß   r  r  s   &&    r-   rÚ  rÚ  ¯  s  € à€IØ×"Ñ" 4Ó(€DÜ	Ø	ŒjÐ.¸Ô:¸CÄÇÂÈ3ÃÐPó
€Bð �9‰9˜/¨tˆ9Ó4¸Ô9Ð9Ð9ô ×Ò °Ó6€FØ�[‰[˜ qˆ[Ó)€Fà�!�u€HØ˜S•M×(Ñ(¨Ó2€HˆS�MÜ×Ò˜&Ô+ô ×ÒÐ =¸tÓD€FØ�[‰[˜ qˆ[Ó)€FØ�9ÔÜ˜&Ÿ*™* VÕ,¬c×2Ò2Ð2Ð2Ü! &¨¥+Ó.ˆˆs‰Ü×Ò˜&Ö+r,   c                ó‚  € T pVP                  V 4      p \        R \        R^R7      R\        P                  ! R4      /4      p\        P
                  VP                  R&   VP                  RV RR7      ^8X  g   Q h\        P                  ! RV 4      pVR,          pVR ,          P                  R	4      VR &   \        P                  ! WE4       \        P                  ! R
V 4      pRV9   dA   \        VP                  R,          \        4      '       g   Q h\!        VR ,          RR7      VR &   \        P                  ! WE4       R# )rã   rº  rÙ  rä   r  rÚ  Frú  rÜ  rÉ  rÝ  r&   r—  ru   N©rè  rã   rÀ  )rˆ  r   r   rÁ   ry  r
  rÄ  r‰  r   r#   r®   rÃ   r   r"   ry   r€   r   rÞ  s   &&    r-   Útest_datetime_NaTrá  É  s  € à€IØ×"Ñ" 4Ó(€DÜ	Ø	ŒjÐ.¸Ô:¸CÄÇÂÈ3ÃÐPó
€Bô —V‘V€B‡F�Fˆ6�NØ�9‰9˜/¨t¸5ˆ9ÓAÀQÔFÐFÐFô ×Ò °Ó6€FØ�!�u€HØ˜S•M×(Ñ(¨Ó2€HˆS�MÜ×Ò˜&Ô+ô ×ÒÐ =¸tÓD€FØ�9ÔÜ˜&Ÿ*™* VÕ,¬c×2Ò2Ð2Ð2Ü! &¨¥+°hÔ?ˆˆs‰ä×Ò˜&Ö+r,   c                ó$  € VP                  V 4      p \        \        R ^^4      \        R ^^4      .R.R7      pVP                  RV RR7      ^8X  g   Q h\	        RV 4      pVR,          p\        VR,          4      p\        P                  ! WE4       R# )éÞ  rœ  râ   Ú	test_dateFrú  N)rˆ  r   r   r‰  r#   r   rÃ   rÄ   )rV   rŠ  rß   r  r  r  s   &&    r-   Útest_datetime_daterå  â  s‡   € ð ×"Ñ" 4Ó(€DÜ	”D˜˜q !Ó$¤d¨4°°AÓ&6Ð7À#ÀÔ	G€BØ�9‰9˜+¨4°uˆ9Ó=ÀÔBÐBÐBÜ
˜ dÓ
+€CØ��X€FÜ˜2˜c�7Ó#€Hä×Ò˜6Ö,r,   c                óÞ  € T pVP                  V 4      p \        \        ^	^ ^ 4      \        ^	^^4      .R.R7      pVP                  RV RR7      ^8X  g   Q h\	        RV 4      p\
        P                  ! WT4       Tp\        P                  ! VRVRR7      ^8X  g   Q h\        P                  ! RV4      pVP                  R	 4      p\
        P                  ! Wu4       \        P                  ! VR
V RR7      ^8X  g   Q hRV9   d@   \        P                  ! RV 4      pVP                  R 4      p\
        P                  ! Wu4       \        P                  ! R
V 4      p\
        P                  ! WE4       R# )é	   rœ  râ   Ú	test_timeFrú  Ú
test_time2rt  zSELECT * FROM test_time2c                ó$   € V P                  R 4      # ©z%H:%M:%S.%f©Ústrftime©Ú_s   &r-   Ú<lambda>Ú$test_datetime_time.<locals>.<lambda>þ  s   € ˜1Ÿ:™: mÔ4r,   Ú
test_time3r&   zSELECT * FROM test_time3c                ó$   € V P                  R 4      # rë  rì  rî  s   &r-   rð  rñ    s   € ˜qŸz™z¨-Ô8r,   N)
rˆ  r   r   r‰  r#   rÃ   r   r   r"   Úmap)rV   rŠ  r~  rö  rß   r  rc  Úrefs   &&&     r-   Útest_datetime_timerö  ï  s<  € ð €IØ×"Ñ" 4Ó(€DÜ	”D˜˜A˜q“M¤4¨¨1¨b£>Ð2¸S¸EÔ	B€BØ�9‰9˜+¨4°uˆ9Ó=ÀÔBÐBÐBÜ
˜ dÓ
+€CÜ×Ò˜#Ô"ð !€KÜ�:Š:�b˜,¨¸5ÔAÀQÔFÐFÐFÜ
×
Ò
Ð7¸Ó
E€CØ
�&‰&Ñ4Ó
5€CÜ×Ò˜#Ô#ä�:Š:�b˜,¨°EÔ:¸aÔ?Ð?Ð?Ø�9ÔÜ× Ò Ð!;¸TÓBˆØ�f‰fÑ8Ó9ˆÜ
×Ò˜cÔ'Ü
×
Ò
˜\¨4Ó
0€CÜ×Ò˜"Ö"r,   c                óH  € VP                  V 4      p \        R\        P                  R7      p\        R\        P                  R7      p\        RVRV/4      pVP                  RV RR7      ^8X  g   Q h\        P                  ! RV 4      p\        P                  ! WERRR	7       R
# )rC   r˜  g        Ús1r|  Útest_read_writeFrú  T)Úcheck_dtypeÚcheck_exactNi  )rˆ  r   rÁ   r™  Úfloat32r   r‰  r   r#   rÃ   r   )rV   rŠ  rø  r|  rß   r  s   &&    r-   Útest_mixed_dtype_insertrý  
  sŒ   € ð ×"Ñ" 4Ó(€DÜ	�	¤§¡Ô	*€BÜ	�œ2Ÿ:™:Ô	&€BÜ	�D˜"˜d BÐ'Ó	(€Bð �9‰9Ð+°¸Uˆ9ÓCÀqÔHÐHÐHÜ
×
Ò
Ð.°Ó
5€Cä×Ò˜"¨uÀ$×Gr,   c                óV  € VP                  V 4      p \        R . R	ORR\        P                  R./4      pVP	                  RV RR7      ^8X  g   Q h\
        P                  ! RV 4      p\        P                  ! W24       \
        P                  ! RV 4      p\        P                  ! W24       R# )
rã   rä   r¸   rÐ  Útest_nanFrú  úSELECT * FROM test_nanNr	  )
rˆ  r   rÁ   r
  r‰  r   r#   rÃ   r   r"   r®  s   &&  r-   Útest_nan_numericr    s”   € ð ×"Ñ" 4Ó(€DÜ	�Cš C¨#¬r¯v©v°sÐ);Ð<Ó	=€BØ�9‰9˜*¨$°eˆ9Ó<ÀÔAÐAÐAô ×Ò 
¨DÓ1€FÜ×Ò˜&Ô%ô ×ÒÐ 8¸$Ó?€FÜ×Ò˜&Ö%r,   c                óÎ  € VP                  V 4      p \        R . ROR\        P                  \        P                  \        P                  ./4      pVP	                  RV RR7      ^8X  g   Q h\
        P                  ! RV 4      p\        P                  ! W24       VR,          P                  R4      VR&   RVR&   \
        P                  ! RV 4      p\        P                  ! W24       R# )	rã   rä   rÿ  Frú  rô  Nr   r	  )rˆ  r   rÁ   r
  r‰  r   r#   rÃ   r   r®   r"   r®  s   &&  r-   Útest_nan_fullcolumnr  )  s»   € ð ×"Ñ" 4Ó(€DÜ	�Cš C¬"¯&©&´"·&±&¼"¿&¹&Ð)AÐBÓ	C€BØ�9‰9˜*¨$°eˆ9Ó<ÀÔAÐAÐAô ×Ò 
¨DÓ1€FÜ×Ò˜&Ô%ð ��g�n‰n˜XÓ&€B€s�GØ€B€s�GÜ×ÒÐ 8¸$Ó?€FÜ×Ò˜&Ö%r,   c                ót  € VP                  V 4      p \        R . R	ORRR\        P                  ./4      pVP	                  RV RR7      ^8X  g   Q hRVP
                  R
&   \        P                  ! RV 4      p\        P                  ! W24       \        P                  ! RV 4      p\        P                  ! W24       R# )rã   rä   rœ  rù  rÿ  Frú  Nr   r	  ©rC   rä   )rˆ  r   rÁ   r
  r‰  rÄ  r   r#   rÃ   r   r"   r®  s   &&  r-   Útest_nan_stringr  ;  s£   € ð ×"Ñ" 4Ó(€DÜ	�Cš C¨#¨s´B·F±FÐ);Ð<Ó	=€BØ�9‰9˜*¨$°eˆ9Ó<ÀÔAÐAÐAð €B‡F�Fˆ6�Nô ×Ò 
¨DÓ1€FÜ×Ò˜&Ô%ô ×ÒÐ 8¸$Ó?€FÜ×Ò˜&Ö%r,   c           	     ój  € R V 9   d;   VP                   P                  \        P                  P	                  RRR7      4       T pVP                  V 4      p \        P                  ! RR.. ROR.R7      pRp\        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  W44      ^8X  g   Q h RRR4       RRR4       VR9   dv   \        P                  ! RV R	2V 4      p. pVP                   FG  p\        P                  ! R
V R2V 4      p	VP                  V	P                  P                  4       4       KI  	  M6^ RIHp
 V
! V 4      pVP%                  V4      pV Uu. uF  qÌR,          NK  	  ppVR..8X  g   Q hR#   + '       g   i     L×; i  + '       g   i     Lâ; iu upi )r|   z)ADBC implementation does not create indexTr±  rã   rÁ  Útest_to_sql_saves_indexNzASELECT * FROM sqlite_master WHERE type = 'index' AND tbl_name = 'Ú'zPRAGMA index_info(Ú)rø   Úcolumn_namesrÅ  rÇ  rÊ  >   r_  r~  )r�  r‘  r  r’  r“  rˆ  r   rË  r!   rV  r‰  r   r"   r¬   rþ   r“  r<   rù   Úget_indexes)rV   rŠ  rö  rß   Útbl_namer¹  ÚixsÚix_colsÚix_nameÚix_inforù   rƒ  rõ  s   &&           r-   Útest_to_sql_save_indexr  N  s�  € à�„~Ø�‰×ÑÜ�K‰K×ÑØBÈ4ð ó ô	
ð
 €IØ×"Ñ" 4Ó(€DÜ	×	Ò	Ø	Ð-Ð.ºÐPSÈuô
€Bð )€HÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø×#Ñ# BÓ1°QÔ6Ð6Ñ6÷ )÷ 
!ð Ð4Ô4Ü× Ò ðØ'˜j¨ð+àó
ˆð
 ˆØ—x”xˆGÜ×(Ò(Ð+=¸g¸YÀaÐ)HÈ$ÓOˆGØ�N‰N˜7Ÿ<™<×.Ñ.Ó0Ö1ò  õ 	'á�t‹}ˆà×Ñ˜xÓ(ˆÙ.1Ó2©c¨�^×$Ð$©cˆÐ2à˜�u�gÔÐÒ÷+ )×(ú÷ 
!×	 üò( 3s*   ÂFÂ!F
	Â;FÅ*F0Æ
FÆFÆF-	c           	     óR  € T pVP                  V 4      p R pVR8w  d   RV9  d   ^ RIHp V! V4      p\        V 4      ;_uu_ 4       pVP	                  4       ;_uu_ 4       pVP                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)ú'CREATE TABLE test_trans (A INT, B TEXT)r~  r|   rw   N)rˆ  r<   rx   r!   rV  rM   )rV   rŠ  rö  rW   rx   r¹  Útranss   &&     r-   Útest_transactionsr  v  s‚   € à€IØ×"Ñ" 4Ó(€Dà4€DØÐ$Ô$¨°yÔ)@Ý#á�D‹zˆä	˜4×	 Ô	  IØ×&Ñ&×(Ô(¨EØ�M‰M˜$Ô÷ )÷ 
!Ñ	 ß(×(ú÷ 
!×	 Ð	 ús$   ÁBÁB	Á0BÂBÂBÂB&	c           	     ó(  € T pVP                  V 4      p \        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4       pR pRV9   g   \        V\        4      '       d   VP                  V4       M^ RIHp V! V4      pVP                  V4       RRR4        ! R R\        4      pRp\        V\        4      '       d   ^ RIHp V! V4      p VP                  4       ;_uu_ 4       pVP                  V4       V! R4      h  + '       g   i     Lx; i  + '       g   i     M; i  T d     Mi ; iTP                  4       ;_uu_ 4        TP                  R4      p	RRR4       M  + '       g   i     M; i\        X	4      ^ 8X  g   Q hTP                  4       ;_uu_ 4       pTP                  T4       TP                  R4      p
RRR4       M  + '       g   i     M; i\        X
4      ^8X  g   Q h RRR4       R#   + '       g   i     R# ; i)	r  r|   rw   Nc                  ó   € ] tR tRtRtR# )Ú1test_transaction_rollback.<locals>.DummyExceptioni•  r+   N)rd  re  rf  rg  rh  r+   r,   r-   ÚDummyExceptionr  •  s   † Ûr,   r  z/INSERT INTO test_trans (A,B) VALUES (1, 'blah')r•  zSELECT * FROM test_trans)rˆ  r!   rV  ry   r   rM   r<   rx   Ú	Exceptionr   rW  r¸  )rV   rŠ  rö  r¹  r  rW   rx   r  Úins_sqlr  r  s   &&         r-   Útest_transaction_rollbackr  †  s˜  € à€IØ×"Ñ" 4Ó(€DÜ	˜4×	 Ô	  IØ×&Ñ&×(Ô(¨EØ<ˆDØ˜Ô"¤j°¼N×&KÒ&KØ—‘˜dÕ#å+á˜D“z�Ø—‘˜dÔ#÷ )ô	œYô 	ð DˆÜ�i¤×-Ò-Ý'á˜7“mˆGð	Ø×*Ñ*×,Ô,°Ø—‘˜gÔ&Ù$ WÓ-Ð-÷- )×(ú÷( -×,ûð ô 	áð	úð ×&Ñ&×(Õ(Ø×&Ñ&Ð'AÓBˆC÷ )×(×(Ð(úä�3‹x˜1Œ}Ðˆ}ð ×&Ñ&×(Ô(¨EØ�M‰M˜'Ô"Ø×'Ñ'Ð(BÓCˆD÷ )×(×(Ð(úô �4‹y˜AŒ~Ð‰~÷G 
!×	 ×	 Ò	 ús�   §H Á AD	Â=H ÃD'Ã'D	ÄDÄH ÄD$ÄD'Ä#H Ä$D'Ä'D1Ä.H Ä0D1Ä1H ÅE'	Å	H Å'E7Å22H Æ$#G	Ç	H ÇG ÇH È H	c           	     óª  € V R 8X  d0   VP                  \        P                  P                  RR7      4       TP	                  V 4      p ^ RIHp ^ RIHp Rp\        P                  ! W%V R7      pVP                  R,          pV! V4      p\        W4      '       dU   V P                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  V4       RRR4       RRR4       MV P                  V4       \        P                   ! WP4      p	\"        P$                  ! W—R	R
7       R#   + '       g   i     LZ; i  + '       g   i     LS; i)r_  z(test does not support sqlite_str fixturer�  rw   rŸ   Útest_get_schema_create_tabler€  r�  NFrÃ  )rñ  r  r’  r“  rˆ  r<   rx   r¡   r    r   rÚ  r¾   ry   r¢   rk   rM   r#   rÃ   r   )
rV   rŠ  rð   rx   r    r$  r1  Úblank_test_dfÚnewconÚreturned_dfs
   &&&       r-   r  r  °  sð   € ð
 ˆ|ÔØ×ÑÜ�K‰K×ÑÐ%OÐÓPô	
ð ×"Ñ" 4Ó(€DåÝ(à
(€CÜ—’ °dÔ;€JØ×$Ñ$ RÕ(€Má�jÓ!€JÜ�$×ÒØ�\‰\�^Œ^˜vØ—‘—•Ø—‘˜zÔ*÷  ÷ ˆ^ð 	�‰�ZÔ Ü×$Ò$ SÓ/€KÜ×Ò˜+Àu×M÷  —ú÷ �^ús$   Â2EÃD/	ÃEÄ/D?Ä:EÅE	c                óð  € V R 8X  d   \         P                  ! R4       TP                  V 4      p ^ RIHpHp ^ RIHp RR.pRR.p\        WeR7      pVP                  RV R	7      ^8X  g   Q hVP                  R
V RV/R7      ^8X  g   Q hV! 4       pVP                  V R7       VP                  R
,          P                  R,          P                  p	\        W’4      '       g   Q hRp
\         P                  ! \         V
R7      ;_uu_ 4        VP                  RV R\"        /R7       RRR4       VP                  RV RV! ^
4      /R7      ^8X  g   Q hVP                  V R7       VP                  R,          P                  R,          P                  p	\        W“4      '       g   Q hV	P$                  ^
8X  g   Q hVP                  RWR7      ^8X  g   Q hVP                  V R7       VP                  R,          P                  R,          P                  pVP                  R,          P                  R,          P                  p\        W²4      '       g   Q h\        WÂ4      '       g   Q hR#   + '       g   i     ELJ; i)r_  ry  )r‚   r4   ©r3   rã   rä   Nrâ   Ú
dtype_testr¢  Údtype_test2©r¬   rp   r>   rf   z&The type of B is not a SQLAlchemy typerÃ  r•  Údtype_test3Úsingle_dtype_test©gš™™™™™é?T©gÍÌÌÌÌÌì?N)r  r«  rˆ  r<   r‚   r4   Úsqlalchemy.schemar3   r   r‰  ÚreflectÚtablesrÅ   r¿   ry   rÄ  rÅ  r€   r×  )rV   rŠ  r‚   r4   r3   r  rÕ   rß   ÚmetaÚsqltyper¨  ÚsqltypeaÚsqltypebs   &&           r-   Ú
test_dtyper3  Î  s  € àˆ|ÔÜ�ŠÐ9Ô:à×"Ñ" 4Ó(€D÷õ +à�ˆ:€DØ˜Ð%€DÜ	�4Ô	&€BØ�9‰9˜,¨Dˆ9Ó1°QÔ6Ð6Ð6Ø�9‰9˜-¨T¸#¸t¸ˆ9ÓEÈÔJÐJÐJÙ‹:€DØ‡L�L�d€LÔØ�k‰k˜-Õ(×0Ñ0°Õ5×:Ñ:€GÜ�g×$Ò$Ð$Ð$Ø
2€CÜ	�Š”z¨×	-Ö	-Ø
�	‰	�w D°´c°
ˆ	Ô;÷ 
.ð �9‰9˜-¨T¸#¹vÀb»zÐ9Jˆ9ÓKÈqÔPÐPÐPØ‡L�L�d€LÔØ�k‰k˜-Õ(×0Ñ0°Õ5×:Ñ:€GÜ�g×&Ò&Ð&Ð&Ø�>‰>˜RÔÐÐð �9‰9Ð-°4ˆ9ÓDÈÔIÐIÐIØ‡L�L�d€LÔØ�{‰{Ð.Õ/×7Ñ7¸Õ<×AÑA€HØ�{‰{Ð.Õ/×7Ñ7¸Õ<×AÑA€HÜ�h×%Ò%Ð%Ð%Ü�h×%Ò%Ð%Ò%÷! 
.×	-Ð	-ús   ÄI$É$I5	c                ó2  € V R 8X  d   \         P                  ! R4       T pVP                  V 4      p ^ RIHpHpHpHp ^ RIH	p R\        RR.4      R\        \        R^^4      R.4      R	\        ^R.R
R7      R\        RR.4      /p\        V4      p	Rp
V	P                  W R7      ^8X  g   Q h\        P                  ! W 4      pV! 4       pVP!                  V R7       RV9   d   TMTpVP"                  V
,          P$                  p\'        VR,          P(                  V4      '       g   Q h\'        VR,          P(                  V4      '       g   Q h\'        VR	,          P(                  V4      '       g   Q h\'        VR,          P(                  V4      '       g   Q hR# )r_  ry  )rƒ   r„   r2   r…   r$  ÚBoolTNÚDateéÜ  ÚIntrô  r˜  r2   rá  Únotna_dtype_testr¢  rf   r'   )r  r«  rˆ  r<   rƒ   r„   r2   r…   r,  r3   r   r   r   r‰  r   r#   r-  r.  rÅ   ry   r¿   )rV   rŠ  rö  rƒ   r„   r2   r…   r3   r  rß   r$  rï  r/  Úmy_typeÚcol_dicts   &&             r-   Útest_notna_dtyper<  ø  so  € àˆ|ÔÜ�ŠÐ9Ô:à€IØ×"Ñ" 4Ó(€D÷ó õ +ð 	”˜˜d�|Ó$Ø”œ  q¨!Ó,¨dÐ3Ó4ØŒv�q˜$�i xÔ0Ø”˜˜d˜Ó$ð	€Dô 
�4‹€Bà
€CØ�9‰9˜#ˆ9Ó(¨AÔ-Ð-Ð-Ü×Ò˜3Ó%€AÙ‹:€DØ‡L�L�d€LÔØ  IÔ-‰g°7€GØ�{‰{˜3Õ×'Ñ'€HÜ�h˜vÕ&×+Ñ+¨W×5Ò5Ð5Ð5Ü�h˜vÕ&×+Ñ+¨X×6Ò6Ð6Ð6Ü�h˜u•o×*Ñ*¨G×4Ò4Ð4Ð4Ü�h˜wÕ'×,Ñ,¨e×4Ò4Ð4Ò4r,   c                óv  € V R 8X  d   \         P                  ! R4       TP                  V 4      p ^ RIHpHpHp ^ RIHp Rp\        R\        V.RR7      R\        V.R	R7      R
\        V.R	R7      R\        ^.RR7      R\        ^.RR7      /4      pVP                  RV RRR
V! ^R7      /R7      ^8X  g   Q h\        P                  ! RV 4      p\        P                  ! VR,          P                   ^ ,          ^4      \        P                  ! VR,          P                   ^ ,          ^4      8X  g   Q hV! 4       p	V	P#                  V R7       V	P$                  R,          P&                  p
\)        V
R,          P*                  4      \)        V
R
,          P*                  4      8X  g   Q h\-        V
R,          P*                  V4      '       g   Q h\-        V
R,          P*                  V4      '       g   Q h\-        V
R,          P*                  V4      '       g   Q h\-        V
R,          P*                  V4      '       g   Q hR# )r_  ry  )Ú
BigIntegerr2   r…   r$  gñYÉBÊÀó?Úf32rü  r˜  Úf64Úfloat64Ú
f64_as_f32Úi32r™  r¬  rÝ   Útest_dtypesFr¡  )Ú	precision)r¬   rp   rµ   r‡  r>   rf   N)r  r«  rˆ  r<   r>  r2   r…   r,  r3   r   r   r‰  r   r#   rÁ   Úroundr¾   r-  r.  rÅ   r€   r¿   ry   )rV   rŠ  r>  r2   r…   r3   ÚVrß   r  r/  r;  s   &&         r-   Útest_double_precisionrH    sð  € àˆ|ÔÜ�ŠÐ9Ô:à×"Ñ" 4Ó(€D÷ñ õ
 +à€Aä	à”6˜1˜# YÔ/Ø”6˜1˜# YÔ/Øœ& ! ¨IÔ6Ø”6˜1˜# WÔ-Ø”6˜1˜# WÔ-ð	
ó
€Bð 	�	‰	ØØØØØ¡°Ô!4Ð5ð 	ó 	
ð ô	ð	ð	ô ×
Ò
˜]¨DÓ
1€Cô �8Š8�B�u•I—N‘N 1Õ% rÓ*¬b¯hªh°s¸5µz·±ÀqÕ7IÈ2Ó.NÔNÐNÐNñ ‹:€DØ‡L�L�d€LÔØ�{‰{˜=Õ)×1Ñ1€HÜˆx˜�×#Ñ#Ó$¬¨H°\Õ,B×,GÑ,GÓ(HÔHÐHÐHÜ�h˜u•o×*Ñ*¨E×2Ò2Ð2Ð2Ü�h˜u•o×*Ñ*¨E×2Ò2Ð2Ð2Ü�h˜u•o×*Ñ*¨G×4Ò4Ð4Ð4Ü�h˜u•o×*Ñ*¨J×7Ò7Ð7Ò7r,   c                óÂ   aaaa€ VP                  V 4      p ^ RIHo R oR oVV3R loVV3R lp\        R. R	O/4      P	                  RV R7      ^8X  g   Q hV! V 4       R# )
r   rŸ   c                ó4   € R p\         P                  ! WR7      # )z'SELECT test_foo_data FROM test_foo_datar€  )r   r"   )r  rß  s   & r-   Útest_selectÚ3test_connectable_issue_example.<locals>.test_selectY  s   € Ø9ˆÜ×!Ò! %Ô8Ð8r,   c                ó.   € VP                  R V RR7       R# )Útest_foo_datarþ   )r¬   rp   r‡  N)r‰  )r  rÕ   s   &&r-   Útest_appendÚ3test_connectable_issue_example.<locals>.test_append]  s   € Ø�‰˜¨jÀHˆÖMr,   c                ó(   <€ S! V 4      pS! W4       R # r'  r+   )rV   Úfoo_datarO  rK  s   & €€r-   Útest_connectableÚ8test_connectable_issue_example.<locals>.test_connectable`  s   ø€ ñ ˜tÓ$ˆÙ�DÖ#r,   c           	     ó"  <€ \        V S4      '       dM   V P                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        S! V4       R R R 4       R R R 4       R # S! V 4       R #   + '       g   i     L$; i  + '       g   i     R # ; ir'  )ry   r¢   rk   )ÚconnectablerV   r    rS  s   & €€r-   ÚmainÚ,test_connectable_issue_example.<locals>.mainf  s_   ø€ Ü�k 6×*Ò*Ø×$Ñ$×&Ô&¨$Ø—Z‘Z—\•\Ù$ TÔ*÷ "÷ 'Ñ&ñ ˜[Ö)÷ "—\ú÷ '×&Ð&ús#   ¬A=Á	A*	ÁA=Á*A:Á5A=Á=B	rN  r¢  Nr	  )rˆ  r¡   r    r   r‰  )rV   rŠ  rW  r    rO  rS  rK  s   && @@@@r-   Útest_connectable_issue_examplerY  Q  sh   û€ à×"Ñ" 4Ó(€Dõ )ò9òNö$ö*ô 	�?¢IÐ.Ó/×6Ñ6¸OÐQUÐ6ÓVØô	ðð	ñ 	ˆ†Jr,   Úinputr¡  Úinfe0Úbarc                óº  € \        V4      pT pVP                  V 4      p R V9   dZ   Rp\        P                  ! \        P
                  P                  VR7      ;_uu_ 4        VP                  RV RR7       RRR4       R# VP                  RV RR7      ^8X  g   Q h\        P                  ! RV 4      p\        P                  ! W64       R#   + '       g   i     R# ; i)r'   úExecution failed on sqlrÃ  ÚfoobarFrú  N)r   rˆ  r  rÄ  r¢  rv   rl  r‰  r   r#   rÃ   Úassert_equal)rV   rŠ  rZ  rß   rö  r¨  r  s   &&&    r-   Útest_to_sql_with_negative_npinfra  u  s°   € ô 
�5Ó	€BØ€IØ×"Ñ" 4Ó(€Dà�)Ôð (ˆÜ�]Š]œ2Ÿ9™9×2Ñ2¸#×>Ö>Ø�I‰I˜8¨°UˆIÔ;÷ ?Ñ>ð �y‰y˜h¨D¸ˆyÓ>À!ÔCÐCÐCÜ× Ò  ¨4Ó0ˆÜ
�Š˜Ö ÷ ?×>Ð>ús   Á C	Ã	C	c           
     óÂ  aaa€ V R 8X  d   \         P                  ! R4       TP                  V 4      p ^ RIHoHoHoHp ^ RIH	pH
p Rp\        RV./4      pV! 4       p ! VVV3R lRV4      pV! V 4      ;_uu_ 4       p	V	P                  4       ;_uu_ 4        V	P                  4       p VP                  P                  V 4       V	P!                  V! VR7      4       V	P#                  4        \$        P&                  ! V! VP(                  4      V R	7      p
R
R
R
4       R
R
R
4       \*        P,                  ! X
V4       R
#   + '       g   i     L1; i  + '       g   i     L<; i)r_  z&test does not work with str connection)r0   r…   ÚUnicoderÕ  )ÚSessionÚdeclarative_basezHello, World!Úspamc                  ób   <€ ] tR tRtRtRR./t Z !  ZRR7      t Z !  Z! ^4      RR7      tR	tR
# )Ú'test_temporary_table.<locals>.Temporaryi¤  Ú	temp_testÚprefixesÚ	TEMPORARYT©Úprimary_keyF)Únullabler+   N)	rd  re  rf  rg  Ú__tablename__Ú__table_args__Úidrf  rh  )r0   r…   rc  s   €€€r-   Ú	Temporaryrh  ¤  s0   ø† Ø#ˆØ$ { mÐ4ˆÚ‘G¨Ô.ˆÚ’g˜b“k¨EÔ2Œr,   rr  )rf  )r   rp   N)r  r«  rˆ  r<   r0   r…   rc  rÕ  Úsqlalchemy.ormrd  re  r   rk   r  Ú	__table__rm   ÚaddÚflushr   r"   rf  rÃ   r   )rV   rŠ  rÕ  rd  re  r:  r  ÚBaserr  Úsessionrß   r0   r…   rc  s   &&         @@@r-   Útest_temporary_tablery  Ž  s  ú€ àˆ|ÔÜ�ŠÐ<Ô=à×"Ñ" 4Ó(€D÷ó ÷ð
  €IÜ˜& 9 +Ð.Ó/€HÙÓ€D÷3ñ 3�Dô 3ñ 
��Œ˜'Ø�]‰]�_�_Ø×%Ñ%Ó'ˆDØ×Ñ×&Ñ& tÔ,Ø�K‰K™	 yÔ1Ô2Ø�M‰MŒOÜ×#Ò#©¨y¯~©~Ó(>ÀDÔIˆB÷ ÷ 
ô ×Ò˜"˜hÖ'÷ �_ú÷ 
�ús%   Á=EÂA<D;	ÄEÄ;EÅEÅE	c           
     ó®  € V R 8X  g   RV 9   d0   VP                  \        P                  P                  RR7      4       VP	                  V 4      p Rp\        V 4      ;_uu_ 4       p\        P                  ! \        VR7      ;_uu_ 4        VP                  VRRR7       R	R	R	4       R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     R	# ; i)
r~  r|   z9SQLiteDatabase/ADBCDatabase does not raise for bad enginer�  z*engine must be one of 'auto', 'sqlalchemy'rÃ  rî   Ú
bad_engine©rÑ   N)	rñ  r  r’  r“  rˆ  r!   rÄ  rÅ  r‰  )rV   rŠ  rî   r¨  r¹  s   &&&  r-   Útest_invalid_enginer}  ´  s£   € àÐÔ 6¨T¤>Ø×ÑÜ�K‰K×ÑØRð ó ô	
ð ×"Ñ" 4Ó(€DØ
6€CÜ	˜4×	 Ô	  IÜ�]Š]œ:¨S×1Ö1Ø×Ñ˜[¨-ÀÐÔM÷ 2÷ 
!Ñ	 ß1×1ú÷ 
!×	 Ð	 ús$   Á$%CÂ	B0	ÂCÂ0C Â;CÃC	c           
     ó–  € VP                  V 4      p \        V 4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  VRRR7      ^8X  g   Q hVP	                  R4      '       g   Q h RRR4       RRR4       \        V4      p\        V R4      pWT8X  g   Q hR#   + '       g   i     L9; i  + '       g   i     LD; i)z `to_sql` with the `engine` paramrî   Úautor|  N)rˆ  r!   rV  r‰  r·  r¸  rÒ   rk  s   &&&   r-   Útest_to_sql_with_sql_enginer€  Ä  s¨   € ð ×"Ñ" 4Ó(€DÜ	˜4×	 Ô	  IØ×&Ñ&×(Õ(Ø×#Ñ# K°ÀvÐ#ÓNÐRSÔSÐSÐSØ×&Ñ& }×5Ò5Ð5Ñ5÷ )÷ 
!ô
 �kÓ"€KÜ˜$ Ó.€HØÔ"Ð"Ò"÷ )×(ú÷ 
!×	 ús(   ¥B8¾2B%	Á1B%	Á4B8Â%B5Â0B8Â8C	c                ó  € VP                  V 4      p \        P                  ! R R4      ;_uu_ 4        \        V 4      ;_uu_ 4       pVP	                  4       ;_uu_ 4        VP                  VR4      ^8X  g   Q hVP                  R4      '       g   Q h RRR4       RRR4       \        V4      p\        V R4      pWT8X  g   Q h RRR4       R#   + '       g   i     LB; i  + '       g   i     LM; i  + '       g   i     R# ; i)úio.sql.enginer<   rî   N©	rˆ  r¢  Úoption_contextr!   rV  r‰  r·  r¸  rÒ   rk  s   &&&   r-   Útest_options_sqlalchemyr…  Ó  sÇ   € ð ×"Ñ" 4Ó(€DÜ	×	Ò	˜?¨L×	9Õ	9Ü˜t×$Ô$¨	Ø×*Ñ*×,Õ,Ø ×'Ñ'¨°]ÓCÀqÔHÐHÐHØ ×*Ñ*¨=×9Ò9Ð9Ñ9÷ -÷ %ô
 ˜+Ó&ˆÜ˜d MÓ2ˆØÔ&Ð&Ñ&÷ 
:Ñ	9ç,×,ú÷ %×$ú÷ 
:×	9Ð	9úóA   ±C2ÁC	Á0CÂCÂC	Â'C2ÃCÃC	ÃC/Ã*C2Ã2D	c                ó  € VP                  V 4      p \        P                  ! R R4      ;_uu_ 4        \        V 4      ;_uu_ 4       pVP	                  4       ;_uu_ 4        VP                  VR4      ^8X  g   Q hVP                  R4      '       g   Q h RRR4       RRR4       \        V4      p\        V R4      pWT8X  g   Q h RRR4       R#   + '       g   i     LB; i  + '       g   i     LM; i  + '       g   i     R# ; i)r‚  r  rî   Nrƒ  rk  s   &&&   r-   Útest_options_autorˆ  â  sÇ   € ð ×"Ñ" 4Ó(€DÜ	×	Ò	˜?¨F×	3Õ	3Ü˜t×$Ô$¨	Ø×*Ñ*×,Õ,Ø ×'Ñ'¨°]ÓCÀqÔHÐHÐHØ ×*Ñ*¨=×9Ò9Ð9Ñ9÷ -÷ %ô
 ˜+Ó&ˆÜ˜d MÓ2ˆØÔ&Ð&Ñ&÷ 
4Ñ	3ç,×,ú÷ %×$ú÷ 
4×	3Ð	3úr†  c                 ón  € \         P                  ! R 4       \        \        R 4      \        4      '       g   Q h\
        P                  ! RR 4      ;_uu_ 4        \        \        R4      \        4      '       g   Q h\        \        R 4      \        4      '       g   Q h RRR4       \
        P                  ! RR4      ;_uu_ 4        \        \        R4      \        4      '       g   Q h\        \        R 4      \        4      '       g   Q h RRR4       R#   + '       g   i     L}; i  + '       g   i     R# ; i)r<   r‚  r  N)r  r  ry   r    r   r¢  r„  r+   r,   r-   Útest_options_get_enginerŠ  ñ  s×   € Ü
×Ò˜Ô%Ü”j Ó.Ô0@×AÒAÐAÐAä	×	Ò	˜?¨L×	9Õ	9Üœ* VÓ,Ô.>×?Ò?Ð?Ð?Üœ* \Ó2Ô4D×EÒEÐEÑE÷ 
:ô 
×	Ò	˜?¨F×	3Õ	3Üœ* VÓ,Ô.>×?Ò?Ð?Ð?Üœ* \Ó2Ô4D×EÒEÐEÑE÷ 
4Ñ	3÷	 
:×	9ú÷ 
4×	3Ð	3ús   ÁADÃAD#ÄD 	Ä#D4	ÚfuncrË  r"   c           	     ó¶  € T pVP                  V 4      p R pTp	V	P                  W€RRR7       \        P                  ! RV4      ;_uu_ 4        \	        \        V4      ! RV 2WR7      p
V! W$V4      pRRR4       \
        P                  ! X
X4       RV9   d0   VP                  \        P                  P                  R	R
7      4       \        P                  ! RV4      ;_uu_ 4        \	        \        V4      ! RV 2V V^R7      pV! W$V4      pV F  p
\
        P                  ! W«4       K  	  RRR4       R#   + '       g   i     LÌ; i  + '       g   i     R# ; i)r…  Fr¡  ©r¬   rp   rµ   r‡  úmode.string_storageúSelect * from ©Údtype_backendNr|   z(adbc does not support chunksize argumentr�  )rp   r‘  rÒ  )rˆ  r‰  r¢  r„  r_  rÃ   r   rñ  r  r’  r“  ©rV   rŠ  Ústring_storager‹  r‘  Údtype_backend_dataÚdtype_backend_expectedrö  r  rß   r  r  Úiterators   &&&&&&&      r-   Útest_read_sql_dtype_backendr—  þ  s8  € ð €IØ×"Ñ" 4Ó(€DØ€EØ	€BØ‡I�I�5¨%¸9€IÔEä	×	Ò	Ð0°.×	AÕ	AÜœ˜TÔ"Ø˜U˜GÐ$ dô
ˆñ *¨.ÈÓSˆ÷	 
Bô ×Ò˜& (Ô+à�Ôà×ÑÜ�K‰K×ÑÐ%OÐÓPô	
ô 
×	Ò	Ð0°.×	AÕ	AÜœ2˜tÔ$Ø˜U˜GÐ$ØØ'Øô	
ˆñ *¨.ÈÓSˆÛˆFÜ×!Ò! &Ö3ñ ÷ 
BÑ	A÷ 
B×	Aú÷ 
B×	AÐ	Aús   Á%D4Ã$AEÄ4E	ÅE	r#   c           	     óÊ  € R V 9   d7   RV 9  d0   VP                  \        P                  P                  RR7      4       T pVP	                  V 4      p RpTp	V	P                  W€RRR7       \        P                  ! RV4      ;_uu_ 4        \        \        V4      ! W€VR	7      p
V! W$V4      pR
R
R
4       \        P                  ! X
X4       RV9   d   R
# \        P                  ! RV4      ;_uu_ 4        \        \        V4      ! VV V^R7      pV! W$V4      pV F  p
\        P                  ! W«4       K  	  R
R
R
4       R
#   + '       g   i     Lœ; i  + '       g   i     R
# ; i)r&   r|   zhSQLite actually returns proper boolean values via read_sql_table, but before pytest refactor was skippedr�  r…  Fr¡  r�  rŽ  r�  N)r‘  rÒ  )rñ  r  r’  r“  rˆ  r‰  r¢  r„  r_  rÃ   r   r’  s   &&&&&&&      r-   Ú!test_read_sql_dtype_backend_tabler™  *  s>  € ð �4Ô˜F¨$Ô.Ø×ÑÜ�K‰K×ÑðMð ó ô	
ð €IØ×"Ñ" 4Ó(€DØ€EØ	€BØ‡I�I�5¨%¸9€IÔEä	×	Ò	Ð0°.×	AÕ	AÜœ˜TÔ" 5¸mÔLˆÙ)¨.ÈÓSˆ÷ 
Bô ×Ò˜& (Ô+à�Ôáä	×	Ò	Ð0°.×	AÕ	AÜœ2˜tÔ$ØØØ'Øô	
ˆñ *¨.ÈÓSˆÛˆFÜ×!Ò! &Ö3ñ ÷ 
BÑ	A÷ 
B×	Aú÷ 
B×	AÐ	Aús   Â"D>Ã1AEÄ>E	ÅE"	c                ó  € VP                  V 4      p R pTpVP                  W@RRR7       Rp\        P                  ! \        VR7      ;_uu_ 4        \        \        V4      ! W@RR7       RRR4       R#   + '       g   i     R# ; i)	r…  Fr¡  r�  zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rÃ  Únumpyr�  N)rˆ  r‰  r  rÄ  rÅ  r_  r¢  )rV   rŠ  r‹  r”  r  rß   r¨  s   &&&&   r-   Ú)test_read_sql_invalid_dtype_backend_tablerœ  Z  sm   € ð ×"Ñ" 4Ó(€DØ€EØ	€BØ‡I�I�5¨%¸9€IÔEð	!ð ô 
�Š”z¨×	-Ö	-Ü”�DÔ˜%°WÕ=÷ 
.×	-×	-Ò	-ús   ÁA3Á3B	c               ó   € V ^8„  d   QhRR/# ©rC   rU  r   r+   )rE   s   "r-   rF   rF   k  s   € ÷ ñ ˜Iñ r,   c                 óì   € \        R \        ^\        P                  ^.RR7      R\        . RORR7      R\        R\        P                  R.RR7      R\        . RORR7      R	. ROR
. ROR. ROR. RO/4      # )rœ  ÚInt64r˜  rù  r   rÈ  ç      @ÚFloat64ÚdÚeÚfÚgÚhrû  ©rÈ  r~  r¡  )TFN©TFT©rœ  rù  r   ©rœ  rù  N)r   r   r¢  ÚNAr+   r,   r-   r”  r”  j  sp   € äà”˜œBŸE™E 1˜¨WÔ5Ø”š	¨Ô1Ø”˜œbŸe™e SÐ)°Ô;Ø”š¨yÔ9ØÒ$ØÒ$Ø’ØÒ!ð		
óð r,   c                 ó   € R  R lp V # )c               ó   € V ^8„  d   QhRR/# rž  r+   )rE   s   "r-   rF   Ú,dtype_backend_expected.<locals>.__annotate__|  s   € ÷ &ñ &¸)ñ &r,   c                ól  € VR 8X  d<   \         P                  ! R 4      p\        P                  ! VP	                  4       4      pM\        P
                  ! V 4      p\        R\        ^\        P                  ^.RR7      R\        . RORR7      R\        R\        P                  R.RR7      R	\        . RORR7      R
\        RR\        P                  .RR7      R\        . RORR7      R\        . ROVR7      R\        . ROVR7      /4      pVR 8X  d_   \         P                  ! R 4      p^ RI	H
p \        VP                   Uu/ uF"  pWv! VP                  WW,          RR7      4      bK$  	  up4      pRV9   g   RV9   d4   VR8X  d   VP                  R
RRR/4      pV# VP                  R
RRR/4      pV# u upi )rC  rœ  r   r˜  rù  r   rÈ  r¡  r¢  r£  r¤  TFÚbooleanr¥  r¦  r§  )ÚArrowExtensionArray)Úfrom_pandasr'   r&   Únumpy_nullablezint64[pyarrow]rû  r¨  r©  rª  r«  )r  r  r¢  Ú
ArrowDtyper›  ÚStringDtyper   r   r¬  Úpandas.arraysr²  rÅ   r£  r®   )r“  r‘  rö  r  Ústring_dtyperß   r²  rv  s   &&&     r-   r‹  Ú$dtype_backend_expected.<locals>.func|  sŒ  € à˜IÔ%Ü×$Ò$ YÓ/ˆBÜŸ=š=¨¯©«Ó5‰LäŸ>š>¨.Ó9ˆLäà”V˜Q¤§¡ q˜M°Ô9Ø”VšI¨WÔ5Ø”V˜S¤"§%¡%¨Ð-°YÔ?Ø”VšO°9Ô=Ø”V˜T 5¬"¯%©%Ð0¸	ÔBØ”VÒ/°yÔAØ”VšO°<Ô@Ø”VÒ,°LÔAð	ó
ˆð ˜IÔ%Ü×$Ò$ YÓ/ˆBå9äð  "Ÿzšzóá)˜ð Ð,¨R¯X©X°bµgÈ4¨XÓ-PÓQÒQÙ)ñóˆBð �iÔ 8¨yÔ#8ØÐ 0Ô0Ø—Y‘Y  W¨c°7Ð;Ó<�ð ˆ	ð —Y‘Y Ð%5°sÐ<LÐMÓN�àˆ	ùòs   Ä?(F1r+   )r‹  s    r-   r•  r•  z  s   € õ&ðP €Kr,   c                ó�  € R V 9   d:   VP                   P                  \        P                  P	                  RR7      4       VP                  V 4      p RRRR/p\        RR.R7      P                  V4      pVP                  4       pVP                  RV R	R
R7       \        RV V^R7       F  p\        P                  ! WT4       K  	  R# )r|   rä  r�  rœ  rÝ   rù  rô  râ   r…  Fr¡  r�  zSELECT * FROM test)r>   rÒ  N)r�  r‘  r  r’  r“  rˆ  r   r®   r   r‰  r"   rÃ   r   )rV   rŠ  r½   rß   r  r  s   &&    r-   Útest_chunksize_empty_dtypesr»  §  s¶   € ð �„~Ø�‰×ÑÜ�K‰K×ÑÐ%RÐÓSô	
ð ×"Ñ" 4Ó(€DØ�7˜C Ð*€FÜ	˜C ˜:Ô	&×	-Ñ	-¨fÓ	5€BØ�w‰w‹y€HØ‡I�I�6˜t¨5¸I€IÔFä ØØØØ÷	ˆô 	×Ò˜fÖ/ór,   r‘  r´  c           
     ó|  € VP                  V 4      p R p\        R. ROR^/4      pVP                  W@RRR7       \        \        V4      ! RV 2V R\
        P                  /VR7      p\        R\        . RO\
        P                  R7      R\        . ROVR	8X  g   R
MRR7      /4      p\        P                  ! Wg4       R# )r…  rœ  rù  Fr¡  r�  r�  )r>   r‘  r˜  r´  rÝ   r   Nrû  )r»   r»   r»   )
rˆ  r   r‰  r_  r¢  rÁ   rA  r   rÃ   r   )rV   rŠ  r‹  r‘  r  rß   r  r  s   &&&&    r-   Útest_read_sql_dtyper½  ½  s¶   € ð
 ×"Ñ" 4Ó(€DØ€EÜ	�Cš C¨Ð+Ó	,€BØ‡I�I�5¨%¸9€IÔEä”R˜ÔØ
˜˜Ð ØØ”B—J‘JÐØ#ô	€Fô à”š	¬¯©Ô4Ø”ÚØ%2Ð6FÔ%F‘gÈGôð	
ó€Hô ×Ò˜&Ö+r,   c                ó  € T p\        R ^^./RR7      pVP                  RVRR7      ^8X  g   Q h\        P                  ! R4      ;_uu_ 4        \        P
                  ! RV4       RRR4       R#   + '       g   i     R# ; i)rœ  rÝ   r˜  Útest_bigintwarningFrú  N)r   r‰  rÃ   r¦  r   r#   ©ra  rV   rß   s   &  r-   Útest_bigint_warningrÁ  Ù  sj   € Ø€Dä	�C˜!˜Q˜�=¨Ô	0€BØ�9‰9Ð.°DÀˆ9ÓFÈ!ÔKÐKÐKä	×	#Ò	# D×	)Õ	)Ü×ÒÐ/°Ô6÷ 
*×	)×	)Ò	)ús   ÁA/Á/B 	c           	     óÜ   € T p\        R ^^.R^^./4      p\        P                  ! \        RR7      ;_uu_ 4        VP	                  RVRRR7       RRR4       R#   + '       g   i     R# ; i)	r  r  zEmpty table name specifiedrÃ  r�  r¡  Fr†  N)r   r  rÄ  rÅ  r‰  rÀ  s   &  r-   Útest_valueerror_exceptionrÃ  ã  sX   € Ø€DÜ	�F˜Q ˜F F¨Q°¨FÐ3Ó	4€BÜ	�Š”zÐ)E×	FÖ	FØ
�	‰	�r˜t¨yÀˆ	ÔF÷ 
G×	F×	FÒ	Fús   ºAÁA+	c           	     ó„  a
aa€ T p^ RI Ho
HoHo ^ RIHpHp V! 4       p ! V
VV3R lRV4      pVP                  4       ;_uu_ 4        VP                  P                  V4       RRR4       V! VR7      pV! 4       ;_uu_ 4       p\        R^ ^.RR	R
./4      pVP                  RVRRR7      ^8X  g   Q hVP                  4        VP                  VP                  VP                  4      p	\        V	4      pRRR4       \!        XP"                  4      RR.8X  g   Q hR#   + '       g   i     LÁ; i  + '       g   i     LC; i)r   ©r0   r…   r4   )re  Úsessionmakerc                  óT   <€ ] tR tRtRt Z !  ZRR7      t Z !  Z! ^24      4      tRtR# )Ú,test_row_object_is_named_tuple.<locals>.Testiü  rµ  Trl  r+   N)rd  re  rf  rg  ro  rq  Ústring_columnrh  rÅ  s   €€€r-   ÚTestrÈ  ü  s"   ø† Ø$ˆÚ‘G¨Ô.ˆÚšv b›zÓ*Œr,   rÊ  Nrf   rq  rÉ  ÚhelloÚworldrµ  Fr¡  r�  )r<   r0   r…   r4   rs  re  rÆ  rk   r?   Ú
create_allr   r‰  rU   rß  rq  rÉ  r0  rÅ   )ra  rV   re  rÆ  Ú	BaseModelrÊ  rd  rx  rß   Ú
test_queryr0   r…   r4   s   &         @@@r-   Útest_row_object_is_named_tuplerÐ  ê  s  ú€ Ø€D÷
ñ ÷
ñ
 !Ó"€I÷+ñ +ˆyô +ð
 
�‰��Ø×Ñ×%Ñ% dÔ+÷ 
á Ô%€GÙ	�Œ�gÜ˜˜q !˜f o¸ÀÐ7IÐJÓKˆà�I‰I˜<¨T¸È)ˆIÓTØôð	
ðð 	�‰ÔØ—]‘] 4§7¡7¨D×,>Ñ,>Ó?ˆ
Ü�zÓ"ˆ÷ 
ô �—
‘
Ó  oÐ6Ô6Ð6Ò6÷ 
�ú÷ 
�ús   ÁDÂA1D/ÄD,	Ä/D?	c           	     ó”  € T pR p\        RRR./4      pVP                  W!RRR7       \        P                  ! RR4      ;_uu_ 4        \	        W!4      pR	R	R	4       \        P
                  ! \        P                  R
7      p\        RRR./V\        R.VR7      R7      p\        P                  ! XV4       R	#   + '       g   i     Ll; i)r…  rœ  ÚxÚyFr¡  )rp   rµ   r‡  zfuture.infer_stringTN)Úna_valuer˜  )r>   rÅ   )r   r‰  r¢  r„  r#   r¶  rÁ   r
  r   rÃ   r   )ra  rV   r  rß   r  r>   r  s   &      r-   Útest_read_sql_string_inferencerÕ    s¦   € Ø€Dà€EÜ	�C˜#˜s˜Ð$Ó	%€BØ‡I�Iˆe U°i€IÔ@ä	×	Ò	Ð0°$×	7Õ	7Ü Ó,ˆ÷ 
8ô �NŠN¤B§F¡FÔ+€EÜØ	ˆs�CˆjÐ ´°s°eÀ5Ô0Iô€Hô ×Ò˜& (Ö+÷ 
8×	7ús   ÁB7Â7C	c           	     óÎ   € T p\        R \        R^^^4      ./RR7      pVP                  RVRRR7       \        P                  ! RV4      P
                  R,          pVR	8X  g   Q hR
# ©Útiä  zdatetime64[ns]r˜  r…  r¡  Fr�  úselect * from testz2020-12-31 12:00:00.000000N©r   r   )r   r   r‰  r¢  rË  r¾   )ra  rV   rß   r  s   &   r-   Útest_roundtripping_datetimesrÛ  #  sf   € Ø€Dä	�Cœ( 4¨¨R°Ó4Ð5Ð6Ð>NÔ	O€BØ‡I�Iˆf�d i°u€IÔ=Ü�[Š[Ð-¨tÓ4×9Ñ9¸$Õ?€FØÐ1Ô1Ð1Ò1r,   c            	   #  ó   "  € \         P                  ! \        P                  ! R \        P                  R7      4      ;_uu_ 4       p V ;_uu_ 4       pVx € RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)ry  )Údetect_typesN)rz  r{  rz   r¢   ÚPARSE_DECLTYPESr|  s     r-   Úsqlite_builtin_detect_typesrß  ,  sa   é € ä	×	Ò	Ü�Š˜
´×1HÑ1HÔI÷
ô 
à	ß‰\˜TØŠJ÷ ÷
ñ 
÷ �\ú÷
÷ 
ð 
üs6   ‚ABÁA:ÁA'	ÁA:Á
BÁ'A7Á2A:Á:B	Â	Bc           	     óà   € T p\        R \        R^^^4      ./RR7      pVP                  RVRRR7       \        P                  ! RV4      P
                  R,          pV\        R	4      8X  g   Q hR
# r×  )r   r   r‰  r¢  rË  r¾   r   )rß  rV   rß   r  s   &   r-   Ú)test_roundtripping_datetimes_detect_typesrá  5  sk   € à&€DÜ	�Cœ( 4¨¨R°Ó4Ð5Ð6Ð>NÔ	O€BØ‡I�Iˆf�d i°u€IÔ=Ü�[Š[Ð-¨tÓ4×9Ñ9¸$Õ?€FØ”YÐ;Ó<Ô<Ð<Ò<r,   c           	     óH  € T p\        R ^^.RRR.RRR./4      pVP                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  R4       VP                  R4       R	R	R	4       R	R	R	4       VP	                  R
VRR7      ^8X  g   Q hVP	                  RVRRR7      ^8X  g   Q hVP	                  RVRRR7      ^8X  g   Q h\
        P                  ! R
V4      p\        P                  ! W$4       \
        P                  ! RV4      p\        P                  ! W%4       \
        P                  ! RVRR7      p\        P                  ! W&4       \
        P                  ! RVRR7      p\        P                  ! W'4       Rp\        P                  ! \        VR7      ;_uu_ 4        \
        P                  ! RVRR7       R	R	R	4       VP                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP                  R4       VP                  R4       R	R	R	4       R	R	R	4       VP	                  RVRRR7      ^8X  g   Q hVP	                  RVRRRR7       VP	                  RVRRRR7      ^8X  g   Q h\
        P                  ! RVRR7      p	\        P                  ! \        W".RR7      V	4       R	#   + '       g   i     EL]; i  + '       g   i     ELi; i  + '       g   i     EL*; i  + '       g   i     Lá; i  + '       g   i     Lì; i)r  r  rþ  r¸   r  rœ  r  z$DROP SCHEMA IF EXISTS other CASCADE;zCREATE SCHEMA other;NÚtest_schema_publicFrú  Útest_schema_public_explicitr8  )r¬   rp   rµ   r  Útest_schema_otherÚotherr9  z!Table test_schema_other not foundrÃ  )r¬   rp   r  rµ   r¡  )r¬   rp   r  rµ   r‡  rþ   Trî  )r   r¢   rk   rÎ   r‰  r   r#   rÃ   r   r  rÄ  rÅ  r   )
r:  rV   rß   rp   r  r  rø  Úres4r¨  r  s
   &         r-   Útest_psycopg2_schema_supportrè  >  sº  € à%€Dô 
�F˜Q ˜F F¨S°#¨J¸ÀÀcÀ
ÐKÓ	L€Bð 
�‰�Œ˜3Ø�Y‰Y�[�[Ø×ÑÐ FÔGØ×ÑÐ 6Ô7÷ ÷ 
ð �9‰9Ð.°DÀˆ9ÓFÈ!ÔKÐKÐKà
�	‰	Ø.ØØØð	 	ó 	
ð ô	ðð	ð 	�	‰	Ð*°¸EÈ'ˆ	ÓRÐVWÔWðØWô ×ÒÐ2°DÓ9€DÜ×Ò˜"Ô#Ü×ÒÐ;¸TÓB€DÜ×Ò˜"Ô#Ü×ÒÐ;¸TÈ(ÔS€DÜ×Ò˜"Ô#Ü×ÒÐ1°4ÀÔH€DÜ×Ò˜"Ô#Ø
-€CÜ	�Š”z¨×	-Ö	-Ü×ÒÐ.°¸XÕF÷ 
.ð 
�‰�Œ˜3Ø�Y‰Y�[�[Ø×ÑÐ FÔGØ×ÑÐ 6Ô7÷ ÷ 
ð 	�	‰	Ð*°¸WÈEˆ	ÓRÐVWÔWðØWà‡I�IØ ØØØØð ô ð 	�	‰	Ø$ØØØØð 	ó 	
ð ô	ð	ð	ô ×
Ò
Ð0°$¸wÔ
G€CÜ×Òœ& " ¸Ô=¸sÖC÷} �[ˆ[ú÷ 
�ˆú÷< 
.×	-Ð	-ú÷ �[ú÷ 
�úsS   ²KÁ#K	Á.KÆ/K*Ç)LÈ#K>	È%LËKË	KËK'	Ë*K;	Ë>LÌ	LÌL!	c           	     óœ  € T p^ RI Hp V! R4      pVP                  4       ;_uu_ 4       pVP                  4       ;_uu_ 4        VP	                  V4       RRR4       RRR4       Rp\
        P                  ! WQ4      p\        ^\        RRR7      .^,          .RR	.^,          R
7      pVR	,          P                  R4      VR	&   \        P                  ! Wg4       \        P                  ! VRR7      ;_uu_ 4       pVP                  R4       RRR4       R#   + '       g   i     LÈ; i  + '       g   i     LÓ; i  + '       g   i     R# ; i)r   rw   zÐ
    CREATE TABLE person
    (
        id serial constraint person_pkey primary key,
        created_dt timestamp with time zone
    );

    INSERT INTO person
        VALUES (1, '2021-01-01T00:00:00Z');
    NzHSELECT * FROM "person" AS p1 INNER JOIN "person" AS p2 ON p1.id = p2.id;Ú2021r¨   r©   rq  Ú
created_dtrâ   r­   Tr³  Úperson)r/  rx   r¢   rk   rM   r¢  rË  r   r   r®   rÃ   r   r   r   r  )	r:  rV   rx   rM  rp   r  r  r  r¹  s	   &        r-   Útest_self_join_date_columnsrí  ‰  s  € ð &€DÝ#áð		ó€Lð 
�‰�Œ˜3Ø�Y‰Y�[�[Ø�K‰K˜Ô%÷ ÷ 
ð
 	Sð ô �[Š[˜Ó)€FÜØ
ŒY�v %Ô(Ð	)¨AÕ	-Ð.¸¸|Ð8LÈqÕ8Pô€Hð & lÕ3×:Ñ:¸=ÓI€Hˆ\ÑÜ×Ò˜&Ô+ô 
�Š˜°×	5Õ	5¸Ø×Ñ˜XÔ&÷ 
6Ñ	5÷ �[ú÷ 
�ú÷ 
6×	5Ð	5ús/   ©D'ÁD	ÁD'Ã8D:ÄD$ÄD'Ä'D7	Ä:E	c           	     ó2  € T p\        R . ROR. RO/4      p\        P                  ! V4      ;_uu_ 4       pVP                  4       ;_uu_ 4        VP	                  VR4      ^8X  g   Q h RRR4       VP                  R4      '       g   Q hVP                  4       ;_uu_ 4        VP                  R4       RRR4       VP                  R4      '       d   Q h RRR4       R#   + '       g   i     L; i  + '       g   i     LG; i  + '       g   i     R# ; i)rz  r{  Údrop_test_frameNr|  r�  )r   r   r   rV  r‰  r·  r  )ra  rV   r³  r¹  s   &   r-   Útest_create_and_drop_tablerð  ®  sÛ   € Ø€DÜ˜EÒ#7¸Ò@TÐUÓV€JÜ	�Š˜×	Ô	 )Ø×&Ñ&×(Õ(Ø×#Ñ# JÐ0AÓBÀaÔGÐGÑG÷ )ð ×"Ñ"Ð#4×5Ò5Ð5Ð5à×&Ñ&×(Õ(Ø× Ñ Ð!2Ô3÷ )ð ×&Ñ&Ð'8×9Ò9Ð9Ð9Ð9÷ 
Ñ	ß(×(ú÷
 )×(ú÷ 
×	Ð	úsG   ´DÁC	Á(DÂDÂ!C2	Â3DÃDÃC/Ã*DÃ2DÃ=DÄD	c                óö   € T p\        \        R ^^4      \        R ^^4      .R.R7      pVP                  RVRR7      ^8X  g   Q h\        RV4      p\        P
                  ! W2P                  \        4      4       R# )rã  rœ  râ   rä  Frú  zSELECT * FROM test_dateN)r   r   r‰  r"   rÃ   r   r®   r€   )r~  rV   rß   r  s   &   r-   Útest_sqlite_datetime_daterò  ½  sl   € Ø€DÜ	”D˜˜q !Ó$¤d¨4°°AÓ&6Ð7À#ÀÔ	G€BØ�9‰9˜+¨4°uˆ9Ó=ÀÔBÐBÐBÜ
Ð2°DÓ
9€Cä×Ò˜#Ÿy™y¬›~Ö.r,   Útz_awareFTc                óx  € TpV '       g   \        ^	^ ^ 4      \        ^	^^4      .pM7\        R^RR7      p\        VP                  4       4      P	                  R 4      p\        VR.R7      pVP                  RVRR	7      ^8X  g   Q h\        R
V4      pVP	                  R 4      p\        P                  ! Wg4       R# )rç  rº  r»  )r½  rª   c                ó"   € V P                  4       # r'  )Útimetz)rÁ  s   &r-   rð  Ú+test_sqlite_datetime_time.<locals>.<lambda>Î  s
   € ÀÇ	Á	Är,   rœ  râ   rè  Frú  zSELECT * FROM test_timec                ó$   € V P                  R 4      # rë  rì  rî  s   &r-   rð  r÷  Õ  s   €  §
¡
¨=Ô 9r,   N)
r   r   r   Úto_pydatetimerô  r   r‰  r"   rÃ   r   )ró  r~  rV   Útz_timesÚtz_dtrß   r  r  s   &&      r-   Útest_sqlite_datetime_timerü  Æ  s§   € à€DçÜ˜˜A˜q“M¤4¨¨1¨b£>Ð2‰äÐ0¸!ÀÔMˆÜ˜%×-Ñ-Ó/Ó0×4Ñ4Ñ5KÓLˆä	�8 c UÔ	+€Bà�9‰9˜+¨4°uˆ9Ó=ÀÔBÐBÐBÜ
Ð2°DÓ
9€Cà�v‰vÑ9Ó:€HÜ×Ò˜#Ö(r,   c                ó~   € V P                  R V R24      pV F  w  rErgr‰WR8X  g   K  Vu # 	  \        RV RV R24      h)zPRAGMA table_info(r
  zTable z	, column z
 not found)rM   rÅ  )
rV   r  ÚcolumnÚrecsÚcidr¬   ÚctypeÚnot_nullÚdefaultÚpks
   &&&       r-   Úget_sqlite_column_typer  Ù  sQ   € Ø�<‰<Ð,¨U¨G°1Ð5Ó6€DÛ37Ñ/ˆ�5 GØŽ>ØŠLñ 48ô �v˜e˜W I¨f¨X°ZÐ@Ó
AÐAr,   c                ó.  € T pR R.pRR.p\        W2R7      pVP                  RVR7      ^8X  g   Q hVP                  RVRR/R7      ^8X  g   Q h\        VRR4      R	8X  g   Q h\        VRR4      R8X  g   Q hR
p\        P                  ! \
        VR7      ;_uu_ 4        VP                  RVR\        /R7       RRR4       VP                  RVRR7      ^8X  g   Q h\        VRR 4      R8X  g   Q h\        VRR4      R8X  g   Q hR#   + '       g   i     LU; i)rã   rä   Nrâ   r%  r¢  r&  ÚSTRINGr'  rã  z!B \(<class 'bool'>\) not a stringrÃ  r•  r)  r*  r+  )r   r‰  r  r  rÄ  rÅ  Úbool)r~  rV   r  rÕ   rß   r¨  s   &     r-   Útest_sqlite_test_dtyper	  á  s  € Ø€DØ�ˆ:€DØ˜Ð%€DÜ	�4Ô	&€BØ�9‰9˜,¨Dˆ9Ó1°QÔ6Ð6Ð6Ø�9‰9˜-¨T¸#¸x¸ˆ9ÓIÈQÔNÐNÐNô " $¨°cÓ:¸iÔGÐGÐGä! $¨°sÓ;¸xÔGÐGÐGØ
.€CÜ	�Š”z¨×	-Ö	-Ø
�	‰	�w D°´d°ˆ	Ô<÷ 
.ð �9‰9Ð-°4¸xˆ9ÓHÈAÔMÐMÐMÜ! $Ð(;¸SÓAÀXÔMÐMÐMÜ! $Ð(;¸SÓAÀXÔMÐMÒM÷ 
.×	-ús   ÂDÄD	c                ót  € T pR \        RR.4      R\        \        R^^4      R.4      R\        ^R.RR7      R\        R	R.4      /p\        V4      pR
pVP                  WAR7      ^8X  g   Q h\	        WR 4      R8X  g   Q h\	        WR4      R8X  g   Q h\	        WR4      R8X  g   Q h\	        WR4      R8X  g   Q hR# )r5  TNr6  r7  r8  rô  r˜  r2   rá  r9  r¢  rã  r%  ÚREAL)r   r   r   r‰  r  )r~  rV   r  rß   r$  s   &    r-   Útest_sqlite_notna_dtyper  ÷  sÏ   € Ø€Dà”˜˜d�|Ó$Ø”œ  q¨!Ó,¨dÐ3Ó4ØŒv�q˜$�i xÔ0Ø”˜˜d˜Ó$ð	€Dô 
�4‹€Bà
€CØ�9‰9˜#ˆ9Ó(¨AÔ-Ð-Ð-ä! $¨VÓ4¸	ÔAÐAÐAÜ! $¨VÓ4¸ÔCÐCÐCÜ! $¨UÓ3°yÔ@Ð@Ð@Ü! $¨WÓ5¸Ô?Ð?Ò?r,   c                óü  € T p\        ^^.^^..RR.R7      pRp\        P                  ! \        VR7      ;_uu_ 4        VP	                  RVR7       RRR4       \        . RO4       F~  w  rEVP	                  WQR7      ^8X  g   Q h\        P                  ! WQ4       \        ^^.^^..RV.R7      pR	VR
 2pVP	                  WqR7      ^8X  g   Q h\        P                  ! Wq4       K€  	  R#   + '       g   i     L¡; i)rè  rœ  rù  râ   z$Empty table or column name specifiedrÃ  r�  r¢  NÚtest_weird_col_namer£  )
ztest_weird_name]ztest_weird_name[ztest_weird_name`ztest_weird_name"ztest_weird_name'z_b.test_weird_name_01-30z"_b.test_weird_name_01-30"Ú99beginswithnumberÚ12345r  )r   r  rÄ  rÅ  r‰  Ú	enumerater   Útable_exists)r~  rV   rß   r¨  ÚndxÚ
weird_namer  Úc_tbls   &       r-   Útest_sqlite_illegal_namesr  
  sì   € à€DÜ	�Q˜�F˜Q ˜FÐ#¨c°3¨ZÔ	8€Bà
0€CÜ	�Š”z¨×	-Ö	-Ø
�	‰	�r˜tˆ	Ô$÷ 
.ô %ò	
ö‰ˆð �y‰y˜jˆyÓ3°qÔ8Ð8Ð8Ü×Ò˜Ô*ä˜!˜Q˜ ! Q Ð(°3¸
Ð2CÔDˆØ% c¨! WÐ-ˆØ�z‰z˜uˆzÓ/°1Ô4Ð4Ð4Ü×Ò˜Ö%ó)÷ 
.×	-ús   ¾C+Ã+C;	c                ó$  € \         R P                  \        R P                  \        P                  R P                  \
        R P                  \        RP                  \        RP                  \        R4      R \        P                  RP                  \        RP                  /	p. pV FU  p\        V\        4      '       d   \        V4      '       d   RpV\        V4      ,          pVP                  V! V4      4       KW  	  V \        V4      ,          # )z'{}'z{:.8f}z{:d}Nc                ó   € R # )ÚNULLr+   )rÒ  s   &r-   rð  Úformat_query.<locals>.<lambda>2  s   € ™fr,   z{:.10f}z'{!s}')r   rE   r€   rÁ   Ústr_ÚbytesrR   rv  r¿   rA  r  ry   r   rþ   rT  )r   rZ  Ú_formattersÚprocessed_argsÚargÚ	formatters   &*    r-   Úformat_queryr!  *  sÂ   € ä�&—-‘-ÜˆV�]‰]Ü
�‰�—‘Üˆv�}‰}Üˆx�‰ÜˆV�]‰]ÜˆT‹
Ñ$Ü
�
‰
�I×$Ñ$Üˆh�o‰oð
€Kð €NÛˆÜ�cœ5×!Ò!¤d¨3§i¢iØˆCà¤ S£	Õ*ˆ	Ø×Ñ™i¨›nÖ-ñ ð ”�~Ó&Õ&Ð&r,   c                óÖ   € \         P                  ! V4      ;_uu_ 4       pVP                  V 4      P                  4       pRRR4       Xf   R# \	        V4      #   + '       g   i     L!; i)z#Replace removed sql.tquery functionN)r   r!   rM   rú   r0  )rß  rp   rŠ  r  s   &&  r-   Útqueryr#  A  sO   € ä	×	Ò	˜s×	#Ô	# zØ× Ñ  Ó'×0Ñ0Ó2ˆ÷ 
$à’;ˆ4Ð-¤D¨£IÐ-÷ 
$×	#ús   Ÿ AÁA(	c           
     óV  € \        \        P                  P                  ^4      P	                  R4      \        \        R4      4      \        R^
RR7      R7      p\        P                  ! VRV RR7      ^
8X  g   Q h\        P                  ! R	V 4      pVP                  Vn        Tp\        P                  ! W!4       R
.\        V4      ,          VR&   VP                  4       p\        \        P                   ! \        V4      4      \        P"                  R7      ^
,           pVP                  4       VR&   \        P                  ! VRV RR7      ^
8X  g   Q h\        P                  ! RV RR7      pVP                  4       pWSn        RVP                  n        \        P                  ! W24       R# )rC   ÚABCDú
2000-01-01rä   ©r½  rÍ  rÁ  r  Frú  zselect * from test_tablerœ  Útxtr˜  ÚIdxÚtest_table2zselect * from test_table2rÂ  N©é
   r  )r   rÁ   rñ  rò  ró  r   r0  r   r   r‰  rË  rµ   rÃ   r   r¸  r   ry  rÝ   r¬   )r~  r³   r  r  Úframe2Únew_idxs   &     r-   Útest_xsqlite_basicr/  H  s>  € ÜÜ
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ü”d˜6“lÓ#Ü˜¨r¸Ô<ô€Eô
 �:Š:�e ,°NÈ%ÔPÐTVÔVÐVÐVÜ�\Š\Ð4°nÓE€Fð —;‘;€F„Là€HÜ×Ò˜&Ô(à�5œ3˜u›:Õ%€Eˆ%�LØ�Z‰Z‹\€FÜ”B—I’Iœc &›kÓ*´"·(±(Ô;¸bÕ@€GØ—L‘L“N€Fˆ5�MÜ�:Š:�f =°nÈEÔRÐVXÔXÐXÐXÜ�\Š\Ð5°~ÐQVÔW€FØ�z‰z‹|€HØ„NØ€H‡N�NÔÜ×Ò˜(Ö+r,   c           
     ój  € \        \        P                  P                  ^4      P	                  R4      \        \        R4      4      \        R^
RR7      R7      p\        P                  VP                  R&   \        P                  ! VR4      pV P                  4       pVP                  V4       RpVP                  4        F  w  rV\        V.VO5!  p\!        WpR7       K   	  V P#                  4        \        P$                  ! R	V R7      pVP&                  Vn        \(        P*                  ! W�R
R7       R# )rC   r%  r&  rä   r'  rÁ  r…  z(INSERT INTO test VALUES (%s, %s, %s, %s)r€  rÙ  gü©ñÒMbP?)ÚrtolNr+  rÚ  )r   rÁ   rñ  rò  ró  r   r0  r   r
  r¾   r   rÚ  rL   rM   Úiterrowsr!  r#  rU   rË  rµ   rÃ   r   )	r~  r³   r1  rX   Úinsrï  r[   Úfmt_sqlr  s	   &        r-   Útest_xsqlite_write_row_by_rowr5  c  sè   € ÜÜ
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ü”d˜6“lÓ#Ü˜¨r¸Ô<ô€Eô
 —v‘v€E‡J�JˆtÑÜ—’  vÓ.€JØ
×
Ñ
Ó
!€CØ‡K�K�
Ôà
4€CØ—.‘.Ö"‰ˆÜ˜sÐ) SÓ)ˆÜˆw×+ñ #ð ×ÑÔä�\Š\Ð.°NÔC€FØ—;‘;€F„LÜ×Ò˜&¨d×3r,   c           
     ó²  € \        \        P                  P                  ^4      P	                  R4      \        \        R4      4      \        R^
RR7      R7      p\        P                  ! VR4      pV P                  4       pVP                  V4       RpVP                  ^ ,          p\        P                  ! V 4      ;_uu_ 4       pVP                  V\        V4      4       RRR4       V P                  4        \        P                   ! R	V 4      pVP"                  R
,          Vn        \$        P&                  ! WqR
,          4       R#   + '       g   i     Ln; i)rC   r%  r&  rä   r'  rÁ  r…  z$INSERT INTO test VALUES (?, ?, ?, ?)NrÙ  :Nrè  Nr+  )r   rÁ   rñ  rò  ró  r   r0  r   r   rÚ  rL   rM   r¾   r!   rT  rU   rË  rµ   rÃ   r   )r~  r³   r1  rX   r3  r[   rŠ  r  s   &       r-   Útest_xsqlite_executer7  z  sò   € ÜÜ
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ü”d˜6“lÓ#Ü˜¨r¸Ô<ô€Eô
 —’  vÓ.€JØ
×
Ñ
Ó
!€CØ‡K�K�
ÔØ
0€Cà
�*‰*�Q�-€CÜ	×	Ò	˜~×	.Ô	.°*Ø×Ñ˜3¤ c£
Ô+÷ 
/à×ÑÔä�\Š\Ð.°Ó?€FØ—;‘;˜r•?€F„LÜ×Ò˜&¨¥)Ö,÷ 
/×	.ús   ÃEÅE	c           
     óF  € \        \        P                  P                  ^4      P	                  R4      \        \        R4      4      \        R^
RR7      R7      p\        P                  ! VR4      pVP                  4       pV FF  pVP                  R4      p\        V4      ^8X  g   K&  V^ ,          R8X  g   K6  V^,          R	8X  d   KF  Q h	  \        P                  ! VRRR.R
7      pVP                  4       pRV9   g   Q hV P                  4       pVP                  V4       R# )rC   r%  r&  rä   r'  rÁ  r…  Ú rã   ÚDATETIME)rÞ   zPRIMARY KEY ("A", "B")Nr+  )r   rÁ   rñ  rò  ró  r   r0  r   r   rÚ  Ú
splitlinesrt  r¸  rL   rM   )r~  r³   r1  ÚlinesÚlineÚtokensrX   s   &      r-   Útest_xsqlite_schemar?  �  sï   € ÜÜ
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ü”d˜6“lÓ#Ü˜¨r¸Ô<ô€Eô
 —’  vÓ.€JØ×!Ñ!Ó#€EÛˆØ—‘˜C“ˆÜˆv‹;˜!Ö  q¥	¨SÖ 0Ø˜!•9 
Ö*Ð*Ð*ñ ô
 —’  v°S¸#°JÔ?€JØ×!Ñ!Ó#€EØ# zÔ1Ð1Ð1Ø
×
Ñ
Ó
!€CØ‡K�K�
Ör,   c           	     ó¼  € R pV P                  4       pVP                  V4       \        P                  ! V 4      ;_uu_ 4       pVP                  R4       VP                  R4       \        P
                  ! \        P                  RR7      ;_uu_ 4        VP                  R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)úc
    CREATE TABLE test
    (
    a TEXT,
    b TEXT,
    c REAL,
    PRIMARY KEY (a, b)
    );
    ú,INSERT INTO test VALUES('foo', 'bar', 1.234)z,INSERT INTO test VALUES('foo', 'baz', 2.567)r^  rÃ  z(INSERT INTO test VALUES('foo', 'bar', 7)N)rL   rM   r   r!   r  rÄ  rl  )r~  r1  rX   rŠ  s   &   r-   Útest_xsqlite_execute_failrC  £  s¡   € ð€Jð ×
Ñ
Ó
!€CØ‡K�K�
Ôä	×	Ò	˜~×	.Ô	.°*Ø×ÑÐIÔJØ×ÑÐIÔJä�]Š]œ3×,Ñ,Ð4M×NÖNØ×ÑÐIÔJ÷ O÷	 
/Ñ	.÷ O×Nú÷	 
/×	.Ð	.ús%   ÁAC
ÂB7	Â%C
Â7CÃC
Ã
C	c            	     ó2  € R p \         P                  ! \        P                  ! R4      4      ;_uu_ 4       pVP	                  4       pVP                  V 4       \        P                  ! V4      ;_uu_ 4       pVP                  R4       RRR4       RRR4       Rp\        P                  ! \        P                  VR7      ;_uu_ 4        \        RXR7       RRR4       R#   + '       g   i     L`; i  + '       g   i     Lk; i  + '       g   i     R# ; i)rA  ry  rB  Nz$Cannot operate on a closed database.rÃ  rÙ  r€  )rz  r{  rz   r¢   rL   rM   r   r!   r  rÄ  rN  r#  )r1  rV   rX   rŠ  r¨  s        r-   Ú&test_xsqlite_execute_closed_connectionrE  ¸  s¹   € ð€Jô 
×	Ò	œGŸOšO¨JÓ7×	8Ô	8¸DØ�k‰k‹mˆØ�‰�JÔä×"Ò" 4×(Ô(¨JØ×ÑÐMÔN÷ )÷	 
9ð 1€CÜ	�Š”w×/Ñ/°s×	;Ö	;ÜÐ#¨Õ.÷ 
<Ñ	;÷	 )×(ú÷	 
9×	8ú÷ 
<×	;Ð	;ús0   µA C2Á5C	ÂC2ÃDÃC/Ã*C2Ã2D	ÄD	c                óˆ   € \        R \        P                  ! ^4      /4      p\        P                  ! WRRR7      ^8X  g   Q hR# )ÚFromÚtestkeywordsF©rp   r¬   rµ   N)r   rÁ   Úonesr   r‰  )r~  rß   s   & r-   Ú$test_xsqlite_keyword_as_column_namesrK  Î  s5   € Ü	�FœBŸGšG A›JÐ'Ó	(€BÜ�:Š:�b°>ÈÔOÐSTÔTÐTÒTr,   c                ó  € \        ^^.R.R7      p\        P                  ! WRRR7      ^8X  g   Q hT p\        R VP	                  R4       4       4      pV^8X  g   Q h\        P
                  ! RV4      p\        P                  ! WA4       R# )	rè  Úc0râ   Úmono_dfFrI  c              3  ó2   "  € T F  q^ ,          x € K  	  R# 5i)r   Nr+   )Ú.0Úmy_c0s   & r-   Ú	<genexpr>Ú4test_xsqlite_onecolumn_of_integer.<locals>.<genexpr>Û  s   é € ÐOÑ(N˜u˜—(’(Ó(Nùs   ‚zselect * from mono_dfN)r   r   r‰  ÚsumrM   rË  rÃ   r   )r~  rN  Úcon_xÚthe_sumr  s   &    r-   Ú!test_xsqlite_onecolumn_of_integerrW  Ó  s|   € ô ˜˜A˜¨¨Ô/€GÜ�:Š:�g¸	ÈÔOÐSTÔTÐTÐTà€EÜÑO¨¯©Ð6MÔ(NÓOÓO€Gà�aŒ<Ðˆ<ä�\Š\Ð1°5Ó9€FÜ×Ò˜&Ö*r,   c           	     óò  € \        R ^^.RRR./4      p\        R . ROR. RO/4      pRpRV 2pRp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! VV VRR	7       R
R
R
4       \        W04       \        P
                  ! WVRR	7       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! VV VRR	7       R
R
R
4       \        P
                  ! VV VRRR7       \        W@R7      RR.8X  g   Q h\        P
                  ! VV VRRR7      ^8X  g   Q h\        W@R7      . RO8X  g   Q h\        W04       \        P
                  ! VV VRRR7      ^8X  g   Q h\        W@R7      RR.8X  g   Q h\        P
                  ! VV VRRR7      ^8X  g   Q h\        W@R7      . RO8X  g   Q h\        W04       R
#   + '       g   i     ELk; i  + '       g   i     EL; i)r  r  rã   rä   Útable_if_existsr�  z*'notvalidvalue' is not valid for if_existsrÃ  Únotvalidvalue)r³   rp   r¬   r‡  Nr¼  z&Table 'table_if_exists' already existsr¡  F)r³   rp   r¬   r‡  rµ   r€  rþ   rJ  )rå   ræ   ÚErà  r  )©rü  rå   ©r  ræ   ©r»   r[  )rà  r  r\  r]  r^  )r   r  rÄ  rÅ  r   r‰  r  r#  )r~  Údf_if_exists_1Údf_if_exists_2rÊ   Ú
sql_selectr¨  s   &     r-   Útest_xsqlite_if_existsrb  ã  s  € Ü ¨¨A¨°¸¸c¸
ÐCÓD€NÜ ª	°6º?ÐKÓL€NØ"€JØ! * Ð.€Jà
6€CÜ	�Š”z¨×	-Ö	-Ü�
Š
Ø ØØØ%õ		
÷ 
.ô ˆzÔ*ô ‡J‚JØ°zÈVõð 3€CÜ	�Š”z¨×	-Ö	-Ü�
Š
Ø ØØØõ		
÷ 
.ô ‡J‚JØØØØØõô �*Ô1°hÀÐ5IÔIÐIÐIä�
Š
Ø ØØØØô	
ð ô	ð	ð	ô �*Ô1Ò5SÔSÐSÐSÜˆzÔ*ô 	�
Š
Ø ØØØØô	
ð ô	ð	ð	ô �*Ô1°hÀÐ5IÔIÐIÐIä�
Š
Ø ØØØØô	
ð ô	ð	ð	ô �*Ô1ò 6ô ð ð ô ˆzÖ*÷Q 
.×	-Ð	-ú÷ 
.×	-Ð	-ús   ÁGÃG%ÇG"	Ç%G6	)ra  rc  r_  )rg  ri  re  )rm  ro  rk  ))r¡  rè  )rþ   rC   )r‹  rè  )r<   Úfallback))NNrµ   )NÚother_labelrd  )r²  Nr²  )r²  rd  rd  )r   NÚ0)Nr   re  )Úint8ÚSMALLINT)ÚInt8rg  )Úuint8rg  )ÚUInt8rg  )Úint16rg  )ÚInt16rg  )Úuint16rã  )ÚUInt16rã  )r™  rã  )ÚInt32rã  )Úuint32r.  )ÚUInt32r.  )rÝ   r.  )r   r.  )rË  r#   r"   r'  (*  Ú
__future__r   rz  rO   r   r   r   r   Údecimalr   rÔ   r	   Úpathlibr   rz   Útypingr   rG  r›  rÁ   r  Úpandas._configr   Úpandas._libsr   Úpandas.compatr   Úpandas.compat._optionalr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr¢  r   r   r   r   r   r   r   r   r   r   Úpandas._testingÚ_testingrÃ   Úpandas.util.versionr   Ú	pandas.ior   Úpandas.io.sqlr   r   r   r    r!   r"   r#   r<   r’  ÚfilterwarningsÚ
single_cpuÚ
pytestmarkÚfixturer.   r@   r\   r_   rq   r}   r’   r™   rœ   r£   r±   rÈ   rÒ   r×   r•   rà   rî   rð   r  r
  r  r  r%  r)  r,  r/  r2  r4  r:  r<  r?  rA  rH  rQ  rW  rY  r[  r_  ra  rc  re  rg  ri  rk  rm  ro  rr  rt  rw  r~  r€  r‚  Úparamr  Úmysql_connectableÚmysql_connectable_irisÚmysql_connectable_typesÚpostgresql_connectableÚpostgresql_connectable_irisÚpostgresql_connectable_typesÚsqlite_connectableÚsqlite_connectable_irisÚsqlite_connectable_typesÚsqlalchemy_connectableÚsqlalchemy_connectable_irisÚsqlalchemy_connectable_typesÚadbc_connectableÚadbc_connectable_irisÚadbc_connectable_typesÚall_connectableÚall_connectable_irisÚall_connectable_typesÚparametrizer‹  r–  r©  r­  rº  rÁ  rÆ  rÎ  rÓ  rÚ  rà  râ  rå  rî  r÷  r  r  r4  r<  rB  rK  rP  rR  rY  r[  r]  r_  rc  re  rh  rn  rq  ru  r}  r…  r‡  rŒ  r”  rË  rš  rž  r¨  r«  r´  r¾  rÌ  rv  rR   rÒ  rÕ  rÜ  rß  rå  rê  rù  r  r  r  r  r  r  r  r  r#  r-  r>   r¬   r1  r5  r8  Úskip_if_installedr<  rB  rG  rK  rN  rP  rj  rm  ro  rw  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  r3  r<  rH  rY  Úinfra  ry  r}  r€  r…  rˆ  rŠ  r—  r™  rœ  r”  r•  r»  Ú
no_defaultr½  rÁ  rÃ  rÐ  rÕ  rÛ  rß  rá  rè  rí  rð  rò  rü  r  r	  r  r  r!  r#  r/  r5  r7  r?  rC  rE  rK  rW  rb  r+   r,   r-   Ú<module>rŸ     s›  ðÝ "ã Û 
÷ó õ Ý Ý Û Ý  Û ã Û å -å Ý .Ý >ß )Ð )ã ÷÷ ÷ õ Ý 'å ÷÷ ñ ÷ Ûð ‡K�K×ÑØGóð ‡K�K×Ñð	€
ð ‡�ñó ðò8õ2õDõ>ò "õ&õDõ<õ2ò(*MõZ-õ;ð8 ‡�ñó ðð
 ‡�ñó ðð6 ‡�ñ,ó ð,ð  ‡�ñ ,ó ð ,ðF ‡�ñ,ó ð,ò2ò23õ0.õ&"ð. ‡�ñó ðð  ‡�ñ ó ð ð ‡�ñ ó ð ð
 ‡�ñó ðð
 ‡�ñó ðð
 ‡�ñó ðð
 ‡�ñó ðð ‡�ñ&ó ð&ð ‡�ñ&ó ð&ð
 ‡�ñó ðð
 ‡�ñó ðð ‡�ñó ðð$ ‡�ñó ðð  ‡�ñó ðð
 ‡�ñó ðð
 ‡�ñ$ó ð$ð
 ‡�ñó ðð ‡�ñó ðð
 ‡�ñó ðð ‡�ñó ðð ‡�ñó ðð
 ‡�ñó ðð ‡�ñó ðð
 ‡�ñó ðð
 ‡�ñó ðð ‡�ñó ðð" ‡�ñó ðð* ‡�ñó ðð ‡�ñó ðð ‡�ñó ðð ‡L‚LÐ'¨v¯{©{¯~©~Ô>Ø
‡L‚LÐ%¨V¯[©[¯^©^Ô<ðÐ ð ‡L‚LÐ,°F·K±K·N±NÔCØ
‡L‚LÐ*°&·+±+·.±.ÔAðÐ ð ‡L‚LÐ-°V·[±[·^±^ÔDØ
‡L‚LÐ+°6·;±;·>±>ÔBðÐ ð ‡L‚LÐ-°V·[±[·^±^ÔDØ
‡L‚LÐ+°6·;±;·>±>ÔBðÐ ð ‡L‚LÐ2¸&¿+¹+¿.¹.ÔIØ
‡L‚LÐ0¸¿¹¿¹ÔGðÐ ð ‡L‚LÐ3¸6¿;¹;¿>¹>ÔJØ
‡L‚LÐ1¸¿¹¿¹ÔHð Ð ó
Ð óÐ óÐ ð +Ð-CÕCÐFXÕXÐ ð Ð8Õ8Ð;RÕRð ð
 Ð:Õ:Ð=UÕUð ð
 Ø
‡L‚LÐ'¨v¯{©{¯~©~Ô>ðÐ ð ‡L‚LÐ'¨v¯{©{¯~©~Ô>ØðÐ ð ‡L‚LÐ(°·±·±Ô?ØðÐ ð QÐ*ÐPÐ,<ÐPÐ?OÐP€ðØ ðàðð ðÐ ðØ!ðàðð ðÐ ð ‡�×Ò˜ Ó1ñOó 2ðOð ‡�×Ò˜ Ó1ñLó 2ðLð$ ‡�×Ò˜ Ó1ñQó 2ðQðB ‡�×Ò˜ Ó1ñMó 2ðMð( ‡�×Ò˜ Ó1Ø‡�×Ò˜ D¨' ?Ó3ñ>ó 4ó 2ð>ð ‡�×Ò˜ Ó1Ø‡�×ÒØÓMóñMóó 2ðMð ‡�×Ò˜ Ó1ñJó 2ðJð ‡�×Ò˜Ð!5Ó6ñ.ó 7ð.ð ‡�×Ò˜Ð!5Ó6ñ.ó 7ð.ð$ ‡�×Ò˜Ð!<Ó=ñó >ðð6 ‡�×Ò˜Ð!5Ó6ñ!ó 7ð!ð& ‡�×Ò˜Ð!<Ó=ñ!ó >ð!ð ‡�×Ò˜Ð!<Ó=ñ	!ó >ð	!ð ‡�×Ò˜Ð!7Ó8ñ>ó 9ð>ð" ‡�×Ò˜Ð!6Ó7ñFó 8ðFð> ‡�×Ò˜Ð!2Ó3ñ!$ó 4ð!$ðH ‡�×Ò˜Ð!7Ó8Ø‡�×ÒÐ)¨A¨z¨?Ó;ñ",ó <ó 9ð",ðJ ‡�×Ò˜Ð!7Ó8ñ65ó 9ð65ðr ‡�×Ò˜ Ó1ñ-ó 2ð-ð. ‡�×Ò˜Ð!2Ó3ñ15ó 4ð15ðh ‡�×Ò˜Ð!7Ó8ñ ,ó 9ð ,òF,ò2=ð ‡�×Ò˜Ð!5Ó6ñ!ó 7ð!ð$ ‡�×Ò˜Ð!5Ó6ñ!ó 7ð!ð& ‡�×Ò˜Ð!5Ó6ñ!ó 7ð!ð$ ‡�×Ò˜Ð!5Ó6ñ!ó 7ð!ð ‡�×Ò˜Ð!5Ó6ñ	=ó 7ð	=ð ‡�×Ò˜ Ó1ñ.ó 2ð.ð ‡�×Ò˜ Ó1ñGó 2ðGð ‡�×Ò˜ Ó1ñ#ó 2ð#ð" ‡�×Ò˜ Ó1ñ#ó 2ð#ð$ ‡�×Ò˜ Ó1ñ	/ó 2ð	/ð ‡�×Ò˜ Ó1ñ	,ó 2ð	,ð ‡�×Ò˜ Ó1ñ/ó 2ð/ð$ ‡�×Ò˜ Ó1ñ/ó 2ð/ð* ‡�×Ò˜Ð!5Ó6ñ<ó 7ð<ð ‡�×Ò˜Ð!6Ó7ñ4ó 8ð4ðn ‡�×Ò˜Ð!6Ó7Ø‡�×Ò˜ 7¨HÐ"5Ó6Ø‡�×ÒØà	�ŠÐ,Ñ.HÐIØ	�Š�w Ð/à×ÑØ!Ù&ð	
ð
 
×	Ñ	˜W |Ð5ð	óñ!,óó 7ó 8ð!,ðH ‡�×Ò˜Ð!6Ó7ñ?ó 8ð?ð ‡�×Ò˜ Ó1ñ+4ó 2ð+4ð\ ‡�×Ò˜ Ó1ñ
;ó 2ð
;ð ‡�×Ò˜ Ó1Ø‡�×ÒØ%óóñ"(ó#ó 2ð$(ð$ ‡�×Ò˜ Ó1ñF
ó 2ðF
ðR ‡�×Ò˜ Ó1ñ=ó 2ð=ð& ‡�×Ò˜ Ó1Ø‡�×ÒØàØØØ	ˆc�3˜Ðð	óñ,óó 2ð,ð, ‡�×Ò˜ Ó1ñNó 2ðNð ‡�×Ò˜ Ó1ñ
"ó 2ð
"ð ‡�×Ò˜ Ó1ñ.ó 2ð.ð ‡�×Ò˜ Ó1ñ#ó 2ð#ð. ‡�×Ò˜ Ó1ñ-ó 2ð-ð8 ‡�×Ò˜ Ó1ñ-*ó 2ð-*ð` ‡�×Ò˜ Ó1ñ#ó 2ð#ð@ ‡�×Ò˜ Ó1ñ:ó 2ð:ð ‡�×Ò˜ Ó1ñ#ó 2ð#ð( ‡�×Ò˜ Ó1ñ,ó 2ð,ð: ‡�×Ò˜ Ó1ñ+ó 2ð+ð ‡�×Ò˜ Ó1ñ1ó 2ð1ð, ‡�×Ò˜Ð!5Ó6ñ4ó 7ð4ò$>ð2 ‡�×Ò˜ Ó1ñ;ó 2ð;ð. ‡�×Ò˜Ð!7Ó8ñAó 9ðAð ‡�×Ò˜Ð!7Ó8Ø‡�×ÒØáÙÙÙÙÙÙÙÙÙÙÙÙÙØ	˜"Ÿ(›( 3›-×,Ò,°Ô7‰h¸YÐGðóñ(ó)ó 9ð*ð ‡�×Ò˜Ð!7Ó8Ø‡�×Ò˜ X¨xÐ$8Ó9ñ4ó :ó 9ð4ò4ð& ×Ó�hÓñ4ó  ð4ð ‡�×Ò˜Ð!<Ó=ñ,ó >ð,ð ‡�×Ò˜Ð!<Ó=ñ(ó >ð(ð ‡�×Ò˜ Ó1ñ#ó 2ð#ò
/ð ×Ó�lÓ#ñ1ó $ð1ð ×Ó�lÓ#ñ+ó $ð+ò #ò"ò1ð$ ‡�×Ò˜Ð!7Ó8ñ+ó 9ð+ð( ‡�×Ò˜Ð!7Ó8ñ0ó 9ð0ð2 ‡�×Ò˜ oÓ6ñ/ó 7ð/ð ‡�×Ò˜ oÓ6ñ!:ó 7ð!:ðH ‡�×Ò˜ Ó1ñ/ó 2ð/ð* ‡�×Ò˜Ð!5Ó6ñ<ó 7ð<ð ‡�×Ò˜Ð!<Ó=ñ!ó >ð!ð ‡�×Ò˜Ð!<Ó=ñXó >ðXð ‡�×Ò˜Ð!<Ó=ñ:ó >ð:ð ‡�×Ò˜Ð!=Ó>ñ=ó ?ð=ð, ‡�×Ò˜Ð!7Ó8ñ&ó 9ð&ð ‡�×Ò˜Ð!=Ó>ñ<ó ?ð<ð ‡�×Ò˜Ð!7Ó8Ø‡�×Ò˜¨°Ð/@Ð(AÓBñ
*ó Có 9ð
*ð ‡�×Ò˜Ð!7Ó8ñ	*ó 9ð	*ð ‡�×Ò˜Ð!7Ó8ñ-ó 9ð-ð ‡�×Ò˜Ð!7Ó8ñ,ó 9ð,ð< ‡�×Ò˜Ð!7Ó8ñ	,ó 9ð	,ð ‡�×Ò˜Ð!7Ó8ñ	?ó 9ð	?ð ‡�×Ò˜Ð!=Ó>ñ?ó ?ð?ð> ‡�×Ò˜Ð!7Ó8ñ,ó 9ð,ð2 ‡�×Ò˜Ð!7Ó8ñ,ó 9ð,ð0 ‡�×Ò˜Ð!7Ó8ñ	-ó 9ð	-ð ‡�×Ò˜Ð!7Ó8ñ#ó 9ð#ð4 ‡�×Ò˜Ð!7Ó8ñHó 9ðHð ‡�×Ò˜Ð!7Ó8ñ&ó 9ð&ð ‡�×Ò˜Ð!7Ó8ñ&ó 9ð&ð" ‡�×Ò˜Ð!7Ó8ñ&ó 9ð&ð$ ‡�×Ò˜ Ó1ñ$ó 2ð$ðN ‡�×Ò˜ Ó1ñ ó 2ð ð ‡�×Ò˜ Ó1ñ&ó 2ð&ðR ‡�×Ò˜Ð!7Ó8ñNó 9ðNð: ‡�×Ò˜Ð!7Ó8ñ&&ó 9ð&&ðR ‡�×Ò˜Ð!7Ó8ñ!5ó 9ð!5ðH ‡�×Ò˜Ð!7Ó8ñ08ó 9ð08ðf ‡�×Ò˜Ð!7Ó8ñ ó 9ð ðF ‡�×Ò˜Ð!7Ó8Ø‡�×ÒØØˆb�fŠfˆXÐ˜ "§&¢&  	Ð*¨U°b·f²f°W°I¸wÈÈÐ,PÐQóñ!ó	ó 9ñ
!ð( ‡�×Ò˜Ð!7Ó8ñ"(ó 9ñ"(ðJ ‡�×Ò˜ Ó1ñNó 2ñNð ‡�×Ò˜ Ó1ñ#ó 2ñ#ð ‡�×Ò˜Ð!7Ó8ñ'ó 9ñ'ð ‡�×Ò˜ Ó1ñ'ó 2ñ'ó
Fð ‡�×Ò˜ Ó1Ø‡�×Ò˜ *Ð.>Ð!?Ó@ñ'4ó Aó 2ñ'4ðT ‡�×Ò˜ Ó1Ø‡�×Ò˜ *Ð.>Ð!?Ó@ò+4ó Aó 2ñ+4ð\ ‡�×Ò˜ Ó1Ø‡�×Ò˜Ó!QÓRò>ó Só 2ñ>ð ‡�öó ñð ‡�ò)ó ñ)ðX ‡�×Ò˜ Ó1ò0ó 2ñ0ð* ‡�×Ò˜ Ó1Ø‡�×Ò™¨3¯>ª>Ñ;KÐ*LÓMØ‡�×Ò˜ *Ð.>Ð!?Ó@ò,ó Aó Nó 2ñ,ô27ôGô$7ôN,ô$2ð ‡�òó ñô=ð ‡�‡�òGDó ñGDðT ‡�‡�ò!'ó ñ!'ôH:ô/ð ‡�×Ò™¡e©T ]Ó3ò)ó 4ñ)ô$BôNô,@ô&&ô@'÷..ô,ô64ô.-ô*ô(Kô*/ô,Uô
+ö O+r,   