Coverage for fastapi / _compat / v2.py: 100%

202 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1import re 1abcd

2import warnings 1abcd

3from collections.abc import Sequence 1abcd

4from copy import copy 1abcd

5from dataclasses import dataclass, is_dataclass 1abcd

6from enum import Enum 1abcd

7from functools import lru_cache 1abcd

8from typing import ( 1abcd

9 Annotated, 

10 Any, 

11 Literal, 

12 Union, 

13 cast, 

14 get_args, 

15 get_origin, 

16) 

17 

18from fastapi._compat import lenient_issubclass, shared 1abcd

19from fastapi.openapi.constants import REF_TEMPLATE 1abcd

20from fastapi.types import IncEx, ModelNameMap, UnionType 1abcd

21from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, create_model 1abcd

22from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError 1abcd

23from pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation 1abcd

24from pydantic import ValidationError as ValidationError 1abcd

25from pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined] 1abcd

26 GetJsonSchemaHandler as GetJsonSchemaHandler, 

27) 

28from pydantic._internal._typing_extra import eval_type_lenient 1abcd

29from pydantic.fields import FieldInfo as FieldInfo 1abcd

30from pydantic.json_schema import GenerateJsonSchema as _GenerateJsonSchema 1abcd

31from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue 1abcd

32from pydantic_core import CoreSchema as CoreSchema 1abcd

33from pydantic_core import PydanticUndefined 1abcd

34from pydantic_core import Url as Url 1abcd

35from pydantic_core.core_schema import ( 1abcd

36 with_info_plain_validator_function as with_info_plain_validator_function, 

37) 

38 

39RequiredParam = PydanticUndefined 1abcd

40Undefined = PydanticUndefined 1abcd

41evaluate_forwardref = eval_type_lenient 1abcd

42 

43 

44class GenerateJsonSchema(_GenerateJsonSchema): 1abcd

45 # TODO: remove when this is merged (or equivalent): https://github.com/pydantic/pydantic/pull/12841 

46 # and dropping support for any version of Pydantic before that one (so, in a very long time) 

47 def bytes_schema(self, schema: CoreSchema) -> JsonSchemaValue: 1abcd

48 json_schema = {"type": "string", "contentMediaType": "application/octet-stream"} 2^ _ ` { | } qdrdO sdtd~ abudvdbbcbdbebwdxdp?q?^b_b`b{b|b}b3e4e' 5e6e~bac7e8ebcccdcec9e!efcgchcicjckclcmcnc#e$e%e( 'e(eocpc)e*eqcrcsctc+e,e

49 bytes_mode = ( 2^ _ ` { | } qdrdO sdtd~ abudvdbbcbdbebwdxdp?q?^b_b`b{b|b}b3e4e' 5e6e~bac7e8ebcccdcec9e!efcgchcicjckclcmcnc#e$e%e( 'e(eocpc)e*eqcrcsctc+e,e

50 self._config.ser_json_bytes 

51 if self.mode == "serialization" 

52 else self._config.val_json_bytes 

53 ) 

54 if bytes_mode == "base64": 2^ _ ` { | } qdrdO sdtd~ abudvdbbcbdbebwdxdp?q?^b_b`b{b|b}b3e4e' 5e6e~bac7e8ebcccdcec9e!efcgchcicjckclcmcnc#e$e%e( 'e(eocpc)e*eqcrcsctc+e,e

55 json_schema["contentEncoding"] = "base64" 3O 0db' (

56 self.update_with_validations(json_schema, schema, self.ValidationsMapping.bytes) 2^ _ ` { | } qdrdO sdtd~ abudvdbbcbdbebwdxdp?q?^b_b`b{b|b}b3e4e' 5e6e~bac7e8ebcccdcec9e!efcgchcicjckclcmcnc#e$e%e( 'e(eocpc)e*eqcrcsctc+e,e

57 return json_schema 2^ _ ` { | } qdrdO sdtd~ abudvdbbcbdbebwdxdp?q?^b_b`b{b|b}b3e4e' 5e6e~bac7e8ebcccdcec9e!efcgchcicjckclcmcnc#e$e%e( 'e(eocpc)e*eqcrcsctc+e,e

58 

59 

60# TODO: remove when dropping support for Pydantic < v2.12.3 

61_Attrs = { 1abcd

62 "default": ..., 

63 "default_factory": None, 

64 "alias": None, 

65 "alias_priority": None, 

66 "validation_alias": None, 

67 "serialization_alias": None, 

68 "title": None, 

69 "field_title_generator": None, 

70 "description": None, 

71 "examples": None, 

72 "exclude": None, 

73 "exclude_if": None, 

74 "discriminator": None, 

75 "deprecated": None, 

76 "json_schema_extra": None, 

77 "frozen": None, 

78 "validate_default": None, 

79 "repr": True, 

80 "init": None, 

81 "init_var": None, 

82 "kw_only": None, 

83} 

84 

85 

86# TODO: remove when dropping support for Pydantic < v2.12.3 

87def asdict(field_info: FieldInfo) -> dict[str, Any]: 1abcd

88 attributes = {} 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

89 for attr in _Attrs: 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

90 value = getattr(field_info, attr, Undefined) 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

91 if value is not Undefined: 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

92 attributes[attr] = value 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

93 return { 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

94 "annotation": field_info.annotation, 

95 "metadata": field_info.metadata, 

96 "attributes": attributes, 

97 } 

98 

99 

100@dataclass 1abcd

101class ModelField: 1abcd

102 field_info: FieldInfo 1acd

103 name: str 1acd

104 mode: Literal["validation", "serialization"] = "validation" 1abcd

105 config: ConfigDict | None = None 1abcd

106 

107 @property 1abcd

108 def alias(self) -> str: 1abcd

109 a = self.field_info.alias 2yd-ezdP TjfbqfAdBJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJCl_M$35V`M%36V{M'37V(3TlUlrhihHf)3*drf*3+dmo+3,3-3.3/3:3;3=3?3@3[3]3|M^3Bd_3}MfG`3~MgGnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo{3aNhG|3bNiG}3~3igTJa4shcNb4c4d4e4Xbf4g4h4i4j4UJVJ8V) WJ9V!Vk4l4m4XJn4GmGAHA*lo4e f g h i j k .e#Vgbsfp4q4Ujr4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z40414243444dN54$V64748494th%V'V(V)VBl!4#4$4%4YJZJ0J1JuceN'4uh*VC fNvcAggNvhl D +VKx,V(4Vj)4-V*4.V+4,4/V-4.4/4hNiN:4;4=4jN?4@4[4kNlN]4mN^4nNoN_4pN`4{4qNrN|4}4~4sNtNa5uNvNb5c5d5wNe5f5g5xNh5yNi5j5zNANk5l5BNCNm5n5DNENo5FNGNHNp5INJNq5KNLNr5MNs5NNt5ONu5v5w5Wjx5y5z5A5PNQN:VB5RN;VSNC5TN=V2J?V@V[V]V^VD5_VE5F5UN`VG5{V|VH5}VI5J5K5HmIm#l+lDlxgVl,lJmXjL5M5YjN5~VaWwcxcO5bWcWyczcP5dWeWAcBcQ5fWgW/e:eR5S5VNhWjgkgT5U5WNiW$g%g3JV5jWkWW5X5lWmWLxY5nWoWZ505pWqWKm15WlrWCcDcLm25EcXlsWFc3545YltWGcHcMm55ZluW;e=e6575XNvWlgmg8595YNwWngog!5#5ZNxWpgqg$5%50NyW'g(gAjBj'5(5)51NzWrgsg*5+52NAWtgug,5-53NBWvgwg.5/54NCW)g*gDWEWFW:5GW;5=5hbibYb* HWIWIc?5@5[5Jc;n+ If5NIAJAKAjGkG6NLAMANAlGmGnG7NOAPAQAoG]5^5_5`5Zj{5|5}5~5ol8NjbQ 9Na6Cdb6JWkb4Jc6Ddd6KWlb5Je6!N#N$N%Nf6g6h6i6'Nj6k6l6(N)Nm6n6*N+N0jo6p6,N-Nq6LWr6.Ns6MWt6u6NWEdFdKcv6w66JLcx6/NRA7J8Jy6z6A6B6mbnbZb0bC6D6pGqG:N;N=N?NobE69J!J#J@N[N]NF6pbqb^N_N`N{NG6H6rbsbI6J6rGsGSATAtGuG|N}NtbubK6L6~NaO$J%JbOcOM6N6McNcOcO6P6Q6'J(J)J*J+J,JR6S6T6W U6-J.J/JV6X W6:J;J=JX6?JY Y6@J[JZ6, PcwhOW- PWQW. RWSW061626NmOmdOeOfO0lxlvGxhyhPmQm1l2lwGxGyGzGzhAhTW3646UWVW5666WWBhCh76861jplfhXWgO96hOiOjOkO!6lOmOnOoO#6pOqOrODhEhFhsO$6tO%6uOvOwO'6xO(6yOzOAO)6BO*6CODOEO+6FO,6GOHOIO-6JO.6KOLOMO/6NO:6OOPOGhHhIhJhKhLhYWQO;6ZWRO=6MhNh?6@6[6]60W1W^6_62j3j`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7SOr7s7TOt7u74j5jv7w7x7y7z7A7B7C72W3W4W5WD7E7F7G76j7jQcH7]JI78jJ79jK7L71b2b3b4b6W7WvbGdwjR H I M7N7!jO7P7#jQ7R7$jS7UOT7%jtfU7VOV7'jRmSm3l4lWOXOAGBGOhPhTmUmYOZOCGDGEGFGygzgVmWm0O1O2O3OGGHGylzlQhRhW7X7Y7Z70717ShTh8W9W27!W#W$W37%WUhVh'W4757(W6777WhXhO 4OwbufxbybzbAbBbCb8797(j5O!7)j#7*j$7+j%7'76O(7)7chlhmh^J)W_J*WUAVA,j-j.j/j*7+7,7-7.7/7:7;7`J{J|J}J7O8O9O!O:j;j=7?7@7[7~JaK#O$ObKcK=j?j]7^7_7`7dKeKfKgK%O'OhKiK@j[j{7|7}7~7jKkKlKmKnKoKpKqKYhZhXmYm(O)Oa8b8IGJG0h1hZm0m5l*O+O,OKGAl]j-Oc8.O2hd8/O3h:O;O=O4h?O@O[Oe8]O^j^OWA5h6h+Wf8g87h8h,W-Wh8i8j8k8_O`O9h!h.W/Wl8m8{O|O}O~O#h$h:W;Wn8o8aPbP_j`jcPdPp8q8ePfP{j|j=W?Wr8s8gPhP%h'hiPjP@W[Wt8u8kPlP(h)h]W^Wv8w8mPnP*h+h_W`Wx8y8oPpPz8A8,h-h{W|WqPrPB8C8.h/hD8E8}j~jsPtPF8G8}W~WuPH8I8aX:hbXcXJ8K8dXeXL8M8N8O8P8Q8fXgXR8S8hXiXT8U8V8W8jXkXrKsKlXmXX8Y8tKuKZ808vfwf1m2mvP6l7lwPxPyPzPAPxfyf8lBP3m4mCPDPEPFPGPHPIPJP1828nXoXKPLPMPNPpXqXrXsXOPPP3848tXuXQPRP58Rc68Z 0 Db5b6bSP78akTP88bkvXwXxXEb/ yXzX: AXBX98!8ckdkSc#8Tc$8UcVc%8'8WcXc(8)8YcZc*8+8UPVPWPXPYPZPvKwK0P1P2P3P7b8bxKyKzKAKBKCKDKEK4P5P6P7P9b!bFKGKHKIKJKKKLKMKNKOKJ m Hd;h,8-8CXzfPKQK1 2 RKSK3 4 Id%oDXEX'o.8/8:8;8zoAo(o)o*o+oBoCo,o-o.o/oek=8XAYAFXGX8P9P!P#P$P%P?8#bn $b'P(P0c@8[8%bTKHX)P*P+PAfDo]8bh^8_eJf`e; fk1c#f{eUKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K$l,P_8IX-P`8JX.P{8KX|8~lam=hjh{f}8Bf$f~8Cf8pa9b9c9d9e9f9g9h9i9j9k9l9/Pm9|en9:PLGo9;PMG9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pp9=PNGq9?POGr9s9Bg$Kt9?h@Pu9v9w9x9Jdy9z9A9B9C9%K'KLX'b(KMXNXD9E9F9)KG9tn5A6A7mH9o p q r s t u KfOX2c%fI9J9gkK9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9[P;9PX=9?9@9[9@hQXRXSXTX9l]9^9_9`9*K+K,K-K-d]P{9[hUXS ^P.d.g_P]hE T VXMxWX|9hk}9XX~9YXa!b!ZXc!d!e!`P{Pf!g!h!|Pi!j!k!}P~Pl!aQm!bQcQn!dQo!p!eQfQq!r!s!gQhQt!iQjQu!v!w!kQx!y!z!lQA!mQB!C!nQoQD!E!pQqQF!G!rQsQH!tQuQvQI!wQxQJ!yQzQK!AQL!BQM!CQN!O!P!ikQ!R!S!T!DQEQ0XU!FQ1XGQV!HQ2X.K3X4X5X6X7XW!8XX!Y!IQ9XZ!!X#X0!$X1!2!3!unvn5m8m%l+gbm9mwnjk4!5!kk6!%X'X/d:d7!(X)X;d=d8!*X+X?d@d9!,X-XLfMf!!#!JQ.XCgDg$!%!KQ/X:g;g/K'!:X;X(!)!=X?XNx*!@X[X+!,!]X^X-!.!cm_X[d]dxn/!dm`X^d_d:!;!em{X`d{d=!?!fm|XNfOf@![!LQ}XEgFg]!^!MQ~XGgHg_!`!NQaYIgJg{!|!OQbY=g?gCjDj}!~!a#PQcYKgLgb#c#QQdYMgNgd#e#RQeYOgPgf#g#SQfY@g[ggYhYiYh#jYi#j#3c4cKd(bkYlY|dk#l#m#}dEo)b|fTQ7A8A9APGQGUQ!A#A$ARGSGTGVQ%A'A(AUGn#o#p#q#lkr#s#t#u#qlWQ5c= XQv#}ew#mY6c:Kx#~ey#nY7c;Kz#YQZQ0Q1QA#B#C#D#2QE#F#G#3Q4QH#I#5Q6QmkJ#K#7Q8QL#oYM#9QN#pYO#P#qYafbf~dQ#R#=KaeS#!Q)A?K@KT#U#V#W#8c9cLdMdX#Y#VGWG#Q$Q%Q'Q!cZ#[K]K^K(Q)Q*Q0##c$c+Q,Q-Q.Q1#2#%c'c3#4#XGYG*A+AZG0G/Q:Q(c)c5#6#;Q=Q_K`K?Q@Q7#8#becede9#!###{K|K}K~KaLbL$#%#'#Fb(#cLdLeL)#Gb*#fLgLhL+#iLHb,#jLkL-#*bee^hrY+bsYtY,buYvY.#/#:#ynzn[Q]Q^Q_QElFl_h`hAnBn`Q{Q1G2G3G4G{h|hwY;#=#xYyY?#@#zY}h~h[#]#nkrlghAY|Q^#}Q~QaRbR_#cRdReRfR`#gRhRiRaibicijR{#kR|#lRmRnR}#oR~#pRqRrRa$sRb$tRuRvRc$wRd$xRyRzRe$ARf$BRCRDRg$ERh$FRGRdieifigihiiiBYHRi$CYIRj$jikik$l$m$n$DYEYo$p$okpkq$r$s$t$u$v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$JRM$N$KRO$P$qkrkQ$R$S$T$U$V$W$X$FYGYHYIYY$Z$0$1$sktkfe2$lL3$uk4$vk5$6$NdOdPdQdJYKY*ccfxj? 6 7 8 7$8$wk9$!$xk#$$$yk%$LR'$zk'f($MR)$AkCnDngmhmNROR5G6GlimiEnFnPRQR7G8GGlHlnioiGnHnRRSRTRUR9G!GIlJlpiqi*$+$,$-$.$/$risiLYMY:$NYOYPY;$QYtiuiRY=$?$SY@$[$viwi' VR+c(f,c-c.c/c:c;c]$^$BkWR_$Ck`$Dk{$Ek|$}$XR~$a%dhnhohmLTYnLUY,A-AFkGkHkIkb%c%d%e%f%g%h%i%oLpLqLrLYRZR0R1RJkKkj%k%l%m%sLtL2R3RuLvLLkMkn%o%p%q%wLxLyLzL4R5RALBLNkOkr%s%t%u%CLDLELFLGLHLILJLxiyiInJnimjmv%w%#G$Gzi,gKnLn6R7Rkm8R%G'GPk9Rx%!RAiy%#RBi$R%R'RCi(R)R*Rz%+RQk,R.ADiEiVYA%B%FiGiWYXYC%D%E%F%-R.RHiIiYYZYG%H%/R:R;R=RJiKi0Y1YI%J%?R@RRkSk[R]RK%L%^R_RTkUk2Y3YM%N%`R{RLiMi|R}R4Y5YO%P%~RaSNiOi6Y7YQ%R%bScSPiQi8Y9YS%T%dSeSU%V%RiSi!Y#YfSgSW%X%TiUiY%Z%VkWkhSiS0%1%$Y%YjS2%3%'YVi(Y)Y4%5%*Y+Y6%7%8%9%!%#%,Y-Y$%%%.Y/Y'%(%)%*%:Y;YKLLL=Y?Y+%,%MLNL-%.%)f*fMnNnkSlmlSmSnSoSpSqS+f,frSsSOnPntSuSvSmmwSxSnmyS/%:%@Y[YzSASBSCS]Y^Y_Y`YDSES;%=%{Y|YFSGS?%ge@%IbJb=cRdSdHS[%XkIS]%Yk}Y~YaZ?c-bbZcZ.bdZeZ^%_%Zk0khe`%ie{%jeke|%}%leme~%a'neoeb'c'JSKSLSMSNSOSOLPLPSQSRSSSTdUdQLRLSLTLULVLWLXLTSUSVSWSVdWdYLZL0L1L2L3L4L5L6L7L9 K dfWid'e'fZ-f8L9LKbLb!L#LMbNbefMqgZhZNqf'g'h'i'.p/pOqPqQqRq:p;pSqTqUqVq1kj'/A:AiZjZXSYSZS0S1S2Sk'XdL Yd3S4Spel'm'Zd$LkZ5S6S7S.f=pn'ffUfgf@ 2k@c/fhf%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L'l8So'lZ9Sp'mZ!Sq'nZr'ompmXikh}fs'Ef:ft'Ff@pu'v'w'x'y'z'A'B'C'D'E'F'#SG'ifH'$S(GI'%S)G[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqJ''S*GK'(S+GL'M'Qg_LN'Yi)SO'P'Q'R'0dS'T'U'V'W'`L{LoZ/b|LpZqZX'Y'Z'(lQnRn^A_A?m0'v w x y z A B VfrZ[c;f1'2'3k3'4'5'6'7'8'9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'^'_'`'{'|'}'~'a(b(c(d(e(f(*Sg(sZh(i(j(k(ZitZuZvZwZ!ll(m(n(o(}L~LaMbMqe+Sp(0ixZU ,Sre/g-S1iF V yZOxzZq(4kr(AZs(BZt(u(CZv(w(x(.S/Sy(z(A(:SB(C(D(;S=SE(?SF(@S[SG(]SH(I(^S_SJ(K(L(`S{SM(|S}SN(O(P(~SQ(R(S(aTT(bTU(V(cTdTW(X(eTfTY(Z(gThT0(iTjTkT1(lTmT2(nToT3(pT4(qT5(rT6(7(8(5k9(!(#($(sTtTDZ%(uTEZvT'(wTFZcMGZHZIZJZKZ((LZ)(*(xTMZ+(NZOZ,(PZ-(Sn.(TnUn6m@m)l-gqm[mVn6k/(:(7k;(seQZRZteue=(veSZTZwexe?(yeUZVZzeAe@(WfWZXZXfYfWn[(yTYZRgSgTgXn](]gzTZZ^g_gdM^(0Z1Z_(`(2Z3ZPx{(4Z5Z|(}(6Z7ZYn~(Berm8ZCeDeZna)Eesm9ZFeGe0nb)Hetm!ZIeJe1nc)Zfum#Z0f1f2nd)AT$ZUgVgWg3ne)XgBT%ZYgZgf)g)0gCT'Z1g2gh)i)`gDT(Z{g|gEjFjGjj)k)l)vm)Z3g4g5gm)n)6gwm*Z7g8g4no)9gET+Z!g#g5np)FT,Z}g~gah-Z.Z/Zq):Zr)s)]c^c1d:b;Z=ZKet)u)v)LeFo;b~fGT`A{A|A,G-GHT}A~AaB.G/G:GITbBcBdB;Gw)x)y)z)8kA)B)C)D)slJT_c[ KTE)jfF)?Z`ceMG)kfH)@Z{cfMI)LTMTNTOTJ)K)L)M)PTN)O)P)QTRTQ)R)STTT9kS)T)UTVTU)[ZV)WTW)]ZX)Y)^ZlfmfMeZ)0)gMNe1)XTeBhMiM2)3)4)5)|c}c2d3d6)7)=G?GYTZT0T1T~c8)jMkMlM2T3T4T9)adbd5T6T7T8T!)#)cddd$)%)@G[GfBgB]G^G9T!Tedfd')()#T$TmMnM%T'T))*)OePeQe+),)-)oMpMqMrMsMtM.)/):)Ob;)uMvMwM=)Pb?)xMyMzM@)AMQb[)BMCM])=bRe2i_Z?b`Z{Z@b|Z}Z^)_)`)6n7n(T)T*T+T_G`G3i4i8n9n,T-T{G|G}G~G5i6i~Z{)|)a0b0})~)c07i8ia*b*!ktlhhd0.Tc*/T:T;T=Td*?T@T[T]Te*^T_T`T9i!i#i{Tf*|Tg*}T~TaUh*bUi*cUdUeUj*fUk*gUhUiUl*jUm*kUlUmUn*nUo*oUpUqUp*rUq*sUtU$i%i'i(i)i*ie0uUr*f0vUs*+i,it*u*v*w*g0h0x*y*#k$kz*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*wUV*W*xUX*Y*%k'kZ*0*1*2*3*4*5*6*i0j0k0l07*8*9*!*(k)kSe#*DM$**k%*+k'*(*4d5d6d7dm0n0gdnfyj] # $ )***,k+*,*-k-*.*.k/*yU:*/k=f;*zU=*:k!n#nAUBUCUDUaHbH-i.i$n%nEUFUcHdHeHfH/i:i'n(nGUHUIUJUgHhHiHjH;i=i?*@*[*]*^*_*?i@io0p0`*q0r0s0{*t0[i]iu0|*}*v0~*a+^i_i( KUhd?fidjdkdldmdndb+c+;kLUd+=ke+?kf+@kg+h+MUi+j+ehphqhEMw0FMx0hBiB[k]k^k_kk+l+m+n+o+p+q+r+GMHMIMJMNUOUPUQU`k{ks+t+u+v+KMLMRUSUMMNM|k}kw+x+y+z+OMPMQMRMTUUUSMTM~kalA+B+C+D+UMVMWMXMYMZM0M1M`i{i)n*nVUWUE+F+kHlH|i}i+n,nXUYUxmZUmHnHbl0UG+1U~iH+2Uaj3U4U5Ubj6U7U8UI+9Ucl!UjBcjdjy0J+K+ejfjz0A0L+M+N+O+#U$UgjhjB0C0P+Q+%U'U(U)UijjjD0E0R+S+*U+Udlel,U-UT+U+.U/UflglF0G0V+W+:U;Ukjlj=U?UH0I0X+Y+@U[UmjnjJ0K0Z+0+]U^UojpjL0M01+2+_U`U3+4+qjrjN0O0{U|U5+6+sjtj7+8+hlil}U~U9+!+P0Q0aV#+$+R0ujS0T0%+'+U0V0(+)+*+++,+-+W0X0.+/+Y0Z0:+;+=+?+00102M3M2030@+[+4M5M]+^+@f[f-n.nbVcVymzmAmBmdVeV]f^ffVCm/n:ngVhVDmiVEmFmjVkV_+`+4050lVmVnVoV60708090pVqV{+|+!0#0rVsV}+Te~+RbSbod8d9dtVa,jluVb,kl$0%0'0pd[b(0)0]b*0+0c,d,llmlUee,Vef,WeXeg,h,YeZei,j,0e1ek,l,vVwVxVyVzVAV6M7MBVCVDVEV!d#d8M9M!M#M$M%M'M(MFVGVHVIV$d%d)M*M+M,M-M.M/M:M;M=M% M ofvjm,n,,0_f?M@MTbUb[M]MVbWbpffr-0.0gro,p,q,r,dqeqhrirjrkrfqgqlrmrnrornls,kBlB/0:0JVKVLVMVNVOVt,'dN (dPVQV2eu,v,)d^M;0RVSVTV`fhqw,

110 return a if a is not None else self.name 2yd-ezdP TjfbqfAdBJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJCl_M$35V`M%36V{M'37V(3TlUlrhihHf)3*drf*3+dmo+3,3-3.3/3:3;3=3?3@3[3]3|M^3Bd_3}MfG`3~MgGnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo{3aNhG|3bNiG}3~3igTJa4shcNb4c4d4e4Xbf4g4h4i4j4UJVJ8V) WJ9V!Vk4l4m4XJn4GmGAHA*lo4e f g h i j k .e#Vgbsfp4q4Ujr4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z40414243444dN54$V64748494th%V'V(V)VBl!4#4$4%4YJZJ0J1JuceN'4uh*VC fNvcAggNvhl D +VKx,V(4Vj)4-V*4.V+4,4/V-4.4/4hNiN:4;4=4jN?4@4[4kNlN]4mN^4nNoN_4pN`4{4qNrN|4}4~4sNtNa5uNvNb5c5d5wNe5f5g5xNh5yNi5j5zNANk5l5BNCNm5n5DNENo5FNGNHNp5INJNq5KNLNr5MNs5NNt5ONu5v5w5Wjx5y5z5A5PNQN:VB5RN;VSNC5TN=V2J?V@V[V]V^VD5_VE5F5UN`VG5{V|VH5}VI5J5K5HmIm#l+lDlxgVl,lJmXjL5M5YjN5~VaWwcxcO5bWcWyczcP5dWeWAcBcQ5fWgW/e:eR5S5VNhWjgkgT5U5WNiW$g%g3JV5jWkWW5X5lWmWLxY5nWoWZ505pWqWKm15WlrWCcDcLm25EcXlsWFc3545YltWGcHcMm55ZluW;e=e6575XNvWlgmg8595YNwWngog!5#5ZNxWpgqg$5%50NyW'g(gAjBj'5(5)51NzWrgsg*5+52NAWtgug,5-53NBWvgwg.5/54NCW)g*gDWEWFW:5GW;5=5hbibYb* HWIWIc?5@5[5Jc;n+ If5NIAJAKAjGkG6NLAMANAlGmGnG7NOAPAQAoG]5^5_5`5Zj{5|5}5~5ol8NjbQ 9Na6Cdb6JWkb4Jc6Ddd6KWlb5Je6!N#N$N%Nf6g6h6i6'Nj6k6l6(N)Nm6n6*N+N0jo6p6,N-Nq6LWr6.Ns6MWt6u6NWEdFdKcv6w66JLcx6/NRA7J8Jy6z6A6B6mbnbZb0bC6D6pGqG:N;N=N?NobE69J!J#J@N[N]NF6pbqb^N_N`N{NG6H6rbsbI6J6rGsGSATAtGuG|N}NtbubK6L6~NaO$J%JbOcOM6N6McNcOcO6P6Q6'J(J)J*J+J,JR6S6T6W U6-J.J/JV6X W6:J;J=JX6?JY Y6@J[JZ6, PcwhOW- PWQW. RWSW061626NmOmdOeOfO0lxlvGxhyhPmQm1l2lwGxGyGzGzhAhTW3646UWVW5666WWBhCh76861jplfhXWgO96hOiOjOkO!6lOmOnOoO#6pOqOrODhEhFhsO$6tO%6uOvOwO'6xO(6yOzOAO)6BO*6CODOEO+6FO,6GOHOIO-6JO.6KOLOMO/6NO:6OOPOGhHhIhJhKhLhYWQO;6ZWRO=6MhNh?6@6[6]60W1W^6_62j3j`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7SOr7s7TOt7u74j5jv7w7x7y7z7A7B7C72W3W4W5WD7E7F7G76j7jQcH7]JI78jJ79jK7L71b2b3b4b6W7WvbGdwjR H I M7N7!jO7P7#jQ7R7$jS7UOT7%jtfU7VOV7'jRmSm3l4lWOXOAGBGOhPhTmUmYOZOCGDGEGFGygzgVmWm0O1O2O3OGGHGylzlQhRhW7X7Y7Z70717ShTh8W9W27!W#W$W37%WUhVh'W4757(W6777WhXhO 4OwbufxbybzbAbBbCb8797(j5O!7)j#7*j$7+j%7'76O(7)7chlhmh^J)W_J*WUAVA,j-j.j/j*7+7,7-7.7/7:7;7`J{J|J}J7O8O9O!O:j;j=7?7@7[7~JaK#O$ObKcK=j?j]7^7_7`7dKeKfKgK%O'OhKiK@j[j{7|7}7~7jKkKlKmKnKoKpKqKYhZhXmYm(O)Oa8b8IGJG0h1hZm0m5l*O+O,OKGAl]j-Oc8.O2hd8/O3h:O;O=O4h?O@O[Oe8]O^j^OWA5h6h+Wf8g87h8h,W-Wh8i8j8k8_O`O9h!h.W/Wl8m8{O|O}O~O#h$h:W;Wn8o8aPbP_j`jcPdPp8q8ePfP{j|j=W?Wr8s8gPhP%h'hiPjP@W[Wt8u8kPlP(h)h]W^Wv8w8mPnP*h+h_W`Wx8y8oPpPz8A8,h-h{W|WqPrPB8C8.h/hD8E8}j~jsPtPF8G8}W~WuPH8I8aX:hbXcXJ8K8dXeXL8M8N8O8P8Q8fXgXR8S8hXiXT8U8V8W8jXkXrKsKlXmXX8Y8tKuKZ808vfwf1m2mvP6l7lwPxPyPzPAPxfyf8lBP3m4mCPDPEPFPGPHPIPJP1828nXoXKPLPMPNPpXqXrXsXOPPP3848tXuXQPRP58Rc68Z 0 Db5b6bSP78akTP88bkvXwXxXEb/ yXzX: AXBX98!8ckdkSc#8Tc$8UcVc%8'8WcXc(8)8YcZc*8+8UPVPWPXPYPZPvKwK0P1P2P3P7b8bxKyKzKAKBKCKDKEK4P5P6P7P9b!bFKGKHKIKJKKKLKMKNKOKJ m Hd;h,8-8CXzfPKQK1 2 RKSK3 4 Id%oDXEX'o.8/8:8;8zoAo(o)o*o+oBoCo,o-o.o/oek=8XAYAFXGX8P9P!P#P$P%P?8#bn $b'P(P0c@8[8%bTKHX)P*P+PAfDo]8bh^8_eJf`e; fk1c#f{eUKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K$l,P_8IX-P`8JX.P{8KX|8~lam=hjh{f}8Bf$f~8Cf8pa9b9c9d9e9f9g9h9i9j9k9l9/Pm9|en9:PLGo9;PMG9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pp9=PNGq9?POGr9s9Bg$Kt9?h@Pu9v9w9x9Jdy9z9A9B9C9%K'KLX'b(KMXNXD9E9F9)KG9tn5A6A7mH9o p q r s t u KfOX2c%fI9J9gkK9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9[P;9PX=9?9@9[9@hQXRXSXTX9l]9^9_9`9*K+K,K-K-d]P{9[hUXS ^P.d.g_P]hE T VXMxWX|9hk}9XX~9YXa!b!ZXc!d!e!`P{Pf!g!h!|Pi!j!k!}P~Pl!aQm!bQcQn!dQo!p!eQfQq!r!s!gQhQt!iQjQu!v!w!kQx!y!z!lQA!mQB!C!nQoQD!E!pQqQF!G!rQsQH!tQuQvQI!wQxQJ!yQzQK!AQL!BQM!CQN!O!P!ikQ!R!S!T!DQEQ0XU!FQ1XGQV!HQ2X.K3X4X5X6X7XW!8XX!Y!IQ9XZ!!X#X0!$X1!2!3!unvn5m8m%l+gbm9mwnjk4!5!kk6!%X'X/d:d7!(X)X;d=d8!*X+X?d@d9!,X-XLfMf!!#!JQ.XCgDg$!%!KQ/X:g;g/K'!:X;X(!)!=X?XNx*!@X[X+!,!]X^X-!.!cm_X[d]dxn/!dm`X^d_d:!;!em{X`d{d=!?!fm|XNfOf@![!LQ}XEgFg]!^!MQ~XGgHg_!`!NQaYIgJg{!|!OQbY=g?gCjDj}!~!a#PQcYKgLgb#c#QQdYMgNgd#e#RQeYOgPgf#g#SQfY@g[ggYhYiYh#jYi#j#3c4cKd(bkYlY|dk#l#m#}dEo)b|fTQ7A8A9APGQGUQ!A#A$ARGSGTGVQ%A'A(AUGn#o#p#q#lkr#s#t#u#qlWQ5c= XQv#}ew#mY6c:Kx#~ey#nY7c;Kz#YQZQ0Q1QA#B#C#D#2QE#F#G#3Q4QH#I#5Q6QmkJ#K#7Q8QL#oYM#9QN#pYO#P#qYafbf~dQ#R#=KaeS#!Q)A?K@KT#U#V#W#8c9cLdMdX#Y#VGWG#Q$Q%Q'Q!cZ#[K]K^K(Q)Q*Q0##c$c+Q,Q-Q.Q1#2#%c'c3#4#XGYG*A+AZG0G/Q:Q(c)c5#6#;Q=Q_K`K?Q@Q7#8#becede9#!###{K|K}K~KaLbL$#%#'#Fb(#cLdLeL)#Gb*#fLgLhL+#iLHb,#jLkL-#*bee^hrY+bsYtY,buYvY.#/#:#ynzn[Q]Q^Q_QElFl_h`hAnBn`Q{Q1G2G3G4G{h|hwY;#=#xYyY?#@#zY}h~h[#]#nkrlghAY|Q^#}Q~QaRbR_#cRdReRfR`#gRhRiRaibicijR{#kR|#lRmRnR}#oR~#pRqRrRa$sRb$tRuRvRc$wRd$xRyRzRe$ARf$BRCRDRg$ERh$FRGRdieifigihiiiBYHRi$CYIRj$jikik$l$m$n$DYEYo$p$okpkq$r$s$t$u$v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$JRM$N$KRO$P$qkrkQ$R$S$T$U$V$W$X$FYGYHYIYY$Z$0$1$sktkfe2$lL3$uk4$vk5$6$NdOdPdQdJYKY*ccfxj? 6 7 8 7$8$wk9$!$xk#$$$yk%$LR'$zk'f($MR)$AkCnDngmhmNROR5G6GlimiEnFnPRQR7G8GGlHlnioiGnHnRRSRTRUR9G!GIlJlpiqi*$+$,$-$.$/$risiLYMY:$NYOYPY;$QYtiuiRY=$?$SY@$[$viwi' VR+c(f,c-c.c/c:c;c]$^$BkWR_$Ck`$Dk{$Ek|$}$XR~$a%dhnhohmLTYnLUY,A-AFkGkHkIkb%c%d%e%f%g%h%i%oLpLqLrLYRZR0R1RJkKkj%k%l%m%sLtL2R3RuLvLLkMkn%o%p%q%wLxLyLzL4R5RALBLNkOkr%s%t%u%CLDLELFLGLHLILJLxiyiInJnimjmv%w%#G$Gzi,gKnLn6R7Rkm8R%G'GPk9Rx%!RAiy%#RBi$R%R'RCi(R)R*Rz%+RQk,R.ADiEiVYA%B%FiGiWYXYC%D%E%F%-R.RHiIiYYZYG%H%/R:R;R=RJiKi0Y1YI%J%?R@RRkSk[R]RK%L%^R_RTkUk2Y3YM%N%`R{RLiMi|R}R4Y5YO%P%~RaSNiOi6Y7YQ%R%bScSPiQi8Y9YS%T%dSeSU%V%RiSi!Y#YfSgSW%X%TiUiY%Z%VkWkhSiS0%1%$Y%YjS2%3%'YVi(Y)Y4%5%*Y+Y6%7%8%9%!%#%,Y-Y$%%%.Y/Y'%(%)%*%:Y;YKLLL=Y?Y+%,%MLNL-%.%)f*fMnNnkSlmlSmSnSoSpSqS+f,frSsSOnPntSuSvSmmwSxSnmyS/%:%@Y[YzSASBSCS]Y^Y_Y`YDSES;%=%{Y|YFSGS?%ge@%IbJb=cRdSdHS[%XkIS]%Yk}Y~YaZ?c-bbZcZ.bdZeZ^%_%Zk0khe`%ie{%jeke|%}%leme~%a'neoeb'c'JSKSLSMSNSOSOLPLPSQSRSSSTdUdQLRLSLTLULVLWLXLTSUSVSWSVdWdYLZL0L1L2L3L4L5L6L7L9 K dfWid'e'fZ-f8L9LKbLb!L#LMbNbefMqgZhZNqf'g'h'i'.p/pOqPqQqRq:p;pSqTqUqVq1kj'/A:AiZjZXSYSZS0S1S2Sk'XdL Yd3S4Spel'm'Zd$LkZ5S6S7S.f=pn'ffUfgf@ 2k@c/fhf%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L'l8So'lZ9Sp'mZ!Sq'nZr'ompmXikh}fs'Ef:ft'Ff@pu'v'w'x'y'z'A'B'C'D'E'F'#SG'ifH'$S(GI'%S)G[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqJ''S*GK'(S+GL'M'Qg_LN'Yi)SO'P'Q'R'0dS'T'U'V'W'`L{LoZ/b|LpZqZX'Y'Z'(lQnRn^A_A?m0'v w x y z A B VfrZ[c;f1'2'3k3'4'5'6'7'8'9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'^'_'`'{'|'}'~'a(b(c(d(e(f(*Sg(sZh(i(j(k(ZitZuZvZwZ!ll(m(n(o(}L~LaMbMqe+Sp(0ixZU ,Sre/g-S1iF V yZOxzZq(4kr(AZs(BZt(u(CZv(w(x(.S/Sy(z(A(:SB(C(D(;S=SE(?SF(@S[SG(]SH(I(^S_SJ(K(L(`S{SM(|S}SN(O(P(~SQ(R(S(aTT(bTU(V(cTdTW(X(eTfTY(Z(gThT0(iTjTkT1(lTmT2(nToT3(pT4(qT5(rT6(7(8(5k9(!(#($(sTtTDZ%(uTEZvT'(wTFZcMGZHZIZJZKZ((LZ)(*(xTMZ+(NZOZ,(PZ-(Sn.(TnUn6m@m)l-gqm[mVn6k/(:(7k;(seQZRZteue=(veSZTZwexe?(yeUZVZzeAe@(WfWZXZXfYfWn[(yTYZRgSgTgXn](]gzTZZ^g_gdM^(0Z1Z_(`(2Z3ZPx{(4Z5Z|(}(6Z7ZYn~(Berm8ZCeDeZna)Eesm9ZFeGe0nb)Hetm!ZIeJe1nc)Zfum#Z0f1f2nd)AT$ZUgVgWg3ne)XgBT%ZYgZgf)g)0gCT'Z1g2gh)i)`gDT(Z{g|gEjFjGjj)k)l)vm)Z3g4g5gm)n)6gwm*Z7g8g4no)9gET+Z!g#g5np)FT,Z}g~gah-Z.Z/Zq):Zr)s)]c^c1d:b;Z=ZKet)u)v)LeFo;b~fGT`A{A|A,G-GHT}A~AaB.G/G:GITbBcBdB;Gw)x)y)z)8kA)B)C)D)slJT_c[ KTE)jfF)?Z`ceMG)kfH)@Z{cfMI)LTMTNTOTJ)K)L)M)PTN)O)P)QTRTQ)R)STTT9kS)T)UTVTU)[ZV)WTW)]ZX)Y)^ZlfmfMeZ)0)gMNe1)XTeBhMiM2)3)4)5)|c}c2d3d6)7)=G?GYTZT0T1T~c8)jMkMlM2T3T4T9)adbd5T6T7T8T!)#)cddd$)%)@G[GfBgB]G^G9T!Tedfd')()#T$TmMnM%T'T))*)OePeQe+),)-)oMpMqMrMsMtM.)/):)Ob;)uMvMwM=)Pb?)xMyMzM@)AMQb[)BMCM])=bRe2i_Z?b`Z{Z@b|Z}Z^)_)`)6n7n(T)T*T+T_G`G3i4i8n9n,T-T{G|G}G~G5i6i~Z{)|)a0b0})~)c07i8ia*b*!ktlhhd0.Tc*/T:T;T=Td*?T@T[T]Te*^T_T`T9i!i#i{Tf*|Tg*}T~TaUh*bUi*cUdUeUj*fUk*gUhUiUl*jUm*kUlUmUn*nUo*oUpUqUp*rUq*sUtU$i%i'i(i)i*ie0uUr*f0vUs*+i,it*u*v*w*g0h0x*y*#k$kz*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*wUV*W*xUX*Y*%k'kZ*0*1*2*3*4*5*6*i0j0k0l07*8*9*!*(k)kSe#*DM$**k%*+k'*(*4d5d6d7dm0n0gdnfyj] # $ )***,k+*,*-k-*.*.k/*yU:*/k=f;*zU=*:k!n#nAUBUCUDUaHbH-i.i$n%nEUFUcHdHeHfH/i:i'n(nGUHUIUJUgHhHiHjH;i=i?*@*[*]*^*_*?i@io0p0`*q0r0s0{*t0[i]iu0|*}*v0~*a+^i_i( KUhd?fidjdkdldmdndb+c+;kLUd+=ke+?kf+@kg+h+MUi+j+ehphqhEMw0FMx0hBiB[k]k^k_kk+l+m+n+o+p+q+r+GMHMIMJMNUOUPUQU`k{ks+t+u+v+KMLMRUSUMMNM|k}kw+x+y+z+OMPMQMRMTUUUSMTM~kalA+B+C+D+UMVMWMXMYMZM0M1M`i{i)n*nVUWUE+F+kHlH|i}i+n,nXUYUxmZUmHnHbl0UG+1U~iH+2Uaj3U4U5Ubj6U7U8UI+9Ucl!UjBcjdjy0J+K+ejfjz0A0L+M+N+O+#U$UgjhjB0C0P+Q+%U'U(U)UijjjD0E0R+S+*U+Udlel,U-UT+U+.U/UflglF0G0V+W+:U;Ukjlj=U?UH0I0X+Y+@U[UmjnjJ0K0Z+0+]U^UojpjL0M01+2+_U`U3+4+qjrjN0O0{U|U5+6+sjtj7+8+hlil}U~U9+!+P0Q0aV#+$+R0ujS0T0%+'+U0V0(+)+*+++,+-+W0X0.+/+Y0Z0:+;+=+?+00102M3M2030@+[+4M5M]+^+@f[f-n.nbVcVymzmAmBmdVeV]f^ffVCm/n:ngVhVDmiVEmFmjVkV_+`+4050lVmVnVoV60708090pVqV{+|+!0#0rVsV}+Te~+RbSbod8d9dtVa,jluVb,kl$0%0'0pd[b(0)0]b*0+0c,d,llmlUee,Vef,WeXeg,h,YeZei,j,0e1ek,l,vVwVxVyVzVAV6M7MBVCVDVEV!d#d8M9M!M#M$M%M'M(MFVGVHVIV$d%d)M*M+M,M-M.M/M:M;M=M% M ofvjm,n,,0_f?M@MTbUb[M]MVbWbpffr-0.0gro,p,q,r,dqeqhrirjrkrfqgqlrmrnrornls,kBlB/0:0JVKVLVMVNVOVt,'dN (dPVQV2eu,v,)d^M;0RVSVTV`fhqw,

