| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692 | 
							- // Generated by the protocol buffer compiler.  DO NOT EDIT!
 
- // source: google/protobuf/test_messages_proto3.proto
 
- #pragma warning disable 1591, 0612, 3021
 
- #region Designer generated code
 
- using pb = global::Google.Protobuf;
 
- using pbc = global::Google.Protobuf.Collections;
 
- using pbr = global::Google.Protobuf.Reflection;
 
- using scg = global::System.Collections.Generic;
 
- namespace ProtobufTestMessages.Proto3 {
 
-   /// <summary>Holder for reflection information generated from google/protobuf/test_messages_proto3.proto</summary>
 
-   public static partial class TestMessagesProto3Reflection {
 
-     #region Descriptor
 
-     /// <summary>File descriptor for google/protobuf/test_messages_proto3.proto</summary>
 
-     public static pbr::FileDescriptor Descriptor {
 
-       get { return descriptor; }
 
-     }
 
-     private static pbr::FileDescriptor descriptor;
 
-     static TestMessagesProto3Reflection() {
 
-       byte[] descriptorData = global::System.Convert.FromBase64String(
 
-           string.Concat(
 
-             "Cipnb29nbGUvcHJvdG9idWYvdGVzdF9tZXNzYWdlc19wcm90bzMucHJvdG8S",
 
-             "HXByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zGhlnb29nbGUvcHJvdG9i",
 
-             "dWYvYW55LnByb3RvGh5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8a",
 
-             "IGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvGhxnb29nbGUvcHJv",
 
-             "dG9idWYvc3RydWN0LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1w",
 
-             "LnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8irDsKElRl",
 
-             "c3RBbGxUeXBlc1Byb3RvMxIWCg5vcHRpb25hbF9pbnQzMhgBIAEoBRIWCg5v",
 
-             "cHRpb25hbF9pbnQ2NBgCIAEoAxIXCg9vcHRpb25hbF91aW50MzIYAyABKA0S",
 
-             "FwoPb3B0aW9uYWxfdWludDY0GAQgASgEEhcKD29wdGlvbmFsX3NpbnQzMhgF",
 
-             "IAEoERIXCg9vcHRpb25hbF9zaW50NjQYBiABKBISGAoQb3B0aW9uYWxfZml4",
 
-             "ZWQzMhgHIAEoBxIYChBvcHRpb25hbF9maXhlZDY0GAggASgGEhkKEW9wdGlv",
 
-             "bmFsX3NmaXhlZDMyGAkgASgPEhkKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQ",
 
-             "EhYKDm9wdGlvbmFsX2Zsb2F0GAsgASgCEhcKD29wdGlvbmFsX2RvdWJsZRgM",
 
-             "IAEoARIVCg1vcHRpb25hbF9ib29sGA0gASgIEhcKD29wdGlvbmFsX3N0cmlu",
 
-             "ZxgOIAEoCRIWCg5vcHRpb25hbF9ieXRlcxgPIAEoDBJgChdvcHRpb25hbF9u",
 
-             "ZXN0ZWRfbWVzc2FnZRgSIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMu",
 
-             "cHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdlEk8KGG9w",
 
-             "dGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzItLnByb3RvYnVmX3Rlc3Rf",
 
-             "bWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlEloKFG9wdGlvbmFsX25l",
 
-             "c3RlZF9lbnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90",
 
-             "bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW0SSQoVb3B0aW9uYWxf",
 
-             "Zm9yZWlnbl9lbnVtGBYgASgOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5w",
 
-             "cm90bzMuRm9yZWlnbkVudW0SIQoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBgg",
 
-             "ASgJQgIIAhIZCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIARJMChFyZWN1cnNp",
 
-             "dmVfbWVzc2FnZRgbIAEoCzIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJv",
 
-             "dG8zLlRlc3RBbGxUeXBlc1Byb3RvMxIWCg5yZXBlYXRlZF9pbnQzMhgfIAMo",
 
-             "BRIWCg5yZXBlYXRlZF9pbnQ2NBggIAMoAxIXCg9yZXBlYXRlZF91aW50MzIY",
 
-             "ISADKA0SFwoPcmVwZWF0ZWRfdWludDY0GCIgAygEEhcKD3JlcGVhdGVkX3Np",
 
-             "bnQzMhgjIAMoERIXCg9yZXBlYXRlZF9zaW50NjQYJCADKBISGAoQcmVwZWF0",
 
-             "ZWRfZml4ZWQzMhglIAMoBxIYChByZXBlYXRlZF9maXhlZDY0GCYgAygGEhkK",
 
-             "EXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPEhkKEXJlcGVhdGVkX3NmaXhlZDY0",
 
-             "GCggAygQEhYKDnJlcGVhdGVkX2Zsb2F0GCkgAygCEhcKD3JlcGVhdGVkX2Rv",
 
-             "dWJsZRgqIAMoARIVCg1yZXBlYXRlZF9ib29sGCsgAygIEhcKD3JlcGVhdGVk",
 
-             "X3N0cmluZxgsIAMoCRIWCg5yZXBlYXRlZF9ieXRlcxgtIAMoDBJgChdyZXBl",
 
-             "YXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzI/LnByb3RvYnVmX3Rlc3RfbWVz",
 
-             "c2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdl",
 
-             "Ek8KGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzItLnByb3RvYnVm",
 
-             "X3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlEloKFHJlcGVh",
 
-             "dGVkX25lc3RlZF9lbnVtGDMgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdl",
 
-             "cy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW0SSQoVcmVw",
 
-             "ZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMioucHJvdG9idWZfdGVzdF9tZXNz",
 
-             "YWdlcy5wcm90bzMuRm9yZWlnbkVudW0SIQoVcmVwZWF0ZWRfc3RyaW5nX3Bp",
 
-             "ZWNlGDYgAygJQgIIAhIZCg1yZXBlYXRlZF9jb3JkGDcgAygJQgIIARJdCg9t",
 
-             "YXBfaW50MzJfaW50MzIYOCADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz",
 
-             "LnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50MzJJbnQzMkVudHJ5",
 
-             "El0KD21hcF9pbnQ2NF9pbnQ2NBg5IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVz",
 
-             "c2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBJbnQ2NEludDY0",
 
-             "RW50cnkSYQoRbWFwX3VpbnQzMl91aW50MzIYOiADKAsyRi5wcm90b2J1Zl90",
 
-             "ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwVWlu",
 
-             "dDMyVWludDMyRW50cnkSYQoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5w",
 
-             "cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90",
 
-             "bzMuTWFwVWludDY0VWludDY0RW50cnkSYQoRbWFwX3NpbnQzMl9zaW50MzIY",
 
-             "PCADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxs",
 
-             "VHlwZXNQcm90bzMuTWFwU2ludDMyU2ludDMyRW50cnkSYQoRbWFwX3NpbnQ2",
 
-             "NF9zaW50NjQYPSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3Rv",
 
-             "My5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ludDY0U2ludDY0RW50cnkSZQoT",
 
-             "bWFwX2ZpeGVkMzJfZml4ZWQzMhg+IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVz",
 
-             "c2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBGaXhlZDMyRml4",
 
-             "ZWQzMkVudHJ5EmUKE21hcF9maXhlZDY0X2ZpeGVkNjQYPyADKAsySC5wcm90",
 
-             "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMu",
 
-             "TWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRJpChVtYXBfc2ZpeGVkMzJfc2ZpeGVk",
 
-             "MzIYQCADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0",
 
-             "QWxsVHlwZXNQcm90bzMuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EmkKFW1h",
 
-             "cF9zZml4ZWQ2NF9zZml4ZWQ2NBhBIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVz",
 
-             "c2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTZml4ZWQ2NFNm",
 
-             "aXhlZDY0RW50cnkSXQoPbWFwX2ludDMyX2Zsb2F0GEIgAygLMkQucHJvdG9i",
 
-             "dWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1h",
 
-             "cEludDMyRmxvYXRFbnRyeRJfChBtYXBfaW50MzJfZG91YmxlGEMgAygLMkUu",
 
-             "cHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJv",
 
-             "dG8zLk1hcEludDMyRG91YmxlRW50cnkSWQoNbWFwX2Jvb2xfYm9vbBhEIAMo",
 
-             "CzJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBl",
 
-             "c1Byb3RvMy5NYXBCb29sQm9vbEVudHJ5EmEKEW1hcF9zdHJpbmdfc3RyaW5n",
 
-             "GEUgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFs",
 
-             "bFR5cGVzUHJvdG8zLk1hcFN0cmluZ1N0cmluZ0VudHJ5El8KEG1hcF9zdHJp",
 
-             "bmdfYnl0ZXMYRiADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3Rv",
 
-             "My5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nQnl0ZXNFbnRyeRJwChlt",
 
-             "YXBfc3RyaW5nX25lc3RlZF9tZXNzYWdlGEcgAygLMk0ucHJvdG9idWZfdGVz",
 
-             "dF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmlu",
 
-             "Z05lc3RlZE1lc3NhZ2VFbnRyeRJyChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVz",
 
-             "c2FnZRhIIAMoCzJOLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRl",
 
-             "c3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5",
 
-             "EmoKFm1hcF9zdHJpbmdfbmVzdGVkX2VudW0YSSADKAsySi5wcm90b2J1Zl90",
 
-             "ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3Ry",
 
-             "aW5nTmVzdGVkRW51bUVudHJ5EmwKF21hcF9zdHJpbmdfZm9yZWlnbl9lbnVt",
 
-             "GEogAygLMksucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFs",
 
-             "bFR5cGVzUHJvdG8zLk1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnkSFgoMb25l",
 
-             "b2ZfdWludDMyGG8gASgNSAASXwoUb25lb2ZfbmVzdGVkX21lc3NhZ2UYcCAB",
 
-             "KAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlw",
 
-             "ZXNQcm90bzMuTmVzdGVkTWVzc2FnZUgAEhYKDG9uZW9mX3N0cmluZxhxIAEo",
 
-             "CUgAEhUKC29uZW9mX2J5dGVzGHIgASgMSAASFAoKb25lb2ZfYm9vbBhzIAEo",
 
-             "CEgAEhYKDG9uZW9mX3VpbnQ2NBh0IAEoBEgAEhUKC29uZW9mX2Zsb2F0GHUg",
 
-             "ASgCSAASFgoMb25lb2ZfZG91YmxlGHYgASgBSAASUgoKb25lb2ZfZW51bRh3",
 
-             "IAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxU",
 
-             "eXBlc1Byb3RvMy5OZXN0ZWRFbnVtSAASOgoVb3B0aW9uYWxfYm9vbF93cmFw",
 
-             "cGVyGMkBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSPAoWb3B0",
 
-             "aW9uYWxfaW50MzJfd3JhcHBlchjKASABKAsyGy5nb29nbGUucHJvdG9idWYu",
 
-             "SW50MzJWYWx1ZRI8ChZvcHRpb25hbF9pbnQ2NF93cmFwcGVyGMsBIAEoCzIb",
 
-             "Lmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEj4KF29wdGlvbmFsX3VpbnQz",
 
-             "Ml93cmFwcGVyGMwBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1",
 
-             "ZRI+ChdvcHRpb25hbF91aW50NjRfd3JhcHBlchjNASABKAsyHC5nb29nbGUu",
 
-             "cHJvdG9idWYuVUludDY0VmFsdWUSPAoWb3B0aW9uYWxfZmxvYXRfd3JhcHBl",
 
-             "chjOASABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZRI+ChdvcHRp",
 
-             "b25hbF9kb3VibGVfd3JhcHBlchjPASABKAsyHC5nb29nbGUucHJvdG9idWYu",
 
-             "RG91YmxlVmFsdWUSPgoXb3B0aW9uYWxfc3RyaW5nX3dyYXBwZXIY0AEgASgL",
 
-             "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjwKFm9wdGlvbmFsX2J5",
 
-             "dGVzX3dyYXBwZXIY0QEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFs",
 
-             "dWUSOgoVcmVwZWF0ZWRfYm9vbF93cmFwcGVyGNMBIAMoCzIaLmdvb2dsZS5w",
 
-             "cm90b2J1Zi5Cb29sVmFsdWUSPAoWcmVwZWF0ZWRfaW50MzJfd3JhcHBlchjU",
 
-             "ASADKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZRI8ChZyZXBlYXRl",
 
-             "ZF9pbnQ2NF93cmFwcGVyGNUBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2",
 
-             "NFZhbHVlEj4KF3JlcGVhdGVkX3VpbnQzMl93cmFwcGVyGNYBIAMoCzIcLmdv",
 
-             "b2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZRI+ChdyZXBlYXRlZF91aW50NjRf",
 
-             "d3JhcHBlchjXASADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWUS",
 
-             "PAoWcmVwZWF0ZWRfZmxvYXRfd3JhcHBlchjYASADKAsyGy5nb29nbGUucHJv",
 
-             "dG9idWYuRmxvYXRWYWx1ZRI+ChdyZXBlYXRlZF9kb3VibGVfd3JhcHBlchjZ",
 
-             "ASADKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWUSPgoXcmVwZWF0",
 
-             "ZWRfc3RyaW5nX3dyYXBwZXIY2gEgAygLMhwuZ29vZ2xlLnByb3RvYnVmLlN0",
 
-             "cmluZ1ZhbHVlEjwKFnJlcGVhdGVkX2J5dGVzX3dyYXBwZXIY2wEgAygLMhsu",
 
-             "Z29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWUSNQoRb3B0aW9uYWxfZHVyYXRp",
 
-             "b24YrQIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjcKEm9wdGlv",
 
-             "bmFsX3RpbWVzdGFtcBiuAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0",
 
-             "YW1wEjgKE29wdGlvbmFsX2ZpZWxkX21hc2sYrwIgASgLMhouZ29vZ2xlLnBy",
 
-             "b3RvYnVmLkZpZWxkTWFzaxIxCg9vcHRpb25hbF9zdHJ1Y3QYsAIgASgLMhcu",
 
-             "Z29vZ2xlLnByb3RvYnVmLlN0cnVjdBIrCgxvcHRpb25hbF9hbnkYsQIgASgL",
 
-             "MhQuZ29vZ2xlLnByb3RvYnVmLkFueRIvCg5vcHRpb25hbF92YWx1ZRiyAiAB",
 
-             "KAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNQoRcmVwZWF0ZWRfZHVyYXRp",
 
-             "b24YtwIgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjcKEnJlcGVh",
 
-             "dGVkX3RpbWVzdGFtcBi4AiADKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0",
 
-             "YW1wEjcKEnJlcGVhdGVkX2ZpZWxkbWFzaxi5AiADKAsyGi5nb29nbGUucHJv",
 
-             "dG9idWYuRmllbGRNYXNrEjEKD3JlcGVhdGVkX3N0cnVjdBjEAiADKAsyFy5n",
 
-             "b29nbGUucHJvdG9idWYuU3RydWN0EisKDHJlcGVhdGVkX2FueRi7AiADKAsy",
 
-             "FC5nb29nbGUucHJvdG9idWYuQW55Ei8KDnJlcGVhdGVkX3ZhbHVlGLwCIAMo",
 
-             "CzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRITCgpmaWVsZG5hbWUxGJEDIAEo",
 
-             "BRIUCgtmaWVsZF9uYW1lMhiSAyABKAUSFQoMX2ZpZWxkX25hbWUzGJMDIAEo",
 
-             "BRIWCg1maWVsZF9fbmFtZTRfGJQDIAEoBRIUCgtmaWVsZDBuYW1lNRiVAyAB",
 
-             "KAUSFgoNZmllbGRfMF9uYW1lNhiWAyABKAUSEwoKZmllbGROYW1lNxiXAyAB",
 
-             "KAUSEwoKRmllbGROYW1lOBiYAyABKAUSFAoLZmllbGRfTmFtZTkYmQMgASgF",
 
-             "EhUKDEZpZWxkX05hbWUxMBiaAyABKAUSFQoMRklFTERfTkFNRTExGJsDIAEo",
 
-             "BRIVCgxGSUVMRF9uYW1lMTIYnAMgASgFEhcKDl9fZmllbGRfbmFtZTEzGJ0D",
 
-             "IAEoBRIXCg5fX0ZpZWxkX25hbWUxNBieAyABKAUSFgoNZmllbGRfX25hbWUx",
 
-             "NRifAyABKAUSFgoNZmllbGRfX05hbWUxNhigAyABKAUSFwoOZmllbGRfbmFt",
 
-             "ZTE3X18YoQMgASgFEhcKDkZpZWxkX25hbWUxOF9fGKIDIAEoBRpiCg1OZXN0",
 
-             "ZWRNZXNzYWdlEgkKAWEYASABKAUSRgoLY29yZWN1cnNpdmUYAiABKAsyMS5w",
 
-             "cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90",
 
-             "bzMaNAoSTWFwSW50MzJJbnQzMkVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1",
 
-             "ZRgCIAEoBToCOAEaNAoSTWFwSW50NjRJbnQ2NEVudHJ5EgsKA2tleRgBIAEo",
 
-             "AxINCgV2YWx1ZRgCIAEoAzoCOAEaNgoUTWFwVWludDMyVWludDMyRW50cnkS",
 
-             "CwoDa2V5GAEgASgNEg0KBXZhbHVlGAIgASgNOgI4ARo2ChRNYXBVaW50NjRV",
 
-             "aW50NjRFbnRyeRILCgNrZXkYASABKAQSDQoFdmFsdWUYAiABKAQ6AjgBGjYK",
 
-             "FE1hcFNpbnQzMlNpbnQzMkVudHJ5EgsKA2tleRgBIAEoERINCgV2YWx1ZRgC",
 
-             "IAEoEToCOAEaNgoUTWFwU2ludDY0U2ludDY0RW50cnkSCwoDa2V5GAEgASgS",
 
-             "Eg0KBXZhbHVlGAIgASgSOgI4ARo4ChZNYXBGaXhlZDMyRml4ZWQzMkVudHJ5",
 
-             "EgsKA2tleRgBIAEoBxINCgV2YWx1ZRgCIAEoBzoCOAEaOAoWTWFwRml4ZWQ2",
 
-             "NEZpeGVkNjRFbnRyeRILCgNrZXkYASABKAYSDQoFdmFsdWUYAiABKAY6AjgB",
 
-             "GjoKGE1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRILCgNrZXkYASABKA8SDQoF",
 
-             "dmFsdWUYAiABKA86AjgBGjoKGE1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeRIL",
 
-             "CgNrZXkYASABKBASDQoFdmFsdWUYAiABKBA6AjgBGjQKEk1hcEludDMyRmxv",
 
-             "YXRFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAI6AjgBGjUKE01h",
 
-             "cEludDMyRG91YmxlRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgB",
 
-             "OgI4ARoyChBNYXBCb29sQm9vbEVudHJ5EgsKA2tleRgBIAEoCBINCgV2YWx1",
 
-             "ZRgCIAEoCDoCOAEaNgoUTWFwU3RyaW5nU3RyaW5nRW50cnkSCwoDa2V5GAEg",
 
-             "ASgJEg0KBXZhbHVlGAIgASgJOgI4ARo1ChNNYXBTdHJpbmdCeXRlc0VudHJ5",
 
-             "EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoDDoCOAEafgobTWFwU3RyaW5n",
 
-             "TmVzdGVkTWVzc2FnZUVudHJ5EgsKA2tleRgBIAEoCRJOCgV2YWx1ZRgCIAEo",
 
-             "CzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBl",
 
-             "c1Byb3RvMy5OZXN0ZWRNZXNzYWdlOgI4ARptChxNYXBTdHJpbmdGb3JlaWdu",
 
-             "TWVzc2FnZUVudHJ5EgsKA2tleRgBIAEoCRI8CgV2YWx1ZRgCIAEoCzItLnBy",
 
-             "b3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlOgI4",
 
-             "ARp4ChhNYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnkSCwoDa2V5GAEgASgJEksK",
 
-             "BXZhbHVlGAIgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMu",
 
-             "VGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW06AjgBGmcKGU1hcFN0cmlu",
 
-             "Z0ZvcmVpZ25FbnVtRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgO",
 
-             "MioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbkVudW06",
 
-             "AjgBIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAIS",
 
-             "EAoDTkVHEP///////////wFCDQoLb25lb2ZfZmllbGQiGwoORm9yZWlnbk1l",
 
-             "c3NhZ2USCQoBYxgBIAEoBSpACgtGb3JlaWduRW51bRIPCgtGT1JFSUdOX0ZP",
 
-             "TxAAEg8KC0ZPUkVJR05fQkFSEAESDwoLRk9SRUlHTl9CQVoQAkI4Cihjb20u",
 
-             "Z29vZ2xlLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zSAH4AQGiAgZQ",
 
-             "cm90bzNiBnByb3RvMw=="));
 
-       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
 
-           new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, },
 
-           new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ProtobufTestMessages.Proto3.ForeignEnum), }, new pbr::GeneratedClrTypeInfo[] {
 
-             new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3), global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Parser, new[]{ "OptionalInt32", "OptionalInt64", "OptionalUint32", "OptionalUint64", "OptionalSint32", "OptionalSint64", "OptionalFixed32", "OptionalFixed64", "OptionalSfixed32", "OptionalSfixed64", "OptionalFloat", "OptionalDouble", "OptionalBool", "OptionalString", "OptionalBytes", "OptionalNestedMessage", "OptionalForeignMessage", "OptionalNestedEnum", "OptionalForeignEnum", "OptionalStringPiece", "OptionalCord", "RecursiveMessage", "RepeatedInt32", "RepeatedInt64", "RepeatedUint32", "RepeatedUint64", "RepeatedSint32", "RepeatedSint64", "RepeatedFixed32", "RepeatedFixed64", "RepeatedSfixed32", "RepeatedSfixed64", "RepeatedFloat", "RepeatedDouble", "RepeatedBool", "RepeatedString", "RepeatedBytes", "RepeatedNestedMessage", "RepeatedForeignMessage", "RepeatedNestedEnum", "RepeatedForeignEnum", "RepeatedStringPiece", "RepeatedCord", "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapStringString", "MapStringBytes", "MapStringNestedMessage", "MapStringForeignMessage", "MapStringNestedEnum", "MapStringForeignEnum", "OneofUint32", "OneofNestedMessage", "OneofString", "OneofBytes", "OneofBool", "OneofUint64", "OneofFloat", "OneofDouble", "OneofEnum", "OptionalBoolWrapper", "OptionalInt32Wrapper", "OptionalInt64Wrapper", "OptionalUint32Wrapper", "OptionalUint64Wrapper", "OptionalFloatWrapper", "OptionalDoubleWrapper", "OptionalStringWrapper", "OptionalBytesWrapper", "RepeatedBoolWrapper", "RepeatedInt32Wrapper", "RepeatedInt64Wrapper", "RepeatedUint32Wrapper", "RepeatedUint64Wrapper", "RepeatedFloatWrapper", "RepeatedDoubleWrapper", "RepeatedStringWrapper", "RepeatedBytesWrapper", "OptionalDuration", "OptionalTimestamp", "OptionalFieldMask", "OptionalStruct", "OptionalAny", "OptionalValue", "RepeatedDuration", "RepeatedTimestamp", "RepeatedFieldmask", "RepeatedStruct", "RepeatedAny", "RepeatedValue", "Fieldname1", "FieldName2", "FieldName3", "FieldName4", "Field0Name5", "Field0Name6", "FieldName7", "FieldName8", "FieldName9", "FieldName10", "FIELDNAME11", "FIELDName12", "FieldName13", "FieldName14", "FieldName15", "FieldName16", "FieldName17", "FieldName18" }, new[]{ "OneofField" }, new[]{ typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage), global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage.Parser, new[]{ "A", "Corecursive" }, null, null, null),
 
