hyb
2025-12-23 10f3a1daddfbc7fa3dd2069197d83e8b6ef19176
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
Ë
KñúhÊÕãó
—dZdgZddlZddlZddlmZddlmZGd„de«ZGd„d    e«Z    Gd
„d e«Z
Gd „d e«Z Gd„de «Z Gd„de«ZefZeefZd„ZGd„de«Zd„ZGd„d«Zd„Zd„Zd„Zd9d„Zd9d„Zd9d„Zd:d„Zd„Zd;d„Z d „Z!d!„Z"d"„Z#d#„Z$d$„Z%d%„Z&d&„Z'd'„Z(d(„Z)d)„Z*d*„Z+d+„Z,d,„Z-d-„Z.d.„Z/e/«Z0d/„Z1d0„Z2d1„Z3d2„Z4d3„Z5ejlfd4„Z7Gd5„d6«Z8Gd7„d8«Z9y)<a‡Fortran/C symbolic expressions
 
References:
- J3/21-007: Draft Fortran 202x. https://j3-fortran.org/doc/year/21/21-007.pdf
 
Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.
 
NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
ÚExpréN)ÚEnum)Úgcdcó—eZdZdZdZdZdZy)ÚLanguagez2
    Used as Expr.tostring language argument.
    rééN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚPythonÚFortranÚC©óúFH:\Change_password\venv_build\Lib\site-packages\numpy/f2py/symbolic.pyrr$s„ñð€FØ€GØ    ArrcóL—eZdZdZdZdZdZdZdZdZ    dZ
d    Z d
Z d Z d Zd ZdZdZdZy)ÚOpz$
    Used as Expr op attribute.
    é
é éééé(édéÈéÒéÜi,ièiÐi¸ i¹ N)r
r r r ÚINTEGERÚREALÚCOMPLEXÚSTRINGÚARRAYÚSYMBOLÚTERNARYÚAPPLYÚINDEXINGÚCONCATÚ
RELATIONALÚTERMSÚFACTORSÚREFÚDEREFrrrrr-sT„ñð€GØ €DØ€GØ €FØ €EØ €FØ€GØ €EØ€HØ €FØ€JØ €EØ€GØ
€CØ Errcón—eZdZdZdZdZdZdZdZdZ    e
e jfd„«Z e jfd    „Zy
) ÚRelOpzH
    Used in Op.RELATIONAL expression to specify the function part.
    rr    éééécó—|tjurntjtjtj
tj tjtjdœ|j«Stjtjtj
tj tjtjdœ|S)N)ú.eq.ú.ne.ú.lt.ú.le.ú.gt.ú.ge.)ú==ú!=ú<ú<=ú>ú>=)
rrr0ÚEQÚNEÚLTÚLEÚGTÚGEÚlower)ÚclsÚsÚlanguages   rÚ
fromstringzRelOp.fromstringMs€à ”x×'Ñ'Ñ 'Ü!ŸH™H¬e¯h©hÜ!ŸH™H¬e¯h©hÜ!ŸH™H¬e¯h©hñ8à89¿¹»    ñCð Cô—h‘h¤e§h¡h´U·X±XÜ—h‘h¤U§X¡X´U·X±Xñ?Ø?@ñBð    Brc óº—|tjuretjdtjdtj
dtj dtjdtjdi|Stjdtjdtj
d    tj d
tjd tjd i|S) Nr6r7r8r9r:r;r<r=r>r?r@rA)    rrr0rBrCrDrErFrG©ÚselfrKs  rÚtostringzRelOp.tostringVsœ€Ø ”x×'Ñ'Ñ 'Ü—H‘H˜f¤e§h¡h°Ü—H‘H˜f¤e§h¡h°Ü—H‘H˜f¤e§h¡h°ð8à8<ñ>ð >ô—‘˜$¤§¡¨$Ü—‘˜#œuŸx™x¨Ü—‘˜#œuŸx™x¨ð/à/3ñ5ð    5rN)r
r r r rBrCrDrErFrGÚ classmethodrrrLrPrrrr0r0BsP„ñð
€BØ    
€BØ    
€BØ    
€BØ    
€BØ    
€BàØ$,§J¡JòBóðBð!)§
¡
ô5rr0có,—eZdZdZdZdZdZdZdZdZ    dZ
y    )
ÚArithOpzC
    Used in Op.APPLY expression to specify the function part.
    rr    r1r2r3r4éN) r
r r r ÚPOSÚNEGÚADDÚSUBÚMULÚDIVÚPOWrrrrSrS`s,„ñð €CØ
€CØ
€CØ
€CØ
€CØ
€CØ
CrrScó —eZdZy)ÚOpErrorN©r
r r rrrr]r]mó„Ørr]cóD—eZdZdZdZdZdZdZdZdZ    dZ
d    Z d
Z d Z d Zd ZdZy)Ú
Precedencez4
    Used as Expr.tostring precedence argument.
    rrr    r1r2r4rTé ré érrN)r
r r r ÚATOMÚPOWERÚUNARYÚPRODUCTÚSUMrDrBÚLANDÚLORr&ÚASSIGNÚTUPLEÚNONErrrraraqsJ„ñð €DØ €EØ €EØ€GØ
€CØ    
€BØ    
€BØ €DØ
€CØ€GØ €FØ €EØ DrracóV—|j|«}|€|||<y||z}|r|||<y||=y©N)Úget)ÚdÚkÚvÚcs    rÚ
_pairs_addrvˆs9€à    ‰ˆa‹€AØ€y؈ˆ!Šà ‰EˆÙ ؈AˆaŠDà!‘rcó —eZdZy)Ú ExprWarningNr^rrrrxrx•r_rrxcó<—tj|td¬«y)Nr    )Ú
stacklevel)ÚwarningsÚwarnrx)Úmessages rÚewarnr~™s€Ü ‡MM'œ;°1Ö5rcó —eZdZdZeej fd„«Zd„Zd„Z    d„Z
d„Z d„Z d„Z d    „Zd
„Zd „Zej$ej&fd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd „Z(d!„Z)y")#rzfRepresents a Fortran expression as a op-data pair.
 
    Expr instances are hashable and sortable.
    có—t||¬«S)z.Parse a Fortran expression to a Expr.
        ©rK)rL)rJrKs  rÚparsez
Expr.parse£s€ô˜! hÔ/Ð/rcó@—t|t«sJ‚|tjurVt|t«rt    |«dk(sJ‚t|dt
«sJ‚t|dt
t f«sJ|«‚|tjurVt|t«rt    |«dk(sJ‚t|dt«sJ‚t|dt
t f«sµJ|«‚|tjur!t|t«rt    |«dk(s}J‚|tjurrt|t«rt    |«dk(sJ‚t|dt «r|dddt    |d«dz
…dvsJ‚t|dt
t f«sþJ|«‚|tjurt|«€ÙJ‚|tjtjfvr,t|t«sJ‚td„|D««sJ|«‚|tj tj"fvrt|t$«sVJ‚|tj&urZt|t«rt    |«dk(sJ‚t|d«€J‚t|dt«sJ‚t|dt$«sêJ‚|tj(ur0t|t«rt    |«dk(sJ‚t|d«€¨J‚|tj*ur t|t«rt    |«dk(svJ‚|tj,tj.fvrt|t0«sBJ‚|tj2ur t|t«rt    |«dk(sJ‚t5d|›«‚||_||_y)Nr    rr)z""z''z@@c3ó<K—|]}t|t«–—Œy­wrp)Ú
isinstancer)Ú.0Úitems  rú    <genexpr>z Expr.__init__.<locals>.<genexpr>Ésèø€Ò?°$”z $¬×-Ñ?ùs‚r1z$unknown op or missing sanity check: )r…rr ÚtupleÚlenÚintÚstrr!Úfloatr"r#r%Úhashr$r)Úallr+r,Údictr'r(r&r-r.rr*ÚNotImplementedErrorÚopÚdata)rOr’r“s   rÚ__init__z Expr.__init__©s#€Ü˜"œbÔ!Ð!Ð!ð ”—‘Ñ ô˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=ܘd 1™g¤sÔ+Ð +Ð+ܘd 1™g¬¬S zÕ2Ð 8°DÓ 8Ð2Ø ”2—7‘7‰]ô˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=ܘd 1™g¤uÔ-Ð -Ð-ܘd 1™g¬¬S zÕ2Ð 8°DÓ 8Ð2Ø ”2—:‘:Ñ ä˜d¤EÔ*¬s°4«y¸A«~Ð =Ð=Ø ”2—9‘9‰_ô˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=ܘt A™w¬Ô,ؘQ™Ñ 2¤# d¨1¡g£,°Ñ"2Р2Ñ3Ð7IÑIð KðJä˜d 1™g¬¬S zÕ2Ð 8°DÓ 8Ð2Ø ”2—9‘9‰_䘓:Ñ)Ð )Ð)Ø ”B—H‘HœbŸi™iÐ(Ñ (ä˜d¤EÔ*Ð *Ð*ÜÑ?¸$Ô?Õ?Ð EÀÓ EÐ?Ø ”B—H‘HœbŸj™jÐ)Ñ )ô˜d¤DÕ)Ð )Ð)Ø ”2—8‘8‰^ô˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=䘘Q™“=Ð,Ð ,Ð,ܘd 1™g¤uÔ-Ð -Ð-ܘd 1™g¤tÔ,Ð ,Ð,Ø ”2—;‘;Ñ ä˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=䘘Q™“=Ð,Ð ,Ð,Ø ”2—:‘:Ñ ä˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=Ø ”B—F‘FœBŸH™HÐ%Ñ %ä˜d¤DÔ)Ð )Ð)Ø ”2—=‘=Ñ  ä˜d¤EÔ*¬s°4«y¸Aª~Ð =Ð=ä%Ø6°r°dÐ;ó=ð =ðˆŒØˆ    rcóŒ—t|t«xr3|j|juxr|j|jk(Srp)r…rr’r“©rOÚothers  rÚ__eq__z Expr.__eq__ës;€Ü˜5¤$Ó'ò,Ø—G‘G˜uŸx™xÐ'ò,à—I‘I §¡Ñ+ð    -rcó²—|jtjtjfvr-t    t |j j«««}nh|jtjur@|j ddt    t |j dj«««z}n |j }t|j|f«S©Nr    )
r’rr+r,r‰Úsortedr“Úitemsr'rŽ)rOr“s  rÚ__hash__z Expr.__hash__ðs€Ø 7‰7”r—x‘x¤§¡Ð,Ñ ,Üœ §    ¡    §¡Ó 1Ó2Ó3‰DØ W‰WœŸ™Ñ  Ø—9‘9˜R˜a=¤5¬°·    ±    ¸!± ×0BÑ0BÓ0DÓ)EÓ#FÑF‰Dà—9‘9ˆDܐT—W‘W˜dOÓ$Ð$rcóh—t|t«rœ|j|jur-|jj|jjkS|jtj
tj fvrYtt|jj«««tt|jj«««kS|jtjur|jdd|jddk7r|jdd|jddkStt|jdj«««tt|jdj«««kS|j|jkStSrš) r…rr’Úvaluerr+r,r‰r›r“rœr'ÚNotImplementedr–s  rÚ__lt__z Expr.__lt__ùs8€Ü eœTÕ "؏w‰w˜eŸh™hÑ&Ø—w‘w—}‘} u§x¡x§~¡~Ñ5Ð5؏w‰wœ2Ÿ8™8¤R§Z¡ZÐ0Ñ0Üœf T§Y¡Y§_¡_Ó%6Ó7Ó8ܤ u§z¡z×'7Ñ'7Ó'9Ó :Ó;ñ<ð=àw‰wœ"Ÿ(™(Ñ"Ø—9‘9˜R˜a= E§J¡J¨r° NÒ2ØŸ9™9 R a˜=¨5¯:©:°b°q¨>Ñ9Ð9ÜœV D§I¡I¨a¡L×$6Ñ$6Ó$8Ó9Ó:¼Uܘ5Ÿ:™: a™=×.Ñ.Ó0Ó1ó>3ñ3ð3à—9‘9˜uŸz™zÑ)Ð )ÜÐrcó—||k(xs||kSrprr–s  rÚ__le__z Expr.__le__s€ D¨E¡MÒ$A°T¸E±\ÐArcó—||k Srprr–s  rÚ__gt__z Expr.__gt__
s€¨°©Ð$7Ð7rcó—||k Srprr–s  rÚ__ge__z Expr.__ge__ s€¨°©Ð$6Ð6rcóf—t|«j›d|j›d|j›dS©Nú(ú, ú))Útyper
r’r“©rOs rÚ__repr__z Expr.__repr__s.€Üt“*×%Ñ%Ð& a¨¯© y°°4·9±9°-¸qÐAÐArcó"—|j«Srp)rPr®s rÚ__str__z Expr.__str__s€Ø}‰}‹Ðrc    óÞ‡—|jtjtjfvrs|jddkrt
j nt
j}t|jd«|jddk7rd|jd›ndz}    n |jtjur>djˆfd„|jD««}d|zd    z}t
j}n²|jtjur't
j}t|j«}no|jtjurH|jd}|jddk7r|jddz|z}t
j}n |jtjur>djˆfd
„|jD««}d |zd z}t
j}n±|jtjurg}t|jj!««D]µ\}}|dkrd }| }nd}|dk(r"|j#t
j ‰¬«}nA|t%d«k(r t|«}n'|›d|j#t
j&‰¬«z}|r|j)|«n|d k(r|j)d«|j)|«Œ·dj|«xsd}|rt
j nt
j}n~|jtj*ur¼g}    g}
t|jj!««D]6\} } d}| dk(r"| j#t
j&‰¬«} nã‰t,j.urª| t1dd«vr7| j#t
j&‰¬«} dj| g| z«} nŒ| t1dd«vr,| j#t
j&‰¬«} |
| g| zz }
ŒÁ| j#t
j2‰¬«} d| ›d| ›d    } n'| j#t
j4‰¬«d| ›z} |    r|    j)|«|    j)| «Œ9|
r |    s|    dgz }    |    dddj|
«d    gz }    dj|    «xsd}|    rt
j&nt
j}n¥|jtj6ur|j\}}}|t8j:ur]‰t,j.urK|Dcgc]#}|j#t
j&‰¬«‘Œ%c}\}}|›d|›}t
j&}n    |Dcgc]#}|j#t
j2‰¬«‘Œ%}}||j!«Dcgc]*\}}|dz|j#t
j<«z‘Œ,c}}z }|›ddj|«›d    }t
j}ni|jtj>urs|jd}|jddDcgc]#}|j#t
j2‰¬«‘Œ%}}|›d dj|«›d }t
j}nÚ|jtj@ur[|jDcgc]#}|j#t
j&‰¬«‘Œ%}}dj|«}t
j&}nc|jtjBurÇ|jDcgc]#}|j#t
j2‰¬«‘Œ%c}\}}}‰t,j.ur d|›d|›d|›d    }nY‰t,jDur d|›d |›d!|›d    }n:‰t,jFur d"|›d|›d|›d    }ntId#|j›d$‰›«‚t
j}n€|jtjJur@d%|jj#t
jL‰¬«z}t
jL}n$|jtjNur?d&|jj#t
jL‰¬«z}t
jL}nÉ|jtjPur•|j\}}}|tRjTtRjVfvrt
jTnt
jX}|j#|‰¬«}|j#|‰¬«}|j#‰¬«}|›d'|›d'|›}ntId(|j›«‚|jZ|jZkrd|zd    zS|Scc}wcc}wcc}}wcc}wcc}wcc}w))z0Return a string representation of Expr.
        rrr2Ú_Úr«c3ó`•K—|]%}|jtj‰¬«–—Œ'y­w©rN©rPrarm©r†r‡rKs  €rrˆz Expr.tostring.<locals>.<genexpr>ó,øèø€ò1Ø"ðŸ-™-¬