111 

112 @property 1abcd

113 def validation_alias(self) -> str | None: 1abcd

114 va = self.field_info.validation_alias 2yd-ezdP TjBJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJCl_M$35V`M%36V{M'37V(3TlUlrhih)3*3mo+3,3-3.3/3:3;3=3?3@3[3]3|M^3Bd_3}MfG`3~MgGnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo{3aNhG|3bNiG}3~3TJa4shcNb4c4d4e4Xbf4g4h4i4j4UJVJ8V) WJ9V!Vk4l4m4XJn4GmGAHA*l7fo4e f g h i j k .e#Vgbsfp4q4Ujr4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z40414243444dN54$V64748494th%V'V(V)VBl8f!4#4$4%4YJZJ0J1JuceN'4uh*VC fNvcAggNvhl D +VKx,V(4Vj)4-V*4.V+4,4/V-4.4/4hNiN:4;4=4jN?4@4[4kNlN]4mN^4nNoN_4pN`4{4qNrN|4}4~4sNtNa5uNvNb5c5d5wNe5f5g5xNh5yNi5j5zNANk5l5BNCNm5n5DNENo5FNGNHNp5INJNq5KNLNr5MNs5NNt5ONu5v5w5Wjx5y5z5A5PNQN:VB5RN;VSNC5TN=V2J?V@V[V]V^VD5_VE5F5UN`VG5{V|VH5}VI5J5K5HmIm#lG +lDlxgVl,lJmXjL5r?ulM5Yj,d=0pn?0s?@0qnD,E,t?F,G,u?H,I,J,N5~VaWwcxcK,v?L,M,N,O,w?P,Q,x?R,S,T,O5bWcWyczcU,y?V,W,X,Y,Z,0,1,z?2,A?3,4,P5dWeWAcBc5,B?6,7,8,C?9,!,D?#,$,%,Q5fWgW/e:e',E?(,),[0*,]0+,F?G?^0,,H?I?_0-,`0.,R5S5VNhWjgkg{0/,J?K?|0:,}0;,~0=,L?M?a1?,N?O?b1@,c1[,T5U5WNiW$g%gd1],P?Q?e1^,3JV5_,`,{,|,UVR?},~,VVS?a-b-c-d-jWkW^ _ e-f-WVT?g-h-W5X5i-j-k-l-U?V?m-n-W?X?o-p-q-r-lWmW` { s-t-Y?Z?u-v-LxY5w-x-y-z-mB0?A-B-nB1?C-D-E-F-nWoW| } G-H-oB2?I-J-Z505K-L-M-N-3?4?O-P-5?6?Q-R-S-T-pWqWqdrdU-V-7?8?W-X-f1Y-g1Z-9?!?-l0-#?$?.l1-/l2-Km15WlrWCcDch13-%?'?:l4-i15-;l6-(?)?=l7-*?+?j18-?l9-Lm25EcXlsWFck1!-,?-?@l#-l1$-m1%-.?/?[l'-rn:?n1(-]l)-3545YltWGcHco1*-sn;?^l+-p1,-_l--=???`l.-@?[?{l/-|l:-Mm55ZluW;e=eq1;-]?^?}l=-r1?-s1@-_?`?t1[-{?|?u1]-v1^-6575XNvWlgmgw1_-}?~?x1`-y1{-z1|-a@b@A1}-c@d@B1~-C1a.8595YNwWngogD1b.e@[email protected]@[email protected]@[email protected].!5#5ZNxWpgqgK1i.k@[email protected]@[email protected]@[email protected].$5%50NyW'g(gR1p.q@[email protected]@t@'[email protected]@[email protected]@[email protected].(5)51NzWrgsgY1w.z@[email protected]@[email protected]@[email protected].*5+52NAWtgug51D.F@[email protected]@[email protected]@K@!1I.#1J.,5-53NBWvgwg$1K.L@M@%1L.'1M.(1N.N@O@)1O.P@Q@*1P.+1Q..5/54NCW)g*g,1R.R@[email protected]:5GW;5=5HWIW?5@5[5;n+ ?e5NIAJAKAjGkG@e6NLAMANAlGmG[enG7NOAPAQAoG]5^5_5`5Zj{5|5}5~58NjbQ 9Na6Cdb6JWkb4Jc6Ddd6KWlb5Je6!N#N$N%Nf6g6h6i6'Nj6k6l6(N)Nm6n6*N+N0jo6p6,N-Nq6LWr6.Ns6MWt6u6NWEdFdKcv6w66JLcx6/NRA7J8Jy6z6A6B6mbnbZb0bC6D6pGqG:N;N=N?NobE69J!J#J@N[N]NF6pbqb^N_N`N{NG6H6rbsbI6J6rGsGSATAtGuG|N}NtbubK6L6~NaO$J%JbOcOM6N6McNcOcO6P6Q6'J(J)J*J+J,JR6S6T6W U6-J.J/JV6X W6:J;J=JX6?JY Y6@J[JZ6, PcwhOW- PWQW. RWSW061626NmOmdOeOfO0lxlvGxhyhPmQm1l2lwGxGyGzGzhAhTW3646UWVW5666WWBhCh76861jfhXWgO96hOiOjOkO!6lOmOnOoO#6pOqOrODhEhFhsO$6tO%6uOvOwO'6xO(6yOzOAO)6BO*6CODOEO+6FO,6GOHOIO-6JO.6KOLOMO/6NO:6OOPOGhHhIhJhKhLhYWQO;6ZWRO=6MhNh?6@6[6]60W1W^6_62j3j`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7SOr7s7TOt7u74j5jv7w7x7y7z7A7B7C72W3W4W5WD7E7F7G76j7jQcH7]JI78jJ79jK7L71b2b3b4b6W7WvbR H I M7N7!jO7P7#jQ7R7$jS7UOT7%jtfU7VOV7'jRmSm3l4lWOXOAGBGOhPhTmUmYOZOCGDGEGFGygzgVmWm0O1O2O3OGGHGylzlQhRhW7X7Y7Z70717ShTh8W9W27!W#W$W37%WUhVh'W4757(W6777WhXhO 4OwbufxbybzbAbBbCb8797(j5O!7)j#7*j$7+j%7'76O(7)7chlhmh^J)W_J*WUAVA,j-j.j/j*7+7,7-7.7/7:7;7`J{J|J}J7O8O9O!O:j;j=7?7@7[7~JaK#O$ObKcK=j?j]7^7_7`7dKeKfKgK%O'OhKiK@j[j{7|7}7~7jKkKlKmKnKoKpKqKYhZhXmYm(O)Oa8b8IGJG0h1hZm0m5l*O+O,OKGAl]j-Oc8.O2hd8/O3h:O;O=O4h?O@O[Oe8]O^j^OWA5h6h+Wf8g87h8h,W-Wh8i8j8k8_O`O9h!h.W/Wl8m8{O|O}O~O#h$h:W;Wn8o8aPbP_j`jcPdPp8q8ePfP{j|j=W?Wr8s8gPhP%h'hiPjP@W[Wt8u8kPlP(h)h]W^Wv8w8mPnP*h+h_W`Wx8y8oPpPHjIjT@[email protected]@[email protected]/1X.Y.Z.0.z8A8,h-h{W|WqPrPB8C8.h/hD8E8}j~jsPtPF8G8}W~WuPH8I8aX:hsdtdbXcXJ8K8dXeXL8M8N8O8~ abP8Q8fXgXR8S8hXiXudvdT8U8V8W8bbcbjXkXrKsKlXmXX8Y8dbebtKuKZ808vfwf1m2mvP6l7lwPxPyPzPAPxfyf8lBP3m4mCPDPEPFPGPHPIPJP9f!f1828nXoXKPLPMPNPpXqXwdxdrXsXOPPP3848tXuXQPRP58Rc68Z 0 Db5b6bSP78akTP88bkvXwXxXEb/ yXzX: AXBX98!8ckdkSc#8Tc$8UcVc%8'8WcXc(8)8YcZc*8+8UPVPWPXPYPZP]e^evKwK0P1P2P3P7b8bxKyKzKAKBKCKDKEK4P5P6P7P9b!bFKGKHKIKJKKKLKMKNKOKJ m ;h,8-8CXzfPKQK1 2 RKSK3 4 %oDXEX'o.8/8:8;8zoAo(o)o*o+oBoCo,o-o.o/oek=8XAYAFXGX8P9P!P#P$P%P?8#bn $b'P(P0c@8[8%bTKHX)P*P+PAfDo]8bh^8_eJf`e; fkUKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K$l,P_8IX-P`8JX.P{8KX|8~lam=hjh}8~88pa9b9c9d9e9f9g9h9i9j9k9l9/Pm9|en9:PLGo9;PMG9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pp9=PNGq9?POGr9s9$Kt9?h@Pu9v9w9x9Jdy9z9A9B9C9%K'KLX'b(KMXNXD9E9F9)KG9tn5A6A7magH9o p q r s t u KfOX2c%fI9J9gkK9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9[P;9PX=9?9@9[9@hQXRXSXTX9lbg]9^9_9`9*K+K,K-K-d]P{9[hUXS ^P.d.g_P]hE T VXMxWX|9hk}9XX~9YXa!b!ZXc!d!e!`P{Pf!g!h!|Pi!j!k!}P~Pl!aQm!bQcQn!dQo!p!eQfQq!r!s!gQhQt!iQjQu!v!w!kQx!y!z!lQA!mQB!C!nQoQD!E!pQqQF!G!rQsQH!tQuQvQI!wQxQJ!yQzQK!AQL!BQM!CQN!O!P!ikQ!R!S!T!DQEQ0XU!FQ1XGQV!HQ2X.K3X4X5X6X7XW!8XX!Y!IQ9XZ!!X#X0!$X1!2!3!unvn5m5 8m%l+gbm9mwnjk4!X@vl5!kkDf:1Y@;[email protected]@5.6.7.6!%X'X/d:d8.1@9.!.#.$.2@%.'.3@(.).*.7!(X)X;d=d+.4@,.-.../.:.;.=.5@?.6@@.[.8!*X+X?d@d].7@^._.`.8@{.|.9@}.~.a/9!,X-XLfMfb/!@c/d/?1e/@1f/#@$@[1g/%@'@]1h/^1i/!!#!JQ.XCgDg_1j/(@)@`1k/{1l/|1m/*@+@}1n/,@-@~1o/a2p/$!%!KQ/X:g;gb2q/.@/@c2r//K'!s/t/u/v/XV:@w/x/YV;@y/z/A/B/:X;X^b_bC/D/ZV=@E/F/(!)!G/H/I/J/?@@@K/L/[@]@M/N/O/P/=X?X`b{bQ/R/^@_@S/T/Nx*!U/V/W/X/pB`@Y/Z/qB{@0/1/2/3/@X[X|b}b4/5/rB|@6/7/+!,!8/9/!/#/}@~@$/%/a[b['/(/)/*/]X^X3e4e+/,/c[d[-/./d2//e2:/e[f[!m;/g[h[#m=/$m?/-!.!cm_X[d]d%m@/i[j['m[/f2]/g2^/k[l[(m_/m[n[h2`/)m{/xn/!dm`X^d_di2|/o[p[*m}/j2~/+ma:q[r[,mb:s[t[k2c:-md::!;!em{X`d{dl2e:u[v[.mf:m2g:n2h:w[x[/mi:y[z[:mj:;mk:=!?!fm|XNfOfo2l:A[B[=mm:p2n:q2o:C[D[r2p:E[F[s2q:t2r:@![!LQ}XEgFgu2s:G[H[v2t:w2u:x2v:I[J[y2w:K[L[z2x:A2y:]!^!MQ~XGgHgB2z:M[N[C2A:D2B:E2C:O[P[F2D:Q[R[G2E:H2F:_!`!NQaYIgJgI2G:S[T[J2H:K2I:L2J:U[V[M2K:W[X[N2L:O2M:{!|!OQbY=g?gP2N:Y[Z[Q2O:CjDj0[1[}!2[R2P:S2Q:3[4[T2R:5[6[U2S:V2T:~!a#PQcYKgLgW2U:7[8[X2V:Y2W:Z2X:9[![02Y:#[$[12Z:220:b#c#QQdYMgNg321:%['[422:523:624:([)[725:*[+[826:927:d#e#RQeYOgPg!28:,[-[#29:$2!:%2#:.[/['2$::[;[(2%:)2':f#g#SQfY@g[g*2(:=[?[+2):gYhYiYh#jYi#j#kYlYk#l#m#Eo)bPfTQ7A8A9APGQGQfUQ!A#A$ARGSGRfTGVQ%A'A(AUGn#o#p#q#lkr#s#t#u#WQ5c= XQv#}ew#mY6c:Kx#~ey#nY7c;Kz#YQZQ0Q1QA#B#C#D#2QE#F#G#3Q4QH#I#5Q6QmkJ#K#7Q8QL#oYM#9QN#pYO#P#qYafbf~dQ#R#=KaeS#!Q)A?K@KT#U#V#W#8c9cLdMdX#Y#VGWG#Q$Q%Q'Q!cZ#[K]K^K(Q)Q*Q0##c$c+Q,Q-Q.Q1#2#%c'c3#4#XGYG*A+AZG0G/Q:Q(c)c5#6#;Q=Q_K`K?Q@Q7#8#becede9#!###{K|K}K~KaLbL$#%#'#Fb(#cLdLeL)#Gb*#fLgLhL+#iLHb,#jLkL-#*bee^hrY+bsYtY,buYvY.#/#:#ynzn[Q]Q^Q_QElFl_h`hAnBn`Q{Q1G2G3G4G{h|hwY;#=#xYyY?#@#zY}h~h[#]#nkghAY|Q^#}Q~QaRbR_#cRdReRfR`#gRhRiRaibicijR{#kR|#lRmRnR}#oR~#pRqRrRa$sRb$tRuRvRc$wRd$xRyRzRe$ARf$BRCRDRg$ERh$FRGRdieifigihiiiBYHRi$CYIRj$jikik$l$m$n$DYEYo$p$okpkq$r$s$t$u$v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$JRM$N$KRO$P$qkrkQ$R$S$T$U$V$W$X$FYGYHYIYY$Z$0$1$sktkfe2$lL3$uk4$vk5$6$NdOdPdQdJYKY*c? 6 7 8 7$8$wk9$!$xk#$$$yk%$LR'$zk'f($MR)$AkCnDngmhmNROR5G6GlimiEnFnPRQR7G8GGlHlnioiGnHnRRSRTRUR9G!GIlJlpiqi*$+$,$-$.$/$risiLYMY:$NYOYPY;$QYtiuiRY=$?$SY@$[$viwi' VR+c(f,c-c.c/c:c;c]$^$BkWR_$Ck`$Dk{$Ek|$}$XR~$a%dhnhohmLTYnLUY,A-AFkGkHkIkb%c%d%e%f%g%h%i%oLpLqLrLYRZR0R1RJkKkj%k%l%m%sLtL2R3RuLvLLkMkn%o%p%q%wLxLyLzL4R5RALBLNkOkr%s%t%u%CLDLELFLGLHLILJLxiyiInJnimjmv%w%#G$Gzi,gKnLn6R7Rkm8R%G'GPk9Rx%!RAiy%#RBi$R%R'RCi(R)R*Rz%+RQk,R.ADiEiVYA%B%FiGiWYXYC%D%E%F%-R.RHiIiYYZYG%H%/R:R;R=RJiKi0Y1YI%J%?R@RRkSk[R]RK%L%^R_RTkUk2Y3YM%N%`R{RLiMi|R}R4Y5YO%P%~RaSNiOi6Y7YQ%R%bScSPiQi8Y9YS%T%dSeSLjMj@[[[*:+:,:-:NjOj][^[,2-2.:/:::;:U%V%RiSi!Y#YfSgSW%X%TiUiY%Z%VkWkhSiS0%1%$Y%YjS2%3%'YVi5e6e(Y)Y4%5%*Y+Y6%7%8%9%~bac!%#%,Y-Y$%%%.Y/Y7e8e'%(%)%*%bccc:Y;YKLLL=Y?Y+%,%dcecMLNL-%.%)f*fMnNnkSlmlSmSnSoSpSqS+f,frSsSOnPntSuSvSmmwSxSnmyScgdg/%:%@Y[YzSASBSCS]Y^Y9e!e_Y`YDSES;%=%{Y|YFSGS?%ge@%IbJb=cRdSdHS[%XkIS]%Yk}Y~YaZ?c-bbZcZ.bdZeZ^%_%Zk0khe`%ie{%jeke|%}%leme~%a'neoeb'c'JSKSLSMSNSOSSfTfOLPLPSQSRSSSTdUdQLRLSLTLULVLWLXLTSUSVSWSVdWdYLZL0L1L2L3L4L5L6L7L9 K Wid'e'fZ-f8L9LKbLb!L#LMbNbMqgZhZNqf'g'h'i'.p/pOqPqQqRq:p;pSqTqUqVq1kj'/A:AiZjZXSYSZS0S1S2Sk'XdL Yd3S4Spel'm'Zd$LkZ5S6S7S.f=pn'ffUfgf@ 2k%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L'l8So'lZ9Sp'mZ!Sq'nZr'ompmXikhs't'@pu'v'w'x'y'z'A'B'C'D'E'F'#SG'ifH'$S(GI'%S)G[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqJ''S*GK'(S+GL'M'_LN'Yi)SO'P'Q'R'0dS'T'U'V'W'`L{LoZ/b|LpZqZX'Y'Z'(lQnRn^A_A?meg0'v w x y z A B VfrZ[c;f1'2'3k3'4'5'6'7'8'9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'^'_'`'{'|'}'~'a(b(c(d(e(f(*Sg(sZh(i(j(k(ZitZuZvZwZ!lfgl(m(n(o(}L~LaMbMqe+Sp(0ixZU ,Sre/g-S1iF V yZOxzZq(4kr(AZs(BZt(u(CZv(w(x(.S/Sy(z(A(:SB(C(D(;S=SE(?SF(@S[SG(]SH(I(^S_SJ(K(L(`S{SM(|S}SN(O(P(~SQ(R(S(aTT(bTU(V(cTdTW(X(eTfTY(Z(gThT0(iTjTkT1(lTmT2(nToT3(pT4(qT5(rT6(7(8(5k9(!(#($(sTtTDZ%(uTEZvT'(wTFZcMGZHZIZJZKZ((LZ)(*(xTMZ+(NZOZ,(PZ-(Sn.(TnUn6m! @m)l-gqm[mVn6k/(_[wl:(7kGf.2bo/2co:2do=:?:`[@:[:{[]:^:_:;(seQZRZteue`:|[{:|:}:~:}[a;b;~[c;d;e;=(veSZTZwexef;a]g;h;i;j;k;l;m;b]n;c]o;p;?(yeUZVZzeAeq;d]r;s;t;e]u;v;f]w;x;y;@(WfWZXZXfYfz;g]A;B;;2C;=2D;h]i]?2E;j]k]]mF;@2G;Wn[(yTYZRgSg[2H;l]m]]2I;Tg^2J;_2K;n]o]`2L;p]q]{2M;|2N;Xn](]gzTZZ^g_g}2O;r]s]~2P;dM^(Q;R;S;T;0Vt]U;V;1Vu]W;X;Y;Z;fc0Z1Zgchc0;1;2Vv]2;3;_(`(4;5;6;7;w]x]8;9;y]z]!;#;$;%;ic2Z3Zjckc';(;A]B]);*;Px{(+;,;-;.;sBC]/;:;tBD];;=;?;@;lc4Z5Zmcnc[;];uBE]^;_;|(}(`;{;|;};F]G]~;a=H]I]b=c=d=e=#e6Z7Z$e%ef=g=J]K]h=i=^mj=a3k=L]M]_ml=N]O]`mm={mn=Yn~(Berm8ZCeDeb3o=eoP]|mp=c3q=}mr=foQ]~ms=R]S]d3t=anu=Zna)Eesm9ZFeGee3v=goT]bnw=cnx=f3y=hoU]dnz=ioV]enA=fnB=0nb)Hetm!ZIeJegnC=W]X]hnD=inE=g3F=joY]jnG=Z]0]knH=lnI=1nc)Zfum#Z0f1fmnJ=ko1]nnK=h3L=i3M=2]3]j3N=4]5]k3O=l3P=2nd)AT$ZUgVgm3Q=6]7]n3R=Wgo3S=p3T=8]9]q3U=!]#]r3V=s3W=3ne)XgBT%ZYgZgt3X=$]%]u3Y=v3Z=w30='](]x31=)]*]y32=z33=f)g)0gCT'Z1g2gA34=+],]B35=C36=D37=-].]E38=/]:]F39=G3!=h)i)`gDT(Z{g|gH3#=;]=]I3$=EjFjGj?]@]j)[]J3%=K3'=]]^]L3(=_]`]M3)=N3*=k)l)vm)Z3g4gO3+={]|]P3,=5gQ3-=R3.=}]~]S3/=a^b^T3:=U3;=m)n)6gwm*Z7g8gV3==c^d^W3?=X3@=Y3[=e^f^Z3]=g^h^03^=13_=4no)9gET+Z!g#g23`=i^j^33{=43|=53}=k^l^63~=m^n^ona?73b?5np)FT,Z}g~g83c?o^p^93d?ah-Z.Z/Zq):Zr)s);Z=Zt)u)v)Fo;b2fGT`A{A|A,G-G3fHT}A~AaB.G/G4f:GITbBcBdB;Gw)x)y)z)8kA)B)C)D)JT_c[ KTE)jfF)?Z`ceMG)kfH)@Z{cfMI)LTMTNTOTJ)K)L)M)PTN)O)P)QTRTQ)R)STTT9kS)T)UTVTU)[ZV)WTW)]ZX)Y)^ZlfmfMeZ)0)gMNe1)XTeBhMiM2)3)4)5)|c}c2d3d6)7)=G?GYTZT0T1T~c8)jMkMlM2T3T4T9)adbd5T6T7T8T!)#)cddd$)%)@G[GfBgB]G^G9T!Tedfd')()#T$TmMnM%T'T))*)OePeQe+),)-)oMpMqMrMsMtM.)/):)Ob;)uMvMwM=)Pb?)xMyMzM@)AMQb[)BMCM])=bRe2i_Z?b`Z{Z@b|Z}Z^)_)`)6n7n(T)T*T+T_G`G3i4i8n9n,T-T{G|G}G~G5i6i~Z{)|)a0b0})~)c07i8ia*b*!khhd0.Tc*/T:T;T=Td*?T@T[T]Te*^T_T`T9i!i#i{Tf*|Tg*}T~TaUh*bUi*cUdUeUj*fUk*gUhUiUl*jUm*kUlUmUn*nUo*oUpUqUp*rUq*sUtU$i%i'i(i)i*ie0uUr*f0vUs*+i,it*u*v*w*g0h0x*y*#k$kz*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*wUV*W*xUX*Y*%k'kZ*0*1*2*3*4*5*6*i0j0k0l07*8*9*!*(k)kSe#*DM$**k%*+k'*(*4d5d6d7dm0n0gd] # $ )***,k+*,*-k-*.*.k/*yU:*/k=f;*zU=*:k!n#nAUBUCUDUaHbH-i.i$n%nEUFUcHdHeHfH/i:i'n(nGUHUIUJUgHhHiHjH;i=i?*@*[*]*^*_*?i@io0p0`*q0r0s0{*t0[i]iu0|*}*v0~*a+^i_i( KUhd?fidjdkdldmdndb+c+;kLUd+=ke+?kf+@kg+h+MUi+j+ehphqhEMw0FMx0hBiB[k]k^k_kk+l+m+n+o+p+q+r+GMHMIMJMNUOUPUQU`k{ks+t+u+v+KMLMRUSUMMNM|k}kw+x+y+z+OMPMQMRMTUUUSMTM~kalA+B+C+D+UMVMWMXMYMZM0M1M`i{i)n*nVUWUE+F+kHlH|i}i+n,nXUYUxmZUmHnHbl0UG+1U~iH+2Uaj3U4U5Ubj6U7U8UI+9Ucl!UjBcjdjy0J+K+ejfjz0A0L+M+N+O+#U$UgjhjB0C0P+Q+%U'U(U)UijjjD0E0R+S+*U+Udlel,U-UT+U+.U/UflglF0G0V+W+:U;Ukjlj=U?UH0I0X+Y+@U[UmjnjJ0K0Z+0+]U^UojpjL0M01+2+_U`UPjQjq^r^e?f?g?h?RjSjs^t^!3#3i?j?k?l?3+4+qjrjN0O0{U|U5+6+sjtj7+8+hlil}U~U9+!+P0Q0aV#+$+R0uj'e(eS0T0%+'+U0V0(+)+*+++ocpc,+-+W0X0.+/+Y0Z0)e*e:+;+=+?+qcrc00102M3M2030@+[+sctc4M5M]+^+@f[f-n.nbVcVymzmAmBmdVeV]f^ffVCm/n:ngVhVDmiVEmFmjVkVgghg_+`+4050lVmVnVoV6070+e,e8090pVqV{+|+!0#0rVsV}+Te~+RbSbod8d9dtVa,jluVb,kl$0%0'0pd[b(0)0]b*0+0c,d,llmlUee,Vef,WeXeg,h,YeZei,j,0e1ek,l,vVwVxVyVzVAV5f6f6M7MBVCVDVEV!d#d8M9M!M#M$M%M'M(MFVGVHVIV$d%d)M*M+M,M-M.M/M:M;M=M% M vjm,n,,0_f?M@MTbUb[M]MVbWbfr-0.0gro,p,q,r,dqeqhrirjrkrfqgqlrmrnrornls,kBlB/0:0JVKVLVMVNVOVt,'dN (dPVQV2eu,v,)d^M;0RVSVTV`fhqw,

