/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 15, 1993 8:11:22 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGRefreshImpl, module: GGRefreshImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2303407944,2496407562] GGRefreshImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W2 r;} W10;
typedef W10 *W10Pt;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W5 *W5Pt;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W5 r;} W13;
typedef W6 *W6Pt;
#define SOURCE(p, l) /* source p, l */
static float fc151 = 0.0;
static float fc153 = 1.0;
static float fc155 = 8.5;
static float fc157 = 72.0;
static float fc160 = 11.0;
static float fc254 = -1000000.0;
static float fc255 = 10000000.0;
static float fc288 = 3.0;
static float fc294 = 7.0;
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
static float fc315 = 6.0;
static float fc319 = 8.0;
static float fc340 = 16.0;
static float fc366 = 5.0;
static float fc408 = 2.0;
static void NoName←Q12720();
static void GGRefreshImpl←P0();
static void DisableRefresh←P60();
static void EnableRefresh←P120();
static void RegisterPaintProc←P180();
static void ActionAreaPaint←P240();
static void PaintWithAbort←P7860();
static word NoName←Q12780();
static void RepaintArea←P300();
static void PaintInParent←P360();
static void GetPaintBox←P420();
static void DoActionAreaPaint←P480();
static word CreateSandwich←P540();
static void SetScreen←P600();
static word BoundBoxFromRectangle←P660();
static void DrawSandwich←P720();
static void RepairLayer←P780();
static void InvalidateBackground←P840();
static void InvalidateForeground←P900();
static void SaveForeground←P960();
static void RestoreForeground←P1020();
static void PaintEntireScene←P1080();
static void PaintEntireSceneDrag←P1140();
static void PaintAllPlanesDrag←P1200();
static void PaintAllPlanes←P1260();
static word RefreshBackground←P1320();
static word RefreshOverlay←P1380();
static void DoRefreshOverlay←P8316();
static word RefreshCPFeedback←P1440();
static word RefreshForeground←P1500();
static word RefreshCaretPlane←P1560();
static void RepairBackgroundInBoundBox←P1620();
static word PaintObjectsInBox←P8520();
static word NullFromInto←P1680();
static void ObjectChangedInPlace←P1740();
static word ObjectChangedInPlaceBounds←P1800();
static void ObjectChangedBoundBoxProvided←P1860();
static word ObjectChangedBoundBoxProvidedBounds←P1920();
static void ObjectAdded←P1980();
static word ObjectAddedBounds←P2040();
static word AnchorAddedBounds←P2100();
static word AnchorRemovedBounds←P2160();
static void UpdateForeground←P2220();
static word PaintForeground←P8676();
static void NoteNewForeground←P2280();
static word AddToForeground←P8736();
static void DuringSelect←P2340();
static word DuringSelectBounds←P2400();
static word SelectionChangedBounds←P2460();
static word SelectionAndCaretChangedBounds←P2520();
static word AlignmentsBox←P2580();
static word AttractorBox←P2640();
static word AttractorBoundBox←P2700();
static word BoundBoxOfStarbursts←P2760();
static word InfiniteBox←P9036();
static word BoundBoxOfStarburst←P2820();
static word CaretBox←P2880();
static word AnchorBox←P2940();
static word CPBox←P3000();
static word SelectedCPsBox←P3060();
static word HotCPsBox←P3120();
static word SelectionCPBoundBox←P3180();
static word DoEnlargeBox←P9384();
static word MovingPartsBox←P3240();
static word MovingBoundBox←P3300();
static word EnlargeMovingBox←P9444();
static word SpecialTransformedBoundBox←P3360();
static word DoOutline←P9600();
static word FindMaxStrokeWidth←P9756();
static void StartCaretPos←P3420();
static word StartCaretPosBounds←P3480();
static word CaretMovedStaticBounds←P3540();
static void CaretMoved←P3600();
static word CaretMovedBounds←P3660();
static word AlignmentsVisible←P3780();
static void StartMotion←P3840();
static word StartMotionBounds←P3900();
static void StartCopyAndDrag←P3960();
static word StartCopyAndDragBounds←P4020();
static void DuringCaretPos←P4080();
static word DuringCaretPosBounds←P4140();
static void DuringDrag←P4200();
static word DuringDragBounds←P4260();
static void FinishedAdding←P4320();
static word FinishedAddingBounds←P4380();
static void RepairBackground←P4440();
static word RepairBackgroundBounds←P4500();
static void EndMotion←P4560();
static word BackmostSelectedSlice←P9864();
static word FindBackmost←P9924();
static word EndMotionBounds←P4620();
static void DrawAttractorFeedback←P4680();
static void DrawAttractor←P4740();
static void DrawStarbursts←P4800();
static word MemberTraj←P4860();
static word AllSelectedSlices←P4920();
static word AddToList←P10608();
static word AddUnique←P10668();
static void DrawSelectionFeedback←P4980();
static void DrawCpsOfSelectedSlices←P5040();
static word CountSelections←P10728();
static word CountPoints←P10884();
static word MemberSlice←P5100();
static word OutsideOf←P5160();
static void DrawObjectsFiltered←P5220();
static void DrawObjectsFilteredAux←P10992();
static word DoSkipAndDraw←P11052();
static void DrawCaret←P5280();
static void DrawAnchor←P5340();
static void PaintSpot←P5400();
static void PaintHitLine←P5460();
static void PaintOddHitLine←P5520();
static void PaintAlign←P5580();
static void PaintPolylines←P5640();
static void PaintPolylinesAux←P11256();
static word DoDrawPolyline←P11316();
static void PaintBoundBoxes←P5700();
static void PaintBoundBoxesAux←P11424();
static void PaintTightBoxes←P5760();
static void PaintTightBoxesAux←P11580();
static word DoDrawBox←P11640();
static void PaintOutlineBoxes←P5820();
static void PaintBoundBoxesAux←P11748();
static word DoDrawBox←P11808();
static void PaintSelectionBox←P5880();
static void PaintSelectionBoxAux←P11916();
static word MovingPart←P5940();
static void DrawMovingBox←P6000();
static void SnapShot←P6060();
static void SnapshotBackground←P6120();
static word DoDrawParts←P12024();
static void InterpressEntireScene←P6180();
static void PaintSceneWithCamera←P6240();
static void DrawClipped←P12084();
static word DoDrawObject←P12144();
static void MoveToOverlay←P6300();
static void MoveAllSelectedToOverlay←P6360();
static word DoMoveToOverlay←P12300();
static void MoveToBackground←P6420();
static void MoveOverlayToBackground←P6480();
static word EmptyOverlay←P6540();
static word OnOverlay←P6600();
static word OrderOverlayList←P6660();
static word FindOverlayedD←P12408();
static word DoBuildList←P12468();
static void AdjustContextForDrawBits←P6720();
static void SetStartBox←P6780();
static void EnlargeStartBox←P6840();
static void NullStartBox←P6900();
static word GetAFullBox←P6960();
static word GetABox←P7020();
static void AAPRegister←P7080();
static void AAPInit←P7140();
static void AAPRegistrations←P7200();
static void PaintSceneNoBuffer←P7260();
static void AapPaintEntireScene←P7320();
static void AapPaintEntireSceneDrag←P7380();
static void AapPaintAllPlanesDrag←P7440();
static void PaintInTotalBox←P7500();
static word PaintInTotalBoxBounds←P7560();
static void DrawBackgroundBox←P7620();
static void DrawOverlayBox←P7680();
static void DrawRubberBox←P7740();
static void DrawDragBox←P7800();
static void NoName←Q12840();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[48];} string3 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\310\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\310\261\000\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"};
static struct {unsigned f; char r[8];} string6 = {262148, "\004\200@\034\000\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\224\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\030\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\174\000\000"};
static struct {unsigned f; char r[16];} string10 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\144\000\000"};
static struct {unsigned f; char r[4];} string12 = {131074, "\004\005\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\310\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\200\000\000"};
static struct {unsigned f; char r[68];} string15 = {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[16];} string16 = {851984, "\257\300\371\314\343\307\300\031\056\017\130\100\324\000\000"};
static struct {unsigned f; char r[44];} string17 = {2752556, "\260\006\005\146\151\162\163\164\257\300\170\231\327\152\300\023\042\322\372\100\164\005\004\162\145\163\164\214\257\300\170\231\327\152\300\023\042\322\372\100\164\261\000"};
static struct {unsigned f; char r[4];} string18 = {131074, "\004\021\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\211\113\067\110\300\224\314\050\012\105\154\000\000"};
static struct {unsigned f; char r[12];} string20 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[56];} string21 = {3407928, "GGRefreshImpl doesn't know how to GetPaintBox for %g\000\000\000"};
static struct {unsigned f; char r[20];} string22 = {1114132, "DoActionAreaPaint\000\000"};
static struct {unsigned f; char r[44];} string23 = {2752556, "GGRefreshImpl doesn't know how to paint %g\000"};
static struct {unsigned f; char r[12];} string24 = {720908, "GetPaintBox"};
static struct {unsigned f; char r[12];} string25 = {655372, "CaretPlane\000"};
static struct {unsigned f; char r[20];} string26 = {1048596, "PaintEntireScene\000\000\000"};
static struct {unsigned f; char r[12];} string27 = {655372, "CPFeedback\000"};
static struct {unsigned f; char r[8];} string28 = {458760, "Overlay"};
static struct {unsigned f; char r[8];} string29 = {262152, "None\000\000\000"};
static struct {unsigned f; char r[24];} string30 = {1310744, "PaintEntireSceneDrag\000\000\000"};
static struct {unsigned f; char r[8];} string31 = {262152, "Main\000\000\000"};
static struct {unsigned f; char r[20];} string32 = {1179668, "PaintAllPlanesDrag\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "SelectWithBox\000\000"};
static struct {unsigned f; char r[12];} string34 = {720908, "SelectJoint"};
static struct {unsigned f; char r[16];} string35 = {917520, "ExtSelectJoint\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "SelectSegment\000\000"};
static struct {unsigned f; char r[20];} string37 = {1048596, "ExtSelectSegment\000\000\000"};
static struct {unsigned f; char r[20];} string38 = {1048596, "SelectTrajectory\000\000\000"};
static struct {unsigned f; char r[20];} string39 = {1245204, "ExtSelectTrajectory"};
static struct {unsigned f; char r[16];} string40 = {917520, "SelectTopLevel\000"};
static struct {unsigned f; char r[20];} string41 = {1114132, "ExtSelectTopLevel\000\000"};
static struct {unsigned f; char r[16];} string42 = {983056, "ExtendSelection"};
static struct {unsigned f; char r[16];} string43 = {851984, "DeselectJoint\000\000"};
static struct {unsigned f; char r[16];} string44 = {983056, "DeselectSegment"};
static struct {unsigned f; char r[20];} string45 = {1179668, "DeselectTrajectory\000"};
static struct {unsigned f; char r[20];} string46 = {1048596, "DeselectTopLevel\000\000\000"};
static struct {unsigned f; char r[12];} string47 = {524300, "Gargoyle\000\000\000"};
static struct {unsigned f; char r[20];} string48 = {1114132, "RefreshBackground\000\000"};
static struct {unsigned f; char r[16];} string49 = {917520, "RefreshOverlay\000"};
static struct {unsigned f; char r[20];} string50 = {1114132, "RefreshCPFeedback\000\000"};
static struct {unsigned f; char r[20];} string51 = {1114132, "RefreshForeground\000\000"};
static struct {unsigned f; char r[20];} string52 = {1114132, "RefreshCaretPlane\000\000"};
static struct {unsigned f; char r[28];} string53 = {1703964, "RepairBackgroundInBoundBox\000"};
static struct {unsigned f; char r[12];} string54 = {720908, "PaintViewer"};
static struct {unsigned f; char r[16];} string55 = {983056, "Refresh Aborted"};
static struct {unsigned f; char r[12];} string56 = {524300, "Feedback\000\000\000"};
static struct {unsigned f; char r[16];} string57 = {983056, "PaintInTotalBox"};
static struct {unsigned f; char r[8];} string58 = {458760, "Outline"};
static struct {unsigned f; char r[8];} string59 = {262152, "Text\000\000\000"};
static struct {unsigned f; char r[8];} string60 = {262152, "Traj\000\000\000"};
static struct {unsigned f; char r[12];} string61 = {655372, "Foreground\000"};
static struct {unsigned f; char r[32];} string62 = {2031648, "Failed to procure complete copy"};
static struct {unsigned f; char r[12];} string63 = {655372, "Background\000"};
static struct {unsigned f; char r[20];} string64 = {1179668, "PaintSceneNoBuffer\000"};
static struct {unsigned f; char r[24];} string65 = {1507352, "ViewersPaintEntireScene"};
static struct {unsigned f; char r[12];} string66 = {655372, "Everything\000"};
static struct {unsigned f; char r[24];} string67 = {1376280, "NewAlignmentsSelected\000\000"};
static struct {unsigned f; char r[24];} string68 = {1507352, "NewAlignmentsDeselected"};
static struct {unsigned f; char r[16];} string69 = {917520, "PaintAllPlanes\000"};
static struct {unsigned f; char r[24];} string70 = {1376280, "ViewersPaintAllPlanes\000\000"};
static struct {unsigned f; char r[20];} string71 = {1048596, "SequencesMadeHot\000\000\000"};
static struct {unsigned f; char r[20];} string72 = {1114132, "SequencesMadeCold\000\000"};
static struct {unsigned f; char r[20];} string73 = {1048596, "SelectionChanged\000\000\000"};
static struct {unsigned f; char r[28];} string74 = {1572892, "SelectionAndCaretChanged\000\000\000"};
static struct {unsigned f; char r[16];} string75 = {917520, "FinishedAdding\000"};
static struct {unsigned f; char r[12];} string76 = {655372, "CaretMoved\000"};
static struct {unsigned f; char r[20];} string77 = {1048596, "CaretMovedStatic\000\000\000"};
static struct {unsigned f; char r[12];} string78 = {720908, "AnchorAdded"};
static struct {unsigned f; char r[16];} string79 = {851984, "AnchorRemoved\000\000"};
static struct {unsigned f; char r[20];} string80 = {1048596, "RepairBackground\000\000\000"};
static struct {unsigned f; char r[12];} string81 = {720908, "StartMotion"};
static struct {unsigned f; char r[16];} string82 = {851984, "StartCaretPos\000\000"};
static struct {unsigned f; char r[20];} string83 = {1048596, "StartCopyAndDrag\000\000\000"};
static struct {unsigned f; char r[12];} string84 = {655372, "DuringDrag\000"};
static struct {unsigned f; char r[16];} string85 = {917520, "DuringCaretPos\000"};
static struct {unsigned f; char r[12];} string86 = {589836, "EndMotion\000\000"};
static struct {unsigned f; char r[16];} string87 = {786448, "DuringSelect\000\000\000"};
static struct {unsigned f; char r[12];} string88 = {589836, "EndSelect\000\000"};
static struct {unsigned f; char r[24];} string89 = {1310744, "ObjectChangedInPlace\000\000\000"};
static struct {unsigned f; char r[32];} string90 = {1900576, "ObjectChangedBoundBoxProvided\000\000"};
static struct {unsigned f; char r[12];} string91 = {720908, "ObjectAdded"};
static struct {unsigned f; char r[12];} string92 = {589836, "PaintSpot\000\000"};
static struct {unsigned f; char r[16];} string93 = {786448, "PaintHitLine\000\000\000"};
static struct {unsigned f; char r[16];} string94 = {983056, "PaintOddHitLine"};
static struct {unsigned f; char r[12];} string95 = {655372, "PaintAlign\000"};
static struct {unsigned f; char r[16];} string96 = {983056, "PaintBoundBoxes"};
static struct {unsigned f; char r[16];} string97 = {917520, "PaintPolylines\000"};
static struct {unsigned f; char r[16];} string98 = {983056, "PaintTightBoxes"};
static struct {unsigned f; char r[20];} string99 = {1114132, "PaintOutlineBoxes\000\000"};
static struct {unsigned f; char r[20];} string100 = {1114132, "PaintSelectionBox\000\000"};
static struct {unsigned f; char r[20];} string101 = {1114132, "DrawBackgroundBox\000\000"};
static struct {unsigned f; char r[16];} string102 = {917520, "DrawOverlayBox\000"};
static struct {unsigned f; char r[16];} string103 = {851984, "DrawRubberBox\000\000"};
static struct {unsigned f; char r[12];} string104 = {720908, "DrawDragBox"};
static struct {unsigned f; char r[16];} string105 = {851984, "\257\300\211\113\067\110\300\224\314\050\012\100\164\000\000"};
static struct {unsigned f; char r[24];} string106 = {1310740, "\006\006\044\001\050\001\054\001\060\001\064\001\100\220\010\000\004\100\125\001\000\000\000"};
static struct {unsigned f; char r[16];} string107 = {851984, "\257\300\170\231\327\152\300\023\042\322\372\100\150\000\000"};
static struct {unsigned f; char r[16];} string108 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"};
static struct {unsigned f; char r[16];} string109 = {851984, "\257\300\244\024\137\127\300\061\033\201\312\100\164\000\000"};
static struct {unsigned f; char r[16];} string110 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string111 = {851984, "\257\300\136\002\175\264\300\016\031\370\241\100\150\000\000"};
static struct {unsigned f; char r[16];} string112 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string113 = {851984, "\257\300\223\031\346\162\300\275\253\133\335\100\150\000\000"};
static struct {unsigned f; char r[16];} string114 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string115 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string116 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string117 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"};
static struct {unsigned f; char r[16];} string118 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string119 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"};
static struct {unsigned f; char r[16];} string120 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string121 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string122 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"};
static struct {unsigned f; char r[16];} string123 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"};
static struct {unsigned f; char r[16];} string124 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string125 = {851984, "\257\300\356\024\243\250\300\175\157\203\227\100\150\000\000"};
static struct {unsigned f; char r[16];} string126 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string127 = {851984, "\257\300\207\164\301\163\300\327\135\041\305\100\150\000\000"};
static struct {unsigned f; char r[16];} string128 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string129 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string130 = {851984, "\257\300\360\202\255\211\300\267\057\343\102\100\150\000\000"};
static struct {unsigned f; char r[16];} string131 = {851984, "\257\300\310\050\302\315\300\233\126\232\365\100\150\000\000"};
static struct {unsigned f; char r[16];} string132 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\150\000\000"};
static struct {unsigned f; char r[28];} string133 = {1572892, "\211\014\013\104\162\141\147\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000\000"};
static struct {unsigned f; char r[16];} string134 = {851984, "\257\300\333\030\273\126\300\173\036\033\131\100\200\000\000"};
static struct {unsigned f; char r[20];} string135 = {1114129, "\006\006\050\001\054\001\060\001\064\001\100\100\001\100\110\004\030\000\000"};
static struct {unsigned f; char r[28];} string136 = {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];} string137 = {851984, "\257\300\365$\303)\300KDZZ@t\000\000"};
static struct {unsigned f; char r[88];} string138 = {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];} string139 = {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];} string140 = {851984, "\257\300\036\073\304\257\300\266\014\226\240\100\164\000\000"};
static struct {unsigned f; char r[4];} string141 = {131074, "\004,\000"};
static struct {unsigned f; char r[28];} string142 = {1769500, "\211\017\016\122\145\146\162\145\163\150\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003"};
static struct {unsigned f; char r[16];} string143 = {851984, "\257\300\026\355\016\312\300\171\207\041\370\100\200\000\000"};
static struct {unsigned f; char r[44];} string144 = {2752554, "\006\020\000\001\014\001\020\001\024\001\030\001\034\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\144\001\000"};
static struct {unsigned f; char r[16];} string145 = {851984, "\257\300\207\142\037\125\300\254\056\012\025\100\150\000\000"};
static struct {unsigned f; char r[16];} string146 = {851984, "\257\300\026\355\016\312\300\171\207\041\370\100\150\000\000"};
static struct {unsigned f; char r[28];} string147 = {1572892, "\211\014\013\123\141\156\144\167\151\143\150\117\142\152\300\026\355\016\312\300\171\207\041\370\000\000\000"};
static struct {unsigned f; char r[16];} string148 = {851984, "\257\300\017\266\014\025\300\057\226\074\334\100\214\000\000"};
static struct {unsigned f; char r[4];} string149 = {196611, "\004@\207"};
static struct {
   word f0[121]; word f121; word f122; word f123; 
   word f124; word f125; word f126; word f127; 
   word f128; word f129; word f130; word f131; 
   word f132; word f133; word f134; word f135; 
   word f136; word f137; word f138; word f139; 
   word f140; word f141; word f142; word f143; 
   word f144; word f145; word f146; word f147; 
   word f148; word f149; word f150; word f151; 
   word f152; word f153; word f154; word f155; 
   word f156; word f157; word f158; word f159; 
   word f160; word f161; word f162; word f163; 
   word f164; word f165; word f166; word f167; 
   word f168; word f169; word f170; word f171; 
   word f172; word f173; word f174; word f175; 
   word f176; word f177; word f178; word f179; 
   word f180; word f181; word f182; word f183; 
   word f184; word f185; word f186; word f187; 
   word f188; word f189; word f190; word f191; 
   word f192; word f193; word f194; word f195; 
   word f196; word f197; word f198; word f199; 
   word f200; word f201; word f202; word f203; 
   word f204; word f205; word f206; word f207; 
   word f208; word f209; word f210; word f211; 
   word f212; word f213; word f214; word f215; 
   word f216; word f217; word f218; word f219; 
   word f220; word f221; word f222; word f223; 
   word f224; word f225; word f226; word f227; 
   word f228; word f229; word f230; word f231; 
   word f232; word f233; word f234; word f235; 
   word f236; word f237; word f238; word f239; 
   word f240; word f241; word f242; word f243; 
   word f244; word f245; word f246; word f247; 
   word f248; word f249; word f250; word f251; 
   word f252; word f253; word f254; word f255; 
   word f256; word f257; word f258; word f259; 
   word f260; word f261; word f262; word f263; 
   word f264; word f265; word f266; word f267; 
   word f268; word f269; word f270; word f271; 
   word f272; word f273; word f274; word f275; 
   word f276; word f277; word f278; word f279; 
   word f280; word f281; word f282; word f283; 
   word f284; word f285; word f286; word f287; 
   word f288; word f289; word f290; word f291; 
   word f292; word f293; word f294; word f295; 
   word f296; word f297; word f298; word f299; 
   word f300; word f301; word f302; word f303; 
   word f304; word f305; word f306; word f307; 
   word f308; word f309; word f310; word f311; 
   word f312; word f313; word f314; word f315; 
   word f316; word f317; word f318; word f319; 
   word f320; word f321; word f322; word f323; 
   word f324; word f325; word f326; word f327; 
   word f328; word f329; word f330; word f331; 
   word f332; word f333; word f334; word f335; 
   word f336; word f337; word f338; word f339; 
   word f340; word f341; word f342; word f343; 
   word f344; word f345; word f346; word f347; 
   word f348; word f349; word f350; word f351; 
   word f352; word f353; word f354; word f355; 
   word f356; word f357; word f358; word f359; 
   word f360; word f361; word f362; word f363; 
   word f364; word f365; word f366; word f367; 
   word f368; word f369; word f370; word f371; 
   word f372; word f373; word f374; word f375; 
   word f376; word f377; word f378; word f379; 
   word f380[28]; 
   } globalframe = {
   {0}, (word) DrawDragBox←P7800, 0, (word) DrawRubberBox←P7740, 
   0, (word) DrawOverlayBox←P7680, 0, (word) DrawBackgroundBox←P7620, 
   0, (word) PaintInTotalBoxBounds←P7560, 0, (word) PaintInTotalBox←P7500, 
   0, (word) AapPaintAllPlanesDrag←P7440, 0, (word) AapPaintEntireSceneDrag←P7380, 
   0, (word) AapPaintEntireScene←P7320, 0, (word) PaintSceneNoBuffer←P7260, 
   0, (word) AAPRegistrations←P7200, 0, (word) AAPInit←P7140, 
   0, (word) AAPRegister←P7080, 0, (word) GetABox←P7020, 
   0, (word) GetAFullBox←P6960, 0, (word) NullStartBox←P6900, 
   0, (word) EnlargeStartBox←P6840, 0, (word) SetStartBox←P6780, 
   0, (word) AdjustContextForDrawBits←P6720, 0, (word) OrderOverlayList←P6660, 
   0, (word) OnOverlay←P6600, 0, (word) EmptyOverlay←P6540, 
   0, (word) MoveOverlayToBackground←P6480, 0, (word) MoveToBackground←P6420, 
   0, (word) MoveAllSelectedToOverlay←P6360, 0, (word) MoveToOverlay←P6300, 
   0, (word) PaintSceneWithCamera←P6240, 0, (word) InterpressEntireScene←P6180, 
   0, (word) SnapshotBackground←P6120, 0, (word) SnapShot←P6060, 
   0, (word) DrawMovingBox←P6000, 0, (word) MovingPart←P5940, 
   0, (word) PaintSelectionBox←P5880, 0, (word) PaintOutlineBoxes←P5820, 
   0, (word) PaintTightBoxes←P5760, 0, (word) PaintBoundBoxes←P5700, 
   0, (word) PaintPolylines←P5640, 0, (word) PaintAlign←P5580, 
   0, (word) PaintOddHitLine←P5520, 0, (word) PaintHitLine←P5460, 
   0, (word) PaintSpot←P5400, 0, (word) DrawAnchor←P5340, 
   0, (word) DrawCaret←P5280, 0, (word) DrawObjectsFiltered←P5220, 
   0, (word) OutsideOf←P5160, 0, (word) MemberSlice←P5100, 
   0, (word) DrawCpsOfSelectedSlices←P5040, 0, (word) DrawSelectionFeedback←P4980, 
   0, (word) AllSelectedSlices←P4920, 0, (word) MemberTraj←P4860, 
   0, (word) DrawStarbursts←P4800, 0, (word) DrawAttractor←P4740, 
   0, (word) DrawAttractorFeedback←P4680, 0, (word) EndMotionBounds←P4620, 
   0, (word) EndMotion←P4560, 0, (word) RepairBackgroundBounds←P4500, 
   0, (word) RepairBackground←P4440, 0, (word) FinishedAddingBounds←P4380, 
   0, (word) FinishedAdding←P4320, 0, (word) DuringDragBounds←P4260, 
   0, (word) DuringDrag←P4200, 0, (word) DuringCaretPosBounds←P4140, 
   0, (word) DuringCaretPos←P4080, 0, (word) StartCopyAndDragBounds←P4020, 
   0, (word) StartCopyAndDrag←P3960, 0, (word) StartMotionBounds←P3900, 
   0, (word) StartMotion←P3840, 0, (word) AlignmentsVisible←P3780, 
   0, (word) CaretMovedBounds←P3660, 0, (word) CaretMoved←P3600, 
   0, (word) CaretMovedStaticBounds←P3540, 0, (word) StartCaretPosBounds←P3480, 
   0, (word) StartCaretPos←P3420, 0, (word) SpecialTransformedBoundBox←P3360, 
   0, (word) MovingBoundBox←P3300, 0, (word) MovingPartsBox←P3240, 
   0, (word) SelectionCPBoundBox←P3180, 0, (word) HotCPsBox←P3120, 
   0, (word) SelectedCPsBox←P3060, 0, (word) CPBox←P3000, 
   0, (word) AnchorBox←P2940, 0, (word) CaretBox←P2880, 
   0, (word) BoundBoxOfStarburst←P2820, 0, (word) BoundBoxOfStarbursts←P2760, 
   0, (word) AttractorBoundBox←P2700, 0, (word) AttractorBox←P2640, 
   0, (word) AlignmentsBox←P2580, 0, (word) SelectionAndCaretChangedBounds←P2520, 
   0, (word) SelectionChangedBounds←P2460, 0, (word) DuringSelectBounds←P2400, 
   0, (word) DuringSelect←P2340, 0, (word) NoteNewForeground←P2280, 
   0, (word) UpdateForeground←P2220, 0, (word) AnchorRemovedBounds←P2160, 
   0, (word) AnchorAddedBounds←P2100, 0, (word) ObjectAddedBounds←P2040, 
   0, (word) ObjectAdded←P1980, 0, (word) ObjectChangedBoundBoxProvidedBounds←P1920, 
   0, (word) ObjectChangedBoundBoxProvided←P1860, 0, (word) ObjectChangedInPlaceBounds←P1800, 
   0, (word) ObjectChangedInPlace←P1740, 0, (word) NullFromInto←P1680, 
   0, (word) RepairBackgroundInBoundBox←P1620, 0, (word) RefreshCaretPlane←P1560, 
   0, (word) RefreshForeground←P1500, 0, (word) RefreshCPFeedback←P1440, 
   0, (word) RefreshOverlay←P1380, 0, (word) RefreshBackground←P1320, 
   0, (word) PaintAllPlanes←P1260, 0, (word) PaintAllPlanesDrag←P1200, 
   0, (word) PaintEntireSceneDrag←P1140, 0, (word) PaintEntireScene←P1080, 
   0, (word) RestoreForeground←P1020, 0, (word) SaveForeground←P960, 
   0, (word) InvalidateForeground←P900, 0, (word) InvalidateBackground←P840, 
   0, (word) RepairLayer←P780, 0, (word) DrawSandwich←P720, 
   0, (word) BoundBoxFromRectangle←P660, 0, (word) SetScreen←P600, 
   0, (word) CreateSandwich←P540, 0, (word) DoActionAreaPaint←P480, 
   0, (word) GetPaintBox←P420, 0, (word) PaintInParent←P360, 
   0, (word) RepaintArea←P300, 0, (word) ActionAreaPaint←P240, 
   0, (word) RegisterPaintProc←P180, 0, (word) EnableRefresh←P120, 
   0, (word) DisableRefresh←P60, 0, (word) GGRefreshImpl←P0, 
   {0}
   };

static void NoName←Q12720()
   {
   register ptr gf←c0992 =  (ptr) &globalframe;
   word var←c92384;
   (* (( (ptr) gf←c0992)+19) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0992)+20) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0992)+22) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0992)+25) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0992)+26) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string4);
   (* (( (ptr) gf←c0992)+28) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string2);
   (* (( (ptr) gf←c0992)+29) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12);
   (* (( (ptr) gf←c0992)+30) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string4);
   (* (( (ptr) gf←c0992)+31) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0992)+32) ) = (word) XR←GetTypeIndexS((word) (&string16));
   (* (( (ptr) gf←c0992)+34) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18);
   (* (( (ptr) gf←c0992)+35) ) = (word) XR←GetTypeIndexS((word) (&string19));
   (*  (ptr) (( (bPt) gf←c0992)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0992)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+28) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0992)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0992)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+28) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0992)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0992)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0992)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0992)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0992)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0992)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0992)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0992)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0992)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0992)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0992)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0992)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0992)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0992)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0992)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0992)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0992)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0992)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0992)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0992)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0992)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0992)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0992)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0992)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0992)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0992)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c0992)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string50);
   (*  (ptr) (( (bPt) gf←c0992)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string51);
   (*  (ptr) (( (bPt) gf←c0992)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string52);
   (*  (ptr) (( (bPt) gf←c0992)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string53);
   (*  (ptr) (( (bPt) gf←c0992)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string54);
   (*  (ptr) (( (bPt) gf←c0992)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+28) ), (word) &string55);
   (*  (ptr) (( (bPt) gf←c0992)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string56);
   (*  (ptr) (( (bPt) gf←c0992)+292) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string57);
   (*  (ptr) (( (bPt) gf←c0992)+296) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string58);
   (*  (ptr) (( (bPt) gf←c0992)+300) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string59);
   (*  (ptr) (( (bPt) gf←c0992)+304) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string60);
   (*  (ptr) (( (bPt) gf←c0992)+308) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string61);
   (*  (ptr) (( (bPt) gf←c0992)+312) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+28) ), (word) &string62);
   (*  (ptr) (( (bPt) gf←c0992)+316) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string63);
   (*  (ptr) (( (bPt) gf←c0992)+320) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string64);
   (*  (ptr) (( (bPt) gf←c0992)+324) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string65);
   (*  (ptr) (( (bPt) gf←c0992)+328) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string66);
   (*  (ptr) (( (bPt) gf←c0992)+332) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string67);
   (*  (ptr) (( (bPt) gf←c0992)+336) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string68);
   (*  (ptr) (( (bPt) gf←c0992)+340) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string69);
   (*  (ptr) (( (bPt) gf←c0992)+344) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string70);
   (*  (ptr) (( (bPt) gf←c0992)+348) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string71);
   (*  (ptr) (( (bPt) gf←c0992)+352) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string72);
   (*  (ptr) (( (bPt) gf←c0992)+356) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string73);
   (*  (ptr) (( (bPt) gf←c0992)+360) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string74);
   (*  (ptr) (( (bPt) gf←c0992)+364) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string75);
   (*  (ptr) (( (bPt) gf←c0992)+368) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string76);
   (*  (ptr) (( (bPt) gf←c0992)+372) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string77);
   (*  (ptr) (( (bPt) gf←c0992)+376) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string78);
   (*  (ptr) (( (bPt) gf←c0992)+380) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string79);
   (*  (ptr) (( (bPt) gf←c0992)+384) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string80);
   (*  (ptr) (( (bPt) gf←c0992)+388) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string81);
   (*  (ptr) (( (bPt) gf←c0992)+392) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string82);
   (*  (ptr) (( (bPt) gf←c0992)+396) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string83);
   (*  (ptr) (( (bPt) gf←c0992)+400) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string84);
   (*  (ptr) (( (bPt) gf←c0992)+404) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string85);
   (*  (ptr) (( (bPt) gf←c0992)+408) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string86);
   (*  (ptr) (( (bPt) gf←c0992)+412) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string87);
   (*  (ptr) (( (bPt) gf←c0992)+416) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string88);
   (*  (ptr) (( (bPt) gf←c0992)+420) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string89);
   (*  (ptr) (( (bPt) gf←c0992)+424) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string90);
   (*  (ptr) (( (bPt) gf←c0992)+428) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string91);
   (*  (ptr) (( (bPt) gf←c0992)+432) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string92);
   (*  (ptr) (( (bPt) gf←c0992)+436) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string93);
   (*  (ptr) (( (bPt) gf←c0992)+440) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string94);
   (*  (ptr) (( (bPt) gf←c0992)+444) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string95);
   (*  (ptr) (( (bPt) gf←c0992)+448) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string96);
   (*  (ptr) (( (bPt) gf←c0992)+452) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string97);
   (*  (ptr) (( (bPt) gf←c0992)+456) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string98);
   (*  (ptr) (( (bPt) gf←c0992)+460) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string99);
   (*  (ptr) (( (bPt) gf←c0992)+464) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string100);
   (*  (ptr) (( (bPt) gf←c0992)+468) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string101);
   (*  (ptr) (( (bPt) gf←c0992)+472) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string102);
   (*  (ptr) (( (bPt) gf←c0992)+476) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string103);
   (*  (ptr) (( (bPt) gf←c0992)+480) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0992)+19) ), (word) &string104);
   (void) XR←DeclareGlobalFrame((word) "GGRefreshImpl", &globalframe, (word) XR←GetTypeIndex((word) &string105, 0, (word) &string106)
      , (word) (( (bPt) gf←c0992)+1516)/* var←c87520 */ );
   var←c92384 = (word) XR←ImportInterface((word) "BufferedRefresh", (word) XR←GetTypeIndexS((word) (&string107)), 9);
   (* (( (ptr) gf←c0992)+391)/* var←c88224 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 526338);
   (void) XR←ImportProcS(var←c92384, 526082);
   (void) XR←ImportProcS(var←c92384, 787459);
   (void) XR←ImportProcS(var←c92384, 1574406);
   (void) XR←ImportProcS(var←c92384, 3146249);
   (void) XR←ImportProcS(var←c92384, 1573126);
   (void) XR←ImportProcS(var←c92384, 67371009);
   var←c92384 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string108)), 21);
   (* (( (ptr) gf←c0992)+389)/* var←c87872 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 526850);
   (void) XR←ImportProcS(var←c92384, 526338);
   var←c92384 = (word) XR←ImportInterface((word) "Draw2d", (word) XR←GetTypeIndexS((word) (&string109)), 15);
   (* (( (ptr) gf←c0992)+402)/* var←c90112 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 264193);
   (void) XR←ImportProcS(var←c92384, 67634946);
   var←c92384 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string110)), 25);
   (* (( (ptr) gf←c0992)+381)/* var←c87552 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 1575429);
   (void) XR←ImportProcS(var←c92384, 1050628);
   var←c92384 = (word) XR←ImportInterface((word) "GGAlign", (word) XR←GetTypeIndexS((word) (&string111)), 46);
   (* (( (ptr) gf←c0992)+393)/* var←c88544 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 797443);
   (void) XR←ImportProcS(var←c92384, 797699);
   (void) XR←ImportProcS(var←c92384, 67381761);
   (void) XR←ImportProcS(var←c92384, 272641);
   var←c92384 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string112)), 24);
   (* (( (ptr) gf←c0992)+382)/* var←c87584 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 529666);
   (void) XR←ImportProcS(var←c92384, 67634434);
   (void) XR←ImportProcS(var←c92384, 527618);
   (void) XR←ImportProcS(var←c92384, 67371777);
   (void) XR←ImportProcS(var←c92384, 67109376);
   (void) XR←ImportProcS(var←c92384, 529410);
   (void) XR←ImportProcS(var←c92384, 68158977);
   (void) XR←ImportProcS(var←c92384, 268699393);
   (void) XR←ImportProcS(var←c92384, 526850);
   (void) XR←ImportProcS(var←c92384, 528386);
   (void) XR←ImportProcS(var←c92384, 68681990);
   var←c92384 = (word) XR←ImportInterface((word) "GGCaret", (word) XR←GetTypeIndexS((word) (&string113)), 13);
   (* (( (ptr) gf←c0992)+396)/* var←c89056 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 134482945);
   (void) XR←ImportProcS(var←c92384, 67371777);
   (void) XR←ImportProcS(var←c92384, 134482689);
   (void) XR←ImportProcS(var←c92384, 67373569);
   var←c92384 = (word) XR←ImportInterface((word) "GGOutline", (word) XR←GetTypeIndexS((word) (&string114)), 19);
   (* (( (ptr) gf←c0992)+399)/* var←c89728 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67375617);
   var←c92384 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string115)), 83);
   (* (( (ptr) gf←c0992)+398)/* var←c89696 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 68175108);
   (void) XR←ImportProcS(var←c92384, 67386625);
   (void) XR←ImportProcS(var←c92384, 67385857);
   var←c92384 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string116)), 50);
   (* (( (ptr) gf←c0992)+392)/* var←c88384 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67380993);
   (void) XR←ImportProcS(var←c92384, 67905795);
   (void) XR←ImportProcS(var←c92384, 67380737);
   (void) XR←ImportProcS(var←c92384, 67380225);
   (void) XR←ImportProcS(var←c92384, 67906307);
   (void) XR←ImportProcS(var←c92384, 68164356);
   (void) XR←ImportProcS(var←c92384, 68426757);
   (void) XR←ImportProcS(var←c92384, 67374337);
   var←c92384 = (word) XR←ImportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string117)), 23);
   (* (( (ptr) gf←c0992)+397)/* var←c89152 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67898883);
   (void) XR←ImportProcS(var←c92384, 67636994);
   (void) XR←ImportProcS(var←c92384, 67637250);
   var←c92384 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string118)), 58);
   (* (( (ptr) gf←c0992)+401)/* var←c89856 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67642626);
   var←c92384 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string119)), 20);
   (* (( (ptr) gf←c0992)+403)/* var←c90272 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 1052419);
   (void) XR←ImportProcS(var←c92384, 1049859);
   (void) XR←ImportProcS(var←c92384, 789762);
   (void) XR←ImportProcS(var←c92384, 1575940);
   (void) XR←ImportProcS(var←c92384, 1575684);
   (void) XR←ImportProcS(var←c92384, 786947);
   (void) XR←ImportProcS(var←c92384, 1313284);
   var←c92384 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string120)), 128);
   (* (( (ptr) gf←c0992)+400)/* var←c89824 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67634178);
   var←c92384 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string121)), 73);
   (* (( (ptr) gf←c0992)+395)/* var←c88768 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67901699);
   (void) XR←ImportProcS(var←c92384, 270539780);
   (void) XR←ImportProcS(var←c92384, 1313541);
   (void) XR←ImportProcS(var←c92384, 532738);
   (void) XR←ImportProcS(var←c92384, 2362633);
   (void) XR←ImportProcS(var←c92384, 1838599);
   (void) XR←ImportProcS(var←c92384, 1315333);
   (void) XR←ImportProcS(var←c92384, 67634690);
   (void) XR←ImportProcS(var←c92384, 67377153);
   (void) XR←ImportProcS(var←c92384, 67371521);
   (void) XR←ImportProcS(var←c92384, 67633922);
   (void) XR←ImportProcS(var←c92384, 67376897);
   (void) XR←ImportProcS(var←c92384, 67634434);
   (void) XR←ImportProcS(var←c92384, 68685574);
   (void) XR←ImportProcS(var←c92384, 1575942);
   var←c92384 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string122)), 119);
   (* (( (ptr) gf←c0992)+386)/* var←c87776 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67375617);
   (void) XR←ImportProcS(var←c92384, 67384833);
   (void) XR←ImportProcS(var←c92384, 134481921);
   (void) XR←ImportProcS(var←c92384, 67372801);
   (void) XR←ImportProcS(var←c92384, 67385857);
   (void) XR←ImportProcS(var←c92384, 67385345);
   var←c92384 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string123)), 55);
   (* (( (ptr) gf←c0992)+405)/* var←c91072 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 529666);
   var←c92384 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string124)), 42);
   (* (( (ptr) gf←c0992)+404)/* var←c90368 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 135007235);
   (void) XR←ImportProcS(var←c92384, 134220544);
   (void) XR←ImportProcS(var←c92384, 67636738);
   (void) XR←ImportProcS(var←c92384, 67636482);
   (void) XR←ImportProcS(var←c92384, 135008515);
   (void) XR←ImportProcS(var←c92384, 134221824);
   var←c92384 = (word) XR←ImportInterface((word) "GGWindow", (word) XR←GetTypeIndexS((word) (&string125)), 12);
   (* (( (ptr) gf←c0992)+385)/* var←c87712 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 1572870);
   var←c92384 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string126)), 84);
   (* (( (ptr) gf←c0992)+384)/* var←c87648 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 526850);
   (void) XR←ImportProcS(var←c92384, 1328387);
   (void) XR←ImportProcS(var←c92384, 540930);
   (void) XR←ImportProcS(var←c92384, 526338);
   (void) XR←ImportProcS(var←c92384, 1326338);
   (void) XR←ImportProcS(var←c92384, 536578);
   var←c92384 = (word) XR←ImportInterface((word) "ImagerColorPrivate", (word) XR←GetTypeIndexS((word) (&string127)), 48);
   (* (( (ptr) gf←c0992)+394)/* var←c88640 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67639554);
   var←c92384 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string128)), 55);
   (* (( (ptr) gf←c0992)+383)/* var←c87616 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67371521);
   (void) XR←ImportProcS(var←c92384, 67371777);
   var←c92384 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string129)), 16);
   (* (( (ptr) gf←c0992)+390)/* var←c87904 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 67895555);
   (void) XR←ImportProcS(var←c92384, 67896579);
   (void) XR←ImportProcS(var←c92384, 134742786);
   var←c92384 = (word) XR←ImportInterface((word) "SlackProcess", (word) XR←GetTypeIndexS((word) (&string130)), 26);
   (* (( (ptr) gf←c0992)+388)/* var←c87840 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 263681);
   var←c92384 = (word) XR←ImportInterface((word) "ViewerAbort", (word) XR←GetTypeIndexS((word) (&string131)), 2);
   (* (( (ptr) gf←c0992)+387)/* var←c87808 */  ) = var←c92384;
   (void) XR←ImportProcS(var←c92384, 524290);
   var←c92384 = (word) XR←ExportInterface((word) "GGInterfaceTypes", (word) XR←GetTypeIndexS((word) (&string132)), 6);
   (* (( (ptr) gf←c0992)+406)/* var←c92416 */  ) = var←c92384;
   (void) XR←ExportType((word) "DragDataObj", (word) XR←GetTypeIndexS((word) (&string133)), (word) XR←GetTypeIndex((word) &string134, 0, (word) &string135)
      );
   (void) XR←ExportType((word) "ControlsObj", (word) XR←GetTypeIndexS((word) (&string136)), (word) XR←GetTypeIndex((word) &string137, 0, (word) &string138)
      );
   (void) XR←ExportType((word) "EmbedDataObj", (word) XR←GetTypeIndexS((word) (&string139)), (word) XR←GetTypeIndex((word) &string140, 0, (word) &string141)
      );
   (void) XR←ExportType((word) "RefreshDataObj", (word) XR←GetTypeIndexS((word) (&string142)), (word) XR←GetTypeIndex((word) &string143, 0, (word) &string144)
      );
   var←c92384 = (word) XR←ExportInterface((word) "GGRefresh", (word) XR←GetTypeIndexS((word) (&string145)), 30);
   (* (( (ptr) gf←c0992)+407)/* var←c92448 */  ) = var←c92384;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1508)/* var←c87488 */ , 262145, (word) "DisableRefresh");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1500)/* var←c87456 */ , 262401, (word) "EnableRefresh");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1444)/* var←c87232 */ , 67109376, (word) "CreateSandwich");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1436)/* var←c87200 */ , 1573638, (word) "SetScreen");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1484)/* var←c87392 */ , 1049604, (word) "ActionAreaPaint");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1476)/* var←c87360 */ , 1574150, (word) "RepaintArea");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+620)/* var←c83936 */ , 2622986, (word) "SetStartBox");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+612)/* var←c83904 */ , 788227, (word) "EnlargeStartBox");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+604)/* var←c83872 */ , 264193, (word) "NullStartBox");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+588)/* var←c83808 */ , 69994763, (word) "GetABox");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1460)/* var←c87296 */ , 788995, (word) "GetPaintBox");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1468)/* var←c87328 */ , 527106, (word) "PaintInParent");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1492)/* var←c87424 */ , 789507, (word) "RegisterPaintProc");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+684)/* var←c84192 */ , 527618, (word) "MoveToOverlay");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+668)/* var←c84128 */ , 527874, (word) "MoveToBackground");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+676)/* var←c84160 */ , 528130, (word) "MoveAllSelectedToOverlay")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+660)/* var←c84096 */ , 266241, (word) "MoveOverlayToBackground")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+652)/* var←c84064 */ , 67375361, (word) "EmptyOverlay");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1300)/* var←c86656 */ , 1053188, (word) "RepairBackgroundInBoundBox")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1404)/* var←c87072 */ , 267009, (word) "InvalidateBackground")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1212)/* var←c86304 */ , 529410, (word) "NoteNewForeground");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1220)/* var←c86336 */ , 529666, (word) "UpdateForeground");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1396)/* var←c87040 */ , 267777, (word) "InvalidateForeground")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1388)/* var←c87008 */ , 268033, (word) "SaveForeground");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1380)/* var←c86976 */ , 268289, (word) "RestoreForeground");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+1372)/* var←c86944 */ , 1054980, (word) "PaintEntireScene");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+700)/* var←c84256 */ , 793091, (word) "InterpressEntireScene")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+716)/* var←c84320 */ , 531202, (word) "SnapShot");
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+692)/* var←c84224 */ , 1055748, (word) "PaintSceneWithCamera")
   ;
   (void) XR←ExportProcS(var←c92384, (word) (( (bPt) gf←c0992)+860)/* var←c84896 */ , 793859, (word) "DrawSelectionFeedback")
   ;
   var←c92384 = (word) XR←ExportInterface((word) "GGRefreshTypes", (word) XR←GetTypeIndexS((word) (&string146)), 1);
   (* (( (ptr) gf←c0992)+406)/* var←c92416 */  ) = var←c92384;
   (void) XR←ExportType((word) "SandwichObj", (word) XR←GetTypeIndexS((word) (&string147)), (word) XR←GetTypeIndex((word) &string148, 0, (word) &string149)
      );
   }

static void GGRefreshImpl←P0(formal←c0170, formal←c0169)
   word formal←c0170;
   word formal←c0169;
   {
   register ptr gf←c92480 =  (ptr) &globalframe;
   /* GGRefreshImpl: */ 
SOURCE(518, 55023)
SOURCE(897, 24)
   (* (( (ptr) gf←c92480)+8)/* Problem←v4260 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c92480)+381)/* var←c87552 */  ))+28)
    ) );
SOURCE(7495, 69)
   {
      word pd150;
      pd150 = (* (( (ptr) (* (( (ptr) gf←c92480)+382)/* var←c87584 */  ))+5) );
      (* (( (ptr) gf←c92480)+9)/* infiniteBox←v5772 */  ) = (word) ( *( (fPt) ((*  (ptr) pd150 ))))((*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (*  (ptr) &fc151 ), 0, 1, pd150)
      ;
      };
SOURCE(27803, 79)
   {
      word pd152;
      pd152 = (* (( (ptr) (* (( (ptr) gf←c92480)+383)/* var←c87616 */  ))+7) );
      (* (( (ptr) gf←c92480)+10)/* identity←v7452 */  ) = (word) ( *( (fPt) ((*  (ptr) pd152 ))))((*  (ptr) (&fc153) ), pd152);
      };
SOURCE(45051, 57)
   (* (( (ptr) gf←c92480)+11)/* ccWhite←v8544 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c92480)+384)/* var←c87648 */  ))+55)
    ) );
SOURCE(45110, 72)
   {
      word pd154;
      word x156;
      word x158;
      float tf159;
      word x161;
      word x162;
      float tf163;
      pd154 = (* (( (ptr) (* (( (ptr) gf←c92480)+382)/* var←c87584 */  ))+5) );
      (* (( (ptr) gf←c92480)+12)/* pageBox←v8572 */  ) = (word) ( *( (fPt) ((*  (ptr) pd154 ))))((*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (
            tf159 = (
               x156 = (*  (ptr) &fc155 ),  *(float*)&x156
               ) * (
               x158 = (*  (ptr) &fc157 ),  *(float*)&x158
               ),  *(word*)&tf159
            ), (
            tf163 = (
               x161 = (*  (ptr) &fc160 ),  *(float*)&x161
               ) * (
               x162 = (*  (ptr) &fc157 ),  *(float*)&x162
               ),  *(word*)&tf163
            ), 0, 0, pd154);
      };
SOURCE(55512, 9)
   (void) AAPInit←P7140();
SOURCE(55523, 18)
   (void) AAPRegistrations←P7200();
   }

static void DisableRefresh←P60(ggData←v9636)
   word ggData←v9636;
   {
   /* DisableRefresh: */ 
SOURCE(2880, 135)
SOURCE(2929, 37)
   (* (( (ptr) (* (( (ptr) ggData←v9636)+17) ))+1) ) = 1;
SOURCE(2968, 47)
   {
      word var←c87680;
      var←c87680 = (* (( (ptr) (* (( (ptr) ggData←v9636)+17) ))+21) );
      (*  (ptr) var←c87680 ) = (*  (ptr) &fc151 );
      (* (( (ptr) var←c87680)+1) ) = (*  (ptr) &fc151 );
      (* (( (ptr) var←c87680)+2) ) = (*  (ptr) &fc151 );
      (* (( (ptr) var←c87680)+3) ) = (*  (ptr) &fc151 );
      (* (( (ptr) var←c87680)+4) ) = 1;
      (* (( (ptr) var←c87680)+5) ) = 0;
      };
   }

static void EnableRefresh←P120(ggData←v9696)
   word ggData←v9696;
   {
   register ptr gf←c92512 =  (ptr) &globalframe;
   /* EnableRefresh: */ 
SOURCE(3021, 222)
SOURCE(3069, 38)
   (* (( (ptr) (* (( (ptr) ggData←v9696)+17) ))+1) ) = 0;
SOURCE(3109, 134)
   {
      word pd164;
      pd164 = (* (( (ptr) (* (( (ptr) gf←c92512)+385)/* var←c87712 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd164 ))))((* (( (ptr) gf←c92512)+73) ), ggData←v9696, 4, 0, 0, 1, pd164);
      };
   }

static void RegisterPaintProc←P180(ggData←v9756, paintProc←v9784, clientData←v9812)
   word ggData←v9756;
   word paintProc←v9784;
   word clientData←v9812;
   {
   /* RegisterPaintProc: */ 
SOURCE(3248, 179)
SOURCE(3355, 34)
   (*  (ptr) (* (( (ptr) ggData←v9756)+2) ) ) = XR←CheckProc(paintProc←v9784);
SOURCE(3391, 36)
   (* (( (ptr) (* (( (ptr) ggData←v9756)+2) ))+3) ) = clientData←v9812;
   }

static void ActionAreaPaint←P240(formal←c01197, formal←c01198, formal←c01199, handleViewerAbort←v9972)
   word formal←c01197;
   word formal←c01198;
   word formal←c01199;
   word handleViewerAbort←v9972;
   {
   W11 var←c92544;
   /* declaration of screen←v9888 skipped */ 
   /* declaration of whatHasChanged←v9916 skipped */ 
   /* declaration of ggData←v9944 skipped */ 
   register ptr gf←c92576 =  (ptr) &globalframe;
   /* declaration of var←c87744 skipped */ 
   /* declaration of buffer←v20036 skipped */ 
   /* declaration of useBackingMap←v20064 skipped */ 
   (* (( (ptr) &var←c92544)+4)/* screen←v9888 */  ) = formal←c01197;
   (* (( (ptr) &var←c92544)+5)/* whatHasChanged←v9916 */  ) = formal←c01198;
   (* (( (ptr) &var←c92544)+6)/* ggData←v9944 */  ) = formal←c01199;
   /* ActionAreaPaint: */ 
SOURCE(3432, 936)
   {
      word tmpAddr165;
      tmpAddr165 = (word) (( (ptr) &var←c92544)+7)/* var←c87744 */ ;
      (*  (ptr) tmpAddr165 ) = ( ((word)  (fPt) PaintWithAbort←P7860) );
      (* (( (ptr) tmpAddr165) + 1) ) = 1;
      };
SOURCE(4059, 46)
   {
      word pd166;
      pd166 = (* (( (ptr) (* (( (ptr) gf←c92576)+386)/* var←c87776 */  ))+60) );
      (* (( (ptr) &var←c92544)+9)/* buffer←v20036 */  ) = (word) ( *( (fPt) ((*  (ptr) pd166 ))))((* ((( (ptr) &var←c92544)+6)/* ggData←v9944 */ ) ), pd166)
      ;
      };
SOURCE(4107, 54)
   {
      word pd167;
      pd167 = (* (( (ptr) (* (( (ptr) gf←c92576)+386)/* var←c87776 */  ))+62) );
      (* (( (ptr) &var←c92544)+10)/* useBackingMap←v20064 */  ) = (word) ( *( (fPt) ((*  (ptr) pd167 ))))((* ((( (ptr) &var←c92544)+6)
         /* ggData←v9944 */ ) ), pd167);
      };
SOURCE(4163, 205)
   if ((0 != handleViewerAbort←v9972)) {
SOURCE(4189, 82)
      {
         word pd168;
         pd168 = (* (( (ptr) (* (( (ptr) gf←c92576)+387)/* var←c87808 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd168 ))))((* (( (ptr) (*  (ptr) (* (( (ptr) &var←c92544)+6)/* ggData←v9944 */  ) ))+5) ), (word) (
               ( (bPt) &var←c92544)+28)/* var←c87744 */ , pd168);
         };
      }
   else {
SOURCE(4271, 97)
      (void) DoActionAreaPaint←P480((* (( (ptr) &var←c92544)+4)/* screen←v9888 */  ), (* (( (ptr) &var←c92544)+5)/* whatHasChanged←v9916 */  ), (* (
            ( (ptr) &var←c92544)+6)/* ggData←v9944 */  ), (* (( (ptr) (* (( (ptr) (* (( (ptr) &var←c92544)+6)/* ggData←v9944 */  ))+17)
             ))+19) ), (* (( (ptr) &var←c92544)+9)/* buffer←v20036 */  ), (* (( (ptr) &var←c92544)+10)/* useBackingMap←v20064 */  ));
      };
   }

static void PaintWithAbort←P7860(formal←c92640)
   word formal←c92640;
   {
   W5 var←c92608;
   formal←c92640 = (formal←c92640 - 28);
   var←c92608.f0 = formal←c92640;
   /* PaintWithAbort: */ 
SOURCE(3553, 457)
SOURCE(3578, 432)
   {
      /* declaration of var←c01 skipped */ 
      var←c92608.f4/* var←c01 */  = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c92640)+6) ))+17) ))+19) );
      {
         word var←c01131;
         var←c01131 = (word) &var←c92608;
          (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q12780) ), ( ((word)  (fPt) NoName←Q12840) ), var←c01131);
         };
      };
   }

static word NoName←Q12780(formal←c0997)
   word formal←c0997;
   {
SOURCE(3578, 432)
   (void) DoActionAreaPaint←P480((* (( (ptr) (*  (ptr) formal←c0997 ))+4) ), (* (( (ptr) (*  (ptr) formal←c0997 ))+5) ), (* (
         ( (ptr) (*  (ptr) formal←c0997 ))+6) ), (* (( (ptr) formal←c0997)+4) ), (* (( (ptr) (*  (ptr) formal←c0997 ))+9) ), (* (( (ptr) (*  (ptr) formal←c0997 ))+10)
       ));
   return(0);
   }

static void RepaintArea←P300(screen←v10032, ggData←v10060, whatHasChanged←v10088, bounds←v10116, buffer←v10144, useBackingMap←v10172)
   word screen←v10032;
   word ggData←v10060;
   word whatHasChanged←v10088;
   word bounds←v10116;
   word buffer←v10144;
   word useBackingMap←v10172;
   {
   /* RepaintArea: */ 
SOURCE(4374, 219)
SOURCE(4513, 80)
   (void) DoActionAreaPaint←P480(screen←v10032, whatHasChanged←v10088, ggData←v10060, bounds←v10116, buffer←v10144, useBackingMap←v10172)
   ;
   }

static void PaintInParent←P360(ggData←v10232, paintAction←v10260)
   word ggData←v10232;
   word paintAction←v10260;
   {
   register ptr gf←c92672 =  (ptr) &globalframe;
   /* PaintInParent: */ 
SOURCE(4599, 435)
SOURCE(4666, 43)
   {
      word pd169;
      pd169 = (* (( (ptr) (* (( (ptr) gf←c92672)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd169 ))))((* (( (ptr) gf←c92672)+70) ), (* (( (ptr) gf←c92672)+63) ), pd169);
      };
SOURCE(4711, 279)
   if ((paintAction←v10260 != (* (( (ptr) gf←c92672)+45) ))) {
SOURCE(4741, 40)
      (* (( (ptr) (* (( (ptr) ggData←v10232)+17) ))+3) ) = paintAction←v10260;
SOURCE(4783, 57)
      (void) GetPaintBox←P420(ggData←v10232, paintAction←v10260, (* (( (ptr) (* (( (ptr) ggData←v10232)+17) ))+19) ));
SOURCE(4842, 93)
      {
         word pd170;
         pd170 = (*  (ptr) (* (( (ptr) ggData←v10232)+2) ) );
         (void) ( *( (fPt) ((*  (ptr) pd170 ))))(ggData←v10232, paintAction←v10260, (* (( (ptr) (* (( (ptr) ggData←v10232)+17) ))+19)
             ), (* (( (ptr) (* (( (ptr) ggData←v10232)+2) ))+3) ), pd170);
         };
      }
   else {
SOURCE(4944, 46)
      (* (( (ptr) (* (( (ptr) ggData←v10232)+17) ))+3) ) = (* (( (ptr) gf←c92672)+42) );
      };
SOURCE(4992, 42)
   {
      word pd171;
      pd171 = (* (( (ptr) (* (( (ptr) gf←c92672)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd171 ))))((* (( (ptr) gf←c92672)+70) ), (* (( (ptr) gf←c92672)+63) ), pd171);
      };
   }

static void GetPaintBox←P420(ggData←v10320, paintAction←v10348, into←v10376)
   word ggData←v10320;
   word paintAction←v10348;
   word into←v10376;
   {
   register ptr gf←c92704 =  (ptr) &globalframe;
   word tableEntry←v20124 = 0;
   word found←v20152 = 0;
   /* GetPaintBox: */ 
SOURCE(5040, 657)
SOURCE(5159, 43)
   {
      word pd172;
      pd172 = (* (( (ptr) (* (( (ptr) gf←c92704)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd172 ))))((* (( (ptr) gf←c92704)+63) ), (* (( (ptr) gf←c92704)+40) ), pd172);
      };
SOURCE(5205, 57)
   {
      W2 var←c87936;
      {
         word pd173;
         pd173 = (* (( (ptr) (* (( (ptr) gf←c92704)+390)/* var←c87904 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd173 ))))((word) &var←c87936, (* (( (ptr) gf←c92704)+13)/* aapTable←v9496 */  ), paintAction←v10348, pd173)
         ;
         };
      tableEntry←v20124 = var←c87936.f1;
      found←v20152 = var←c87936.f0;
      };
SOURCE(5264, 385)
   if ((0 != found←v20152)) {
SOURCE(5278, 193)
      {
         word aapEntry←v20208;
SOURCE(5280, 39)
         aapEntry←v20208 = XR←Narrow(tableEntry←v20124, (* (( (ptr) gf←c92704)+35) ));
SOURCE(5321, 144)
         if ( ( (aapEntry←v20208 != 0) ? ((* (( (ptr) aapEntry←v20208)+1) ) != 0) : 0 ) ) {
SOURCE(5368, 55)
            {
               word var←c87968;
               word pd174;
               pd174 = (* (( (ptr) aapEntry←v20208)+1) );
               var←c87968 = (word) ( *( (fPt) ((*  (ptr) pd174 ))))(ggData←v10320, paintAction←v10348, into←v10376, pd174);
               };
            }
         else {
SOURCE(5425, 17)
            (* (( (ptr) into←v10376)+4) ) = 0;
SOURCE(5445, 20)
            (* (( (ptr) into←v10376)+5) ) = 1;
            };
         };
      }
   else {
SOURCE(5480, 17)
      (* (( (ptr) into←v10376)+4) ) = 0;
SOURCE(5499, 20)
      (* (( (ptr) into←v10376)+5) ) = 1;
SOURCE(5521, 128)
      {
         W2 var←c88000;
         var←c88000.f0 = 1;
         var←c88000.f1 = paintAction←v10348;
         {
            word pd175;
            pd175 = (* (( (ptr) (* (( (ptr) gf←c92704)+381)/* var←c87552 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd175 ))))((* (( (ptr) ggData←v10320)+3) ), 0, (* (( (ptr) gf←c92704)+36) ), (* (( (ptr) gf←c92704)+37)
                ), var←c88000, pd175);
            };
         };
      };
SOURCE(5655, 42)
   {
      word pd176;
      pd176 = (* (( (ptr) (* (( (ptr) gf←c92704)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd176 ))))((* (( (ptr) gf←c92704)+63) ), (* (( (ptr) gf←c92704)+40) ), pd176);
      };
   }

static void DoActionAreaPaint←P480(screen←v10436, whatHasChanged←v10464, ggData←v10492, bounds←v10520, buffer←v10548, useBackingMap←v10576)
   word screen←v10436;
   word whatHasChanged←v10464;
   word ggData←v10492;
   word bounds←v10520;
   word buffer←v10548;
   word useBackingMap←v10576;
   {
   register ptr gf←c92736 =  (ptr) &globalframe;
   /* DoActionAreaPaint: */ 
SOURCE(5703, 870)
SOURCE(5841, 49)
   {
      word pd177;
      pd177 = (* (( (ptr) (* (( (ptr) gf←c92736)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd177 ))))((* (( (ptr) gf←c92736)+63) ), (* (( (ptr) gf←c92736)+38) ), pd177);
      };
SOURCE(5893, 63)
   {
      word var←c88032;
      {
         word x178;
         word pd179;
         word x180;
         pd179 = (* (( (ptr) (* (( (ptr) gf←c92736)+386)/* var←c87776 */  ))+11) );
         *(float*)&var←c88032 = (
            x178 = (*  (ptr) &fc153 ),  *(float*)&x178
            ) / (
            x180 = (word) ( *( (fPt) ((*  (ptr) pd179 ))))(ggData←v10492, pd179),  *(float*)&x180
            );
         };
      (* (( (ptr) (* (( (ptr) ggData←v10492)+15) ))+4) ) = var←c88032;
      };
SOURCE(5958, 562)
   if ((* (( (bPt) ggData←v10492)+207) ) & 0100) {
SOURCE(6048, 31)
      (* (( (ptr) ggData←v10492) + 51) ) &= 4294967231;
SOURCE(6081, 32)
      (void) PaintEntireScene←P1080(screen←v10436, ggData←v10492, 1, 1);
      }
   else {
SOURCE(6122, 400)
      {
         word tableEntry←v20252 = 0;
         word found←v20280 = 0;
SOURCE(6162, 60)
         {
            W2 var←c88064;
            {
               word pd181;
               pd181 = (* (( (ptr) (* (( (ptr) gf←c92736)+390)/* var←c87904 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd181 ))))((word) &var←c88064, (* (( (ptr) gf←c92736)+13)/* aapTable←v9496 */  ), whatHasChanged←v10464, pd181)
               ;
               };
            tableEntry←v20252 = var←c88064.f1;
            found←v20280 = var←c88064.f0;
            };
SOURCE(6224, 296)
         if ((0 != found←v20280)) {
SOURCE(6238, 154)
            {
               word aapEntry←v20336;
SOURCE(6240, 39)
               aapEntry←v20336 = XR←Narrow(tableEntry←v20252, (* (( (ptr) gf←c92736)+35) ));
SOURCE(6281, 109)
               if ( ( (aapEntry←v20336 != 0) ? ((*  (ptr) aapEntry←v20336 ) != 0) : 0 ) ) {
SOURCE(6327, 63)
                  {
                     word pd182;
                     pd182 = (*  (ptr) aapEntry←v20336 );
                     (void) ( *( (fPt) ((*  (ptr) pd182 ))))(screen←v10436, ggData←v10492, buffer←v10548, useBackingMap←v10576, bounds←v10520, pd182)
                     ;
                     };
                  };
               };
            }
         else {
SOURCE(6399, 121)
            {
               W2 var←c88096;
               var←c88096.f0 = 1;
               var←c88096.f1 = whatHasChanged←v10464;
               {
                  word pd183;
                  pd183 = (* (( (ptr) (* (( (ptr) gf←c92736)+381)/* var←c87552 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd183 ))))((* (( (ptr) ggData←v10492)+3) ), 0, (* (( (ptr) gf←c92736)+36) ), (* (( (ptr) gf←c92736)+39)
                      ), var←c88096, pd183);
                  };
               };
            };
         };
      };
SOURCE(6525, 48)
   {
      word pd184;
      pd184 = (* (( (ptr) (* (( (ptr) gf←c92736)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd184 ))))((* (( (ptr) gf←c92736)+63) ), (* (( (ptr) gf←c92736)+38) ), pd184);
      };
   }

static word CreateSandwich←P540()
   {
   register ptr gf←c92768 =  (ptr) &globalframe;
   word sandwich←v10636;
   /* CreateSandwich: */ 
SOURCE(6653, 333)
SOURCE(6653, 333)
   sandwich←v10636 = 0;
SOURCE(6717, 269)
   {
      word var←c88128;
      {
         word var←c88160;
         word var←c88192;
         var←c88160 = XR←NewObject(20, (* (( (ptr) gf←c92768)+34) ));
         var←c88192 = var←c88160;
         (*  (ptr) var←c88192 ) = (* (( (ptr) gf←c92768)+79) );
         (* (( (ptr) var←c88192)+1) ) = 1;
         (* (( (ptr) var←c88192)+2) ) = (word) (( (bPt) gf←c92768)+1340)/* var←c86816 */ ;
         (* (( (ptr) var←c88192)+3) ) = 1;
         (* (( (ptr) var←c88192)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c92768)+34) ));
         var←c88192 = (* (( (ptr) var←c88192)+4) );
         (*  (ptr) var←c88192 ) = (* (( (ptr) gf←c92768)+44) );
         (* (( (ptr) var←c88192)+2) ) = (word) (( (bPt) gf←c92768)+1332)/* var←c86784 */ ;
         (* (( (ptr) var←c88192)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c92768)+34) ));
         var←c88192 = (* (( (ptr) var←c88192)+4) );
         (*  (ptr) var←c88192 ) = (* (( (ptr) gf←c92768)+43) );
         (* (( (ptr) var←c88192)+2) ) = (word) (( (bPt) gf←c92768)+1324)/* var←c86752 */ ;
         (* (( (ptr) var←c88192)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c92768)+34) ));
         var←c88192 = (* (( (ptr) var←c88192)+4) );
         (*  (ptr) var←c88192 ) = (* (( (ptr) gf←c92768)+77) );
         (* (( (ptr) var←c88192)+1) ) = 1;
         (* (( (ptr) var←c88192)+2) ) = (word) (( (bPt) gf←c92768)+1316)/* var←c86720 */ ;
         (* (( (ptr) var←c88192)+4) ) = XR←NewObject(20, (* (( (ptr) gf←c92768)+34) ));
         var←c88192 = (* (( (ptr) var←c88192)+4) );
         (*  (ptr) var←c88192 ) = (* (( (ptr) gf←c92768)+41) );
         (* (( (ptr) var←c88192)+2) ) = (word) (( (bPt) gf←c92768)+1308)/* var←c86688 */ ;
         var←c88128 = var←c88160;
         };
      {
         word pd185;
         pd185 = (* (( (ptr) (* (( (ptr) gf←c92768)+391)/* var←c88224 */  ))+4) );
         sandwich←v10636 = (word) ( *( (fPt) ((*  (ptr) pd185 ))))(var←c88128, pd185);
         };
      };
SOURCE(6653, 333)
   return(sandwich←v10636);
   }

static void SetScreen←P600(ggData←v10696, cw←v10724, ch←v10752, screen←v10780, cx←v10808, cy←v10836)
   word ggData←v10696;
   word cw←v10724;
   word ch←v10752;
   word screen←v10780;
   word cx←v10808;
   word cy←v10836;
   {
   register ptr gf←c92800 =  (ptr) &globalframe;
   word sandwich←v20380;
   /* SetScreen: */ 
SOURCE(7008, 221)
SOURCE(7114, 44)
   sandwich←v20380 = (* (( (ptr) (* (( (ptr) ggData←v10696)+17) ))+4) );
SOURCE(7160, 69)
   {
      word pd186;
      pd186 = (* (( (ptr) (* (( (ptr) gf←c92800)+391)/* var←c88224 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd186 ))))(sandwich←v20380, cw←v10724, ch←v10752, screen←v10780, cx←v10808, cy←v10836, pd186)
      ;
      };
   }

static word BoundBoxFromRectangle←P660(rect←v10896)
   W4 rect←v10896;
   {
   register ptr gf←c92832 =  (ptr) &globalframe;
   word bBox←v10940;
   /* BoundBoxFromRectangle: */ 
SOURCE(7235, 254)
SOURCE(7235, 254)
   bBox←v10940 = 0;
SOURCE(7317, 35)
   bBox←v10940 = XR←NewObject(24, (* (( (ptr) gf←c92832)+32) ));
SOURCE(7354, 135)
   {
      word x187;
      word x188;
      if (((
         x187 = rect←v10896.f0,  *(float*)&x187
         ) ==  - (
         x188 = 2139095039,  *(float*)&x188
         ))) {
         (*  (ptr) bBox←v10940 ) = (*  (ptr) &fc151 );
         (* (( (ptr) bBox←v10940)+1) ) = (*  (ptr) &fc151 );
         (* (( (ptr) bBox←v10940)+2) ) = (*  (ptr) &fc151 );
         (* (( (ptr) bBox←v10940)+3) ) = (*  (ptr) &fc151 );
         (* (( (ptr) bBox←v10940)+4) ) = 0;
         (* (( (ptr) bBox←v10940)+5) ) = 1;
         }
      else {
         (*  (ptr) bBox←v10940 ) = rect←v10896.f0;
         (* (( (ptr) bBox←v10940)+1) ) = rect←v10896.f1;
         {
            word x189;
            word x190;
            *(float*)(( (ptr) bBox←v10940)+2) = (
               x189 = rect←v10896.f0,  *(float*)&x189
               ) + (
               x190 = rect←v10896.f2,  *(float*)&x190
               );
            };
         {
            word x191;
            word x192;
            *(float*)(( (ptr) bBox←v10940)+3) = (
               x191 = rect←v10896.f1,  *(float*)&x191
               ) + (
               x192 = rect←v10896.f3,  *(float*)&x192
               );
            };
         (* (( (ptr) bBox←v10940)+4) ) = 0;
         (* (( (ptr) bBox←v10940)+5) ) = 0;
         };
      };
SOURCE(7235, 254)
   return(bBox←v10940);
   }

static void DrawSandwich←P720(screen←v11000, ggData←v11028, buffer←v11056, useBackingMap←v11084, bounds←v11112)
   word screen←v11000;
   word ggData←v11028;
   word buffer←v11056;
   word useBackingMap←v11084;
   word bounds←v11112;
   {
   register ptr gf←c92864 =  (ptr) &globalframe;
   /* DrawSandwich: */ 
SOURCE(7566, 1104)
SOURCE(7690, 980)
   if ((0 != (* (( (ptr) (* (( (ptr) ggData←v11028)+17) ))+1) ))) {
SOURCE(7731, 163)
      if ((bounds←v11112 == 0)) {
SOURCE(7752, 85)
         {
            word pd193;
            pd193 = (* (( (ptr) (* (( (ptr) gf←c92864)+382)/* var←c87584 */  ))+20) );
            (void) ( *( (fPt) ((*  (ptr) pd193 ))))((* (( (ptr) (* (( (ptr) ggData←v11028)+17) ))+21) ), (* (( (ptr) gf←c92864)+9)/* infiniteBox←v5772 */  ), pd193)
            ;
            };
         }
      else {
SOURCE(7837, 57)
         {
            word pd194;
            pd194 = (* (( (ptr) (* (( (ptr) gf←c92864)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd194 ))))((* (( (ptr) (* (( (ptr) ggData←v11028)+17) ))+21) ), bounds←v11112, pd194);
            };
         };
      }
   else {
SOURCE(7901, 771)
      {
         word clientToViewer←v20424 = 0;
         word viewerToClient←v20452 = 0;
SOURCE(7958, 75)
         {
            W2 var←c88320;
            {
               word pd195;
               pd195 = (* (( (ptr) (* (( (ptr) gf←c92864)+386)/* var←c87776 */  ))+12) );
               (void) ( *( (fPt) ((*  (ptr) pd195 ))))((word) &var←c88320, ggData←v11028, pd195);
               };
            viewerToClient←v20452 = var←c88320.f1;
            clientToViewer←v20424 = var←c88320.f0;
            };
SOURCE(8035, 635)
         if ((bounds←v11112 == 0) || (0 != (* (( (ptr) bounds←v11112)+5) ))) {
SOURCE(8076, 330)
            {
               word var←c88352;
               {
                  word pd196;
                  pd196 = (* (( (ptr) (* (( (ptr) gf←c92864)+392)/* var←c88384 */  ))+17) );
                  var←c88352 = (word) ( *( (fPt) ((*  (ptr) pd196 ))))((* ((( (ptr) ggData←v11028)+11)) ), pd196);
                  };
               {
                  W4 var←c88416;
                  {
                     word x197;
                     *(float*)&var←c88416.f0 =  - (
                        x197 = 2139095039,  *(float*)&x197
                        );
                     };
                  {
                     word x198;
                     *(float*)&var←c88416.f1 =  - (
                        x198 = 2139095039,  *(float*)&x198
                        );
                     };
                  var←c88416.f2 = 2139095039;
                  var←c88416.f3 = 2139095039;
                  {
                     word pd199;
                     pd199 = (* (( (ptr) (* (( (ptr) gf←c92864)+391)/* var←c88224 */  ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd199 ))))((* (( (ptr) (* (( (ptr) ggData←v11028)+17) ))+4) ),  ( (0 != (* (( (ptr) (* (( (ptr) ggData←v11028)+17)
                            ))+2) )) ? 0 : screen←v11000 ) , clientToViewer←v20424, viewerToClient←v20452, ggData←v11028, var←c88352
                        ,  (unsigned) (0 == useBackingMap←v11084),  (unsigned) (0 == buffer←v11056), var←c88416, pd199);
                     };
                  };
               };
            }
         else {
SOURCE(8406, 264)
            {
               word var←c88448;
               W4 var←c88480;
               {
                  word pd200;
                  pd200 = (* (( (ptr) (* (( (ptr) gf←c92864)+392)/* var←c88384 */  ))+17) );
                  var←c88448 = (word) ( *( (fPt) ((*  (ptr) pd200 ))))((* ((( (ptr) ggData←v11028)+11)) ), pd200);
                  };
               {
                  word pd201;
                  pd201 = (* (( (ptr) (* (( (ptr) gf←c92864)+382)/* var←c87584 */  ))+11) );
                  (void) ( *( (fPt) ((*  (ptr) pd201 ))))((word) &var←c88480, bounds←v11112, pd201);
                  };
               {
                  word pd202;
                  pd202 = (* (( (ptr) (* (( (ptr) gf←c92864)+391)/* var←c88224 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd202 ))))((* (( (ptr) (* (( (ptr) ggData←v11028)+17) ))+4) ),  ( (0 != (* (( (ptr) (* (( (ptr) ggData←v11028)+17)
                         ))+2) )) ? 0 : screen←v11000 ) , clientToViewer←v20424, viewerToClient←v20452, ggData←v11028, var←c88448
                     ,  (unsigned) (0 == useBackingMap←v11084),  (unsigned) (0 == buffer←v11056), var←c88480, pd202);
                  };
               };
            };
         };
      };
   }

static void RepairLayer←P780(ggData←v11172, layerName←v11200, proc←v11228, clear←v11256)
   word ggData←v11172;
   word layerName←v11200;
   word proc←v11228;
   word clear←v11256;
   {
   register ptr gf←c92896 =  (ptr) &globalframe;
   /* RepairLayer: */ 
SOURCE(8679, 265)
SOURCE(8775, 169)
   if ((0 == (* (( (ptr) (* (( (ptr) ggData←v11172)+17) ))+1) ))) {
SOURCE(8818, 126)
      {
         word var←c88512;
         {
            word pd203;
            pd203 = (* (( (ptr) (* (( (ptr) gf←c92896)+392)/* var←c88384 */  ))+17) );
            var←c88512 = (word) ( *( (fPt) ((*  (ptr) pd203 ))))((* ((( (ptr) ggData←v11172)+11)) ), pd203);
            };
         {
            word pd204;
            pd204 = (* (( (ptr) (* (( (ptr) gf←c92896)+391)/* var←c88224 */  ))+10) );
            (void) ( *( (fPt) ((*  (ptr) pd204 ))))((* (( (ptr) (* (( (ptr) ggData←v11172)+17) ))+4) ), layerName←v11200, proc←v11228, var←c88512, ggData←v11172, clear←v11256, pd204)
            ;
            };
         };
      };
   }

static void InvalidateBackground←P840(ggData←v11316)
   word ggData←v11316;
   {
   register ptr gf←c92928 =  (ptr) &globalframe;
   word sandwich←v20496;
   /* InvalidateBackground: */ 
SOURCE(8950, 160)
SOURCE(9005, 44)
   sandwich←v20496 = (* (( (ptr) (* (( (ptr) ggData←v11316)+17) ))+4) );
SOURCE(9051, 59)
   {
      word pd205;
      pd205 = (* (( (ptr) (* (( (ptr) gf←c92928)+391)/* var←c88224 */  ))+8) );
      (void) ( *( (fPt) ((*  (ptr) pd205 ))))(sandwich←v20496, (* (( (ptr) gf←c92928)+79) ), 0, pd205);
      };
   }

static void InvalidateForeground←P900(ggData←v11376)
   word ggData←v11376;
   {
   register ptr gf←c92960 =  (ptr) &globalframe;
   word sandwich←v20540;
   /* InvalidateForeground: */ 
SOURCE(9116, 192)
SOURCE(9171, 44)
   sandwich←v20540 = (* (( (ptr) (* (( (ptr) ggData←v11376)+17) ))+4) );
SOURCE(9217, 59)
   {
      word pd206;
      pd206 = (* (( (ptr) (* (( (ptr) gf←c92960)+391)/* var←c88224 */  ))+8) );
      (void) ( *( (fPt) ((*  (ptr) pd206 ))))(sandwich←v20540, (* (( (ptr) gf←c92960)+77) ), 0, pd206);
      };
SOURCE(9278, 30)
   {
      word pd207;
      pd207 = (* (( (ptr) (* (( (ptr) gf←c92960)+393)/* var←c88544 */  ))+45) );
      (void) ( *( (fPt) ((*  (ptr) pd207 ))))(ggData←v11376, pd207);
      };
   }

static void SaveForeground←P960(ggData←v11436)
   word ggData←v11436;
   {
   register ptr gf←c92992 =  (ptr) &globalframe;
   word sandwich←v20584;
   /* SaveForeground: */ 
SOURCE(9314, 146)
SOURCE(9363, 44)
   sandwich←v20584 = (* (( (ptr) (* (( (ptr) ggData←v11436)+17) ))+4) );
SOURCE(9409, 51)
   {
      word pd208;
      pd208 = (* (( (ptr) (* (( (ptr) gf←c92992)+391)/* var←c88224 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd208 ))))(sandwich←v20584, (* (( (ptr) gf←c92992)+77) ), pd208);
      };
   }

static void RestoreForeground←P1020(ggData←v11496)
   word ggData←v11496;
   {
   register ptr gf←c93024 =  (ptr) &globalframe;
   word sandwich←v20628;
   /* RestoreForeground: */ 
SOURCE(9466, 152)
SOURCE(9518, 44)
   sandwich←v20628 = (* (( (ptr) (* (( (ptr) ggData←v11496)+17) ))+4) );
SOURCE(9564, 54)
   {
      word pd209;
      pd209 = (* (( (ptr) (* (( (ptr) gf←c93024)+391)/* var←c88224 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd209 ))))(sandwich←v20628, (* (( (ptr) gf←c93024)+77) ), pd209);
      };
   }

static void PaintEntireScene←P1080(screen←v11556, ggData←v11584, buffer←v11612, useBackingMap←v11640)
   word screen←v11556;
   word ggData←v11584;
   word buffer←v11612;
   word useBackingMap←v11640;
   {
   register ptr gf←c93056 =  (ptr) &globalframe;
   /* PaintEntireScene: */ 
SOURCE(9625, 330)
SOURCE(9736, 48)
   {
      word pd210;
      pd210 = (* (( (ptr) (* (( (ptr) gf←c93056)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd210 ))))((* (( (ptr) gf←c93056)+42) ), (* (( (ptr) gf←c93056)+63) ), pd210);
      };
SOURCE(9787, 28)
   (void) InvalidateBackground←P840(ggData←v11584);
SOURCE(9817, 28)
   (void) InvalidateForeground←P900(ggData←v11584);
SOURCE(9847, 58)
   (void) PaintAllPlanes←P1260(screen←v11556, ggData←v11584, buffer←v11612, useBackingMap←v11640, 0);
SOURCE(9908, 47)
   {
      word pd211;
      pd211 = (* (( (ptr) (* (( (ptr) gf←c93056)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd211 ))))((* (( (ptr) gf←c93056)+42) ), (* (( (ptr) gf←c93056)+63) ), pd211);
      };
   }

static void PaintEntireSceneDrag←P1140(screen←v11700, ggData←v11728, buffer←v11756, useBackingMap←v11784, bounds←v11812)
   word screen←v11700;
   word ggData←v11728;
   word buffer←v11756;
   word useBackingMap←v11784;
   word bounds←v11812;
   {
   register ptr gf←c93088 =  (ptr) &globalframe;
   /* PaintEntireSceneDrag: */ 
SOURCE(9961, 574)
SOURCE(10093, 52)
   {
      word pd212;
      pd212 = (* (( (ptr) (* (( (ptr) gf←c93088)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd212 ))))((* (( (ptr) gf←c93088)+46) ), (* (( (ptr) gf←c93088)+63) ), pd212);
      };
SOURCE(10148, 28)
   (void) InvalidateBackground←P840(ggData←v11728);
SOURCE(10178, 28)
   (void) InvalidateForeground←P900(ggData←v11728);
SOURCE(10208, 273)
   if (((* (( (ptr) ggData←v11728)+10) ) == (* (( (ptr) gf←c93088)+47) ))) {
SOURCE(10235, 181)
      {
         word dip←v20672;
SOURCE(10237, 41)
         dip←v20672 = (* (( (ptr) (* (( (ptr) ggData←v11728)+17) ))+8) );
SOURCE(10280, 36)
         (* (( (ptr) (* (( (ptr) ggData←v11728)+17) ))+8) ) = 1;
SOURCE(10318, 59)
         (void) DrawSandwich←P720(screen←v11700, ggData←v11728, buffer←v11756, useBackingMap←v11784, bounds←v11812);
SOURCE(10379, 35)
         (* (( (ptr) (* (( (ptr) ggData←v11728)+17) ))+8) ) = dip←v20672;
         };
      }
   else {
SOURCE(10423, 58)
      (void) PaintAllPlanes←P1260(screen←v11700, ggData←v11728, buffer←v11756, useBackingMap←v11784, 0);
      };
SOURCE(10484, 51)
   {
      word pd213;
      pd213 = (* (( (ptr) (* (( (ptr) gf←c93088)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd213 ))))((* (( (ptr) gf←c93088)+46) ), (* (( (ptr) gf←c93088)+63) ), pd213);
      };
   }

static void PaintAllPlanesDrag←P1200(screen←v11872, ggData←v11900, buffer←v11928, useBackingMap←v11956, bounds←v11984)
   word screen←v11872;
   word ggData←v11900;
   word buffer←v11928;
   word useBackingMap←v11956;
   word bounds←v11984;
   {
   register ptr gf←c93120 =  (ptr) &globalframe;
   word var←c88576;
   word m←v83296;
   /* PaintAllPlanesDrag: */ 
SOURCE(10541, 917)
SOURCE(11042, 50)
   {
      word pd214;
      pd214 = (* (( (ptr) (* (( (ptr) gf←c93120)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd214 ))))((* (( (ptr) gf←c93120)+48) ), (* (( (ptr) gf←c93120)+63) ), pd214);
      };
SOURCE(11095, 311)
   {
      word tc215;
      if (((* (( (ptr) ggData←v11900)+10) ) == (* (( (ptr) gf←c93120)+47) ))) {
         m←v83296 = (* (( (ptr) ggData←v11900)+9) );
SOURCE(10725, 312)
         if (((((((((((((m←v83296 == (* (( (ptr) gf←c93120)+49) )) || (m←v83296 == (* (( (ptr) gf←c93120)+50) ))) || (m←v83296 == (* (
            ( (ptr) gf←c93120)+51) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+52) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+53) ))) || (m←v83296 == (* (
            ( (ptr) gf←c93120)+54) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+55) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+56) ))) || (m←v83296 == (* (
            ( (ptr) gf←c93120)+57) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+58) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+59) ))) || (m←v83296 == (* (
            ( (ptr) gf←c93120)+60) ))) || (m←v83296 == (* (( (ptr) gf←c93120)+61) ))) {
            var←c88576 =  (unsigned) 1;
            }
         else {
            var←c88576 =  (unsigned) (m←v83296 == (* (( (ptr) gf←c93120)+62) ));
            };
         tc215 =  (word) (0 == var←c88576);
         }
      else {
         tc215 =  (word) 0;
         };
      if (tc215) {
SOURCE(11160, 181)
         {
            word dip←v20864;
SOURCE(11162, 41)
            dip←v20864 = (* (( (ptr) (* (( (ptr) ggData←v11900)+17) ))+8) );
SOURCE(11205, 36)
            (* (( (ptr) (* (( (ptr) ggData←v11900)+17) ))+8) ) = 1;
SOURCE(11243, 59)
            (void) DrawSandwich←P720(screen←v11872, ggData←v11900, buffer←v11928, useBackingMap←v11956, bounds←v11984);
SOURCE(11304, 35)
            (* (( (ptr) (* (( (ptr) ggData←v11900)+17) ))+8) ) = dip←v20864;
            };
         }
      else {
SOURCE(11348, 58)
         (void) PaintAllPlanes←P1260(screen←v11872, ggData←v11900, buffer←v11928, useBackingMap←v11956, 0);
         };
      };
SOURCE(11409, 49)
   {
      word pd216;
      pd216 = (* (( (ptr) (* (( (ptr) gf←c93120)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd216 ))))((* (( (ptr) gf←c93120)+48) ), (* (( (ptr) gf←c93120)+63) ), pd216);
      };
   }

static void PaintAllPlanes←P1260(screen←v41168, ggData←v41196, buffer←v41224, useBackingMap←v41252, bounds←v41280)
   word screen←v41168;
   word ggData←v41196;
   word buffer←v41224;
   word useBackingMap←v41252;
   word bounds←v41280;
   {
   /* PaintAllPlanes: */ 
SOURCE(11464, 164)
SOURCE(11492, 36)
   (* (( (ptr) (* (( (ptr) ggData←v41196)+17) ))+9) ) = 0;
SOURCE(11530, 37)
   (* (( (ptr) (* (( (ptr) ggData←v41196)+17) ))+8) ) = 0;
SOURCE(11569, 59)
   (void) DrawSandwich←P720(screen←v41168, ggData←v41196, buffer←v41224, useBackingMap←v41252, bounds←v41280);
   }

static word RefreshBackground←P1320(dc←v41340, boundRect←v41368, clientData←v41396)
   word dc←v41340;
   W4 boundRect←v41368;
   word clientData←v41396;
   {
   register ptr gf←c93152 =  (ptr) &globalframe;
   word drawnOn←v41440;
   word ggData←v20908;
   word color←v20936;
   word box←v20964;
   /* RefreshBackground: */ 
SOURCE(11633, 679)
SOURCE(11633, 679)
   drawnOn←v41440 = 1;
SOURCE(11668, 35)
   ggData←v20908 = XR←Narrow(clientData←v41396, (* (( (ptr) gf←c93152)+31) ));
SOURCE(11705, 55)
   {
      word pd217;
      pd217 = (* (( (ptr) (* (( (ptr) gf←c93152)+392)/* var←c88384 */  ))+17) );
      color←v20936 = (word) ( *( (fPt) ((*  (ptr) pd217 ))))((* ((( (ptr) ggData←v20908)+11)) ), pd217);
      };
SOURCE(11762, 59)
   {
      word pd218;
      pd218 = (* (( (ptr) (* (( (ptr) gf←c93152)+382)/* var←c87584 */  ))+10) );
      box←v20964 = (word) ( *( (fPt) ((*  (ptr) pd218 ))))(boundRect←v41368, pd218);
      };
SOURCE(11824, 49)
   {
      word pd219;
      pd219 = (* (( (ptr) (* (( (ptr) gf←c93152)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd219 ))))((* (( (ptr) gf←c93152)+64) ), (* (( (ptr) gf←c93152)+63) ), pd219);
      };
SOURCE(11875, 304)
   if ((color←v20936 != 0)) {
SOURCE(11893, 286)
SOURCE(11895, 116)
      {
         word var←c88608;
         var←c88608 = color←v20936;
         if ((var←c88608 == 0)) {
            goto lab←L100004;
            };
         if (((*  (ptr) var←c88608 ) == 0)) {
            {
               word cc←v21008;
               cc←v21008 = var←c88608;
SOURCE(11951, 60)
               {
                  word pd220;
                  pd220 = (* (( (ptr) (* (( (ptr) gf←c93152)+394)/* var←c88640 */  ))+29) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd220 ))))((* (( (ptr) gf←c93152)+11)/* ccWhite←v8544 */  ), cc←v21008, pd220))) {
SOURCE(12011, 17)
                     goto lab←L100003;
                     };
                  };
               };
            }
         else {
            lab←L100004: ;
            };
         };
SOURCE(12039, 26)
      {
         word pd221;
         pd221 = (* (( (ptr) (* (( (ptr) gf←c93152)+384)/* var←c87648 */  ))+52) );
         (void) ( *( (fPt) ((*  (ptr) pd221 ))))(dc←v41340, color←v20936, pd221);
         };
SOURCE(12067, 82)
      {
         W4 var←c88672;
         var←c88672.f0 = (*  (ptr) box←v20964 );
         var←c88672.f1 = (* (( (ptr) box←v20964)+1) );
         {
            word x222;
            word x223;
            *(float*)&var←c88672.f2 = (
               x222 = (* (( (ptr) box←v20964)+2) ),  *(float*)&x222
               ) - (
               x223 = (*  (ptr) box←v20964 ),  *(float*)&x223
               );
            };
         {
            word x224;
            word x225;
            *(float*)&var←c88672.f3 = (
               x224 = (* (( (ptr) box←v20964)+3) ),  *(float*)&x224
               ) - (
               x225 = (* (( (ptr) box←v20964)+1) ),  *(float*)&x225
               );
            };
         {
            word pd226;
            pd226 = (* (( (ptr) (* (( (ptr) gf←c93152)+384)/* var←c87648 */  ))+65) );
            (void) ( *( (fPt) ((*  (ptr) pd226 ))))(dc←v41340, var←c88672, pd226);
            };
         };
      goto lab←L100005;
      lab←L100003: ;
      lab←L100005: ;
      };
SOURCE(12183, 78)
   (void) DrawObjectsFiltered←P5220(dc←v41340, ggData←v20908, box←v20964, 1, 0);
SOURCE(12264, 48)
   {
      word pd227;
      pd227 = (* (( (ptr) (* (( (ptr) gf←c93152)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd227 ))))((* (( (ptr) gf←c93152)+64) ), (* (( (ptr) gf←c93152)+63) ), pd227);
      };
SOURCE(11633, 679)
   return(drawnOn←v41440);
   }

static word RefreshOverlay←P1380(formal←c01200, boundRect←v41528, clientData←v41556)
   word formal←c01200;
   W4 boundRect←v41528;
   word clientData←v41556;
   {
   W8 var←c93184;
   /* declaration of dc←v41500 skipped */ 
   register ptr gf←c93216 =  (ptr) &globalframe;
   word drawnOn←v41600;
   /* declaration of var←c88704 skipped */ 
   /* declaration of ggData←v21052 skipped */ 
   var←c93184.f4/* dc←v41500 */  = formal←c01200;
   /* RefreshOverlay: */ 
SOURCE(12318, 896)
   {
      word tmpAddr228;
      tmpAddr228 = (word) (( (ptr) &var←c93184)+5)/* var←c88704 */ ;
      (*  (ptr) tmpAddr228 ) = ( ((word)  (fPt) DoRefreshOverlay←P8316) );
      (* (( (ptr) tmpAddr228) + 1) ) = 1;
      };
SOURCE(12318, 896)
   drawnOn←v41600 = 1;
SOURCE(12350, 35)
   var←c93184.f7/* ggData←v21052 */  = XR←Narrow(clientData←v41556, (* (( (ptr) gf←c93216)+31) ));
SOURCE(13084, 46)
   {
      word pd229;
      pd229 = (* (( (ptr) (* (( (ptr) gf←c93216)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd229 ))))((* (( (ptr) gf←c93216)+65) ), (* (( (ptr) gf←c93216)+63) ), pd229);
      };
SOURCE(13132, 35)
   {
      word pd230;
      pd230 = (* (( (ptr) (* (( (ptr) gf←c93216)+384)/* var←c87648 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd230 ))))(var←c93184.f4/* dc←v41500 */ , (word) (( (bPt) &var←c93184)+20)/* var←c88704 */ , pd230)
      ;
      };
SOURCE(13169, 45)
   {
      word pd231;
      pd231 = (* (( (ptr) (* (( (ptr) gf←c93216)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd231 ))))((* (( (ptr) gf←c93216)+65) ), (* (( (ptr) gf←c93216)+63) ), pd231);
      };
SOURCE(12318, 896)
   return(drawnOn←v41600);
   }

static void DoRefreshOverlay←P8316(formal←c93280)
   word formal←c93280;
   {
   register ptr gf←c93248 =  (ptr) &globalframe;
   formal←c93280 = (formal←c93280 - 20);
   /* DoRefreshOverlay: */ 
SOURCE(12387, 660)
SOURCE(12414, 106)
   if (((* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ))+15) ) == 0)) {
SOURCE(12460, 60)
      {
         word var←c88736;
         var←c88736 = (word) OrderOverlayList←P6660((* ((( (ptr) formal←c93280)+7)) ));
         (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ))+15) ) = var←c88736;
         };
      };
SOURCE(12545, 237)
   {
      register word oList←v21140;
      oList←v21140 = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ))+15) );
      lab←L100009: ;
      if ((oList←v21140 != 0)) {
         }
      else {
         goto lab←L100006;
         };
SOURCE(12649, 133)
      {
         word pd232;
         pd232 = (* (( (ptr) (* (( (ptr) gf←c93248)+395)/* var←c88768 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd232 ))))((*  (ptr) (*  (ptr) oList←v21140 ) ), (* (( (ptr) (*  (ptr) oList←v21140 ))+1) ), (* (
               ( (ptr) formal←c93280)+4) ), (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+15) ), (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7)
                   ))+16) ))+13) ), (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+16) ))+17) ), pd232);
         };
      oList←v21140 = (* (( (ptr) oList←v21140)+1) );
      goto lab←L100009;
      lab←L100006: ;
      };
SOURCE(12793, 254)
   if (((* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+16) ))+13) ) == 0)) {
SOURCE(12829, 39)
      (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ) ) = 0;
      }
   else {
SOURCE(12868, 179)
      if (((*  (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ) ) == 0)) {
SOURCE(12910, 84)
         {
            word var←c88800;
            {
               word pd233;
               pd233 = (* (( (ptr) (* (( (ptr) gf←c93248)+383)/* var←c87616 */  ))+6) );
               var←c88800 = (word) ( *( (fPt) ((*  (ptr) pd233 ))))((* ((( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+16) ))+13)
                  ) ), pd233);
               };
            (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ) ) = var←c88800;
            };
         }
      else {
SOURCE(12994, 53)
         (*  (W10Pt) (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7) ))+17) ) ) ) = (*  (W10Pt) (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93280)+7)
                ))+16) ))+13) ) );
         };
      };
   }

static word RefreshCPFeedback←P1440(dc←v41660, boundRect←v41688, clientData←v41716)
   word dc←v41660;
   W4 boundRect←v41688;
   word clientData←v41716;
   {
   register ptr gf←c93312 =  (ptr) &globalframe;
   word drawnOn←v41760;
   word ggData←v21268;
   /* RefreshCPFeedback: */ 
SOURCE(13220, 477)
SOURCE(13220, 477)
   drawnOn←v41760 = 1;
SOURCE(13255, 35)
   ggData←v21268 = XR←Narrow(clientData←v41716, (* (( (ptr) gf←c93312)+31) ));
SOURCE(13292, 49)
   {
      word pd234;
      pd234 = (* (( (ptr) (* (( (ptr) gf←c93312)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd234 ))))((* (( (ptr) gf←c93312)+66) ), (* (( (ptr) gf←c93312)+63) ), pd234);
      };
SOURCE(13344, 299)
   if (((*  (ptr) (* (( (ptr) ggData←v21268)+15) ) ) != 2)) {
SOURCE(13382, 263)
      {
         word caretIsMoving←v21312;
         word dragInProgress←v21340;
SOURCE(13384, 50)
         caretIsMoving←v21312 = (* (( (ptr) (* (( (ptr) ggData←v21268)+17) ))+9) );
SOURCE(13436, 52)
         dragInProgress←v21340 = (* (( (ptr) (* (( (ptr) ggData←v21268)+17) ))+8) );
SOURCE(13490, 64)
         (void) DrawAttractorFeedback←P4680(dc←v41660, ggData←v21268, dragInProgress←v21340, caretIsMoving←v21312);
SOURCE(13556, 87)
         (void) DrawCpsOfSelectedSlices←P5040(dc←v41660, (* (( (ptr) ggData←v21268)+11) ), (* (( (ptr) ggData←v21268)+15) ), dragInProgress←v21340, caretIsMoving←v21312)
         ;
         };
      };
SOURCE(13649, 48)
   {
      word pd235;
      pd235 = (* (( (ptr) (* (( (ptr) gf←c93312)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd235 ))))((* (( (ptr) gf←c93312)+66) ), (* (( (ptr) gf←c93312)+63) ), pd235);
      };
SOURCE(13220, 477)
   return(drawnOn←v41760);
   }

static word RefreshForeground←P1500(dc←v41820, boundRect←v41848, clientData←v41876)
   word dc←v41820;
   W4 boundRect←v41848;
   word clientData←v41876;
   {
   register ptr gf←c93344 =  (ptr) &globalframe;
   word drawnOn←v41920;
   word ggData←v21384;
   /* RefreshForeground: */ 
SOURCE(13703, 388)
SOURCE(13703, 388)
   drawnOn←v41920 = 1;
SOURCE(13738, 35)
   ggData←v21384 = XR←Narrow(clientData←v41876, (* (( (ptr) gf←c93344)+31) ));
SOURCE(13775, 49)
   {
      word pd236;
      pd236 = (* (( (ptr) (* (( (ptr) gf←c93344)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd236 ))))((* (( (ptr) gf←c93344)+67) ), (* (( (ptr) gf←c93344)+63) ), pd236);
      };
SOURCE(13827, 30)
   {
      word pd237;
      pd237 = (* (( (ptr) (* (( (ptr) gf←c93344)+393)/* var←c88544 */  ))+45) );
      (void) ( *( (fPt) ((*  (ptr) pd237 ))))(ggData←v21384, pd237);
      };
SOURCE(13859, 181)
   {
      word tc238;
      word pd239;
      if (((*  (ptr) (* (( (ptr) ggData←v21384)+15) ) ) != 2)) {
         pd239 = (* (( (ptr) (* (( (ptr) gf←c93344)+393)/* var←c88544 */  ))+46) );
         tc238 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd239 ))))((* ((( (ptr) (* (( (ptr) ggData←v21384)+18) ))+4)) ), pd239)
         );
         }
      else {
         tc238 =  (word) 0;
         };
      if (tc238) {
SOURCE(13952, 73)
         {
            word pd240;
            pd240 = (* (( (ptr) (* (( (ptr) gf←c93344)+393)/* var←c88544 */  ))+48) );
            (void) ( *( (fPt) ((*  (ptr) pd240 ))))(dc←v41820, (* (( (ptr) (* (( (ptr) ggData←v21384)+18) ))+4) ), ggData←v21384, pd240)
            ;
            };
         }
      else {
SOURCE(14025, 15)
         drawnOn←v41920 = 0;
         };
      };
SOURCE(14043, 48)
   {
      word pd241;
      pd241 = (* (( (ptr) (* (( (ptr) gf←c93344)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd241 ))))((* (( (ptr) gf←c93344)+67) ), (* (( (ptr) gf←c93344)+63) ), pd241);
      };
SOURCE(13703, 388)
   return(drawnOn←v41920);
   }

static word RefreshCaretPlane←P1560(dc←v41980, boundRect←v42008, clientData←v42036)
   word dc←v41980;
   W4 boundRect←v42008;
   word clientData←v42036;
   {
   register ptr gf←c93376 =  (ptr) &globalframe;
   word drawnOn←v42080;
   word ggData←v21428;
   /* RefreshCaretPlane: */ 
SOURCE(14097, 373)
SOURCE(14097, 373)
   drawnOn←v42080 = 1;
SOURCE(14132, 35)
   ggData←v21428 = XR←Narrow(clientData←v42036, (* (( (ptr) gf←c93376)+31) ));
SOURCE(14169, 49)
   {
      word pd242;
      pd242 = (* (( (ptr) (* (( (ptr) gf←c93376)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd242 ))))((* (( (ptr) gf←c93376)+68) ), (* (( (ptr) gf←c93376)+63) ), pd242);
      };
SOURCE(14221, 195)
   if (((*  (ptr) (* (( (ptr) ggData←v21428)+15) ) ) != 2)) {
SOURCE(14259, 159)
      {
         word scale←v21472;
SOURCE(14261, 53)
         {
            word x243;
            word pd244;
            word x245;
            pd244 = (* (( (ptr) (* (( (ptr) gf←c93376)+386)/* var←c87776 */  ))+11) );
            *(float*)&scale←v21472 = (
               x243 = (*  (ptr) &fc153 ),  *(float*)&x243
               ) / (
               x245 = (word) ( *( (fPt) ((*  (ptr) pd244 ))))(ggData←v21428, pd244),  *(float*)&x245
               );
            };
SOURCE(14316, 48)
         (void) DrawCaret←P5280(dc←v41980, (* (( (ptr) ggData←v21428)+13) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c93376)+384)/* var←c87648 */  ))+54)
             ) ), scale←v21472);
SOURCE(14366, 50)
         (void) DrawAnchor←P5340(dc←v41980, (* (( (ptr) ggData←v21428)+14) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c93376)+384)/* var←c87648 */  ))+54)
             ) ), scale←v21472);
         };
      };
SOURCE(14422, 48)
   {
      word pd246;
      pd246 = (* (( (ptr) (* (( (ptr) gf←c93376)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd246 ))))((* (( (ptr) gf←c93376)+68) ), (* (( (ptr) gf←c93376)+63) ), pd246);
      };
SOURCE(14097, 373)
   return(drawnOn←v42080);
   }

static void RepairBackgroundInBoundBox←P1620(formal←c01201, formal←c01202, formal←c01203, formal←c01204)
   word formal←c01201;
   word formal←c01202;
   word formal←c01203;
   word formal←c01204;
   {
   W10 var←c93408;
   /* declaration of ggData←v12044 skipped */ 
   /* declaration of bBox←v12072 skipped */ 
   /* declaration of eraseFirst←v12100 skipped */ 
   /* declaration of overObject←v12128 skipped */ 
   register ptr gf←c93440 =  (ptr) &globalframe;
   /* declaration of var←c88832 skipped */ 
   (* (( (ptr) &var←c93408)+4)/* ggData←v12044 */  ) = formal←c01201;
   (* (( (ptr) &var←c93408)+5)/* bBox←v12072 */  ) = formal←c01202;
   (* (( (ptr) &var←c93408)+6)/* eraseFirst←v12100 */  ) = formal←c01203;
   (* (( (ptr) &var←c93408)+7)/* overObject←v12128 */  ) = formal←c01204;
   /* RepairBackgroundInBoundBox: */ 
SOURCE(14623, 978)
   {
      word tmpAddr247;
      tmpAddr247 = (word) (( (ptr) &var←c93408)+8)/* var←c88832 */ ;
      (*  (ptr) tmpAddr247 ) = ( ((word)  (fPt) PaintObjectsInBox←P8520) );
      (* (( (ptr) tmpAddr247) + 1) ) = 1;
      };
SOURCE(15428, 58)
   {
      word pd248;
      pd248 = (* (( (ptr) (* (( (ptr) gf←c93440)+389)/* var←c87872 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd248 ))))((* (( (ptr) gf←c93440)+69) ), (* (( (ptr) gf←c93440)+63) ), pd248);
      };
SOURCE(15488, 54)
   (void) RepairLayer←P780((* (( (ptr) &var←c93408)+4)/* ggData←v12044 */  ), (* (( (ptr) gf←c93440)+79) ), (word) (( (bPt) &var←c93408)+32)
      /* var←c88832 */ , 0);
SOURCE(15544, 57)
   {
      word pd249;
      pd249 = (* (( (ptr) (* (( (ptr) gf←c93440)+389)/* var←c87872 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd249 ))))((* (( (ptr) gf←c93440)+69) ), (* (( (ptr) gf←c93440)+63) ), pd249);
      };
   }

static word PaintObjectsInBox←P8520(dc←v66436, boundRect←v66464, clientData←v66492, formal←c93504)
   word dc←v66436;
   W4 boundRect←v66464;
   word clientData←v66492;
   word formal←c93504;
   {
   register ptr gf←c93472 =  (ptr) &globalframe;
   word drawnOn←v66536;
   formal←c93504 = (formal←c93504 - 32);
   /* PaintObjectsInBox: */ 
SOURCE(14751, 671)
SOURCE(14751, 671)
   drawnOn←v66536 = 1;
SOURCE(14786, 528)
SOURCE(14792, 55)
   {
      word color←v21560;
SOURCE(14792, 55)
      {
         word pd250;
         pd250 = (* (( (ptr) (* (( (ptr) gf←c93472)+392)/* var←c88384 */  ))+17) );
         color←v21560 = (word) ( *( (fPt) ((*  (ptr) pd250 ))))((* ((( (ptr) (* (( (ptr) formal←c93504)+4) ))+11)) ), pd250);
         };
SOURCE(14849, 33)
      if ( ( (0 != (* (( (ptr) formal←c93504)+6) )) ? (color←v21560 == 0) : 0 ) ) {
SOURCE(14882, 20)
         goto lab←L100010;
         };
SOURCE(14904, 338)
      if ( ( (0 != (* (( (ptr) formal←c93504)+6) )) ? (color←v21560 != 0) : 0 ) ) {
SOURCE(14939, 116)
         {
            word var←c88864;
            var←c88864 = color←v21560;
            if ((var←c88864 == 0)) {
               goto lab←L100011;
               };
            if (((*  (ptr) var←c88864 ) == 0)) {
               {
                  word cc←v21604;
                  cc←v21604 = var←c88864;
SOURCE(14995, 60)
                  {
                     word pd251;
                     pd251 = (* (( (ptr) (* (( (ptr) gf←c93472)+394)/* var←c88640 */  ))+29) );
                     if ((0 != (word) ( *( (fPt) ((*  (ptr) pd251 ))))((* (( (ptr) gf←c93472)+11)/* ccWhite←v8544 */  ), cc←v21604, pd251))) {
SOURCE(15055, 20)
                        goto lab←L100010;
                        };
                     };
                  };
               }
            else {
               lab←L100011: ;
               };
            };
SOURCE(15086, 26)
         {
            word pd252;
            pd252 = (* (( (ptr) (* (( (ptr) gf←c93472)+384)/* var←c87648 */  ))+52) );
            (void) ( *( (fPt) ((*  (ptr) pd252 ))))(dc←v66436, color←v21560, pd252);
            };
SOURCE(15114, 128)
         {
            W4 var←c88896;
            W4 var←c88928;
            W4 var←c01132;
            {
               word tcp253;
               if ((0 != (* (( (ptr) (* (( (ptr) formal←c93504)+5) ))+5) ))) {
                  var←c88896.f0 = (*  (ptr) &fc254 );
                  var←c88896.f1 = (*  (ptr) &fc254 );
                  var←c88896.f2 = (*  (ptr) &fc255 );
                  var←c88896.f3 = (*  (ptr) &fc255 );
                  tcp253 = (word) &var←c88896;
                  }
               else {
                  var←c88928.f0 = (*  (ptr) (* (( (ptr) formal←c93504)+5) ) );
                  var←c88928.f1 = (* (( (ptr) (* (( (ptr) formal←c93504)+5) ))+1) );
                  {
                     word x256;
                     word x257;
                     *(float*)&var←c88928.f2 = (
                        x256 = (* (( (ptr) (* (( (ptr) formal←c93504)+5) ))+2) ),  *(float*)&x256
                        ) - (
                        x257 = (*  (ptr) (* (( (ptr) formal←c93504)+5) ) ),  *(float*)&x257
                        );
                     };
                  {
                     word x258;
                     word x259;
                     *(float*)&var←c88928.f3 = (
                        x258 = (* (( (ptr) (* (( (ptr) formal←c93504)+5) ))+3) ),  *(float*)&x258
                        ) - (
                        x259 = (* (( (ptr) (* (( (ptr) formal←c93504)+5) ))+1) ),  *(float*)&x259
                        );
                     };
                  tcp253 = (word) &var←c88928;
                  };
               var←c01132 = (*  (W4Pt) tcp253 );
               };
            {
               word pd260;
               pd260 = (* (( (ptr) (* (( (ptr) gf←c93472)+384)/* var←c87648 */  ))+65) );
               (void) ( *( (fPt) ((*  (ptr) pd260 ))))(dc←v66436, var←c01132, pd260);
               };
            };
         };
      };
   goto lab←L100012;
   lab←L100010: ;
SOURCE(15272, 40)
   {
      word pd261;
      pd261 = (* (( (ptr) (* (( (ptr) gf←c93472)+382)/* var←c87584 */  ))+24) );
      (void) ( *( (fPt) ((*  (ptr) pd261 ))))(dc←v66436, (* (( (ptr) formal←c93504)+5) ), pd261);
      };
   lab←L100012: ;
SOURCE(15319, 103)
   (void) DrawObjectsFiltered←P5220(dc←v66436, (* (( (ptr) formal←c93504)+4) ), (* (( (ptr) formal←c93504)+5) ), 1, (* (( (ptr) formal←c93504)+7)
       ));
SOURCE(14751, 671)
   return(drawnOn←v66536);
   }

static word NullFromInto←P1680(into←v12188)
   word into←v12188;
   {
   register ptr gf←c93536 =  (ptr) &globalframe;
   word var←c12232;
   /* NullFromInto: */ 
SOURCE(15607, 165)
SOURCE(15666, 51)
   if ((into←v12188 == 0)) {
SOURCE(15683, 34)
      {
         word pd262;
         pd262 = (* (( (ptr) (* (( (ptr) gf←c93536)+382)/* var←c87584 */  ))+6) );
         return((word) ( *( (fPt) ((*  (ptr) pd262 ))))(pd262));
         };
      };
SOURCE(15719, 16)
   (* (( (ptr) into←v12188)+4) ) = 1;
SOURCE(15737, 21)
   (* (( (ptr) into←v12188)+5) ) = 0;
SOURCE(15760, 12)
   return(into←v12188);
   }

static void ObjectChangedInPlace←P1740(screen←v42268, ggData←v42296, buffer←v42324, useBackingMap←v42352, bounds←v42380)
   word screen←v42268;
   word ggData←v42296;
   word buffer←v42324;
   word useBackingMap←v42352;
   word bounds←v42380;
   {
   /* ObjectChangedInPlace: */ 
SOURCE(15778, 139)
SOURCE(15812, 42)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v42296, bounds←v42380, 1, 0);
SOURCE(15856, 61)
   (void) PaintAllPlanes←P1260(screen←v42268, ggData←v42296, buffer←v42324, useBackingMap←v42352, bounds←v42380);
   }

static word ObjectChangedInPlaceBounds←P1800(ggData←v42440, whatHasChanged←v42468, into←v42496)
   word ggData←v42440;
   word whatHasChanged←v42468;
   word into←v42496;
   {
   word box←v42540;
   /* ObjectChangedInPlaceBounds: */ 
SOURCE(15923, 145)
SOURCE(15923, 145)
   box←v42540 = 0;
SOURCE(15964, 104)
   box←v42540 = (word) GetABox←P7020(ggData←v42440, 0, 0, 0, 1, 0
      , 1, 0, 0, 0, into←v42496);
SOURCE(15923, 145)
   return(box←v42540);
   }

static void ObjectChangedBoundBoxProvided←P1860(screen←v42600, ggData←v42628, buffer←v42656, useBackingMap←v42684, bounds←v42712)
   word screen←v42600;
   word ggData←v42628;
   word buffer←v42656;
   word useBackingMap←v42684;
   word bounds←v42712;
   {
   /* ObjectChangedBoundBoxProvided: */ 
SOURCE(16074, 257)
SOURCE(16117, 60)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v42628, (* (( (ptr) (* (( (ptr) ggData←v42628)+17) ))+20) ), 1, 0);
SOURCE(16179, 152)
   if ((0 != (word) AlignmentsVisible←P3780(ggData←v42628))) {
SOURCE(16213, 57)
      (void) DrawSandwich←P720(screen←v42600, ggData←v42628, buffer←v42656, useBackingMap←v42684, 0);
      }
   else {
SOURCE(16270, 61)
      (void) PaintAllPlanes←P1260(screen←v42600, ggData←v42628, buffer←v42656, useBackingMap←v42684, bounds←v42712);
      };
   }

static word ObjectChangedBoundBoxProvidedBounds←P1920(ggData←v42772, whatHasChanged←v42800, into←v42828)
   word ggData←v42772;
   word whatHasChanged←v42800;
   word into←v42828;
   {
   word box←v42872;
   /* ObjectChangedBoundBoxProvidedBounds: */ 
SOURCE(16337, 232)
SOURCE(16337, 232)
   box←v42872 = 0;
SOURCE(16387, 182)
   if ((0 != (word) AlignmentsVisible←P3780(ggData←v42772))) {
SOURCE(16421, 30)
      box←v42872 = (word) NullFromInto←P1680(into←v42828);
      }
   else {
SOURCE(16451, 118)
      box←v42872 = (word) GetAFullBox←P6960(ggData←v42772, 0, 0, 0, 0, 0
         , 1, 1, 1, 0, into←v42828);
      };
SOURCE(16337, 232)
   return(box←v42872);
   }

static void ObjectAdded←P1980(screen←v42932, ggData←v42960, buffer←v42988, useBackingMap←v43016, bounds←v43044)
   word screen←v42932;
   word ggData←v42960;
   word buffer←v42988;
   word useBackingMap←v43016;
   word bounds←v43044;
   {
   /* ObjectAdded: */ 
SOURCE(16575, 183)
SOURCE(16600, 95)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v42960, (* (( (ptr) (* (( (ptr) ggData←v42960)+17) ))+20) ), 0, (* (( (ptr) (* (
            ( (ptr) ggData←v42960)+17) ))+16) ));
SOURCE(16697, 61)
   (void) PaintAllPlanes←P1260(screen←v42932, ggData←v42960, buffer←v42988, useBackingMap←v43016, bounds←v43044);
   }

static word ObjectAddedBounds←P2040(ggData←v43104, whatHasChanged←v43132, into←v43160)
   word ggData←v43104;
   word whatHasChanged←v43132;
   word into←v43160;
   {
   word box←v43204;
   /* ObjectAddedBounds: */ 
SOURCE(16764, 171)
SOURCE(16764, 171)
   box←v43204 = 0;
SOURCE(16796, 139)
   box←v43204 = (word) GetAFullBox←P6960(ggData←v43104, 0, 0, 0, 1, 0
      , 1, 1, 1, 0, into←v43160);
SOURCE(16764, 171)
   return(box←v43204);
   }

static word AnchorAddedBounds←P2100(ggData←v43264, whatHasChanged←v43292, into←v43320)
   word ggData←v43264;
   word whatHasChanged←v43292;
   word into←v43320;
   {
   word box←v43364;
   /* AnchorAddedBounds: */ 
SOURCE(16941, 132)
SOURCE(16941, 132)
   box←v43364 = 0;
SOURCE(16973, 100)
   box←v43364 = (word) GetAFullBox←P6960(ggData←v43264, 0, 0, 1, 0, 0
      , 0, 0, 0, 1, into←v43320);
SOURCE(16941, 132)
   return(box←v43364);
   }

static word AnchorRemovedBounds←P2160(ggData←v43424, whatHasChanged←v43452, into←v43480)
   word ggData←v43424;
   word whatHasChanged←v43452;
   word into←v43480;
   {
   register ptr gf←c93568 =  (ptr) &globalframe;
   word box←v43524;
   /* AnchorRemovedBounds: */ 
SOURCE(17079, 124)
SOURCE(17079, 124)
   box←v43524 = 0;
SOURCE(17113, 24)
   box←v43524 = (word) NullFromInto←P1680(into←v43480);
SOURCE(17139, 64)
   {
      word pd263;
      pd263 = (* (( (ptr) (* (( (ptr) gf←c93568)+382)/* var←c87584 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd263 ))))(box←v43524, (* (( (ptr) (* (( (ptr) ggData←v43424)+17) ))+20) ), pd263);
      };
SOURCE(17079, 124)
   return(box←v43524);
   }

static void UpdateForeground←P2220(formal←c01205, formal←c01206)
   word formal←c01205;
   word formal←c01206;
   {
   W8 var←c93600;
   /* declaration of ggData←v12292 skipped */ 
   /* declaration of eraseFirst←v12320 skipped */ 
   register ptr gf←c93632 =  (ptr) &globalframe;
   /* declaration of var←c88992 skipped */ 
   var←c93600.f4/* ggData←v12292 */  = formal←c01205;
   var←c93600.f5/* eraseFirst←v12320 */  = formal←c01206;
   /* UpdateForeground: */ 
SOURCE(17210, 289)
   {
      word tmpAddr264;
      tmpAddr264 = (word) (( (ptr) &var←c93600)+6)/* var←c88992 */ ;
      (*  (ptr) tmpAddr264 ) = ( ((word)  (fPt) PaintForeground←P8676) );
      (* (( (ptr) tmpAddr264) + 1) ) = 1;
      };
SOURCE(17435, 64)
   (void) RepairLayer←P780(var←c93600.f4/* ggData←v12292 */ , (* (( (ptr) gf←c93632)+77) ), (word) (( (bPt) &var←c93600)+24)
      /* var←c88992 */ , var←c93600.f5/* eraseFirst←v12320 */ );
   }

static word PaintForeground←P8676(dc←v66808, boundRect←v66836, clientData←v66864, formal←c93696)
   word dc←v66808;
   W4 boundRect←v66836;
   word clientData←v66864;
   word formal←c93696;
   {
   register ptr gf←c93664 =  (ptr) &globalframe;
   word drawnOn←v66908;
   formal←c93696 = (formal←c93696 - 24);
   /* PaintForeground: */ 
SOURCE(17279, 151)
SOURCE(17279, 151)
   drawnOn←v66908 = 1;
SOURCE(17312, 49)
   if ((0 != (* (( (ptr) formal←c93696)+5) ))) {
SOURCE(17331, 30)
      {
         word pd265;
         pd265 = (* (( (ptr) (* (( (ptr) gf←c93664)+393)/* var←c88544 */  ))+45) );
         (void) ( *( (fPt) ((*  (ptr) pd265 ))))((* ((( (ptr) formal←c93696)+4)) ), pd265);
         };
      };
SOURCE(17363, 67)
   {
      word pd266;
      pd266 = (* (( (ptr) (* (( (ptr) gf←c93664)+393)/* var←c88544 */  ))+48) );
      (void) ( *( (fPt) ((*  (ptr) pd266 ))))(dc←v66808, (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c93696)+4) ))+18) ))+4) ), (* (
            ( (ptr) formal←c93696)+4) ), pd266);
      };
SOURCE(17279, 151)
   return(drawnOn←v66908);
   }

static void NoteNewForeground←P2280(formal←c01207, formal←c01208)
   word formal←c01207;
   word formal←c01208;
   {
   W8 var←c93728;
   /* declaration of ggData←v12380 skipped */ 
   /* declaration of alignObjects←v12408 skipped */ 
   register ptr gf←c93760 =  (ptr) &globalframe;
   /* declaration of var←c89024 skipped */ 
   var←c93728.f4/* ggData←v12380 */  = formal←c01207;
   var←c93728.f5/* alignObjects←v12408 */  = formal←c01208;
   /* NoteNewForeground: */ 
SOURCE(17505, 226)
   {
      word tmpAddr267;
      tmpAddr267 = (word) (( (ptr) &var←c93728)+6)/* var←c89024 */ ;
      (*  (ptr) tmpAddr267 ) = ( ((word)  (fPt) AddToForeground←P8736) );
      (* (( (ptr) tmpAddr267) + 1) ) = 1;
      };
SOURCE(17679, 52)
   (void) RepairLayer←P780(var←c93728.f4/* ggData←v12380 */ , (* (( (ptr) gf←c93760)+77) ), (word) (( (bPt) &var←c93728)+24)
      /* var←c89024 */ , 0);
   }

static word AddToForeground←P8736(dc←v66968, boundRect←v66996, clientData←v67024, formal←c93824)
   word dc←v66968;
   W4 boundRect←v66996;
   word clientData←v67024;
   word formal←c93824;
   {
   register ptr gf←c93792 =  (ptr) &globalframe;
   word drawnOn←v67068;
   formal←c93824 = (formal←c93824 - 24);
   /* AddToForeground: */ 
SOURCE(17592, 82)
SOURCE(17592, 82)
   drawnOn←v67068 = 1;
SOURCE(17625, 49)
   {
      word pd268;
      pd268 = (* (( (ptr) (* (( (ptr) gf←c93792)+393)/* var←c88544 */  ))+47) );
      (void) ( *( (fPt) ((*  (ptr) pd268 ))))(dc←v66968, (* (( (ptr) formal←c93824)+5) ), (* (( (ptr) formal←c93824)+4) ), pd268)
      ;
      };
SOURCE(17592, 82)
   return(drawnOn←v67068);
   }

static void DuringSelect←P2340(screen←v43584, ggData←v43612, buffer←v43640, useBackingMap←v43668, bounds←v43696)
   word screen←v43584;
   word ggData←v43612;
   word buffer←v43640;
   word useBackingMap←v43668;
   word bounds←v43696;
   {
   /* DuringSelect: */ 
SOURCE(17737, 85)
SOURCE(17763, 59)
   (void) DrawSandwich←P720(screen←v43584, ggData←v43612, buffer←v43640, useBackingMap←v43668, bounds←v43696);
   }

static word DuringSelectBounds←P2400(ggData←v43756, whatHasChanged←v43784, into←v43812)
   word ggData←v43756;
   word whatHasChanged←v43784;
   word into←v43812;
   {
   word box←v43856;
   /* DuringSelectBounds: */ 
SOURCE(17828, 150)
SOURCE(17828, 150)
   box←v43856 = 0;
SOURCE(17861, 117)
   box←v43856 = (word) GetAFullBox←P6960(ggData←v43756, 0, 1, 0, 0, 0
      , 1, 0, 1, 0, into←v43812);
SOURCE(17828, 150)
   return(box←v43856);
   }

static word SelectionChangedBounds←P2460(ggData←v43916, whatHasChanged←v43944, into←v43972)
   word ggData←v43916;
   word whatHasChanged←v43944;
   word into←v43972;
   {
   word box←v44016;
   /* SelectionChangedBounds: */ 
SOURCE(17984, 201)
SOURCE(17984, 201)
   box←v44016 = 0;
SOURCE(18021, 37)
   (* (( (ptr) (* (( (ptr) ggData←v43916)+17) ))+8) ) = 0;
SOURCE(18060, 36)
   (* (( (ptr) (* (( (ptr) ggData←v43916)+17) ))+9) ) = 0;
SOURCE(18098, 87)
   box←v44016 = (word) GetAFullBox←P6960(ggData←v43916, 0, 0, 0, 0, 0
      , 1, 0, 0, 0, into←v43972);
SOURCE(17984, 201)
   return(box←v44016);
   }

static word SelectionAndCaretChangedBounds←P2520(ggData←v44076, whatHasChanged←v44104, into←v44132)
   word ggData←v44076;
   word whatHasChanged←v44104;
   word into←v44132;
   {
   word box←v44176;
   /* SelectionAndCaretChangedBounds: */ 
SOURCE(18191, 222)
SOURCE(18191, 222)
   box←v44176 = 0;
SOURCE(18236, 37)
   (* (( (ptr) (* (( (ptr) ggData←v44076)+17) ))+8) ) = 0;
SOURCE(18275, 36)
   (* (( (ptr) (* (( (ptr) ggData←v44076)+17) ))+9) ) = 0;
SOURCE(18313, 100)
   box←v44176 = (word) GetAFullBox←P6960(ggData←v44076, 0, 1, 0, 0, 0
      , 1, 0, 0, 0, into←v44132);
SOURCE(18191, 222)
   return(box←v44176);
   }

static word AlignmentsBox←P2580(ggData←v12552)
   word ggData←v12552;
   {
   register ptr gf←c93856 =  (ptr) &globalframe;
   word bBox←v12596;
   /* AlignmentsBox: */ 
SOURCE(18419, 219)
SOURCE(18419, 219)
   bBox←v12596 = 0;
SOURCE(18485, 153)
   {
      word pd269;
      word pd270;
      word pd271;
      pd269 = (* (( (ptr) (* (( (ptr) gf←c93856)+393)/* var←c88544 */  ))+46) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd269 ))))((* ((( (ptr) (* (( (ptr) ggData←v12552)+18) ))+4)) ), pd269))) {
         pd270 = (* (( (ptr) (* (( (ptr) gf←c93856)+382)/* var←c87584 */  ))+5) );
         bBox←v12596 = (word) ( *( (fPt) ((*  (ptr) pd270 ))))((*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (*  (ptr) &fc151 ), 0, 1, pd270)
         ;
         }
      else {
         pd271 = (* (( (ptr) (* (( (ptr) gf←c93856)+382)/* var←c87584 */  ))+6) );
         bBox←v12596 = (word) ( *( (fPt) ((*  (ptr) pd271 ))))(pd271);
         };
      };
SOURCE(18419, 219)
   return(bBox←v12596);
   }

static word AttractorBox←P2640(ggData←v12656, dragInProgress←v12684)
   word ggData←v12656;
   word dragInProgress←v12684;
   {
   register ptr gf←c93888 =  (ptr) &globalframe;
   word bBox←v12728;
   word attractor←v21736;
   /* AttractorBox: */ 
SOURCE(18644, 259)
SOURCE(18644, 259)
   bBox←v12728 = 0;
SOURCE(18731, 55)
   {
      word pd272;
      pd272 = (* (( (ptr) (* (( (ptr) gf←c93888)+396)/* var←c89056 */  ))+14) );
      attractor←v21736 = (word) ( *( (fPt) ((*  (ptr) pd272 ))))((* ((( (ptr) ggData←v12656)+13)) ), pd272);
      };
SOURCE(18788, 32)
   {
      word pd273;
      pd273 = (* (( (ptr) (* (( (ptr) gf←c93888)+382)/* var←c87584 */  ))+6) );
      bBox←v12728 = (word) ( *( (fPt) ((*  (ptr) pd273 ))))(pd273);
      };
SOURCE(18822, 81)
   if ((attractor←v21736 != 0)) {
SOURCE(18844, 59)
      bBox←v12728 = (word) AttractorBoundBox←P2700(attractor←v21736, ggData←v12656, dragInProgress←v12684);
      };
SOURCE(18644, 259)
   return(bBox←v12728);
   }

static word AttractorBoundBox←P2700(attractor←v12788, ggData←v12816, dragInProgress←v12844)
   word attractor←v12788;
   word ggData←v12816;
   word dragInProgress←v12844;
   {
   register ptr gf←c93920 =  (ptr) &globalframe;
   word thisBox←v12900;
   /* AttractorBoundBox: */ 
SOURCE(18909, 1173)
SOURCE(18909, 1173)
   thisBox←v12900 = 0;
SOURCE(19020, 1062)
   {
      word var←c89088;
      word var←c89120;
      var←c89088 = attractor←v12788;
      if ((var←c89088 == 0)) {
         goto lab←L100013;
         };
      var←c89120 = XR←GetReferentType(var←c89088);
      if (((* (( (ptr) gf←c93920)+30) ) == var←c89120)) {
         {
            word sliceD←v21792;
            sliceD←v21792 = var←c89088;
SOURCE(19074, 427)
            {
               word selectedD←v21836 = 0;
               word selectedParts←v21864 = 0;
SOURCE(19137, 151)
               if ((0 != dragInProgress←v12844)) {
SOURCE(19162, 60)
                  {
                     word pd275;
                     pd275 = (* (( (ptr) (* (( (ptr) gf←c93920)+397)/* var←c89152 */  ))+20) );
                     selectedD←v21836 = (word) ( *( (fPt) ((*  (ptr) pd275 ))))((*  (ptr) sliceD←v21792 ), 0, pd275);
                     };
SOURCE(19224, 64)
                  if ((selectedD←v21836 == 0)) {
                     selectedParts←v21864 = 0;
                     }
                  else {
                     selectedParts←v21864 = (* (( (ptr) selectedD←v21836)+1) );
                     };
                  };
SOURCE(19350, 149)
               {
                  word pd276;
                  pd276 = (* (( (ptr) (* (( (ptr) gf←c93920)+395)/* var←c88768 */  ))+19) );
                  thisBox←v12900 = (word) ( *( (fPt) ((*  (ptr) pd276 ))))((*  (ptr) sliceD←v21792 ), (* (( (ptr) sliceD←v21792)+1) ), selectedParts←v21864, dragInProgress←v12844, (* (
                        ( (ptr) ggData←v12816)+15) ), (* (( (ptr) (* (( (ptr) ggData←v12816)+16) ))+17) ), pd276);
                  };
               };
            };
         goto endif0274;
         };
      if (((* (( (ptr) gf←c93920)+29) ) == var←c89120)) {
         {
            word alignLine←v21908;
            alignLine←v21908 = var←c89088;
SOURCE(19534, 65)
            thisBox←v12900 = (word) BoundBoxOfStarbursts←P2760(alignLine←v21908, ggData←v12816, dragInProgress←v12844);
            };
         goto endif0274;
         };
      if (((* (( (ptr) gf←c93920)+26) ) == var←c89120)) {
         {
            word alignCircle←v21952;
            alignCircle←v21952 = var←c89088;
SOURCE(19638, 67)
            thisBox←v12900 = (word) BoundBoxOfStarbursts←P2760(alignCircle←v21952, ggData←v12816, dragInProgress←v12844);
            };
         goto endif0274;
         };
      if (((* (( (ptr) gf←c93920)+25) ) == var←c89120)) {
         {
            word alignPoint←v21996;
            alignPoint←v21996 = var←c89088;
SOURCE(19742, 152)
            if (((* (( (ptr) alignPoint←v21996)+3) ) != 0)) {
SOURCE(19774, 85)
               thisBox←v12900 = (word) BoundBoxOfStarbursts←P2760((* (( (ptr) (* (( (ptr) alignPoint←v21996)+3) ))+1) ), ggData←v12816, dragInProgress←v12844)
               ;
               }
            else {
SOURCE(19859, 35)
               {
                  word pd277;
                  pd277 = (* (( (ptr) (* (( (ptr) gf←c93920)+382)/* var←c87584 */  ))+6) );
                  thisBox←v12900 = (word) ( *( (fPt) ((*  (ptr) pd277 ))))(pd277);
                  };
               };
SOURCE(19896, 135)
            if (((* (( (ptr) alignPoint←v21996)+4) ) != 0)) {
SOURCE(19928, 103)
               {
                  word var←c89184;
                  var←c89184 = (word) BoundBoxOfStarbursts←P2760((* (( (ptr) (* (( (ptr) alignPoint←v21996)+4) ))+1) ), ggData←v12816, dragInProgress←v12844)
                  ;
                  {
                     word pd278;
                     pd278 = (* (( (ptr) (* (( (ptr) gf←c93920)+382)/* var←c87584 */  ))+14) );
                     (void) ( *( (fPt) ((*  (ptr) pd278 ))))(thisBox←v12900, var←c89184, pd278);
                     };
                  };
               };
            };
         goto endif0274;
         };
      lab←L100013: ;
SOURCE(20047, 35)
      {
         word pd279;
         pd279 = (* (( (ptr) (* (( (ptr) gf←c93920)+382)/* var←c87584 */  ))+6) );
         thisBox←v12900 = (word) ( *( (fPt) ((*  (ptr) pd279 ))))(pd279);
         };
      goto endif0274;
      endif0274: ;
      };
SOURCE(18909, 1173)
   return(thisBox←v12900);
   }

static word BoundBoxOfStarbursts←P2760(alignObj←v12960, ggData←v12988, dragInProgress←v13016)
   word alignObj←v12960;
   word ggData←v12988;
   word dragInProgress←v13016;
   {
   W6 var←c93952;
   register ptr gf←c93984 =  (ptr) &globalframe;
   word box←v13060;
   /* declaration of var←c89216 skipped */ 
   /* BoundBoxOfStarbursts: */ 
SOURCE(20088, 1023)
   {
      word tmpAddr280;
      tmpAddr280 = (word) (( (ptr) &var←c93952)+4)/* var←c89216 */ ;
      (*  (ptr) tmpAddr280 ) = ( ((word)  (fPt) InfiniteBox←P9036) );
      (* (( (ptr) tmpAddr280) + 1) ) = 1;
      };
SOURCE(20088, 1023)
   box←v13060 = 0;
SOURCE(20311, 800)
   {
      word var←c89248;
      word var←c89280;
      var←c89248 = alignObj←v12960;
      if ((var←c89248 == 0)) {
         goto lab←L100014;
         };
      var←c89280 = XR←GetReferentType(var←c89248);
      if (((* (( (ptr) gf←c93984)+29) ) == var←c89280)) {
         {
            word alignLine←v22144;
            alignLine←v22144 = var←c89248;
SOURCE(20367, 31)
            {
               word pd282;
               pd282 = (* (( (ptr) (* (( (ptr) gf←c93984)+382)/* var←c87584 */  ))+6) );
               box←v13060 = (word) ( *( (fPt) ((*  (ptr) pd282 ))))(pd282);
               };
SOURCE(20400, 165)
            {
               register word list←v22188;
               list←v22188 = (* (( (ptr) alignLine←v22144)+2) );
               lab←L100018: ;
               if ((list←v22188 != 0)) {
                  }
               else {
                  goto lab←L100015;
                  };
SOURCE(20481, 84)
               {
                  word var←c89312;
                  var←c89312 = (word) BoundBoxOfStarburst←P2820((*  (W2Pt) list←v22188 ), (* (( (ptr) (* (( (ptr) ggData←v12988)+15) ))+4) ))
                  ;
                  {
                     word pd283;
                     pd283 = (* (( (ptr) (* (( (ptr) gf←c93984)+382)/* var←c87584 */  ))+14) );
                     (void) ( *( (fPt) ((*  (ptr) pd283 ))))(box←v13060, var←c89312, pd283);
                     };
                  };
               list←v22188 = (* (( (ptr) list←v22188)+2) );
               goto lab←L100018;
               lab←L100015: ;
               };
            };
         goto endif0281;
         };
      if (((* (( (ptr) gf←c93984)+26) ) == var←c89280)) {
         {
            word alignCircle←v22316;
            alignCircle←v22316 = var←c89248;
SOURCE(20611, 104)
            {
               word circle←v22360;
SOURCE(20613, 35)
               circle←v22360 = (*  (ptr) alignCircle←v22316 );
SOURCE(20650, 63)
               box←v13060 = (word) BoundBoxOfStarburst←P2820((*  (W2Pt) circle←v22360 ), (* (( (ptr) (* (( (ptr) ggData←v12988)+15) ))+4)
                   ));
               };
            };
         goto endif0281;
         };
      if (((* (( (ptr) gf←c93984)+30) ) == var←c89280)) {
         {
            word sliceD←v22404;
            sliceD←v22404 = var←c89248;
SOURCE(20745, 333)
            {
               word selectedD←v22448;
               word selectedParts←v22476;
SOURCE(20747, 77)
               {
                  word pd284;
                  pd284 = (* (( (ptr) (* (( (ptr) gf←c93984)+397)/* var←c89152 */  ))+20) );
                  selectedD←v22448 = (word) ( *( (fPt) ((*  (ptr) pd284 ))))((*  (ptr) sliceD←v22404 ), 0, pd284);
                  };
SOURCE(20826, 76)
               selectedParts←v22476 =  ( (selectedD←v22448 == 0) ? 0 : (* (( (ptr) selectedD←v22448)+1) ) ) ;
SOURCE(20905, 82)
               {
                  word var←c89344;
                  {
                     word pd285;
                     pd285 = (* (( (ptr) (* (( (ptr) gf←c93984)+395)/* var←c88768 */  ))+9) );
                     var←c89344 = (word) ( *( (fPt) ((*  (ptr) pd285 ))))((*  (ptr) sliceD←v22404 ), selectedParts←v22476, pd285);
                     };
                  {
                     word pd286;
                     pd286 = (* (( (ptr) (* (( (ptr) gf←c93984)+382)/* var←c87584 */  ))+7) );
                     box←v13060 = (word) ( *( (fPt) ((*  (ptr) pd286 ))))(var←c89344, pd286);
                     };
                  };
SOURCE(20989, 87)
               {
                  word pd287;
                  word x289;
                  word x290;
                  word x291;
                  float tf292;
                  pd287 = (* (( (ptr) (* (( (ptr) gf←c93984)+382)/* var←c87584 */  ))+17) );
                  (void) ( *( (fPt) ((*  (ptr) pd287 ))))(box←v13060, (
                        tf292 = ((
                           x289 = (*  (ptr) &fc288 ),  *(float*)&x289
                           ) * (
                           x290 = (* (( (ptr) (* (( (ptr) ggData←v12988)+15) ))+4) ),  *(float*)&x290
                           )) + (
                           x291 = (*  (ptr) &fc153 ),  *(float*)&x291
                           ),  *(word*)&tf292
                        ), pd287);
                  };
               };
            };
         goto endif0281;
         };
      lab←L100014: ;
SOURCE(21092, 19)
      box←v13060 = (word) InfiniteBox←P9036((word) ((( (bPt) &var←c93952)+16)/* var←c89216 */ ));
      goto endif0281;
      endif0281: ;
      };
SOURCE(20088, 1023)
   return(box←v13060);
   }

static word InfiniteBox←P9036(formal←c94048)
   word formal←c94048;
   {
   register ptr gf←c94016 =  (ptr) &globalframe;
   word box←v22116;
   formal←c94048 = (formal←c94048 - 16);
   /* InfiniteBox: */ 
SOURCE(20209, 97)
SOURCE(20209, 97)
   box←v22116 = 0;
SOURCE(20255, 51)
   {
      word pd293;
      pd293 = (* (( (ptr) (* (( (ptr) gf←c94016)+382)/* var←c87584 */  ))+5) );
      box←v22116 = (word) ( *( (fPt) ((*  (ptr) pd293 ))))((*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (*  (ptr) &fc151 ), (*  (ptr) &fc151 ), 0, 1, pd293)
      ;
      };
SOURCE(20209, 97)
   return(box←v22116);
   }

static word BoundBoxOfStarburst←P2820(point←v13120, cpScale←v13148)
   W2 point←v13120;
   word cpScale←v13148;
   {
   register ptr gf←c94080 =  (ptr) &globalframe;
   word box←v13192;
   word halfBox←v22520;
   /* BoundBoxOfStarburst: */ 
SOURCE(21117, 246)
SOURCE(21117, 246)
   box←v13192 = 0;
SOURCE(21201, 33)
   {
      word x295;
      word x296;
      word x297;
      *(float*)&halfBox←v22520 = ((
         x295 = (*  (ptr) &fc294 ),  *(float*)&x295
         ) * (
         x296 = cpScale←v13148,  *(float*)&x296
         )) + (
         x297 = (*  (ptr) &fc153 ),  *(float*)&x297
         );
      };
SOURCE(21236, 127)
   {
      word pd298;
      word x299;
      word x300;
      float tf301;
      word x302;
      word x303;
      float tf304;
      word x305;
      word x306;
      float tf307;
      word x308;
      word x309;
      float tf310;
      pd298 = (* (( (ptr) (* (( (ptr) gf←c94080)+382)/* var←c87584 */  ))+5) );
      box←v13192 = (word) ( *( (fPt) ((*  (ptr) pd298 ))))((
            tf301 = (
               x299 = point←v13120.f0,  *(float*)&x299
               ) - (
               x300 = halfBox←v22520,  *(float*)&x300
               ),  *(word*)&tf301
            ), (
            tf304 = (
               x302 = point←v13120.f1,  *(float*)&x302
               ) - (
               x303 = halfBox←v22520,  *(float*)&x303
               ),  *(word*)&tf304
            ), (
            tf307 = (
               x305 = point←v13120.f0,  *(float*)&x305
               ) + (
               x306 = halfBox←v22520,  *(float*)&x306
               ),  *(word*)&tf307
            ), (
            tf310 = (
               x308 = point←v13120.f1,  *(float*)&x308
               ) + (
               x309 = halfBox←v22520,  *(float*)&x309
               ),  *(word*)&tf310
            ), 0, 0, pd298);
      };
SOURCE(21117, 246)
   return(box←v13192);
   }

static word CaretBox←P2880(ggData←v13252)
   word ggData←v13252;
   {
   register ptr gf←c94112 =  (ptr) &globalframe;
   word bBox←v13296;
   word scale←v22564;
   word scaledSize←v22592;
   W2 point←v22620;
   /* CaretBox: */ 
SOURCE(21439, 311)
SOURCE(21439, 311)
   bBox←v13296 = 0;
SOURCE(21500, 53)
   {
      word x311;
      word pd312;
      word x313;
      pd312 = (* (( (ptr) (* (( (ptr) gf←c94112)+386)/* var←c87776 */  ))+11) );
      *(float*)&scale←v22564 = (
         x311 = (*  (ptr) &fc153 ),  *(float*)&x311
         ) / (
         x313 = (word) ( *( (fPt) ((*  (ptr) pd312 ))))(ggData←v13252, pd312),  *(float*)&x313
         );
      };
SOURCE(21555, 34)
   {
      word x314;
      word x316;
      float tf317;
      float tf318;
      word x320;
      word x321;
      *(float*)&scaledSize←v22592 = (
         x314 = scale←v22564,  *(float*)&x314
         ) * (FMAX((
            x316 = (*  (ptr) &fc315 ),  *(float*)&x316
            ), (
            x320 = (*  (ptr) &fc319 ),  *(float*)&x320
            ), tf317, tf318) + (
         x321 = (*  (ptr) &fc153 ),  *(float*)&x321
         ));
      };
SOURCE(21591, 45)
   {
      word pd322;
      pd322 = (* (( (ptr) (* (( (ptr) gf←c94112)+396)/* var←c89056 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd322 ))))((word) &point←v22620, (* (( (ptr) ggData←v13252)+13) ), pd322);
      };
SOURCE(21638, 112)
   {
      word pd323;
      word x324;
      word x325;
      float tf326;
      word x327;
      word x328;
      float tf329;
      word x330;
      word x331;
      float tf332;
      word x333;
      word x334;
      float tf335;
      pd323 = (* (( (ptr) (* (( (ptr) gf←c94112)+382)/* var←c87584 */  ))+5) );
      bBox←v13296 = (word) ( *( (fPt) ((*  (ptr) pd323 ))))((
            tf326 = (
               x324 = point←v22620.f0,  *(float*)&x324
               ) - (
               x325 = scaledSize←v22592,  *(float*)&x325
               ),  *(word*)&tf326
            ), (
            tf329 = (
               x327 = point←v22620.f1,  *(float*)&x327
               ) - (
               x328 = scaledSize←v22592,  *(float*)&x328
               ),  *(word*)&tf329
            ), (
            tf332 = (
               x330 = point←v22620.f0,  *(float*)&x330
               ) + (
               x331 = scaledSize←v22592,  *(float*)&x331
               ),  *(word*)&tf332
            ), (
            tf335 = (
               x333 = point←v22620.f1,  *(float*)&x333
               ) + (
               x334 = scaledSize←v22592,  *(float*)&x334
               ),  *(word*)&tf335
            ), 0, 0, pd323);
      };
SOURCE(21439, 311)
   return(bBox←v13296);
   }

static word AnchorBox←P2940(ggData←v13356)
   word ggData←v13356;
   {
   register ptr gf←c94144 =  (ptr) &globalframe;
   word bBox←v13400;
   word scale←v22664;
   word scaledSize←v22692;
   W2 point←v22720;
   /* AnchorBox: */ 
SOURCE(21829, 314)
SOURCE(21829, 314)
   bBox←v13400 = 0;
SOURCE(21891, 53)
   {
      word x336;
      word pd337;
      word x338;
      pd337 = (* (( (ptr) (* (( (ptr) gf←c94144)+386)/* var←c87776 */  ))+11) );
      *(float*)&scale←v22664 = (
         x336 = (*  (ptr) &fc153 ),  *(float*)&x336
         ) / (
         x338 = (word) ( *( (fPt) ((*  (ptr) pd337 ))))(ggData←v13356, pd337),  *(float*)&x338
         );
      };
SOURCE(21946, 35)
   {
      word x339;
      word x341;
      float tf342;
      float tf343;
      word x344;
      word x345;
      *(float*)&scaledSize←v22692 = (
         x339 = scale←v22664,  *(float*)&x339
         ) * (FMAX((
            x341 = (*  (ptr) &fc340 ),  *(float*)&x341
            ), (
            x344 = (*  (ptr) &fc340 ),  *(float*)&x344
            ), tf342, tf343) + (
         x345 = (*  (ptr) &fc153 ),  *(float*)&x345
         ));
      };
SOURCE(21983, 46)
   {
      word pd346;
      pd346 = (* (( (ptr) (* (( (ptr) gf←c94144)+396)/* var←c89056 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd346 ))))((word) &point←v22720, (* (( (ptr) ggData←v13356)+14) ), pd346);
      };
SOURCE(22031, 112)
   {
      word pd347;
      word x348;
      word x349;
      float tf350;
      word x351;
      word x352;
      float tf353;
      word x354;
      word x355;
      float tf356;
      word x357;
      word x358;
      float tf359;
      pd347 = (* (( (ptr) (* (( (ptr) gf←c94144)+382)/* var←c87584 */  ))+5) );
      bBox←v13400 = (word) ( *( (fPt) ((*  (ptr) pd347 ))))((
            tf350 = (
               x348 = point←v22720.f0,  *(float*)&x348
               ) - (
               x349 = scaledSize←v22692,  *(float*)&x349
               ),  *(word*)&tf350
            ), (
            tf353 = (
               x351 = point←v22720.f1,  *(float*)&x351
               ) - (
               x352 = scaledSize←v22692,  *(float*)&x352
               ),  *(word*)&tf353
            ), (
            tf356 = (
               x354 = point←v22720.f0,  *(float*)&x354
               ) + (
               x355 = scaledSize←v22692,  *(float*)&x355
               ),  *(word*)&tf356
            ), (
            tf359 = (
               x357 = point←v22720.f1,  *(float*)&x357
               ) + (
               x358 = scaledSize←v22692,  *(float*)&x358
               ),  *(word*)&tf359
            ), 0, 0, pd347);
      };
SOURCE(21829, 314)
   return(bBox←v13400);
   }

static word CPBox←P3000(ggData←v13460)
   word ggData←v13460;
   {
   register ptr gf←c94176 =  (ptr) &globalframe;
   word bBox←v13504;
   /* CPBox: */ 
SOURCE(22149, 147)
SOURCE(22149, 147)
   bBox←v13504 = 0;
SOURCE(22207, 29)
   bBox←v13504 = (word) SelectedCPsBox←P3060(ggData←v13460);
SOURCE(22238, 58)
   {
      word var←c89376;
      var←c89376 = (word) HotCPsBox←P3120(ggData←v13460);
      {
         word pd360;
         pd360 = (* (( (ptr) (* (( (ptr) gf←c94176)+382)/* var←c87584 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd360 ))))(bBox←v13504, var←c89376, pd360);
         };
      };
SOURCE(22149, 147)
   return(bBox←v13504);
   }

static word SelectedCPsBox←P3060(ggData←v13564)
   word ggData←v13564;
   {
   word bBox←v13608;
   /* SelectedCPsBox: */ 
SOURCE(22302, 109)
SOURCE(22302, 109)
   bBox←v13608 = 0;
SOURCE(22369, 42)
   bBox←v13608 = (word) SelectionCPBoundBox←P3180(ggData←v13564, 0);
SOURCE(22302, 109)
   return(bBox←v13608);
   }

static word HotCPsBox←P3120(ggData←v13668)
   word ggData←v13668;
   {
   word bBox←v13712;
   /* HotCPsBox: */ 
SOURCE(22417, 101)
SOURCE(22417, 101)
   bBox←v13712 = 0;
SOURCE(22479, 39)
   bBox←v13712 = (word) SelectionCPBoundBox←P3180(ggData←v13668, 1);
SOURCE(22417, 101)
   return(bBox←v13712);
   }

static word SelectionCPBoundBox←P3180(ggData←v13772, selectClass←v13800)
   word ggData←v13772;
   word selectClass←v13800;
   {
   W7 var←c94208;
   register ptr gf←c94240 =  (ptr) &globalframe;
   /* declaration of bBox←v13844 skipped */ 
   /* declaration of var←c89408 skipped */ 
   /* SelectionCPBoundBox: */ 
SOURCE(22524, 608)
   {
      word tmpAddr361;
      tmpAddr361 = (word) (( (ptr) &var←c94208)+5)/* var←c89408 */ ;
      (*  (ptr) tmpAddr361 ) = ( ((word)  (fPt) DoEnlargeBox←P9384) );
      (* (( (ptr) tmpAddr361) + 1) ) = 1;
      };
SOURCE(22524, 608)
   var←c94208.f4/* bBox←v13844 */  = 0;
SOURCE(22798, 32)
   {
      word pd362;
      pd362 = (* (( (ptr) (* (( (ptr) gf←c94240)+382)/* var←c87584 */  ))+6) );
      var←c94208.f4/* bBox←v13844 */  = (word) ( *( (fPt) ((*  (ptr) pd362 ))))(pd362);
      };
SOURCE(22832, 79)
   {
      word var←c89440;
      word pd363;
      pd363 = (* (( (ptr) (* (( (ptr) gf←c94240)+392)/* var←c88384 */  ))+32) );
      var←c89440 = (word) ( *( (fPt) ((*  (ptr) pd363 ))))((* (( (ptr) ggData←v13772)+11) ), 0, (word) (( (bPt) &var←c94208)+20)
         /* var←c89408 */ , selectClass←v13800, 0, pd363);
      };
SOURCE(22913, 219)
   if ((selectClass←v13800 == 1)) {
SOURCE(22939, 101)
      {
         word pd364;
         word x365;
         word x367;
         word x368;
         word x369;
         float tf370;
         pd364 = (* (( (ptr) (* (( (ptr) gf←c94240)+382)/* var←c87584 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd364 ))))(var←c94208.f4/* bBox←v13844 */ , (
               tf370 = (((
                  x365 = (*  (ptr) &fc288 ),  *(float*)&x365
                  ) * (
                  x367 = (*  (ptr) &fc366 ),  *(float*)&x367
                  )) * (
                  x368 = (* (( (ptr) (* (( (ptr) ggData←v13772)+15) ))+4) ),  *(float*)&x368
                  )) + (
                  x369 = (*  (ptr) &fc153 ),  *(float*)&x369
                  ),  *(word*)&tf370
               ), pd364);
         };
      }
   else {
SOURCE(23040, 92)
      {
         word pd371;
         word x372;
         word x373;
         word x374;
         word x375;
         float tf376;
         pd371 = (* (( (ptr) (* (( (ptr) gf←c94240)+382)/* var←c87584 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd371 ))))(var←c94208.f4/* bBox←v13844 */ , (
               tf376 = (((
                  x372 = (*  (ptr) &fc288 ),  *(float*)&x372
                  ) * (
                  x373 = (*  (ptr) &fc288 ),  *(float*)&x373
                  )) * (
                  x374 = (* (( (ptr) (* (( (ptr) ggData←v13772)+15) ))+4) ),  *(float*)&x374
                  )) + (
                  x375 = (*  (ptr) &fc153 ),  *(float*)&x375
                  ),  *(word*)&tf376
               ), pd371);
         };
      };
SOURCE(22524, 608)
   return(var←c94208.f4/* bBox←v13844 */ );
   }

static word DoEnlargeBox←P9384(childD←v22840, formal←c94304)
   word childD←v22840;
   word formal←c94304;
   {
   register ptr gf←c94272 =  (ptr) &globalframe;
   word done←v22884;
   formal←c94304 = (formal←c94304 - 20);
   /* DoEnlargeBox: */ 
SOURCE(22633, 160)
SOURCE(22633, 160)
   done←v22884 = 0;
SOURCE(22711, 82)
   {
      word var←c89472;
      {
         word pd377;
         pd377 = (* (( (ptr) (* (( (ptr) gf←c94272)+395)/* var←c88768 */  ))+9) );
         var←c89472 = (word) ( *( (fPt) ((*  (ptr) pd377 ))))((*  (ptr) childD←v22840 ), 0, pd377);
         };
      {
         word pd378;
         pd378 = (* (( (ptr) (* (( (ptr) gf←c94272)+382)/* var←c87584 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd378 ))))((* (( (ptr) formal←c94304)+4) ), var←c89472, pd378);
         };
      };
SOURCE(22633, 160)
   return(done←v22884);
   }

static word MovingPartsBox←P3240(ggData←v13904)
   word ggData←v13904;
   {
   register ptr gf←c94336 =  (ptr) &globalframe;
   word movingBox←v13948;
   word dragBox←v22912;
   /* MovingPartsBox: */ 
SOURCE(23138, 255)
SOURCE(23138, 255)
   movingBox←v13948 = 0;
SOURCE(23210, 71)
   dragBox←v22912 = (word) MovingBoundBox←P3300(ggData←v13904, 3, (* (( (ptr) (* (( (ptr) ggData←v13904)+16) ))+13) ));
SOURCE(23283, 65)
   movingBox←v13948 = (word) MovingBoundBox←P3300(ggData←v13904, 2, (* (( (ptr) (* (( (ptr) ggData←v13904)+16) ))+13) ));
SOURCE(23350, 43)
   {
      word pd379;
      pd379 = (* (( (ptr) (* (( (ptr) gf←c94336)+382)/* var←c87584 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd379 ))))(movingBox←v13948, dragBox←v22912, pd379);
      };
SOURCE(23138, 255)
   return(movingBox←v13948);
   }

static word MovingBoundBox←P3300(formal←c01209, formal←c01210, formal←c01211)
   word formal←c01209;
   word formal←c01210;
   word formal←c01211;
   {
   W10 var←c94368;
   /* declaration of ggData←v14008 skipped */ 
   /* declaration of type←v14036 skipped */ 
   /* declaration of transform←v14064 skipped */ 
   register ptr gf←c94400 =  (ptr) &globalframe;
   /* declaration of movingBox←v14108 skipped */ 
   /* declaration of var←c89504 skipped */ 
   (* (( (ptr) &var←c94368)+4)/* ggData←v14008 */  ) = formal←c01209;
   (* (( (ptr) &var←c94368)+5)/* type←v14036 */  ) = formal←c01210;
   (* (( (ptr) &var←c94368)+6)/* transform←v14064 */  ) = formal←c01211;
   /* MovingBoundBox: */ 
SOURCE(23399, 783)
   {
      word tmpAddr380;
      tmpAddr380 = (word) (( (ptr) &var←c94368)+8)/* var←c89504 */ ;
      (*  (ptr) tmpAddr380 ) = ( ((word)  (fPt) EnlargeMovingBox←P9444) );
      (* (( (ptr) tmpAddr380) + 1) ) = 1;
      };
SOURCE(23399, 783)
   (* (( (ptr) &var←c94368)+7)/* movingBox←v14108 */  ) = 0;
SOURCE(24066, 37)
   {
      word pd381;
      pd381 = (* (( (ptr) (* (( (ptr) gf←c94400)+382)/* var←c87584 */  ))+6) );
      (* (( (ptr) &var←c94368)+7)/* movingBox←v14108 */  ) = (word) ( *( (fPt) ((*  (ptr) pd381 ))))(pd381);
      };
SOURCE(24105, 77)
   {
      word var←c89536;
      word pd382;
      pd382 = (* (( (ptr) (* (( (ptr) gf←c94400)+392)/* var←c88384 */  ))+32) );
      var←c89536 = (word) ( *( (fPt) ((*  (ptr) pd382 ))))((* (( (ptr) (* (( (ptr) &var←c94368)+4)/* ggData←v14008 */  ))+11) ), 1, (word) (
            ( (bPt) &var←c94368)+32)/* var←c89504 */ , 0, 0, pd382);
      };
SOURCE(23399, 783)
   return((* (( (ptr) &var←c94368)+7)/* movingBox←v14108 */  ));
   }

static word EnlargeMovingBox←P9444(sliceD←v23032, formal←c94464)
   word sliceD←v23032;
   word formal←c94464;
   {
   register ptr gf←c94432 =  (ptr) &globalframe;
   word done←v23076;
   word movingD←v23104;
   formal←c94464 = (formal←c94464 - 32);
   /* EnlargeMovingBox: */ 
SOURCE(23547, 512)
SOURCE(23547, 512)
   done←v23076 = 0;
SOURCE(23629, 124)
   movingD←v23104 = (word) MovingPart←P5940((*  (ptr) sliceD←v23032 ), (* (( (ptr) sliceD←v23032)+1) ), (* (( (ptr) (* (( (ptr) (* (
               ( (ptr) formal←c94464)+4) ))+16) ))+17) ), (*  (W5Pt) (( (ptr) (* (( (ptr) (* (( (ptr) formal←c94464)+4) ))+16) ))+18) ), (* (
         ( (ptr) formal←c94464)+5) ));
SOURCE(23755, 304)
   {
      word tc383;
      word pd384;
      if (((* (( (ptr) movingD←v23104)+1) ) != 0)) {
         pd384 = (* (( (ptr) (* (( (ptr) gf←c94432)+395)/* var←c88768 */  ))+27) );
         tc383 =  (word) (0 == (word) ( *( (fPt) ((*  (ptr) pd384 ))))(movingD←v23104, pd384));
         }
      else {
         tc383 =  (word) 0;
         };
      if (tc383) {
SOURCE(23822, 239)
         {
            word thisBox←v23148;
SOURCE(23824, 180)
            {
               word tc385;
               word pd386;
               if (((* (( (ptr) formal←c94464)+6) ) == 0)) {
                  pd386 = (* (( (ptr) (* (( (ptr) gf←c94432)+395)/* var←c88768 */  ))+7) );
                  tc385 =  (word) ( *( (fPt) ((*  (ptr) pd386 ))))((*  (ptr) movingD←v23104 ), (* (( (ptr) movingD←v23104)+1) ), pd386);
                  }
               else {
                  tc385 =  (word) SpecialTransformedBoundBox←P3360((*  (ptr) sliceD←v23032 ), (* (( (ptr) sliceD←v23032)+1) ), (* (( (ptr) movingD←v23104)+1)
                      ), (* (( (ptr) formal←c94464)+6) ));
                  };
               thisBox←v23148 = tc385;
               };
SOURCE(24006, 53)
            {
               word pd387;
               pd387 = (* (( (ptr) (* (( (ptr) gf←c94432)+382)/* var←c87584 */  ))+14) );
               (void) ( *( (fPt) ((*  (ptr) pd387 ))))((* (( (ptr) formal←c94464)+7) ), thisBox←v23148, pd387);
               };
            };
         };
      };
SOURCE(23547, 512)
   return(done←v23076);
   }

static word SpecialTransformedBoundBox←P3360(slice←v44364, selectedParts←v44392, movingParts←v44420, transform←v44448)
   word slice←v44364;
   word selectedParts←v44392;
   word movingParts←v44420;
   word transform←v44448;
   {
   W9 var←c94496;
   register ptr gf←c94528 =  (ptr) &globalframe;
   word box←v44492;
   /* declaration of var←c89568 skipped */ 
   /* declaration of var←c89600 skipped */ 
   word ancestor←v23192 = 0;
   /* SpecialTransformedBoundBox: */ 
SOURCE(24188, 1624)
   {
      word tmpAddr388;
      tmpAddr388 = (word) (( (ptr) &var←c94496)+4)/* var←c89568 */ ;
      (*  (ptr) tmpAddr388 ) = ( ((word)  (fPt) FindMaxStrokeWidth←P9756) );
      (* (( (ptr) tmpAddr388) + 1) ) = 1;
      };
   {
      word tmpAddr389;
      tmpAddr389 = (word) (( (ptr) &var←c94496)+6)/* var←c89600 */ ;
      (*  (ptr) tmpAddr389 ) = ( ((word)  (fPt) DoOutline←P9600) );
      (* (( (ptr) tmpAddr389) + 1) ) = 1;
      };
SOURCE(24188, 1624)
   box←v44492 = 0;
   {
      word var←c89632;
      word var←c89792;
SOURCE(24280, 346)
      {
         word pd391;
         {
            word var←c89664;
            {
               word pd390;
               pd390 = (* (( (ptr) (* (( (ptr) gf←c94528)+398)/* var←c89696 */  ))+65) );
               var←c89664 = (word) ( *( (fPt) ((*  (ptr) pd390 ))))(slice←v44364, pd390);
               };
            ancestor←v23192 = var←c89664;
            var←c89632 = var←c89664;
            };
         pd391 = (* (( (ptr) (* (( (ptr) gf←c94528)+398)/* var←c89696 */  ))+62) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd391 ))))(var←c89632, pd391))) {
SOURCE(24356, 275)
SOURCE(24458, 168)
            {
               word pd392;
               word pd394;
               pd392 = (* (( (ptr) (* (( (ptr) gf←c94528)+399)/* var←c89728 */  ))+22) );
               if ((0 != (word) ( *( (fPt) ((*  (ptr) pd392 ))))(ancestor←v23192, pd392))) { goto then0393;};
               pd394 = (* (( (ptr) (* (( (ptr) gf←c94528)+398)/* var←c89696 */  ))+73) );
               if ((0 != (word) ( *( (fPt) ((*  (ptr) pd394 ))))(ancestor←v23192, 2, (word) (( (bPt) &var←c94496)+24)/* var←c89600 */ , (* (
                     ( (ptr) gf←c94528)+74) ), pd394))) {
                  then0393: ;
SOURCE(24558, 68)
                  {
                     word var←c89760;
                     {
                        word pd395;
                        pd395 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+7) );
                        var←c89760 = (word) ( *( (fPt) ((*  (ptr) pd395 ))))(ancestor←v23192, 0, pd395);
                        };
                     {
                        word pd396;
                        pd396 = (* (( (ptr) (* (( (ptr) gf←c94528)+382)/* var←c87584 */  ))+7) );
                        box←v44492 = (word) ( *( (fPt) ((*  (ptr) pd396 ))))(var←c89760, pd396);
                        };
                     };
                  };
               };
            };
         };
SOURCE(24635, 1177)
      {
         word pd397;
         word pd400;
         pd397 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+6) );
         if (((word) ( *( (fPt) ((*  (ptr) pd397 ))))(slice←v44364, pd397) == (* (( (ptr) gf←c94528)+75) ))) { goto then0398;};
         {
            word pd399;
            pd399 = (* (( (ptr) (* (( (ptr) gf←c94528)+400)/* var←c89824 */  ))+8) );
            var←c89792 = (word) ( *( (fPt) ((*  (ptr) pd399 ))))(slice←v44364, selectedParts←v44392, pd399);
            };
         pd400 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+28) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd400 ))))(var←c89792, pd400))) {
            then0398: ;
SOURCE(24756, 600)
            {
               word cBox←v23384;
SOURCE(24758, 51)
               {
                  word pd401;
                  pd401 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+7) );
                  cBox←v23384 = (word) ( *( (fPt) ((*  (ptr) pd401 ))))(slice←v44364, 0, pd401);
                  };
SOURCE(24811, 53)
               {
                  word pd402;
                  pd402 = (* (( (ptr) (* (( (ptr) gf←c94528)+382)/* var←c87584 */  ))+9) );
                  cBox←v23384 = (word) ( *( (fPt) ((*  (ptr) pd402 ))))(cBox←v23384, transform←v44448, pd402);
                  };
SOURCE(24866, 66)
               if ((box←v44492 == 0)) {
SOURCE(24882, 16)
                  box←v44492 = cBox←v23384;
                  }
               else {
SOURCE(24898, 34)
                  {
                     word pd403;
                     pd403 = (* (( (ptr) (* (( (ptr) gf←c94528)+382)/* var←c87584 */  ))+14) );
                     (void) ( *( (fPt) ((*  (ptr) pd403 ))))(box←v44492, cBox←v23384, pd403);
                     };
                  };
SOURCE(24934, 356)
               {
                  word pd404;
                  pd404 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+6) );
                  if (((word) ( *( (fPt) ((*  (ptr) pd404 ))))(slice←v44364, pd404) == (* (( (ptr) gf←c94528)+76) ))) {
SOURCE(24974, 379)
                     {
                        word trajData←v23456;
                        /* declaration of maxStrokeWidth←v23484 skipped */ 
SOURCE(25085, 52)
                        trajData←v23456 = XR←Narrow((* (( (ptr) slice←v44364)+1) ), (* (( (ptr) gf←c94528)+22) ));
SOURCE(25139, 26)
                        (* (( (ptr) &var←c94496)+8)/* maxStrokeWidth←v23484 */  ) = (*  (ptr) &fc151 );
SOURCE(25167, 64)
                        {
                           word var←c89888;
                           word pd405;
                           pd405 = (* (( (ptr) (* (( (ptr) gf←c94528)+401)/* var←c89856 */  ))+41) );
                           var←c89888 = (word) ( *( (fPt) ((*  (ptr) pd405 ))))(trajData←v23456, (word) (( (bPt) &var←c94496)+16)/* var←c89568 */ , pd405)
                           ;
                           };
SOURCE(25233, 57)
                        {
                           word pd406;
                           word x407;
                           word x409;
                           word x410;
                           float tf411;
                           pd406 = (* (( (ptr) (* (( (ptr) gf←c94528)+382)/* var←c87584 */  ))+17) );
                           (void) ( *( (fPt) ((*  (ptr) pd406 ))))(box←v44492, (
/*1*/      tf411 = ((
/*1*/         x407 = (* (( (ptr) &var←c94496)+8)/* maxStrokeWidth←v23484 */  ),  *(float*)&x407
/*1*/         ) / (
/*1*/         x409 = (*  (ptr) &fc408 ),  *(float*)&x409
/*1*/         )) + (
/*1*/         x410 = (*  (ptr) &fc153 ),  *(float*)&x410
/*1*/         ),  *(word*)&tf411
/*1*/      ), pd406);
                           };
                        };
                     };
                  };
               };
            }
         else {
SOURCE(25363, 451)
            {
               word tBox←v23528 = 0;
               word copies←v23556;
               word firstCopy←v23584;
SOURCE(25381, 8)
               {
                  word pd412;
                  pd412 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+10) );
                  copies←v23556 = (word) ( *( (fPt) ((*  (ptr) pd412 ))))(slice←v44364, 0, pd412);
                  };
SOURCE(25434, 31)
               firstCopy←v23584 = (*  (ptr) copies←v23556 );
SOURCE(25467, 79)
               if (((* (( (ptr) copies←v23556)+1) ) != 0)) {
SOURCE(25491, 55)
                  {
                     word var←c0498;
                     var←c0498 = (* (( (ptr) gf←c94528)+78) );
                     (void) (XR←RaiseSignal((* (( (ptr) gf←c94528)+8)/* Problem←v4260 */  ), 0, (word) &var←c0498));
                     };
                  };
SOURCE(25548, 68)
               {
                  word pd413;
                  pd413 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+22) );
                  (void) ( *( (fPt) ((*  (ptr) pd413 ))))(firstCopy←v23584, selectedParts←v44392, transform←v44448, 0, 0, pd413);
                  };
SOURCE(25634, 53)
               {
                  word pd414;
                  pd414 = (* (( (ptr) (* (( (ptr) gf←c94528)+395)/* var←c88768 */  ))+7) );
                  tBox←v23528 = (word) ( *( (fPt) ((*  (ptr) pd414 ))))(firstCopy←v23584, movingParts←v44420, pd414);
                  };
SOURCE(25746, 66)
               if ((box←v44492 == 0)) {
SOURCE(25762, 16)
                  box←v44492 = tBox←v23528;
                  }
               else {
SOURCE(25778, 34)
                  {
                     word pd415;
                     pd415 = (* (( (ptr) (* (( (ptr) gf←c94528)+382)/* var←c87584 */  ))+14) );
                     (void) ( *( (fPt) ((*  (ptr) pd415 ))))(box←v44492, tBox←v23528, pd415);
                     };
                  };
               };
            };
         };
      };
SOURCE(24188, 1624)
   return(box←v44492);
   }

static word DoOutline←P9600(outline←v23312, formal←c94592)
   word outline←v23312;
   word formal←c94592;
   {
   register ptr gf←c94560 =  (ptr) &globalframe;
   word done←v23356;
   formal←c94592 = (formal←c94592 - 24);
   /* DoOutline: */ 
SOURCE(24358, 17)
SOURCE(24416, 37)
   {
      word pd416;
      pd416 = (* (( (ptr) (* (( (ptr) gf←c94560)+399)/* var←c89728 */  ))+22) );
      return((word) ( *( (fPt) ((*  (ptr) pd416 ))))(outline←v23312, pd416));
      };
   }

static word FindMaxStrokeWidth←P9756(traj←v72428, seg←v72456, index←v72484, formal←c94624)
   word traj←v72428;
   word seg←v72456;
   word index←v72484;
   word formal←c94624;
   {
   word done←v72528;
   formal←c94624 = (formal←c94624 - 16);
   /* FindMaxStrokeWidth: */ 
SOURCE(24976, 49)
SOURCE(24976, 49)
   done←v72528 = 0;
SOURCE(25027, 53)
   {
      word x417;
      float tf418;
      float tf419;
      word x420;
      float tf421;
      (* (( (ptr) formal←c94624)+8) ) = (
         tf421 = FMAX((
               x417 = (* (( (ptr) formal←c94624)+8) ),  *(float*)&x417
               ), (
               x420 = (* (( (ptr) seg←v72456)+2) ),  *(float*)&x420
               ), tf418, tf419),  *(word*)&tf421
         );
      };
SOURCE(24976, 49)
   return(done←v72528);
   }

static void StartCaretPos←P3420(screen←v44552, ggData←v44580, buffer←v44608, useBackingMap←v44636, bounds←v44664)
   word screen←v44552;
   word ggData←v44580;
   word buffer←v44608;
   word useBackingMap←v44636;
   word bounds←v44664;
   {
   /* StartCaretPos: */ 
SOURCE(25821, 86)
SOURCE(25848, 59)
   (void) DrawSandwich←P720(screen←v44552, ggData←v44580, buffer←v44608, useBackingMap←v44636, bounds←v44664);
   }

static word StartCaretPosBounds←P3480(ggData←v44724, whatHasChanged←v44752, into←v44780)
   word ggData←v44724;
   word whatHasChanged←v44752;
   word into←v44780;
   {
   word box←v44824;
   /* StartCaretPosBounds: */ 
SOURCE(25913, 208)
SOURCE(25913, 208)
   box←v44824 = 0;
SOURCE(25947, 37)
   (* (( (ptr) (* (( (ptr) ggData←v44724)+17) ))+8) ) = 0;
SOURCE(25986, 35)
   (* (( (ptr) (* (( (ptr) ggData←v44724)+17) ))+9) ) = 1;
SOURCE(26023, 98)
   box←v44824 = (word) GetAFullBox←P6960(ggData←v44724, 0, 1, 0, 0, 0
      , 0, 0, 1, 0, into←v44780);
SOURCE(25913, 208)
   return(box←v44824);
   }

static word CaretMovedStaticBounds←P3540(ggData←v44884, whatHasChanged←v44912, into←v44940)
   word ggData←v44884;
   word whatHasChanged←v44912;
   word into←v44940;
   {
   word box←v44984;
   /* CaretMovedStaticBounds: */ 
SOURCE(26127, 135)
SOURCE(26127, 135)
   box←v44984 = 0;
SOURCE(26164, 98)
   box←v44984 = (word) GetAFullBox←P6960(ggData←v44884, 0, 1, 0, 0, 0
      , 0, 0, 1, 0, into←v44940);
SOURCE(26127, 135)
   return(box←v44984);
   }

static void CaretMoved←P3600(screen←v45044, ggData←v45072, buffer←v45100, useBackingMap←v45128, bounds←v45156)
   word screen←v45044;
   word ggData←v45072;
   word buffer←v45100;
   word useBackingMap←v45128;
   word bounds←v45156;
   {
   register ptr gf←c94656 =  (ptr) &globalframe;
   /* CaretMoved: */ 
SOURCE(26268, 206)
SOURCE(26292, 119)
   {
      word tc422;
      word tc423;
      word pd424;
      word pd425;
      pd424 = (* (( (ptr) (* (( (ptr) gf←c94656)+397)/* var←c89152 */  ))+19) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd424 ))))((* (( (ptr) ggData←v45072)+11) ), 0, pd424))) {
         pd425 = (* (( (ptr) (* (( (ptr) gf←c94656)+397)/* var←c89152 */  ))+19) );
         tc423 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd425 ))))((* (( (ptr) ggData←v45072)+11) ), 1, pd425));
         }
      else {
         tc423 =  (word) 0;
         };
      if (tc423) {
         tc422 =  (word) (0 != (* (( (ptr) bounds←v45156)+4) ));
         }
      else {
         tc422 =  (word) 0;
         };
      if (tc422) {
SOURCE(26405, 6)
         return;
         };
      };
SOURCE(26413, 61)
   (void) PaintAllPlanes←P1260(screen←v45044, ggData←v45072, buffer←v45100, useBackingMap←v45128, bounds←v45156);
   }

static word CaretMovedBounds←P3660(ggData←v45216, whatHasChanged←v45244, into←v45272)
   word ggData←v45216;
   word whatHasChanged←v45244;
   word into←v45272;
   {
   word box←v45316;
   /* CaretMovedBounds: */ 
SOURCE(26480, 132)
SOURCE(26480, 132)
   box←v45316 = 0;
SOURCE(26511, 101)
   box←v45316 = (word) GetAFullBox←P6960(ggData←v45216, 0, 0, 0, 0, 0
      , 1, 1, 0, 0, into←v45272);
SOURCE(26480, 132)
   return(box←v45316);
   }

static word AlignmentsVisible←P3780(ggData←v14272)
   word ggData←v14272;
   {
   register ptr gf←c94688 =  (ptr) &globalframe;
   word visible←v14316;
   /* AlignmentsVisible: */ 
SOURCE(26825, 309)
SOURCE(26825, 309)
   visible←v14316 = 1;
   {
      word var←c89952;
      word filterLists←v83344;
SOURCE(26901, 59)
      {
         word pd426;
         pd426 = (* (( (ptr) (* (( (ptr) gf←c94688)+386)/* var←c87776 */  ))+58) );
         if ((0 == (word) ( *( (fPt) ((*  (ptr) pd426 ))))(ggData←v14272, pd426))) {
SOURCE(26947, 13)
            return(0);
            };
         };
SOURCE(26962, 70)
      {
         word pd427;
         pd427 = (* (( (ptr) (* (( (ptr) gf←c94688)+386)/* var←c87776 */  ))+22) );
         filterLists←v83344 = (word) ( *( (fPt) ((*  (ptr) pd427 ))))(ggData←v14272, pd427);
         };
SOURCE(26694, 125)
      if ( (  ( ((*  (ptr) filterLists←v83344 ) == 0) ? ((* (( (ptr) filterLists←v83344)+1) ) == 0) : 0 )  ? ((* (( (ptr) filterLists←v83344)+2)
       ) == 0) : 0 ) ) {
         var←c89952 =  (unsigned) ((* (( (ptr) filterLists←v83344)+3) ) == 0);
         }
      else {
         var←c89952 =  (unsigned) 0;
         };
      if ((0 != var←c89952)) {
SOURCE(27019, 13)
         return(0);
         };
SOURCE(27034, 100)
      {
         word tc428;
         word pd429;
         word pd430;
         pd429 = (* (( (ptr) (* (( (ptr) gf←c94688)+397)/* var←c89152 */  ))+19) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd429 ))))((* (( (ptr) ggData←v14272)+11) ), 1, pd429))) {
            pd430 = (* (( (ptr) (* (( (ptr) gf←c94688)+396)/* var←c89056 */  ))+7) );
            tc428 =  (word) (0 == (word) ( *( (fPt) ((*  (ptr) pd430 ))))((* ((( (ptr) ggData←v14272)+14)) ), pd430));
            }
         else {
            tc428 =  (word) 0;
            };
         if (tc428) {
SOURCE(27121, 13)
            return(0);
            };
         };
      };
SOURCE(26825, 309)
   return(visible←v14316);
   }

static void StartMotion←P3840(screen←v45376, ggData←v45404, buffer←v45432, useBackingMap←v45460, bounds←v45488)
   word screen←v45376;
   word ggData←v45404;
   word buffer←v45432;
   word useBackingMap←v45460;
   word bounds←v45488;
   {
   /* StartMotion: */ 
SOURCE(27140, 176)
SOURCE(27166, 150)
   if ((0 != (word) AlignmentsVisible←P3780(ggData←v45404))) {
SOURCE(27200, 57)
      (void) DrawSandwich←P720(screen←v45376, ggData←v45404, buffer←v45432, useBackingMap←v45460, 0);
      }
   else {
SOURCE(27257, 59)
      (void) DrawSandwich←P720(screen←v45376, ggData←v45404, buffer←v45432, useBackingMap←v45460, bounds←v45488);
      };
   }

static word StartMotionBounds←P3900(ggData←v45548, whatHasChanged←v45576, into←v45604)
   word ggData←v45548;
   word whatHasChanged←v45576;
   word into←v45604;
   {
   register ptr gf←c94720 =  (ptr) &globalframe;
   word box←v45648;
   /* StartMotionBounds: */ 
SOURCE(27322, 475)
SOURCE(27322, 475)
   box←v45648 = 0;
SOURCE(27354, 153)
   if (((*  (ptr) (* (( (ptr) ggData←v45548)+17) ) ) == 0)) {
SOURCE(27396, 71)
      {
         word pd431;
         pd431 = (* (( (ptr) (* (( (ptr) gf←c94720)+383)/* var←c87616 */  ))+6) );
         (*  (ptr) (* (( (ptr) ggData←v45548)+17) ) ) = (word) ( *( (fPt) ((*  (ptr) pd431 ))))((* ((( (ptr) gf←c94720)+10)/* identity←v7452 */ ) ), pd431)
         ;
         };
      }
   else {
SOURCE(27467, 40)
      (*  (W10Pt) (*  (ptr) (* (( (ptr) ggData←v45548)+17) ) ) ) = (*  (W10Pt) (* (( (ptr) gf←c94720)+10)/* identity←v7452 */  ) );
      };
SOURCE(27509, 36)
   (* (( (ptr) (* (( (ptr) ggData←v45548)+17) ))+8) ) = 1;
SOURCE(27547, 35)
   (* (( (ptr) (* (( (ptr) ggData←v45548)+17) ))+9) ) = 1;
SOURCE(27584, 213)
   if ((0 != (word) AlignmentsVisible←P3780(ggData←v45548))) {
SOURCE(27618, 30)
      box←v45648 = (word) NullFromInto←P1680(into←v45604);
      }
   else {
SOURCE(27648, 149)
      box←v45648 = (word) GetAFullBox←P6960(ggData←v45548, 1, 1, 0, 0, 1
         , 1, 1, 1, 0, into←v45604);
      };
SOURCE(27322, 475)
   return(box←v45648);
   }

static void StartCopyAndDrag←P3960(screen←v45844, ggData←v45872, buffer←v45900, useBackingMap←v45928, bounds←v45956)
   word screen←v45844;
   word ggData←v45872;
   word buffer←v45900;
   word useBackingMap←v45928;
   word bounds←v45956;
   {
   /* StartCopyAndDrag: */ 
SOURCE(27884, 89)
SOURCE(27914, 59)
   (void) DrawSandwich←P720(screen←v45844, ggData←v45872, buffer←v45900, useBackingMap←v45928, bounds←v45956);
   }

static word StartCopyAndDragBounds←P4020(ggData←v46016, whatHasChanged←v46044, into←v46072)
   word ggData←v46016;
   word whatHasChanged←v46044;
   word into←v46072;
   {
   word box←v46116;
   /* StartCopyAndDragBounds: */ 
SOURCE(27979, 261)
SOURCE(27979, 261)
   box←v46116 = 0;
SOURCE(28016, 36)
   (* (( (ptr) (* (( (ptr) ggData←v46016)+17) ))+8) ) = 1;
SOURCE(28054, 35)
   (* (( (ptr) (* (( (ptr) ggData←v46016)+17) ))+9) ) = 1;
SOURCE(28091, 149)
   box←v46116 = (word) GetAFullBox←P6960(ggData←v46016, 1, 1, 0, 0, 1
      , 1, 1, 1, 0, into←v46072);
SOURCE(27979, 261)
   return(box←v46116);
   }

static void DuringCaretPos←P4080(screen←v46176, ggData←v46204, buffer←v46232, useBackingMap←v46260, bounds←v46288)
   word screen←v46176;
   word ggData←v46204;
   word buffer←v46232;
   word useBackingMap←v46260;
   word bounds←v46288;
   {
   /* DuringCaretPos: */ 
SOURCE(28246, 87)
SOURCE(28274, 59)
   (void) DrawSandwich←P720(screen←v46176, ggData←v46204, buffer←v46232, useBackingMap←v46260, bounds←v46288);
   }

static word DuringCaretPosBounds←P4140(ggData←v46348, whatHasChanged←v46376, into←v46404)
   word ggData←v46348;
   word whatHasChanged←v46376;
   word into←v46404;
   {
   word box←v46448;
   /* DuringCaretPosBounds: */ 
SOURCE(28339, 209)
SOURCE(28339, 209)
   box←v46448 = 0;
SOURCE(28374, 37)
   (* (( (ptr) (* (( (ptr) ggData←v46348)+17) ))+8) ) = 0;
SOURCE(28413, 35)
   (* (( (ptr) (* (( (ptr) ggData←v46348)+17) ))+9) ) = 1;
SOURCE(28450, 98)
   box←v46448 = (word) GetAFullBox←P6960(ggData←v46348, 0, 1, 0, 0, 0
      , 0, 0, 1, 0, into←v46404);
SOURCE(28339, 209)
   return(box←v46448);
   }

static void DuringDrag←P4200(screen←v46508, ggData←v46536, buffer←v46564, useBackingMap←v46592, bounds←v46620)
   word screen←v46508;
   word ggData←v46536;
   word buffer←v46564;
   word useBackingMap←v46592;
   word bounds←v46620;
   {
   /* DuringDrag: */ 
SOURCE(28554, 83)
SOURCE(28578, 59)
   (void) DrawSandwich←P720(screen←v46508, ggData←v46536, buffer←v46564, useBackingMap←v46592, bounds←v46620);
   }

static word DuringDragBounds←P4260(ggData←v46680, whatHasChanged←v46708, into←v46736)
   word ggData←v46680;
   word whatHasChanged←v46708;
   word into←v46736;
   {
   word box←v46780;
   /* DuringDragBounds: */ 
SOURCE(28643, 222)
SOURCE(28643, 222)
   box←v46780 = 0;
SOURCE(28674, 36)
   (* (( (ptr) (* (( (ptr) ggData←v46680)+17) ))+8) ) = 1;
SOURCE(28712, 35)
   (* (( (ptr) (* (( (ptr) ggData←v46680)+17) ))+9) ) = 1;
SOURCE(28749, 116)
   box←v46780 = (word) GetAFullBox←P6960(ggData←v46680, 1, 1, 0, 0, 1
      , 0, 0, 1, 0, into←v46736);
SOURCE(28643, 222)
   return(box←v46780);
   }

static void FinishedAdding←P4320(screen←v46840, ggData←v46868, buffer←v46896, useBackingMap←v46924, bounds←v46952)
   word screen←v46840;
   word ggData←v46868;
   word buffer←v46896;
   word useBackingMap←v46924;
   word bounds←v46952;
   {
   /* FinishedAdding: */ 
SOURCE(28871, 186)
SOURCE(28899, 95)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v46868, (* (( (ptr) (* (( (ptr) ggData←v46868)+17) ))+20) ), 0, (* (( (ptr) (* (
            ( (ptr) ggData←v46868)+17) ))+16) ));
SOURCE(28996, 61)
   (void) PaintAllPlanes←P1260(screen←v46840, ggData←v46868, buffer←v46896, useBackingMap←v46924, bounds←v46952);
   }

static word FinishedAddingBounds←P4380(ggData←v47012, whatHasChanged←v47040, into←v47068)
   word ggData←v47012;
   word whatHasChanged←v47040;
   word into←v47068;
   {
   word box←v47112;
   /* FinishedAddingBounds: */ 
SOURCE(29063, 203)
SOURCE(29063, 203)
   box←v47112 = 0;
SOURCE(29098, 168)
   box←v47112 = (word) GetAFullBox←P6960(ggData←v47012, 0, 1, 0, 0, 1
      , 1, 1, 1, 1, into←v47068);
SOURCE(29063, 203)
   return(box←v47112);
   }

static void RepairBackground←P4440(screen←v47172, ggData←v47200, buffer←v47228, useBackingMap←v47256, bounds←v47284)
   word screen←v47172;
   word ggData←v47200;
   word buffer←v47228;
   word useBackingMap←v47256;
   word bounds←v47284;
   {
   /* RepairBackground: */ 
SOURCE(29272, 90)
SOURCE(29302, 60)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v47200, (* (( (ptr) (* (( (ptr) ggData←v47200)+17) ))+20) ), 1, 0);
   }

static word RepairBackgroundBounds←P4500(ggData←v47344, whatHasChanged←v47372, into←v47400)
   word ggData←v47344;
   word whatHasChanged←v47372;
   word into←v47400;
   {
   word box←v47444;
   /* RepairBackgroundBounds: */ 
SOURCE(29368, 68)
SOURCE(29368, 68)
   box←v47444 = 0;
SOURCE(29405, 31)
   box←v47444 = (* (( (ptr) (* (( (ptr) ggData←v47344)+17) ))+20) );
SOURCE(29368, 68)
   return(box←v47444);
   }

static void EndMotion←P4560(screen←v47504, ggData←v47532, buffer←v47560, useBackingMap←v47588, bounds←v47616)
   word screen←v47504;
   word ggData←v47532;
   word buffer←v47560;
   word useBackingMap←v47588;
   word bounds←v47616;
   {
   W6 var←c94752;
   /* declaration of var←c89984 skipped */ 
   word overObject←v23740;
   /* EndMotion: */ 
SOURCE(29440, 558)
   {
      word tmpAddr432;
      tmpAddr432 = (word) (( (ptr) &var←c94752)+4)/* var←c89984 */ ;
      (*  (ptr) tmpAddr432 ) = ( ((word)  (fPt) BackmostSelectedSlice←P9864) );
      (* (( (ptr) tmpAddr432) + 1) ) = 1;
      };
SOURCE(29799, 55)
   overObject←v23740 = (word) BackmostSelectedSlice←P9864((* (( (ptr) ggData←v47532)+11) ), (word) (( (bPt) &var←c94752)+16)
      /* var←c89984 */ );
SOURCE(29856, 79)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v47532, (* (( (ptr) (* (( (ptr) ggData←v47532)+17) ))+20) ), 0, overObject←v23740)
   ;
SOURCE(29937, 61)
   (void) PaintAllPlanes←P1260(screen←v47504, ggData←v47532, buffer←v47560, useBackingMap←v47588, bounds←v47616);
   }

static word BackmostSelectedSlice←P9864(scene←v23816, formal←c94848)
   word scene←v23816;
   word formal←c94848;
   {
   W7 var←c94784;
   register ptr gf←c94816 =  (ptr) &globalframe;
   /* declaration of backmost←v23860 skipped */ 
   /* declaration of var←c90016 skipped */ 
   formal←c94848 = (formal←c94848 - 16);
   var←c94784.f0 = formal←c94848;
   /* BackmostSelectedSlice: */ 
SOURCE(29463, 331)
   {
      word tmpAddr433;
      tmpAddr433 = (word) (( (ptr) &var←c94784)+5)/* var←c90016 */ ;
      (*  (ptr) tmpAddr433 ) = ( ((word)  (fPt) FindBackmost←P9924) );
      (* (( (ptr) tmpAddr433) + 1) ) = 1;
      };
SOURCE(29463, 331)
   var←c94784.f4/* backmost←v23860 */  = 0;
SOURCE(29743, 51)
   {
      word var←c90048;
      word pd434;
      pd434 = (* (( (ptr) (* (( (ptr) gf←c94816)+392)/* var←c88384 */  ))+31) );
      var←c90048 = (word) ( *( (fPt) ((*  (ptr) pd434 ))))(scene←v23816, 0, (word) (( (bPt) &var←c94784)+20)/* var←c90016 */ , 0, pd434)
      ;
      };
SOURCE(29463, 331)
   return(var←c94784.f4/* backmost←v23860 */ );
   }

static word FindBackmost←P9924(slice←v23964, formal←c94912)
   word slice←v23964;
   word formal←c94912;
   {
   register ptr gf←c94880 =  (ptr) &globalframe;
   word done←v24008;
   word sliceD←v24036;
   formal←c94912 = (formal←c94912 - 20);
   /* FindBackmost: */ 
SOURCE(29542, 193)
SOURCE(29542, 193)
   done←v24008 = 0;
SOURCE(29609, 67)
   {
      word pd435;
      pd435 = (* (( (ptr) (* (( (ptr) gf←c94880)+397)/* var←c89152 */  ))+20) );
      sliceD←v24036 = (word) ( *( (fPt) ((*  (ptr) pd435 ))))(slice←v23964, 0, pd435);
      };
SOURCE(29678, 57)
   if ((sliceD←v24036 != 0)) {
SOURCE(29699, 23)
      (* (( (ptr) formal←c94912)+4) ) = (*  (ptr) sliceD←v24036 );
SOURCE(29724, 11)
      done←v24008 = 1;
      };
SOURCE(29542, 193)
   return(done←v24008);
   }

static word EndMotionBounds←P4620(ggData←v47676, whatHasChanged←v47704, into←v47732)
   word ggData←v47676;
   word whatHasChanged←v47704;
   word into←v47732;
   {
   word box←v47776;
   /* EndMotionBounds: */ 
SOURCE(30004, 168)
SOURCE(30004, 168)
   box←v47776 = 0;
SOURCE(30034, 138)
   box←v47776 = (word) GetAFullBox←P6960(ggData←v47676, 0, 0, 0, 0, 1
      , 1, 1, 0, 1, into←v47732);
SOURCE(30004, 168)
   return(box←v47776);
   }

static void DrawAttractorFeedback←P4680(dc←v14376, ggData←v14404, dragInProgress←v14432, caretIsMoving←v14460)
   word dc←v14376;
   word ggData←v14404;
   word dragInProgress←v14432;
   word caretIsMoving←v14460;
   {
   register ptr gf←c94944 =  (ptr) &globalframe;
   word scene←v24080;
   word camera←v24108;
   word attractor←v24136;
   /* DrawAttractorFeedback: */ 
SOURCE(30180, 306)
SOURCE(30286, 27)
   scene←v24080 = (* (( (ptr) ggData←v14404)+11) );
SOURCE(30315, 30)
   camera←v24108 = (* (( (ptr) ggData←v14404)+15) );
SOURCE(30347, 55)
   {
      word pd436;
      pd436 = (* (( (ptr) (* (( (ptr) gf←c94944)+396)/* var←c89056 */  ))+14) );
      attractor←v24136 = (word) ( *( (fPt) ((*  (ptr) pd436 ))))((* ((( (ptr) ggData←v14404)+13)) ), pd436);
      };
SOURCE(30404, 82)
   (void) DrawAttractor←P4740(dc←v14376, scene←v24080, camera←v24108, ggData←v14404, dragInProgress←v14432, caretIsMoving←v14460
      , attractor←v24136);
   }

static void DrawAttractor←P4740(dc←v14520, scene←v14548, camera←v14576, ggData←v14604, dragInProgress←v14632, caretIsMoving←v14660, attractor←v14688)
   word dc←v14520;
   word scene←v14548;
   word camera←v14576;
   word ggData←v14604;
   word dragInProgress←v14632;
   word caretIsMoving←v14660;
   word attractor←v14688;
   {
   register ptr gf←c94976 =  (ptr) &globalframe;
   /* DrawAttractor: */ 
SOURCE(30492, 1187)
SOURCE(30640, 1039)
   if ((attractor←v14688 != 0)) {
SOURCE(30664, 1015)
      {
         word var←c90080;
         var←c90080 = attractor←v14688;
         if ((var←c90080 == 0)) {
            goto lab←L100020;
            };
         if (((* (( (ptr) gf←c94976)+30) ) == XR←GetReferentType(var←c90080))) {
            {
               word sliceD←v24192;
               sliceD←v24192 = var←c90080;
SOURCE(30718, 294)
               {
                  word selectedD←v24236;
                  word selectedParts←v24264;
SOURCE(30720, 77)
                  {
                     word pd437;
                     pd437 = (* (( (ptr) (* (( (ptr) gf←c94976)+397)/* var←c89152 */  ))+20) );
                     selectedD←v24236 = (word) ( *( (fPt) ((*  (ptr) pd437 ))))((*  (ptr) sliceD←v24192 ), 0, pd437);
                     };
SOURCE(30799, 76)
                  selectedParts←v24264 =  ( (selectedD←v24236 == 0) ? 0 : (* (( (ptr) selectedD←v24236)+1) ) ) ;
SOURCE(30878, 132)
                  {
                     word pd438;
                     pd438 = (* (( (ptr) (* (( (ptr) gf←c94976)+395)/* var←c88768 */  ))+18) );
                     (void) ( *( (fPt) ((*  (ptr) pd438 ))))((*  (ptr) sliceD←v24192 ), (* (( (ptr) sliceD←v24192)+1) ), selectedParts←v24264, dragInProgress←v14632, dc←v14520, camera←v14576
                        , (* (( (ptr) (* (( (ptr) ggData←v14604)+16) ))+17) ), pd438);
                     };
                  };
               };
            }
         else {
            lab←L100020: ;
SOURCE(31026, 653)
            if ((0 != caretIsMoving←v14660)) {
SOURCE(31048, 633)
               {
                  word zip←v24308;
SOURCE(31050, 35)
                  {
                     word pd439;
                     pd439 = (* (( (ptr) (* (( (ptr) gf←c94976)+402)/* var←c90112 */  ))+11) );
                     zip←v24308 = (word) ( *( (fPt) ((*  (ptr) pd439 ))))(dc←v14520, 0, pd439);
                     };
SOURCE(31087, 556)
                  {
                     word var←c90144;
                     word var←c90176;
                     var←c90144 = attractor←v14688;
                     if ((var←c90144 == 0)) {
                        goto lab←L100021;
                        };
                     var←c90176 = XR←GetReferentType(var←c90144);
                     if (((* (( (ptr) gf←c94976)+29) ) == var←c90176)) {
                        {
                           word alignLine←v24352;
                           alignLine←v24352 = var←c90144;
SOURCE(31144, 33)
                           {
/*1*/   word pd441;
/*1*/   pd441 = (* (( (ptr) (* (( (ptr) gf←c94976)+384)/* var←c87648 */  ))+52) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd441 ))))(dc←v14520, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c94976)+384)/* var←c87648 */  ))+54)
/*1*/       ) ), pd441);
/*1*/   };
SOURCE(31179, 73)
                           (void) DrawStarbursts←P4800(dc←v14520, alignLine←v24352, scene←v14548, camera←v14576, ggData←v14604, dragInProgress←v14632
/*1*/   , zip←v24308);
                           };
                        goto endif0440;
                        };
                     if (((* (( (ptr) gf←c94976)+26) ) == var←c90176)) {
                        {
                           word alignCircle←v24396;
                           alignCircle←v24396 = var←c90144;
SOURCE(31291, 75)
                           (void) DrawStarbursts←P4800(dc←v14520, alignCircle←v24396, scene←v14548, camera←v14576, ggData←v14604, dragInProgress←v14632
/*1*/   , zip←v24308);
                           };
                        goto endif0440;
                        };
                     if (((* (( (ptr) gf←c94976)+25) ) == var←c90176)) {
                        {
                           word alignPoint←v24440;
                           alignPoint←v24440 = var←c90144;
SOURCE(31403, 119)
                           if (((* (( (ptr) alignPoint←v24440)+3) ) != 0)) {
SOURCE(31435, 87)
/*1*/   (void) DrawStarbursts←P4800(dc←v14520, (* (( (ptr) (* (( (ptr) alignPoint←v24440)+3) ))+1) ), scene←v14548, camera←v14576, ggData←v14604, dragInProgress←v14632
/*1*/      , zip←v24308);
/*1*/   };
SOURCE(31524, 119)
                           if (((* (( (ptr) alignPoint←v24440)+4) ) != 0)) {
SOURCE(31556, 87)
/*1*/   (void) DrawStarbursts←P4800(dc←v14520, (* (( (ptr) (* (( (ptr) alignPoint←v24440)+4) ))+1) ), scene←v14548, camera←v14576, ggData←v14604, dragInProgress←v14632
/*1*/      , zip←v24308);
/*1*/   };
                           };
                        goto endif0440;
                        };
                     lab←L100021: ;
                     goto endif0440;
                     endif0440: ;
                     };
SOURCE(31657, 22)
                  {
                     word pd442;
                     pd442 = (* (( (ptr) (* (( (ptr) gf←c94976)+402)/* var←c90112 */  ))+12) );
                     (void) ( *( (fPt) ((*  (ptr) pd442 ))))(zip←v24308, pd442);
                     };
                  };
               };
            };
         };
      };
   }

static void DrawStarbursts←P4800(dc←v14760, alignObj←v14788, scene←v14816, camera←v14844, ggData←v14872, dragInProgress←v14900, zip←v14928)
   word dc←v14760;
   word alignObj←v14788;
   word scene←v14816;
   word camera←v14844;
   word ggData←v14872;
   word dragInProgress←v14900;
   word zip←v14928;
   {
   register ptr gf←c95008 =  (ptr) &globalframe;
   /* DrawStarbursts: */ 
SOURCE(31691, 825)
SOURCE(31849, 667)
   {
      word var←c90208;
      word var←c90240;
      var←c90208 = alignObj←v14788;
      if ((var←c90208 == 0)) {
         goto lab←L100022;
         };
      var←c90240 = XR←GetReferentType(var←c90208);
      if (((* (( (ptr) gf←c95008)+29) ) == var←c90240)) {
         {
            word alignLine←v24484;
            alignLine←v24484 = var←c90208;
SOURCE(31905, 140)
            {
               register word list←v24528;
               list←v24528 = (* (( (ptr) alignLine←v24484)+2) );
               lab←L100026: ;
               if ((list←v24528 != 0)) {
                  }
               else {
                  goto lab←L100023;
                  };
SOURCE(31986, 59)
               {
                  word pd444;
                  pd444 = (* (( (ptr) (* (( (ptr) gf←c95008)+403)/* var←c90272 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd444 ))))(dc←v14760, (*  (W2Pt) list←v24528 ), (* (( (ptr) camera←v14844)+4) ), zip←v14928, pd444)
                  ;
                  };
               list←v24528 = (* (( (ptr) list←v24528)+2) );
               goto lab←L100026;
               lab←L100023: ;
               };
            };
         goto endif0443;
         };
      if (((* (( (ptr) gf←c95008)+26) ) == var←c90240)) {
         {
            word alignCircle←v24656;
            alignCircle←v24656 = var←c90208;
SOURCE(32091, 103)
            {
               word circle←v24700;
SOURCE(32093, 35)
               circle←v24700 = (*  (ptr) alignCircle←v24656 );
SOURCE(32130, 62)
               {
                  word pd445;
                  pd445 = (* (( (ptr) (* (( (ptr) gf←c95008)+403)/* var←c90272 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd445 ))))(dc←v14760, (*  (W2Pt) circle←v24700 ), (* (( (ptr) camera←v14844)+4) ), zip←v14928, pd445)
                  ;
                  };
               };
            };
         goto endif0443;
         };
      if (((* (( (ptr) gf←c95008)+30) ) == var←c90240)) {
         {
            word sliceD←v24744;
            sliceD←v24744 = var←c90208;
SOURCE(32224, 294)
            {
               word selectedD←v24788;
               word selectedParts←v24816;
SOURCE(32226, 77)
               {
                  word pd446;
                  pd446 = (* (( (ptr) (* (( (ptr) gf←c95008)+397)/* var←c89152 */  ))+20) );
                  selectedD←v24788 = (word) ( *( (fPt) ((*  (ptr) pd446 ))))((*  (ptr) sliceD←v24744 ), 0, pd446);
                  };
SOURCE(32305, 76)
               selectedParts←v24816 =  ( (selectedD←v24788 == 0) ? 0 : (* (( (ptr) selectedD←v24788)+1) ) ) ;
SOURCE(32384, 132)
               {
                  word pd447;
                  pd447 = (* (( (ptr) (* (( (ptr) gf←c95008)+395)/* var←c88768 */  ))+18) );
                  (void) ( *( (fPt) ((*  (ptr) pd447 ))))((*  (ptr) sliceD←v24744 ), (* (( (ptr) sliceD←v24744)+1) ), selectedParts←v24816, dragInProgress←v14900, dc←v14760, camera←v14844
                     , (* (( (ptr) (* (( (ptr) ggData←v14872)+16) ))+17) ), pd447);
                  };
               };
            };
         goto endif0443;
         };
      lab←L100022: ;
      goto endif0443;
      endif0443: ;
      };
   }

static word MemberTraj←P4860(ref←v14988, list←v15016)
   word ref←v14988;
   word list←v15016;
   {
   word var←c15144;
   /* MemberTraj: */ 
SOURCE(32534, 182)
SOURCE(32602, 90)
   {
      register word tl←v24860;
      tl←v24860 = list←v15016;
      lab←L100030: ;
      if ((tl←v24860 != 0)) {
         }
      else {
         goto lab←L100027;
         };
SOURCE(32657, 35)
      if (((*  (ptr) tl←v24860 ) == ref←v14988)) {
SOURCE(32680, 12)
         return(1);
         };
      tl←v24860 = (* (( (ptr) tl←v24860)+1) );
      goto lab←L100030;
      lab←L100027: ;
      };
SOURCE(32703, 13)
   return(0);
   }

static word AllSelectedSlices←P4920(formal←c01212)
   word formal←c01212;
   {
   W11 var←c95040;
   /* declaration of scene←v15204 skipped */ 
   register ptr gf←c95072 =  (ptr) &globalframe;
   /* declaration of selectedList←v15248 skipped */ 
   /* declaration of var←c90304 skipped */ 
   /* declaration of var←c90336 skipped */ 
   /* declaration of ptr←v24988 skipped */ 
   (* (( (ptr) &var←c95040)+4)/* scene←v15204 */  ) = formal←c01212;
   /* AllSelectedSlices: */ 
SOURCE(32722, 634)
   {
      word tmpAddr448;
      tmpAddr448 = (word) (( (ptr) &var←c95040)+6)/* var←c90304 */ ;
      (*  (ptr) tmpAddr448 ) = ( ((word)  (fPt) AddUnique←P10668) );
      (* (( (ptr) tmpAddr448) + 1) ) = 1;
      };
   {
      word tmpAddr449;
      tmpAddr449 = (word) (( (ptr) &var←c95040)+8)/* var←c90336 */ ;
      (*  (ptr) tmpAddr449 ) = ( ((word)  (fPt) AddToList←P10608) );
      (* (( (ptr) tmpAddr449) + 1) ) = 1;
      };
SOURCE(32722, 634)
   (* (( (ptr) &var←c95040)+5)/* selectedList←v15248 */  ) = 0;
SOURCE(32809, 5)
   (* (( (ptr) &var←c95040)+10)/* ptr←v24988 */  ) = 0;
SOURCE(33179, 48)
   {
      W2 var←c90400;
      {
         word pd450;
         pd450 = (* (( (ptr) (* (( (ptr) gf←c95072)+404)/* var←c90368 */  ))+20) );
         (void) ( *( (fPt) ((*  (ptr) pd450 ))))((word) (&var←c90400), pd450);
         };
      (* (( (ptr) &var←c95040)+10)/* ptr←v24988 */  ) = var←c90400.f1;
      (* (( (ptr) &var←c95040)+5)/* selectedList←v15248 */  ) = var←c90400.f0;
      };
SOURCE(33229, 61)
   {
      word var←c90432;
      word pd451;
      pd451 = (* (( (ptr) (* (( (ptr) gf←c95072)+392)/* var←c88384 */  ))+32) );
      var←c90432 = (word) ( *( (fPt) ((*  (ptr) pd451 ))))((* (( (ptr) &var←c95040)+4)/* scene←v15204 */  ), 0, (word) (( (bPt) &var←c95040)+32)
         /* var←c90336 */ , 1, 0, pd451);
      };
SOURCE(33292, 64)
   {
      word var←c90464;
      word pd452;
      pd452 = (* (( (ptr) (* (( (ptr) gf←c95072)+392)/* var←c88384 */  ))+32) );
      var←c90464 = (word) ( *( (fPt) ((*  (ptr) pd452 ))))((* (( (ptr) &var←c95040)+4)/* scene←v15204 */  ), 0, (word) (( (bPt) &var←c95040)+24)
         /* var←c90304 */ , 0, 0, pd452);
      };
SOURCE(32722, 634)
   return((* (( (ptr) &var←c95040)+5)/* selectedList←v15248 */  ));
   }

static word AddToList←P10608(sd←v25204, formal←c95136)
   word sd←v25204;
   word formal←c95136;
   {
   register ptr gf←c95104 =  (ptr) &globalframe;
   word done←v25248;
   formal←c95136 = (formal←c95136 - 32);
   /* AddToList: */ 
SOURCE(32829, 140)
SOURCE(32829, 140)
   done←v25248 = 0;
SOURCE(32900, 69)
   {
      W2 var←c90496;
      {
         word pd453;
         pd453 = (* (( (ptr) (* (( (ptr) gf←c95104)+404)/* var←c90368 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd453 ))))((word) &var←c90496, (*  (ptr) sd←v25204 ), (* (( (ptr) formal←c95136)+5) ), (* (( (ptr) formal←c95136)+10)
             ), pd453);
         };
      (* (( (ptr) formal←c95136)+10) ) = var←c90496.f1;
      (* (( (ptr) formal←c95136)+5) ) = var←c90496.f0;
      };
SOURCE(32829, 140)
   return(done←v25248);
   }

static word AddUnique←P10668(sd←v25308, formal←c95200)
   word sd←v25308;
   word formal←c95200;
   {
   register ptr gf←c95168 =  (ptr) &globalframe;
   word done←v25352;
   formal←c95200 = (formal←c95200 - 24);
   /* AddUnique: */ 
SOURCE(32974, 200)
SOURCE(32974, 200)
   done←v25352 = 0;
SOURCE(33045, 129)
   {
      word pd454;
      pd454 = (* (( (ptr) (* (( (ptr) gf←c95168)+397)/* var←c89152 */  ))+18) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd454 ))))((*  (ptr) sd←v25308 ), (* (( (ptr) formal←c95200)+4) ), 1, pd454))) {
SOURCE(33105, 69)
         {
            W2 var←c90528;
            {
               word pd455;
               pd455 = (* (( (ptr) (* (( (ptr) gf←c95168)+404)/* var←c90368 */  ))+21) );
               (void) ( *( (fPt) ((*  (ptr) pd455 ))))((word) &var←c90528, (*  (ptr) sd←v25308 ), (* (( (ptr) formal←c95200)+5) ), (* (( (ptr) formal←c95200)+10)
                   ), pd455);
               };
            (* (( (ptr) formal←c95200)+10) ) = var←c90528.f1;
            (* (( (ptr) formal←c95200)+5) ) = var←c90528.f0;
            };
         };
      };
SOURCE(32974, 200)
   return(done←v25352);
   }

static void DrawSelectionFeedback←P4980(dc←v15392, scene←v15420, camera←v15448)
   word dc←v15392;
   word scene←v15420;
   word camera←v15448;
   {
   /* DrawSelectionFeedback: */ 
SOURCE(33362, 146)
SOURCE(33452, 56)
   (void) DrawCpsOfSelectedSlices←P5040(dc←v15392, scene←v15420, camera←v15448, 0, 0);
   }

static void DrawCpsOfSelectedSlices←P5040(dc←v15508, scene←v15536, camera←v15564, dragInProgress←v15592, caretIsMoving←v15620)
   word dc←v15508;
   word scene←v15536;
   word camera←v15564;
   word dragInProgress←v15592;
   word caretIsMoving←v15620;
   {
   W7 var←c95232;
   register ptr gf←c95264 =  (ptr) &globalframe;
   /* declaration of var←c90560 skipped */ 
   word normalSliceD←v25408 = 0;
   word hotSliceD←v25436 = 0;
   word normalParts←v25464 = 0;
   word hotParts←v25492 = 0;
   word slice←v25520 = 0;
   word quick←v25548 = 0;
   word hotCount←v25576 = 0;
   word normalCount←v25604 = 0;
   /* declaration of sliceCount←v25632 skipped */ 
   /* DrawCpsOfSelectedSlices: */ 
SOURCE(33514, 1451)
   {
      word tmpAddr456;
      tmpAddr456 = (word) (( (ptr) &var←c95232)+4)/* var←c90560 */ ;
      (*  (ptr) tmpAddr456 ) = ( ((word)  (fPt) CountSelections←P10728) );
      (* (( (ptr) tmpAddr456) + 1) ) = 1;
      };
SOURCE(34012, 42)
   var←c95232.f6/* sliceCount←v25632 */  = 0;
SOURCE(34057, 46)
   if (((0 != caretIsMoving←v15620) || (0 != dragInProgress←v15592))) {
SOURCE(34097, 6)
      return;
      };
SOURCE(34105, 70)
   {
      word var←c90592;
      word pd457;
      pd457 = (* (( (ptr) (* (( (ptr) gf←c95264)+392)/* var←c88384 */  ))+32) );
      var←c90592 = (word) ( *( (fPt) ((*  (ptr) pd457 ))))(scene←v15536, 0, (word) (( (bPt) &var←c95232)+16)/* var←c90560 */ , 0, 0, pd457)
      ;
      };
SOURCE(34177, 24)
   normalCount←v25604 = var←c95232.f6/* sliceCount←v25632 */ ;
SOURCE(34203, 14)
   var←c95232.f6/* sliceCount←v25632 */  = 0;
SOURCE(34219, 67)
   {
      word var←c90624;
      word pd458;
      pd458 = (* (( (ptr) (* (( (ptr) gf←c95264)+392)/* var←c88384 */  ))+32) );
      var←c90624 = (word) ( *( (fPt) ((*  (ptr) pd458 ))))(scene←v15536, 0, (word) (( (bPt) &var←c95232)+16)/* var←c90560 */ , 1, 0, pd458)
      ;
      };
SOURCE(34288, 21)
   hotCount←v25576 = var←c95232.f6/* sliceCount←v25632 */ ;
SOURCE(34311, 41)
   if ((normalCount←v25604 > 20)) {
      quick←v25548 =  (unsigned) 1;
      }
   else {
      quick←v25548 =  (unsigned) (hotCount←v25576 > 20);
      };
SOURCE(34354, 464)
   {
      register word sList←v25780;
      sList←v25780 = (word) AllSelectedSlices←P4920(scene←v15536);
      lab←L100034: ;
      if ((sList←v25780 != 0)) {
         }
      else {
         goto lab←L100031;
         };
SOURCE(34437, 19)
      slice←v25520 = (*  (ptr) sList←v25780 );
SOURCE(34458, 56)
      {
         word pd459;
         pd459 = (* (( (ptr) (* (( (ptr) gf←c95264)+397)/* var←c89152 */  ))+20) );
         normalSliceD←v25408 = (word) ( *( (fPt) ((*  (ptr) pd459 ))))(slice←v25520, 0, pd459);
         };
SOURCE(34516, 50)
      {
         word pd460;
         pd460 = (* (( (ptr) (* (( (ptr) gf←c95264)+397)/* var←c89152 */  ))+20) );
         hotSliceD←v25436 = (word) ( *( (fPt) ((*  (ptr) pd460 ))))(slice←v25520, 1, pd460);
         };
SOURCE(34568, 68)
      if ((normalSliceD←v25408 != 0)) {
         normalParts←v25464 = (* (( (ptr) normalSliceD←v25408)+1) );
         }
      else {
         normalParts←v25464 = 0;
         };
SOURCE(34638, 59)
      if ((hotSliceD←v25436 != 0)) {
         hotParts←v25492 = (* (( (ptr) hotSliceD←v25436)+1) );
         }
      else {
         hotParts←v25492 = 0;
         };
SOURCE(34699, 119)
      {
         word pd461;
         pd461 = (* (( (ptr) (* (( (ptr) gf←c95264)+395)/* var←c88768 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd461 ))))(slice←v25520, normalParts←v25464, hotParts←v25492, dc←v15508, camera←v15564, dragInProgress←v15592
            , caretIsMoving←v15620, 0, quick←v25548, pd461);
         };
      sList←v25780 = (* (( (ptr) sList←v25780)+1) );
      goto lab←L100034;
      lab←L100031: ;
      };
SOURCE(34829, 136)
   if ((0 != quick←v25548)) {
SOURCE(34843, 124)
      {
         word box←v25908;
SOURCE(34845, 53)
         {
            word pd462;
            pd462 = (* (( (ptr) (* (( (ptr) gf←c95264)+392)/* var←c88384 */  ))+47) );
            box←v25908 = (word) ( *( (fPt) ((*  (ptr) pd462 ))))(scene←v15536, 0, 0, pd462);
            };
SOURCE(34900, 33)
         {
            word pd463;
            pd463 = (* (( (ptr) (* (( (ptr) gf←c95264)+384)/* var←c87648 */  ))+52) );
            (void) ( *( (fPt) ((*  (ptr) pd463 ))))(dc←v15508, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c95264)+384)/* var←c87648 */  ))+54)
                ) ), pd463);
            };
SOURCE(34935, 30)
         {
            word pd464;
            pd464 = (* (( (ptr) (* (( (ptr) gf←c95264)+403)/* var←c90272 */  ))+6) );
            (void) ( *( (fPt) ((*  (ptr) pd464 ))))(dc←v15508, box←v25908, (*  (ptr) &fc153 ), pd464);
            };
         };
      };
   }

static word CountSelections←P10728(sliceD←v25708, formal←c95360)
   word sliceD←v25708;
   word formal←c95360;
   {
   W6 var←c95296;
   register ptr gf←c95328 =  (ptr) &globalframe;
   word done←v25752;
   /* declaration of var←c90656 skipped */ 
   formal←c95360 = (formal←c95360 - 16);
   var←c95296.f0 = formal←c95360;
   /* CountSelections: */ 
SOURCE(33636, 259)
   {
      word tmpAddr465;
      tmpAddr465 = (word) (( (ptr) &var←c95296)+4)/* var←c90656 */ ;
      (*  (ptr) tmpAddr465 ) = ( ((word)  (fPt) CountPoints←P10884) );
      (* (( (ptr) tmpAddr465) + 1) ) = 1;
      };
SOURCE(33636, 259)
   done←v25752 = 0;
SOURCE(33817, 54)
   {
      word pd466;
      pd466 = (* (( (ptr) (* (( (ptr) gf←c95328)+395)/* var←c88768 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd466 ))))(sliceD←v25708, (word) (( (bPt) &var←c95296)+16)/* var←c90656 */ , pd466);
      };
SOURCE(33873, 22)
   done←v25752 =  (unsigned) ((* (( (ptr) formal←c95360)+6) ) > 20);
SOURCE(33636, 259)
   return(done←v25752);
   }

static word CountPoints←P10884(point←v77708, formal←c95392)
   W2 point←v77708;
   word formal←c95392;
   {
   word done←v77752;
   formal←c95392 = (formal←c95392 - 16);
   /* CountPoints: */ 
SOURCE(33717, 95)
SOURCE(33717, 95)
   done←v77752 = 0;
SOURCE(33761, 27)
   (* (( (ptr) (*  (ptr) formal←c95392 ))+6) ) = ((* (( (ptr) (*  (ptr) formal←c95392 ))+6) ) + 1);
SOURCE(33790, 22)
   done←v77752 =  (unsigned) ((* (( (ptr) (*  (ptr) formal←c95392 ))+6) ) > 20);
SOURCE(33717, 95)
   return(done←v77752);
   }

static word MemberSlice←P5100(ref←v15680, list←v15708)
   word ref←v15680;
   word list←v15708;
   {
   word var←c15836;
   /* MemberSlice: */ 
SOURCE(34975, 216)
SOURCE(35066, 101)
   {
      register word tl←v25996;
      tl←v25996 = list←v15708;
      lab←L100038: ;
      if ((tl←v25996 != 0)) {
         }
      else {
         goto lab←L100035;
         };
SOURCE(35132, 35)
      if (((*  (ptr) tl←v25996 ) == ref←v15680)) {
SOURCE(35155, 12)
         return(1);
         };
      tl←v25996 = (* (( (ptr) tl←v25996)+1) );
      goto lab←L100038;
      lab←L100035: ;
      };
SOURCE(35178, 13)
   return(0);
   }

static word OutsideOf←P5160(test←v15896, bound←v15924)
   word test←v15896;
   word bound←v15924;
   {
   word var←c15968;
   /* OutsideOf: */ 
SOURCE(35196, 268)
SOURCE(35255, 209)
   if ((0 != (* (( (ptr) bound←v15924)+5) )) || (0 != (* (( (ptr) test←v15896)+5) ))) {
SOURCE(35295, 19)
      return(0);
      }
   else {
SOURCE(35314, 150)
      if ((0 != (* (( (ptr) bound←v15924)+4) )) || (0 != (* (( (ptr) test←v15896)+4) ))) {
SOURCE(35346, 18)
         return(1);
         }
      else {
SOURCE(35364, 100)
         {
            word tc467;
            word x468;
            word x469;
            word x470;
            word x471;
            word x472;
            word x473;
            word x474;
            word x475;
            if ((((
               x468 = (* (( (ptr) test←v15896)+2) ),  *(float*)&x468
               ) < (
               x469 = (*  (ptr) bound←v15924 ),  *(float*)&x469
               )) || ((
               x470 = (*  (ptr) test←v15896 ),  *(float*)&x470
               ) > (
               x471 = (* (( (ptr) bound←v15924)+2) ),  *(float*)&x471
               ))) || ((
               x472 = (* (( (ptr) test←v15896)+3) ),  *(float*)&x472
               ) < (
               x473 = (* (( (ptr) bound←v15924)+1) ),  *(float*)&x473
               ))) {
               tc467 =  (word)  (unsigned) 1;
               }
            else {
               tc467 =  (word)  (unsigned) ((
                  x474 = (* (( (ptr) test←v15896)+1) ),  *(float*)&x474
                  ) > (
                  x475 = (* (( (ptr) bound←v15924)+3) ),  *(float*)&x475
                  ));
               };
            return(tc467);
            };
         };
      };
   }

static void DrawObjectsFiltered←P5220(formal←c01213, ggData←v16056, formal←c01214, formal←c01215, formal←c01216)
   word formal←c01213;
   word ggData←v16056;
   word formal←c01214;
   word formal←c01215;
   word formal←c01216;
   {
   W13 var←c95424;
   /* declaration of dc←v16028 skipped */ 
   /* declaration of filter←v16084 skipped */ 
   /* declaration of excludeOverlay←v16112 skipped */ 
   /* declaration of overObject←v16140 skipped */ 
   register ptr gf←c95456 =  (ptr) &globalframe;
   /* declaration of var←c90688 skipped */ 
   /* declaration of timeToDraw←v26152 skipped */ 
   /* declaration of scene←v26180 skipped */ 
   /* declaration of camera←v26208 skipped */ 
   (* (( (ptr) &var←c95424)+4)/* dc←v16028 */  ) = formal←c01213;
   (* (( (ptr) &var←c95424)+5)/* filter←v16084 */  ) = formal←c01214;
   (* (( (ptr) &var←c95424)+6)/* excludeOverlay←v16112 */  ) = formal←c01215;
   (* (( (ptr) &var←c95424)+7)/* overObject←v16140 */  ) = formal←c01216;
   /* DrawObjectsFiltered: */ 
SOURCE(35509, 1205)
   {
      word tmpAddr476;
      tmpAddr476 = (word) (( (ptr) &var←c95424)+8)/* var←c90688 */ ;
      (*  (ptr) tmpAddr476 ) = ( ((word)  (fPt) DrawObjectsFilteredAux←P10992) );
      (* (( (ptr) tmpAddr476) + 1) ) = 1;
      };
SOURCE(36533, 35)
   (* (( (ptr) &var←c95424)+10)/* timeToDraw←v26152 */  ) =  (unsigned) ((* (( (ptr) &var←c95424)+7)/* overObject←v16140 */  ) == 0);
SOURCE(36570, 27)
   (* (( (ptr) &var←c95424)+11)/* scene←v26180 */  ) = (* (( (ptr) ggData←v16056)+11) );
SOURCE(36599, 30)
   (* (( (ptr) &var←c95424)+12)/* camera←v26208 */  ) = (* (( (ptr) ggData←v16056)+15) );
SOURCE(36631, 40)
   if (((* (( (ptr) &var←c95424)+5)/* filter←v16084 */  ) == 0) || (0 != (* (( (ptr) (* (( (ptr) &var←c95424)+5)/* filter←v16084 */  ))+4)
    ))) {
SOURCE(36665, 6)
      return;
      };
SOURCE(36673, 41)
   {
      word pd477;
      pd477 = (* (( (ptr) (* (( (ptr) gf←c95456)+384)/* var←c87648 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd477 ))))((* (( (ptr) &var←c95424)+4)/* dc←v16028 */  ), (word) (( (bPt) &var←c95424)+32)/* var←c90688 */ , pd477)
      ;
      };
   }

static void DrawObjectsFilteredAux←P10992(formal←c95552)
   word formal←c95552;
   {
   W7 var←c95488;
   register ptr gf←c95520 =  (ptr) &globalframe;
   /* declaration of var←c90720 skipped */ 
   /* declaration of noFilter←v26268 skipped */ 
   formal←c95552 = (formal←c95552 - 32);
   var←c95488.f0 = formal←c95552;
   /* DrawObjectsFilteredAux: */ 
SOURCE(35649, 879)
   {
      word tmpAddr478;
      tmpAddr478 = (word) (( (ptr) &var←c95488)+4)/* var←c90720 */ ;
      (*  (ptr) tmpAddr478 ) = ( ((word)  (fPt) DoSkipAndDraw←P11052) );
      (* (( (ptr) tmpAddr478) + 1) ) = 1;
      };
SOURCE(35720, 22)
   var←c95488.f6/* noFilter←v26268 */  = 0;
SOURCE(36295, 84)
   {
      word x479;
      word x480;
      word x481;
      word x482;
      word x483;
      word x484;
      if ((0 != (* (( (ptr) (* (( (ptr) formal←c95552)+5) ))+5) )) || ((
         x479 = (* (( (ptr) (* (( (ptr) formal←c95552)+5) ))+2) ),  *(float*)&x479
         ) - (
         x480 = (*  (ptr) (* (( (ptr) formal←c95552)+5) ) ),  *(float*)&x480
         ) == (
         x481 = (*  (ptr) &fc151 ),  *(float*)&x481
         ))) {
         var←c95488.f6/* noFilter←v26268 */  =  (unsigned) 1;
         }
      else {
         var←c95488.f6/* noFilter←v26268 */  =  (unsigned) ((
            x482 = (* (( (ptr) (* (( (ptr) formal←c95552)+5) ))+3) ),  *(float*)&x482
            ) - (
            x483 = (* (( (ptr) (* (( (ptr) formal←c95552)+5) ))+1) ),  *(float*)&x483
            ) == (
            x484 = (*  (ptr) &fc151 ),  *(float*)&x484
            ));
         };
      };
SOURCE(36381, 58)
   if ((0 == var←c95488.f6/* noFilter←v26268 */ )) {
SOURCE(36402, 37)
      {
         word pd485;
         pd485 = (* (( (ptr) (* (( (ptr) gf←c95520)+382)/* var←c87584 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd485 ))))((* (( (ptr) formal←c95552)+4) ), (* (( (ptr) formal←c95552)+5) ), pd485);
         };
      };
SOURCE(36441, 33)
   {
      word pd486;
      pd486 = (* (( (ptr) (* (( (ptr) gf←c95520)+384)/* var←c87648 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd486 ))))((* (( (ptr) formal←c95552)+4) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c95520)+384)
            /* var←c87648 */  ))+54) ) ), pd486);
      };
SOURCE(36476, 52)
   {
      word var←c90752;
      word pd487;
      pd487 = (* (( (ptr) (* (( (ptr) gf←c95520)+392)/* var←c88384 */  ))+31) );
      var←c90752 = (word) ( *( (fPt) ((*  (ptr) pd487 ))))((* (( (ptr) formal←c95552)+11) ), 0, (word) (( (bPt) &var←c95488)+16)
         /* var←c90720 */ , 0, pd487);
      };
   }

static word DoSkipAndDraw←P11052(thisSlice←v26372, formal←c95616)
   word thisSlice←v26372;
   word formal←c95616;
   {
   register ptr gf←c95584 =  (ptr) &globalframe;
   word done←v26416;
   formal←c95616 = (formal←c95616 - 16);
   /* DoSkipAndDraw: */ 
SOURCE(35744, 540)
SOURCE(35744, 540)
   done←v26416 = 0;
SOURCE(35816, 468)
   if ((0 != (* (( (ptr) (*  (ptr) formal←c95616 ))+10) ))) {
      {
         word var←c90784;
SOURCE(35837, 53)
         if ( ( (0 != (* (( (ptr) (*  (ptr) formal←c95616 ))+6) )) ? (0 != (* (( (ptr) thisSlice←v26372)+17) )) : 0 ) ) {
SOURCE(35884, 6)
            return(done←v26416);
            };
SOURCE(35892, 137)
         if ((0 != (* (( (ptr) formal←c95616)+6) ))) { goto then0488;};
         {
            word pd489;
            pd489 = (* (( (ptr) (* (( (ptr) gf←c95584)+395)/* var←c88768 */  ))+7) );
            var←c90784 = (word) ( *( (fPt) ((*  (ptr) pd489 ))))(thisSlice←v26372, 0, pd489);
            };
         if ((0 == (word) OutsideOf←P5160(var←c90784, (* (( (ptr) (*  (ptr) formal←c95616 ))+5) )))) {
            then0488: ;
SOURCE(35974, 55)
            {
               word pd490;
               pd490 = (* (( (ptr) (* (( (ptr) gf←c95584)+395)/* var←c88768 */  ))+15) );
               (void) ( *( (fPt) ((*  (ptr) pd490 ))))(thisSlice←v26372, 0, (* (( (ptr) (*  (ptr) formal←c95616 ))+4) ), (* (( (ptr) (*  (ptr) formal←c95616 ))+12)
                   ), 0, pd490);
               };
            };
         };
      }
   else {
SOURCE(36040, 244)
      if ((thisSlice←v26372 == (* (( (ptr) (*  (ptr) formal←c95616 ))+7) ))) {
         {
            word var←c90816;
SOURCE(36073, 17)
            (* (( (ptr) (*  (ptr) formal←c95616 ))+10) ) = 1;
SOURCE(36092, 53)
            if ( ( (0 != (* (( (ptr) (*  (ptr) formal←c95616 ))+6) )) ? (0 != (* (( (ptr) thisSlice←v26372)+17) )) : 0 ) ) {
SOURCE(36139, 6)
               return(done←v26416);
               };
SOURCE(36147, 137)
            if ((0 != (* (( (ptr) formal←c95616)+6) ))) { goto then0491;};
            {
               word pd492;
               pd492 = (* (( (ptr) (* (( (ptr) gf←c95584)+395)/* var←c88768 */  ))+7) );
               var←c90816 = (word) ( *( (fPt) ((*  (ptr) pd492 ))))(thisSlice←v26372, 0, pd492);
               };
            if ((0 == (word) OutsideOf←P5160(var←c90816, (* (( (ptr) (*  (ptr) formal←c95616 ))+5) )))) {
               then0491: ;
SOURCE(36229, 55)
               {
                  word pd493;
                  pd493 = (* (( (ptr) (* (( (ptr) gf←c95584)+395)/* var←c88768 */  ))+15) );
                  (void) ( *( (fPt) ((*  (ptr) pd493 ))))(thisSlice←v26372, 0, (* (( (ptr) (*  (ptr) formal←c95616 ))+4) ), (* (( (ptr) (*  (ptr) formal←c95616 ))+12)
                      ), 0, pd493);
                  };
               };
            };
         };
      };
SOURCE(35744, 540)
   return(done←v26416);
   }

static void DrawCaret←P5280(dc←v16200, caret←v16228, color←v16256, scale←v16284)
   word dc←v16200;
   word caret←v16228;
   word color←v16256;
   word scale←v16284;
   {
   register ptr gf←c95648 =  (ptr) &globalframe;
   /* DrawCaret: */ 
SOURCE(36720, 288)
SOURCE(36809, 199)
   {
      word pd494;
      pd494 = (* (( (ptr) (* (( (ptr) gf←c95648)+396)/* var←c89056 */  ))+7) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd494 ))))(caret←v16228, pd494))) {
SOURCE(36839, 171)
         {
            W2 caretPos←v26444;
            W2 normalVec←v26472;
SOURCE(36841, 41)
            {
               word pd495;
               pd495 = (* (( (ptr) (* (( (ptr) gf←c95648)+396)/* var←c89056 */  ))+15) );
               (void) ( *( (fPt) ((*  (ptr) pd495 ))))((word) &caretPos←v26444, caret←v16228, pd495);
               };
SOURCE(36884, 44)
            {
               word pd496;
               pd496 = (* (( (ptr) (* (( (ptr) gf←c95648)+396)/* var←c89056 */  ))+16) );
               (void) ( *( (fPt) ((*  (ptr) pd496 ))))((word) &normalVec←v26472, caret←v16228, pd496);
               };
SOURCE(36930, 26)
            {
               word pd497;
               pd497 = (* (( (ptr) (* (( (ptr) gf←c95648)+384)/* var←c87648 */  ))+52) );
               (void) ( *( (fPt) ((*  (ptr) pd497 ))))(dc←v16200, color←v16256, pd497);
               };
SOURCE(36958, 50)
            {
               word pd498;
               pd498 = (* (( (ptr) (* (( (ptr) gf←c95648)+403)/* var←c90272 */  ))+15) );
               (void) ( *( (fPt) ((*  (ptr) pd498 ))))(dc←v16200, caretPos←v26444, normalVec←v26472, scale←v16284, pd498);
               };
            };
         };
      };
   }

static void DrawAnchor←P5340(dc←v16344, anchor←v16372, color←v16400, scale←v16428)
   word dc←v16344;
   word anchor←v16372;
   word color←v16400;
   word scale←v16428;
   {
   register ptr gf←c95680 =  (ptr) &globalframe;
   /* DrawAnchor: */ 
SOURCE(37017, 296)
SOURCE(37108, 205)
   {
      word pd499;
      pd499 = (* (( (ptr) (* (( (ptr) gf←c95680)+396)/* var←c89056 */  ))+7) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd499 ))))(anchor←v16372, pd499))) {
SOURCE(37139, 176)
         {
            W2 anchorPos←v26516;
            W2 normalVec←v26544;
SOURCE(37141, 43)
            {
               word pd500;
               pd500 = (* (( (ptr) (* (( (ptr) gf←c95680)+396)/* var←c89056 */  ))+15) );
               (void) ( *( (fPt) ((*  (ptr) pd500 ))))((word) &anchorPos←v26516, anchor←v16372, pd500);
               };
SOURCE(37186, 45)
            {
               word pd501;
               pd501 = (* (( (ptr) (* (( (ptr) gf←c95680)+396)/* var←c89056 */  ))+16) );
               (void) ( *( (fPt) ((*  (ptr) pd501 ))))((word) &normalVec←v26544, anchor←v16372, pd501);
               };
SOURCE(37233, 26)
            {
               word pd502;
               pd502 = (* (( (ptr) (* (( (ptr) gf←c95680)+384)/* var←c87648 */  ))+52) );
               (void) ( *( (fPt) ((*  (ptr) pd502 ))))(dc←v16344, color←v16400, pd502);
               };
SOURCE(37261, 52)
            {
               word pd503;
               pd503 = (* (( (ptr) (* (( (ptr) gf←c95680)+403)/* var←c90272 */  ))+16) );
               (void) ( *( (fPt) ((*  (ptr) pd503 ))))(dc←v16344, anchorPos←v26516, normalVec←v26544, scale←v16428, pd503);
               };
            };
         };
      };
   }

static void PaintSpot←P5400(screen←v47836, ggData←v47864, buffer←v47892, useBackingMap←v47920, bounds←v47948)
   word screen←v47836;
   word ggData←v47864;
   word buffer←v47892;
   word useBackingMap←v47920;
   word bounds←v47948;
   {
   register ptr gf←c95712 =  (ptr) &globalframe;
   /* PaintSpot: */ 
SOURCE(37640, 160)
SOURCE(37663, 45)
   if ((0 != (* (( (ptr) (* (( (ptr) ggData←v47864)+17) ))+1) ))) {
SOURCE(37702, 6)
      return;
      };
SOURCE(37710, 37)
   {
      word pd504;
      pd504 = (* (( (ptr) (* (( (ptr) gf←c95712)+384)/* var←c87648 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd504 ))))(screen←v47836, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c95712)+384)/* var←c87648 */  ))+54)
          ) ), pd504);
      };
SOURCE(37749, 51)
   {
      word pd505;
      pd505 = (* (( (ptr) (* (( (ptr) gf←c95712)+403)/* var←c90272 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd505 ))))(screen←v47836, (*  (W2Pt) (( (ptr) (* (( (ptr) ggData←v47864)+17) ))+10) ), pd505)
      ;
      };
   }

static void PaintHitLine←P5460(screen←v48008, ggData←v48036, buffer←v48064, useBackingMap←v48092, bounds←v48120)
   word screen←v48008;
   word ggData←v48036;
   word buffer←v48064;
   word useBackingMap←v48092;
   word bounds←v48120;
   {
   register ptr gf←c95744 =  (ptr) &globalframe;
   /* PaintHitLine: */ 
SOURCE(37806, 359)
SOURCE(37832, 45)
   if ((0 != (* (( (ptr) (* (( (ptr) ggData←v48036)+17) ))+1) ))) {
SOURCE(37871, 6)
      return;
      };
SOURCE(37879, 37)
   {
      word pd506;
      pd506 = (* (( (ptr) (* (( (ptr) gf←c95744)+384)/* var←c87648 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd506 ))))(screen←v48008, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c95744)+384)/* var←c87648 */  ))+54)
          ) ), pd506);
      };
SOURCE(37918, 34)
   {
      word pd507;
      pd507 = (* (( (ptr) (* (( (ptr) gf←c95744)+384)/* var←c87648 */  ))+69) );
      (void) ( *( (fPt) ((*  (ptr) pd507 ))))(screen←v48008, 2, pd507);
      };
SOURCE(37954, 139)
   {
      W2 var←c90848;
      W2 var←c90880;
      var←c90848.f0 = (* (( (ptr) (* (( (ptr) ggData←v48036)+17) ))+10) );
      var←c90848.f1 = (* (( (ptr) (* (( (ptr) ggData←v48036)+17) ))+11) );
      var←c90880.f0 = (* (( (ptr) (* (( (ptr) ggData←v48036)+17) ))+12) );
      var←c90880.f1 = (* (( (ptr) (* (( (ptr) ggData←v48036)+17) ))+13) );
      {
         word pd508;
         pd508 = (* (( (ptr) (* (( (ptr) gf←c95744)+384)/* var←c87648 */  ))+73) );
         (void) ( *( (fPt) ((*  (ptr) pd508 ))))(screen←v48008, var←c90848, var←c90880, pd508);
         };
      };
SOURCE(38095, 70)
   {
      word pd509;
      pd509 = (* (( (ptr) (* (( (ptr) gf←c95744)+403)/* var←c90272 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd509 ))))(screen←v48008, (*  (W2Pt) (( (ptr) (* (( (ptr) ggData←v48036)+17) ))+10) ), (*  (ptr) &fc288 ), pd509)
      ;
      };
   }

static void PaintOddHitLine←P5520(screen←v48180, ggData←v48208, buffer←v48236, useBackingMap←v48264, bounds←v48292)
   word screen←v48180;
   word ggData←v48208;
   word buffer←v48236;
   word useBackingMap←v48264;
   word bounds←v48292;
   {
   register ptr gf←c95776 =  (ptr) &globalframe;
   /* PaintOddHitLine: */ 
SOURCE(38171, 346)
SOURCE(38200, 45)
   if ((0 != (* (( (ptr) (* (( (ptr) ggData←v48208)+17) ))+1) ))) {
SOURCE(38239, 6)
      return;
      };
SOURCE(38247, 37)
   {
      word pd510;
      pd510 = (* (( (ptr) (* (( (ptr) gf←c95776)+384)/* var←c87648 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd510 ))))(screen←v48180, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c95776)+384)/* var←c87648 */  ))+54)
          ) ), pd510);
      };
SOURCE(38286, 34)
   {
      word pd511;
      pd511 = (* (( (ptr) (* (( (ptr) gf←c95776)+384)/* var←c87648 */  ))+69) );
      (void) ( *( (fPt) ((*  (ptr) pd511 ))))(screen←v48180, 2, pd511);
      };
SOURCE(38322, 139)
   {
      W2 var←c90912;
      W2 var←c90944;
      var←c90912.f0 = (* (( (ptr) (* (( (ptr) ggData←v48208)+17) ))+10) );
      var←c90912.f1 = (* (( (ptr) (* (( (ptr) ggData←v48208)+17) ))+11) );
      var←c90944.f0 = (* (( (ptr) (* (( (ptr) ggData←v48208)+17) ))+12) );
      var←c90944.f1 = (* (( (ptr) (* (( (ptr) ggData←v48208)+17) ))+13) );
      {
         word pd512;
         pd512 = (* (( (ptr) (* (( (ptr) gf←c95776)+384)/* var←c87648 */  ))+73) );
         (void) ( *( (fPt) ((*  (ptr) pd512 ))))(screen←v48180, var←c90912, var←c90944, pd512);
         };
      };
SOURCE(38463, 54)
   {
      word pd513;
      pd513 = (* (( (ptr) (* (( (ptr) gf←c95776)+403)/* var←c90272 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd513 ))))(screen←v48180, (*  (W2Pt) (( (ptr) (* (( (ptr) ggData←v48208)+17) ))+10) ), (*  (ptr) &fc153 ), pd513)
      ;
      };
   }

static void PaintAlign←P5580(screen←v48352, ggData←v48380, buffer←v48408, useBackingMap←v48436, bounds←v48464)
   word screen←v48352;
   word ggData←v48380;
   word buffer←v48408;
   word useBackingMap←v48436;
   word bounds←v48464;
   {
   register ptr gf←c95808 =  (ptr) &globalframe;
   /* PaintAlign: */ 
SOURCE(38523, 146)
SOURCE(38547, 122)
   if ((0 != (* (( (ptr) (* (( (ptr) ggData←v48380)+17) ))+1) ))) {
      }
   else {
SOURCE(38598, 71)
      {
         word pd514;
         pd514 = (* (( (ptr) (* (( (ptr) gf←c95808)+393)/* var←c88544 */  ))+48) );
         (void) ( *( (fPt) ((*  (ptr) pd514 ))))(screen←v48352, (* (( (ptr) (* (( (ptr) ggData←v48380)+18) ))+4) ), ggData←v48380, pd514)
         ;
         };
      };
   }

static void PaintPolylines←P5640(formal←c01217, formal←c01218, buffer←v48580, useBackingMap←v48608, bounds←v48636)
   word formal←c01217;
   word formal←c01218;
   word buffer←v48580;
   word useBackingMap←v48608;
   word bounds←v48636;
   {
   W8 var←c95840;
   /* declaration of screen←v48524 skipped */ 
   /* declaration of ggData←v48552 skipped */ 
   register ptr gf←c95872 =  (ptr) &globalframe;
   /* declaration of var←c90976 skipped */ 
   var←c95840.f4/* screen←v48524 */  = formal←c01217;
   var←c95840.f5/* ggData←v48552 */  = formal←c01218;
   /* PaintPolylines: */ 
SOURCE(38678, 324)
   {
      word tmpAddr515;
      tmpAddr515 = (word) (( (ptr) &var←c95840)+6)/* var←c90976 */ ;
      (*  (ptr) tmpAddr515 ) = ( ((word)  (fPt) PaintPolylinesAux←P11256) );
      (* (( (ptr) tmpAddr515) + 1) ) = 1;
      };
SOURCE(38706, 296)
   if ((0 != (* (( (ptr) (* (( (ptr) var←c95840.f5/* ggData←v48552 */ )+17) ))+1) ))) {
      }
   else {
SOURCE(38755, 249)
SOURCE(38962, 40)
      {
         word pd516;
         pd516 = (* (( (ptr) (* (( (ptr) gf←c95872)+384)/* var←c87648 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd516 ))))(var←c95840.f4/* screen←v48524 */ , (word) (( (bPt) &var←c95840)+24)/* var←c90976 */ , pd516)
         ;
         };
      };
   }

static void PaintPolylinesAux←P11256(formal←c95968)
   word formal←c95968;
   {
   W6 var←c95904;
   register ptr gf←c95936 =  (ptr) &globalframe;
   /* declaration of var←c91008 skipped */ 
   formal←c95968 = (formal←c95968 - 24);
   var←c95904.f0 = formal←c95968;
   /* PaintPolylinesAux: */ 
SOURCE(38757, 26)
   {
      word tmpAddr517;
      tmpAddr517 = (word) (( (ptr) &var←c95904)+4)/* var←c91008 */ ;
      (*  (ptr) tmpAddr517 ) = ( ((word)  (fPt) DoDrawPolyline←P11316) );
      (* (( (ptr) tmpAddr517) + 1) ) = 1;
      };
SOURCE(38891, 66)
   {
      word var←c91040;
      word pd518;
      pd518 = (* (( (ptr) (* (( (ptr) gf←c95936)+392)/* var←c88384 */  ))+31) );
      var←c91040 = (word) ( *( (fPt) ((*  (ptr) pd518 ))))((* (( (ptr) (* (( (ptr) formal←c95968)+5) ))+11) ), 1, (word) (( (bPt) &var←c95904)+16)
         /* var←c91008 */ , (* (( (ptr) gf←c95936)+76) ), pd518);
      };
   }

static word DoDrawPolyline←P11316(traj←v26724, formal←c96032)
   word traj←v26724;
   word formal←c96032;
   {
   register ptr gf←c96000 =  (ptr) &globalframe;
   word done←v26768;
   formal←c96032 = (formal←c96032 - 16);
   /* DoDrawPolyline: */ 
SOURCE(38785, 22)
SOURCE(38785, 22)
   done←v26768 = 0;
SOURCE(38853, 33)
   {
      word pd519;
      pd519 = (* (( (ptr) (* (( (ptr) gf←c96000)+405)/* var←c91072 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd519 ))))((* (( (ptr) (*  (ptr) formal←c96032 ))+4) ), traj←v26724, pd519);
      };
SOURCE(38785, 22)
   return(done←v26768);
   }

static void PaintBoundBoxes←P5700(formal←c01219, formal←c01220, buffer←v48752, useBackingMap←v48780, bounds←v48808)
   word formal←c01219;
   word formal←c01220;
   word buffer←v48752;
   word useBackingMap←v48780;
   word bounds←v48808;
   {
   W8 var←c96064;
   /* declaration of screen←v48696 skipped */ 
   /* declaration of ggData←v48724 skipped */ 
   register ptr gf←c96096 =  (ptr) &globalframe;
   /* declaration of var←c91104 skipped */ 
   var←c96064.f4/* screen←v48696 */  = formal←c01219;
   var←c96064.f5/* ggData←v48724 */  = formal←c01220;
   /* PaintBoundBoxes: */ 
SOURCE(39011, 358)
   {
      word tmpAddr520;
      tmpAddr520 = (word) (( (ptr) &var←c96064)+6)/* var←c91104 */ ;
      (*  (ptr) tmpAddr520 ) = ( ((word)  (fPt) PaintBoundBoxesAux←P11424) );
      (* (( (ptr) tmpAddr520) + 1) ) = 1;
      };
SOURCE(39040, 329)
   if ((0 != (* (( (ptr) (* (( (ptr) var←c96064.f5/* ggData←v48724 */ )+17) ))+1) ))) {
      }
   else {
SOURCE(39089, 282)
SOURCE(39328, 41)
      {
         word pd521;
         pd521 = (* (( (ptr) (* (( (ptr) gf←c96096)+384)/* var←c87648 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd521 ))))(var←c96064.f4/* screen←v48696 */ , (word) (( (bPt) &var←c96064)+24)/* var←c91104 */ , pd521)
         ;
         };
      };
   }

static void PaintBoundBoxesAux←P11424(formal←c96160)
   word formal←c96160;
   {
   register ptr gf←c96128 =  (ptr) &globalframe;
   word bBoxGen←v26856;
   formal←c96160 = (formal←c96160 - 24);
   /* PaintBoundBoxesAux: */ 
SOURCE(39091, 27)
SOURCE(39120, 68)
   {
      word pd522;
      pd522 = (* (( (ptr) (* (( (ptr) gf←c96128)+392)/* var←c88384 */  ))+40) );
      bBoxGen←v26856 = (word) ( *( (fPt) ((*  (ptr) pd522 ))))((* ((( (ptr) (* (( (ptr) formal←c96160)+5) ))+11)) ), pd522);
      };
SOURCE(39190, 124)
   {
      register word box←v26900;
      {
         word pd523;
         pd523 = (* (( (ptr) (* (( (ptr) gf←c96128)+392)/* var←c88384 */  ))+42) );
         box←v26900 = (word) ( *( (fPt) ((*  (ptr) pd523 ))))(bBoxGen←v26856, pd523);
         };
      lab←L100042: ;
      if ((box←v26900 != 0)) {
         }
      else {
         goto lab←L100039;
         };
SOURCE(39280, 34)
      {
         word pd524;
         pd524 = (* (( (ptr) (* (( (ptr) gf←c96128)+403)/* var←c90272 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd524 ))))((* (( (ptr) formal←c96160)+4) ), box←v26900, (*  (ptr) &fc153 ), pd524);
         };
      {
         word pd525;
         pd525 = (* (( (ptr) (* (( (ptr) gf←c96128)+392)/* var←c88384 */  ))+42) );
         box←v26900 = (word) ( *( (fPt) ((*  (ptr) pd525 ))))(bBoxGen←v26856, pd525);
         };
      goto lab←L100042;
      lab←L100039: ;
      };
   }

static void PaintTightBoxes←P5760(formal←c01221, formal←c01222, buffer←v48924, useBackingMap←v48952, bounds←v48980)
   word formal←c01221;
   word formal←c01222;
   word buffer←v48924;
   word useBackingMap←v48952;
   word bounds←v48980;
   {
   W8 var←c96192;
   /* declaration of screen←v48868 skipped */ 
   /* declaration of ggData←v48896 skipped */ 
   register ptr gf←c96224 =  (ptr) &globalframe;
   /* declaration of var←c91136 skipped */ 
   var←c96192.f4/* screen←v48868 */  = formal←c01221;
   var←c96192.f5/* ggData←v48896 */  = formal←c01222;
   /* PaintTightBoxes: */ 
SOURCE(39378, 408)
   {
      word tmpAddr526;
      tmpAddr526 = (word) (( (ptr) &var←c96192)+6)/* var←c91136 */ ;
      (*  (ptr) tmpAddr526 ) = ( ((word)  (fPt) PaintTightBoxesAux←P11580) );
      (* (( (ptr) tmpAddr526) + 1) ) = 1;
      };
SOURCE(39407, 379)
   if ((0 != (* (( (ptr) (* (( (ptr) var←c96192.f5/* ggData←v48896 */ )+17) ))+1) ))) {
      }
   else {
SOURCE(39456, 332)
SOURCE(39745, 41)
      {
         word pd527;
         pd527 = (* (( (ptr) (* (( (ptr) gf←c96224)+384)/* var←c87648 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd527 ))))(var←c96192.f4/* screen←v48868 */ , (word) (( (bPt) &var←c96192)+24)/* var←c91136 */ , pd527)
         ;
         };
      };
   }

static void PaintTightBoxesAux←P11580(formal←c96320)
   word formal←c96320;
   {
   W6 var←c96256;
   register ptr gf←c96288 =  (ptr) &globalframe;
   /* declaration of var←c91168 skipped */ 
   formal←c96320 = (formal←c96320 - 24);
   var←c96256.f0 = formal←c96320;
   /* PaintTightBoxesAux: */ 
SOURCE(39458, 27)
   {
      word tmpAddr528;
      tmpAddr528 = (word) (( (ptr) &var←c96256)+4)/* var←c91168 */ ;
      (*  (ptr) tmpAddr528 ) = ( ((word)  (fPt) DoDrawBox←P11640) );
      (* (( (ptr) tmpAddr528) + 1) ) = 1;
      };
SOURCE(39669, 71)
   {
      word var←c91200;
      word pd529;
      pd529 = (* (( (ptr) (* (( (ptr) gf←c96288)+392)/* var←c88384 */  ))+32) );
      var←c91200 = (word) ( *( (fPt) ((*  (ptr) pd529 ))))((* (( (ptr) (* (( (ptr) formal←c96320)+5) ))+11) ), 0, (word) (( (bPt) &var←c96256)+16)
         /* var←c91168 */ , 0, 0, pd529);
      };
   }

static word DoDrawBox←P11640(sliceD←v27080, formal←c96384)
   word sliceD←v27080;
   word formal←c96384;
   {
   register ptr gf←c96352 =  (ptr) &globalframe;
   word done←v27124;
   word box←v27152;
   formal←c96384 = (formal←c96384 - 16);
   /* DoDrawBox: */ 
SOURCE(39487, 17)
SOURCE(39487, 17)
   done←v27124 = 0;
SOURCE(39562, 66)
   {
      word pd530;
      pd530 = (* (( (ptr) (* (( (ptr) gf←c96352)+395)/* var←c88768 */  ))+9) );
      box←v27152 = (word) ( *( (fPt) ((*  (ptr) pd530 ))))((*  (ptr) sliceD←v27080 ), (* (( (ptr) sliceD←v27080)+1) ), pd530);
      };
SOURCE(39630, 34)
   {
      word pd531;
      pd531 = (* (( (ptr) (* (( (ptr) gf←c96352)+403)/* var←c90272 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd531 ))))((* (( (ptr) (*  (ptr) formal←c96384 ))+4) ), box←v27152, (*  (ptr) &fc153 ), pd531)
      ;
      };
SOURCE(39487, 17)
   return(done←v27124);
   }

static void PaintOutlineBoxes←P5820(formal←c01223, formal←c01224, buffer←v49096, useBackingMap←v49124, bounds←v49152)
   word formal←c01223;
   word formal←c01224;
   word buffer←v49096;
   word useBackingMap←v49124;
   word bounds←v49152;
   {
   W8 var←c96416;
   /* declaration of screen←v49040 skipped */ 
   /* declaration of ggData←v49068 skipped */ 
   register ptr gf←c96448 =  (ptr) &globalframe;
   /* declaration of var←c91232 skipped */ 
   var←c96416.f4/* screen←v49040 */  = formal←c01223;
   var←c96416.f5/* ggData←v49068 */  = formal←c01224;
   /* PaintOutlineBoxes: */ 
SOURCE(39796, 422)
   {
      word tmpAddr532;
      tmpAddr532 = (word) (( (ptr) &var←c96416)+6)/* var←c91232 */ ;
      (*  (ptr) tmpAddr532 ) = ( ((word)  (fPt) PaintBoundBoxesAux←P11748) );
      (* (( (ptr) tmpAddr532) + 1) ) = 1;
      };
SOURCE(39827, 391)
   if ((0 != (* (( (ptr) (* (( (ptr) var←c96416.f5/* ggData←v49068 */ )+17) ))+1) ))) {
      }
   else {
SOURCE(39876, 344)
SOURCE(40177, 41)
      {
         word pd533;
         pd533 = (* (( (ptr) (* (( (ptr) gf←c96448)+384)/* var←c87648 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd533 ))))(var←c96416.f4/* screen←v49040 */ , (word) (( (bPt) &var←c96416)+24)/* var←c91232 */ , pd533)
         ;
         };
      };
   }

static void PaintBoundBoxesAux←P11748(formal←c96544)
   word formal←c96544;
   {
   W6 var←c96480;
   register ptr gf←c96512 =  (ptr) &globalframe;
   /* declaration of var←c91264 skipped */ 
   formal←c96544 = (formal←c96544 - 24);
   var←c96480.f0 = formal←c96544;
   /* PaintBoundBoxesAux: */ 
SOURCE(39878, 27)
   {
      word tmpAddr534;
      tmpAddr534 = (word) (( (ptr) &var←c96480)+4)/* var←c91264 */ ;
      (*  (ptr) tmpAddr534 ) = ( ((word)  (fPt) DoDrawBox←P11808) );
      (* (( (ptr) tmpAddr534) + 1) ) = 1;
      };
SOURCE(40091, 81)
   {
      word var←c91296;
      word pd535;
      pd535 = (* (( (ptr) (* (( (ptr) gf←c96512)+392)/* var←c88384 */  ))+32) );
      var←c91296 = (word) ( *( (fPt) ((*  (ptr) pd535 ))))((* (( (ptr) (* (( (ptr) formal←c96544)+5) ))+11) ), 0, (word) (( (bPt) &var←c96480)+16)
         /* var←c91264 */ , 0, (* (( (ptr) gf←c96512)+74) ), pd535);
      };
   }

static word DoDrawBox←P11808(sliceD←v27332, formal←c96608)
   word sliceD←v27332;
   word formal←c96608;
   {
   register ptr gf←c96576 =  (ptr) &globalframe;
   word done←v27376;
   word bBox←v27404;
   formal←c96608 = (formal←c96608 - 16);
   /* DoDrawBox: */ 
SOURCE(39907, 17)
SOURCE(39907, 17)
   done←v27376 = 0;
SOURCE(39982, 67)
   {
      word pd536;
      pd536 = (* (( (ptr) (* (( (ptr) gf←c96576)+395)/* var←c88768 */  ))+7) );
      bBox←v27404 = (word) ( *( (fPt) ((*  (ptr) pd536 ))))((*  (ptr) sliceD←v27332 ), (* (( (ptr) sliceD←v27332)+1) ), pd536);
      };
SOURCE(40051, 35)
   {
      word pd537;
      pd537 = (* (( (ptr) (* (( (ptr) gf←c96576)+403)/* var←c90272 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd537 ))))((* (( (ptr) (*  (ptr) formal←c96608 ))+4) ), bBox←v27404, (*  (ptr) &fc153 ), pd537)
      ;
      };
SOURCE(39907, 17)
   return(done←v27376);
   }

static void PaintSelectionBox←P5880(formal←c01225, formal←c01226, buffer←v49268, useBackingMap←v49296, bounds←v49324)
   word formal←c01225;
   word formal←c01226;
   word buffer←v49268;
   word useBackingMap←v49296;
   word bounds←v49324;
   {
   W8 var←c96640;
   /* declaration of screen←v49212 skipped */ 
   /* declaration of ggData←v49240 skipped */ 
   register ptr gf←c96672 =  (ptr) &globalframe;
   /* declaration of var←c91328 skipped */ 
   var←c96640.f4/* screen←v49212 */  = formal←c01225;
   var←c96640.f5/* ggData←v49240 */  = formal←c01226;
   /* PaintSelectionBox: */ 
SOURCE(40227, 274)
   {
      word tmpAddr538;
      tmpAddr538 = (word) (( (ptr) &var←c96640)+6)/* var←c91328 */ ;
      (*  (ptr) tmpAddr538 ) = ( ((word)  (fPt) PaintSelectionBoxAux←P11916) );
      (* (( (ptr) tmpAddr538) + 1) ) = 1;
      };
SOURCE(40258, 243)
   if ((0 != (* (( (ptr) (* (( (ptr) var←c96640.f5/* ggData←v49240 */ )+17) ))+1) ))) {
      }
   else {
SOURCE(40307, 196)
SOURCE(40458, 43)
      {
         word pd539;
         pd539 = (* (( (ptr) (* (( (ptr) gf←c96672)+384)/* var←c87648 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd539 ))))(var←c96640.f4/* screen←v49212 */ , (word) (( (bPt) &var←c96640)+24)/* var←c91328 */ , pd539)
         ;
         };
      };
   }

static void PaintSelectionBoxAux←P11916(formal←c96736)
   word formal←c96736;
   {
   register ptr gf←c96704 =  (ptr) &globalframe;
   word box←v27508;
   formal←c96736 = (formal←c96736 - 24);
   /* PaintSelectionBoxAux: */ 
SOURCE(40309, 29)
SOURCE(40340, 56)
   {
      word pd540;
      pd540 = (* (( (ptr) (* (( (ptr) gf←c96704)+392)/* var←c88384 */  ))+45) );
      box←v27508 = (word) ( *( (fPt) ((*  (ptr) pd540 ))))((* (( (ptr) (* (( (ptr) formal←c96736)+5) ))+11) ), 0, 0, pd540);
      };
SOURCE(40398, 55)
   if ((0 == (* (( (ptr) box←v27508)+4) ))) {
SOURCE(40419, 34)
      {
         word pd541;
         pd541 = (* (( (ptr) (* (( (ptr) gf←c96704)+403)/* var←c90272 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd541 ))))((* (( (ptr) formal←c96736)+4) ), box←v27508, (*  (ptr) &fc153 ), pd541);
         };
      };
   }

static word MovingPart←P5940(slice←v16616, selectedParts←v16644, editConstraints←v16672, bezierDrag←v16700, type←v16728)
   word slice←v16616;
   word selectedParts←v16644;
   word editConstraints←v16672;
   W5 bezierDrag←v16700;
   word type←v16728;
   {
   register ptr gf←c96768 =  (ptr) &globalframe;
   word var←c16772;
   /* MovingPart: */ 
SOURCE(40570, 590)
SOURCE(40745, 415)
   {
      word var←c91392;
      var←c91392 = type←v16728;
      switch (var←c91392) {
         case 0: 
            {
               word var←c01133;
               W4 var←c0808;
               {
                  word pd542;
                  pd542 = (* (( (ptr) (* (( (ptr) gf←c96768)+395)/* var←c88768 */  ))+32) );
                  (void) ( *( (fPt) ((*  (ptr) pd542 ))))((word) &var←c0808, slice←v16616, selectedParts←v16644, editConstraints←v16672, bezierDrag←v16700, pd542)
                  ;
                  };
               var←c01133 = var←c0808.f0;
               return(var←c01133);
               };
         case 1: 
            {
               word var←c01134;
               W4 var←c0809;
               {
                  word pd543;
                  pd543 = (* (( (ptr) (* (( (ptr) gf←c96768)+395)/* var←c88768 */  ))+32) );
                  (void) ( *( (fPt) ((*  (ptr) pd543 ))))((word) &var←c0809, slice←v16616, selectedParts←v16644, editConstraints←v16672, bezierDrag←v16700, pd543)
                  ;
                  };
               var←c01134 = var←c0809.f1;
               return(var←c01134);
               };
         case 2: 
            {
               word var←c01135;
               W4 var←c0810;
               {
                  word pd544;
                  pd544 = (* (( (ptr) (* (( (ptr) gf←c96768)+395)/* var←c88768 */  ))+32) );
                  (void) ( *( (fPt) ((*  (ptr) pd544 ))))((word) &var←c0810, slice←v16616, selectedParts←v16644, editConstraints←v16672, bezierDrag←v16700, pd544)
                  ;
                  };
               var←c01135 = var←c0810.f2;
               return(var←c01135);
               };
         case 3: 
            {
               word var←c01136;
               W4 var←c0811;
               {
                  word pd545;
                  pd545 = (* (( (ptr) (* (( (ptr) gf←c96768)+395)/* var←c88768 */  ))+32) );
                  (void) ( *( (fPt) ((*  (ptr) pd545 ))))((word) &var←c0811, slice←v16616, selectedParts←v16644, editConstraints←v16672, bezierDrag←v16700, pd545)
                  ;
                  };
               var←c01136 = var←c0811.f3;
               return(var←c01136);
               };
         default: 
            return((
               XR←RaiseUnnamedError(), 0
               ));
         };
      };
   }

static void DrawMovingBox←P6000(screen←v16832, ggData←v16860, type←v16888)
   word screen←v16832;
   word ggData←v16860;
   word type←v16888;
   {
   register ptr gf←c96800 =  (ptr) &globalframe;
   /* DrawMovingBox: */ 
SOURCE(41166, 239)
SOURCE(41253, 152)
   if ((0 != (* (( (ptr) (* (( (ptr) ggData←v16860)+17) ))+1) ))) {
      }
   else {
SOURCE(41302, 105)
      {
         word box←v27552;
SOURCE(41304, 44)
         box←v27552 = (word) MovingBoundBox←P3300(ggData←v16860, type←v16888, 0);
SOURCE(41350, 55)
         if ((0 == (* (( (ptr) box←v27552)+4) ))) {
SOURCE(41371, 34)
            {
               word pd546;
               pd546 = (* (( (ptr) (* (( (ptr) gf←c96800)+403)/* var←c90272 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd546 ))))(screen←v16832, box←v27552, (*  (ptr) &fc153 ), pd546);
               };
            };
         };
      };
   }

static void SnapShot←P6060(dc←v16948, ggData←v16976)
   word dc←v16948;
   word ggData←v16976;
   {
   W4 boundRect←v27596;
   /* SnapShot: */ 
SOURCE(44000, 215)
SOURCE(44063, 66)
   boundRect←v27596.f0 = (*  (ptr) &fc151 );
   boundRect←v27596.f1 = (*  (ptr) &fc151 );
   {
      word x547;
      word x548;
      *(float*)&boundRect←v27596.f2 = (
         x547 = (*  (ptr) &fc155 ),  *(float*)&x547
         ) * (
         x548 = (*  (ptr) &fc157 ),  *(float*)&x548
         );
      };
   {
      word x549;
      word x550;
      *(float*)&boundRect←v27596.f3 = (
         x549 = (*  (ptr) &fc160 ),  *(float*)&x549
         ) * (
         x550 = (*  (ptr) &fc157 ),  *(float*)&x550
         );
      };
SOURCE(44141, 30)
   (void) SnapshotBackground←P6120(dc←v16948, ggData←v16976);
SOURCE(44173, 42)
   {
      word var←c91456;
      var←c91456 = (word) RefreshOverlay←P1380(dc←v16948, boundRect←v27596, ggData←v16976);
      };
   }

static void SnapshotBackground←P6120(formal←c01227, ggData←v17064)
   word formal←c01227;
   word ggData←v17064;
   {
   W8 var←c96832;
   /* declaration of dc←v17036 skipped */ 
   register ptr gf←c96864 =  (ptr) &globalframe;
   /* declaration of var←c91488 skipped */ 
   word scene←v27640;
   /* declaration of camera←v27668 skipped */ 
   word scale←v27696;
   var←c96832.f4/* dc←v17036 */  = formal←c01227;
   /* SnapshotBackground: */ 
SOURCE(44274, 771)
   {
      word tmpAddr551;
      tmpAddr551 = (word) (( (ptr) &var←c96832)+5)/* var←c91488 */ ;
      (*  (ptr) tmpAddr551 ) = ( ((word)  (fPt) DoDrawParts←P12024) );
      (* (( (ptr) tmpAddr551) + 1) ) = 1;
      };
SOURCE(44340, 27)
   scene←v27640 = (* (( (ptr) ggData←v17064)+11) );
SOURCE(44369, 30)
   var←c96832.f7/* camera←v27668 */  = (* (( (ptr) ggData←v17064)+15) );
SOURCE(44401, 53)
   {
      word x552;
      word pd553;
      word x554;
      pd553 = (* (( (ptr) (* (( (ptr) gf←c96864)+386)/* var←c87776 */  ))+11) );
      *(float*)&scale←v27696 = (
         x552 = (*  (ptr) &fc153 ),  *(float*)&x552
         ) / (
         x554 = (word) ( *( (fPt) ((*  (ptr) pd553 ))))(ggData←v17064, pd553),  *(float*)&x554
         );
      };
SOURCE(44614, 50)
   {
      word var←c91520;
      word pd555;
      pd555 = (* (( (ptr) (* (( (ptr) gf←c96864)+392)/* var←c88384 */  ))+31) );
      var←c91520 = (word) ( *( (fPt) ((*  (ptr) pd555 ))))(scene←v27640, 0, (word) (( (bPt) &var←c96832)+20)/* var←c91488 */ , 0, pd555)
      ;
      };
SOURCE(44666, 94)
   (void) DrawAttractorFeedback←P4680(var←c96832.f4/* dc←v17036 */ , ggData←v17064, (* (( (ptr) (* (( (ptr) ggData←v17064)+17)
          ))+8) ), (* (( (ptr) (* (( (ptr) ggData←v17064)+17) ))+9) ));
SOURCE(44762, 30)
   {
      word pd556;
      pd556 = (* (( (ptr) (* (( (ptr) gf←c96864)+393)/* var←c88544 */  ))+45) );
      (void) ( *( (fPt) ((*  (ptr) pd556 ))))(ggData←v17064, pd556);
      };
SOURCE(44876, 67)
   {
      word pd557;
      pd557 = (* (( (ptr) (* (( (ptr) gf←c96864)+393)/* var←c88544 */  ))+48) );
      (void) ( *( (fPt) ((*  (ptr) pd557 ))))(var←c96832.f4/* dc←v17036 */ , (* (( (ptr) (* (( (ptr) ggData←v17064)+18) ))+4) ), ggData←v17064, pd557)
      ;
      };
SOURCE(44945, 48)
   (void) DrawCaret←P5280(var←c96832.f4/* dc←v17036 */ , (* (( (ptr) ggData←v17064)+13) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c96864)+384)
         /* var←c87648 */  ))+54) ) ), scale←v27696);
SOURCE(44995, 50)
   (void) DrawAnchor←P5340(var←c96832.f4/* dc←v17036 */ , (* (( (ptr) ggData←v17064)+14) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c96864)+384)
         /* var←c87648 */  ))+54) ) ), scale←v27696);
   }

static word DoDrawParts←P12024(slice←v27800, formal←c96928)
   word slice←v27800;
   word formal←c96928;
   {
   register ptr gf←c96896 =  (ptr) &globalframe;
   word done←v27844;
   formal←c96928 = (formal←c96928 - 20);
   /* DoDrawParts: */ 
SOURCE(44456, 153)
SOURCE(44456, 153)
   done←v27844 = 0;
SOURCE(44522, 87)
   if ((0 != (* (( (ptr) slice←v27800)+17) ))) {
SOURCE(44546, 12)
      return(done←v27844);
      }
   else {
SOURCE(44558, 51)
      {
         word pd558;
         pd558 = (* (( (ptr) (* (( (ptr) gf←c96896)+395)/* var←c88768 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd558 ))))(slice←v27800, 0, (* (( (ptr) formal←c96928)+4) ), (* (( (ptr) formal←c96928)+7) ), 0, pd558)
         ;
         };
      };
SOURCE(44456, 153)
   return(done←v27844);
   }

static void InterpressEntireScene←P6180(dc←v17124, ggData←v17152, bBox←v17180)
   word dc←v17124;
   word ggData←v17152;
   word bBox←v17180;
   {
   /* InterpressEntireScene: */ 
SOURCE(45184, 151)
SOURCE(45276, 59)
   (void) PaintSceneWithCamera←P6240(dc←v17124, (* (( (ptr) ggData←v17152)+11) ), (* (( (ptr) ggData←v17152)+15) ), bBox←v17180)
   ;
   }

static void PaintSceneWithCamera←P6240(formal←c01228, formal←c01229, formal←c01230, formal←c01231)
   word formal←c01228;
   word formal←c01229;
   word formal←c01230;
   word formal←c01231;
   {
   W10 var←c96960;
   /* declaration of dc←v17240 skipped */ 
   /* declaration of scene←v17268 skipped */ 
   /* declaration of camera←v17296 skipped */ 
   /* declaration of bBox←v17324 skipped */ 
   register ptr gf←c96992 =  (ptr) &globalframe;
   /* declaration of var←c91552 skipped */ 
   (* (( (ptr) &var←c96960)+4)/* dc←v17240 */  ) = formal←c01228;
   (* (( (ptr) &var←c96960)+5)/* scene←v17268 */  ) = formal←c01229;
   (* (( (ptr) &var←c96960)+6)/* camera←v17296 */  ) = formal←c01230;
   (* (( (ptr) &var←c96960)+7)/* bBox←v17324 */  ) = formal←c01231;
   /* PaintSceneWithCamera: */ 
SOURCE(45340, 1092)
   {
      word tmpAddr559;
      tmpAddr559 = (word) (( (ptr) &var←c96960)+8)/* var←c91552 */ ;
      (*  (ptr) tmpAddr559 ) = ( ((word)  (fPt) DrawClipped←P12084) );
      (* (( (ptr) tmpAddr559) + 1) ) = 1;
      };
SOURCE(46402, 30)
   {
      word pd560;
      pd560 = (* (( (ptr) (* (( (ptr) gf←c96992)+384)/* var←c87648 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd560 ))))((* (( (ptr) &var←c96960)+4)/* dc←v17240 */  ), (word) (( (bPt) &var←c96960)+32)/* var←c91552 */ , pd560)
      ;
      };
   }

static void DrawClipped←P12084(formal←c97088)
   word formal←c97088;
   {
   W6 var←c97024;
   register ptr gf←c97056 =  (ptr) &globalframe;
   /* declaration of var←c91584 skipped */ 
   word color←v27960;
   formal←c97088 = (formal←c97088 - 32);
   var←c97024.f0 = formal←c97088;
   /* DrawClipped: */ 
SOURCE(45451, 946)
   {
      word tmpAddr561;
      tmpAddr561 = (word) (( (ptr) &var←c97024)+4)/* var←c91584 */ ;
      (*  (ptr) tmpAddr561 ) = ( ((word)  (fPt) DoDrawObject←P12144) );
      (* (( (ptr) tmpAddr561) + 1) ) = 1;
      };
SOURCE(45674, 48)
   {
      word pd562;
      pd562 = (* (( (ptr) (* (( (ptr) gf←c97056)+392)/* var←c88384 */  ))+17) );
      color←v27960 = (word) ( *( (fPt) ((*  (ptr) pd562 ))))((* ((( (ptr) formal←c97088)+5)) ), pd562);
      };
SOURCE(45724, 44)
   if (((* (( (ptr) formal←c97088)+7) ) != 0)) {
SOURCE(45743, 25)
      {
         word pd563;
         pd563 = (* (( (ptr) (* (( (ptr) gf←c97056)+382)/* var←c87584 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd563 ))))((* (( (ptr) formal←c97088)+4) ), (* (( (ptr) formal←c97088)+7) ), pd563);
         };
      };
SOURCE(45770, 538)
   if ((color←v27960 != 0)) {
SOURCE(45788, 520)
SOURCE(45790, 116)
      {
         word var←c91616;
         var←c91616 = color←v27960;
         if ((var←c91616 == 0)) {
            goto lab←L100044;
            };
         if (((*  (ptr) var←c91616 ) == 0)) {
            {
               word cc←v28108;
               cc←v28108 = var←c91616;
SOURCE(45846, 60)
               {
                  word pd564;
                  pd564 = (* (( (ptr) (* (( (ptr) gf←c97056)+394)/* var←c88640 */  ))+29) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd564 ))))((* (( (ptr) gf←c97056)+11)/* ccWhite←v8544 */  ), cc←v28108, pd564))) {
SOURCE(45906, 17)
                     goto lab←L100043;
                     };
                  };
               };
            }
         else {
            lab←L100044: ;
            };
         };
SOURCE(45934, 341)
      {
         word box←v28152;
SOURCE(45940, 46)
         {
            word pd565;
            pd565 = (* (( (ptr) (* (( (ptr) gf←c97056)+392)/* var←c88384 */  ))+43) );
            box←v28152 = (word) ( *( (fPt) ((*  (ptr) pd565 ))))((* ((( (ptr) formal←c97088)+5)) ), pd565);
            };
SOURCE(45988, 37)
         {
            word pd566;
            pd566 = (* (( (ptr) (* (( (ptr) gf←c97056)+382)/* var←c87584 */  ))+17) );
            (void) ( *( (fPt) ((*  (ptr) pd566 ))))(box←v28152, (*  (ptr) &fc157 ), pd566);
            };
SOURCE(46027, 47)
         {
            word pd567;
            pd567 = (* (( (ptr) (* (( (ptr) gf←c97056)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd567 ))))(box←v28152, (* (( (ptr) gf←c97056)+12)/* pageBox←v8572 */  ), pd567);
            };
SOURCE(46076, 85)
         if ( ( ((* (( (ptr) formal←c97088)+7) ) != 0) ? (0 == (* (( (ptr) (* (( (ptr) formal←c97088)+7) ))+5) )) : 0 ) ) {
SOURCE(46117, 44)
            {
               word pd568;
               pd568 = (* (( (ptr) (* (( (ptr) gf←c97056)+382)/* var←c87584 */  ))+14) );
               (void) ( *( (fPt) ((*  (ptr) pd568 ))))(box←v28152, (* (( (ptr) formal←c97088)+7) ), pd568);
               };
            };
SOURCE(46163, 26)
         {
            word pd569;
            pd569 = (* (( (ptr) (* (( (ptr) gf←c97056)+384)/* var←c87648 */  ))+52) );
            (void) ( *( (fPt) ((*  (ptr) pd569 ))))((* (( (ptr) formal←c97088)+4) ), color←v27960, pd569);
            };
SOURCE(46191, 82)
         {
            W4 var←c91648;
            var←c91648.f0 = (*  (ptr) box←v28152 );
            var←c91648.f1 = (* (( (ptr) box←v28152)+1) );
            {
               word x570;
               word x571;
               *(float*)&var←c91648.f2 = (
                  x570 = (* (( (ptr) box←v28152)+2) ),  *(float*)&x570
                  ) - (
                  x571 = (*  (ptr) box←v28152 ),  *(float*)&x571
                  );
               };
            {
               word x572;
               word x573;
               *(float*)&var←c91648.f3 = (
                  x572 = (* (( (ptr) box←v28152)+3) ),  *(float*)&x572
                  ) - (
                  x573 = (* (( (ptr) box←v28152)+1) ),  *(float*)&x573
                  );
               };
            {
               word pd574;
               pd574 = (* (( (ptr) (* (( (ptr) gf←c97056)+384)/* var←c87648 */  ))+65) );
               (void) ( *( (fPt) ((*  (ptr) pd574 ))))((* (( (ptr) formal←c97088)+4) ), var←c91648, pd574);
               };
            };
         };
      goto lab←L100045;
      lab←L100043: ;
      lab←L100045: ;
      };
SOURCE(46311, 33)
   {
      word pd575;
      pd575 = (* (( (ptr) (* (( (ptr) gf←c97056)+384)/* var←c87648 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd575 ))))((* (( (ptr) formal←c97088)+4) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c97056)+384)
            /* var←c87648 */  ))+54) ) ), pd575);
      };
SOURCE(46346, 51)
   {
      word var←c91680;
      word pd576;
      pd576 = (* (( (ptr) (* (( (ptr) gf←c97056)+392)/* var←c88384 */  ))+31) );
      var←c91680 = (word) ( *( (fPt) ((*  (ptr) pd576 ))))((* (( (ptr) formal←c97088)+5) ), 0, (word) (( (bPt) &var←c97024)+16)
         /* var←c91584 */ , 0, pd576);
      };
   }

static word DoDrawObject←P12144(slice←v28036, formal←c97152)
   word slice←v28036;
   word formal←c97152;
   {
   register ptr gf←c97120 =  (ptr) &globalframe;
   word done←v28080;
   word var←c91712;
   formal←c97152 = (formal←c97152 - 16);
   /* DoDrawObject: */ 
SOURCE(45473, 196)
SOURCE(45473, 196)
   done←v28080 = 0;
SOURCE(45540, 129)
   if (((* (( (ptr) (*  (ptr) formal←c97152 ))+7) ) == 0)) { goto then0577;};
   {
      word pd578;
      pd578 = (* (( (ptr) (* (( (ptr) gf←c97120)+395)/* var←c88768 */  ))+7) );
      var←c91712 = (word) ( *( (fPt) ((*  (ptr) pd578 ))))(slice←v28036, 0, pd578);
      };
   if ((0 == (word) OutsideOf←P5160(var←c91712, (* (( (ptr) (*  (ptr) formal←c97152 ))+7) )))) {
      then0577: ;
SOURCE(45618, 51)
      {
         word pd579;
         pd579 = (* (( (ptr) (* (( (ptr) gf←c97120)+395)/* var←c88768 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd579 ))))(slice←v28036, 0, (* (( (ptr) (*  (ptr) formal←c97152 ))+4) ), (* (( (ptr) (*  (ptr) formal←c97152 ))+6)
             ), 0, pd579);
         };
      };
SOURCE(45473, 196)
   return(done←v28080);
   }

static void MoveToOverlay←P6300(sliceD←v17384, ggData←v17412)
   word sliceD←v17384;
   word ggData←v17412;
   {
   register ptr gf←c97184 =  (ptr) &globalframe;
   /* MoveToOverlay: */ 
SOURCE(46439, 292)
SOURCE(46512, 34)
   if ((0 != (word) OnOverlay←P6600(sliceD←v17384, ggData←v17412))) {
SOURCE(46546, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(46553, 29)
   (* (( (ptr) (*  (ptr) sliceD←v17384 ))+17) ) = 1;
SOURCE(46584, 106)
   {
      word var←c91744;
      {
         word var←c91776;
         word var←c91808;
         var←c91776 = XR←NewObject(8, (* (( (ptr) gf←c97184)+20) ));
         var←c91808 = var←c91776;
         (*  (ptr) var←c91808 ) = sliceD←v17384;
         var←c91744 = var←c91776;
         };
      {
         word pd580;
         pd580 = (* (( (ptr) (* (( (ptr) gf←c97184)+404)/* var←c90368 */  ))+17) );
         (* (( (ptr) (* (( (ptr) ggData←v17412)+17) ))+14) ) = (word) ( *( (fPt) ((*  (ptr) pd580 ))))(var←c91744, (* (( (ptr) (* (
                  ( (ptr) ggData←v17412)+17) ))+14) ), pd580);
         };
      };
SOURCE(46692, 39)
   (* (( (ptr) (* (( (ptr) ggData←v17412)+17) ))+15) ) = 0;
   }

static void MoveAllSelectedToOverlay←P6360(formal←c01232, selectClass←v17500)
   word formal←c01232;
   word selectClass←v17500;
   {
   W7 var←c97216;
   /* declaration of ggData←v17472 skipped */ 
   register ptr gf←c97248 =  (ptr) &globalframe;
   /* declaration of var←c91840 skipped */ 
   var←c97216.f4/* ggData←v17472 */  = formal←c01232;
   /* MoveAllSelectedToOverlay: */ 
SOURCE(46737, 285)
   {
      word tmpAddr581;
      tmpAddr581 = (word) (( (ptr) &var←c97216)+5)/* var←c91840 */ ;
      (*  (ptr) tmpAddr581 ) = ( ((word)  (fPt) DoMoveToOverlay←P12300) );
      (* (( (ptr) tmpAddr581) + 1) ) = 1;
      };
SOURCE(46940, 82)
   {
      word var←c91872;
      word pd582;
      pd582 = (* (( (ptr) (* (( (ptr) gf←c97248)+392)/* var←c88384 */  ))+32) );
      var←c91872 = (word) ( *( (fPt) ((*  (ptr) pd582 ))))((* (( (ptr) var←c97216.f4/* ggData←v17472 */ )+11) ), 0, (word) (( (bPt) &var←c97216)+20)
         /* var←c91840 */ , selectClass←v17500, 0, pd582);
      };
   }

static word DoMoveToOverlay←P12300(sliceD←v28272, formal←c97280)
   word sliceD←v28272;
   word formal←c97280;
   {
   word done←v28316;
   formal←c97280 = (formal←c97280 - 20);
   /* DoMoveToOverlay: */ 
SOURCE(46825, 110)
SOURCE(46825, 110)
   done←v28316 = 0;
SOURCE(46906, 29)
   (void) MoveToOverlay←P6300(sliceD←v28272, (* (( (ptr) formal←c97280)+4) ));
SOURCE(46825, 110)
   return(done←v28316);
   }

static void MoveToBackground←P6420(sliceD←v17560, ggData←v17588)
   word sliceD←v17560;
   word ggData←v17588;
   {
   register ptr gf←c97312 =  (ptr) &globalframe;
   /* MoveToBackground: */ 
SOURCE(47028, 299)
SOURCE(47104, 44)
   if ((0 == (word) OnOverlay←P6600(sliceD←v17560, ggData←v17588))) {
SOURCE(47142, 6)
      return;
      };
SOURCE(47150, 104)
   {
      word pd583;
      pd583 = (* (( (ptr) (* (( (ptr) gf←c97312)+404)/* var←c90368 */  ))+18) );
      (* (( (ptr) (* (( (ptr) ggData←v17588)+17) ))+14) ) = (word) ( *( (fPt) ((*  (ptr) pd583 ))))(sliceD←v17560, (* (( (ptr) (* (
               ( (ptr) ggData←v17588)+17) ))+14) ), pd583);
      };
SOURCE(47256, 30)
   (* (( (ptr) (*  (ptr) sliceD←v17560 ))+17) ) = 0;
SOURCE(47288, 39)
   (* (( (ptr) (* (( (ptr) ggData←v17588)+17) ))+15) ) = 0;
   }

static void MoveOverlayToBackground←P6480(ggData←v17648)
   word ggData←v17648;
   {
   /* MoveOverlayToBackground: */ 
SOURCE(47333, 298)
SOURCE(47391, 156)
   {
      register word overlayList←v28344;
      overlayList←v28344 = (* (( (ptr) (* (( (ptr) ggData←v17648)+17) ))+14) );
      lab←L100049: ;
      if ((overlayList←v28344 != 0)) {
         }
      else {
         goto lab←L100046;
         };
SOURCE(47506, 41)
      (* (( (ptr) (*  (ptr) (*  (ptr) overlayList←v28344 ) ))+17) ) = 0;
      overlayList←v28344 = (* (( (ptr) overlayList←v28344)+1) );
      goto lab←L100049;
      lab←L100046: ;
      };
SOURCE(47558, 32)
   (* (( (ptr) (* (( (ptr) ggData←v17648)+17) ))+14) ) = 0;
SOURCE(47592, 39)
   (* (( (ptr) (* (( (ptr) ggData←v17648)+17) ))+15) ) = 0;
   }

static word EmptyOverlay←P6540(ggData←v17708)
   word ggData←v17708;
   {
   word var←c17752;
   /* EmptyOverlay: */ 
SOURCE(47637, 102)
SOURCE(47699, 40)
   return( (unsigned) ((* (( (ptr) (* (( (ptr) ggData←v17708)+17) ))+14) ) == 0));
   }

static word OnOverlay←P6600(sliceD←v17812, ggData←v17840)
   word sliceD←v17812;
   word ggData←v17840;
   {
   word var←c17884;
   /* OnOverlay: */ 
SOURCE(47745, 107)
SOURCE(47822, 30)
   return((* (( (ptr) (*  (ptr) sliceD←v17812 ))+17) ));
   }

static word OrderOverlayList←P6660(formal←c01233)
   word formal←c01233;
   {
   W11 var←c97344;
   /* declaration of ggData←v17944 skipped */ 
   register ptr gf←c97376 =  (ptr) &globalframe;
   /* declaration of orderedList←v17988 skipped */ 
   /* declaration of var←c91904 skipped */ 
   /* declaration of var←c91936 skipped */ 
   /* declaration of finger←v28528 skipped */ 
   (* (( (ptr) &var←c97344)+4)/* ggData←v17944 */  ) = formal←c01233;
   /* OrderOverlayList: */ 
SOURCE(47858, 778)
   {
      word tmpAddr584;
      tmpAddr584 = (word) (( (ptr) &var←c97344)+6)/* var←c91904 */ ;
      (*  (ptr) tmpAddr584 ) = ( ((word)  (fPt) DoBuildList←P12468) );
      (* (( (ptr) tmpAddr584) + 1) ) = 1;
      };
   {
      word tmpAddr585;
      tmpAddr585 = (word) (( (ptr) &var←c97344)+8)/* var←c91936 */ ;
      (*  (ptr) tmpAddr585 ) = ( ((word)  (fPt) FindOverlayedD←P12408) );
      (* (( (ptr) tmpAddr585) + 1) ) = 1;
      };
SOURCE(47858, 778)
   (* (( (ptr) &var←c97344)+5)/* orderedList←v17988 */  ) = 0;
SOURCE(48484, 8)
   (* (( (ptr) &var←c97344)+10)/* finger←v28528 */  ) = 0;
SOURCE(48517, 60)
   {
      W2 var←c91968;
      {
         word pd586;
         pd586 = (* (( (ptr) (* (( (ptr) gf←c97376)+404)/* var←c90368 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd586 ))))((word) (&var←c91968), pd586);
         };
      (* (( (ptr) &var←c97344)+10)/* finger←v28528 */  ) = var←c91968.f1;
      (* (( (ptr) &var←c97344)+5)/* orderedList←v17988 */  ) = var←c91968.f0;
      };
SOURCE(48579, 57)
   {
      word var←c92000;
      word pd587;
      pd587 = (* (( (ptr) (* (( (ptr) gf←c97376)+392)/* var←c88384 */  ))+31) );
      var←c92000 = (word) ( *( (fPt) ((*  (ptr) pd587 ))))((* (( (ptr) (* (( (ptr) &var←c97344)+4)/* ggData←v17944 */  ))+11) ), 0, (word) (
            ( (bPt) &var←c97344)+24)/* var←c91904 */ , 0, pd587);
      };
SOURCE(47858, 778)
   return((* (( (ptr) &var←c97344)+5)/* orderedList←v17988 */  ));
   }

static word FindOverlayedD←P12408(slice←v28604, formal←c97408)
   word slice←v28604;
   word formal←c97408;
   {
   word sliceD←v28648;
   formal←c97408 = (formal←c97408 - 32);
   /* FindOverlayedD: */ 
SOURCE(47949, 227)
SOURCE(47949, 227)
   sliceD←v28648 = 0;
SOURCE(48023, 131)
   {
      register word ov←v28864;
      ov←v28864 = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c97408)+4) ))+17) ))+14) );
      lab←L100053: ;
      if ((ov←v28864 != 0)) {
         }
      else {
         goto lab←L100050;
         };
SOURCE(48109, 45)
      if (((*  (ptr) (*  (ptr) ov←v28864 ) ) == slice←v28604)) {
SOURCE(48138, 16)
         return((*  (ptr) ov←v28864 ));
         };
      ov←v28864 = (* (( (ptr) ov←v28864)+1) );
      goto lab←L100053;
      lab←L100050: ;
      };
SOURCE(48165, 11)
   return(0);
   }

static word DoBuildList←P12468(slice←v28708, formal←c97472)
   word slice←v28708;
   word formal←c97472;
   {
   register ptr gf←c97440 =  (ptr) &globalframe;
   word done←v28752;
   formal←c97472 = (formal←c97472 - 24);
   /* DoBuildList: */ 
SOURCE(48181, 295)
SOURCE(48181, 295)
   done←v28752 = 0;
SOURCE(48247, 229)
   if ((0 != (* (( (ptr) slice←v28708)+17) ))) {
SOURCE(48271, 207)
      {
         word sliceD←v28992;
SOURCE(48273, 47)
         sliceD←v28992 = (word) FindOverlayedD←P12408(slice←v28708, (word) (( (bPt) formal←c97472)+32));
SOURCE(48322, 71)
         if ((sliceD←v28992 == 0)) {
SOURCE(48343, 50)
            {
               word pd588;
               pd588 = (* (( (ptr) (* (( (ptr) gf←c97440)+395)/* var←c88768 */  ))+29) );
               sliceD←v28992 = (word) ( *( (fPt) ((*  (ptr) pd588 ))))(slice←v28708, 0, 7, pd588);
               };
            };
SOURCE(48395, 81)
         {
            W2 var←c92032;
            {
               word pd589;
               pd589 = (* (( (ptr) (* (( (ptr) gf←c97440)+404)/* var←c90368 */  ))+16) );
               (void) ( *( (fPt) ((*  (ptr) pd589 ))))((word) &var←c92032, sliceD←v28992, (* (( (ptr) formal←c97472)+5) ), (* (( (ptr) formal←c97472)+10)
                   ), pd589);
               };
            (* (( (ptr) formal←c97472)+10) ) = var←c92032.f1;
            (* (( (ptr) formal←c97472)+5) ) = var←c92032.f0;
            };
         };
      };
SOURCE(48181, 295)
   return(done←v28752);
   }

static void AdjustContextForDrawBits←P6720(dc←v18132, ggData←v18160)
   word dc←v18132;
   word ggData←v18160;
   {
   register ptr gf←c97504 =  (ptr) &globalframe;
   word viewerToClient←v29036;
   W2 var←c0886;
   /* AdjustContextForDrawBits: */ 
SOURCE(48641, 203)
SOURCE(48713, 95)
   {
      word pd590;
      pd590 = (* (( (ptr) (* (( (ptr) gf←c97504)+386)/* var←c87776 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd590 ))))((word) &var←c0886, ggData←v18160, pd590);
      };
   viewerToClient←v29036 = var←c0886.f1;
SOURCE(48810, 34)
   {
      word pd591;
      pd591 = (* (( (ptr) (* (( (ptr) gf←c97504)+384)/* var←c87648 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd591 ))))(dc←v18132, viewerToClient←v29036, pd591);
      };
   }

static void SetStartBox←P6780(ggData←v18220, dragInProgress←v18248, caret←v18276, anchor←v18304, selectedParts←v18332, movingParts←v18360, selectedCPs←v18388, hotCPs←v18416, attractor←v18444, alignments←v18472)
   word ggData←v18220;
   word dragInProgress←v18248;
   word caret←v18276;
   word anchor←v18304;
   word selectedParts←v18332;
   word movingParts←v18360;
   word selectedCPs←v18388;
   word hotCPs←v18416;
   word attractor←v18444;
   word alignments←v18472;
   {
   /* SetStartBox: */ 
SOURCE(48850, 340)
SOURCE(49019, 171)
   (* (( (ptr) (* (( (ptr) ggData←v18220)+17) ))+20) ) = (word) GetABox←P7020(ggData←v18220, dragInProgress←v18248, caret←v18276, anchor←v18304, selectedParts←v18332, movingParts←v18360
      , selectedCPs←v18388, hotCPs←v18416, attractor←v18444, alignments←v18472, (* (( (ptr) (* (( (ptr) ggData←v18220)+17) ))+20)
       ));
   }

static void EnlargeStartBox←P6840(ggData←v18532, by←v18560, andBy←v18588)
   word ggData←v18532;
   word by←v18560;
   word andBy←v18588;
   {
   register ptr gf←c97536 =  (ptr) &globalframe;
   /* EnlargeStartBox: */ 
SOURCE(49196, 215)
SOURCE(49267, 68)
   if ((by←v18560 != 0)) {
SOURCE(49282, 53)
      {
         word pd592;
         pd592 = (* (( (ptr) (* (( (ptr) gf←c97536)+382)/* var←c87584 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd592 ))))((* (( (ptr) (* (( (ptr) ggData←v18532)+17) ))+20) ), by←v18560, pd592);
         };
      };
SOURCE(49337, 74)
   if ((andBy←v18588 != 0)) {
SOURCE(49355, 56)
      {
         word pd593;
         pd593 = (* (( (ptr) (* (( (ptr) gf←c97536)+382)/* var←c87584 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd593 ))))((* (( (ptr) (* (( (ptr) ggData←v18532)+17) ))+20) ), andBy←v18588, pd593);
         };
      };
   }

static void NullStartBox←P6900(ggData←v18648)
   word ggData←v18648;
   {
   register ptr gf←c97568 =  (ptr) &globalframe;
   /* NullStartBox: */ 
SOURCE(49417, 223)
SOURCE(49464, 176)
   if (((* (( (ptr) (* (( (ptr) ggData←v18648)+17) ))+20) ) == 0)) {
SOURCE(49501, 58)
      {
         word pd594;
         pd594 = (* (( (ptr) (* (( (ptr) gf←c97568)+382)/* var←c87584 */  ))+6) );
         (* (( (ptr) (* (( (ptr) ggData←v18648)+17) ))+20) ) = (word) ( *( (fPt) ((*  (ptr) pd594 ))))(pd594);
         };
      }
   else {
SOURCE(49561, 36)
      (* (( (ptr) (* (( (ptr) (* (( (ptr) ggData←v18648)+17) ))+20) ))+4) ) = 1;
SOURCE(49599, 41)
      (* (( (ptr) (* (( (ptr) (* (( (ptr) ggData←v18648)+17) ))+20) ))+5) ) = 0;
      };
   }

static word GetAFullBox←P6960(ggData←v18708, dragInProgress←v18736, caret←v18764, anchor←v18792, selectedParts←v18820, movingParts←v18848, selectedCPs←v18876, hotCPs←v18904, attractor←v18932, alignments←v18960, into←v18988)
   word ggData←v18708;
   word dragInProgress←v18736;
   word caret←v18764;
   word anchor←v18792;
   word selectedParts←v18820;
   word movingParts←v18848;
   word selectedCPs←v18876;
   word hotCPs←v18904;
   word attractor←v18932;
   word alignments←v18960;
   word into←v18988;
   {
   register ptr gf←c97600 =  (ptr) &globalframe;
   word box←v19032;
   /* GetAFullBox: */ 
SOURCE(49649, 398)
SOURCE(49649, 398)
   box←v19032 = 0;
SOURCE(49851, 130)
   box←v19032 = (word) GetABox←P7020(ggData←v18708, dragInProgress←v18736, caret←v18764, anchor←v18792, selectedParts←v18820, movingParts←v18848
      , selectedCPs←v18876, hotCPs←v18904, attractor←v18932, alignments←v18960, into←v18988);
SOURCE(49983, 64)
   {
      word pd595;
      pd595 = (* (( (ptr) (* (( (ptr) gf←c97600)+382)/* var←c87584 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd595 ))))(box←v19032, (* (( (ptr) (* (( (ptr) ggData←v18708)+17) ))+20) ), pd595);
      };
SOURCE(49649, 398)
   return(box←v19032);
   }

static word GetABox←P7020(ggData←v19092, dragInProgress←v19120, caret←v19148, anchor←v19176, selectedParts←v19204, movingParts←v19232, selectedCPs←v19260, hotCPs←v19288, attractor←v19316, alignments←v19344, into←v19372)
   word ggData←v19092;
   word dragInProgress←v19120;
   word caret←v19148;
   word anchor←v19176;
   word selectedParts←v19204;
   word movingParts←v19232;
   word selectedCPs←v19260;
   word hotCPs←v19288;
   word attractor←v19316;
   word alignments←v19344;
   word into←v19372;
   {
   register ptr gf←c97632 =  (ptr) &globalframe;
   word box←v19416;
   /* GetABox: */ 
SOURCE(50053, 948)
SOURCE(50053, 948)
   box←v19416 = 0;
SOURCE(50258, 111)
   if ((into←v19372 != 0)) {
SOURCE(50277, 10)
      box←v19416 = into←v19372;
SOURCE(50290, 15)
      (* (( (ptr) box←v19416)+4) ) = 1;
SOURCE(50309, 20)
      (* (( (ptr) box←v19416)+5) ) = 0;
      }
   else {
SOURCE(50338, 31)
      {
         word pd596;
         pd596 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+6) );
         box←v19416 = (word) ( *( (fPt) ((*  (ptr) pd596 ))))(pd596);
         };
      };
SOURCE(50371, 101)
   if ((0 != alignments←v19344)) {
SOURCE(50392, 51)
      {
         word var←c92064;
         var←c92064 = (word) AlignmentsBox←P2580(ggData←v19092);
         {
            word pd597;
            pd597 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd597 ))))(box←v19416, var←c92064, pd597);
            };
         };
SOURCE(50445, 27)
      if ((0 != (* (( (ptr) box←v19416)+5) ))) {
SOURCE(50466, 6)
         return(box←v19416);
         };
      };
SOURCE(50477, 60)
   if ((0 != caret←v19148)) {
SOURCE(50491, 46)
      {
         word var←c92096;
         var←c92096 = (word) CaretBox←P2880(ggData←v19092);
         {
            word pd598;
            pd598 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd598 ))))(box←v19416, var←c92096, pd598);
            };
         };
      };
SOURCE(50539, 62)
   if ((0 != anchor←v19176)) {
SOURCE(50554, 47)
      {
         word var←c92128;
         var←c92128 = (word) AnchorBox←P2940(ggData←v19092);
         {
            word pd599;
            pd599 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd599 ))))(box←v19416, var←c92128, pd599);
            };
         };
      };
SOURCE(50603, 100)
   if ((0 != selectedParts←v19204)) {
SOURCE(50625, 78)
      {
         word var←c92160;
         {
            word pd600;
            pd600 = (* (( (ptr) (* (( (ptr) gf←c97632)+392)/* var←c88384 */  ))+45) );
            var←c92160 = (word) ( *( (fPt) ((*  (ptr) pd600 ))))((* (( (ptr) ggData←v19092)+11) ), 0, 0, pd600);
            };
         {
            word pd601;
            pd601 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd601 ))))(box←v19416, var←c92160, pd601);
            };
         };
      };
SOURCE(50705, 72)
   if ((0 != movingParts←v19232)) {
SOURCE(50725, 52)
      {
         word var←c92192;
         var←c92192 = (word) MovingPartsBox←P3240(ggData←v19092);
         {
            word pd602;
            pd602 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd602 ))))(box←v19416, var←c92192, pd602);
            };
         };
      };
SOURCE(50779, 72)
   if ((0 != selectedCPs←v19260)) {
SOURCE(50799, 52)
      {
         word var←c92224;
         var←c92224 = (word) SelectedCPsBox←P3060(ggData←v19092);
         {
            word pd603;
            pd603 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd603 ))))(box←v19416, var←c92224, pd603);
            };
         };
      };
SOURCE(50853, 62)
   if ((0 != hotCPs←v19288)) {
SOURCE(50868, 47)
      {
         word var←c92256;
         var←c92256 = (word) HotCPsBox←P3120(ggData←v19092);
         {
            word pd604;
            pd604 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd604 ))))(box←v19416, var←c92256, pd604);
            };
         };
      };
SOURCE(50917, 84)
   if ((0 != attractor←v19316)) {
SOURCE(50935, 66)
      {
         word var←c92288;
         var←c92288 = (word) AttractorBox←P2640(ggData←v19092, dragInProgress←v19120);
         {
            word pd605;
            pd605 = (* (( (ptr) (* (( (ptr) gf←c97632)+382)/* var←c87584 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd605 ))))(box←v19416, var←c92288, pd605);
            };
         };
      };
SOURCE(50053, 948)
   return(box←v19416);
   }

static void AAPRegister←P7080(key←v19476, paint←v19504, bBox←v19532)
   word key←v19476;
   word paint←v19504;
   word bBox←v19532;
   {
   register ptr gf←c97664 =  (ptr) &globalframe;
   word aapEntry←v29080;
   /* AAPRegister: */ 
SOURCE(51007, 170)
SOURCE(51079, 54)
   aapEntry←v29080 = XR←NewObject(8, (* (( (ptr) gf←c97664)+35) ));
   (*  (ptr) aapEntry←v29080 ) = XR←CheckProc(paint←v19504);
   (* (( (ptr) aapEntry←v29080)+1) ) = XR←CheckProc(bBox←v19532);
SOURCE(51135, 42)
   {
      word var←c92352;
      word pd606;
      pd606 = (* (( (ptr) (* (( (ptr) gf←c97664)+390)/* var←c87904 */  ))+9) );
      var←c92352 = (word) ( *( (fPt) ((*  (ptr) pd606 ))))((* (( (ptr) gf←c97664)+13)/* aapTable←v9496 */  ), key←v19476, aapEntry←v29080, pd606)
      ;
      };
   }

static void AAPInit←P7140()
   {
   register ptr gf←c97696 =  (ptr) &globalframe;
   /* AAPInit: */ 
SOURCE(51227, 44)
SOURCE(51245, 26)
   {
      word pd607;
      pd607 = (* (( (ptr) (* (( (ptr) gf←c97696)+390)/* var←c87904 */  ))+5) );
      (* (( (ptr) gf←c97696)+13)/* aapTable←v9496 */  ) = (word) ( *( (fPt) ((*  (ptr) pd607 ))))(17, 0, 0, pd607);
      };
   }

static void AAPRegistrations←P7200()
   {
   register ptr gf←c97728 =  (ptr) &globalframe;
   /* AAPRegistrations: */ 
SOURCE(51277, 2868)
SOURCE(51304, 23)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+45) ), 0, 0);
SOURCE(51329, 52)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+80) ), (word) (( (bPt) gf←c97728)+556)/* var←c83680 */ , 0);
SOURCE(51383, 51)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+42) ), (word) (( (bPt) gf←c97728)+548)/* var←c83648 */ , 0);
SOURCE(51436, 58)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+81) ), (word) (( (bPt) gf←c97728)+548)/* var←c83648 */ , 0);
SOURCE(51496, 45)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+82) ), (word) (( (bPt) gf←c97728)+548)/* var←c83648 */ , 0);
SOURCE(51543, 59)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+46) ), (word) (( (bPt) gf←c97728)+540)/* var←c83616 */ , 0);
SOURCE(51604, 55)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+48) ), (word) (( (bPt) gf←c97728)+532)/* var←c83584 */ , 0);
SOURCE(51661, 51)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+83) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , 0);
SOURCE(51714, 53)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+84) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , 0);
SOURCE(51769, 44)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+85) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , 0);
SOURCE(51815, 51)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+86) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , 0);
SOURCE(51868, 46)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+87) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , 0);
SOURCE(51916, 47)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+88) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , 0);
SOURCE(51965, 68)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+89) ), (word) (( (bPt) gf←c97728)+1204)/* var←c86272 */ , (word) (( (bPt) gf←c97728)+1188)
      /* var←c86208 */ );
SOURCE(52035, 84)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+90) ), (word) (( (bPt) gf←c97728)+1204)/* var←c86272 */ , (word) (( (bPt) gf←c97728)+1180)
      /* var←c86176 */ );
SOURCE(52121, 66)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+91) ), (word) (( (bPt) gf←c97728)+948)/* var←c85248 */ , (word) (( (bPt) gf←c97728)+940)
      /* var←c85216 */ );
SOURCE(52189, 54)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+92) ), (word) (( (bPt) gf←c97728)+1036)/* var←c85600 */ , (word) (( (bPt) gf←c97728)+1028)
      /* var←c85568 */ );
SOURCE(52266, 70)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+93) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , (word) (( (bPt) gf←c97728)+1044)
      /* var←c85632 */ );
SOURCE(52342, 60)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+94) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , (word) (( (bPt) gf←c97728)+1236)
      /* var←c86400 */ );
SOURCE(52421, 64)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+95) ), (word) (( (bPt) gf←c97728)+1348)/* var←c86848 */ , (word) (( (bPt) gf←c97728)+1228)
      /* var←c86368 */ );
SOURCE(52503, 72)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+96) ), (word) (( (bPt) gf←c97728)+932)/* var←c85184 */ , (word) (( (bPt) gf←c97728)+924)
      /* var←c85152 */ );
SOURCE(52598, 57)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+97) ), (word) (( (bPt) gf←c97728)+1012)/* var←c85504 */ , (word) (( (bPt) gf←c97728)+1004)
      /* var←c85472 */ );
SOURCE(52678, 63)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+98) ), (word) (( (bPt) gf←c97728)+1060)/* var←c85696 */ , (word) (( (bPt) gf←c97728)+1052)
      /* var←c85664 */ );
SOURCE(52764, 72)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+99) ), (word) (( (bPt) gf←c97728)+996)/* var←c85440 */ , (word) (( (bPt) gf←c97728)+988)
      /* var←c85408 */ );
SOURCE(52859, 54)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+100) ), (word) (( (bPt) gf←c97728)+964)/* var←c85312 */ , (word) (( (bPt) gf←c97728)+956)
      /* var←c85280 */ );
SOURCE(52936, 66)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+101) ), (word) (( (bPt) gf←c97728)+980)/* var←c85376 */ , (word) (( (bPt) gf←c97728)+972)
      /* var←c85344 */ );
SOURCE(53025, 51)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+102) ), (word) (( (bPt) gf←c97728)+916)/* var←c85120 */ , (word) (( (bPt) gf←c97728)+908)
      /* var←c85088 */ );
SOURCE(53078, 60)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+103) ), (word) (( (bPt) gf←c97728)+1204)/* var←c86272 */ , (word) (( (bPt) gf←c97728)+1196)
      /* var←c86240 */ );
SOURCE(53140, 57)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+104) ), (word) (( (bPt) gf←c97728)+1204)/* var←c86272 */ , (word) (( (bPt) gf←c97728)+1196)
      /* var←c86240 */ );
SOURCE(53226, 84)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+105) ), (word) (( (bPt) gf←c97728)+1284)/* var←c86592 */ , (word) (( (bPt) gf←c97728)+1276)
      /* var←c86560 */ );
SOURCE(53312, 111)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+106) ), (word) (( (bPt) gf←c97728)+1268)/* var←c86528 */ , (word) (( (bPt) gf←c97728)+1260)
      /* var←c86496 */ );
SOURCE(53425, 69)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+73) ), (word) (( (bPt) gf←c97728)+524)/* var←c83552 */ , (word) (( (bPt) gf←c97728)+516)
      /* var←c83520 */ );
SOURCE(53496, 57)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+107) ), (word) (( (bPt) gf←c97728)+1252)/* var←c86464 */ , (word) (( (bPt) gf←c97728)+1244)
      /* var←c86432 */ );
SOURCE(53555, 34)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+108) ), (word) (( (bPt) gf←c97728)+804)/* var←c84672 */ , 0);
SOURCE(53591, 40)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+109) ), (word) (( (bPt) gf←c97728)+796)/* var←c84640 */ , 0);
SOURCE(53633, 46)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+110) ), (word) (( (bPt) gf←c97728)+788)/* var←c84608 */ , 0);
SOURCE(53681, 36)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+111) ), (word) (( (bPt) gf←c97728)+780)/* var←c84576 */ , 0);
SOURCE(53719, 46)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+112) ), (word) (( (bPt) gf←c97728)+764)/* var←c84512 */ , 0);
SOURCE(53767, 44)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+113) ), (word) (( (bPt) gf←c97728)+772)/* var←c84544 */ , 0);
SOURCE(53813, 46)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+114) ), (word) (( (bPt) gf←c97728)+756)/* var←c84480 */ , 0);
SOURCE(53861, 50)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+115) ), (word) (( (bPt) gf←c97728)+748)/* var←c84448 */ , 0);
SOURCE(53913, 50)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+116) ), (word) (( (bPt) gf←c97728)+740)/* var←c84416 */ , 0);
SOURCE(53965, 50)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+117) ), (word) (( (bPt) gf←c97728)+508)/* var←c83488 */ , 0);
SOURCE(54017, 44)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+118) ), (word) (( (bPt) gf←c97728)+500)/* var←c83456 */ , 0);
SOURCE(54063, 42)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+119) ), (word) (( (bPt) gf←c97728)+492)/* var←c83424 */ , 0);
SOURCE(54107, 38)
   (void) AAPRegister←P7080((* (( (ptr) gf←c97728)+120) ), (word) (( (bPt) gf←c97728)+484)/* var←c83392 */ , 0);
   }

static void PaintSceneNoBuffer←P7260(screen←v50700, ggData←v50728, buffer←v50756, useBackingMap←v50784, bounds←v50812)
   word screen←v50700;
   word ggData←v50728;
   word buffer←v50756;
   word useBackingMap←v50784;
   word bounds←v50812;
   {
   /* PaintSceneNoBuffer: */ 
SOURCE(54151, 78)
SOURCE(54183, 46)
   (void) PaintEntireScene←P1080(screen←v50700, ggData←v50728, 0, 0);
   }

static void AapPaintEntireScene←P7320(screen←v50872, ggData←v50900, buffer←v50928, useBackingMap←v50956, bounds←v50984)
   word screen←v50872;
   word ggData←v50900;
   word buffer←v50928;
   word useBackingMap←v50956;
   word bounds←v50984;
   {
   /* AapPaintEntireScene: */ 
SOURCE(54235, 88)
SOURCE(54268, 55)
   (void) PaintEntireScene←P1080(screen←v50872, ggData←v50900, buffer←v50928, useBackingMap←v50956);
   }

static void AapPaintEntireSceneDrag←P7380(screen←v51044, ggData←v51072, buffer←v51100, useBackingMap←v51128, bounds←v51156)
   word screen←v51044;
   word ggData←v51072;
   word buffer←v51100;
   word useBackingMap←v51128;
   word bounds←v51156;
   {
   /* AapPaintEntireSceneDrag: */ 
SOURCE(54329, 104)
SOURCE(54366, 67)
   (void) PaintEntireSceneDrag←P1140(screen←v51044, ggData←v51072, buffer←v51100, useBackingMap←v51128, bounds←v51156);
   }

static void AapPaintAllPlanesDrag←P7440(screen←v51216, ggData←v51244, buffer←v51272, useBackingMap←v51300, bounds←v51328)
   word screen←v51216;
   word ggData←v51244;
   word buffer←v51272;
   word useBackingMap←v51300;
   word bounds←v51328;
   {
   /* AapPaintAllPlanesDrag: */ 
SOURCE(54439, 100)
SOURCE(54474, 65)
   (void) PaintAllPlanesDrag←P1200(screen←v51216, ggData←v51244, buffer←v51272, useBackingMap←v51300, bounds←v51328);
   }

static void PaintInTotalBox←P7500(screen←v51388, ggData←v51416, buffer←v51444, useBackingMap←v51472, bounds←v51500)
   word screen←v51388;
   word ggData←v51416;
   word buffer←v51444;
   word useBackingMap←v51472;
   word bounds←v51500;
   {
   /* PaintInTotalBox: */ 
SOURCE(54545, 168)
SOURCE(54574, 59)
   (void) RepairBackgroundInBoundBox←P1620(ggData←v51416, (* (( (ptr) (* (( (ptr) ggData←v51416)+17) ))+21) ), 1, 0);
SOURCE(54635, 78)
   (void) PaintAllPlanes←P1260(screen←v51388, ggData←v51416, buffer←v51444, useBackingMap←v51472, (* (( (ptr) (* (( (ptr) ggData←v51416)+17)
          ))+21) ));
   }

static word PaintInTotalBoxBounds←P7560(ggData←v51560, whatHasChanged←v51588, into←v51616)
   word ggData←v51560;
   word whatHasChanged←v51588;
   word into←v51616;
   {
   register ptr gf←c97760 =  (ptr) &globalframe;
   word box←v51660;
   /* PaintInTotalBoxBounds: */ 
SOURCE(54719, 127)
SOURCE(54719, 127)
   box←v51660 = 0;
SOURCE(54755, 58)
   {
      word pd608;
      if ((into←v51616 != 0)) {
         box←v51660 = into←v51616;
         }
      else {
         pd608 = (* (( (ptr) (* (( (ptr) gf←c97760)+382)/* var←c87584 */  ))+6) );
         box←v51660 = (word) ( *( (fPt) ((*  (ptr) pd608 ))))(pd608);
         };
      };
SOURCE(54815, 31)
   (*  (W6Pt) box←v51660 ) = (*  (W6Pt) (* (( (ptr) (* (( (ptr) ggData←v51560)+17) ))+21) ) );
SOURCE(54719, 127)
   return(box←v51660);
   }

static void DrawBackgroundBox←P7620(screen←v51720, ggData←v51748, buffer←v51776, useBackingMap←v51804, bounds←v51832)
   word screen←v51720;
   word ggData←v51748;
   word buffer←v51776;
   word useBackingMap←v51804;
   word bounds←v51832;
   {
   /* DrawBackgroundBox: */ 
SOURCE(54852, 72)
SOURCE(54883, 41)
   (void) DrawMovingBox←P6000(screen←v51720, ggData←v51748, 0);
   }

static void DrawOverlayBox←P7680(screen←v51892, ggData←v51920, buffer←v51948, useBackingMap←v51976, bounds←v52004)
   word screen←v51892;
   word ggData←v51920;
   word buffer←v51948;
   word useBackingMap←v51976;
   word bounds←v52004;
   {
   /* DrawOverlayBox: */ 
SOURCE(54930, 66)
SOURCE(54958, 38)
   (void) DrawMovingBox←P6000(screen←v51892, ggData←v51920, 1);
   }

static void DrawRubberBox←P7740(screen←v52064, ggData←v52092, buffer←v52120, useBackingMap←v52148, bounds←v52176)
   word screen←v52064;
   word ggData←v52092;
   word buffer←v52120;
   word useBackingMap←v52148;
   word bounds←v52176;
   {
   /* DrawRubberBox: */ 
SOURCE(55002, 64)
SOURCE(55029, 37)
   (void) DrawMovingBox←P6000(screen←v52064, ggData←v52092, 2);
   }

static void DrawDragBox←P7800(screen←v52236, ggData←v52264, buffer←v52292, useBackingMap←v52320, bounds←v52348)
   word screen←v52236;
   word ggData←v52264;
   word buffer←v52292;
   word useBackingMap←v52320;
   word bounds←v52348;
   {
   /* DrawDragBox: */ 
SOURCE(55072, 60)
SOURCE(55097, 35)
   (void) DrawMovingBox←P6000(screen←v52236, ggData←v52264, 3);
   }

static void NoName←Q12840(formal←c0991, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0991;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c01130 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
SOURCE(3689, 70)
      {
         word pd609;
         pd609 = (* (( (ptr) (* (( (ptr) gf←c01130)+381)/* var←c87552 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd609 ))))((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c200000 ))+6) ))+3) ), 0, (* (( (ptr) gf←c01130)+72)
             ), (* (( (ptr) gf←c01130)+71) ), pd609);
         };
SOURCE(3761, 43)
      {
         word pd610;
         pd610 = (* (( (ptr) (* (( (ptr) gf←c01130)+388)/* var←c87840 */  ))+10) );
         (void) ( *( (fPt) ((*  (ptr) pd610 ))))((* ((( (ptr) (* (( (ptr) (*  (ptr) formal←c200000 ))+6) ))+48)) ), pd610);
         };
SOURCE(3835, 38)
      (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c200000 ))+6) ))+17) ))+1) ) = 0;
SOURCE(3910, 37)
      (* (( (ptr) (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c200000 ))+6) ))+17) ))+2) ) = 0;
SOURCE(3984, 26)
      (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c200000 ))+6) )) + 51) ) |= 127;
      };
   (*  (ptr) formal←c0991 ) = 0;
   (* (( (ptr) formal←c0991)+1) ) = 0;
   return;
   }

/* file: GGRefreshImpl, module: GGRefreshImpl, compiled at: July 15, 1993 8:11:19 pm PDT */ 
extern void XR←install←GGRefreshImpl() {
   NoName←Q12720();
   }
extern void XR←run←GGRefreshImpl() { XR←Start(&globalframe); }