×(8Ñ(8À8˜-×Lñ1ùóƒ+.rªr¬c3ó`•K—|]%}|jtj‰¬«–—Œ'y­wr¶r·r¸s  €rrˆz Expr.tostring.<locals>.<genexpr>+r¹rºú[ú]z - ú + rú * ú-Ú0r    riöÿÿÿzpow(z ** Ú1ú/z / ú=Nz // ú?ú:z if z else zmerge(z tostring for z and ú&Ú*ú ztostring for op ).r’rr r!r“rarirerŒr"Újoinr%r#r$r+r›rœrPÚ    as_numberrhÚappendr,rrÚrangermrfr'rSrZrnr(r)r&rrr‘r-rgr.r*r0rBrCrDrŸ)rOÚparent_precedencerKÚ
precedenceÚrÚtermsÚtermÚcoeffr’ÚfactorsÚtailÚbaseÚexpÚfactorÚnameÚargsÚkwargsÚargÚnumerÚdenomrsrtÚaÚcondÚexpr1Úexpr2ÚropÚleftÚrights  `                          rrPz Expr.tostringsšø€ð 7‰7”r—z‘z¤2§7¡7Ð+Ñ +Ø,0¯I©I°a©L¸1Ò,<œ*Ÿ.š.Ü)Ÿ™ð äD—I‘I˜a‘LÓ!Ø(,¯    ©    °!© ¸Ò(9ð()¨¯©°1©¨Ñ%7Ø?AñCŠAà W‰WœŸ
™
Ñ "Ø—    ‘    ó1Ø&*§i¡iô1ó1ˆAàa‘˜#‘ ˆAÜ#Ÿ™ŠJØ W‰WœŸ    ™    Ñ !Ü#Ÿ™ˆJܐD—I‘I“ŠAØ W‰WœŸ    ™    Ñ !Ø—    ‘    ˜!‘ ˆA؏y‰y˜‰|˜qÒ Ø—I‘I˜a‘L 3Ñ&¨Ñ*Ü#Ÿ™ŠJØ W‰WœŸ™Ñ  Ø—    ‘    ó1Ø&*§i¡iô1ó1ˆAàa‘˜#‘ ˆAÜ#Ÿ™ŠJØ W‰WœŸ™Ò  ØˆEÜ% d§i¡i§o¡oÓ&7Ó8ò #‘ eؘ1’9ؐBØ"˜F‘EàBؘA’:ØŸ=™=¬¯©À(˜=ÓK‘DØœY q›\Ò)ܘu›:‘Dà#˜W C˜=¨4¯=©=Ü"×*Ñ*°Xð,9ó,?ñ?DáØ—L‘L Õ$ؘ5’[Ø—L‘L Ô%Ø— ‘ ˜TÕ"ð# #ð$—‘˜“Ò% #ˆAÙ+0œŸš´j·o±oŠJØ W‰WœŸ
™
Ò "؈G؈DÜ# D§I¡I§O¡OÓ$5Ó6ó '‘    cؘؐ!’8Ø!Ÿ]™]¬:×+=Ñ+=Ø4<ð+ó>‘Fध¡Ñ+Øœe A r›lÑ*Ø!%§¡¬z×/AÑ/AØ8@ð"/ó"B˜à!&§¡¨V¨H°s©NÓ!;™Ø¤ c¨1£ Ñ-Ø!%§¡¬z×/AÑ/AØ8@ð"/ó"B˜à  ¨C¨4¡Ñ/˜Ø à!%§¡¬z×/?Ñ/?Ø8@ð"/ó"B˜à#'¨ x¨r°#°°aÐ!8™à!Ÿ]™]¬:×+;Ñ+;Ø4<ð+ó>ØBFÀsÀeÀ ñMFáØ—N‘N 2Ô&Ø—‘˜vÖ&ð1 'ñ2ÙØ ˜uÑ$GؘC  e§j¡j°Ó&6¸Ð<Ñ<Ø—‘˜Ó Ò' CˆAÙ/6œ×+Ò+¼J¿O¹OŠJØ W‰WœŸ™Ò  Ø!%§¡Ñ ˆD$˜Ø”w—{‘{Ñ" x´8·:±:Ñ'=ð,0ö 1à$'ð!$§ ¡ ¬Z×-?Ñ-?Ø6>ð!-õ!@ò 1‘ uðg˜S  Ð(Ü'×/Ñ/’
ð$(ö)ØðŸ ™ ¤Z×%5Ñ%5À˜ ÕIð)ð)àØ%+§\¡\£^÷5Ù!˜Q ð˜S™ 1§:¡:¬j¯o©oÓ#>Ó>ó5ñ5àf˜A˜dŸi™i¨›oÐ.¨aÐ0Ü'Ÿ_™_’
Ø W‰WœŸ ™ Ñ #Ø—9‘9˜Q‘<ˆDà#Ÿy™y¨¨˜}ö.Øð—L‘L¤×!1Ñ!1¸HLÕEð.ˆDð.à&˜˜$Ÿ)™) D›/Ð*¨!Ð,ˆAÜ#Ÿ™ŠJØ W‰WœŸ    ™    Ñ !à#Ÿy™yö*Øð—L‘L¤×!3Ñ!3¸hLÕGð*ˆDð*à— ‘ ˜DÓ!ˆAÜ#×+Ñ+ŠJØ W‰WœŸ
™
Ñ "ð,0¯9©9ö"6à&'ð#$§*¡*¬Z×-=Ñ-=Ø6>ð#-õ#@ò"6Ñ ˆD%˜ðœ8Ÿ:™:Ñ%ؘv˜Q˜u˜g Q u g¨QÐ/‘ØœXŸ_™_Ñ,ؘw˜d 4 &¨¨u¨g°QÐ7‘ØœX×-Ñ-Ñ-ؘU˜G 2 e W¨B¨t¨f°AÐ6‘ä)Ø# D§G¡G 9¨E°(°Ð<ó>ð>ä#Ÿ™ŠJØ W‰WœŸ™Ñ ؐd—i‘i×(Ñ(¬×)9Ñ)9ÀHÐ(ÓMÑMˆAÜ#×)Ñ)ŠJØ W‰WœŸ™Ñ  Ød—i‘i×(Ñ(¬×)9Ñ)9ÀHÐ(ÓMÑMˆAÜ#×)Ñ)‰JØ W‰WœŸ ™ Ñ %Ø#Ÿy™yÑ ˆCuØ+.´5·8±8¼U¿X¹XÐ2FÑ+Fœ*Ÿ-š-Ü)Ÿ}™}ð à—=‘= °h=Ó?ˆDØ—N‘N :¸NÓAˆEØ—,‘,¨,Ó1ˆCؐ&˜˜#˜˜a ˜wÐ'‰Aä%Ð(8¸¿¹¸    Ð&BÓCÐ CØ × "Ñ " Z×%5Ñ%5Ò 5ð˜‘7˜S‘=Ð  Øˆùòs 1ùò )ùó5ùò .ùò
*ùò
"6s$Õ(gÖ((g×&/gÚ(g Û=(g%Ý4(g*có—|Srprr®s rÚ__pos__z Expr.__pos__¥s€Øˆ rcó —|dzS)Néÿÿÿÿrr®s rÚ__neg__z Expr.__neg__¨s €Øb‰yÐrcóî—t|«}t|t«rÔ|j|jurN|jtj
tj fvrMt|jd|jdzt|jd|jd««S|jtjur0|j\}}|j\}}t||z||z«S|jtjurmt|jt|j««}|jj«D]\}}t|j||«Œt!|«S|jtjur:|jtj
tj fvr|t|«zS|jtj
tj fvr*|jtjurt|«|zS|jtj ur9|jtj
ur|t#||jd¬«zS|jtj
ur9|jtj urt#||jd¬«|zSt%|«t%|«zSt&S©Nrr)Úkind)Úas_exprr…rr’rr r!rËr“Úmaxr"Ú
as_complexr+rrœrvÚ    normalizeÚas_realÚas_termsr )    rOr—Úr1Úi1Úr2Úi2rÐrsrts             rÚ__add__z Expr.__add__«s€Ü˜“ˆÜ eœTÕ "؏w‰w˜%Ÿ(™(Ò"Ø—7‘7œrŸz™z¬2¯7©7Ð3Ñ3Ü$ØŸ    ™     !™  u§z¡z°!¡}Ñ4ܘDŸI™I a™L¨%¯*©*°Q©-Ó8ó:ð:ð—7‘7œbŸj™jÑ(Ø!ŸY™Y‘FB˜Ø"ŸZ™Z‘FB˜Ü% b¨2¡g¨r°B©wÓ7Ð7Ø—7‘7œbŸh™hÑ&ܘTŸW™W¤d¨4¯9©9£oÓ6AØ %§
¡
× 0Ñ 0Ó 2ò1™˜˜1Ü" 1§6¡6¨1¨aÕ0ð1ä$ Q›<Ð'؏w‰wœ"Ÿ*™*Ñ$¨¯©´b·j±jÄ"Ç'Á'Ð5JÑ)JØœj¨Ó/Ñ/Ð/Ø—‘œRŸZ™Z¬¯©Ð1Ñ1°e·h±hÄ"Ç*Á*Ñ6LÜ! $Ó'¨%Ñ/Ð/Ø—‘œBŸG™GÑ#¨¯©´B·J±JÑ(>Øœg e°$·)±)¸A±,Ô?Ñ?Ð?Ø—‘œBŸJ™JÑ&¨5¯8©8´r·w±wÑ+>ܘt¨%¯*©*°Q©-Ô8¸5Ñ@Ð@ܘD“>¤H¨U£OÑ3Ð 3ÜÐrcóJ—t|t«rt|«|zStSrp©r…Ú number_typesrËr r–s  rÚ__radd__z Expr.__radd__Çó"€Ü eœ\Ô *ܘUÓ# dÑ*Ð *ÜÐrcó—|| zSrprr–s  rÚ__sub__z Expr.__sub__Ìs€Ø˜v‰ÐrcóJ—t|t«rt|«|z
StSrprúr–s  rÚ__rsub__z Expr.__rsub__Ïrýrcóê—t|«}t|t«rÒ|j|jurø|jtj
tj fvrMt|jd|jdzt|jd|jd««S|jtjur<|j\}}|j\}}t||z||zz
||z||zz«S|jtjurmt|jt|j««}|jj«D]\}}t|j||«Œt!|«S|jtj"ur‚t|ji«}|jj«D]D\}    }
|jj«D]"\} } t|j|    | z|
| z«Œ$ŒFt!|«S|jtjur:|jtj
tj fvr|t|«zS|jtjur:|jtj
tj fvrt|«|zS|jtj ur9|jtj
ur|t%||jd¬«zS|jtj
ur9|jtj urt%||jd¬«|zS|jtj"ur|t'|«zS|jtj"urt'|«|zSt)|«t)|«zSt*Srì)rîr…rr’rr r!rËr“rïr"rðr,rrœrvrñr+ròróÚ
as_factorsr ) rOr—rôrõrör÷rÐrsrtÚt1Úc1Út2Úc2s              rÚ__mul__z Expr.__mul__Ôsò€Ü˜“ˆÜ eœTÕ "؏w‰w˜%Ÿ(™(Ò"Ø—7‘7œrŸz™z¬2¯7©7Ð3Ñ3Ü$ T§Y¡Y¨q¡\°E·J±J¸q±MÑ%AÜ%(¨¯©°1©°u·z±zÀ!±}Ó%EóGðGà—W‘W¤§
¡
Ñ*Ø!ŸY™Y‘FB˜Ø"ŸZ™Z‘FB˜Ü% b¨2¡g°°R±Ñ&7¸¸b¹À2ÈÁ7Ñ9JÓKÐKà—7‘7œbŸj™jÑ(ܘTŸW™W¤d¨4¯9©9£oÓ6AØ %§
¡
× 0Ñ 0Ó 2ò1™˜˜1Ü" 1§6¡6¨1¨aÕ0ð1ä$ Q›<Ð'Ø—W‘W¤§¡Ñ(ܘTŸW™W bÓ)AØ"&§)¡)§/¡/Ó"3òA™˜˜BØ&+§j¡j×&6Ñ&6Ó&8òA™F˜B Ü& q§v¡v¨r°B©w¸¸R¹Õ@ñAðAô% Q›<Ð'àw‰wœ"Ÿ*™*Ñ$¨¯©´b·j±jÄ"Ç'Á'Ð5JÑ)JØœj¨Ó/Ñ/Ð/Ø—‘œRŸZ™ZÑ'¨D¯G©G¼¿
¹
ÄBÇGÁGÐ7LÑ,LÜ! $Ó'¨%Ñ/Ð/Ø—‘œBŸG™GÑ#¨¯©´B·J±JÑ(>Øœg e°$·)±)¸A±,Ô?Ñ?Ð?Ø—‘œBŸJ™JÑ&¨5¯8©8´r·w±wÑ+>ܘt¨%¯*©*°Q©-Ô8¸5Ñ@Ð@àw‰wœ"Ÿ(™(Ñ"Øœh u›oÑ-Ð-Ø—‘œRŸX™XÑ%Ü “~¨Ñ-Ð-ä˜dÓ#¤j°Ó&7Ñ7Ð 7ÜÐrcóJ—t|t«rt|«|zStSrprúr–s  rÚ__rmul__z Expr.__rmul__ýrýrcóV—t|«}t|t«r|jtj
urÑ|j d}|dk(r td«S|dk(r|S|dkDr||jtjurUt|ji«}|j j«D]\}}||z|j |<Œt|«S|||dz
zzS|dk7r    || zdzSttj||i«Sttj||«StS)Nrrré)rîr…rr’rr r“rËr,rœrñÚas_applyrSr[r )rOr—ÚexponentrÐrsrts      rÚ__pow__z Expr.__pow__s €Ü˜“ˆÜ eœTÕ "؏x‰xœ2Ÿ:™:Ñ%Ø Ÿ:™: a™=à˜q’=Ü$ Q›<Ð'ؘq’=ؐKؘa’<Ø—w‘w¤"§*¡*Ñ,Ü  §¡¨"Ó-˜Ø$(§I¡I§O¡OÓ$5ò5™D˜A˜qØ()¨H© ˜AŸF™F 1šIð5ä(¨›|Ð+Ø 4¨H°q©LÑ#9Ñ:Ð:Ø ’^Ø  h YÑ/°BÑ6Ð6ÜœBŸJ™J¨¨xÐ(8Ó9Ð9ÜœGŸK™K¨¨uÓ5Ð 5ÜÐrcóŒ—t|«}t|t«r$tt    t
j ||««StSrp)rîr…rrñr rSrZr r–s  rÚ __truediv__zExpr.__truediv__s5€Ü˜“ˆÜ eœTÔ "ôœX¤g§k¡k°4¸Ó?Ó@Ð @ÜÐrcóN—t|«}t|t«r||z StSrp©rîr…rr r–s  rÚ __rtruediv__zExpr.__rtruediv__!s%€Ü˜“ˆÜ eœTÔ "ؘ4‘<Ð ÜÐrcóŽ—t|«}t|t«r%tttj
||f««St Srp)rîr…rrñrr)r r–s  rÚ __floordiv__zExpr.__floordiv__'s7€Ü˜“ˆÜ eœTÔ "ôœT¤"§)¡)¨d°E¨]Ó;Ó<Ð <ÜÐrcóN—t|«}t|t«r||zStSrprr–s  rÚ __rfloordiv__zExpr.__rfloordiv__/s%€Ü˜“ˆÜ eœTÔ "ؘD‘=Ð  ÜÐrc óž—t|gtt|«¢­i|j«Dcic]\}}|t|«“Œc}}¤ŽScc}}wrp)r Úmaprîrœ)rOrÚrÛrsrts     rÚ__call__z Expr.__call__5sM€ô ˜ðFœs¤7¨DÓ1òFØ5;·\±\³^×D©T¨Q°˜1œg a›j™=ÓDñFð    FùÛDs­A    có´—t|«}t|t«s|f}t|«dkDrt    d|›d«t t j|f|z«S)Nrz/C-index should be a single expression but got `ú`)rîr…r‰rŠr~rrr()rOÚindexs  rÚ __getitem__zExpr.__getitem__>sR€ô˜“ˆÜ˜%¤Ô'ؐFˆEÜ ˆu‹:˜Š>Ü ÐCÀEÀ7È!ÐLÔ MÜ”B—K‘K $ ¨5¡Ó1Ð1rc    ó8
‡—|jtjuri‰j|«}|€|St    j
d|j «}|r0|j«\}}|dvr t|«S|dk(s    J||f«‚|S|jtjtjtjfvr|S|jtjtjfvr2t|jtˆfd„|j D«««S|jtj ur;t#t|jtˆfd„|j D««««S|jtj$urld}|j j'«D]3\}}|€|j)‰«|z}Œ||j)‰«|zz }Œ5|€t+d«t-d«S|S|jtj.urld}|j j'«D]3\}    }
|€|    j)‰«|
z}Œ||    j)‰«|
zz}Œ5|€t+d    «t-d
«S|S|jtj0ur™|j \} } } t3| t«r| j)‰«} tˆfd „| D««} | j'«Dcic]\}}||j)‰«“Œ} }}t#t|j| | | f««S|jtj4urt|j d}t3|t«r|j)‰«}tˆfd „|j d
dD««} t#t|j|f| z««S|jtj6ur=tˆfd „|j D««}t#t|j|««S|jtj8tj:fvr8t#t|j|j j)‰«««S|jtj<urT|j \}}}|j)‰«}|j)‰«}t#t|j|||f««St?d|j›d|›«‚cc}}w)z„Recursively substitute symbols with values in symbols map.
 
        Symbols map is a dictionary of symbol-expression pairs.
        Nz$\A(@__f2py_PARENTHESIS_(\w+)_\d+@)\Z©ÚROUNDDIVÚSQUAREÚROUNDc3ó@•K—|]}|j‰«–—Œy­wrp©Ú