115 if isinstance(va, str) and va: 2yd-ezdP TjBJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJCl_M$35V`M%36V{M'37V(3TlUlrhih)3*3mo+3,3-3.3/3:3;3=3?3@3[3]3|M^3Bd_3}MfG`3~MgGnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo{3aNhG|3bNiG}3~3TJa4shcNb4c4d4e4Xbf4g4h4i4j4UJVJ8V) WJ9V!Vk4l4m4XJn4GmGAHA*l7fo4e f g h i j k .e#Vgbsfp4q4Ujr4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z40414243444dN54$V64748494th%V'V(V)VBl8f!4#4$4%4YJZJ0J1JuceN'4uh*VC fNvcAggNvhl D +VKx,V(4Vj)4-V*4.V+4,4/V-4.4/4hNiN:4;4=4jN?4@4[4kNlN]4mN^4nNoN_4pN`4{4qNrN|4}4~4sNtNa5uNvNb5c5d5wNe5f5g5xNh5yNi5j5zNANk5l5BNCNm5n5DNENo5FNGNHNp5INJNq5KNLNr5MNs5NNt5ONu5v5w5Wjx5y5z5A5PNQN:VB5RN;VSNC5TN=V2J?V@V[V]V^VD5_VE5F5UN`VG5{V|VH5}VI5J5K5HmIm#lG +lDlxgVl,lJmXjL5r?ulM5Yj,d=0pn?0s?@0qnD,E,t?F,G,u?H,I,J,N5~VaWwcxcK,v?L,M,N,O,w?P,Q,x?R,S,T,O5bWcWyczcU,y?V,W,X,Y,Z,0,1,z?2,A?3,4,P5dWeWAcBc5,B?6,7,8,C?9,!,D?#,$,%,Q5fWgW/e:e',E?(,),[0*,]0+,F?G?^0,,H?I?_0-,`0.,R5S5VNhWjgkg{0/,J?K?|0:,}0;,~0=,L?M?a1?,N?O?b1@,c1[,T5U5WNiW$g%gd1],P?Q?e1^,3JV5_,`,{,|,UVR?},~,VVS?a-b-c-d-jWkW^ _ e-f-WVT?g-h-W5X5i-j-k-l-U?V?m-n-W?X?o-p-q-r-lWmW` { s-t-Y?Z?u-v-LxY5w-x-y-z-mB0?A-B-nB1?C-D-E-F-nWoW| } G-H-oB2?I-J-Z505K-L-M-N-3?4?O-P-5?6?Q-R-S-T-pWqWqdrdU-V-7?8?W-X-f1Y-g1Z-9?!?-l0-#?$?.l1-/l2-Km15WlrWCcDch13-%?'?:l4-i15-;l6-(?)?=l7-*?+?j18-?l9-Lm25EcXlsWFck1!-,?-?@l#-l1$-m1%-.?/?[l'-rn:?n1(-]l)-3545YltWGcHco1*-sn;?^l+-p1,-_l--=???`l.-@?[?{l/-|l:-Mm55ZluW;e=eq1;-]?^?}l=-r1?-s1@-_?`?t1[-{?|?u1]-v1^-6575XNvWlgmgw1_-}?~?x1`-y1{-z1|-a@b@A1}-c@d@B1~-C1a.8595YNwWngogD1b.e@[email protected]@[email protected]@[email protected].!5#5ZNxWpgqgK1i.k@[email protected]@[email protected]@[email protected].$5%50NyW'g(gR1p.q@[email protected]@t@'[email protected]@[email protected]@[email protected].(5)51NzWrgsgY1w.z@[email protected]@[email protected]@[email protected].*5+52NAWtgug51D.F@[email protected]@[email protected]@K@!1I.#1J.,5-53NBWvgwg$1K.L@M@%1L.'1M.(1N.N@O@)1O.P@Q@*1P.+1Q..5/54NCW)g*g,1R.R@[email protected]:5GW;5=5HWIW?5@5[5;n+ ?e5NIAJAKAjGkG@e6NLAMANAlGmG[enG7NOAPAQAoG]5^5_5`5Zj{5|5}5~58NjbQ 9Na6Cdb6JWkb4Jc6Ddd6KWlb5Je6!N#N$N%Nf6g6h6i6'Nj6k6l6(N)Nm6n6*N+N0jo6p6,N-Nq6LWr6.Ns6MWt6u6NWEdFdKcv6w66JLcx6/NRA7J8Jy6z6A6B6mbnbZb0bC6D6pGqG:N;N=N?NobE69J!J#J@N[N]NF6pbqb^N_N`N{NG6H6rbsbI6J6rGsGSATAtGuG|N}NtbubK6L6~NaO$J%JbOcOM6N6McNcOcO6P6Q6'J(J)J*J+J,JR6S6T6W U6-J.J/JV6X W6:J;J=JX6?JY Y6@J[JZ6, PcwhOW- PWQW. RWSW061626NmOmdOeOfO0lxlvGxhyhPmQm1l2lwGxGyGzGzhAhTW3646UWVW5666WWBhCh76861jfhXWgO96hOiOjOkO!6lOmOnOoO#6pOqOrODhEhFhsO$6tO%6uOvOwO'6xO(6yOzOAO)6BO*6CODOEO+6FO,6GOHOIO-6JO.6KOLOMO/6NO:6OOPOGhHhIhJhKhLhYWQO;6ZWRO=6MhNh?6@6[6]60W1W^6_62j3j`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7SOr7s7TOt7u74j5jv7w7x7y7z7A7B7C72W3W4W5WD7E7F7G76j7jQcH7]JI78jJ79jK7L71b2b3b4b6W7WvbR H I M7N7!jO7P7#jQ7R7$jS7UOT7%jtfU7VOV7'jRmSm3l4lWOXOAGBGOhPhTmUmYOZOCGDGEGFGygzgVmWm0O1O2O3OGGHGylzlQhRhW7X7Y7Z70717ShTh8W9W27!W#W$W37%WUhVh'W4757(W6777WhXhO 4OwbufxbybzbAbBbCb8797(j5O!7)j#7*j$7+j%7'76O(7)7chlhmh^J)W_J*WUAVA,j-j.j/j*7+7,7-7.7/7:7;7`J{J|J}J7O8O9O!O:j;j=7?7@7[7~JaK#O$ObKcK=j?j]7^7_7`7dKeKfKgK%O'OhKiK@j[j{7|7}7~7jKkKlKmKnKoKpKqKYhZhXmYm(O)Oa8b8IGJG0h1hZm0m5l*O+O,OKGAl]j-Oc8.O2hd8/O3h:O;O=O4h?O@O[Oe8]O^j^OWA5h6h+Wf8g87h8h,W-Wh8i8j8k8_O`O9h!h.W/Wl8m8{O|O}O~O#h$h:W;Wn8o8aPbP_j`jcPdPp8q8ePfP{j|j=W?Wr8s8gPhP%h'hiPjP@W[Wt8u8kPlP(h)h]W^Wv8w8mPnP*h+h_W`Wx8y8oPpPHjIjT@[email protected]@[email protected]/1X.Y.Z.0.z8A8,h-h{W|WqPrPB8C8.h/hD8E8}j~jsPtPF8G8}W~WuPH8I8aX:hsdtdbXcXJ8K8dXeXL8M8N8O8~ abP8Q8fXgXR8S8hXiXudvdT8U8V8W8bbcbjXkXrKsKlXmXX8Y8dbebtKuKZ808vfwf1m2mvP6l7lwPxPyPzPAPxfyf8lBP3m4mCPDPEPFPGPHPIPJP9f!f1828nXoXKPLPMPNPpXqXwdxdrXsXOPPP3848tXuXQPRP58Rc68Z 0 Db5b6bSP78akTP88bkvXwXxXEb/ yXzX: AXBX98!8ckdkSc#8Tc$8UcVc%8'8WcXc(8)8YcZc*8+8UPVPWPXPYPZP]e^evKwK0P1P2P3P7b8bxKyKzKAKBKCKDKEK4P5P6P7P9b!bFKGKHKIKJKKKLKMKNKOKJ m ;h,8-8CXzfPKQK1 2 RKSK3 4 %oDXEX'o.8/8:8;8zoAo(o)o*o+oBoCo,o-o.o/oek=8XAYAFXGX8P9P!P#P$P%P?8#bn $b'P(P0c@8[8%bTKHX)P*P+PAfDo]8bh^8_eJf`e; fkUKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K$l,P_8IX-P`8JX.P{8KX|8~lam=hjh}8~88pa9b9c9d9e9f9g9h9i9j9k9l9/Pm9|en9:PLGo9;PMG9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pp9=PNGq9?POGr9s9$Kt9?h@Pu9v9w9x9Jdy9z9A9B9C9%K'KLX'b(KMXNXD9E9F9)KG9tn5A6A7magH9o p q r s t u KfOX2c%fI9J9gkK9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9[P;9PX=9?9@9[9@hQXRXSXTX9lbg]9^9_9`9*K+K,K-K-d]P{9[hUXS ^P.d.g_P]hE T VXMxWX|9hk}9XX~9YXa!b!ZXc!d!e!`P{Pf!g!h!|Pi!j!k!}P~Pl!aQm!bQcQn!dQo!p!eQfQq!r!s!gQhQt!iQjQu!v!w!kQx!y!z!lQA!mQB!C!nQoQD!E!pQqQF!G!rQsQH!tQuQvQI!wQxQJ!yQzQK!AQL!BQM!CQN!O!P!ikQ!R!S!T!DQEQ0XU!FQ1XGQV!HQ2X.K3X4X5X6X7XW!8XX!Y!IQ9XZ!!X#X0!$X1!2!3!unvn5m5 8m%l+gbm9mwnjk4!X@vl5!kkDf:1Y@;[email protected]@5.6.7.6!%X'X/d:d8.1@9.!.#.$.2@%.'.3@(.).*.7!(X)X;d=d+.4@,.-.../.:.;.=.5@?.6@@.[.8!*X+X?d@d].7@^._.`.8@{.|.9@}.~.a/9!,X-XLfMfb/!@c/d/?1e/@1f/#@$@[1g/%@'@]1h/^1i/!!#!JQ.XCgDg_1j/(@)@`1k/{1l/|1m/*@+@}1n/,@-@~1o/a2p/$!%!KQ/X:g;gb2q/.@/@c2r//K'!s/t/u/v/XV:@w/x/YV;@y/z/A/B/:X;X^b_bC/D/ZV=@E/F/(!)!G/H/I/J/?@@@K/L/[@]@M/N/O/P/=X?X`b{bQ/R/^@_@S/T/Nx*!U/V/W/X/pB`@Y/Z/qB{@0/1/2/3/@X[X|b}b4/5/rB|@6/7/+!,!8/9/!/#/}@~@$/%/a[b['/(/)/*/]X^X3e4e+/,/c[d[-/./d2//e2:/e[f[!m;/g[h[#m=/$m?/-!.!cm_X[d]d%m@/i[j['m[/f2]/g2^/k[l[(m_/m[n[h2`/)m{/xn/!dm`X^d_di2|/o[p[*m}/j2~/+ma:q[r[,mb:s[t[k2c:-md::!;!em{X`d{dl2e:u[v[.mf:m2g:n2h:w[x[/mi:y[z[:mj:;mk:=!?!fm|XNfOfo2l:A[B[=mm:p2n:q2o:C[D[r2p:E[F[s2q:t2r:@![!LQ}XEgFgu2s:G[H[v2t:w2u:x2v:I[J[y2w:K[L[z2x:A2y:]!^!MQ~XGgHgB2z:M[N[C2A:D2B:E2C:O[P[F2D:Q[R[G2E:H2F:_!`!NQaYIgJgI2G:S[T[J2H:K2I:L2J:U[V[M2K:W[X[N2L:O2M:{!|!OQbY=g?gP2N:Y[Z[Q2O:CjDj0[1[}!2[R2P:S2Q:3[4[T2R:5[6[U2S:V2T:~!a#PQcYKgLgW2U:7[8[X2V:Y2W:Z2X:9[![02Y:#[$[12Z:220:b#c#QQdYMgNg321:%['[422:523:624:([)[725:*[+[826:927:d#e#RQeYOgPg!28:,[-[#29:$2!:%2#:.[/['2$::[;[(2%:)2':f#g#SQfY@g[g*2(:=[?[+2):gYhYiYh#jYi#j#kYlYk#l#m#Eo)bPfTQ7A8A9APGQGQfUQ!A#A$ARGSGRfTGVQ%A'A(AUGn#o#p#q#lkr#s#t#u#WQ5c= XQv#}ew#mY6c:Kx#~ey#nY7c;Kz#YQZQ0Q1QA#B#C#D#2QE#F#G#3Q4QH#I#5Q6QmkJ#K#7Q8QL#oYM#9QN#pYO#P#qYafbf~dQ#R#=KaeS#!Q)A?K@KT#U#V#W#8c9cLdMdX#Y#VGWG#Q$Q%Q'Q!cZ#[K]K^K(Q)Q*Q0##c$c+Q,Q-Q.Q1#2#%c'c3#4#XGYG*A+AZG0G/Q:Q(c)c5#6#;Q=Q_K`K?Q@Q7#8#becede9#!###{K|K}K~KaLbL$#%#'#Fb(#cLdLeL)#Gb*#fLgLhL+#iLHb,#jLkL-#*bee^hrY+bsYtY,buYvY.#/#:#ynzn[Q]Q^Q_QElFl_h`hAnBn`Q{Q1G2G3G4G{h|hwY;#=#xYyY?#@#zY}h~h[#]#nkghAY|Q^#}Q~QaRbR_#cRdReRfR`#gRhRiRaibicijR{#kR|#lRmRnR}#oR~#pRqRrRa$sRb$tRuRvRc$wRd$xRyRzRe$ARf$BRCRDRg$ERh$FRGRdieifigihiiiBYHRi$CYIRj$jikik$l$m$n$DYEYo$p$okpkq$r$s$t$u$v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$JRM$N$KRO$P$qkrkQ$R$S$T$U$V$W$X$FYGYHYIYY$Z$0$1$sktkfe2$lL3$uk4$vk5$6$NdOdPdQdJYKY*c? 6 7 8 7$8$wk9$!$xk#$$$yk%$LR'$zk'f($MR)$AkCnDngmhmNROR5G6GlimiEnFnPRQR7G8GGlHlnioiGnHnRRSRTRUR9G!GIlJlpiqi*$+$,$-$.$/$risiLYMY:$NYOYPY;$QYtiuiRY=$?$SY@$[$viwi' VR+c(f,c-c.c/c:c;c]$^$BkWR_$Ck`$Dk{$Ek|$}$XR~$a%dhnhohmLTYnLUY,A-AFkGkHkIkb%c%d%e%f%g%h%i%oLpLqLrLYRZR0R1RJkKkj%k%l%m%sLtL2R3RuLvLLkMkn%o%p%q%wLxLyLzL4R5RALBLNkOkr%s%t%u%CLDLELFLGLHLILJLxiyiInJnimjmv%w%#G$Gzi,gKnLn6R7Rkm8R%G'GPk9Rx%!RAiy%#RBi$R%R'RCi(R)R*Rz%+RQk,R.ADiEiVYA%B%FiGiWYXYC%D%E%F%-R.RHiIiYYZYG%H%/R:R;R=RJiKi0Y1YI%J%?R@RRkSk[R]RK%L%^R_RTkUk2Y3YM%N%`R{RLiMi|R}R4Y5YO%P%~RaSNiOi6Y7YQ%R%bScSPiQi8Y9YS%T%dSeSLjMj@[[[*:+:,:-:NjOj][^[,2-2.:/:::;:U%V%RiSi!Y#YfSgSW%X%TiUiY%Z%VkWkhSiS0%1%$Y%YjS2%3%'YVi5e6e(Y)Y4%5%*Y+Y6%7%8%9%~bac!%#%,Y-Y$%%%.Y/Y7e8e'%(%)%*%bccc:Y;YKLLL=Y?Y+%,%dcecMLNL-%.%)f*fMnNnkSlmlSmSnSoSpSqS+f,frSsSOnPntSuSvSmmwSxSnmyScgdg/%:%@Y[YzSASBSCS]Y^Y9e!e_Y`YDSES;%=%{Y|YFSGS?%ge@%IbJb=cRdSdHS[%XkIS]%Yk}Y~YaZ?c-bbZcZ.bdZeZ^%_%Zk0khe`%ie{%jeke|%}%leme~%a'neoeb'c'JSKSLSMSNSOSSfTfOLPLPSQSRSSSTdUdQLRLSLTLULVLWLXLTSUSVSWSVdWdYLZL0L1L2L3L4L5L6L7L9 K Wid'e'fZ-f8L9LKbLb!L#LMbNbMqgZhZNqf'g'h'i'.p/pOqPqQqRq:p;pSqTqUqVq1kj'/A:AiZjZXSYSZS0S1S2Sk'XdL Yd3S4Spel'm'Zd$LkZ5S6S7S.f=pn'ffUfgf@ 2k%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L'l8So'lZ9Sp'mZ!Sq'nZr'ompmXikhs't'@pu'v'w'x'y'z'A'B'C'D'E'F'#SG'ifH'$S(GI'%S)G[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqJ''S*GK'(S+GL'M'_LN'Yi)SO'P'Q'R'0dS'T'U'V'W'`L{LoZ/b|LpZqZX'Y'Z'(lQnRn^A_A?meg0'v w x y z A B VfrZ[c;f1'2'3k3'4'5'6'7'8'9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'^'_'`'{'|'}'~'a(b(c(d(e(f(*Sg(sZh(i(j(k(ZitZuZvZwZ!lfgl(m(n(o(}L~LaMbMqe+Sp(0ixZU ,Sre/g-S1iF V yZOxzZq(4kr(AZs(BZt(u(CZv(w(x(.S/Sy(z(A(:SB(C(D(;S=SE(?SF(@S[SG(]SH(I(^S_SJ(K(L(`S{SM(|S}SN(O(P(~SQ(R(S(aTT(bTU(V(cTdTW(X(eTfTY(Z(gThT0(iTjTkT1(lTmT2(nToT3(pT4(qT5(rT6(7(8(5k9(!(#($(sTtTDZ%(uTEZvT'(wTFZcMGZHZIZJZKZ((LZ)(*(xTMZ+(NZOZ,(PZ-(Sn.(TnUn6m! @m)l-gqm[mVn6k/(_[wl:(7kGf.2bo/2co:2do=:?:`[@:[:{[]:^:_:;(seQZRZteue`:|[{:|:}:~:}[a;b;~[c;d;e;=(veSZTZwexef;a]g;h;i;j;k;l;m;b]n;c]o;p;?(yeUZVZzeAeq;d]r;s;t;e]u;v;f]w;x;y;@(WfWZXZXfYfz;g]A;B;;2C;=2D;h]i]?2E;j]k]]mF;@2G;Wn[(yTYZRgSg[2H;l]m]]2I;Tg^2J;_2K;n]o]`2L;p]q]{2M;|2N;Xn](]gzTZZ^g_g}2O;r]s]~2P;dM^(Q;R;S;T;0Vt]U;V;1Vu]W;X;Y;Z;fc0Z1Zgchc0;1;2Vv]2;3;_(`(4;5;6;7;w]x]8;9;y]z]!;#;$;%;ic2Z3Zjckc';(;A]B]);*;Px{(+;,;-;.;sBC]/;:;tBD];;=;?;@;lc4Z5Zmcnc[;];uBE]^;_;|(}(`;{;|;};F]G]~;a=H]I]b=c=d=e=#e6Z7Z$e%ef=g=J]K]h=i=^mj=a3k=L]M]_ml=N]O]`mm={mn=Yn~(Berm8ZCeDeb3o=eoP]|mp=c3q=}mr=foQ]~ms=R]S]d3t=anu=Zna)Eesm9ZFeGee3v=goT]bnw=cnx=f3y=hoU]dnz=ioV]enA=fnB=0nb)Hetm!ZIeJegnC=W]X]hnD=inE=g3F=joY]jnG=Z]0]knH=lnI=1nc)Zfum#Z0f1fmnJ=ko1]nnK=h3L=i3M=2]3]j3N=4]5]k3O=l3P=2nd)AT$ZUgVgm3Q=6]7]n3R=Wgo3S=p3T=8]9]q3U=!]#]r3V=s3W=3ne)XgBT%ZYgZgt3X=$]%]u3Y=v3Z=w30='](]x31=)]*]y32=z33=f)g)0gCT'Z1g2gA34=+],]B35=C36=D37=-].]E38=/]:]F39=G3!=h)i)`gDT(Z{g|gH3#=;]=]I3$=EjFjGj?]@]j)[]J3%=K3'=]]^]L3(=_]`]M3)=N3*=k)l)vm)Z3g4gO3+={]|]P3,=5gQ3-=R3.=}]~]S3/=a^b^T3:=U3;=m)n)6gwm*Z7g8gV3==c^d^W3?=X3@=Y3[=e^f^Z3]=g^h^03^=13_=4no)9gET+Z!g#g23`=i^j^33{=43|=53}=k^l^63~=m^n^ona?73b?5np)FT,Z}g~g83c?o^p^93d?ah-Z.Z/Zq):Zr)s);Z=Zt)u)v)Fo;b2fGT`A{A|A,G-G3fHT}A~AaB.G/G4f:GITbBcBdB;Gw)x)y)z)8kA)B)C)D)JT_c[ KTE)jfF)?Z`ceMG)kfH)@Z{cfMI)LTMTNTOTJ)K)L)M)PTN)O)P)QTRTQ)R)STTT9kS)T)UTVTU)[ZV)WTW)]ZX)Y)^ZlfmfMeZ)0)gMNe1)XTeBhMiM2)3)4)5)|c}c2d3d6)7)=G?GYTZT0T1T~c8)jMkMlM2T3T4T9)adbd5T6T7T8T!)#)cddd$)%)@G[GfBgB]G^G9T!Tedfd')()#T$TmMnM%T'T))*)OePeQe+),)-)oMpMqMrMsMtM.)/):)Ob;)uMvMwM=)Pb?)xMyMzM@)AMQb[)BMCM])=bRe2i_Z?b`Z{Z@b|Z}Z^)_)`)6n7n(T)T*T+T_G`G3i4i8n9n,T-T{G|G}G~G5i6i~Z{)|)a0b0})~)c07i8ia*b*!khhd0.Tc*/T:T;T=Td*?T@T[T]Te*^T_T`T9i!i#i{Tf*|Tg*}T~TaUh*bUi*cUdUeUj*fUk*gUhUiUl*jUm*kUlUmUn*nUo*oUpUqUp*rUq*sUtU$i%i'i(i)i*ie0uUr*f0vUs*+i,it*u*v*w*g0h0x*y*#k$kz*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*wUV*W*xUX*Y*%k'kZ*0*1*2*3*4*5*6*i0j0k0l07*8*9*!*(k)kSe#*DM$**k%*+k'*(*4d5d6d7dm0n0gd] # $ )***,k+*,*-k-*.*.k/*yU:*/k=f;*zU=*:k!n#nAUBUCUDUaHbH-i.i$n%nEUFUcHdHeHfH/i:i'n(nGUHUIUJUgHhHiHjH;i=i?*@*[*]*^*_*?i@io0p0`*q0r0s0{*t0[i]iu0|*}*v0~*a+^i_i( KUhd?fidjdkdldmdndb+c+;kLUd+=ke+?kf+@kg+h+MUi+j+ehphqhEMw0FMx0hBiB[k]k^k_kk+l+m+n+o+p+q+r+GMHMIMJMNUOUPUQU`k{ks+t+u+v+KMLMRUSUMMNM|k}kw+x+y+z+OMPMQMRMTUUUSMTM~kalA+B+C+D+UMVMWMXMYMZM0M1M`i{i)n*nVUWUE+F+kHlH|i}i+n,nXUYUxmZUmHnHbl0UG+1U~iH+2Uaj3U4U5Ubj6U7U8UI+9Ucl!UjBcjdjy0J+K+ejfjz0A0L+M+N+O+#U$UgjhjB0C0P+Q+%U'U(U)UijjjD0E0R+S+*U+Udlel,U-UT+U+.U/UflglF0G0V+W+:U;Ukjlj=U?UH0I0X+Y+@U[UmjnjJ0K0Z+0+]U^UojpjL0M01+2+_U`UPjQjq^r^e?f?g?h?RjSjs^t^!3#3i?j?k?l?3+4+qjrjN0O0{U|U5+6+sjtj7+8+hlil}U~U9+!+P0Q0aV#+$+R0uj'e(eS0T0%+'+U0V0(+)+*+++ocpc,+-+W0X0.+/+Y0Z0)e*e:+;+=+?+qcrc00102M3M2030@+[+sctc4M5M]+^+@f[f-n.nbVcVymzmAmBmdVeV]f^ffVCm/n:ngVhVDmiVEmFmjVkVgghg_+`+4050lVmVnVoV6070+e,e8090pVqV{+|+!0#0rVsV}+Te~+RbSbod8d9dtVa,jluVb,kl$0%0'0pd[b(0)0]b*0+0c,d,llmlUee,Vef,WeXeg,h,YeZei,j,0e1ek,l,vVwVxVyVzVAV5f6f6M7MBVCVDVEV!d#d8M9M!M#M$M%M'M(MFVGVHVIV$d%d)M*M+M,M-M.M/M:M;M=M% M vjm,n,,0_f?M@MTbUb[M]MVbWbfr-0.0gro,p,q,r,dqeqhrirjrkrfqgqlrmrnrornls,kBlB/0:0JVKVLVMVNVOVt,'dN (dPVQV2eu,v,)d^M;0RVSVTV`fhqw,

116 return va 3Bd XJ GA HA *l 7f e f g h i j k 8f G r? ul ,d =0 pn ?0 s? @0 qn D, E, t? F, G, u? H, I, J, wc xc K, v? L, M, N, O, w? P, Q, x? R, S, T, yc zc U, y? V, W, X, Y, Z, 0, 1, z? 2, A? 3, 4, Ac Bc 5, B? 6, 7, 8, C? 9, !, D? #, $, %, /e :e ', E? (, ), [0 *, ]0 +, F? G? ^0 ,, H? I? _0 -, `0 ., jg kg {0 /, J? K? |0 :, }0 ;, ~0 =, L? M? a1 ?, N? O? b1 @, c1 [, $g %g d1 ], P? Q? e1 ^, _, `, {, |, UV R? }, ~, VV S? a- b- c- d- ^ _ e- f- WV T? g- h- i- j- k- l- U? V? m- n- W? X? o- p- q- r- ` { s- t- Y? Z? u- v- w- x- y- z- mB 0? A- B- nB 1? C- D- E- F- | } G- H- oB 2? I- J- K- L- M- N- 3? 4? O- P- 5? 6? Q- R- S- T- qd rd U- V- 7? 8? W- X- f1 Y- g1 Z- 9? !? -l 0- #? $? .l 1- /l 2- Cc Dc h1 3- %? '? :l 4- i1 5- ;l 6- (? )? =l 7- *? +? j1 8- ?l 9- Ec Fc k1 !- ,? -? @l #- l1 $- m1 %- .? /? [l '- rn :? n1 (- ]l )- Gc Hc o1 *- sn ;? ^l +- p1 ,- _l -- =? ?? `l .- @? [? {l /- |l :- ;e =e q1 ;- ]? ^? }l =- r1 ?- s1 @- _? `? t1 [- {? |? u1 ]- v1 ^- lg mg w1 _- }? ~? x1 `- y1 {- z1 |- a@ b@ A1 }- c@ d@ B1 ~- C1 a. ng og D1 b. e@ f@ E1 c. F1 d. G1 e. g@ h@ H1 f. i@ j@ I1 g. J1 h. pg qg K1 i. k@ l@ L1 j. M1 k. N1 l. m@ n@ O1 m. o@ p@ P1 n. Q1 o. 'g (g R1 p. q@ r@ S1 q. Aj Bj s@ t@ u@ T1 r. U1 s. v@ w@ V1 t. x@ y@ W1 u. X1 v. rg sg Y1 w. z@ A@ Z1 x. 01 y. 11 z. B@ C@ 21 A. D@ E@ 31 B. 41 C. tg ug 51 D. F@ G@ 61 E. 71 F. 81 G. H@ I@ 91 H. J@ K@ !1 I. #1 J. vg wg $1 K. L@ M@ %1 L. '1 M. (1 N. N@ O@ )1 O. P@ Q@ *1 P. +1 Q. )g *g ,1 R. R@ S@ -1 S. ?e @e [e Q mb nb ob pb qb rb sb tb ub 1b 2b lh mh ^J )W _J *W UA VA Hj Ij T@ U@ T. U. V. W. Jj Kj V@ W@ .1 /1 X. Y. Z. 0. sd td ~ ab ud vd bb cb db eb 9f !f wd xd ]e ^e 7b 8b 9b !b VabWab|e )K 5A 6A 7m ag o p q r s t u bg 5 X@ vl Df :1 Y@ ;1 ~n =1 ao 1. 2. Z@ 3. 4. 0@ 5. 6. 7. /d :d 8. 1@ 9. !. #. $. 2@ %. '. 3@ (. ). *. ;d =d +. 4@ ,. -. .. /. :. ;. =. 5@ ?. 6@ @. [. ?d @d ]. 7@ ^. _. `. 8@ {. |. 9@ }. ~. a/ Lf Mf b/ !@ c/ d/ ?1 e/ @1 f/ #@ $@ [1 g/ %@ '@ ]1 h/ ^1 i/ Cg Dg _1 j/ (@ )@ `1 k/ {1 l/ |1 m/ *@ +@ }1 n/ ,@ -@ ~1 o/ a2 p/ :g ;g b2 q/ .@ /@ c2 r/ s/ t/ u/ v/ XV :@ w/ x/ YV ;@ y/ z/ A/ B/ ^b _b C/ D/ ZV =@ E/ F/ G/ H/ I/ J/ ?@ @@ K/ L/ [@ ]@ M/ N/ O/ P/ `b {b Q/ R/ ^@ _@ S/ T/ U/ V/ W/ X/ pB `@ Y/ Z/ qB {@ 0/ 1/ 2/ 3/ |b }b 4/ 5/ rB |@ 6/ 7/ 8/ 9/ !/ #/ }@ ~@ $/ %/ a[ b[ '/ (/ )/ */ 3e 4e +/ ,/ c[ d[ -/ ./ d2 // e2 :/ e[ f[ !m ;/ g[ h[ #m =/ $m ?/ [d ]d %m @/ i[ j[ 'm [/ f2 ]/ g2 ^/ k[ l[ (m _/ m[ n[ h2 `/ )m {/ ^d _d i2 |/ o[ p[ *m }/ j2 ~/ +m a: q[ r[ ,m b: s[ t[ k2 c: -m d: `d {d l2 e: u[ v[ .m f: m2 g: n2 h: w[ x[ /m i: y[ z[ :m j: ;m k: Nf Of o2 l: A[ B[ =m m: p2 n: q2 o: C[ D[ r2 p: E[ F[ s2 q: t2 r: Eg Fg u2 s: G[ H[ v2 t: w2 u: x2 v: I[ J[ y2 w: K[ L[ z2 x: A2 y: Gg Hg B2 z: M[ N[ C2 A: D2 B: E2 C: O[ P[ F2 D: Q[ R[ G2 E: H2 F: Ig Jg I2 G: S[ T[ J2 H: K2 I: L2 J: U[ V[ M2 K: W[ X[ N2 L: O2 M: =g ?g P2 N: Y[ Z[ Q2 O: Cj Dj 0[ 1[ 2[ R2 P: S2 Q: 3[ 4[ T2 R: 5[ 6[ U2 S: V2 T: Kg Lg W2 U: 7[ 8[ X2 V: Y2 W: Z2 X: 9[ ![ 02 Y: #[ $[ 12 Z: 22 0: Mg Ng 32 1: %[ '[ 42 2: 52 3: 62 4: ([ )[ 72 5: *[ +[ 82 6: 92 7: Og Pg !2 8: ,[ -[ #2 9: $2 !: %2 #: .[ /[ '2 $: :[ ;[ (2 %: )2 ': @g [g *2 (: =[ ?[ +2 ): Pf Qf Rf = 8c 9c !c #c $c %c 'c (c )c Nd Od nh oh mL TY nL UY ,A -A Lj Mj @[ [[ *: +: ,: -: Nj Oj ][ ^[ ,2 -2 .: /: :: ;: 5e 6e ~b ac 7e 8e bc cc dc ec cg dg 9e !e Sf Tf Td Ud Vd Wd if (l ^A _A ?m eg v w x y z A B fg ! _[ wl Gf .2 bo /2 co :2 do =: ?: `[ @: [: {[ ]: ^: _: se te ue `: |[ {: |: }: ~: }[ a; b; ~[ c; d; e; ve we xe f; a] g; h; i; j; k; l; m; b] n; c] o; p; ye ze Ae q; d] r; s; t; e] u; v; f] w; x; y; Wf Xf Yf z; g] A; B; ;2 C; =2 D; h] i] ?2 E; j] k] ]m F; @2 G; Rg Sg [2 H; l] m] ]2 I; Tg ^2 J; _2 K; n] o] `2 L; p] q] {2 M; |2 N; ]g ^g _g }2 O; r] s] ~2 P; Q; R; S; T; 0V t] U; V; 1V u] W; X; Y; Z; fc gc hc 0; 1; 2V v] 2; 3; 4; 5; 6; 7; w] x] 8; 9; y] z] !; #; $; %; ic jc kc '; (; A] B] ); *; +; ,; -; .; sB C] /; :; tB D] ;; =; ?; @; lc mc nc [; ]; uB E] ^; _; `; {; |; }; F] G] ~; a= H] I] b= c= d= e= #e $e %e f= g= J] K] h= i= ^m j= a3 k= L] M] _m l= N] O] `m m= {m n= Be Ce De b3 o= eo P] |m p= c3 q= }m r= fo Q] ~m s= R] S] d3 t= an u= Ee Fe Ge e3 v= go T] bn w= cn x= f3 y= ho U] dn z= io V] en A= fn B= He Ie Je gn C= W] X] hn D= in E= g3 F= jo Y] jn G= Z] 0] kn H= ln I= Zf 0f 1f mn J= ko 1] nn K= h3 L= i3 M= 2] 3] j3 N= 4] 5] k3 O= l3 P= Ug Vg m3 Q= 6] 7] n3 R= Wg o3 S= p3 T= 8] 9] q3 U= !] #] r3 V= s3 W= Xg Yg Zg t3 X= $] %] u3 Y= v3 Z= w3 0= '] (] x3 1= )] *] y3 2= z3 3= 0g 1g 2g A3 4= +] ,] B3 5= C3 6= D3 7= -] .] E3 8= /] :] F3 9= G3 != `g {g |g H3 #= ;] =] I3 $= Ej Fj Gj ?] @] [] J3 %= K3 '= ]] ^] L3 (= _] `] M3 )= N3 *= 3g 4g O3 += {] |] P3 ,= 5g Q3 -= R3 .= }] ~] S3 /= a^ b^ T3 := U3 ;= 6g 7g 8g V3 == c^ d^ W3 ?= X3 @= Y3 [= e^ f^ Z3 ]= g^ h^ 03 ^= 13 _= 9g !g #g 23 `= i^ j^ 33 {= 43 |= 53 }= k^ l^ 63 ~= m^ n^ on a? 73 b? }g ~g 83 c? o^ p^ 93 d? ah 2f 3f 4f [ |c }c ~c ad bd cd dd ed fd 4d 5d ph qh EM w0 FM x0 hB iB Pj Qj q^ r^ e? f? g? h? Rj Sj s^ t^ !3 #3 i? j? k? l? 'e (e oc pc )e *e qc rc sc tc gg hg +e ,e 5f 6f !d #d $d %d

117 return None 2yd-ezdP TjBJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJCl_M$35V`M%36V{M'37V(3TlUlrhih)3*3mo+3,3-3.3/3:3;3=3?3@3[3]3|M^3Bd_3}MfG`3~MgGnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo{3aNhG|3bNiG}3~3TJa4shcNb4c4d4e4Xbf4g4h4i4j4UJVJ8V) WJ9V!Vk4l4m4XJn4GmGAHA*lo4.e#Vgbsfp4q4Ujr4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z40414243444dN54$V64748494th%V'V(V)VBl!4#4$4%4YJZJ0J1JuceN'4uh*VC fNvcAggNvhl D +VKx,V(4Vj)4-V*4.V+4,4/V-4.4/4hNiN:4;4=4jN?4@4[4kNlN]4mN^4nNoN_4pN`4{4qNrN|4}4~4sNtNa5uNvNb5c5d5wNe5f5g5xNh5yNi5j5zNANk5l5BNCNm5n5DNENo5FNGNHNp5INJNq5KNLNr5MNs5NNt5ONu5v5w5Wjx5y5z5A5PNQN:VB5RN;VSNC5TN=V2J?V@V[V]V^VD5_VE5F5UN`VG5{V|VH5}VI5J5K5HmIm#l+lDlxgVl,lJmXjL5M5YjN5~VaWwcxcO5bWcWyczcP5dWeWAcBcQ5fWgW/e:eR5S5VNhWjgkgT5U5WNiW$g%g3JV5jWkWW5X5lWmWLxY5nWoWZ505pWqWKm15WlrWCcDcLm25EcXlsWFc3545YltWGcHcMm55ZluW;e=e6575XNvWlgmg8595YNwWngog!5#5ZNxWpgqg$5%50NyW'g(gAjBj'5(5)51NzWrgsg*5+52NAWtgug,5-53NBWvgwg.5/54NCW)g*gDWEWFW:5GW;5=5HWIW?5@5[5;n+ 5NIAJAKAjGkG6NLAMANAlGmGnG7NOAPAQAoG]5^5_5`5Zj{5|5}5~58NjbQ 9Na6Cdb6JWkb4Jc6Ddd6KWlb5Je6!N#N$N%Nf6g6h6i6'Nj6k6l6(N)Nm6n6*N+N0jo6p6,N-Nq6LWr6.Ns6MWt6u6NWEdFdKcv6w66JLcx6/NRA7J8Jy6z6A6B6mbnbZb0bC6D6pGqG:N;N=N?NobE69J!J#J@N[N]NF6pbqb^N_N`N{NG6H6rbsbI6J6rGsGSATAtGuG|N}NtbubK6L6~NaO$J%JbOcOM6N6McNcOcO6P6Q6'J(J)J*J+J,JR6S6T6W U6-J.J/JV6X W6:J;J=JX6?JY Y6@J[JZ6, PcwhOW- PWQW. RWSW061626NmOmdOeOfO0lxlvGxhyhPmQm1l2lwGxGyGzGzhAhTW3646UWVW5666WWBhCh76861jfhXWgO96hOiOjOkO!6lOmOnOoO#6pOqOrODhEhFhsO$6tO%6uOvOwO'6xO(6yOzOAO)6BO*6CODOEO+6FO,6GOHOIO-6JO.6KOLOMO/6NO:6OOPOGhHhIhJhKhLhYWQO;6ZWRO=6MhNh?6@6[6]60W1W^6_62j3j`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7SOr7s7TOt7u74j5jv7w7x7y7z7A7B7C72W3W4W5WD7E7F7G76j7jQcH7]JI78jJ79jK7L71b2b3b4b6W7WvbR H I M7N7!jO7P7#jQ7R7$jS7UOT7%jtfU7VOV7'jRmSm3l4lWOXOAGBGOhPhTmUmYOZOCGDGEGFGygzgVmWm0O1O2O3OGGHGylzlQhRhW7X7Y7Z70717ShTh8W9W27!W#W$W37%WUhVh'W4757(W6777WhXhO 4OwbufxbybzbAbBbCb8797(j5O!7)j#7*j$7+j%7'76O(7)7chlhmh^J)W_J*WUAVA,j-j.j/j*7+7,7-7.7/7:7;7`J{J|J}J7O8O9O!O:j;j=7?7@7[7~JaK#O$ObKcK=j?j]7^7_7`7dKeKfKgK%O'OhKiK@j[j{7|7}7~7jKkKlKmKnKoKpKqKYhZhXmYm(O)Oa8b8IGJG0h1hZm0m5l*O+O,OKGAl]j-Oc8.O2hd8/O3h:O;O=O4h?O@O[Oe8]O^j^OWA5h6h+Wf8g87h8h,W-Wh8i8j8k8_O`O9h!h.W/Wl8m8{O|O}O~O#h$h:W;Wn8o8aPbP_j`jcPdPp8q8ePfP{j|j=W?Wr8s8gPhP%h'hiPjP@W[Wt8u8kPlP(h)h]W^Wv8w8mPnP*h+h_W`Wx8y8oPpPz8A8,h-h{W|WqPrPB8C8.h/hD8E8}j~jsPtPF8G8}W~WuPH8I8aX:hbXcXJ8K8dXeXL8M8N8O8P8Q8fXgXR8S8hXiXT8U8V8W8jXkXrKsKlXmXX8Y8tKuKZ808vfwf1m2mvP6l7lwPxPyPzPAPxfyf8lBP3m4mCPDPEPFPGPHPIPJP1828nXoXKPLPMPNPpXqXrXsXOPPP3848tXuXQPRP58Rc68Z 0 Db5b6bSP78akTP88bkvXwXxXEb/ yXzX: AXBX98!8ckdkSc#8Tc$8UcVc%8'8WcXc(8)8YcZc*8+8UPVPWPXPYPZPvKwK0P1P2P3PxKyKzKAKBKCKDKEK4P5P6P7PFKGKHKIKJKKKLKMKNKOKJ m ;h,8-8CXzfPKQK1 2 RKSK3 4 %oDXEX'o.8/8:8;8zoAo(o)o*o+oBoCo,o-o.o/oek=8XAYAFXGX8P9P!P#P$P%P?8#bn $b'P(P0c@8[8%bTKHX)P*P+PAfDo]8bh^8_eJf`e; fkUKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K$l,P_8IX-P`8JX.P{8KX|8~lam=hjh}8~88pa9b9c9d9e9f9g9h9i9j9k9l9/Pm9|en9:PLGo9;PMG9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pp9=PNGq9?POGr9s9$Kt9?h@Pu9v9w9x9Jdy9z9A9B9C9%K'KLX'b(KMXNXD9E9F9)KG9tn5A6A7mH9KfOX2c%fI9J9gkK9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9[P;9PX=9?9@9[9@hQXRXSXTX9l]9^9_9`9*K+K,K-K-d]P{9[hUXS ^P.d.g_P]hE T VXMxWX|9hk}9XX~9YXa!b!ZXc!d!e!`P{Pf!g!h!|Pi!j!k!}P~Pl!aQm!bQcQn!dQo!p!eQfQq!r!s!gQhQt!iQjQu!v!w!kQx!y!z!lQA!mQB!C!nQoQD!E!pQqQF!G!rQsQH!tQuQvQI!wQxQJ!yQzQK!AQL!BQM!CQN!O!P!ikQ!R!S!T!DQEQ0XU!FQ1XGQV!HQ2X.K3X4X5X6X7XW!8XX!Y!IQ9XZ!!X#X0!$X1!2!3!unvn5m8m%l+gbm9mwnjk4!5!kk6!%X'X/d:d7!(X)X;d=d8!*X+X?d@d9!,X-XLfMf!!#!JQ.XCgDg$!%!KQ/X:g;g/K'!:X;X(!)!=X?XNx*!@X[X+!,!]X^X-!.!cm_X[d]dxn/!dm`X^d_d:!;!em{X`d{d=!?!fm|XNfOf@![!LQ}XEgFg]!^!MQ~XGgHg_!`!NQaYIgJg{!|!OQbY=g?gCjDj}!~!a#PQcYKgLgb#c#QQdYMgNgd#e#RQeYOgPgf#g#SQfY@g[ggYhYiYh#jYi#j#kYlYk#l#m#Eo)bTQ7A8A9APGQGUQ!A#A$ARGSGTGVQ%A'A(AUGn#o#p#q#lkr#s#t#u#WQ5c= XQv#}ew#mY6c:Kx#~ey#nY7c;Kz#YQZQ0Q1QA#B#C#D#2QE#F#G#3Q4QH#I#5Q6QmkJ#K#7Q8QL#oYM#9QN#pYO#P#qYafbf~dQ#R#=KaeS#!Q)A?K@KT#U#V#W#8c9cLdMdX#Y#VGWG#Q$Q%Q'Q!cZ#[K]K^K(Q)Q*Q0##c$c+Q,Q-Q.Q1#2#%c'c3#4#XGYG*A+AZG0G/Q:Q(c)c5#6#;Q=Q_K`K?Q@Q7#8#becede9#!###{K|K}K~KaLbL$#%#'#Fb(#cLdLeL)#Gb*#fLgLhL+#iLHb,#jLkL-#*bee^hrY+bsYtY,buYvY.#/#:#ynzn[Q]Q^Q_QElFl_h`hAnBn`Q{Q1G2G3G4G{h|hwY;#=#xYyY?#@#zY}h~h[#]#nkghAY|Q^#}Q~QaRbR_#cRdReRfR`#gRhRiRaibicijR{#kR|#lRmRnR}#oR~#pRqRrRa$sRb$tRuRvRc$wRd$xRyRzRe$ARf$BRCRDRg$ERh$FRGRdieifigihiiiBYHRi$CYIRj$jikik$l$m$n$DYEYo$p$okpkq$r$s$t$u$v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$JRM$N$KRO$P$qkrkQ$R$S$T$U$V$W$X$FYGYHYIYY$Z$0$1$sktkfe2$lL3$uk4$vk5$6$NdOdPdQdJYKY*c? 6 7 8 7$8$wk9$!$xk#$$$yk%$LR'$zk'f($MR)$AkCnDngmhmNROR5G6GlimiEnFnPRQR7G8GGlHlnioiGnHnRRSRTRUR9G!GIlJlpiqi*$+$,$-$.$/$risiLYMY:$NYOYPY;$QYtiuiRY=$?$SY@$[$viwi' VR+c(f,c-c.c/c:c;c]$^$BkWR_$Ck`$Dk{$Ek|$}$XR~$a%dhnhohmLTYnLUY,A-AFkGkHkIkb%c%d%e%f%g%h%i%oLpLqLrLYRZR0R1RJkKkj%k%l%m%sLtL2R3RuLvLLkMkn%o%p%q%wLxLyLzL4R5RALBLNkOkr%s%t%u%CLDLELFLGLHLILJLxiyiInJnimjmv%w%#G$Gzi,gKnLn6R7Rkm8R%G'GPk9Rx%!RAiy%#RBi$R%R'RCi(R)R*Rz%+RQk,R.ADiEiVYA%B%FiGiWYXYC%D%E%F%-R.RHiIiYYZYG%H%/R:R;R=RJiKi0Y1YI%J%?R@RRkSk[R]RK%L%^R_RTkUk2Y3YM%N%`R{RLiMi|R}R4Y5YO%P%~RaSNiOi6Y7YQ%R%bScSPiQi8Y9YS%T%dSeSU%V%RiSi!Y#YfSgSW%X%TiUiY%Z%VkWkhSiS0%1%$Y%YjS2%3%'YVi(Y)Y4%5%*Y+Y6%7%8%9%!%#%,Y-Y$%%%.Y/Y'%(%)%*%:Y;YKLLL=Y?Y+%,%MLNL-%.%)f*fMnNnkSlmlSmSnSoSpSqS+f,frSsSOnPntSuSvSmmwSxSnmyS/%:%@Y[YzSASBSCS]Y^Y_Y`YDSES;%=%{Y|YFSGS?%ge@%IbJb=cRdSdHS[%XkIS]%Yk}Y~YaZ?c-bbZcZ.bdZeZ^%_%Zk0khe`%ie{%jeke|%}%leme~%a'neoeb'c'JSKSLSMSNSOSOLPLPSQSRSSSQLRLSLTLULVLWLXLTSUSVSWSYLZL0L1L2L3L4L5L6L7L9 K Wid'e'fZ-f8L9LKbLb!L#LMbNbMqgZhZNqf'g'h'i'.p/pOqPqQqRq:p;pSqTqUqVq1kj'/A:AiZjZXSYSZS0S1S2Sk'XdL Yd3S4Spel'm'Zd$LkZ5S6S7S.f=pn'ffUfgf@ 2k%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L'l8So'lZ9Sp'mZ!Sq'nZr'ompmXikhs't'@pu'v'w'x'y'z'A'B'C'D'E'F'#SG'ifH'$S(GI'%S)G[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqJ''S*GK'(S+GL'M'_LN'Yi)SO'P'Q'R'0dS'T'U'V'W'`L{LoZ/b|LpZqZX'Y'Z'(lQnRn^A_A?m0'VfrZ[c;f1'2'3k3'4'5'6'7'8'9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'^'_'`'{'|'}'~'a(b(c(d(e(f(*Sg(sZh(i(j(k(ZitZuZvZwZ!ll(m(n(o(}L~LaMbMqe+Sp(0ixZU ,Sre/g-S1iF V yZOxzZq(4kr(AZs(BZt(u(CZv(w(x(.S/Sy(z(A(:SB(C(D(;S=SE(?SF(@S[SG(]SH(I(^S_SJ(K(L(`S{SM(|S}SN(O(P(~SQ(R(S(aTT(bTU(V(cTdTW(X(eTfTY(Z(gThT0(iTjTkT1(lTmT2(nToT3(pT4(qT5(rT6(7(8(5k9(!(#($(sTtTDZ%(uTEZvT'(wTFZcMGZHZIZJZKZ((LZ)(*(xTMZ+(NZOZ,(PZ-(Sn.(TnUn6m@m)l-gqm[mVn6k/(:(7k;(seQZRZteue=(veSZTZwexe?(yeUZVZzeAe@(WfWZXZXfYfWn[(yTYZRgSgTgXn](]gzTZZ^g_gdM^(0Z1Z_(`(2Z3ZPx{(4Z5Z|(}(6Z7ZYn~(Berm8ZCeDeZna)Eesm9ZFeGe0nb)Hetm!ZIeJe1nc)Zfum#Z0f1f2nd)AT$ZUgVgWg3ne)XgBT%ZYgZgf)g)0gCT'Z1g2gh)i)`gDT(Z{g|gEjFjGjj)k)l)vm)Z3g4g5gm)n)6gwm*Z7g8g4no)9gET+Z!g#g5np)FT,Z}g~gah-Z.Z/Zq):Zr)s);Z=Zt)u)v)Fo;bGT`A{A|A,G-GHT}A~AaB.G/G:GITbBcBdB;Gw)x)y)z)8kA)B)C)D)JT_c[ KTE)jfF)?Z`ceMG)kfH)@Z{cfMI)LTMTNTOTJ)K)L)M)PTN)O)P)QTRTQ)R)STTT9kS)T)UTVTU)[ZV)WTW)]ZX)Y)^ZlfmfMeZ)0)gMNe1)XTeBhMiM2)3)4)5)|c}c2d3d6)7)=G?GYTZT0T1T~c8)jMkMlM2T3T4T9)adbd5T6T7T8T!)#)cddd$)%)@G[GfBgB]G^G9T!Tedfd')()#T$TmMnM%T'T))*)OePeQe+),)-)oMpMqMrMsMtM.)/):)Ob;)uMvMwM=)Pb?)xMyMzM@)AMQb[)BMCM])=bRe2i_Z?b`Z{Z@b|Z}Z^)_)`)6n7n(T)T*T+T_G`G3i4i8n9n,T-T{G|G}G~G5i6i~Z{)|)a0b0})~)c07i8ia*b*!khhd0.Tc*/T:T;T=Td*?T@T[T]Te*^T_T`T9i!i#i{Tf*|Tg*}T~TaUh*bUi*cUdUeUj*fUk*gUhUiUl*jUm*kUlUmUn*nUo*oUpUqUp*rUq*sUtU$i%i'i(i)i*ie0uUr*f0vUs*+i,it*u*v*w*g0h0x*y*#k$kz*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*wUV*W*xUX*Y*%k'kZ*0*1*2*3*4*5*6*i0j0k0l07*8*9*!*(k)kSe#*DM$**k%*+k'*(*4d5d6d7dm0n0gd] # $ )***,k+*,*-k-*.*.k/*yU:*/k=f;*zU=*:k!n#nAUBUCUDUaHbH-i.i$n%nEUFUcHdHeHfH/i:i'n(nGUHUIUJUgHhHiHjH;i=i?*@*[*]*^*_*?i@io0p0`*q0r0s0{*t0[i]iu0|*}*v0~*a+^i_i( KUhd?fidjdkdldmdndb+c+;kLUd+=ke+?kf+@kg+h+MUi+j+ehphqhEMw0FMx0hBiB[k]k^k_kk+l+m+n+o+p+q+r+GMHMIMJMNUOUPUQU`k{ks+t+u+v+KMLMRUSUMMNM|k}kw+x+y+z+OMPMQMRMTUUUSMTM~kalA+B+C+D+UMVMWMXMYMZM0M1M`i{i)n*nVUWUE+F+kHlH|i}i+n,nXUYUxmZUmHnHbl0UG+1U~iH+2Uaj3U4U5Ubj6U7U8UI+9Ucl!UjBcjdjy0J+K+ejfjz0A0L+M+N+O+#U$UgjhjB0C0P+Q+%U'U(U)UijjjD0E0R+S+*U+Udlel,U-UT+U+.U/UflglF0G0V+W+:U;Ukjlj=U?UH0I0X+Y+@U[UmjnjJ0K0Z+0+]U^UojpjL0M01+2+_U`U3+4+qjrjN0O0{U|U5+6+sjtj7+8+hlil}U~U9+!+P0Q0aV#+$+R0ujS0T0%+'+U0V0(+)+*+++,+-+W0X0.+/+Y0Z0:+;+=+?+00102M3M2030@+[+4M5M]+^+@f[f-n.nbVcVymzmAmBmdVeV]f^ffVCm/n:ngVhVDmiVEmFmjVkV_+`+4050lVmVnVoV60708090pVqV{+|+!0#0rVsV}+Te~+RbSbod8d9dtVa,jluVb,kl$0%0'0pd[b(0)0]b*0+0c,d,llmlUee,Vef,WeXeg,h,YeZei,j,0e1ek,l,vVwVxVyVzVAV6M7MBVCVDVEV8M9M!M#M$M%M'M(MFVGVHVIV)M*M+M,M-M.M/M:M;M=M% M vjm,n,,0_f?M@MTbUb[M]MVbWbfr-0.0gro,p,q,r,dqeqhrirjrkrfqgqlrmrnrornls,kBlB/0:0JVKVLVMVNVOVt,'dN (dPVQV2eu,v,)d^M;0RVSVTV`fhqw,

