applejag / Newtonsoft.Json-for-Unity

Newtonsoft.Json (Json.NET) 10.0.3, 11.0.2, 12.0.3, & 13.0.1 for Unity IL2CPP builds, available via Unity Package Manager
https://github.com/jilleJr/Newtonsoft.Json-for-Unity
MIT License
1.15k stars 128 forks source link

Help: AotHelper not working as intended #112

Closed zkkzkk32312 closed 3 years ago

zkkzkk32312 commented 3 years ago

Expected behavior

DE-serialize json string to an object of a class defined in an external .dll

    public class DataMsg
    {
        public DataMsg();
        public string MsgId { get; set; }
        public string MsgType { get; set; }
        public string MsgTimeUTC { get; set; }
        public MsgPayload Payload { get; set; }
    }

    public class MsgPayload
    {
        public MsgPayload();
        public string Name { get; set; }
        public Dictionary<string, List<double>> Data { get; set; }
    }

public class AotTypeEnforcer : MonoBehaviour
{
    public void Awake()
    {
        AotHelper.EnsureType<DataBridgeMsg>();
        AotHelper.EnsureType<MsgPayload>();
        AotHelper.EnsureList<double>();
        AotHelper.EnsureDictionary<string, List<double>>();

        AotHelper.Ensure(() => {
            var dm = new DataMsg();
            dm.Payload = new MsgPayload();
            dm.Payload.Data = new Dictionary<string, List<double>>();

            print(dm.MsgId);
            print(dm.MsgSource);
            print(dm.MsgTimeUTC);
            print(dm.MsgType);
            print(dm.OriginatingEntity);
            print(dm.Payload);

            print(dm.Payload.Name);
        });
    }

    internal void Deserialize (string text)
    {
        DataMsg dm = JsonConvert.DeserializeObject<DataMsg>(text);

        Debug.Log(dm.MsgId);
        Debug.Log(dm.MsgTimeUTC);
        Debug.Log(dm.MsgType);
        Debug.Log(dbm.Payload.Name);
    }
}

Actual behavior

Problem is in the iL2CPP build only, in Editor it works even without AOTHelper.

All the log test show "NULL" indicating that the deserialization failed, even with AOTHelper.

Details

Host machine OS running Unity Editor 👉 Windows 10

Unity build target 👉 il2CPP Windows build

Newtonsoft.Json-for-Unity package version 👉 v13.0.1

I was using Unity version 👉 2019.4.22f

applejag commented 3 years ago

Hi @zkkzkk32312 ! Superb usage of the AOTHelper. Yea it does nothing in the Editor, it only applies to IL2CPP builds and the Editor builds uses Mono as the runtime, always.

Could you provide the JSON string you're trying to deserialize? I will try reproduce this but having the troublesome JSON would hopefully make the debugging easier for me.

zkkzkk32312 commented 3 years ago

@jilleJr

Hello sir,

Thank you for getting back to me on AOTHelper, I tried to simplify the 2 classes for posting the question here but this is the link to the .DLL : https://drive.google.com/file/d/1FUHfABw_6fWwxYDHfK2kUxY6ahXjyvbQ/view?usp=sharing

This would be a json string that I try to deserialize but failed:

