Coverage for sqlmodel/_compat.py: 93%
299 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-15 09:31 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-15 09:31 +0000
1import types 1abcdef
2from contextlib import contextmanager 1abcdef
3from contextvars import ContextVar 1abcdef
4from dataclasses import dataclass 1abcdef
5from typing import ( 1abcdef
6 TYPE_CHECKING,
7 AbstractSet,
8 Any,
9 Callable,
10 Dict,
11 ForwardRef,
12 Generator,
13 Mapping,
14 Optional,
15 Set,
16 Type,
17 TypeVar,
18 Union,
19)
21from pydantic import VERSION as P_VERSION 1abcdef
22from pydantic import BaseModel 1abcdef
23from pydantic.fields import FieldInfo 1abcdef
24from typing_extensions import Annotated, get_args, get_origin 1abcdef
26# Reassign variable to make it reexported for mypy
27PYDANTIC_VERSION = P_VERSION 1abcdef
28PYDANTIC_MINOR_VERSION = tuple(int(i) for i in P_VERSION.split(".")[:2]) 1abcdef
29IS_PYDANTIC_V2 = PYDANTIC_MINOR_VERSION[0] == 2 1abcdef
32if TYPE_CHECKING: 1abcdef
33 from .main import RelationshipInfo, SQLModel
35UnionType = getattr(types, "UnionType", Union) 1abcdef
36NoneType = type(None) 1abcdef
37T = TypeVar("T") 1abcdef
38InstanceOrType = Union[T, Type[T]] 1abcdef
39_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1abcdef
42class FakeMetadata: 1abcdef
43 max_length: Optional[int] = None 1abcdef
44 max_digits: Optional[int] = None 1abcdef
45 decimal_places: Optional[int] = None 1abcdef
48@dataclass 1abcdef
49class ObjectWithUpdateWrapper: 1abcdef
50 obj: Any 1abcdef
51 update: Dict[str, Any] 1abcdef
53 def __getattribute__(self, __name: str) -> Any: 1abcdef
54 update = super().__getattribute__("update") 2abbbcbdbebfbgbhbibdcecfcgchcic
55 obj = super().__getattribute__("obj") 2abbbcbdbebfbgbhbibdcecfcgchcic
56 if __name in update: 2abbbcbdbebfbgbhbibdcecfcgchcic
57 return update[__name] 2abbbcbdbebfbgbhbibdcecfcgchcic
58 return getattr(obj, __name) 2abbbcbdbebfbgbhbibdcecfcgchcic
61def _is_union_type(t: Any) -> bool: 1abcdef
62 return t is UnionType or t is Union 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
65finish_init: ContextVar[bool] = ContextVar("finish_init", default=True) 1abcdef
68@contextmanager 1abcdef
69def partial_init() -> Generator[None, None, None]: 1abcdef
70 token = finish_init.set(False) 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
71 yield 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
72 finish_init.reset(token) 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
75if IS_PYDANTIC_V2: 1abcdef
76 from annotated_types import MaxLen 1abcdef
77 from pydantic import ConfigDict as BaseConfig 1abcdef
78 from pydantic._internal._fields import PydanticMetadata 1abcdef
79 from pydantic._internal._model_construction import ModelMetaclass 1abcdef
80 from pydantic._internal._repr import Representation as Representation 1abcdef
81 from pydantic_core import PydanticUndefined as Undefined 1abcdef
82 from pydantic_core import PydanticUndefinedType as UndefinedType 1abcdef
84 # Dummy for types, to make it importable
85 class ModelField: 1abcdef
86 pass 1abcdef
88 class SQLModelConfig(BaseConfig, total=False): 1abcdef
89 table: Optional[bool] 1abcdef
90 registry: Optional[Any] 1abcdef
92 def get_config_value( 1abcdef
93 *, model: InstanceOrType["SQLModel"], parameter: str, default: Any = None
94 ) -> Any:
95 return model.model_config.get(parameter, default) 2a Oe4e5e}mPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepb Pemfnf~mRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffpc QeRe5f6f7f8fanToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpd SeTe6g7g8g9gbnVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpe UeVe7h8h9h!hcnXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpf WeXe8i9i!i#idnZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
97 def set_config_value( 1abcdef
98 *,
99 model: InstanceOrType["SQLModel"],
100 parameter: str,
101 value: Any,
102 ) -> None:
103 model.model_config[parameter] = value # type: ignore[literal-required] 2a Oe4e5e}mPoQoqn%n.nBpskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/nCptkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nDpuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nEpvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nFpYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nGpZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
105 def get_model_fields(model: InstanceOrType[BaseModel]) -> Dict[str, "FieldInfo"]: 1abcdef
106 # TODO: refactor the usage of this function to always pass the class
107 # not the instance, and then remove this extra check
108 # this is for compatibility with Pydantic v3
109 if isinstance(model, type): 2a 6kOe4e5e}mPoQoqn%n.nBpskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb 7k8kPemfnf~mRoSoun'n/nCptkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc 9k!k#kQeRe5f6f7f8fanToUozn(n:nDpuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd $k%k'kSeTe6g7g8g9gbnVoWoIn)n;nEpvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he (k)k*kUeVe7h8h9h!hcnXoYoRn*n=nFpYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if +k,k-kWeXe8i9i!i#idnZo0o0n+n?nGpZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
110 use_model = model 2a Oe4e5e}mPoQoqn%n.nBpskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/nCptkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nDpuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nEpvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nFpYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nGpZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
111 else:
112 use_model = model.__class__ 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
113 return use_model.model_fields 2a 6kOe4e5e}mPoQoqn%n.nBpskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb 7k8kPemfnf~mRoSoun'n/nCptkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc 9k!k#kQeRe5f6f7f8fanToUozn(n:nDpuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd $k%k'kSeTe6g7g8g9gbnVoWoIn)n;nEpvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he (k)k*kUeVe7h8h9h!hcnXoYoRn*n=nFpYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if +k,k-kWeXe8i9i!i#idnZo0o0n+n?nGpZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
115 def get_fields_set( 1abcdef
116 object: InstanceOrType["SQLModel"],
117 ) -> Union[Set[str], Callable[[BaseModel], Set[str]]]:
118 return object.model_fields_set 27o8o9o!o,o-o
120 def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1abcdef
121 object.__setattr__(new_object, "__pydantic_fields_set__", set()) 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n1o7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao2o8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffppp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo3o9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco4o!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo5o,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko6o-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
122 object.__setattr__(new_object, "__pydantic_extra__", None) 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n1o7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao2o8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffppp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo3o9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco4o!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo5o,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko6o-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
123 object.__setattr__(new_object, "__pydantic_private__", None) 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n1o7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao2o8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffppp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo3o9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco4o!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo5o,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko6o-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
125 def get_annotations(class_dict: Dict[str, Any]) -> Dict[str, Any]: 1abcdef
126 return class_dict.get("__annotations__", {}) 2a Oe4e5e}mPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepb Pemfnf~mRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffpc QeRe5f6f7f8fanToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpd SeTe6g7g8g9gbnVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpe UeVe7h8h9h!hcnXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpf WeXe8i9i!i#idnZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
128 def is_table_model_class(cls: Type[Any]) -> bool: 1abcdef
129 config = getattr(cls, "model_config", {}) 2a mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n1oPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomono9nknK rn6e7e8e9e!e#e$e%esntn'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepb npWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao2oRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqo!nlnW X vnofpfqfrfsftfufvfwnxnwfxfyn!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffpc pp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo3oToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto#nmn9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpd spgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco4oVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo$nnn: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQnBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpe vpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo5oXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo,non$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZn2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpf yp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko6oZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo-npn?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8n]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
130 if config: 2a mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n1oPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomono9nknK rn6e7e8e9e!e#e$e%esntn'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepb npWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao2oRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqo!nlnW X vnofpfqfrfsftfufvfwnxnwfxfyn!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffpc pp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo3oToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto#nmn9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpd spgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco4oVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo$nnn: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQnBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpe vpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo5oXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo,non$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZn2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpf yp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko6oZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo-npn?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8n]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
131 return config.get("table", False) or False 2a mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n1oPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomono9nknK rn6e7e8e9e!e#e$e%esntn'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfepb npWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao2oRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqo!nlnW X vnofpfqfrfsftfufvfwnxnwfxfyn!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4ffpc pp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo3oToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto#nmn9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggpd spgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco4oVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo$nnn: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQnBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hhpe vpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo5oXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo,non$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZn2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7ijpf yp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko6oZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo-npn?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8n]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8jlp
132 return False 1abcdef
134 def get_relationship_to( 1abcdef
135 name: str,
136 rel_info: "RelationshipInfo",
137 annotation: Any,
138 ) -> Any:
139 origin = get_origin(annotation) 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
140 use_annotation = annotation 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
141 # Direct relationships (e.g. 'Team' or Team) have None as an origin
142 if origin is None: 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
143 if isinstance(use_annotation, ForwardRef): 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
144 use_annotation = use_annotation.__forward_arg__ 2a ~kK g h )c*cL M .kN O P Q R S T U V b alW X i j +c,cY Z /k0 1 2 3 4 5 6 7 8 c bl9 ! # k l -c.c$ % :k' ( ) * + , - . / d cl: ; = m n /c:c? @ ;k[ ] ^ _ ` { | } ~ e dl$b%b'by z |c}c(b)b=k*b+b,b-b.b/b:b;b=bf el?b@b[bA B ~cad]b^b?k_b`b{b|b}b~bacbccc
145 else:
146 return use_annotation 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
147 # If Union (e.g. Optional), get the real field
148 elif _is_union_type(origin): 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
149 use_annotation = get_args(annotation) 2a K g h L M .kN O P Q R S T U V b W X i o j p Y jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc 9 ! # k q r l s t $ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd : ; = m u v n w x ? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be $b%b'by C D z E F (bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf ?b@b[bA G H B I J ]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
150 if len(use_annotation) > 2: 2a K g h L M .kN O P Q R S T U V b W X i o j p Y jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc 9 ! # k q r l s t $ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd : ; = m u v n w x ? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be $b%b'by C D z E F (bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf ?b@b[bA G H B I J ]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
151 raise ValueError(
152 "Cannot have a (non-optional) union as a SQLAlchemy field"
153 )
154 arg1, arg2 = use_annotation 2a K g h L M .kN O P Q R S T U V b W X i o j p Y jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc 9 ! # k q r l s t $ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd : ; = m u v n w x ? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be $b%b'by C D z E F (bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf ?b@b[bA G H B I J ]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
155 if arg1 is NoneType and arg2 is not NoneType: 2a K g h L M .kN O P Q R S T U V b W X i o j p Y jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc 9 ! # k q r l s t $ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd : ; = m u v n w x ? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be $b%b'by C D z E F (bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf ?b@b[bA G H B I J ]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
156 use_annotation = arg2
157 elif arg2 is NoneType and arg1 is not NoneType: 2a K g h L M .kN O P Q R S T U V b W X i o j p Y jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc 9 ! # k q r l s t $ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd : ; = m u v n w x ? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be $b%b'by C D z E F (bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf ?b@b[bA G H B I J ]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
158 use_annotation = arg1 2a K g h L M .kN O P Q R S T U V b W X i o j p Y jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc 9 ! # k q r l s t $ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd : ; = m u v n w x ? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be $b%b'by C D z E F (bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf ?b@b[bA G H B I J ]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
159 else:
160 raise ValueError(
161 "Cannot have a Union of None and None as a SQLAlchemy field"
162 )
164 # If a list, then also get the real field
165 elif origin is list: 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
166 use_annotation = get_args(annotation)[0] 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
168 return get_relationship_to( 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
169 name=name, rel_info=rel_info, annotation=use_annotation
170 )
172 def is_field_noneable(field: "FieldInfo") -> bool: 1abcdef
173 if getattr(field, "nullable", Undefined) is not Undefined: 2a Oe4e5ePoQoqn%n.nskYe9j!j#j0ken~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-j1kfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]j2kgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgk3khnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkyk4kindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMk5kjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
174 return field.nullable # type: ignore 20ken1kfn2kgn3khn4kin5kjn
175 origin = get_origin(field.annotation) 2a Oe4e5ePoQoqn%n.nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
176 if origin is not None and _is_union_type(origin): 2a Oe4e5ePoQoqn%n.nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
177 args = get_args(field.annotation) 2a Oe4e5eqn%nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnfun'ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fzn(nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gIn)nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hRn*nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#i0n+nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
178 if any(arg is NoneType for arg in args): 2a Oe4e5eqn%nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnfun'ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fzn(nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gIn)nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hRn*nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#i0n+nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
179 return True 2a Oe4e5eqn%nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnfun'ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fzn(nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gIn)nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hRn*nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#i0n+nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
180 if not field.is_required(): 2a Oe4e5ePoQoqn.nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun/ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn:nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn;nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn=nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n?nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
181 if field.default is Undefined: 2Oeen1cPefn2c3cQeRegn4c5c6cSeTehn7c8c9cUeVein!c#c$cWeXejn%c'c(c
182 return False
183 if field.annotation is None or field.annotation is NoneType: # type: ignore[comparison-overlap] 2Oeen1cPefn2c3cQeRegn4c5c6cSeTehn7c8c9cUeVein!c#c$cWeXejn%c'c(c
184 return True
185 return False 2Oeen1cPefn2c3cQeRegn4c5c6cSeTehn7c8c9cUeVein!c#c$cWeXejn%c'c(c
186 return False 2a Oe4e5ePoQoqn.nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun/ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn:nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn;nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn=nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n?nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
188 def get_sa_type_from_type_annotation(annotation: Any) -> Any: 1abcdef
189 # Resolve Optional fields
190 if annotation is None: 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
191 raise ValueError("Missing field type")
192 origin = get_origin(annotation) 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
193 if origin is None: 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
194 return annotation 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
195 elif origin is Annotated: 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
196 return get_sa_type_from_type_annotation(get_args(annotation)[0]) 2}m~manbncndn
197 if _is_union_type(origin): 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
198 bases = get_args(annotation) 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
199 if len(bases) > 2: 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
200 raise ValueError(
201 "Cannot have a (non-optional) union as a SQLAlchemy field"
202 )
203 # Non optional unions are not allowed
204 if bases[0] is not NoneType and bases[1] is not NoneType: 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
205 raise ValueError( 2noqotowozoCo
206 "Cannot have a (non-optional) union as a SQLAlchemy field"
207 )
208 # Optional unions are allowed
209 use_type = bases[0] if bases[0] is not NoneType else bases[1] 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
210 return get_sa_type_from_type_annotation(use_type) 2a Oe4e5e}mqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanzn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idn0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
211 return origin 2lomoooporosouovoxoyoAoBo
213 def get_sa_type_from_field(field: Any) -> Any: 1abcdef
214 type_: Any = field.annotation 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
215 return get_sa_type_from_type_annotation(type_) 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
217 def get_field_metadata(field: Any) -> Any: 1abcdef
218 for meta in field.metadata: 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
219 if isinstance(meta, (PydanticMetadata, MaxLen)): 2OePeQeReSeTeUeVeWeXe
220 return meta 2OePeQeReSeTeUeVeWeXe
221 return FakeMetadata() 2a Oe4e5e}mPoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
223 def post_init_field_info(field_info: FieldInfo) -> None: 1abcdef
224 return None 2a Oe4e5e}mPoQoqn%n.nBp*p+p7osk}oYe9j!j#jDo0kenEo,p~k#o$o.o$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnf~mRoSoun'n/nCp-p.p8otk~oZe+j,j-jFo1kfnGo/pal%o'o/o.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fanToUozn(n:nDp:p;p9oukap0e@j[j]jHo2kgnIo=pbl(o)o:o^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gbnVoWoIn)n;nEp?p@p!ovkbp1eekfkgkJo3khnKo[pcl*o+o;ohkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hcnXoYoRn*n=nFp]p^p,oYkip2ewkxkykLo4kinMo_pdl=o?o]ozkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#idnZo0o0n+n?nGp`p{p-oZkkp3eKkLkMkNo5kjnOo|pel@o[o^oNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
226 # Dummy to make it importable
227 def _calculate_keys( 1abcdef
228 self: "SQLModel", 1abcdef
229 include: Optional[Mapping[Union[int, str], Any]], 1abcdef
230 exclude: Optional[Mapping[Union[int, str], Any]], 1abcdef
231 exclude_unset: bool, 1abcdef
232 update: Optional[Dict[str, Any]] = None, 1abcdef
233 ) -> Optional[AbstractSet[str]]: # pragma: no cover 1abcdef
234 return None
236 def sqlmodel_table_construct( 1abcdef
237 *,
238 self_instance: _TSQLModel,
239 values: Dict[str, Any],
240 _fields_set: Union[Set[str], None] = None,
241 ) -> _TSQLModel:
242 # Copy from Pydantic's BaseModel.construct()
243 # Ref: https://github.com/pydantic/pydantic/blob/v2.5.2/pydantic/main.py#L198
244 # Modified to not include everything, only the model fields, and to
245 # set relationships
246 # SQLModel override to get class SQLAlchemy __dict__ attributes and
247 # set them back in after creating the object
248 # new_obj = cls.__new__(cls)
249 cls = type(self_instance) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
250 old_dict = self_instance.__dict__.copy() 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
251 # End SQLModel override
253 fields_values: Dict[str, Any] = {} 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
254 defaults: Dict[ 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
255 str, Any
256 ] = {} # keeping this separate from `fields_values` helps us compute `_fields_set`
257 for name, field in cls.model_fields.items(): 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
258 if field.alias and field.alias in values: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
259 fields_values[name] = values.pop(field.alias)
260 elif name in values: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
261 fields_values[name] = values.pop(name) 2@nflgl6kOe4e5eYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnfZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8f0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9g1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!h2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#i3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
262 elif not field.is_required(): 2@nflgl6kOe4e5e}mskYe9j!j#j$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgkhk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkykzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMkNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
263 defaults[name] = field.get_default(call_default_factory=True) 2@nflgl6kOe4e5e}mskYe9j!j#j$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgkhk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkykzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMkNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
264 if _fields_set is None: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
265 _fields_set = set(fields_values.keys()) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
266 fields_values.update(defaults) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
268 _extra: Union[Dict[str, Any], None] = None 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
269 if cls.model_config.get("extra") == "allow": 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
270 _extra = {}
271 for k, v in values.items():
272 _extra[k] = v
273 # SQLModel override, do not include everything, only the model fields
274 # else:
275 # fields_values.update(values)
276 # End SQLModel override
277 # SQLModel override
278 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
279 # object.__setattr__(new_obj, "__dict__", fields_values)
280 # instrumentation
281 for key, value in {**old_dict, **fields_values}.items(): 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
282 setattr(self_instance, key, value) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
283 # End SQLModel override
284 object.__setattr__(self_instance, "__pydantic_fields_set__", _fields_set) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
285 if not cls.__pydantic_root_model__: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
286 object.__setattr__(self_instance, "__pydantic_extra__", _extra) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
288 if cls.__pydantic_post_init__: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
289 self_instance.model_post_init(None)
290 elif not cls.__pydantic_root_model__: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
291 # Note: if there are any private attributes, cls.__pydantic_post_init__ would exist
292 # Since it doesn't, that means that `__pydantic_private__` should be set to None
293 object.__setattr__(self_instance, "__pydantic_private__", None) 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
294 # SQLModel override, set relationships
295 # Get and set any relationship objects
296 for key in self_instance.__sqlmodel_relationships__: 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
297 value = values.get(key, Undefined) 2YeknK )c*c1cL M N O P Q R S T U V ZelnW X +c;c,c=c2c3cY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tb0emn9 ! # -c?c@c.c[c]c4c5c6c$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPb1enn: ; = /c^c_c:c`c{c7c8c9c? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#b2eon$b%b'b|cCdDd}cEdFd!c#c$c(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEc3epn?b@b[b~cGdHdadIdJd%c'c(c]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
298 if value is not Undefined: 2YeknK )c*c1cL M N O P Q R S T U V ZelnW X +c;c,c=c2c3cY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tb0emn9 ! # -c?c@c.c[c]c4c5c6c$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPb1enn: ; = /c^c_c:c`c{c7c8c9c? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#b2eon$b%b'b|cCdDd}cEdFd!c#c$c(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEc3epn?b@b[b~cGdHdadIdJd%c'c(c]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
299 setattr(self_instance, key, value) 2YeknK )c*c1cL M N O P Q R S T U V ZelnW X +c;c,c=c2c3cY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tb0emn9 ! # -c?c@c.c[c]c4c5c6c$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPb1enn: ; = /c^c_c:c`c{c7c8c9c? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#b2eon$b%b'b|cCdDd}cEdFd!c#c$c(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEc3epn?b@b[b~cGdHdadIdJd%c'c(c]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
300 # End SQLModel override
301 return self_instance 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
303 def sqlmodel_validate( 1abcdef
304 cls: Type[_TSQLModel],
305 obj: Any,
306 *,
307 strict: Union[bool, None] = None,
308 from_attributes: Union[bool, None] = None,
309 context: Union[Dict[str, Any], None] = None,
310 update: Union[Dict[str, Any], None] = None,
311 ) -> _TSQLModel:
312 if not is_table_model_class(cls): 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
313 new_obj: _TSQLModel = cls.__new__(cls) 2~n1oepao2ofpbo3ogpco4ohpjo5ojpko6olp
314 else:
315 # If table, create the new instance normally to make SQLAlchemy create
316 # the _sa_instance_state attribute
317 # The wrapper of this function should use with _partial_init()
318 with partial_init(): 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
319 new_obj = cls() 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
320 # SQLModel Override to get class SQLAlchemy __dict__ attributes and
321 # set them back in after creating the object
322 old_dict = new_obj.__dict__.copy() 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
323 use_obj = obj 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
324 if isinstance(obj, dict) and update: 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
325 use_obj = {**obj, **update}
326 elif update: 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
327 use_obj = ObjectWithUpdateWrapper(obj=obj, update=update) 2abbbcbdbebfbgbhbibdcecfcgchcic
328 cls.__pydantic_validator__.validate_python( 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
329 use_obj,
330 strict=strict,
331 from_attributes=from_attributes,
332 context=context,
333 self_instance=new_obj,
334 )
335 # Capture fields set to restore it later
336 fields_set = new_obj.__pydantic_fields_set__.copy() 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
337 if not is_table_model_class(cls): 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
338 # If not table, normal Pydantic code, set __dict__
339 new_obj.__dict__ = {**old_dict, **new_obj.__dict__} 2~n1oepao2ofpbo3ogpco4ohpjo5ojpko6olp
340 else:
341 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
342 # instrumentation
343 for key, value in {**old_dict, **new_obj.__dict__}.items(): 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
344 setattr(new_obj, key, value) 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
345 # Restore fields set
346 object.__setattr__(new_obj, "__pydantic_fields_set__", fields_set) 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
347 # Get and set any relationship objects
348 if is_table_model_class(cls): 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
349 for key in new_obj.__sqlmodel_relationships__: 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
350 value = getattr(use_obj, key, Undefined) 1ghiojpkqrlstmuvnwxyCDzEFAGHBIJ
351 if value is not Undefined: 1ghiojpkqrlstmuvnwxyCDzEFAGHBIJ
352 setattr(new_obj, key, value)
353 return new_obj 2JlKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabepWlXlYlZl0l1l2l3l4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbfp)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgpgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibhpHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcjp8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchciclp
355 def sqlmodel_init(*, self: "SQLModel", data: Dict[str, Any]) -> None: 1abcdef
356 old_dict = self.__dict__.copy() 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fpp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7iyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
357 if not is_table_model_class(self.__class__): 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf~m`oao8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fpp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7iyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
358 self.__pydantic_validator__.validate_python( 2mpJlHpIp6kKlLlMlNlOlPl_o~n7o}o#o$o.oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabnpWlJpKp7kXlYlZl0l1l2lop3lLpMp8k4l5l6l7l8l9l`oao8o~o%o'o/o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcbpp)lNpOp9k*l+l,l-l.l/lqp:lPpQp!k;l=l?l@l[l]lrp^lRpSp#k_l`l{l|l}l~l{obo9oap(o)o:oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbspgmTpUp$khmimjmkmlmmmtpnmVpWp%kompmqmrmsmtmupumXpYp'kvmwmxmymzmAm|oco!obp*o+o;oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibvpHmZp0p(kImJmKmLmMmNmwpOm1p2p)kPmQmRmSmTmUmxpVm3p4p*kWmXmYmZm0m1mcpjo,oip=o?o]o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfcyp8m5p6p+k9m!m#m$m%m'mzp(m7p8p,k)m*m+m,m-m.mAp/m9p!p-k:m;m=m?m@m[mdpko-okp@o[o^o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
359 data,
360 self_instance=self,
361 )
362 else:
363 sqlmodel_table_construct( 2@nflgl6kOe4e5e}mskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(e2d)e*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf[nhlil7k]njlkl8kPemfnf~mtkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf3d4dyfzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f^nllml9k_nnlol!k`nplql#kQeRe5f6f7f8fanuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f5d6d7d]f^f_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g{nrlsl$k|ntlul%k}nvlwl'kSeTe6g7g8g9gbnvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g8d9d!d^g_g`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hdoxlyl(keozlAl)kfoBlCl*kUeVe7h8h9h!hcnYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h#d$d%d_h`h{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7igoDlEl+khoFlGl,kioHlIl-kWeXe8i9i!i#idnZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i'd(d)d`i{i|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
364 self_instance=self,
365 values=data,
366 )
367 object.__setattr__( 2mpJl@nflgl6kKlLlMlNlOlPlOe4e5e}m_o~n7oskYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfnpWl[nhlil7kXlYlZl0l1l2lop3l]njlkl8k4l5l6l7l8l9lPemfnf~m`oao8otkZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fpp)l^nllml9k*l+l,l-l.l/lqp:l_nnlol!k;l=l?l@l[l]lrp^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fan{obo9ouk0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gspgm{nrlsl$khmimjmkmlmmmtpnm|ntlul%kompmqmrmsmtmupum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gbn|oco!ovk1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hvpHmdoxlyl(kImJmKmLmMmNmwpOmeozlAl)kPmQmRmSmTmUmxpVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcncpjo,oYk2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7iyp8mgoDlEl+k9m!m#m$m%m'mzp(mhoFlGl,k)m*m+m,m-m.mAp/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idndpko-oZk3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
368 self,
369 "__dict__",
370 {**old_dict, **self.__dict__},
371 )
373else:
374 from pydantic import BaseConfig as BaseConfig # type: ignore[assignment] 1abcdef
375 from pydantic.errors import ConfigError 1abcdef
376 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1abcdef
377 SHAPE_SINGLETON,
378 ModelField,
379 )
380 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1abcdef
381 Undefined as Undefined, # noqa
382 )
383 from pydantic.fields import ( # type: ignore[attr-defined, no-redef] 1abcdef
384 UndefinedType as UndefinedType,
385 )
386 from pydantic.main import ( # type: ignore[no-redef] 1abcdef
387 ModelMetaclass as ModelMetaclass,
388 )
389 from pydantic.main import validate_model 1abcdef
390 from pydantic.typing import resolve_annotations 1abcdef
391 from pydantic.utils import ROOT_KEY, ValueItems 1abcdef
392 from pydantic.utils import ( # type: ignore[no-redef] 1abcdef
393 Representation as Representation,
394 )
396 class SQLModelConfig(BaseConfig): # type: ignore[no-redef] 1abcdef
397 table: Optional[bool] = None # type: ignore[misc] 1abcdef
398 registry: Optional[Any] = None # type: ignore[misc] 1abcdef
400 def get_config_value( 1abcdef
401 *, model: InstanceOrType["SQLModel"], parameter: str, default: Any = None
402 ) -> Any:
403 return getattr(model.__config__, parameter, default) # type: ignore[union-attr] 2a Oe4e5ePoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pb PemfnfRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$pc QeRe5f6f7f8fToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pd SeTe6g7g8g9gVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pe UeVe7h8h9h!hXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pf WeXe8i9i!i#iZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
405 def set_config_value( 1abcdef
406 *,
407 model: InstanceOrType["SQLModel"],
408 parameter: str,
409 value: Any,
410 ) -> None:
411 setattr(model.__config__, parameter, value) # type: ignore 2a Oe4e5ePoQoqn%n.nBpskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/nCptkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nDpuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nEpvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nFpYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nGpZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
413 def get_model_fields(model: InstanceOrType[BaseModel]) -> Dict[str, "FieldInfo"]: 1abcdef
414 return model.__fields__ # type: ignore 2a 6kOe4e5ePoQoqn%n.nBpskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb 7k8kPemfnfRoSoun'n/nCptkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc 9k!k#kQeRe5f6f7f8fToUozn(n:nDpuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd $k%k'kSeTe6g7g8g9gVoWoIn)n;nEpvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he (k)k*kUeVe7h8h9h!hXoYoRn*n=nFpYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if +k,k-kWeXe8i9i!i#iZo0o0n+n?nGpZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
416 def get_fields_set( 1abcdef
417 object: InstanceOrType["SQLModel"],
418 ) -> Union[Set[str], Callable[[BaseModel], Set[str]]]:
419 return object.__fields_set__ 27o8o9o!o,o-o
421 def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1abcdef
422 object.__setattr__(new_object, "__fields_set__", set()) 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e_o~n1o7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf`oao2o8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo3o9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco4o!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjo5o,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpko6o-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
424 def get_annotations(class_dict: Dict[str, Any]) -> Dict[str, Any]: 1abcdef
425 return resolve_annotations( # type: ignore[no-any-return] 2a Oe4e5ePoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pb PemfnfRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$pc QeRe5f6f7f8fToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pd SeTe6g7g8g9gVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pe UeVe7h8h9h!hXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pf WeXe8i9i!i#iZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
426 class_dict.get("__annotations__", {}),
427 class_dict.get("__module__", None),
428 )
430 def is_table_model_class(cls: Type[Any]) -> bool: 1abcdef
431 config = getattr(cls, "__config__", None) 2a mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e_o~nPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomono9nknK rn6e7e8e9e!e#e$e%esntn'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pb npWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf`oaoRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqo!nlnW X vnofpfqfrfsftfufvfwnxnwfxfyn!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$pc pp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{oboToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto#nmn9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pd spgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|ocoVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo$nnn: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQnBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pe vpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjoXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo,non$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZn2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pf yp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpkoZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo-npn?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8n]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
432 if config: 2a mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e_o~nPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomono9nknK rn6e7e8e9e!e#e$e%esntn'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pb npWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf`oaoRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqo!nlnW X vnofpfqfrfsftfufvfwnxnwfxfyn!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$pc pp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{oboToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto#nmn9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pd spgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|ocoVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo$nnn: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQnBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pe vpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjoXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo,non$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZn2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pf yp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpkoZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo-npn?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8n]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
433 return getattr(config, "table", False) 2a mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e_o~nPoQoqn%n.nBp7osk}oYe9j!j#jDo0kenEo~k#o$o.o$jlomono9nknK rn6e7e8e9e!e#e$e%esntn'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pb npWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf`oaoRoSoun'n/nCp8otk~oZe+j,j-jFo1kfnGoal%o'o/o.joopoqo!nlnW X vnofpfqfrfsftfufvfwnxnwfxfyn!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$pc pp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{oboToUozn(n:nDp9oukap0e@j[j]jHo2kgnIobl(o)o:o^jrosoto#nmn9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pd spgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|ocoVoWoIn)n;nEp!ovkbp1eekfkgkJo3khnKocl*o+o;ohkuovowo$nnn: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQnBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pe vpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjoXoYoRn*n=nFp,oYkip2ewkxkykLo4kinModl=o?o]ozkxoyozo,non$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZn2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pf yp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpkoZo0o0n+n?nGp-oZkkp3eKkLkMkNo5kjnOoel@o[o^oNkAoBoCo-npn?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8n]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
434 return False
436 def get_relationship_to( 1abcdef
437 name: str,
438 rel_info: "RelationshipInfo",
439 annotation: Any,
440 ) -> Any:
441 temp_field = ModelField.infer( # type: ignore[attr-defined] 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
442 name=name,
443 value=rel_info,
444 annotation=annotation,
445 class_validators=None,
446 config=SQLModelConfig,
447 )
448 relationship_to = temp_field.type_ 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
449 if isinstance(temp_field.type_, ForwardRef): 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
450 relationship_to = temp_field.type_.__forward_arg__ 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
451 return relationship_to 2a ~kK g h )c*c1cL M .kN O P Q R S T U V b alW X i o j p +c;c,c=c2c3cY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbc bl9 ! # k q r l s t -c?c@c.c[c]c4c5c6c$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbd cl: ; = m u v n w x /c^c_c:c`c{c7c8c9c? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#be dl$b%b'by C D z E F |cCdDd}cEdFd!c#c$c(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcf el?b@b[bA G H B I J ~cGdHdadIdJd%c'c(c]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
453 def is_field_noneable(field: "FieldInfo") -> bool: 1abcdef
454 if not field.required: # type: ignore[attr-defined] 2a Oe4e5ePoQoqn%n.nskYe9j!j#j0ken~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-j1kfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]j2kgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgk3khnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkyk4kindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMk5kjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
455 # Taken from [Pydantic](https://github.com/samuelcolvin/pydantic/blob/v1.8.2/pydantic/fields.py#L946-L947)
456 return field.allow_none and ( # type: ignore[attr-defined] 2a Oe4e5eqn%nskYe9j!j#j0ken~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb Pemfnfun'ntkZe+j,j-j1kfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fzn(nuk0e@j[j]j2kgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gIn)nvk1eekfkgk3khnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hRn*nYk2ewkxkyk4kindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#i0n+nZk3eKkLkMk5kjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
457 field.shape != SHAPE_SINGLETON or not field.sub_fields # type: ignore[attr-defined]
458 )
459 return field.allow_none # type: ignore[no-any-return, attr-defined] 2a Oe4e5ePoQoqn.nskYe9j!j#jen~k$jK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun/ntkZe+j,j-jfnal.jW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn:nuk0e@j[j]jgnbl^j9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn;nvk1eekfkgkhnclhk: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn=nYk2ewkxkykindlzk$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n?nZk3eKkLkMkjnelNk?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
461 def get_sa_type_from_field(field: Any) -> Any: 1abcdef
462 if isinstance(field.type_, type) and field.shape == SHAPE_SINGLETON: 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
463 return field.type_ 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
464 raise ValueError(f"The field {field.name} has no matching SQLAlchemy type") 2lomonooopoqorosotouovowoxoyozoAoBoCo
466 def get_field_metadata(field: Any) -> Any: 1abcdef
467 metadata = FakeMetadata() 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
468 metadata.max_length = field.field_info.max_length 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
469 metadata.max_digits = getattr(field.type_, "max_digits", None) 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
470 metadata.decimal_places = getattr(field.type_, "decimal_places", None) 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
471 return metadata 2a Oe4e5ePoQoqn%n.nskYe9j!j#jDo0kenEo~k$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/ntkZe+j,j-jFo1kfnGoal.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nuk0e@j[j]jHo2kgnIobl^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nvk1eekfkgkJo3khnKoclhkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nYk2ewkxkykLo4kinModlzkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nZk3eKkLkMkNo5kjnOoelNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
473 def post_init_field_info(field_info: FieldInfo) -> None: 1abcdef
474 field_info._validate() # type: ignore[attr-defined] 2a Oe4e5ePoQoqn%n.nBp*p+p7osk}oYe9j!j#jDo0kenEo,p~k#o$o.o$jlomonoK rn6e7e8e9e!e#e$e%esntn'e(ebd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M .kN O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfb PemfnfRoSoun'n/nCp-p.p8otk~oZe+j,j-jFo1kfnGo/pal%o'o/o.joopoqoW X vnofpfqfrfsftfufvfwnxnwfxfynedfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb/k@k0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4fc QeRe5f6f7f8fToUozn(n:nDp:p;p9oukap0e@j[j]jHo2kgnIo=pbl(o)o:o^jrosoto9 ! # AnBn9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;fCnDnEnFn=f?f@f[fGnHnkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb:k[k]k' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5gd SeTe6g7g8g9gVoWoIn)n;nEp?p@p!ovkbp1eekfkgkJo3khnKo[pcl*o+o;ohkuovowo: ; = JnKn!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=gLnMnNnOn?g@g[g]gPnQntdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb;k^k_k[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6he UeVe7h8h9h!hXoYoRn*n=nFp]p^p,oYkip2ewkxkykLo4kinMo_pdl=o?o]ozkxoyozo$b%b'bSnTn#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUnVnWnXn@h[h]h^hYnZnKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc=k`k{k*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7if WeXe8i9i!i#iZo0o0n+n?nGp`p{p-oZkkp3eKkLkMkNo5kjnOo|pel@o[o^oNkAoBoCo?b@b[b1n2n$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i3n4n5n6n[i]i^i_i7n8nTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc?k|k}k_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
476 def _calculate_keys( 1abcdef
477 self: "SQLModel",
478 include: Optional[Mapping[Union[int, str], Any]],
479 exclude: Optional[Mapping[Union[int, str], Any]],
480 exclude_unset: bool,
481 update: Optional[Dict[str, Any]] = None,
482 ) -> Optional[AbstractSet[str]]:
483 if include is None and exclude is None and not exclude_unset: 2Jlflgl6kKlLlMlNlOlPlOe4e5e_o9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e,e-e.e/e)c*c1c:e;e=e?e@e[e]eL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lPemfnf`o!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAfBfCfDfEf+c;c,c=c2c3cFfGfHfIfJfKfLfY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lQeRe5f6f7f8f{o#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgigjgkglgmgngogpgqgrgsgtg$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|o$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}g~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihjhkhlhmhnhohphqhrhshthuh? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcp,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~haibicidieifigihi|cCdDd}cEdFd!c#c$ciijikiliminioipiqirisitiuivi(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idp-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjljmjnjojpjqjrjsjtjujvjwj]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
484 # Original in Pydantic:
485 # return None
486 # Updated to not return SQLAlchemy attributes
487 # Do not include relationships as that would easily lead to infinite
488 # recursion, or traversing the whole database
489 return ( 2Jlflgl6kKlLlMlNlOlPlOe4e5e_o9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e,e-e.e/e)c*c1c:e;e=e?e@e[e]eL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lPemfnf`o!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAfBfCfDfEf+c;c,c=c2c3cFfGfHfIfJfKfLfY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lQeRe5f6f7f8f{o#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgigjgkglgmgngogpgqgrgsgtg$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|o$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}g~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihjhkhlhmhnhohphqhrhshthuh? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcp,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~haibicidieifigihi|cCdDd}cEdFd!c#c$ciijikiliminioipiqirisitiuivi(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idp-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjljmjnjojpjqjrjsjtjujvjwj]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
490 self.__fields__.keys() # noqa
491 ) # | self.__sqlmodel_relationships__.keys()
493 keys: AbstractSet[str]
494 if exclude_unset: 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
495 keys = self.__fields_set__.copy() # noqa 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
496 else:
497 # Original in Pydantic:
498 # keys = self.__dict__.keys()
499 # Updated to not return SQLAlchemy attributes
500 # Do not include relationships as that would easily lead to infinite
501 # recursion, or traversing the whole database
502 keys = (
503 self.__fields__.keys() # noqa
504 ) # | self.__sqlmodel_relationships__.keys()
505 if include is not None: 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
506 keys &= include.keys()
508 if update: 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
509 keys -= update.keys()
511 if exclude: 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
512 keys -= {k for k, v in exclude.items() if ValueItems.is_true(v)}
514 return keys 26kbdg cdh ddab7k8kedfdi o gdhdj p idjdbbcb9k!k#kkdldmdk q r ndodpdl s t qdrdsddbebfb$k%k'ktdudvdm u v wdxdydn w x zdAdBdgbhbib(k)k*kKdLdMdy C D NdOdPdz E F QdRdSddcecfc+k,k-kTdUdVdA G H WdXdYdB I J Zd0d1dgchcic
516 def sqlmodel_validate( 1abcdef
517 cls: Type[_TSQLModel],
518 obj: Any,
519 *,
520 strict: Union[bool, None] = None,
521 from_attributes: Union[bool, None] = None,
522 context: Union[Dict[str, Any], None] = None,
523 update: Union[Dict[str, Any], None] = None,
524 ) -> _TSQLModel:
525 # This was SQLModel's original from_orm() for Pydantic v1
526 # Duplicated from Pydantic
527 if not cls.__config__.orm_mode: # type: ignore[attr-defined] # noqa 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
528 raise ConfigError(
529 "You must have the config attribute orm_mode=True to use from_orm"
530 )
531 if not isinstance(obj, Mapping): 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
532 obj = ( 2Jlflgl6kKlLlMlNlOlPl~nQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lboambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmcoBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
533 {ROOT_KEY: obj}
534 if cls.__custom_root_type__ # type: ignore[attr-defined] # noqa
535 else cls._decompose_class(obj) # type: ignore[attr-defined] # noqa
536 )
537 # SQLModel, support update dict
538 if update is not None: 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
539 obj = {**obj, **update} 2abbbcbdbebfbgbhbibdcecfcgchcic
540 # End SQLModel support dict
541 if not getattr(cls.__config__, "table", False): # noqa 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
542 # If not table, normal Pydantic code
543 m: _TSQLModel = cls.__new__(cls) 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
544 else:
545 # If table, create the new instance normally to make SQLAlchemy create
546 # the _sa_instance_state attribute
547 m = cls() 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
548 values, fields_set, validation_error = validate_model(cls, obj) 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
549 if validation_error: 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
550 raise validation_error
551 # Updated to trigger SQLAlchemy internal handling
552 if not getattr(cls.__config__, "table", False): # noqa 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
553 object.__setattr__(m, "__dict__", values) 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg cdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic
554 else:
555 for key, value in values.items(): 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
556 setattr(m, key, value) 2JlKlLlMlNlOlPlQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
557 # Continue with standard Pydantic logic
558 object.__setattr__(m, "__fields_set__", fields_set) 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
559 m._init_private_attributes() # type: ignore[attr-defined] # noqa 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
560 return m 2Jlflgl6kKlLlMlNlOlPl~n1oQlRlSlTlUlVlbd*d+d,d-dg 2dcdh ddabWlhlil7kXlYlZl0l1l2l3ljlkl8k4l5l6l7l8l9lao2o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdj p idjdbbcb)lllml9k*l+l,l-l.l/l:lnlol!k;l=l?l@l[l]l^lplql#k_l`l{l|l}l~lbo3oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpdl s t qdrdsddbebfbgmrlsl$khmimjmkmlmmmnmtlul%kompmqmrmsmtmumvlwl'kvmwmxmymzmAmco4oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdydn w x zdAdBdgbhbibHmxlyl(kImJmKmLmMmNmOmzlAl)kPmQmRmSmTmUmVmBlCl*kWmXmYmZm0m1mjo5o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPdz E F QdRdSddcecfc8mDlEl+k9m!m#m$m%m'm(mFlGl,k)m*m+m,m-m.m/mHlIl-k:m;m=m?m@m[mko6o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYdB I J Zd0d1dgchcic
562 def sqlmodel_init(*, self: "SQLModel", data: Dict[str, Any]) -> None: 1abcdef
563 values, fields_set, validation_error = validate_model(self.__class__, data) 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e_o~n7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf`oao8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pvpHmZp0pdoxlyl(kImJmKmLmMmNmwpOm1p2peozlAl)kPmQmRmSmTmUmxpVm3p4pfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjo,oYkip2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pyp8m5p6pgoDlEl+k9m!m#m$m%m'mzp(m7p8phoFlGl,k)m*m+m,m-m.mAp/m9p!pioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpko-oZkkp3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
564 # Only raise errors if not a SQLModel model
565 if ( 2mpJlHpIp@nflgl6kKlLlMlNlOlPlOe4e5e_o~n7osk}oYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWlJpKp[nhlil7kXlYlZl0l1l2lop3lLpMp]njlkl8k4l5l6l7l8l9lPemfnf`oao8otk~oZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)lNpOp^nllml9k*l+l,l-l.l/lqp:lPpQp_nnlol!k;l=l?l@l[l]lrp^lRpSp`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo9oukap0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgmTpUp{nrlsl$khmimjmkmlmmmtpnmVpWp|ntlul%kompmqmrmsmtmupumXpYp}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco!ovkbp1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'p
566 not is_table_model_class(self.__class__) # noqa
567 and validation_error
568 ):
569 raise validation_error 2HpIp}o#o$o#pJpKpLpMp~o%o'o$pNpOpPpQpRpSpap(o)o%pTpUpVpWpXpYpbp*o+o'pZp0p1p2p3p4pip=o?o(p5p6p7p8p9p!pkp@o[o)p
570 if not is_table_model_class(self.__class__): 2mpJl@nflgl6kKlLlMlNlOlPlOe4e5e_o~n7oskYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWl[nhlil7kXlYlZl0l1l2lop3l]njlkl8k4l5l6l7l8l9lPemfnf`oao8otkZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)l^nllml9k*l+l,l-l.l/lqp:l_nnlol!k;l=l?l@l[l]lrp^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo9ouk0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgm{nrlsl$khmimjmkmlmmmtpnm|ntlul%kompmqmrmsmtmupum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco!ovk1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pvpHmdoxlyl(kImJmKmLmMmNmwpOmeozlAl)kPmQmRmSmTmUmxpVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjo,oYk2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pyp8mgoDlEl+k9m!m#m$m%m'mzp(mhoFlGl,k)m*m+m,m-m.mAp/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpko-oZk3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
571 object.__setattr__(self, "__dict__", values) 2mpJl6kKlLlMlNlOlPl_o~n7o#o$o.oQlRlSlTlUlVlbd*d+d,d-dg cdh ddab#pnpWl7kXlYlZl0l1l2lop3l8k4l5l6l7l8l9l`oao8o%o'o/o!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o gdhdj p idjdbbcb$ppp)l9k*l+l,l-l.l/lqp:l!k;l=l?l@l[l]lrp^l#k_l`l{l|l}l~l{obo9o(o)o:oambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r ndodpdl s t qdrdsddbebfb%pspgm$khmimjmkmlmmmtpnm%kompmqmrmsmtmupum'kvmwmxmymzmAm|oco!o*o+o;oBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v wdxdydn w x zdAdBdgbhbib'pvpHm(kImJmKmLmMmNmwpOm)kPmQmRmSmTmUmxpVm*kWmXmYmZm0m1mcpjo,o=o?o]o2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D NdOdPdz E F QdRdSddcecfc(pyp8m+k9m!m#m$m%m'mzp(m,k)m*m+m,m-m.mAp/m-k:m;m=m?m@m[mdpko-o@o[o^o]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H WdXdYdB I J Zd0d1dgchcic)p
572 else:
573 # Do not set values as in Pydantic, pass them through setattr, so
574 # SQLAlchemy can handle them
575 for key, value in values.items(): 2Jl@nflgl6kKlLlMlNlOlPlOe4e5eskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfWl[nhlil7kXlYlZl0l1l2l3l]njlkl8k4l5l6l7l8l9lPemfnftkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f)l^nllml9k*l+l,l-l.l/l:l_nnlol!k;l=l?l@l[l]l^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggm{nrlsl$khmimjmkmlmmmnm|ntlul%kompmqmrmsmtmum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hHmdoxlyl(kImJmKmLmMmNmOmeozlAl)kPmQmRmSmTmUmVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8mgoDlEl+k9m!m#m$m%m'm(mhoFlGl,k)m*m+m,m-m.m/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#iZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
576 setattr(self, key, value) 2Jl@nflgl6kKlLlMlNlOlPlOe4e5eskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfWl[nhlil7kXlYlZl0l1l2l3l]njlkl8k4l5l6l7l8l9lPemfnftkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f)l^nllml9k*l+l,l-l.l/l:l_nnlol!k;l=l?l@l[l]l^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggm{nrlsl$khmimjmkmlmmmnm|ntlul%kompmqmrmsmtmum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hHmdoxlyl(kImJmKmLmMmNmOmeozlAl)kPmQmRmSmTmUmVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8mgoDlEl+k9m!m#m$m%m'm(mhoFlGl,k)m*m+m,m-m.m/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#iZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
577 object.__setattr__(self, "__fields_set__", fields_set) 2mpJl@nflgl6kKlLlMlNlOlPlOe4e5e_o~n7oskYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWl[nhlil7kXlYlZl0l1l2lop3l]njlkl8k4l5l6l7l8l9lPemfnf`oao8otkZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)l^nllml9k*l+l,l-l.l/lqp:l_nnlol!k;l=l?l@l[l]lrp^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo9ouk0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgm{nrlsl$khmimjmkmlmmmtpnm|ntlul%kompmqmrmsmtmupum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco!ovk1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pvpHmdoxlyl(kImJmKmLmMmNmwpOmeozlAl)kPmQmRmSmTmUmxpVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjo,oYk2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pyp8mgoDlEl+k9m!m#m$m%m'mzp(mhoFlGl,k)m*m+m,m-m.mAp/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpko-oZk3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
578 non_pydantic_keys = data.keys() - values.keys() 2mpJl@nflgl6kKlLlMlNlOlPlOe4e5e_o~n7oskYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWl[nhlil7kXlYlZl0l1l2lop3l]njlkl8k4l5l6l7l8l9lPemfnf`oao8otkZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)l^nllml9k*l+l,l-l.l/lqp:l_nnlol!k;l=l?l@l[l]lrp^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo9ouk0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgm{nrlsl$khmimjmkmlmmmtpnm|ntlul%kompmqmrmsmtmupum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco!ovk1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pvpHmdoxlyl(kImJmKmLmMmNmwpOmeozlAl)kPmQmRmSmTmUmxpVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjo,oYk2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pyp8mgoDlEl+k9m!m#m$m%m'mzp(mhoFlGl,k)m*m+m,m-m.mAp/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpko-oZk3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
580 if is_table_model_class(self.__class__): 2mpJl@nflgl6kKlLlMlNlOlPlOe4e5e_o~n7oskYe9j!j#j0k#o$o.o$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflf#pnpWl[nhlil7kXlYlZl0l1l2lop3l]njlkl8k4l5l6l7l8l9lPemfnf`oao8otkZe+j,j-j1k%o'o/o.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f$ppp)l^nllml9k*l+l,l-l.l/lqp:l_nnlol!k;l=l?l@l[l]lrp^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8f{obo9ouk0e@j[j]j2k(o)o:o^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g%pspgm{nrlsl$khmimjmkmlmmmtpnm|ntlul%kompmqmrmsmtmupum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9g|oco!ovk1eekfkgk3k*o+o;ohk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h'pvpHmdoxlyl(kImJmKmLmMmNmwpOmeozlAl)kPmQmRmSmTmUmxpVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hcpjo,oYk2ewkxkyk4k=o?o]ozk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i(pyp8mgoDlEl+k9m!m#m$m%m'mzp(mhoFlGl,k)m*m+m,m-m.mAp/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#idpko-oZk3eKkLkMk5k@o[o^oNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j)p
581 for key in non_pydantic_keys: 2Jl@nflgl6kKlLlMlNlOlPlOe4e5eskYe9j!j#j0k$j9nknK 6e7e8e9e!e#e$e%e'e(eQlRlSlTlUlVlbd*d+d,d-dg 2dcd)eh ddab*e+e%j'j(j,e-e.e/e)c*c1c:e)j;e=e?e@e[e]e*jL M N O P Q R S T U V ^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfWl[nhlil7kXlYlZl0l1l2l3l]njlkl8k4l5l6l7l8l9lPemfnftkZe+j,j-j1k.j!nlnW X ofpfqfrfsftfufvfwfxf!l#l$l%l'l(ledfd.d/d:d;d=d?d@d[di o 3d4dgdhdyfj p idjdbbcbzfAf/j:j;jBfCfDfEf+c;c,c=c2c3cFf=jGfHfIfJfKfLf?jY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tbMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f)l^nllml9k*l+l,l-l.l/l:l_nnlol!k;l=l?l@l[l]l^l`nplql#k_l`l{l|l}l~lQeRe5f6f7f8fuk0e@j[j]j2k^j#nmn9 ! # 9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[fambmcmdmemfmkdldmd]d^d_d`d{d|d}d~daebecedek q r 5d6d7dndodpd]f^fl s t qdrdsddbebfb_f`f{f|f_j`j{j|j}j~j}f~fagbgcgdgegfg-c?c@c.c[c]c4c5c6cgghgakbkigjgkglgmgngogpgqgrgsgtgckdk$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPbugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5ggm{nrlsl$khmimjmkmlmmmnm|ntlul%kompmqmrmsmtmum}nvlwl'kvmwmxmymzmAmSeTe6g7g8g9gvk1eekfkgk3khk$nnn: ; = !g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]gBmCmDmEmFmGmtdudvdeefegeheiejekelemeneoepem u v 8d9d!dwdxdyd^g_gn w x zdAdBdgbhbib`g{g|g}gikjkkklkmknk~gahbhchdhehfhgh/c^c_c:c`c{c7c8c9chhihokpkjhkhlhmhnhohphqhrhshthuhqkrk? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#bvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6hHmdoxlyl(kImJmKmLmMmNmOmeozlAl)kPmQmRmSmTmUmVmfoBlCl*kWmXmYmZm0m1mUeVe7h8h9h!hYk2ewkxkyk4kzk,non$b%b'b#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h2m3m4m5m6m7mKdLdMdqereseteuevewexeyezeAeBey C D #d$d%dNdOdPd_h`hz E F QdRdSddcecfc{h|h}h~hAkBkCkDkEkFkaibicidieifigihi|cCdDd}cEdFd!c#c$ciijiGkHkkiliminioipiqirisitiuiviIkJk(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEcwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8mgoDlEl+k9m!m#m$m%m'm(mhoFlGl,k)m*m+m,m-m.m/mioHlIl-k:m;m=m?m@m[mWeXe8i9i!i#iZk3eKkLkMk5kNk-npn?b@b[b$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i]m^m_m`m{m|mTdUdVdCeDeEeFeGeHeIeJeKeLeMeNeA G H 'd(d)dWdXdYd`i{iB I J Zd0d1dgchcic|i}i~iajOkPkQkRkSkTkbjcjdjejfjgjhjij~cGdHdadIdJd%c'c(cjjkjUkVkljmjnjojpjqjrjsjtjujvjwjWkXk]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0cxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j
582 if key in self.__sqlmodel_relationships__: 2YeknK )c*c1cL M N O P Q R S T U V ZelnW X +c;c,c=c2c3cY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tb0emn9 ! # -c?c@c.c[c]c4c5c6c$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPb1enn: ; = /c^c_c:c`c{c7c8c9c? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#b2eon$b%b'b|cCdDd}cEdFd!c#c$c(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEc3epn?b@b[b~cGdHdadIdJd%c'c(c]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c
583 setattr(self, key, data[key]) 2YeknK )c*c1cL M N O P Q R S T U V ZelnW X +c;c,c=c2c3cY jbZ kb0 lb1 mb2 nb3 ob4 pb5 qb6 rb7 sb8 tb0emn9 ! # -c?c@c.c[c]c4c5c6c$ ubvb% wbxb' ybzb( AbBb) CbDb* EbFb+ GbHb, IbJb- KbLb. MbNb/ ObPb1enn: ; = /c^c_c:c`c{c7c8c9c? QbRb@ SbTb[ UbVb] WbXb^ YbZb_ 0b1b` 2b3b{ 4b5b| 6b7b} 8b9b~ !b#b2eon$b%b'b|cCdDd}cEdFd!c#c$c(bjckc)blcmc*bncoc+bpcqc,brcsc-btcuc.bvcwc/bxcyc:bzcAc;bBcCc=bDcEc3epn?b@b[b~cGdHdadIdJd%c'c(c]bFcGc^bHcIc_bJcKc`bLcMc{bNcOc|bPcQc}bRcSc~bTcUcacVcWcbcXcYcccZc0c