[fd912a]: / project / sparkplug™_mqtt_edge_b9741afd / function_blocks_d9bd2ff1 / fb_edge_df8b6e33 / fb_edge_af25efb2 / ncmd_87b989a7 / onncmdmessage_9198f371 / 9198f37146854cb899a5246fe9448ec5.object  Maximize  Restore  History

Download this file

1 lines (1 with data), 18.2 kB

1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)9198f371-4685-4cb8-99a5-246fe9448ec5","ParentGuid":"(Guid)af25efb2-e7d3-4d17-9b46-1d6d5c77fe77","Name":"(string)onNCMDMessage","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)24568a24-c491-472c-a21f-ee5d33859fab","@Value":{"@Type":"24568a24","@Value":{"MemoryReserveForOnlineChange":"(int)0","ExcludeFromBuild":"(bool)False","External":"(bool)False","EnableSystemCall":"(bool)False","CompilerDefines":"(string)","LinkAlways":"(bool)False","Undefines":{"@Type":"[string]","@Value":[]}}}},{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)87b989a7-0eaa-44c4-9c4b-7f911ce5296c"}]}}}}]},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"24568a24":"{24568a24-c491-472c-a21f-ee5d33859fab}","2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","bool":"System.Boolean","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","int":"System.Int32","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2471","Tag":null,"Text":"(string)//note: pMessage is already decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2472","Tag":null,"Text":"(string)onNCMDMessage := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2473","Tag":null,"Text":"(string)// //get first metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2474","Tag":null,"Text":"(string)pMessage.GetFirstMetric(name => newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2475","Tag":null,"Text":"(string)    datatype => newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2476","Tag":null,"Text":"(string)    timestamp => newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2477","Tag":null,"Text":"(string)    valueString => newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2478","Tag":null,"Text":"(string)    valueLreal => newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2479","Tag":null,"Text":"(string)    valueReal => newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2480","Tag":null,"Text":"(string)    valueVarInt => newVarInt,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2481","Tag":null,"Text":"(string)    MetricValid => newMetricValid,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2482","Tag":null,"Text":"(string)    HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2483","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2484","Tag":null,"Text":"(string)THIS^.GetMetricbyName(DeviceId := \"\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2485","Tag":null,"Text":"(string)    MetricName := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2486","Tag":null,"Text":"(string)    Metric => itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2487","Tag":null,"Text":"(string)    GetTimestamp =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2488","Tag":null,"Text":"(string)    xError => MetricNotExisting,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2489","Tag":null,"Text":"(string)    eError =>);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2490","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2491","Tag":null,"Text":"(string)IF NOT newMetricValid THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2492","Tag":null,"Text":"(string)    ; // There are no metrics, so we needn't do anything"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2493","Tag":null,"Text":"(string)ELSIF MetricNotExisting THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2494","Tag":null,"Text":"(string)    WriteEdgeLog("}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2495","Tag":null,"Text":"(string)        CmpLog.LogClass.LOG_WARNING,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2496","Tag":null,"Text":"(string)        'Someone sent an NCMD with metric %s not in our NBIRTH. It was ignored',"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2497","Tag":null,"Text":"(string)        TO_STRING(newName));"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2554","Tag":null,"Text":"(string)ELSIF itfExistingMetric.Access = SPStack.AccessMode.ReadOnly THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2555","Tag":null,"Text":"(string)\titfExistingMetric.Notify := TRUE; // It Is readonly, so ignore it.  We notify anyway (with the old value, so the host knows it didn't work)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2498","Tag":null,"Text":"(string)ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2499","Tag":null,"Text":"(string)    // update one as it allready excists"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2500","Tag":null,"Text":"(string)    SPStack.Update(Metric := itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2501","Tag":null,"Text":"(string)        Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2502","Tag":null,"Text":"(string)        DataType := newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2503","Tag":null,"Text":"(string)        Status := SPStack.MetricStatus.ONLINE_OK,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2504","Tag":null,"Text":"(string)        Timestamp := newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2505","Tag":null,"Text":"(string)        String_ := newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2506","Tag":null,"Text":"(string)        LReal_ := newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2507","Tag":null,"Text":"(string)        Real_ := newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2508","Tag":null,"Text":"(string)        VarInt := newVarInt);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2509","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2510","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2511","Tag":null,"Text":"(string)WHILE newHasNext DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2512","Tag":null,"Text":"(string)    pMessage.GetNextMetric(name => newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2513","Tag":null,"Text":"(string)        datatype => newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2514","Tag":null,"Text":"(string)        timestamp => newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2515","Tag":null,"Text":"(string)        valueString => newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2516","Tag":null,"Text":"(string)        valueLreal => newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2517","Tag":null,"Text":"(string)        valueReal => newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2518","Tag":null,"Text":"(string)        valueVarInt => newVarInt,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2519","Tag":null,"Text":"(string)        MetricValid => newMetricValid,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2520","Tag":null,"Text":"(string)        HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2521","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2522","Tag":null,"Text":"(string)    THIS^.GetMetricbyName(DeviceId := \"\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2523","Tag":null,"Text":"(string)        MetricName := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2524","Tag":null,"Text":"(string)        Metric => itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2525","Tag":null,"Text":"(string)        GetTimestamp =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2526","Tag":null,"Text":"(string)        xError => MetricNotExisting,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2527","Tag":null,"Text":"(string)        eError =>);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2528","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2529","Tag":null,"Text":"(string)    IF MetricNotExisting THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2530","Tag":null,"Text":"(string)        WriteEdgeLog("}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2531","Tag":null,"Text":"(string)            CmpLog.LogClass.LOG_WARNING,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2532","Tag":null,"Text":"(string)            'Someone sent an NCMD with metric %s not in our NBIRTH. It was ignored',"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2533","Tag":null,"Text":"(string)            TO_STRING(newName));"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2556","Tag":null,"Text":"(string)\tELSIF itfExistingMetric.Access = SPStack.AccessMode.ReadOnly THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2557","Tag":null,"Text":"(string)\t\titfExistingMetric.Notify := TRUE; // It Is readonly, so ignore it.  We notify anyway (with the old value, so the host knows it didn't work)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2534","Tag":null,"Text":"(string)    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2535","Tag":null,"Text":"(string)        //update one"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2536","Tag":null,"Text":"(string)        SPStack.Update(Metric := itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2537","Tag":null,"Text":"(string)            Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2538","Tag":null,"Text":"(string)            DataType := newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2539","Tag":null,"Text":"(string)            Status := SPStack.MetricStatus.ONLINE_OK,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2540","Tag":null,"Text":"(string)            Timestamp := newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2541","Tag":null,"Text":"(string)            String_ := newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2542","Tag":null,"Text":"(string)            LReal_ := newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2543","Tag":null,"Text":"(string)            Real_ := newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2544","Tag":null,"Text":"(string)            VarInt := newVarInt);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2546","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2547","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2548","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2549","Tag":null,"Text":"(string)WriteEdgeLog("}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2550","Tag":null,"Text":"(string)    CmpLog.LogClass.LOG_DEBUG,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2551","Tag":null,"Text":"(string)    'EoN NCMD Received Topic: %s',"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2552","Tag":null,"Text":"(string)    WSTRING_TO_STRING(pTopic^));"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2553","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2196","Tag":null,"Text":"(string)onNCMDMessage := TRUE;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2415","Tag":null,"Text":"(string)(*"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2416","Tag":null,"Text":"(string)\tAt the moment, this only supports the one specific metric, Node Control/Rebirth"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2417","Tag":null,"Text":"(string)    Node Command (NCMD)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2418","Tag":null,"Text":"(string)    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2419","Tag":null,"Text":"(string)    NCMD messages are used by backend applications to write to EoN node outputs and send Node Control"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2420","Tag":null,"Text":"(string)    commands to EoN nodes. Multiple metrics can be supplied in a single NCMD message."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2421","Tag":null,"Text":"(string)    The following is a representation of a simple NCMD message on the topic:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2422","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2423","Tag":null,"Text":"(string)        spBv1.0/Sparkplug™ B Devices/NCMD/Raspberry Pi"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2424","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2425","Tag":null,"Text":"(string)        •   The ‘Group ID’ of this device is: Sparkplug™ B Devices"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2426","Tag":null,"Text":"(string)        •   The host ‘EoN node ID’ of this EoN node is: Raspberry Pi"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2427","Tag":null,"Text":"(string)        •   This is an NCMD message to an EoN node"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2428","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2429","Tag":null,"Text":"(string)    Consider the following Sparkplug™ B payload in the NCMD message shown above:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2430","Tag":null,"Text":"(string)    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2431","Tag":null,"Text":"(string)    {"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2432","Tag":null,"Text":"(string)        \"timestamp\": 1486144502122,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2433","Tag":null,"Text":"(string)        \"metrics\": [{"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2434","Tag":null,"Text":"(string)                \"name\": \"Node Control/Rebirth\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2435","Tag":null,"Text":"(string)                \"timestamp\": 1486144502122,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2436","Tag":null,"Text":"(string)                \"dataType\": \"Boolean\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2437","Tag":null,"Text":"(string)                \"value\": true"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2438","Tag":null,"Text":"(string)         }]"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2439","Tag":null,"Text":"(string)    }"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2440","Tag":null,"Text":"(string)    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2441","Tag":null,"Text":"(string)    This NCMD payload tells the EoN node to republish its NBIRTH and DBIRTH(s) messages. This can be requested if"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2442","Tag":null,"Text":"(string)    a backend application gets an out of order seq number or if a metric arrives in an NDATA or DDATA message that"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2443","Tag":null,"Text":"(string)    was not provided in the original NBIRTH or DBIRTH messages."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2444","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2445","Tag":null,"Text":"(string)*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2446","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2447","Tag":null,"Text":"(string)METHOD onNCMDMessage : BOOL"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2448","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2449","Tag":null,"Text":"(string)    pTopic : POINTER TO WSTRING(SPStack.GC_sparkplug.supported_string_lengths); // resembles the topic under which the message is posted "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2450","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2451","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2452","Tag":null,"Text":"(string)    pMessage : SPStack.FB_PayloadSimpleDecoder; //should already be decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2453","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2454","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2455","Tag":null,"Text":"(string)    xError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2456","Tag":null,"Text":"(string)    eError : SPStack.ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2457","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2458","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2459","Tag":null,"Text":"(string)    newName : WSTRING(SPStack.GC_sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2460","Tag":null,"Text":"(string)    newMetricValid : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2461","Tag":null,"Text":"(string)    newVarInt : SPStack.DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2462","Tag":null,"Text":"(string)    newString : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2463","Tag":null,"Text":"(string)    newLreal : LREAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2464","Tag":null,"Text":"(string)    newreal : REAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2465","Tag":null,"Text":"(string)    newHasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2466","Tag":null,"Text":"(string)    newdatatype : SPStack.MetricDataType;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2467","Tag":null,"Text":"(string)    newtimestamp : SPStack.T_DateTime;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2468","Tag":null,"Text":"(string)    i : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2469","Tag":null,"Text":"(string)    itfExistingMetric : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2470","Tag":null,"Text":"(string)    MetricNotExisting : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1","Tag":null,"Text":"(string)END_VAR"}}]}}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}