a/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payloaddataset_cb85d452/cb85d452c2ee40f3b06011e03362e219.object b/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payloaddataset_cb85d452/cb85d452c2ee40f3b06011e03362e219.object
1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)cb85d452-c2ee-40f3-b060-11e03362e219","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_PayloadDataSet","Properties":{"@Type":"2c41fa04:IDictionary","@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)ad205903-8508-4926-9d55-99ed8855a066"}]}}}},{"@Key":"(Guid)97c1f2ea-5995-48b9-abd5-a3ab983c5def","@Value":{"@Type":"97c1f2ea","@Value":{"UseExplicitExecutionOrder":"(bool)False"}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","97c1f2ea":"{97c1f2ea-5995-48b9-abd5-a3ab983c5def}","bool":"System.Boolean","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2355","Tag":null,"Text":"(string)//This IF statement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2356","Tag":null,"Text":"(string)IF xDecode AND xEncode THEN //ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2357","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2358","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2359","Tag":null,"Text":"(string)    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2360","Tag":null,"Text":"(string)    eDecodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2361","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2362","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2363","Tag":null,"Text":"(string)    xEncodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2364","Tag":null,"Text":"(string)    eEncodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2365","Tag":null,"Text":"(string)ELSIF NOT xDecode AND NOT xEncode THEN //DO NOTHING, ALL OUTPUTS OFF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2366","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2367","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2368","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2369","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2370","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2371","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2372","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2373","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2374","Tag":null,"Text":"(string)ELSIF xDecode AND NOT xEncode THEN //Decode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2375","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2376","Tag":null,"Text":"(string)    xDecodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2377","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2378","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2379","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2380","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2381","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2382","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2383","Tag":null,"Text":"(string)ELSIF NOT xDecode AND xEncode THEN //Encode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2384","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2385","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2386","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2387","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2388","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2389","Tag":null,"Text":"(string)    xEncodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2390","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2391","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2392","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2393","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2394","Tag":null,"Text":"(string)IF xDecodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2395","Tag":null,"Text":"(string)    InitializeStructure();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2396","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getlength;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2397","Tag":null,"Text":"(string)    //decode length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2398","Tag":null,"Text":"(string)    dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2399","Tag":null,"Text":"(string)    lengthOfObject := dviTemp.int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2400","Tag":null,"Text":"(string)    finalByteIndex := ProtobufBlobIndex + lengthOfObject;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2401","Tag":null,"Text":"(string)    ProtobufBlobIndex := ProtobufBlobIndex + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2402","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2403","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2404","Tag":null,"Text":"(string)    //for i to i + length - 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2405","Tag":null,"Text":"(string)    FOR ProtobufBlobIndex := ProtobufBlobIndex TO finalByteIndex DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2406","Tag":null,"Text":"(string)        CASE eDecodeState OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2407","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmember:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2408","Tag":null,"Text":"(string)                CASE myProtobufBlob[ProtobufBlobIndex] OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2409","Tag":null,"Text":"(string)                    16#00: //end of data? padding byte? ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2410","Tag":null,"Text":"(string)                        xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2411","Tag":null,"Text":"(string)                        eDecodeError := ERROR.PayloadFound00;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2412","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2413","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_num_of_columns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2414","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getnum_of_columns;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2415","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_columns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2416","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getcolumns;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2417","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_types:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2418","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_gettype;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2419","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_rows:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2420","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getrows;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2421","Tag":null,"Text":"(string)                ELSE //extension... error"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2422","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2423","Tag":null,"Text":"(string)                    eDecodeError := ERROR.PayloadFoundExtensions;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2424","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2425","Tag":null,"Text":"(string)                END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2426","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getnum_of_columns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2427","Tag":null,"Text":"(string)                _xHasNum_of_columns := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2428","Tag":null,"Text":"(string)                dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2429","Tag":null,"Text":"(string)                _num_of_columns := dviTemp.UInt64;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2430","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2431","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getcolumns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2432","Tag":null,"Text":"(string)                wsTemp := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2433","Tag":null,"Text":"(string)                eDecodeError := THIS^.AddColumn(ColumnName := wsTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2434","Tag":null,"Text":"(string)                    OwnerPayload := OwnerPayload);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2435","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2436","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2437","Tag":null,"Text":"(string)                    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2438","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2439","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2440","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2441","Tag":null,"Text":"(string)                END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2442","Tag":null,"Text":"(string)            PayloadDecodeStates.object_gettype:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2443","Tag":null,"Text":"(string)                dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2444","Tag":null,"Text":"(string)                eDecodeError := THIS^.AddType_SetType(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2445","Tag":null,"Text":"(string)                    dataType := dviTemp.UInt32);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2446","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2447","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2448","Tag":null,"Text":"(string)                    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2449","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2450","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2451","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2452","Tag":null,"Text":"(string)                END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2453","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getrows:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2454","Tag":null,"Text":"(string)                recentlyClaimedRow REF= AddRowBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2455","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2456","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2457","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2458","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2459","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedRow(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2460","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2461","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2462","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2463","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2464","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2465","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2466","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2467","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2468","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2469","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2470","Tag":null,"Text":"(string)                    IF recentlyClaimedRow.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2471","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2472","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2473","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2474","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2475","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2476","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2477","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2478","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2479","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2480","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2481","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2482","Tag":null,"Text":"(string)        END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2483","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2484","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2485","Tag":null,"Text":"(string)    IF NOT xDecodeError THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2486","Tag":null,"Text":"(string)        ProtobufBlobIndex := ProtobufBlobIndex - 1; //i is now final byte index.\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2487","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2488","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2489","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.idle;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2490","Tag":null,"Text":"(string)    xDecodeDone := NOT xDecodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2491","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2492","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2493","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2494","Tag":null,"Text":"(string)IF xEncodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2495","Tag":null,"Text":"(string)    //NOTE: BLOB Data will not be initialized to 00."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2496","Tag":null,"Text":"(string)    //But we will start with a 0 byte payload."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2497","Tag":null,"Text":"(string)    //store the starting byte, because we need it right at the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2498","Tag":null,"Text":"(string)    startingByteOfEncodedData := ProtobufBlobIndex;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2499","Tag":null,"Text":"(string)    //Encode num_of_columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2500","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _xHasNum_of_columns THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2501","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2502","Tag":null,"Text":"(string)        dviTemp.Uint64 := _num_of_columns;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2503","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2504","Tag":null,"Text":"(string)            ProtobufFieldNumber := 1);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2505","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2506","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2507","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2508","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2509","Tag":null,"Text":"(string)    //Enocde All Columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2510","Tag":null,"Text":"(string)    _Columns.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2511","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2512","Tag":null,"Text":"(string)        _Columns.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2513","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2514","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2515","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2516","Tag":null,"Text":"(string)            nextColumnToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2517","Tag":null,"Text":"(string)            eEncodeError := OwnerPayload.EncodeNextString(ProtobufFieldNumber := 2,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2518","Tag":null,"Text":"(string)                ValueToEncode := nextColumnToEncode^.WStringValue);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2519","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2520","Tag":null,"Text":"(string)            xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2521","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2522","Tag":null,"Text":"(string)    END_WHILE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2523","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2524","Tag":null,"Text":"(string)    //Enocde All Types"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2525","Tag":null,"Text":"(string)    _Types.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2526","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2527","Tag":null,"Text":"(string)        _Types.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2528","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2529","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2530","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2531","Tag":null,"Text":"(string)            nextTypeToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2532","Tag":null,"Text":"(string)            nextTypeToEncode^.ReadType(dataType => udiTemp);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2533","Tag":null,"Text":"(string)            dviTemp.UInt32 := udiTemp;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2534","Tag":null,"Text":"(string)            eEncodeError := OwnerPayload.EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2535","Tag":null,"Text":"(string)                ProtobufFieldNumber := 3);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2536","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2537","Tag":null,"Text":"(string)            xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2538","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2539","Tag":null,"Text":"(string)    END_WHILE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2540","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2541","Tag":null,"Text":"(string)    //Encode All Rows"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2542","Tag":null,"Text":"(string)    _Rows.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2543","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2544","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2545","Tag":null,"Text":"(string)        _Rows.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2546","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2547","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2548","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2549","Tag":null,"Text":"(string)            nextRowToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2550","Tag":null,"Text":"(string)            nextRowToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2551","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2552","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2553","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2554","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2555","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2556","Tag":null,"Text":"(string)                xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2557","Tag":null,"Text":"(string)                xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2558","Tag":null,"Text":"(string)                xDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2559","Tag":null,"Text":"(string)                eDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2560","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2561","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2562","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2563","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2564","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2565","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2566","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2567","Tag":null,"Text":"(string)    //Field number and length and we're done!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2568","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2569","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2570","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.ReencodeLengthDelimited(ProtobufFieldNumber := 17,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2571","Tag":null,"Text":"(string)            startingByteOfEncodedData := startingByteOfEncodedData);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2572","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2573","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2574","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2575","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2576","Tag":null,"Text":"(string)    //DONE :)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2577","Tag":null,"Text":"(string)    xEncodeDone := NOT xEncodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2578","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)5","Tag":null,"Text":"(string)END_IF;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2304","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2305","Tag":null,"Text":"(string)FUNCTION_BLOCK FB_PayloadDataSet IMPLEMENTS LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2306","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2307","Tag":null,"Text":"(string)    (*Trigers for conversion*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2308","Tag":null,"Text":"(string)    xDecode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2309","Tag":null,"Text":"(string)    xEncode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2310","Tag":null,"Text":"(string)    protobufBlobMaxIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2311","Tag":null,"Text":"(string)    PoolManager : IPoolManager;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2312","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2313","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2314","Tag":null,"Text":"(string)    OwnerPayload : FB_Payload; //He manages the assigning of Pool Objects"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2315","Tag":null,"Text":"(string)    ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Metric is, ends on the last byte of the Metric.  For Encoding, starts where the first byte of the Metric should be written to, ends on the next free byte after this metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2316","Tag":null,"Text":"(string)    myProtobufBlob : ARRAY[*] OF BYTE; //array of bytes containing the protobuf payload.  If the array is the whole"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2317","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2318","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2319","Tag":null,"Text":"(string)    xDecodeDone, xDecodeBusy, xDecodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2320","Tag":null,"Text":"(string)    eDecodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2321","Tag":null,"Text":"(string)    xEncodeDone, xEncodeBusy, xEncodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2322","Tag":null,"Text":"(string)    eEncodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2323","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2324","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2325","Tag":null,"Text":"(string)    (*Internal variables*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2326","Tag":null,"Text":"(string)    dviTemp : DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2327","Tag":null,"Text":"(string)    wsTemp : WSTRING(GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2328","Tag":null,"Text":"(string)    udiTemp : UDINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2329","Tag":null,"Text":"(string)    startingByteOfEncodedData : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2330","Tag":null,"Text":"(string)    eDecodeState : PayloadDecodeStates;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2331","Tag":null,"Text":"(string)    lengthOfObject : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2332","Tag":null,"Text":"(string)    finalByteIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2333","Tag":null,"Text":"(string)    nextTypeToEncode : POINTER TO FB_PayloadDataSetType;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2334","Tag":null,"Text":"(string)    nextColumnToEncode : POINTER TO LinkedListWStringElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2335","Tag":null,"Text":"(string)    recentlyClaimedRow : REFERENCE TO FB_PayloadRow;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2336","Tag":null,"Text":"(string)    nextRowToEncode : POINTER TO FB_PayloadRow;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2337","Tag":null,"Text":"(string)    //\t    optional uint64   num_of_columns    = 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2338","Tag":null,"Text":"(string)    _xHasNum_of_columns : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2339","Tag":null,"Text":"(string)    _num_of_columns : ULINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2340","Tag":null,"Text":"(string)    //        repeated string   columns           = 2;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2341","Tag":null,"Text":"(string)    _Columns : LinkedList.List; // OF  STRING; // payload contains names of columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2342","Tag":null,"Text":"(string)    //         repeated uint32   types             = 3;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2343","Tag":null,"Text":"(string)    _Types : LinkedList.List; // OF FB_PayloadDataSetType // payload contains type definition of columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2344","Tag":null,"Text":"(string)    //         repeated Row      rows              = 4;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2345","Tag":null,"Text":"(string)    _Rows : LinkedList.List; // OF FB_PayloadRow // payload contains Rows of Elements"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2346","Tag":null,"Text":"(string)    //         extensions                          5 to max;   // For third party extensions"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2347","Tag":null,"Text":"(string)    // NO EXTENSIONS IMPLEMENTED"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2348","Tag":null,"Text":"(string)    _COL_HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2349","Tag":null,"Text":"(string)    _COL_Element : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2350","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2351","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2352","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2353","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2354","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2069","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)2578","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)cb85d452-c2ee-40f3-b060-11e03362e219","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_PayloadDataSet","Properties":{"@Type":"2c41fa04:IDictionary","@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)ad205903-8508-4926-9d55-99ed8855a066"}]}}}},{"@Key":"(Guid)97c1f2ea-5995-48b9-abd5-a3ab983c5def","@Value":{"@Type":"97c1f2ea","@Value":{"UseExplicitExecutionOrder":"(bool)False"}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","97c1f2ea":"{97c1f2ea-5995-48b9-abd5-a3ab983c5def}","bool":"System.Boolean","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2355","Tag":null,"Text":"(string)//This IF statement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2356","Tag":null,"Text":"(string)IF xDecode AND xEncode THEN //ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2357","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2358","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2359","Tag":null,"Text":"(string)    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2360","Tag":null,"Text":"(string)    eDecodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2361","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2362","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2363","Tag":null,"Text":"(string)    xEncodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2364","Tag":null,"Text":"(string)    eEncodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2365","Tag":null,"Text":"(string)ELSIF NOT xDecode AND NOT xEncode THEN //DO NOTHING, ALL OUTPUTS OFF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2366","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2367","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2368","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2369","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2370","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2371","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2372","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2373","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2374","Tag":null,"Text":"(string)ELSIF xDecode AND NOT xEncode THEN //Decode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2375","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2376","Tag":null,"Text":"(string)    xDecodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2377","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2378","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2379","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2380","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2381","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2382","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2383","Tag":null,"Text":"(string)ELSIF NOT xDecode AND xEncode THEN //Encode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2384","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2385","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2386","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2387","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2388","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2389","Tag":null,"Text":"(string)    xEncodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2390","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2391","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2392","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2393","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2394","Tag":null,"Text":"(string)IF xDecodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2395","Tag":null,"Text":"(string)    InitializeStructure();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2396","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getlength;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2397","Tag":null,"Text":"(string)    //decode length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2398","Tag":null,"Text":"(string)    dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2399","Tag":null,"Text":"(string)    lengthOfObject := dviTemp.int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2400","Tag":null,"Text":"(string)    finalByteIndex := ProtobufBlobIndex + lengthOfObject;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2401","Tag":null,"Text":"(string)    ProtobufBlobIndex := ProtobufBlobIndex + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2402","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2403","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2404","Tag":null,"Text":"(string)    //for i to i + length - 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2405","Tag":null,"Text":"(string)    FOR ProtobufBlobIndex := ProtobufBlobIndex TO finalByteIndex DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2406","Tag":null,"Text":"(string)        CASE eDecodeState OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2407","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmember:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2408","Tag":null,"Text":"(string)                CASE myProtobufBlob[ProtobufBlobIndex] OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2409","Tag":null,"Text":"(string)                    16#00: //end of data? padding byte? ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2410","Tag":null,"Text":"(string)                        xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2411","Tag":null,"Text":"(string)                        eDecodeError := ERROR.PayloadFound00;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2412","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2413","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_num_of_columns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2414","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getnum_of_columns;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2415","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_columns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2416","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getcolumns;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2417","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_types:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2418","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_gettype;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2419","Tag":null,"Text":"(string)                    ProtobufedId.DataSet_rows:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2420","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getrows;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2421","Tag":null,"Text":"(string)                ELSE //extension... error"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2422","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2423","Tag":null,"Text":"(string)                    eDecodeError := ERROR.PayloadFoundExtensions;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2424","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2425","Tag":null,"Text":"(string)                END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2426","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getnum_of_columns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2427","Tag":null,"Text":"(string)                _xHasNum_of_columns := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2428","Tag":null,"Text":"(string)                dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2429","Tag":null,"Text":"(string)                _num_of_columns := dviTemp.UInt64;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2430","Tag":null,"Text":"(string)                eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2431","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getcolumns:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2432","Tag":null,"Text":"(string)                wsTemp := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2433","Tag":null,"Text":"(string)                eDecodeError := THIS^.AddColumn(ColumnName := wsTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2434","Tag":null,"Text":"(string)                    OwnerPayload := OwnerPayload);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2435","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2436","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2437","Tag":null,"Text":"(string)                    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2438","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2439","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2440","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2441","Tag":null,"Text":"(string)                END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2442","Tag":null,"Text":"(string)            PayloadDecodeStates.object_gettype:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2443","Tag":null,"Text":"(string)                dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2444","Tag":null,"Text":"(string)                eDecodeError := THIS^.AddType_SetType(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2445","Tag":null,"Text":"(string)                    dataType := dviTemp.UInt32);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2446","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2447","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2448","Tag":null,"Text":"(string)                    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2449","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2450","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2451","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2452","Tag":null,"Text":"(string)                END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2453","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getrows:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2454","Tag":null,"Text":"(string)                recentlyClaimedRow REF= AddRowBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2455","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2456","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2457","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2458","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2459","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedRow(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2460","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2461","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2462","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2463","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2464","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2465","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2466","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2467","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2468","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2469","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2470","Tag":null,"Text":"(string)                    IF recentlyClaimedRow.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2471","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2472","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2473","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2474","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2475","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2476","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2477","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2478","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2479","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2480","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2481","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2482","Tag":null,"Text":"(string)        END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2483","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2484","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2485","Tag":null,"Text":"(string)    IF NOT xDecodeError THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2486","Tag":null,"Text":"(string)        ProtobufBlobIndex := ProtobufBlobIndex - 1; //i is now final byte index.\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2487","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2488","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2489","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.idle;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2490","Tag":null,"Text":"(string)    xDecodeDone := NOT xDecodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2491","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2492","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2493","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2494","Tag":null,"Text":"(string)IF xEncodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2495","Tag":null,"Text":"(string)    //NOTE: BLOB Data will not be initialized to 00."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2496","Tag":null,"Text":"(string)    //But we will start with a 0 byte payload."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2497","Tag":null,"Text":"(string)    //store the starting byte, because we need it right at the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2498","Tag":null,"Text":"(string)    startingByteOfEncodedData := ProtobufBlobIndex;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2499","Tag":null,"Text":"(string)    //Encode num_of_columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2500","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR AND _xHasNum_of_columns THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2501","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2502","Tag":null,"Text":"(string)        dviTemp.Uint64 := _num_of_columns;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2503","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2504","Tag":null,"Text":"(string)            ProtobufFieldNumber := 1);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2505","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2506","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2507","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2508","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2509","Tag":null,"Text":"(string)    //Enocde All Columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2510","Tag":null,"Text":"(string)    _Columns.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2511","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2512","Tag":null,"Text":"(string)        _Columns.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2513","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2514","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2515","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2516","Tag":null,"Text":"(string)            nextColumnToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2517","Tag":null,"Text":"(string)            eEncodeError := OwnerPayload.EncodeNextString(ProtobufFieldNumber := 2,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2518","Tag":null,"Text":"(string)                ValueToEncode := nextColumnToEncode^.WStringValue);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2519","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2520","Tag":null,"Text":"(string)            xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2521","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2522","Tag":null,"Text":"(string)    END_WHILE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2523","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2524","Tag":null,"Text":"(string)    //Enocde All Types"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2525","Tag":null,"Text":"(string)    _Types.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2526","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2527","Tag":null,"Text":"(string)        _Types.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2528","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2529","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2530","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2531","Tag":null,"Text":"(string)            nextTypeToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2532","Tag":null,"Text":"(string)            nextTypeToEncode^.ReadType(dataType => udiTemp);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2533","Tag":null,"Text":"(string)            dviTemp.UInt32 := udiTemp;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2534","Tag":null,"Text":"(string)            eEncodeError := OwnerPayload.EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2535","Tag":null,"Text":"(string)                ProtobufFieldNumber := 3);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2536","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2537","Tag":null,"Text":"(string)            xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2538","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2539","Tag":null,"Text":"(string)    END_WHILE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2540","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2541","Tag":null,"Text":"(string)    //Encode All Rows"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2542","Tag":null,"Text":"(string)    _Rows.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2543","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2544","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2545","Tag":null,"Text":"(string)        _Rows.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2546","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2547","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2548","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2549","Tag":null,"Text":"(string)            nextRowToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2550","Tag":null,"Text":"(string)            nextRowToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2551","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2552","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2553","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2554","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2555","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2556","Tag":null,"Text":"(string)                xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2557","Tag":null,"Text":"(string)                xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2558","Tag":null,"Text":"(string)                xDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2559","Tag":null,"Text":"(string)                eDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2560","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2561","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2562","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2563","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2564","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2565","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2566","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2567","Tag":null,"Text":"(string)    //Field number and length and we're done!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2568","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2569","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2570","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.ReencodeLengthDelimited(ProtobufFieldNumber := 17,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2571","Tag":null,"Text":"(string)            startingByteOfEncodedData := startingByteOfEncodedData);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2572","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2573","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2574","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2575","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2576","Tag":null,"Text":"(string)    //DONE :)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2577","Tag":null,"Text":"(string)    xEncodeDone := NOT xEncodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2578","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)5","Tag":null,"Text":"(string)END_IF;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2304","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2579","Tag":null,"Text":"(string){attribute 'no_assign'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2305","Tag":null,"Text":"(string)FUNCTION_BLOCK FB_PayloadDataSet IMPLEMENTS LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2306","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2307","Tag":null,"Text":"(string)    (*Trigers for conversion*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2308","Tag":null,"Text":"(string)    xDecode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2309","Tag":null,"Text":"(string)    xEncode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2310","Tag":null,"Text":"(string)    protobufBlobMaxIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2311","Tag":null,"Text":"(string)    PoolManager : IPoolManager;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2312","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2313","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2314","Tag":null,"Text":"(string)    OwnerPayload : FB_Payload; //He manages the assigning of Pool Objects"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2315","Tag":null,"Text":"(string)    ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Metric is, ends on the last byte of the Metric.  For Encoding, starts where the first byte of the Metric should be written to, ends on the next free byte after this metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2316","Tag":null,"Text":"(string)    myProtobufBlob : ARRAY[*] OF BYTE; //array of bytes containing the protobuf payload.  If the array is the whole"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2317","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2318","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2319","Tag":null,"Text":"(string)    xDecodeDone, xDecodeBusy, xDecodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2320","Tag":null,"Text":"(string)    eDecodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2321","Tag":null,"Text":"(string)    xEncodeDone, xEncodeBusy, xEncodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2322","Tag":null,"Text":"(string)    eEncodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2323","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2324","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2325","Tag":null,"Text":"(string)    (*Internal variables*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2326","Tag":null,"Text":"(string)    dviTemp : DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2327","Tag":null,"Text":"(string)    wsTemp : WSTRING(GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2328","Tag":null,"Text":"(string)    udiTemp : UDINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2329","Tag":null,"Text":"(string)    startingByteOfEncodedData : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2330","Tag":null,"Text":"(string)    eDecodeState : PayloadDecodeStates;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2331","Tag":null,"Text":"(string)    lengthOfObject : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2332","Tag":null,"Text":"(string)    finalByteIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2333","Tag":null,"Text":"(string)    nextTypeToEncode : POINTER TO FB_PayloadDataSetType;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2334","Tag":null,"Text":"(string)    nextColumnToEncode : POINTER TO LinkedListWStringElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2335","Tag":null,"Text":"(string)    recentlyClaimedRow : REFERENCE TO FB_PayloadRow;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2336","Tag":null,"Text":"(string)    nextRowToEncode : POINTER TO FB_PayloadRow;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2337","Tag":null,"Text":"(string)    //\t    optional uint64   num_of_columns    = 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2338","Tag":null,"Text":"(string)    _xHasNum_of_columns : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2339","Tag":null,"Text":"(string)    _num_of_columns : ULINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2340","Tag":null,"Text":"(string)    //        repeated string   columns           = 2;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2341","Tag":null,"Text":"(string)    _Columns : LinkedList.List; // OF  STRING; // payload contains names of columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2342","Tag":null,"Text":"(string)    //         repeated uint32   types             = 3;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2343","Tag":null,"Text":"(string)    _Types : LinkedList.List; // OF FB_PayloadDataSetType // payload contains type definition of columns"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2344","Tag":null,"Text":"(string)    //         repeated Row      rows              = 4;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2345","Tag":null,"Text":"(string)    _Rows : LinkedList.List; // OF FB_PayloadRow // payload contains Rows of Elements"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2346","Tag":null,"Text":"(string)    //         extensions                          5 to max;   // For third party extensions"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2347","Tag":null,"Text":"(string)    // NO EXTENSIONS IMPLEMENTED"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2348","Tag":null,"Text":"(string)    _COL_HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2349","Tag":null,"Text":"(string)    _COL_Element : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2350","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2351","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2352","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2353","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2354","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2069","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)2579","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}