substitute©r†r‡Ú symbols_maps  €rrˆz"Expr.substitute.<locals>.<genexpr>\s"øèø€ò'>Ø+/ð(,§¡°{×'Cñ'>ùóƒc3ó@•K—|]}|j‰«–—Œy­wrpr%r's  €rrˆz"Expr.substitute.<locals>.<genexpr>_s$øèø€ò1HØ59ð26·±À×1Mñ1Hùr)z?substitute: empty TERMS expression interpreted as int-literal 0rzAsubstitute: empty FACTORS expression interpreted as int-literal 1rc3ó@•K—|]}|j‰«–—Œy­wrpr%©r†rßr(s  €rrˆz"Expr.substitute.<locals>.<genexpr>}søèø€ÒA°q˜Ÿ™ k×2ÑAùr)c3ó@•K—|]}|j‰«–—Œy­wrpr%r,s  €rrˆz"Expr.substitute.<locals>.<genexpr>…søèø€ÒJ°q˜Ÿ™ k×2ÑJùr)c3ó@•K—|]}|j‰«–—Œy­wrpr%r,s  €rrˆz"Expr.substitute.<locals>.<genexpr>ˆsøèø€ÒJ¸1˜QŸ\™\¨+×6ÑJùr)zsubstitute method for z: ) r’rr%rqÚreÚmatchr“ÚgroupsÚas_arrayr r!r#r$r"rr‰r)rñr+rœr&r~rËr,r'r…r(r&r-r.r*r‘)rOr(rŸÚmrœÚparenrÐrÒrÓrÖr ÚtargetrÚrÛrsrtÚfuncÚoperandsrãrärås `                   rr&zExpr.substituteHs=ø€ð
7‰7”b—i‘iÑ Ø—O‘O DÓ)ˆE؈}ؐ Ü—‘Ð@À$Ç)Á)ÓLˆAÙà Ÿx™x›z‘ uØÐ2Ñ2Ü# E›?Ð*Ø Ò'Ð7¨%°¨Ó7Ð'؈LØ 7‰7”r—z‘z¤2§7¡7¬B¯I©IÐ6Ñ 6؈KØ 7‰7”r—x‘x¤§¡Ð,Ñ ,ܘŸ™¤ó'>Ø37·9±9ô'>ó">ó?ð ?à 7‰7”b—i‘iÑ ÜœT $§'¡'¬5ó1HØ=A¿Y¹Yô1Hó,HóIóJð Jà 7‰7”b—h‘hÑ ØˆAØ#Ÿy™yŸ™Ó0ò >‘ eؐ9ØŸ™¨ Ó4°uÑ<‘Aà˜Ÿ™¨Ó5¸Ñ=Ñ=‘Að     >ð
ˆyÜð'ô(ä  “|Ð#؈HØ 7‰7”b—j‘jÑ  ØˆAØ"&§)¡)§/¡/Ó"3ò B‘hؐ9ØŸ™¨ Ó4¸Ñ@‘Aà˜Ÿ™¨Ó5¸ÑAÑA‘Að     Bð
ˆyÜð*ô+ä  “|Ð#؈HØ 7‰7”b—h‘hÑ Ø#'§9¡9Ñ  ˆFD˜&ܘ&¤$Ô'Ø×*Ñ*¨;Ó7ÜÓA¸DÔAÓAˆDà&,§l¡l£n÷6Ù"˜a ð˜Ÿ™ kÓ2Ñ2ð6ˆFñ6äœT $§'¡'¨F°D¸&Ð+AÓBÓCÐ CØ 7‰7”b—k‘kÑ !Ø—9‘9˜Q‘<ˆDܘ$¤Ô%Ø—‘ {Ó3ÜÓJ¸D¿I¹IÀaÀb¸MÔJÓJˆDÜœT $§'¡'¨D¨7°T©>Ó:Ó;Ð ;Ø 7‰7”b—j‘jÑ  ÜÓJÀÇ    Á    ÔJÓJˆHÜœT $§'¡'¨8Ó4Ó5Ð 5Ø 7‰7”r—v‘vœrŸx™xÐ(Ñ (ÜœT $§'¡'¨4¯9©9×+?Ñ+?À Ó+LÓMÓNÐ NØ 7‰7”b—m‘mÑ #Ø#Ÿy™yÑ ˆCuØ—?‘? ;Ó/ˆDØ×$Ñ$ [Ó1ˆEÜœT $§'¡'¨C°°uÐ+=Ó>Ó?Ð ?Ü!Ð$:¸4¿7¹7¸)À2ÀdÀXÐ"NÓOÐOùó'6sË=Tc
ó6‡‡‡—‰|g‰¢­i‰¤Ž}||S|jtjtjtjtj
fvr|S|jtj tjtjtjfvr=tt|jtˆˆˆfd„|jD««««S|jtjtjfvr’i}|jj!«D]T\}}|j"‰g‰¢­i‰¤Ž}t%|t«r|j"‰g‰¢­i‰¤Žn|}||vr|||z}|||<ŒVtt|j|««S|jtj&urÀ|jd}t%|t«r|j"‰g‰¢­i‰¤Žn|}    tˆˆˆfd„|jdD««}
|jdj!«Dcic]\}}||j"‰g‰¢­i‰¤Ž“Œ} }}tt|j|    |
| f««S|jtj(ur}|jd}t%|t«r|j"‰g‰¢­i‰¤Žn|}tˆˆˆfd„|jddD««} tt|j|f| z««S|jtj*tj,fvr=tt|j|jj"‰g‰¢­i‰¤Ž««S|jtj.ur^|j\} }}|j"‰g‰¢­i‰¤Ž}|j"‰g‰¢­i‰¤Ž}tt|j| ||f««St1d|j›«‚cc}}w)    aBTraverse expression tree with visit function.
 
        The visit function is applied to an expression with given args
        and kwargs.
 
        Traverse call returns an expression returned by visit when not
        None, otherwise return a new normalized expression with
        traverse-visit sub-expressions.
        Nc3óJ•K—|]}|j‰g‰¢­i‰¤Ž–—Œy­wrp©Útraverse)r†r‡rÚrÛÚvisits  €€€rrˆz Expr.traverse.<locals>.<genexpr>¤s.øèø€ò1'à𐗠‘ ˜eÐ5 dÒ5¨fÕ5ñ1'ùóƒ #rc3óJ•K—|]}|j‰g‰¢­i‰¤Ž–—Œy­wrpr:)r†ÚoperandrÚrÛr<s  €€€rrˆz Expr.traverse.<locals>.<genexpr>µs0øèø€ò:Ø!(ð.˜W×-Ñ-¨eÐE°dÒE¸fÕEñ:ùr=rr    c3óJ•K—|]}|j‰g‰¢­i‰¤Ž–—Œy­wrpr:)r†rrÚrÛr<s  €€€rrˆz Expr.traverse.<locals>.<genexpr>¾s.øèø€ò8Ø %ð+˜EŸN™N¨5ÐB°4ÒB¸6ÕBñ8ùr=ztraverse method for )r’rr r!r#r%r"r$r)r&rñrr‰r“r+r,rœr;r…r'r(r-r.r*r‘)rOr<rÚrÛÚresultr“rsrtÚobjr6r7Ú
