Coverage for fastapi/utils.py: 100%
91 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-06 16:22 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-06 16:22 +0000
1import re 1abcde
2import warnings 1abcde
3from dataclasses import is_dataclass 1abcde
4from typing import ( 1abcde
5 TYPE_CHECKING,
6 Any,
7 Dict,
8 MutableMapping,
9 Optional,
10 Set,
11 Type,
12 Union,
13 cast,
14)
15from weakref import WeakKeyDictionary 1abcde
17import fastapi 1abcde
18from fastapi._compat import ( 1abcde
19 PYDANTIC_V2,
20 BaseConfig,
21 ModelField,
22 PydanticSchemaGenerationError,
23 Undefined,
24 UndefinedType,
25 Validator,
26 lenient_issubclass,
27)
28from fastapi.datastructures import DefaultPlaceholder, DefaultType 1abcde
29from pydantic import BaseModel, create_model 1abcde
30from pydantic.fields import FieldInfo 1abcde
31from typing_extensions import Literal 1abcde
33if TYPE_CHECKING: # pragma: nocover 1abcde
34 from .routing import APIRoute
36# Cache for `create_cloned_field`
37_CLONED_TYPES_CACHE: MutableMapping[Type[BaseModel], Type[BaseModel]] = ( 1abcde
38 WeakKeyDictionary()
39)
42def is_body_allowed_for_status_code(status_code: Union[int, str, None]) -> bool: 1abcde
43 if status_code is None: 2a SiTiUiVi+d,d-d.d/d:dWiK9XiL9M9YiN9|c#hO9$hZi0i1i2i%h3i4i5i6iIb7iJbKbP98i9idi!iLb#iQ9$i%i'iR9S9(i)iMbT Nb*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjT9yjzjAjBjCjDjEj;d=d?d@d[dFjGjHjIjJjeifiKjU9LjV9MjNjW9OjPjQjX9RjSjY9TjZ9UjVjWjXjYj09ZjE F G H I k f 8d0j191j292j3j4j)d5j6j7j8j9j!j#j$j%j'j398f9f49(j)j59*j+j69,j-j.j79/j'h:j(hm U V LcMcW ;j89=j?j@j99[j]j^j_j`j!9{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKk#9LkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3kObX 4k5k$96k%97k8k'99k!k#k(9$k%k'k(k)k*k+k,k-k.k)h/k0h:k;k=k?k@k[k]k^k_k`k)9{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlybzb*hAlBlClDl{ | } ElobpbPbNc*9FlGl+9HlIl,9JlKl-9LlMl.9NlOl/9PlQl:9RlSl;9TlUl=9VlWl?9XlYl@9Zl0l[91l2l]93l4l5l6l^97l8l9l!l_9#l$l%l'l`9(l)l*l{9+l,l-l|9.l/l:l}9;l=l?l~9@l[l]la!^l_l`lb!{l|l}l~lambmc!cmdmemd!fme!gmhmimjmf!kmlmmmnmompmg!qmrmsmh!tmi!umvmwmj!xmymzmk!AmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5ml!6m7m8m9m!mbg#m$mm!%m'm+h(m2h)m3h*m4h+m,m-m.m/m:m;mn!=m?m@m[m]mo!^mp!_mq!`mr!{m|m}m~manbncn,hdnenfngnhninjnknlnmnnnonpnqnrn-hsntnunvnwnxnynznAnBnCnDns!EnFnGnHnInJnt!KnLnu!v!MnNnOnw!PnQnRnx!Sny!Tnz!UnVnA!B!Wnvg!f#fXnYnZn0nC!1nD!2n3n4n5n6n7n8n9n!n#nE!F!G!$nH!I!%n'n(n)nJ!*n+nK!,nL!M!-n.nN!/nO!:nP!;nQ!=n?n@nR![n]n^nS!_n`n{n|n}n~naobocodoeofogohoiojokolomonoT!oopoqorosotoU!uoV!voW!woX!xoY!yoZ!zo0!AoBo1!Co2!Do3!Eo4!Fo5!GoHoIoJo6!KoLo7!Mo8!No9!!!OoPoQo#!Ro$!So%!To'!Uo(!Vo)!Wo*!Xo+!Yo,!-!Zo0ocg1odg2o.!3o/!4o:!;!5o6o.h/h7o:h8o9o!o;h#o$o%o'o(o=!?!@!)o[!*o+o]!,o-o.o/o^!:o_!;o`!{!=o?o@o|![o]o^o_o}!`o{o~!|o}o~oa#apbpb#cpc#dpepd#fpgphpe#ipjpf#g#kplpmph#npopppqpi#rpsptpupj#vpwpk#xpypl#zpApBpm#CpDpn#EpFpo#GpHpp#IpJpq#Kpr#Lps#Mpt#Npu#Opv#PpQpRpSpw#Tpx#Upy#z#VpA#WpB#C#XpYpD#Zp0pE#1pF#2pG#3pH#4pI#5pJ#6p7p8pK#9p!p#pL#$p%p'p(p)p*p+p,pM#-p.p/p:p;p=p?p@pN#[p]p^p_p`p{p|pO#}p~paqbqcqdqeqfqgqhqiqjqkqlqmqP#nqoqpqqqrqsqtquqvqQ#wqxqyqzqR#AqBqCqDqEqS#FqGqT#Hqgi$f%fIqJqKqLqMqU#NqOqPqQqRqSqV#TqhiUqW#X#VqWqY#XqYqZqZ#0qQb1q]d^d_d`d{d|d2q}d~daebecede3q0#4q5q1#6q7q8q9qJ Rbegb !q#q$q%qeefegeheieje'q2#(q3#4#)q5#}c=h6#?h*q+q,q-q@h.q/q:q;qSb=qTbUb7#?q@qii[qVb]q8#^q_q`q9#!#{q|qWbY Xb}q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPr##QrRrSrTrUrVrWrkelemeneoeXrYrZr0r1rjiki2r$#3r%#4r5r'#6r7r8r(#9r!r)##r*#$r%r'r(r)r+#*rK L M N O l g 9d+r,#,r-#-r.r/r*d:r;r=r?r@r[r]r^r_r`r.#'f(f/#{r|r:#}r~r;#asbscs=#ds[hes]hn Z 0 OcPc1 fs?#gshsis@#jskslsmsns[#ospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s]#3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.sYb2 /s:s^#;s_#=s?s`#@s[s]s{#^s_s`s{s|s}s~satbtct^hdt1hetftgthtitjtktltmtnt|#otptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtAbBb_hStTtUtVt~ abbbWtqbrbZbQc}#XtYt~#Zt0ta$1t2tb$3t4tc$5t6td$7t8te$9t!tf$#t$tg$%t'th$(t)ti$*t+tj$,t-tk$.t/t:t;tl$=t?t@t[tm$]t^t_t`tn${t|t}to$~taubup$cudueuq$fuguhur$iujukus$lumunut$oupuqurusutuu$uuvuwuv$xuw$yuzuAuBux$CuDuEuFuGuHuy$IuJuKuz$LuA$MuNuOuB$PuQuRuC$SuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:uD$;u=u?u@u[ufg]u^uE$_u`u`h{u5h|u6h}u7h~uavbvcvdvevfvgvF$hvivjvkv0blvG$mvH$nvI$ovJ$pvqvrvsvtvuvvv{hwvxvyvzvAvBvCvDvEvFvGvHvIvJvKv|hLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv}h0v1v2v3v4v5v6v7v8v9v!v#vK$$v%v'v(v)v*vL$+v,vM$-v.vN$O$/v:v;vP$=v?v@vQ$[v]v^vR$_vS$`vT${vU$|vV$}v~vW$X$awbwY$Z$cwwg)f*fdwewfwgw0$hw1$1b2$iwjwkwlwmwnwowpwqwrw3$4$5$sw6$7$twuwvwww8$xwyw9$zw!$#$AwBw$$Cw%$Dw'$Ew($Fw)$Gw*$HwIwJw+$KwLwMw,$NwOwPw-$QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w.$*w+w,w-w.w/w/$:w;w=w?w@w[w:$]w;$^w=$_w?$`w@${w[$|w]$}w^$~wax_$bx`$cx{$dx|$ex}$fx~$gxa%hxixjxkxb%lxmxc%nxd%oxe%f%pxqxrxg%sxh%txi%uxj%vxk%wxl%xxm%yxn%zxo%Axp%Bxq%r%CxDxggExhgFxs%Gxt%Hxu%v%IxJx~haiKxbiLxMxNxciOxPxQxRxSxw%x%y%Txz%A%UxB%VxWxC%XxYxZx0xD%1xE%2xF%G%3x4x5xH%6x7x8xI%9x!x#x$xJ%%x'xK%(x)xL%*x+xM%,x-x.xN%/x:xO%;x=xP%?x@xQ%[xR%]x^xS%_x`xT%{x|x}xU%~xayV%W%bycydyX%eyfygyhyY%iyjykylyZ%mynyoypy0%qyry1%syty2%uyvy3%wyxyyy4%zyAyBy5%CyDy6%EyFy7%GyHy8%IyJy9%KyLy!%MyNy#%OyPy$%QyRy%%Sy'%Ty(%Uy)%Vy*%Wy+%Xy,%Yy-%Zy.%0y1y2y3y/%4y:%5y;%=%6y?%7y@%8y[%]%9y!y^%#y$y_%%y`%'y{%(y|%)y}%*y~%+ya',yb'-y.y/yc':y;y=yd'?y@y[ye']y^y_y`y{y|y}y~yf'azbzczdzezfzgzhzg'izjzkzlzmznzozpzh'qzrzsztzuzvzwzi'xzyzzzAzBzCzDzEzFzGzHzIzJzKzLzj'MzNzOzPzQzRzSzTzUzVzWzXzYzZz0zk'1z2z3z4z5z6z7z8z9z!z#z$z%z'z(zl')z*z+z,z-z.z/z:z;zm'=z?z@z[zn']z^z_z`z{z|z}z~zaAo'bAcAp'dAeAq'fAgAr'hAli+f,fiAjAkAlAmAs'nAoApAqArAsAt'tAuAvAwAxAyAu'zAAABACADAEAv'FAminiGAw'x'HAIAy'JAKAu LAz'MA2bNApeqereseteueOAvewexeyezeAePA3bBeCeDeEeFeQAA'RASAB'TAUAVAWAP 4bigc XAYAZA0AGeHeIeJeKeLe1AC'2AD'E'3AF'!d4AG'5A6A7A8A9A!A#A$A%A'A5b(A6b7bH')A*Aoi+A8b,AI'-A.A/AJ'K':A;A9b3 !b=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBL'GBHBIBJBKBLBMBMeNeOePeQeNBOBPBQBRBpiqiSBM'TBN'UBVBO'WBXBYBP'ZB0BQ'1BR'2B3B4B5B6BS'7B+ , - . / o h #d8BT'9BU'!B#B$BRe%B'B(B)B*B+B,B-B.B/BV'-f.fW':B;BX'=B?BY'@B[B]BZ'^B_B`B{Bp 4 5 RcSc6 |B0'}B~BaC1'bCcCdCeCfC2'gChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUC3'VCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C#b7 $bTc%bUc'b(b'C(C4')C5'*C+C6',C-C.C7'/C:C;C=C?C@C[C]C^C_C`C{C8h|C}C~CaDbDcDdDeDfDgD8'hDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDCbDbLDMDNDODPDcbdbebQDsbtb)bVc9'RDSD!'TDUD#'VDWD$'XDYD%'ZD0D''1D2D('3D4D)'5D6D*'7D8D+'9D!D,'#D$D-'%D'D.'(D)D*D+D/',D-D.D/D:':D;D=D?D;'@D[D]D='^D_D`D?'{D|D}D@'~DaEbE['cEdEeE]'fEgEhE^'iEjEkElEmEnE_'oEpEqE`'rE{'sEtEuEvE|'wExEyEzEAEBE}'CEDEEE~'FEa(GEHEIEb(JEKELEc(MENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*Ed(+E,E-E.E/Ejg:E;Ee(=E?E@E[Eri]Esi^Eti_E`E{E|E}E~EaFbFcFdFf(eFfFgFhF*b+b,biFg(jFh(kFi(lFj(mFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#Fk($F%F'F(F)F*F+F,Fl(-F.F/F:F;F=Fm(?F@Fn([F]Fo(^F_Fp(`F{Fq(r(|F}F~Fs(aGbGcGt(dGeGfGu(gGhGiGv(jGkGlGw(mGx(nGy(oGz(pGA(qGB(rGC(sGtGD(E(uGvGF(G(wGxGH(I(yGxg/f:fzGAGBGCGJ(DGK(-bL(.bM(/bN(EGFGGGHGIGJGKGLGMGNGO(P(Q(OGR(S(PGQGRGSGT(TGUGU(VGV(W(WGXGX(YGY(ZGZ(0G0(1G1(2G2(3G3(4G4(5G5(6G6(7G8G9G7(!G#G$G8(%G'G(G9()G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfH!(gHhHiHjHkHlH#(mHnHoHpHqHrH$(sH%(tH'(uH((vH)(wH*(xH+(yH,(zH-(AH.(BHCH/(DHEH:(FH;(GH=(HH?(IH@(JH[(KH](LHMHNHOH^(PHQH_(RH`(SH{(|(THUHVH}(WH~(XHa)YHb)ZHc)0Hd)1He)2Hf)3Hg)4Hh)5Hi)6Hj)7Hk)8Hl)9Hm)!Hn)#Ho)p)$H%Hkg'Hlg(Hq))Hr)*Hs)t)+H,H-H.H/H:H;H=H?H@H[H]H^H_H`Hu)v)w){Hx)y)|Hz)A)}HB)~HaIC)bIcIdIeID)fIE)gIF)hIG)H)iIjIkII)lImInIJ)oIpIqIK)rIsItIL)uIvIwIxIM)yIzIN)AIBIO)CIDIP)EIFIQ)GIHIR)IIJIKIS)LIMIT)NIOIU)PIQIV)RIW)SITIX)UIVIY)WIXIYIZ)ZI0I0)1I2I1)3I4I2)5I6I3)4)7I8I9I5)!I#I$I%I6)'I(I)I*I7)+I,I-I.I8)/I:I;I=I9)?I@I[I]I!)^I_I#)`I{I$)|I}I%)~IaJbJ')cJdJeJ()fJgJ))hJiJ*)jJkJ+)lJmJ,)nJoJ-)pJqJ.)rJsJ/)tJuJ:)vJ;)wJ=)xJ?)yJ@)zJ[)AJ])BJ^)CJ_)DJEJFJGJ`)HJ{)IJ|)JJ})~)KJa*LJb*c*MJNJd*OJe*PJf*g*QJRJh*SJTJi*UJVJj*WJXJk*YJl*ZJm*0Jn*1Jo*2Jp*3Jq*4Jr*5Js*6Jt*7Ju*8Jv*9Jw*!Jx*#J$J%Jy*'J(J)Jz**J+J,JA*-J.J/J:J;J=J?J@JB*[J]J^J_J`J{J|J}JC*~JaKbKcKdKeKfKgKD*hKiKjKkKlKmKnKoKE*pKqKrKsKtKuKvKwKF*xKyKzKAKBKCKDKG*EKFKGKHKIKJKKKLKMKNKOKPKQKRKSKH*TKUKVKWKXKYKZK0K1K2K3K4K5K6K7KI*8K9K!K#K$K%K'K(K)K*K+K,K-K.K/KJ*:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLK*bLcLdLeLfLgLhLiLjLkLlLmLnLoLpLL*qLrLsLtLuLvLwLxLyLM*zLALBLCLN*DLELFLGLHLILJLKLLLO*MLNLP*OLPLQ*QLRLR*SLTLS*ULVLT*WLui;f=fXLYLZL0L1LU*2L3L4L5L6L7LV*8L9L!L#L$L%LW*'L(L)L*L+L,LX*-L.L/L:L;L=LY*?L@L[L]L^L_LZ*`Lviwixi{L0*1*|L}L2*~LaMv w x bM3*cM:bdMSeTeUeVeWeXeeMYeZe0e1e2e3efM;b4e5e6e7e8egM=b9e!e#e$e%ehM?b'e(e)e*e+eiMfb4*jMkM5*lMmMnMoMQ @bmgd pMqMrMsM,e-e.e/e:e;etM6*uM7*8*vM9*$dwM!*xMyMzMAMBMCMDMEMFMGM[bHM]b^b#*IMJMyiKM_bLM$*MMNMOM%*'*PMQM`b8 {bRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M(*}M~MaNbNcNdNeN=e?e@e[e]efNgNhNiNjNziAikN)*lN**mNnN+*oNpNqN,*rNsN-*tN.*uNvNwNxNyN/*zN: ; = ? @ q i %dAN:*BN;*CNDNEN^eFNGNHNINJNKNLNMNNNON=*?f@f?*PNQN@*RNSN[*TNUNVN]*WNXNYNZNr 9 ! WcXc# 0N^*1N2N3N_*4N5N6N7N8N`*9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmO{*nOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFO|b$ }bYc~bZcacbcGOHO|*IO}*JOKO~*LOMONOa+OOPOQOROSOTOUOVOWOXOYOZO9h0O1O2O3O4O5O6O7O8O9Ob+!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPEbFbdPePfPgPhPgbhbibiPubvbcc0cc+jPkPd+lPmPe+nPoPf+pPqPg+rPsPh+tPuPi+vPwPj+xPyPk+zPAPl+BPCPm+DPEPn+FPGPo+HPIPJPKPp+LPMPNPOPq+PPQPRPSPr+TPUPVPs+WPXPYPt+ZP0P1Pu+2P3P4Pv+5P6P7Pw+8P9P!Px+#P$P%P'P(P)Py+*P+P,Pz+-PA+.P/P:P;PB+=P?P@P[P]P^PC+_P`P{PD+|PE+}P~PaQF+bQcQdQG+eQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQH+KQLQMQNQOQngPQQQI+RQSQTQUQBiVQCiWQDiXQYQZQ0Q1Q2Q3Q4Q5Q6QJ+7Q8Q9Q!Qdcecfc#QK+$QL+%QM+'QN+(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRO+ERFRGRHRIRJRKRLRP+MRNRORPRQRRRQ+SRTRR+URVRS+WRXRT+YRZRU+V+0R1R2RW+3R4R5RX+6R7R8RY+9R!R#RZ+$R%R'R0+(R1+)R2+*R3++R4+,R5+-R6+.R/R7+8+:R;R9+!+=R?R#+$+@Ryg[f]f[R]R^R_R%+`R'+gc(+hc)+ic*+{R|R}R~RaSbScSdSeSfS++,+-+gS.+/+hSiSjSkS:+lSmS;+nS=+?+oSpS@+qS[+rS]+sS^+tS_+uS`+vS{+wS|+xS}+yS~+zSASBSa,CSDSESb,FSGSHSc,ISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8Sd,9S!S#S$S%S'Se,(S)S*S+S,S-Sf,.Sg,/Sh,:Si,;Sj,=Sk,?Sl,@Sm,[Sn,]So,^S_Sp,`S{Sq,|Sr,}Ss,~St,aTu,bTv,cTw,dTeTfTgTx,hTiTy,jTz,kTA,B,lTmTnTC,oTD,pTE,qTF,rTG,sTH,tTI,uTJ,vTK,wTL,xTM,yTN,zTO,ATP,BTQ,CTR,DTS,T,ETFTogGTpgHTU,ITV,JTW,X,KTLTMTNTOTPTQTRTSTTTUTVTWTXTYTY,Z,0,ZT1,2,0T3,4,1T5,2T3T6,4T5T6T7T7,8T8,9T9,!T!,#,#T$T%T$,'T(T)T%,*T+T,T',-T.T/T(,:T;T=T?T),@T[T*,]T^T+,_T`T,,{T|T-,}T~T.,aUbUcU/,dUeU:,fUgU;,hUiU=,jU?,kUlU@,mUnU[,oUpUqU],rUsU^,tUuU_,vUwU`,xUyU{,|,zUAUBU},CUDUEUFU~,GUHUIUJUa-KULUMUNUb-OUPUQURUc-SUTUUUVUd-WUXUe-YUZUf-0U1Ug-2U3U4Uh-5U6U7Ui-8U9Uj-!U#Uk-$U%Ul-'U(Um-)U*Un-+U,Uo--U.Up-/U:Uq-;Ur-=Us-?Ut-@Uu-[Uv-]Uw-^Ux-_Uy-`U{U|U}Uz-~UA-aVB-bVC-D-cVE-dVF-G-eVfVH-gVI-hVJ-K-iVjVL-kVlVM-mVnVN-oVpVO-qVP-rVQ-sVR-tVS-uVT-vVU-wVV-xVW-yVX-zVY-AVZ-BV0-CV1-DVEVFV2-GVHVIV3-JVKVLV4-MVNVOVPVQVRVSVTV5-UVVVWVXVYVZV0V1V6-2V3V4V5V6V7V8V9V7-!V#V$V%V'V(V)V*V8-+V,V-V.V/V:V;V=V9-?V@V[V]V^V_V`V!-{V|V}V~VaWbWcWdWeWfWgWhWiWjWkW#-lWmWnWoWpWqWrWsWtWuWvWwWxWyWzW$-AWBWCWDWEWFWGWHWIWJWKWLWMWNWOW%-PWQWRWSWTWUWVWWWXWYWZW0W1W2W3W'-4W5W6W7W8W9W!W#W$W%W'W(W)W*W+W(-,W-W.W/W:W;W=W?W@W)-[W]W^W_W*-`W{W|W}W~WaXbXcXdX+-eXfX,-gXhX--iXjX.-kXlX/-mXnX:-oXEi^f_fpXqXrXsXtX;-uXvXwXxXyXzX=-AXBXCXDXEXFX?-GXHXIXJXKXLX@-MXNXOXPXQXRX[-SXTXUXVXWXXX]-YXFiGiHiZX^-_-0X1X`-2X3Xy z A 4X{-5Xjc6X_e`e{e|e}e~e7Xafbfcfdfefff8Xkcgfhfifjfkf9Xlclfmfnfofpf!Xmcqfrfsftfuf#Xjb|-$X%X}-'X(X)X*XR ncqge +X,X-X.XvfwfxfyfzfAf/X~-:Xa.b.;Xc.'d=Xd.?X@X[X]X^X_X`X{X|X}Xoc~Xpcqce.aYbYIicYrcdYf.eYfYgYg.h.hYiYsc% tcjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Yi.1Y2Y3Y4Y5Y6Y7YBfCfDfEfFf8Y9Y!Y#Y$YJiKi%Yj.'Yk.(Y)Yl.*Y+Y,Ym.-Y.Yn./Yo.:Y;Y=Y?Y@Yp.[Y[ ] ^ _ ` s j (d]Yq.^Yr._Y`Y{YGf|Y}Y~YaZbZcZdZeZfZgZs.`f{ft.hZiZu.jZkZv.lZmZnZw.oZpZqZrZt ' ( 1c2c) sZx.tZuZvZy.wZxZyZzZAZz.BZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(ZA.)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z^Z_Z`Z{Z|Zuc* vc3cwc4cxcyc}Z~ZB.a0C.b0c0D.d0e0f0E.g0h0i0j0k0l0m0n0o0p0q0r0!hs0t0u0v0w0x0y0z0A0B0F.C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0001020304050GbHb60708090!0kblbmb#0wbxbzc5cG.$0%0H.'0(0I.)0*0J.+0,0K.-0.0L./0:0M.;0=0N.?0@0O.[0]0P.^0_0Q.`0{0R.|0}0S.~0a1b1c1T.d1e1f1g1U.h1i1j1k1V.l1m1n1W.o1p1q1X.r1s1t1Y.u1v1w1Z.x1y1z10.A1B1C11.D1E1F1G1H1I12.J1K1L13.M14.N1O1P1Q15.R1S1T1U1V1W16.X1Y1Z17.018.1121319.415161!.718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2#.c2d2e2f2g2rgh2i2$.j2k2l2m2Lin2Mio2Nip2q2r2s2t2u2v2w2x2y2%.z2A2B2C2AcBcCcD2'.E2(.F2).G2*.H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z202122232425262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[2]2^2_2`2+.{2|2}2~2a3b3c3d3,.e3f3g3h3i3j3-.k3l3..m3n3/.o3p3:.q3r3;.=.s3t3u3?.v3w3x3@.y3z3A3[.B3C3D3].E3F3G3^.H3_.I3`.J3{.K3|.L3}.M3~.N3O3a/b/P3Q3c/d/R3S3e/f/T3zg|f}fU3V3W3X3g/Y3h/Dci/Ecj/Fck/Z3031323334353637383l/m/n/93o/p/!3#3$3%3q/'3(3r/)3s/t/*3+3u/,3v/-3w/.3x//3y/:3z/;3A/=3B/?3C/@3D/[3]3^3E/_3`3{3F/|3}3~3G/a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4H/B4C4D4E4F4G4I/H4I4J4K4L4M4J/N4K/O4L/P4M/Q4N/R4O/S4P/T4Q/U4R/V4S/W4X4T/Y4Z4U/04V/14W/24X/34Y/44Z/540/647484941/!4#42/$43/%44/5/'4(4)46/*47/+48/,49/-4!/.4#//4$/:4%/;4'/=4(/?4)/@4*/[4+/]4,/^4-/_4./`4//:/{4|4sg}4tg~4;/a5=/b5?/@/c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5[/]/^/r5_/`/s5{/|/t5}/u5v5~/w5x5y5z5a:A5b:B5c:C5d:e:D5E5F5f:G5H5I5g:J5K5L5h:M5N5O5i:P5Q5R5S5j:T5U5k:V5W5l:X5Y5m:Z505n:1525o:354555p:6575q:8595r:!5#5s:$5t:%5'5u:(5)5v:*5+5,5w:-5.5x:/5:5y:;5=5z:?5@5A:B:[5]5^5C:_5`5{5|5D:}5~5a6b6E:c6d6e6f6F:g6h6i6j6G:k6l6m6n6H:o6p6I:q6r6J:s6t6K:u6v6w6L:x6y6z6M:A6B6N:C6D6O:E6F6P:G6H6Q:I6J6R:K6L6S:M6N6T:O6P6U:Q6V:R6W:S6X:T6Y:U6Z:V60:W61:X62:Y6Z606163:264:365:466:7:568:669:!:7686#:96$:!6%:':#6$6(:%6'6):(6)6*:*6+6+:,6,:-6-:.6.:/6/::6::;6;:=6=:?6?:@6@:[6[:]6]:^6^:_6_:`6{6|6`:}6~6a7{:b7c7d7|:e7f7g7h7i7j7k7l7}:m7n7o7p7q7r7s7t7~:u7v7w7x7y7z7A7B7a;C7D7E7F7G7H7I7J7b;K7L7M7N7O7P7Q7R7c;S7T7U7V7W7X7Y7d;Z707172737475767778797!7#7$7%7e;'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7f;]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8g;h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8h;w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8i;L8M8N8O8P8Q8R8S8T8j;U8V8W8X8k;Y8Z808182838485868l;7888m;98!8n;#8$8o;%8'8p;(8)8q;*8Oi~fag+8,8-8.8/8r;:8;8=8?8@8[8s;]8^8_8`8{8|8t;}8~8a9b9c9d9u;e9f9g9h9i9j9v;k9l9m9n9o9p9w;q9PiQiRir9x;y;s9t9z;u9v9B C D w9A;x9Gcy9HfIfJfKfLfMfz9NfOfPfQfRfSfA9HcTfUfVfWfXfB9IcYfZf0f1f2fC9Jc3f4f5f6f7fD9nbB;E9F9C;G9H9I9J9S Kcug
44 return True 2K9L9M9N9|c#hO9$h%hP9diQ9R9S9T9U9V9W9X9Y9Z909E F G H I k f 8d1929)d3949596979'h(hLcMc8999!9#9$9%9'9(9)h0h)9*hNc*9+9,9-9.9/9:9;9=9?9@9[9]9^9_9`9{9|9}9~9a!b!c!d!e!f!g!h!i!j!k!l!bgm!+h2h3h4hn!o!p!q!r!,h-hs!t!u!v!w!x!y!z!A!B!vgC!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z!0!1!2!3!4!5!6!7!8!9!!!#!$!%!'!(!)!*!+!,!-!cgdg.!/!:!;!.h/h:h;h=!?!@![!]!^!_!`!{!|!}!~!a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#0#1#eg2#3#4#5#}c=h6#?h@h7#ii8#9#!###$#%#'#(#)#*#+#K L M N O l g 9d,#-#*d.#/#:#;#=#[h]hOcPc?#@#[#]#^#_#`#{#^h1h|#_hQc}#~#a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$D$fgE$`h5h6h7hF$G$H$I$J${h|h}hK$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$wg0$1$2$3$4$5$6$7$8$9$!$#$$$%$'$($)$*$+$,$-$.$/$:$;$=$?$@$[$]$^$_$`${$|$}$~$a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%gghgs%t%u%v%~haibiciw%x%y%z%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%0%1%2%3%4%5%6%7%8%9%!%#%$%%%'%(%)%*%+%,%-%.%/%:%;%=%?%@%[%]%^%_%`%{%|%}%~%a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'A'B'igC'D'E'F'!d4AG'5A!AH'oiI'J'K'L'M'N'O'P'Q'R'S'+ , - . / o h #dT'U'ReV'W'X'Y'Z'_B{BRcSc0'1'2'3'TcUc4'5'6'7'`C8h8'LDVc9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'^'_'`'{'|'}'~'a(b(c(d(jge(@Erisitif(g(h(i(j(tFJFZFk(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z(A(B(C(D(E(F(G(H(I(xgJ(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z(0(1(2(3(4(5(6(7(8(9(!(#($(%('((()(*(+(,(-(.(/(:(;(=(?(@([(](^(_(`({(|(}(~(a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)kglgq)r)s)t)-H.H:H@Hu)v)w)x)y)z)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)0)1)2)3)4)5)6)7)8)9)!)#)$)%)')()))*)+),)-).)/):);)=)?)@)[)])^)_)`){)|)})~)a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*0*1*2*3*4*5*mg6*7*8*9*$dwM!*xMCM#*yi$*%*'*(*)***+*,*-*.*/*: ; = ? @ q i %d:*;*^e=*?*@*[*]*XNZNWcXc^*_*`*{*YcZc|*}*~*a+YO9hb+dP0cc+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+ngI+TQBiCiDiJ+K+L+M+N+/QbRrRO+P+Q+R+S+T+U+V+W+X+Y+Z+0+1+2+3+4+5+6+7+8+9+!+#+$+yg%+'+(+)+*+++,+-+.+/+:+;+=+?+@+[+]+^+_+`+{+|+}+~+a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,ogpgU,V,W,X,MTNTPTTTY,Z,0,1,2,3,4,5,6,7,8,9,!,#,$,%,',(,),*,+,,,-,.,/,:,;,=,?,@,[,],^,_,`,{,|,},~,a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-0-1-2-3-4-5-6-7-8-9-!-#-$-%-'-(-)-*-+-,---.-/-:-;-=-?-@-[-]-^-_-`-{-|-}-qg~-a.b.c.'d=Xd.?X_Xe.Iif.g.h.i.j.k.l.m.n.o.p.[ ] ^ _ ` s j (dq.r.Gfs.t.u.v.w.pZrZ1c2cx.y.z.A.3c4cB.C.D.E.q0!hF.605cG.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.0.1.2.3.4.5.6.7.8.9.!.#.rg$.l2LiMiNi%.'.(.).*.O242-2+.,.-.../.:.;.=.?.@.[.].^._.`.{.|.}.~.a/b/c/d/e/f/zgg/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/0/1/2/3/4/5/6/7/8/9/!/#/$/%/'/(/)/*/+/,/-/.///:/sgtg;/=/?/@/e5f5h5l5[/]/^/_/`/{/|/}/~/a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:0:1:2:3:4:5:6:7:8:9:!:#:$:%:':(:):*:+:,:-:.:/:::;:=:?:@:[:]:^:_:`:{:|:}:~:a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;A;B;C;ug
45 # Ref: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#patterned-fields-1
46 if status_code in { 2a SiTiUiVi+d,d-d.d/d:dWiXiYi|cZi0i1i2i3i4i5i6iIb7iJbKb8i9idi!iLb#i$i%i'i(i)iMbT Nb*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEj;d=d?d@d[dFjGjHjIjJjeifiKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZjE F G H I k f 0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j8f9f(j)j*j+j,j-j.j/j:jm U V W ;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3kObX 4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k0h:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlybzbAlBlClDl{ | } ElobpbPbFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWn!f#fXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_p`p{p|p}p~paqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqgi$f%fIqJqKqLqMqNqOqPqQqRqSqTqhiUqVqWqXqYqZq0qQb1q]d^d_d`d{d|d2q}d~daebecede3q4q5q6q7q8q9qJ Rbb !q#q$q%qeefegeheieje'q(q)q}c*q+q,q-q.q/q:q;qSb=qTbUb?q@qii[qVb]q^q_q`q{q|qWbY Xb}q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrkelemeneoeXrYrZr0r1rjiki2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*rK L M N O l g +r,r-r.r/r:r;r=r?r@r[r]r^r_r`r'f(f{r|r}r~rasbscsdsesn Z 0 1 fsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.sYb2 /s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdt1hetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtAbBbStTtUtVt~ abbbWtqbrbZbXtYtZt0t1t2t3t4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbvcvdvevfvgvhvivjvkv0blvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v^v_v`v{v|v}v~vawbwcw)f*fdwewfwgwhw1biwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAli+f,fiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAminiGAHAIAJAKAu LAMA2bNApeqereseteueOAvewexeyezeAePA3bBeCeDeEeFeQARASATAUAVAWAP 4bc XAYAZA0AGeHeIeJeKeLe1A2A3A!d6A7A8A9A#A$A%A'A5b(A6b7b)A*Aoi+A8b,A-A.A/A:A;A9b3 !b=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBMeNeOePeQeNBOBPBQBRBpiqiSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B+ , - . / o h 8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B-f.f:B;B=B?B@B[B]B^B`Bp 4 5 6 |B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C#b7 $b%b'b(b'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C{C8h|C}C~CaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDCbDbMDNDODPDcbdbebQDsbtb)bRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhF*b+b,biFjFkFlFmFnFoFpFqFrFsFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyG/f:fzGAGBGCGDG-b.b/bEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H/H;H=H?H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLui;f=fXLYLZL0L1L2L3L4L5L6L7L8L9L!L#L$L%L'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`Lviwixi{L|L}L~LaMv w x bMcM:bdMSeTeUeVeWeXeeMYeZe0e1e2e3efM;b4e5e6e7e8egM=b9e!e#e$e%ehM?b'e(e)e*e+eiMfbjMkMlMmMnMoMQ @bd pMqMrMsM,e-e.e/e:e;etMuMvM$dyMzMAMBMDMEMFMGM[bHM]b^bIMJMyiKM_bLMMMNMOMPMQM`b8 {bRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaNbNcNdNeN=e?e@e[e]efNgNhNiNjNziAikNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN: ; = ? @ q i ANBNCNDNENFNGNHNINJNKNLNMNNNON?f@fPNQNRNSNTNUNVNWNYNr 9 ! # 0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFO|b$ }b~bacbcGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOZO9h0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPEbFbePfPgPhPgbhbibiPubvbccjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Qdcecfc#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[f]f[R]R^R_R`Rgchcic{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTOTQTRTSTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW0W1W2W3W4W5W6W7W8W9W!W#W$W%W'W(W)W*W+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXEi^f_fpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXFiGiHiZX0X1X2X3Xy z A 4X5Xjc6X_e`e{e|e}e~e7Xafbfcfdfefff8Xkcgfhfifjfkf9Xlclfmfnfofpf!Xmcqfrfsftfuf#Xjb$X%X'X(X)X*XR nce +X,X-X.XvfwfxfyfzfAf/X:X;X'd@X[X]X^X`X{X|X}Xoc~XpcqcaYbYIicYrcdYeYfYgYhYiYsc% tcjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7YBfCfDfEfFf8Y9Y!Y#Y$YJiKi%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y[ ] ^ _ ` s j ]Y^Y_Y`Y{Y|Y}Y~YaZbZcZdZeZfZgZ`f{fhZiZjZkZlZmZnZoZqZt ' ( ) sZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z^Z_Z`Z{Z|Zuc* vcwcxcyc}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0r0!hs0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0001020304050GbHb708090!0kblbmb#0wbxbzc$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2c2d2e2f2g2h2i2j2k2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2AcBcCcD2E2F2G2H2I2J2K2L2M2N2P2Q2R2S2T2U2V2W2X2Y2Z2021222325262728292!2#2$2%2'2(2)2*2+2,2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3|f}fU3V3W3X3Y3DcEcFcZ303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5g5i5j5k5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z606162636465666768696!6#6$6%6'6(6)6*6+6,6-6.6/6:6;6=6?6@6[6]6^6_6`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z707172737475767778797!7#7$7%7'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z808182838485868788898!8#8$8%8'8(8)8*8Oi~fag+8,8-8.8/8:8;8=8?8@8[8]8^8_8`8{8|8}8~8a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9PiQiRir9s9t9u9v9B C D w9x9Gcy9HfIfJfKfLfMfz9NfOfPfQfRfSfA9HcTfUfVfWfXfB9IcYfZf0f1f2fC9Jc3f4f5f6f7fD9nbE9F9G9H9I9J9S Kc
47 "default",
48 "1XX",
49 "2XX",
50 "3XX",
51 "4XX",
52 "5XX",
53 }:
54 return True 1abcde
55 current_status_code = int(status_code) 2a SiTiUiVi+d,d-d.d/d:dWiXiYi|cZi0i1i2i3i4i5i6iIb7iJbKb8i9idi!iLb#i$i%i'i(i)iMbT Nb*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEj;d=d?d@d[dFjGjHjIjJjeifiKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZjE F G H I k f 0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j8f9f(j)j*j+j,j-j.j/j:jm U V W ;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3kObX 4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k0h:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlybzbAlBlClDl{ | } ElobpbPbFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWn!f#fXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_p`p{p|p}p~paqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqgi$f%fIqJqKqLqMqNqOqPqQqRqSqTqhiUqVqWqXqYqZq0qQb1q]d^d_d`d{d|d2q}d~daebecede3q4q5q6q7q8q9qJ Rbb !q#q$q%qeefegeheieje'q(q)q}c*q+q,q-q.q/q:q;qSb=qTbUb?q@qii[qVb]q^q_q`q{q|qWbY Xb}q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrkelemeneoeXrYrZr0r1rjiki2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*rK L M N O l g +r,r-r.r/r:r;r=r?r@r[r]r^r_r`r'f(f{r|r}r~rasbscsdsesn Z 0 1 fsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.sYb2 /s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdt1hetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtAbBbStTtUtVt~ abbbWtqbrbZbXtYtZt0t1t2t3t4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbvcvdvevfvgvhvivjvkv0blvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v^v_v`v{v|v}v~vawbwcw)f*fdwewfwgwhw1biwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAli+f,fiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAminiGAHAIAJAKAu LAMA2bNApeqereseteueOAvewexeyezeAePA3bBeCeDeEeFeQARASATAUAVAWAP 4bc XAYAZA0AGeHeIeJeKeLe1A2A3A!d6A7A8A9A#A$A%A'A5b(A6b7b)A*Aoi+A8b,A-A.A/A:A;A9b3 !b=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBMeNeOePeQeNBOBPBQBRBpiqiSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B+ , - . / o h 8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B-f.f:B;B=B?B@B[B]B^B`Bp 4 5 6 |B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C#b7 $b%b'b(b'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C{C8h|C}C~CaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDCbDbMDNDODPDcbdbebQDsbtb)bRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhF*b+b,biFjFkFlFmFnFoFpFqFrFsFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyG/f:fzGAGBGCGDG-b.b/bEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H/H;H=H?H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLui;f=fXLYLZL0L1L2L3L4L5L6L7L8L9L!L#L$L%L'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`Lviwixi{L|L}L~LaMv w x bMcM:bdMSeTeUeVeWeXeeMYeZe0e1e2e3efM;b4e5e6e7e8egM=b9e!e#e$e%ehM?b'e(e)e*e+eiMfbjMkMlMmMnMoMQ @bd pMqMrMsM,e-e.e/e:e;etMuMvM$dyMzMAMBMDMEMFMGM[bHM]b^bIMJMyiKM_bLMMMNMOMPMQM`b8 {bRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaNbNcNdNeN=e?e@e[e]efNgNhNiNjNziAikNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN: ; = ? @ q i ANBNCNDNENFNGNHNINJNKNLNMNNNON?f@fPNQNRNSNTNUNVNWNYNr 9 ! # 0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFO|b$ }b~bacbcGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOZO9h0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPEbFbePfPgPhPgbhbibiPubvbccjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Qdcecfc#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[f]f[R]R^R_R`Rgchcic{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTOTQTRTSTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW0W1W2W3W4W5W6W7W8W9W!W#W$W%W'W(W)W*W+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXEi^f_fpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXFiGiHiZX0X1X2X3Xy z A 4X5Xjc6X_e`e{e|e}e~e7Xafbfcfdfefff8Xkcgfhfifjfkf9Xlclfmfnfofpf!Xmcqfrfsftfuf#Xjb$X%X'X(X)X*XR nce +X,X-X.XvfwfxfyfzfAf/X:X;X'd@X[X]X^X`X{X|X}Xoc~XpcqcaYbYIicYrcdYeYfYgYhYiYsc% tcjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7YBfCfDfEfFf8Y9Y!Y#Y$YJiKi%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y[ ] ^ _ ` s j ]Y^Y_Y`Y{Y|Y}Y~YaZbZcZdZeZfZgZ`f{fhZiZjZkZlZmZnZoZqZt ' ( ) sZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z^Z_Z`Z{Z|Zuc* vcwcxcyc}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0r0!hs0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0001020304050GbHb708090!0kblbmb#0wbxbzc$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2c2d2e2f2g2h2i2j2k2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2AcBcCcD2E2F2G2H2I2J2K2L2M2N2P2Q2R2S2T2U2V2W2X2Y2Z2021222325262728292!2#2$2%2'2(2)2*2+2,2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3|f}fU3V3W3X3Y3DcEcFcZ303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5g5i5j5k5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z606162636465666768696!6#6$6%6'6(6)6*6+6,6-6.6/6:6;6=6?6@6[6]6^6_6`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z707172737475767778797!7#7$7%7'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z808182838485868788898!8#8$8%8'8(8)8*8Oi~fag+8,8-8.8/8:8;8=8?8@8[8]8^8_8`8{8|8}8~8a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9PiQiRir9s9t9u9v9B C D w9x9Gcy9HfIfJfKfLfMfz9NfOfPfQfRfSfA9HcTfUfVfWfXfB9IcYfZf0f1f2fC9Jc3f4f5f6f7fD9nbE9F9G9H9I9J9S Kc
56 return not (current_status_code < 200 or current_status_code in {204, 205, 304}) 2a SiTiUiVi+d,d-d.d/d:dWiXiYi|cZi0i1i2i3i4i5i6iIb7iJbKb8i9idi!iLb#i$i%i'i(i)iMbT Nb*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEj;d=d?d@d[dFjGjHjIjJjeifiKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZjE F G H I k f 0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j8f9f(j)j*j+j,j-j.j/j:jm U V W ;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3kObX 4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k0h:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlybzbAlBlClDl{ | } ElobpbPbFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWn!f#fXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_p`p{p|p}p~paqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqgi$f%fIqJqKqLqMqNqOqPqQqRqSqTqhiUqVqWqXqYqZq0qQb1q]d^d_d`d{d|d2q}d~daebecede3q4q5q6q7q8q9qJ Rbb !q#q$q%qeefegeheieje'q(q)q}c*q+q,q-q.q/q:q;qSb=qTbUb?q@qii[qVb]q^q_q`q{q|qWbY Xb}q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrkelemeneoeXrYrZr0r1rjiki2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*rK L M N O l g +r,r-r.r/r:r;r=r?r@r[r]r^r_r`r'f(f{r|r}r~rasbscsdsesn Z 0 1 fsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.sYb2 /s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdt1hetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtAbBbStTtUtVt~ abbbWtqbrbZbXtYtZt0t1t2t3t4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbvcvdvevfvgvhvivjvkv0blvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v^v_v`v{v|v}v~vawbwcw)f*fdwewfwgwhw1biwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAli+f,fiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAminiGAHAIAJAKAu LAMA2bNApeqereseteueOAvewexeyezeAePA3bBeCeDeEeFeQARASATAUAVAWAP 4bc XAYAZA0AGeHeIeJeKeLe1A2A3A!d6A7A8A9A#A$A%A'A5b(A6b7b)A*Aoi+A8b,A-A.A/A:A;A9b3 !b=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBMeNeOePeQeNBOBPBQBRBpiqiSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B+ , - . / o h 8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B-f.f:B;B=B?B@B[B]B^B`Bp 4 5 6 |B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C#b7 $b%b'b(b'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C{C8h|C}C~CaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDCbDbMDNDODPDcbdbebQDsbtb)bRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhF*b+b,biFjFkFlFmFnFoFpFqFrFsFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyG/f:fzGAGBGCGDG-b.b/bEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H/H;H=H?H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLui;f=fXLYLZL0L1L2L3L4L5L6L7L8L9L!L#L$L%L'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`Lviwixi{L|L}L~LaMv w x bMcM:bdMSeTeUeVeWeXeeMYeZe0e1e2e3efM;b4e5e6e7e8egM=b9e!e#e$e%ehM?b'e(e)e*e+eiMfbjMkMlMmMnMoMQ @bd pMqMrMsM,e-e.e/e:e;etMuMvM$dyMzMAMBMDMEMFMGM[bHM]b^bIMJMyiKM_bLMMMNMOMPMQM`b8 {bRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaNbNcNdNeN=e?e@e[e]efNgNhNiNjNziAikNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN: ; = ? @ q i ANBNCNDNENFNGNHNINJNKNLNMNNNON?f@fPNQNRNSNTNUNVNWNYNr 9 ! # 0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFO|b$ }b~bacbcGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOZO9h0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPEbFbePfPgPhPgbhbibiPubvbccjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Qdcecfc#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[f]f[R]R^R_R`Rgchcic{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTOTQTRTSTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW0W1W2W3W4W5W6W7W8W9W!W#W$W%W'W(W)W*W+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXEi^f_fpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXFiGiHiZX0X1X2X3Xy z A 4X5Xjc6X_e`e{e|e}e~e7Xafbfcfdfefff8Xkcgfhfifjfkf9Xlclfmfnfofpf!Xmcqfrfsftfuf#Xjb$X%X'X(X)X*XR nce +X,X-X.XvfwfxfyfzfAf/X:X;X'd@X[X]X^X`X{X|X}Xoc~XpcqcaYbYIicYrcdYeYfYgYhYiYsc% tcjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7YBfCfDfEfFf8Y9Y!Y#Y$YJiKi%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y[ ] ^ _ ` s j ]Y^Y_Y`Y{Y|Y}Y~YaZbZcZdZeZfZgZ`f{fhZiZjZkZlZmZnZoZqZt ' ( ) sZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z^Z_Z`Z{Z|Zuc* vcwcxcyc}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0r0!hs0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0001020304050GbHb708090!0kblbmb#0wbxbzc$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2c2d2e2f2g2h2i2j2k2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2AcBcCcD2E2F2G2H2I2J2K2L2M2N2P2Q2R2S2T2U2V2W2X2Y2Z2021222325262728292!2#2$2%2'2(2)2*2+2,2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3|f}fU3V3W3X3Y3DcEcFcZ303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5g5i5j5k5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z606162636465666768696!6#6$6%6'6(6)6*6+6,6-6.6/6:6;6=6?6@6[6]6^6_6`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z707172737475767778797!7#7$7%7'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z808182838485868788898!8#8$8%8'8(8)8*8Oi~fag+8,8-8.8/8:8;8=8?8@8[8]8^8_8`8{8|8}8~8a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9PiQiRir9s9t9u9v9B C D w9x9Gcy9HfIfJfKfLfMfz9NfOfPfQfRfSfA9HcTfUfVfWfXfB9IcYfZf0f1f2fC9Jc3f4f5f6f7fD9nbE9F9G9H9I9J9S Kc
59def get_path_param_names(path: str) -> Set[str]: 1abcde
60 return set(re.findall("{(.*?)}", path)) 2a +d,d-d.d/d:d|cIb]gJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgeifiE F G H I k f 8d)d8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgvg!f#fcgdg9cgidh$f%fhi]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgD;b eefegeheieje}cSbehTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgjikiK L M N O l g 9d*d'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0bwg)f*f1bgghg%cliph+f,fmini^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgE;c GeHeIeJeKeLe!d5bqh6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3gpiqi+ , - . / o h #dRe-f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,bxg/f:f-b.b/bkglg*c+cuiBh;f=fviwixi_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gF;d ,e-e.e/e:e;e$d[bCh]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'gziAi: ; = ? @ q i %d^e?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcyg[f]fgchcicogpg/c:cEiNh^f_fFiGiHi`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*gG;e vfwfxfyfzfAf'docOhpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=gJiKi[ ] ^ _ ` s j (dGf`f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCczg|f}fDcEcFcsgtg@c[cOiZh~fagPiQiRi{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[gH;
63def create_model_field( 1abcde
64 name: str,
65 type_: Any,
66 class_validators: Optional[Dict[str, Validator]] = None,
67 default: Optional[Any] = Undefined,
68 required: Union[bool, UndefinedType] = Undefined,
69 model_config: Type[BaseConfig] = BaseConfig,
70 field_info: Optional[FieldInfo] = None,
71 alias: Optional[str] = None,
72 mode: Literal["validation", "serialization"] = "validation",
73) -> ModelField:
74 class_validators = class_validators or {} 2a +d,d-d.d/d:d|cIbJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgb eefegeheieje}cSbTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[g
75 if PYDANTIC_V2: 2a +d,d-d.d/d:d|cIbJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgb eefegeheieje}cSbTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[g
76 field_info = field_info or FieldInfo( 2a +d,d-d.d/d:d|cIbJbKbLbMbNb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW Ob6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeRbegIgJgKgb eefegeheieje}cSbTbUbVbWbXbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb!cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFe4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b!bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b$bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efb@bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b{b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b}bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsctcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) ucvc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbKcug?g@g[g
77 annotation=type_, default=default, alias=alias
78 )
79 else:
80 field_info = field_info or FieldInfo() 2a +d,d-d.d/d:d|cIbJbKbLbMbT ;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V W X 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ egIgJgKgb eefegeheieje}cSbTbUbVbWbY keLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 1 2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP igTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 MeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 6 7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ mg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 =e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! # $ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR qg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% Bf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( ) * vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS ug?g@g[g
81 kwargs = {"name": name, "field_info": field_info} 2a +d,d-d.d/d:d|cIbJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgb eefegeheieje}cSbTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[g
82 if PYDANTIC_V2: 2a +d,d-d.d/d:d|cIbJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgb eefegeheieje}cSbTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[g
83 kwargs.update({"mode": mode}) 2a +d,d-d.d/d:d|cIbJbKbLbMbNb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW Ob6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeRbegIgJgKgb eefegeheieje}cSbTbUbVbWbXbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb!cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFe4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b!bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b$bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efb@bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b{b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b}bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsctcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) ucvc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbKcug?g@g[g
84 else:
85 kwargs.update( 2a +d,d-d.d/d:d|cIbJbKbLbMbT ;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V W X 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ egIgJgKgb eefegeheieje}cSbTbUbVbWbY keLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 1 2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP igTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 MeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 6 7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ mg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 =e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! # $ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR qg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% Bf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( ) * vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS ug?g@g[g
86 {
87 "type_": type_,
88 "class_validators": class_validators,
89 "default": default,
90 "required": required,
91 "model_config": model_config,
92 "alias": alias,
93 }
94 )
95 try: 2a +d,d-d.d/d:d|cIbJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgb eefegeheieje}cSbTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[g
96 return ModelField(**kwargs) # type: ignore[arg-type] 2a +d,d-d.d/d:d|cIbJbKbLbMbT Nb;dAgBg=dCgDg?dEg@dFgGg[dHgE F G H I k f 8d)d~cadbdcdddedfdgdhdidjdm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcbgcgdg9c]cQb]d^d_d`d{d|d}d~daebecedeJ RbegIgJgKgb eefegeheieje}cSbTbUbVbWbY XbkeLgMgleNgOgmePgneQgRgoeSgK L M N O l g 9d*dkdldmdndodpdqdrdsdtdudn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQcfg0b1bgghg%c^cu 2bpeqereseteuevewexeyezeAe3bBeCeDeEeFeP 4bigTgUgVgc GeHeIeJeKeLe!d5b6b7b8b9b3 !bMeWgXgNeYgZgOe0gPe1g2gQe3g+ , - . / o h #dRevdwdxdydzdAdBdCdDdEdFdp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVcjg*b+b,b-b.b/bkglg*c+c_cv w x :bSeTeUeVeWeXeYeZe0e1e2e3e;b4e5e6e7e8e=b9e!e#e$e%e?b'e(e)e*e+efbQ @bmg4g5g6gd ,e-e.e/e:e;e$d[b]b^b_b`b8 {b=e7g8g?e9g!g@e#g[e$g%g]e'g: ; = ? @ q i %d^eIdJdKdLdMdNdOdPdQdRdSdr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cngdcecfcgchcicogpg/c:c`cy z A jc_e`e{e|e}e~eafbfcfdfefffkcgfhfifjfkflclfmfnfofpfmcqfrfsftfufjbR ncqg(g)g*ge vfwfxfyfzfAf'docpcqcrcsc% tcBf+g,gCf-g.gDf/gEf:g;gFf=g[ ] ^ _ ` s j (dGfVdWdXdYdZd0d1d2d3d4d5dt ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5crgAcBcCcDcEcFcsgtg@c[c{cB C D GcHfIfJfKfLfMfNfOfPfQfRfSfHcTfUfVfWfXfIcYfZf0f1f2fJc3f4f5f6f7fnbS Kcug?g@g[g
97 except (RuntimeError, PydanticSchemaGenerationError): 26cyb7czb8c9c!cAb#cBb$c%c'cCb(cDb)c*c+c,cEb-cFb.c/c:c;cGb=cHb?c@c[c
98 raise fastapi.exceptions.FastAPIError( 26cyb7czb8c9c!cAb#cBb$c%c'cCb(cDb)c*c+c,cEb-cFb.c/c:c;cGb=cHb?c@c[c
99 "Invalid args for response field! Hint: "
100 f"check that {type_} is a valid Pydantic field type. "
101 "If you are using a return type annotation that is not a valid Pydantic "
102 "field (e.g. Union[Response, dict, None]) you can disable generating the "
103 "response model from the type annotation with the path operation decorator "
104 "parameter response_model=None. Read more: "
105 "https://fastapi.tiangolo.com/tutorial/response-model/"
106 ) from None
109def create_cloned_field( 1abcde
110 field: ModelField,
111 *,
112 cloned_types: Optional[MutableMapping[Type[BaseModel], Type[BaseModel]]] = None,
113) -> ModelField:
114 if PYDANTIC_V2: 2a T NbE F G H I k f m U V LcMcW ObX { | } obpbJ Rbb Y XbK L M N O l g n Z 0 OcPc1 Yb2 ~ abbbqbrbu P 4bc 3 !b+ , - . / o h p 4 5 RcSc6 #b7 cbdbebsbtbv w x fbQ @bd 8 {b: ; = ? @ q i r 9 ! WcXc# |b$ gbhbibubvby z A jbR nce % tc[ ] ^ _ ` s j t ' ( 1c2c) uc* kblbmbwbxbB C D nbS Kc
115 return field 2a NbE F G H I k f m U V LcMcW Ob{ | } obpbRbb XbK L M N O l g n Z 0 OcPc1 Yb~ abbbqbrbu 4bc !b+ , - . / o h p 4 5 RcSc6 #bcbdbebsbtbv w x fb@bd {b: ; = ? @ q i r 9 ! WcXc# |bgbhbibubvby z A jbnce tc[ ] ^ _ ` s j t ' ( 1c2c) uckblbmbwbxbB C D nbKc
116 # cloned_types caches already cloned types to support recursive models and improve
117 # performance by avoiding unnecessary cloning
118 if cloned_types is None: 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
119 cloned_types = _CLONED_TYPES_CACHE 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
121 original_type = field.type_ 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
122 if is_dataclass(original_type) and hasattr(original_type, "__pydantic_model__"): 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
123 original_type = original_type.__pydantic_model__ 1abcde
124 use_type = original_type 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
125 if lenient_issubclass(original_type, BaseModel): 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
126 original_type = cast(Type[BaseModel], original_type) 1aTEFGHIkfmUVWXJbYKLMNOlgnZ012uPc3+,-./ohp4567vwxQd8:;=?@qir9!#$yzARe%[]^_`sjt'()*BCDS
127 use_type = cloned_types.get(original_type) 1aTEFGHIkfmUVWXJbYKLMNOlgnZ012uPc3+,-./ohp4567vwxQd8:;=?@qir9!#$yzARe%[]^_`sjt'()*BCDS
128 if use_type is None: 1aTEFGHIkfmUVWXJbYKLMNOlgnZ012uPc3+,-./ohp4567vwxQd8:;=?@qir9!#$yzARe%[]^_`sjt'()*BCDS
129 use_type = create_model(original_type.__name__, __base__=original_type) 1aTfmXJbYgn2uPc3hp7vwxQd8ir$yzARe%jt*BCDS
130 cloned_types[original_type] = use_type 1aTfmXJbYgn2uPc3hp7vwxQd8ir$yzARe%jt*BCDS
131 for f in original_type.__fields__.values(): 1aTfmXJbYgn2uPc3hp7vwxQd8ir$yzARe%jt*BCDS
132 use_type.__fields__[f.name] = create_cloned_field( 1aTfmXJbYgn2uPc3hp7vwxQd8ir$yzARe%jt*BCDS
133 f, cloned_types=cloned_types
134 )
135 new_field = create_model_field(name=field.name, type_=use_type) 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
136 new_field.has_alias = field.has_alias # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
137 new_field.alias = field.alias # type: ignore[misc] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
138 new_field.class_validators = field.class_validators # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
139 new_field.default = field.default # type: ignore[misc] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
140 new_field.required = field.required # type: ignore[misc] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
141 new_field.model_config = field.model_config # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
142 new_field.field_info = field.field_info 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
143 new_field.allow_none = field.allow_none # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
144 new_field.validate_always = field.validate_always # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
145 if field.sub_fields: # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
146 new_field.sub_fields = [ # type: ignore[attr-defined] 2a E F G H I k f m U V W { | } J b K L M N O l g n Z 0 1 ~ abbbP c + , - . / o h p 4 5 6 cbdbebfbQ d : ; = ? @ q i r 9 ! # gbhbibjbR e [ ] ^ _ ` s j t ' ( ) kblbmbnbS
147 create_cloned_field(sub_field, cloned_types=cloned_types)
148 for sub_field in field.sub_fields # type: ignore[attr-defined]
149 ]
150 if field.key_field: # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
151 new_field.key_field = create_cloned_field( # type: ignore[attr-defined] 2a { | } b ~ abbbc cbdbebfbd gbhbibjbe kblbmbnb
152 field.key_field, # type: ignore[attr-defined]
153 cloned_types=cloned_types,
154 )
155 new_field.validators = field.validators # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
156 new_field.pre_validators = field.pre_validators # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
157 new_field.post_validators = field.post_validators # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
158 new_field.parse_json = field.parse_json # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
159 new_field.shape = field.shape # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
160 new_field.populate_validators() # type: ignore[attr-defined] 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
161 return new_field 2a T E F G H I k f m U V W X { | } obpbJ b Y K L M N O l g n Z 0 1 2 ~ abbbqbrbu P c 3 + , - . / o h p 4 5 6 7 cbdbebsbtbv w x fbQ d 8 : ; = ? @ q i r 9 ! # $ gbhbibubvby z A jbR e % [ ] ^ _ ` s j t ' ( ) * kblbmbwbxbB C D nbS
164def generate_operation_id_for_path( 1abcde
165 *, name: str, path: str, method: str 1abcde
166) -> str: # pragma: nocover 1abcde
167 warnings.warn(
168 "fastapi.utils.generate_operation_id_for_path() was deprecated, "
169 "it is not used internally, and will be removed soon",
170 DeprecationWarning,
171 stacklevel=2,
172 )
173 operation_id = f"{name}{path}"
174 operation_id = re.sub(r"\W", "_", operation_id)
175 operation_id = f"{operation_id}_{method.lower()}"
176 return operation_id
179def generate_unique_id(route: "APIRoute") -> str: 1abcde
180 operation_id = f"{route.name}{route.path_format}" 2a Ib]gJbKbLbMbT Nbk f 8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY Xbl g 'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !bo h -f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {bq i ?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tcs j `f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
181 operation_id = re.sub(r"\W", "_", operation_id) 2a Ib]gJbKbLbMbT Nbk f 8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY Xbl g 'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !bo h -f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {bq i ?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tcs j `f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
182 assert route.methods 2a Ib]gJbKbLbMbT Nbk f 8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY Xbl g 'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !bo h -f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {bq i ?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tcs j `f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
183 operation_id = f"{operation_id}_{list(route.methods)[0].lower()}" 2a Ib]gJbKbLbMbT Nbk f 8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY Xbl g 'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !bo h -f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {bq i ?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tcs j `f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
184 return operation_id 2a Ib]gJbKbLbMbT Nbk f 8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY Xbl g 'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !bo h -f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {bq i ?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tcs j `f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
187def deep_dict_update(main_dict: Dict[Any, Any], update_dict: Dict[Any, Any]) -> None: 1abcde
188 for key, value in update_dict.items(): 2|c#h$h%hE F G H I k f )d'h(h)h0h*h+h2h3h4h,h-h.h/h:h;h}c=h?h@hK L M N O l g *d[h]h^h1h_h`h5h6h7h{h|h}h~haibici!d4A5A!A+ , - . / o h Re_B{B`C8hLD@ErisititFJFZF-H.H:H@H$dwMxMCM: ; = ? @ q i ^eXNZNYO9hdPTQBiCiDi/QbRrRMTNTPTTT'd=X?X_X[ ] ^ _ ` s j GfpZrZq0!h60l2LiMiNiO242-2e5f5h5l5
189 if ( 2|c#h$h%hE F G H I k f )d'h(h)h0h*h+h2h3h4h,h-h.h/h:h;h}c=h?h@hK L M N O l g *d[h]h^h1h_h`h5h6h7h{h|h}h~haibici
190 key in main_dict
191 and isinstance(main_dict[key], dict)
192 and isinstance(value, dict)
193 ):
194 deep_dict_update(main_dict[key], value) 22h3h4h5h6h7hrisitiBiCiDiLiMiNi
195 elif ( 2|c#h$h%hE F G H I k f )d'h(h)h0h*h+h2h3h4h,h-h.h/h:h;h}c=h?h@hK L M N O l g *d[h]h^h1h_h`h5h6h7h{h|h}h~haibici
196 key in main_dict
197 and isinstance(main_dict[key], list)
198 and isinstance(update_dict[key], list)
199 ):
200 main_dict[key] = main_dict[key] + update_dict[key] 2'h[h_BXNpZ
201 else:
202 main_dict[key] = value 2|c#h$h%hE F G H I k f )d(h)h0h*h+h2h3h4h,h-h.h/h:h;h}c=h?h@hK L M N O l g *d]h^h1h_h`h5h6h7h{h|h}h~haibici!d4A5A!A+ , - . / o h Re{B`C8hLD@ErisititFJFZF-H.H:H@H$dwMxMCM: ; = ? @ q i ^eZNYO9hdPTQBiCiDi/QbRrRMTNTPTTT'd=X?X_X[ ] ^ _ ` s j GfrZq0!h60l2LiMiNiO242-2e5f5h5l5
205def get_value_or_default( 1abcde
206 first_item: Union[DefaultPlaceholder, DefaultType],
207 *extra_items: Union[DefaultPlaceholder, DefaultType],
208) -> Union[DefaultPlaceholder, DefaultType]:
209 """
210 Pass items or `DefaultPlaceholder`s by descending priority.
212 The first one to _not_ be a `DefaultPlaceholder` will be returned.
214 Otherwise, the first item (a `DefaultPlaceholder`) will be returned.
215 """
216 items = (first_item,) + extra_items 2a Ib]gJbKbLbMbT NbE F G H I k f 8d8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY XbK L M N O l g 9d'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !b+ , - . / o h #d-f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {b: ; = ? @ q i %d?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tc[ ] ^ _ ` s j (d`f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
217 for item in items: 2a Ib]gJbKbLbMbT NbE F G H I k f 8d8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY XbK L M N O l g 9d'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !b+ , - . / o h #d-f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {b: ; = ? @ q i %d?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tc[ ] ^ _ ` s j (d`f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
218 if not isinstance(item, DefaultPlaceholder): 2a Ib]gJbKbLbMbT NbE F G H I k f 8d8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY XbK L M N O l g 9d'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !b+ , - . / o h #d-f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {b: ; = ? @ q i %d?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tc[ ] ^ _ ` s j (d`f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc
219 return item 2a E F G H I k f 8d]cb K L M N O l g 9d^cc + , - . / o h #d_cd : ; = ? @ q i %d`ce [ ] ^ _ ` s j (d{c
220 return first_item 2a Ib]gJbKbLbMbT NbE F G H I k f 8d8f9f~cadbdcdddedfdgdhdidjd^g_g`g{g|g}g~gahbhchm U V LcMcW ObX 6cyb7czb8c{ | } obpbPbNcvg!f#f9cdh$f%f]cQbJ Rbb SbehTbUbVbWbY XbK L M N O l g 9d'f(fkdldmdndodpdqdrdsdtdudfhghhhihjhkhlhmhnhohn Z 0 OcPc1 Yb2 !cAb#cBb$c~ abbbqbrbZbQc0bwg)f*f1b%cph+f,f^cu 2b3bP 4bc 5bqh6b7b8b9b3 !b+ , - . / o h #d-f.fvdwdxdydzdAdBdCdDdEdFdrhshthuhvhwhxhyhzhAhp 4 5 RcSc6 #b7 $bTc%bGdUcHd'b(b'cCb(cDb)ccbdbebsbtb)bVc*b+b,bxg/f:f-b.b/b*c+cBh;f=f_cv w x :b;b=b?bfbQ @bd [bCh]b^b_b`b8 {b: ; = ? @ q i %d?f@fIdJdKdLdMdNdOdPdQdRdSdDhEhFhGhHhIhJhKhLhMhr 9 ! WcXc# |b$ }bYc~bTdZcUdacbc,cEb-cFb.cgbhbibubvbcc0cdcecfcyg[f]fgchcic/c:cNh^f_f`cy z A jckclcmcjbR nce ocOhpcqcrcsc% tc[ ] ^ _ ` s j (d`f{fVdWdXdYdZd0d1d2d3d4d5dPhQhRhShThUhVhWhXhYht ' ( 1c2c) uc* vc3cwc6d4c7dxcyc;cGb=cHb?ckblbmbwbxbzc5cAcBcCczg|f}fDcEcFc@c[cZh~fag{cB C D GcHcIcJcnbS Kc