118 

119 @property 1abcd

120 def serialization_alias(self) -> str | None: 1abcd

121 sa = self.field_info.serialization_alias 3zd P fb qf Ad ih Hf *d rf +d ig ) e f g h i j k gb C l D hb ib Yb * Ic Jc If ol jb Cd kb Dd lb - . pl fh 3b 4b vb Gd wj R H I O wb xb yb zb Ab Bb Cb Z 0 Db 5b 6b Eb / : 7b 8b 9b !b J m Hd 1 2 3 4 Id n Xabzj `e ; 1c #f {e jh {f Bf $f Cf Bg 'b o p q r s t u 2c S E T 3c 4c Kd (b |d }d |f ql 5c }e 6c ~e 7c +b ,b rl gh Pd Qd *c cf xj ? 6 7 8 ' +c ,c -c .c /c :c ;c Ib Jb =c Rd Sd ?c -b .b Td Ud Vd Wd 9 K df Kb Lb Mb Nb ef L gf @ @c /f hf kh }f Ef :f Ff Qg /b v w x y z A B [c U F V ]c ^c 1d :b Ke Le ~f sl _c jf `c kf {c ?b @b tl hh 6d 7d gd nf yj ] # $ ( hd id jd kd ld md nd Rb Sb od 8d 9d pd [b ]b !d #d $d %d % M of Tb Ub Vb Wb pf N

122 return sa or None 3zd P fb qf Ad ih Hf *d rf +d ig ) e f g h i j k gb C l D hb ib Yb * Ic Jc If ol jb Cd kb Dd lb - . pl fh 3b 4b vb Gd wj R H I O wb xb yb zb Ab Bb Cb Z 0 Db 5b 6b Eb / : 7b 8b 9b !b J m Hd 1 2 3 4 Id n Xabzj `e ; 1c #f {e jh {f Bf $f Cf Bg 'b o p q r s t u 2c S E T 3c 4c Kd (b |d }d |f ql 5c }e 6c ~e 7c +b ,b rl gh Pd Qd *c cf xj ? 6 7 8 ' +c ,c -c .c /c :c ;c Ib Jb =c Rd Sd ?c -b .b Td Ud Vd Wd 9 K df Kb Lb Mb Nb ef L gf @ @c /f hf kh }f Ef :f Ff Qg /b v w x y z A B [c U F V ]c ^c 1d :b Ke Le ~f sl _c jf `c kf {c ?b @b tl hh 6d 7d gd nf yj ] # $ ( hd id jd kd ld md nd Rb Sb od 8d 9d pd [b ]b !d #d $d %d % M of Tb Ub Vb Wb pf N

123 

124 @property 1abcd

125 def default(self) -> Any: 1abcd

126 return self.get_default() 2BJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJ_MTlUl-w}MfG~MgGnooopoqoaNhGbNiGTJ9V!VXJGAHAdN$VfNgN+V,V-V.V/VQN;V2J^V_V|V#l,lN,O,P,Q,R,S,T,bWcWU,V,W,X,Y,Z,0,1,2,3,4,dWeW5,6,[0*,]0+,^0,,_0-,`0.,VNhW{0/,|0:,i-j-k-l-m-n-o-p-q-r-lWmWs-t-u-v-w-x-y-z-A-B-C-D-E-F-nWoWG-H-I-J-i15-;l6-=l7-j18-?l9-XlsWk1!-@l#-l1$-m1%-[l'-n1(-]l)-YltWo1*-^l+-y1{-z1|-A1}-B1~-C1a.YNwWD1b.E1c.F1d.G1e.H1f.I1g.J1h.ZNxWK1i.L1j.01y.11z.21A.31B.41C.2NAW51D.61E.71F.81G.91H.!1I.#1J.3NBW$1K.%1L.;n5NIAJAKAjGkG6NLAMANAlGmGnG7NOAPAQAoG8N4J5J!N#N$N%N/NRApGqG:N;N=N?NrGsGSATAtGuG|N}NdOeOfO0lxlvG1l2lwGxGyGzGTWUWVWWWgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOYWQOZWROSOTO3l4lWOXOAGBGYOZOCGDGEGFG0O1O2O3OGGHGylzl8W9W!W#W$W%W'W(W4O^J_JUAVA(O)OIGJG5l*OKGAl-O.O/O:O;O=O?O@O[O^O+W,W-W.W/W:W;WcPdP]W^W_W`WT.U.V.W.X.Y.Z.0.{W|WqPrPsPtP}W~WaXfXgXhXiXSPTPUPVPWPXPYPZPvKwK0P1P2P3PxKyKzKAKBKCKDKEK4P5P6P7PFKGKHKIKJKKKLKMKNKOKCXPKQKRKSKzoAoBoCoXAYAFXGX8P9P!P#P$P%PTKu`v`UKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K,P~lamOz:PLG;PMG9p!p#p$p=PNG?POG$KMXNX)K5A6A[PPX^P_PVXWXXXYXZXEQ1X.K7X8X#X5m9m#.$.%.'.(.).*.(X)X+.,.-.../.:.;.=.?.@.[.*X+X].^.?1e/@1f/[1g/]1h/^1i/JQ.X_1j/`1k/G/H/I/J/K/L/M/N/O/P/=X?XQ/R/S/T/U/V/W/X/Y/Z/0/1/2/3/@X[X4/5/6/7/f2]/g2^/(m_/h2`/)m{/dm`Xi2|/*m}/j2~/+ma:,mb:k2c:-md:em{Xl2e:.mf:w2u:x2v:y2w:z2x:A2y:MQ~XB2z:C2A:D2B:E2C:F2D:G2E:H2F:NQaYI2G:J2H:Y2W:Z2X:02Y:12Z:220:QQdY321:422:523:624:725:826:927:RQeY!28:#29:EoTQ7A8A9APGQGUQ!A#A$ARGSGTGVQ%A'A(AUGWQ:K;KYQZQ0Q1Q!Q)AVGWG#Q$Q%Q'QXGYG*A+AZG0G/Q:Q[Q]Q^Q_QElFl`Q{Q1G2G3G4GwYxYyYzY|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRBYHRCYIRJRKRgmhmNROR5G6GPRQR7G8GGlHlRRSRTRUR9G!GIlJlLYMYNYOYPYQYRYSYVRmLnL,A-Aimjm#G$G6R7R%G'G9R!R#R$R%R'R(R)R*R,RVYWYXYYYZY0Y1Y[R]R6Y7Y8Y9Y*:+:,:-:.:/:::;:!Y#YfSgShSiS$Y%Y'Y,Y-Y.Y/YHSISJSKSLSMSNSOSOLPLPSQSRSSSQLRLSLTLULVLWLXLTSUSVSWSYLZL0L1L2L3L4L5L6L7LfZ8L9L!L#L.p/p:p;p/A:AiZjZXSYSZS0S1S2S$L%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L8Sompm.z$S(G%S)G[p]p^p_p'S*G(S+G_LpZqZ(l^A_A*SsZ,S-SyZzZAZBZCZtTEZcMKZLZOZ6m[m}:~:a;b;c;d;e;SZTZf;g;h;i;j;k;l;m;n;o;p;UZVZq;r;;2C;=2D;?2E;]mF;@2G;yTYZ[2H;]2I;4;5;6;7;8;9;!;#;$;%;2Z3Z';(;);*;+;,;-;.;/;:;;;=;?;@;4Z5Z[;];^;_;c3q=}mr=~ms=d3t=anu=sm9Ze3v=bnw=cnx=f3y=dnz=enA=fnB=tm!ZgnC=hnD=o3S=p3T=q3U=r3V=s3W=BT%Zt3X=u3Y=v3Z=w30=x31=y32=z33=CT'ZA34=B35=Q3-=R3.=S3/=T3:=U3;=wm*ZV3==W3?=X3@=Y3[=Z3]=03^=13_=ET+Z23`=33{=FoGT`A{A|A,G-GHT}A~AaB.G/G:GITbBcBdB;GJTeMfMLTMTNTOTXTeB=G?GYTZT0T1T@G[GfBgB]G^G9T!T(T)T*T+T_G`G,T-T{G|G}G~G~Za0b0c0.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUe0uUf0vUwUxUAUBUCUDUaHbHEUFUcHdHeHfHGUHUIUJUgHhHiHjHo0p0q0r0s0t0u0v0KUEMFMhBiBVUWUkHlHXUYUmHnH0U1U2U3U4U5U6U7U8U!Uy0z0A0B0C0D0E0,U-UJ0K0L0M0e?f?g?h?i?j?k?l?N0O0{U|U}U~UP0Q0R0W0X0Y0Z0tVuVvVwVxVyVzVAV6M7MBVCVDVEV8M9M!M#M$M%M'M(MFVGVHVIV)M*M+M,M-M.M/M:M;M=M,0?M@M[M]MdqeqfqgqkBlB/0:0JVKVLVMVNVOV^M

127 

128 def __post_init__(self) -> None: 1abcd

129 with warnings.catch_warnings(): 3a yd -e zd P fb qf Ad Cl Tl Ul vB Hf wB Qx -w .w lo Go Ho xB yB zB AB *d BB rf CB +d mo /w Bd no oo Io Jo po qo Ko Lo ro Mo so to No uo Oo vo wo Po xo yo :w DB ;w =w ig Xb Rx ) Sx Tx Gm *l 7f e f g h i j k .e Ux gb Vx sf Wx Xx Yx Zx 0x 1x 2x 3x 4x 5x 6x Bl 8f uc ?w C vc Ag 7x @w [w l D ]w ^w Hm Im _w #l G +l Dl xg Vl ,l Jm ,d pn qn wc xc yc zc Ac Bc /e :e jg kg $g %g ^ _ ` { | } qd rd -l .l /l Km Wl Cc Dc :l ;l =l ?l Lm Ec Xl Fc @l [l rn ]l Yl Gc Hc sn ^l _l `l {l |l Mm Zl ;e =e }l lg mg ng og pg qg 'g (g rg sg tg ug vg wg )g *g hb ib Yb EB * FB GB HB IB Ic `w {w |w }w ~w ax bx cx dx JB Jc KB ;n + LB If MB ?e @e [e NB OB jb Q Cd kb 8x 9x Dd lb !x #x =n ?n fw $x %x bp cp PB Ed QB Fd RB SB Kc 'x (x Lc )x *x @n [n gw mb nb Zb 0b dp +x ep ,x ob hw iw pb qb ]n jw ^n kw rb sb _n lw `n mw tb ub {n nw |n Mc Nc Oc -x .x /x :x ;x =x W ?x @x X [x ]x Y ^x _x , TB UB Pc VB WB XB YB `x - {x |x . }x Nm pr Om ZB 0l 0B xl qr Pm rr Qm 1B 1l sr 2l 2B tr ur 3B 4B ~x ay vr wr 5B 6B xr 7B 8B 9B !B #B by cy dy ey fy gy hy iy jy ky ly my ny oy py qy ry sy ty uy fp gp vy wy $B yr %B xy yy zy Ay By Cy Dy Ey Fy Gy Hy Iy Jy zr 'B Ar (B Qc Ky Ly My Ny }n ow 1b 2b 3b 4b )B *B Oy Py vb +B Gd ,B -B .B /B R :B H I tf Rm Br Sm ;B 3l Cr 4l =B Tm Dr Um ?B yg Er zg @B Vm Fr Wm [B yl Gr zl ]B Hr ^B Ir Jr _B `B Kr Lr {B |B }B O ~B Qy Ry wb uf xb aC bC yb cC dC eC zb fC Ab gC Bb hC iC Cb jC ch hp ip Sy Ty jp kp Uy lp mp Vy Wy np op Xy Yy pp qp Zy 0y rp sp 1y 2y Xm tp Ym 3y Zm up 0m 4y 5l vp Al 5y 6y 7y 8y 9y !y #y $y %y 'y (y )y *y wp +y xp yp ,y -y zp .y Ap /y Bp :y Cp ;y Dp =y Ep ?y Fp @y Gp [y Hp ]y ^y Ip Jp _y Kp `y Lp {y Mp |y Np Op }y ~y Pp az Qp bz Rp cz Sp dz Tp ez fz gz sd td Qo ex ~ ab fx Ro gx So ud vd To hx Uo ix bb cb Vo jx db Wo eb Xo kx lx vf wf 1m Mr 2m kC 6l lC 7l Nr xf yf 8l Or 3m Pr 4m mC 9f !f Yo mx Zo nx wd xd ox 0o 1o px Rc hz Z 0 nC oC Db pC qC 5b rC 6b sC tC uC iz jz kz lz Eb / mz nz : oz pz qz rz sz Sc tz uz Tc vz wz Uc Up Vc Vp xz Wc Wp Xc yz Xp zz Yc Yp Zc Az Zp Bz 2o 3o 4o ]e ^e 5o 6o 7o 7b 8b 8o 9o !o #o $o 9b !b vC J wC xC m yC Hd zC AC Qr Rr zf BC CC 0p Cz 1 1p 2 Dz 2p Ez 3 3p 4 Fz Id DC EC FC %o 4p Gz 'o zo Hz Ao Iz (o )o *o +o Bo Co ,o -o .o /o 5p Jz 6p Kz Lz qx #b n $b Sr Tr Ur 0c %b Af rx Mz Nz Do b 1db2dbc _e Jf `e ; 1c #f {e $l ~l am oH {f pH GC Oz Pz 7p iq jq qH rH sH tH Bf uH $f vH Cf 8p Qz |e 9p !p kq lq #p $p mq nq %p oq 'p (p pq )p qq *p +p rq ,p -p Rz wH Sz Tz Bg Jd HC 'b IC JC tn 7m ag o p q r s t u Kf KC 2c LC %f MC NC OC PC QC RC SC TC UC VC WC 9l bg -d Uz S .d .g XC Vz Wz E T Xz Yz un vn Zz 5m 5 8m %l +g bm 9m wn Df ~n ao /d :d ;d =d ?d @d Lf Mf Cg Dg :g ;g ^b _b `b {b |b }b 3e 4e !m #m $m cm [d ]d %m 'm (m )m xn dm ^d _d *m +m ,m -m em `d {d .m /m :m ;m fm Nf Of =m Eg Fg Gg Hg Ig Jg =g ?g Kg Lg Mg Ng Og Pg @g [g 3c 4c Kd xH (b yH zH AH BH |d 0z 1z 2z 3z 4z 5z 6z 7z 8z CH }d DH Eo )b EH |f FH Pf Qf Rf GH HH 5c = }e 6c YC ZC ~e 7c 0C 1C :o sx 2C 3C Vr Wr IH af JH bf KH LH ~d 4C 5C ae 6C 7C tx ;o ux =o 8c 9c Ld Md Xr 8C Yr 9C !c vx wx #c $c xx ?o @o yx %c 'c [o zx (c )c ]o Ax be ce de !C #C $C %C 'C (C Fb )C *C Gb +C ,C Hb -C .C *b MH NH ee OH PH QH RH /C +b :C ;C ,b yn pw zn SH El qw Fl TH An rw Bn UH sw tw VH WH =C ?C uw vw XH YH ww ZH 0H 1H 2H 3H @C [C ]C ^C _C `C {C |C }C ~C aD bD cD dD eD fD gD hD iD jD Zr 0r kD lD xw 4H yw 5H mD nD oD pD qD rD sD tD uD vD wD xD zw 6H Aw 7H fe yD zD AD BD ^o Bx Nd _o Od Cx Pd Qd 8H 9H CD DD *c !H cf #H $H %H 'H ? (H 6 7 8 'f Cn Bw Dn )H gm Cw hm *H En Dw Fn +H Gl Ew Hl ,H Gn Fw Hn -H Il Gw Jl .H Hw Iw /H :H Jw Kw ;H =H Lw Mw ?H @H [H ' ]H ED FD +c (f ,c ^H _H -c `H {H .c |H /c :c }H ~H ;c aI bI dh 1r 2r GD HD 3r 4r ID JD 5r 6r KD LD 7r 8r MD ND 9r !r OD PD #r $r QD RD In %r Jn SD im 'r jm TD ,g UD Kn (r Ln VD km )r WD XD YD ZD 0D 1D 2D 3D 4D 5D 6D 7D *r 8D +r 9D ,r !D -r #D .r $D /r %D :r 'D ;r (D =r )D ?r @r [r *D +D ]r ,D ^r -D _r .D `r /D {r :D |r ;D =D ?D 5e 6e sq 9z tq !z ~b ac uq #z vq $z 7e 8e wq %z bc cc xq 'z dc ec yq (z )f *f Mn Nw Nn cI lm dI +f ,f On Ow Pn eI mm fI nm Pw cg dg zq )z Aq *z 9e !e Bq +z ge @D [D gI hI Ib Jb iI jI =c kI lI Rd mI nI Sd oI pI qI ]D ^D _D `D ?c -b {D |D .b }D ~D aE bE he cE dE ie eE fE je ke }r gE le me hE ~r iE ne oe as jE Cq Dq Sf Tf Eq Fq Gq Hq Td Ud Iq Jq Vd Wd Kq Lq rI 9 sI tI K uI df vI wI Qw Rw -f xI yI bs kE Kb cs Lb lE ds mE Mb es Nb nE ef zI AI BI CI Mq fs oE Nq .p pE /p qE Oq Pq rE Qq sE Rq :p ;p Sq Tq Uq Vq gs tE uE vE ,z Xd L Yd Sw Tw Uw pe Zd .f -z wE xE =p d ff Uf gf @ @c /f hf 'l om pm DI }f EI yE .z /z ?p Wq Xq FI GI HI II Ef JI :f KI Ff @p :z if [p ]p Yq Zq ^p _p 0q 1q `p 2q {p |p 3q }p 4q ~p aq 5q bq cq ;z LI =z ?z Qg 0d zE /b AE BE (l Qn Rn ?m eg v w x y z A B Vf CE [c DE ;f EE FE GE HE IE JE KE LE ME NE OE !l fg qe @z U re /g PE [z ]z F V ^z _z Sn Tn Un `z 6m ! @m )l -g qm [m Vn Gf bo co do se te ue ve we xe ye ze Ae Wf Xf Yf ]m Wn Rg Sg Tg Xn ]g ^g _g fc gc hc ic jc kc lc mc nc #e $e %e ^m _m `m {m Yn Be rm Ce De eo |m }m fo ~m an Zn Ee sm Fe Ge go bn cn ho dn io en fn 0n He tm Ie Je gn hn in jo jn kn ln 1n Zf um 0f 1f mn ko nn 2n Ug Vg Wg 3n Xg Yg Zg 0g 1g 2g `g {g |g vm 3g 4g 5g 6g wm 7g 8g 4n 9g !g #g on 5n }g ~g ah ]c ^c 1d MI :b NI OI PI QI Ke {z |z }z ~z aA bA cA dA eA RI Le SI Fo ;b TI ~f UI 2f 3f 4f VI WI _c [ jf `c QE kf {c RE `o Dx SE TE hs XI lf mf YI Me UE Ne VE {o Ex |c }c 2d 3d is WE ~c Fx ad bd |o Gx cd dd }o Hx ed fd ~o Ix Oe Pe Qe XE YE ZE Ob 0E Pb 1E Qb 2E =b ZI Re 0I 1I 3E ?b 4E @b 6n Vw 7n 2I 8n Ww 9n 3I Xw 4I 5E 6E Yw 5I Zw 6I 7I 8I 7E 8E 9E !E #E $E %E 'E (E )E *E js +E ,E 0w 9I -E .E /E :E ;E =E ?E @E 1w !I Se [E ]E ap Jx 4d 5d 6d 7d #I $I ^E gd %I nf 'I ] (I # $ =f !n 2w #n )I $n 3w %n *I 'n 4w (n +I 5w ,I 6w -I 7w .I ( /I _E hd ?f id :I jd ;I kd =I ld md ?I @I nd [I eh ks `E ls {E ms |E ns }E os ~E ps aF )n qs *n bF +n rs ,n cF xm ss dF eF fF gF hF iF jF kF lF mF nF oF pF ts qF us vs rF ws sF xs tF ys uF zs vF As wF Bs xF Cs yF Ds zF Es AF Fs BF CF Gs DF Hs EF FF Is GF Js HF IF Ks JF Ls KF Ms Ns LF Os MF Ps NF Qs OF Rs PF Ss QF Ts RF Us SF TF Vs UF VF WF 'e (e 6q fA 7q gA 8q hA oc pc 9q iA !q jA )e #q *e kA $q lA %q mA qc rc 'q nA (q oA )q pA *q qA sc tc +q rA ,q sA @f [f -n 8w .n ]I ym 9w zm ^I Am !w Bm _I ]f ^f Cm `I /n #w :n {I Dm $w Em %w Fm |I gg hg -q tA .q uA /q vA +e ,e :q ;q wA xA Te XF YF }I ~I aJ bJ Rb Sb cJ dJ od eJ fJ 8d gJ hJ 9d iJ jJ kJ ZF 0F 1F 2F 3F 4F pd [b 5F 6F 7F ]b 8F 9F !F #F $F %F Ue 'F (F Ve )F *F We Ws Xe +F Xs ,F Ye Ys Ze -F Zs .F 0e 0s 1e /F 1s :F =q ?q @q [q ]q 5f 6f ^q _q `q {q |q !d #d }q ~q ar br cr dr er $d %d lJ % mJ nJ oJ M pJ qJ of rJ sJ tJ 'w (w )w _f uJ vJ 2s ;F Tb 3s Ub =F 4s ?F Vb 5s Wb @F pf wJ xJ yJ zJ AJ fr 6s [F gr dq ]F eq ^F hr _F ir `F jr {F kr fq gq |F lr mr nr or 7s }F 8s ~F 9s aG bG cG yA 'd N (d *w +w ,w 2e )d `f zA dG eG hq

130 # Pydantic >= 2.12.0 warns about field specific metadata that is unused 

131 # (e.g. `TypeAdapter(Annotated[int, Field(alias='b')])`). In some cases, we 

132 # end up building the type adapter from a model field annotation so we 

133 # need to ignore the warning: 

134 if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 12): 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

135 from pydantic.warnings import UnsupportedFieldAttributeWarning 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob

136 

137 warnings.simplefilter( 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob

138 "ignore", category=UnsupportedFieldAttributeWarning 

139 ) 

140 # TODO: remove after setting the min Pydantic to v2.12.3 

141 # that adds asdict(), and use self.field_info.asdict() instead 

142 field_dict = asdict(self.field_info) 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

143 annotated_args = ( 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

144 field_dict["annotation"], 

145 *field_dict["metadata"], 

146 # this FieldInfo needs to be created again so that it doesn't include 

147 # the old field info metadata and only the rest of the attributes 

148 Field(**field_dict["attributes"]), 

149 ) 

150 self._type_adapter: TypeAdapter[Any] = TypeAdapter( 2a yd-ezdP fbqfAdClTlUlvBHfwBQx-w.wloGoHoxByBzBAB*dBBrfCB+dmo/wBdnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyo:wDB;w=wigXbRx) SxTxGm*l7fe f g h i j k .eUxgbVxsfWxXxYxZx0x1x2x3x4x5x6xBl8fuc?wC vcAg7x@w[wl D ]w^wHmIm_w#lG +lDlxgVl,lJm,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYbEB* FBGBHBIBIc`w{w|w}w~waxbxcxdxJBJcKB;n+ LBIfMB?e@e[eNBOBjbQ Cdkb8x9xDdlb!x#x=n?nfw$x%xbpcpPBEdQBFdRBSBKc'x(xLc)x*x@n[ngwmbnbZb0bdp+xep,xobhwiwpbqb]njw^nkwrbsb_nlw`nmwtbub{nnw|nMcNcOc-x.x/x:x;x=xW ?x@xX [x]xY ^x_x, TBUBPcVBWBXBYB`x- {x|x. }xNmprOmZB0l0BxlqrPmrrQm1B1lsr2l2Btrur3B4B~xayvrwr5B6Bxr7B8B9B!B#Bbycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywy$Byr%BxyyyzyAyByCyDyEyFyGyHyIyJyzr'BAr(BQcKyLyMyNy}now1b2b3b4b)B*BOyPyvb+BGd,B-B.B/BR :BH I tfRmBrSm;B3lCr4l=BTmDrUm?BygErzg@BVmFrWm[BylGrzl]BHr^BIrJr_B`BKrLr{B|B}BO ~BQyRywbufxbaCbCybcCdCeCzbfCAbgCBbhCiCCbjCchhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2yXmtpYm3yZmup0m4y5lvpAl5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzsdtdQoex~ abfxRogxSoudvdTohxUoixbbcbVojxdbWoebXokxlxvfwf1mMr2mkC6llC7lNrxfyf8lOr3mPr4mmC9f!fYomxZonxwdxdox0o1opxRchzZ 0 nCoCDbpCqC5brC6bsCtCuCizjzkzlzEb/ mznz: ozpzqzrzszSctzuzTcvzwzUcUpVcVpxzWcWpXcyzXpzzYcYpZcAzZpBz2o3o4o]e^e5o6o7o7b8b8o9o!o#o$o9b!bvCJ wCxCm yCHdzCACQrRrzfBCCC0pCz1 1p2 Dz2pEz3 3p4 FzIdDCECFC%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzqx#bn $bSrTrUr0c%bAfrxMzNzDob c _eJf`e; 1c#f{e$l~lamoH{fpHGCOzPz7piqjqqHrHsHtHBfuH$fvHCf8pQz|e9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pRzwHSzTzBgJdHC'bICJCtn7mago p q r s t u KfKC2cLC%fMCNCOCPCQCRCSCTCUCVCWC9lbg-dUzS .d.gXCVzWzE T XzYzunvnZz5m5 8m%l+gbm9mwnDf~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKdxH(byHzHAHBH|d0z1z2z3z4z5z6z7z8zCH}dDHEo)bEH|fFHPfQfRfGHHH5c= }e6cYCZC~e7c0C1C:osx2C3CVrWrIHafJHbfKHLH~d4C5Cae6C7Ctx;oux=o8c9cLdMdXr8CYr9C!cvxwx#c$cxx?o@oyx%c'c[ozx(c)c]oAxbecede!C#C$C%C'C(CFb)C*CGb+C,CHb-C.C*bMHNHeeOHPHQHRH/C+b:C;C,bynpwznSHElqwFlTHAnrwBnUHswtwVHWH=C?CuwvwXHYHwwZH0H1H2H3H@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDxw4Hyw5HmDnDoDpDqDrDsDtDuDvDwDxDzw6HAw7HfeyDzDADBD^oBxNd_oOdCxPdQd8H9HCDDD*c!Hcf#H$H%H'H? (H6 7 8 'fCnBwDn)HgmCwhm*HEnDwFn+HGlEwHl,HGnFwHn-HIlGwJl.HHwIw/H:HJwKw;H=HLwMw?H@H[H' ]HEDFD+c(f,c^H_H-c`H{H.c|H/c:c}H~H;caIbIdh1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRDIn%rJnSDim'rjmTD,gUDKn(rLnVDkm)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D5e6esq9ztq!z~bacuq#zvq$z7e8ewq%zbcccxq'zdcecyq(z)f*fMnNwNncIlmdI+f,fOnOwPneImmfInmPwcgdgzq)zAq*z9e!eBq+zge@D[DgIhIIbJbiIjI=ckIlIRdmInISdoIpIqI]D^D_D`D?c-b{D|D.b}D~DaEbEhecEdEieeEfEjeke}rgElemehE~riEneoeasjECqDqSfTfEqFqGqHqTdUdIqJqVdWdKqLqrI9 sItIK uIdfvIwIQwRw-fxIyIbskEKbcsLblEdsmEMbesNbnEefzIAIBICIMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvE,zXdL YdSwTwUwpeZd.f-zwExE=pd ffUfgf@ @c/fhf'lompmDI}fEIyE.z/z?pWqXqFIGIHIIIEfJI:fKIFf@p:zif[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcq;zLI=z?zQg0dzE/bAEBE(lQnRn?megv w x y z A B VfCE[cDE;fEEFEGEHEIEJEKELEMENEOE!lfgqe@zU re/gPE[z]zF V ^z_zSnTnUn`z6m! @m)l-gqm[mVnGfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1dMI:bNIOIPIQIKe{z|z}z~zaAbAcAdAeARILeSIFo;bTI~fUI2f3f4fVIWI_c[ jf`cQEkf{cRE`oDxSETEhsXIlfmfYIMeUENeVE{oEx|c}c2d3disWE~cFxadbd|oGxcddd}oHxedfd~oIxOePeQeXEYEZEOb0EPb1EQb2E=bZIRe0I1I3E?b4E@b6nVw7n2I8nWw9n3IXw4I5E6EYw5IZw6I7I8I7E8E9E!E#E$E%E'E(E)E*Ejs+E,E0w9I-E.E/E:E;E=E?E@E1w!ISe[E]EapJx4d5d6d7d#I$I^Egd%Inf'I] (I# $ =f!n2w#n)I$n3w%n*I'n4w(n+I5w,I6w-I7w.I( /I_Ehd?fid:Ijd;Ikd=Ildmd?I@Ind[Iehks`Els{Ems|Ens}Eos~EpsaF)nqs*nbF+nrs,ncFxmssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWF'e(e6qfA7qgA8qhAocpc9qiA!qjA)e#q*ekA$qlA%qmAqcrc'qnA(qoA)qpA*qqAsctc+qrA,qsA@f[f-n8w.n]Iym9wzm^IAm!wBm_I]f^fCm`I/n#w:n{IDm$wEm%wFm|Igghg-qtA.quA/qvA+e,e:q;qwAxATeXFYF}I~IaJbJRbSbcJdJodeJfJ8dgJhJ9diJjJkJZF0F1F2F3F4Fpd[b5F6F7F]b8F9F!F#F$F%FUe'F(FVe)F*FWeWsXe+FXs,FYeYsZe-FZs.F0e0s1e/F1s:F=q?q@q[q]q5f6f^q_q`q{q|q!d#d}q~qarbrcrdrer$d%dlJ% mJnJoJM pJqJofrJsJtJ'w(w)w_fuJvJ2s;FTb3sUb=F4s?FVb5sWb@FpfwJxJyJzJAJfr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGyA'dN (d*w+w,w2e)d`fzAdGeGhq

151 Annotated[annotated_args], 

152 config=self.config, 

153 ) 

154 

155 def get_default(self) -> Any: 1abcd