kwoperandsÚindicesrãrärås ```            rr;z Expr.traverse“sú€ñtÐ-˜dÒ- fÑ-ˆØ Р؈Mà 7‰7”r—z‘z¤2§7¡7¬B¯I©I´r·y±yÐAÑ A؈KØ W‰WœŸ™¤R§X¡X¬r¯y©y¼"¿*¹*ÐEÑ EÜœT $§'¡'¬5õ1'à ŸI™Iô1'ó,'ó(ó)ð )ðW‰WœŸ™¤2§:¡:Ð.Ñ .؈DØŸ    ™    Ÿ™Ó)ò ‘1ؐA—J‘J˜uÐ6 tÒ6¨vÑ6ä" 1¤dÔ+ð Q—Z‘Z Ð7¨Ò7°Ò7Ø12ðà˜‘9ؘQ™ !™ AؐQ’ð  ôœT $§'¡'¨4Ó0Ó1Ð 1Ø W‰WœŸ™Ñ  Ø—)‘)˜A‘,ˆCä! #¤tÔ,ð!C—L‘L Ð8¨Ò8°Ò8Ø25ð äõ:Ø,0¯I©I°a©Lô:ó:ˆHð+/¯)©)°A©,×*<Ñ*<Ó*>÷@Ù"& ! Qð˜Z˜QŸZ™Z¨Ð?°Ò?¸Ñ?Ñ?ð@ˆJñ@äœT $§'¡'¨D°(¸JÐ+GÓHÓIÐ IØ W‰WœŸ ™ Ñ #Ø—)‘)˜A‘,ˆCä  ¤dÔ+ð 3—<‘< Ð7¨Ò7°Ò7Ø14ð äõ8Ø)-¯©°1°2¨ô8ó8ˆGäœT $§'¡'¨C¨6°GÑ+;Ó<Ó=Ð =Ø W‰WœŸ™¤§¡Ð*Ñ *ÜœT $§'¡'Ø"4 $§)¡)×"4Ñ"4°UÐ"L¸TÒ"LÀVÑ"LóNóOð Oà W‰WœŸ ™ Ñ %Ø#Ÿy™yÑ ˆCuØ 4—=‘= Ð8¨Ò8°Ñ8ˆDØ"E—N‘N 5Ð:¨4Ò:°6Ñ:ˆEÜœT $§'¡'¨C°°uÐ+=Ó>Ó?Ð ?Ü!Ð$8¸¿¹¸    Ð"BÓCÐCùó%@sÈ;!PcóT‡—g}|fˆfd„    }|j|«t|«dk7S)z&Check if self contains other.
        có>•—|r|S|‰k(r|jd«|Sy)Nr)rÌ)ÚexprÚfoundr—s  €rr<zExpr.contains.<locals>.visitÐs'ø€Ùؐ ؘ’Ø— ‘ ˜Q”ؐ ðrr)r;rŠ)rOr—rHr<s `  rÚcontainsz Expr.containsËs.ø€ðˆà#õ    ð      ‰ eÔä5‹z˜Q‰ÐrcóF—t«}|fd„}|j|«|S)z3Return a set of symbols contained in self.
        có`—|jtjur|j|«yyrp)r’rr%Úadd)rGrHs  rr<zExpr.symbols.<locals>.visitàs"€Øw‰wœ"Ÿ)™)Ñ#Ø—    ‘    ˜$•ð$r©Úsetr;©rOrHr<s   rÚsymbolsz Expr.symbolsÛs&€ô“ˆà#ó     ð      ‰ eÔàˆ rcóL‡—t«}|fˆfd„    Š|j‰«|S)zFReturn a set of expressions used as atoms in polynomial self.
        c󲕗|jtjur$|jD]}|j    ‰«Œ|S|jtj
tj fvry|jtjur`t|jdt«rC|jdtjur#|jddj    ‰«|Sy|jtjtjfvr|S|j|«|jtjtjfvr|Sy©Nrr)r’rr,r“r;r+r"r'r…rSr[r r!rLr()rGrHÚbr<s   €rr<z$Expr.polynomial_atoms.<locals>.visitísöø€Øw‰wœ"Ÿ*™*Ñ$ØŸ™ò&AØ—J‘J˜uÕ%ð&à Øw‰wœ2Ÿ8™8¤R§Z¡ZÐ0Ñ0ØØw‰wœ"Ÿ(™(Ñ"¤z°$·)±)¸A±,ÄÔ'HØ—9‘9˜Q‘<¤7§;¡;Ñ.Ø—I‘I˜a‘L ‘O×,Ñ,¨UÔ3ؐKØØw‰wœ2Ÿ:™:¤r§w¡wÐ/Ñ/ؐ à I‰IdŒOàw‰wœ2Ÿ;™;¬¯©Ð1Ñ1ؐ ð2rrMrOs  @rÚpolynomial_atomszExpr.polynomial_atomsès'ø€ô“ˆà#õ    ð(      ‰ eÔàˆ rc óü—|j|td«i«}||z
}|j|td«i«}t||z|z
«\}}|td«k7rtd|›d|›d|›d|›d|›
«‚||fS)zReturn a, b such that a * symbol + b == self.
 
        If self is not linear with respect to symbol, raise RuntimeError.
        rrznot a z-linear equation: r¿r¾z == )r&rËÚas_numer_denomÚ RuntimeError)rOÚsymbolrTÚaxrßÚzeror³s       rÚ linear_solvezExpr.linear_solves€ð