{"msgId":"4c6b0751-a97e-4bf1-a80c-2c948b341663","msgSource":"data-bridge","originatingEntity":"VE-400","msgType":"update","msgTimeUTC":"2021-04-09T07:36:59.7143523Z","payload":{"name":"VE-400","data":{"Q_solvent":[0,0,0,0,0,0,0,0,0,0,0.02218760166135591,0.10184160474277963,0.13276628347943026,0.14286979816675668,0.14532697603885303,0.14564320744179302,0.14548480601200753,0.14484614785904104,0.1449439872453684,0.1449507562260604,0.1447077856488931,0.1447923436950588,0.14484087994172865,0.14486323037677218,0.14487687531143462,0.14485499758553047,0.14481172940333892,0.1447527358991583,0.14467586120090553,0.1445753412675991,0.14445362008821105,0.14437438493096513,0.1442987064733297,0.14421221248325666,0.1441222121427507,0.14404610967594847,0.14398663913551674,0.143932313410612,0.1438715820532851,0.14380330024261118,0.14373957230392126,0.1436897933232504,0.14367508084285163,0.14367508084285163,0.14367508084358668,0.6649989072579567,0.923135406831507,1.0713709614315619,1.1298436595635042,1.1500397560789837,1.1554306861212973,1.1561848395115968,1.1556050424930855,1.154077330656698,1.1536799509667408,1.1532343218272885,1.152383934436357,1.151124946183015,1.150520488413792,1.15083030468255,1.1507322178236363,1.1503135280975154,1.149700542739171,1.14907730348474,1.1488692619148595,1.1487094613475886,1.148422614417679,1.1480428463422925,1.1476156978533967,1.1472995614332167,1.1471107765825561,1.146901869810231,1.1466433288714941,1.1463439509975621,1.146065807789489,1.1458733082539942,1.1457123885141802,1.1455333931683511,1.1453212377589657,1.1451009868609152,1.1449242917944742,1.1447921713589901,1.1446654662835838,1.144517858143944,1.1443509573445099,1.144199368175929,1.1440857155595028,1.1439911720450122,1.143889388066853,1.1437691344539125,1.1436456951272573,1.1435463441314153,1.1434706970797115,1.1433991719589125,1.143315666873115,1.1432210824330613,1.1431529410900925,1.1430879646394974,1.1430171781829062,1.1429451666395443,1.1428823999660356,1.1428308434511236,1.1427832948032686,1.1427322190719893,1.1426769986040273,1.14262533970571,1.1425831523907584,1.142547236724982,1.142510760250467,1.142470073285807,1.1424286287040333,1.1423933555094161,1.1423894450861714],"Q_maltene":[0,0,0,0,0,0,0,0,0,0,0.004573974169547337,0.020994647217326003,0.027369769860227534,0.029452609452663647,0.029959156680637665,0.030024347785594565,0.029991693330222762,0.02986003394948278,0.02988020353935807,0.02988159896475428,0.02983151057931788,0.029848942220866724,0.029858947968308156,0.02986355551058009,0.029866368413914286,0.0298618583206333,0.029852938584704735,0.029840777073586428,0.02982492935423997,0.029804207169594452,0.02977911434798598,0.029762780020008848,0.029747178905670357,0.02972934816927741,0.029710794598728964,0.029695106074899082,0.02968284622275573,0.02967164697435346,0.029659127204802238,0.029645050909263868,0.029631913394452893,0.029621651457392276,0.029618618479500335,0.02961861847950034,0.029618618479639213,0.10440745516998674,0.12532609365269243,0.12955034226289974,0.12680610166189865,0.12325701361560186,0.12083278951293586,0.11964204968579112,0.1192008648465137,0.11897644719525284,0.11891919877425587,0.1188702847526093,0.1187820977337661,0.11865223186199944,0.11858990629425652,0.11862183677131607,0.11861172576897515,0.1185685691941253,0.11850538570608317,0.11844114531307649,0.11841970142618467,0.11840322998209787,0.11837366323418098,0.11833451863905711,0.11829049030772433,0.1182579045455929,0.11823844554674047,0.11821691248077314,0.11819026337300556,0.1181594049980626,0.11813073538634483,0.11811089349634614,0.11809430669384915,0.11807585674822665,0.11805398882898802,0.11803128646723939,0.11801307362291914,0.1179994553087725,0.11798639518287653,0.1179711804735935,0.11795397717336432,0.11793835211951546,0.11792663737585445,0.11791689230291283,0.1179064009191644,0.11789400577777463,0.11788128226893761,0.11787104166484601,0.11786324434484335,0.11785587189287669,0.11784726460599443,0.11783751531465045,0.11783049164559001,0.11782379419781738,0.11781649788366548,0.11780907529369203,0.11780260561869714,0.11779729143082139,0.11779239035385047,0.1177871257227486,0.1177814338729049,0.11777610913185936,0.11777176067428809,0.11776805866696788,0.11776429885428562,0.11776010504532373,0.11775583314497627,0.11775219736037182,0.11775179429348809],"Q_asphliq":[0,0,0,0,0,0,0,0,0,0,0.0002868980254271653,0.0013168685716008004,0.0017167418612843467,0.0018473859235813971,0.0018791585996185546,0.0018832476474780883,0.0018811994289223422,0.0018729412239209349,0.0018742063415832558,0.001874293868267047,0.0018711521236165817,0.0018722455061664035,0.0018728731068212087,0.0018731621103728004,0.0018733385469643475,0.0018730556558047469,0.0018724961741526038,0.0018717333553441194,0.0018707393227546285,0.001869439544129528,0.0018678656216050433,0.0018668410669683947,0.0018658625024351757,0.0018647440870542791,0.0018635803326128109,0.0018625962854053233,0.0018618272982528874,0.001861124836425649,0.0018603395462097653,0.001859456624434174,0.0018586325867552158,0.0018579889168588376,0.0018577986763073815,0.0018577986763073818,0.001857798676316092,0.006548854807177215,0.007860955805750828,0.008125917639871078,0.007953787850646191,0.007731174798012692,0.007579117728500067,0.007504429745459025,0.007476756860885297,0.007462680484711947,0.0074590896338820045,0.007456021550043765,0.007450490106131629,0.007442344397214359,0.007438435087354649,0.00744043789508372,0.007439803692418997,0.007437096738761266,0.0074331336166956466,0.007429104201306953,0.007427759154619173,0.007426725999509574,0.007424871454363224,0.007422416148182888,0.007419654514458258,0.00741761060461837,0.0074163900580781796,0.007415039417720709,0.007413367878679489,0.0074114323174998996,0.007409634044338156,0.007408389481327883,0.007407349090475609,0.007406191835805573,0.007404820192106421,0.007403396208822566,0.00740225382609823,0.007401399630754416,0.007400580447218934,0.007399626119562292,0.007398547059496894,0.0073975669933814495,0.0073968321976217565,0.007396220947518251,0.007395562885804334,0.00739478541276714,0.007393987343205205,0.007393345011398304,0.007392855932179771,0.007392393502390402,0.007391853618796991,0.007391242104098333,0.007390801551373297,0.007390381460557275,0.007389923806437367,0.0073894582317909204,0.007389052427798064,0.007388719100596849,0.007388411685370323,0.007388081466568959,0.007387724450892735,0.0073873904617543515,0.007387117709035467,0.007386885504271971,0.007386649673724068,0.0073863866211868945,0.007386118670444467,0.007385890619435609,0.007385865337462264],"Q_asphsol":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Q_mineral":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Q_water":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"m_solvent":[0,4.540963124173248E-05,0.00027245778745039486,0.0014076985684937072,0.007083902473710265,0.035464921999793064,0.177370019630207,0.8868955077822767,4.434522948542623,22.172660152344367,25.80965947084237,27.632783260915264,28.276772926656186,28.403796231156363,28.3229518286756,28.1546905726416,27.922854980915105,27.629999686197987,27.447354766234103,27.27181212077816,27.070308553069907,27.048894087731817,27.02679274333089,27.008088250754852,26.953305434896834,26.896492030558942,26.82615398976168,26.740846082783953,26.632626581867413,26.49175248590152,26.32138328788604,26.210209115732116,26.104122216277563,25.98293853359812,25.85686765801045,25.750239625973983,25.666882899895437,25.590757168844487,25.505667069420475,25.41000179932411,25.32071743620587,25.250970935943887,25.230355341495653,25.230355341495635,25.230355341514496,38.10290615470845,44.13658167802614,47.359377525816086,48.353329238133604,48.33170738432309,47.82862312433381,47.03837221620046,45.977162139354725,44.667408086213015,43.756042079489234,42.88839630071447,41.950944861380066,41.01089370194249,40.224510367889714,39.61560152546587,39.04263598790889,38.40005634231468,37.68707614422471,37.0269665191314,36.511945725383505,36.080048757298385,35.62873885064654,35.10973505672879,34.577325525304815,34.136282663183316,33.79222228759445,33.470341423380695,33.10490820579088,32.69672883829378,32.32369322612129,32.03568706278189,31.795321517794125,31.541215367608334,31.24488239967975,30.941300457137253,30.693589275094652,30.50238463884801,30.32276369228037,30.11564801029764,29.88253668550384,29.671320388867418,29.51055685184148,29.376950255988433,29.23403792844343,29.065528033606682,28.89286442380586,28.753569289678904,28.647067478280285,28.546650676842006,28.429566082424245,28.297024798895034,28.201433747286945,28.110309242026624,28.011068547259942,27.910127694226187,27.822130284480874,27.74982128980565,27.683144601308896,27.611534189161407,27.534118688805954,27.46169790691218,27.40254597985899,27.35218638931476,27.30104477407211,27.244001974875356,27.18589832097807,27.13644538253638,27.13096190492875],"m_maltene":[0,1.4076985952871623E-05,8.446191571722972E-05,0.0004363865645390202,0.002196009808647972,0.010994126029192731,0.05498470713191652,0.2749376126455355,1.3747021402136304,6.873524778054105,8.000994588248203,8.566162973927943,8.765799774107418,8.80517699925196,8.780115234005908,8.727954243642563,8.656085208839427,8.565300065749161,8.508680139482681,8.454261918355568,8.39179581117706,8.385157326795898,8.378305909901204,8.37250751709227,8.355524843853045,8.337912688173075,8.316107895110902,8.289662443444458,8.256114397521792,8.212443426941155,8.159628974551108,8.125164980527423,8.092278041070557,8.054711098724896,8.015629126548852,7.9825744359884006,7.956733850412215,7.9331348733372495,7.906756942013742,7.8771007077194035,7.849422554625939,7.82780113913319,7.821410304732598,7.821410304732594,7.821410304735098,8.995950032929075,9.010588234801673,8.611583836048446,8.160683505047814,7.789494577434836,7.521546375847464,7.319597722899873,7.1316577736028615,6.924607996164319,6.782394000890257,6.647738170572094,6.5024032246820855,6.356690025708151,6.234799472468187,6.140418397754272,6.051608701431992,5.9520088477869955,5.841496913917081,5.739179919800772,5.659351695169355,5.59240766382752,5.522454626962489,5.4420090373736825,5.359485558432169,5.2911239135021235,5.237794554270793,5.187903019368047,5.131260869563524,5.067993066397261,5.010172545410001,4.965531589242723,4.928274929060495,4.888888475032036,4.842956864128864,4.795901662139152,4.757506428191745,4.727869709009428,4.700028461761532,4.667925530443175,4.631793274412409,4.599054747810634,4.574136399097334,4.5534273763459465,4.531275965154851,4.505156930958019,4.478394070929505,4.4568033247288685,4.440295543647886,4.424730939128703,4.406582826648534,4.386038927310489,4.371222314029213,4.357098015445026,4.341715707463415,4.326069874945382,4.312430276175255,4.301222381787267,4.290887494873562,4.279787880779435,4.267788477995943,4.256563256588747,4.247394707720998,4.239588971038077,4.231662020524586,4.222820386480811,4.213814319955322,4.20614911435096,4.205299175305597],"m_asphliq":[0,1.0595580973937586E-06,6.357348584362552E-06,3.284630101920652E-05,0.00016529106319342635,0.0008275148740645254,0.00413863392842002,0.020694229200197495,0.10347220555908485,0.5173620873535217,0.6022254075953426,0.6447649641057168,0.6597913901372632,0.6627552673404145,0.6608688978867306,0.6569428017825936,0.6515333044631761,0.6447000140268296,0.640438299086548,0.6363423038902729,0.6316405538213843,0.6311408829469494,0.6306251848938506,0.6301887467192906,0.6289104809736079,0.6275848348284923,0.625943613822208,0.6239530959268129,0.6214279741551424,0.6181409118070891,0.614165630388422,0.6115715662855962,0.609096205216353,0.6062685858601976,0.6033269319990742,0.6008389445025015,0.5988939541629283,0.5971176870462527,0.5951322513272792,0.5929000616177795,0.5908167597427001,0.5891893413493626,0.5887083107963081,0.5887083107963078,0.5887083107964962,0.6771145281419589,0.6782163282984215,0.6481837387220662,0.6142450036527323,0.5863060517185645,0.5661379072290775,0.5509374707716742,0.536791452883463,0.5212070608138075,0.5105027814489047,0.5003673962284779,0.4894282065988523,0.47846054630659424,0.4692859884066582,0.4621820364464409,0.45549743555386446,0.4480006722707227,0.4396825696042476,0.4319812903687727,0.4259727142366405,0.420933916107702,0.41566863368888207,0.40961358922596947,0.403402144486995,0.39825664425851687,0.39424260641038983,0.3904873295368754,0.38622394185714753,0.3814618490786538,0.3771097667925248,0.3737496947756319,0.3709454299912464,0.3679808581409088,0.3645236400672583,0.3609818506203115,0.3580918867341149,0.35586116590403494,0.3537655881246853,0.35134923842153704,0.3486296062088841,0.34616541599985823,0.34428984133911394,0.34273109766921184,0.3410637871259747,0.33909783828777773,0.33708342944006303,0.33545831948810007,0.3342157983139707,0.3330442689250628,0.3316782819449553,0.3301319669192423,0.32901673794688413,0.3279536186836426,0.3267958105396917,0.3256181672153014,0.3245915307342764,0.3237479257684624,0.3229700310435739,0.32213457620752073,0.32123139534013173,0.3203864861900586,0.31969638035158604,0.31910885177578147,0.31851219957819277,0.3178467002321929,0.31716882424761034,0.3165918732800186,0.31652789937247783],"m_asphsol":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"m_mineral":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"m_water":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"h_solvent":[0,9.354131474247087E-07,5.612478884548252E-06,2.8997807570165972E-05,0.00014592445099825452,0.0007305576681386973,0.003653723753840911,0.018269554182351978,0.09134870632490728,0.4567444670376839,0.5316646301543386,0.5692199662357661,0.5824857951726478,0.585102404596897,0.5834370548702359,0.5799709665803193,0.5751952823342281,0.5691626261447726,0.5654002423778783,0.5617841615156692,0.5576333000941376,0.557192174018577,0.5567368986163538,0.5563515964724453,0.5552231009351496,0.5540527764045513,0.5526038518850896,0.5508465564483254,0.548617294919506,0.5457153668946653,0.5422058561723359,0.53991573005937,0.5377303989345467,0.5352340824718945,0.5326370925535163,0.5304406143984753,0.5287235122030166,0.5271553644833554,0.5254025557610563,0.5234319044046577,0.521592696183044,0.5201559570696032,0.5197312872900536,0.5197312872900532,0.5197312872904418,0.784898674522782,0.909189034463408,0.975576836457227,0.9960516889099518,0.9956062907472055,0.9852430347993371,0.9689643056174778,0.9471039682635642,0.9201237632343808,0.9013501303839578,0.8834771099127504,0.8641661316588747,0.8448016006167987,0.8286025413099127,0.8160593578219357,0.8042565864230897,0.7910198031169982,0.7763328075852243,0.7627349164513627,0.7521257745469875,0.7432289372190418,0.7339322041538067,0.7232410146612172,0.7122736744320696,0.7031884367737835,0.6961009843978669,0.6894704176203666,0.6819426965864843,0.6735344286392787,0.665850102505331,0.6599173357252424,0.654965939186201,0.6497314938223985,0.6436271994990164,0.6373735803303585,0.6322708677535206,0.6283321585919871,0.6246320669951667,0.6203655991409547,0.6155636355032206,0.6112126972678426,0.6079010578193734,0.6051488362547829,0.6022049217930463,0.5987337116820823,0.5951769373530922,0.5923075350639387,0.5901136569838353,0.5880451267245238,0.5856332492002111,0.5829029724769809,0.5809338499801616,0.5790567358538804,0.577012432737871,0.5749331073071622,0.5731204096092466,0.5716308845361139,0.5702573818376537,0.5687822471760512,0.5671875309260677,0.5656957030984072,0.5644772063005251,0.563439826744562,0.5623863379147618,0.561211287977657,0.5600143850237526,0.5589956819968356,0.5588827254079463],"h_maltene":[0,1.9283542401194004E-07,1.15701254407164E-06,5.97789814437014E-06,3.008232614586263E-05,0.0001506044661533251,0.0007532151661906373,0.0037662686663771988,0.018831536167310006,0.09415787367197405,0.10960266559244114,0.11734469827298552,0.12007944896037559,0.12061886300345151,0.12027555115076588,0.11956101703619948,0.11857650971012915,0.1173328776130022,0.11655726218469427,0.11581180710076122,0.11495610700242548,0.11486516886021779,0.11477131383426308,0.11469188379578452,0.11445924443634307,0.11421798202976817,0.11391928623439591,0.11355701977321175,0.11309745750029852,0.11249922502659115,0.11177573937741246,0.11130362987023866,0.1108531238502816,0.11033850820171091,0.10980313871984729,0.10935033473956715,0.10899635411523584,0.10867308045667465,0.1083117389316951,0.10790548914684114,0.10752633636473889,0.10723015259086563,0.10714260691414519,0.10714260691414512,0.10714260691417941,0.12323219223190515,0.1234327155452284,0.11796690186367736,0.11179018500065499,0.10670540517034023,0.10303488186092417,0.10026846195753251,0.09769394210414879,0.09485764378307286,0.09290950686151037,0.09106490644619307,0.08907401677646694,0.0870779455576459,0.085408211951619,0.0841153205171818,0.08289874933468483,0.08153436777790404,0.080020505670097,0.07861890301096948,0.07752536568725145,0.07660832416202082,0.07565006338304779,0.07454806900511894,0.07341761038948177,0.0724811495000291,0.07175061033247662,0.07106716464887736,0.07029124478854143,0.06942456255338715,0.06863250062205481,0.06802098067455786,0.06751061546658213,0.06697107500043885,0.06634187485108033,0.0656972830430021,0.06517132093413351,0.06476533847958121,0.0643839515309799,0.06394418534853666,0.0634492229371563,0.06300074997000868,0.06265940272736074,0.06237571748419105,0.06207227349527194,0.061714478506274234,0.061347863985335684,0.06105210033875163,0.0608259663513409,0.06061275259080415,0.06036414831025389,0.06008272503165054,0.05987975772642757,0.05968627418417845,0.05947555763648514,0.05926123116363537,0.059074387344866516,0.05892085454503106,0.058779280751692635,0.0586272312435539,0.05846285586295813,0.05830908570669516,0.058183489146862985,0.05807656124709695,0.057967972883898426,0.05784685460932619,0.05772348383500441,0.05761848101850629,0.05760683801788489],"h_asphliq":[0,1.2095412070705009E-08,7.257247242423005E-08,3.749577741918553E-07,1.8868842830299813E-06,9.44651682722061E-06,4.724467954817375E-05,0.00023623549315293944,0.0011811895611767676,0.00590595990129591,0.006874719264787017,0.007360330640476221,0.007531865184215334,0.00756569939886318,0.007544165500990076,0.007499347052312712,0.007437594799807948,0.0073595892012195165,0.0073109394872893614,0.007264181551258823,0.007210508605266945,0.00720480459985102,0.00719891763577455,0.007193935464832085,0.007179343390109679,0.007164210443247629,0.007145475043632512,0.0071227522366074545,0.007093926645606648,0.007056403102820652,0.0070110231779500235,0.006981410574036485,0.00695315302758394,0.006920874267810476,0.0068872937442816685,0.006858892060530841,0.0068366889744626526,0.006816411952582793,0.0067937471612703115,0.006768265543581958,0.006744483558706622,0.00672590572316624,0.006720414506807171,0.006720414506807167,0.006720414506809318,0.0077296179011639154,0.007742195528520793,0.007399357747968794,0.00701192926544215,0.006692991457974481,0.0064627614980488305,0.006289240533923222,0.006127756311455057,0.005949852292395063,0.005827657322476081,0.005711956577950662,0.005587079984005163,0.005461878382495369,0.005357145986377377,0.005276050644365764,0.005199742414998453,0.005114162925464872,0.005019207415573604,0.0049312932690499175,0.004862702217313248,0.004805181690727192,0.004745075727042033,0.004675954214908328,0.004605047311495377,0.004546308724412293,0.004500486374547829,0.004457617917087619,0.004408949107958305,0.004354587318249473,0.004304906013613297,0.004266549027119086,0.004234536872046192,0.004200694727635945,0.004161228767891077,0.0041207973815104056,0.004087806926188526,0.004062342076530079,0.004038419955761248,0.004010836055040377,0.003979790025215572,0.003951659999998382,0.003930249330355182,0.003912455452844884,0.003893422227465465,0.003870979889129883,0.0038479843543386192,0.003829432870868722,0.0038152488392005786,0.0038018752160395297,0.0037862817573625037,0.003768629759352081,0.003755898835010093,0.003743762770361217,0.0037305457824165717,0.003717102365471477,0.003705382770939229,0.003695752577265553,0.0036868725004974194,0.003677335344834712,0.003667025060960408,0.0036573799793385687,0.0036495020588080598,0.0036427951115956788,0.00363598401344969,0.0036283869889519745,0.003620648678625689,0.003614062480365509,0.0036133321846173265],"h_asphsol":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"h_mineral":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"h_water":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"frac_solvent":[0,0.7499999962464035,0.7499999962464035,0.7499999962464036,0.7499999962464035,0.7499999962464036,0.7499999962464035,0.7499999962464033,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464033,0.7499999962464036,0.7499999962464035,0.7499999962464033,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464035,0.7499999962464033,0.7499999962464033,0.7499999962464036,0.7499999962464035,0.7499999962464035,0.7499999962464036,0.7499999962464033,0.7499999962464036,0.7499999962464033,0.7499999962464036,0.7499999962464035,0.7499999962464036,0.7499999962464035,0.7499999962464035,0.7499999962464036,0.7499999962464035,0.7499999962464035,0.7499999962464033,0.7499999962464036,0.7499999962464036,0.7499999962464036,0.7499999962464836,0.7975328514282557,0.8199956332928794,0.8364551856387076,0.8463995077954776,0.8522982066649287,0.8553609017106749,0.8566619595082945,0.85705355887939,0.8571223461554218,0.8571391111169131,0.8571421802082192,0.8571427295118653,0.8571428280909079,0.8571428498449633,0.8571428538054632,0.8571428545271726,0.8571428546618927,0.8571428546836047,0.8571428546894245,0.8571428546911491,0.8571428546914612,0.8571428546915169,0.8571428546915255,0.8571428546915273,0.8571428546915284,0.8571428546915288,0.857142854691529,0.8571428546915288,0.8571428546915288,0.857142854691529,0.8571428546915287,0.8571428546915287,0.8571428546915286,0.8571428546915287,0.8571428546915287,0.8571428546915288,0.8571428546915287,0.8571428546915286,0.8571428546915287,0.8571428546915288,0.8571428546915288,0.8571428546915287,0.8571428546915288,0.8571428546915287,0.8571428546915288,0.8571428546915286,0.8571428546915288,0.8571428546915288,0.8571428546915288,0.8571428546915287,0.8571428546915285,0.8571428546915286,0.8571428546915287,0.8571428546915285,0.8571428546915288,0.8571428546915287,0.8571428546915286,0.8571428546915287,0.8571428546915288,0.8571428546915288,0.857142854691529,0.857142854691529,0.8571428546915287,0.8571428546915288,0.8571428546915286,0.8571428546915284,0.8571428546915285,0.8571428546915286],"frac_maltene":[0,0.23250000326167786,0.23250000326167783,0.2325000032616778,0.23250000326167783,0.2325000032616778,0.23250000326167783,0.23250000326167783,0.23250000326167794,0.23250000326167786,0.23250000326167786,0.23250000326167788,0.23250000326167786,0.23250000326167786,0.23250000326167786,0.23250000326167786,0.2325000032616778,0.23250000326167786,0.23250000326167788,0.23250000326167786,0.23250000326167783,0.23250000326167783,0.23250000326167783,0.23250000326167786,0.23250000326167788,0.23250000326167786,0.23250000326167783,0.23250000326167786,0.23250000326167786,0.23250000326167786,0.23250000326167783,0.23250000326167783,0.23250000326167788,0.23250000326167777,0.23250000326167783,0.23250000326167783,0.23250000326167786,0.23250000326167788,0.23250000326167788,0.2325000032616778,0.23250000326167783,0.23250000326167786,0.23250000326167786,0.23250000326167788,0.23250000326160333,0.18829444798612718,0.16740406087261805,0.15209667720608566,0.14284845760940523,0.13736266766622277,0.13451436127648633,0.13330437752589286,0.13294019011113292,0.1328762179444864,0.1328606265303148,0.13285777227540307,0.1328572614230126,0.13285716974450318,0.13285714951323152,0.1328571458299666,0.1328571451587768,0.13285714503348736,0.13285714501329504,0.13285714500788265,0.1328571450062787,0.13285714500598847,0.13285714500593684,0.13285714500592882,0.13285714500592705,0.13285714500592596,0.13285714500592574,0.1328571450059257,0.1328571450059256,0.13285714500592552,0.1328571450059256,0.13285714500592571,0.13285714500592571,0.13285714500592571,0.1328571450059257,0.13285714500592574,0.13285714500592555,0.13285714500592563,0.13285714500592574,0.13285714500592571,0.13285714500592563,0.1328571450059256,0.13285714500592574,0.13285714500592577,0.13285714500592571,0.13285714500592574,0.13285714500592585,0.1328571450059256,0.13285714500592571,0.13285714500592571,0.13285714500592588,0.13285714500592602,0.13285714500592571,0.13285714500592571,0.13285714500592577,0.13285714500592566,0.13285714500592583,0.13285714500592574,0.1328571450059258,0.13285714500592574,0.13285714500592555,0.1328571450059254,0.13285714500592558,0.13285714500592571,0.13285714500592563,0.1328571450059259,0.1328571450059261,0.13285714500592596,0.13285714500592588],"frac_asphliq":[0,0.017500000491918702,0.017500000491918705,0.017500000491918705,0.01750000049191871,0.017500000491918705,0.017500000491918705,0.017500000491918705,0.017500000491918712,0.01750000049191871,0.017500000491918705,0.017500000491918705,0.017500000491918702,0.017500000491918702,0.01750000049191871,0.017500000491918705,0.017500000491918702,0.017500000491918705,0.017500000491918705,0.01750000049191871,0.017500000491918702,0.017500000491918705,0.017500000491918702,0.0175000004919187,0.017500000491918705,0.017500000491918705,0.0175000004919187,0.017500000491918702,0.017500000491918705,0.017500000491918705,0.01750000049191871,0.017500000491918705,0.017500000491918705,0.017500000491918702,0.01750000049191871,0.017500000491918702,0.017500000491918705,0.017500000491918705,0.017500000491918705,0.017500000491918702,0.017500000491918705,0.017500000491918705,0.017500000491918705,0.01750000049191871,0.017500000491913095,0.01417270058561722,0.01260030583450265,0.011448137155206725,0.010752034595117187,0.01033912566884846,0.010124737012838758,0.010033662965812755,0.010006251009477097,0.010001435900091815,0.010000262352772052,0.01000004751637782,0.010000009065122085,0.010000002164589017,0.01000000064180511,0.010000000364570112,0.010000000314050449,0.01000000030462006,0.010000000303100203,0.010000000302692824,0.0100000003025721,0.010000000302550252,0.010000000302546363,0.01000000030254576,0.01000000030254563,0.010000000302545553,0.010000000302545532,0.01000000030254553,0.010000000302545522,0.010000000302545517,0.010000000302545518,0.010000000302545527,0.010000000302545527,0.010000000302545529,0.010000000302545532,0.010000000302545534,0.010000000302545534,0.010000000302545529,0.010000000302545529,0.01000000030254552,0.010000000302545536,0.010000000302545517,0.010000000302545524,0.010000000302545534,0.01000000030254553,0.010000000302545524,0.010000000302545548,0.010000000302545534,0.01000000030254553,0.010000000302545527,0.010000000302545534,0.010000000302545525,0.010000000302545518,0.010000000302545525,0.01000000030254554,0.010000000302545558,0.01000000030254556,0.010000000302545534,0.01000000030254553,0.010000000302545525,0.010000000302545513,0.010000000302545503,0.010000000302545515,0.010000000302545527,0.010000000302545529,0.010000000302545522,0.010000000302545518,0.01000000030254552,0.010000000302545522],"frac_asphsol":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"frac_mineral":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"frac_water":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"vfrac_solvent":[0,0.820290334279364,0.820290334279364,0.820290334279364,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793638,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.820290334279364,0.8202903342793639,0.820290334279364,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.820290334279364,0.820290334279364,0.820290334279364,0.820290334279364,0.8202903342793639,0.820290334279364,0.8202903342793639,0.820290334279364,0.820290334279364,0.820290334279364,0.8202903342793639,0.8202903342793639,0.8202903342793638,0.820290334279364,0.8202903342793639,0.8202903342793639,0.8202903342793639,0.820290334279427,0.8570068123615138,0.8739144011704274,0.8861283021263404,0.8934370462497879,0.8977475948305735,0.899978464723553,0.9009246657083161,0.9012092846265035,0.9012592717127558,0.9012714542817558,0.9012736844777125,0.9012740836359814,0.9012741552696417,0.9012741710774902,0.9012741739554354,0.9012741744798743,0.9012741745777701,0.9012741745935475,0.9012741745977765,0.9012741745990298,0.9012741745992566,0.9012741745992969,0.9012741745993033,0.9012741745993046,0.9012741745993055,0.9012741745993056,0.9012741745993057,0.9012741745993057,0.9012741745993058,0.9012741745993057,0.9012741745993056,0.9012741745993056,0.9012741745993056,0.9012741745993057,0.9012741745993056,0.9012741745993058,0.9012741745993057,0.9012741745993056,0.9012741745993057,0.9012741745993058,0.9012741745993057,0.9012741745993057,0.9012741745993056,0.9012741745993057,0.9012741745993057,0.9012741745993055,0.9012741745993058,0.9012741745993057,0.9012741745993056,0.9012741745993055,0.9012741745993054,0.9012741745993056,0.9012741745993055,0.9012741745993055,0.9012741745993056,0.9012741745993056,0.9012741745993057,0.9012741745993057,0.9012741745993055,0.9012741745993058,0.9012741745993059,0.9012741745993057,0.9012741745993056,0.9012741745993057,0.9012741745993056,0.9012741745993055,0.9012741745993054,0.9012741745993055],"vfrac_maltene":[0,0.169102855630313,0.16910285563031294,0.16910285563031294,0.16910285563031294,0.16910285563031294,0.16910285563031294,0.16910285563031294,0.169102855630313,0.169102855630313,0.169102855630313,0.169102855630313,0.169102855630313,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031294,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.16910285563031296,0.169102855630313,0.16910285563031296,0.16910285563031296,0.16910285563031294,0.16910285563031296,0.16910285563031296,0.16910285563031294,0.16910285563031296,0.169102855630313,0.169102855630313,0.16910285563031296,0.16910285563031296,0.16910285563031294,0.169102855630313,0.16910285563031296,0.16910285563031296,0.169102855630313,0.16910285563025368,0.13455345469808275,0.11864378429752101,0.10715077126592705,0.1002734032768976,0.09621727156344172,0.09411807190197818,0.09322771751907924,0.09295989735682543,0.09291286060453942,0.09290139707419136,0.09289929850868921,0.09289892290950885,0.09289885550380501,0.09289884062896625,0.09289883792088281,0.09289883742739727,0.09289883733527948,0.09289883732043326,0.09289883731645385,0.09289883731527461,0.0928988373150612,0.09289883731502321,0.09289883731501733,0.09289883731501603,0.09289883731501523,0.09289883731501505,0.09289883731501501,0.09289883731501497,0.09289883731501493,0.09289883731501496,0.09289883731501504,0.09289883731501504,0.09289883731501507,0.09289883731501504,0.09289883731501508,0.09289883731501496,0.09289883731501498,0.0928988373150151,0.09289883731501505,0.092898837315015,0.09289883731501498,0.09289883731501507,0.09289883731501507,0.09289883731501505,0.09289883731501507,0.09289883731501516,0.09289883731501497,0.09289883731501505,0.09289883731501503,0.09289883731501515,0.09289883731501526,0.09289883731501507,0.09289883731501504,0.0928988373150151,0.09289883731501498,0.09289883731501512,0.09289883731501508,0.0928988373150151,0.09289883731501505,0.09289883731501496,0.09289883731501483,0.09289883731501491,0.09289883731501505,0.09289883731501497,0.09289883731501519,0.09289883731501535,0.0928988373150152,0.09289883731501516],"vfrac_asphliq":[0,0.010606810090323075,0.010606810090323073,0.010606810090323073,0.010606810090323077,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323073,0.010606810090323073,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323073,0.010606810090323071,0.010606810090323071,0.010606810090323073,0.010606810090323073,0.010606810090323071,0.010606810090323073,0.010606810090323075,0.010606810090323073,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323075,0.010606810090323071,0.010606810090323073,0.010606810090323071,0.010606810090323075,0.010606810090323073,0.010606810090323075,0.010606810090323075,0.010606810090319356,0.008439732940403517,0.0074418145320514426,0.006720926607732597,0.006289550473314285,0.0060351336059846295,0.0059034633744689015,0.005847616772604638,0.005830818016671174,0.00582786768270488,0.005827148644052852,0.005827017013598354,0.0058269934545096495,0.005826989226553254,0.0058269882935436425,0.005826988123681776,0.005826988092728382,0.005826988086950384,0.0058269880860191674,0.005826988085769565,0.005826988085695598,0.005826988085682213,0.005826988085679829,0.00582698808567946,0.00582698808567938,0.005826988085679332,0.005826988085679319,0.005826988085679318,0.0058269880856793126,0.00582698808567931,0.00582698808567931,0.005826988085679317,0.005826988085679316,0.005826988085679318,0.005826988085679321,0.00582698808567932,0.00582698808567932,0.005826988085679318,0.0058269880856793195,0.0058269880856793126,0.005826988085679322,0.00582698808567931,0.005826988085679314,0.00582698808567932,0.0058269880856793195,0.005826988085679313,0.005826988085679329,0.00582698808567932,0.005826988085679319,0.005826988085679316,0.00582698808567932,0.005826988085679316,0.0058269880856793126,0.005826988085679315,0.005826988085679323,0.005826988085679334,0.005826988085679337,0.005826988085679323,0.005826988085679319,0.005826988085679315,0.005826988085679309,0.005826988085679302,0.005826988085679308,0.005826988085679317,0.005826988085679319,0.005826988085679316,0.005826988085679313,0.005826988085679312,0.005826988085679313],"vfrac_asphsol":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"vfrac_mineral":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"vfrac_water":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"color":[0,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.2500000037535965,0.25000000375359654,0.25000000375359654,0.25000000375359666,0.2500000037535966,0.2500000037535966,0.2500000037535966,0.25000000375359654,0.25000000375359654,0.2500000037535966,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.2500000037535965,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.2500000037535966,0.2500000037535966,0.25000000375359654,0.25000000375359654,0.2500000037535965,0.2500000037535966,0.2500000037535965,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.2500000037535966,0.2500000037535966,0.2500000037535965,0.25000000375359654,0.25000000375359654,0.25000000375359654,0.2500000037535966,0.25000000375351644,0.2024671485717444,0.1800043667071207,0.16354481436129237,0.1536004922045224,0.14770179333507125,0.14463909828932506,0.14333804049170562,0.14294644112061,0.14287765384457823,0.14286088888308687,0.14285781979178092,0.14285727048813468,0.1428571719090922,0.14285715015503664,0.1428571461945367,0.14285714547282724,0.14285714533810745,0.14285714531639523,0.14285714531057547,0.14285714530885082,0.14285714530853874,0.14285714530848323,0.14285714530847457,0.14285714530847266,0.1428571453084715,0.14285714530847127,0.1428571453084712,0.14285714530847113,0.14285714530847105,0.14285714530847113,0.14285714530847124,0.14285714530847124,0.14285714530847124,0.1428571453084712,0.14285714530847127,0.14285714530847107,0.14285714530847116,0.14285714530847127,0.1428571453084712,0.14285714530847116,0.14285714530847113,0.14285714530847127,0.1428571453084713,0.14285714530847124,0.14285714530847127,0.1428571453084714,0.14285714530847113,0.14285714530847127,0.14285714530847124,0.14285714530847143,0.14285714530847154,0.14285714530847124,0.14285714530847124,0.14285714530847132,0.1428571453084712,0.1428571453084714,0.14285714530847127,0.14285714530847132,0.14285714530847127,0.14285714530847105,0.1428571453084709,0.1428571453084711,0.14285714530847124,0.14285714530847116,0.1428571453084714,0.14285714530847163,0.1428571453084715,0.1428571453084714],"specs":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"htotal":[0,1.1403439835073536E-06,6.842063901044122E-06,3.535066348872797E-05,0.00017789366142714714,0.000890608651119243,0.004454183599579722,0.022272058341882117,0.11136143205339406,0.5568083006109539,0.6481420150115668,0.6939249951492279,0.7100971093172387,0.7132869669992117,0.7112567715219918,0.7070313306688315,0.7012093868441652,0.6938550929589944,0.689268444049862,0.6848601501676893,0.67979991570183,0.6792621474786459,0.6787071300863914,0.6782374157330618,0.6768616887616024,0.6754349688775672,0.6736686131631181,0.6715263284581445,0.6688086790654111,0.665270995024077,0.6609926187276983,0.6582007705036451,0.6555366758124122,0.6524934649414159,0.6493275250176452,0.6466498411985733,0.644556555292715,0.6426448568926129,0.6405080418540218,0.6381056590950809,0.6358635161064895,0.634112015383635,0.633594308711006,0.6335943087110055,0.6335943087114305,0.915860484655851,1.0403639455371574,1.100943096068873,1.114853803176049,1.1090046873755204,1.09474067815831,1.0755220081089336,1.050925666679168,1.0209312593098487,1.0000872945679442,0.9802539729368941,0.9588272284193469,0.9373414245569399,0.9193678992479091,0.9054507289834833,0.892355078172773,0.877668333820367,0.8613725206708949,0.8462851127313822,0.8345138424515521,0.8246424430717898,0.8143273432638966,0.8024650378812443,0.7902963321330467,0.7802158949982249,0.7723520811048914,0.7649952001863316,0.756642890482984,0.7473135785109153,0.7387875091409992,0.7322048654269193,0.7267110915248294,0.7209032635504733,0.7141303031179878,0.707191660754871,0.7015299956138425,0.6971598391480984,0.6930544384819078,0.6883206205445317,0.6829926484655924,0.6781651072378496,0.6744907098770893,0.6714370091918188,0.6681706175157837,0.6643191700774864,0.6603727856927665,0.657189068273559,0.6547548721743768,0.6524597545313675,0.6497836792678275,0.6467543272679835,0.6445695065415993,0.6424867728084201,0.6402185361567727,0.637911440836269,0.6359001797250523,0.6342474916584104,0.6327235350898437,0.6310868137644399,0.6293174118499861,0.6276621687844409,0.6263101975061962,0.6251591831032546,0.6239902948121099,0.6226865295759351,0.6213585175373826,0.6202282254957074,0.6201028956104485],"Qtotal":[0,0,0,0,0,0,0,0,0,0,0.02704847385633041,0.12415312053170645,0.16185279520094215,0.17416979354300172,0.17716529131910924,0.17755080287486566,0.17735769877115262,0.17657912303244475,0.17669839712630972,0.17670664905908173,0.17641044835182756,0.17651353142209195,0.176572701016858,0.17659994799772508,0.17661658227231325,0.17658991156196852,0.17653716416219625,0.17646524632808885,0.17637152987790014,0.17624898798132307,0.17610060005780206,0.17600400601794236,0.17591174788143524,0.17580630473958836,0.17569658707409247,0.1756038120362529,0.17553131265652536,0.1754650852213911,0.1753910488042971,0.17530780777630922,0.17523011828512938,0.17516943369750154,0.17515149799865937,0.17515149799865937,0.17515149799954197,0.7759552172351207,1.0563224562899503,1.2090472213343328,1.264603549076049,1.2810279444925983,1.283842593362733,1.2833313189428468,1.2822826642004845,1.2805164583366628,1.2800582393748787,1.2795606281299414,1.2786165222762547,1.2772195224422287,1.2765488297954033,1.2768925793489498,1.2767837472850305,1.2763191940304022,1.27563906206195,1.2749475529991234,1.2747167224956635,1.274539417329196,1.2742211491062232,1.2737997811295325,1.2733258426755794,1.272975076583428,1.2727656121873747,1.2725338217087248,1.2722469601231792,1.2719147883131245,1.2716061772201719,1.2713925912316684,1.271214044298505,1.2710154417523833,1.27078004678006,1.2705356695369772,1.2703396192434917,1.270193026298517,1.2700524419136794,1.2698886647370997,1.2697034815773711,1.269535287288826,1.269409185132979,1.2693042852954433,1.2691913518718216,1.2690579256444543,1.2689209647394002,1.2688107308076597,1.2687267973567347,1.2686474373541794,1.2685547850979064,1.26844983985181,1.2683742342870556,1.268302140297872,1.2682235998730091,1.268143700165027,1.2680740580125307,1.2680168539825418,1.2679640968424895,1.2679074262613068,1.2678461569278248,1.2677888392993237,1.2677420307740819,1.2677021808962219,1.2676617087784765,1.2676165649523177,1.267570580519454,1.2675314434892235,1.2675271047171217]}}}