156 if self.field_info.is_required(): 2BJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJ_MTlUl-w}MfG~MgGnooopoqoaNhGbNiGTJ9V!VXJGAHAdN$VfNgN+V,V-V.V/VQN;V2J^V_V|V#l,lN,O,P,Q,R,S,T,bWcWU,V,W,X,Y,Z,0,1,2,3,4,dWeW5,6,[0*,]0+,^0,,_0-,`0.,VNhW{0/,|0:,i-j-k-l-m-n-o-p-q-r-lWmWs-t-u-v-w-x-y-z-A-B-C-D-E-F-nWoWG-H-I-J-i15-;l6-=l7-j18-?l9-XlsWk1!-@l#-l1$-m1%-[l'-n1(-]l)-YltWo1*-^l+-y1{-z1|-A1}-B1~-C1a.YNwWD1b.E1c.F1d.G1e.H1f.I1g.J1h.ZNxWK1i.L1j.01y.11z.21A.31B.41C.2NAW51D.61E.71F.81G.91H.!1I.#1J.3NBW$1K.%1L.;n5NIAJAKAjGkG6NLAMANAlGmGnG7NOAPAQAoG8N4J5J!N#N$N%N/NRApGqG:N;N=N?NrGsGSATAtGuG|N}NdOeOfO0lxlvG1l2lwGxGyGzGTWUWVWWWgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOYWQOZWROSOTO3l4lWOXOAGBGYOZOCGDGEGFG0O1O2O3OGGHGylzl8W9W!W#W$W%W'W(W4O^J_JUAVA(O)OIGJG5l*OKGAl-O.O/O:O;O=O?O@O[O^O+W,W-W.W/W:W;WcPdP]W^W_W`WT.U.V.W.X.Y.Z.0.{W|WqPrPsPtP}W~WaXfXgXhXiXSPTPUPVPWPXPYPZPvKwK0P1P2P3PxKyKzKAKBKCKDKEK4P5P6P7PFKGKHKIKJKKKLKMKNKOKCXPKQKRKSKzoAoBoCoXAYAFXGX8P9P!P#P$P%PTKu`v`UKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K,P~lamOz:PLG;PMG9p!p#p$p=PNG?POG$KMXNX)K5A6A[PPX^P_PVXWXXXYXZXEQ1X.K7X8X#X5m9m#.$.%.'.(.).*.(X)X+.,.-.../.:.;.=.?.@.[.*X+X].^.?1e/@1f/[1g/]1h/^1i/JQ.X_1j/`1k/G/H/I/J/K/L/M/N/O/P/=X?XQ/R/S/T/U/V/W/X/Y/Z/0/1/2/3/@X[X4/5/6/7/f2]/g2^/(m_/h2`/)m{/dm`Xi2|/*m}/j2~/+ma:,mb:k2c:-md:em{Xl2e:.mf:w2u:x2v:y2w:z2x:A2y:MQ~XB2z:C2A:D2B:E2C:F2D:G2E:H2F:NQaYI2G:J2H:Y2W:Z2X:02Y:12Z:220:QQdY321:422:523:624:725:826:927:RQeY!28:#29:EoTQ7A8A9APGQGUQ!A#A$ARGSGTGVQ%A'A(AUGWQ:K;KYQZQ0Q1Q!Q)AVGWG#Q$Q%Q'QXGYG*A+AZG0G/Q:Q[Q]Q^Q_QElFl`Q{Q1G2G3G4GwYxYyYzY|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRBYHRCYIRJRKRgmhmNROR5G6GPRQR7G8GGlHlRRSRTRUR9G!GIlJlLYMYNYOYPYQYRYSYVRmLnL,A-Aimjm#G$G6R7R%G'G9R!R#R$R%R'R(R)R*R,RVYWYXYYYZY0Y1Y[R]R6Y7Y8Y9Y*:+:,:-:.:/:::;:!Y#YfSgShSiS$Y%Y'Y,Y-Y.Y/YHSISJSKSLSMSNSOSOLPLPSQSRSSSQLRLSLTLULVLWLXLTSUSVSWSYLZL0L1L2L3L4L5L6L7LfZ8L9L!L#L.p/p:p;p/A:AiZjZXSYSZS0S1S2S$L%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L8Sompm.z$S(G%S)G[p]p^p_p'S*G(S+G_LpZqZ(l^A_A*SsZ,S-SyZzZAZBZCZtTEZcMKZLZOZ6m[m}:~:a;b;c;d;e;SZTZf;g;h;i;j;k;l;m;n;o;p;UZVZq;r;;2C;=2D;?2E;]mF;@2G;yTYZ[2H;]2I;4;5;6;7;8;9;!;#;$;%;2Z3Z';(;);*;+;,;-;.;/;:;;;=;?;@;4Z5Z[;];^;_;c3q=}mr=~ms=d3t=anu=sm9Ze3v=bnw=cnx=f3y=dnz=enA=fnB=tm!ZgnC=hnD=o3S=p3T=q3U=r3V=s3W=BT%Zt3X=u3Y=v3Z=w30=x31=y32=z33=CT'ZA34=B35=Q3-=R3.=S3/=T3:=U3;=wm*ZV3==W3?=X3@=Y3[=Z3]=03^=13_=ET+Z23`=33{=FoGT`A{A|A,G-GHT}A~AaB.G/G:GITbBcBdB;GJTeMfMLTMTNTOTXTeB=G?GYTZT0T1T@G[GfBgB]G^G9T!T(T)T*T+T_G`G,T-T{G|G}G~G~Za0b0c0.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUe0uUf0vUwUxUAUBUCUDUaHbHEUFUcHdHeHfHGUHUIUJUgHhHiHjHo0p0q0r0s0t0u0v0KUEMFMhBiBVUWUkHlHXUYUmHnH0U1U2U3U4U5U6U7U8U!Uy0z0A0B0C0D0E0,U-UJ0K0L0M0e?f?g?h?i?j?k?l?N0O0{U|U}U~UP0Q0R0W0X0Y0Z0tVuVvVwVxVyVzVAV6M7MBVCVDVEV8M9M!M#M$M%M'M(MFVGVHVIV)M*M+M,M-M.M/M:M;M=M,0?M@M[M]MdqeqfqgqkBlB/0:0JVKVLVMVNVOV^M

157 return Undefined 3-w 3dbOz .z

158 return self.field_info.get_default(call_default_factory=True) 2BJCJDJAABACAEJFJGJHJIJJJKJLJMJDAEAFANJOJPJQJRJSJ_MTlUl}MfG~MgGnooopoqoaNhGbNiGTJ9V!VXJGAHAdN$VfNgN+V,V-V.V/VQN;V2J^V_V|V#l,lN,O,P,Q,R,S,T,bWcWU,V,W,X,Y,Z,0,1,2,3,4,dWeW5,6,[0*,]0+,^0,,_0-,`0.,VNhW{0/,|0:,i-j-k-l-m-n-o-p-q-r-lWmWs-t-u-v-w-x-y-z-A-B-C-D-E-F-nWoWG-H-I-J-i15-;l6-=l7-j18-?l9-XlsWk1!-@l#-l1$-m1%-[l'-n1(-]l)-YltWo1*-^l+-y1{-z1|-A1}-B1~-C1a.YNwWD1b.E1c.F1d.G1e.H1f.I1g.J1h.ZNxWK1i.L1j.01y.11z.21A.31B.41C.2NAW51D.61E.71F.81G.91H.!1I.#1J.3NBW$1K.%1L.;n5NIAJAKAjGkG6NLAMANAlGmGnG7NOAPAQAoG8N4J5J!N#N$N%N/NRApGqG:N;N=N?NrGsGSATAtGuG|N}NdOeOfO0lxlvG1l2lwGxGyGzGTWUWVWWWgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOYWQOZWROSOTO3l4lWOXOAGBGYOZOCGDGEGFG0O1O2O3OGGHGylzl8W9W!W#W$W%W'W(W4O^J_JUAVA(O)OIGJG5l*OKGAl-O.O/O:O;O=O?O@O[O^O+W,W-W.W/W:W;WcPdP]W^W_W`WT.U.V.W.X.Y.Z.0.{W|WqPrPsPtP}W~WaXfXgXhXiXSPTPUPVPWPXPYPZPvKwK0P1P2P3PxKyKzKAKBKCKDKEK4P5P6P7PFKGKHKIKJKKKLKMKNKOKCXPKQKRKSKzoAoBoCoXAYAFXGX8P9P!P#P$P%PTKu`v`UKVKWKZA0A1AXKYKZK0K1K2K3K4K5K2A3A4A6K7K8K9K!K#K,P~lam:PLG;PMG9p!p#p$p=PNG?POG$KMXNX)K5A6A[PPX^P_PVXWXXXYXZXEQ1X.K7X8X#X5m9m#.$.%.'.(.).*.(X)X+.,.-.../.:.;.=.?.@.[.*X+X].^.?1e/@1f/[1g/]1h/^1i/JQ.X_1j/`1k/G/H/I/J/K/L/M/N/O/P/=X?XQ/R/S/T/U/V/W/X/Y/Z/0/1/2/3/@X[X4/5/6/7/f2]/g2^/(m_/h2`/)m{/dm`Xi2|/*m}/j2~/+ma:,mb:k2c:-md:em{Xl2e:.mf:w2u:x2v:y2w:z2x:A2y:MQ~XB2z:C2A:D2B:E2C:F2D:G2E:H2F:NQaYI2G:J2H:Y2W:Z2X:02Y:12Z:220:QQdY321:422:523:624:725:826:927:RQeY!28:#29:EoTQ7A8A9APGQGUQ!A#A$ARGSGTGVQ%A'A(AUGWQ:K;KYQZQ0Q1Q!Q)AVGWG#Q$Q%Q'QXGYG*A+AZG0G/Q:Q[Q]Q^Q_QElFl`Q{Q1G2G3G4GwYxYyYzY|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRBYHRCYIRJRKRgmhmNROR5G6GPRQR7G8GGlHlRRSRTRUR9G!GIlJlLYMYNYOYPYQYRYSYVRmLnL,A-Aimjm#G$G6R7R%G'G9R!R#R$R%R'R(R)R*R,RVYWYXYYYZY0Y1Y[R]R6Y7Y8Y9Y*:+:,:-:.:/:::;:!Y#YfSgShSiS$Y%Y'Y,Y-Y.Y/YHSISJSKSLSMSNSOSOLPLPSQSRSSSQLRLSLTLULVLWLXLTSUSVSWSYLZL0L1L2L3L4L5L6L7LfZ8L9L!L#L.p/p:p;p/A:AiZjZXSYSZS0S1S2S$L%L'L(L;A=A?A)L*L+L,L-L.L/L:L;L@A[A]A=L?L@L[L]L^L8Sompm$S(G%S)G[p]p^p_p'S*G(S+G_LpZqZ(l^A_A*SsZ,S-SyZzZAZBZCZtTEZcMKZLZOZ6m[m}:~:a;b;c;d;e;SZTZf;g;h;i;j;k;l;m;n;o;p;UZVZq;r;;2C;=2D;?2E;]mF;@2G;yTYZ[2H;]2I;4;5;6;7;8;9;!;#;$;%;2Z3Z';(;);*;+;,;-;.;/;:;;;=;?;@;4Z5Z[;];^;_;c3q=}mr=~ms=d3t=anu=sm9Ze3v=bnw=cnx=f3y=dnz=enA=fnB=tm!ZgnC=hnD=o3S=p3T=q3U=r3V=s3W=BT%Zt3X=u3Y=v3Z=w30=x31=y32=z33=CT'ZA34=B35=Q3-=R3.=S3/=T3:=U3;=wm*ZV3==W3?=X3@=Y3[=Z3]=03^=13_=ET+Z23`=33{=FoGT`A{A|A,G-GHT}A~AaB.G/G:GITbBcBdB;GJTeMfMLTMTNTOTXTeB=G?GYTZT0T1T@G[GfBgB]G^G9T!T(T)T*T+T_G`G,T-T{G|G}G~G~Za0b0c0.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUe0uUf0vUwUxUAUBUCUDUaHbHEUFUcHdHeHfHGUHUIUJUgHhHiHjHo0p0q0r0s0t0u0v0KUEMFMhBiBVUWUkHlHXUYUmHnH0U1U2U3U4U5U6U7U8U!Uy0z0A0B0C0D0E0,U-UJ0K0L0M0e?f?g?h?i?j?k?l?N0O0{U|U}U~UP0Q0R0W0X0Y0Z0tVuVvVwVxVyVzVAV6M7MBVCVDVEV8M9M!M#M$M%M'M(MFVGVHVIV)M*M+M,M-M.M/M:M;M=M,0?M@M[M]MdqeqfqgqkBlB/0:0JVKVLVMVNVOV^M

159 

160 def validate( 1abcd

161 self, 

162 value: Any, 

163 values: dict[str, Any] = {}, # noqa: B006 

164 *, 

165 loc: tuple[int | str, ...] = (), 

166 ) -> tuple[Any, list[dict[str, Any]]]: 

167 try: 3Yabu^ ZabBJ CJ DJ AA BA CA EJ FJ GJ HJ IJ JJ KJ LJ MJ DA EA FA NJ OJ PJ QJ RJ SJ Cl _M $3 `M %3 {M '3 (3 Tl Ul z` )3 Qx .w A` B` C` D` *3 E` mo /w F` G` H` I` +3 ,3 -3 .3 /3 :3 ;3 =3 ?3 @3 [3 ]3 0ab|M ^3 1ab_3 }M fG `3 ~M gG Io Jo Ko Lo Mo No Oo Po {3 aN hG |3 bN iG J` K` L` M` N` O` P` Q` R` S` T` U` :w }3 ~3 ;w =w V` W` X` a4 cN b4 c4 d4 e4 f4 g4 h4 i4 j4 UJ VJ 8V WJ k4 l4 m4 XJ n4 Gm GA HA *l o4 #V 2abp4 q4 r4 s4 t4 u4 v4 w4 x4 y4 z4 A4 B4 C4 D4 E4 F4 G4 H4 I4 J4 K4 L4 M4 N4 O4 P4 Q4 R4 S4 T4 U4 V4 W4 X4 Y4 Z4 04 14 24 34 44 dN 54 64 74 84 94 %V 'V (V )V Bl !4 #4 $4 %4 YJ ZJ 0J 1J v^ 3abw^ eN '4 *V fN gN 7x @w [w ]w ^w Kx (4 )4 *4 +4 ,4 -4 .4 /4 hN iN :4 ;4 =4 jN ?4 @4 [4 kN lN ]4 mN ^4 nN oN _4 pN `4 {4 qN rN |4 }4 ~4 sN tN a5 uN vN b5 c5 d5 wN e5 f5 g5 xN h5 yN i5 j5 zN AN k5 l5 BN CN m5 n5 DN EN o5 FN GN HN p5 IN JN q5 KN LN r5 MN s5 NN t5 ON u5 v5 w5 x5 y5 Y` z5 A5 PN QN B5 RN SN C5 TN 2J ?V [V D5 E5 F5 UN G5 H5 I5 J5 K5 Hm Im _w +l Dl Vl Jm L5 r? M5 =0 pn ?0 s? @0 qn x^ y^ 4abt? z^ 5abu? A^ B^ 6abN5 C^ D^ 7abv? E^ 8ab9ab!abw? #ab$abx? %ab'ab(abO5 )ab*ab+aby? ,ab-ab.ab/ab:ab;ab=abz? ?abA? @ab[abP5 ]ab^ab_abB? F^ G^ `abC? H^ {abD? I^ J^ |abQ5 K^ L^ }abE? M^ [0 ]0 F? G? ^0 H? I? _0 `0 R5 S5 VN {0 J? K? |0 }0 ~0 L? M? a1 N? O? b1 c1 T5 U5 WN d1 P? Q? e1 3J V5 UV R? VV S? WV T? W5 X5 U? V? W? X? Y? Z? Lx Y5 mB 0? nB 1? oB 2? Z5 05 3? 4? 5? 6? 7? 8? f1 g1 9? !? -l #? $? .l /l Km 15 Wl h1 %? '? :l i1 ;l (? )? =l *? +? j1 ?l Lm 25 Xl k1 ,? -? @l l1 m1 .? /? [l rn :? n1 ]l 35 45 Yl o1 sn ;? ^l p1 _l =? ?? `l @? [? {l |l Mm 55 Zl q1 ]? ^? }l r1 s1 _? `? t1 {? |? u1 v1 65 75 XN w1 }? ~? x1 y1 z1 a@ b@ A1 c@ d@ B1 C1 85 95 YN D1 e@ f@ E1 F1 G1 g@ h@ H1 i@ j@ I1 J1 !5 #5 ZN K1 k@ l@ L1 M1 N1 m@ n@ O1 o@ p@ P1 Q1 $5 %5 0N R1 q@ r@ S1 s@ t@ '5 u@ T1 U1 v@ w@ V1 x@ y@ W1 X1 (5 )5 1N Y1 z@ A@ Z1 01 11 B@ C@ 21 D@ E@ 31 41 *5 +5 2N 51 F@ G@ 61 71 81 H@ I@ 91 J@ K@ !1 #1 ,5 -5 3N $1 L@ M@ %1 '1 (1 N@ O@ )1 P@ Q@ *1 +1 .5 /5 4N ,1 R@ S@ -1 :5 ;5 =5 Z` 0` 1` 2` 3` 4` 5` 6` 7` 8` 9` !` #` N^ O^ $` %` '` (` )` *` +` ,` P^ Q^ -` .` /` :` R^ S^ ;` =` ?` @` HW [` ]` IW ^` _` `` {` |` }` ~` a{ b{ c{ ?5 @5 `w {w |w }w ~w ax bx [5 cx dx d{ ;n e{ 5N IA JA KA jG kG 6N LA MA NA lG mG nG 7N OA PA QA oG 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{ ]5 ^5 _5 `5 {5 |5 }5 ~5 F{ G{ H{ I{ x, y, ~abT^ abbbbbcbbdbbebbfbbgbbU^ hbbV^ ibbW^ jbbkbblbbX^ J{ 8N Y^ mbb9N a6 Z^ nbbb6 JW 4J c6 d6 KW 5J e6 !N #N $N %N f6 g6 h6 i6 'N j6 k6 l6 (N )N m6 n6 *N +N o6 p6 ,N -N q6 r6 .N s6 t6 u6 obbpbbqbb0^ 1^ 2^ 3^ 4^ rbbsbbtbb5^ 6^ ubbvbbwbbxbbv6 w6 6J x6 /N RA 7J 8J y6 z6 A6 B6 C6 D6 pG qG :N ;N =N ?N E6 9J !J #J @N [N ]N F6 ^N _N `N {N G6 H6 I6 J6 rG sG SA TA tG uG |N }N K6 L6 ~N aO $J %J bO cO M6 N6 O6 P6 Q6 'J (J )J *J +J ,J R6 S6 T6 U6 -J .J /J V6 W6 :J ;J =J X6 ?J Y6 @J [J Z6 ybb7^ 8^ 9^ zbbAbb!^ #^ Bbb$^ OW PW QW RW SW 06 16 26 Nm Om dO eO fO 0l xl vG Pm Qm 1l 2l wG xG yG zG 36 46 56 66 76 86 CbbDbbEbbFbbGbbHbb%^ '^ (^ IbbK{ L{ XW gO 96 hO iO jO kO !6 lO mO nO oO #6 pO qO rO sO $6 tO %6 uO vO wO '6 xO (6 yO zO AO )6 BO *6 CO DO EO +6 FO ,6 GO HO IO -6 JO .6 KO LO MO /6 NO :6 OO PO QO ;6 RO =6 ?6 @6 [6 ]6 ^6 _6 `6 {6 |6 }6 ~6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 n7 o7 p7 q7 SO r7 s7 TO t7 u7 v7 w7 x7 y7 z7 A7 B7 C7 D7 E7 F7 G7 H7 ]J I7 J7 K7 L7 M{ N{ 6W 7W O{ P{ Q{ R{ S{ T{ U{ V{ W{ X{ M7 N7 O7 P7 Q7 R7 S7 UO T7 )^ JbbU7 VO V7 Rm Sm 3l 4l WO XO AG BG Tm Um YO ZO CG DG EG FG Vm Wm 0O 1O 2O 3O GG HG yl zl W7 X7 Y7 Z7 07 17 27 37 47 57 67 77 Y{ KbbZ{ 4O 0{ 1{ 2{ 3{ 4{ 5{ 87 97 5O !7 #7 $7 %7 '7 6O (7 )7 ^J )W _J *W UA VA *7 +7 ,7 -7 .7 /7 :7 ;7 `J {J |J }J 7O 8O 9O !O =7 ?7 @7 [7 ~J aK #O $O bK cK ]7 ^7 _7 `7 dK eK fK gK %O 'O hK iK {7 |7 }7 ~7 jK kK lK mK nK oK pK qK Xm Ym (O )O a8 b8 IG JG Zm 0m 5l *O +O ,O KG Al -O c8 .O d8 /O :O ;O =O ?O @O [O e8 ]O ^O WA f8 g8 h8 i8 j8 k8 _O `O l8 m8 {O |O }O ~O n8 o8 aP bP cP dP p8 q8 eP fP r8 s8 gP hP iP jP t8 u8 kP lP v8 w8 mP nP x8 y8 oP pP T@ U@ V@ W@ .1 /1 z8 A8 qP rP B8 C8 D8 E8 sP tP F8 G8 uP H8 I8 J8 K8 L8 M8 N8 O8 P8 Q8 R8 S8 T8 U8 V8 W8 rK sK X8 Y8 tK uK Z8 08 1m 2m vP 6l 7l wP xP yP zP AP 8l BP 3m 4m CP DP EP FP GP HP IP JP 18 28 KP LP MP NP OP PP 38 48 QP RP 58 68 6{ 7{ 8{ 9{ !{ #{ ${ %{ '{ SP 78 TP 88 vX wX xX yX zX AX BX 98 !8 #8 $8 %8 '8 (8 )8 *8 +8 UP VP WP XP YP ZP vK wK 0P 1P 2P 3P xK yK zK AK BK CK DK EK 4P 5P 6P 7P FK GK HK IK JK KK LK MK NK OK Lbb({ Mbb){ *{ +{ ,8 -8 NbbPK QK RK SK ,{ -{ Obb*^ Pbb%o DX EX 'o .8 /8 :8 ;8 (o )o *o +o ,o -o .o /o =8 XA YA 8P 9P !P #P $P %P ?8 qx QbbRbbn SbbTbb'P (P @8 [8 UbbVbb+^ ,^ -^ .^ TK HX /^ :^ ;^ .{ )P =^ ?^ *P +P rx ]8 Wbb^8 Xbb@^ YbbUK VK WK ZA 0A 1A XK YK ZK 0K 1K 2K 3K 4K 5K 2A 3A 4A 6K 7K 8K 9K !K #K $l ,P _8 -P `8 .P {8 |8 ~l am /{ }8 GC Pz :{ ;{ ={ ?{ ~8 @{ 8p Qz [{ ]{ ^{ _{ a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 Zbb/P m9 0bbn9 :P LG o9 ;P MG kq lq mq nq oq pq qq rq p9 =P NG q9 ?P OG `{ {{ |{ }{ ~{ a| b| c| d| e| f| g| Rz r9 s9 Sz Tz h| i| j| t9 @P u9 v9 w9 x9 y9 z9 A9 B9 C9 %K 'K LX (K D9 E9 F9 )K G9 tn 5A 6A 7m H9 OX 1bbI9 J9 K9 L9 M9 N9 O9 P9 Q9 R9 S9 T9 U9 V9 W9 X9 Y9 Z9 09 19 29 39 49 59 69 79 89 99 !9 #9 $9 %9 '9 (9 )9 *9 +9 ,9 -9 .9 /9 :9 [P ;9 =9 ?9 @9 [9 QX RX SX TX 9l ]9 ^9 _9 `9 *K +K ,K -K [^ 2bb]^ ]P {9 UX ^P _P XC Vz Wz Xz Yz Mx |9 }9 ~9 a! b! c! d! e! `P {P f! g! h! |P i! j! k! }P ~P l! aQ m! bQ cQ n! dQ o! p! eQ fQ q! r! s! gQ hQ t! iQ jQ u! v! w! kQ x! y! z! lQ A! mQ B! C! nQ oQ D! E! pQ qQ F! G! rQ sQ H! tQ uQ vQ I! wQ xQ J! yQ zQ K! AQ L! BQ M! CQ N! O! P! Q! R! k| S! T! DQ EQ U! FQ GQ V! HQ .K 3X 5X W! X! Y! IQ Z! 0! 1! 2! 3! un vn Zz 8m %l bm wn 4! X@ 5! :1 Y@ ;1 ~n =1 ao ^^ _^ 3bbZ@ `^ 4bb0@ {^ |^ 5bb6! }^ ~^ 6bb1@ a_ 7bb8bb9bb2@ !bb#bb3@ $bb%bb'bb7! (bb)bb*bb4@ +bb,bb-bb.bb/bb:bb;bb5@ =bb6@ ?bb@bb8! [bb]bb^bb7@ b_ c_ _bb8@ d_ `bb9@ e_ f_ {bb9! g_ h_ |bb!@ i_ ?1 @1 #@ $@ [1 %@ '@ ]1 ^1 !! #! JQ _1 (@ )@ `1 {1 |1 *@ +@ }1 ,@ -@ ~1 a2 $! %! KQ b2 .@ /@ c2 /K '! XV :@ YV ;@ ZV =@ (! )! ?@ @@ [@ ]@ ^@ _@ Nx *! pB `@ qB {@ rB |@ +! ,! }@ ~@ a[ b[ c[ d[ d2 e2 e[ f[ !m g[ h[ #m $m -! .! cm %m i[ j[ 'm f2 g2 k[ l[ (m m[ n[ h2 )m xn /! dm i2 o[ p[ *m j2 +m q[ r[ ,m s[ t[ k2 -m :! ;! em l2 u[ v[ .m m2 n2 w[ x[ /m y[ z[ :m ;m =! ?! fm o2 A[ B[ =m p2 q2 C[ D[ r2 E[ F[ s2 t2 @! [! LQ u2 G[ H[ v2 w2 x2 I[ J[ y2 K[ L[ z2 A2 ]! ^! MQ B2 M[ N[ C2 D2 E2 O[ P[ F2 Q[ R[ G2 H2 _! `! NQ I2 S[ T[ J2 K2 L2 U[ V[ M2 W[ X[ N2 O2 {! |! OQ P2 Y[ Z[ Q2 0[ 1[ }! 2[ R2 S2 3[ 4[ T2 5[ 6[ U2 V2 ~! a# PQ W2 7[ 8[ X2 Y2 Z2 9[ ![ 02 #[ $[ 12 22 b# c# QQ 32 %[ '[ 42 52 62 ([ )[ 72 *[ +[ 82 92 d# e# RQ !2 ,[ -[ #2 $2 %2 .[ /[ '2 :[ ;[ (2 )2 f# g# SQ *2 =[ ?[ +2 h# i# j# l| m| n| o| p| q| r| s| t| u| v| w| x| j_ k_ y| z| A| B| C| D| E| F| l_ m_ G| H| I| J| n_ o_ K| L| M| N| kY O| P| lY Q| R| S| T| U| V| W| X| Y| Z| k# l# 0z 1z 2z 3z 4z 5z 6z m# 7z 8z 0| Eo 1| TQ 7A 8A 9A PG QG UQ !A #A $A RG SG TG VQ %A 'A (A UG 2| 3| 4| 5| 6| 7| 8| 9| !| #| $| %| '| (| )| *| +| ,| -| .| /| :| ;| =| ?| @| n# o# p# q# r# s# t# u# [| ]| ^| _| z, A, }bbp_ ~bbacbbcbccbdcbecbfcbq_ gcbr_ hcbs_ icbjcbkcbt_ `| WQ u_ lcbXQ v# v_ mcbw# mY :K x# y# nY ;K z# YQ ZQ 0Q 1Q A# B# C# D# 2Q E# F# G# 3Q 4Q H# I# 5Q 6Q J# K# 7Q 8Q L# M# 9Q N# O# P# ncbocbpcbw_ x_ y_ z_ A_ qcbrcbscbB_ C_ tcbucbvcbwcbQ# R# =K S# !Q )A ?K @K T# U# V# W# X# Y# VG WG #Q $Q %Q 'Q Z# [K ]K ^K (Q )Q *Q 0# +Q ,Q -Q .Q 1# 2# 3# 4# XG YG *A +A ZG 0G /Q :Q 5# 6# ;Q =Q _K `K ?Q @Q 7# 8# 9# !# ## {K |K }K ~K aL bL $# %# '# (# cL dL eL )# *# fL gL hL +# iL ,# jL kL -# xcbD_ E_ F_ ycbzcbG_ H_ AcbI_ rY sY tY uY vY .# /# :# yn zn [Q ]Q ^Q _Q El Fl An Bn `Q {Q 1G 2G 3G 4G ;# =# ?# @# [# ]# BcbCcbDcbEcbFcbGcbJ_ K_ L_ Hcb{| || AY |Q ^# }Q ~Q aR bR _# cR dR eR fR `# gR hR iR jR {# kR |# lR mR nR }# oR ~# pR qR rR a$ sR b$ tR uR vR c$ wR d$ xR yR zR e$ AR f$ BR CR DR g$ ER h$ FR GR HR i$ IR 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$ JR M$ N$ KR O$ P$ Q$ R$ S$ T$ U$ V$ W$ X$ Y$ Z$ 0$ 1$ 2$ lL 3$ 4$ 5$ 6$ }| ~| JY KY a} b} c} d} e} f} g} h} i} j} 7$ 8$ 9$ !$ #$ $$ %$ LR '$ M_ Icb($ MR )$ Cn Dn gm hm NR OR 5G 6G En Fn PR QR 7G 8G Gl Hl Gn Hn RR SR TR UR 9G !G Il Jl *$ +$ ,$ -$ .$ /$ :$ ;$ =$ ?$ @$ [$ k} Jcbl} VR m} n} o} p} q} r} ]$ ^$ WR _$ `$ {$ |$ }$ XR ~$ a% mL TY nL UY ,A -A b% c% d% e% f% g% h% i% oL pL qL rL YR ZR 0R 1R j% k% l% m% sL tL 2R 3R uL vL n% o% p% q% wL xL yL zL 4R 5R AL BL r% s% t% u% CL DL EL FL GL HL IL JL In Jn im jm v% w% #G $G Kn Ln 6R 7R km 8R %G 'G 9R x% !R y% #R $R %R 'R (R )R *R z% +R ,R .A A% B% C% D% E% F% -R .R G% H% /R :R ;R =R I% J% ?R @R [R ]R K% L% ^R _R M% N% `R {R |R }R O% P% ~R aS Q% R% bS cS S% T% dS eS @[ [[ ][ ^[ ,2 -2 U% V% fS gS W% X% Y% Z% hS iS 0% 1% jS 2% 3% 4% 5% 6% 7% 8% 9% !% #% $% %% '% (% )% *% KL LL +% ,% ML NL -% .% Mn Nn kS lm lS mS nS oS pS qS rS sS On Pn tS uS vS mm wS xS nm yS /% :% zS AS BS CS DS ES ;% =% FS GS ?% @% s} t} u} v} w} x} y} z} A} HS [% IS ]% }Y ~Y aZ bZ cZ dZ eZ ^% _% `% {% |% }% ~% a' b' c' JS KS LS MS NS OS OL PL PS QS RS SS QL RL SL TL UL VL WL XL TS US VS WS YL ZL 0L 1L 2L 3L 4L 5L 6L 7L KcbB} LcbC} D} E} d' e' Mcb8L 9L !L #L F} G} NcbN_ OcbMq gZ hZ Nq f' g' h' i' Oq Pq Qq Rq Sq Tq Uq Vq j' /A :A XS YS ZS 0S 1S 2S k' ,z PcbQcbL RcbScb3S 4S l' m' TcbUcbO_ P_ Q_ R_ $L kZ S_ T_ U_ H} 5S V_ W_ 6S 7S -z n' VcbX_ Wcb%L 'L (L ;A =A ?A )L *L +L ,L -L .L /L :L ;L @A [A ]A =L ?L @L [L ]L ^L 'l 8S o' 9S p' !S q' r' om pm I} s' yE /z J} K} L} M} t' N} @p :z O} P} Q} R} u' v' w' x' y' z' A' B' C' D' E' F' Xcb#S G' YcbH' $S (G I' %S )G Yq Zq 0q 1q 2q 3q 4q 5q J' 'S *G K' (S +G S} T} U} V} W} X} Y} Z} 0} 1} 2} 3} ;z L' M' =z ?z 4} 5} 6} N' )S O' P' Q' R' S' T' U' V' W' `L {L oZ |L X' Y' Z' (l Qn Rn ^A _A ?m 0' rZ Zcb1' 2' 3' 4' 5' 6' 7' 8' 9' !' #' $' %' '' (' )' *' +' ,' -' .' /' :' ;' =' ?' @' [' ]' ^' _' `' {' |' }' ~' a( b( c( d( e( f( *S g( h( i( j( k( tZ uZ vZ wZ !l l( m( n( o( }L ~L aM bM Y_ 0cbZ_ +S p( xZ ,S -S PE [z ]z ^z _z Ox q( r( s( t( u( v( w( x( .S /S y( z( A( :S B( C( D( ;S =S E( ?S F( @S [S G( ]S H( I( ^S _S J( K( L( `S {S M( |S }S N( O( P( ~S Q( R( S( aT T( bT U( V( cT dT W( X( eT fT Y( Z( gT hT 0( iT jT kT 1( lT mT 2( nT oT 3( pT 4( qT 5( rT 6( 7( 8( 9( !( 7} #( $( sT tT %( uT vT '( wT cM GZ IZ (( )( *( xT +( ,( -( Sn .( Tn Un `z @m )l qm Vn /( _[ :( .2 bo /2 co :2 do 0_ 1_ 1cb`[ 2_ 2cb{[ 3_ 4_ 3cb;( 5_ 6_ 4cb|[ 7_ 5cb6cb7cb}[ 8cb9cb~[ !cb#cb$cb=( %cb'cb(cba] )cb*cb+cb,cb-cb.cb/cbb] :cbc] ;cb=cb?( ?cb@cb[cbd] 8_ 9_ ]cbe] !_ ^cbf] #_ $_ _cb@( %_ '_ `cbg] (_ ;2 =2 h] i] ?2 j] k] ]m @2 Wn [( yT [2 l] m] ]2 ^2 _2 n] o] `2 p] q] {2 |2 Xn ]( zT }2 r] s] ~2 dM ^( 0V t] 1V u] 2V v] _( `( w] x] y] z] A] B] Px {( sB C] tB D] uB E] |( }( F] G] H] I] J] K] ^m a3 L] M] _m N] O] `m {m Yn ~( rm b3 eo P] |m c3 }m fo Q] ~m R] S] d3 an Zn a) sm e3 go T] bn cn f3 ho U] dn io V] en fn 0n b) tm gn W] X] hn in g3 jo Y] jn Z] 0] kn ln 1n c) um mn ko 1] nn h3 i3 2] 3] j3 4] 5] k3 l3 2n d) AT m3 6] 7] n3 o3 p3 8] 9] q3 !] #] r3 s3 3n e) BT t3 $] %] u3 v3 w3 '] (] x3 )] *] y3 z3 f) g) CT A3 +] ,] B3 C3 D3 -] .] E3 /] :] F3 G3 h) i) DT H3 ;] =] I3 ?] @] j) [] J3 K3 ]] ^] L3 _] `] M3 N3 k) l) vm O3 {] |] P3 Q3 R3 }] ~] S3 a^ b^ T3 U3 m) n) wm V3 c^ d^ W3 X3 Y3 e^ f^ Z3 g^ h^ 03 13 4n o) ET 23 i^ j^ 33 43 53 k^ l^ 63 m^ n^ on 73 5n p) FT 83 o^ p^ 93 q) r) s) 8} 9} !} #} $} %} '} (} )} *} +} ,} -} )_ *_ .} /} :} ;} =} ?} @} [} +_ ,_ ]} ^} _} `} -_ ._ {} |} }} ~} ;Z a~ b~ =Z c~ d~ e~ f~ g~ h~ i~ j~ k~ l~ t) u) {z |z }z ~z aA bA cA v) dA eA m~ Fo n~ GT `A {A |A ,G -G HT }A ~A aB .G /G :G IT bB cB dB ;G 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~ w) x) y) z) A) B) C) D) O~ P~ Q~ R~ B, C, {cb/_ |cb}cb~cbadbbdbcdbddb:_ edb;_ fdb=_ gdbhdbidb?_ S~ JT @_ jdbKT E) [_ kdbF) ?Z eM G) H) @Z fM I) LT MT NT OT J) K) L) M) PT N) O) P) QT RT Q) R) ST TT S) T) UT VT U) V) WT W) X) Y) ldbmdbndb]_ ^_ __ `_ {_ odbpdbqdb|_ }_ rdbsdbtdbudbZ) 0) gM 1) XT eB hM iM 2) 3) 4) 5) 6) 7) =G ?G YT ZT 0T 1T 8) jM kM lM 2T 3T 4T 9) 5T 6T 7T 8T !) #) $) %) @G [G fB gB ]G ^G 9T !T ') () #T $T mM nM %T 'T )) *) +) ,) -) oM pM qM rM sM tM .) /) :) ;) uM vM wM =) ?) xM yM zM @) AM [) BM CM ]) vdb~_ a` b` wdbxdbc` d` ydbe` _Z `Z {Z |Z }Z ^) _) `) 6n 7n (T )T *T +T _G `G 8n 9n ,T -T {G |G }G ~G {) |) }) ~) a* b* zdbAdbBdbCdbDdbEdbf` g` h` FdbT~ U~ d0 .T c* /T :T ;T =T d* ?T @T [T ]T e* ^T _T `T {T f* |T g* }T ~T aU h* bU i* cU dU eU j* fU k* gU hU iU l* jU m* kU lU mU n* nU o* oU pU qU p* rU q* sU tU uU r* vU 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* wU V* W* xU X* Y* Z* 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* !* #* DM $* %* '* (* V~ W~ m0 n0 X~ Y~ Z~ 0~ 1~ 2~ 3~ 4~ 5~ 6~ )* ** +* ,* -* .* /* yU :* i` Gdb;* zU =* !n #n AU BU CU DU aH bH $n %n EU FU cH dH eH fH 'n (n GU HU IU JU gH hH iH jH ?* @* [* ]* ^* _* `* {* |* }* ~* a+ 7~ Hdb8~ KU 9~ !~ #~ $~ %~ '~ b+ c+ LU d+ e+ f+ g+ h+ MU i+ j+ EM w0 FM x0 hB iB k+ l+ m+ n+ o+ p+ q+ r+ GM HM IM JM NU OU PU QU s+ t+ u+ v+ KM LM RU SU MM NM w+ x+ y+ z+ OM PM QM RM TU UU SM TM A+ B+ C+ D+ UM VM WM XM YM ZM 0M 1M )n *n VU WU E+ F+ kH lH +n ,n XU YU xm ZU mH nH 0U G+ 1U H+ 2U 3U 4U 5U 6U 7U 8U I+ 9U !U jB J+ K+ L+ M+ N+ O+ #U $U P+ Q+ %U 'U (U )U R+ S+ *U +U ,U -U T+ U+ .U /U V+ W+ :U ;U =U ?U X+ Y+ @U [U Z+ 0+ ]U ^U 1+ 2+ _U `U q^ r^ s^ t^ !3 #3 3+ 4+ {U |U 5+ 6+ 7+ 8+ }U ~U 9+ !+ aV #+ $+ %+ '+ (+ )+ *+ ++ ,+ -+ .+ /+ :+ ;+ =+ ?+ 2M 3M @+ [+ 4M 5M ]+ ^+ -n .n bV cV ym zm Am Bm dV eV fV Cm /n :n gV hV Dm iV Em Fm jV kV _+ `+ lV mV nV oV pV qV {+ |+ rV sV }+ ~+ (~ )~ *~ +~ ,~ -~ .~ /~ :~ tV a, uV b, $0 %0 '0 (0 )0 *0 +0 c, d, e, f, g, h, i, j, k, l, vV wV xV yV zV AV 6M 7M BV CV DV EV 8M 9M !M #M $M %M 'M (M FV GV HV IV )M *M +M ,M -M .M /M :M ;M =M Idb;~ Jdb=~ ?~ @~ m, n, Kdb?M @M [M ]M [~ ]~ Ldbj` Mdbfr -0 .0 gr o, p, q, r, hr ir jr kr lr mr nr or s, kB lB JV KV LV MV NV OV t, yA NdbOdbN PdbQdbPV QV u, v, RdbSdbk` l` m` n` ^M ;0 o` p` q` ^~ RV r` s` SV TV zA w,