O‰O˜V¤Y¨q£\Ð2Ó 3ˆØ A‰XˆØ M‰M˜6¤9¨Q£<Ð0Ó 1ˆä   V¡¨b¡Ó1‰ˆˆaà ”9˜Q“<Ò Ü ¨ xð0#Ø#$ # S¨¨°°A°3°d¸4¸&ð BóCð Cà!ˆtˆ rN)*r
r r r Ú staticmethodrrr‚r”r˜rr¡r£r¥r§r¯r±rarnrrPrçrêrørürÿrrr
rrrrrrrr&r;rIrPrUr\rrrrrs؄ñð
Ø"Ÿ*™*ò0óð0ò
@òD-ò
%ò òBâ7â6òBòð*4¯©Ø"×*Ñ*óOòbòòò8ò
òò
'òRò
ò.òò òò Fò2òIPòV6Dòpò  òó:rc    ó¬—t|t«s|S|jtjur i}|j
j «D]\}}|dk(rŒ |jtjur |dk7r||z}d}|jtjur3|j
j «D]\}}t||||z«ŒŒƒt|||«Œ‘t|«dk(r td«St|«dk(r|j «\\}}|dk(r|Sttj|«S|jtjurEd}i}|j
j «D]8\}}|dk(rŒ |jtjur"t|t«r|dkDr |||dz
zz}d}|jtjtjfvrA|dk(r||j
dz}Œ|dkDr||j
d|zz}Œªt|||«Œ¸|jtjurX|dkDrDt|t«r4|j
j «D]\}    }
t||    |
|z«ŒŒt|||«Œ,t|||«Œ;t|«dk(s|dk(rt|t«sJ‚t|«St|«dk(rZ|j «\\}}|dk(r|}nttj|«}|dk(r|Sttj||i«S|dk(rttj|«Sttjttj|«|i«S|jtj ur½|j
dt"j$ur|j
d\} } t'| «\}}t'| «\} }t|t«r't|t«rt)||«}||z||z}}n||z d}}|jtj urg|j
dt"j$urH|j
dd|z}|j
dd| z|z}t+t"j$||«S| jtj urg| j
dt"j$urH| j
dd|z|z}| j
dd|z}t+t"j$||«St-t/|«j
«}t/| «j
j «D]\}}t||| «Œii}}|j «D]\}}|dkDr|||<Œ| ||<Œt1ttj|««|z}t1ttj|««|z}|jtjtjfvr|j
ddk(r|St+t"j$||«S|jtj2ur:|j
dg}|j
ddD]â}|d}|jtj4ur®|jtj4ur’|j
dddvr~|j
dd|j
ddk(rYt7|j
ddd|j
dddzt9|j
d|j
d««}||d<ŒÒ|j;|«Œät|«dk(r|dSttj2t=|««S|jtj>urjtAt0|j
«\}}}|jtjur|j
dr|S|Sttj>|||f«S|S)z7Normalize Expr and apply basic evaluation methods.
    rrNréz"')!r…rr’rr+r“rœr"rvrŠrËr,Ú integer_typesr r!rûr'rSrZÚ as_term_coeffrr rrrñr)r#Ú    as_stringrïrÌr‰r&r)rBrrÚtrurrrÓrTÚeÚb1Úe1ÚdividendÚdivisorrrÚgrÝrÞÚlstrJÚlastÚnew_lastràrárâs                         rrñrñsæ€ô cœ4Ô  Øˆ
à
‡vv”—‘ÒØ ˆØ—H‘H—N‘NÓ$ò
    $‰DˆAˆqؐAŠvØØt‰t”r—z‘zÑ! a¨1¢fؘ‘EØØt‰t”r—x‘xÑØŸf™fŸl™l›nò.‘FB˜Ü˜q " b¨1¡fÕ-ñ.ô˜1˜a Õ#ð
    $ô ˆq‹6QŠ;ä˜Q“<Ð Ü ‹VqŠ[Ø—g‘g“i‰G‰FˆQØAŠvؐܔB—H‘H˜aӠРà
‡vv”—‘ÒØˆØ ˆØ—H‘H—N‘NÓ$ó    $‰DˆAˆqؐAŠvØØt‰t”r—x‘xѤJ¨q´-Ô$@ÀQÈÂUà˜˜q 1™u™Ñ&Øàt‰tœŸ
™
¤B§G¡GÐ,Ñ,ؘ’6ؘQŸV™V A™YÑ&‘Eؘ’UؘQŸV™V A™Y¨!™^Ñ+‘Eä˜q ! QÕ'Ø—‘œŸ™Ñ#ؐq’5œZ¨¬=Ô9Ø"#§&¡&§,¡,£.ò2™˜˜BÜ" 1 b¨"¨q©&Õ1ò2ô˜q ! QÖ'ä˜1˜a Ö#ð-    $ô. ˆq‹6QŠ;˜% 1š*ä˜e¤\Ô2Ð 2Ð2ܘUÓ#Ð #Ü ‹VqŠ[Ø—g‘g“i‰G‰FˆQØAŠvؑ䜟™ QÓ'Ø˜ŠzؐܜŸ™ 1 e *Ó-Ð -Ø aŠZÜœŸ
™
 AÓ&Ð &䜟™¤4¬¯
©
°AÓ#6¸Ð">Ó?Ð ?à
‡vv”—‘Ò˜cŸh™h q™k¬W¯[©[Ò8ØŸH™H Q™Kш'ܘxÓ(‰ˆˆBܘwÓ'‰ˆˆBÜ bœ-Ô (¬Z¸¼MÔ-JܐB˜“ ˆAؘ1‘W˜b A™g‰Bà˜"‘W˜aˆBà 5‰5”B—H‘HÑ  §¡¨¡¬w¯{©{Ñ!:Ø—G‘G˜A‘J˜q‘M BÑ&ˆEØ—G‘G˜A‘J˜q‘M BÑ&¨Ñ+ˆEÜœGŸK™K¨°Ó6Ð 6à 5‰5”B—H‘HÑ  §¡¨¡¬w¯{©{Ñ!:Ø—G‘G˜A‘J˜q‘M BÑ&¨Ñ+ˆEØ—G‘G˜A‘J˜q‘M BÑ&ˆEÜœGŸK™K¨°Ó6Ð 6ä ”˜B“×$Ñ$Ó %ˆÜ˜r“N×'Ñ'×-Ñ-Ó/ò    !‰DˆAˆqÜ q˜!˜a˜RÕ  ð    !à˜2ˆuˆØ—G‘G“Iò    ‰DˆAˆqؐ1Šuؐa’à˜2a’ð        ô
œ$œrŸz™z¨5Ó1Ó2°RÑ7ˆÜœ$œrŸz™z¨5Ó1Ó2°RÑ7ˆà 8‰8œŸ
™
¤B§G¡GÐ,Ñ ,°·±¸A±À!Ò1CàˆLÜœŸ ™  U¨EÓ2Ð2à
‡vv”—‘ÒØx‰x˜‰{ˆmˆØ—‘˜!˜"ò     ˆAؐr‘7ˆDà—G‘GœrŸy™yÑ(ØŸ™¤§    ¡    Ñ)ØŸ    ™     !™  Q™¨5Ñ0ØŸ™˜q™     !™ ¨¯    ©    °!© °RÑ(8Ò8ä$ T§Y¡Y¨q¡\°#°2Ð%6¸¿¹À¹À1À2¸Ñ%FÜ%(¨¯©°1©°q·v±v¸a±yÓ%AóCà"B’à—
‘
˜1• ð     ô ˆs‹8qŠ=ؐq‘6ˆMÜ”B—I‘Iœu S›zÓ*Ð*à
‡vv”—‘ÑÜ ¤¨C¯H©HÓ5шˆeUØ 7‰7”b—j‘jÑ  Ø ŸI™I ašL5Ð 3¨eÐ 3Ü”B—J‘J  u¨eР4Ó5Ð5à €Jrcó6—t|t«r t|j|j«St|t
«r t |«St|t«rtt|««St|t«rttt|««S|S)z.Convert non-Expr objects to Expr objects.
    ) r…ÚcomplexrðÚrealÚimagrûrËrŒraÚreprr‰rrî©rBs rrîrîŸss€ô#”wÔܘ#Ÿ(™( C§H¡HÓ-Ð-ܐ#”|Ô$ܘ‹~Ðܐ#”sÔôœ˜c›Ó#Ð#ܐ#”uÔÜ”Sœ #Ó&Ó'Ð'Ø €Jrcó6—ttj|«S)zJReturn object as SYMBOL expression (variable or unparsed expression).
    )rrr%rqs rÚ    as_symbolrs¯s€ô ”—    ‘    ˜3Ó ÐrcóL—t|t«rttj||f«St|t
«rttj ||f«St|t«r.|jtjtj fvr|Std|›d«‚)z/Return object as INTEGER or REAL constant.
    úcannot convert z to INTEGER or REAL constant)    r…r‹rrr rr!r’r]©rBrís  rrËr˵s€ô#”sÔÜ”B—J‘J  d  Ó,Ð,ܐ#”uÔÜ”B—G‘G˜c 4˜[Ó)Ð)ܐ#”tÔØ 6‰6”b—j‘j¤"§'¡'Ð*Ñ *؈JÜ
