/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 11, 1993 8:22:08 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGActiveImpl, module: GGActiveImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [786543908,3998936399] GGActiveImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W3 *W3Pt;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
static float fc121 = 25.0;
static float fc145 = 0.0;
static float fc176 = 18.0;
static void NoName←Q2544();
static void GGActiveImpl←P0();
static void InitPaletteApplication←P60();
static word PaletteNotify←P120();
static word LookupDoc←P180();
static word NullDoc←P240();
static word GGInButton←P300();
static word GGGetDocName←P360();
static word GGGetRef←P420();
static void GGSetRef←P480();
static word GGMapRef←P540();
static word ForEachButton←P1656();
static word GGButtonFeedback←P600();
static word NoOpFileIn←P660();
static word ButtonDataFileOut←P720();
static word ButtonDataFileIn←P780();
static word ButtonDataCopy←P840();
static word GargoyleHandler←P900();
static word GargoyleAsControlPanelHandler←P960();
static void ControlPanelButtonHandler←P1020();
static void TransferButtonDashes←P1080();
static void TransferButtonStrokeWidth←P1140();
static void TransferButtonStrokeEnd←P1200();
static void ActiveInputHandler←P1260();
static void GetMousePosition←P2004();
static word CopyEventCoordinates←P1320();
static void QueueButtonEvent←P1380();
static void HandleList←P1440();
static void GGActiveHandler←P1500();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\377\353\135\205\300\246\136\177\063\100\310\000\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\164\000\000"};
static struct {unsigned f; char r[4];} string5 = {65540, "\251\000\000"};
static struct {unsigned f; char r[44];} string6 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string7 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\015\104\150\367\300\043\046\347\073\100\164\000\000"};
static struct {unsigned f; char r[20];} string9 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string12 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string13 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\242\362\212\033\300\124\145\325\023\100\200\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\310\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\200\000\000"};
static struct {unsigned f; char r[68];} string17 = {4325442, "\006\031\000\001\004\001\010\001\014\001\024\001\030\001\034\001\044\001\050\001\054\001\060\001\064\001\070\001\074\001\100\100\001\100\104\001\100\110\001\100\164\001\100\170\001\100\224\004\017\100\244\004\100\171\100\300\001\100\304\001\100\310\001\100\320\001\000"};
static struct {unsigned f; char r[8];} string18 = {458760, "Palette"};
static struct {unsigned f; char r[24];} string19 = {1441816, "GargoyleAsControlPanel\000"};
static struct {unsigned f; char r[52];} string20 = {3145780, "Does nothing.  Active Gargoyle is already loaded\000\000\000"};
static struct {unsigned f; char r[20];} string21 = {1114132, "TransferFillColor\000\000"};
static struct {unsigned f; char r[20];} string22 = {1245204, "TransferStrokeColor"};
static struct {unsigned f; char r[20];} string23 = {1179668, "TransferBothColors\000"};
static struct {unsigned f; char r[12];} string24 = {524300, "GGActive\000\000\000"};
static struct {unsigned f; char r[12];} string25 = {589836, "GGNullDoc\000\000"};
static struct {unsigned f; char r[12];} string26 = {589836, "Midpoints\000\000"};
static struct {unsigned f; char r[16];} string27 = {917520, "ShowAlignments\000"};
static struct {unsigned f; char r[16];} string28 = {786448, "DoubleBuffer\000\000\000"};
static struct {unsigned f; char r[8];} string29 = {393224, "Active\000"};
static struct {unsigned f; char r[12];} string30 = {524300, "Editable\000\000\000"};
static struct {unsigned f; char r[12];} string31 = {720908, "ScreenStyle"};
static struct {unsigned f; char r[16];} string32 = {917520, "SpecifiedFonts\000"};
static struct {unsigned f; char r[24];} string33 = {1507352, "TransferButtonStrokeEnd"};
static struct {unsigned f; char r[8];} string34 = {458760, "WYSIWYG"};
static struct {unsigned f; char r[16];} string35 = {917520, "AlternateFonts\000"};
static struct {unsigned f; char r[8];} string36 = {458760, "Gravity"};
static struct {unsigned f; char r[16];} string37 = {851984, "GravityExtent\000\000"};
static struct {unsigned f; char r[12];} string38 = {720908, "GravityType"};
static struct {unsigned f; char r[16];} string39 = {786448, "PreferPoints\000\000\000"};
static struct {unsigned f; char r[12];} string40 = {720908, "PreferLines"};
static struct {unsigned f; char r[8];} string41 = {262152, "Auto\000\000\000"};
static struct {unsigned f; char r[12];} string42 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[68];} string43 = {4390980, "SetStrokeColorRemote failed: Place input focus in a Gargoyle viewer"};
static struct {unsigned f; char r[68];} string44 = {4325444, "TransferButtonDashes failed: the button has multiple dash patterns\000"};
static struct {unsigned f; char r[72];} string45 = {4653128, "TransferButtonStrokeWidth failed: the button has multiple dash patterns"};
static struct {unsigned f; char r[72];} string46 = {4522056, "TransferButtonStrokeEnd failed: the button has multiple dash patterns\000\000"};
static struct {unsigned f; char r[16];} string47 = {917520, "RawInputNotify\000"};
static struct {unsigned f; char r[8];} string48 = {262152, "None\000\000\000"};
static struct {unsigned f; char r[28];} string49 = {1638428, "TransferButtonStrokeWidth\000\000"};
static struct {unsigned f; char r[8];} string50 = {327688, "Debug\000\000"};
static struct {unsigned f; char r[12];} string51 = {720908, "GG: %g,%g; "};
static struct {unsigned f; char r[24];} string52 = {1310744, "TransferButtonDashes\000\000\000"};
static struct {unsigned f; char r[12];} string53 = {655372, "ButtonData\000"};
static struct {unsigned f; char r[12];} string54 = {655372, "ActionArea\000"};
static struct {unsigned f; char r[12];} string55 = {524300, "Gargoyle\000\000\000"};
static struct {unsigned f; char r[16];} string56 = {786448, "SelectButton\000\000\000"};
static struct {unsigned f; char r[12];} string57 = {720908, "BeginButton"};
static struct {unsigned f; char r[32];} string58 = {1835040, "ButtonFillColorFromIntensity\000\000\000"};
static struct {unsigned f; char r[32];} string59 = {1966112, "ButtonStrokeColorFromIntensity\000"};
static struct {unsigned f; char r[52];} string60 = {3145780, "Input list mixes LIST elements and ATOM elements\000\000\000"};
static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\056\341\265\044\300\356\132\355\117\100\164\000\000"};
static struct {unsigned f; char r[16];} string62 = {851981, "\006\003\020\001\024\001\100\134\010\000\004\054\001\000\000"};
static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\345\207\354\240\300\306\063\246\015\100\150\000\000"};
static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"};
static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\377\353\135\205\300\246\136\177\063\100\150\000\000"};
static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\105\216\350\345\300\202\104\031\245\100\150\000\000"};
static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\025\043\244\167\300\355\126\026\065\100\150\000\000"};
static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\115\266\333\252\300\351\105\225\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string70 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string71 = {851984, "\257\300\136\002\175\264\300\016\031\370\241\100\150\000\000"};
static struct {unsigned f; char r[16];} string72 = {851984, "\257\300\106\171\232\301\300\031\372\034\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string73 = {851984, "\257\300\246\204\223\340\300\164\162\104\060\100\150\000\000"};
static struct {unsigned f; char r[16];} string74 = {851984, "\257\300\172\265\057\072\300\145\211\260\126\100\150\000\000"};
static struct {unsigned f; char r[16];} string75 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string76 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string77 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string78 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"};
static struct {unsigned f; char r[16];} string79 = {851984, "\257\300\272\336\377\011\300\305\371\262\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string80 = {851984, "\257\300\355\324\264\170\300\276\334\312\210\100\150\000\000"};
static struct {unsigned f; char r[16];} string81 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string82 = {851984, "\257\300\263\272\165\301\300\364\117\256\374\100\150\000\000"};
static struct {unsigned f; char r[16];} string83 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string84 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string85 = {851984, "\257\300\117\270\125\000\300\156\351\056\141\100\150\000\000"};
static struct {unsigned f; char r[16];} string86 = {851984, "\257\300\026\052\121\143\300\234\275\317\206\100\150\000\000"};
static struct {unsigned f; char r[16];} string87 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string88 = {851984, "\257\300\112\153\254\213\300\072\171\243\243\100\150\000\000"};
static struct {unsigned f; char r[16];} string89 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\150\000\000"};
static struct {unsigned f; char r[28];} string90 = {1572892, "\211\014\013\103\157\156\164\162\157\154\163\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000\000"};
static struct {unsigned f; char r[16];} string91 = {851984, "\257\300\365$\303)\300KDZZ@t\000\000"};
static struct {unsigned f; char r[88];} string92 = {5701719, "\006\041\000\001\004\001\010\001\014\001\020\001\024\001\030\001\034\001\040\001\050\001\054\001\064\001\070\001\074\001\100\100\001\100\104\001\100\110\001\100\114\001\100\120\001\100\124\001\100\130\001\100\140\001\100\150\001\100\160\001\100\164\001\100\174\001\100\200\001\100\204\001\100\210\001\100\214\001\100\220\001\100\224\001\100\230\001"};
static struct {unsigned f; char r[28];} string93 = {1638428, "\211\015\014\105\155\142\145\144\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000"};
static struct {unsigned f; char r[16];} string94 = {851984, "\257\300\036\073\304\257\300\266\014\226\240\100\164\000\000"};
static struct {unsigned f; char r[4];} string95 = {131074, "\004,\000"};
static struct {
   word f0[68]; word f68; word f69; word f70; 
   word f71; word f72; word f73; word f74; 
   word f75; word f76; word f77; word f78; 
   word f79; word f80; word f81; word f82; 
   word f83; word f84; word f85; word f86; 
   word f87; word f88; word f89; word f90; 
   word f91; word f92; word f93; word f94; 
   word f95; word f96; word f97; word f98; 
   word f99; word f100; word f101; word f102; 
   word f103; word f104; word f105; word f106; 
   word f107; word f108; word f109; word f110; 
   word f111; word f112; word f113; word f114; 
   word f115; word f116; word f117; word f118; 
   word f119[28]; 
   } globalframe = {
   {0}, (word) GGActiveHandler←P1500, 0, (word) HandleList←P1440, 
   0, (word) QueueButtonEvent←P1380, 0, (word) CopyEventCoordinates←P1320, 
   0, (word) ActiveInputHandler←P1260, 0, (word) TransferButtonStrokeEnd←P1200, 
   0, (word) TransferButtonStrokeWidth←P1140, 0, (word) TransferButtonDashes←P1080, 
   0, (word) ControlPanelButtonHandler←P1020, 0, (word) GargoyleAsControlPanelHandler←P960, 
   0, (word) GargoyleHandler←P900, 0, (word) ButtonDataCopy←P840, 
   0, (word) ButtonDataFileIn←P780, 0, (word) ButtonDataFileOut←P720, 
   0, (word) NoOpFileIn←P660, 0, (word) GGButtonFeedback←P600, 
   0, (word) GGMapRef←P540, 0, (word) GGSetRef←P480, 
   0, (word) GGGetRef←P420, 0, (word) GGGetDocName←P360, 
   0, (word) GGInButton←P300, 0, (word) NullDoc←P240, 
   0, (word) LookupDoc←P180, 0, (word) PaletteNotify←P120, 
   0, (word) InitPaletteApplication←P60, 0, (word) GGActiveImpl←P0, 
   {0}
   };

static void NoName←Q2544()
   {
   register ptr gf←c0274 =  (ptr) &globalframe;
   word var←c47564;
   (* (( (ptr) gf←c0274)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0274)+9) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
   (* (( (ptr) gf←c0274)+10) ) = (word) XR←GetTypeIndexS((word) (&string4));
   (* (( (ptr) gf←c0274)+11) ) = (word) XR←GetTypeIndexS((word) (&string5));
   (* (( (ptr) gf←c0274)+15) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0274)+16) ) = (word) XR←GetTypeIndexS((word) (&string8));
   (* (( (ptr) gf←c0274)+17) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0274)+18) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12);
   (* (( (ptr) gf←c0274)+19) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string2);
   (* (( (ptr) gf←c0274)+20) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string10);
   (* (( (ptr) gf←c0274)+21) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string10);
   (* (( (ptr) gf←c0274)+22) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (*  (ptr) (( (bPt) gf←c0274)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0274)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0274)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0274)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0274)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0274)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0274)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0274)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0274)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0274)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0274)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0274)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0274)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0274)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0274)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0274)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0274)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0274)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0274)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0274)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0274)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0274)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0274)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0274)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0274)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0274)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0274)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0274)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0274)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0274)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0274)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0274)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0274)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c0274)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string50);
   (*  (ptr) (( (bPt) gf←c0274)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string51);
   (*  (ptr) (( (bPt) gf←c0274)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string52);
   (*  (ptr) (( (bPt) gf←c0274)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string53);
   (*  (ptr) (( (bPt) gf←c0274)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string54);
   (*  (ptr) (( (bPt) gf←c0274)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string55);
   (*  (ptr) (( (bPt) gf←c0274)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string56);
   (*  (ptr) (( (bPt) gf←c0274)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string57);
   (*  (ptr) (( (bPt) gf←c0274)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string58);
   (*  (ptr) (( (bPt) gf←c0274)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+9) ), (word) &string59);
   (*  (ptr) (( (bPt) gf←c0274)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+19) ), (word) &string60);
   (void) XR←DeclareGlobalFrame((word) "GGActiveImpl", &globalframe, (word) XR←GetTypeIndex((word) &string61, 0, (word) &string62)
      , (word) (( (bPt) gf←c0274)+472)/* var←c44876 */ );
   var←c47564 = (word) XR←ImportInterface((word) "BiScrollers", (word) XR←GetTypeIndexS((word) (&string63)), 30);
   (* (( (ptr) gf←c0274)+135)/* var←c46412 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67373057);
   (void) XR←ImportProcS(var←c47564, 67373825);
   var←c47564 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string64)), 21);
   (* (( (ptr) gf←c0274)+138)/* var←c46636 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 526850);
   (void) XR←ImportProcS(var←c47564, 526338);
   var←c47564 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string65)), 3);
   (* (( (ptr) gf←c0274)+124)/* var←c45068 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 1310725);
   var←c47564 = (word) XR←ImportInterface((word) "EBEditors", (word) XR←GetTypeIndexS((word) (&string66)), 12);
   (* (( (ptr) gf←c0274)+127)/* var←c45324 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67635458);
   (void) XR←ImportProcS(var←c47564, 788483);
   (void) XR←ImportProcS(var←c47564, 201590529);
   (void) XR←ImportProcS(var←c47564, 67372545);
   (void) XR←ImportProcS(var←c47564, 67372289);
   (void) XR←ImportProcS(var←c47564, 67371777);
   (void) XR←ImportProcS(var←c47564, 67372033);
   (void) XR←ImportProcS(var←c47564, 68160004);
   (void) XR←ImportProcS(var←c47564, 67373825);
   (void) XR←ImportProcS(var←c47564, 67633154);
   var←c47564 = (word) XR←ImportInterface((word) "EBEditorsExtras", (word) XR←GetTypeIndexS((word) (&string67)), 2);
   (* (( (ptr) gf←c0274)+139)/* var←c46764 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67371009);
   var←c47564 = (word) XR←ImportInterface((word) "EBNullDoc", (word) XR←GetTypeIndexS((word) (&string68)), 16);
   (* (( (ptr) gf←c0274)+128)/* var←c45356 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 262401);
   (void) XR←ImportProcS(var←c47564, 67896835);
   (void) XR←ImportProcS(var←c47564, 68159492);
   (void) XR←ImportProcS(var←c47564, 67895811);
   (void) XR←ImportProcS(var←c47564, 67371009);
   var←c47564 = (word) XR←ImportInterface((word) "EmbeddedButtons", (word) XR←GetTypeIndexS((word) (&string69)), 32);
   (* (( (ptr) gf←c0274)+125)/* var←c45100 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 524802);
   var←c47564 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string70)), 25);
   (* (( (ptr) gf←c0274)+136)/* var←c46444 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 1313029);
   (void) XR←ImportProcS(var←c47564, 1050628);
   var←c47564 = (word) XR←ImportInterface((word) "GGAlign", (word) XR←GetTypeIndexS((word) (&string71)), 46);
   (* (( (ptr) gf←c0274)+140)/* var←c46796 */  ) = var←c47564;
   var←c47564 = (word) XR←ImportInterface((word) "GGEventExtras", (word) XR←GetTypeIndexS((word) (&string72)), 6);
   (* (( (ptr) gf←c0274)+137)/* var←c46508 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 524802);
   (void) XR←ImportProcS(var←c47564, 524546);
   (void) XR←ImportProcS(var←c47564, 1310725);
   var←c47564 = (word) XR←ImportInterface((word) "GGMouseEvent", (word) XR←GetTypeIndexS((word) (&string73)), 32);
   (* (( (ptr) gf←c0274)+126)/* var←c45164 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 134749698);
   (void) XR←ImportProcS(var←c47564, 134749954);
   var←c47564 = (word) XR←ImportInterface((word) "GGMultiGravity", (word) XR←GetTypeIndexS((word) (&string74)), 16);
   (* (( (ptr) gf←c0274)+141)/* var←c46828 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 404226821);
   var←c47564 = (word) XR←ImportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string75)), 11);
   (* (( (ptr) gf←c0274)+122)/* var←c45004 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 1048580);
   (void) XR←ImportProcS(var←c47564, 135004419);
   (void) XR←ImportProcS(var←c47564, 1051140);
   var←c47564 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string76)), 50);
   (* (( (ptr) gf←c0274)+130)/* var←c46060 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 68164356);
   var←c47564 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string77)), 73);
   (* (( (ptr) gf←c0274)+131)/* var←c46092 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 134755330);
   (void) XR←ImportProcS(var←c47564, 134754818);
   (void) XR←ImportProcS(var←c47564, 336084482);
   (void) XR←ImportProcS(var←c47564, 67901699);
   var←c47564 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string78)), 119);
   (* (( (ptr) gf←c0274)+129)/* var←c45932 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67386881);
   (void) XR←ImportProcS(var←c47564, 67386369);
   (void) XR←ImportProcS(var←c47564, 67109888);
   (void) XR←ImportProcS(var←c47564, 67398145);
   var←c47564 = (word) XR←ImportInterface((word) "GGUIUtility", (word) XR←GetTypeIndexS((word) (&string79)), 10);
   (* (( (ptr) gf←c0274)+132)/* var←c46156 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67373313);
   var←c47564 = (word) XR←ImportInterface((word) "GGUserInput", (word) XR←GetTypeIndexS((word) (&string80)), 13);
   (* (( (ptr) gf←c0274)+123)/* var←c45036 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 525058);
   (void) XR←ImportProcS(var←c47564, 1312261);
   var←c47564 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string81)), 55);
   (* (( (ptr) gf←c0274)+143)/* var←c47116 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 135013122);
   var←c47564 = (word) XR←ImportInterface((word) "InputFocus", (word) XR←GetTypeIndexS((word) (&string82)), 6);
   (* (( (ptr) gf←c0274)+134)/* var←c46380 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67108864);
   var←c47564 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string83)), 103);
   (* (( (ptr) gf←c0274)+133)/* var←c46348 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 1071364);
   (void) XR←ImportProcS(var←c47564, 67917827);
   var←c47564 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string84)), 28);
   (* (( (ptr) gf←c0274)+144)/* var←c47468 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67633666);
   var←c47564 = (word) XR←ImportInterface((word) "MultiCursors", (word) XR←GetTypeIndexS((word) (&string85)), 26);
   (* (( (ptr) gf←c0274)+142)/* var←c46892 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 787203);
   (void) XR←ImportProcS(var←c47564, 67634178);
   var←c47564 = (word) XR←ImportInterface((word) "TIPUser", (word) XR←GetTypeIndexS((word) (&string86)), 4);
   (* (( (ptr) gf←c0274)+121)/* var←c44972 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 67109120);
   var←c47564 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string87)), 43);
   (* (( (ptr) gf←c0274)+120)/* var←c44940 */  ) = var←c47564;
   (void) XR←ImportProcS(var←c47564, 134486785);
   (void) XR←ImportProcS(var←c47564, 67371265);
   var←c47564 = (word) XR←ExportInterface((word) "GGActive", (word) XR←GetTypeIndexS((word) (&string88)), 4);
   (* (( (ptr) gf←c0274)+145)/* var←c47596 */  ) = var←c47564;
   (void) XR←ExportProcS(var←c47564, (word) (( (bPt) gf←c0274)+448)/* var←c44780 */ , 67371009, (word) "LookupDoc");
   (void) XR←ExportProcS(var←c47564, (word) (( (bPt) gf←c0274)+440)/* var←c44748 */ , 67371265, (word) "NullDoc");
   (void) XR←ExportProcS(var←c47564, (word) (( (bPt) gf←c0274)+336)/* var←c44332 */ , 786947, (word) "ControlPanelButtonHandler")
   ;
   (void) XR←ExportProcS(var←c47564, (word) (( (bPt) gf←c0274)+304)/* var←c44204 */ , 1049348, (word) "ActiveInputHandler");
   var←c47564 = (word) XR←ExportInterface((word) "GGInterfaceTypes", (word) XR←GetTypeIndexS((word) (&string89)), 6);
   (* (( (ptr) gf←c0274)+146)/* var←c47628 */  ) = var←c47564;
   (void) XR←ExportType((word) "ControlsObj", (word) XR←GetTypeIndexS((word) (&string90)), (word) XR←GetTypeIndex((word) &string91, 0, (word) &string92)
      );
   (void) XR←ExportType((word) "EmbedDataObj", (word) XR←GetTypeIndexS((word) (&string93)), (word) XR←GetTypeIndex((word) &string94, 0, (word) &string95)
      );
   }

static void GGActiveImpl←P0(formal←c062, formal←c060)
   word formal←c062;
   word formal←c060;
   {
   register ptr gf←c47660 =  (ptr) &globalframe;
   /* GGActiveImpl: */ 
SOURCE(521, 14330)
SOURCE(2570, 269)
   {
      word var←c44908;
      var←c44908 = XR←NewObject(36, (* (( (ptr) gf←c47660)+8) ));
      (*  (ptr) var←c44908 ) = (* (( (ptr) gf←c47660)+61) );
      (* (( (ptr) var←c44908)+1) ) = (word) (( (bPt) gf←c47660)+416)/* var←c44652 */ ;
      (* (( (ptr) var←c44908)+2) ) = (word) (( (bPt) gf←c47660)+408)/* var←c44620 */ ;
      (* (( (ptr) var←c44908)+3) ) = (word) (( (bPt) gf←c47660)+400)/* var←c44588 */ ;
      (* (( (ptr) var←c44908)+4) ) = (word) (( (bPt) gf←c47660)+392)/* var←c44556 */ ;
      (* (( (ptr) var←c44908)+5) ) = (word) (( (bPt) gf←c47660)+432)/* var←c44716 */ ;
      (* (( (ptr) var←c44908)+7) ) = (word) (( (bPt) gf←c47660)+424)/* var←c44684 */ ;
      (* (( (ptr) gf←c47660)+4)/* ggActiveDocClass←v4876 */  ) = var←c44908;
      };
SOURCE(13969, 86)
   {
      word pd96;
      pd96 = (* (( (ptr) (* (( (ptr) gf←c47660)+120)/* var←c44940 */  ))+5) );
      (* (( (ptr) gf←c47660)+5)/* ggActionAreaClass←v5576 */  ) = (word) ( *( (fPt) ((*  (ptr) pd96 ))))((* ((( (ptr) gf←c47660)+60)
         ) ), pd96);
      };
SOURCE(14057, 58)
   {
      word pd97;
      pd97 = (* (( (ptr) (* (( (ptr) gf←c47660)+121)/* var←c44972 */  ))+5) );
      (* (( (ptr) (* (( (ptr) gf←c47660)+5)/* ggActionAreaClass←v5576 */  ))+15) ) = (word) ( *( (fPt) ((*  (ptr) pd97 ))))(pd97)
      ;
      };
SOURCE(14179, 82)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c47660)+122)/* var←c45004 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd98 ))))((* (( (ptr) gf←c47660)+59) ), (word) (( (bPt) gf←c47660)+368)/* var←c44460 */ , (word) (
            ( (bPt) gf←c47660)+376)/* var←c44492 */ , (word) (( (bPt) gf←c47660)+360)/* var←c44428 */ , pd98);
      };
SOURCE(14263, 24)
   (void) InitPaletteApplication←P60();
SOURCE(14289, 77)
   {
      word pd99;
      pd99 = (* (( (ptr) (* (( (ptr) gf←c47660)+123)/* var←c45036 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd99 ))))((* (( (ptr) gf←c47660)+58) ), (word) (( (bPt) gf←c47660)+328)/* var←c44300 */ , 0, 1, 0, pd99)
      ;
      };
SOURCE(14368, 87)
   {
      word pd100;
      pd100 = (* (( (ptr) (* (( (ptr) gf←c47660)+123)/* var←c45036 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd100 ))))((* (( (ptr) gf←c47660)+55) ), (word) (( (bPt) gf←c47660)+320)/* var←c44268 */ , 0, 1, 0, pd100)
      ;
      };
SOURCE(14457, 83)
   {
      word pd101;
      pd101 = (* (( (ptr) (* (( (ptr) gf←c47660)+123)/* var←c45036 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd101 ))))((* (( (ptr) gf←c47660)+39) ), (word) (( (bPt) gf←c47660)+312)/* var←c44236 */ , 0, 1, 0, pd101)
      ;
      };
SOURCE(14542, 151)
   {
      word pd102;
      pd102 = (* (( (ptr) (* (( (ptr) gf←c47660)+124)/* var←c45068 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd102 ))))((* (( (ptr) gf←c47660)+29) ), (word) (( (bPt) gf←c47660)+272)/* var←c44076 */ , (* (
            ( (ptr) gf←c47660)+25) ), 0, 1, pd102);
      };
SOURCE(14695, 63)
   {
      word pd103;
      pd103 = (* (( (ptr) (* (( (ptr) gf←c47660)+125)/* var←c45100 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd103 ))))((* (( (ptr) gf←c47660)+61) ), (word) (( (bPt) gf←c47660)+352)/* var←c44396 */ , pd103)
      ;
      };
SOURCE(14760, 91)
   {
      word pd104;
      pd104 = (* (( (ptr) (* (( (ptr) gf←c47660)+125)/* var←c45100 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd104 ))))((* (( (ptr) gf←c47660)+24) ), (word) (( (bPt) gf←c47660)+344)/* var←c44364 */ , pd104)
      ;
      };
   }

static void InitPaletteApplication←P60()
   {
   register ptr gf←c47692 =  (ptr) &globalframe;
   /* InitPaletteApplication: */ 
SOURCE(1914, 93)
SOURCE(1947, 60)
   {
      word pd105;
      pd105 = (* (( (ptr) (* (( (ptr) gf←c47692)+125)/* var←c45100 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd105 ))))((* (( (ptr) gf←c47692)+23) ), (word) (( (bPt) gf←c47692)+456)/* var←c44812 */ , pd105)
      ;
      };
   }

static word PaletteNotify←P120(events←v19992, buttonInfo←v20020)
   word events←v19992;
   word buttonInfo←v20020;
   {
   register ptr gf←c47724 =  (ptr) &globalframe;
   word result←v20064;
   word ggData←v7264;
   word sliceD←v7292;
   /* PaletteNotify: */ 
SOURCE(2013, 531)
SOURCE(2013, 531)
   result←v20064 = 0;
SOURCE(2069, 46)
   ggData←v7264 = XR←Narrow((*  (ptr) (* (( (ptr) buttonInfo←v20020)+1) ) ), (* (( (ptr) gf←c47724)+22) ));
SOURCE(2117, 51)
   sliceD←v7292 = XR←Narrow((*  (ptr) buttonInfo←v20020 ), (* (( (ptr) gf←c47724)+21) ));
SOURCE(2170, 374)
   {
      register word list←v7336;
      list←v7336 = events←v19992;
      lab←L100003: ;
      if ((list←v7336 != 0)) {
         }
      else {
         goto lab←L100000;
         };
SOURCE(2232, 312)
      {
         word var←c45132;
         var←c45132 = (*  (ptr) list←v7336 );
         if ((var←c45132 == (* (( (ptr) gf←c47724)+26) ))) {
SOURCE(2277, 52)
            {
               W2 var←c45196;
               {
                  word pd106;
                  pd106 = (* (( (ptr) (* (( (ptr) gf←c47724)+126)/* var←c45164 */  ))+35) );
                  (void) ( *( (fPt) ((*  (ptr) pd106 ))))((word) &var←c45196, ggData←v7264, sliceD←v7292, pd106);
                  };
               };
            }
         else {
            if ((var←c45132 == (* (( (ptr) gf←c47724)+27) ))) {
SOURCE(2355, 54)
               {
                  W2 var←c45228;
                  {
                     word pd107;
                     pd107 = (* (( (ptr) (* (( (ptr) gf←c47724)+126)/* var←c45164 */  ))+34) );
                     (void) ( *( (fPt) ((*  (ptr) pd107 ))))((word) &var←c45228, ggData←v7264, sliceD←v7292, pd107);
                     };
                  };
               }
            else {
               if ((var←c45132 == (* (( (ptr) gf←c47724)+28) ))) {
SOURCE(2436, 52)
                  {
                     W2 var←c45260;
                     {
                        word pd108;
                        pd108 = (* (( (ptr) (* (( (ptr) gf←c47724)+126)/* var←c45164 */  ))+35) );
                        (void) ( *( (fPt) ((*  (ptr) pd108 ))))((word) &var←c45260, ggData←v7264, sliceD←v7292, pd108);
                        };
                     };
SOURCE(2490, 54)
                  {
                     W2 var←c45292;
                     {
                        word pd109;
                        pd109 = (* (( (ptr) (* (( (ptr) gf←c47724)+126)/* var←c45164 */  ))+34) );
                        (void) ( *( (fPt) ((*  (ptr) pd109 ))))((word) &var←c45292, ggData←v7264, sliceD←v7292, pd109);
                        };
                     };
                  };
               };
            };
         };
      list←v7336 = (* (( (ptr) list←v7336)+1) );
      goto lab←L100003;
      lab←L100000: ;
      };
SOURCE(2013, 531)
   return(result←v20064);
   }

static word LookupDoc←P180(ggData←v5672)
   word ggData←v5672;
   {
   register ptr gf←c47756 =  (ptr) &globalframe;
   word doc←v5716;
   /* LookupDoc: */ 
SOURCE(2842, 250)
SOURCE(2842, 250)
   doc←v5716 = 0;
SOURCE(2911, 181)
   if (((* (( (ptr) ggData←v5672)+37) ) == 0)) {
SOURCE(2953, 57)
      {
         word pd110;
         pd110 = (* (( (ptr) (* (( (ptr) gf←c47756)+127)/* var←c45324 */  ))+4) );
         doc←v5716 = (word) ( *( (fPt) ((*  (ptr) pd110 ))))(ggData←v5672, (* (( (ptr) gf←c47756)+4)/* ggActiveDocClass←v4876 */  ), pd110)
         ;
         };
SOURCE(3012, 31)
      (* (( (ptr) ggData←v5672)+37) ) = doc←v5716;
      }
   else {
SOURCE(3052, 40)
      doc←v5716 = XR←Narrow((* (( (ptr) ggData←v5672)+37) ), (* (( (ptr) gf←c47756)+20) ));
      };
SOURCE(2842, 250)
   return(doc←v5716);
   }

static word NullDoc←P240(ggData←v5776)
   word ggData←v5776;
   {
   register ptr gf←c47788 =  (ptr) &globalframe;
   word doc←v5820;
   /* NullDoc: */ 
SOURCE(3096, 935)
SOURCE(3096, 935)
   doc←v5820 = 0;
SOURCE(3163, 35)
   {
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+4) );
      doc←v5820 = (word) ( *( (fPt) ((*  (ptr) pd111 ))))((* ((( (ptr) gf←c47788)+30)) ), pd111);
      };
SOURCE(3200, 56)
   {
      word var←c45388;
      word pd112;
      pd112 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45388 = (word) ( *( (fPt) ((*  (ptr) pd112 ))))(doc←v5820, (* (( (ptr) gf←c47788)+31) ), 0, pd112);
      };
SOURCE(3258, 61)
   {
      word var←c45420;
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45420 = (word) ( *( (fPt) ((*  (ptr) pd113 ))))(doc←v5820, (* (( (ptr) gf←c47788)+32) ), 0, pd113);
      };
SOURCE(3321, 58)
   {
      word var←c45452;
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45452 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(doc←v5820, (* (( (ptr) gf←c47788)+33) ), 1, pd114);
      };
SOURCE(3381, 53)
   {
      word var←c45484;
      word pd115;
      pd115 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45484 = (word) ( *( (fPt) ((*  (ptr) pd115 ))))(doc←v5820, (* (( (ptr) gf←c47788)+34) ), 0, pd115);
      };
SOURCE(3466, 54)
   {
      word var←c45516;
      word pd116;
      pd116 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45516 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(doc←v5820, (* (( (ptr) gf←c47788)+35) ), 1, pd116);
      };
SOURCE(3543, 54)
   {
      word var←c45548;
      word pd117;
      pd117 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45548 = (word) ( *( (fPt) ((*  (ptr) pd117 ))))(doc←v5820, (* (( (ptr) gf←c47788)+36) ), 0, pd117);
      };
SOURCE(3599, 124)
   {
      word var←c45676;
      {
         word var←c45580;
         {
            word var←c45612;
            word var←c45644;
            var←c45612 = XR←NewObject(8, (* (( (ptr) gf←c47788)+17) ));
            var←c45644 = var←c45612;
            (*  (ptr) var←c45644 ) = (* (( (ptr) gf←c47788)+38) );
            (* (( (ptr) var←c45644)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c47788)+17) ));
            var←c45644 = (* (( (ptr) var←c45644)+1) );
            (*  (ptr) var←c45644 ) = (* (( (ptr) gf←c47788)+41) );
            (* (( (ptr) var←c45644)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c47788)+17) ));
            var←c45644 = (* (( (ptr) var←c45644)+1) );
            (*  (ptr) var←c45644 ) = (* (( (ptr) gf←c47788)+40) );
            var←c45580 = var←c45612;
            };
         {
            word pd118;
            pd118 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+12) );
            var←c45676 = (word) ( *( (fPt) ((*  (ptr) pd118 ))))(doc←v5820, (* (( (ptr) gf←c47788)+37) ), (* (( (ptr) gf←c47788)+38) ), var←c45580, pd118)
            ;
            };
         };
      };
SOURCE(3725, 53)
   {
      word var←c45708;
      word pd119;
      pd119 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45708 = (word) ( *( (fPt) ((*  (ptr) pd119 ))))(doc←v5820, (* (( (ptr) gf←c47788)+42) ), 1, pd119);
      };
SOURCE(3780, 59)
   {
      word var←c45740;
      word pd120;
      pd120 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+10) );
      var←c45740 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))(doc←v5820, (* (( (ptr) gf←c47788)+43) ), (*  (ptr) &fc121 ), pd120);
      };
SOURCE(3841, 107)
   {
      word var←c45868;
      {
         word var←c45772;
         {
            word var←c45804;
            word var←c45836;
            var←c45804 = XR←NewObject(8, (* (( (ptr) gf←c47788)+17) ));
            var←c45836 = var←c45804;
            (*  (ptr) var←c45836 ) = (* (( (ptr) gf←c47788)+46) );
            (* (( (ptr) var←c45836)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c47788)+17) ));
            var←c45836 = (* (( (ptr) var←c45836)+1) );
            (*  (ptr) var←c45836 ) = (* (( (ptr) gf←c47788)+45) );
            var←c45772 = var←c45804;
            };
         {
            word pd122;
            pd122 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+12) );
            var←c45868 = (word) ( *( (fPt) ((*  (ptr) pd122 ))))(doc←v5820, (* (( (ptr) gf←c47788)+44) ), (* (( (ptr) gf←c47788)+45) ), var←c45772, pd122)
            ;
            };
         };
      };
SOURCE(3950, 51)
   {
      word var←c45900;
      word pd123;
      pd123 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+6) );
      var←c45900 = (word) ( *( (fPt) ((*  (ptr) pd123 ))))(doc←v5820, (* (( (ptr) gf←c47788)+47) ), 0, pd123);
      };
SOURCE(4005, 26)
   {
      word pd124;
      pd124 = (* (( (ptr) (* (( (ptr) gf←c47788)+128)/* var←c45356 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd124 ))))(doc←v5820, pd124);
      };
SOURCE(3096, 935)
   return(doc←v5820);
   }

static word GGInButton←P300(button←v21368, doc←v21396, x←v21424, y←v21452)
   word button←v21368;
   word doc←v21396;
   word x←v21424;
   word y←v21452;
   {
   word var←c21496;
   /* GGInButton: */ 
SOURCE(4746, 51)
SOURCE(4785, 12)
   return(1);
   }

static word GGGetDocName←P360(doc←v21556)
   word doc←v21556;
   {
   register ptr gf←c47820 =  (ptr) &globalframe;
   word name←v21600;
   word ggData←v7476;
   /* GGGetDocName: */ 
SOURCE(4803, 114)
SOURCE(4803, 114)
   name←v21600 = 0;
SOURCE(4846, 35)
   ggData←v7476 = XR←Narrow((*  (ptr) doc←v21556 ), (* (( (ptr) gf←c47820)+22) ));
SOURCE(4883, 34)
   {
      word pd125;
      pd125 = (* (( (ptr) (* (( (ptr) gf←c47820)+129)/* var←c45932 */  ))+110) );
      name←v21600 = (word) ( *( (fPt) ((*  (ptr) pd125 ))))(ggData←v7476, pd125);
      };
SOURCE(4803, 114)
   return(name←v21600);
   }

static word GGGetRef←P420(key←v20744, button←v20772, doc←v20800)
   word key←v20744;
   word button←v20772;
   word doc←v20800;
   {
   register ptr gf←c47852 =  (ptr) &globalframe;
   word ref←v20844;
   word sliceD←v7520;
   word isUnique←v7548 = 1;
   /* GGGetRef: */ 
SOURCE(4923, 327)
SOURCE(4923, 327)
   ref←v20844 = 0;
SOURCE(4958, 40)
   sliceD←v7520 = XR←Narrow(button←v20772, (* (( (ptr) gf←c47852)+21) ));
SOURCE(5023, 62)
   {
      W2 var←c45964;
      {
         word pd126;
         pd126 = (* (( (ptr) (* (( (ptr) gf←c47852)+122)/* var←c45004 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd126 ))))((word) &var←c45964, (*  (ptr) sliceD←v7520 ), (* (( (ptr) sliceD←v7520)+1) ), key←v20744, pd126)
         ;
         };
      isUnique←v7548 = var←c45964.f1;
      ref←v20844 = var←c45964.f0;
      };
SOURCE(5087, 163)
   if ((ref←v20844 == 0)) {
SOURCE(5105, 147)
      {
         word ggData←v7592;
         word rootSlice←v7620;
SOURCE(5126, 35)
         ggData←v7592 = XR←Narrow((*  (ptr) doc←v20800 ), (* (( (ptr) gf←c47852)+22) ));
SOURCE(5163, 35)
         rootSlice←v7620 = (* (( (ptr) ggData←v7592)+12) );
SOURCE(5200, 50)
         {
            W2 var←c45996;
            {
               word pd127;
               pd127 = (* (( (ptr) (* (( (ptr) gf←c47852)+122)/* var←c45004 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd127 ))))((word) &var←c45996, rootSlice←v7620, 0, key←v20744, pd127);
               };
            isUnique←v7548 = var←c45996.f1;
            ref←v20844 = var←c45996.f0;
            };
         };
      };
SOURCE(4923, 327)
   return(ref←v20844);
   }

static void GGSetRef←P480(key←v20904, button←v20932, doc←v20960, ref←v20988, edited←v21016)
   word key←v20904;
   word button←v20932;
   word doc←v20960;
   word ref←v20988;
   word edited←v21016;
   {
   register ptr gf←c47884 =  (ptr) &globalframe;
   word sliceD←v7664;
   /* GGSetRef: */ 
SOURCE(5258, 126)
SOURCE(5293, 40)
   sliceD←v7664 = XR←Narrow(button←v20932, (* (( (ptr) gf←c47884)+21) ));
SOURCE(5335, 49)
   {
      word pd128;
      pd128 = (* (( (ptr) (* (( (ptr) gf←c47884)+122)/* var←c45004 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd128 ))))((*  (ptr) sliceD←v7664 ), (* (( (ptr) sliceD←v7664)+1) ), key←v20904, ref←v20988, pd128)
      ;
      };
   }

static word GGMapRef←P540(formal←c0306, formal←c0307)
   word formal←c0306;
   word formal←c0307;
   {
   W8 var←c47916;
   /* declaration of doc←v21076 skipped */ 
   /* declaration of mapProc←v21104 skipped */ 
   register ptr gf←c47948 =  (ptr) &globalframe;
   word aborted←v21148;
   /* declaration of var←c46028 skipped */ 
   word ggData←v7736;
   var←c47916.f4/* doc←v21076 */  = formal←c0306;
   var←c47916.f5/* mapProc←v21104 */  = formal←c0307;
   /* GGMapRef: */ 
SOURCE(5389, 397)
   {
      word tmpAddr129;
      tmpAddr129 = (word) (( (ptr) &var←c47916)+6)/* var←c46028 */ ;
      (*  (ptr) tmpAddr129 ) = ( ((word)  (fPt) ForEachButton←P1656) );
      (* (( (ptr) tmpAddr129) + 1) ) = 1;
      };
SOURCE(5389, 397)
   aborted←v21148 = 0;
SOURCE(5686, 35)
   ggData←v7736 = XR←Narrow((*  (ptr) var←c47916.f4/* doc←v21076 */  ), (* (( (ptr) gf←c47948)+22) ));
SOURCE(5723, 63)
   {
      word pd130;
      pd130 = (* (( (ptr) (* (( (ptr) gf←c47948)+130)/* var←c46060 */  ))+31) );
      aborted←v21148 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))((* (( (ptr) ggData←v7736)+11) ), 1, (word) (( (bPt) &var←c47916)+24)
         /* var←c46028 */ , 0, pd130);
      };
SOURCE(5389, 397)
   return(aborted←v21148);
   }

static word ForEachButton←P1656(leaf←v7812, formal←c48012)
   word leaf←v7812;
   word formal←c48012;
   {
   register ptr gf←c47980 =  (ptr) &globalframe;
   word done←v7856;
   word leafD←v7884;
   word buttonData←v7912;
   W2 var←c0134;
   formal←c48012 = (formal←c48012 - 24);
   /* ForEachButton: */ 
SOURCE(5424, 257)
SOURCE(5424, 257)
   done←v7856 = 0;
SOURCE(5491, 62)
   {
      word pd131;
      pd131 = (* (( (ptr) (* (( (ptr) gf←c47980)+131)/* var←c46092 */  ))+29) );
      leafD←v7884 = (word) ( *( (fPt) ((*  (ptr) pd131 ))))(leaf←v7812, 0, 6, pd131);
      };
SOURCE(5555, 65)
   {
      word pd132;
      pd132 = (* (( (ptr) (* (( (ptr) gf←c47980)+122)/* var←c45004 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd132 ))))((word) &var←c0134, leaf←v7812, (* (( (ptr) leafD←v7884)+1) ), (* (( (ptr) gf←c47980)+59)
          ), pd132);
      };
   buttonData←v7912 = var←c0134.f0;
SOURCE(5622, 31)
   if ((buttonData←v7912 == 0)) {
SOURCE(5647, 6)
      return(done←v7856);
      };
SOURCE(5655, 26)
   {
      word pd133;
      pd133 = (* (( (ptr) formal←c48012)+5) );
      done←v7856 = (word) ( *( (fPt) ((*  (ptr) pd133 ))))(leafD←v7884, (* (( (ptr) formal←c48012)+4) ), pd133);
      };
SOURCE(5424, 257)
   return(done←v7856);
   }

static word GGButtonFeedback←P600(button←v21208, doc←v21236, feedback←v21264)
   word button←v21208;
   word doc←v21236;
   word feedback←v21264;
   {
   register ptr gf←c48044 =  (ptr) &globalframe;
   word var←c21308;
   word ggData←v7968;
   word feedbackRef←v7996 = 0;
   /* GGButtonFeedback: */ 
SOURCE(5792, 400)
SOURCE(5837, 35)
   ggData←v7968 = XR←Narrow((*  (ptr) doc←v21236 ), (* (( (ptr) gf←c48044)+22) ));
SOURCE(5892, 129)
   {
      word var←c46124;
      var←c46124 = feedback←v21264;
      if ((var←c46124 == 0)) {
         goto lab←L100004;
         };
      {
         word tc134;
         if (((* (( (ptr) gf←c48044)+18) ) == XR←GetReferentType(var←c46124))) {
            tc134 =  (word) ( (unsigned) (*(int*)var←c46124<0) == 0);
            }
         else {
            tc134 =  (word) 0;
            };
         if (tc134) {
            {
               word rope←v8052;
               rope←v8052 = var←c46124;
SOURCE(5937, 49)
               {
                  word pd135;
                  pd135 = (* (( (ptr) (* (( (ptr) gf←c48044)+132)/* var←c46156 */  ))+13) );
                  feedbackRef←v7996 = (word) ( *( (fPt) ((*  (ptr) pd135 ))))(rope←v8052, pd135);
                  };
               };
            }
         else {
            lab←L100004: ;
SOURCE(5999, 22)
            feedbackRef←v7996 = feedback←v21264;
            };
         };
      };
SOURCE(6023, 130)
   {
      word var←c46188;
      word var←c46220;
      var←c46188 = feedbackRef←v7996;
      if ((var←c46188 == 0)) {
         goto lab←L100005;
         };
      var←c46220 = XR←GetReferentType(var←c46188);
      if (((* (( (ptr) gf←c48044)+11) ) == var←c46220)) {
         {
            word a←v8096;
            a←v8096 = var←c46188;
SOURCE(6063, 41)
            {
               word var←c46252;
               {
                  word var←c46284;
                  word var←c46316;
                  var←c46284 = XR←NewObject(8, (* (( (ptr) gf←c48044)+17) ));
                  var←c46316 = var←c46284;
                  (*  (ptr) var←c46316 ) = a←v8096;
                  var←c46252 = var←c46284;
                  };
               (void) QueueButtonEvent←P1380(var←c46252, ggData←v7968, button←v21208);
               };
            };
         }
      else {
         if (((* (( (ptr) gf←c48044)+17) ) == var←c46220)) {
            {
               word l←v8140;
               l←v8140 = var←c46188;
SOURCE(6124, 29)
               (void) HandleList←P1440(l←v8140, ggData←v7968, button←v21208);
               };
            }
         else {
            lab←L100005: ;
SOURCE(6166, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
SOURCE(6173, 19)
   return(feedbackRef←v7996);
   }

static word NoOpFileIn←P660(s←v21660)
   word s←v21660;
   {
   register ptr gf←c48076 =  (ptr) &globalframe;
   word val←v21704;
   /* NoOpFileIn: */ 
SOURCE(6198, 54)
SOURCE(6198, 54)
   val←v21704 = 0;
SOURCE(6233, 19)
   {
      word pd136;
      pd136 = (* (( (ptr) (* (( (ptr) gf←c48076)+133)/* var←c46348 */  ))+92) );
      val←v21704 = (word) ( *( (fPt) ((*  (ptr) pd136 ))))(s←v21660, 2147483647, 0, pd136);
      };
SOURCE(6198, 54)
   return(val←v21704);
   }

static word ButtonDataFileOut←P720(s←v21764, val←v21792)
   word s←v21764;
   word val←v21792;
   {
   register ptr gf←c48108 =  (ptr) &globalframe;
   word vf←v21836;
   word rope←v8280 = 0;
   /* ButtonDataFileOut: */ 
SOURCE(6258, 117)
SOURCE(6258, 117)
   vf←v21836 = 1;
SOURCE(6318, 40)
   {
      word pd137;
      pd137 = (* (( (ptr) (* (( (ptr) gf←c48108)+127)/* var←c45324 */  ))+15) );
      rope←v8280 = (word) ( *( (fPt) ((*  (ptr) pd137 ))))(val←v21792, pd137);
      };
SOURCE(6360, 15)
   {
      word pd138;
      pd138 = (* (( (ptr) (* (( (ptr) gf←c48108)+133)/* var←c46348 */  ))+93) );
      (void) ( *( (fPt) ((*  (ptr) pd138 ))))(s←v21764, rope←v8280, 0, 2147483647, pd138);
      };
SOURCE(6258, 117)
   return(vf←v21836);
   }

static word ButtonDataFileIn←P780(s←v21896)
   word s←v21896;
   {
   register ptr gf←c48140 =  (ptr) &globalframe;
   word val←v21940;
   word rope←v8324;
   /* ButtonDataFileIn: */ 
SOURCE(6381, 122)
SOURCE(6381, 122)
   val←v21940 = 0;
SOURCE(6422, 31)
   {
      word pd139;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c48140)+133)/* var←c46348 */  ))+92) );
      rope←v8324 = (word) ( *( (fPt) ((*  (ptr) pd139 ))))(s←v21896, 2147483647, 0, pd139);
      };
SOURCE(6456, 47)
   {
      word pd140;
      pd140 = (* (( (ptr) (* (( (ptr) gf←c48140)+127)/* var←c45324 */  ))+14) );
      val←v21940 = (word) ( *( (fPt) ((*  (ptr) pd140 ))))(rope←v8324, 0, 0, 0, pd140);
      };
SOURCE(6381, 122)
   return(val←v21940);
   }

static word ButtonDataCopy←P840(val←v22000)
   word val←v22000;
   {
   register ptr gf←c48172 =  (ptr) &globalframe;
   word copy←v22044;
   word valAsRope←v8368;
   /* ButtonDataCopy: */ 
SOURCE(6509, 148)
SOURCE(6509, 148)
   copy←v22044 = 0;
SOURCE(6546, 56)
   {
      word pd141;
      pd141 = (* (( (ptr) (* (( (ptr) gf←c48172)+127)/* var←c45324 */  ))+15) );
      valAsRope←v8368 = (word) ( *( (fPt) ((*  (ptr) pd141 ))))(val←v22000, pd141);
      };
SOURCE(6604, 53)
   {
      word pd142;
      pd142 = (* (( (ptr) (* (( (ptr) gf←c48172)+127)/* var←c45324 */  ))+14) );
      copy←v22044 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))(valAsRope←v8368, 0, 0, 0, pd142);
      };
SOURCE(6509, 148)
   return(copy←v22044);
   }

static word GargoyleHandler←P900(events←v22104, buttonInfo←v22132)
   word events←v22104;
   word buttonInfo←v22132;
   {
   register ptr gf←c48204 =  (ptr) &globalframe;
   word result←v22176;
   word viewer←v8412 = 0;
   word inputFocus←v8440 = 0;
   /* GargoyleHandler: */ 
SOURCE(6663, 385)
SOURCE(6663, 385)
   result←v22176 = 0;
SOURCE(6782, 39)
   {
      word pd143;
      pd143 = (* (( (ptr) (* (( (ptr) gf←c48204)+134)/* var←c46380 */  ))+4) );
      inputFocus←v8440 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(pd143);
      };
SOURCE(6823, 225)
   if ((inputFocus←v8440 != 0)) {
SOURCE(6850, 25)
      viewer←v8412 = (*  (ptr) inputFocus←v8440 );
SOURCE(6877, 171)
      if ( ( (viewer←v8412 != 0) ? ((*  (ptr) (*  (ptr) viewer←v8412 ) ) == (* (( (ptr) gf←c48204)+60) )) : 0 ) ) {
SOURCE(6936, 114)
         {
            word ggData←v8484;
SOURCE(6938, 63)
            {
               word pd144;
               pd144 = (* (( (ptr) (* (( (ptr) gf←c48204)+135)/* var←c46412 */  ))+15) );
               ggData←v8484 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd144 ))))(viewer←v8412, pd144), (* (( (ptr) gf←c48204)+22) ));
               };
SOURCE(7003, 45)
            (void) HandleList←P1440(events←v22104, ggData←v8484, (*  (ptr) buttonInfo←v22132 ));
            };
         };
      };
SOURCE(6663, 385)
   return(result←v22176);
   }

static word GargoyleAsControlPanelHandler←P960(events←v22236, buttonInfo←v22264)
   word events←v22236;
   word buttonInfo←v22264;
   {
   register ptr gf←c48236 =  (ptr) &globalframe;
   word result←v22308;
   word ggData←v8528;
   /* GargoyleAsControlPanelHandler: */ 
SOURCE(7060, 166)
SOURCE(7060, 166)
   result←v22308 = 0;
SOURCE(7133, 46)
   ggData←v8528 = XR←Narrow((*  (ptr) (* (( (ptr) buttonInfo←v22264)+1) ) ), (* (( (ptr) gf←c48236)+22) ));
SOURCE(7181, 45)
   (void) HandleList←P1440(events←v22236, ggData←v8528, (*  (ptr) buttonInfo←v22264 ));
SOURCE(7060, 166)
   return(result←v22308);
   }

static void ControlPanelButtonHandler←P1020(ggData←v5880, events←v5908, buttonInfo←v5936)
   word ggData←v5880;
   word events←v5908;
   word buttonInfo←v5936;
   {
   /* ControlPanelButtonHandler: */ 
SOURCE(7232, 158)
SOURCE(7345, 45)
   (void) HandleList←P1440(events←v5908, ggData←v5880, (*  (ptr) buttonInfo←v5936 ));
   }

static void TransferButtonDashes←P1080(ggData←v22368, event←v22396)
   word ggData←v22368;
   word event←v22396;
   {
   register ptr gf←c48268 =  (ptr) &globalframe;
   word sliceD←v8572;
   word dashed←v8600 = 0;
   word pattern←v8628 = 0;
   word offset←v8656;
   word length←v8684;
   word isUnique←v8712 = 1;
   word targetGGData←v8740;
   /* TransferButtonDashes: */ 
SOURCE(7396, 730)
SOURCE(7436, 50)
   sliceD←v8572 = XR←Narrow((*  (ptr) (* (( (ptr) event←v22396)+1) ) ), (* (( (ptr) gf←c48268)+21) ));
SOURCE(7541, 26)
   offset←v8656 = (*  (ptr) &fc145 );
   length←v8684 = (*  (ptr) &fc145 );
SOURCE(7592, 48)
   {
      word pd146;
      pd146 = (* (( (ptr) (* (( (ptr) gf←c48268)+129)/* var←c45932 */  ))+8) );
      targetGGData←v8740 = (word) ( *( (fPt) ((*  (ptr) pd146 ))))(pd146);
      };
SOURCE(7643, 160)
   if ((targetGGData←v8740 == 0)) {
SOURCE(7672, 123)
      {
         word pd147;
         pd147 = (* (( (ptr) (* (( (ptr) gf←c48268)+136)/* var←c46444 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd147 ))))((* (( (ptr) ggData←v22368)+3) ), 0, (* (( (ptr) gf←c48268)+48) ), (* (( (ptr) gf←c48268)+49)
             ), pd147);
         };
SOURCE(7797, 6)
      return;
      };
SOURCE(7809, 94)
   {
      W5 var←c46476;
      {
         word pd148;
         pd148 = (* (( (ptr) (* (( (ptr) gf←c48268)+131)/* var←c46092 */  ))+66) );
         (void) ( *( (fPt) ((*  (ptr) pd148 ))))((word) &var←c46476, (*  (ptr) sliceD←v8572 ), (* (( (ptr) sliceD←v8572)+1) ), pd148)
         ;
         };
      isUnique←v8712 = var←c46476.f4;
      length←v8684 = var←c46476.f3;
      offset←v8656 = var←c46476.f2;
      pattern←v8628 = var←c46476.f1;
      dashed←v8600 = var←c46476.f0;
      };
SOURCE(7906, 220)
   if ((0 != isUnique←v8712)) {
SOURCE(7925, 64)
      {
         word pd149;
         pd149 = (* (( (ptr) (* (( (ptr) gf←c48268)+137)/* var←c46508 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd149 ))))(ggData←v22368, dashed←v8600, pattern←v8628, offset←v8656, length←v8684, pd149);
         };
      }
   else {
SOURCE(7998, 128)
      {
         word pd150;
         pd150 = (* (( (ptr) (* (( (ptr) gf←c48268)+136)/* var←c46444 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd150 ))))((* (( (ptr) targetGGData←v8740)+3) ), 0, (* (( (ptr) gf←c48268)+48) ), (* (( (ptr) gf←c48268)+50)
             ), pd150);
         };
      };
   }

static void TransferButtonStrokeWidth←P1140(ggData←v22456, event←v22484)
   word ggData←v22456;
   word event←v22484;
   {
   register ptr gf←c48300 =  (ptr) &globalframe;
   word sliceD←v8784;
   word strokeWidth←v8812;
   word isUnique←v8840 = 1;
   word targetGGData←v8868;
   /* TransferButtonStrokeWidth: */ 
SOURCE(8132, 648)
SOURCE(8177, 50)
   sliceD←v8784 = XR←Narrow((*  (ptr) (* (( (ptr) event←v22484)+1) ) ), (* (( (ptr) gf←c48300)+21) ));
SOURCE(8271, 48)
   {
      word pd151;
      pd151 = (* (( (ptr) (* (( (ptr) gf←c48300)+129)/* var←c45932 */  ))+8) );
      targetGGData←v8868 = (word) ( *( (fPt) ((*  (ptr) pd151 ))))(pd151);
      };
SOURCE(8322, 160)
   if ((targetGGData←v8868 == 0)) {
SOURCE(8351, 123)
      {
         word pd152;
         pd152 = (* (( (ptr) (* (( (ptr) gf←c48300)+136)/* var←c46444 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd152 ))))((* (( (ptr) ggData←v22456)+3) ), 0, (* (( (ptr) gf←c48300)+48) ), (* (( (ptr) gf←c48300)+49)
             ), pd152);
         };
SOURCE(8476, 6)
      return;
      };
SOURCE(8488, 79)
   {
      W2 var←c46540;
      {
         word pd153;
         pd153 = (* (( (ptr) (* (( (ptr) gf←c48300)+131)/* var←c46092 */  ))+54) );
         (void) ( *( (fPt) ((*  (ptr) pd153 ))))((word) &var←c46540, (*  (ptr) sliceD←v8784 ), (* (( (ptr) sliceD←v8784)+1) ), pd153)
         ;
         };
      isUnique←v8840 = var←c46540.f1;
      strokeWidth←v8812 = var←c46540.f0;
      };
SOURCE(8570, 210)
   if ((0 != isUnique←v8840)) {
SOURCE(8589, 49)
      {
         word pd154;
         pd154 = (* (( (ptr) (* (( (ptr) gf←c48300)+137)/* var←c46508 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd154 ))))(ggData←v22456, strokeWidth←v8812, pd154);
         };
      }
   else {
SOURCE(8647, 133)
      {
         word pd155;
         pd155 = (* (( (ptr) (* (( (ptr) gf←c48300)+136)/* var←c46444 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd155 ))))((* (( (ptr) targetGGData←v8868)+3) ), 0, (* (( (ptr) gf←c48300)+48) ), (* (( (ptr) gf←c48300)+51)
             ), pd155);
         };
      };
   }

static void TransferButtonStrokeEnd←P1200(ggData←v22544, event←v22572)
   word ggData←v22544;
   word event←v22572;
   {
   register ptr gf←c48332 =  (ptr) &globalframe;
   word sliceD←v8912;
   word strokeEnd←v8940;
   word isUnique←v8968 = 1;
   word targetGGData←v8996;
   /* TransferButtonStrokeEnd: */ 
SOURCE(8786, 639)
SOURCE(8829, 50)
   sliceD←v8912 = XR←Narrow((*  (ptr) (* (( (ptr) event←v22572)+1) ) ), (* (( (ptr) gf←c48332)+21) ));
SOURCE(8926, 48)
   {
      word pd156;
      pd156 = (* (( (ptr) (* (( (ptr) gf←c48332)+129)/* var←c45932 */  ))+8) );
      targetGGData←v8996 = (word) ( *( (fPt) ((*  (ptr) pd156 ))))(pd156);
      };
SOURCE(8977, 160)
   if ((targetGGData←v8996 == 0)) {
SOURCE(9006, 123)
      {
         word pd157;
         pd157 = (* (( (ptr) (* (( (ptr) gf←c48332)+136)/* var←c46444 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd157 ))))((* (( (ptr) ggData←v22544)+3) ), 0, (* (( (ptr) gf←c48332)+48) ), (* (( (ptr) gf←c48332)+49)
             ), pd157);
         };
SOURCE(9131, 6)
      return;
      };
SOURCE(9143, 75)
   {
      W2 var←c46572;
      {
         word pd158;
         pd158 = (* (( (ptr) (* (( (ptr) gf←c48332)+131)/* var←c46092 */  ))+56) );
         (void) ( *( (fPt) ((*  (ptr) pd158 ))))((word) &var←c46572, (*  (ptr) sliceD←v8912 ), (* (( (ptr) sliceD←v8912)+1) ), pd158)
         ;
         };
      isUnique←v8968 = var←c46572.f1;
      strokeEnd←v8940 = var←c46572.f0;
      };
SOURCE(9221, 204)
   if ((0 != isUnique←v8968)) {
SOURCE(9240, 45)
      {
         word pd159;
         pd159 = (* (( (ptr) (* (( (ptr) gf←c48332)+137)/* var←c46508 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd159 ))))(ggData←v22544, strokeEnd←v8940, pd159);
         };
      }
   else {
SOURCE(9294, 131)
      {
         word pd160;
         pd160 = (* (( (ptr) (* (( (ptr) gf←c48332)+136)/* var←c46444 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd160 ))))((* (( (ptr) targetGGData←v8996)+3) ), 0, (* (( (ptr) gf←c48332)+48) ), (* (( (ptr) gf←c48332)+52)
             ), pd160);
         };
      };
   }

static void ActiveInputHandler←P1260(self←v6096, formal←c0308, input←v6152, notify←v6180)
   word self←v6096;
   word formal←c0308;
   word input←v6152;
   word notify←v6180;
   {
   W8 var←c48364;
   /* declaration of ggData←v6124 skipped */ 
   register ptr gf←c48396 =  (ptr) &globalframe;
   /* declaration of var←c46604 skipped */ 
   word event←v9040 = 0;
   word var←c46668;
   var←c48364.f4/* ggData←v6124 */  = formal←c0308;
   /* ActiveInputHandler: */ 
SOURCE(9431, 2712)
   {
      word tmpAddr161;
      tmpAddr161 = (word) (( (ptr) &var←c48364)+5)/* var←c46604 */ ;
      (*  (ptr) tmpAddr161 ) = ( ((word)  (fPt) GetMousePosition←P2004) );
      (* (( (ptr) tmpAddr161) + 1) ) = 1;
      };
SOURCE(9569, 37)
   if ((0 != (* (( (ptr) (* (( (ptr) var←c48364.f4/* ggData←v6124 */ )+2) ))+4) ))) {
SOURCE(9600, 6)
      return;
      };
SOURCE(9658, 46)
   {
      word pd162;
      pd162 = (* (( (ptr) (* (( (ptr) gf←c48396)+138)/* var←c46636 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd162 ))))((* (( (ptr) gf←c48396)+53) ), (* (( (ptr) gf←c48396)+61) ), pd162);
      };
SOURCE(9706, 2390)
   {
      word pd164;
      {
         word var←c46700;
         {
            word pd163;
            pd163 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+7) );
            var←c46700 = (word) ( *( (fPt) ((*  (ptr) pd163 ))))(input←v6152, pd163);
            };
         event←v9040 = var←c46700;
         var←c46668 = var←c46700;
         };
      pd164 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd164 ))))(var←c46668, pd164))) {
SOURCE(9770, 2306)
         {
            /* declaration of bs←v9084 skipped */ 
            word mouseAction←v9112;
            word mouseAllUp←v9140;
            word button←v9168 = 0;
            word doc←v9196 = 0;
SOURCE(9785, 60)
            {
               word pd165;
               pd165 = (* (( (ptr) (* (( (ptr) gf←c48396)+135)/* var←c46412 */  ))+12) );
               var←c48364.f7/* bs←v9084 */  = (word) ( *( (fPt) ((*  (ptr) pd165 ))))(self←v6096, pd165);
               };
SOURCE(9847, 48)
            {
               word pd166;
               pd166 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+9) );
               mouseAction←v9112 = (word) ( *( (fPt) ((*  (ptr) pd166 ))))(event←v9040, pd166);
               };
SOURCE(9897, 46)
            {
               word pd167;
               pd167 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+10) );
               mouseAllUp←v9140 = (word) ( *( (fPt) ((*  (ptr) pd167 ))))(event←v9040, pd167);
               };
SOURCE(10039, 1320)
            {
               word tc168;
               word tc169;
               word pd170;
               pd170 = (* (( (ptr) (* (( (ptr) gf←c48396)+129)/* var←c45932 */  ))+64) );
               if ((0 != (word) ( *( (fPt) ((*  (ptr) pd170 ))))(var←c48364.f4/* ggData←v6124 */ , pd170))) {
                  tc169 =  (word) ((* (( (ptr) var←c48364.f4/* ggData←v6124 */ )+38) ) == (* (( (ptr) gf←c48396)+54) ));
                  }
               else {
                  tc169 =  (word) 0;
                  };
               if (tc169) {
                  tc168 =  (word) (0 != mouseAction←v9112);
                  }
               else {
                  tc168 =  (word) 0;
                  };
               if (tc168) {
SOURCE(10207, 1195)
                  {
                     W2 mouseGG←v9268;
                     word feature←v9296 = 0;
                     W6 var←c0220;
SOURCE(10849, 63)
                     {
                        W3 var←c46732;
                        {
                           word pd171;
                           pd171 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+11) );
                           (void) ( *( (fPt) ((*  (ptr) pd171 ))))((word) &var←c46732, event←v9040, pd171);
                           };
                        {
                           W2 var←c0218;
                           (void) GetMousePosition←P2004((word) &var←c0218, var←c46732, (word) (( (bPt) &var←c48364)+20)/* var←c46604 */ );
                           mouseGG←v9268 = var←c0218;
                           };
                        };
SOURCE(10936, 219)
                     {
                        word tc172;
                        word pd173;
                        word pd174;
                        pd173 = (* (( (ptr) (* (( (ptr) gf←c48396)+139)/* var←c46764 */  ))+4) );
                        if ((0 != (word) ( *( (fPt) ((*  (ptr) pd173 ))))(event←v9040, pd173))) {
                           pd174 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+10) );
                           tc172 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd174 ))))(event←v9040, pd174));
                           }
                        else {
                           tc172 =  (word) 0;
                           };
                        if (tc172) {
SOURCE(11013, 13)
                           feature←v9296 = 0;
                           }
                        else {
SOURCE(11037, 118)
                           {
/*1*/   word pd175;
/*1*/   pd175 = (* (( (ptr) (* (( (ptr) gf←c48396)+141)/* var←c46828 */  ))+7) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd175 ))))((word) &var←c0220, mouseGG←v9268, (*  (ptr) &fc176 ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c48396)+140)
/*1*/         /* var←c46796 */  ))+16) ) ), (* (( (ptr) (* (( (ptr) var←c48364.f4/* ggData←v6124 */ )+18) ))+8) ), var←c48364.f4/* ggData←v6124 */ , pd175)
/*1*/   ;
/*1*/   };
                           feature←v9296 = var←c0220.f4;
                           };
                        };
SOURCE(11160, 199)
                     if ((feature←v9296 != 0)) {
SOURCE(11182, 23)
                        doc←v9196 = (word) LookupDoc←P180(var←c48364.f4/* ggData←v6124 */ );
SOURCE(11207, 152)
                        {
                           word var←c46860;
                           var←c46860 = (* (( (ptr) feature←v9296)+1) );
                           if ((var←c46860 == 0)) {
/*1*/   goto lab←L100006;
/*1*/   };
                           if (((* (( (ptr) gf←c48396)+21) ) == XR←GetReferentType(var←c46860))) {
/*1*/   {
/*1*/      word sliceD←v9444;
/*1*/      sliceD←v9444 = var←c46860;
SOURCE(11265, 122)
/*1*/      {
/*1*/         word buttonData←v9488;
SOURCE(11267, 52)
/*1*/         buttonData←v9488 = (word) GGGetRef←P420((* (( (ptr) gf←c48396)+59) ), sliceD←v9444, doc←v9196);
SOURCE(11321, 38)
/*1*/         if ((buttonData←v9488 != 0)) {
SOURCE(11344, 15)
/*1*/            button←v9168 = sliceD←v9444;
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   }
                           else {
/*1*/   lab←L100006: ;
/*1*/   };
                           };
                        };
                     };
                  };
               };
SOURCE(11405, 606)
            if ((button←v9168 != 0)) {
SOURCE(11426, 41)
               {
                  word pd177;
                  pd177 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+12) );
                  (void) ( *( (fPt) ((*  (ptr) pd177 ))))(event←v9040, button←v9168, doc←v9196, pd177);
                  };
               }
            else {
SOURCE(11478, 533)
               {
                  word pd178;
                  pd178 = (* (( (ptr) (* (( (ptr) gf←c48396)+129)/* var←c45932 */  ))+66) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd178 ))))(var←c48364.f4/* ggData←v6124 */ , pd178))) {
SOURCE(11516, 90)
                     {
                        word pd179;
                        pd179 = (* (( (ptr) (* (( (ptr) gf←c48396)+142)/* var←c46892 */  ))+8) );
                        if (((word) ( *( (fPt) ((*  (ptr) pd179 ))))(0, 0, pd179) != 26)) {
SOURCE(11565, 41)
                           {
/*1*/   word pd180;
/*1*/   pd180 = (* (( (ptr) (* (( (ptr) gf←c48396)+142)/* var←c46892 */  ))+7) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd180 ))))(26, 0, 0, pd180);
/*1*/   };
                           };
                        };
                     }
                  else {
SOURCE(11615, 398)
                     {
                        word result←v9672;
SOURCE(11617, 8)
                        {
                           word pd181;
                           pd181 = (* (( (ptr) (* (( (ptr) gf←c48396)+127)/* var←c45324 */  ))+13) );
                           result←v9672 = (word) ( *( (fPt) ((*  (ptr) pd181 ))))((* (( (ptr) var←c48364.f4/* ggData←v6124 */ )+49) ), event←v9040, pd181)
                           ;
                           };
SOURCE(11685, 37)
                        result←v9672 = (word) CopyEventCoordinates←P1320(result←v9672);
SOURCE(11724, 184)
                        if ((0 != mouseAction←v9112)) {
SOURCE(11744, 166)
                           {
/*1*/   word cursorType←v9812;
SOURCE(11783, 35)
/*1*/   cursorType←v9812 = (* (( (ptr) (*  (ptr) var←c48364.f4/* ggData←v6124 */  ))+39) );
SOURCE(11820, 88)
/*1*/   {
/*1*/      word pd182;
/*1*/      pd182 = (* (( (ptr) (* (( (ptr) gf←c48396)+142)/* var←c46892 */  ))+8) );
/*1*/      if ((cursorType←v9812 != (word) ( *( (fPt) ((*  (ptr) pd182 ))))(0, 0, pd182))) {
SOURCE(11868, 40)
/*1*/         {
/*1*/            word pd183;
/*1*/            pd183 = (* (( (ptr) (* (( (ptr) gf←c48396)+142)/* var←c46892 */  ))+7) );
/*1*/            (void) ( *( (fPt) ((*  (ptr) pd183 ))))(cursorType←v9812, 0, 0, pd183);
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
SOURCE(11913, 63)
                        if ((0 == mouseAllUp←v9140)) {
SOURCE(11936, 40)
                           (* (( (ptr) var←c48364.f4/* ggData←v6124 */ )+38) ) = (* (( (ptr) gf←c48396)+61) );
                           };
SOURCE(11978, 33)
                        if ((result←v9672 != 0)) {
SOURCE(11997, 14)
                           (void) ( *( (fPt) ((*  (ptr) notify←v6180 ))))(result←v9672, notify←v6180);
                           };
                        };
                     };
                  };
               };
SOURCE(12019, 55)
            if ((0 != mouseAllUp←v9140)) {
SOURCE(12038, 36)
               (* (( (ptr) var←c48364.f4/* ggData←v6124 */ )+38) ) = (* (( (ptr) gf←c48396)+54) );
               };
            };
         }
      else {
SOURCE(12083, 13)
         (void) ( *( (fPt) ((*  (ptr) notify←v6180 ))))(input←v6152, notify←v6180);
         };
      };
SOURCE(12098, 45)
   {
      word pd184;
      pd184 = (* (( (ptr) (* (( (ptr) gf←c48396)+138)/* var←c46636 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd184 ))))((* (( (ptr) gf←c48396)+53) ), (* (( (ptr) gf←c48396)+61) ), pd184);
      };
   }

static void GetMousePosition←P2004(formal←c0240, mc←v9372, formal←c48460)
   word formal←c0240;
   W3 mc←v9372;
   word formal←c48460;
   {
   register ptr gf←c48428 =  (ptr) &globalframe;
   W2 mouseGG←v9416;
   word viewerToClient←v9544;
   W2 var←c0229;
   word mouseBiScroller←v9572;
   word v←v9600 = 0;
   word inClient←v9628;
   formal←c48460 = (formal←c48460 - 20);
   /* GetMousePosition: */ 
SOURCE(10261, 24)
SOURCE(10338, 80)
   {
      word pd185;
      pd185 = (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c48460)+7) ))+1) ) ))+3) );
      (void) ( *( (fPt) ((*  (ptr) pd185 ))))((word) &var←c0229, (* (( (ptr) formal←c48460)+7) ), 0, pd185);
      };
   viewerToClient←v9544 = var←c0229.f1;
SOURCE(10420, 63)
   mouseBiScroller←v9572 = XR←NewObject(12, (* (( (ptr) gf←c48428)+16) ));
   (*  (W3Pt) mouseBiScroller←v9572 ) = mc←v9372;
SOURCE(10512, 56)
   {
      W2 var←c46956;
      {
         word pd186;
         pd186 = (* (( (ptr) (* (( (ptr) gf←c48428)+120)/* var←c44940 */  ))+31) );
         (void) ( *( (fPt) ((*  (ptr) pd186 ))))((word) &var←c46956, mouseBiScroller←v9572, pd186);
         };
      inClient←v9628 = var←c46956.f1;
      v←v9600 = var←c46956.f0;
      };
SOURCE(10570, 160)
   if ((0 == inClient←v9628)) {
SOURCE(10591, 139)
      {
         word var←c46988;
         {
            word var←c47020;
            word var←c47052;
            var←c47020 = XR←NewObject(12, (* (( (ptr) gf←c48428)+15) ));
            var←c47052 = var←c47020;
            (*  (ptr) var←c47052 ) = 5;
            (* (( (ptr) var←c47052)+1) ) = (*  (ptr) mouseBiScroller←v9572 );
            (* (( (ptr) var←c47052)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c48428)+15) ));
            var←c47052 = (* (( (ptr) var←c47052)+2) );
            (*  (ptr) var←c47052 ) = 5;
            (* (( (ptr) var←c47052)+1) ) = (* (( (ptr) mouseBiScroller←v9572)+1) );
            var←c46988 = var←c47020;
            };
         {
            word pd187;
            pd187 = (* (( (ptr) (* (( (ptr) gf←c48428)+136)/* var←c46444 */  ))+13) );
            (void) ( *( (fPt) ((*  (ptr) pd187 ))))((* (( (ptr) (* (( (ptr) formal←c48460)+4) ))+3) ), 0, (* (( (ptr) gf←c48428)+56) ), (* (
                  ( (ptr) gf←c48428)+57) ), var←c46988, pd187);
            };
         };
      };
SOURCE(10732, 112)
   {
      W2 var←c0239;
      {
         W2 var←c47084;
         {
            float tf188;
            var←c47084.f0 = (
               tf188 = (float)(int)(*  (ptr) mouseBiScroller←v9572 ),  *(word*)&tf188
               );
            };
         {
            float tf189;
            var←c47084.f1 = (
               tf189 = (float)(int)(* (( (ptr) mouseBiScroller←v9572)+1) ),  *(word*)&tf189
               );
            };
         {
            word pd190;
            pd190 = (* (( (ptr) (* (( (ptr) gf←c48428)+143)/* var←c47116 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd190 ))))((word) &var←c0239, viewerToClient←v9544, var←c47084, pd190);
            };
         };
      mouseGG←v9416 = var←c0239;
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0240 ) = mouseGG←v9416;
   return;
   }

static word CopyEventCoordinates←P1320(event←v6492)
   word event←v6492;
   {
   register ptr gf←c48492 =  (ptr) &globalframe;
   word newEvent←v6632;
   word tail←v9856 = 0;
   /* CopyEventCoordinates: */ 
SOURCE(12149, 385)
SOURCE(12149, 385)
   newEvent←v6632 = 0;
SOURCE(12264, 270)
   {
      register word list←v9996;
      list←v9996 = event←v6492;
      lab←L100011: ;
      if ((list←v9996 != 0)) {
         }
      else {
         goto lab←L100008;
         };
SOURCE(12325, 104)
      if ((tail←v9856 == 0)) {
SOURCE(12344, 45)
         {
            word var←c47148;
            {
               word var←c47180;
               var←c47180 = XR←NewObject(8, (* (( (ptr) gf←c48492)+17) ));
               (*  (ptr) var←c47180 ) = (*  (ptr) list←v9996 );
               var←c47148 = var←c47180;
               };
            newEvent←v6632 = var←c47148;
            tail←v9856 = var←c47148;
            };
         }
      else {
SOURCE(12389, 40)
         {
            word var←c47212;
            {
               word var←c47244;
               var←c47244 = XR←NewObject(8, (* (( (ptr) gf←c48492)+17) ));
               (*  (ptr) var←c47244 ) = (*  (ptr) list←v9996 );
               var←c47212 = var←c47244;
               };
            (* (( (ptr) tail←v9856)+1) ) = var←c47212;
            tail←v9856 = var←c47212;
            };
         };
SOURCE(12431, 103)
      {
         word var←c47276;
         var←c47276 = (*  (ptr) list←v9996 );
         if ((var←c47276 == 0)) {
            goto lab←L100012;
            };
         if (((* (( (ptr) gf←c48492)+16) ) == XR←GetReferentType(var←c47276))) {
            {
               word z←v10136;
               z←v10136 = var←c47276;
SOURCE(12481, 53)
               {
                  word var←c47308;
                  var←c47308 = XR←NewObject(8, (* (( (ptr) gf←c48492)+10) ));
                  {
                     float tf191;
                     (*  (ptr) var←c47308 ) = (
                        tf191 = (float)(int)(*  (ptr) z←v10136 ),  *(word*)&tf191
                        );
                     };
                  {
                     float tf192;
                     (* (( (ptr) var←c47308)+1) ) = (
                        tf192 = (float)(int)(* (( (ptr) z←v10136)+1) ),  *(word*)&tf192
                        );
                     };
                  (*  (ptr) tail←v9856 ) = var←c47308;
                  };
               };
            }
         else {
            lab←L100012: ;
            };
         };
      list←v9996 = (* (( (ptr) list←v9996)+1) );
      goto lab←L100011;
      lab←L100008: ;
      };
SOURCE(12149, 385)
   return(newEvent←v6632);
   }

static void QueueButtonEvent←P1380(event←v6788, ggData←v6816, button←v6844)
   word event←v6788;
   word ggData←v6816;
   word button←v6844;
   {
   register ptr gf←c48524 =  (ptr) &globalframe;
   word newEvent←v10180 = 0;
   /* QueueButtonEvent: */ 
SOURCE(12558, 894)
SOURCE(12658, 673)
   if ((((((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+62) )) || ((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+63)
    ))) || ((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+58) ))) || ((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+55)
    ))) || ((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+39) ))) {
SOURCE(12849, 160)
      {
         word sliceD←v10320;
SOURCE(12851, 40)
         sliceD←v10320 = XR←Narrow(button←v6844, (* (( (ptr) gf←c48524)+21) ));
SOURCE(12893, 36)
         {
            word var←c47340;
            word var←c47372;
            var←c47340 = XR←NewObject(8, (* (( (ptr) gf←c48524)+17) ));
            var←c47372 = var←c47340;
            (*  (ptr) var←c47372 ) = (*  (ptr) event←v6788 );
            (* (( (ptr) var←c47372)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c48524)+17) ));
            var←c47372 = (* (( (ptr) var←c47372)+1) );
            (*  (ptr) var←c47372 ) = sliceD←v10320;
            newEvent←v10180 = var←c47340;
            };
         };
      }
   else {
SOURCE(13016, 315)
      if (((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+64) )) || ((*  (ptr) event←v6788 ) == (* (( (ptr) gf←c48524)+65) ))) {
SOURCE(13117, 178)
         {
            word sliceD←v10364;
SOURCE(13119, 40)
            sliceD←v10364 = XR←Narrow(button←v6844, (* (( (ptr) gf←c48524)+21) ));
SOURCE(13161, 54)
            {
               word var←c47404;
               word var←c47436;
               var←c47404 = XR←NewObject(8, (* (( (ptr) gf←c48524)+17) ));
               var←c47436 = var←c47404;
               (*  (ptr) var←c47436 ) = (*  (ptr) event←v6788 );
               (* (( (ptr) var←c47436)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c48524)+17) ));
               var←c47436 = (* (( (ptr) var←c47436)+1) );
               (*  (ptr) var←c47436 ) = (*  (ptr) (* (( (ptr) event←v6788)+1) ) );
               (* (( (ptr) var←c47436)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c48524)+17) ));
               var←c47436 = (* (( (ptr) var←c47436)+1) );
               (*  (ptr) var←c47436 ) = sliceD←v10364;
               newEvent←v10180 = var←c47404;
               };
            };
         }
      else {
SOURCE(13302, 29)
         {
            word pd193;
            pd193 = (* (( (ptr) (* (( (ptr) gf←c48524)+144)/* var←c47468 */  ))+6) );
            newEvent←v10180 = (word) ( *( (fPt) ((*  (ptr) pd193 ))))(event←v6788, 0, pd193);
            };
         };
      };