168 return ( 3YabZabBJ CJ DJ AA BA CA EJ FJ GJ HJ IJ JJ KJ LJ MJ DA EA FA NJ OJ PJ QJ RJ SJ Cl _M $3 %3 '3 (3 Tl Ul z` )3 Qx .w A` B` C` D` *3 E` mo /w F` G` H` I` +3 ,3 -3 .3 /3 :3 ;3 =3 ?3 @3 [3 ]3 0ab|M ^3 1ab_3 }M fG `3 ~M gG Io Jo Ko Lo Mo No Oo Po {3 aN hG |3 bN iG J` K` L` M` N` O` P` Q` R` S` T` U` :w }3 ~3 ;w =w V` W` X` a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 UJ VJ 8V WJ k4 l4 m4 XJ n4 Gm *l o4 #V 2abp4 q4 r4 s4 t4 u4 v4 w4 x4 y4 z4 A4 B4 C4 D4 E4 F4 G4 H4 I4 J4 K4 L4 M4 N4 O4 P4 Q4 R4 S4 T4 U4 V4 W4 X4 Y4 Z4 04 14 24 34 44 dN 54 64 74 84 94 %V 'V (V )V Bl !4 #4 $4 %4 YJ ZJ 0J 1J 3ab'4 *V fN gN 7x @w [w ]w ^w Kx (4 )4 *4 +4 ,4 -4 .4 /4 :4 ;4 =4 ?4 @4 [4 ]4 ^4 _4 `4 {4 |4 }4 ~4 a5 b5 c5 d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 n5 o5 p5 q5 r5 s5 t5 u5 v5 w5 x5 y5 Y` z5 A5 QN B5 C5 2J ?V [V D5 E5 F5 G5 H5 I5 J5 K5 Hm Im _w +l Jm L5 r? M5 pn s? qn 4abt? 5abu? 6abN5 7abv? 8ab9ab!abw? #ab$abx? %ab'ab(abO5 )ab*ab+aby? ,ab-ab.ab/ab:ab;ab=abz? ?abA? @ab[abP5 ]ab^ab_abB? `abC? {abD? |abQ5 }abE? [0 ]0 F? G? ^0 H? I? _0 `0 R5 S5 VN {0 J? K? |0 L? M? N? O? T5 U5 P? Q? 3J V5 UV R? VV S? WV T? W5 X5 U? V? W? X? Y? Z? Lx Y5 mB 0? nB 1? oB 2? Z5 05 3? 4? 5? 6? 7? 8? 9? !? #? $? Km 15 %? '? i1 ;l (? )? =l *? +? j1 ?l Lm 25 Xl k1 ,? -? @l l1 m1 .? /? [l rn :? n1 ]l 35 45 Yl o1 sn ;? ^l =? ?? @? [? Mm 55 ]? ^? _? `? {? |? 65 75 }? ~? y1 z1 a@ b@ A1 c@ d@ B1 C1 85 95 YN D1 e@ f@ E1 F1 G1 g@ h@ H1 i@ j@ I1 J1 !5 #5 ZN K1 k@ l@ L1 m@ n@ o@ p@ $5 %5 q@ r@ s@ t@ '5 u@ v@ w@ x@ y@ (5 )5 z@ A@ 01 11 B@ C@ 21 D@ E@ 31 41 *5 +5 2N 51 F@ G@ 61 71 81 H@ I@ 91 J@ K@ !1 #1 ,5 -5 3N $1 L@ M@ %1 N@ O@ P@ Q@ .5 /5 R@ S@ :5 ;5 =5 Z` 0` 1` 2` 3` 4` 5` 6` 7` 8` 9` !` #` $` %` '` (` )` *` +` ,` -` .` /` :` ;` =` ?` @` HW [` ]` IW ^` _` `` {` |` }` ~` a{ b{ c{ ?5 @5 `w {w |w }w ~w ax bx [5 cx dx d{ ;n e{ 5N IA JA KA jG kG 6N LA MA NA lG mG nG 7N OA PA QA oG 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{ ]5 ^5 _5 `5 {5 |5 }5 ~5 F{ G{ H{ I{ x, y, ~ababbbbbcbbdbbebbfbbgbbhbbibbjbbkbblbbJ{ 8N mbba6 nbbb6 JW 4J c6 d6 KW 5J e6 !N #N $N %N f6 g6 h6 i6 'N j6 k6 l6 (N )N m6 n6 *N +N o6 p6 ,N -N q6 r6 .N s6 t6 u6 obbpbbqbbrbbsbbtbbubbvbbwbbxbbv6 w6 6J x6 /N RA 7J 8J y6 z6 A6 B6 C6 D6 :N ;N =N ?N E6 9J !J #J @N [N ]N F6 ^N _N `N {N G6 H6 I6 J6 rG sG SA TA tG uG |N }N K6 L6 ~N aO $J %J bO cO M6 N6 O6 P6 Q6 'J (J )J *J +J ,J R6 S6 T6 U6 -J .J /J V6 W6 :J ;J =J X6 ?J Y6 @J [J Z6 ybbzbbAbbBbbOW PW QW RW SW 06 16 26 Nm Om dO eO fO 0l Pm Qm 1l 2l 36 46 56 66 76 86 CbbDbbEbbFbbGbbHbbIbbK{ L{ XW gO 96 hO iO jO kO !6 lO mO nO oO #6 pO qO rO sO $6 tO %6 uO vO wO '6 xO (6 yO zO AO )6 BO *6 CO DO EO +6 FO ,6 GO HO IO -6 JO .6 KO LO MO /6 NO :6 OO PO QO ;6 RO =6 ?6 @6 [6 ]6 ^6 _6 `6 {6 |6 }6 ~6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 n7 o7 p7 q7 SO r7 s7 TO t7 u7 v7 w7 x7 y7 z7 A7 B7 C7 D7 E7 F7 G7 H7 ]J I7 J7 K7 L7 M{ N{ 6W 7W O{ P{ Q{ R{ S{ T{ U{ V{ W{ X{ M7 N7 O7 P7 Q7 R7 S7 T7 JbbU7 V7 Rm Sm 3l 4l WO XO Tm Um YO ZO Vm Wm 0O 1O 2O 3O W7 X7 Y7 Z7 07 17 27 37 47 57 67 77 Y{ KbbZ{ 4O 0{ 1{ 2{ 3{ 4{ 5{ 87 97 !7 #7 $7 %7 '7 (7 )7 ^J )W _J *W *7 +7 ,7 -7 .7 /7 :7 ;7 `J {J |J }J 7O 8O 9O !O =7 ?7 @7 [7 ~J aK #O $O bK cK ]7 ^7 _7 `7 dK eK fK gK %O 'O hK iK {7 |7 }7 ~7 jK kK lK mK nK oK pK qK Xm Ym (O )O a8 b8 Zm 0m 5l *O -O c8 .O d8 /O :O ;O =O ?O @O [O e8 ]O ^O WA f8 g8 h8 i8 j8 k8 l8 m8 n8 o8 cP dP p8 q8 r8 s8 t8 u8 v8 w8 x8 y8 T@ U@ V@ W@ z8 A8 qP rP B8 C8 D8 E8 sP tP F8 G8 H8 I8 J8 K8 L8 M8 N8 O8 P8 Q8 R8 S8 T8 U8 V8 W8 rK sK X8 Y8 tK uK Z8 08 1m 2m 3m 4m 18 28 KP LP MP NP OP PP 38 48 QP RP 58 68 6{ 7{ 8{ 9{ !{ #{ ${ %{ '{ SP 78 TP 88 vX wX xX yX zX AX BX 98 !8 #8 $8 %8 '8 (8 )8 *8 +8 UP VP WP XP YP ZP vK wK 0P 1P 2P 3P xK yK zK AK BK CK DK EK 4P 5P 6P 7P FK GK HK IK JK KK LK MK NK OK Lbb({ Mbb){ *{ +{ ,8 -8 NbbPK QK RK SK ,{ -{ ObbPbb%o DX EX 'o .8 /8 :8 ;8 (o )o *o +o ,o -o .o /o =8 XA YA 8P 9P !P #P $P %P ?8 qx QbbRbbn SbbTbb@8 [8 UbbVbbTK HX .{ rx ]8 Wbb^8 XbbYbbUK VK WK ZA 0A 1A XK YK ZK 0K 1K 2K 3K 4K 5K 2A 3A 4A 6K 7K 8K 9K !K #K $l ,P _8 `8 {8 |8 ~l am /{ }8 GC Pz :{ ;{ ={ ?{ ~8 @{ 8p Qz [{ ]{ ^{ _{ a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 Zbb/P m9 0bbn9 :P LG o9 ;P MG kq lq mq nq oq pq qq rq p9 =P NG q9 ?P OG `{ {{ |{ }{ ~{ a| b| c| d| e| f| g| Rz r9 s9 Sz Tz h| i| j| t9 u9 v9 w9 x9 y9 z9 A9 B9 C9 %K 'K LX (K D9 E9 F9 )K G9 tn 7m H9 OX 1bbI9 J9 K9 L9 M9 N9 O9 P9 Q9 R9 S9 T9 U9 V9 W9 X9 Y9 Z9 09 19 29 39 49 59 69 79 89 99 !9 #9 $9 %9 '9 (9 )9 *9 +9 ,9 -9 .9 /9 :9 [P ;9 =9 ?9 @9 [9 QX RX SX TX 9l ]9 ^9 _9 `9 *K +K ,K -K 2bb{9 UX ^P _P XC Vz Wz Xz Yz Mx |9 }9 ~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! k| S! T! EQ U! V! .K 3X 5X W! X! Y! Z! 0! 1! 2! 3! un vn Zz 8m wn 4! X@ 5! Y@ ~n ao 3bbZ@ 4bb0@ 5bb6! 6bb1@ 7bb8bb9bb2@ !bb#bb3@ $bb%bb'bb7! (bb)bb*bb4@ +bb,bb-bb.bb/bb:bb;bb5@ =bb6@ ?bb@bb8! [bb]bb^bb7@ _bb8@ `bb9@ {bb9! |bb!@ ?1 @1 #@ $@ [1 %@ '@ ]1 ^1 !! #! JQ _1 (@ )@ `1 *@ +@ ,@ -@ $! %! .@ /@ /K '! XV :@ YV ;@ ZV =@ (! )! ?@ @@ [@ ]@ ^@ _@ Nx *! pB `@ qB {@ rB |@ +! ,! }@ ~@ a[ b[ c[ d[ e[ f[ g[ h[ -! .! i[ j[ f2 g2 k[ l[ (m m[ n[ h2 )m xn /! dm i2 o[ p[ *m j2 +m q[ r[ ,m s[ t[ k2 -m :! ;! em l2 u[ v[ .m w[ x[ y[ z[ =! ?! A[ B[ C[ D[ E[ F[ @! [! G[ H[ w2 x2 I[ J[ y2 K[ L[ z2 A2 ]! ^! MQ B2 M[ N[ C2 D2 E2 O[ P[ F2 Q[ R[ G2 H2 _! `! NQ I2 S[ T[ J2 U[ V[ W[ X[ {! |! Y[ Z[ 0[ 1[ }! 2[ 3[ 4[ 5[ 6[ ~! a# 7[ 8[ Y2 Z2 9[ ![ 02 #[ $[ 12 22 b# c# QQ 32 %[ '[ 42 52 62 ([ )[ 72 *[ +[ 82 92 d# e# RQ !2 ,[ -[ #2 .[ /[ :[ ;[ f# g# =[ ?[ h# i# j# 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| kY O| P| lY Q| R| S| T| U| V| W| X| Y| Z| k# l# 0z 1z 2z 3z 4z 5z 6z m# 7z 8z 0| Eo 1| TQ 7A 8A 9A PG QG UQ !A #A $A RG SG TG VQ %A 'A (A UG 2| 3| 4| 5| 6| 7| 8| 9| !| #| $| %| '| (| )| *| +| ,| -| .| /| :| ;| =| ?| @| n# o# p# q# r# s# t# u# [| ]| ^| _| z, A, }bb~bbacbbcbccbdcbecbfcbgcbhcbicbjcbkcb`| WQ lcbv# mcbw# mY :K x# y# nY ;K z# YQ ZQ 0Q 1Q A# B# C# D# 2Q E# F# G# 3Q 4Q H# I# 5Q 6Q J# K# 7Q 8Q L# M# 9Q N# O# P# ncbocbpcbqcbrcbscbtcbucbvcbwcbQ# R# =K S# !Q )A ?K @K T# U# V# W# X# Y# #Q $Q %Q 'Q Z# [K ]K ^K (Q )Q *Q 0# +Q ,Q -Q .Q 1# 2# 3# 4# XG YG *A +A ZG 0G /Q :Q 5# 6# ;Q =Q _K `K ?Q @Q 7# 8# 9# !# ## {K |K }K ~K aL bL $# %# '# (# cL dL eL )# *# fL gL hL +# iL ,# jL kL -# xcbycbzcbAcbrY sY tY uY vY .# /# :# yn zn [Q ]Q ^Q _Q An Bn `Q {Q ;# =# ?# @# [# ]# BcbCcbDcbEcbFcbGcbHcb{| || AY |Q ^# }Q ~Q aR bR _# cR dR eR fR `# gR hR iR jR {# kR |# lR mR nR }# oR ~# pR qR rR a$ sR b$ tR uR vR c$ wR d$ xR yR zR e$ AR f$ BR CR DR g$ ER h$ FR GR HR i$ IR 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$ JR M$ N$ KR O$ P$ Q$ R$ S$ T$ U$ V$ W$ X$ Y$ Z$ 0$ 1$ 2$ lL 3$ 4$ 5$ 6$ }| ~| JY KY a} b} c} d} e} f} g} h} i} j} 7$ 8$ 9$ !$ #$ $$ %$ '$ Icb($ )$ Cn Dn gm hm NR OR En Fn PR QR Gn Hn RR SR TR UR *$ +$ ,$ -$ .$ /$ :$ ;$ =$ ?$ @$ [$ k} Jcbl} VR m} n} o} p} q} r} ]$ ^$ _$ `$ {$ |$ }$ ~$ a% mL TY nL UY b% c% d% e% f% g% h% i% oL pL qL rL YR ZR 0R 1R j% k% l% m% sL tL 2R 3R uL vL n% o% p% q% wL xL yL zL 4R 5R AL BL r% s% t% u% CL DL EL FL GL HL IL JL In Jn im jm v% w% Kn Ln 6R 7R 9R x% !R y% #R $R %R 'R (R )R *R z% +R ,R .A A% B% C% D% E% F% G% H% I% J% [R ]R K% L% M% N% O% P% Q% R% S% T% @[ [[ ][ ^[ U% V% fS gS W% X% Y% Z% hS iS 0% 1% 2% 3% 4% 5% 6% 7% 8% 9% !% #% $% %% '% (% )% *% KL LL +% ,% ML NL -% .% Mn Nn On Pn /% :% zS AS BS CS DS ES ;% =% FS GS ?% @% s} t} u} v} w} x} y} z} A} HS [% IS ]% }Y ~Y aZ bZ cZ dZ eZ ^% _% `% {% |% }% ~% a' b' c' JS KS LS MS NS OS OL PL PS QS RS SS QL RL SL TL UL VL WL XL TS US VS WS YL ZL 0L 1L 2L 3L 4L 5L 6L 7L KcbB} LcbC} D} E} d' e' Mcb8L 9L !L #L F} G} NcbOcbMq gZ hZ Nq f' g' h' i' Oq Pq Qq Rq Sq Tq Uq Vq j' /A :A XS YS ZS 0S 1S 2S k' ,z PcbQcbL RcbScbl' m' TcbUcb$L kZ H} -z n' VcbWcb%L 'L (L ;A =A ?A )L *L +L ,L -L .L /L :L ;L @A [A ]A =L ?L @L [L ]L ^L 'l 8S o' p' q' r' om pm I} s' yE /z J} K} L} M} t' N} @p :z O} P} Q} R} u' v' w' x' y' z' A' B' C' D' E' F' Xcb#S G' YcbH' $S (G I' %S )G Yq Zq 0q 1q 2q 3q 4q 5q J' 'S *G K' (S +G S} T} U} V} W} X} Y} Z} 0} 1} 2} 3} ;z L' M' =z ?z 4} 5} 6} N' O' P' Q' R' S' T' U' V' W' `L {L oZ |L X' Y' Z' (l Qn Rn ?m 0' rZ Zcb1' 2' 3' 4' 5' 6' 7' 8' 9' !' #' $' %' '' (' )' *' +' ,' -' .' /' :' ;' =' ?' @' [' ]' ^' _' `' {' |' }' ~' a( b( c( d( e( f( *S g( h( i( j( k( tZ uZ vZ wZ !l l( m( n( o( }L ~L aM bM 0cbp( xZ ,S -S PE [z ]z ^z _z Ox 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( !( 7} #( $( tT %( '( cM GZ IZ (( )( *( +( ,( -( Sn .( Tn Un `z @m Vn /( _[ :( bo co do 1cb`[ 2cb{[ 3cb;( 4cb|[ 5cb6cb7cb}[ 8cb9cb~[ !cb#cb$cb=( %cb'cb(cba] )cb*cb+cb,cb-cb.cb/cbb] :cbc] ;cb=cb?( ?cb@cb[cbd] ]cbe] ^cbf] _cb@( `cbg] ;2 =2 h] i] ?2 j] k] ]m @2 Wn [( yT [2 l] m] ]2 n] o] p] q] Xn ]( r] s] dM ^( 0V t] 1V u] 2V v] _( `( w] x] y] z] A] B] Px {( sB C] tB D] uB E] |( }( F] G] H] I] J] K] L] M] N] O] Yn ~( eo P] c3 }m fo Q] ~m R] S] d3 an Zn a) sm e3 go T] bn cn f3 ho U] dn io V] en fn 0n b) tm gn W] X] hn jo Y] Z] 0] 1n c) ko 1] 2] 3] 4] 5] 2n d) 6] 7] o3 p3 8] 9] q3 !] #] r3 s3 3n e) BT t3 $] %] u3 v3 w3 '] (] x3 )] *] y3 z3 f) g) CT A3 +] ,] B3 -] .] /] :] h) i) ;] =] ?] @] j) [] ]] ^] _] `] k) l) {] |] Q3 R3 }] ~] S3 a^ b^ T3 U3 m) n) wm V3 c^ d^ W3 X3 Y3 e^ f^ Z3 g^ h^ 03 13 4n o) ET 23 i^ j^ 33 k^ l^ m^ n^ 5n p) o^ p^ q) r) s) 8} 9} !} #} $} %} '} (} )} *} +} ,} -} .} /} :} ;} =} ?} @} [} ]} ^} _} `} {} |} }} ~} ;Z a~ b~ =Z c~ d~ e~ f~ g~ h~ i~ j~ k~ l~ t) u) {z |z }z ~z aA bA cA v) dA eA m~ Fo n~ GT `A {A |A ,G -G HT }A ~A aB .G /G :G IT bB cB dB ;G 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~ w) x) y) z) A) B) C) D) O~ P~ Q~ R~ B, C, {cb|cb}cb~cbadbbdbcdbddbedbfdbgdbhdbidbS~ JT jdbE) kdbF) ?Z eM G) H) @Z fM I) LT MT NT OT J) K) L) M) PT N) O) P) QT RT Q) R) ST TT S) T) UT VT U) V) WT W) X) Y) ldbmdbndbodbpdbqdbrdbsdbtdbudbZ) 0) gM 1) XT eB hM iM 2) 3) 4) 5) 6) 7) YT ZT 0T 1T 8) jM kM lM 2T 3T 4T 9) 5T 6T 7T 8T !) #) $) %) @G [G fB gB ]G ^G 9T !T ') () #T $T mM nM %T 'T )) *) +) ,) -) oM pM qM rM sM tM .) /) :) ;) uM vM wM =) ?) xM yM zM @) AM [) BM CM ]) vdbwdbxdbydb_Z `Z {Z |Z }Z ^) _) `) 6n 7n (T )T *T +T 8n 9n ,T -T {) |) }) ~) a* b* zdbAdbBdbCdbDdbEdbFdbT~ U~ d0 .T c* /T :T ;T =T d* ?T @T [T ]T e* ^T _T `T {T f* |T g* }T ~T aU h* bU i* cU dU eU j* fU k* gU hU iU l* jU m* kU lU mU n* nU o* oU pU qU p* rU q* sU tU uU r* vU 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* wU V* W* xU X* Y* Z* 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* !* #* DM $* %* '* (* V~ W~ m0 n0 X~ Y~ Z~ 0~ 1~ 2~ 3~ 4~ 5~ 6~ )* ** +* ,* -* .* /* :* Gdb;* =* !n #n AU BU CU DU $n %n EU FU 'n (n GU HU IU JU ?* @* [* ]* ^* _* `* {* |* }* ~* a+ 7~ Hdb8~ KU 9~ !~ #~ $~ %~ '~ b+ c+ d+ e+ f+ g+ h+ i+ j+ EM w0 FM x0 k+ l+ m+ n+ o+ p+ q+ r+ GM HM IM JM NU OU PU QU s+ t+ u+ v+ KM LM RU SU MM NM w+ x+ y+ z+ OM PM QM RM TU UU SM TM A+ B+ C+ D+ UM VM WM XM YM ZM 0M 1M )n *n VU WU E+ F+ +n ,n XU YU 0U G+ 1U H+ 2U 3U 4U 5U 6U 7U 8U I+ 9U !U jB J+ K+ L+ M+ N+ O+ P+ Q+ R+ S+ ,U -U T+ U+ V+ W+ X+ Y+ Z+ 0+ 1+ 2+ q^ r^ s^ t^ 3+ 4+ {U |U 5+ 6+ 7+ 8+ }U ~U 9+ !+ #+ $+ %+ '+ (+ )+ *+ ++ ,+ -+ .+ /+ :+ ;+ =+ ?+ 2M 3M @+ [+ 4M 5M ]+ ^+ -n .n /n :n _+ `+ lV mV nV oV pV qV {+ |+ rV sV }+ ~+ (~ )~ *~ +~ ,~ -~ .~ /~ :~ tV a, uV b, $0 %0 '0 (0 )0 *0 +0 c, d, e, f, g, h, i, j, k, l, vV wV xV yV zV AV 6M 7M BV CV DV EV 8M 9M !M #M $M %M 'M (M FV GV HV IV )M *M +M ,M -M .M /M :M ;M =M Idb;~ Jdb=~ ?~ @~ m, n, Kdb?M @M [M ]M [~ ]~ LdbMdbfr -0 .0 gr o, p, q, r, hr ir jr kr lr mr nr or s, kB lB JV KV LV MV NV OV t, yA NdbOdbN PdbQdbu, v, RdbSdb^M ;0 ^~ zA w,

169 self._type_adapter.validate_python(value, from_attributes=True), 

170 [], 

171 ) 

172 except ValidationError as exc: 2u^AABACADAEAFACl`M{McNWJGAHAYJZJ0J1Jv^w^eNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNRNSNTNUNDlVl=0?0@0x^y^z^A^B^C^D^E^F^G^H^I^J^K^L^M^}0~0a1b1c1WNd1e1f1g1-l.l/lWlh1:lp1_l`l{l|lZlq1}lr1s1t1u1v1XNw1x1M1N1O1P1Q10NR1S1T1U1V1W1X11NY1Z1'1(1)1*1+14N,1-1N^O^P^Q^R^S^IAJAKALAMANAOAPAQAx,y,T^U^V^W^X^Y^9NZ^0^1^2^3^4^5^6^6JRA7J8JpGqG9J!J#JSATA$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J7^8^9^!^#^$^xlvGwGxGyGzG%^'^(^]JUO)^VOAGBGCGDGEGFGGGHGylzl5O6OUAVA`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKIGJG+O,OKGAlWA_O`O{O|O}O~OaPbPePfPgPhPiPjPkPlPmPnPoPpP.1/1uPvP6l7lwPxPyPzPAP8lBPCPDPEPFPGPHPIPJP*^XAYA'P(P+^,^-^.^/^:^;^)P=^?^*P+Pw`x`@^ZA0A1A2A3A4A$l-P.P@P(K5A6A*K+K,K-K[^]^]P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQFQGQHQIQ%lbm:1;1=1^^_^`^{^|^}^~^a_b_c_d_e_f_g_h_i_{1|1}1~1a2KQb2c2d2e2!m#m$mcm%m'mm2n2/m:m;mfmo2=mp2q2r2s2t2LQu2v2K2L2M2N2O2OQP2Q2R2S2T2U2V2PQW2X2$2%2'2(2)2SQ*2+2j_k_l_m_n_o_7A8A9A!A#A$A%A'A(Az,A,p_q_r_s_t_u_XQv_w_x_y_z_A_B_C_=K)A?K@KVGWG[K]K^K*A+A_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLD_E_F_G_H_I_ElFl1G2G3G4GJ_K_L_lLLRM_MR5G6G7G8GGlHl9G!GIlJlWRXR,A-AoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJL#G$Gkm8R%G'G.A-R.R/R:R;R=R?R@R^R_R`R{R|R}R~RaSbScSdSeS,2-2jSkSlmlSmSnSoSpSqSrSsStSuSvSmmwSxSnmySN_/A:A3S4SO_P_Q_R_S_T_U_5SV_W_6S7SX_;A=A?A@A[A]A'l9S!S)S|L^A_A}L~LaMbMY_Z_+S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTuTvTwTxT)lqm.2/2:20_1_2_3_4_5_6_7_8_9_!_#_$_%_'_(_^2_2`2{2|2zT}2~2^ma3_m`m{mrmb3|ming3jnknlnummnnnh3i3j3k3l3ATm3n3C3D3E3F3G3DTH3I3J3K3L3M3N3vmO3P3435363on73FT8393)_*_+_,_-_._`A{A|A}A~AaBbBcBdBB,C,/_:_;_=_?_@_KT[_]_^___`_{_|_}_gMeBhMiM=G?GjMkMlMfBgBmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCM~_a`b`c`d`e`_G`G{G|G}G~Gf`g`h`DMyUi`zUaHbHcHdHeHfHgHhHiHjHLUMUhBiBGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1MkHlHxmZUmHnHjB#U$U%U'U(U)U*U+U.U/U:U;U=U?U@U[U]U^U_U`U!3#3aVbVcVymzmAmBmdVeVfVCmgVhVDmiVEmFmjVkVj`kBlBPVQVk`l`m`n`o`p`q`RVr`s`SVTV

173 return None, _regenerate_error_with_loc( 2u^AABACADAEAFACl`M{McNWJGAHAYJZJ0J1Jv^w^eNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNRNSNTNUNDlVl=0?0@0x^y^z^A^B^C^D^E^F^G^H^I^J^K^L^M^}0~0a1b1c1WNd1e1f1g1-l.l/lWlh1:lp1_l`l{l|lZlq1}lr1s1t1u1v1XNw1x1M1N1O1P1Q10NR1S1T1U1V1W1X11NY1Z1'1(1)1*1+14N,1-1N^O^P^Q^R^S^IAJAKALAMANAOAPAQAx,y,T^U^V^W^X^Y^9NZ^0^1^2^3^4^5^6^6JRA7J8JpGqG9J!J#JSATA$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J7^8^9^!^#^$^xlvGwGxGyGzG%^'^(^]JUO)^VOAGBGCGDGEGFGGGHGylzl5O6OUAVA`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKIGJG+O,OKGAlWA_O`O{O|O}O~OaPbPePfPgPhPiPjPkPlPmPnPoPpP.1/1uPvP6l7lwPxPyPzPAP8lBPCPDPEPFPGPHPIPJP*^XAYA'P(P+^,^-^.^/^:^;^)P=^?^*P+Pw`x`@^ZA0A1A2A3A4A$l-P.P@P(K5A6A*K+K,K-K[^]^]P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQFQGQHQIQ%lbm:1;1=1^^_^`^{^|^}^~^a_b_c_d_e_f_g_h_i_{1|1}1~1a2KQb2c2d2e2!m#m$mcm%m'mm2n2/m:m;mfmo2=mp2q2r2s2t2LQu2v2K2L2M2N2O2OQP2Q2R2S2T2U2V2PQW2X2$2%2'2(2)2SQ*2+2j_k_l_m_n_o_7A8A9A!A#A$A%A'A(Az,A,p_q_r_s_t_u_XQv_w_x_y_z_A_B_C_=K)A?K@KVGWG[K]K^K*A+A_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLD_E_F_G_H_I_ElFl1G2G3G4GJ_K_L_lLLRM_MR5G6G7G8GGlHl9G!GIlJlWRXR,A-AoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJL#G$Gkm8R%G'G.A-R.R/R:R;R=R?R@R^R_R`R{R|R}R~RaSbScSdSeS,2-2jSkSlmlSmSnSoSpSqSrSsStSuSvSmmwSxSnmySN_/A:A3S4SO_P_Q_R_S_T_U_5SV_W_6S7SX_;A=A?A@A[A]A'l9S!S)S|L^A_A}L~LaMbMY_Z_+S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTuTvTwTxT)lqm.2/2:20_1_2_3_4_5_6_7_8_9_!_#_$_%_'_(_^2_2`2{2|2zT}2~2^ma3_m`m{mrmb3|ming3jnknlnummnnnh3i3j3k3l3ATm3n3C3D3E3F3G3DTH3I3J3K3L3M3N3vmO3P3435363on73FT8393)_*_+_,_-_._`A{A|A}A~AaBbBcBdBB,C,/_:_;_=_?_@_KT[_]_^___`_{_|_}_gMeBhMiM=G?GjMkMlMfBgBmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCM~_a`b`c`d`e`_G`G{G|G}G~Gf`g`h`DMyUi`zUaHbHcHdHeHfHgHhHiHjHLUMUhBiBGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1MkHlHxmZUmHnHjB#U$U%U'U(U)U*U+U.U/U:U;U=U?U@U[U]U^U_U`U!3#3aVbVcVymzmAmBmdVeVfVCmgVhVDmiVEmFmjVkVj`kBlBPVQVk`l`m`n`o`p`q`RVr`s`SVTV

174 errors=exc.errors(include_url=False), loc_prefix=loc 

175 ) 

176 

177 def serialize( 1abcd

178 self, 

179 value: Any, 

180 *, 

181 mode: Literal["json", "python"] = "json", 

182 include: IncEx | None = None, 

183 exclude: IncEx | None = None, 

184 by_alias: bool = True, 

185 exclude_unset: bool = False, 

186 exclude_defaults: bool = False, 

187 exclude_none: bool = False, 

188 ) -> Any: 

189 # What calls this code passes a value that already called 

190 # self._type_adapter.validate_python(value) 

191 return self._type_adapter.dump_python( 3;w =w W` 4db5dbSz Tz i| =z ?z 5}

192 value, 

193 mode=mode, 

194 include=include, 

195 exclude=exclude, 

196 by_alias=by_alias, 

197 exclude_unset=exclude_unset, 

198 exclude_defaults=exclude_defaults, 

199 exclude_none=exclude_none, 

200 ) 

201 

202 def serialize_json( 1abcd

203 self, 

204 value: Any, 

205 *, 

206 include: IncEx | None = None, 

207 exclude: IncEx | None = None, 

208 by_alias: bool = True, 

209 exclude_unset: bool = False, 

210 exclude_defaults: bool = False, 

211 exclude_none: bool = False, 

212 ) -> bytes: 

213 # What calls this code passes a value that already called 

214 # self._type_adapter.validate_python(value) 

215 # This uses Pydantic's dump_json() which serializes directly to JSON 

216 # bytes in one pass (via Rust), avoiding the intermediate Python dict 

217 # step of dump_python(mode="json") + json.dumps(). 

218 return self._type_adapter.dump_json( 2BJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJz`.wA`B`C`D`E`/wF`G`H`I`J`K`L`M`N`O`P`Q`R`S`T`U`:wV`X`8V#V%V'V(V)V*V@w[w]w^wY`2J?V[V_wZ`0`1`2`3`4`5`6`7`8`9`!`#`$`%`'`(`)`*`+`,`-`.`/`:`;`=`?`@`HW[`]`IW^`_```{`|`}`~`a{b{c{`w{w|w}w~waxbxcxdxd{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{x,y,J{JW4JKW5JOWPWQWRWSWK{L{XWM{N{6W7WO{P{Q{R{S{T{U{V{W{X{Y{Z{0{1{2{3{4{5{6{7{8{9{!{#{${%{'{vXwXxXyXzXAXBXvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOK({){*{+{PKQKRKSK,{-{DXEXqxn TKHX.{rxu`v`UKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K/{Pz:{;{={?{@{Qz[{]{^{_{`{{{|{}{~{a|b|c|d|e|f|g|Rzh|j|LXOXQXRXSXTXUXVzWzXzYzk|.K3X5XZzl|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|kYO|P|lYQ|R|S|T|U|V|W|X|Y|Z|0z1z2z3z4z5z6z7z8z0|1|2|3|4|5|6|7|8|9|!|#|$|%|'|(|)|*|+|,|-|.|/|:|;|=|?|@|[|]|^|_|z,A,`|mY:KnY;KrYsYtYuYvY{|||AY}|~|JYKYa}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}}Y~YaZbZcZdZeZOLPLQLRLSLTLULVLWLXLYLZL0L1L2L3L4L5L6L7LB}C}D}E}8L9L!L#LF}G}gZhZ,zL $LkZH}-z%L'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^LI}/zJ}K}L}M}N}:zO}P}Q}R}S}T}U}V}W}X}Y}Z}0}1}2}3};z4}6}oZrZtZuZvZwZxZ[z]z^z_z7}cMGZIZ`z8}9}!}#}$}%}'}(})}*}+},}-}.}/}:};}=}?}@}[}]}^}_}`}{}|}}}~};Za~b~=Zc~d~e~f~g~h~i~j~k~l~{z|z}z~zaAbAcAdAeAm~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~B,C,S~?ZeM@ZfM_Z`Z{Z|Z}ZT~U~d0V~W~m0n0X~Y~Z~0~1~2~3~4~5~6~7~8~9~!~#~$~%~'~(~)~*~+~,~-~.~/~:~$0%0'0(0)0*0+06M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M;~=~?~@~?M@M[M]M[~]~-0.0yAN ^M;0^~zA

219 value, 

220 include=include, 

221 exclude=exclude, 

222 by_alias=by_alias, 

223 exclude_unset=exclude_unset, 

224 exclude_defaults=exclude_defaults, 

225 exclude_none=exclude_none, 

226 ) 

227 

228 def __hash__(self) -> int: 1abcd

229 # Each ModelField is unique for our purposes, to allow making a dict from 

230 # ModelField to its JSON Schema. 

231 return id(self) 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

232 

233 

234def _has_computed_fields(field: ModelField) -> bool: 1abcd

235 computed_fields = field._type_adapter.core_schema.get("schema", {}).get( 3*d l m TdbUdbBf E K Ef F M

236 "computed_fields", [] 

237 ) 

238 return len(computed_fields) > 0 3*d l m TdbUdbBf E K Ef F M

239 

240 

241def get_schema_from_model_field( 1abcd

242 *, 

243 field: ModelField, 

244 model_name_map: ModelNameMap, 

245 field_mapping: dict[ 

246 tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

247 ], 

248 separate_input_output_schemas: bool = True, 

249) -> dict[str, Any]: 

250 override_mode: Literal["validation"] | None = ( 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~j:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4k5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhliluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

251 None 

252 if (separate_input_output_schemas or _has_computed_fields(field)) 

253 else "validation" 

254 ) 

255 field_alias = ( 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~j:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4k5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhliluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

256 (field.validation_alias or field.alias) 

257 if field.mode == "validation" 

258 else (field.serialization_alias or field.alias) 

259 ) 

260 

261 # This expects that GenerateJsonSchema was already used to generate the definitions 

262 json_schema = field_mapping[(field, override_mode or field.mode)] 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~j:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4k5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhliluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

263 if "$ref" not in json_schema: 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~j:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4k5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhliluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

264 # TODO remove when deprecating Pydantic v1 

265 # Ref: https://github.com/pydantic/pydantic/blob/d61792cc42c80b13b23e3ffa74bc37ec7c77f7d1/pydantic/schema.py#L207 

266 json_schema["title"] = field.field_info.title or field_alias.title().replace( 2-ezdP TjAdrhihshXb) e f g h i j k gbUjthucuhC vcvhl D VjWjxgXjulYjjgkg$g%glgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghb* Ic+ ZjoljbQ CdkbDdlb0jKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y Pcwh- . xhyhzhAhBhChfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2bvbGdwjR H I !j#j$j%j'jOhPhygzgQhRhShThUhVhWhXhwb(j)j*j+jlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~j:hRcZ 0 akbkEb/ : ckdkScTcUcVcWcXcYcZcJ m ;h1 2 3 4 ek#bn $b0c%bt`zjJf`e; fk{e=hjh?hJd'bo p q r s t u 2cgk@h-d[hS .d]hE T hkik+gjkvlkkCgDg:g;gEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c(b|d)blkql5c= }e6c~e7cmk~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHbee^h+b,b_h`h{h|h}h~hghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOd*ccfxj? 6 7 8 wkxkykzkAkliminioipiqirisitiuiviwi+cBkCkDkEknhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkVigeIbJbXkYk?c-b.bZk0kheiejekelemeneoe9 K WiKbLbMbNb1kXdL YdpeZdUfgf@ 2khfXikhYi0d/bv w x y z A B [c3kZiqe0iU re1iF V 4k5k-g6kwl7kRgSgTg]g^g_gUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c:bKe;b8ksl_c[ jf`ckf{c9kMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQbRe2i?b@b3i4i5i6i7i8ihh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5dgdnfyj] # $ ,k-k.k/k:k-i.i/i:i;i=i?i@i[i]i^i_ihd;k=k?k@kphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilujTeRbSbjlklpd[b]bllmlUeVeWeXeYeZe0e1e% M vjTbUbVbWbnl'dN (d2e)d

267 "_", " " 

268 ) 