The strange thing is in inner Dictionary seems to get deserialized no problem, its only the outer public fields failed.

applejag commented 3 years ago

Hmm ok here's my theory: Your AotHelper usage ensures that the get methods for your properties are there, but it does not ensure that the set methods for your properties are there.

Either you change your AotHelper code to also assign every single value, or a more appropriate solution here would be if you created a link.xml file to preserve all the fields, properties, and methods in those types.

I've not confirmed that this will work, but you would create something like this:

<linker>
    <assembly fullname="Exergy.Common">
        <!-- Wildcards are supported. -->
        <type fullname="Exergy.Common.Messages.*" />
    </assembly>
</linker>

And save that to a file named link.xml and store it anywhere inside your Assets folder, preferrably next to the DLLs. It must be named link.xml (lowercase)

I've written some docs about link.xml if you're curious what the different tags and attributes are: https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Reference-link.xml

zkkzkk32312 commented 3 years ago

@jilleJr thanks for the advice I will give link.xml a try.

zkkzkk32312 commented 3 years ago

@jilleJr just want to update that after adding set in AOTHelper the issue of deserialization is now resolved. Thank you.

applejag commented 3 years ago

@zkkzkk32312 Ah nice! The link.xml alternative can be nice to switch to later if you don't want to have to update the AotHelper.Ensure code every time the models changes.