O C 5Ð(DÐEÓ
FÐFrcóԗt|t«rttj||f«St|t«r|j
tjur|St d|›d«‚)z'Return object as INTEGER constant.
    ruz to INTEGER constant)r…r‹rrr r’r]rvs  rÚ
as_integerrxÂsW€ô#”sÔÜ”B—J‘J  d  Ó,Ð,ܐ#”tÔØ 6‰6”R—Z‘ZÑ ØˆJÜ
O C 5Ð(<Ð=Ó
>Ð>rcóÚ—t|t«r%ttjt |«|f«St|t
«rttj||f«St|t«rl|j tjur|S|j tjur2ttjt |jd«|f«Std|›d«‚)z$Return object as REAL constant.
    rruz to REAL constant)
r…r‹rrr!rr’r r“r]rvs  rròròÍs®€ô#”sÔÜ”B—G‘Gœe C›j¨$Ð/Ó0Ð0ܐ#”uÔÜ”B—G‘G˜c 4˜[Ó)Ð)ܐ#”tÔØ 6‰6”R—W‘WÑ ØˆJØ V‰V”r—z‘zÑ !ÜœŸ™¤%¨¯©°© Ó"4°dÐ!;Ó<Ð <Ü
O C 5Ð(9Ð:Ó
;Ð;rcó:—ttj||f«S)zBReturn object as STRING expression (string literal constant).
    )rrr#rvs  rraraÜs€ô ”—    ‘    ˜C ˜;Ó 'Ð'rcó\—t|t«r|f}ttj|«S)z8Return object as ARRAY expression (array constant).
    )r…rrr$rqs rr2r2âs&€ô#”tÔØˆdˆÜ ”—‘˜#Ó Ðrcó^—ttjt|«t|«f«S)zDReturn object as COMPLEX expression (complex literal constant).
    )rrr"rî)rnros  rrðrðês"€ô ”—
‘
œW T›]¬G°D«MÐ:Ó ;Ð;rc ó̗ttj|tt    t
|««|j «Dcic]\}}|t |«“Œc}}f«Scc}}w)zIReturn object as APPLY expression (function call, constructor, etc.)
    )rrr'r‰rrîrœ)r6rÚrÛrsrts     rr r ðsP€ô ”—‘Ø”uœS¤¨$Ó/Ó0Ø,2¯L©L«N×;¡D A q!”W˜Q“Z‘-Ó;ð=ó >ð>ùã;sÁA có<—ttj|||f«S)z<Return object as TERNARY expression (cond?expr1:expr2).
    )rrr&)ràrárâs   rÚ
as_ternaryrøs€ô ”—
‘
˜T 5¨%Ð0Ó 1Ð1rcó6—ttj|«S)z-Return object as referencing expression.
    )rrr-©rGs rÚas_refr‚þs€ô ”—‘˜Ó Ðrcó6—ttj|«S)z/Return object as dereferencing expression.
    )rrr.rs rÚas_derefr„s€ô ”—‘˜$Ó ÐrcóX—ttjtj||f«Srp)rrr*r0rB©rärås  rÚas_eqr‡
ó€Ü ”— ‘ ¤§¡¨$°Ð6Ó 7Ð7rcóX—ttjtj||f«Srp)rrr*r0rCr†s  rÚas_nerŠrˆrcóX—ttjtj||f«Srp)rrr*r0rDr†s  rÚas_ltrŒrˆrcóX—ttjtj||f«Srp)rrr*r0rEr†s  rÚas_lerŽrˆrcóX—ttjtj||f«Srp)rrr*r0rFr†s  rÚas_gtrrˆrcóX—ttjtj||f«Srp)rrr*r0rGr†s  rÚas_ger’rˆrcóL—t|t«rýt|«}|jtj
ur|S|jtj ur@ttj
td|jd«|jdi«S|jtjur@ttj
td|jd«|jdi«Sttj
|di«Stdt|«›d«‚)z+Return expression as TERMS expression.
    rrruú to terms Expr) r…rrñr’rr+r rxr“r!ròr]r­rqs rróró"sӀô#”tÔܘ‹nˆØ 6‰6”R—X‘XÑ ØˆJØ 6‰6”R—Z‘ZÑ ÜœŸ™¤:¨a°·±¸!±Ó#=¸s¿x¹xȹ{Ð"KÓLÐ LØ 6‰6”R—W‘WÑ ÜœŸ™¤7¨1¨c¯h©h°q©kÓ#:¸C¿H¹HÀQ¹KÐ"HÓIÐ IÜ”B—H‘H˜s A˜hÓ'Ð'Ü
O¤D¨£I ;¨nÐ=Ó
>Ð>rcó8—t|t«rrt|«}|jtj
ur|S|jtj ur‰t|j«dk(rq|jj«\\}}|dk(rttj
|di«Sttj
|dtj|«di«S|jtjurl|jdtjurM|jds>ttj
|jddd|jdddi«Sttj
|di«Stdt|«›d«‚)z-Return expression as FACTORS expression.
    rrr    rérur”)r…rrñr’rr,r+rŠr“rœÚnumberr'rSrZr]r­)rBrÒrÓs   rrr1s/€ô#”tÕܘ‹nˆØ 6‰6”R—Z‘ZÑ ØˆJØ 6‰6”R—X‘XÑ Ü3—8‘8‹} Ò!Ø!$§¡§¡Ó!1‘‘ uؘA’:ܤ§
¡
¨T°1¨IÓ6Ð6ÜœBŸJ™J¨¨q´$·+±+¸eÓ2DÀaÐ(HÓIÐIØ F‰F”b—h‘hÑ Ø—‘˜!‘¤§ ¡ Ñ+Ø—X‘X˜a’[ÜœŸ
™
 S§X¡X¨a¡[°¡^°Q¸¿¹À¹ ÀA¹ÈÐ$KÓLÐ LÜ”B—J‘J  a Ó)Ð)Ü
O¤D¨£I ;¨nÐ=Ó
>Ð>rcó<—t|t«rtt|«}|jtj
ur(t d|jd«|jdfS|jtjur(td|jd«|jdfS|jtjur;t|j«dk(r#|jj«\\}}||fS|jtjurj|jdtjurKt!|jdd«\}}t#tj||jdd«|fS|dfSt%dt'|«›d«‚)z0Return expression as term-coefficient pair.
    rrruz to term and coeff)r…rrñr’rr rxr“r!ròr+rŠrœr'rSrZr`r r]r­)rBrÒrÓrbrus     rr`r`Fs>€ô#”tÕܘ‹nˆØ 6‰6”R—Z‘ZÑ Ü˜a §¡¨!¡Ó-¨s¯x©x¸©{Ð:Ð :Ø 6‰6”R—W‘WÑ Ü˜1˜cŸh™h q™kÓ*¨C¯H©H°Q©KÐ7Ð 7Ø 6‰6”R—X‘XÑ Ü3—8‘8‹} Ò!Ø!$§¡§¡Ó!1‘‘ uؘU{Ð"à 6‰6”R—X‘XÑ  #§(¡(¨1¡+´·±Ñ"<Ü  §¡¨!¡¨Q¡Ó0‰DˆAˆqÜœGŸK™K¨¨C¯H©H°Q©K¸©NÓ;¸QÐ>Ð >ؐAˆvˆ Ü
O¤D¨£I ;Ð.@ÐAÓ
BÐBrcóæ—t|t«rÉt|«}|jtj
tj tjtjtjtjfvr |td«fS|jtjurq|jdtjurE|jds6t!t"|jd«\}}|d|dz|d|dzfS|td«fS|jtj$ur gg}}|jj'«D]:\}}t#|«\}}||z}|j)|«|j)|«Œ<td«td«}}t+t-|««D];}    ||    }t+t-|««D]}
|    |
k7sŒ    |||
z}Œ||z }|||    z}Œ=|jtj
tj fvr|jddkr| | }}||fS|jtj.urxtd«td«}}|jj'«D]A\} } t#| «\} }| dkDr|| | zz}||| zz}Œ*| dksŒ0||| zz}|| | zz}ŒC||fSt1dt3|«›d«‚)z+Return expression as numer-denom pair.
    rrr    ruz to numer and denom)r…rrñr’rr r!r"r%r(r&rËr'r“rSrZrrWr+rœrÌrÍrŠr,r]r­)rBÚnumersÚdenomsrÒrÓÚnrrrÝrÞÚiÚjrTrcÚbnumerÚbdenoms               rrWrW[s²€ô#”tÕܘ‹nˆØ 6‰6”b—j‘j¤"§'¡'¬2¯:©:´r·y±yÜ—k‘k¤2§:¡:ð/ñ /àœ     !› Ð$Ð $Ø V‰V”r—x‘xÑ Øx‰x˜‰{œgŸk™kÑ)°#·(±(¸1²+Ü!$¤^°S·X±X¸a±[Ó!A‘˜Ø˜a‘y 6¨!¡9Ñ,¨f°Q©i¸&À¹)Ñ.CÐCÐCØœ     !› Ð$Ð $Ø V‰V”r—x‘xÒ Ø FˆFØ"Ÿx™xŸ~™~Ó/ò !‘ eÜ% dÓ+‘1ؘ‘IØ— ‘ ˜aÔ Ø— ‘ ˜aÕ ð     !ô