-             null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),
 
-             new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto3.ForeignMessage), global::ProtobufTestMessages.Proto3.ForeignMessage.Parser, new[]{ "C" }, null, null, null)
 
-           }));
 
-     }
 
-     #endregion
 
-   }
 
-   #region Enums
 
-   public enum ForeignEnum {
 
-     [pbr::OriginalName("FOREIGN_FOO")] ForeignFoo = 0,
 
-     [pbr::OriginalName("FOREIGN_BAR")] ForeignBar = 1,
 
-     [pbr::OriginalName("FOREIGN_BAZ")] ForeignBaz = 2,
 
-   }
 
-   #endregion
 
-   #region Messages
 
-   /// <summary>
 
-   /// This proto includes every type of field in both singular and repeated
 
-   /// forms.
 
-   ///
 
-   /// Also, crucially, all messages and enums in this file are eventually
 
-   /// submessages of this message.  So for example, a fuzz test of TestAllTypes
 
-   /// could trigger bugs that occur in any message type in this file.  We verify
 
-   /// this stays true in a unit test.
 
-   /// </summary>
 
-   public sealed partial class TestAllTypesProto3 : pb::IMessage<TestAllTypesProto3> {
 
-     private static readonly pb::MessageParser<TestAllTypesProto3> _parser = new pb::MessageParser<TestAllTypesProto3>(() => new TestAllTypesProto3());
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public static pb::MessageParser<TestAllTypesProto3> Parser { get { return _parser; } }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public static pbr::MessageDescriptor Descriptor {
 
-       get { return global::ProtobufTestMessages.Proto3.TestMessagesProto3Reflection.Descriptor.MessageTypes[0]; }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     pbr::MessageDescriptor pb::IMessage.Descriptor {
 
-       get { return Descriptor; }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public TestAllTypesProto3() {
 
-       OnConstruction();
 
-     }
 
-     partial void OnConstruction();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public TestAllTypesProto3(TestAllTypesProto3 other) : this() {
 
-       optionalInt32_ = other.optionalInt32_;
 
-       optionalInt64_ = other.optionalInt64_;
 
-       optionalUint32_ = other.optionalUint32_;
 
-       optionalUint64_ = other.optionalUint64_;
 
-       optionalSint32_ = other.optionalSint32_;
 
-       optionalSint64_ = other.optionalSint64_;
 
-       optionalFixed32_ = other.optionalFixed32_;
 
-       optionalFixed64_ = other.optionalFixed64_;
 
-       optionalSfixed32_ = other.optionalSfixed32_;
 
-       optionalSfixed64_ = other.optionalSfixed64_;
 
-       optionalFloat_ = other.optionalFloat_;
 
-       optionalDouble_ = other.optionalDouble_;
 
-       optionalBool_ = other.optionalBool_;
 
-       optionalString_ = other.optionalString_;
 
-       optionalBytes_ = other.optionalBytes_;
 
-       OptionalNestedMessage = other.optionalNestedMessage_ != null ? other.OptionalNestedMessage.Clone() : null;
 
-       OptionalForeignMessage = other.optionalForeignMessage_ != null ? other.OptionalForeignMessage.Clone() : null;
 
-       optionalNestedEnum_ = other.optionalNestedEnum_;
 
-       optionalForeignEnum_ = other.optionalForeignEnum_;
 
-       optionalStringPiece_ = other.optionalStringPiece_;
 
-       optionalCord_ = other.optionalCord_;
 
-       RecursiveMessage = other.recursiveMessage_ != null ? other.RecursiveMessage.Clone() : null;
 
-       repeatedInt32_ = other.repeatedInt32_.Clone();
 
-       repeatedInt64_ = other.repeatedInt64_.Clone();
 
-       repeatedUint32_ = other.repeatedUint32_.Clone();
 
-       repeatedUint64_ = other.repeatedUint64_.Clone();
 
-       repeatedSint32_ = other.repeatedSint32_.Clone();
 
-       repeatedSint64_ = other.repeatedSint64_.Clone();
 
-       repeatedFixed32_ = other.repeatedFixed32_.Clone();
 
-       repeatedFixed64_ = other.repeatedFixed64_.Clone();
 
-       repeatedSfixed32_ = other.repeatedSfixed32_.Clone();
 
-       repeatedSfixed64_ = other.repeatedSfixed64_.Clone();
 
-       repeatedFloat_ = other.repeatedFloat_.Clone();
 
-       repeatedDouble_ = other.repeatedDouble_.Clone();
 
-       repeatedBool_ = other.repeatedBool_.Clone();
 
-       repeatedString_ = other.repeatedString_.Clone();
 
-       repeatedBytes_ = other.repeatedBytes_.Clone();
 
-       repeatedNestedMessage_ = other.repeatedNestedMessage_.Clone();
 
-       repeatedForeignMessage_ = other.repeatedForeignMessage_.Clone();
 
-       repeatedNestedEnum_ = other.repeatedNestedEnum_.Clone();
 
-       repeatedForeignEnum_ = other.repeatedForeignEnum_.Clone();
 
-       repeatedStringPiece_ = other.repeatedStringPiece_.Clone();
 
-       repeatedCord_ = other.repeatedCord_.Clone();
 
-       mapInt32Int32_ = other.mapInt32Int32_.Clone();
 
-       mapInt64Int64_ = other.mapInt64Int64_.Clone();
 
-       mapUint32Uint32_ = other.mapUint32Uint32_.Clone();
 
-       mapUint64Uint64_ = other.mapUint64Uint64_.Clone();
 
-       mapSint32Sint32_ = other.mapSint32Sint32_.Clone();
 
-       mapSint64Sint64_ = other.mapSint64Sint64_.Clone();
 
-       mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();
 
-       mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();
 
-       mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();
 
-       mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();
 
-       mapInt32Float_ = other.mapInt32Float_.Clone();
 
-       mapInt32Double_ = other.mapInt32Double_.Clone();
 
-       mapBoolBool_ = other.mapBoolBool_.Clone();
 
-       mapStringString_ = other.mapStringString_.Clone();
 
-       mapStringBytes_ = other.mapStringBytes_.Clone();
 
-       mapStringNestedMessage_ = other.mapStringNestedMessage_.Clone();
 
-       mapStringForeignMessage_ = other.mapStringForeignMessage_.Clone();
 
-       mapStringNestedEnum_ = other.mapStringNestedEnum_.Clone();
 
-       mapStringForeignEnum_ = other.mapStringForeignEnum_.Clone();
 
-       OptionalBoolWrapper = other.OptionalBoolWrapper;
 
-       OptionalInt32Wrapper = other.OptionalInt32Wrapper;
 
-       OptionalInt64Wrapper = other.OptionalInt64Wrapper;
 
-       OptionalUint32Wrapper = other.OptionalUint32Wrapper;
 
-       OptionalUint64Wrapper = other.OptionalUint64Wrapper;
 
-       OptionalFloatWrapper = other.OptionalFloatWrapper;
 
-       OptionalDoubleWrapper = other.OptionalDoubleWrapper;
 
-       OptionalStringWrapper = other.OptionalStringWrapper;
 
-       OptionalBytesWrapper = other.OptionalBytesWrapper;
 
-       repeatedBoolWrapper_ = other.repeatedBoolWrapper_.Clone();
 
-       repeatedInt32Wrapper_ = other.repeatedInt32Wrapper_.Clone();
 
-       repeatedInt64Wrapper_ = other.repeatedInt64Wrapper_.Clone();
 
-       repeatedUint32Wrapper_ = other.repeatedUint32Wrapper_.Clone();
 
-       repeatedUint64Wrapper_ = other.repeatedUint64Wrapper_.Clone();
 
-       repeatedFloatWrapper_ = other.repeatedFloatWrapper_.Clone();
 
-       repeatedDoubleWrapper_ = other.repeatedDoubleWrapper_.Clone();
 
-       repeatedStringWrapper_ = other.repeatedStringWrapper_.Clone();
 
-       repeatedBytesWrapper_ = other.repeatedBytesWrapper_.Clone();
 
-       OptionalDuration = other.optionalDuration_ != null ? other.OptionalDuration.Clone() : null;
 
-       OptionalTimestamp = other.optionalTimestamp_ != null ? other.OptionalTimestamp.Clone() : null;
 
-       OptionalFieldMask = other.optionalFieldMask_ != null ? other.OptionalFieldMask.Clone() : null;
 
-       OptionalStruct = other.optionalStruct_ != null ? other.OptionalStruct.Clone() : null;
 
-       OptionalAny = other.optionalAny_ != null ? other.OptionalAny.Clone() : null;
 
-       OptionalValue = other.optionalValue_ != null ? other.OptionalValue.Clone() : null;
 
-       repeatedDuration_ = other.repeatedDuration_.Clone();
 
-       repeatedTimestamp_ = other.repeatedTimestamp_.Clone();
 
-       repeatedFieldmask_ = other.repeatedFieldmask_.Clone();
 
-       repeatedStruct_ = other.repeatedStruct_.Clone();
 
-       repeatedAny_ = other.repeatedAny_.Clone();
 
-       repeatedValue_ = other.repeatedValue_.Clone();
 
-       fieldname1_ = other.fieldname1_;
 
-       fieldName2_ = other.fieldName2_;
 
-       FieldName3_ = other.FieldName3_;
 
-       fieldName4_ = other.fieldName4_;
 
-       field0Name5_ = other.field0Name5_;
 
-       field0Name6_ = other.field0Name6_;
 
-       fieldName7_ = other.fieldName7_;
 
-       fieldName8_ = other.fieldName8_;
 
-       fieldName9_ = other.fieldName9_;
 
-       fieldName10_ = other.fieldName10_;
 
-       fIELDNAME11_ = other.fIELDNAME11_;
 
-       fIELDName12_ = other.fIELDName12_;
 
-       FieldName13_ = other.FieldName13_;
 
-       FieldName14_ = other.FieldName14_;
 
-       fieldName15_ = other.fieldName15_;
 
-       fieldName16_ = other.fieldName16_;
 
-       fieldName17_ = other.fieldName17_;
 
-       fieldName18_ = other.fieldName18_;
 
-       switch (other.OneofFieldCase) {
 
-         case OneofFieldOneofCase.OneofUint32:
 
-           OneofUint32 = other.OneofUint32;
 
-           break;
 
-         case OneofFieldOneofCase.OneofNestedMessage:
 
-           OneofNestedMessage = other.OneofNestedMessage.Clone();
 
-           break;
 
-         case OneofFieldOneofCase.OneofString:
 
-           OneofString = other.OneofString;
 
-           break;
 
-         case OneofFieldOneofCase.OneofBytes:
 
-           OneofBytes = other.OneofBytes;
 
-           break;
 
-         case OneofFieldOneofCase.OneofBool:
 
-           OneofBool = other.OneofBool;
 
-           break;
 
-         case OneofFieldOneofCase.OneofUint64:
 
-           OneofUint64 = other.OneofUint64;
 
-           break;
 
-         case OneofFieldOneofCase.OneofFloat:
 
-           OneofFloat = other.OneofFloat;
 
-           break;
 
-         case OneofFieldOneofCase.OneofDouble:
 
-           OneofDouble = other.OneofDouble;
 
-           break;
 
-         case OneofFieldOneofCase.OneofEnum:
 
-           OneofEnum = other.OneofEnum;
 
-           break;
 
-       }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public TestAllTypesProto3 Clone() {
 
-       return new TestAllTypesProto3(this);
 
-     }
 
-     /// <summary>Field number for the "optional_int32" field.</summary>
 
-     public const int OptionalInt32FieldNumber = 1;
 
-     private int optionalInt32_;
 
-     /// <summary>
 
-     /// Singular
 
-     /// </summary>
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int OptionalInt32 {
 
-       get { return optionalInt32_; }
 
-       set {
 
-         optionalInt32_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_int64" field.</summary>
 
-     public const int OptionalInt64FieldNumber = 2;
 
-     private long optionalInt64_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public long OptionalInt64 {
 
-       get { return optionalInt64_; }
 
-       set {
 
-         optionalInt64_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_uint32" field.</summary>
 
-     public const int OptionalUint32FieldNumber = 3;
 
-     private uint optionalUint32_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public uint OptionalUint32 {
 
-       get { return optionalUint32_; }
 
-       set {
 
-         optionalUint32_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_uint64" field.</summary>
 
-     public const int OptionalUint64FieldNumber = 4;
 
-     private ulong optionalUint64_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ulong OptionalUint64 {
 
-       get { return optionalUint64_; }
 
-       set {
 
-         optionalUint64_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_sint32" field.</summary>
 
-     public const int OptionalSint32FieldNumber = 5;
 
-     private int optionalSint32_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int OptionalSint32 {
 
-       get { return optionalSint32_; }
 
-       set {
 
-         optionalSint32_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_sint64" field.</summary>
 
-     public const int OptionalSint64FieldNumber = 6;
 
-     private long optionalSint64_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public long OptionalSint64 {
 
-       get { return optionalSint64_; }
 
-       set {
 
-         optionalSint64_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_fixed32" field.</summary>
 
-     public const int OptionalFixed32FieldNumber = 7;
 
-     private uint optionalFixed32_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public uint OptionalFixed32 {
 
-       get { return optionalFixed32_; }
 
-       set {
 
-         optionalFixed32_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_fixed64" field.</summary>
 
-     public const int OptionalFixed64FieldNumber = 8;
 
-     private ulong optionalFixed64_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ulong OptionalFixed64 {
 
-       get { return optionalFixed64_; }
 
-       set {
 
-         optionalFixed64_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_sfixed32" field.</summary>
 
-     public const int OptionalSfixed32FieldNumber = 9;
 
-     private int optionalSfixed32_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int OptionalSfixed32 {
 
-       get { return optionalSfixed32_; }
 
-       set {
 
-         optionalSfixed32_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_sfixed64" field.</summary>
 
-     public const int OptionalSfixed64FieldNumber = 10;
 
-     private long optionalSfixed64_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public long OptionalSfixed64 {
 
-       get { return optionalSfixed64_; }
 
-       set {
 
-         optionalSfixed64_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_float" field.</summary>
 
-     public const int OptionalFloatFieldNumber = 11;
 
-     private float optionalFloat_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public float OptionalFloat {
 
-       get { return optionalFloat_; }
 
-       set {
 
-         optionalFloat_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_double" field.</summary>
 
-     public const int OptionalDoubleFieldNumber = 12;
 
-     private double optionalDouble_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public double OptionalDouble {
 
-       get { return optionalDouble_; }
 
-       set {
 
-         optionalDouble_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_bool" field.</summary>
 
-     public const int OptionalBoolFieldNumber = 13;
 
-     private bool optionalBool_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public bool OptionalBool {
 
-       get { return optionalBool_; }
 
-       set {
 
-         optionalBool_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_string" field.</summary>
 
-     public const int OptionalStringFieldNumber = 14;
 
-     private string optionalString_ = "";
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public string OptionalString {
 
-       get { return optionalString_; }
 
-       set {
 
-         optionalString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_bytes" field.</summary>
 
-     public const int OptionalBytesFieldNumber = 15;
 
-     private pb::ByteString optionalBytes_ = pb::ByteString.Empty;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pb::ByteString OptionalBytes {
 
-       get { return optionalBytes_; }
 
-       set {
 
-         optionalBytes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_nested_message" field.</summary>
 
-     public const int OptionalNestedMessageFieldNumber = 18;
 
-     private global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage optionalNestedMessage_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage OptionalNestedMessage {
 
-       get { return optionalNestedMessage_; }
 
-       set {
 
-         optionalNestedMessage_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_foreign_message" field.</summary>
 
-     public const int OptionalForeignMessageFieldNumber = 19;
 
-     private global::ProtobufTestMessages.Proto3.ForeignMessage optionalForeignMessage_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.ForeignMessage OptionalForeignMessage {
 
-       get { return optionalForeignMessage_; }
 
-       set {
 
-         optionalForeignMessage_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_nested_enum" field.</summary>
 
-     public const int OptionalNestedEnumFieldNumber = 21;
 
-     private global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum optionalNestedEnum_ = 0;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum OptionalNestedEnum {
 
-       get { return optionalNestedEnum_; }
 
-       set {
 
-         optionalNestedEnum_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_foreign_enum" field.</summary>
 
-     public const int OptionalForeignEnumFieldNumber = 22;
 
-     private global::ProtobufTestMessages.Proto3.ForeignEnum optionalForeignEnum_ = 0;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.ForeignEnum OptionalForeignEnum {
 
-       get { return optionalForeignEnum_; }
 
-       set {
 
-         optionalForeignEnum_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_string_piece" field.</summary>
 
-     public const int OptionalStringPieceFieldNumber = 24;
 
-     private string optionalStringPiece_ = "";
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public string OptionalStringPiece {
 
-       get { return optionalStringPiece_; }
 
-       set {
 
-         optionalStringPiece_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_cord" field.</summary>
 
-     public const int OptionalCordFieldNumber = 25;
 
-     private string optionalCord_ = "";
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public string OptionalCord {
 
-       get { return optionalCord_; }
 
-       set {
 
-         optionalCord_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
 
-       }
 
-     }
 
-     /// <summary>Field number for the "recursive_message" field.</summary>
 
-     public const int RecursiveMessageFieldNumber = 27;
 
-     private global::ProtobufTestMessages.Proto3.TestAllTypesProto3 recursiveMessage_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.TestAllTypesProto3 RecursiveMessage {
 
-       get { return recursiveMessage_; }
 
-       set {
 
-         recursiveMessage_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "repeated_int32" field.</summary>
 
-     public const int RepeatedInt32FieldNumber = 31;
 
-     private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
 
-         = pb::FieldCodec.ForInt32(250);
 
-     private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
 
-     /// <summary>
 
-     /// Repeated
 
-     /// </summary>
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<int> RepeatedInt32 {
 
-       get { return repeatedInt32_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_int64" field.</summary>
 
-     public const int RepeatedInt64FieldNumber = 32;
 
-     private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec
 
-         = pb::FieldCodec.ForInt64(258);
 
-     private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<long> RepeatedInt64 {
 
-       get { return repeatedInt64_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_uint32" field.</summary>
 
-     public const int RepeatedUint32FieldNumber = 33;
 
-     private static readonly pb::FieldCodec<uint> _repeated_repeatedUint32_codec
 
-         = pb::FieldCodec.ForUInt32(266);
 
-     private readonly pbc::RepeatedField<uint> repeatedUint32_ = new pbc::RepeatedField<uint>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<uint> RepeatedUint32 {
 
-       get { return repeatedUint32_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_uint64" field.</summary>
 
-     public const int RepeatedUint64FieldNumber = 34;
 
-     private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec
 
-         = pb::FieldCodec.ForUInt64(274);
 
-     private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<ulong> RepeatedUint64 {
 
-       get { return repeatedUint64_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_sint32" field.</summary>
 
-     public const int RepeatedSint32FieldNumber = 35;
 
-     private static readonly pb::FieldCodec<int> _repeated_repeatedSint32_codec
 
-         = pb::FieldCodec.ForSInt32(282);
 
-     private readonly pbc::RepeatedField<int> repeatedSint32_ = new pbc::RepeatedField<int>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<int> RepeatedSint32 {
 
-       get { return repeatedSint32_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_sint64" field.</summary>
 
-     public const int RepeatedSint64FieldNumber = 36;
 
-     private static readonly pb::FieldCodec<long> _repeated_repeatedSint64_codec
 
-         = pb::FieldCodec.ForSInt64(290);
 
-     private readonly pbc::RepeatedField<long> repeatedSint64_ = new pbc::RepeatedField<long>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<long> RepeatedSint64 {
 
-       get { return repeatedSint64_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_fixed32" field.</summary>
 
-     public const int RepeatedFixed32FieldNumber = 37;
 
-     private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec
 
-         = pb::FieldCodec.ForFixed32(298);
 
-     private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<uint> RepeatedFixed32 {
 
-       get { return repeatedFixed32_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_fixed64" field.</summary>
 
-     public const int RepeatedFixed64FieldNumber = 38;
 
-     private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec
 
-         = pb::FieldCodec.ForFixed64(306);
 
-     private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<ulong> RepeatedFixed64 {
 
-       get { return repeatedFixed64_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_sfixed32" field.</summary>
 
-     public const int RepeatedSfixed32FieldNumber = 39;
 
-     private static readonly pb::FieldCodec<int> _repeated_repeatedSfixed32_codec
 
-         = pb::FieldCodec.ForSFixed32(314);
 
-     private readonly pbc::RepeatedField<int> repeatedSfixed32_ = new pbc::RepeatedField<int>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<int> RepeatedSfixed32 {
 
-       get { return repeatedSfixed32_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_sfixed64" field.</summary>
 
-     public const int RepeatedSfixed64FieldNumber = 40;
 
-     private static readonly pb::FieldCodec<long> _repeated_repeatedSfixed64_codec
 
-         = pb::FieldCodec.ForSFixed64(322);
 
-     private readonly pbc::RepeatedField<long> repeatedSfixed64_ = new pbc::RepeatedField<long>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<long> RepeatedSfixed64 {
 
-       get { return repeatedSfixed64_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_float" field.</summary>
 
-     public const int RepeatedFloatFieldNumber = 41;
 
-     private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec
 
-         = pb::FieldCodec.ForFloat(330);
 
-     private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<float> RepeatedFloat {
 
-       get { return repeatedFloat_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_double" field.</summary>
 
-     public const int RepeatedDoubleFieldNumber = 42;
 
-     private static readonly pb::FieldCodec<double> _repeated_repeatedDouble_codec
 
-         = pb::FieldCodec.ForDouble(338);
 
-     private readonly pbc::RepeatedField<double> repeatedDouble_ = new pbc::RepeatedField<double>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<double> RepeatedDouble {
 
-       get { return repeatedDouble_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_bool" field.</summary>
 
-     public const int RepeatedBoolFieldNumber = 43;
 
-     private static readonly pb::FieldCodec<bool> _repeated_repeatedBool_codec
 
-         = pb::FieldCodec.ForBool(346);
 
-     private readonly pbc::RepeatedField<bool> repeatedBool_ = new pbc::RepeatedField<bool>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<bool> RepeatedBool {
 
-       get { return repeatedBool_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_string" field.</summary>
 
-     public const int RepeatedStringFieldNumber = 44;
 
-     private static readonly pb::FieldCodec<string> _repeated_repeatedString_codec
 
-         = pb::FieldCodec.ForString(354);
 
-     private readonly pbc::RepeatedField<string> repeatedString_ = new pbc::RepeatedField<string>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<string> RepeatedString {
 
-       get { return repeatedString_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_bytes" field.</summary>
 
-     public const int RepeatedBytesFieldNumber = 45;
 
-     private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytes_codec
 
-         = pb::FieldCodec.ForBytes(362);
 
-     private readonly pbc::RepeatedField<pb::ByteString> repeatedBytes_ = new pbc::RepeatedField<pb::ByteString>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<pb::ByteString> RepeatedBytes {
 
-       get { return repeatedBytes_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_nested_message" field.</summary>
 
-     public const int RepeatedNestedMessageFieldNumber = 48;
 
-     private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> _repeated_repeatedNestedMessage_codec
 
-         = pb::FieldCodec.ForMessage(386, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage.Parser);
 
-     private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> repeatedNestedMessage_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> RepeatedNestedMessage {
 
-       get { return repeatedNestedMessage_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_foreign_message" field.</summary>
 
-     public const int RepeatedForeignMessageFieldNumber = 49;
 
-     private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.ForeignMessage> _repeated_repeatedForeignMessage_codec
 
-         = pb::FieldCodec.ForMessage(394, global::ProtobufTestMessages.Proto3.ForeignMessage.Parser);
 
-     private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignMessage> repeatedForeignMessage_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignMessage>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignMessage> RepeatedForeignMessage {
 
-       get { return repeatedForeignMessage_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_nested_enum" field.</summary>
 
-     public const int RepeatedNestedEnumFieldNumber = 51;
 
-     private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> _repeated_repeatedNestedEnum_codec
 
-         = pb::FieldCodec.ForEnum(410, x => (int) x, x => (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) x);
 
-     private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> repeatedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> RepeatedNestedEnum {
 
-       get { return repeatedNestedEnum_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_foreign_enum" field.</summary>
 
-     public const int RepeatedForeignEnumFieldNumber = 52;
 
-     private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.ForeignEnum> _repeated_repeatedForeignEnum_codec
 
-         = pb::FieldCodec.ForEnum(418, x => (int) x, x => (global::ProtobufTestMessages.Proto3.ForeignEnum) x);
 
-     private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignEnum> repeatedForeignEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignEnum>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignEnum> RepeatedForeignEnum {
 
-       get { return repeatedForeignEnum_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_string_piece" field.</summary>
 
-     public const int RepeatedStringPieceFieldNumber = 54;
 
-     private static readonly pb::FieldCodec<string> _repeated_repeatedStringPiece_codec
 
-         = pb::FieldCodec.ForString(434);
 
-     private readonly pbc::RepeatedField<string> repeatedStringPiece_ = new pbc::RepeatedField<string>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<string> RepeatedStringPiece {
 
-       get { return repeatedStringPiece_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_cord" field.</summary>
 
-     public const int RepeatedCordFieldNumber = 55;
 
-     private static readonly pb::FieldCodec<string> _repeated_repeatedCord_codec
 
-         = pb::FieldCodec.ForString(442);
 
-     private readonly pbc::RepeatedField<string> repeatedCord_ = new pbc::RepeatedField<string>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<string> RepeatedCord {
 
-       get { return repeatedCord_; }
 
-     }
 
-     /// <summary>Field number for the "map_int32_int32" field.</summary>
 
-     public const int MapInt32Int32FieldNumber = 56;
 
-     private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec
 
-         = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 450);
 
-     private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();
 
-     /// <summary>
 
-     /// Map
 
-     /// </summary>
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<int, int> MapInt32Int32 {
 
-       get { return mapInt32Int32_; }
 
-     }
 
-     /// <summary>Field number for the "map_int64_int64" field.</summary>
 
-     public const int MapInt64Int64FieldNumber = 57;
 
-     private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec
 
-         = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForInt64(16), 458);
 
-     private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<long, long> MapInt64Int64 {
 
-       get { return mapInt64Int64_; }
 
-     }
 
-     /// <summary>Field number for the "map_uint32_uint32" field.</summary>
 
-     public const int MapUint32Uint32FieldNumber = 58;
 
-     private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec
 
-         = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8), pb::FieldCodec.ForUInt32(16), 466);
 
-     private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<uint, uint> MapUint32Uint32 {
 
-       get { return mapUint32Uint32_; }
 
-     }
 
-     /// <summary>Field number for the "map_uint64_uint64" field.</summary>
 
-     public const int MapUint64Uint64FieldNumber = 59;
 
-     private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec
 
-         = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8), pb::FieldCodec.ForUInt64(16), 474);
 
-     private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<ulong, ulong> MapUint64Uint64 {
 
-       get { return mapUint64Uint64_; }
 
-     }
 
-     /// <summary>Field number for the "map_sint32_sint32" field.</summary>
 
-     public const int MapSint32Sint32FieldNumber = 60;
 
-     private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec
 
-         = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8), pb::FieldCodec.ForSInt32(16), 482);
 
-     private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<int, int> MapSint32Sint32 {
 
-       get { return mapSint32Sint32_; }
 
-     }
 
-     /// <summary>Field number for the "map_sint64_sint64" field.</summary>
 
-     public const int MapSint64Sint64FieldNumber = 61;
 
-     private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec
 
-         = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8), pb::FieldCodec.ForSInt64(16), 490);
 
-     private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<long, long> MapSint64Sint64 {
 
-       get { return mapSint64Sint64_; }
 
-     }
 
-     /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>
 
-     public const int MapFixed32Fixed32FieldNumber = 62;
 
-     private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec
 
-         = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13), pb::FieldCodec.ForFixed32(21), 498);
 
-     private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<uint, uint> MapFixed32Fixed32 {
 
-       get { return mapFixed32Fixed32_; }
 
-     }
 
-     /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>
 
-     public const int MapFixed64Fixed64FieldNumber = 63;
 
-     private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec
 
-         = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9), pb::FieldCodec.ForFixed64(17), 506);
 
-     private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {
 
-       get { return mapFixed64Fixed64_; }
 
-     }
 
-     /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>
 
-     public const int MapSfixed32Sfixed32FieldNumber = 64;
 
-     private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec
 
-         = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13), pb::FieldCodec.ForSFixed32(21), 514);
 
-     private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<int, int> MapSfixed32Sfixed32 {
 
-       get { return mapSfixed32Sfixed32_; }
 
-     }
 
-     /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>
 
-     public const int MapSfixed64Sfixed64FieldNumber = 65;
 
-     private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec
 
-         = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9), pb::FieldCodec.ForSFixed64(17), 522);
 
-     private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<long, long> MapSfixed64Sfixed64 {
 
-       get { return mapSfixed64Sfixed64_; }
 
-     }
 
-     /// <summary>Field number for the "map_int32_float" field.</summary>
 
-     public const int MapInt32FloatFieldNumber = 66;
 
-     private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec
 
-         = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForFloat(21), 530);
 
-     private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<int, float> MapInt32Float {
 
-       get { return mapInt32Float_; }
 
-     }
 
-     /// <summary>Field number for the "map_int32_double" field.</summary>
 
-     public const int MapInt32DoubleFieldNumber = 67;
 
-     private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec
 
-         = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForDouble(17), 538);
 
-     private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<int, double> MapInt32Double {
 
-       get { return mapInt32Double_; }
 
-     }
 
-     /// <summary>Field number for the "map_bool_bool" field.</summary>
 
-     public const int MapBoolBoolFieldNumber = 68;
 
-     private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec
 
-         = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8), pb::FieldCodec.ForBool(16), 546);
 
-     private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<bool, bool> MapBoolBool {
 
-       get { return mapBoolBool_; }
 
-     }
 
-     /// <summary>Field number for the "map_string_string" field.</summary>
 
-     public const int MapStringStringFieldNumber = 69;
 
-     private static readonly pbc::MapField<string, string>.Codec _map_mapStringString_codec
 
-         = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 554);
 
-     private readonly pbc::MapField<string, string> mapStringString_ = new pbc::MapField<string, string>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<string, string> MapStringString {
 
-       get { return mapStringString_; }
 
-     }
 
-     /// <summary>Field number for the "map_string_bytes" field.</summary>
 
-     public const int MapStringBytesFieldNumber = 70;
 
-     private static readonly pbc::MapField<string, pb::ByteString>.Codec _map_mapStringBytes_codec
 
-         = new pbc::MapField<string, pb::ByteString>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBytes(18), 562);
 
-     private readonly pbc::MapField<string, pb::ByteString> mapStringBytes_ = new pbc::MapField<string, pb::ByteString>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<string, pb::ByteString> MapStringBytes {
 
-       get { return mapStringBytes_; }
 
-     }
 
-     /// <summary>Field number for the "map_string_nested_message" field.</summary>
 
-     public const int MapStringNestedMessageFieldNumber = 71;
 
-     private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>.Codec _map_mapStringNestedMessage_codec
 
-         = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage.Parser), 570);
 
-     private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> mapStringNestedMessage_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> MapStringNestedMessage {
 
-       get { return mapStringNestedMessage_; }
 
-     }
 
-     /// <summary>Field number for the "map_string_foreign_message" field.</summary>
 
-     public const int MapStringForeignMessageFieldNumber = 72;
 
-     private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage>.Codec _map_mapStringForeignMessage_codec
 
-         = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ProtobufTestMessages.Proto3.ForeignMessage.Parser), 578);
 
-     private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage> mapStringForeignMessage_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage> MapStringForeignMessage {
 
-       get { return mapStringForeignMessage_; }
 
-     }
 
-     /// <summary>Field number for the "map_string_nested_enum" field.</summary>
 
-     public const int MapStringNestedEnumFieldNumber = 73;
 
-     private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>.Codec _map_mapStringNestedEnum_codec
 
-         = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) x), 586);
 
-     private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> mapStringNestedEnum_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> MapStringNestedEnum {
 
-       get { return mapStringNestedEnum_; }
 
-     }
 
-     /// <summary>Field number for the "map_string_foreign_enum" field.</summary>
 
-     public const int MapStringForeignEnumFieldNumber = 74;
 
-     private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum>.Codec _map_mapStringForeignEnum_codec
 
-         = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::ProtobufTestMessages.Proto3.ForeignEnum) x), 594);
 
-     private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum> mapStringForeignEnum_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum> MapStringForeignEnum {
 
-       get { return mapStringForeignEnum_; }
 
-     }
 
-     /// <summary>Field number for the "oneof_uint32" field.</summary>
 
-     public const int OneofUint32FieldNumber = 111;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public uint OneofUint32 {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint32 ? (uint) oneofField_ : 0; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofUint32;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_nested_message" field.</summary>
 
-     public const int OneofNestedMessageFieldNumber = 112;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage OneofNestedMessage {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage ? (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage) oneofField_ : null; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = value == null ? OneofFieldOneofCase.None : OneofFieldOneofCase.OneofNestedMessage;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_string" field.</summary>
 
-     public const int OneofStringFieldNumber = 113;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public string OneofString {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofString ? (string) oneofField_ : ""; }
 
-       set {
 
-         oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofString;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_bytes" field.</summary>
 
-     public const int OneofBytesFieldNumber = 114;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pb::ByteString OneofBytes {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBytes ? (pb::ByteString) oneofField_ : pb::ByteString.Empty; }
 
-       set {
 
-         oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofBytes;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_bool" field.</summary>
 
-     public const int OneofBoolFieldNumber = 115;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public bool OneofBool {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBool ? (bool) oneofField_ : false; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofBool;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_uint64" field.</summary>
 
-     public const int OneofUint64FieldNumber = 116;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ulong OneofUint64 {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint64 ? (ulong) oneofField_ : 0UL; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofUint64;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_float" field.</summary>
 
-     public const int OneofFloatFieldNumber = 117;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public float OneofFloat {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofFloat ? (float) oneofField_ : 0F; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofFloat;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_double" field.</summary>
 
-     public const int OneofDoubleFieldNumber = 118;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public double OneofDouble {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofDouble ? (double) oneofField_ : 0D; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofDouble;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "oneof_enum" field.</summary>
 
-     public const int OneofEnumFieldNumber = 119;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum OneofEnum {
 
-       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofEnum ? (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) oneofField_ : 0; }
 
-       set {
 
-         oneofField_ = value;
 
-         oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_bool_wrapper" field.</summary>
 
-     public const int OptionalBoolWrapperFieldNumber = 201;
 
-     private static readonly pb::FieldCodec<bool?> _single_optionalBoolWrapper_codec = pb::FieldCodec.ForStructWrapper<bool>(1610);
 
-     private bool? optionalBoolWrapper_;
 
-     /// <summary>
 
-     /// Well-known types
 
-     /// </summary>
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public bool? OptionalBoolWrapper {
 
-       get { return optionalBoolWrapper_; }
 
-       set {
 
-         optionalBoolWrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_int32_wrapper" field.</summary>
 
-     public const int OptionalInt32WrapperFieldNumber = 202;
 
-     private static readonly pb::FieldCodec<int?> _single_optionalInt32Wrapper_codec = pb::FieldCodec.ForStructWrapper<int>(1618);
 
-     private int? optionalInt32Wrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int? OptionalInt32Wrapper {
 
-       get { return optionalInt32Wrapper_; }
 
-       set {
 
-         optionalInt32Wrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_int64_wrapper" field.</summary>
 
-     public const int OptionalInt64WrapperFieldNumber = 203;
 
-     private static readonly pb::FieldCodec<long?> _single_optionalInt64Wrapper_codec = pb::FieldCodec.ForStructWrapper<long>(1626);
 
-     private long? optionalInt64Wrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public long? OptionalInt64Wrapper {
 
-       get { return optionalInt64Wrapper_; }
 
-       set {
 
-         optionalInt64Wrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_uint32_wrapper" field.</summary>
 
-     public const int OptionalUint32WrapperFieldNumber = 204;
 
-     private static readonly pb::FieldCodec<uint?> _single_optionalUint32Wrapper_codec = pb::FieldCodec.ForStructWrapper<uint>(1634);
 
-     private uint? optionalUint32Wrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public uint? OptionalUint32Wrapper {
 
-       get { return optionalUint32Wrapper_; }
 
-       set {
 
-         optionalUint32Wrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_uint64_wrapper" field.</summary>
 
-     public const int OptionalUint64WrapperFieldNumber = 205;
 
-     private static readonly pb::FieldCodec<ulong?> _single_optionalUint64Wrapper_codec = pb::FieldCodec.ForStructWrapper<ulong>(1642);
 
-     private ulong? optionalUint64Wrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ulong? OptionalUint64Wrapper {
 
-       get { return optionalUint64Wrapper_; }
 
-       set {
 
-         optionalUint64Wrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_float_wrapper" field.</summary>
 
-     public const int OptionalFloatWrapperFieldNumber = 206;
 
-     private static readonly pb::FieldCodec<float?> _single_optionalFloatWrapper_codec = pb::FieldCodec.ForStructWrapper<float>(1650);
 
-     private float? optionalFloatWrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public float? OptionalFloatWrapper {
 
-       get { return optionalFloatWrapper_; }
 
-       set {
 
-         optionalFloatWrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_double_wrapper" field.</summary>
 
-     public const int OptionalDoubleWrapperFieldNumber = 207;
 
-     private static readonly pb::FieldCodec<double?> _single_optionalDoubleWrapper_codec = pb::FieldCodec.ForStructWrapper<double>(1658);
 
-     private double? optionalDoubleWrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public double? OptionalDoubleWrapper {
 
-       get { return optionalDoubleWrapper_; }
 
-       set {
 
-         optionalDoubleWrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_string_wrapper" field.</summary>
 
-     public const int OptionalStringWrapperFieldNumber = 208;
 
-     private static readonly pb::FieldCodec<string> _single_optionalStringWrapper_codec = pb::FieldCodec.ForClassWrapper<string>(1666);
 
-     private string optionalStringWrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public string OptionalStringWrapper {
 
-       get { return optionalStringWrapper_; }
 
-       set {
 
-         optionalStringWrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_bytes_wrapper" field.</summary>
 
-     public const int OptionalBytesWrapperFieldNumber = 209;
 
-     private static readonly pb::FieldCodec<pb::ByteString> _single_optionalBytesWrapper_codec = pb::FieldCodec.ForClassWrapper<pb::ByteString>(1674);
 
-     private pb::ByteString optionalBytesWrapper_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pb::ByteString OptionalBytesWrapper {
 
-       get { return optionalBytesWrapper_; }
 
-       set {
 
-         optionalBytesWrapper_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "repeated_bool_wrapper" field.</summary>
 
-     public const int RepeatedBoolWrapperFieldNumber = 211;
 
-     private static readonly pb::FieldCodec<bool?> _repeated_repeatedBoolWrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<bool>(1690);
 
-     private readonly pbc::RepeatedField<bool?> repeatedBoolWrapper_ = new pbc::RepeatedField<bool?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<bool?> RepeatedBoolWrapper {
 
-       get { return repeatedBoolWrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_int32_wrapper" field.</summary>
 
-     public const int RepeatedInt32WrapperFieldNumber = 212;
 
-     private static readonly pb::FieldCodec<int?> _repeated_repeatedInt32Wrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<int>(1698);
 
-     private readonly pbc::RepeatedField<int?> repeatedInt32Wrapper_ = new pbc::RepeatedField<int?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<int?> RepeatedInt32Wrapper {
 
-       get { return repeatedInt32Wrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_int64_wrapper" field.</summary>
 
-     public const int RepeatedInt64WrapperFieldNumber = 213;
 
-     private static readonly pb::FieldCodec<long?> _repeated_repeatedInt64Wrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<long>(1706);
 
-     private readonly pbc::RepeatedField<long?> repeatedInt64Wrapper_ = new pbc::RepeatedField<long?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<long?> RepeatedInt64Wrapper {
 
-       get { return repeatedInt64Wrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_uint32_wrapper" field.</summary>
 
-     public const int RepeatedUint32WrapperFieldNumber = 214;
 
-     private static readonly pb::FieldCodec<uint?> _repeated_repeatedUint32Wrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<uint>(1714);
 
-     private readonly pbc::RepeatedField<uint?> repeatedUint32Wrapper_ = new pbc::RepeatedField<uint?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<uint?> RepeatedUint32Wrapper {
 
-       get { return repeatedUint32Wrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_uint64_wrapper" field.</summary>
 
-     public const int RepeatedUint64WrapperFieldNumber = 215;
 
-     private static readonly pb::FieldCodec<ulong?> _repeated_repeatedUint64Wrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<ulong>(1722);
 
-     private readonly pbc::RepeatedField<ulong?> repeatedUint64Wrapper_ = new pbc::RepeatedField<ulong?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<ulong?> RepeatedUint64Wrapper {
 
-       get { return repeatedUint64Wrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_float_wrapper" field.</summary>
 
-     public const int RepeatedFloatWrapperFieldNumber = 216;
 
-     private static readonly pb::FieldCodec<float?> _repeated_repeatedFloatWrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<float>(1730);
 
-     private readonly pbc::RepeatedField<float?> repeatedFloatWrapper_ = new pbc::RepeatedField<float?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<float?> RepeatedFloatWrapper {
 
-       get { return repeatedFloatWrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_double_wrapper" field.</summary>
 
-     public const int RepeatedDoubleWrapperFieldNumber = 217;
 
-     private static readonly pb::FieldCodec<double?> _repeated_repeatedDoubleWrapper_codec
 
-         = pb::FieldCodec.ForStructWrapper<double>(1738);
 
-     private readonly pbc::RepeatedField<double?> repeatedDoubleWrapper_ = new pbc::RepeatedField<double?>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<double?> RepeatedDoubleWrapper {
 
-       get { return repeatedDoubleWrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_string_wrapper" field.</summary>
 
-     public const int RepeatedStringWrapperFieldNumber = 218;
 
-     private static readonly pb::FieldCodec<string> _repeated_repeatedStringWrapper_codec
 
-         = pb::FieldCodec.ForClassWrapper<string>(1746);
 
-     private readonly pbc::RepeatedField<string> repeatedStringWrapper_ = new pbc::RepeatedField<string>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<string> RepeatedStringWrapper {
 
-       get { return repeatedStringWrapper_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_bytes_wrapper" field.</summary>
 
-     public const int RepeatedBytesWrapperFieldNumber = 219;
 
-     private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytesWrapper_codec
 
-         = pb::FieldCodec.ForClassWrapper<pb::ByteString>(1754);
 
-     private readonly pbc::RepeatedField<pb::ByteString> repeatedBytesWrapper_ = new pbc::RepeatedField<pb::ByteString>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<pb::ByteString> RepeatedBytesWrapper {
 
-       get { return repeatedBytesWrapper_; }
 
-     }
 
-     /// <summary>Field number for the "optional_duration" field.</summary>
 
-     public const int OptionalDurationFieldNumber = 301;
 
-     private global::Google.Protobuf.WellKnownTypes.Duration optionalDuration_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::Google.Protobuf.WellKnownTypes.Duration OptionalDuration {
 
-       get { return optionalDuration_; }
 
-       set {
 
-         optionalDuration_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_timestamp" field.</summary>
 
-     public const int OptionalTimestampFieldNumber = 302;
 
-     private global::Google.Protobuf.WellKnownTypes.Timestamp optionalTimestamp_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::Google.Protobuf.WellKnownTypes.Timestamp OptionalTimestamp {
 
-       get { return optionalTimestamp_; }
 
-       set {
 
-         optionalTimestamp_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_field_mask" field.</summary>
 
-     public const int OptionalFieldMaskFieldNumber = 303;
 
-     private global::Google.Protobuf.WellKnownTypes.FieldMask optionalFieldMask_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::Google.Protobuf.WellKnownTypes.FieldMask OptionalFieldMask {
 
-       get { return optionalFieldMask_; }
 
-       set {
 
-         optionalFieldMask_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_struct" field.</summary>
 
-     public const int OptionalStructFieldNumber = 304;
 
-     private global::Google.Protobuf.WellKnownTypes.Struct optionalStruct_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::Google.Protobuf.WellKnownTypes.Struct OptionalStruct {
 
-       get { return optionalStruct_; }
 
-       set {
 
-         optionalStruct_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_any" field.</summary>
 
-     public const int OptionalAnyFieldNumber = 305;
 
-     private global::Google.Protobuf.WellKnownTypes.Any optionalAny_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::Google.Protobuf.WellKnownTypes.Any OptionalAny {
 
-       get { return optionalAny_; }
 
-       set {
 
-         optionalAny_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "optional_value" field.</summary>
 
-     public const int OptionalValueFieldNumber = 306;
 
-     private global::Google.Protobuf.WellKnownTypes.Value optionalValue_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public global::Google.Protobuf.WellKnownTypes.Value OptionalValue {
 
-       get { return optionalValue_; }
 
-       set {
 
-         optionalValue_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "repeated_duration" field.</summary>
 
-     public const int RepeatedDurationFieldNumber = 311;
 
-     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Duration> _repeated_repeatedDuration_codec
 
-         = pb::FieldCodec.ForMessage(2490, global::Google.Protobuf.WellKnownTypes.Duration.Parser);
 
-     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration> repeatedDuration_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration> RepeatedDuration {
 
-       get { return repeatedDuration_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_timestamp" field.</summary>
 
-     public const int RepeatedTimestampFieldNumber = 312;
 
-     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Timestamp> _repeated_repeatedTimestamp_codec
 
-         = pb::FieldCodec.ForMessage(2498, global::Google.Protobuf.WellKnownTypes.Timestamp.Parser);
 
-     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp> repeatedTimestamp_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp> RepeatedTimestamp {
 
-       get { return repeatedTimestamp_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_fieldmask" field.</summary>
 
-     public const int RepeatedFieldmaskFieldNumber = 313;
 
-     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.FieldMask> _repeated_repeatedFieldmask_codec
 
-         = pb::FieldCodec.ForMessage(2506, global::Google.Protobuf.WellKnownTypes.FieldMask.Parser);
 
-     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask> repeatedFieldmask_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask> RepeatedFieldmask {
 
-       get { return repeatedFieldmask_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_struct" field.</summary>
 
-     public const int RepeatedStructFieldNumber = 324;
 
-     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Struct> _repeated_repeatedStruct_codec
 
-         = pb::FieldCodec.ForMessage(2594, global::Google.Protobuf.WellKnownTypes.Struct.Parser);
 
-     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct> repeatedStruct_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct> RepeatedStruct {
 
-       get { return repeatedStruct_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_any" field.</summary>
 
-     public const int RepeatedAnyFieldNumber = 315;
 
-     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Any> _repeated_repeatedAny_codec
 
-         = pb::FieldCodec.ForMessage(2522, global::Google.Protobuf.WellKnownTypes.Any.Parser);
 
-     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any> repeatedAny_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any> RepeatedAny {
 
-       get { return repeatedAny_; }
 
-     }
 
-     /// <summary>Field number for the "repeated_value" field.</summary>
 
-     public const int RepeatedValueFieldNumber = 316;
 
-     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Value> _repeated_repeatedValue_codec
 
-         = pb::FieldCodec.ForMessage(2530, global::Google.Protobuf.WellKnownTypes.Value.Parser);
 
-     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> repeatedValue_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value>();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> RepeatedValue {
 
-       get { return repeatedValue_; }
 
-     }
 
-     /// <summary>Field number for the "fieldname1" field.</summary>
 
-     public const int Fieldname1FieldNumber = 401;
 
-     private int fieldname1_;
 
-     /// <summary>
 
-     /// Test field-name-to-JSON-name convention.
 
-     /// (protobuf says names can be any valid C/C++ identifier.)
 
-     /// </summary>
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int Fieldname1 {
 
-       get { return fieldname1_; }
 
-       set {
 
-         fieldname1_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field_name2" field.</summary>
 
-     public const int FieldName2FieldNumber = 402;
 
-     private int fieldName2_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName2 {
 
-       get { return fieldName2_; }
 
-       set {
 
-         fieldName2_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "_field_name3" field.</summary>
 
-     public const int FieldName3FieldNumber = 403;
 
-     private int FieldName3_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName3 {
 
-       get { return FieldName3_; }
 
-       set {
 
-         FieldName3_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field__name4_" field.</summary>
 
-     public const int FieldName4FieldNumber = 404;
 
-     private int fieldName4_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName4 {
 
-       get { return fieldName4_; }
 
-       set {
 
-         fieldName4_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field0name5" field.</summary>
 
-     public const int Field0Name5FieldNumber = 405;
 
-     private int field0Name5_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int Field0Name5 {
 
-       get { return field0Name5_; }
 
-       set {
 
-         field0Name5_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field_0_name6" field.</summary>
 
-     public const int Field0Name6FieldNumber = 406;
 
-     private int field0Name6_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int Field0Name6 {
 
-       get { return field0Name6_; }
 
-       set {
 
-         field0Name6_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "fieldName7" field.</summary>
 
-     public const int FieldName7FieldNumber = 407;
 
-     private int fieldName7_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName7 {
 
-       get { return fieldName7_; }
 
-       set {
 
-         fieldName7_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "FieldName8" field.</summary>
 
-     public const int FieldName8FieldNumber = 408;
 
-     private int fieldName8_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName8 {
 
-       get { return fieldName8_; }
 
-       set {
 
-         fieldName8_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field_Name9" field.</summary>
 
-     public const int FieldName9FieldNumber = 409;
 
-     private int fieldName9_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName9 {
 
-       get { return fieldName9_; }
 
-       set {
 
-         fieldName9_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "Field_Name10" field.</summary>
 
-     public const int FieldName10FieldNumber = 410;
 
-     private int fieldName10_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName10 {
 
-       get { return fieldName10_; }
 
-       set {
 
-         fieldName10_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "FIELD_NAME11" field.</summary>
 
-     public const int FIELDNAME11FieldNumber = 411;
 
-     private int fIELDNAME11_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FIELDNAME11 {
 
-       get { return fIELDNAME11_; }
 
-       set {
 
-         fIELDNAME11_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "FIELD_name12" field.</summary>
 
-     public const int FIELDName12FieldNumber = 412;
 
-     private int fIELDName12_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FIELDName12 {
 
-       get { return fIELDName12_; }
 
-       set {
 
-         fIELDName12_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "__field_name13" field.</summary>
 
-     public const int FieldName13FieldNumber = 413;
 
-     private int FieldName13_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName13 {
 
-       get { return FieldName13_; }
 
-       set {
 
-         FieldName13_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "__Field_name14" field.</summary>
 
-     public const int FieldName14FieldNumber = 414;
 
-     private int FieldName14_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName14 {
 
-       get { return FieldName14_; }
 
-       set {
 
-         FieldName14_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field__name15" field.</summary>
 
-     public const int FieldName15FieldNumber = 415;
 
-     private int fieldName15_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName15 {
 
-       get { return fieldName15_; }
 
-       set {
 
-         fieldName15_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field__Name16" field.</summary>
 
-     public const int FieldName16FieldNumber = 416;
 
-     private int fieldName16_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName16 {
 
-       get { return fieldName16_; }
 
-       set {
 
-         fieldName16_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "field_name17__" field.</summary>
 
-     public const int FieldName17FieldNumber = 417;
 
-     private int fieldName17_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName17 {
 
-       get { return fieldName17_; }
 
-       set {
 
-         fieldName17_ = value;
 
-       }
 
-     }
 
-     /// <summary>Field number for the "Field_name18__" field.</summary>
 
-     public const int FieldName18FieldNumber = 418;
 
-     private int fieldName18_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int FieldName18 {
 
-       get { return fieldName18_; }
 
-       set {
 
-         fieldName18_ = value;
 
-       }
 
-     }
 
-     private object oneofField_;
 
-     /// <summary>Enum of possible cases for the "oneof_field" oneof.</summary>
 
-     public enum OneofFieldOneofCase {
 
-       None = 0,
 
-       OneofUint32 = 111,
 
-       OneofNestedMessage = 112,
 
-       OneofString = 113,
 
-       OneofBytes = 114,
 
-       OneofBool = 115,
 
-       OneofUint64 = 116,
 
-       OneofFloat = 117,
 
-       OneofDouble = 118,
 
-       OneofEnum = 119,
 
-     }
 
-     private OneofFieldOneofCase oneofFieldCase_ = OneofFieldOneofCase.None;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public OneofFieldOneofCase OneofFieldCase {
 
-       get { return oneofFieldCase_; }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void ClearOneofField() {
 
-       oneofFieldCase_ = OneofFieldOneofCase.None;
 
-       oneofField_ = null;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public override bool Equals(object other) {
 
-       return Equals(other as TestAllTypesProto3);
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public bool Equals(TestAllTypesProto3 other) {
 
-       if (ReferenceEquals(other, null)) {
 
-         return false;
 
-       }
 
-       if (ReferenceEquals(other, this)) {
 
-         return true;
 
-       }
 
-       if (OptionalInt32 != other.OptionalInt32) return false;
 
-       if (OptionalInt64 != other.OptionalInt64) return false;
 
-       if (OptionalUint32 != other.OptionalUint32) return false;
 
-       if (OptionalUint64 != other.OptionalUint64) return false;
 
-       if (OptionalSint32 != other.OptionalSint32) return false;
 
-       if (OptionalSint64 != other.OptionalSint64) return false;
 
-       if (OptionalFixed32 != other.OptionalFixed32) return false;
 
-       if (OptionalFixed64 != other.OptionalFixed64) return false;
 
-       if (OptionalSfixed32 != other.OptionalSfixed32) return false;
 
-       if (OptionalSfixed64 != other.OptionalSfixed64) return false;
 
-       if (OptionalFloat != other.OptionalFloat) return false;
 
-       if (OptionalDouble != other.OptionalDouble) return false;
 
-       if (OptionalBool != other.OptionalBool) return false;
 
-       if (OptionalString != other.OptionalString) return false;
 
-       if (OptionalBytes != other.OptionalBytes) return false;
 
-       if (!object.Equals(OptionalNestedMessage, other.OptionalNestedMessage)) return false;
 
-       if (!object.Equals(OptionalForeignMessage, other.OptionalForeignMessage)) return false;
 
-       if (OptionalNestedEnum != other.OptionalNestedEnum) return false;
 
-       if (OptionalForeignEnum != other.OptionalForeignEnum) return false;
 
-       if (OptionalStringPiece != other.OptionalStringPiece) return false;
 
-       if (OptionalCord != other.OptionalCord) return false;
 
-       if (!object.Equals(RecursiveMessage, other.RecursiveMessage)) return false;
 
-       if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
 
-       if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false;
 
-       if(!repeatedUint32_.Equals(other.repeatedUint32_)) return false;
 
-       if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false;
 
-       if(!repeatedSint32_.Equals(other.repeatedSint32_)) return false;
 
-       if(!repeatedSint64_.Equals(other.repeatedSint64_)) return false;
 
-       if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false;
 
-       if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false;
 
-       if(!repeatedSfixed32_.Equals(other.repeatedSfixed32_)) return false;
 
-       if(!repeatedSfixed64_.Equals(other.repeatedSfixed64_)) return false;
 
-       if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false;
 
-       if(!repeatedDouble_.Equals(other.repeatedDouble_)) return false;
 
-       if(!repeatedBool_.Equals(other.repeatedBool_)) return false;
 
-       if(!repeatedString_.Equals(other.repeatedString_)) return false;
 
-       if(!repeatedBytes_.Equals(other.repeatedBytes_)) return false;
 
-       if(!repeatedNestedMessage_.Equals(other.repeatedNestedMessage_)) return false;
 
-       if(!repeatedForeignMessage_.Equals(other.repeatedForeignMessage_)) return false;
 
-       if(!repeatedNestedEnum_.Equals(other.repeatedNestedEnum_)) return false;
 
-       if(!repeatedForeignEnum_.Equals(other.repeatedForeignEnum_)) return false;
 
-       if(!repeatedStringPiece_.Equals(other.repeatedStringPiece_)) return false;
 
-       if(!repeatedCord_.Equals(other.repeatedCord_)) return false;
 
-       if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;
 
-       if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;
 
-       if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;
 
-       if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;
 
-       if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;
 
-       if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;
 
-       if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;
 
-       if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;
 
-       if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;
 
-       if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;
 
-       if (!MapInt32Float.Equals(other.MapInt32Float)) return false;
 
-       if (!MapInt32Double.Equals(other.MapInt32Double)) return false;
 
-       if (!MapBoolBool.Equals(other.MapBoolBool)) return false;
 
-       if (!MapStringString.Equals(other.MapStringString)) return false;
 
-       if (!MapStringBytes.Equals(other.MapStringBytes)) return false;
 
-       if (!MapStringNestedMessage.Equals(other.MapStringNestedMessage)) return false;
 
-       if (!MapStringForeignMessage.Equals(other.MapStringForeignMessage)) return false;
 
-       if (!MapStringNestedEnum.Equals(other.MapStringNestedEnum)) return false;
 
-       if (!MapStringForeignEnum.Equals(other.MapStringForeignEnum)) return false;
 
-       if (OneofUint32 != other.OneofUint32) return false;
 
-       if (!object.Equals(OneofNestedMessage, other.OneofNestedMessage)) return false;
 
-       if (OneofString != other.OneofString) return false;
 
-       if (OneofBytes != other.OneofBytes) return false;
 
-       if (OneofBool != other.OneofBool) return false;
 
-       if (OneofUint64 != other.OneofUint64) return false;
 
-       if (OneofFloat != other.OneofFloat) return false;
 
-       if (OneofDouble != other.OneofDouble) return false;
 
-       if (OneofEnum != other.OneofEnum) return false;
 
-       if (OptionalBoolWrapper != other.OptionalBoolWrapper) return false;
 
-       if (OptionalInt32Wrapper != other.OptionalInt32Wrapper) return false;
 
-       if (OptionalInt64Wrapper != other.OptionalInt64Wrapper) return false;
 
-       if (OptionalUint32Wrapper != other.OptionalUint32Wrapper) return false;
 
-       if (OptionalUint64Wrapper != other.OptionalUint64Wrapper) return false;
 
-       if (OptionalFloatWrapper != other.OptionalFloatWrapper) return false;
 
-       if (OptionalDoubleWrapper != other.OptionalDoubleWrapper) return false;
 
-       if (OptionalStringWrapper != other.OptionalStringWrapper) return false;
 
-       if (OptionalBytesWrapper != other.OptionalBytesWrapper) return false;
 
-       if(!repeatedBoolWrapper_.Equals(other.repeatedBoolWrapper_)) return false;
 
-       if(!repeatedInt32Wrapper_.Equals(other.repeatedInt32Wrapper_)) return false;
 
-       if(!repeatedInt64Wrapper_.Equals(other.repeatedInt64Wrapper_)) return false;
 
-       if(!repeatedUint32Wrapper_.Equals(other.repeatedUint32Wrapper_)) return false;
 
-       if(!repeatedUint64Wrapper_.Equals(other.repeatedUint64Wrapper_)) return false;
 
-       if(!repeatedFloatWrapper_.Equals(other.repeatedFloatWrapper_)) return false;
 
-       if(!repeatedDoubleWrapper_.Equals(other.repeatedDoubleWrapper_)) return false;
 
-       if(!repeatedStringWrapper_.Equals(other.repeatedStringWrapper_)) return false;
 
-       if(!repeatedBytesWrapper_.Equals(other.repeatedBytesWrapper_)) return false;
 
-       if (!object.Equals(OptionalDuration, other.OptionalDuration)) return false;
 
-       if (!object.Equals(OptionalTimestamp, other.OptionalTimestamp)) return false;
 
-       if (!object.Equals(OptionalFieldMask, other.OptionalFieldMask)) return false;
 
-       if (!object.Equals(OptionalStruct, other.OptionalStruct)) return false;
 
-       if (!object.Equals(OptionalAny, other.OptionalAny)) return false;
 
-       if (!object.Equals(OptionalValue, other.OptionalValue)) return false;
 
-       if(!repeatedDuration_.Equals(other.repeatedDuration_)) return false;
 
-       if(!repeatedTimestamp_.Equals(other.repeatedTimestamp_)) return false;
 
-       if(!repeatedFieldmask_.Equals(other.repeatedFieldmask_)) return false;
 
-       if(!repeatedStruct_.Equals(other.repeatedStruct_)) return false;
 
-       if(!repeatedAny_.Equals(other.repeatedAny_)) return false;
 
-       if(!repeatedValue_.Equals(other.repeatedValue_)) return false;
 
-       if (Fieldname1 != other.Fieldname1) return false;
 
-       if (FieldName2 != other.FieldName2) return false;
 
-       if (FieldName3 != other.FieldName3) return false;
 
-       if (FieldName4 != other.FieldName4) return false;
 
-       if (Field0Name5 != other.Field0Name5) return false;
 
-       if (Field0Name6 != other.Field0Name6) return false;
 
-       if (FieldName7 != other.FieldName7) return false;
 
-       if (FieldName8 != other.FieldName8) return false;
 
-       if (FieldName9 != other.FieldName9) return false;
 
-       if (FieldName10 != other.FieldName10) return false;
 
-       if (FIELDNAME11 != other.FIELDNAME11) return false;
 
-       if (FIELDName12 != other.FIELDName12) return false;
 
-       if (FieldName13 != other.FieldName13) return false;
 
-       if (FieldName14 != other.FieldName14) return false;
 
-       if (FieldName15 != other.FieldName15) return false;
 
-       if (FieldName16 != other.FieldName16) return false;
 
-       if (FieldName17 != other.FieldName17) return false;
 
-       if (FieldName18 != other.FieldName18) return false;
 
-       if (OneofFieldCase != other.OneofFieldCase) return false;
 
-       return true;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public override int GetHashCode() {
 
-       int hash = 1;
 
-       if (OptionalInt32 != 0) hash ^= OptionalInt32.GetHashCode();
 
-       if (OptionalInt64 != 0L) hash ^= OptionalInt64.GetHashCode();
 
-       if (OptionalUint32 != 0) hash ^= OptionalUint32.GetHashCode();
 
-       if (OptionalUint64 != 0UL) hash ^= OptionalUint64.GetHashCode();
 
-       if (OptionalSint32 != 0) hash ^= OptionalSint32.GetHashCode();
 
-       if (OptionalSint64 != 0L) hash ^= OptionalSint64.GetHashCode();
 
-       if (OptionalFixed32 != 0) hash ^= OptionalFixed32.GetHashCode();
 
-       if (OptionalFixed64 != 0UL) hash ^= OptionalFixed64.GetHashCode();
 
-       if (OptionalSfixed32 != 0) hash ^= OptionalSfixed32.GetHashCode();
 
-       if (OptionalSfixed64 != 0L) hash ^= OptionalSfixed64.GetHashCode();
 
-       if (OptionalFloat != 0F) hash ^= OptionalFloat.GetHashCode();
 
-       if (OptionalDouble != 0D) hash ^= OptionalDouble.GetHashCode();
 
-       if (OptionalBool != false) hash ^= OptionalBool.GetHashCode();
 
-       if (OptionalString.Length != 0) hash ^= OptionalString.GetHashCode();
 
-       if (OptionalBytes.Length != 0) hash ^= OptionalBytes.GetHashCode();
 
-       if (optionalNestedMessage_ != null) hash ^= OptionalNestedMessage.GetHashCode();
 
-       if (optionalForeignMessage_ != null) hash ^= OptionalForeignMessage.GetHashCode();
 
-       if (OptionalNestedEnum != 0) hash ^= OptionalNestedEnum.GetHashCode();
 
-       if (OptionalForeignEnum != 0) hash ^= OptionalForeignEnum.GetHashCode();
 
-       if (OptionalStringPiece.Length != 0) hash ^= OptionalStringPiece.GetHashCode();
 
-       if (OptionalCord.Length != 0) hash ^= OptionalCord.GetHashCode();
 
-       if (recursiveMessage_ != null) hash ^= RecursiveMessage.GetHashCode();
 
-       hash ^= repeatedInt32_.GetHashCode();
 
-       hash ^= repeatedInt64_.GetHashCode();
 
-       hash ^= repeatedUint32_.GetHashCode();
 
-       hash ^= repeatedUint64_.GetHashCode();
 
-       hash ^= repeatedSint32_.GetHashCode();
 
-       hash ^= repeatedSint64_.GetHashCode();
 
-       hash ^= repeatedFixed32_.GetHashCode();
 
-       hash ^= repeatedFixed64_.GetHashCode();
 
-       hash ^= repeatedSfixed32_.GetHashCode();
 
-       hash ^= repeatedSfixed64_.GetHashCode();
 
-       hash ^= repeatedFloat_.GetHashCode();
 
-       hash ^= repeatedDouble_.GetHashCode();
 
-       hash ^= repeatedBool_.GetHashCode();
 
-       hash ^= repeatedString_.GetHashCode();
 
-       hash ^= repeatedBytes_.GetHashCode();
 
-       hash ^= repeatedNestedMessage_.GetHashCode();
 
-       hash ^= repeatedForeignMessage_.GetHashCode();
 
-       hash ^= repeatedNestedEnum_.GetHashCode();
 
-       hash ^= repeatedForeignEnum_.GetHashCode();
 
-       hash ^= repeatedStringPiece_.GetHashCode();
 
-       hash ^= repeatedCord_.GetHashCode();
 
-       hash ^= MapInt32Int32.GetHashCode();
 
-       hash ^= MapInt64Int64.GetHashCode();
 
-       hash ^= MapUint32Uint32.GetHashCode();
 
-       hash ^= MapUint64Uint64.GetHashCode();
 
-       hash ^= MapSint32Sint32.GetHashCode();
 
-       hash ^= MapSint64Sint64.GetHashCode();
 
-       hash ^= MapFixed32Fixed32.GetHashCode();
 
-       hash ^= MapFixed64Fixed64.GetHashCode();
 
-       hash ^= MapSfixed32Sfixed32.GetHashCode();
 
-       hash ^= MapSfixed64Sfixed64.GetHashCode();
 
-       hash ^= MapInt32Float.GetHashCode();
 
-       hash ^= MapInt32Double.GetHashCode();
 
-       hash ^= MapBoolBool.GetHashCode();
 
-       hash ^= MapStringString.GetHashCode();
 
-       hash ^= MapStringBytes.GetHashCode();
 
-       hash ^= MapStringNestedMessage.GetHashCode();
 
-       hash ^= MapStringForeignMessage.GetHashCode();
 
-       hash ^= MapStringNestedEnum.GetHashCode();
 
-       hash ^= MapStringForeignEnum.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) hash ^= OneofUint32.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) hash ^= OneofNestedMessage.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) hash ^= OneofString.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) hash ^= OneofBytes.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) hash ^= OneofBool.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) hash ^= OneofUint64.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) hash ^= OneofFloat.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) hash ^= OneofDouble.GetHashCode();
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) hash ^= OneofEnum.GetHashCode();
 
-       if (optionalBoolWrapper_ != null) hash ^= OptionalBoolWrapper.GetHashCode();
 
-       if (optionalInt32Wrapper_ != null) hash ^= OptionalInt32Wrapper.GetHashCode();
 
-       if (optionalInt64Wrapper_ != null) hash ^= OptionalInt64Wrapper.GetHashCode();
 
-       if (optionalUint32Wrapper_ != null) hash ^= OptionalUint32Wrapper.GetHashCode();
 
-       if (optionalUint64Wrapper_ != null) hash ^= OptionalUint64Wrapper.GetHashCode();
 
-       if (optionalFloatWrapper_ != null) hash ^= OptionalFloatWrapper.GetHashCode();
 
-       if (optionalDoubleWrapper_ != null) hash ^= OptionalDoubleWrapper.GetHashCode();
 
-       if (optionalStringWrapper_ != null) hash ^= OptionalStringWrapper.GetHashCode();
 
-       if (optionalBytesWrapper_ != null) hash ^= OptionalBytesWrapper.GetHashCode();
 
-       hash ^= repeatedBoolWrapper_.GetHashCode();
 
-       hash ^= repeatedInt32Wrapper_.GetHashCode();
 
-       hash ^= repeatedInt64Wrapper_.GetHashCode();
 
-       hash ^= repeatedUint32Wrapper_.GetHashCode();
 
-       hash ^= repeatedUint64Wrapper_.GetHashCode();
 
-       hash ^= repeatedFloatWrapper_.GetHashCode();
 
-       hash ^= repeatedDoubleWrapper_.GetHashCode();
 
-       hash ^= repeatedStringWrapper_.GetHashCode();
 
-       hash ^= repeatedBytesWrapper_.GetHashCode();
 
-       if (optionalDuration_ != null) hash ^= OptionalDuration.GetHashCode();
 
-       if (optionalTimestamp_ != null) hash ^= OptionalTimestamp.GetHashCode();
 
-       if (optionalFieldMask_ != null) hash ^= OptionalFieldMask.GetHashCode();
 
-       if (optionalStruct_ != null) hash ^= OptionalStruct.GetHashCode();
 
-       if (optionalAny_ != null) hash ^= OptionalAny.GetHashCode();
 
-       if (optionalValue_ != null) hash ^= OptionalValue.GetHashCode();
 
-       hash ^= repeatedDuration_.GetHashCode();
 
-       hash ^= repeatedTimestamp_.GetHashCode();
 
-       hash ^= repeatedFieldmask_.GetHashCode();
 
-       hash ^= repeatedStruct_.GetHashCode();
 
-       hash ^= repeatedAny_.GetHashCode();
 
-       hash ^= repeatedValue_.GetHashCode();
 
-       if (Fieldname1 != 0) hash ^= Fieldname1.GetHashCode();
 
-       if (FieldName2 != 0) hash ^= FieldName2.GetHashCode();
 
-       if (FieldName3 != 0) hash ^= FieldName3.GetHashCode();
 
-       if (FieldName4 != 0) hash ^= FieldName4.GetHashCode();
 
-       if (Field0Name5 != 0) hash ^= Field0Name5.GetHashCode();
 
-       if (Field0Name6 != 0) hash ^= Field0Name6.GetHashCode();
 
-       if (FieldName7 != 0) hash ^= FieldName7.GetHashCode();
 
-       if (FieldName8 != 0) hash ^= FieldName8.GetHashCode();
 
-       if (FieldName9 != 0) hash ^= FieldName9.GetHashCode();
 
-       if (FieldName10 != 0) hash ^= FieldName10.GetHashCode();
 
-       if (FIELDNAME11 != 0) hash ^= FIELDNAME11.GetHashCode();
 
-       if (FIELDName12 != 0) hash ^= FIELDName12.GetHashCode();
 
-       if (FieldName13 != 0) hash ^= FieldName13.GetHashCode();
 
-       if (FieldName14 != 0) hash ^= FieldName14.GetHashCode();
 
-       if (FieldName15 != 0) hash ^= FieldName15.GetHashCode();
 
-       if (FieldName16 != 0) hash ^= FieldName16.GetHashCode();
 
-       if (FieldName17 != 0) hash ^= FieldName17.GetHashCode();
 
-       if (FieldName18 != 0) hash ^= FieldName18.GetHashCode();
 
-       hash ^= (int) oneofFieldCase_;
 
-       return hash;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public override string ToString() {
 
-       return pb::JsonFormatter.ToDiagnosticString(this);
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void WriteTo(pb::CodedOutputStream output) {
 
-       if (OptionalInt32 != 0) {
 
-         output.WriteRawTag(8);
 
-         output.WriteInt32(OptionalInt32);
 
-       }
 
-       if (OptionalInt64 != 0L) {
 
-         output.WriteRawTag(16);
 
-         output.WriteInt64(OptionalInt64);
 
-       }
 
-       if (OptionalUint32 != 0) {
 
-         output.WriteRawTag(24);
 
-         output.WriteUInt32(OptionalUint32);
 
-       }
 
-       if (OptionalUint64 != 0UL) {
 
-         output.WriteRawTag(32);
 
-         output.WriteUInt64(OptionalUint64);
 
-       }
 
-       if (OptionalSint32 != 0) {
 
-         output.WriteRawTag(40);
 
-         output.WriteSInt32(OptionalSint32);
 
-       }
 
-       if (OptionalSint64 != 0L) {
 
-         output.WriteRawTag(48);
 
-         output.WriteSInt64(OptionalSint64);
 
-       }
 
-       if (OptionalFixed32 != 0) {
 
-         output.WriteRawTag(61);
 
-         output.WriteFixed32(OptionalFixed32);
 
-       }
 
-       if (OptionalFixed64 != 0UL) {
 
-         output.WriteRawTag(65);
 
-         output.WriteFixed64(OptionalFixed64);
 
-       }
 
-       if (OptionalSfixed32 != 0) {
 
-         output.WriteRawTag(77);
 
-         output.WriteSFixed32(OptionalSfixed32);
 
-       }
 
-       if (OptionalSfixed64 != 0L) {
 
-         output.WriteRawTag(81);
 
-         output.WriteSFixed64(OptionalSfixed64);
 
-       }
 
-       if (OptionalFloat != 0F) {
 
-         output.WriteRawTag(93);
 
-         output.WriteFloat(OptionalFloat);
 
-       }
 
-       if (OptionalDouble != 0D) {
 
-         output.WriteRawTag(97);
 
-         output.WriteDouble(OptionalDouble);
 
-       }
 
-       if (OptionalBool != false) {
 
-         output.WriteRawTag(104);
 
-         output.WriteBool(OptionalBool);
 
-       }
 
-       if (OptionalString.Length != 0) {
 
-         output.WriteRawTag(114);
 
-         output.WriteString(OptionalString);
 
-       }
 
-       if (OptionalBytes.Length != 0) {
 
-         output.WriteRawTag(122);
 
-         output.WriteBytes(OptionalBytes);
 
-       }
 
-       if (optionalNestedMessage_ != null) {
 
-         output.WriteRawTag(146, 1);
 
-         output.WriteMessage(OptionalNestedMessage);
 
-       }
 
-       if (optionalForeignMessage_ != null) {
 
-         output.WriteRawTag(154, 1);
 
-         output.WriteMessage(OptionalForeignMessage);
 
-       }
 
-       if (OptionalNestedEnum != 0) {
 
-         output.WriteRawTag(168, 1);
 
-         output.WriteEnum((int) OptionalNestedEnum);
 
-       }
 
-       if (OptionalForeignEnum != 0) {
 
-         output.WriteRawTag(176, 1);
 
-         output.WriteEnum((int) OptionalForeignEnum);
 
-       }
 
-       if (OptionalStringPiece.Length != 0) {
 
-         output.WriteRawTag(194, 1);
 
-         output.WriteString(OptionalStringPiece);
 
-       }
 
-       if (OptionalCord.Length != 0) {
 
-         output.WriteRawTag(202, 1);
 
-         output.WriteString(OptionalCord);
 
-       }
 
-       if (recursiveMessage_ != null) {
 
-         output.WriteRawTag(218, 1);
 
-         output.WriteMessage(RecursiveMessage);
 
-       }
 
-       repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
 
-       repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec);
 
-       repeatedUint32_.WriteTo(output, _repeated_repeatedUint32_codec);
 
-       repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec);
 
-       repeatedSint32_.WriteTo(output, _repeated_repeatedSint32_codec);
 
-       repeatedSint64_.WriteTo(output, _repeated_repeatedSint64_codec);
 
-       repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec);
 
-       repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec);
 
-       repeatedSfixed32_.WriteTo(output, _repeated_repeatedSfixed32_codec);
 
-       repeatedSfixed64_.WriteTo(output, _repeated_repeatedSfixed64_codec);
 
-       repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec);
 
-       repeatedDouble_.WriteTo(output, _repeated_repeatedDouble_codec);
 
-       repeatedBool_.WriteTo(output, _repeated_repeatedBool_codec);
 
-       repeatedString_.WriteTo(output, _repeated_repeatedString_codec);
 
-       repeatedBytes_.WriteTo(output, _repeated_repeatedBytes_codec);
 
-       repeatedNestedMessage_.WriteTo(output, _repeated_repeatedNestedMessage_codec);
 
-       repeatedForeignMessage_.WriteTo(output, _repeated_repeatedForeignMessage_codec);
 
-       repeatedNestedEnum_.WriteTo(output, _repeated_repeatedNestedEnum_codec);
 
-       repeatedForeignEnum_.WriteTo(output, _repeated_repeatedForeignEnum_codec);
 
-       repeatedStringPiece_.WriteTo(output, _repeated_repeatedStringPiece_codec);
 
-       repeatedCord_.WriteTo(output, _repeated_repeatedCord_codec);
 
-       mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);
 
-       mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);
 
-       mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);
 
-       mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);
 
-       mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);
 
-       mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);
 
-       mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);
 
-       mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);
 
-       mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);
 
-       mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);
 
-       mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);
 
-       mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);
 
-       mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);
 
-       mapStringString_.WriteTo(output, _map_mapStringString_codec);
 
-       mapStringBytes_.WriteTo(output, _map_mapStringBytes_codec);
 
-       mapStringNestedMessage_.WriteTo(output, _map_mapStringNestedMessage_codec);
 
-       mapStringForeignMessage_.WriteTo(output, _map_mapStringForeignMessage_codec);
 
-       mapStringNestedEnum_.WriteTo(output, _map_mapStringNestedEnum_codec);
 
-       mapStringForeignEnum_.WriteTo(output, _map_mapStringForeignEnum_codec);
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
 
-         output.WriteRawTag(248, 6);
 
-         output.WriteUInt32(OneofUint32);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
 
-         output.WriteRawTag(130, 7);
 
-         output.WriteMessage(OneofNestedMessage);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
 
-         output.WriteRawTag(138, 7);
 
-         output.WriteString(OneofString);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
 
-         output.WriteRawTag(146, 7);
 
-         output.WriteBytes(OneofBytes);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) {
 
-         output.WriteRawTag(152, 7);
 
-         output.WriteBool(OneofBool);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) {
 
-         output.WriteRawTag(160, 7);
 
-         output.WriteUInt64(OneofUint64);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) {
 
-         output.WriteRawTag(173, 7);
 
-         output.WriteFloat(OneofFloat);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) {
 
-         output.WriteRawTag(177, 7);
 
-         output.WriteDouble(OneofDouble);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) {
 
-         output.WriteRawTag(184, 7);
 
-         output.WriteEnum((int) OneofEnum);
 
-       }
 
-       if (optionalBoolWrapper_ != null) {
 
-         _single_optionalBoolWrapper_codec.WriteTagAndValue(output, OptionalBoolWrapper);
 
-       }
 
-       if (optionalInt32Wrapper_ != null) {
 
-         _single_optionalInt32Wrapper_codec.WriteTagAndValue(output, OptionalInt32Wrapper);
 
-       }
 
-       if (optionalInt64Wrapper_ != null) {
 
-         _single_optionalInt64Wrapper_codec.WriteTagAndValue(output, OptionalInt64Wrapper);
 
-       }
 
-       if (optionalUint32Wrapper_ != null) {
 
-         _single_optionalUint32Wrapper_codec.WriteTagAndValue(output, OptionalUint32Wrapper);
 
-       }
 
-       if (optionalUint64Wrapper_ != null) {
 
-         _single_optionalUint64Wrapper_codec.WriteTagAndValue(output, OptionalUint64Wrapper);
 
-       }
 
-       if (optionalFloatWrapper_ != null) {
 
-         _single_optionalFloatWrapper_codec.WriteTagAndValue(output, OptionalFloatWrapper);
 
-       }
 
-       if (optionalDoubleWrapper_ != null) {
 
-         _single_optionalDoubleWrapper_codec.WriteTagAndValue(output, OptionalDoubleWrapper);
 
-       }
 
-       if (optionalStringWrapper_ != null) {
 
-         _single_optionalStringWrapper_codec.WriteTagAndValue(output, OptionalStringWrapper);
 
-       }
 
-       if (optionalBytesWrapper_ != null) {
 
-         _single_optionalBytesWrapper_codec.WriteTagAndValue(output, OptionalBytesWrapper);
 
-       }
 
-       repeatedBoolWrapper_.WriteTo(output, _repeated_repeatedBoolWrapper_codec);
 
-       repeatedInt32Wrapper_.WriteTo(output, _repeated_repeatedInt32Wrapper_codec);
 
-       repeatedInt64Wrapper_.WriteTo(output, _repeated_repeatedInt64Wrapper_codec);
 
-       repeatedUint32Wrapper_.WriteTo(output, _repeated_repeatedUint32Wrapper_codec);
 
-       repeatedUint64Wrapper_.WriteTo(output, _repeated_repeatedUint64Wrapper_codec);
 
-       repeatedFloatWrapper_.WriteTo(output, _repeated_repeatedFloatWrapper_codec);
 
-       repeatedDoubleWrapper_.WriteTo(output, _repeated_repeatedDoubleWrapper_codec);
 
-       repeatedStringWrapper_.WriteTo(output, _repeated_repeatedStringWrapper_codec);
 
-       repeatedBytesWrapper_.WriteTo(output, _repeated_repeatedBytesWrapper_codec);
 
-       if (optionalDuration_ != null) {
 
-         output.WriteRawTag(234, 18);
 
-         output.WriteMessage(OptionalDuration);
 
-       }
 
-       if (optionalTimestamp_ != null) {
 
-         output.WriteRawTag(242, 18);
 
-         output.WriteMessage(OptionalTimestamp);
 
-       }
 
-       if (optionalFieldMask_ != null) {
 
-         output.WriteRawTag(250, 18);
 
-         output.WriteMessage(OptionalFieldMask);
 
-       }
 
-       if (optionalStruct_ != null) {
 
-         output.WriteRawTag(130, 19);
 
-         output.WriteMessage(OptionalStruct);
 
-       }
 
-       if (optionalAny_ != null) {
 
-         output.WriteRawTag(138, 19);
 
-         output.WriteMessage(OptionalAny);
 
-       }
 
-       if (optionalValue_ != null) {
 
-         output.WriteRawTag(146, 19);
 
-         output.WriteMessage(OptionalValue);
 
-       }
 
-       repeatedDuration_.WriteTo(output, _repeated_repeatedDuration_codec);
 
-       repeatedTimestamp_.WriteTo(output, _repeated_repeatedTimestamp_codec);
 
-       repeatedFieldmask_.WriteTo(output, _repeated_repeatedFieldmask_codec);
 
-       repeatedAny_.WriteTo(output, _repeated_repeatedAny_codec);
 
-       repeatedValue_.WriteTo(output, _repeated_repeatedValue_codec);
 
-       repeatedStruct_.WriteTo(output, _repeated_repeatedStruct_codec);
 
-       if (Fieldname1 != 0) {
 
-         output.WriteRawTag(136, 25);
 
-         output.WriteInt32(Fieldname1);
 
-       }
 
-       if (FieldName2 != 0) {
 
-         output.WriteRawTag(144, 25);
 
-         output.WriteInt32(FieldName2);
 
-       }
 
-       if (FieldName3 != 0) {
 
-         output.WriteRawTag(152, 25);
 
-         output.WriteInt32(FieldName3);
 
-       }
 
-       if (FieldName4 != 0) {
 
-         output.WriteRawTag(160, 25);
 
-         output.WriteInt32(FieldName4);
 
-       }
 
-       if (Field0Name5 != 0) {
 
-         output.WriteRawTag(168, 25);
 
-         output.WriteInt32(Field0Name5);
 
-       }
 
-       if (Field0Name6 != 0) {
 
-         output.WriteRawTag(176, 25);
 
-         output.WriteInt32(Field0Name6);
 
-       }
 
-       if (FieldName7 != 0) {
 
-         output.WriteRawTag(184, 25);
 
-         output.WriteInt32(FieldName7);
 
-       }
 
-       if (FieldName8 != 0) {
 
-         output.WriteRawTag(192, 25);
 
-         output.WriteInt32(FieldName8);
 
-       }
 
-       if (FieldName9 != 0) {
 
-         output.WriteRawTag(200, 25);
 
-         output.WriteInt32(FieldName9);
 
-       }
 
-       if (FieldName10 != 0) {
 
-         output.WriteRawTag(208, 25);
 
-         output.WriteInt32(FieldName10);
 
-       }
 
-       if (FIELDNAME11 != 0) {
 
-         output.WriteRawTag(216, 25);
 
-         output.WriteInt32(FIELDNAME11);
 
-       }
 
-       if (FIELDName12 != 0) {
 
-         output.WriteRawTag(224, 25);
 
-         output.WriteInt32(FIELDName12);
 
-       }
 
-       if (FieldName13 != 0) {
 
-         output.WriteRawTag(232, 25);
 
-         output.WriteInt32(FieldName13);
 
-       }
 
-       if (FieldName14 != 0) {
 
-         output.WriteRawTag(240, 25);
 
-         output.WriteInt32(FieldName14);
 
-       }
 
-       if (FieldName15 != 0) {
 
-         output.WriteRawTag(248, 25);
 
-         output.WriteInt32(FieldName15);
 
-       }
 
-       if (FieldName16 != 0) {
 
-         output.WriteRawTag(128, 26);
 
-         output.WriteInt32(FieldName16);
 
-       }
 
-       if (FieldName17 != 0) {
 
-         output.WriteRawTag(136, 26);
 
-         output.WriteInt32(FieldName17);
 
-       }
 
-       if (FieldName18 != 0) {
 
-         output.WriteRawTag(144, 26);
 
-         output.WriteInt32(FieldName18);
 
-       }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int CalculateSize() {
 
-       int size = 0;
 
-       if (OptionalInt32 != 0) {
 
-         size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32);
 
-       }
 
-       if (OptionalInt64 != 0L) {
 
-         size += 1 + pb::CodedOutputStream.ComputeInt64Size(OptionalInt64);
 
-       }
 
-       if (OptionalUint32 != 0) {
 
-         size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OptionalUint32);
 
-       }
 
-       if (OptionalUint64 != 0UL) {
 
-         size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OptionalUint64);
 
-       }
 
-       if (OptionalSint32 != 0) {
 
-         size += 1 + pb::CodedOutputStream.ComputeSInt32Size(OptionalSint32);
 
-       }
 
-       if (OptionalSint64 != 0L) {
 
-         size += 1 + pb::CodedOutputStream.ComputeSInt64Size(OptionalSint64);
 
-       }
 
-       if (OptionalFixed32 != 0) {
 
-         size += 1 + 4;
 
-       }
 
-       if (OptionalFixed64 != 0UL) {
 
-         size += 1 + 8;
 
-       }
 
-       if (OptionalSfixed32 != 0) {
 
-         size += 1 + 4;
 
-       }
 
-       if (OptionalSfixed64 != 0L) {
 
-         size += 1 + 8;
 
-       }
 
-       if (OptionalFloat != 0F) {
 
-         size += 1 + 4;
 
-       }
 
-       if (OptionalDouble != 0D) {
 
-         size += 1 + 8;
 
-       }
 
-       if (OptionalBool != false) {
 
-         size += 1 + 1;
 
-       }
 
-       if (OptionalString.Length != 0) {
 
-         size += 1 + pb::CodedOutputStream.ComputeStringSize(OptionalString);
 
-       }
 
-       if (OptionalBytes.Length != 0) {
 
-         size += 1 + pb::CodedOutputStream.ComputeBytesSize(OptionalBytes);
 
-       }
 
-       if (optionalNestedMessage_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalNestedMessage);
 
-       }
 
-       if (optionalForeignMessage_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalForeignMessage);
 
-       }
 
-       if (OptionalNestedEnum != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalNestedEnum);
 
-       }
 
-       if (OptionalForeignEnum != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalForeignEnum);
 
-       }
 
-       if (OptionalStringPiece.Length != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalStringPiece);
 
-       }
 
-       if (OptionalCord.Length != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalCord);
 
-       }
 
-       if (recursiveMessage_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(RecursiveMessage);
 
-       }
 
-       size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
 
-       size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec);
 
-       size += repeatedUint32_.CalculateSize(_repeated_repeatedUint32_codec);
 
-       size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec);
 
-       size += repeatedSint32_.CalculateSize(_repeated_repeatedSint32_codec);
 
-       size += repeatedSint64_.CalculateSize(_repeated_repeatedSint64_codec);
 
-       size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec);
 
-       size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec);
 
-       size += repeatedSfixed32_.CalculateSize(_repeated_repeatedSfixed32_codec);
 
-       size += repeatedSfixed64_.CalculateSize(_repeated_repeatedSfixed64_codec);
 
-       size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec);
 
-       size += repeatedDouble_.CalculateSize(_repeated_repeatedDouble_codec);
 
-       size += repeatedBool_.CalculateSize(_repeated_repeatedBool_codec);
 
-       size += repeatedString_.CalculateSize(_repeated_repeatedString_codec);
 
-       size += repeatedBytes_.CalculateSize(_repeated_repeatedBytes_codec);
 
-       size += repeatedNestedMessage_.CalculateSize(_repeated_repeatedNestedMessage_codec);
 
-       size += repeatedForeignMessage_.CalculateSize(_repeated_repeatedForeignMessage_codec);
 
-       size += repeatedNestedEnum_.CalculateSize(_repeated_repeatedNestedEnum_codec);
 
-       size += repeatedForeignEnum_.CalculateSize(_repeated_repeatedForeignEnum_codec);
 
-       size += repeatedStringPiece_.CalculateSize(_repeated_repeatedStringPiece_codec);
 
-       size += repeatedCord_.CalculateSize(_repeated_repeatedCord_codec);
 
-       size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);
 
-       size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);
 
-       size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);
 
-       size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);
 
-       size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);
 
-       size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);
 
-       size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);
 
-       size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);
 
-       size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);
 
-       size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);
 
-       size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);
 
-       size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);
 
-       size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);
 
-       size += mapStringString_.CalculateSize(_map_mapStringString_codec);
 
-       size += mapStringBytes_.CalculateSize(_map_mapStringBytes_codec);
 
-       size += mapStringNestedMessage_.CalculateSize(_map_mapStringNestedMessage_codec);
 
-       size += mapStringForeignMessage_.CalculateSize(_map_mapStringForeignMessage_codec);
 
-       size += mapStringNestedEnum_.CalculateSize(_map_mapStringNestedEnum_codec);
 
-       size += mapStringForeignEnum_.CalculateSize(_map_mapStringForeignEnum_codec);
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
 
-         size += 2 + pb::CodedOutputStream.ComputeUInt32Size(OneofUint32);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OneofNestedMessage);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
 
-         size += 2 + pb::CodedOutputStream.ComputeStringSize(OneofString);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
 
-         size += 2 + pb::CodedOutputStream.ComputeBytesSize(OneofBytes);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) {
 
-         size += 2 + 1;
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) {
 
-         size += 2 + pb::CodedOutputStream.ComputeUInt64Size(OneofUint64);
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) {
 
-         size += 2 + 4;
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) {
 
-         size += 2 + 8;
 
-       }
 
-       if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) {
 
-         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OneofEnum);
 
-       }
 
-       if (optionalBoolWrapper_ != null) {
 
-         size += _single_optionalBoolWrapper_codec.CalculateSizeWithTag(OptionalBoolWrapper);
 
-       }
 
-       if (optionalInt32Wrapper_ != null) {
 
-         size += _single_optionalInt32Wrapper_codec.CalculateSizeWithTag(OptionalInt32Wrapper);
 
-       }
 
-       if (optionalInt64Wrapper_ != null) {
 
-         size += _single_optionalInt64Wrapper_codec.CalculateSizeWithTag(OptionalInt64Wrapper);
 
-       }
 
-       if (optionalUint32Wrapper_ != null) {
 
-         size += _single_optionalUint32Wrapper_codec.CalculateSizeWithTag(OptionalUint32Wrapper);
 
-       }
 
-       if (optionalUint64Wrapper_ != null) {
 
-         size += _single_optionalUint64Wrapper_codec.CalculateSizeWithTag(OptionalUint64Wrapper);
 
-       }
 
-       if (optionalFloatWrapper_ != null) {
 
-         size += _single_optionalFloatWrapper_codec.CalculateSizeWithTag(OptionalFloatWrapper);
 
-       }
 
-       if (optionalDoubleWrapper_ != null) {
 
-         size += _single_optionalDoubleWrapper_codec.CalculateSizeWithTag(OptionalDoubleWrapper);
 
-       }
 
-       if (optionalStringWrapper_ != null) {
 
-         size += _single_optionalStringWrapper_codec.CalculateSizeWithTag(OptionalStringWrapper);
 
-       }
 
-       if (optionalBytesWrapper_ != null) {
 
-         size += _single_optionalBytesWrapper_codec.CalculateSizeWithTag(OptionalBytesWrapper);
 
-       }
 
-       size += repeatedBoolWrapper_.CalculateSize(_repeated_repeatedBoolWrapper_codec);
 
-       size += repeatedInt32Wrapper_.CalculateSize(_repeated_repeatedInt32Wrapper_codec);
 
-       size += repeatedInt64Wrapper_.CalculateSize(_repeated_repeatedInt64Wrapper_codec);
 
-       size += repeatedUint32Wrapper_.CalculateSize(_repeated_repeatedUint32Wrapper_codec);
 
-       size += repeatedUint64Wrapper_.CalculateSize(_repeated_repeatedUint64Wrapper_codec);
 
-       size += repeatedFloatWrapper_.CalculateSize(_repeated_repeatedFloatWrapper_codec);
 
-       size += repeatedDoubleWrapper_.CalculateSize(_repeated_repeatedDoubleWrapper_codec);
 
-       size += repeatedStringWrapper_.CalculateSize(_repeated_repeatedStringWrapper_codec);
 
-       size += repeatedBytesWrapper_.CalculateSize(_repeated_repeatedBytesWrapper_codec);
 
-       if (optionalDuration_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalDuration);
 
-       }
 
-       if (optionalTimestamp_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalTimestamp);
 
-       }
 
-       if (optionalFieldMask_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalFieldMask);
 
-       }
 
-       if (optionalStruct_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalStruct);
 
-       }
 
-       if (optionalAny_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalAny);
 
-       }
 
-       if (optionalValue_ != null) {
 
-         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalValue);
 
-       }
 
-       size += repeatedDuration_.CalculateSize(_repeated_repeatedDuration_codec);
 
-       size += repeatedTimestamp_.CalculateSize(_repeated_repeatedTimestamp_codec);
 
-       size += repeatedFieldmask_.CalculateSize(_repeated_repeatedFieldmask_codec);
 
-       size += repeatedStruct_.CalculateSize(_repeated_repeatedStruct_codec);
 
-       size += repeatedAny_.CalculateSize(_repeated_repeatedAny_codec);
 
-       size += repeatedValue_.CalculateSize(_repeated_repeatedValue_codec);
 
-       if (Fieldname1 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Fieldname1);
 
-       }
 
-       if (FieldName2 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName2);
 
-       }
 
-       if (FieldName3 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName3);
 
-       }
 
-       if (FieldName4 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName4);
 
-       }
 
-       if (Field0Name5 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name5);
 
-       }
 
-       if (Field0Name6 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name6);
 
-       }
 
-       if (FieldName7 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName7);
 
-       }
 
-       if (FieldName8 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName8);
 
-       }
 
-       if (FieldName9 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName9);
 
-       }
 
-       if (FieldName10 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName10);
 
-       }
 
-       if (FIELDNAME11 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDNAME11);
 
-       }
 
-       if (FIELDName12 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDName12);
 
-       }
 
-       if (FieldName13 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName13);
 
-       }
 
-       if (FieldName14 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName14);
 
-       }
 
-       if (FieldName15 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName15);
 
-       }
 
-       if (FieldName16 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName16);
 
-       }
 
-       if (FieldName17 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName17);
 
-       }
 
-       if (FieldName18 != 0) {
 
-         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName18);
 
-       }
 
-       return size;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void MergeFrom(TestAllTypesProto3 other) {
 
-       if (other == null) {
 
-         return;
 
-       }
 
-       if (other.OptionalInt32 != 0) {
 
-         OptionalInt32 = other.OptionalInt32;
 
-       }
 
-       if (other.OptionalInt64 != 0L) {
 
-         OptionalInt64 = other.OptionalInt64;
 
-       }
 
-       if (other.OptionalUint32 != 0) {
 
-         OptionalUint32 = other.OptionalUint32;
 
-       }
 
-       if (other.OptionalUint64 != 0UL) {
 
-         OptionalUint64 = other.OptionalUint64;
 
-       }
 
-       if (other.OptionalSint32 != 0) {
 
-         OptionalSint32 = other.OptionalSint32;
 
-       }
 
-       if (other.OptionalSint64 != 0L) {
 
-         OptionalSint64 = other.OptionalSint64;
 
-       }
 
-       if (other.OptionalFixed32 != 0) {
 
-         OptionalFixed32 = other.OptionalFixed32;
 
-       }
 
-       if (other.OptionalFixed64 != 0UL) {
 
-         OptionalFixed64 = other.OptionalFixed64;
 
-       }
 
-       if (other.OptionalSfixed32 != 0) {
 
-         OptionalSfixed32 = other.OptionalSfixed32;
 
-       }
 
-       if (other.OptionalSfixed64 != 0L) {
 
-         OptionalSfixed64 = other.OptionalSfixed64;
 
-       }
 
-       if (other.OptionalFloat != 0F) {
 
-         OptionalFloat = other.OptionalFloat;
 
-       }
 
-       if (other.OptionalDouble != 0D) {
 
-         OptionalDouble = other.OptionalDouble;
 
-       }
 
-       if (other.OptionalBool != false) {
 
-         OptionalBool = other.OptionalBool;
 
-       }
 
-       if (other.OptionalString.Length != 0) {
 
-         OptionalString = other.OptionalString;
 
-       }
 
-       if (other.OptionalBytes.Length != 0) {
 
-         OptionalBytes = other.OptionalBytes;
 
-       }
 
-       if (other.optionalNestedMessage_ != null) {
 
-         if (optionalNestedMessage_ == null) {
 
-           optionalNestedMessage_ = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
 
-         }
 
-         OptionalNestedMessage.MergeFrom(other.OptionalNestedMessage);
 
-       }
 
-       if (other.optionalForeignMessage_ != null) {
 
-         if (optionalForeignMessage_ == null) {
 
-           optionalForeignMessage_ = new global::ProtobufTestMessages.Proto3.ForeignMessage();
 
-         }
 
-         OptionalForeignMessage.MergeFrom(other.OptionalForeignMessage);
 
-       }
 
-       if (other.OptionalNestedEnum != 0) {
 
-         OptionalNestedEnum = other.OptionalNestedEnum;
 
-       }
 
-       if (other.OptionalForeignEnum != 0) {
 
-         OptionalForeignEnum = other.OptionalForeignEnum;
 
-       }
 
-       if (other.OptionalStringPiece.Length != 0) {
 
-         OptionalStringPiece = other.OptionalStringPiece;
 
-       }
 
-       if (other.OptionalCord.Length != 0) {
 
-         OptionalCord = other.OptionalCord;
 
-       }
 
-       if (other.recursiveMessage_ != null) {
 
-         if (recursiveMessage_ == null) {
 
-           recursiveMessage_ = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
 
-         }
 
-         RecursiveMessage.MergeFrom(other.RecursiveMessage);
 
-       }
 
-       repeatedInt32_.Add(other.repeatedInt32_);
 
-       repeatedInt64_.Add(other.repeatedInt64_);
 
-       repeatedUint32_.Add(other.repeatedUint32_);
 
-       repeatedUint64_.Add(other.repeatedUint64_);
 
-       repeatedSint32_.Add(other.repeatedSint32_);
 
-       repeatedSint64_.Add(other.repeatedSint64_);
 
-       repeatedFixed32_.Add(other.repeatedFixed32_);
 
-       repeatedFixed64_.Add(other.repeatedFixed64_);
 
-       repeatedSfixed32_.Add(other.repeatedSfixed32_);
 
-       repeatedSfixed64_.Add(other.repeatedSfixed64_);
 
-       repeatedFloat_.Add(other.repeatedFloat_);
 
-       repeatedDouble_.Add(other.repeatedDouble_);
 
-       repeatedBool_.Add(other.repeatedBool_);
 
-       repeatedString_.Add(other.repeatedString_);
 
-       repeatedBytes_.Add(other.repeatedBytes_);
 
-       repeatedNestedMessage_.Add(other.repeatedNestedMessage_);
 
-       repeatedForeignMessage_.Add(other.repeatedForeignMessage_);
 
-       repeatedNestedEnum_.Add(other.repeatedNestedEnum_);
 
-       repeatedForeignEnum_.Add(other.repeatedForeignEnum_);
 
-       repeatedStringPiece_.Add(other.repeatedStringPiece_);
 
-       repeatedCord_.Add(other.repeatedCord_);
 
-       mapInt32Int32_.Add(other.mapInt32Int32_);
 
-       mapInt64Int64_.Add(other.mapInt64Int64_);
 
-       mapUint32Uint32_.Add(other.mapUint32Uint32_);
 
-       mapUint64Uint64_.Add(other.mapUint64Uint64_);
 
-       mapSint32Sint32_.Add(other.mapSint32Sint32_);
 
-       mapSint64Sint64_.Add(other.mapSint64Sint64_);
 
-       mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);
 
-       mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);
 
-       mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);
 
-       mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);
 
-       mapInt32Float_.Add(other.mapInt32Float_);
 
-       mapInt32Double_.Add(other.mapInt32Double_);
 
-       mapBoolBool_.Add(other.mapBoolBool_);
 
-       mapStringString_.Add(other.mapStringString_);
 
-       mapStringBytes_.Add(other.mapStringBytes_);
 
-       mapStringNestedMessage_.Add(other.mapStringNestedMessage_);
 
-       mapStringForeignMessage_.Add(other.mapStringForeignMessage_);
 
-       mapStringNestedEnum_.Add(other.mapStringNestedEnum_);
 
-       mapStringForeignEnum_.Add(other.mapStringForeignEnum_);
 
-       if (other.optionalBoolWrapper_ != null) {
 
-         if (optionalBoolWrapper_ == null || other.OptionalBoolWrapper != false) {
 
-           OptionalBoolWrapper = other.OptionalBoolWrapper;
 
-         }
 
-       }
 
-       if (other.optionalInt32Wrapper_ != null) {
 
-         if (optionalInt32Wrapper_ == null || other.OptionalInt32Wrapper != 0) {
 
-           OptionalInt32Wrapper = other.OptionalInt32Wrapper;
 
-         }
 
-       }
 
-       if (other.optionalInt64Wrapper_ != null) {
 
-         if (optionalInt64Wrapper_ == null || other.OptionalInt64Wrapper != 0L) {
 
-           OptionalInt64Wrapper = other.OptionalInt64Wrapper;
 
-         }
 
-       }
 
-       if (other.optionalUint32Wrapper_ != null) {
 
-         if (optionalUint32Wrapper_ == null || other.OptionalUint32Wrapper != 0) {
 
-           OptionalUint32Wrapper = other.OptionalUint32Wrapper;
 
-         }
 
-       }
 
-       if (other.optionalUint64Wrapper_ != null) {
 
-         if (optionalUint64Wrapper_ == null || other.OptionalUint64Wrapper != 0UL) {
 
-           OptionalUint64Wrapper = other.OptionalUint64Wrapper;
 
-         }
 
-       }
 
-       if (other.optionalFloatWrapper_ != null) {
 
-         if (optionalFloatWrapper_ == null || other.OptionalFloatWrapper != 0F) {
 
-           OptionalFloatWrapper = other.OptionalFloatWrapper;
 
-         }
 
-       }
 
-       if (other.optionalDoubleWrapper_ != null) {
 
-         if (optionalDoubleWrapper_ == null || other.OptionalDoubleWrapper != 0D) {
 
-           OptionalDoubleWrapper = other.OptionalDoubleWrapper;
 
-         }
 
-       }
 
-       if (other.optionalStringWrapper_ != null) {
 
-         if (optionalStringWrapper_ == null || other.OptionalStringWrapper != "") {
 
-           OptionalStringWrapper = other.OptionalStringWrapper;
 
-         }
 
-       }
 
-       if (other.optionalBytesWrapper_ != null) {
 
-         if (optionalBytesWrapper_ == null || other.OptionalBytesWrapper != pb::ByteString.Empty) {
 
-           OptionalBytesWrapper = other.OptionalBytesWrapper;
 
-         }
 
-       }
 
-       repeatedBoolWrapper_.Add(other.repeatedBoolWrapper_);
 
-       repeatedInt32Wrapper_.Add(other.repeatedInt32Wrapper_);
 
-       repeatedInt64Wrapper_.Add(other.repeatedInt64Wrapper_);
 
-       repeatedUint32Wrapper_.Add(other.repeatedUint32Wrapper_);
 
-       repeatedUint64Wrapper_.Add(other.repeatedUint64Wrapper_);
 
-       repeatedFloatWrapper_.Add(other.repeatedFloatWrapper_);
 
-       repeatedDoubleWrapper_.Add(other.repeatedDoubleWrapper_);
 
-       repeatedStringWrapper_.Add(other.repeatedStringWrapper_);
 
-       repeatedBytesWrapper_.Add(other.repeatedBytesWrapper_);
 
-       if (other.optionalDuration_ != null) {
 
-         if (optionalDuration_ == null) {
 
-           optionalDuration_ = new global::Google.Protobuf.WellKnownTypes.Duration();
 
-         }
 
-         OptionalDuration.MergeFrom(other.OptionalDuration);
 
-       }
 
-       if (other.optionalTimestamp_ != null) {
 
-         if (optionalTimestamp_ == null) {
 
-           optionalTimestamp_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
 
-         }
 
-         OptionalTimestamp.MergeFrom(other.OptionalTimestamp);
 
-       }
 
-       if (other.optionalFieldMask_ != null) {
 
-         if (optionalFieldMask_ == null) {
 
-           optionalFieldMask_ = new global::Google.Protobuf.WellKnownTypes.FieldMask();
 
-         }
 
-         OptionalFieldMask.MergeFrom(other.OptionalFieldMask);
 
-       }
 
-       if (other.optionalStruct_ != null) {
 
-         if (optionalStruct_ == null) {
 
-           optionalStruct_ = new global::Google.Protobuf.WellKnownTypes.Struct();
 
-         }
 
-         OptionalStruct.MergeFrom(other.OptionalStruct);
 
-       }
 
-       if (other.optionalAny_ != null) {
 
-         if (optionalAny_ == null) {
 
-           optionalAny_ = new global::Google.Protobuf.WellKnownTypes.Any();
 
-         }
 
-         OptionalAny.MergeFrom(other.OptionalAny);
 
-       }
 
-       if (other.optionalValue_ != null) {
 
-         if (optionalValue_ == null) {
 
-           optionalValue_ = new global::Google.Protobuf.WellKnownTypes.Value();
 
-         }
 
-         OptionalValue.MergeFrom(other.OptionalValue);
 
-       }
 
-       repeatedDuration_.Add(other.repeatedDuration_);
 
-       repeatedTimestamp_.Add(other.repeatedTimestamp_);
 
-       repeatedFieldmask_.Add(other.repeatedFieldmask_);
 
-       repeatedStruct_.Add(other.repeatedStruct_);
 
-       repeatedAny_.Add(other.repeatedAny_);
 
-       repeatedValue_.Add(other.repeatedValue_);
 
-       if (other.Fieldname1 != 0) {
 
-         Fieldname1 = other.Fieldname1;
 
-       }
 
-       if (other.FieldName2 != 0) {
 
-         FieldName2 = other.FieldName2;
 
-       }
 
-       if (other.FieldName3 != 0) {
 
-         FieldName3 = other.FieldName3;
 
-       }
 
-       if (other.FieldName4 != 0) {
 
-         FieldName4 = other.FieldName4;
 
-       }
 
-       if (other.Field0Name5 != 0) {
 
-         Field0Name5 = other.Field0Name5;
 
-       }
 
-       if (other.Field0Name6 != 0) {
 
-         Field0Name6 = other.Field0Name6;
 
-       }
 
-       if (other.FieldName7 != 0) {
 
-         FieldName7 = other.FieldName7;
 
-       }
 
-       if (other.FieldName8 != 0) {
 
-         FieldName8 = other.FieldName8;
 
-       }
 
-       if (other.FieldName9 != 0) {
 
-         FieldName9 = other.FieldName9;
 
-       }
 
-       if (other.FieldName10 != 0) {
 
-         FieldName10 = other.FieldName10;
 
-       }
 
-       if (other.FIELDNAME11 != 0) {
 
-         FIELDNAME11 = other.FIELDNAME11;
 
-       }
 
-       if (other.FIELDName12 != 0) {
 
-         FIELDName12 = other.FIELDName12;
 
-       }
 
-       if (other.FieldName13 != 0) {
 
-         FieldName13 = other.FieldName13;
 
-       }
 
-       if (other.FieldName14 != 0) {
 
-         FieldName14 = other.FieldName14;
 
-       }
 
-       if (other.FieldName15 != 0) {
 
-         FieldName15 = other.FieldName15;
 
-       }
 
-       if (other.FieldName16 != 0) {
 
-         FieldName16 = other.FieldName16;
 
-       }
 
-       if (other.FieldName17 != 0) {
 
-         FieldName17 = other.FieldName17;
 
-       }
 
-       if (other.FieldName18 != 0) {
 
-         FieldName18 = other.FieldName18;
 
-       }
 
-       switch (other.OneofFieldCase) {
 
-         case OneofFieldOneofCase.OneofUint32:
 
-           OneofUint32 = other.OneofUint32;
 
-           break;
 
-         case OneofFieldOneofCase.OneofNestedMessage:
 
-           OneofNestedMessage = other.OneofNestedMessage;
 
-           break;
 
-         case OneofFieldOneofCase.OneofString:
 
-           OneofString = other.OneofString;
 
-           break;
 
-         case OneofFieldOneofCase.OneofBytes:
 
-           OneofBytes = other.OneofBytes;
 
-           break;
 
-         case OneofFieldOneofCase.OneofBool:
 
-           OneofBool = other.OneofBool;
 
-           break;
 
-         case OneofFieldOneofCase.OneofUint64:
 
-           OneofUint64 = other.OneofUint64;
 
-           break;
 
-         case OneofFieldOneofCase.OneofFloat:
 
-           OneofFloat = other.OneofFloat;
 
-           break;
 
-         case OneofFieldOneofCase.OneofDouble:
 
-           OneofDouble = other.OneofDouble;
 
-           break;
 
-         case OneofFieldOneofCase.OneofEnum:
 
-           OneofEnum = other.OneofEnum;
 
-           break;
 
-       }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void MergeFrom(pb::CodedInputStream input) {
 
-       uint tag;
 
-       while ((tag = input.ReadTag()) != 0) {
 
-         switch(tag) {
 
-           default:
 
-             input.SkipLastField();
 
-             break;
 
-           case 8: {
 
-             OptionalInt32 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 16: {
 
-             OptionalInt64 = input.ReadInt64();
 
-             break;
 
-           }
 
-           case 24: {
 
-             OptionalUint32 = input.ReadUInt32();
 
-             break;
 
-           }
 
-           case 32: {
 
-             OptionalUint64 = input.ReadUInt64();
 
-             break;
 
-           }
 
-           case 40: {
 
-             OptionalSint32 = input.ReadSInt32();
 
-             break;
 
-           }
 
-           case 48: {
 
-             OptionalSint64 = input.ReadSInt64();
 
-             break;
 
-           }
 
-           case 61: {
 
-             OptionalFixed32 = input.ReadFixed32();
 
-             break;
 
-           }
 
-           case 65: {
 
-             OptionalFixed64 = input.ReadFixed64();
 
-             break;
 
-           }
 
-           case 77: {
 
-             OptionalSfixed32 = input.ReadSFixed32();
 
-             break;
 
-           }
 
-           case 81: {
 
-             OptionalSfixed64 = input.ReadSFixed64();
 
-             break;
 
-           }
 
-           case 93: {
 
-             OptionalFloat = input.ReadFloat();
 
-             break;
 
-           }
 
-           case 97: {
 
-             OptionalDouble = input.ReadDouble();
 
-             break;
 
-           }
 
-           case 104: {
 
-             OptionalBool = input.ReadBool();
 
-             break;
 
-           }
 
-           case 114: {
 
-             OptionalString = input.ReadString();
 
-             break;
 
-           }
 
-           case 122: {
 
-             OptionalBytes = input.ReadBytes();
 
-             break;
 
-           }
 
-           case 146: {
 
-             if (optionalNestedMessage_ == null) {
 
-               optionalNestedMessage_ = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
 
-             }
 
-             input.ReadMessage(optionalNestedMessage_);
 
-             break;
 
-           }
 
-           case 154: {
 
-             if (optionalForeignMessage_ == null) {
 
-               optionalForeignMessage_ = new global::ProtobufTestMessages.Proto3.ForeignMessage();
 
-             }
 
-             input.ReadMessage(optionalForeignMessage_);
 
-             break;
 
-           }
 
-           case 168: {
 
-             optionalNestedEnum_ = (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) input.ReadEnum();
 
-             break;
 
-           }
 
-           case 176: {
 
-             optionalForeignEnum_ = (global::ProtobufTestMessages.Proto3.ForeignEnum) input.ReadEnum();
 
-             break;
 
-           }
 
-           case 194: {
 
-             OptionalStringPiece = input.ReadString();
 
-             break;
 
-           }
 
-           case 202: {
 
-             OptionalCord = input.ReadString();
 
-             break;
 
-           }
 
-           case 218: {
 
-             if (recursiveMessage_ == null) {
 
-               recursiveMessage_ = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
 
-             }
 
-             input.ReadMessage(recursiveMessage_);
 
-             break;
 
-           }
 
-           case 250:
 
-           case 248: {
 
-             repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
 
-             break;
 
-           }
 
-           case 258:
 
-           case 256: {
 
-             repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec);
 
-             break;
 
-           }
 
-           case 266:
 
-           case 264: {
 
-             repeatedUint32_.AddEntriesFrom(input, _repeated_repeatedUint32_codec);
 
-             break;
 
-           }
 
-           case 274:
 
-           case 272: {
 
-             repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec);
 
-             break;
 
-           }
 
-           case 282:
 
-           case 280: {
 
-             repeatedSint32_.AddEntriesFrom(input, _repeated_repeatedSint32_codec);
 
-             break;
 
-           }
 
-           case 290:
 
-           case 288: {
 
-             repeatedSint64_.AddEntriesFrom(input, _repeated_repeatedSint64_codec);
 
-             break;
 
-           }
 
-           case 298:
 
-           case 301: {
 
-             repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec);
 
-             break;
 
-           }
 
-           case 306:
 
-           case 305: {
 
-             repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec);
 
-             break;
 
-           }
 
-           case 314:
 
-           case 317: {
 
-             repeatedSfixed32_.AddEntriesFrom(input, _repeated_repeatedSfixed32_codec);
 
-             break;
 
-           }
 
-           case 322:
 
-           case 321: {
 
-             repeatedSfixed64_.AddEntriesFrom(input, _repeated_repeatedSfixed64_codec);
 
-             break;
 
-           }
 
-           case 330:
 
-           case 333: {
 
-             repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec);
 
-             break;
 
-           }
 
-           case 338:
 
-           case 337: {
 
-             repeatedDouble_.AddEntriesFrom(input, _repeated_repeatedDouble_codec);
 
-             break;
 
-           }
 
-           case 346:
 
-           case 344: {
 
-             repeatedBool_.AddEntriesFrom(input, _repeated_repeatedBool_codec);
 
-             break;
 
-           }
 
-           case 354: {
 
-             repeatedString_.AddEntriesFrom(input, _repeated_repeatedString_codec);
 
-             break;
 
-           }
 
-           case 362: {
 
-             repeatedBytes_.AddEntriesFrom(input, _repeated_repeatedBytes_codec);
 
-             break;
 
-           }
 
-           case 386: {
 
-             repeatedNestedMessage_.AddEntriesFrom(input, _repeated_repeatedNestedMessage_codec);
 
-             break;
 
-           }
 
-           case 394: {
 
-             repeatedForeignMessage_.AddEntriesFrom(input, _repeated_repeatedForeignMessage_codec);
 
-             break;
 
-           }
 
-           case 410:
 
-           case 408: {
 
-             repeatedNestedEnum_.AddEntriesFrom(input, _repeated_repeatedNestedEnum_codec);
 
-             break;
 
-           }
 
-           case 418:
 
-           case 416: {
 
-             repeatedForeignEnum_.AddEntriesFrom(input, _repeated_repeatedForeignEnum_codec);
 
-             break;
 
-           }
 
-           case 434: {
 
-             repeatedStringPiece_.AddEntriesFrom(input, _repeated_repeatedStringPiece_codec);
 
-             break;
 
-           }
 
-           case 442: {
 
-             repeatedCord_.AddEntriesFrom(input, _repeated_repeatedCord_codec);
 
-             break;
 
-           }
 
-           case 450: {
 
-             mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);
 
-             break;
 
-           }
 
-           case 458: {
 
-             mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);
 
-             break;
 
-           }
 
-           case 466: {
 
-             mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);
 
-             break;
 
-           }
 
-           case 474: {
 
-             mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);
 
-             break;
 
-           }
 
-           case 482: {
 
-             mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);
 
-             break;
 
-           }
 
-           case 490: {
 
-             mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);
 
-             break;
 
-           }
 
-           case 498: {
 
-             mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);
 
-             break;
 
-           }
 
-           case 506: {
 
-             mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);
 
-             break;
 
-           }
 
-           case 514: {
 
-             mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);
 
-             break;
 
-           }
 
-           case 522: {
 
-             mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);
 
-             break;
 
-           }
 
-           case 530: {
 
-             mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);
 
-             break;
 
-           }
 
-           case 538: {
 
-             mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);
 
-             break;
 
-           }
 
-           case 546: {
 
-             mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);
 
-             break;
 
-           }
 
-           case 554: {
 
-             mapStringString_.AddEntriesFrom(input, _map_mapStringString_codec);
 
-             break;
 
-           }
 
-           case 562: {
 
-             mapStringBytes_.AddEntriesFrom(input, _map_mapStringBytes_codec);
 
-             break;
 
-           }
 
-           case 570: {
 
-             mapStringNestedMessage_.AddEntriesFrom(input, _map_mapStringNestedMessage_codec);
 
-             break;
 
-           }
 
-           case 578: {
 
-             mapStringForeignMessage_.AddEntriesFrom(input, _map_mapStringForeignMessage_codec);
 
-             break;
 
-           }
 
-           case 586: {
 
-             mapStringNestedEnum_.AddEntriesFrom(input, _map_mapStringNestedEnum_codec);
 
-             break;
 
-           }
 
-           case 594: {
 
-             mapStringForeignEnum_.AddEntriesFrom(input, _map_mapStringForeignEnum_codec);
 
-             break;
 
-           }
 
-           case 888: {
 
-             OneofUint32 = input.ReadUInt32();
 
-             break;
 
-           }
 
-           case 898: {
 
-             global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage subBuilder = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
 
-             if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
 
-               subBuilder.MergeFrom(OneofNestedMessage);
 
-             }
 
-             input.ReadMessage(subBuilder);
 
-             OneofNestedMessage = subBuilder;
 
-             break;
 
-           }
 
-           case 906: {
 
-             OneofString = input.ReadString();
 
-             break;
 
-           }
 
-           case 914: {
 
-             OneofBytes = input.ReadBytes();
 
-             break;
 
-           }
 
-           case 920: {
 
-             OneofBool = input.ReadBool();
 
-             break;
 
-           }
 
-           case 928: {
 
-             OneofUint64 = input.ReadUInt64();
 
-             break;
 
-           }
 
-           case 941: {
 
-             OneofFloat = input.ReadFloat();
 
-             break;
 
-           }
 
-           case 945: {
 
-             OneofDouble = input.ReadDouble();
 
-             break;
 
-           }
 
-           case 952: {
 
-             oneofField_ = input.ReadEnum();
 
-             oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
 
-             break;
 
-           }
 
-           case 1610: {
 
-             bool? value = _single_optionalBoolWrapper_codec.Read(input);
 
-             if (optionalBoolWrapper_ == null || value != false) {
 
-               OptionalBoolWrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1618: {
 
-             int? value = _single_optionalInt32Wrapper_codec.Read(input);
 
-             if (optionalInt32Wrapper_ == null || value != 0) {
 
-               OptionalInt32Wrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1626: {
 
-             long? value = _single_optionalInt64Wrapper_codec.Read(input);
 
-             if (optionalInt64Wrapper_ == null || value != 0L) {
 
-               OptionalInt64Wrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1634: {
 
-             uint? value = _single_optionalUint32Wrapper_codec.Read(input);
 
-             if (optionalUint32Wrapper_ == null || value != 0) {
 
-               OptionalUint32Wrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1642: {
 
-             ulong? value = _single_optionalUint64Wrapper_codec.Read(input);
 
-             if (optionalUint64Wrapper_ == null || value != 0UL) {
 
-               OptionalUint64Wrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1650: {
 
-             float? value = _single_optionalFloatWrapper_codec.Read(input);
 
-             if (optionalFloatWrapper_ == null || value != 0F) {
 
-               OptionalFloatWrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1658: {
 
-             double? value = _single_optionalDoubleWrapper_codec.Read(input);
 
-             if (optionalDoubleWrapper_ == null || value != 0D) {
 
-               OptionalDoubleWrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1666: {
 
-             string value = _single_optionalStringWrapper_codec.Read(input);
 
-             if (optionalStringWrapper_ == null || value != "") {
 
-               OptionalStringWrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1674: {
 
-             pb::ByteString value = _single_optionalBytesWrapper_codec.Read(input);
 
-             if (optionalBytesWrapper_ == null || value != pb::ByteString.Empty) {
 
-               OptionalBytesWrapper = value;
 
-             }
 
-             break;
 
-           }
 
-           case 1690: {
 
-             repeatedBoolWrapper_.AddEntriesFrom(input, _repeated_repeatedBoolWrapper_codec);
 
-             break;
 
-           }
 
-           case 1698: {
 
-             repeatedInt32Wrapper_.AddEntriesFrom(input, _repeated_repeatedInt32Wrapper_codec);
 
-             break;
 
-           }
 
-           case 1706: {
 
-             repeatedInt64Wrapper_.AddEntriesFrom(input, _repeated_repeatedInt64Wrapper_codec);
 
-             break;
 
-           }
 
-           case 1714: {
 
-             repeatedUint32Wrapper_.AddEntriesFrom(input, _repeated_repeatedUint32Wrapper_codec);
 
-             break;
 
-           }
 
-           case 1722: {
 
-             repeatedUint64Wrapper_.AddEntriesFrom(input, _repeated_repeatedUint64Wrapper_codec);
 
-             break;
 
-           }
 
-           case 1730: {
 
-             repeatedFloatWrapper_.AddEntriesFrom(input, _repeated_repeatedFloatWrapper_codec);
 
-             break;
 
-           }
 
-           case 1738: {
 
-             repeatedDoubleWrapper_.AddEntriesFrom(input, _repeated_repeatedDoubleWrapper_codec);
 
-             break;
 
-           }
 
-           case 1746: {
 
-             repeatedStringWrapper_.AddEntriesFrom(input, _repeated_repeatedStringWrapper_codec);
 
-             break;
 
-           }
 
-           case 1754: {
 
-             repeatedBytesWrapper_.AddEntriesFrom(input, _repeated_repeatedBytesWrapper_codec);
 
-             break;
 
-           }
 
-           case 2410: {
 
-             if (optionalDuration_ == null) {
 
-               optionalDuration_ = new global::Google.Protobuf.WellKnownTypes.Duration();
 
-             }
 
-             input.ReadMessage(optionalDuration_);
 
-             break;
 
-           }
 
-           case 2418: {
 
-             if (optionalTimestamp_ == null) {
 
-               optionalTimestamp_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
 
-             }
 
-             input.ReadMessage(optionalTimestamp_);
 
-             break;
 
-           }
 
-           case 2426: {
 
-             if (optionalFieldMask_ == null) {
 
-               optionalFieldMask_ = new global::Google.Protobuf.WellKnownTypes.FieldMask();
 
-             }
 
-             input.ReadMessage(optionalFieldMask_);
 
-             break;
 
-           }
 
-           case 2434: {
 
-             if (optionalStruct_ == null) {
 
-               optionalStruct_ = new global::Google.Protobuf.WellKnownTypes.Struct();
 
-             }
 
-             input.ReadMessage(optionalStruct_);
 
-             break;
 
-           }
 
-           case 2442: {
 
-             if (optionalAny_ == null) {
 
-               optionalAny_ = new global::Google.Protobuf.WellKnownTypes.Any();
 
-             }
 
-             input.ReadMessage(optionalAny_);
 
-             break;
 
-           }
 
-           case 2450: {
 
-             if (optionalValue_ == null) {
 
-               optionalValue_ = new global::Google.Protobuf.WellKnownTypes.Value();
 
-             }
 
-             input.ReadMessage(optionalValue_);
 
-             break;
 
-           }
 
-           case 2490: {
 
-             repeatedDuration_.AddEntriesFrom(input, _repeated_repeatedDuration_codec);
 
-             break;
 
-           }
 
-           case 2498: {
 
-             repeatedTimestamp_.AddEntriesFrom(input, _repeated_repeatedTimestamp_codec);
 
-             break;
 
-           }
 
-           case 2506: {
 
-             repeatedFieldmask_.AddEntriesFrom(input, _repeated_repeatedFieldmask_codec);
 
-             break;
 
-           }
 
-           case 2522: {
 
-             repeatedAny_.AddEntriesFrom(input, _repeated_repeatedAny_codec);
 
-             break;
 
-           }
 
-           case 2530: {
 
-             repeatedValue_.AddEntriesFrom(input, _repeated_repeatedValue_codec);
 
-             break;
 
-           }
 
-           case 2594: {
 
-             repeatedStruct_.AddEntriesFrom(input, _repeated_repeatedStruct_codec);
 
-             break;
 
-           }
 
-           case 3208: {
 
-             Fieldname1 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3216: {
 
-             FieldName2 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3224: {
 
-             FieldName3 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3232: {
 
-             FieldName4 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3240: {
 
-             Field0Name5 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3248: {
 
-             Field0Name6 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3256: {
 
-             FieldName7 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3264: {
 
-             FieldName8 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3272: {
 
-             FieldName9 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3280: {
 
-             FieldName10 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3288: {
 
-             FIELDNAME11 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3296: {
 
-             FIELDName12 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3304: {
 
-             FieldName13 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3312: {
 
-             FieldName14 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3320: {
 
-             FieldName15 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3328: {
 
-             FieldName16 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3336: {
 
-             FieldName17 = input.ReadInt32();
 
-             break;
 
-           }
 
-           case 3344: {
 
-             FieldName18 = input.ReadInt32();
 
-             break;
 
-           }
 
-         }
 
-       }
 
-     }
 
-     #region Nested types
 
-     /// <summary>Container for nested types declared in the TestAllTypesProto3 message type.</summary>
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public static partial class Types {
 
-       public enum NestedEnum {
 
-         [pbr::OriginalName("FOO")] Foo = 0,
 
-         [pbr::OriginalName("BAR")] Bar = 1,
 
-         [pbr::OriginalName("BAZ")] Baz = 2,
 
-         /// <summary>
 
-         /// Intentionally negative.
 
-         /// </summary>
 
-         [pbr::OriginalName("NEG")] Neg = -1,
 
-       }
 
-       public sealed partial class NestedMessage : pb::IMessage<NestedMessage> {
 
-         private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public static pbr::MessageDescriptor Descriptor {
 
-           get { return global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Descriptor.NestedTypes[0]; }
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         pbr::MessageDescriptor pb::IMessage.Descriptor {
 
-           get { return Descriptor; }
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public NestedMessage() {
 
-           OnConstruction();
 
-         }
 
-         partial void OnConstruction();
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public NestedMessage(NestedMessage other) : this() {
 
-           a_ = other.a_;
 
-           Corecursive = other.corecursive_ != null ? other.Corecursive.Clone() : null;
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public NestedMessage Clone() {
 
-           return new NestedMessage(this);
 
-         }
 
-         /// <summary>Field number for the "a" field.</summary>
 
-         public const int AFieldNumber = 1;
 
-         private int a_;
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public int A {
 
-           get { return a_; }
 
-           set {
 
-             a_ = value;
 
-           }
 
-         }
 
-         /// <summary>Field number for the "corecursive" field.</summary>
 
-         public const int CorecursiveFieldNumber = 2;
 
-         private global::ProtobufTestMessages.Proto3.TestAllTypesProto3 corecursive_;
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public global::ProtobufTestMessages.Proto3.TestAllTypesProto3 Corecursive {
 
-           get { return corecursive_; }
 
-           set {
 
-             corecursive_ = value;
 
-           }
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public override bool Equals(object other) {
 
-           return Equals(other as NestedMessage);
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public bool Equals(NestedMessage other) {
 
-           if (ReferenceEquals(other, null)) {
 
-             return false;
 
-           }
 
-           if (ReferenceEquals(other, this)) {
 
-             return true;
 
-           }
 
-           if (A != other.A) return false;
 
-           if (!object.Equals(Corecursive, other.Corecursive)) return false;
 
-           return true;
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public override int GetHashCode() {
 
-           int hash = 1;
 
-           if (A != 0) hash ^= A.GetHashCode();
 
-           if (corecursive_ != null) hash ^= Corecursive.GetHashCode();
 
-           return hash;
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public override string ToString() {
 
-           return pb::JsonFormatter.ToDiagnosticString(this);
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public void WriteTo(pb::CodedOutputStream output) {
 
-           if (A != 0) {
 
-             output.WriteRawTag(8);
 
-             output.WriteInt32(A);
 
-           }
 
-           if (corecursive_ != null) {
 
-             output.WriteRawTag(18);
 
-             output.WriteMessage(Corecursive);
 
-           }
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public int CalculateSize() {
 
-           int size = 0;
 
-           if (A != 0) {
 
-             size += 1 + pb::CodedOutputStream.ComputeInt32Size(A);
 
-           }
 
-           if (corecursive_ != null) {
 
-             size += 1 + pb::CodedOutputStream.ComputeMessageSize(Corecursive);
 
-           }
 
-           return size;
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public void MergeFrom(NestedMessage other) {
 
-           if (other == null) {
 
-             return;
 
-           }
 
-           if (other.A != 0) {
 
-             A = other.A;
 
-           }
 
-           if (other.corecursive_ != null) {
 
-             if (corecursive_ == null) {
 
-               corecursive_ = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
 
-             }
 
-             Corecursive.MergeFrom(other.Corecursive);
 
-           }
 
-         }
 
-         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-         public void MergeFrom(pb::CodedInputStream input) {
 
-           uint tag;
 
-           while ((tag = input.ReadTag()) != 0) {
 
-             switch(tag) {
 
-               default:
 
-                 input.SkipLastField();
 
-                 break;
 
-               case 8: {
 
-                 A = input.ReadInt32();
 
-                 break;
 
-               }
 
-               case 18: {
 
-                 if (corecursive_ == null) {
 
-                   corecursive_ = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
 
-                 }
 
-                 input.ReadMessage(corecursive_);
 
-                 break;
 
-               }
 
-             }
 
-           }
 
-         }
 
-       }
 
-     }
 
-     #endregion
 
-   }
 
-   public sealed partial class ForeignMessage : pb::IMessage<ForeignMessage> {
 
-     private static readonly pb::MessageParser<ForeignMessage> _parser = new pb::MessageParser<ForeignMessage>(() => new ForeignMessage());
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public static pb::MessageParser<ForeignMessage> Parser { get { return _parser; } }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public static pbr::MessageDescriptor Descriptor {
 
-       get { return global::ProtobufTestMessages.Proto3.TestMessagesProto3Reflection.Descriptor.MessageTypes[1]; }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     pbr::MessageDescriptor pb::IMessage.Descriptor {
 
-       get { return Descriptor; }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ForeignMessage() {
 
-       OnConstruction();
 
-     }
 
-     partial void OnConstruction();
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ForeignMessage(ForeignMessage other) : this() {
 
-       c_ = other.c_;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public ForeignMessage Clone() {
 
-       return new ForeignMessage(this);
 
-     }
 
-     /// <summary>Field number for the "c" field.</summary>
 
-     public const int CFieldNumber = 1;
 
-     private int c_;
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int C {
 
-       get { return c_; }
 
-       set {
 
-         c_ = value;
 
-       }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public override bool Equals(object other) {
 
-       return Equals(other as ForeignMessage);
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public bool Equals(ForeignMessage other) {
 
-       if (ReferenceEquals(other, null)) {
 
-         return false;
 
-       }
 
-       if (ReferenceEquals(other, this)) {
 
-         return true;
 
-       }
 
-       if (C != other.C) return false;
 
-       return true;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public override int GetHashCode() {
 
-       int hash = 1;
 
-       if (C != 0) hash ^= C.GetHashCode();
 
-       return hash;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public override string ToString() {
 
-       return pb::JsonFormatter.ToDiagnosticString(this);
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void WriteTo(pb::CodedOutputStream output) {
 
-       if (C != 0) {
 
-         output.WriteRawTag(8);
 
-         output.WriteInt32(C);
 
-       }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public int CalculateSize() {
 
-       int size = 0;
 
-       if (C != 0) {
 
-         size += 1 + pb::CodedOutputStream.ComputeInt32Size(C);
 
-       }
 
-       return size;
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void MergeFrom(ForeignMessage other) {
 
-       if (other == null) {
 
-         return;
 
-       }
 
-       if (other.C != 0) {
 
-         C = other.C;
 
-       }
 
-     }
 
-     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
-     public void MergeFrom(pb::CodedInputStream input) {
 
-       uint tag;
 
-       while ((tag = input.ReadTag()) != 0) {
 
-         switch(tag) {
 
-           default:
 
-             input.SkipLastField();
 
-             break;
 
-           case 8: {
 
-             C = input.ReadInt32();
 
-             break;
 
-           }
 
-         }
 
-       }
 
-     }
 
-   }
 
-   #endregion
 
- }
 
- #endregion Designer generated code
 
 
  |