I'm closing this issue as resolved :)

zkkzkk32312 commented 3 years ago

@jilleJr Hey so are you saying the link.xml method is better in general or just better in this particular case?

applejag commented 3 years ago

@zkkzkk32312 Motto goes "No shoe fits all", and it does apply here as well. Could nail a screw with a hammer, but it's not intended for it.

I'll try to explain it briefly, but I don't know your level of understanding so I'm just guessing.


There are multiple phase in compiling an application. For Unity games, compiling all the code into DLLs and IL happens in one phase, and stripping away the code that is not needed happens in a later phase when all the code is already compiled.

For fixing AOT issues Unity has come up with two different solutions: [Preserve] attribute that you add to members, types, or assemblies you don't want the code stripping to trim away, and the link.xml file to do the same thing but target types you don't control (where you can't add the attribute retrospectively) such as with prebuilt assemblies/DLLs.

But you cannot tell it to preserve something that haven't even been generated.

The AotHelper is something that SaladLab came up with (thats why they're in the credits) and its main benefit is that you can enforce generics to be generated.

For example if you have a model you wished to deserialize that had a property of type List<decimal> then no matter how you use the attributes or the link.xml files you cannot get it to deserialize because the code stripper will remove some things from that type. The List<decimal> type will still be generated, as it's directly referenced in the model, but its constructor is never referenced, and so when Newtonsoft.Json tries to call new List<decimal>() via reflection it will fail. You have to start adding code to force the compiler to actually generate that generic version of a List<T>

You could of course create some other type, put a [Preserve] attribute on it, and in some method (doesn't matter if you're going to use the method or not as long as it's preserved) you call new List<decimal>(), and that would resolve that issue. AotHelper shines the most in the other utility functions it has, as it ensures the constructors of some internal Newtonsoft.Json types are also generated.

"Why can't Newtonsoft.Json just tell the compiler to generate those constructors automatically?" Well because of technical difficulties. When writing C#/.NET, you cannot actually write code that alters how other code is generated. It's just not supported.


If you got more questions, just ask away! Do want to note though that a while ago I did put in a lot of effort in trying to document this stuff over at https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Fix-AOT-compilation-errors, maybe you'll find some answers there if you're willing to research