//
// time: Fri Oct 10 15:35:37 1997
//
// version: 3.1.2 (format), 4.1.1 (DX Beta)
//
//
// MODULE main
//
// comment: This example visual program uses SuperviseWindow  to extract a picked pixel location in an image. The color of that pixel is then determined using Map, and a small test window is colored with that color.
// page assignment: subset_image	order=1, windowed=0, showing=0
// workspace: width = 1097, height = 1207
// layout: snap = 0, width = 50, height = 50, align = NN
//
macro main(
) -> (
) {
    // 
    // node ReadImage[1]: x = 74, y = 111, inputs = 9, label = ReadImage
    // input[1]: defaulting = 0, visible = 1, type = 32, value = "dx_logo.tiff"
    // input[8]: defaulting = 0, visible = 0, type = 3, value = 0
    // input[9]: defaulting = 0, visible = 0, type = 32, value = "float"
    //
main_ReadImage_1_out_1 = 
    ReadImage(
    main_ReadImage_1_in_1,
    main_ReadImage_1_in_2,
    main_ReadImage_1_in_3,
    main_ReadImage_1_in_4,
    main_ReadImage_1_in_5,
    main_ReadImage_1_in_6,
    main_ReadImage_1_in_7,
    main_ReadImage_1_in_8,
    main_ReadImage_1_in_9
    ) [instance: 1, cache: 1];
    // 
    // node Inquire[1]: x = 146, y = 203, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "connection gridcounts"
    //
main_Inquire_1_out_1 = 
    Inquire(
    main_ReadImage_1_out_1,
    main_Inquire_1_in_2,
    main_Inquire_1_in_3
    ) [instance: 1, cache: 1];
    // 
    // node Compute[1]: x = 245, y = 237, inputs = 3, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "[$0.1, $0.0]"
    // expression: value = [a.1, a.0]
    // name[2]: value = a
    // name[3]: value = b
    //
main_Compute_1_out_1 = 
    Compute(
    main_Compute_1_in_1,
    main_Inquire_1_out_1,
    main_Compute_1_in_3
    ) [instance: 1, cache: 1];
    // 
    // node SuperviseWindow[1]: x = 206, y = 335, inputs = 10, label = SuperviseWindow
    //
main_SuperviseWindow_1_out_1,
main_SuperviseWindow_1_out_2,
main_SuperviseWindow_1_out_3 = 
    SuperviseWindow(
    main_SuperviseWindow_1_in_1,
    main_SuperviseWindow_1_in_2,
    main_Compute_1_out_1,
    main_SuperviseWindow_1_in_4,
    main_SuperviseWindow_1_in_5,
    main_SuperviseWindow_1_in_6,
    main_SuperviseWindow_1_in_7,
    main_SuperviseWindow_1_in_8,
    main_SuperviseWindow_1_in_9,
    main_SuperviseWindow_1_in_10
    ) [instance: 1, cache: 1];
    // 
    // node Inquire[2]: x = 266, y = 486, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is not null"
    //
main_Inquire_2_out_1 = 
    Inquire(
    main_SuperviseWindow_1_out_3,
    main_Inquire_2_in_2,
    main_Inquire_2_in_3
    ) [instance: 2, cache: 1];
    // 
    // node Route[1]: x = 616, y = 517, inputs = 2, outputs = 2, label = Route
    //
main_Route_1_out_1,
main_Route_1_out_2 = 
    Route(
    main_Inquire_2_out_1,
    main_SuperviseWindow_1_out_3
    ) [instance: 1, cache: 1];
    // 
    // node Compute[5]: x = 202, y = 560, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.3 == 1 ? 1 : 0"
    // expression: value = a.3 == 1 ? 1 : 0
    // name[2]: value = a
    //
main_Compute_5_out_1 = 
    Compute(
    main_Compute_5_in_1,
    main_Route_1_out_1
    ) [instance: 5, cache: 1];
    // 
    // node Route[2]: x = 342, y = 560, inputs = 2, outputs = 2, label = Route
    //
main_Route_2_out_1,
main_Route_2_out_2 = 
    Route(
    main_Compute_5_out_1,
    main_Route_1_out_1
    ) [instance: 2, cache: 1];
    // 
    // node Select[2]: x = 131, y = 688, inputs = 3, label = Select
    //
main_Select_2_out_1 = 
    Select(
    main_Route_2_out_1,
    main_Select_2_in_2,
    main_Select_2_in_3
    ) [instance: 2, cache: 1];
    // 
    // node Compute[2]: x = 196, y = 694, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "[$0.1, $0.2]"
    // expression: value = [a.1, a.2]
    // name[2]: value = a
    //
main_Compute_2_out_1 = 
    Compute(
    main_Compute_2_in_1,
    main_Select_2_out_1
    ) [instance: 2, cache: 1];
    // 
    // node GetGlobal[17]: x = 120, y = 894, inputs = 3, label = GetGlobal
    // input[1]: defaulting = 0, visible = 1, type = 67108863, value = 0
    //
main_GetGlobal_17_out_1,
main_GetGlobal_17_out_2 = 
    GetGlobal(
    main_GetGlobal_17_in_1,
    main_GetGlobal_17_in_2,
    main_GetGlobal_17_in_3
    ) [instance: 17, cache: 1];
    // 
    // node Compute[60]: x = 6, y = 918, inputs = 3, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0+1"
    // expression: value = a+1
    // name[2]: value = a
    // name[3]: value = b
    //
main_Compute_60_out_1 = 
    Compute(
    main_Compute_60_in_1,
    main_GetGlobal_17_out_1,
    main_Compute_2_out_1
    ) [instance: 60, cache: 1];
    // 
    // node Compute[61]: x = 119, y = 1025, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "mod($0, 2) == 0 ? 1 : 0"
    // expression: value = mod(count, 2) == 0 ? 1 : 0
    // name[2]: value = count
    //
main_Compute_61_out_1 = 
    Compute(
    main_Compute_61_in_1,
    main_Compute_60_out_1
    ) [instance: 61, cache: 1];
    // 
    // node Compute[62]: x = 523, y = 747, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0==0 ? 1 : 0"
    // expression: value = a==0 ? 1 : 0
    // name[2]: value = a
    //
main_Compute_62_out_1 = 
    Compute(
    main_Compute_62_in_1,
    main_Compute_61_out_1
    ) [instance: 62, cache: 1];
    // 
    // node GetGlobal[18]: x = 546, y = 826, inputs = 3, label = GetGlobal
    // input[1]: defaulting = 1, visible = 1, type = 67108863, value = 0
    //
main_GetGlobal_18_out_1,
main_GetGlobal_18_out_2 = 
    GetGlobal(
    main_GetGlobal_18_in_1,
    main_Compute_62_out_1,
    main_GetGlobal_18_in_3
    ) [instance: 18, cache: 1];
    // 
    // node List[1]: x = 478, y = 856, inputs = 2, label = List
    //
main_List_1_out_1 = 
    List(
    main_GetGlobal_18_out_1,
    main_Compute_2_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Route[21]: x = 280, y = 1013, inputs = 2, outputs = 2, label = Route
    //
main_Route_21_out_1,
main_Route_21_out_2 = 
    Route(
    main_Compute_61_out_1,
    main_List_1_out_1
    ) [instance: 21, cache: 1];
    // 
    // node Select[11]: x = 289, y = 1100, inputs = 3, label = Select
    // input[2]: defaulting = 0, visible = 1, type = 1, value = NULL
    //
main_Select_11_out_1 = 
    Select(
    main_Route_21_out_1,
    main_Select_11_in_2,
    main_Select_11_in_3
    ) [instance: 11, cache: 1];
    // 
    // node Transmitter[72]: x = 207, y = 1145, inputs = 1, label = firstpick
    //
firstpick = main_Select_11_out_1;
    // 
    // node Receiver[102]: x = 25, y = 20, inputs = 1, label = firstpick
    // page group: subset_image
    //
main_Receiver_102_out_1[cache: 0] = firstpick;
    // 
    // node Compute[63]: x = 23, y = 150, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.x"
    // page group: subset_image
    // expression: value = a.x
    // name[2]: value = a
    //
main_Compute_63_out_1 = 
    Compute(
    main_Compute_63_in_1,
    main_Receiver_102_out_1
    ) [instance: 63, cache: 1];
    // 
    // node Transmitter[68]: x = 553, y = 298, inputs = 1, label = counts
    //
counts = main_Compute_1_out_1;
    // 
    // node Receiver[100]: x = 299, y = 17, inputs = 1, label = counts
    // page group: subset_image
    //
main_Receiver_100_out_1[cache: 0] = counts;
    // 
    // node Compute[64]: x = 111, y = 146, inputs = 3, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$1.y - $0.y"
    // page group: subset_image
    // expression: value = counts.y - a.y
    // name[2]: value = a
    // name[3]: value = counts
    //
main_Compute_64_out_1 = 
    Compute(
    main_Compute_64_in_1,
    main_Receiver_102_out_1,
    main_Receiver_100_out_1
    ) [instance: 64, cache: 1];
    // 
    // node Select[12]: x = 372, y = 1107, inputs = 3, label = Select
    // input[2]: defaulting = 0, visible = 1, type = 1, value = 1
    //
main_Select_12_out_1 = 
    Select(
    main_Route_21_out_1,
    main_Select_12_in_2,
    main_Select_12_in_3
    ) [instance: 12, cache: 1];
    // 
    // node Transmitter[73]: x = 501, y = 1134, inputs = 1, label = secondpick
    //
secondpick = main_Select_12_out_1;
    // 
    // node Receiver[103]: x = 132, y = 19, inputs = 1, label = secondpick
    // page group: subset_image
    //
main_Receiver_103_out_1[cache: 0] = secondpick;
    // 
    // node Compute[65]: x = 471, y = 158, inputs = 3, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$1.x - $0.x"
    // page group: subset_image
    // expression: value = b.x - a.x
    // name[2]: value = a
    // name[3]: value = b
    //
main_Compute_65_out_1 = 
    Compute(
    main_Compute_65_in_1,
    main_Receiver_102_out_1,
    main_Receiver_103_out_1
    ) [instance: 65, cache: 1];
    // 
    // node Compute[67]: x = 555, y = 151, inputs = 4, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.y- $1.y "
    // page group: subset_image
    // expression: value = a.y- b.y 
    // name[2]: value = a
    // name[3]: value = b
    // name[4]: value = c
    //
main_Compute_67_out_1 = 
    Compute(
    main_Compute_67_in_1,
    main_Receiver_102_out_1,
    main_Receiver_103_out_1,
    main_Receiver_100_out_1
    ) [instance: 67, cache: 1];
    // 
    // node Transmitter[63]: x = 34, y = 237, inputs = 1, label = firstx
    // page group: subset_image
    //
firstx = main_Compute_63_out_1;
    // 
    // node Receiver[96]: x = 84, y = 308, inputs = 1, label = firstx
    // page group: subset_image
    //
main_Receiver_96_out_1[cache: 0] = firstx;
    // 
    // node Compute[69]: x = 241, y = 152, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0.x"
    // page group: subset_image
    // expression: value = a.x
    // name[2]: value = a
    //
main_Compute_69_out_1 = 
    Compute(
    main_Compute_69_in_1,
    main_Receiver_103_out_1
    ) [instance: 69, cache: 1];
    // 
    // node Transmitter[69]: x = 275, y = 236, inputs = 1, label = secondx
    // page group: subset_image
    //
secondx = main_Compute_69_out_1;
    // 
    // node Receiver[101]: x = 139, y = 309, inputs = 1, label = secondx
    // page group: subset_image
    //
main_Receiver_101_out_1[cache: 0] = secondx;
    // 
    // node Transmitter[65]: x = 525, y = 242, inputs = 1, label = diffx
    // page group: subset_image
    //
diffx = main_Compute_65_out_1;
    // 
    // node Receiver[97]: x = 216, y = 317, inputs = 1, label = diffx
    // page group: subset_image
    //
main_Receiver_97_out_1[cache: 0] = diffx;
    // 
    // node Compute[68]: x = 96, y = 391, inputs = 4, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$2 < 0 ? $1 : $0"
    // page group: subset_image
    // expression: value = diffx < 0 ? secondx : firstx
    // name[2]: value = firstx
    // name[3]: value = secondx
    // name[4]: value = diffx
    //
main_Compute_68_out_1 = 
    Compute(
    main_Compute_68_in_1,
    main_Receiver_96_out_1,
    main_Receiver_101_out_1,
    main_Receiver_97_out_1
    ) [instance: 68, cache: 1];
    // 
    // node Compute[70]: x = 333, y = 154, inputs = 3, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$1.y - $0.y"
    // page group: subset_image
    // expression: value = counts.y - a.y
    // name[2]: value = a
    // name[3]: value = counts
    //
main_Compute_70_out_1 = 
    Compute(
    main_Compute_70_in_1,
    main_Receiver_103_out_1,
    main_Receiver_100_out_1
    ) [instance: 70, cache: 1];
    // 
    // node Compute[71]: x = 210, y = 394, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 < 0 ? -$0 : $0"
    // page group: subset_image
    // expression: value = diffx < 0 ? -diffx : diffx
    // name[2]: value = diffx
    //
main_Compute_71_out_1 = 
    Compute(
    main_Compute_71_in_1,
    main_Receiver_97_out_1
    ) [instance: 71, cache: 1];
    // 
    // node Transmitter[64]: x = 122, y = 235, inputs = 1, label = firsty
    // page group: subset_image
    //
firsty = main_Compute_64_out_1;
    // 
    // node Receiver[104]: x = 314, y = 315, inputs = 1, label = firsty
    // page group: subset_image
    //
main_Receiver_104_out_1[cache: 0] = firsty;
    // 
    // node Transmitter[70]: x = 373, y = 234, inputs = 1, label = secondy
    // page group: subset_image
    //
secondy = main_Compute_70_out_1;
    // 
    // node Receiver[105]: x = 381, y = 312, inputs = 1, label = secondy
    // page group: subset_image
    //
main_Receiver_105_out_1[cache: 0] = secondy;
    // 
    // node Transmitter[66]: x = 582, y = 242, inputs = 1, label = diffy
    // page group: subset_image
    //
diffy = main_Compute_67_out_1;
    // 
    // node Receiver[106]: x = 472, y = 316, inputs = 1, label = diffy
    // page group: subset_image
    //
main_Receiver_106_out_1[cache: 0] = diffy;
    // 
    // node Compute[72]: x = 347, y = 398, inputs = 4, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$2 < 0 ? $1 : $0"
    // page group: subset_image
    // expression: value = diffy < 0 ? secondy : firsty
    // name[2]: value = firsty
    // name[3]: value = secondy
    // name[4]: value = diffy
    //
main_Compute_72_out_1 = 
    Compute(
    main_Compute_72_in_1,
    main_Receiver_104_out_1,
    main_Receiver_105_out_1,
    main_Receiver_106_out_1
    ) [instance: 72, cache: 1];
    // 
    // node Compute[73]: x = 438, y = 406, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 < 0 ? -$0 : $0"
    // page group: subset_image
    // expression: value = diffy < 0 ? -diffy : diffy
    // name[2]: value = diffy
    //
main_Compute_73_out_1 = 
    Compute(
    main_Compute_73_in_1,
    main_Receiver_106_out_1
    ) [instance: 73, cache: 1];
    // 
    // node Display[2]: x = 96, y = 525, inputs = 8, label = Display
    // input[3]: visible = 1
    // depth: value = 24
    //
main_Display_2_out_1[cache: 2] = 
    Display(
    main_ReadImage_1_out_1,
    main_Display_2_in_2,
    main_SuperviseWindow_1_out_1,
    main_Display_2_in_4,
    main_Display_2_in_5,
    main_Display_2_in_6,
    main_Display_2_in_7,
    main_Display_2_in_8
    ) [instance: 2, cache: 1];
    // 
    // node Transmitter[67]: x = 11, y = 230, inputs = 1, label = image
    //
image = main_ReadImage_1_out_1;
    // 
    // node Receiver[94]: x = 28, y = 526, inputs = 1, label = image
    // page group: subset_image
    //
main_Receiver_94_out_1[cache: 0] = image;
    // 
    // node Slab[1]: x = 51, y = 688, inputs = 4, label = Slab
    // input[2]: defaulting = 0, visible = 1, type = 1, value = 1
    // page group: subset_image
    //
main_Slab_1_out_1 = 
    Slab(
    main_Receiver_94_out_1,
    main_Slab_1_in_2,
    main_Compute_68_out_1,
    main_Compute_71_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Slab[2]: x = 174, y = 772, inputs = 4, label = Slab
    // input[2]: defaulting = 0, visible = 1, type = 1, value = 0
    // page group: subset_image
    //
main_Slab_2_out_1 = 
    Slab(
    main_Slab_1_out_1,
    main_Slab_2_in_2,
    main_Compute_72_out_1,
    main_Compute_73_out_1
    ) [instance: 2, cache: 1];
    // 
    // node Display[4]: x = 329, y = 806, inputs = 8, label = Display
    // page group: subset_image
    // depth: value = 8
    // window: position = (0.1055,0.3223), size = 0.0969x0.2100
    //
main_Display_4_out_1[cache: 2] = 
    Display(
    main_Slab_2_out_1,
    main_Display_4_in_2,
    main_Display_4_in_3,
    main_Display_4_in_4,
    main_Display_4_in_5,
    main_Display_4_in_6,
    main_Display_4_in_7,
    main_Display_4_in_8
    ) [instance: 4, cache: 1];
    // 
    // node SetGlobal[14]: x = 25, y = 1028, inputs = 3, label = SetGlobal
    //
    SetGlobal(
    main_Compute_60_out_1,
    main_GetGlobal_17_out_2,
    main_SetGlobal_14_in_3
    ) [instance: 14, cache: 1];
    // 
    // node SetGlobal[15]: x = 502, y = 929, inputs = 3, label = SetGlobal
    //
    SetGlobal(
    main_List_1_out_1,
    main_GetGlobal_18_out_2,
    main_SetGlobal_15_in_3
    ) [instance: 15, cache: 1];
    // 
    // node Transmitter[71]: x = 115, y = 483, inputs = 1, label = startx
    // page group: subset_image
    //
startx = main_Compute_68_out_1;
    // 
    // node Transmitter[74]: x = 223, y = 484, inputs = 1, label = thicknessx
    // page group: subset_image
    //
thicknessx = main_Compute_71_out_1;
    // 
    // node Transmitter[75]: x = 348, y = 482, inputs = 1, label = starty
    // page group: subset_image
    //
starty = main_Compute_72_out_1;
    // 
    // node Transmitter[76]: x = 453, y = 487, inputs = 1, label = thicknessy
    // page group: subset_image
    //
thicknessy = main_Compute_73_out_1;
    //
    // decorator Annotate	pos=(21,22) size=603x60 style(Label), value = <NULL>
    // annotation user_begin: 201
    // annotation user: Use any button to pick. Button-down events are extracted and used to determine the 
    // annotation user: pixel location of the pick. The color is then determined using Map, and a small test
    // annotation user: window is created of that color.
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(232,169) size=297x44 style(Label), value = <NULL>
    // annotation user_begin: 59
    // annotation user: get the right size for SuperviseWindow to
    // annotation user: create the window
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(403,519) size=193x44 style(Label), value = <NULL>
    // annotation user_begin: 45
    // annotation user: route off modules below if 
    // annotation user: nothing is picked
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(329,256) size=127x28 style(Label), value = <NULL>
    // annotation user_begin: 19
    // annotation user: x varies fastest...
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(400,616) size=190x60 style(Label), value = <NULL>
    // annotation user_begin: 65
    // annotation user: route off modules below if
    // annotation user: it's not a button down 
    // annotation user: event (a pick)
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(0,711) size=122x44 style(Label), value = <NULL>
    // annotation user_begin: 27
    // annotation user: Pull off the pixel
    // annotation user: location
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(361,26) size=466x44 style(Label), value = <NULL>
    // annotation user_begin: 132
    // annotation user: This page extracts the x and y location of the picks and uses them
    // annotation user: to determine the correct parameters for Slab to subset the image.
    // annotation user_end: <NULL>
    // page group: subset_image
    //
    // decorator Annotate	pos=(602,749) size=495x60 style(Label), value = <NULL>
    // annotation user_begin: 171
    // annotation user: add the latest pick location to the list. Whenever a list of two has been
    // annotation user: created, the list will be reset the next time around using the
    // annotation user: reset parameter to GetGlobal here.
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(331,1024) size=336x60 style(Label), value = <NULL>
    // annotation user_begin: 95
    // annotation user: This Route will cause downstream modules
    // annotation user: to be executed only when the list has two items
    // annotation user: in it.
    // annotation user_end: <NULL>
    //
    // decorator Annotate	pos=(1,827) size=268x60 style(Label), value = <NULL>
    // annotation user_begin: 96
    // annotation user: This is just a counter to count by two
    // annotation user: and reset the list everytime two items
    // annotation user: have been handled.
    // annotation user_end: <NULL>
// network: end of macro body
}
main_ReadImage_1_in_1 = "dx_logo.tiff";
main_ReadImage_1_in_2 = NULL;
main_ReadImage_1_in_3 = NULL;
main_ReadImage_1_in_4 = NULL;
main_ReadImage_1_in_5 = NULL;
main_ReadImage_1_in_6 = NULL;
main_ReadImage_1_in_7 = NULL;
main_ReadImage_1_in_8 = 0;
main_ReadImage_1_in_9 = "float";
main_ReadImage_1_out_1 = NULL;
main_Inquire_1_in_2 = "connection gridcounts";
main_Inquire_1_in_3 = NULL;
main_Inquire_1_out_1 = NULL;
main_Compute_1_in_1 = "[$0.1, $0.0]";
main_Compute_1_in_3 = NULL;
main_Compute_1_out_1 = NULL;
main_SuperviseWindow_1_in_1 = NULL;
main_SuperviseWindow_1_in_2 = NULL;
main_SuperviseWindow_1_in_4 = NULL;
main_SuperviseWindow_1_in_5 = NULL;
main_SuperviseWindow_1_in_6 = NULL;
main_SuperviseWindow_1_in_7 = NULL;
main_SuperviseWindow_1_in_8 = NULL;
main_SuperviseWindow_1_in_9 = NULL;
main_SuperviseWindow_1_in_10 = NULL;
main_SuperviseWindow_1_out_1 = NULL;
main_SuperviseWindow_1_out_3 = NULL;
main_Inquire_2_in_2 = "is not null";
main_Inquire_2_in_3 = NULL;
main_Inquire_2_out_1 = NULL;
main_Route_1_out_1 = NULL;
main_Compute_5_in_1 = "$0.3 == 1 ? 1 : 0";
main_Compute_5_out_1 = NULL;
main_Route_2_out_1 = NULL;
main_Select_2_in_2 = NULL;
main_Select_2_in_3 = NULL;
main_Select_2_out_1 = NULL;
main_Compute_2_in_1 = "[$0.1, $0.2]";
main_Compute_2_out_1 = NULL;
main_GetGlobal_17_in_1 = 0;
main_GetGlobal_17_in_2 = NULL;
main_GetGlobal_17_in_3 = NULL;
main_GetGlobal_17_out_1 = NULL;
main_GetGlobal_17_out_2 = NULL;
main_Compute_60_in_1 = "$0+1";
main_Compute_60_out_1 = NULL;
main_Compute_61_in_1 = "mod($0, 2) == 0 ? 1 : 0";
main_Compute_61_out_1 = NULL;
main_Compute_62_in_1 = "$0==0 ? 1 : 0";
main_Compute_62_out_1 = NULL;
main_GetGlobal_18_in_1 = NULL;
main_GetGlobal_18_in_3 = NULL;
main_GetGlobal_18_out_1 = NULL;
main_GetGlobal_18_out_2 = NULL;
main_List_1_out_1 = NULL;
main_Route_21_out_1 = NULL;
main_Select_11_in_2 = NULL;
main_Select_11_in_3 = NULL;
main_Select_11_out_1 = NULL;
main_Transmitter_72_out_1 = NULL;
main_Receiver_102_out_1 = NULL;
main_Compute_63_in_1 = "$0.x";
main_Compute_63_out_1 = NULL;
main_Transmitter_68_out_1 = NULL;
main_Receiver_100_out_1 = NULL;
main_Compute_64_in_1 = "$1.y - $0.y";
main_Compute_64_out_1 = NULL;
main_Select_12_in_2 = 1;
main_Select_12_in_3 = NULL;
main_Select_12_out_1 = NULL;
main_Transmitter_73_out_1 = NULL;
main_Receiver_103_out_1 = NULL;
main_Compute_65_in_1 = "$1.x - $0.x";
main_Compute_65_out_1 = NULL;
main_Compute_67_in_1 = "$0.y- $1.y ";
main_Compute_67_out_1 = NULL;
main_Transmitter_63_out_1 = NULL;
main_Receiver_96_out_1 = NULL;
main_Compute_69_in_1 = "$0.x";
main_Compute_69_out_1 = NULL;
main_Transmitter_69_out_1 = NULL;
main_Receiver_101_out_1 = NULL;
main_Transmitter_65_out_1 = NULL;
main_Receiver_97_out_1 = NULL;
main_Compute_68_in_1 = "$2 < 0 ? $1 : $0";
main_Compute_68_out_1 = NULL;
main_Compute_70_in_1 = "$1.y - $0.y";
main_Compute_70_out_1 = NULL;
main_Compute_71_in_1 = "$0 < 0 ? -$0 : $0";
main_Compute_71_out_1 = NULL;
main_Transmitter_64_out_1 = NULL;
main_Receiver_104_out_1 = NULL;
main_Transmitter_70_out_1 = NULL;
main_Receiver_105_out_1 = NULL;
main_Transmitter_66_out_1 = NULL;
main_Receiver_106_out_1 = NULL;
main_Compute_72_in_1 = "$2 < 0 ? $1 : $0";
main_Compute_72_out_1 = NULL;
main_Compute_73_in_1 = "$0 < 0 ? -$0 : $0";
main_Compute_73_out_1 = NULL;
main_Display_2_in_2 = NULL;
main_Display_2_in_4 = NULL;
main_Display_2_in_5 = NULL;
main_Display_2_in_6 = NULL;
main_Display_2_in_7 = NULL;
main_Display_2_in_8 = NULL;
main_Transmitter_67_out_1 = NULL;
main_Receiver_94_out_1 = NULL;
main_Slab_1_in_2 = 1;
main_Slab_1_out_1 = NULL;
main_Slab_2_in_2 = 0;
main_Slab_2_out_1 = NULL;
main_Display_4_in_2 = NULL;
main_Display_4_in_3 = "X8,,";
main_Display_4_in_4 = NULL;
main_Display_4_in_5 = NULL;
main_Display_4_in_6 = NULL;
main_Display_4_in_7 = NULL;
main_Display_4_in_8 = NULL;
main_SetGlobal_14_in_3 = NULL;
main_SetGlobal_15_in_3 = NULL;
Executive("product version 4 1 1");
$sync
main();