269 return json_schema 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~j:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4k5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhliluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

270 

271 

272def get_definitions( 1abcd

273 *, 

274 fields: Sequence[ModelField], 

275 model_name_map: ModelNameMap, 

276 separate_input_output_schemas: bool = True, 

277) -> tuple[ 

278 dict[tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue], 

279 dict[str, dict[str, Any]], 

280]: 

281 schema_generator = GenerateJsonSchema(ref_template=REF_TEMPLATE) 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

282 validation_fields = [field for field in fields if field.mode == "validation"] 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

283 serialization_fields = [field for field in fields if field.mode == "serialization"] 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

284 flat_validation_models = get_flat_models_from_fields( 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

285 validation_fields, known_models=set() 

286 ) 

287 flat_serialization_models = get_flat_models_from_fields( 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

288 serialization_fields, known_models=set() 

289 ) 

290 flat_validation_model_fields = [ 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

291 ModelField( 

292 field_info=FieldInfo(annotation=model), 

293 name=model.__name__, 

294 mode="validation", 

295 ) 

296 for model in flat_validation_models 

297 ] 

298 flat_serialization_model_fields = [ 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

299 ModelField( 

300 field_info=FieldInfo(annotation=model), 

301 name=model.__name__, 

302 mode="serialization", 

303 ) 

304 for model in flat_serialization_models 

305 ] 

306 flat_model_fields = flat_validation_model_fields + flat_serialization_model_fields 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

307 input_types = {f.field_info.annotation for f in fields} 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

308 unique_flat_model_fields = { 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

309 f for f in flat_model_fields if f.field_info.annotation not in input_types 

310 } 

311 inputs = [ 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

312 ( 

313 field, 

314 ( 

315 field.mode 

316 if (separate_input_output_schemas or _has_computed_fields(field)) 

317 else "validation" 

318 ), 

319 field._type_adapter.core_schema, 

320 ) 

321 for field in list(fields) + list(unique_flat_model_fields) 

322 ] 

323 field_mapping, definitions = schema_generator.generate_definitions(inputs=inputs) 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

324 for item_def in cast(dict[str, dict[str, Any]], definitions).values(): 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbhzj-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

325 if "description" in item_def: 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . 1jplfhQc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbchsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bnkrlghfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;cdh5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b!ktlhhSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdndeh'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

326 item_description = cast(str, item_def["description"]).split("\f")[0] 3gb Ag hb VdbWdb2c .g 3c [c /g ]c

327 item_def["description"] = item_description 3gb Ag hb VdbWdb2c .g 3c [c /g ]c

328 # definitions: dict[DefsRef, dict[str, Any]] 

329 # but mypy complains about general str in other places that are not declared as 

330 # DefsRef, although DefsRef is just str: 

331 # DefsRef = NewType('DefsRef', str) 

332 # So, a cast to simplify the types here 

333 return field_mapping, cast(dict[str, dict[str, Any]], definitions) 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

334 

335 

336def is_scalar_field(field: ModelField) -> bool: 1abcd

337 from fastapi import params 2a ClTlUlnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyoRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6xxgVl,lJm;n+ 8x9x!x#x=n?nfw$x%xbpcp'x(x)x*x@n[ngwdp+xep,xhwiw]njw^nkw_nlw`nmw{nnw|n-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNy}nowOyPyQyRyhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2ytp3yup4yvp5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzUpVpxzWpyzXpzzYpAzZpBz0pCz1pDz2pEz3pFz%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzn MzNzDob c $l~lam9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWC+gbm9mwnEo)bYCZC0C1C:osx2C3CVrWr4C5C6C7Ctx;oux=oXr8CYr9Cvxwxxx?o@oyx[ozx]oAx!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBD^oBx_oCxCDDDEDFD1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRD%rSD'rTDUD(rVD)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfE}rgEhE~riEasjEbskEcslEdsmEesnEMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvEL wExE=pd 'lompm[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqzEAEBECEDEEEFEGEHEIEJEKELEMENEOE-gqm[mVnFo;bQERE`oDxSETEhsUEVE{oExisWEFx|oGx}oHx~oIxXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*Ejs+E,E-E.E/E:E;E=E?E@E[E]EapJx^E_Eks`Els{Ems|Ens}Eos~EpsaFqsbFrscFssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*FWs+FXs,FYs-FZs.F0s/F1s:F2s;F3s=F4s?F5s@Ffr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGN dGeGhq

338 

339 return shared.field_annotation_is_scalar( 2a ClTlUlnoooIoJopoqoKoLoroMosotoNouoOovowoPoxoyoRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6xxgVl,lJm;n+ 8x9x!x#x=n?nfw$x%xbpcp'x(x)x*x@n[ngwdp+xep,xhwiw]njw^nkw_nlw`nmw{nnw|n-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyfpgpvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNy}nowOyPyQyRyhpipSyTyjpkpUylpmpVyWynpopXyYyppqpZy0yrpsp1y2ytp3yup4yvp5y6y7y8y9y!y#y$y%y'y(y)y*ywp+yxpyp,y-yzp.yAp/yBp:yCp;yDp=yEp?yFp@yGp[yHp]y^yIpJp_yKp`yLp{yMp|yNpOp}y~yPpazQpbzRpczSpdzTpezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzUpVpxzWpyzXpzzYpAzZpBz0pCz1pDz2pEz3pFz%o4pGz'ozoHzAoIz(o)o*o+oBoCo,o-o.o/o5pJz6pKzLzn MzNzDob c $l~lam9p!pkqlq#p$pmqnq%poq'p(ppq)pqq*p+prq,p-pHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWC+gbm9mwnEo)bYCZC0C1C:osx2C3CVrWr4C5C6C7Ctx;oux=oXr8CYr9Cvxwxxx?o@oyx[ozx]oAx!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDZr0rkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBD^oBx_oCxCDDDEDFD1r2rGDHD3r4rIDJD5r6rKDLD7r8rMDND9r!rODPD#r$rQDRD%rSD'rTDUD(rVD)rWDXDYDZD0D1D2D3D4D5D6D7D*r8D+r9D,r!D-r#D.r$D/r%D:r'D;r(D=r)D?r@r[r*D+D]r,D^r-D_r.D`r/D{r:D|r;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfE}rgEhE~riEasjEbskEcslEdsmEesnEMqfsoENq.ppE/pqEOqPqrEQqsERq:p;pSqTqUqVqgstEuEvEL wExE=pd 'lompm[p]pYqZq^p_p0q1q`p2q{p|p3q}p4q~paq5qbqcqzEAEBECEDEEEFEGEHEIEJEKELEMENEOE-gqm[mVnFo;bQERE`oDxSETEhsUEVE{oExisWEFx|oGx}oHx~oIxXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*Ejs+E,E-E.E/E:E;E=E?E@E[E]EapJx^E_Eks`Els{Ems|Ens}Eos~EpsaFqsbFrscFssdFeFfFgFhFiFjFkFlFmFnFoFpFtsqFusvsrFwssFxstFysuFzsvFAswFBsxFCsyFDszFEsAFFsBFCFGsDFHsEFFFIsGFJsHFIFKsJFLsKFMsNsLFOsMFPsNFQsOFRsPFSsQFTsRFUsSFTFVsUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*FWs+FXs,FYs-FZs.F0s/F1s:F2s;F3s=F4s?F5s@Ffr6s[Fgrdq]Feq^Fhr_Fir`Fjr{Fkrfqgq|Flrmrnror7s}F8s~F9saGbGcGN dGeGhq

340 field.field_info.annotation 

341 ) and not isinstance(field.field_info, params.Body) 

342 

343 

344def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 1abcd

345 cls = type(field_info) 2a Clm?TlUlBl#lG +lDlxgVl,lJm=n?nbpcp@n[ndpep]n^n_n`n{n|nprqrrrsrtrurvrwrxrfpgpyrzrAr}nBrCrDrErFrGrHrIrJrKrLrhpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpQoRoSoToUoVoWoXoMrNrOrPrYoZo0o1oUpVpWpXpYpZp2o3o4o5o6o7o8o9o!o#o$oQrRr0p1p2p3p4p5p6pSrTrUrb c $ln?~lam9l5m5 8m%l+gbm9mwn:oVrWr;o=oXrYr?o@o[o]opwqwrwswtwuwvwwwZr0rxwywzwAw^o_oBwCwDwEwFwGwHwIwJwKwLwMw1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rsqtquqvqwqxqyqNwOwPwzqAqBq}r~rasCqDqEqFqGqHqIqJqKqLqQwRwbscsdsesfsgsSwTwUwd 'lo?ompm!l6m! @m)l-gqm[mVn`ohs{ois|o}o~oVwWwXwYwZwjs0w1wap2w3w4w5w6w7wkslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVs6q7q8q9q!q#q$q%q'q(q)q*q+q,q8w9w!w#w$w%w-q.q/q:q;qWsXsYsZs0s1s=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer'w(w)w2s3s4s5s6s7s8s9s*w+w,w

346 merged_field_info = cls.from_annotation(annotation) 2a Clm?TlUlBl#lG +lDlxgVl,lJm=n?nbpcp@n[ndpep]n^n_n`n{n|nprqrrrsrtrurvrwrxrfpgpyrzrAr}nBrCrDrErFrGrHrIrJrKrLrhpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpQoRoSoToUoVoWoXoMrNrOrPrYoZo0o1oUpVpWpXpYpZp2o3o4o5o6o7o8o9o!o#o$oQrRr0p1p2p3p4p5p6pSrTrUrb c $ln?~lam9l5m5 8m%l+gbm9mwn:oVrWr;o=oXrYr?o@o[o]opwqwrwswtwuwvwwwZr0rxwywzwAw^o_oBwCwDwEwFwGwHwIwJwKwLwMw1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rsqtquqvqwqxqyqNwOwPwzqAqBq}r~rasCqDqEqFqGqHqIqJqKqLqQwRwbscsdsesfsgsSwTwUwd 'lo?ompm!l6m! @m)l-gqm[mVn`ohs{ois|o}o~oVwWwXwYwZwjs0w1wap2w3w4w5w6w7wkslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVs6q7q8q9q!q#q$q%q'q(q)q*q+q,q8w9w!w#w$w%w-q.q/q:q;qWsXsYsZs0s1s=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer'w(w)w2s3s4s5s6s7s8s9s*w+w,w

347 new_field_info = copy(field_info) 2a Clm?TlUlBl#lG +lDlxgVl,lJm=n?nbpcp@n[ndpep]n^n_n`n{n|nprqrrrsrtrurvrwrxrfpgpyrzrAr}nBrCrDrErFrGrHrIrJrKrLrhpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpQoRoSoToUoVoWoXoMrNrOrPrYoZo0o1oUpVpWpXpYpZp2o3o4o5o6o7o8o9o!o#o$oQrRr0p1p2p3p4p5p6pSrTrUrb c $ln?~lam9l5m5 8m%l+gbm9mwn:oVrWr;o=oXrYr?o@o[o]opwqwrwswtwuwvwwwZr0rxwywzwAw^o_oBwCwDwEwFwGwHwIwJwKwLwMw1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rsqtquqvqwqxqyqNwOwPwzqAqBq}r~rasCqDqEqFqGqHqIqJqKqLqQwRwbscsdsesfsgsSwTwUwd 'lo?ompm!l6m! @m)l-gqm[mVn`ohs{ois|o}o~oVwWwXwYwZwjs0w1wap2w3w4w5w6w7wkslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVs6q7q8q9q!q#q$q%q'q(q)q*q+q,q8w9w!w#w$w%w-q.q/q:q;qWsXsYsZs0s1s=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer'w(w)w2s3s4s5s6s7s8s9s*w+w,w

348 new_field_info.metadata = merged_field_info.metadata 2a Clm?TlUlBl#lG +lDlxgVl,lJm=n?nbpcp@n[ndpep]n^n_n`n{n|nprqrrrsrtrurvrwrxrfpgpyrzrAr}nBrCrDrErFrGrHrIrJrKrLrhpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpQoRoSoToUoVoWoXoMrNrOrPrYoZo0o1oUpVpWpXpYpZp2o3o4o5o6o7o8o9o!o#o$oQrRr0p1p2p3p4p5p6pSrTrUrb c $ln?~lam9l5m5 8m%l+gbm9mwn:oVrWr;o=oXrYr?o@o[o]opwqwrwswtwuwvwwwZr0rxwywzwAw^o_oBwCwDwEwFwGwHwIwJwKwLwMw1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rsqtquqvqwqxqyqNwOwPwzqAqBq}r~rasCqDqEqFqGqHqIqJqKqLqQwRwbscsdsesfsgsSwTwUwd 'lo?ompm!l6m! @m)l-gqm[mVn`ohs{ois|o}o~oVwWwXwYwZwjs0w1wap2w3w4w5w6w7wkslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVs6q7q8q9q!q#q$q%q'q(q)q*q+q,q8w9w!w#w$w%w-q.q/q:q;qWsXsYsZs0s1s=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer'w(w)w2s3s4s5s6s7s8s9s*w+w,w

349 new_field_info.annotation = merged_field_info.annotation 2a Clm?TlUlBl#lG +lDlxgVl,lJm=n?nbpcp@n[ndpep]n^n_n`n{n|nprqrrrsrtrurvrwrxrfpgpyrzrAr}nBrCrDrErFrGrHrIrJrKrLrhpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpQoRoSoToUoVoWoXoMrNrOrPrYoZo0o1oUpVpWpXpYpZp2o3o4o5o6o7o8o9o!o#o$oQrRr0p1p2p3p4p5p6pSrTrUrb c $ln?~lam9l5m5 8m%l+gbm9mwn:oVrWr;o=oXrYr?o@o[o]opwqwrwswtwuwvwwwZr0rxwywzwAw^o_oBwCwDwEwFwGwHwIwJwKwLwMw1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rsqtquqvqwqxqyqNwOwPwzqAqBq}r~rasCqDqEqFqGqHqIqJqKqLqQwRwbscsdsesfsgsSwTwUwd 'lo?ompm!l6m! @m)l-gqm[mVn`ohs{ois|o}o~oVwWwXwYwZwjs0w1wap2w3w4w5w6w7wkslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVs6q7q8q9q!q#q$q%q'q(q)q*q+q,q8w9w!w#w$w%w-q.q/q:q;qWsXsYsZs0s1s=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer'w(w)w2s3s4s5s6s7s8s9s*w+w,w

350 return new_field_info 2a Clm?TlUlBl#lG +lDlxgVl,lJm=n?nbpcp@n[ndpep]n^n_n`n{n|nprqrrrsrtrurvrwrxrfpgpyrzrAr}nBrCrDrErFrGrHrIrJrKrLrhpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpQoRoSoToUoVoWoXoMrNrOrPrYoZo0o1oUpVpWpXpYpZp2o3o4o5o6o7o8o9o!o#o$oQrRr0p1p2p3p4p5p6pSrTrUrb c $ln?~lam9l5m5 8m%l+gbm9mwn:oVrWr;o=oXrYr?o@o[o]opwqwrwswtwuwvwwwZr0rxwywzwAw^o_oBwCwDwEwFwGwHwIwJwKwLwMw1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rsqtquqvqwqxqyqNwOwPwzqAqBq}r~rasCqDqEqFqGqHqIqJqKqLqQwRwbscsdsesfsgsSwTwUwd 'lo?ompm!l6m! @m)l-gqm[mVn`ohs{ois|o}o~oVwWwXwYwZwjs0w1wap2w3w4w5w6w7wkslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVs6q7q8q9q!q#q$q%q'q(q)q*q+q,q8w9w!w#w$w%w-q.q/q:q;qWsXsYsZs0s1s=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer'w(w)w2s3s4s5s6s7s8s9s*w+w,w

351 

352 

353def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 1abcd

354 origin_type = get_origin(field.field_info.annotation) or field.field_info.annotation 2loGoHoUJVJBlKx3JUVVVWVLxmBnBoBrKsKtKuK3V4V7piqjq%K'K9lMx/KXVYVZVNxpBqBrBKLLLMLNL?pWqXq`L{L!lOxdM0V1V2VPxsBtBuB2M3M4M5M

355 if origin_type is Union or origin_type is UnionType: # Handle optional sequences 2loGoHoUJVJBlKx3JUVVVWVLxmBnBoBrKsKtKuK3V4V7piqjq%K'K9lMx/KXVYVZVNxpBqBrBKLLLMLNL?pWqXq`L{L!lOxdM0V1V2VPxsBtBuB2M3M4M5M

356 union_args = get_args(field.field_info.annotation) 2loGoHoKxLxmBnBoB3V4V7piqjqMxNxpBqBrB?pWqXqOxPxsBtBuB

357 for union_arg in union_args: 3lo Go Ho Kx Lx mB nB oB Xdb3V 4V 7p iq jq Mx Nx pB qB rB ?p Wq Xq Ox Px sB tB uB

358 if union_arg is type(None): 2loGoHoKxLxmBnBoB3V4V7piqjqMxNxpBqBrB?pWqXqOxPxsBtBuB

359 continue 3lo Xdb7p ?p

360 origin_type = get_origin(union_arg) or union_arg 2loGoHoKxLxmBnBoB3V4V7piqjqMxNxpBqBrB?pWqXqOxPxsBtBuB

361 break 2loGoHoKxLxmBnBoB3V4V7piqjqMxNxpBqBrB?pWqXqOxPxsBtBuB

362 assert issubclass(origin_type, shared.sequence_types) # type: ignore[arg-type] 2loGoHoUJVJBlKx3JUVVVWVLxmBnBoBrKsKtKuK3V4V7piqjq%K'K9lMx/KXVYVZVNxpBqBrBKLLLMLNL?pWqXq`L{L!lOxdM0V1V2VPxsBtBuB2M3M4M5M

363 return shared.sequence_annotation_to_type[origin_type](value) # type: ignore[no-any-return,index] 2loGoHoUJVJBlKx3JUVVVWVLxmBnBoBrKsKtKuK3V4V7piqjq%K'K9lMx/KXVYVZVNxpBqBrBKLLLMLNL?pWqXq`L{L!lOxdM0V1V2VPxsBtBuB2M3M4M5M

364 

365 

366def get_missing_field_error(loc: tuple[int | str, ...]) -> dict[str, Any]: 1abcd

367 error = ValidationError.from_exception_data( 35V 6V 7V |M fG gG ro so to uo vo wo xo yo hG iG TJ :V =V @V ]V `V {V }V D, E, _~ F, G, H, `~ I, J, {~ ~V aW K, |~ L, M, }~ ~~ aabbabcabdabeabfab7, 8, gab9, !, #, hab$, %, iabfW gW ', jab(, ), ;, =, ?, @, [, iW ], ^, _, `, {, |, }, ~, a- b- c- d- jW kW e- f- g- h- K- L- M- N- O- P- Q- R- S- T- pW qW U- V- W- X- Y- Z- 0- 1- 2- rW 3- 4- ,- -- .- /- :- uW ;- =- ?- @- [- ]- ^- vW _- `- k. l. m. n. o. yW p. q. r. s. t. u. v. zW w. x. M. N. O. P. Q. CW R. S. DW EW FW GW jG kG lG mG nG oG 'N (N )N *N +N ,N -N LW .N MW NW kab@N [N ]N ^N _N `N {N rG sG tG uG ~N aO bO cO 0W 1W 2W 3W 4W 5W 7O 8O 9O !O #O $O %O 'O ]O WA =W ?W @W [W bX cX dX eX jX kX lX mX nX oX KP LP MP NP pX qX rX sX OP PP tX uX QP RP Do labmabIX JX KX /P LG MG %p 'p (p )p *p +p ,p -p NG OG $K 0X 2X 4X 6X 9X !X $X 1. 2. nab3. 4. 5. oab6. 7. pab%X 'X 8. qab9. !. rabsabtabuabvabwabxabyab_. `. zab{. |. }. Aab~. a/ Bab,X -X b/ Cabc/ d/ l/ m/ n/ o/ p/ /X q/ r/ s/ t/ u/ v/ w/ x/ y/ z/ A/ B/ :X ;X C/ D/ E/ F/ 8/ 9/ !/ #/ $/ %/ '/ (/ )/ */ ]X ^X +/ ,/ -/ ./ // :/ ;/ =/ ?/ _X @/ [/ g: h: i: j: k: |X l: m: n: o: p: q: r: }X s: t: I: J: K: L: M: bY N: O: P: Q: R: S: T: cY U: V: !: #: $: %: ': fY (: ): gY hY iY jY PG QG RG SG TG UG 2Q 3Q 4Q 5Q 6Q 7Q 8Q oY 9Q pY qY Dab(Q )Q *Q +Q ,Q -Q .Q XG YG ZG 0G ;Q =Q ?Q @Q DY EY FY GY HY IY YR ZR 0R 1R 2R 3R 4R 5R +R .A 2Y 3Y 4Y 5Y (Y )Y *Y +Y :Y ;Y =Y ?Y @Y [Y zS AS BS CS ]Y ^Y _Y `Y DS ES {Y |Y FS GS =p lZ mZ nZ #S (G )G `p {p |p }p ~p aq bq cq *G +G _L DZ FZ HZ JZ MZ NZ PZ =: ?: Eab@: [: ]: Fab^: _: GabQZ RZ `: Hab{: |: IabJabKabLabMabNabOabPabs; t; Qabu; v; w; Rabx; y; SabWZ XZ z; TabA; B; J; K; L; M; N; ZZ O; P; Q; R; S; T; U; V; W; X; Y; Z; 0Z 1Z 0; 1; 2; 3; `; {; |; }; ~; a= b= c= d= e= 6Z 7Z f= g= h= i= j= k= l= m= n= 8Z o= p= E= F= G= H= I= #Z J= K= L= M= N= O= P= $Z Q= R= 6= 7= 8= 9= != (Z #= $= %= '= (= )= *= )Z += ,= |= }= ~= a? b? ,Z c? d? -Z .Z /Z :Z ,G -G .G /G :G ;G PT QT RT ST TT UT VT [Z WT ]Z ^Z Uab2T 3T 4T 5T 6T 7T 8T @G [G ]G ^G #T $T %T 'T g0 h0 i0 j0 k0 l0 NU OU PU QU RU SU TU UU 9U jB F0 G0 H0 I0 S0 T0 U0 V0 00 10 20 30 40 50 lV mV nV oV 60 70 80 90 pV qV !0 #0 rV sV hq

368 "Field required", [{"type": "missing", "loc": loc, "input": {}}] 

369 ).errors(include_url=False)[0] 

370 error["input"] = None 35V 6V 7V |M fG gG ro so to uo vo wo xo yo hG iG TJ :V =V @V ]V `V {V }V D, E, _~ F, G, H, `~ I, J, {~ ~V aW K, |~ L, M, }~ ~~ aabbabcabdabeabfab7, 8, gab9, !, #, hab$, %, iabfW gW ', jab(, ), ;, =, ?, @, [, iW ], ^, _, `, {, |, }, ~, a- b- c- d- jW kW e- f- g- h- K- L- M- N- O- P- Q- R- S- T- pW qW U- V- W- X- Y- Z- 0- 1- 2- rW 3- 4- ,- -- .- /- :- uW ;- =- ?- @- [- ]- ^- vW _- `- k. l. m. n. o. yW p. q. r. s. t. u. v. zW w. x. M. N. O. P. Q. CW R. S. DW EW FW GW jG kG lG mG nG oG 'N (N )N *N +N ,N -N LW .N MW NW kab@N [N ]N ^N _N `N {N rG sG tG uG ~N aO bO cO 0W 1W 2W 3W 4W 5W 7O 8O 9O !O #O $O %O 'O ]O WA =W ?W @W [W bX cX dX eX jX kX lX mX nX oX KP LP MP NP pX qX rX sX OP PP tX uX QP RP Do labmabIX JX KX /P LG MG %p 'p (p )p *p +p ,p -p NG OG $K 0X 2X 4X 6X 9X !X $X 1. 2. nab3. 4. 5. oab6. 7. pab%X 'X 8. qab9. !. rabsabtabuabvabwabxabyab_. `. zab{. |. }. Aab~. a/ Bab,X -X b/ Cabc/ d/ l/ m/ n/ o/ p/ /X q/ r/ s/ t/ u/ v/ w/ x/ y/ z/ A/ B/ :X ;X C/ D/ E/ F/ 8/ 9/ !/ #/ $/ %/ '/ (/ )/ */ ]X ^X +/ ,/ -/ ./ // :/ ;/ =/ ?/ _X @/ [/ g: h: i: j: k: |X l: m: n: o: p: q: r: }X s: t: I: J: K: L: M: bY N: O: P: Q: R: S: T: cY U: V: !: #: $: %: ': fY (: ): gY hY iY jY PG QG RG SG TG UG 2Q 3Q 4Q 5Q 6Q 7Q 8Q oY 9Q pY qY Dab(Q )Q *Q +Q ,Q -Q .Q XG YG ZG 0G ;Q =Q ?Q @Q DY EY FY GY HY IY YR ZR 0R 1R 2R 3R 4R 5R +R .A 2Y 3Y 4Y 5Y (Y )Y *Y +Y :Y ;Y =Y ?Y @Y [Y zS AS BS CS ]Y ^Y _Y `Y DS ES {Y |Y FS GS =p lZ mZ nZ #S (G )G `p {p |p }p ~p aq bq cq *G +G _L DZ FZ HZ JZ MZ NZ PZ =: ?: Eab@: [: ]: Fab^: _: GabQZ RZ `: Hab{: |: IabJabKabLabMabNabOabPabs; t; Qabu; v; w; Rabx; y; SabWZ XZ z; TabA; B; J; K; L; M; N; ZZ O; P; Q; R; S; T; U; V; W; X; Y; Z; 0Z 1Z 0; 1; 2; 3; `; {; |; }; ~; a= b= c= d= e= 6Z 7Z f= g= h= i= j= k= l= m= n= 8Z o= p= E= F= G= H= I= #Z J= K= L= M= N= O= P= $Z Q= R= 6= 7= 8= 9= != (Z #= $= %= '= (= )= *= )Z += ,= |= }= ~= a? b? ,Z c? d? -Z .Z /Z :Z ,G -G .G /G :G ;G PT QT RT ST TT UT VT [Z WT ]Z ^Z Uab2T 3T 4T 5T 6T 7T 8T @G [G ]G ^G #T $T %T 'T g0 h0 i0 j0 k0 l0 NU OU PU QU RU SU TU UU 9U jB F0 G0 H0 I0 S0 T0 U0 V0 00 10 20 30 40 50 lV mV nV oV 60 70 80 90 pV qV !0 #0 rV sV hq

371 return error # type: ignore[return-value] 35V 6V 7V |M fG gG ro so to uo vo wo xo yo hG iG TJ :V =V @V ]V `V {V }V D, E, _~ F, G, H, `~ I, J, {~ ~V aW K, |~ L, M, }~ ~~ aabbabcabdabeabfab7, 8, gab9, !, #, hab$, %, iabfW gW ', jab(, ), ;, =, ?, @, [, iW ], ^, _, `, {, |, }, ~, a- b- c- d- jW kW e- f- g- h- K- L- M- N- O- P- Q- R- S- T- pW qW U- V- W- X- Y- Z- 0- 1- 2- rW 3- 4- ,- -- .- /- :- uW ;- =- ?- @- [- ]- ^- vW _- `- k. l. m. n. o. yW p. q. r. s. t. u. v. zW w. x. M. N. O. P. Q. CW R. S. DW EW FW GW jG kG lG mG nG oG 'N (N )N *N +N ,N -N LW .N MW NW kab@N [N ]N ^N _N `N {N rG sG tG uG ~N aO bO cO 0W 1W 2W 3W 4W 5W 7O 8O 9O !O #O $O %O 'O ]O WA =W ?W @W [W bX cX dX eX jX kX lX mX nX oX KP LP MP NP pX qX rX sX OP PP tX uX QP RP Do labmabIX JX KX /P LG MG %p 'p (p )p *p +p ,p -p NG OG $K 0X 2X 4X 6X 9X !X $X 1. 2. nab3. 4. 5. oab6. 7. pab%X 'X 8. qab9. !. rabsabtabuabvabwabxabyab_. `. zab{. |. }. Aab~. a/ Bab,X -X b/ Cabc/ d/ l/ m/ n/ o/ p/ /X q/ r/ s/ t/ u/ v/ w/ x/ y/ z/ A/ B/ :X ;X C/ D/ E/ F/ 8/ 9/ !/ #/ $/ %/ '/ (/ )/ */ ]X ^X +/ ,/ -/ ./ // :/ ;/ =/ ?/ _X @/ [/ g: h: i: j: k: |X l: m: n: o: p: q: r: }X s: t: I: J: K: L: M: bY N: O: P: Q: R: S: T: cY U: V: !: #: $: %: ': fY (: ): gY hY iY jY PG QG RG SG TG UG 2Q 3Q 4Q 5Q 6Q 7Q 8Q oY 9Q pY qY Dab(Q )Q *Q +Q ,Q -Q .Q XG YG ZG 0G ;Q =Q ?Q @Q DY EY FY GY HY IY YR ZR 0R 1R 2R 3R 4R 5R +R .A 2Y 3Y 4Y 5Y (Y )Y *Y +Y :Y ;Y =Y ?Y @Y [Y zS AS BS CS ]Y ^Y _Y `Y DS ES {Y |Y FS GS =p lZ mZ nZ #S (G )G `p {p |p }p ~p aq bq cq *G +G _L DZ FZ HZ JZ MZ NZ PZ =: ?: Eab@: [: ]: Fab^: _: GabQZ RZ `: Hab{: |: IabJabKabLabMabNabOabPabs; t; Qabu; v; w; Rabx; y; SabWZ XZ z; TabA; B; J; K; L; M; N; ZZ O; P; Q; R; S; T; U; V; W; X; Y; Z; 0Z 1Z 0; 1; 2; 3; `; {; |; }; ~; a= b= c= d= e= 6Z 7Z f= g= h= i= j= k= l= m= n= 8Z o= p= E= F= G= H= I= #Z J= K= L= M= N= O= P= $Z Q= R= 6= 7= 8= 9= != (Z #= $= %= '= (= )= *= )Z += ,= |= }= ~= a? b? ,Z c? d? -Z .Z /Z :Z ,G -G .G /G :G ;G PT QT RT ST TT UT VT [Z WT ]Z ^Z Uab2T 3T 4T 5T 6T 7T 8T @G [G ]G ^G #T $T %T 'T g0 h0 i0 j0 k0 l0 NU OU PU QU RU SU TU UU 9U jB F0 G0 H0 I0 S0 T0 U0 V0 00 10 20 30 40 50 lV mV nV oV 60 70 80 90 pV qV !0 #0 rV sV hq

372 

373 

374def create_body_model( 1abcd

375 *, fields: Sequence[ModelField], model_name: str 

376) -> type[BaseModel]: 

377 field_params = {f.name: (f.field_info.annotation, f.field_info) for f in fields} 2a moe f g h i j k Bl?w#lG +lDl=n?nfw@n[ngwhwiw]njw^nkw_nlw`nmw{nnw|n}nowQoexfxRogxSoTohxUoixVojxWoXokxlxYomxZonxox0o1opx2o3o4o5o6o7o8o9o!o#o$ob c 8po p q r s t u 9lUz5m5 8m%l:osxtx;oux=ovxwxxx?o@oyx[ozx]oAx^oBx_oCxsq9ztq!zuq#zvq$zwq%zxq'zyq(zzq)zAq*zBq+zCqDqEqFqGqHqIqJqKqLqd @pv w x y z A B !l@z6m! @m)l`oDx{oExFx|oGx}oHx~oIxapJx6qfA7qgA8qhA9qiA!qjA#qkA$qlA%qmA'qnA(qoA)qpA*qqA+qrA,qsA-qtA.quA/qvA:q;qwAxA=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer

378 BodyModel: type[BaseModel] = create_model(model_name, **field_params) # type: ignore[call-overload] 2a moe f g h i j k Bl?w#lG +lDl=n?nfw@n[ngwhwiw]njw^nkw_nlw`nmw{nnw|n}nowQoexfxRogxSoTohxUoixVojxWoXokxlxYomxZonxox0o1opx2o3o4o5o6o7o8o9o!o#o$ob c 8po p q r s t u 9lUz5m5 8m%l:osxtx;oux=ovxwxxx?o@oyx[ozx]oAx^oBx_oCxsq9ztq!zuq#zvq$zwq%zxq'zyq(zzq)zAq*zBq+zCqDqEqFqGqHqIqJqKqLqd @pv w x y z A B !l@z6m! @m)l`oDx{oExFx|oGx}oHx~oIxapJx6qfA7qgA8qhA9qiA!qjA#qkA$qlA%qmA'qnA(qoA)qpA*qqA+qrA,qsA-qtA.quA/qvA:q;qwAxA=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer

379 return BodyModel 2a moe f g h i j k Bl?w#lG +lDl=n?nfw@n[ngwhwiw]njw^nkw_nlw`nmw{nnw|n}nowQoexfxRogxSoTohxUoixVojxWoXokxlxYomxZonxox0o1opx2o3o4o5o6o7o8o9o!o#o$ob c 8po p q r s t u 9lUz5m5 8m%l:osxtx;oux=ovxwxxx?o@oyx[ozx]oAx^oBx_oCxsq9ztq!zuq#zvq$zwq%zxq'zyq(zzq)zAq*zBq+zCqDqEqFqGqHqIqJqKqLqd @pv w x y z A B !l@z6m! @m)l`oDx{oExFx|oGx}oHx~oIxapJx6qfA7qgA8qhA9qiA!qjA#qkA$qlA%qmA'qnA(qoA)qpA*qqA+qrA,qsA-qtA.quA/qvA:q;qwAxA=q?q@q[q]q^q_q`q{q|q}q~qarbrcrdrer

380 

381 

382def get_model_fields(model: type[BaseModel]) -> list[ModelField]: 1abcd

383 model_fields: list[ModelField] = [] 2yd-ezdP fbqfAdHf*drf+dBdigXb) Gm*l7fe f g h i j k .egbsf8fucC vcAgl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'btn7mago p q r s t u Kf2c%fbg-dS .d.gE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU re/gF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

384 for name, field_info in model.model_fields.items(): 2yd-ezdP fbqfAdHf*drf+dBdigXb) Gm*l7fe f g h i j k .egbsf8fucC vcAgl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'btn7mago p q r s t u Kf2c%fbg-dS .d.gE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU re/gF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

385 type_ = field_info.annotation 2ydzdP fbqfAdHf*drf+dBdigXb) Gm*l7fe f g h i j k .egbsf8fucC vcl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_e`e; 1c#f{e{fBf$fCf|eBgJd'btn7mago p q r s t u Kf2c%fbg-dS .dE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffgf@ @c/fhf}fEf:fFfifQg0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU reF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

386 if lenient_issubclass(type_, (BaseModel, dict)) or is_dataclass(type_): 2ydzdP fbqfAdHf*drf+dBdigXb) Gm*l7fe f g h i j k .egbsf8fucC vcl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_e`e; 1c#f{e{fBf$fCf|eBgJd'btn7mago p q r s t u Kf2c%fbg-dS .dE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffgf@ @c/fhf}fEf:fFfifQg0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU reF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

387 model_config = None 3Bd ig ) e f g h i j k gb C ,d mb nb ob pb qb rb sb tb ub Vab6db|e Bg 'b o p q r s t u 2c S Df 8c 9c !c #c $c %c 'c (c )c if Qg /b v w x y z A B [c U Gf |c }c ~c ad bd cd dd ed fd

388 else: 

389 model_config = model.model_config 2ydzdP fbqfAdHf*drf+dBdXb) Gm*l7fe f g h i j k .egbsf8fucC vcl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_e`e; 1c#f{e{fBf$fCf|eJd'btn7mago p q r s t u Kf2c%fbg-dS .dE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffgf@ @c/fhf}fEf:fFfif0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU reF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

390 model_fields.append( 2ydzdP fbqfAdHf*drf+dBdigXb) Gm*l7fe f g h i j k .egbsf8fucC vcl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_e`e; 1c#f{e{fBf$fCf|eBgJd'btn7mago p q r s t u Kf2c%fbg-dS .dE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffgf@ @c/fhf}fEf:fFfifQg0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU reF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

391 ModelField( 

392 field_info=field_info, 

393 name=name, 

394 config=model_config, 

395 ) 

396 ) 

397 return model_fields 2yd-ezdP fbqfAdHf*drf+dBdigXb) Gm*l7fe f g h i j k .egbsf8fucC vcAgl D HmImG ,dpnqnwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrd-l.l/lKmWlCcDc:l;l=l?lLmEcXlFc@l[lrn]lYlGcHcsn^l_l`l{l|lMmZl;e=e}llgmgngogpgqg'g(grgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . NmOm0lxlPmQm1l2lQc1b2b3b4bvbGdR H I tfRmSm3l4lTmUmygzgVmWmylzlO wbufxbybzbAbBbCbXmYmZm0m5lAlsdtd~ abudvdbbcbdbebvfwf1m2m6l7lxfyf8l3m4m9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'btn7mago p q r s t u Kf2c%fbg-dS .d.gE T unvn5 Df~nao/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e!m#m$mcm[d]d%m'm(m)mxndm^d_d*m+m,m-mem`d{d.m/m:m;mfmNfOf=mEgFgGgHgIgJg=g?gKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bynznElFlAnBnfeNdOdPdQd*ccf? 6 7 8 'fCnDngmhmEnFnGlHlGnHnIlJl' +c(f,c-c.c/c:c;cInJnimjm,gKnLnkm5e6e~bac7e8ebcccdcec)f*fMnNnlm+f,fOnPnmmnmcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/b(lQnRn?megv w x y z A B Vf[c;ffgqeU re/gF V SnTnUn! GfbocodoseteuevewexeyezeAeWfXfYf]mWnRgSgTgXn]g^g_gfcgchcicjckclcmcnc#e$e%e^m_m`m{mYnBermCeDeeo|m}mfo~manZnEesmFeGegobncnhodnioenfn0nHetmIeJegnhninjojnknln1nZfum0f1fmnkonn2nUgVgWg3nXgYgZg0g1g2g`g{g|gvm3g4g5g6gwm7g8g4n9g!g#gon5n}g~gah]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@b6n7n8n9nSe4d5d6d7dgdnf] # $ =f!n#n$n%n'n(n( hd?fidjdkdldmdnd)n*n+n,nxm'e(eocpc)e*eqcrcsctc@f[f-n.nymzmAmBm]f^fCm/n:nDmEmFmgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

398 

399 

400@lru_cache 1abcd

401def get_cached_model_fields(model: type[BaseModel]) -> list[ModelField]: 1abcd

402 return get_model_fields(model) 3Gm *l Hm Im pn qn jg kg $g %g -l .l /l Km Wl :l ;l =l ?l Lm Xl @l [l rn ]l Yl sn ^l _l `l {l |l Mm Zl }l lg mg ng og pg qg 'g (g rg sg tg ug vg wg )g *g Nm Om 0l xl Pm Qm 1l 2l Rm Sm 3l 4l Tm Um yg zg Vm Wm yl zl Xm Ym Zm 0m 5l Al 1m 2m 6l 7l 8l 3m 4m Wab7dbtn 7m un vn ~n ao Cg Dg :g ;g !m #m $m cm %m 'm (m )m xn dm *m +m ,m -m em .m /m :m ;m fm =m Eg Fg Gg Hg Ig Jg =g ?g Kg Lg Mg Ng Og Pg @g [g yn zn El Fl An Bn Cn Dn gm hm En Fn Gl Hl Gn Hn Il Jl In Jn im jm ,g Kn Ln km Mn Nn lm On Pn mm nm (l Qn Rn ?m Sn Tn Un bo co do ]m Wn Rg Sg Tg Xn ]g ^g _g ^m _m `m {m Yn rm eo |m }m fo ~m an Zn sm go bn cn ho dn io en fn 0n tm gn hn in jo jn kn ln 1n um mn ko nn 2n Ug Vg Wg 3n Xg Yg Zg 0g 1g 2g `g {g |g vm 3g 4g 5g 6g wm 7g 8g 4n 9g !g #g on 5n }g ~g ah 6n 7n 8n 9n !n #n $n %n 'n (n )n *n +n ,n xm -n .n ym zm Am Bm Cm /n :n Dm Em Fm

403 

404 

405# Duplicate of several schema functions from Pydantic v1 to make them compatible with 

406# Pydantic v2 and allow mixing the models 

407 

408TypeModelOrEnum = type["BaseModel"] | type[Enum] 1abcd

409TypeModelSet = set[TypeModelOrEnum] 1abcd

410 

411 

412def normalize_name(name: str) -> str: 1abcd

413 return re.sub(r"[^a-zA-Z0-9.\-_]", "_", name) 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbchsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;cdh5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdndeh'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

414 

415 

416def get_model_name_map(unique_models: TypeModelSet) -> dict[TypeModelOrEnum, str]: 1abcd

417 name_model_map = {} 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

418 for model in unique_models: 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbhzj-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

419 model_name = normalize_name(model.__name__) 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbchsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;cdh5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdndeh'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

420 name_model_map[model_name] = model 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbchsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;cdh5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdndeh'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

421 return {v: k for k, v in name_model_map.items()} 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

422 

423 

424def get_flat_models_from_model( 1abcd

425 model: type["BaseModel"], known_models: TypeModelSet | None = None 

426) -> TypeModelSet: 

427 known_models = known_models or set() 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

428 fields = get_model_fields(model) 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

429 get_flat_models_from_fields(fields, known_models=known_models) 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

430 return known_models 2yd-ezdP fbqfAdHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fucC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pc- . Qc1b2b3b4bvbGdR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 Id#bn $b0c%bAfbhzj_eJf`e; 1c#f{e{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbg-dS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee+b,bfeNdOdPdQd*ccf? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbefXdL YdpeZd.fffUfgf@ @c/fhf}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgqeU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe?b@bSe4d5d6d7dgdnf] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf'dN (d2e)d`f

431 

432 

433def get_flat_models_from_annotation( 1abcd

434 annotation: Any, known_models: TypeModelSet 

435) -> TypeModelSet: 

436 origin = get_origin(annotation) 2yd-ezdP TjfbqfAdrhihHf*drf+dBdshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|e?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEknhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

437 if origin is not None: 2yd-ezdP TjfbqfAdrhihHf*drf+dBdshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|e?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEknhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

438 for arg in get_args(annotation): 2yd-eP fbAdrhih+dshXb) e f g h i j k thucuhC vcvhl D KlG xg,dwcxcyczcAcBcjgkg^ _ ` { | } CcDcEcFcGcHclgmgngogpgqgrgsgtgugvgwghbibYb* IcJc+ ?e@e[ejbQ kblbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhChfhDhEhFhGhHhIhJhKhLhMhNhQc1b2b3b4bvbGdwjR H I OhPhygzgQhRhShThUhVhWhXhwbxbybzbAbBbCblhmhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+hHjIjJjKj,h-h.h/hLlMl:h~ abbbcbdbebRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;h1 2 3 4 Id#bn $b0c%bbhzj_eJf; 1c{e=hjhCf?hJd'bo p q r s t u @h-d[hS .d]hE T Nl5 +gDf/d:d;d=d?d@dCgDg^b_b`b{b|b}b[d]d^d_d`d{dEgFgGgHgIgJgKgLgMgNgOgPg3c4cKd(b|d}d)bPfQfRf5c= 6c7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hghaibicidieifigihiiijikifeNdOdPdQd*ccfxj? 6 7 8 liminioipiqirisitiuiviwi+c,c-c.c/c:c;cnhohxiyizi,gAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiLjMjNjOjRiSiTiUiOlPlVi~bacbcccdcecgeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K dfWiKbLbMbNbefXdL YdpeZdffUf@ @chfXikhFfYi0d/bv w x y z A B Ziqe0iU re1iF V Ql! -gGfseteuevewexeyezeAeRgSgTgfcgchcicjckclcmcncBeCeDeEeFeGeHeIeJeUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g]c^c1d:bKeLe;b2f3f4f_c[ `c{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8ihh9i!i#i$i%i'i(i)i*i+i,iSe4d5d6d7dgdnfyj] # $ -i.i/i:i;i=i?i@i[i]i^i_ihdidjdkdldmdndphqh`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjPjQjRjSjqjrjsjtjRlSlujocpcqcrcsctcTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvjTbUbVbWbpf'dN (d2e)d

439 if lenient_issubclass(arg, (BaseModel, Enum)): 2yd-eP fbAdrhih+dshXb) e f g h i j k thucuhC vcvhl D KlG xg,dwcxcyczcAcBcjgkg^ _ ` { | } CcDcEcFcGcHclgmgngogpgqgrgsgtgugvgwghbibYb* IcJc+ ?e@e[ejbQ kblbEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhChfhDhEhFhGhHhIhJhKhLhMhNhQc1b2b3b4bvbGdwjR H I OhPhygzgQhRhShThUhVhWhXhwbxbybzbAbBbCblhmhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+hHjIjJjKj,h-h.h/hLlMl:h~ abbbcbdbebRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;h1 2 3 4 Id#bn $b0c%bbhzj_eJf; 1c{e=hjhCf?hJd'bo p q r s t u @h-d[hS .d]hE T Nl5 +gDf/d:d;d=d?d@dCgDg^b_b`b{b|b}b[d]d^d_d`d{dEgFgGgHgIgJgKgLgMgNgOgPg3c4cKd(b|d}d)bPfQfRf5c= 6c7cafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hghaibicidieifigihiiijikifeNdOdPdQd*ccfxj? 6 7 8 liminioipiqirisitiuiviwi+c,c-c.c/c:c;cnhohxiyizi,gAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiLjMjNjOjRiSiTiUiOlPlVi~bacbcccdcecgeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K dfWiKbLbMbNbefXdL YdpeZdffUf@ @chfXikhFfYi0d/bv w x y z A B Ziqe0iU re1iF V Ql! -gGfseteuevewexeyezeAeRgSgTgfcgchcicjckclcmcncBeCeDeEeFeGeHeIeJeUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g]c^c1d:bKeLe;b2f3f4f_c[ `c{clfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8ihh9i!i#i$i%i'i(i)i*i+i,iSe4d5d6d7dgdnfyj] # $ -i.i/i:i;i=i?i@i[i]i^i_ihdidjdkdldmdndphqh`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjPjQjRjSjqjrjsjtjRlSlujocpcqcrcsctcTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvjTbUbVbWbpf'dN (d2e)d

440 if arg not in known_models: 2-eP fbAde f g h i j k ucC l D ,dhbibYb* IcJcQ Zb0bW X Y , PcvbGdR H I Z 0 J m 1 2 3 4 #bn $b0c%bt`zjJf; 1c{eo p q r s t u -dS E T Df3c4cKd(b|d}d= LdMdFbGbHb*bee*ccf? 6 7 8 IbJb9 K KbLbMbNbXdL YdpeZdUf@ @chfv w x y z A B qeU F V Gf]c^c1d:bKeLe[ 2d3dObPbQb=bRegdnf] # $ RbSb% M TbUbVbWb'dN (d2e)d

441 known_models.add(arg) # type: ignore[arg-type] 2-eP fbAde f g h i j k ucC l D ibYb* JcQ Zb0bW X Y , PcvbGdR H I J m #bn $b0c%bt`zjJf; 1c{eo p q r s t u -dS E T 4cKd(b}d= LdMdFbGbHb*bee*ccf? 6 7 8 9 K XdL YdpeZdUf@ @chfv w x y z A B qeU F V ^c1d:bLe[ 2d3dObPbQb=bRegdnf] # $ % M 'dN (d2e)d

442 if lenient_issubclass(arg, BaseModel): 2-eP fbAde f g h i j k ucC l D ibYb* JcQ Zb0bW X Y , PcvbGdR H I J m #bn $b0c%bt`zjJf; 1c{eo p q r s t u -dS E T 4cKd(b}d= LdMdFbGbHb*bee*ccf? 6 7 8 9 K XdL YdpeZdUf@ @chfv w x y z A B qeU F V ^c1d:bLe[ 2d3dObPbQb=bRegdnf] # $ % M 'dN (d2e)d

443 get_flat_models_from_model(arg, known_models=known_models) 2-eP fbAde f g h i j k ucC l D ibYb* Q Zb0bW X Y , PcvbGdR H I J m #bn $b0c%bt`zjJf; 1c{eo p q r s t u -dS E T 4cKd(b= LdMdFbGbHb*bee*ccf? 6 7 8 9 K XdL YdpeZdUf@ @chfv w x y z A B qeU F V ^c1d:b[ 2d3dObPbQb=bRegdnf] # $ % M 'dN (d2e)d

444 else: 

445 get_flat_models_from_annotation(arg, known_models=known_models) 3yd -e rh ih +d sh Xb ) th uh vc vh l D Kl G xg wc xc yc zc Ac Bc jg kg ^ _ ` { | } Cc Dc Ec Fc Gc Hc lg mg ng og pg qg rg sg tg ug vg wg Ic + ?e @e [e jb Q kb lb Ed Fd Kc Lc mb nb Zb 0b ob pb qb rb sb tb ub Mc Nc Oc W X Y , wh - . xh yh zh Ah Bh Ch fh Dh Eh Fh Gh Hh Ih Jh Kh Lh Mh Nh Qc 1b 2b 3b 4b wj Oh Ph yg zg Qh Rh Sh Th Uh Vh Wh Xh wb xb yb zb Ab Bb Cb lh mh Yh Zh 0h 1h 2h 3h 4h 5h 6h 7h 8h 9h !h #h $h %h 'h (h )h *h +h Hj Ij Jj Kj ,h -h .h /h Ll Ml :h ~ ab bb cb db eb Rc Z 0 Db 5b 6b Eb / : Sc Tc Uc Vc Wc Xc Yc Zc ]e ^e 7b 8b 9b !b J m Hd ;h 1 2 3 4 Id #b n $b %b bh 8db_e Jf =h jh Cf ?h Jd 'b @h [h .d ]h E T Nl 5 +g /d :d ;d =d ?d @d Cg Dg ^b _b `b {b |b }b [d ]d ^d _d `d {d Eg Fg Gg Hg Ig Jg Kg Lg Mg Ng Og Pg |d )b Pf Qf Rf 5c = 6c 7c af bf ~d ae 8c 9c Ld Md !c #c $c %c 'c (c )c be ce de Fb Gb Hb *b ^h +b ,b _h `h {h |h }h ~h gh ai bi ci di ei fi gi hi ii ji ki fe Nd Od Pd Qd xj li mi ni oi pi qi ri si ti ui vi wi +c ,c -c .c /c :c ;c nh oh xi yi zi ,g Ai Bi Ci Di Ei Fi Gi Hi Ii Ji Ki Li Mi Ni Oi Pi Qi Lj Mj Nj Oj Ri Si Ti Ui Ol Pl Vi ~b ac bc cc dc ec ge Ib Jb =c Rd Sd ?c -b .b he ie je ke le me ne oe Sf Tf Td Ud Vd Wd 9 K df Wi Kb Lb Mb Nb ef Xd L Yd Zd ff Uf Xi kh Ff Yi 0d /b Zi 0i re 1i F V Ql ! -g se te ue ve we xe ye ze Ae Rg Sg Tg fc gc hc ic jc kc lc mc nc Be Ce De Ee Fe Ge He Ie Je Ug Vg Wg Xg Yg Zg 0g 1g 2g 3g 4g 5g 6g 7g 8g 9g !g #g Ke ;b 2f 3f 4f _c [ `c {c lf mf Me Ne |c }c 2d 3d ~c ad bd cd dd ed fd Oe Pe Qe Ob Pb Qb =b 2i ?b @b 3i 4i 5i 6i 7i 8i hh 9i !i #i $i %i 'i (i )i *i +i ,i Se 4d 5d 6d 7d yj -i .i /i :i ;i =i ?i @i [i ]i ^i _i hd id jd kd ld md nd ph qh `i {i |i }i ~i aj bj cj dj ej fj gj hj ij jj kj lj mj nj oj pj Pj Qj Rj Sj qj rj sj tj Rl Sl uj oc pc qc rc sc tc Te Rb Sb od 8d 9d pd [b ]b Ue Ve We Xe Ye Ze 0e 1e 5f 6f !d #d $d %d % M of vj Tb Ub Vb Wb pf 'd N (d )d

446 return known_models 2yd-ezdP TjfbqfAdrhihHf*drf+dBdshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|e?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEknhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

447 

448 

449def get_flat_models_from_field( 1abcd

450 field: ModelField, known_models: TypeModelSet 

451) -> TypeModelSet: 

452 field_type = field.field_info.annotation 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

453 if lenient_issubclass(field_type, BaseModel): 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

454 if field_type in known_models: 2ydzdP fbqfHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbobpbqbrbsbtbubMcNcOcW X Y , - . Qc1b2b3b4bR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 IdAfbhy`_e`e; 1c#f{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbgS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9c!c#c$c%c'c(c)cbecedeFbGbHb*b+b,bfeNdOdPdQd? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbef.fffgf@ @c/f}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c~cadbdcdddedfdOePeQeObPbQb=b?b@bSe4d5d6d7d] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf`f

455 return known_models 3fb qf *d rf Bd ig Xb e f g h i j k .e l D hb ib * + - . H I O xb yb zb Ab Bb Cb Z 0 Db / : Hd 1 2 3 4 Id 9db!db1c #f Bf $f |e Bg Jd o p q r s t u Kf E T 3c 4c (b )b +b ,b 6 7 8 ' ,c -c .c /c :c ;c Ib Jb =c -b .b df Kb Lb Mb Nb ef @c /f Ef :f if Qg 0d v w x y z A B Vf F V ]c ^c :b ;b ?b @b # $ ( id jd kd ld md nd Rb Sb od [b ]b of Tb Ub Vb Wb pf

456 known_models.add(field_type) 2ydzdP fbqfHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbobpbqbrbsbtbubMcNcOcW X Y , - . Qc1b2b3b4bR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 IdAfbhy`_e`e; 1c#f{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbgS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9c!c#c$c%c'c(c)cbecedeFbGbHb*b+b,bfeNdOdPdQd? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbef.fffgf@ @c/f}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c~cadbdcdddedfdOePeQeObPbQb=b?b@bSe4d5d6d7d] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf`f

457 get_flat_models_from_model(field_type, known_models=known_models) 2ydzdP fbqfHf*drf+dBdigXb) 7fe f g h i j k .egbsf8fC vcAgl D G ,dwcxcyczcAcBc/e:e^ _ ` { | } qdrdCcDcEcFcGcHc;e=ehbibYb* IcJc+ If?e@e[ejbQ CdkbDdlbEdFdKcLcmbnbobpbqbrbsbtbubMcNcOcW X Y , - . Qc1b2b3b4bR H I tfO wbufxbybzbAbBbCbsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bEb/ : ScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hdzf1 2 3 4 IdAfbhy`_e`e; 1c#f{fBf$fCf|eBgJd'bago p q r s t u Kf2c%fbgS .d.gE T 5 Df/d:d;d=d?d@dLfMf^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOf3c4cKd(b|d}d)b|fPfQfRf5c= }e6c~e7cafbf~dae8c9c!c#c$c%c'c(c)cbecedeFbGbHb*b+b,bfeNdOdPdQd? 6 7 8 'f' +c(f,c-c.c/c:c;c5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSd?c-b.bheiejekelemeneoeSfTfTdUdVdWd9 K df-fKbLbMbNbef.fffgf@ @c/f}fEf:fFfifQg0d/begv w x y z A B Vf[c;ffgU re/gF V ! GfseteuevewexeyezeAeWfXfYffcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1f]c^c1d:bKeLe;b~f2f3f4f_c[ jf`ckf{clfmfMeNe|c}c~cadbdcdddedfdOePeQeObPbQb=b?b@bSe4d5d6d7d] # $ =f( hd?fidjdkdldmdnd'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9dpd[b]bUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M of_fTbUbVbWbpf`f

458 elif lenient_issubclass(field_type, Enum): 2yd-ezdP TjfbqfAdrhihHf*drf+dBdshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|e?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

459 known_models.add(field_type) 3C ch YdbZdbS dh U eh

460 else: 

461 get_flat_models_from_annotation(field_type, known_models=known_models) 2yd-ezdP TjfbqfAdrhihHf*drf+dBdshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|e?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEknhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

462 return known_models 3yd -e zd P Tj fb qf Ad rh ih Hf *d rf +d Bd ig sh Xb ) 7f e f g h i j k .e gb sf Uj th 8f uc uh C vc Ag vh l D Vj Kl Wj G xg Xj ul Yj ,d wc xc yc zc Ac Bc /e :e jg kg $g %g ^ _ ` { | } qd rd Cc Dc Ec Fc Gc Hc ;e =e lg mg ng og pg qg 'g (g Aj Bj rg sg tg ug vg wg )g *g hb ib Yb * Ic Jc + If ?e @e [e Zj ol jb Q Cd kb Dd lb 0j Ed Fd Kc Lc mb nb Zb 0b ob pb qb rb sb tb ub Mc Nc Oc W X Y , Pc wh - . xh yh zh Ah Bh Ch 1j pl fh Dh Eh Fh Gh Hh Ih Jh Kh Lh Mh Nh 2j 3j 4j 5j 6j 7j Qc 8j 9j 1b 2b 3b 4b vb Gd wj R H I !j #j $j %j tf 'j Oh Ph yg zg Qh Rh Sh Th Uh Vh Wh Xh O wb uf xb yb zb Ab Bb Cb (j )j *j +j ch lh mh ,j -j .j /j :j ;j =j ?j @j [j Yh Zh 0h 1h ]j 2h 3h 4h ^j 5h 6h 7h 8h 9h !h #h $h _j `j {j |j %h 'h (h )h *h +h Hj Ij Jj Kj ,h -h .h /h }j ~j Ll Ml :h sd td ~ ab ud vd bb cb db eb vf wf xf yf 9f !f wd xd Rc Z 0 Db 5b 6b ak bk Eb / : ck dk Sc Tc Uc Vc Wc Xc Yc Zc ]e ^e 7b 8b 9b !b J m Hd ;h zf 1 2 3 4 Id ek #b n $b 0c %b Af bh zj y` YdbZdb_e Jf `e ; fk 1c #f {e =h jh {f Bf $f Cf |e Bg ?h Jd 'b ag o p q r s t u Kf 2c %f gk @h bg -d [h S .d .g ]h E T hk Nl ik 5 +g jk vl kk Df /d :d ;d =d ?d @d Lf Mf Cg Dg :g ;g ^b _b `b {b |b }b 3e 4e [d ]d ^d _d `d {d Nf Of Eg Fg Gg Hg Ig Jg =g ?g Cj Dj Kg Lg Mg Ng Og Pg @g [g 3c 4c Kd (b |d }d )b |f Pf Qf Rf lk ql 5c = }e 6c ~e 7c mk af bf ~d ae 8c 9c Ld Md !c #c $c %c 'c (c )c be ce de Fb Gb Hb *b ee ^h +b ,b _h `h {h |h }h ~h nk rl gh ai bi ci di ei fi gi hi ii ji ki ok pk qk rk sk tk fe uk vk Nd Od Pd Qd *c cf xj ? 6 7 8 wk xk yk zk 'f Ak li mi ni oi pi qi ri si ti ui vi wi ' +c (f ,c -c .c /c :c ;c Bk Ck Dk Ek dh nh oh Fk Gk Hk Ik Jk Kk Lk Mk Nk Ok xi yi zi ,g Pk Ai Bi Ci Qk Di Ei Fi Gi Hi Ii Ji Ki Rk Sk Tk Uk Li Mi Ni Oi Pi Qi Lj Mj Nj Oj Ri Si Ti Ui Vk Wk Ol Pl Vi 5e 6e ~b ac 7e 8e bc cc dc ec )f *f +f ,f cg dg 9e !e ge Ib Jb =c Rd Sd Xk Yk ?c -b .b Zk 0k he ie je ke le me ne oe Sf Tf Td Ud Vd Wd 9 K df Wi -f Kb Lb Mb Nb ef 1k Xd L Yd pe Zd .f ff Uf gf @ 2k @c /f hf Xi kh }f Ef :f Ff if Qg Yi 0d /b eg v w x y z A B Vf [c ;f 3k Zi fg qe 0i U re /g 1i F V 4k Ql 5k ! -g 6k wl 7k Gf se te ue ve we xe ye ze Ae Wf Xf Yf Rg Sg Tg ]g ^g _g fc gc hc ic jc kc lc mc nc #e $e %e Be Ce De Ee Fe Ge He Ie Je Zf 0f 1f Ug Vg Wg Xg Yg Zg 0g 1g 2g `g {g |g Ej Fj Gj 3g 4g 5g 6g 7g 8g 9g !g #g }g ~g ah ]c ^c 1d :b Ke Le ;b ~f 2f 3f 4f 8k sl _c [ jf `c kf {c 9k lf mf Me Ne |c }c 2d 3d ~c ad bd cd dd ed fd Oe Pe Qe Ob Pb Qb =b Re 2i ?b @b 3i 4i 5i 6i 7i 8i !k tl hh 9i !i #i $i %i 'i (i )i *i +i ,i #k $k %k 'k (k )k Se *k +k 4d 5d 6d 7d gd nf yj ] # $ ,k -k .k /k =f :k -i .i /i :i ;i =i ?i @i [i ]i ^i _i ( hd ?f id jd kd ld md nd ;k =k ?k @k eh ph qh [k ]k ^k _k `k {k |k }k ~k al `i {i |i }i bl ~i aj bj cl cj dj ej fj gj hj ij jj dl el fl gl kj lj mj nj oj pj Pj Qj Rj Sj qj rj sj tj hl il Rl Sl uj 'e (e oc pc )e *e qc rc sc tc @f [f ]f ^f gg hg +e ,e Te Rb Sb od 8d 9d jl kl pd [b ]b ll ml Ue Ve We Xe Ye Ze 0e 1e 5f 6f !d #d $d %d % M of vj _f Tb Ub Vb Wb pf nl 'd N (d 2e )d `f

463 

464 

465def get_flat_models_from_fields( 1abcd

466 fields: Sequence[ModelField], known_models: TypeModelSet 

467) -> TypeModelSet: 

468 for field in fields: 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbhzj-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

469 get_flat_models_from_field(field, known_models=known_models) 2yd-ezdP TjfbqfAdrhihHf*drf+dBdigshXb) 7fe f g h i j k .egbsfUjth8fucuhC vcAgvhl D VjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If?e@e[eZjoljbQ CdkbDdlb0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . xhyhzhAhBhCh1jplfhDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8j9j1b2b3b4bvbGdwjR H I !j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO wbufxbybzbAbBbCb(j)j*j+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRcZ 0 Db5b6bakbkEb/ : ckdkScTcUcVcWcXcYcZc]e^e7b8b9b!bJ m Hd;hzf1 2 3 4 Idek#bn $b0c%bAfbhzj_eJf`e; fk1c#f{e=hjh{fBf$fCf|eBg?hJd'bago p q r s t u Kf2c%fgk@hbg-d[hS .d.g]hE T hkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|fPfQfRflkql5c= }e6c~e7cmkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,b_h`h{h|h}h~hnkrlghaibicidieifigihiiijikiokpkqkrksktkfeukvkNdOdPdQd*ccfxj? 6 7 8 wkxkykzk'fAkliminioipiqirisitiuiviwi' +c(f,c-c.c/c:c;cBkCkDkEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!egeIbJb=cRdSdXkYk?c-b.bZk0kheiejekelemeneoeSfTfTdUdVdWd9 K dfWi-fKbLbMbNbef1kXdL YdpeZd.fffUfgf@ 2k@c/fhfXikh}fEf:fFfifQgYi0d/begv w x y z A B Vf[c;f3kZifgqe0iU re/g1iF V 4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~f2f3f4f8ksl_c[ jf`ckf{c9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@b3i4i5i6i7i8i!ktlhh9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k+k4d5d6d7dgdnfyj] # $ ,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( hd?fidjdkdldmdnd;k=k?k@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTeRbSbod8d9djlklpd[b]bllmlUeVeWeXeYeZe0e1e5f6f!d#d$d%d% M ofvj_fTbUbVbWbpfnl'dN (d2e)d`f

470 return known_models 2yd-e!s#szdP TjfbqfAdrhihHf*drf$s+dBd%sigshXb) 7fe f g h i j k .e'sgbsfUjth8fucuhC (s)s*s+svcAgvh,sl D -sVjKlWjG xgXjulYj,dwcxcyczcAcBc/e:ejgkg$g%g^ _ ` { | } qdrdCcDcEcFcGcHc;e=elgmgngogpgqg'g(gAjBjrgsgtgugvgwg)g*ghbibYb* IcJc+ If.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtet?eftgthtit@e[ejtktltmtntZjoljbotQ CdkbDdlbptqtrtsttt0jEdFdKcLcmbnbZb0bobpbqbrbsbtbubMcNcOcW X Y , Pcwh- . utxhyhzhAhBhChvtwtxtytztAtBtCtDtEt1jplfhFtDhEhFhGhHhIhJhKhLhMhNh2j3j4j5j6j7jQc8jGt9jHt1b2b3b4bvbGdwjItJtR H I Kt!j#j$j%jtf'jOhPhygzgQhRhShThUhVhWhXhO LtMtNtOtPtQtwbufRtStTtxbUtVtWtybzbXtAbBbCbYt(j)j*jZt+jchlhmh,j-j.j/j:j;j=j?j@j[jYhZh0h1h]j2h3h4h^j5h6h7h8h9h!h#h$h_j`j{j|j%h'h(h)h*h+hHjIjJjKj,h-h.h/h}j~jLlMl:hsdtd~ abudvdbbcbdbebvfwfxfyf9f!fwdxdRc0tZ 0 Db5b6bak1tbkEb/ : ckdkScTcUcVcWcXcYcZc2t3t4t5t]e^e7b8b9b!b6t7t8t9tJ m Hd!t#t;hzf$t1 2 3 4 %t't(tId)t*t+t,tek#bn $b0c%bAfbh-t_eJf.t/t`e; fk1c#f{e=hjh{fBf$f:tCf|e;tBg?hJd'bago p q r s t u Kf=t2c%fgk@hbg-d[hS ?t@t[t]t.d.g]h^tE T _thkNlik5 +gjkvlkkDf/d:d;d=d?d@dLfMfCgDg:g;g^b_b`b{b|b}b3e4e[d]d^d_d`d{dNfOfEgFgGgHgIgJg=g?gCjDjKgLgMgNgOgPg@g[g3c4cKd(b|d}d)b|f`t{t|t}t~taubucudueufuguhuiujukulumunuoupuPfqurusutuQfRfuuvuwuxuyulkql5czu= }e6c~e7cAuBuCuDuEumkafbf~dae8c9cLdMd!c#c$c%c'c(c)cbecedeFbGbHb*bee^h+b,bFu_h`h{h|h}h~hGuHuIuJuKuLuMuNuOuPunkrlghQuaibicidieifigihiiijikiokpkqkrksktkfeukRuvkSuNdOdPdQd*ccfxjTuUu? 6 7 8 Vuwkxkykzk'fAkliminioipiqirisitiuiviwi' WuXuYuZu0u1u2u+c(f3u4u5u,c6u7u8u-c.c9u/c:c;c!uBkCkDk#uEkdhnhohFkGkHkIkJkKkLkMkNkOkxiyizi,gPkAiBiCiQkDiEiFiGiHiIiJiKiRkSkTkUkLiMiNiOiPiQiLjMjNjOjRiSiTiUiVkWkOlPlVi5e6e~bac7e8ebcccdcec)f*f+f,fcgdg9e!ege$uIbJb=cRdSdXk%uYk?c-b.bZk0kheiejekelemeneoe'u(u)u*uSfTfTdUdVdWd+u,u-u.u9 K df/u:uWi-f;uKbLbMbNb=u?u@uef[u]u^u_u1kXdL YdpeZd.fffUf`u{ugf@ 2k@c/fhfXikh}fEf:f|uFfif}uQgYi0d/begv w x y z A B Vf~u[c;f3kZifgqe0iU avbvcvdvre/g1ievF V fv4kQl5k! -g6kwl7kGfseteuevewexeyezeAeWfXfYfRgSgTg]g^g_gfcgchcicjckclcmcnc#e$e%eBeCeDeEeFeGeHeIeJeZf0f1fUgVgWgXgYgZg0g1g2g`g{g|gEjFjGj3g4g5g6g7g8g9g!g#g}g~gah]c^c1d:bKeLe;b~fgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAv2fBvCvDvEv3f4fFvGvHvIvJv8ksl_cKv[ jf`ckf{cLvMvNvOvPv9klfmfMeNe|c}c2d3d~cadbdcdddedfdOePeQeObPbQb=bRe2i?b@bQv3i4i5i6i7i8iRvSvTvUvVvWvXvYvZv0v!ktlhh1v9i!i#i$i%i'i(i)i*i+i,i#k$k%k'k(k)kSe*k2v+k3v4d5d6d7dgdnfyj4v5v] # $ 6v,k-k.k/k=f:k-i.i/i:i;i=i?i@i[i]i^i_i( 7v8v9v!v#v$vhd?f%v'v(vid)v*v+vjdkd,vldmdnd-v;k=k?k.v@kehphqh[k]k^k_k`k{k|k}k~kal`i{i|i}ibl~iajbjclcjdjejfjgjhjijjjdlelflglkjljmjnjojpjPjQjRjSjqjrjsjtjhlilRlSluj'e(eocpc)e*eqcrcsctc@f[f]f^fgghg+e,eTe/vRbSbod8d9djl:vklpd[b]bllmlUeVeWeXeYeZe0e1e;v=v?v@v5f6f!d#d$d%d[v]v^v_v% M of`v{vvj_f|vTbUbVbWb}v~vawpfbwcwdwewnl'dN (d2e)d`f

471 

472 

473def _regenerate_error_with_loc( 1abcd

474 *, errors: Sequence[Any], loc_prefix: tuple[str | int, ...] 

475) -> list[dict[str, Any]]: 

476 updated_loc_errors: list[Any] = [ 2u^AABACADAEAFACl`M{McNWJGAHAYJZJ0J1Jv^w^eNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNRNSNTNUNDlVl=0?0@0x^y^z^A^B^C^D^E^F^G^H^I^J^K^L^M^}0~0a1b1c1WNd1e1f1g1-l.l/lWlh1:lp1_l`l{l|lZlq1}lr1s1t1u1v1XNw1x1M1N1O1P1Q10NR1S1T1U1V1W1X11NY1Z1'1(1)1*1+14N,1-1N^O^P^Q^R^S^IAJAKALAMANAOAPAQAx,y,T^U^V^W^X^Y^9NZ^0^1^2^3^4^5^6^6JRA7J8JpGqG9J!J#JSATA$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J7^8^9^!^#^$^xlvGwGxGyGzG%^'^(^]JUO)^VOAGBGCGDGEGFGGGHGylzl5O6OUAVA`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKIGJG+O,OKGAlWA_O`O{O|O}O~OaPbPePfPgPhPiPjPkPlPmPnPoPpP.1/1uPvP6l7lwPxPyPzPAP8lBPCPDPEPFPGPHPIPJP*^XAYA'P(P+^,^-^.^/^:^;^)P=^?^*P+Pw`x`@^ZA0A1A2A3A4A$l-P.P@P(K5A6A*K+K,K-K[^]^]P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQFQGQHQIQ%lbm:1;1=1^^_^`^{^|^}^~^a_b_c_d_e_f_g_h_i_{1|1}1~1a2KQb2c2d2e2!m#m$mcm%m'mm2n2/m:m;mfmo2=mp2q2r2s2t2LQu2v2K2L2M2N2O2OQP2Q2R2S2T2U2V2PQW2X2$2%2'2(2)2SQ*2+2j_k_l_m_n_o_7A8A9A!A#A$A%A'A(Az,A,p_q_r_s_t_u_XQv_w_x_y_z_A_B_C_=K)A?K@KVGWG[K]K^K*A+A_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLD_E_F_G_H_I_ElFl1G2G3G4GJ_K_L_lLLRM_MR5G6G7G8GGlHl9G!GIlJlWRXR,A-AoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJL#G$Gkm8R%G'G.A-R.R/R:R;R=R?R@R^R_R`R{R|R}R~RaSbScSdSeS,2-2jSkSlmlSmSnSoSpSqSrSsStSuSvSmmwSxSnmySN_/A:A3S4SO_P_Q_R_S_T_U_5SV_W_6S7SX_;A=A?A@A[A]A'l9S!S)S|L^A_A}L~LaMbMY_Z_+S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTuTvTwTxT)lqm.2/2:20_1_2_3_4_5_6_7_8_9_!_#_$_%_'_(_^2_2`2{2|2zT}2~2^ma3_m`m{mrmb3|ming3jnknlnummnnnh3i3j3k3l3ATm3n3C3D3E3F3G3DTH3I3J3K3L3M3N3vmO3P3435363on73FT8393)_*_+_,_-_._`A{A|A}A~AaBbBcBdBB,C,/_:_;_=_?_@_KT[_]_^___`_{_|_}_gMeBhMiM=G?GjMkMlMfBgBmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCM~_a`b`c`d`e`_G`G{G|G}G~Gf`g`h`DMyUi`zUaHbHcHdHeHfHgHhHiHjHLUMUhBiBGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1MkHlHxmZUmHnHjB#U$U%U'U(U)U*U+U.U/U:U;U=U?U@U[U]U^U_U`U!3#3aVbVcVymzmAmBmdVeVfVCmgVhVDmiVEmFmjVkVj`kBlBPVQVk`l`m`n`o`p`q`RVr`s`SVTV

477 {**err, "loc": loc_prefix + err.get("loc", ())} for err in errors 

478 ] 

479 

480 return updated_loc_errors 2u^AABACADAEAFACl`M{McNWJGAHAYJZJ0J1Jv^w^eNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNRNSNTNUNDlVl=0?0@0x^y^z^A^B^C^D^E^F^G^H^I^J^K^L^M^}0~0a1b1c1WNd1e1f1g1-l.l/lWlh1:lp1_l`l{l|lZlq1}lr1s1t1u1v1XNw1x1M1N1O1P1Q10NR1S1T1U1V1W1X11NY1Z1'1(1)1*1+14N,1-1N^O^P^Q^R^S^IAJAKALAMANAOAPAQAx,y,T^U^V^W^X^Y^9NZ^0^1^2^3^4^5^6^6JRA7J8JpGqG9J!J#JSATA$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J7^8^9^!^#^$^xlvGwGxGyGzG%^'^(^]JUO)^VOAGBGCGDGEGFGGGHGylzl5O6OUAVA`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKIGJG+O,OKGAlWA_O`O{O|O}O~OaPbPePfPgPhPiPjPkPlPmPnPoPpP.1/1uPvP6l7lwPxPyPzPAP8lBPCPDPEPFPGPHPIPJP*^XAYA'P(P+^,^-^.^/^:^;^)P=^?^*P+Pw`x`@^ZA0A1A2A3A4A$l-P.P@P(K5A6A*K+K,K-K[^]^]P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQFQGQHQIQ%lbm:1;1=1^^_^`^{^|^}^~^a_b_c_d_e_f_g_h_i_{1|1}1~1a2KQb2c2d2e2!m#m$mcm%m'mm2n2/m:m;mfmo2=mp2q2r2s2t2LQu2v2K2L2M2N2O2OQP2Q2R2S2T2U2V2PQW2X2$2%2'2(2)2SQ*2+2j_k_l_m_n_o_7A8A9A!A#A$A%A'A(Az,A,p_q_r_s_t_u_XQv_w_x_y_z_A_B_C_=K)A?K@KVGWG[K]K^K*A+A_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLD_E_F_G_H_I_ElFl1G2G3G4GJ_K_L_lLLRM_MR5G6G7G8GGlHl9G!GIlJlWRXR,A-AoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJL#G$Gkm8R%G'G.A-R.R/R:R;R=R?R@R^R_R`R{R|R}R~RaSbScSdSeS,2-2jSkSlmlSmSnSoSpSqSrSsStSuSvSmmwSxSnmySN_/A:A3S4SO_P_Q_R_S_T_U_5SV_W_6S7SX_;A=A?A@A[A]A'l9S!S)S|L^A_A}L~LaMbMY_Z_+S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTuTvTwTxT)lqm.2/2:20_1_2_3_4_5_6_7_8_9_!_#_$_%_'_(_^2_2`2{2|2zT}2~2^ma3_m`m{mrmb3|ming3jnknlnummnnnh3i3j3k3l3ATm3n3C3D3E3F3G3DTH3I3J3K3L3M3N3vmO3P3435363on73FT8393)_*_+_,_-_._`A{A|A}A~AaBbBcBdBB,C,/_:_;_=_?_@_KT[_]_^___`_{_|_}_gMeBhMiM=G?GjMkMlMfBgBmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCM~_a`b`c`d`e`_G`G{G|G}G~Gf`g`h`DMyUi`zUaHbHcHdHeHfHgHhHiHjHLUMUhBiBGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1MkHlHxmZUmHnHjB#U$U%U'U(U)U*U+U.U/U:U;U=U?U@U[U]U^U_U`U!3#3aVbVcVymzmAmBmdVeVfVCmgVhVDmiVEmFmjVkVj`kBlBPVQVk`l`m`n`o`p`q`RVr`s`SVTV