% Q›<¬°1«5ˆEÜœ3˜v›;Ó'ò #Ø˜1‘IÜœs 6›{Ó+ò'AؘA“vؘV A™Y™™ð'ð˜‘
Ø˜ ™Ñ"‘ð  #ðx‰xœBŸJ™J¬¯©Ð0Ñ0°U·Z±ZÀ±]ÀQÒ5FØ %˜v¨ vuØ˜%<Ð Ø V‰V”r—z‘zÑ !Ü$ Q›<¬°1«5ˆEØŸ™Ÿ™Ó(ò ,‘1Ü!/°Ó!2‘˜Øq’5ؘV q™[Ñ(EؘV q™[Ñ(‘Eؘ“UؘV¨¨™^Ñ+EؘV¨¨™^Ñ+‘Eð ,ð˜%<Ð Ü
O¤D¨£I ;Ð.AÐBÓ
CÐCrc#ó$K—d}    |dz }|–—Œ
­wrSr)Úcounters rÚ_counterr¢ˆs!èø€à€GØ
ؐ1‰ ˆØŠ ð ùs‚c󄇗iŠˆfd„}tjdjddd¬«||«}d|vsJ‚d|vsJ‚|‰fS)    zgReplace quoted substrings of input string.
 
    Return a new string and a mapping of replacements.
    c󜕗|j«dd\}}|r|dd}dddœ|d}|›d|›dtj«›d    }|‰|<|S)
Nr    réÚSINGLEÚDOUBLE)ú'ú"rz@__f2py_QUOTES_r³ú@)r1ÚCOUNTERÚ__next__)r3rírŸÚprsrrs     €rÚreplzeliminate_quotes.<locals>.replšsiø€Ø—h‘h“j  !n‰ ˆˆeÙ à˜˜9ˆDØ Ñ *¨5°©8Ñ 4ˆØˆfO A 3 a¬×(8Ñ(8Ó(:Ð';¸1Ð =ˆØˆˆ!‰Øˆrz+({kind}_|)({single_quoted}|{double_quoted})z
\w[\w\d_]*z('([^'\\]|(\\.))*')z("([^"\\]|(\\.))*"))ríÚ single_quotedÚ double_quotedr¨r§)r/ÚsubÚformat)rJr­Únew_srrs   @rÚeliminate_quotesr³“sjø€ð
     €Aôô F‰FÐA×HÑHØ Ø,Ø,ðIó.ð     ˆaó     €Eð eÑ ÐÐ Ø eÑ ÐÐ à !ˆ8€Orcó–—|j«D]5\}}|d|jd«}|r|dz }|j|||z«}Œ7|S)z!Inverse of eliminate_quotes.
    Nr©r³)rœÚfindÚreplace)rJrrrsrtrís     rÚ insert_quotesr·°sW€ð—‘“    ò#‰ˆˆ1ؐ!—&‘&˜“+ˆˆÙ Ø C‰KˆDØ I‰Ia˜ ™Ó "‰ð    #ð
€HrcóŒ—d\}}t|«}dD](\}}|j|«}|dk(rŒ||ksŒ#|}||}}Œ*|€|ifS|}|j||«}|j||dz|«|j||dz|«k7r\|j||dz«}|dk(rtd||z›d|›«‚|j||dz|«|j||dz|«k7rŒ\dd    d
d d œ|}d |›dtj «›d}    ||t|«z|}
t ||t|«zd«\} } |
| |    <|d||    z| z| fS)zzReplace substrings of input that are enclosed in parenthesis.
 
    Return a new string and a mapping of replacements.
    )NN))ú(/ú/)z()z{}z[]réNrz Mismatch of z parenthesis in r#r"ÚCURLYr!)rªr¼ú{r¹ú@__f2py_PARENTHESIS_r³r©)rŠrµÚcountÚ
ValueErrorrªr«Úreplace_parenthesis) rJräråÚmn_iÚleft_Úright_rœrr¬rsrtrÐrrs              rrÀrÀ»s’€ðK€Dˆ%Ü ˆq‹6€Dð ò    (‰ ˆˆvð F‰F5‹MˆØ Š7Ø Ø ˆt‹8؈DØ %‰Dð    (ð €|ؐ"ˆuˆ à €AØ    ‰ˆuaÓ€Aà
'‰'$˜˜A™˜qÓ
! Q§W¡W¨U°A¸±E¸1Ó%=Ò
=Ø F‰F5˜!˜a™%Ó  ˆØ Š7ܘ|¨D°5©L¨>Ð9IÈ!ÈÐOÓPÐ Pð '‰'$˜˜A™˜qÓ
! Q§W¡W¨U°A¸±E¸1Ó%=Ó
˜H¨7¸*ÑEÀdÑK€Aà
˜q˜c ¤7×#3Ñ#3Ó#5Ð"6°aÐ8€AØ    ˆ!Œc$‹i‰-˜Ð€AÜ ˜q ¤S¨£Z¡ Ð1Ó 2D€A€qØ €A€aDØ ˆRˆaˆ51‰9q‰=˜!Ð ÐrcóZ—|jd«sJ|«‚|jd«dS)Nr½r³r2)Ú
startswithÚsplit)rJs rÚ_get_parenthesis_kindrÇæs,€Ø <‰<Ð.Ô /Ð2°Ó2Ð /Ø 7‰73‹<˜‰?Ðrcó¤—|j«D]<\}}t|«}dddddœ|}dddd    dœ|}|j|||z|z«}Œ>|S)
z$Inverse of replace_parenthesis.
    rªr¼r¼r¹)r#r"r»r!r¬r½ú}rº)rœrÇr¶)rJrrrsrtr¬rärås       rÚunreplace_parenthesisrÊësm€ð—‘“    ò+‰ˆˆ1Ü ! !Ó $ˆØ¨°cÀtÑLÈQÑOˆØ¨°sÈÑMÈaÑPˆØ I‰Ia˜ ™ EÑ)Ó *‰ð    +ð
