From a74037ece0a7f7945d8ef5f8281af57dfc9c87a5 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 15 Jun 2023 09:31:27 +0800 Subject: [PATCH] 1.0.8 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299520 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105588 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 11 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9419 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..28b7d92 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cae24b9dac9e04ab58ed24e82ba16aed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..ddd9bc55f50feca94cd0492251b52e2a1055c50c GIT binary patch literal 358912 zcmc${37lM2l?VL#y{cE$Ro$Jgbf>D*ouoP;-8`zQJ4rW$5D>yDME1>20D-Vb0_4S4 z2}_zTT19jeP#hOTWHKm@!>FT<;xew_Hn`!2ijcttM;&(^XLQE!{r~6O``)Wg2c7Tt z&F^c-yXT&B@44rmd+t4Vd#_I0{2Iq|94CW+&phKeA415#4f1^U$1KP_)sOTz@9+H5 z@(*>K`laRPUbVG3ydw%<7+rep@MV{7-yZH9-g3oov}^nD*6qV5oN>5fZf6L5lh#UEvJovib-Rj%`zi#(@Ou*u^l)PFXK9uVqVopn}$+Tl2*o=mlC zO_%FsvOSq#gX0uxUQcGK;1%l>D*JRIlge?z|^gnJVV|iJ#Y;zSS9L1bLx`Qn}#X zv9+?PSTDQ&on5Zalx{A6k6)Q8b<|E$WC%qRc0TGjL$wLT1jkdrmK#Cx9l;5RjCHxei3qif0DAH% zqw5?E8Ns>aMtJTBkfA>6h9@zLSFZQC;d24HAyis;{DaL?5ENWL+=$Q*pND6FY+xn4 zjsY*!p|sEmP6cUZljmd>I_}J73B8#MBwREzCE-m<4p6`PLPui3>Bxp^B{foc!Iy0@ zfDn?GGPg%)6sX8AXDG4nYqGVT8^ZogB`4hAObWPw0vi2!ch)w0s-v>iXm}P2wW${} zwNYbuHYv;8pg)Cd4l@FIJO|pK371@N(yi3ohUbmB<(lQ|nHC!du3V@OXxzV3>HeL> z(*k@qWP?upYo#{sdO-y+8+Wbi?SgJyL1tzon9;_s1=*D-@lJeJ?t9zrLQ{avcTbUl8 z$RiMsHpNJ{Cp#nDdwk(u+w7(*;AP59w6tG)#GR&;jTIV7A9SZh#A%p8X3CwW+?%#- zg3S@y23wsj0AR=x7*c+Qix|QvW&{ADY!L#S?M}0XV?|Tgd2IBfm0iORPVI2~-L>O1 z?v4AwIfBrBe>k*^@=NYCM(j)@=S~;NTN4*tH<(0qW{7huGfd+8GZfRLgS}*&AA$#J zYk3U1O4M{^&82nIx(=ZBRK@CPcUl@z(M62F(wezD3;ysdn6BzHrPa6l)tfKwI#BYF zf+k;(_m^(Dq|41q(e)!B2z5KKNsYt}p3llq{Q6Qi*n&u-(=7`EeLqFk>IXU3@yGn& zOzKNfHQFYO+5r>Pm#oH$(VJ->=d%Zxj6O0Jb0?yb&N}>Cj(>;XAI3YU2mco1AIg*L z!C|zQ2u1B^Zj^$8qktKOuQ<|#ry#`09bCzjD&=SmEI6*-h7he&0yhkQ8EBA!M$~{N z{NP;W%cd-_LZ>nA2b6MfJnsgFf>8fgPwHFrCFsiK$AjomNHuUfIChMbbGPk6c;84R zuK<-Q8bNKD3<@I{ z>%~SS-O{N$?-{A2F-wRUNMnYGS)9fU5;K^_EGA|sjTsf5B!{f#YXJ=4X((q!nF_lC|SYk6+zhab&d>A2bzr2ZJlvQj&el_vvMQzsyp^ zqd`|bMg^g4H#`+P+zH)#ddB*-NkmK^d)xm4$}f+$R1nljz|hK zjIW^1nkcVO^M@w;(y7t6s@>x`mvc=FX{jDQFeP?wI4x0IQzj<0`Yjkc*BB)?H1=Ff z73WT4PJuy?%9`@0l+@*h9004`s9$(EpsqTmZyfsClIJGAmDlp5FW=r)_iDjbepgy( zR(@%F5IXKe~U52nbt%C(~N^Pqc z^bnJ+E;^};wa=~#kzdLiL3uDkj3MVBOQF22h}8nRaUr*_1JK2QF2?k?c?oMQGG?3) zBE&2nzLJfx)cS$90IjHkQKVM4FH@oqW7<;Y&SGvXS8ie$DAaP|;U{`9At2EW(CMi+ zMsibjW-uR{v zOJO^9I0u72Cb-b+nba#(i4n9gR#@1vZ_&4~G|bh2x(ul1<)T@R=O0EM_+_KlYL`{) zy??1<^W|+#j2`o7_T2wBn$=7pW;^p~R;Zm?o*PIEa?*wYJAG;0#&Yea+-+&?vY=VK@Q z`hO-%^4;&b(N z<-SaLTVGaU=_3-ZJ5GfrL?`zP8f|??W*al4omF= zsr_m^{pz|{W7}0n+xyHow7n1OL~3n&U#A5M7BBLk2c7!n#Wac$1u+J;drWq!MfsyXY z&dnytSHl#UBy9Pn3#{Fz`D7bvQZ^J*@+xg#hFgR%3Yo_U=gFd5rh}KwL(aLg&Nr>h zsbs5)(Zyb})1aJ1a^*Z(^swC{i+gToq^mX~iOV{7GJ8{4?P8=ec4U^>cWe!}!JO+I zWuqRlFQed3qzWc(tgS53c3Xj}EU2_R(FtY31!vGi=d%$jc5b+8o;ptE-HNDU)L66X zses*95#GPE<_uwf;bd2~QBt;Hi>F$rJPbn8l*7=27=&nJlXBZ6TPdn3n3Ogy^KDvP z_sj-$sxSFvPxe>AiitcUNex-q1@G8;)EiL~&4{j?V%OG>bLG5c!z9`krn2=l%B!5q zD}!JIn!&)B-YT*!iF8QU-@LH5q!mjK~RI7bCN`)av6y90Nl}oD2k{@oT zoL%)53%derIT!l6OWoyCu9PozLt<)C!KuDHQtUu{?3;Ug7Iy6`KaS~Nh%u({L@8J6 zKnHQ1yu0df7fT%V1OJQ=YWn}&#ul_25}JsOVN8>*G1ar@X(8WRb+BqY-W>7#O#x;q z9PgPIQPnZW(X8_l)MHTm8T-2&5H${04ze)~e?-EFM7(WN;ftV@6x|1I{CMpy!#pMO z5=$uJ$VqbN$~e4Gg0y~DK5lpzV{eC7Uj10Du&h=Xy z!8qu04l8Y-yG>yP$qIh38%Tc&48oHzqUd1c0T#cGXMt&I!_T?ETHo%fP=Lmksq1m581Y* z@)5Qf3EP~62W#$f=J_w2d>}exqR#(Fbcu~R`$%0HM;%6&B~gg!RXeHBweT*o#U(YE zz&Q*~Xo8zr?Z?fbO8?9XSOCstFjnfJ&WqrOW}U+FWR_8III-UWJFb^VD8eJ{kWeqnM1s~zlzOWj2mxhXFfUI)_G?7{f= z>Q!Y});#Id;q^#4iqVJ4!uBMCnkoJakZ>duyq)5m?RwH>MHuYBp2+UI!UCkC1FNV& zq7teaQ39*{N{f-Y6C>JSt4qg~gp5hgjWsH0Xey)qAZ8Z>qC425DACQRE;qNw-K?T_ z&x^(pq>}G`Rx%C{HJLNV#|+N`bLd&BLT#p1$G4fB%z;F~-q&C|X=_Z8uy_+zmwfFW zZ|UV2cdIwA#SqPW%5~y1xXS>nO(x>lq=!A7PP)pPgd$U=Pyp|1rY2kiz82DR?5#hG zVB56FZ7I>VtqsxzPCQf}plnIXHtDt<_Wg9~zfe3`XFp)%)BIec4nrer4zaaxy=9kc zeNcXH0uC7PfYth1`?!$O5f~nj#v%?(M4|VXu?t6nqF0rhYf+K=yuVa#)MhxTO^|@A z6L8)CUv)g74MXGuYX_A$FcH-{FcB5CdL3`G2i58%_6cAo7$j3ZAl0Dv@D779dh11H z^ad}^v-ZS1ho!f%&uz+19K>rH$;g_uivW`0R~f*%QdtV^8GOlrVYS!I`kQcBNfWD! z6@f8BXZF<=k*pxxqU{Q=AU);sFZ?&m(tSJYb|@l!+lfcsG(ZiqT@s74(?AcB?6_r>)|( zXltD0e7ONM3m1@)8y2&iIHYb^9mFWELP*Gw`@NJWGjjuFz$GAt;f;)pKl&v6KWBfK zTb3=YiOCR!jWgb~U)l=O65X63ZKIhhHCu?yjIw-f_p{LM{IeHST9@FG)W}$6w1wq* zW}p8tXta4VGL6iV(z>*r{Be?Jg-lA2!Id0kkK$QO_!1Tm(a|i7XS^^#W#t&N`BKob z;Vn$@fEV>=F&)FAl(TXs^}_ccr5FAao|4oHU&f?ZL%VV{0a`725wh&y)wKGk7v2hb zq2A+%F9%S>N$bPN>xV}nHulrK1;2sFk%&BD)=YiQ;25t%IF1$f6`zLSb8C8}Y9q9@n%+JpXQ( zBI})#dgqdQ=cL|pXA2xAzR3%COc>sV%u?sSOk$h|$|3ycQ9jLsJer?i@Jd zDdp`jcH9GTNxEETlp!voSHa2SLJ^FJy=s?X6k+RyC z_UZ1_9Ikuj$e2Ic)>yt6Y^O99Pv5};^+u266{3#Hl{}rOtm)qDqKy|lg=?ve(j81Sbg0XjCuf*9`{sk>hdp+)U zV2{DYit57a2{%vK3q-zRJwS<+uWO;Ja!AR(%Ib=&rr-`O z_$w&5BVDj>#+!iiW~%ad9+Qe z!>w4F2*OCydD=U(IHB3Q%1GE5z7-tC1UF=5{N!92D>$iv?PxnqIw!>K{(a7}HC7LKk(})VpC)8+pKe*c{h<>_>WBR9z2kGT5!{hg_uUzF_^mIpVFHc zTni(vq`HkWid{W;jA2ib`Ra@2QrMME3E;uKtW$&=_!%4d59Dtgq1?S)jENxO`;oDM z>p$cxB^hEI4?X}2hKGBrC0rhMZz5q|nKFfY08SC9tR!07Vqy=1=xOrsgJhvT1mhO( zAe6M2#!3wfCew$IQ1kezAzVEuj3TS}gXbdTANInj#PB10z8Fvjfs2S_Xz;?DO^1fL zRU1ar?g37lM3P9fcDmtdWcm#AwUiTUNO{ubeU|h&c|J!R6vni&*LafSIDz!-I%XzB z`{C#DEannrHAYhr(H!r+>s@vg_g|1>;**^F>MIC&YInkw_YQ(i*{{KVV!;AM3v^ka z+X6inSU_OZEpH2YW2h8E3uCA+hWZIjxbP^b(jrEVb1}T@Ur;83_Lt!u7+$T#xQo{n z_AR2*^@Ab@0n)S1*(Oixg?7??C4hbYBb;LH6`&aAgb_QQ2gRcn# zQd-xvlfOdp*M&?<1wwyAn6~NU+V)J3GSfFD6Dh6j?c}eL{FsnQfy~!X=5GN5_TLuv z?K%(J8GJ3_PfBY?JNfGge^S67Yqn`q@hcKM(;)Y2DOL{#TNJC}dKWLFlJN=(cvmD_Cis zPbD&w(rUGnzn92N3VHr0<{7u+&Fz`KpU6o{Yqp*IgG5eJpoeYL!@q$q*#B7AOFPDT zcyT*}ACkdOkZxp_l-5hy$xoB~Qz4T=+xvH6+NOt>wrBbgGhs~!o}{#HX(#_1$rwaI zCWU(VMa**p#!?J>rRFbzD)^b1Um^6pnO`&5=l=#l^S28Bjxc64#Q&b~f8yb0oBxFX zzAERu61?i<^#@?c1iqDt{~LiYY5fl%ndtoqz&?K;3FJ63OA3-cLkupO7g~5}C!N$q zwCNEyOG+!#PR^1{c}8YQam!5~0V-zYYEZ5maI7QT9}9!yGjhT6X<3jI>diw@&FsbIl#_7D*0<}nry`7){L-{;NNfKAqYk3v-)vfDS=D>In;nR>QPo~cwGXO6pJ z1(OS8YLiNJdW#$zSUT_xnE~9^DRZ9HAP0nFCLA~6DicC>p|3IFgb622c&G^vW5{#5 z3Dj*hb-EUqf}fo^93dt$P|G?%O}u+n=*i%~Xg%@%G|4l4{3%C0QULEl5iYxv!vj)*fL5v9w6lENWPALcT#NeC zBq-aHcc7Rko^w+R*nXvQ@KPRi!I$!=3%)Z)U19H-!n=5Njw*3`ax+wk+moN6N`RMh z_n8wA>B-@k*PT{S&{KkEBAgi(W~4Fp;-n52019K+;t4*2w$znJ@Xr9fjIK9=k0H|N zLIMK1%2?|L&qX#bJQ+{Ej;LJv@xqFrH{z*z$Ih&JZ8ZHbEp%qk{yZN zzj%Q;7X`McAKv7`|zyZf^Fu>riHN6PquTsR03!qbt588lkTF7(4Qh#IJLi9mh6rQoj2 znV^*XBJbGq9w#o`OuXIjISV9L_k|}R8~$PM>m9KF@N7^D^#y)-4ghWlqxJkzvm^YI z^o}s{>z+WDGjy=-33HBqH257#JG~$5pjgVE2;W%QJXaViA?m;lgj|3wfqiC{p9{|e zne+W2@WPbPIZR|rYM;+$!t;>^TX2GWKHx(ANNh1ok#Rv92H08BnBB_r#Fh>d+zcPG%H?CzJ=Z@F{wR=eksb+Djx)0fe)%R)rI8Gf4Jpa59y~fYTbG#TWfHuwhe{-6Y z`;@8H#4r+IER#JW-rc*`b)3VYudHzDF$@ohE(1gRwxQDSwxJ>4mwMe$Y3ROjYZuq8 z0Z+6c8@$WMW*OT!{6P+HBXl0Ih%~$(M^tPzN4y&~>I`3uB80-k-D&X6$(BGGIqGnOl5kN5=Am9k^YJHuCk8h(e5FQJyWR&3Ivf?oo5j{T`@ z*8Vhxo4Q6o+TB$g;FfN*ct$V#_T6I_|icZ$Om_-yDGo_+bGkBPq>x%P<$W#Nb z^EHa4?owCqF(j#nOhy!fb^wW2jnNvGsP9!C=_U*FXHHXP(g= z&Qwo#oMSO)!E~J6&^Qol&NjjH-pGpg=L|RiG??}3M`HOM}cKgp(MgrqX7km z#o?hk%Pp`X8dcIk7PHaEO3YgY8I$lpkaYA3yfP}l?7H?V2uSPEHG(- zLoINa1=d>Na0{%nz!4T$Z-FB%a8%ULnm)&3j*iwV<`|3FV1Z*TaGV8>x4;P&IMD(p zS>U-AIN1WHSYV?Co@aqmEpVCzPPf1r7C6%aXIbEE3!Gztb1iV51dixRbvDjzMb$wh3_CdtS}b`(YV5|A$*j=cM{&H@M{TADg4)juT=PT zgm)@T#~Zyw;WrR|jlypve6PZH5q_t_ZzB8=h3_W(d4=Ch_%Vg=A^byy-$M8|3g1f@ zuX3_pe?z#3@a&230=SwHv2o~#-FXOC3)q||Je(y!&%+!laqnYSv!X?5w zn++ew45hKa#XOsnTQ7JaT_&RR+dfK8mcxkfi`(PDM(hgZNhs`K) z3@2FBW4Mfyr2^I=0p#?@4)gJPPjsOb#_J6K1^L4p@d#do1YWeo(pyd(gB4+H|d6ONuixHlSe;Z7=5g{g@ z&Qkp2%9#JKGbmqA+JKPh(_wwuyMG!*Q34MK7TCVYVozGXQ|0aCL@nu|HShkLfH(*| zY@7wdyAn30N!EAcSa8q0euw420NpV#}QB-wUNev6%nHV2QeG1nK&fpIt{whb*sni27J)y zhv1M2At5#%Go$_WtPIDTr54gQa2;#_TE#-zj-i?GyX+Kev&wfw*TFc-=J+gwU?uG4 z0LYb{FKcq#iS@EF3e_^ak&!O@KiLN>oylyIb=m!VnWDdh3A_VL*rz zedj=l(B0!iUF|Z}Gjl6bbiJI4DYcS8!C0b-`I7?`gN~3CbD%^R;%F^K5#rvoA5Ni@ z9?O21sCXbzvAPVg!$K-Wsu4^Inm^1O_kQUFgCkj8aeMTY|2Jj4igh(*c-$9sj%%;S zep2ql-uDo?uo3dTF$3hKoSm@82QPXBQ_k_mnEDXY zsk54~v=7(&nsd^-9(_KiJarf!HWXz_GU}x!BBB@9`2a$6rL>LguUn3{e}NkQ(rUDc z|GN3AYkfd&|KWd59XOx*I_iLFDDD`?)39f4ReFj_AsodBQmk*y$%fheFpdshVr*g{ zlXmY$WG5pW2C-Qf>_TJ=yX*Kc+Ap*z$W3!qRM;eGda;ImCclNKFdy<)UJ=a8WF# zjH+tYMO*<#mhR5VCi#+G1MJ+?zan7%!@J8~PDfuIluf6gKJeAmymXwrPOQy5Il2xd zDtozuc|C+u*Kj_RjRO(6Q+g#roQpY~$1vfyx#xeRjfK2DddrY?AMv$P2Gf{t41x~y$Yr#j|l&?hAeH5&7k`^zv zJQAnPb>)W_+%@l8le%hoAHjjw*h9S$!lw{C=FUZmO(Zm>+&-A87cJ%paZs zX5g?+Q&#Vk`d>(G;gldI@u z^I`|*#kS?g)m+c4#ks;&uaXJT3_iY~j5F@c-1R>OfcnhoB&>&fZen}B5MTt6^Cj8^ z&MmkCf@ga>u(Bb5_QqWCAMgy`ga=Nqu0dV&^h(z9I2h-CK5X(Gpu5v#A2#5j@zn~P zKjPCP>i=cC;GouNAR7!PkPE$Vnif^yd?CCEU@ar1VcLpQ1Ahq$d{10ps?Jlo@b#SkyRbp(8L3zw!PTKKGNMdHd@w#d_Z8W1OoJoTt8v_)~z7 zPA7{@DkJAmFb&>K0Bb7Ts9^$qD9Rt}&WO+PTUc#UiVx{bl4trMpc=nov%yBDfVg!iPU_v`uZ{0~=Y$`i8h@ z%m5+TDs<=iNAGpbDd^;otH+wMJZfKe;7Wv!5xBa=Z`PyFq}#dIlXk_IXmVHq;7uh@ zc;fq5g~?+*3g=*DXC#XN zufV_hWNzu?Ds5q0-MNk4wT7Xa9VGZGJP-+9&M^8ibuf#*usd2gXsv?tk(60PF93xv zqU?yf-HVY!oB2vFnguz)W*=U-^K>MFx5DLPw)=93a|ra~MXzKkNLU{Y%6Q^3&uu@) z{KAuA%dg#?=97u`Fg096%rg_9Ozt^)vJ-UX9G>YMndBfErPuU&baaWzuP3xiVx# z4?^Q+jLk00rkYYYYr1n6j9lJlbTBi#&>rW2SM#N? zC`>BZi;B6}VFW`lM{!E{#trsVZ$Vm7YP{$E0(M62SkyKo4Nc-w6zipH zU}^)Cwx{AsbB#}N+A=MLUQSsR7#XSNYl-oza#1&z! zmUUha-JqM`&KUbN-u`vo3; zfO`4<2c@1}PgYT`L48Q7*!5&rg8H!3uIov9DwFCXQn9Wle?*jwJzY;eF628<^+qpz z$S0q)(!W;tyoUI0@R>Dy_Rd77 zLX8#kA$2V^eWA&}S{dv;x4m|IPl#?xWmKi!Mo*N^J^E+3=jkT7mf|1QCJy$q9IPIl zVZa+vQQk+Saq`a%?u7Vwt1S?9RHNUd1rU9u%XZ!1wMaky=hERkE9<-tWj;UdKX5iQ z4lefJiGL78KE4T?lyCy!Vq~BJFyuc9Pdw8wy$$yQUe}KVUJc)-DxlH2pX5p~I2)$2 z`~SL+kpEvp2~E_m5J1m$>@SLS_yKLf7gYx6UcNTH^fq*uLh}vGu@pJ5ZyLN2kz8<> zJl{kDbL7M_a9s3PoZ^P(<2f?6JQ`hwksvw~Po?Poa56IqUx0)<6hskHS=&2+33bZ5 zwd|!`TOA+kpbq?yOZ&C9n%=+U9vbH~ZuDcY4ey4WjZ*Y83X&R_+-OPFQdjHoUS-X} zZbcU6)zuT5EO^A~)91-NJU8itW`i-^N-gN%AQ^Ja)w*t>Ex8U@F+ zfTPh>b1+yqbVwh0lhgk$XCZaqIDkLlEQG0{kGR}hmOro2?doxfIM(3|<8opm@!o7> znX6|j;%fF6(&+LS*I~cIn8}$A9r0@+lujaAC(8htrJ zf$(i@O!9*Ub3f31x$04yOF4Y6uaqBNm%(Pn0V-X}j}4Xl%H)B_eks2hthnGQuUb^f zl-Kl@vbZvf3!KBwBX=LU35UyBZqzo;>um1Ad}jo+hiM73+rk?G1cy=wo#7~g})S+iSbxF z`*9n#m^1CZdJvzHwZt};=8bLA zh{P=QHo)sPchUyX*1;`kQ*@zug-A6+Y6|L>GJm$EO4(%P!&aJ?J-WQ?FFVdBoVQ=m zQDNI~J$DuGo7>vvcc`|ujjF$eq?t;Hxiw~0^IBALT3Fz%hDEvj-S~z9eUGmpTWK)raf6dkp^eQ>T6D_wG(LrXg5 zTJ$=5ql0sm6Jg){i>^e*)=^MT6PtF0Sq_=et5&q(Xx`Q0?XbU&kw>48SK5NVXHt$@ z@tYTox6D$LB!Lksw+GP!6?g(c*crhX~dR_ihN6&T}NFwdg!~ zUMOCQa#*!z z21_P!l*j_`)>%c_)EDcPTU-K3TDCd=arrKma|z1eH*UD6CL$GcOE#T|*`ydWjhlwe zu#PYMZ7S3=aw0bNC1@o$76wo|-wocw9_7uTzp-ngi)3o}EODXC|8Y3gd@ty`+XMQi z!@yPb$1LSFc-@OE_;EfWvhww0`A9N9_Dqz&Nx1v4uXc7OR>L=Y`-9I=!T9iCCX2{t z8BzS_67cg0_%8&dJsXhcQtCW)msP)!EMMOp;Ro&5hVnI5KYSNrm?yY=-*~@#sW1MH zdd(NNWyCT*Zi6HKvb^{OrjsBi$0$D*K=`!Xyv6t4kO~uGDZtK~wxCYUGhoRD-<|m| zyt6;er%saajyYCNcvScUpDBs~zXg(f`XrTyQ}wWb6FIy*dnWzl`_RC_GT4ad<4Dx$ zvN?Lh7n4_FaD!yHQQRD+KCq7njr(|gY+P$~0%Z5Y)gnA)KjzQz$z+?$g%jR66IOVi zXDgsE5TEa1j1M}rZY%x*J{i7`O!v@cYpGxR9Q6V?C|-JQ zVmxKPMt2aS#bAVSK|JFn3=_|YA)DQgRCq=q;`27dhX2Gdxs{5H;5FSxz}OAGK!cGU zb88ztgP%G{rI2p)EF7e7JqulAe-^s-LLK|i5)M28#=cm1IivX|?E^lRwlO$Q8s4Vx zvH63mJCcsyI~zf|E5Iug)~Qdth0IEcwcrGr7PmK#g9uvB6LjBtw;ydRLB6QJTK8UdSAw1Ba2e=d<}NVd@s^tnpf zF|HI;pfw3hV=^5&;C|_}Ej6uaP^g`JY*UD?4bC=&;EqNo_-7=9NBSuB_;z=iq4G+= z$p!8-lX>#Qz3X!A1>UZ6aqST^LhpV8e3g=O8GKJP=D;DifZr{_a#ZtA;S-s1N{O4f z&5t9)Zg(Dx^_KJ(oDRN_dNJQOTL}k??}fg=oyLfO!I{rs7^6w!dG0if7brdhjCJ+K zI(Hg&1r(o}3g6`dJD~UsF#gmV3*Bj~n1SMxzb0HqHCQ(1Ec~n1tE*4}DGKG+rz9%H zjKonXBB2WV(U>Z%4`vh{hwq$UjS&z?^jorR9Iava3FxFyuVCg4=Y-eHy>j>_bT{mV zy#fKyp8|U9DSd_f{P-H-&+M`4BTj5nlQI{9T%zRCP)%LTU;rczv3 ziN*%invrF(kp<_SUPakpfOu6(n!Wo=!`e5FRaJ-RdxgGieeuF9Cm48vJmU=*Mm|4J z>VtqjRTv{99F%TO2}Hf|0z1PHeF{5y^`#4Q0eVg$<1JP;;U6$IWV}I%frwG7F!nf@ z<@S{?jG19Cb^~W;{m#mD`f9CNAW3O$B;7P#i)u<3LkM zo(>k0nsK115KjjT^xpam<3O`Io(>xDm-QLO-P%jM@GGdWd~ai{;58pbq}RbB#0$R) z(8af_jaUI3sgX#KB2<70vXMuSB9f*QX#^<(1(>}VSp+HK1n?nNlGEL>T=Q#EJPQB1 z6u!~y4K%-j=nM=wgI~9pX6S|RGW_nTC+DfKQ;ba{gpUDVs1Nz!w*YXV|80Z_zJtIE ze~zXz-|cuZ{oM{|O6Lb%&cT!VeinHjk9N7*^q-h}vA#4X+~qS1!rm43;V;B6^ewQl z@3y@H2Ak-mP4qa29G>vM8T_xI?8aY=Ac<51T~f+>98%*30iN>B)TD~V`kIswtQ>CO zeHVd#8MTIClah7Hr!*CZ&uSb64>$I?v|#$7RF!SgdCm?io6CDm4tis$Vr8Lbi}gcH zu_%D0ravId0>eEhLO&pDiu+2sIQ9*rhr^E7ve*Z(I#<6r4Q*!{c$;M!O`4g+7eR=q zVZWlkW?CK}6J|Xd`0+ot`BP|ohDlsxVHoTK1~-vrnBU}nr8m|a4PlWI9fC&_+XnoZ zaxtS!_yl<2t1UYB`~*S_S~w>_kMc+KXOiU`NanZ9vq&(Bf2ZOfdVqYGcnQLFFU7-? zAOGya4~_f@Lgd3=Qxtv{8EVIGf-1T*{EbCpHN_hyiiex}ttA{sLe>(p;qR2t{7-~^ zzQ-}>SR}Ct{O~_CLAe&31!(t1d@==e{It6lJOjkoFKZ8ZGEK%yQ~HCyHFh`h>&3@d zLrGMOuBCc5k^?ki?H`IPd5xpJ#P$mHC8m41rem3I7G$s$J8JsZ6Y2g1e%kH}oWR)s zm1tCa?8@Cr|GO^>J7x6OzavAyr8d6!&JO zx@GcU|8e7QNb3Hg%Y6qoD1q*UeCiRZeEhjjkbLsaj^7|seiKeZ2NQFS-T& zApBQY_Siy=xO#nKGmRZTdn9*mVe2pf*%LU#=+2E^ft=>HX?0cj6p|GDMdMg};v|me z^7_e-+8ti{4you{F7$cI`UJ5q^3LFfgWl&b_fnIz{3`d)F*fLKnuzo=l+d_viS5>R zX}4}q$b01XjSNJe6e1QRbGh6%G8jD~#35~Z9Z+=O)oZb81oFKfb}i`#r~Pl`?DX_A zhS;f=f9XWlTRFH0%-IgG*Rt0>FrT3YLLL8V6@3`1w-m{(OWzL(AQ{{TWN;rT2M?oukS{n9hjSRc7u&%e6*7Z8?i=_^ZFSbK zCcjE_f`kLnxe_jpE|+jH+9}~s^co45ME5dGoWe-u(R$4I*!dX0Q!)-jk4U&U`k91- zQP&z4JY)*opYgz>n8O>1F9PG(Jz0rYlR+X$$~{T@4YsalGoBQTAalEW3V^Bo(YUAG zNaZ$vfaagUS`*+83CF1@Y=S=IRWuI#xj_v~;mycyMtFMD_e{Y(+XQTjc`WC=rUO(=Z2^c;ChBHKhD+>;P9E;#h{}nUx0pbk^)KLLXEj1W|EEKT9Rl~ zJU`_%STK`Tw%I9QqXHjJ082xB`446mv!K*6O(0-dpiy+10Ns1?JKqle(ltoW6Qm|G zPf+EzZX&CnK~YBWt(%F!Dilf(`R!C=g`G(VR$0(EI1Q;;n$+#paH(1`uXQWAVbuw4 zQaL1EXA=_<{o*L@F~5UTR*ZQ~ZXClkRFd1QuY}BS_kXS)~#a$f{#VW2N?9{Nh*h^Azq-a!vJ> z@as}cs-Ix>2CmXRWGGcSoQX_>=x8HTE>^IHI){)xpE?>*R&;6FB!e z4bkxn>dXCV?XWJtx?+3_pz*8gy?%A#NQ^N^zV67|5!xbjjz;e5NQM+LO`}HYJB?1X zb+M8x)Guwb*54C#y3IpX)UoMG<7`s`rpaQT$DsInwar4YA}h#r@C48T*4<7A*B^wN zO*+rF^VinHGLM+zJOWF;LKFL?g;{!@>cW8jFj$Q_$t-(Tbuf4*d~$#zxB4u5R&^qv zV+$sTVCTSc@0AQvKC5DvRL3D@?aRg`L0i^4p@Ufv-N(AGy9frd(9&`EMNlOF+yGxd zq@N;-8R6qilgErO@}{vY$jtD8G-Nm~|-A_FiWW3FSXUfr>B1k?{$ma=?PyMx^(qXh48lj~Jn3ZAz&V zb`rCBD7)k#kmSKYB_?5$QF?J*1mu=ao9kkg#B~wa-*w4&@}#4G`0_J&s5oigC0KDh zsX8J-yvCKfY67V#Xam;S5D~)kQ2C^?ND#XhviA&B(E5eUx2LygaLBz1~X2PTp#oWn#$@j5(-`(lOUel6z};=3LI;8zFK zcO6OJ1qU`Tei}CDtAYBiGXRZG;SN%DV*Fw_uJLOvXZ2cSTE7A%i_2og>(93_*0z2M zV$Y#tVLj_dS{f@?AG0)8i(W}a2yGtmYpjxZB~~f+N_?}s_P*Aq#S>jXPxRmPME^ri zM1KN5lQ1K+ME*25&)u#JqDzg5qc`OTnwi!%=_sT!j2fmB!i&D_Lwo1tP+yM3`y9^$i`~#H?pye=c5e%rAxqo z5%1keNjmZ*)mu55>36c_o$Y@NQQ9W zty2oP9E`j$;ZA}uzY+xW7ZF&Vx_2i=qVvcD?A=KY?O_Cyy*m~qleMGSr^w%S3+&x( zZ+%Ak#0%Ibun%8oV(+~$E4Dw_g3D+B?~!l&vr6$!*?QTUs6_9Va3C6=;8w-r=p7Oc zMk^+D>*5}U$rj9h`|IOu=iM-yAcA1=2FBYZdnJ01;k+9dBHCc$e%_57@%#3x9N~UP~h)#83%eLeAU}7xC3i)5mQDPwS(F zv-B83!PTJ1R=BVgJR#m1)rFw25{eVSC_gT*vnaADd6WAeJ?rb^q z)(80#)e^w>e&NPbzL2@GWPCiG(Uhp|eKG1pJMxD4O4|iE3fMN)i%%d)bn~X(4*crg zszqLTP06hYMF_yx2S8cV=apA20A&;M2xY3bLsj6a3h-eYRuA(^-@zitX`(C~Lf!&o zVi>B-;F^r>&zByh@~|jxx@TR!5CpZgpH` z^M*GZx4^k*Y`Lq@1-R%R{ei89TSEmNK^kFe-tdn-ydNPc2}#Ol=1b`==!mk1&BJ1Q z>$BoFE~VcnfOWHo$E*y;gROUKU+bZ5%3pjQTLd%irN2zVf#?|t7e_a)C4MmaEyHK= z7ch9^FYbgo=o$7udX>@#TmMKQP6}R)bnUL;wN#{a4O`scb%?_Sya(yk1rVYOcs&zx zfR|G5V(hx~054fg#$=8(XxavIBuOBnFc7_VJdUua1>q$zv!WPj{O@cEyUw!55dhjZvcvzu)v`WkG#mkj9hUvAni z_W6I3HmXF|AI`QKh<+{M;^^vi+ICM%I22uc#Iv^{HgilH-UpRd>@mxWm~Gw$6_Ey8 z@1tZV1$&UGy+Pl~mcb7g^`IIv4uo0ilgeh>iVrGJ$(% zQfYJ%^8sQXX=`*QFdTcqQMb{_#c(yQ9R1Xl?{?{Y8NN+~*kk-OGf1lv*v~TV*3@1L z%rZRfg&jx^n2HpYI)@%J_EzTJE6dPK3z3O80ox0*=JTMKk0dvB>0=>=yQ&8s#h+nz zJ?}mo<%r*`ao>`^WhIiRff20Z%9bcc1;8mHwn-;pb2ugbqK>y%$T+xcP;y&egbB*; zcYQ%@aXW2s5ps;ok`f#W$Ak|#j>!kmN1_?nhKpDBw&1|BSwXVkFeC^T6M7MFI?Q^F zLnVDN7rhu6!YerLZ2~#x>gT925c;{~OQ1Q;7JV0q&8Nc7NAv8)k7>OFb*}{PW$Q<7 z>a|MwL96B<%Uufz4oHNu_*LgpeqhbKQig-@J=R%o1+{J8p~ zt8M=nUzHEmfzjB(`RK6q&W)H8<*g zEsTVi=+xzV7O#Y?*Fjb}JC|*#pW6fTg2-QVLmU_5Zsu8?AwH;s>tcNMm7n;MuW%g_ zZH1iH!{JS1RIUT#y&uXcy8hzP$06_ToQR6gbdewecj|4nzuQ|#zH6C-4)vbVa_6E} za=+{}$ay{F#CQ0Q#!EI389xbJJ$53O!+X7$Y~}D4?sB||L)}(3tt!iP0;cN9S1+B& z=Bv9oC6o7~G||L|D=13(EXUqMtPbEqQ^)=INj6#p+f{!T{05|J`%SU_hNe4h@aV8$5Q2sidSQN2|h{X-P_U;2jAEA zn^l-_a~O|VI+to8_%94svmfA?H`w~H41Lh`JihS5FmujhCXZw|5WP#n#nHh>F+Ldm zt%O6-&~p%fmiY|EIpYgI1L0y{cm=b~>kCDw!PZA8+evbhq1_jLmUY}{cBHUvXMN#o z-Qe>e!50!aBNV((0a)E2A-chTVSczlCYZC;Bq&aYMCdOwVVh?Rz5tXL@|oI4B4bk! z^lI*a9R}OA`$$ZmY!*pu4-#@Q%e>+w351H3sheE%dK_>1#Cg*@M1s8oB^VBHnj%HA zR;4eqYt@8@EKC_qws_hlu-@}AU5h3;x%iZfUqo(rMk!9UD_)dwm_KaElh6H#A04rN zR8p%SC75j1kX!6Rzlw?5m&92{G~MMi-4!%lv4z3b$Kx`3oShvg41d)Hc6N0=EeZzv zYY7LUtB+=UarCr=gVDvuFg_H0N5Uo1IU5*X8huH^WzlnwWgK^MKBYh*I`TNd6r&F) z&=svZUNGI!-z(4)9drUPbIreUJBC>NeAc7zplba0C3kSpGNwa(84$*O9!iKk^a(OS4`ouBsEW#-BDTFd?gh#V`3y(EQ75Y8Vz_E|6rUHsR_r`AkQ{qV z7i4wx^kSsuZHi30R2X zuG*0v#_R{0r-~%nzX)=knv(huFpN9d7i;@kUzSd`i=C_n8m|f!X4$6reKz!~9YG#$ z1!vbZxnMn}PSrxQ!8B9?{KjV)q?$iIp#BNl$SyoZ?{9(LZ=x>@{#_dDk9hLsZTUL6 z3t}(+EyF+T?mH-oAAoi07h<&e1q=Tr9&(cZE5?4!*apyk!`N>b!>iTd?-=_J##SQs zdjR2+MExgG*!c+mi>O|nyZ-?YjPP@)fZ7}(+T71TsJ+0Q{tDt1-MsuV!28*Q@%o2% z8-W?3+{z3S@fB8v1LK8*AhP_`+-b>#3U^2*0-9++Gi}#Qi^qLYw8GNh&o5g|^g7;?(Gr zQum|ryTAnS2>=!#om57uKT(bJ0dF@dNiQq|HmNo&YZ8R`Hl-V|WxbG3UV1UtyV$^{ znO}yjpWWiquH&Wf3HX>uHx#0;Zkcf+MU zZj~8^RtLmEOO$He5fcZQbJ!ADIdeA7oI@nW_rauoua0vrA#uXylv*lLs)iv}8p;f@ zGPigWYQu4y`$lA6nUpyV>yjK(lQ1xu^{bs6cNtr($z`+o!>$32}#wT*gNCc(eu__qrGo`Zjv;orKK;DOOf>LLT* zPQ;Rd5932>;G04$8TdB3(i?caiGEgwK1G=U@o8W&JWBUqs-Ac>O!b&>09d#l(Yg+j z;(8dbX}x{|8C$5=y2k+Uj#n?v7!LERrSXlt;&o1apla8!){J3|B&Su8@9f%#xn2h&Z5QD?cwx~@xG})EYI)|(+ zzAes+UHCe`_<=*D$}lOK!;;A^d@WP#jaA0)T}aZr_y_AM*DvLn`jzG&0WF4W<#b}W zR!&iBYi*2fDT&b$*;qMbJL0YH=$DvM1xF@4M4FMXM1_Z|FmQx)O>t>QB`MvI@?&cJ zE%Dkn&}*+ohUOYPW!uzzNv|63=`Csgem9O#r@-$Z#?yd(&S9 zLY*TaI>!ZMg0Y`TWvrKZV;`|?6EaC)I35a)Iw2z$!!=nSrRQTR!X7i~F}aLt1oj)% zFdw57UhC_m9)?0(5t#EaDd<4+G3L@tYmtfFzr7&af6aVM3Q@t>Ixu13E>GQuX8b_& zF-fcDPLT7ll+=fVp*1q>8@{jgZE4wQw(L64nn&O<%O=HoJ)VQjvc{ZTt<%;Bjxgb^ zG>^g7H;p{=oMr!s^LeZmu0N3>_O&I%zV=Cs4@OT*h<)wnB0hI9W0xdY&cG_oa$y){ z|1Zw6MYh2f#td5NGGuOFHt?svShZte1AHs&AjDys-$D8rJ^+80Fdu-wg+MKo5G{12 zGLRf{bj@5eS>_Og09@NkCF)H7`?kpmzYpojS0Z(Gf$zg0&Zo{9Sd=L`o-?$cWs`#( zSrbT~Ws`{z2&B)l$y02dz<#!F&&n}YLhr&o<-Qp=XW7CZo-{toCc>O$OA+WCB7U+z zun|0sA63rcM#(cd%NDkRCzPCJw@Yn1j`|1k<)7Cd9E(hij+*Ke{ZoP9V4zj6f)mz< z0EaFnGHUCJ-(kF_eCI#YmJHg@2qtIREF?M8Ci}RlHAX-OpPFd?Mr(me>9Ml@!sf)6gGWZ_@%x;|4Z$M}d z>)WCiZLMCux!7bEAMuwv|9R*2J>a(~WRv0ao^4fIiyXK(tsk_N^~46Gp}l%?;yurq zIS<8^h~scQ9oI5kdaC{UO>$>&JcB=!@5Qjaz;L4kH|-G%KTPTO;4GR zgIId>J>tn}_(=3E5EV7&F#Jgn>`}o14#T&dV%vo6=gRUI;@SQ)cAPem8rsA}I<|U+ zHm};<1lALY74nFnQd?yHjic`!g_@T4WoilRa^u+G#oUuqg;^RR zoY(gl^sQdttiWkK|EeqPzTP{aAv&)W8`XK;BjMtx{5*ADuaR&lDxAvrlIRu*mqz;} zTo&DM8u8fI`;7vH=$g|7gWrEppewrM48e3qk1NmmRZ&3Sv5JJpFTFH}STkeeF&*D>0FH4GY2^tG+OpyePQ;3xXSBh8KfjwP0IU zwj|NI_X?+h=t09#OB#&yJ@ldI(}G_TJucx=Q{uAd#}Y^D{*gfcfZcg5b=XQ_6Ln!6 zv6m^Z_ldcNsp5+vQG9>HREKAk!l?Be%CevDLZ^CWb(nSU3shu|*+ zl-C@8O;D#^ItIai$e$Z*1S8D1$YMtLc+=#;8{LMRH%(4@^FVld)8wabh6rbG`nN!s zml_G`OO1rU`aclN@B#Qo2y|LUh|{{~u_BnovFtf#HG%?(@-PVtXUH-clD|y+1OS4C z2tokP1jWelePLhb7_RdMQ}4EE;c1}b@;RQVBOexORBJ*smB$*0aYsRN^v4{%znZSy+F7{Yh)elmqh&Xpv#M;1}oBa&u{W70-( zOd3dIswYlCMX1nV1BxMUZxE2(FOCwHEG;GTRtjmbGJ!YWC-CBTY0^?+h8o{-7HRL` z`dmcyT0bSHQ=m6(O0R`;d3!NLl-T+e5%P|OG;Z5_hSX*FYO+(&QPgU?t;8yreJ+a2 zm7?g@ZY#-t4JsbbhZDWZ*v_)KxAYFk%0Jy(N~Gl!TZBCwjEr8@5T2LlRr_n7AX3ID?@XwS zcwdlxCVo}!9CAz9th_Jig<>KsQp7%wiHu^kBg+h)vdjGKlaMzLyIuD#0P(wltN4Be zzR)l@eo}n_Ukf~&8%LM;)z#xSS#CPLCnLQ0XSRY^!TObLrgJK4R6nQ9c>0OLi+?He zkvAyD=BXgw1r!^?n4k*>ZcPQOm0dWjKZ)BxoTKpqEdN@M%QWZ3oaUT{vYMykG0RaI zXD4)X0Xj{6mX?k8{^a1DMqOQzdKH64jrq^-8Kj2t_(bIru!&z&e+H?{!FNXoKz&Ue zhcy;kNWd~Id0W5{gY6%{YlaWN|4o<=z<(ml2Vj;rBZYd?EO16j^`~DhFdu*^iH`gtlQ&IyW<)4&ngY#;RNnM|g0YVDgfLt;FJnD1N>d^kr3C3AR$T2lBfq^MLlSUF-xLm5|YFWNwg$hl16UomUu~BujAT~{JDW>EVaMGxVkOXR(gMj zS~E0J6=?B`jYR0)PfA-z5Wmy?gUE5V%^_GVDbXVmY_Q(hI?YMDuFkg;2sst3oj(v zy{t)DFFZAepr9+mD8@q%rHCS~q_2!puGuT26sBGoRZWUfuZ(WRb`&6988v@y2Bi=u z{jL?|mOXAoVWsiR>-Y(2+W)B82j7Rzx=i(GjWyC3%Y7KEpdY|bu zP%f`@!O3LQ3Wh%nLe;4Pwa@G#7;TsBWsZh8_!mT{qc!3OwyUafIKqZ}b=Q#yN7&qg z3lR!OdVp}-N`khnBm_#m$f`^LPeNwF1|bF;XOLMe-|TA4@+}mK*gdPTFXp7H=s*Av zBrb#iF8CN(5S>rb7!%igs+)feYyM|ZA&i;k)>HQ8hWrr>+4hs{+6_Bfqd%|aOmkbu zbA@DTt2@W(#_g78@pC44@q0%ykS$xfTH*JO5`B6lx!aYALAynAkS^EkS*tmL@w-K` zqjiwLyR3ufgE#&KQN|e-f^@$qtStl*Rt@n&G2RQpG987rwTZCpA$7#)Z@`Sm5^PM(;T-V?)Fzg=qIjxnGt4KE6fY zHWx2hOqn~M+rHkp+tByo8!^$`BRnPZqa;!}7(M9;0FH%wyqpDm6r-WpQTUS7aa`mhony5hm9Q%`67_0)M!^NjQxa3uN*qASn<9*kA1svnNbBFqGM zwlkL~3gO5MAk5VfqN}@-UBX?l^%z$t6pBbpo=gA`B&OT^I@!FA6y!fX>iBB#XIG;b zKYE5V^JmctA(@&(B1Ok;>dM5dW7)hE$G$)MnBevhB%1jsU9E7zK1nO0CjgJ*HVCkE z$;4Gt7n(X0$2iZ!_=peQ@Gpq6-tvA&Sc_2AC(6>htVCEWtX{*~dhEqq5If{a6LTM} zvcF~M%lne7N6mU(dS4Pqgag8}8y`lx0a{Pqp{OsO6ls*1gJ6HWSI0l|4_S|#z3T89 zP!D5`jW~67EpR4Dr!=|2cQqm@yZ^Y+cOzgZOECuv2SMcnJx5* z3(aTtjZa*-7>K>{NeLN?jgV8>&&|Ob5Uf0}iFr0B<`PcKk8xshzBSB4>H+g`17^8- z*z4!vZRiP;A%USSuWpE1X;>mV-di)G z(~l6R-<|9UQ;HPEOh2Je#I~A#0vJf>zQBEKX>r8+jh)6g;%=0OG1J_ybKGLUb>Rf{0y(vBuE{Eard)pwy<03lh21`s4zaPMcfs=-4Vvn{zpB_UE)YfYV0PqqkNDZTj~~h1W43 z_?O+Ci*ysLJ6Y*&hRxXD?)P1yyf>MA0I&O!vz5PLYOW2V`o;G*vOaGM#<8LS_v|6+snWw}V^rq5)H z&RkeJpOq$Oa#;k%xvW=$sF4WVQL8_L5}h;AoudMGL?Wp>lE2&7@k4*qNXkEk+{l4< zIKML|)7XTLhM4FvByb+;PN_K$UYE^x%tOEO9eCHORqrgTvbha{3UoIE_ac^h1-@(b zYk7t9=@ky7S2&1XL59#<+n8PC>><4&@eEjkiY;1&J^Yj`h9mP)zsdwK-lKH(K#2D6 ztTj?C*#m3J9yFbC1Tn@Qmh063JQoRjU>Yw4Z?-KaP1i@x9&k32+5;P`hilnFMk&Vk zr(_GHAX^|X&KB^}T}A+QFwxtA`1q{sKonpH;w5(dlPW) z+GVw=eqKd*jE3r0FD6y(tauIeYwgJEf1>oS+NOVk(*NevKdCk7{{`v)BI#FM~>6|Gy)T;RxPhEmoNT#+kO$KOyS>_tr?Yq<_|w{^h0r%wjxv zoBD$w`Xf+b%+z)eq~s_|>)b2MhYaAB6vMElHUtE?A#mRj5;IaZDU4G#o;6j=+_^ii z?YT;83pK0r>^y)nXY52BtF^)lLg}-UW4iUKe%NNa8d1w?^9mY5%efIs%e=Pz^Csv| zb9@6FS@N?4s%k1GC>3u(6_Zq|;-@jiUzCb3p^6WoiVvlVrQ6=xLUxdw;^{W^pP-Ug z@xRDmI5LF#RVIM9KxQtV5LNu9HBv39m^Gzht*`H}xKYJ#0fm=xkeZ4~$x+VYROw_|jy zM%1y|yp4uXoH{Y#Nyof?7agmr>6oB&j908m5lJ=Z_$BH1GV1tn>i84Xv6S0e+mapR zbewL1_!H839k<{bdff)~t4siIh0JtJh&pbyMye$pv!-;c&}b5i8+F_cR2VZg9g~uy z+^A!Oo|?z3DjgHZHuizIk&a1XO*&S~oQ`?zcIRxu&A57BvyRnTIws_|+he;OqhmFq zj@70E4WZ-Q5T#>Yzl)Al)pSfyI@TdSNj2ygAuN8W;7aQF2R8I{t!>K=aystw z+g$$KcV5TS$zV9L1L{|q0NxIn>6j38+-r?gOFCvv>3A_i%YGI&>UaiFVa(KYOiGS& zqmFT3MLK3x>6id@{7H<4^O!BAV*+c^v0CPI%6q8=qGMGx9TSv}vB57zB-Nl}tgO)SHPrE^sNp>3D|MF@GvOuj4Wq3`gFN`c)=?cS2@5CPW=qtdVL-$E+zGYeRxZyvOQz5GZ_< z9I5G;lpN(o9iQ%W%&O8c0qPiHm5$j`Iwr6t9jj$d$GmoTmDLtHR_|WNL19jAJyvV? zN?&7FWAv(u)GL8#E)wWfgiT=5E3e;0uc~T#B`Ce>mK;en==HbK>q_eNXzDelUZv39 z+Ai!Mr`L77Ubg_1^oZ(%sFg+BL*z9aA+oBHaO4AkO~r($;w{-8r%S9b=HN*vo-=7v zxg9Guyu}r54HQn?k!D9r>cVwo8n?5l1y1%nM`DZY97$Iz+&L22lGX`~(>g-#tZn|3 zNLV{15(Vg^@W$}01!P%ET7(*IgVwMJb!YOGMew?e zKG}CZ_O|auskRvfK^cWkI!P@x3huoSHe<41Por2)qd0~}A#3QZ?aDrKMlsVH#bQu_ zGVOP?c1NwuD0U^g;Rumcm4qX^0XCx`M5EY^?O_zGkQqfk?q#TrJb(@m_GHCIqu3oN zd~g|Q?&q&a*mdNLf^m7?CfFeRktJwf1)u-YyM60Y>KQVe7iwhw+Y7+w3|^B7~_Gk*$poIoLg?W))9n#i}Z@BwCD$?gyvR z5ny~peRt-}_b@)JsD6BF+xXh?Bf}h`BkKl$!E+$^N*ei(PeHOpJKEay#A0i!aNYaG z^<3Nd7_6rJ&Q*LWu%i?Gq2K(E;Adn{1B%}&i$6mEKfQR~5#8I~2YGjvx-M5~d^$?D zxDKddXH)Vr&Sv8?fGO4XfX-sPPug}p1@1WYy-Z4bIm-9a+}Uisv~;$hm-%~jw&c4Q z*s-&DjpX&Qx~Z+5t?^M9$iOpDJKp*SS-0cd$+_aeHS^W>YurF0Agr zNbolchcgBL`o$YOamI@!%a=0mNnTNo-?TcI*S*Oq<$cM%%XmE_d0P28$*v#g^~~h^ z%5ikP?IA?q%P0>R(4K61s4yML?FLLtqQiull&myhtz^dG!c0ysF`zS<{0U*EBxf5i zH7On;%(SFtz}m^126QFKkt*s={%k-`a@Z$@nV!60KyR|-Q^NEmKQUlN@}Z-IStohS zfSJkmM+?)Re8YfQ$!4)I>n3*^uwGJLF3kGLbp~vZ%sfVz*~z5_%t@vs!fcqFV?dOY zhJ|@wQa7NSyk$ToIrdl;4J3atU@-Z_al*_^UNT^#WdGxZ**JODfK8G;P7r2Z^0)!> zlN~=T%%;gh1}sPxo+!*_$=wEQo(!BM%);ab1GY$JjR>o+8W+$;$@pm>gIaW~b!m2JD>dd8#n)Pkv;; zF3HZP3G;#E+XgI77JWvT4<`2*uxm2+bYXT&ZZzOS$$Do9vwL!-0ed7}XA1M-m1W=Zl(13s4Q^?70T zPo6N~fMl0*ggG#I*noqQEzcEZY4SA#4o)^cPnc!N%?5lt+29Mp9FkmZz@bUc`NABQ zTxh`INyi1kd?Gp1fFqK^g~A+}oMgZ!lYbcSspRO3RCHAG2Lp~ymVHr}IC;*1<;gx5 z3v)~|YCw`KzC@Ve#945%f+mBO5ooGf5g9Udro!{Ad1FTaWvX5k2{ki23rw!wwukgJ8q zcBzo8G8oHdA=&pD;jzRNlBWr;;ilQz{-)U;-Xljb7WDLnRB;8`<=!;w9{q4y@f1|- z@9<92ziKv#E#M?)DxaQgs=PPZM|odztnwMjIm+=nhRSCqw=0K}v=;#3Bp)_R`?&Yy zdPet5nYf-zq^|&aCSFj}9!C^E5~%B5*J)o8TuUZrB(s!fuK;eUYcR0~0gSuH%V(;8 z?=SjHTkg%gBh{cgIbQkrH}kqj@x-XR-F77!rf=poG|U9-KGrsU^dspAznj-b&GF?v zr-nEG_DU=MlA>rIs}KLq;0@w%dUCh&-sBs~`;sS=&#;#salh5xj?BFcnd;*O*34du zT-y%}OXDb>nX*wrXl@LBqkE^UO>N2z-786iv!TzPF}hFM0Q-{h?@{UwZtguw(^hY) ztn`P7yFEA2SKqtL*BQk_NlsPUqWky!_T|h`+;w*i_ghoL)e`Y|?#bWSXTsdpUM9UH2vXFwcpwzikvx={R042F3ohy*(VSCf&(-%6pP~luu87t{iU; zf0j1p zCMTyE(3z|-U`q0U0aKHg4L}ehOH1D>#?yCWjjO+X^keBj-@!oBmu~+fBHhWH>rHgV z-1KCru6rGA$jq5(f5#{u6mue*UCRBGX`&Y0?mgk2q^9fX$vKXaQSM7F(e(^RIel$- zddfBCM{jzObv$ttPdd4d_eRI5(;Yj>`zMVanASWBHB-}E;aD_Qz@h|~8{Ar>2c<2~ zMa$IxSc~rQEhdjHOt)ay_q(z` zceLJAK0WEZfokqewp8BdzFs*a*^Ac@MCudpxR{gm<9VNus9kq*rmOG2Q>mXQpWQ!o z^y4W%9ryxps-vsN(qAW~|03w8=6I*0|A6wIjL%Ao!;!s!u)`xlJUkjE5gZ<|s!oa&eVjmS z!%2}UIEtSGMZ0THDvqj7ig->GA;>A|ycp;A;$Ve4E@W*T4G|c3G=y(Jv36M7hoxtu zk3jtL7LWR|qadBp4Z1$`?Rd7bMxRF`-jQ$Y$e#e={>Fr|>%2ib6lSbg6ZK8zXA0p9sb$E-A2h3nX5c3TUO?<81zt$-Xn_|I#4!V! zeUad?1nsF0(*KjEADxCSVL|(&yvhXdL4=tAX3zF{0Pzrxu>bgCk`yQ52)QtX_z6eI zOMD4yh^ugf9K~NELcE0|BZ6 zDvnNKN#jUZMvj{;6A z5+Rx9ke3R{G&drej58s3G%h*40x6l#!<#N>K`$3kLe9(K6$Ou_h`jGJ6UeSKiB`y4 z!gp#0rB|9h>6PYAdZmezUTN0YmD!58;gCHyG8kbwW{-_7_dIgY9;^8xug$T0USWpr z=cwh6dz_uP(dQ5LB?WubUNS&g`be;3VK;&}7sA@X?4lFOvPlrujwIq5A*A>kP8Pw0 z5K?+=IT6+5L-d$cQ$==Zj<`x^YXR1yvFfUNgzzVG9(GNhkdl z1(`G+uLF;ID~W6xmnn*7V^X}{*PB7| znn50KG7?^s$PaRiLHX5LcC=yYZ}^2dNr|^HcFfXbT+O`IL^&X1+V5% zor}3ih@5*dM9#I`tQtADa*Gf-mvXBRId^g!5VjccNpV^kpA^3oi&1njIm&sN_;p}y zabjIs9qX=z#VPud>QZQ7EbE&NY#3`Aa)=V!Wvt|k$<{8#C^RmMQ67TK7^5t_g$CBY zXu&T05JxYLVumg)5Hn@yTIIb%HzTja{Izbp0=wSOT|$?KzD4xDd`I?&!Yms41u;99 z`u8B6?T4Nhdhrn69|gTVhSow)6}$+tFX`+##8-Q8G1N{pe*1gL&;((Y4Rs**%v;bz zz8A6>B3(VVe5yPJ-_;~@CU+5cV^SK6Z=(RbMD~|Vy_Z5=OgYU zmiH2DAq~yA?*bNIAQ`VjJasQ`u?@z?x6{UH4i%&{RhZ|D&L-sDB#KA*b8bT@DpiA~ zQhl7bXcxY*Yxmu+1$+Ff;n_*tG`yQ}<5xj!_#PzneIYx&-BSNp3NhsHpCO_5?B658 zCpAiSINj!ZwPS`j*trr zPsL9-LS8I96<7Ezbt3Lhc?(C#SN!#q!*Jw_K)CRfU>soETqOh!$a(xgItKi*IuUE7 zBMC>UKv-Z(2rKOHO%x@@V^JT+ z{xyu<$9%Vevf?R@+Q&#H|LjU8x57tvvbXd~#+F{m($XuLnO&KR)Ds7j(Ux_kEo550 z1({d;M!>g#QuFcKPYd=JL>dVKoAecJjmQEU>9BSh$yj_PRn^WS!eTV3srGqw1d*DB zg|+jDct{8eA*`K2gwdd>F%DbgBPk8c;xOs5b^$AYORYJ~uyzR%-xh)+4QrPXVPT_2 zi{MKtb0-G&T+d4wqL05cN`)pe(=5*75N(7O^&q++$Hs7q;<#GrMkC2~H;^s>{bJqx7~ zbN$hPZ-w!gdAd2th{lHM=A$8UbJ4=2+&r`}DK`fn5slpZ`yLSH6dC$Z(F}c{gi`c1 zGLV~=aWAkoXg4LlFKW`Sxk`n0PO;`I6$nw$I2#EIdm*S$9JCz(#yC;>Qu-l$DSbHu zn%=pmF!DK(6XT49q-$O{H1kpXa)Ge9sl)gMpUanfc9Z8(qCV*~WY(z2 zW#2W(6@iK7kOGs<&AW$Yb&rt@bdj4!KOhRHSh<f52tyD(1blE12cZ)zViY9)YTO zg8Czjpt=IJTs-kg5PhEp8jcVd|2Qqi56c5#i!>qBU>^}~5mu_|4XgH}q>A3zR*R-? zApVe8%JKas#)kKPRoC_Q1bVZjj09Z=Ty_k}ZXFxhT7;m|twoqb;(3KTb0rOV2m;Rg z<7e7EmcY0*;T5A1)~;dclipl8_m$zsH$k5kbKCZ*Ug1<5n;x@^9G7w|*hP#G%CTGWqM$kuZN zqP@{}aJFx4Q<@DqCDf;J{uA`+r^Mic(5m$x;WlX{yTV<|+!by`R`4-qt67Y2e=%2x zdxN>X?}hT7_=VGaCo}uWZmXE-~>UWb$`F5VgK|3EIW*uX8Wh;Wg(gBRgLHm zx@KzEf7UfqyM9gAOmjs3Atcir@=YO`=8*pplBtm^faNe|nyXY4l4-W9ib_HA3%6aoZeDUin=HWaglQw$8V=0;x`e77W*->XT2+N(tx63WuEb`8zSBwLiF zAD5(z-RB=AUX-Oj{6#Ulk5WpuC`&)GMH#y?2^MAZ{5DPkw*DkYl%-od2~=e!AC#p> z^pcadf00CuvRyn)irn!jX`^gUUnZ$rf0AxbIO{CPsXIncUqVPsNxK)0xP&m4VV-~A zKP?l<+&q`7)dpuD2OPMFqRE21~!Z(6}G4SM9r+^3`at; zFE>zJ+Jo)_*)YyrxPXS#A1$b)d(eb?&{}0Le3WvC&xGO!)rMfMtTpsS@}{dVI%nyf886Bu8ySBk-c0s1^O7 zk2s?~vUlt#T_0pGddTlPKMA(@SNp5t;RhKH|BUhQ&lwLh=uIH(<#on?U3G?W-F3!a z-E{^|R>t7RAcivrF+l06GtRJU#tL2ahmj(deuP;rmQLTkodzE1j<>`9%GU60#T{em zE?P%8@)+7ynE-wqnTu};#!DFA5<=PckXcMih%s$9iEkf>g5sA)SZsUB<%;bMKQAcuB(hN>R&rZ}gAYz3I>VqbSpVh;T0iU`9dzL+bQD`_li+ zL{Sj2n=lst%Yeni7UN3I*YH}t2HQ*9(>8uzO7+bV5X`ksWp={fkapdL zBkam zXU{qj!m$B<@sHh^ouBE(-LMasi}EmLn$1h~;Y9Ikj811l(R|fpnwzZb)XCumUsD`7 zSxiom9KVx?O>6lIOoDV?;}t-g*W|{}RU5FovQcZ6laH*96tTkJ^^g|qDv$;=i^za) z0Xb!{ZXG=EFNnlJe*TLSoBx!1SbK^@Uc{grE2y0Qw5?b&haj=ko@M2iRGBP=wOT&)8Q9D^NPJRR845erT_Qgl(Cp+LLBgV(es*2WR z#W?W?{Njaym_+oJKj7y+0K?Ir`5AFUKO=@Vf(ncoXDh!&7dBz&c*qkS&vH7RO<6Z* zLh)&IJhEA5KEKQ4WYfqU#Y;dok96S1YkMZ)HgKjm=yCvQ2sG~7upi^^g7Dk0qGV2s zAbteIg)SUO1&7=@75^UGRCZd!AmGQOX9XM>Wlqz7U>lt1<#gR}$h{vw5DQj$K8w>@ z{nh>^_xByTzdxe=@GD5_^md8j4LS#$b8ia{qXT&iM+3wuHs5oI4kCg^hEwb}A%Z&X z3vtD-nB|;h`elIaK!&ED`9k`4{sqwv)KEC`Jla;70Dgfm6TrVA%mnankvW%0Fuss3 zkr2wBLuL+-5IP&)k)6Wfk&qnTuUXLO@K{EN$J{$S;SLPMk)5Hj`*Q6iraZJEm)%Pp zv*L|sXu_svBfR1n8gn{Faw)GVfWeDi0{Jj`q+W2PzXl(T*!;25; znrY5GQU*>YSu6v!6`)+5OYDOB@@J&(yx;wF8?vDM^nQ6EUXY_cwKlNwoS^i9- z^zo04R(N)o?k#Pw!b_@YT%_LUt~A`#U16MIf$ItX%wMTT`YUz#eozl%jgdHY_CeyT zCroCJkuK|ex~$z%6h!Pgj5XG)>9X7)&CcbJ$c17h?jdykf8hA<*h(_ydkE?){Mww5 zDTPnkxR4!&PvaPY+Yt{9;nSt%+iS1Oe>_6}@hAF^KhuBE0hs^bTP7xD}?qAle`GFvnj(jVcqstj(VtckRNFzXIW$1Ht%q zItN0i{Ci~P90<`l9KfF897s*h;g2k6bPg<|b71bBgK(J7?4I+Q9cW$);Jk)s3!=kG zp7T13mvbMAI|!v=%ru+VqUeV8R}9NypF>oWX>M|J3~o%C-0TNOuW3AUFsf^^vIjpc zjpcOel3mpy?G#JOn$QG%OAIrMS+Ev3ov4@md{%E3vrsx=?aw6g8pdK`YM8|8)+Vt! z#U$3S{3Pa_!tI}Q4y!lKNr^3sN!XS3^f&axm_$QURmm-#zKw&+rmyDjQEpr|f7Ki3 zsybT=5t;a$eqKjUW^jx**dHhFt(?4vvTnqV!&qZ{z$UK-XLhK`%j+`w^u9y$7r#EQ z?@&*%?@%wmq*ptezXb8wco#d6sS1{zoT&c}wm6B$F@#AhUK%FxMde@C{;o;XD{vGyQ8b{O@wl9v>a7wFIwnnmnS>9 z;;kJNVJg0kwpAv8|4En$;5P{~0sJ;$CV<~T=B72l_;F5aLMST)sK*2_q>A77GWc&O zw&_lY(|wqHVY;(3P4|DWpmDmhjMJUDpYFn;9T`)*e~oX)GPYyx+X;tu9E94z+{X6D zGPYyx+X)A^!U4*y2skj1*en>~c+0i_vI2tYAzDouT&eLzYO@$n$p{cst$2K_{TH{2)1V z9xsSSJeI7b*i$@~ym_otB?@HDW1}-zmyr~?%Y92M`kXHyo4Eq9Dc?(e9UaZ3gRn2s zTEfR}_!mUtI`4bMy~R@E9cAgg5skshG=h9ArIDD=rlrwEujlVMXgqS!HX4+r_eMA> zyWd~~LRtFTl^mG67r~)0K9eH6YnRWv5aaOsO^rqlTjr6*XBvs{vXB(7Q3x+1@p#jO z@Uj!{_>Ft}zM66CzO^Rq7|%)K*@8fye5)kw<2iB2^*{_Bj{%0UxFb%?og|z%BTkIf zh%>IROi;dDCLZH5aT^Cd%6n!)o4~}g-_b5-z78w$%q=(@gX?7US zG3rO16hLxx2q(vn3#*NW#MMTJ;adUFV6ww-4#S_uE!sP`Ki$d6y@v0a;~DYCxir1O zrRiT>nz-;J+Mm*Y8$^$65PfV{ou09)E|&&JTB2*~treN&SFAR_VqF4G7=r34shv?R z4M7!yZie3Y7essk0_#jOs#KW(ZX?VD@I=B)08b{&1Tan$id80ny9hG@Je@ETz%vLl z0o+fR3E=ezGXXrCFcZKLVJ3hpgqZ-IOPC4ZO$ajqyeVNOfHx=11n?rlOaO01mX#!yjEg{sPxTAv+DpUz^<-LsZ#Y#vqX(eoBLF3BHGOmQo z{Yoet+EJux*D<~w%h-;&ZzmkqII76jI4YuC!?WnN#;IVbQ=zoP1=FhghgNvik2Q`t zep6nh{j>C>1XWqC;RMT`lu*rCDLIwmNeM%z3$QMK?dTnC#k1-#E0Lr{lxu4$b8H&hT=r%rxb7+mxzGJ+Ip~ z^7^f@yuzc2BppS$Hpn#N6@@8PRY-YdvqoNV57W^`CAu0}3WENzmclYx3UhBM!l51A zlG@E5-;QN$$K1CQ4(;f|)NZr!?O4Wk%zZoI(2nj-?Y0=-j%94e+_w`B?dTfSZp-oQ zSjKkDeLLaMj&4-#wi(}!Wo*aXw-XNS=yKI=`|<5q#&*noJK<&q^3l2rvxJM*tMtCy zhkYID<6lEeeg#Uym}xH3zD7ul_>A= z&*;guzFYOCYm1lTqU3jWG z!%LgOQ-v8`S`?nD^LXcbOnXm3Q#@0b{&-YEApW<*N`u4_h|>cU>Jayj^=Iel(jw0= zq{J)HTNq1TiGgp>A&qaTT`6HZzrj`KIVQ8;OnIL^uFR^g;o;-u6&g_A~!lS1zi zPTC}n{wBI#IBAu*2Z{TJaMCVu-y-hY!b!`-ajry<2q$e5NB=%TSriqiHUlvYUCQeHJ18}yu zxG>}y&c%~8FQwdQ8Fuf1sno?EA%8BCDlXfaa!26Kn63m+k`vwD9{OCeU~@j_xi&w~ zFpsksFBuLYU-%A;fsc4@Bjg@KyC`2W^kEjhz(PImxuCD4HDPEm%k2@+Jy?ZDpC!3_ zH7Uun4}Da%=){K(V688y)*^rlb|}d?FX$=Bi4T29Rq3yX_5z6SM9f+b`OvX%_oluzqRQ_C#85%EOZPE&H`a5vcQ{8DZka=Hf-I~UVn>jUXyFTc4WSb@PM3wPxhAyt zg&Z=7ss@dH;qP+@TKd9ga|oLG!tdn}oNxYdThX9_`^RmC;Oz5{+X_K*UwEp~&`BX} zU60%9idLSTFw(xW6GmEgcEU)T&VDwYvn_kxkG73_T~1oGYCZw8GsGC0=lTikIz3_h zD7MvnkxgbE9ReL>SBExS9mXrX)~1@p=uEai44ucfJO3FKZBYrv`DqIrbgAoq$7NIr0JK zy|wo<%b%vU`_t6bP(*r~x*w|f(^T$3k2kR(7RB<;v(&|?P-OymH^NK+??IRe;Exby z0(c+7OaPO(okgmfaAX%C>@1QHYLHp}xLKttws96Y0p0Tc7rV40GIm(5?aGv=Qz}^M zSQ0lp8?@^FY>-#Hna11`vx7!*T(0e&Cx)A8tcUY96*^+s%`_3iL1UhnottsU<=UQk zVmLQ*#8l{rW#?uhhI6w#F*`S-%*wUB^Tcp&=7_1#5zEfaL=5L&yjj;w?YdppOznCtT{G3S`f?i1cF9ztQ);$LrmCIlZI?`* zR)V9`-5$9KM78fEH~Fn!t1lp1`GSeQfc)hPI(-2d%?hxb$`)6+caq7cc4Y)&k0qnR z5^&h;?w+lyH%XG*tBLE}?+KB47n+N2Y^%~orO3Z46YD5TUwz^bT$#8>*+Rb^<0!1m zRR74WS;)FN~D{2u=91%w$MIFM4GvX+mXfhI0 zt~17GD2S6K6!R{hf_H)2kVur;-8f!rEeH!Mz?tsH*+&^BFKEZ_ArA4U#&@jXs|-DJ z@qGKjxqG=6x0g8T5gtdW3?AS~TZ}-eS{${?a$wow$RTNQR2c`O#Zgxr1{X(KX=tKu zSR4=I?Kdor8dr2Q*Rk{}Zn(moRxOUIS&WWpD8%j7TtnDI?&?@x>HNySqfvW9YvU-_ z#?=t(@PCoixv+HA>5jYV^rKyMI>4?vJ=fSZiRQ{RX@BOuwI$5*Yf^__ljdOj>6(-@ zd<+O%s|cY62f>YKrK;gzt$H81##%*IY^@?A<=R0^xmKxQsbf`Ka;>uJey!pa*DB_o zn5|VDNx8NxPYi1n>tU@@p(B>9RU(G9O2n2~SME**wKA9(mh13yKp(B

-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 bQVPzvgE2 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

Vv>2q<>Z&hPsLh}- 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