SOURCE(13411, 41)
   {
      word pd194;
      pd194 = (* (( (ptr) (* (( (ptr) gf←c48524)+123)/* var←c45036 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd194 ))))(ggData←v6816, newEvent←v10180, pd194);
      };
   }

static void HandleList←P1440(list←v7012, ggData←v7040, button←v7068)
   register word list←v7012;
   word ggData←v7040;
   word button←v7068;
   {
   register ptr gf←c48556 =  (ptr) &globalframe;
   /* HandleList: */ 
SOURCE(13458, 407)
SOURCE(13528, 337)
   {
      word var←c47500;
      var←c47500 = (*  (ptr) list←v7012 );
      if ((var←c47500 == 0)) {
         goto lab←L100013;
         };
      if (((* (( (ptr) gf←c48556)+17) ) == XR←GetReferentType(var←c47500))) {
         {
            word l←v10408;
            l←v10408 = var←c47500;
SOURCE(13576, 226)
            list←v7012 = list←v7012;
            lab←L100017: ;
            if ((list←v7012 != 0)) {
               }
            else {
               goto lab←L100014;
               };
SOURCE(13623, 179)
            {
               word var←c47532;
               var←c47532 = (*  (ptr) list←v7012 );
               if ((var←c47532 == 0)) {
                  goto lab←L100018;
                  };
               if (((* (( (ptr) gf←c48556)+17) ) == XR←GetReferentType(var←c47532))) {
                  {
                     word childList←v10548;
                     childList←v10548 = var←c47532;
SOURCE(13677, 37)
                     (void) HandleList←P1440(childList←v10548, ggData←v7040, button←v7068);
                     };
                  }
               else {
                  lab←L100018: ;
SOURCE(13727, 75)
                  {
                     word var←c0269;
                     var←c0269 = (* (( (ptr) gf←c48556)+66) );
                     (void) (XR←RaiseSignal((word) (( (bPt) gf←c48556)+268)/* var←c44044 */ , 0, (word) &var←c0269));
                     };
                  };
               };
            list←v7012 = (* (( (ptr) list←v7012)+1) );
            goto lab←L100017;
            lab←L100014: ;
            };
         }
      else {
         lab←L100013: ;
SOURCE(13827, 38)
         (void) QueueButtonEvent←P1380(list←v7012, ggData←v7040, button←v7068);
         };
      };
   }

static void GGActiveHandler←P1500(formal←c0273, cmd←v22632)
   word formal←c0273;
   word cmd←v22632;
   {
   word result←v22676;
   word msg←v22704;
   /* GGActiveHandler: */ 
SOURCE(13923, 41)
SOURCE(13923, 41)
   result←v22676 = 0;
SOURCE(13923, 41)
   msg←v22704 = 0;
   /* removed tail goto */ 
   (*  (ptr) formal←c0273 ) = result←v22676;
   (* (( (ptr) formal←c0273)+1) ) = msg←v22704;
   return;
   }

/* file: GGActiveImpl, module: GGActiveImpl, compiled at: July 11, 1993 8:22:07 pm PDT */ 
extern void XR←install←GGActiveImpl() {
   NoName←Q2544();
   }
extern void XR←run←GGActiveImpl() { XR←Start(&globalframe); }