€Hrcó€—t|¬«j|«}t|t«r|St    d|›d|›d«‚)z®Create an expression from a string.
 
    This is a "lazy" parser, that is, only arithmetic operations are
    resolved, non-arithmetic operations are treated as symbols.
    rzfailed to parse `z` to Expr instance: got `r)Ú_FromStringWorkerr‚r…rr¿)rJrKrÐs   rrLrLösD€ô      8Ô,×2Ñ2°1Ó5€Aܐ!”TÔØˆÜ
Ð(¨¨Ð+DÀQÀCÀqÐIÓ
JÐJrcó—eZdZd„Zd„Zd„Zy)Ú_Paircó —||_||_yrpr†)rOrärås   rr”z_Pair.__init__s€ØˆŒ    Øˆ
rcóΗ|j|j}}t|t«r|j    |«}t|t«r|j    |«}t ||«Srp)rärår…rr&rÎ)rOr(rärås    rr&z_Pair.substitute    sR€Ø—i‘i §¡ˆeˆÜ dœDÔ !Ø—?‘? ;Ó/ˆDÜ eœTÔ "Ø×$Ñ$ [Ó1ˆEܐT˜5Ó!Ð!rcóf—t|«j›d|j›d|j›dSr©)r­r
rärår®s rr¯z_Pair.__repr__s.€Üt“*×%Ñ%Ð& a¨¯    ©     {°"°T·Z±Z°LÀÐBÐBrN)r
r r r”r&r¯rrrrÎrÎs„òò"óCrrÎcó>—eZdZejfd„Zd„Zd„Zdd„Zy)rÌcó.—d|_d|_||_yrp)ÚoriginalÚ
quotes_maprKrNs  rr”z_FromStringWorker.__init__s€ØˆŒ ؈ŒØ ˆ rcó.—t||j«Srp)r·rÕ)rOrJs  rÚfinalize_stringz!_FromStringWorker.finalize_strings€Ü˜Q §¡Ó0Ð0rcóX—||_t|«\}|_|j|«Srp)rÔr³rÕÚprocess)rOÚinpÚunquoteds   rr‚z_FromStringWorker.parses)€ØˆŒ Ü$4°SÓ$9Ñ!ˆ$”/؏|‰|˜HÓ%Ð%rc    óH‡‡‡‡—t|ttf«rt|«ˆˆfd„|D««St|t«sJt|«|f«‚t |«\}Š|j «}ˆˆfd„Šd|vrq‰|jd««}‰dk(rt‰j|««S‰dk(r%t|«dk(rt‰j|«ŽStd‰›d|›«‚tjd    |«}|rf‰dk(sJ‰«‚‰|j««\}}}‰j|«}‰j|«}‰j|«}t|||«S‰j t"j$ur&tjd
|tj&«}ntjd |«}|r’|j«\}    }
} ‰j t"j$urd |
zd z}
‰j‰|    | f««\}    } t(j+|
‰j ¬ «}
t-t.j0|
|    | f«Stjd|«}|r6|j«\} } ‰| «} t3| ‰j| ««Stjd|«}t|«dkDr~‰j‰|dxsd««}t5|ddd…|ddd…«D]C\}}‰j‰|««}|j «}|dk(r||z }Œ8|dk(sJ‚||z}ŒE|S‰j t"j$urMd|vrI‰|jd««}t-t.j6t‰j|«««Stjd‰j t"j8ur|n|j;dd««}t|«dkDr±‰|«}‰j t"j8ur|Dcgc]}|j;dd«‘Œ}}‰j|d«}t5|ddd…|ddd…«D]=\}}‰j|«}|j «}|dk(r||z}Œ2|dk(sJ‚||z}Œ?|S|j=d«rMt.j>t.j@dœ|d}‰j‰|dd««}t-||«S‰j t"j8urcd|vr_ttC‰|jd««««}‰j|d«}|ddD]}‰j|«}||z}Œ|StjdjEdd¬ «|«}|rJ|j«\} }}|r|jG«r tI|«}tKtI| «|xsd!«Stjd"jEd#d$d¬%«|«}|rˆ|j«\} }}}|r|jG«r tI|«}| jM«} d&| vr)tOtQ| j;d&d'««|xsd(«StOtQ| «|xsd!«S|‰jRvr1|d|jUd)«}tW‰jR||xsd«S|‰vrftY|«}‰j‰‰|«|d*k(rdnd«}|d*k(rt|t,«r|S|d+vrt|t,«r|f}t[|«Stjd,|«}|r¿|j«\}}}‰j‰|««}‰j‰|«dd-d«}t|t«s|f}|d*k(rU|Dcic])}t|t2«r|j\|j^“Œ+}}td.„|D««}ta|g|¢­i|¤ŽS|d/k(sJ‚||Stjd0|«}|r tc|«S‰je‰|««}tgd1|›d2‰jh›d3«tc|«Scc}wcc}w)4a´Parse string within the given context.
 
        The context may define the result in case of ambiguous
        expressions. For instance, consider expressions `f(x, y)` and
        `(x, y) + (a, b)` where `f` is a function and pair `(x, y)`
        denotes complex number. Specifying context as "args" or
        "expr", the subexpression `(x, y)` will be parse to an
        argument list or to a complex number, respectively.
        c3óB•K—|]}‰j|‰«–—Œy­wrp)rÙ)r†Ús_ÚcontextrOs  €€rrˆz,_FromStringWorker.process.<locals>.<genexpr>/søèø€ÒA¸˜4Ÿ<™<¨¨G×4ÑAùsƒcó~•—t|ttf«rt|«t    ‰|««St |‰«Srp)r…Úlistr‰r­rrÊ)rÐÚraw_symbols_mapÚrestores €€rrãz*_FromStringWorker.process.<locals>.restore7s5ø€ä˜!œd¤E˜]Ô+Ø”t˜A“wœs 7¨A›Ó/Ð/Ü(¨¨OÓ<Ð <rú,rÚrGr    z&parsing comma-separated list (context=z): z\A([^?]+)[?]([^:]+)[:](.+)\Zz+\A(.+)\s*[.](eq|ne|lt|le|gt|ge)[.]\s*(.+)\Zz7\A(.+)\s*([=][=]|[!][=]|[<][=]|[<]|[>][=]|[>])\s*(.+)\Zú.rz\A(\w[\w\d_]*)\s*[=](.*)\Zz((?<!\d[edED])[+-])rrrÁNú+rÀz//z(?<=[@\w\d_])\s*([*]|/)z**z@__f2py_DOUBLE_STAR@rÈrÃ)rÈrÇz\A({digit_string})({kind}|)\Zz\d+z_(\d+|\w[\w\d_]*))Ú digit_stringrír2z7\A({significant}({exponent}|)|\d+{exponent})({kind}|)\Zz[.]\d+|\d+[.]\d*z[edED][+-]?\d+)Ú significantr rírrrcér©r#r z4\A(.+)\s*(@__f2py_PARENTHESIS_(ROUND|SQUARE)_\d+@)\Zréc3óBK—|]}t|t«rŒ|–—Œy­wrp)r…rÎ)r†rßs  rrˆz,_FromStringWorker.process.<locals>.<genexpr>Úsèø€ÒI 1´J¸qÄ%Õ4HœQÑIùs‚˜r"z\A\w[\w\d_]*\Zzfromstring: treating z as symbol (original=r¬)5r…rár‰r­rŒrÀÚstriprÆrÙrŠrðr‘r/r0r1rrKrrÚIr0rLrrr*rÎÚzipr)rr¶rÅr.r-Úreversedr±Úisdigitr‹rxrHròrrÕrµrarÇr2rärår rsr×r~rÔ)rOrJrßrÐr7r3ÚoperrárârärãråÚkeynamerŸrAr’r?r³rír4rœr5rÚrßrÛrârãs` `                      @@rrÙz_FromStringWorker.process$sRû€ô aœ$¤˜Ô 'Ø”4˜“7ÔA¸qÔAÓAÐ Aä˜!œSÔ!Ð/¤D¨£G¨Q <Ó/Ð!ô1°Ó3шˆ?Ø G‰G‹Iˆõ    =ð !‰8Ù˜qŸw™w s›|Ó,ˆHؘ&ҠܘTŸ\™\¨(Ó3Ó4Ð4ؘ&Ҡܐx“= AÒ%ä% t§|¡|°HÓ'=Ð>Ð>Ü%Ø8¸¸    ÀÀQÀCÐHóJð Jô H‰HÐ4°aÓ 8ˆÙ ؘfÒ$Ð - gÓ -Ð$Ù!(¨¯©«Ó!4Ñ ˆD%˜Ø—<‘< Ó%ˆDØ—L‘L Ó'ˆEØ—L‘L Ó'ˆEܘd E¨5Ó1Ð 1ð =‰=œH×,Ñ,Ñ ,Ü—‘Ø>ÀÄ2Ç4Á4óI‰Aô—‘ØJÈAóOˆAá Ø Ÿx™x›zÑ ˆD#u؏}‰}¤× 0Ñ 0Ñ0ؘC‘i #‘oØŸ,™,¡w°°e¨}Ó'=Ó>‰KˆD%Ü×"Ñ" 3°·±Ð"Ó?ˆCÜœŸ ™ ¨¨T°5Ð'9Ó:Ð :ô H‰HÐ2°AÓ 6ˆÙ ØŸX™X›Z‰NˆGUÙ˜E“NˆEܘ $§,¡,¨uÓ"5Ó6Ð 6ô—8‘8Ð2°AÓ6ˆÜ ˆx‹=˜1Ò Ø—\‘\¡'¨(°1©+Ò*<¸Ó"=Ó>ˆFÜ" 8¨A¨D¨q¨D¡>°8¸A¸D¸q¸D±>ÓBò &‘ GØŸ,™,¡w¨wÓ'7Ó8Ø—X‘X“ZØ˜’9ؘgÑ%‘Fà š9Ð$˜9ؘgÑ%‘Fð &ðˆMð =‰=œH×,Ñ,Ñ ,°¸±Ù˜qŸw™w t›}Ó-ˆHÜœŸ    ™    Ü˜dŸl™l¨8Ó4Ó5ó7ð 7ô—8‘8Ð6Ø"&§-¡-´8·:±:Ñ"=™QØ"#§)¡)¨DÐ2HÓ"IóLˆô ˆx‹=˜1Ò Ù˜xÓ(ˆH؏}‰}¤H§J¡JÑ.à+3ö5Ø 'ð$ŸO™OÐ,BÀDÕIð5ð5ð—\‘\ (¨1¡+Ó.ˆFÜ" 8¨A¨D¨q¨D¡>°8¸A¸D¸q¸D±>ÓBò &‘ GØŸ,™, wÓ/Ø—X‘X“ZØ˜’9ؘgÑ%‘Fà š9Ð$˜9ؘgÑ%‘Fð &ðˆMð <‰<˜
Ô #Ü—x‘x¤b§f¡fÑ-¨a°©dÑ3ˆBØ—l‘l¡7¨1¨Q¨R¨5£>Ó2ˆGܘ˜GÓ$Ð $ð =‰=¤§
¡
Ñ *¨t°q©yÜœH¡W¨Q¯W©W°T«]Ó%;Ó<Ó=ˆHØ—\‘\ (¨1¡+Ó.ˆFØ# A B˜<ò +ØŸ,™, wÓ/Ø  FÑ*‘ð +ðˆMô H‰HÐ5×<Ñ<ØØ%ð=ó'à()ó +ˆñ ØŸX™X›Z‰NˆE1dÙ˜Ÿ ™ œÜ˜4“yÜœc %›j¨$ª)°!Ó4Ð 4ô H‰HÐOß‘fØ%8Ø"3Ø2ðó4ð67ó     8ˆñ
Ø !§¡£
Ñ ˆE1a˜Ù˜Ÿ ™ œÜ˜4“yØ—K‘K“MˆEؐe‰|Üœu U§]¡]°3¸Ó%<Ó=¸tºyÀqÓIÐIÜœ5 ›<¨ª°Ó3Ð 3𠐗‘Ñ Ø\a—f‘f˜S“k?ˆDܘTŸ_™_¨QÑ/°²¸Ó;Ð ;ð Ñ Ü)¨!Ó,ˆEØ—L‘L¡¨¸Ñ);Ó!<Ø+0°GÒ+;¡ÀóIˆEà˜Òܘe¤TÔ*Ø LØÐ.Ñ.ä˜e¤TÔ*Ø"˜HEÜ “Ð&ô H‰HÐLØó ˆá Ø"#§(¡(£*Ñ ˆFD˜%Ø—\‘\¡'¨&£/Ó2ˆFØ—<‘<¡¨£ ¨a°Р3°VÓ<ˆDܘd¤EÔ*ؐuØ˜ÒØ37ö7¨aÜ!+¨A¬uÔ!5ðŸ&™& !§'¡'™/ð7ð7äÑI¨ÔIÓIä Ð8¨Ò8°Ñ8Ð8ð Ò(Ð(Ð(ؘd‘|Ð#ô H‰HÐ&¨Ó *ˆÙ ܘQ“<Ð ð ×  Ñ  ¡¨£Ó ,ˆÜ Ø# A 5Ð(=¸d¿m¹m¸_ÈAÐ Nô    P䘋|ÐùòQ5ùòh7s Ð.bß.bNr)    r
r r rrr”r×r‚rÙrrrrÌrÌs„à (§
¡
ó!ò
1ò&ô
HrrÌ)r2)r)r):r Ú__all__r/r{ÚenumrÚmathrrrr0rSÚ    Exceptionr]rar‹r_rrûrvÚ UserWarningrxr~rrñrîrsrËrxròrar2rðr rr‚r„r‡rŠrŒrŽrr’rórr`rWr¢rªr³r·rÀrÇrÊrrLrÎrÌrrrú<module>r÷sfðñ ð4 ˆ(€ó
ÛÝÝô
ˆtô
ôˆôô*5ˆDô5ô<
 ˆdô
 ô    ˆiô    ôôð&€ ؐUˆ|€ ò
ô    +ô    ò6÷v    ñv    òrFòR ò  ó
Gó?ó <ó(ò ó<ò >ò2ò ò  ò 8ò8ò8ò8ò8ò8ò ?ò?ò*Cò**DòZñ ‹*€òò: ò(òVò
 ð$Ÿ:™:ó    K÷CñC÷&WòWr