K6K3B4=F9C#qt`5H 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..28db999 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: ad27033d8c3ba405fbebba19bc7e527d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..07b40446183bca842df153ba754ea76c994d1674 GIT binary patch literal 142288 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%0D@Y5E?lcZeHHd<{jpR64Jbx& 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 Oi?1q+=ENuVYyS^L7;6mx literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..727f4dd --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a9fb9a5854bcf446a9b9855a83c272f3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..13d0444 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c570de32ec0c141f2a9565b6e24295ec +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..04ebb71 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c5cd3ec13704949848acead972758336 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..a31324c194f3266d5b0f1306faea781b654b35a5 GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..ba3e637 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5e9d5568cac3c4c1eabe820afcae0f05 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..58d61ef45f463becf1e7b802338c7f057a421aad GIT binary patch literal 299520 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 B8BG8H literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..6d23a36 --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: e35ba5711dc414809948ffc91b58aa8f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.pdb b/Plugins/Realtime.pdb new file mode 100644 index 0000000000000000000000000000000000000000..57b80081c9623e14ce3c65ac8570627008ebe549 GIT binary patch literal 105588 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 YkG=w3-9g=r&Otoz_ZS9<{(^u1A36P!egFUf literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..c744a9c --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ae165a79920e4455ea4cc83900da6d3e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..724110f --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..3b1bb22 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 42a2ad46e13fe4eabb01fd8f6139fc44 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..23e1917 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "1.0.8", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.0.8" + }, + "keywords": ["LeanCloud", "Realtime"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..a9556d8 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 73b8f400308174affb841134ceed4943 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: