/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 11, 1993 8:19:11 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGOutlineImplB, module: GGOutlineImplB */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2079818077,1001739096] GGOutlineImplB"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1;} W2; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3, f4;} W5; 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, f2, f3;} W4; typedef W4 *W4Pt; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {W8 f; W6 r;} W14; typedef struct {W8 f; W2 r;} W10; typedef struct {W8 f; word r;} W9; #define SOURCE(p, l) /* source p, l */ static float fc48 = 0.0; static float fc49 = -1.0; static float fc52 = 1E16; #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static void NoName←Q10788(); static void GGOutlineImplB←P0(); static void BuildMoreOutlineSliceClass←P60(); static void BuildMoreClusterSliceClass←P120(); static void ClosestPoint←P180(); static void ClosestJointToHitData←P240(); static void ClosestSegment←P300(); static void ClusterFilledPathsUnderPoint←P360(); static void OutlineFilledPathsUnderPoint←P420(); static void LineIntersection←P480(); static void CircleIntersection←P540(); static word HitDataAsSimpleCurve←P600(); static void PathOfHitData←P660(); static void SetDefaults←P720(); static void ChildSetDefaults←P5988(); static word SetStrokeWidth←P780(); static void GetStrokeWidth←P840(); static word DoCheckStrokeWidth←P6240(); static void SetStrokeEnd←P900(); static void GetStrokeEnd←P960(); static word DoCheckStrokeEnd←P6396(); static void SetStrokeJoint←P1020(); static void GetStrokeJoint←P1080(); static word DoCheckStrokeJoint←P6552(); static void SetStrokeColor←P1140(); static void GetStrokeColor←P1200(); static word DoCheckStrokeColor←P6708(); static void SetFillColor←P1260(); static void OutlineGetFillColor←P1320(); static void GetFillColor←P1380(); static word DoCheckFillColor←P6912(); static void SetDashed←P1440(); static void GetDashed←P1500(); static word DoCheckDashes←P7068(); static word SetOrientation←P1560(); static void GetOrientation←P1620(); static word DoCheckOrientation←P7224(); static word CreateOutline←P1680(); static word AddChild←P1740(); static word ReplaceFirstChild←P1800(); static word ReplaceChild←P1860(); static word ReplaceRunsInOutline←P1920(); static void SetWrapRule←P1980(); static word GetWrapRule←P2040(); static void SetFillText←P2100(); static word PutTextInBox←P7716(); static word DescriptorFromChildDescriptor←P2160(); static word DescriptorFromChild←P2220(); static word TopLevelDescriptorFromChildDescriptor←P2280(); static word ChildDescriptorFromDescriptor←P2340(); static word RemoveTraj←P2400(); static word OutlineRemoveTraj←P2460(); static word DeleteControlPoints←P2520(); static word DoDelete←P8112(); static void SaveSelectionsInOutlineAllClasses←P2580(); static void SaveSelectionsAux←P8172(); static word DoSaveSelections←P8376(); static void UnpackHitData←P2640(); static void UnpackOneSegmentDescriptor←P2700(); static void UnpackSimpleDescriptor←P2760(); static word FindTrajShapeInOutline←P2820(); static word MatchTraj←P8532(); static word TrajsInOutline←P2880(); static word TrajectoriesOfOutline←P2940(); static word ListHoles←P3000(); static word HasHoles←P3060(); static word Parts←P3120(); static word PartsList←P3180(); static word Parts2←P3240(); static word Children←P3300(); static word ChildList←P3360(); static word WalkChildren←P3420(); static word WalkIncludedChildren←P3480(); static word WalkIncludedParts←P3540(); static word ListChildren←P3600(); static word DoAppendSlice←P9456(); static word ListIncludedChildren←P3660(); static word DoAppendSlice←P9516(); static word FirstChild←P3720(); static word StopAtFirstSlice←P9576(); static word FirstIncludedChild←P3780(); static word StopAtFirstSlice←P9636(); static void TallyChildren←P3840(); static void TallyIncludedChildren←P3900(); static word IsParent←P3960(); static word IsParentType←P4020(); static word GetParent←P4080(); static word GetTopLevelAncestor←P4140(); static word IsLeafOfClass←P4200(); static word NoteSameClassChild←P9984(); static word CreateCluster←P4260(); static void AddChildToCluster←P4320(); static void AddChildrenToCluster←P4380(); static word RemoveChild←P4440(); static void PruneNullClusters←P4500(); static void SetFrozen←P4560(); static word GetFrozen←P4620(); static void AppendSlice←P4680(); static word TopPriority←P4740(); static void PutInFront←P4800(); static void PutBehind←P4860(); static word GetAtPriority←P4920(); static word GetChildPriority←P4980(); static word ComparePriorities←P5040(); static void UpdatePriorities←P5100(); static word DoUpdate←P10572(); static void UpdatePtr←P5160(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\214\000\000"}; static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\244\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\311\023\117\300\300\337\236\305\170\100\164\000\000"}; static struct {unsigned f; char r[4];} string6 = {196611, "\004A6"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\125\044\051\337\300\130\157\071\243\100\324\000\000"}; static struct {unsigned f; char r[20];} string8 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"}; static struct {unsigned f; char r[44];} string9 = {2752556, "\260\006\005\146\151\162\163\164\257\300\247\031\224\326\300\123\162\224\023\100\164\005\004\162\145\163\164\214\257\300\247\031\224\326\300\123\162\224\023\100\164\261\000"}; static struct {unsigned f; char r[4];} string10 = {131074, "\003\002\000"}; static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"}; static struct {unsigned f; char r[20];} string12 = {1179668, "\260\006\005\146\151\162\163\164\242\005\004\162\145\163\164\214\242\261\000"}; static struct {unsigned f; char r[4];} string13 = {131074, "\003\001\000"}; static struct {unsigned f; char r[48];} string14 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\324\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\324\261\000\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"}; static struct {unsigned f; char r[32];} string16 = {1966110, "\006\015\000\001\004\001\010\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\074\001\100\110\001\100\130\001\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\114\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\064\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"}; static struct {unsigned f; char r[8];} string20 = {262148, "\004\200@\034\000\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\050\000\000"}; static struct {unsigned f; char r[4];} string22 = {131074, "\004\007\000"}; static struct {unsigned f; char r[8];} string23 = {458760, "Cluster"}; static struct {unsigned f; char r[4];} string24 = {196612, "Box"}; static struct {unsigned f; char r[8];} string25 = {262152, "Traj\000\000\000"}; static struct {unsigned f; char r[8];} string26 = {458760, "Outline"}; static struct {unsigned f; char r[12];} string27 = {589836, "ChangeHue\000\000"}; static struct {unsigned f; char r[4];} string28 = {196612, "Set"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\173\367\201\135\300\073\265\123\130\100\164\000\000"}; static struct {unsigned f; char r[8];} string30 = {393222, "\006\001@X\004?\000"}; static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"}; static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"}; static struct {unsigned f; char r[8];} string34 = {1195855733, "tline"}; static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"}; static struct {unsigned f; char r[8];} string36 = {1195855969, "rent"}; static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"}; static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"}; static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"}; static struct {unsigned f; char r[4];} string41 = {1195856748, "ice"}; static struct {unsigned f; char r[16];} string42 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"}; static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"}; static struct { word f0[28]; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; 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[20]; } globalframe = { {0}, (word) UpdatePtr←P5160, 0, (word) UpdatePriorities←P5100, 0, (word) ComparePriorities←P5040, 0, (word) GetChildPriority←P4980, 0, (word) GetAtPriority←P4920, 0, (word) PutBehind←P4860, 0, (word) PutInFront←P4800, 0, (word) TopPriority←P4740, 0, (word) AppendSlice←P4680, 0, (word) GetFrozen←P4620, 0, (word) SetFrozen←P4560, 0, (word) PruneNullClusters←P4500, 0, (word) RemoveChild←P4440, 0, (word) AddChildrenToCluster←P4380, 0, (word) AddChildToCluster←P4320, 0, (word) CreateCluster←P4260, 0, (word) IsLeafOfClass←P4200, 0, (word) GetTopLevelAncestor←P4140, 0, (word) GetParent←P4080, 0, (word) IsParentType←P4020, 0, (word) IsParent←P3960, 0, (word) TallyIncludedChildren←P3900, 0, (word) TallyChildren←P3840, 0, (word) FirstIncludedChild←P3780, 0, (word) FirstChild←P3720, 0, (word) ListIncludedChildren←P3660, 0, (word) ListChildren←P3600, 0, (word) WalkIncludedParts←P3540, 0, (word) WalkIncludedChildren←P3480, 0, (word) WalkChildren←P3420, 0, (word) ChildList←P3360, 0, (word) Children←P3300, 0, (word) Parts2←P3240, 0, (word) PartsList←P3180, 0, (word) Parts←P3120, 0, (word) HasHoles←P3060, 0, (word) ListHoles←P3000, 0, (word) TrajectoriesOfOutline←P2940, 0, (word) TrajsInOutline←P2880, 0, (word) FindTrajShapeInOutline←P2820, 0, (word) UnpackSimpleDescriptor←P2760, 0, (word) UnpackOneSegmentDescriptor←P2700, 0, (word) UnpackHitData←P2640, 0, (word) SaveSelectionsInOutlineAllClasses←P2580, 0, (word) DeleteControlPoints←P2520, 0, (word) OutlineRemoveTraj←P2460, 0, (word) RemoveTraj←P2400, 0, (word) ChildDescriptorFromDescriptor←P2340, 0, (word) TopLevelDescriptorFromChildDescriptor←P2280, 0, (word) DescriptorFromChild←P2220, 0, (word) DescriptorFromChildDescriptor←P2160, 0, (word) SetFillText←P2100, 0, (word) GetWrapRule←P2040, 0, (word) SetWrapRule←P1980, 0, (word) ReplaceRunsInOutline←P1920, 0, (word) ReplaceChild←P1860, 0, (word) ReplaceFirstChild←P1800, 0, (word) AddChild←P1740, 0, (word) CreateOutline←P1680, 0, (word) GetOrientation←P1620, 0, (word) SetOrientation←P1560, 0, (word) GetDashed←P1500, 0, (word) SetDashed←P1440, 0, (word) GetFillColor←P1380, 0, (word) OutlineGetFillColor←P1320, 0, (word) SetFillColor←P1260, 0, (word) GetStrokeColor←P1200, 0, (word) SetStrokeColor←P1140, 0, (word) GetStrokeJoint←P1080, 0, (word) SetStrokeJoint←P1020, 0, (word) GetStrokeEnd←P960, 0, (word) SetStrokeEnd←P900, 0, (word) GetStrokeWidth←P840, 0, (word) SetStrokeWidth←P780, 0, (word) SetDefaults←P720, 0, (word) PathOfHitData←P660, 0, (word) HitDataAsSimpleCurve←P600, 0, (word) CircleIntersection←P540, 0, (word) LineIntersection←P480, 0, (word) OutlineFilledPathsUnderPoint←P420, 0, (word) ClusterFilledPathsUnderPoint←P360, 0, (word) ClosestSegment←P300, 0, (word) ClosestJointToHitData←P240, 0, (word) ClosestPoint←P180, 0, (word) BuildMoreClusterSliceClass←P120, 0, (word) BuildMoreOutlineSliceClass←P60, 0, (word) GGOutlineImplB←P0, {0} }; static void NoName←Q10788() { register ptr gf←c0949 = (ptr) &globalframe; word var←c87716; (* (( (ptr) gf←c0949)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0949)+6) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0949)+7) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0949)+8) ) = (word) XR←GetTypeIndexS((word) (&string7)); (* (( (ptr) gf←c0949)+9) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string4); (* (( (ptr) gf←c0949)+10) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0949)+11) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string2); (* (( (ptr) gf←c0949)+14) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf←c0949)+15) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string4); (* (( (ptr) gf←c0949)+16) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16); (* (( (ptr) gf←c0949)+17) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string2); (* (( (ptr) gf←c0949)+19) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string2); (* (( (ptr) gf←c0949)+20) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20); (* (( (ptr) gf←c0949)+21) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22); (* (ptr) (( (bPt) gf←c0949)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string23); (* (ptr) (( (bPt) gf←c0949)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string24); (* (ptr) (( (bPt) gf←c0949)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string25); (* (ptr) (( (bPt) gf←c0949)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string26); (* (ptr) (( (bPt) gf←c0949)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string27); (* (ptr) (( (bPt) gf←c0949)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string28); (void) XR←DeclareGlobalFrame((word) "GGOutlineImplB", &globalframe, (word) XR←GetTypeIndex((word) &string29, 0, (word) &string30) , (word) (( (bPt) gf←c0949)+800)/* var←c82052 */ ); var←c87716 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string31)), 25); (* (( (ptr) gf←c0949)+206)/* var←c82148 */ ) = var←c87716; var←c87716 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string32)), 24); (* (( (ptr) gf←c0949)+210)/* var←c82308 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 526850); (void) XR←ImportProcS(var←c87716, 67109376); (void) XR←ImportProcS(var←c87716, 67371777); (void) XR←ImportProcS(var←c87716, 68162051); var←c87716 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string33)), 37); (* (( (ptr) gf←c0949)+213)/* var←c83620 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67641090); var←c87716 = (word) XR←ImportInterface((word) &string34, (word) XR←GetTypeIndexS((word) (&string35)), 19); (* (( (ptr) gf←c0949)+215)/* var←c84324 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67633410); (void) XR←ImportProcS(var←c87716, 67375361); var←c87716 = (word) XR←ImportInterface((word) &string36, (word) XR←GetTypeIndexS((word) (&string37)), 83); (* (( (ptr) gf←c0949)+207)/* var←c82180 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67649026); (void) XR←ImportProcS(var←c87716, 67650306); (void) XR←ImportProcS(var←c87716, 803331); (void) XR←ImportProcS(var←c87716, 67387393); (void) XR←ImportProcS(var←c87716, 67386113); (void) XR←ImportProcS(var←c87716, 67650562); (void) XR←ImportProcS(var←c87716, 68437509); (void) XR←ImportProcS(var←c87716, 67386369); (void) XR←ImportProcS(var←c87716, 68175108); (void) XR←ImportProcS(var←c87716, 67913987); (void) XR←ImportProcS(var←c87716, 68176388); (void) XR←ImportProcS(var←c87716, 67385857); (void) XR←ImportProcS(var←c87716, 67653122); (void) XR←ImportProcS(var←c87716, 67653890); (void) XR←ImportProcS(var←c87716, 134755330); (void) XR←ImportProcS(var←c87716, 134756354); (void) XR←ImportProcS(var←c87716, 68171524); (void) XR←ImportProcS(var←c87716, 336082434); (void) XR←ImportProcS(var←c87716, 1848583); (void) XR←ImportProcS(var←c87716, 1323781); (void) XR←ImportProcS(var←c87716, 134754818); (void) XR←ImportProcS(var←c87716, 1323269); (void) XR←ImportProcS(var←c87716, 134754306); (void) XR←ImportProcS(var←c87716, 1060612); (void) XR←ImportProcS(var←c87716, 134753794); (void) XR←ImportProcS(var←c87716, 1060100); (void) XR←ImportProcS(var←c87716, 134753282); (void) XR←ImportProcS(var←c87716, 68168452); (void) XR←ImportProcS(var←c87716, 1059332); (void) XR←ImportProcS(var←c87716, 67643394); (void) XR←ImportProcS(var←c87716, 134752002); (void) XR←ImportProcS(var←c87716, 134751746); (void) XR←ImportProcS(var←c87716, 470820099); (void) XR←ImportProcS(var←c87716, 337126404); (void) XR←ImportProcS(var←c87716, 470819587); var←c87716 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string38)), 50); (* (( (ptr) gf←c0949)+217)/* var←c85028 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 526594); (void) XR←ImportProcS(var←c87716, 67379969); var←c87716 = (word) XR←ImportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string39)), 23); (* (( (ptr) gf←c0949)+218)/* var←c85508 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67637250); var←c87716 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string40)), 58); (* (( (ptr) gf←c0949)+219)/* var←c85636 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 671621122); (void) XR←ImportProcS(var←c87716, 67378945); var←c87716 = (word) XR←ImportInterface((word) &string41, (word) XR←GetTypeIndexS((word) (&string42)), 128); (* (( (ptr) gf←c0949)+208)/* var←c82212 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 1321732); (void) XR←ImportProcS(var←c87716, 201600257); (void) XR←ImportProcS(var←c87716, 278529); (void) XR←ImportProcS(var←c87716, 67634178); (void) XR←ImportProcS(var←c87716, 67371777); (void) XR←ImportProcS(var←c87716, 134511105); (void) XR←ImportProcS(var←c87716, 1341701); (void) XR←ImportProcS(var←c87716, 470837251); var←c87716 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string43)), 73); (* (( (ptr) gf←c0949)+209)/* var←c82276 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67901699); (void) XR←ImportProcS(var←c87716, 790531); (void) XR←ImportProcS(var←c87716, 67637506); (void) XR←ImportProcS(var←c87716, 67376897); (void) XR←ImportProcS(var←c87716, 67634690); (void) XR←ImportProcS(var←c87716, 67371521); (void) XR←ImportProcS(var←c87716, 134758402); (void) XR←ImportProcS(var←c87716, 68173572); (void) XR←ImportProcS(var←c87716, 336084482); (void) XR←ImportProcS(var←c87716, 134756866); (void) XR←ImportProcS(var←c87716, 134756354); (void) XR←ImportProcS(var←c87716, 134755842); (void) XR←ImportProcS(var←c87716, 134755330); (void) XR←ImportProcS(var←c87716, 134754818); (void) XR←ImportProcS(var←c87716, 67633922); (void) XR←ImportProcS(var←c87716, 1325317); (void) XR←ImportProcS(var←c87716, 1324805); (void) XR←ImportProcS(var←c87716, 1850631); (void) XR←ImportProcS(var←c87716, 1062148); (void) XR←ImportProcS(var←c87716, 1061636); (void) XR←ImportProcS(var←c87716, 68169988); (void) XR←ImportProcS(var←c87716, 67645186); (void) XR←ImportProcS(var←c87716, 134752002); (void) XR←ImportProcS(var←c87716, 67379969); (void) XR←ImportProcS(var←c87716, 135277571); (void) XR←ImportProcS(var←c87716, 337127684); (void) XR←ImportProcS(var←c87716, 67634434); var←c87716 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string44)), 55); (* (( (ptr) gf←c0949)+214)/* var←c84292 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67639298); (void) XR←ImportProcS(var←c87716, 402927873); (void) XR←ImportProcS(var←c87716, 67634434); (void) XR←ImportProcS(var←c87716, 68159236); (void) XR←ImportProcS(var←c87716, 527106); var←c87716 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string45)), 42); (* (( (ptr) gf←c0949)+212)/* var←c83236 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 268964866); (void) XR←ImportProcS(var←c87716, 67638018); (void) XR←ImportProcS(var←c87716, 67376385); (void) XR←ImportProcS(var←c87716, 134221824); (void) XR←ImportProcS(var←c87716, 135008515); (void) XR←ImportProcS(var←c87716, 67897859); (void) XR←ImportProcS(var←c87716, 135007235); (void) XR←ImportProcS(var←c87716, 134220544); (void) XR←ImportProcS(var←c87716, 67637762); (void) XR←ImportProcS(var←c87716, 67641858); (void) XR←ImportProcS(var←c87716, 67641346); (void) XR←ImportProcS(var←c87716, 67379457); var←c87716 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string46)), 28); (* (( (ptr) gf←c0949)+211)/* var←c82628 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67374081); var←c87716 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string47)), 34); (* (( (ptr) gf←c0949)+216)/* var←c84868 */ ) = var←c87716; (void) XR←ImportProcS(var←c87716, 67377153); var←c87716 = (word) XR←ExportInterface((word) &string41, (word) XR←GetTypeIndexS((word) (&string42)), 128); (* (( (ptr) gf←c0949)+220)/* var←c87748 */ ) = var←c87716; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+232)/* var←c79780 */ , 67372545, (word) "CreateCluster"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+224)/* var←c79748 */ , 788227, (word) "AddChildToCluster"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+216)/* var←c79716 */ , 788483, (word) "AddChildrenToCluster") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+208)/* var←c79684 */ , 67635458, (word) "RemoveChild"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+200)/* var←c79652 */ , 526850, (word) "PruneNullClusters"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+192)/* var←c79620 */ , 527106, (word) "SetFrozen"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+184)/* var←c79588 */ , 67374081, (word) "GetFrozen"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+784)/* var←c81988 */ , 265729, (word) "BuildMoreClusterSliceClass") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+792)/* var←c82020 */ , 277761, (word) "BuildMoreOutlineSliceClass") ; var←c87716 = (word) XR←ExportInterface((word) &string34, (word) XR←GetTypeIndexS((word) (&string35)), 19); (* (( (ptr) gf←c0949)+220)/* var←c87748 */ ) = var←c87716; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+576)/* var←c81156 */ , 67633410, (word) "CreateOutline"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+568)/* var←c81124 */ , 67633666, (word) "AddChild"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+560)/* var←c81092 */ , 67633922, (word) "ReplaceFirstChild"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+552)/* var←c81060 */ , 67896323, (word) "ReplaceChild"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+544)/* var←c81028 */ , 68158724, (word) "ReplaceRunsInOutline") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+536)/* var←c80996 */ , 525826, (word) "SetWrapRule"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+528)/* var←c80964 */ , 67372801, (word) "GetWrapRule"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+520)/* var←c80932 */ , 1050628, (word) "SetFillText"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+464)/* var←c80708 */ , 67635458, (word) "DeleteControlPoints") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+456)/* var←c80676 */ , 264705, (word) "SaveSelectionsInOutlineAllClasses") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+448)/* var←c80644 */ , 470027009, (word) "UnpackHitData"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+440)/* var←c80612 */ , 134482945, (word) "UnpackOneSegmentDescriptor") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+432)/* var←c80580 */ , 671354113, (word) "UnpackSimpleDescriptor") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+424)/* var←c80548 */ , 67636738, (word) "FindTrajShapeInOutline") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+416)/* var←c80516 */ , 67374849, (word) "TrajsInOutline"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+408)/* var←c80484 */ , 67375105, (word) "TrajectoriesOfOutline") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+400)/* var←c80452 */ , 67375361, (word) "ListHoles"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+392)/* var←c80420 */ , 67375617, (word) "HasHoles"); var←c87716 = (word) XR←ExportInterface((word) &string36, (word) XR←GetTypeIndexS((word) (&string37)), 83); (* (( (ptr) gf←c0949)+220)/* var←c87748 */ ) = var←c87716; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+776)/* var←c81956 */ , 470819587, (word) "ClosestPoint"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+768)/* var←c81924 */ , 337126404, (word) "ClosestJointToHitData") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+760)/* var←c81892 */ , 470820099, (word) "ClosestSegment"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+736)/* var←c81796 */ , 134751746, (word) "LineIntersection"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+728)/* var←c81764 */ , 134752002, (word) "CircleIntersection") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+720)/* var←c81732 */ , 67643394, (word) "HitDataAsSimpleCurve") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+712)/* var←c81700 */ , 134752514, (word) "PathOfHitData"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+704)/* var←c81668 */ , 1059332, (word) "SetDefaults"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+696)/* var←c81636 */ , 68168452, (word) "SetStrokeWidth"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+688)/* var←c81604 */ , 134753282, (word) "GetStrokeWidth"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+680)/* var←c81572 */ , 1060100, (word) "SetStrokeEnd"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+672)/* var←c81540 */ , 134753794, (word) "GetStrokeEnd"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+664)/* var←c81508 */ , 1060612, (word) "SetStrokeJoint"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+656)/* var←c81476 */ , 134754306, (word) "GetStrokeJoint"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+648)/* var←c81444 */ , 1323269, (word) "SetStrokeColor"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+640)/* var←c81412 */ , 134754818, (word) "GetStrokeColor"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+632)/* var←c81380 */ , 1323781, (word) "SetFillColor"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+616)/* var←c81316 */ , 134755330, (word) "GetFillColor"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+608)/* var←c81284 */ , 1848583, (word) "SetDashed"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+600)/* var←c81252 */ , 336082434, (word) "GetDashed"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+592)/* var←c81220 */ , 68171524, (word) "SetOrientation"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+584)/* var←c81188 */ , 134756354, (word) "GetOrientation"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+272)/* var←c79940 */ , 67385857, (word) "IsParent"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+264)/* var←c79908 */ , 67386113, (word) "IsParentType"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+256)/* var←c79876 */ , 67386369, (word) "GetParent"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+248)/* var←c79844 */ , 67386625, (word) "GetTopLevelAncestor") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+136)/* var←c79396 */ , 67649026, (word) "GetChildPriority"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+128)/* var←c79364 */ , 67649282, (word) "ComparePriorities"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+168)/* var←c79524 */ , 67387393, (word) "TopPriority"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+160)/* var←c79492 */ , 803075, (word) "PutInFront"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+152)/* var←c79460 */ , 803331, (word) "PutBehind"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+144)/* var←c79428 */ , 67650306, (word) "GetAtPriority"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+240)/* var←c79812 */ , 67650562, (word) "IsLeafOfClass"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+344)/* var←c80228 */ , 68175108, (word) "WalkChildren"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+336)/* var←c80196 */ , 68437509, (word) "WalkIncludedChildren") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+320)/* var←c80132 */ , 67913475, (word) "ListChildren"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+312)/* var←c80100 */ , 68175876, (word) "ListIncludedChildren") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+304)/* var←c80068 */ , 67913987, (word) "FirstChild"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+296)/* var←c80036 */ , 68176388, (word) "FirstIncludedChild") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+288)/* var←c80004 */ , 134761474, (word) "TallyChildren"); (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+280)/* var←c79972 */ , 135023875, (word) "TallyIncludedChildren") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+512)/* var←c80900 */ , 67653122, (word) "DescriptorFromChildDescriptor") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+504)/* var←c80868 */ , 67653378, (word) "DescriptorFromChild") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+496)/* var←c80836 */ , 67391489, (word) "TopLevelDescriptorFromChildDescriptor") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+488)/* var←c80804 */ , 67653890, (word) "ChildDescriptorFromDescriptor") ; (void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+480)/* var←c80772 */ , 67654146, (word) "RemoveTraj"); } static void GGOutlineImplB←P0(formal←c0109, formal←c0108) word formal←c0109; word formal←c0108; { register ptr gf←c87780 = (ptr) &globalframe; /* GGOutlineImplB: */ SOURCE(291, 55913) SOURCE(3404, 24) (* (( (ptr) gf←c87780)+4)/* Problem←v5184 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c87780)+206)/* var←c82148 */ ))+28) ) ); } static void BuildMoreOutlineSliceClass←P60(class←v7800) word class←v7800; { register ptr gf←c87812 = (ptr) &globalframe; /* BuildMoreOutlineSliceClass: */ SOURCE(3552, 1270) SOURCE(3617, 42) (* (( (ptr) class←v7800)+38) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+39) ); SOURCE(3661, 60) (* (( (ptr) class←v7800)+39) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+40) ); SOURCE(3723, 65) (* (( (ptr) class←v7800)+40) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+208)/* var←c82212 */ ))+108) ); SOURCE(3790, 46) (* (( (ptr) class←v7800)+41) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+41) ); SOURCE(3838, 58) (* (( (ptr) class←v7800)+42) ) = (word) (( (bPt) gf←c87812)+744)/* var←c81828 */ ; SOURCE(3898, 50) (* (( (ptr) class←v7800)+43) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+42) ); SOURCE(3950, 54) (* (( (ptr) class←v7800)+44) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+43) ); SOURCE(4006, 58) (* (( (ptr) class←v7800)+45) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+44) ); SOURCE(4066, 40) (* (( (ptr) class←v7800)+46) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+46) ); SOURCE(4108, 46) (* (( (ptr) class←v7800)+47) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+47) ); SOURCE(4156, 46) (* (( (ptr) class←v7800)+48) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+48) ); SOURCE(4204, 42) (* (( (ptr) class←v7800)+49) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+49) ); SOURCE(4248, 42) (* (( (ptr) class←v7800)+50) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+50) ); SOURCE(4292, 46) (* (( (ptr) class←v7800)+51) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+51) ); SOURCE(4340, 46) (* (( (ptr) class←v7800)+52) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+52) ); SOURCE(4388, 46) (* (( (ptr) class←v7800)+53) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+53) ); SOURCE(4436, 46) (* (( (ptr) class←v7800)+54) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+54) ); SOURCE(4484, 42) (* (( (ptr) class←v7800)+55) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+55) ); SOURCE(4528, 40) (* (( (ptr) class←v7800)+56) ) = (word) (( (bPt) gf←c87812)+624)/* var←c81348 */ ; SOURCE(4570, 39) (* (( (ptr) class←v7800)+57) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+208)/* var←c82212 */ ))+125) ); SOURCE(4611, 39) (* (( (ptr) class←v7800)+58) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+208)/* var←c82212 */ ))+126) ); SOURCE(4652, 36) (* (( (ptr) class←v7800)+59) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+57) ); SOURCE(4690, 36) (* (( (ptr) class←v7800)+60) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+58) ); SOURCE(4728, 46) (* (( (ptr) class←v7800)+61) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+59) ); SOURCE(4776, 46) (* (( (ptr) class←v7800)+62) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+60) ); } static void BuildMoreClusterSliceClass←P120(class←v7860) word class←v7860; { register ptr gf←c87844 = (ptr) &globalframe; /* BuildMoreClusterSliceClass: */ SOURCE(4828, 1272) SOURCE(4893, 42) (* (( (ptr) class←v7860)+38) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+39) ); SOURCE(4937, 60) (* (( (ptr) class←v7860)+39) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+40) ); SOURCE(4999, 65) (* (( (ptr) class←v7860)+40) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+208)/* var←c82212 */ ))+108) ); SOURCE(5066, 46) (* (( (ptr) class←v7860)+41) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+41) ); SOURCE(5114, 58) (* (( (ptr) class←v7860)+42) ) = (word) (( (bPt) gf←c87844)+752)/* var←c81860 */ ; SOURCE(5174, 50) (* (( (ptr) class←v7860)+43) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+42) ); SOURCE(5226, 54) (* (( (ptr) class←v7860)+44) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+43) ); SOURCE(5282, 58) (* (( (ptr) class←v7860)+45) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+44) ); SOURCE(5342, 40) (* (( (ptr) class←v7860)+46) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+46) ); SOURCE(5384, 46) (* (( (ptr) class←v7860)+47) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+47) ); SOURCE(5432, 46) (* (( (ptr) class←v7860)+48) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+48) ); SOURCE(5480, 42) (* (( (ptr) class←v7860)+49) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+49) ); SOURCE(5524, 42) (* (( (ptr) class←v7860)+50) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+50) ); SOURCE(5568, 46) (* (( (ptr) class←v7860)+51) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+51) ); SOURCE(5616, 46) (* (( (ptr) class←v7860)+52) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+52) ); SOURCE(5664, 46) (* (( (ptr) class←v7860)+53) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+53) ); SOURCE(5712, 46) (* (( (ptr) class←v7860)+54) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+54) ); SOURCE(5760, 42) (* (( (ptr) class←v7860)+55) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+55) ); SOURCE(5804, 42) (* (( (ptr) class←v7860)+56) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+56) ); SOURCE(5848, 39) (* (( (ptr) class←v7860)+57) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+208)/* var←c82212 */ ))+125) ); SOURCE(5889, 39) (* (( (ptr) class←v7860)+58) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+208)/* var←c82212 */ ))+126) ); SOURCE(5930, 36) (* (( (ptr) class←v7860)+59) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+57) ); SOURCE(5968, 36) (* (( (ptr) class←v7860)+60) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+58) ); SOURCE(6006, 46) (* (( (ptr) class←v7860)+61) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+59) ); SOURCE(6054, 46) (* (( (ptr) class←v7860)+62) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+60) ); } static void ClosestPoint←P180(formal←c0135, sliceD←v7920, testPoint←v7948, tolerance←v7976) word formal←c0135; word sliceD←v7920; W2 testPoint←v7948; word tolerance←v7976; { register ptr gf←c87876 = (ptr) &globalframe; W2 bestPoint←v8020; word bestDist←v8048; W2 bestNormal←v8076; word hitData←v8104; word success←v8132; /* ClosestPoint: */ SOURCE(6106, 1154) SOURCE(6106, 1154) bestPoint←v8020.f0 = (* (ptr) &fc48 ); bestPoint←v8020.f1 = (* (ptr) &fc48 ); SOURCE(6106, 1154) bestDist←v8048 = (* (ptr) &fc48 ); SOURCE(6106, 1154) bestNormal←v8076.f0 = (* (ptr) &fc48 ); bestNormal←v8076.f1 = (* (ptr) &fc49 ); SOURCE(6106, 1154) hitData←v8104 = 0; SOURCE(6106, 1154) success←v8132 = 0; SOURCE(6329, 931) if ((sliceD←v7920 == 0)) { SOURCE(6348, 12) goto lab←L100000; } else { SOURCE(6360, 905) { word parts←v21468; word outlineHitData←v21496 = 0; W2 thisPoint←v21524; word thisDist←v21552; W2 thisNormal←v21580; word thisHitData←v21608 = 0; word bestHitData←v21636 = 0; word thisSuccess←v21664 = 0; word bestChild←v21692 = 0; word var←c82244; SOURCE(6362, 42) parts←v21468 = XR←Narrow((* (( (ptr) sliceD←v7920)+1) ), (* (( (ptr) gf←c87876)+5) )); SOURCE(6573, 107) { word pd51; { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c87876)+209)/* var←c82276 */ ))+9) ); var←c82244 = (word) ( *( (fPt) ((* (ptr) pd50 ))))((* (ptr) sliceD←v7920 ), 0, pd50); }; pd51 = (* (( (ptr) (* (( (ptr) gf←c87876)+210)/* var←c82308 */ ))+22) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd51 ))))(testPoint←v7948, var←c82244, tolerance←v7976, pd51))) { SOURCE(6674, 6) goto lab←L100000; }; }; SOURCE(6683, 33) bestDist←v8048 = (* (ptr) &fc52 ); SOURCE(6718, 433) { register word list←v21748; list←v21748 = (* (ptr) parts←v21468 ); lab←L100004: ; if ((list←v21748 != 0)) { } else { goto lab←L100001; }; SOURCE(6803, 23) if (((* (ptr) list←v21748 ) == 0)) { SOURCE(6826, 4) goto lab←L100003; }; SOURCE(6832, 131) { W7 var←c82340; { word pd53; pd53 = (* (( (ptr) (* (ptr) (* (ptr) (* (ptr) list←v21748 ) ) ))+38) ); (void) ( *( (fPt) ((* (ptr) pd53 ))))((word) &var←c82340, (* (ptr) list←v21748 ), testPoint←v7948, tolerance←v7976, pd53) ; }; thisSuccess←v21664 = var←c82340.f6; thisHitData←v21608 = var←c82340.f5; thisNormal←v21580 = (* (W2Pt) (( (ptr) &var←c82340)+3) ); thisDist←v21552 = var←c82340.f2; thisPoint←v21524 = (* (W2Pt) &var←c82340 ); }; SOURCE(6965, 186) { word x54; word x55; if ( ( (0 != thisSuccess←v21664) ? (( x54 = thisDist←v21552, *(float*)&x54 ) < ( x55 = bestDist←v8048, *(float*)&x55 )) : 0 ) ) { SOURCE(7011, 28) bestChild←v21692 = (* (ptr) (* (ptr) list←v21748 ) ); SOURCE(7041, 21) bestPoint←v8020 = thisPoint←v21524; SOURCE(7064, 19) bestDist←v8048 = thisDist←v21552; SOURCE(7085, 23) bestNormal←v8076 = thisNormal←v21580; SOURCE(7110, 25) bestHitData←v21636 = thisHitData←v21608; SOURCE(7137, 14) success←v8132 = 1; }; }; lab←L100003: ; list←v21748 = (* (( (ptr) list←v21748)+1) ); goto lab←L100004; lab←L100001: ; }; SOURCE(7165, 95) if ((0 != success←v8132)) { SOURCE(7183, 77) { word var←c82372; { word var←c82404; var←c82404 = XR←NewObject(8, (* (( (ptr) gf←c87876)+6) )); (* (ptr) var←c82404 ) = bestChild←v21692; (* (( (ptr) var←c82404)+1) ) = bestHitData←v21636; var←c82372 = var←c82404; }; outlineHitData←v21496 = var←c82372; hitData←v8104 = var←c82372; }; }; }; }; /* removed tail goto */ lab←L100000: ; (* (W2Pt) formal←c0135 ) = bestPoint←v8020; (* (( (ptr) formal←c0135)+2) ) = bestDist←v8048; (* (W2Pt) (( (ptr) formal←c0135)+3) ) = bestNormal←v8076; (* (( (ptr) formal←c0135)+5) ) = hitData←v8104; (* (( (ptr) formal←c0135)+6) ) = success←v8132; return; } static void ClosestJointToHitData←P240(formal←c0150, sliceD←v8208, mapPoint←v8236, testPoint←v8264, hitData←v8292) word formal←c0150; word sliceD←v8208; W2 mapPoint←v8236; W2 testPoint←v8264; word hitData←v8292; { register ptr gf←c87908 = (ptr) &globalframe; word jointD←v8348; W2 point←v8376; W2 normal←v8404; word outlineHitData←v21876; word child←v21904; word childHitData←v21932; word childD←v21960; word newChildD←v21988 = 0; /* ClosestJointToHitData: */ SOURCE(7272, 611) SOURCE(7272, 611) jointD←v8348 = 0; SOURCE(7272, 611) normal←v8404.f0 = (* (ptr) &fc48 ); normal←v8404.f1 = (* (ptr) &fc49 ); SOURCE(7456, 48) outlineHitData←v21876 = XR←Narrow(hitData←v8292, (* (( (ptr) gf←c87908)+6) )); SOURCE(7506, 35) child←v21904 = (* (ptr) outlineHitData←v21876 ); SOURCE(7543, 51) childHitData←v21932 = (* (( (ptr) outlineHitData←v21876)+1) ); SOURCE(7596, 79) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c87908)+207)/* var←c82180 */ ))+85) ); childD←v21960 = (word) ( *( (fPt) ((* (ptr) pd56 ))))(sliceD←v8208, child←v21904, pd56); }; SOURCE(7705, 104) { W5 var←c82436; { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c87908)+209)/* var←c82276 */ ))+45) ); (void) ( *( (fPt) ((* (ptr) pd57 ))))((word) &var←c82436, childD←v21960, mapPoint←v8236, testPoint←v8264, childHitData←v21932, pd57) ; }; normal←v8404 = (* (W2Pt) (( (ptr) &var←c82436)+3) ); point←v8376 = (* (W2Pt) (( (ptr) &var←c82436)+1) ); newChildD←v21988 = var←c82436.f0; }; SOURCE(7811, 72) { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c87908)+207)/* var←c82180 */ ))+82) ); jointD←v8348 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* (ptr) sliceD←v8208 ), newChildD←v21988, pd58); }; /* removed tail goto */ (* (ptr) formal←c0150 ) = jointD←v8348; (* (W2Pt) (( (ptr) formal←c0150)+1) ) = point←v8376; (* (W2Pt) (( (ptr) formal←c0150)+3) ) = normal←v8404; return; } static void ClosestSegment←P300(formal←c0174, sliceD←v8464, testPoint←v8492, tolerance←v8520) word formal←c0174; word sliceD←v8464; W2 testPoint←v8492; word tolerance←v8520; { register ptr gf←c87940 = (ptr) &globalframe; W2 bestPoint←v8564; word bestDist←v8592; W2 bestNormal←v8620; word hitData←v8648; word success←v8676; /* ClosestSegment: */ SOURCE(7889, 1208) SOURCE(7889, 1208) bestPoint←v8564.f0 = (* (ptr) &fc48 ); bestPoint←v8564.f1 = (* (ptr) &fc48 ); SOURCE(7889, 1208) bestDist←v8592 = (* (ptr) &fc48 ); SOURCE(7889, 1208) bestNormal←v8620.f0 = (* (ptr) &fc48 ); bestNormal←v8620.f1 = (* (ptr) &fc49 ); SOURCE(7889, 1208) hitData←v8648 = 0; SOURCE(7889, 1208) success←v8676 = 0; SOURCE(8114, 983) if ((sliceD←v8464 == 0)) { SOURCE(8133, 12) goto lab←L100006; } else { SOURCE(8145, 957) { word parts←v22044; word outlineHitData←v22072 = 0; W2 thisPoint←v22100; word thisDist←v22128; W2 thisNormal←v22156; word thisHitData←v22184 = 0; word bestHitData←v22212 = 0; word thisSuccess←v22240 = 0; word bestChild←v22268 = 0; word var←c82468; SOURCE(8147, 42) parts←v22044 = XR←Narrow((* (( (ptr) sliceD←v8464)+1) ), (* (( (ptr) gf←c87940)+5) )); SOURCE(8358, 107) { word pd60; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c87940)+209)/* var←c82276 */ ))+9) ); var←c82468 = (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (ptr) sliceD←v8464 ), 0, pd59); }; pd60 = (* (( (ptr) (* (( (ptr) gf←c87940)+210)/* var←c82308 */ ))+22) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd60 ))))(testPoint←v8492, var←c82468, tolerance←v8520, pd60))) { SOURCE(8459, 6) goto lab←L100006; }; }; SOURCE(8518, 33) bestDist←v8592 = (* (ptr) &fc52 ); SOURCE(8553, 435) { register word list←v22324; list←v22324 = (* (ptr) parts←v22044 ); lab←L100010: ; if ((list←v22324 != 0)) { } else { goto lab←L100007; }; SOURCE(8638, 23) if (((* (ptr) list←v22324 ) == 0)) { SOURCE(8661, 4) goto lab←L100009; }; SOURCE(8667, 133) { W7 var←c82500; { word pd61; pd61 = (* (( (ptr) (* (ptr) (* (ptr) (* (ptr) list←v22324 ) ) ))+41) ); (void) ( *( (fPt) ((* (ptr) pd61 ))))((word) &var←c82500, (* (ptr) list←v22324 ), testPoint←v8492, tolerance←v8520, pd61) ; }; thisSuccess←v22240 = var←c82500.f6; thisHitData←v22184 = var←c82500.f5; thisNormal←v22156 = (* (W2Pt) (( (ptr) &var←c82500)+3) ); thisDist←v22128 = var←c82500.f2; thisPoint←v22100 = (* (W2Pt) &var←c82500 ); }; SOURCE(8802, 186) { word x62; word x63; if ( ( (0 != thisSuccess←v22240) ? (( x62 = thisDist←v22128, *(float*)&x62 ) < ( x63 = bestDist←v8592, *(float*)&x63 )) : 0 ) ) { SOURCE(8848, 28) bestChild←v22268 = (* (ptr) (* (ptr) list←v22324 ) ); SOURCE(8878, 21) bestPoint←v8564 = thisPoint←v22100; SOURCE(8901, 19) bestDist←v8592 = thisDist←v22128; SOURCE(8922, 23) bestNormal←v8620 = thisNormal←v22156; SOURCE(8947, 25) bestHitData←v22212 = thisHitData←v22184; SOURCE(8974, 14) success←v8676 = 1; }; }; lab←L100009: ; list←v22324 = (* (( (ptr) list←v22324)+1) ); goto lab←L100010; lab←L100007: ; }; SOURCE(9002, 95) if ((0 != success←v8676)) { SOURCE(9020, 77) { word var←c82532; { word var←c82564; var←c82564 = XR←NewObject(8, (* (( (ptr) gf←c87940)+6) )); (* (ptr) var←c82564 ) = bestChild←v22268; (* (( (ptr) var←c82564)+1) ) = bestHitData←v22212; var←c82532 = var←c82564; }; outlineHitData←v22072 = var←c82532; hitData←v8648 = var←c82532; }; }; }; }; /* removed tail goto */ lab←L100006: ; (* (W2Pt) formal←c0174 ) = bestPoint←v8564; (* (( (ptr) formal←c0174)+2) ) = bestDist←v8592; (* (W2Pt) (( (ptr) formal←c0174)+3) ) = bestNormal←v8620; (* (( (ptr) formal←c0174)+5) ) = hitData←v8648; (* (( (ptr) formal←c0174)+6) ) = success←v8676; return; } static void ClusterFilledPathsUnderPoint←P360(formal←c0197, slice←v8748, point←v8776, tolerance←v8804) word formal←c0197; word slice←v8748; W2 point←v8776; word tolerance←v8804; { register ptr gf←c87972 = (ptr) &globalframe; word hitData←v8848; word moreHitDatas←v8876; word outlineData←v22452; word clusterData←v22480; word thisChild←v22508 = 0; word thisHitData←v22536 = 0; word childHitDatas←v22564 = 0; word thisSuccess←v22592 = 0; word success←v22620 = 0; /* ClusterFilledPathsUnderPoint: */ SOURCE(9109, 1150) SOURCE(9109, 1150) hitData←v8848 = 0; SOURCE(9109, 1150) moreHitDatas←v8876 = 0; SOURCE(9264, 45) outlineData←v22452 = XR←Narrow((* (( (ptr) slice←v8748)+1) ), (* (( (ptr) gf←c87972)+7) )); SOURCE(9311, 59) clusterData←v22480 = XR←Narrow((* (( (ptr) outlineData←v22452)+8) ), (* (( (ptr) gf←c87972)+8) )); SOURCE(9495, 764) { register word childList←v22772; childList←v22772 = (* (( (ptr) outlineData←v22452)+4) ); lab←L100015: ; if ((childList←v22772 != 0)) { } else { goto lab←L100012; }; SOURCE(9586, 27) thisChild←v22508 = (* (ptr) childList←v22772 ); SOURCE(9615, 92) { W2 var←c82596; { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c87972)+209)/* var←c82276 */ ))+48) ); (void) ( *( (fPt) ((* (ptr) pd64 ))))((word) &var←c82596, thisChild←v22508, point←v8776, tolerance←v8804, pd64); }; childHitDatas←v22564 = var←c82596.f1; thisHitData←v22536 = var←c82596.f0; }; SOURCE(9709, 550) if ((thisHitData←v22536 != 0)) { SOURCE(9737, 297) { register word list←v22900; { word pd65; pd65 = (* (( (ptr) (* (( (ptr) gf←c87972)+211)/* var←c82628 */ ))+16) ); list←v22900 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(childHitDatas←v22564, pd65); }; lab←L100019: ; if ((list←v22900 != 0)) { } else { goto lab←L100016; }; SOURCE(9825, 209) if ((0 == success←v22620)) { SOURCE(9847, 14) success←v22620 = 1; SOURCE(9863, 58) { word var←c82660; var←c82660 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) )); (* (ptr) var←c82660 ) = thisChild←v22508; (* (( (ptr) var←c82660)+1) ) = (* (ptr) list←v22900 ); hitData←v8848 = var←c82660; }; } else { SOURCE(9932, 42) { word var←c82692; var←c82692 = XR←NewObject(8, (* (( (ptr) gf←c87972)+9) )); (* (ptr) var←c82692 ) = hitData←v8848; (* (( (ptr) var←c82692)+1) ) = moreHitDatas←v8876; moreHitDatas←v8876 = var←c82692; }; SOURCE(9976, 58) { word var←c82724; var←c82724 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) )); (* (ptr) var←c82724 ) = thisChild←v22508; (* (( (ptr) var←c82724)+1) ) = (* (ptr) list←v22900 ); hitData←v8848 = var←c82724; }; }; list←v22900 = (* (( (ptr) list←v22900)+1) ); goto lab←L100019; lab←L100016: ; }; SOURCE(10048, 211) if ((0 == success←v22620)) { SOURCE(10070, 14) success←v22620 = 1; SOURCE(10086, 59) { word var←c82756; var←c82756 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) )); (* (ptr) var←c82756 ) = thisChild←v22508; (* (( (ptr) var←c82756)+1) ) = thisHitData←v22536; hitData←v8848 = var←c82756; }; } else { SOURCE(10156, 42) { word var←c82788; var←c82788 = XR←NewObject(8, (* (( (ptr) gf←c87972)+9) )); (* (ptr) var←c82788 ) = hitData←v8848; (* (( (ptr) var←c82788)+1) ) = moreHitDatas←v8876; moreHitDatas←v8876 = var←c82788; }; SOURCE(10200, 59) { word var←c82820; var←c82820 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) )); (* (ptr) var←c82820 ) = thisChild←v22508; (* (( (ptr) var←c82820)+1) ) = thisHitData←v22536; hitData←v8848 = var←c82820; }; }; }; childList←v22772 = (* (( (ptr) childList←v22772)+1) ); goto lab←L100015; lab←L100012: ; }; /* removed tail goto */ (* (ptr) formal←c0197 ) = hitData←v8848; (* (( (ptr) formal←c0197)+1) ) = moreHitDatas←v8876; return; } static void OutlineFilledPathsUnderPoint←P420(formal←c0220, slice←v9044, point←v9072, tolerance←v9100) word formal←c0220; word slice←v9044; W2 point←v9072; word tolerance←v9100; { register ptr gf←c88004 = (ptr) &globalframe; word hitData←v9144; word moreHitDatas←v9172; word outlineData←v23040; word thisHole←v23068 = 0; word thisHitData←v23096 = 0; word holeHitData←v23124 = 0; word childHitDatas←v23152 = 0; word thisSuccess←v23180 = 0; word success←v23208 = 0; word fence←v23236; word pointInSomeHole←v23264 = 0; /* OutlineFilledPathsUnderPoint: */ SOURCE(10280, 1179) SOURCE(10280, 1179) hitData←v9144 = 0; SOURCE(10280, 1179) moreHitDatas←v9172 = 0; SOURCE(10435, 45) outlineData←v23040 = XR←Narrow((* (( (ptr) slice←v9044)+1) ), (* (( (ptr) gf←c88004)+7) )); SOURCE(10616, 41) fence←v23236 = (* (ptr) (* (( (ptr) outlineData←v23040)+4) ) ); { word var←c82852; SOURCE(10691, 42) if (((* (( (ptr) outlineData←v23040)+1) ) == 0)) { SOURCE(10727, 6) goto lab←L100020; }; SOURCE(10735, 96) { word pd67; { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c88004)+209)/* var←c82276 */ ))+9) ); var←c82852 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(slice←v9044, 0, pd66); }; pd67 = (* (( (ptr) (* (( (ptr) gf←c88004)+210)/* var←c82308 */ ))+22) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd67 ))))(point←v9072, var←c82852, tolerance←v9100, pd67))) { SOURCE(10825, 6) goto lab←L100020; }; }; SOURCE(10834, 267) { register word childList←v23416; childList←v23416 = (* (( (ptr) (* (( (ptr) outlineData←v23040)+4) ))+1) ); lab←L100024: ; if ((childList←v23416 != 0)) { } else { goto lab←L100021; }; SOURCE(10930, 26) thisHole←v23068 = (* (ptr) childList←v23416 ); SOURCE(10958, 91) { W2 var←c82884; { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c88004)+209)/* var←c82276 */ ))+48) ); (void) ( *( (fPt) ((* (ptr) pd68 ))))((word) &var←c82884, thisHole←v23068, point←v9072, tolerance←v9100, pd68); }; childHitDatas←v23152 = var←c82884.f1; holeHitData←v23124 = var←c82884.f0; }; SOURCE(11051, 50) if ((holeHitData←v23124 != 0)) { SOURCE(11079, 22) pointInSomeHole←v23264 = 1; SOURCE(11103, 4) goto lab←L100022; }; childList←v23416 = (* (( (ptr) childList←v23416)+1) ); goto lab←L100024; lab←L100021: ; lab←L100022: ; }; SOURCE(11121, 75) { W2 var←c82916; { word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c88004)+209)/* var←c82276 */ ))+48) ); (void) ( *( (fPt) ((* (ptr) pd69 ))))((word) &var←c82916, fence←v23236, point←v9072, tolerance←v9100, pd69); }; thisHitData←v23096 = var←c82916.f0; }; SOURCE(11198, 261) if ((thisHitData←v23096 != 0)) { SOURCE(11245, 101) if ((0 != pointInSomeHole←v23264)) { SOURCE(11269, 22) hitData←v9144 = 0; moreHitDatas←v9172 = 0; goto lab←L100020; } else { SOURCE(11291, 55) { word var←c82948; var←c82948 = XR←NewObject(8, (* (( (ptr) gf←c88004)+6) )); (* (ptr) var←c82948 ) = fence←v23236; (* (( (ptr) var←c82948)+1) ) = thisHitData←v23096; hitData←v9144 = var←c82948; }; }; } else { SOURCE(11355, 104) if ((0 != pointInSomeHole←v23264)) { SOURCE(11379, 64) { word var←c82980; var←c82980 = XR←NewObject(8, (* (( (ptr) gf←c88004)+6) )); (* (ptr) var←c82980 ) = thisHole←v23068; (* (( (ptr) var←c82980)+1) ) = holeHitData←v23124; hitData←v9144 = var←c82980; }; } else { SOURCE(11443, 16) hitData←v9144 = 0; moreHitDatas←v9172 = 0; goto lab←L100020; }; }; }; /* removed tail goto */ lab←L100020: ; (* (ptr) formal←c0220 ) = hitData←v9144; (* (( (ptr) formal←c0220)+1) ) = moreHitDatas←v9172; return; } static void LineIntersection←P480(formal←c0238, sliceD←v9340, line←v9368) word formal←c0238; word sliceD←v9340; word line←v9368; { register ptr gf←c88036 = (ptr) &globalframe; word points←v9412; word pointCount←v9440; word segGen←v23544 = 0; word outlineParts←v23572; word thesePoints←v23600 = 0; word thisCount←v23628; /* LineIntersection: */ SOURCE(11465, 845) SOURCE(11465, 845) points←v9412 = 0; SOURCE(11465, 845) pointCount←v9440 = 0; SOURCE(11629, 49) outlineParts←v23572 = XR←Narrow((* (( (ptr) sliceD←v9340)+1) ), (* (( (ptr) gf←c88036)+5) )); SOURCE(11724, 586) { register word descriptors←v23756; descriptors←v23756 = (* (ptr) outlineParts←v23572 ); lab←L100029: ; if ((descriptors←v23756 != 0)) { } else { goto lab←L100026; }; { word childD←v23884; SOURCE(11837, 43) childD←v23884 = (* (ptr) descriptors←v23756 ); SOURCE(11882, 21) if ((childD←v23884 == 0)) { SOURCE(11903, 4) goto lab←L100028; }; SOURCE(11909, 48) { word pd70; pd70 = (* (( (ptr) (* (( (ptr) gf←c88036)+209)/* var←c82276 */ ))+39) ); segGen←v23544 = (word) ( *( (fPt) ((* (ptr) pd70 ))))(childD←v23884, pd70); }; SOURCE(11959, 351) { register word seg←v23928; W2 var←c0232; W2 var←c0237; { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c88036)+209)/* var←c82276 */ ))+43) ); (void) ( *( (fPt) ((* (ptr) pd71 ))))((word) &var←c0232, (* (ptr) childD←v23884 ), segGen←v23544, pd71); }; seg←v23928 = var←c0232.f0; lab←L100033: ; if ((seg←v23928 != 0)) { } else { goto lab←L100030; }; SOURCE(12096, 64) { W2 var←c83012; { word pd72; pd72 = (* (( (ptr) (* (ptr) seg←v23928 ))+21) ); (void) ( *( (fPt) ((* (ptr) pd72 ))))((word) &var←c83012, seg←v23928, line←v9368, pd72); }; thisCount←v23628 = var←c83012.f1; thesePoints←v23600 = var←c83012.f0; }; SOURCE(12162, 102) { register word list←v23972; list←v23972 = thesePoints←v23600; lab←L100037: ; if ((list←v23972 != 0)) { } else { goto lab←L100034; }; SOURCE(12231, 33) { word var←c83044; var←c83044 = XR←NewObject(12, (* (( (ptr) gf←c88036)+10) )); (* (W2Pt) var←c83044 ) = (* (W2Pt) list←v23972 ); (* (( (ptr) var←c83044)+2) ) = points←v9412; points←v9412 = var←c83044; }; list←v23972 = (* (( (ptr) list←v23972)+2) ); goto lab←L100037; lab←L100034: ; }; SOURCE(12275, 35) pointCount←v9440 = SGNCK((pointCount←v9440 + thisCount←v23628)); { word pd73; pd73 = (* (( (ptr) (* (( (ptr) gf←c88036)+209)/* var←c82276 */ ))+43) ); (void) ( *( (fPt) ((* (ptr) pd73 ))))((word) &var←c0237, (* (ptr) childD←v23884 ), segGen←v23544, pd73); }; seg←v23928 = var←c0237.f0; goto lab←L100033; lab←L100030: ; }; }; lab←L100028: ; descriptors←v23756 = (* (( (ptr) descriptors←v23756)+1) ); goto lab←L100029; lab←L100026: ; }; /* removed tail goto */ (* (ptr) formal←c0238 ) = points←v9412; (* (( (ptr) formal←c0238)+1) ) = pointCount←v9440; return; } static void CircleIntersection←P540(formal←c0256, sliceD←v9584, circle←v9612) word formal←c0256; word sliceD←v9584; word circle←v9612; { register ptr gf←c88068 = (ptr) &globalframe; word points←v9656; word pointCount←v9684; word segGen←v24100 = 0; word outlineParts←v24128; word thesePoints←v24156 = 0; word thisCount←v24184; /* CircleIntersection: */ SOURCE(12334, 855) SOURCE(12334, 855) points←v9656 = 0; SOURCE(12334, 855) pointCount←v9684 = 0; SOURCE(12504, 49) outlineParts←v24128 = XR←Narrow((* (( (ptr) sliceD←v9584)+1) ), (* (( (ptr) gf←c88068)+5) )); SOURCE(12599, 590) { register word descriptors←v24312; descriptors←v24312 = (* (ptr) outlineParts←v24128 ); lab←L100042: ; if ((descriptors←v24312 != 0)) { } else { goto lab←L100039; }; { word childD←v24440; SOURCE(12712, 43) childD←v24440 = (* (ptr) descriptors←v24312 ); SOURCE(12757, 21) if ((childD←v24440 == 0)) { SOURCE(12778, 4) goto lab←L100041; }; SOURCE(12784, 48) { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c88068)+209)/* var←c82276 */ ))+39) ); segGen←v24100 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(childD←v24440, pd74); }; SOURCE(12834, 355) { register word seg←v24484; W2 var←c0250; W2 var←c0255; { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c88068)+209)/* var←c82276 */ ))+43) ); (void) ( *( (fPt) ((* (ptr) pd75 ))))((word) &var←c0250, (* (ptr) childD←v24440 ), segGen←v24100, pd75); }; seg←v24484 = var←c0250.f0; lab←L100046: ; if ((seg←v24484 != 0)) { } else { goto lab←L100043; }; SOURCE(12971, 68) { W2 var←c83076; { word pd76; pd76 = (* (( (ptr) (* (ptr) seg←v24484 ))+22) ); (void) ( *( (fPt) ((* (ptr) pd76 ))))((word) &var←c83076, seg←v24484, circle←v9612, pd76); }; thisCount←v24184 = var←c83076.f1; thesePoints←v24156 = var←c83076.f0; }; SOURCE(13041, 102) { register word list←v24528; list←v24528 = thesePoints←v24156; lab←L100050: ; if ((list←v24528 != 0)) { } else { goto lab←L100047; }; SOURCE(13110, 33) { word var←c83108; var←c83108 = XR←NewObject(12, (* (( (ptr) gf←c88068)+10) )); (* (W2Pt) var←c83108 ) = (* (W2Pt) list←v24528 ); (* (( (ptr) var←c83108)+2) ) = points←v9656; points←v9656 = var←c83108; }; list←v24528 = (* (( (ptr) list←v24528)+2) ); goto lab←L100050; lab←L100047: ; }; SOURCE(13154, 35) pointCount←v9684 = SGNCK((pointCount←v9684 + thisCount←v24184)); { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c88068)+209)/* var←c82276 */ ))+43) ); (void) ( *( (fPt) ((* (ptr) pd77 ))))((word) &var←c0255, (* (ptr) childD←v24440 ), segGen←v24100, pd77); }; seg←v24484 = var←c0255.f0; goto lab←L100046; lab←L100043: ; }; }; lab←L100041: ; descriptors←v24312 = (* (( (ptr) descriptors←v24312)+1) ); goto lab←L100042; lab←L100039: ; }; /* removed tail goto */ (* (ptr) formal←c0256 ) = points←v9656; (* (( (ptr) formal←c0256)+1) ) = pointCount←v9684; return; } static word HitDataAsSimpleCurve←P600(slice←v9828, hitData←v9856) word slice←v9828; word hitData←v9856; { register ptr gf←c88100 = (ptr) &globalframe; word simpleCurve←v9912; word outlineHitData←v24656; /* HitDataAsSimpleCurve: */ SOURCE(13213, 248) SOURCE(13213, 248) simpleCurve←v9912 = 0; SOURCE(13315, 48) outlineHitData←v24656 = XR←Narrow(hitData←v9856, (* (( (ptr) gf←c88100)+6) )); SOURCE(13365, 96) { word pd78; pd78 = (* (( (ptr) (* (( (ptr) gf←c88100)+209)/* var←c82276 */ ))+51) ); simpleCurve←v9912 = (word) ( *( (fPt) ((* (ptr) pd78 ))))((* (ptr) outlineHitData←v24656 ), (* (( (ptr) outlineHitData←v24656)+1) ), pd78); }; SOURCE(13213, 248) return(simpleCurve←v9912); } static void PathOfHitData←P660(formal←c0266, slice←v9984, hitData←v10012) word formal←c0266; word slice←v9984; word hitData←v10012; { register ptr gf←c88132 = (ptr) &globalframe; word path←v10068; word pathHitData←v10096; /* PathOfHitData: */ SOURCE(13467, 306) SOURCE(13467, 306) path←v10068 = 0; SOURCE(13467, 306) pathHitData←v10096 = 0; SOURCE(13575, 12) path←v10068 = slice←v9984; SOURCE(13589, 21) pathHitData←v10096 = hitData←v10012; SOURCE(13612, 161) lab←L100054: ; { word pd79; pd79 = (* (( (ptr) (* (( (ptr) gf←c88132)+207)/* var←c82180 */ ))+62) ); if ((word) ( *( (fPt) ((* (ptr) pd79 ))))(path←v10068, pd79)) { } else { goto lab←L100052; }; }; { word outlineHitData←v24700; SOURCE(13649, 52) outlineHitData←v24700 = XR←Narrow(pathHitData←v10096, (* (( (ptr) gf←c88132)+6) )); SOURCE(13703, 27) path←v10068 = (* (ptr) outlineHitData←v24700 ); SOURCE(13732, 41) pathHitData←v10096 = (* (( (ptr) outlineHitData←v24700)+1) ); }; goto lab←L100054; lab←L100052: ; /* removed tail goto */ (* (ptr) formal←c0266 ) = path←v10068; (* (( (ptr) formal←c0266)+1) ) = pathHitData←v10096; return; } static void SetDefaults←P720(slice←v10168, parts←v10196, formal←c01098, history←v10252) word slice←v10168; word parts←v10196; word formal←c01098; word history←v10252; { W7 var←c88164; /* declaration of defaults←v10224 skipped */ register ptr gf←c88196 = (ptr) &globalframe; /* declaration of var←c83140 skipped */ word outlineParts←v24772; word outlineData←v24800; var←c88164.f4/* defaults←v10224 */ = formal←c01098; /* SetDefaults: */ SOURCE(13789, 1218) { word tmpAddr80; tmpAddr80 = (word) (( (ptr) &var←c88164)+5)/* var←c83140 */ ; (* (ptr) tmpAddr80 ) = ( ((word) (fPt) ChildSetDefaults←P5988) ); (* (( (ptr) tmpAddr80) + 1) ) = 1; }; SOURCE(14509, 42) outlineParts←v24772 = XR←Narrow(parts←v10196, (* (( (ptr) gf←c88196)+5) )); SOURCE(14553, 45) outlineData←v24800 = XR←Narrow((* (( (ptr) slice←v10168)+1) ), (* (( (ptr) gf←c88196)+7) )); SOURCE(14600, 42) (* (( (ptr) outlineData←v24800)+1) ) = (* (( (ptr) var←c88164.f4/* defaults←v10224 */ )+8) ); SOURCE(14644, 363) if ((parts←v10196 == 0)) { SOURCE(14664, 131) { register word childList←v24932; childList←v24932 = (* (( (ptr) outlineData←v24800)+4) ); lab←L100058: ; if ((childList←v24932 != 0)) { } else { goto lab←L100055; }; SOURCE(14757, 38) (void) ChildSetDefaults←P5988((* (ptr) childList←v24932 ), 0, (word) (( (bPt) &var←c88164)+20)/* var←c83140 */ ); childList←v24932 = (* (( (ptr) childList←v24932)+1) ); goto lab←L100058; lab←L100055: ; }; } else { SOURCE(14810, 197) { register word partsList←v25060; partsList←v25060 = (* (ptr) outlineParts←v24772 ); lab←L100062: ; if ((partsList←v25060 != 0)) { } else { goto lab←L100059; }; SOURCE(14917, 90) if (((* (ptr) partsList←v25060 ) != 0)) { SOURCE(14945, 62) (void) ChildSetDefaults←P5988((* (ptr) (* (ptr) partsList←v25060 ) ), (* (( (ptr) (* (ptr) partsList←v25060 ))+1) ), (word) ( ( (bPt) &var←c88164)+20)/* var←c83140 */ ); }; partsList←v25060 = (* (( (ptr) partsList←v25060)+1) ); goto lab←L100062; lab←L100059: ; }; }; } static void ChildSetDefaults←P5988(child←v24876, parts←v24904, formal←c88260) word child←v24876; word parts←v24904; word formal←c88260; { register ptr gf←c88228 = (ptr) &globalframe; formal←c88260 = (formal←c88260 - 20); /* ChildSetDefaults: */ SOURCE(13898, 573) SOURCE(13959, 71) { word var←c83172; word pd81; pd81 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+53) ); var←c83172 = (word) ( *( (fPt) ((* (ptr) pd81 ))))(child←v24876, parts←v24904, (* (ptr) (* (( (ptr) formal←c88260)+4) ) ), 0, pd81) ; }; SOURCE(14032, 62) { word pd82; pd82 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd82 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+2) ), 0, pd82) ; }; SOURCE(14096, 66) { word pd83; pd83 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+57) ); (void) ( *( (fPt) ((* (ptr) pd83 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+1) ), 0, pd83) ; }; SOURCE(14164, 131) { word var←c83204; { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c88228)+212)/* var←c83236 */ ))+37) ); var←c83204 = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* ((( (ptr) (* (( (ptr) formal←c88260)+4) ))+4)) ), pd84); }; { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd85 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+3) ), var←c83204, (* ( ( (ptr) (* (( (ptr) formal←c88260)+4) ))+5) ), (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+6) ) , 0, pd85); }; }; SOURCE(14297, 72) { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+59) ); (void) ( *( (fPt) ((* (ptr) pd86 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+7) ), (* ( ( (ptr) gf←c88228)+27) ), 0, pd86); }; SOURCE(14403, 68) { word pd87; pd87 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd87 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+8) ), (* ( ( (ptr) gf←c88228)+27) ), 0, pd87); }; } static word SetStrokeWidth←P780(slice←v10312, parts←v10340, strokeWidth←v10368, history←v10396) word slice←v10312; word parts←v10340; word strokeWidth←v10368; word history←v10396; { register ptr gf←c88292 = (ptr) &globalframe; word box←v10440; word outlineParts←v25188; word outlineData←v25216; /* SetStrokeWidth: */ SOURCE(15022, 703) SOURCE(15022, 703) box←v10440 = 0; SOURCE(15154, 42) outlineParts←v25188 = XR←Narrow(parts←v10340, (* (( (ptr) gf←c88292)+5) )); SOURCE(15198, 45) outlineData←v25216 = XR←Narrow((* (( (ptr) slice←v10312)+1) ), (* (( (ptr) gf←c88292)+7) )); SOURCE(15245, 399) if ((parts←v10340 == 0)) { SOURCE(15265, 163) { register word childList←v25260; childList←v25260 = (* (( (ptr) outlineData←v25216)+4) ); lab←L100066: ; if ((childList←v25260 != 0)) { } else { goto lab←L100063; }; SOURCE(15358, 70) { word var←c83268; word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf←c88292)+209)/* var←c82276 */ ))+53) ); var←c83268 = (word) ( *( (fPt) ((* (ptr) pd88 ))))((* (ptr) childList←v25260 ), 0, strokeWidth←v10368, 0, pd88); }; childList←v25260 = (* (( (ptr) childList←v25260)+1) ); goto lab←L100066; lab←L100063: ; }; } else { SOURCE(15443, 201) { register word list←v25388; list←v25388 = (* (ptr) outlineParts←v25188 ); lab←L100070: ; if ((list←v25388 != 0)) { } else { goto lab←L100067; }; SOURCE(15535, 109) if (((* (ptr) list←v25388 ) != 0)) { SOURCE(15560, 84) { word var←c83300; word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c88292)+209)/* var←c82276 */ ))+53) ); var←c83300 = (word) ( *( (fPt) ((* (ptr) pd89 ))))((* (ptr) (* (ptr) list←v25388 ) ), (* (( (ptr) (* (ptr) list←v25388 ))+1) ), strokeWidth←v10368, 0, pd89); }; }; list←v25388 = (* (( (ptr) list←v25388)+1) ); goto lab←L100070; lab←L100067: ; }; }; SOURCE(15658, 67) { word var←c83332; { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c88292)+209)/* var←c82276 */ ))+7) ); var←c83332 = (word) ( *( (fPt) ((* (ptr) pd90 ))))(slice←v10312, parts←v10340, pd90); }; { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c88292)+210)/* var←c82308 */ ))+7) ); box←v10440 = (word) ( *( (fPt) ((* (ptr) pd91 ))))(var←c83332, pd91); }; }; SOURCE(15022, 703) return(box←v10440); } static void GetStrokeWidth←P840(formal←c0298, slice←v10500, parts←v10528) word formal←c0298; word slice←v10500; word parts←v10528; { W8 var←c88324; /* declaration of strokeWidth←v10572 skipped */ word isUnique←v10600; /* declaration of var←c83364 skipped */ /* declaration of found←v25516 skipped */ /* GetStrokeWidth: */ SOURCE(15731, 637) { word tmpAddr92; tmpAddr92 = (word) (( (ptr) &var←c88324)+5)/* var←c83364 */ ; (* (ptr) tmpAddr92 ) = ( ((word) (fPt) DoCheckStrokeWidth←P6240) ); (* (( (ptr) tmpAddr92) + 1) ) = 1; }; SOURCE(15731, 637) var←c88324.f4/* strokeWidth←v10572 */ = (* (ptr) &fc49 ); SOURCE(15731, 637) isUnique←v10600 = 1; SOURCE(15855, 19) var←c88324.f7/* found←v25516 */ = 0; SOURCE(16285, 83) if ((0 == (word) WalkIncludedParts←P3540(slice←v10500, parts←v10528, 0, (word) (( (bPt) &var←c88324)+20)/* var←c83364 */ , 0) )) { isUnique←v10600 = (unsigned) (0 != var←c88324.f7/* found←v25516 */ ); } else { isUnique←v10600 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0298 ) = var←c88324.f4/* strokeWidth←v10572 */ ; (* (( (ptr) formal←c0298)+1) ) = isUnique←v10600; return; } static word DoCheckStrokeWidth←P6240(child←v25620, childParts←v25648, formal←c88388) word child←v25620; word childParts←v25648; word formal←c88388; { register ptr gf←c88356 = (ptr) &globalframe; word done←v25692; word thisIsUnique←v25720 = 1; word thisWidth←v25748; formal←c88388 = (formal←c88388 - 20); /* DoCheckStrokeWidth: */ SOURCE(15876, 398) SOURCE(15876, 398) done←v25692 = 0; SOURCE(16017, 72) { W2 var←c83396; { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c88356)+209)/* var←c82276 */ ))+54) ); (void) ( *( (fPt) ((* (ptr) pd93 ))))((word) &var←c83396, child←v25620, childParts←v25648, pd93); }; thisIsUnique←v25720 = var←c83396.f1; thisWidth←v25748 = var←c83396.f0; }; SOURCE(16091, 183) if ((0 == thisIsUnique←v25720)) { SOURCE(16118, 23) (* (( (ptr) formal←c88388)+4) ) = thisWidth←v25748; SOURCE(16143, 12) return(1); } else { SOURCE(16166, 108) if ((0 != (* (( (ptr) formal←c88388)+7) ))) { SOURCE(16182, 44) { word x94; word x95; if ((( x94 = thisWidth←v25748, *(float*)&x94 ) != ( x95 = (* (( (ptr) formal←c88388)+4) ), *(float*)&x95 ))) { SOURCE(16214, 12) return(1); }; }; } else { SOURCE(16237, 23) (* (( (ptr) formal←c88388)+4) ) = thisWidth←v25748; SOURCE(16262, 12) (* (( (ptr) formal←c88388)+7) ) = 1; }; }; SOURCE(15876, 398) return(done←v25692); } static void SetStrokeEnd←P900(slice←v10660, parts←v10688, strokeEnd←v10716, history←v10744) word slice←v10660; word parts←v10688; word strokeEnd←v10716; word history←v10744; { register ptr gf←c88420 = (ptr) &globalframe; word outlineParts←v25792; word outlineData←v25820; /* SetStrokeEnd: */ SOURCE(16374, 589) SOURCE(16483, 42) outlineParts←v25792 = XR←Narrow(parts←v10688, (* (( (ptr) gf←c88420)+5) )); SOURCE(16527, 45) outlineData←v25820 = XR←Narrow((* (( (ptr) slice←v10660)+1) ), (* (( (ptr) gf←c88420)+7) )); SOURCE(16574, 389) if ((parts←v10688 == 0)) { SOURCE(16594, 159) { register word childList←v25864; childList←v25864 = (* (( (ptr) outlineData←v25820)+4) ); lab←L100075: ; if ((childList←v25864 != 0)) { } else { goto lab←L100072; }; SOURCE(16687, 66) { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c88420)+209)/* var←c82276 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd96 ))))((* (ptr) childList←v25864 ), 0, strokeEnd←v10716, 0, pd96); }; childList←v25864 = (* (( (ptr) childList←v25864)+1) ); goto lab←L100075; lab←L100072: ; }; } else { SOURCE(16768, 195) { register word list←v25992; list←v25992 = (* (ptr) outlineParts←v25792 ); lab←L100079: ; if ((list←v25992 != 0)) { } else { goto lab←L100076; }; SOURCE(16860, 103) if (((* (ptr) list←v25992 ) != 0)) { SOURCE(16883, 80) { word pd97; pd97 = (* (( (ptr) (* (( (ptr) gf←c88420)+209)/* var←c82276 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))((* (ptr) (* (ptr) list←v25992 ) ), (* (( (ptr) (* (ptr) list←v25992 ))+1) ), strokeEnd←v10716, 0, pd97) ; }; }; list←v25992 = (* (( (ptr) list←v25992)+1) ); goto lab←L100079; lab←L100076: ; }; }; } static void GetStrokeEnd←P960(formal←c0320, slice←v10804, parts←v10832) word formal←c0320; word slice←v10804; word parts←v10832; { W8 var←c88452; /* declaration of strokeEnd←v10876 skipped */ word isUnique←v10904; /* declaration of var←c83428 skipped */ /* declaration of found←v26120 skipped */ /* GetStrokeEnd: */ SOURCE(16978, 622) { word tmpAddr98; tmpAddr98 = (word) (( (ptr) &var←c88452)+5)/* var←c83428 */ ; (* (ptr) tmpAddr98 ) = ( ((word) (fPt) DoCheckStrokeEnd←P6396) ); (* (( (ptr) tmpAddr98) + 1) ) = 1; }; SOURCE(16978, 622) var←c88452.f4/* strokeEnd←v10876 */ = 2; SOURCE(16978, 622) isUnique←v10904 = 1; SOURCE(17104, 19) var←c88452.f7/* found←v26120 */ = 0; SOURCE(17519, 81) if ((0 == (word) WalkIncludedParts←P3540(slice←v10804, parts←v10832, 0, (word) (( (bPt) &var←c88452)+20)/* var←c83428 */ , 0) )) { isUnique←v10904 = (unsigned) (0 != var←c88452.f7/* found←v26120 */ ); } else { isUnique←v10904 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0320 ) = var←c88452.f4/* strokeEnd←v10876 */ ; (* (( (ptr) formal←c0320)+1) ) = isUnique←v10904; return; } static word DoCheckStrokeEnd←P6396(child←v26224, childParts←v26252, formal←c88516) word child←v26224; word childParts←v26252; word formal←c88516; { register ptr gf←c88484 = (ptr) &globalframe; word done←v26296; word thisIsUnique←v26324 = 1; word thisEnd←v26352; formal←c88516 = (formal←c88516 - 20); /* DoCheckStrokeEnd: */ SOURCE(17125, 383) SOURCE(17125, 383) done←v26296 = 0; SOURCE(17267, 68) { W2 var←c83460; { word pd99; pd99 = (* (( (ptr) (* (( (ptr) gf←c88484)+209)/* var←c82276 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd99 ))))((word) &var←c83460, child←v26224, childParts←v26252, pd99); }; thisIsUnique←v26324 = var←c83460.f1; thisEnd←v26352 = var←c83460.f0; }; SOURCE(17337, 171) if ((0 == thisIsUnique←v26324)) { SOURCE(17364, 19) (* (( (ptr) formal←c88516)+4) ) = thisEnd←v26352; SOURCE(17385, 12) return(1); } else { SOURCE(17408, 100) if ((0 != (* (( (ptr) formal←c88516)+7) ))) { SOURCE(17424, 40) if ((thisEnd←v26352 != (* (( (ptr) formal←c88516)+4) ))) { SOURCE(17452, 12) return(1); }; } else { SOURCE(17475, 19) (* (( (ptr) formal←c88516)+4) ) = thisEnd←v26352; SOURCE(17496, 12) (* (( (ptr) formal←c88516)+7) ) = 1; }; }; SOURCE(17125, 383) return(done←v26296); } static void SetStrokeJoint←P1020(slice←v10964, parts←v10992, strokeJoint←v11020, history←v11048) word slice←v10964; word parts←v10992; word strokeJoint←v11020; word history←v11048; { register ptr gf←c88548 = (ptr) &globalframe; word outlineParts←v26396; word outlineData←v26424; /* SetStrokeJoint: */ SOURCE(17606, 603) SOURCE(17721, 42) outlineParts←v26396 = XR←Narrow(parts←v10992, (* (( (ptr) gf←c88548)+5) )); SOURCE(17765, 45) outlineData←v26424 = XR←Narrow((* (( (ptr) slice←v10964)+1) ), (* (( (ptr) gf←c88548)+7) )); SOURCE(17812, 397) if ((parts←v10992 == 0)) { SOURCE(17832, 163) { register word childList←v26468; childList←v26468 = (* (( (ptr) outlineData←v26424)+4) ); lab←L100084: ; if ((childList←v26468 != 0)) { } else { goto lab←L100081; }; SOURCE(17925, 70) { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf←c88548)+209)/* var←c82276 */ ))+57) ); (void) ( *( (fPt) ((* (ptr) pd100 ))))((* (ptr) childList←v26468 ), 0, strokeJoint←v11020, 0, pd100); }; childList←v26468 = (* (( (ptr) childList←v26468)+1) ); goto lab←L100084; lab←L100081: ; }; } else { SOURCE(18010, 199) { register word list←v26596; list←v26596 = (* (ptr) outlineParts←v26396 ); lab←L100088: ; if ((list←v26596 != 0)) { } else { goto lab←L100085; }; SOURCE(18102, 107) if (((* (ptr) list←v26596 ) != 0)) { SOURCE(18125, 84) { word pd101; pd101 = (* (( (ptr) (* (( (ptr) gf←c88548)+209)/* var←c82276 */ ))+57) ); (void) ( *( (fPt) ((* (ptr) pd101 ))))((* (ptr) (* (ptr) list←v26596 ) ), (* (( (ptr) (* (ptr) list←v26596 ))+1) ), strokeJoint←v11020, 0, pd101) ; }; }; list←v26596 = (* (( (ptr) list←v26596)+1) ); goto lab←L100088; lab←L100085: ; }; }; } static void GetStrokeJoint←P1080(formal←c0342, slice←v11108, parts←v11136) word formal←c0342; word slice←v11108; word parts←v11136; { W8 var←c88580; /* declaration of strokeJoint←v11180 skipped */ word isUnique←v11208; /* declaration of var←c83492 skipped */ /* declaration of found←v26724 skipped */ /* GetStrokeJoint: */ SOURCE(18224, 652) { word tmpAddr102; tmpAddr102 = (word) (( (ptr) &var←c88580)+5)/* var←c83492 */ ; (* (ptr) tmpAddr102 ) = ( ((word) (fPt) DoCheckStrokeJoint←P6552) ); (* (( (ptr) tmpAddr102) + 1) ) = 1; }; SOURCE(18224, 652) var←c88580.f4/* strokeJoint←v11180 */ = 2; SOURCE(18224, 652) isUnique←v11208 = 1; SOURCE(18356, 19) var←c88580.f7/* found←v26724 */ = 0; SOURCE(18793, 83) if ((0 == (word) WalkIncludedParts←P3540(slice←v11108, parts←v11136, 0, (word) (( (bPt) &var←c88580)+20)/* var←c83492 */ , 0) )) { isUnique←v11208 = (unsigned) (0 != var←c88580.f7/* found←v26724 */ ); } else { isUnique←v11208 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0342 ) = var←c88580.f4/* strokeJoint←v11180 */ ; (* (( (ptr) formal←c0342)+1) ) = isUnique←v11208; return; } static word DoCheckStrokeJoint←P6552(child←v26828, childParts←v26856, formal←c88644) word child←v26828; word childParts←v26856; word formal←c88644; { register ptr gf←c88612 = (ptr) &globalframe; word done←v26900; word thisIsUnique←v26928 = 1; word thisJoint←v26956; formal←c88644 = (formal←c88644 - 20); /* DoCheckStrokeJoint: */ SOURCE(18377, 405) SOURCE(18377, 405) done←v26900 = 0; SOURCE(18525, 72) { W2 var←c83524; { word pd103; pd103 = (* (( (ptr) (* (( (ptr) gf←c88612)+209)/* var←c82276 */ ))+58) ); (void) ( *( (fPt) ((* (ptr) pd103 ))))((word) &var←c83524, child←v26828, childParts←v26856, pd103); }; thisIsUnique←v26928 = var←c83524.f1; thisJoint←v26956 = var←c83524.f0; }; SOURCE(18599, 183) if ((0 == thisIsUnique←v26928)) { SOURCE(18626, 23) (* (( (ptr) formal←c88644)+4) ) = thisJoint←v26956; SOURCE(18651, 12) return(1); } else { SOURCE(18674, 108) if ((0 != (* (( (ptr) formal←c88644)+7) ))) { SOURCE(18690, 44) if ((thisJoint←v26956 != (* (( (ptr) formal←c88644)+4) ))) { SOURCE(18722, 12) return(1); }; } else { SOURCE(18745, 23) (* (( (ptr) formal←c88644)+4) ) = thisJoint←v26956; SOURCE(18770, 12) (* (( (ptr) formal←c88644)+7) ) = 1; }; }; SOURCE(18377, 405) return(done←v26900); } static void SetStrokeColor←P1140(slice←v11268, parts←v11296, color←v11324, setHow←v11352, history←v11380) word slice←v11268; word parts←v11296; word color←v11324; word setHow←v11352; word history←v11380; { register ptr gf←c88676 = (ptr) &globalframe; word outlineParts←v27000; word outlineData←v27028; /* SetStrokeColor: */ SOURCE(18882, 611) SOURCE(18999, 42) outlineParts←v27000 = XR←Narrow(parts←v11296, (* (( (ptr) gf←c88676)+5) )); SOURCE(19043, 45) outlineData←v27028 = XR←Narrow((* (( (ptr) slice←v11268)+1) ), (* (( (ptr) gf←c88676)+7) )); SOURCE(19090, 403) if ((parts←v11296 == 0)) { SOURCE(19110, 165) { register word childList←v27072; childList←v27072 = (* (( (ptr) outlineData←v27028)+4) ); lab←L100093: ; if ((childList←v27072 != 0)) { } else { goto lab←L100090; }; SOURCE(19203, 72) { word pd104; pd104 = (* (( (ptr) (* (( (ptr) gf←c88676)+209)/* var←c82276 */ ))+59) ); (void) ( *( (fPt) ((* (ptr) pd104 ))))((* (ptr) childList←v27072 ), 0, color←v11324, setHow←v11352, 0, pd104); }; childList←v27072 = (* (( (ptr) childList←v27072)+1) ); goto lab←L100093; lab←L100090: ; }; } else { SOURCE(19290, 203) { register word list←v27200; list←v27200 = (* (ptr) outlineParts←v27000 ); lab←L100097: ; if ((list←v27200 != 0)) { } else { goto lab←L100094; }; SOURCE(19382, 111) if (((* (ptr) list←v27200 ) != 0)) { SOURCE(19407, 86) { word pd105; pd105 = (* (( (ptr) (* (( (ptr) gf←c88676)+209)/* var←c82276 */ ))+59) ); (void) ( *( (fPt) ((* (ptr) pd105 ))))((* (ptr) (* (ptr) list←v27200 ) ), (* (( (ptr) (* (ptr) list←v27200 ))+1) ), color←v11324, setHow←v11352, 0, pd105) ; }; }; list←v27200 = (* (( (ptr) list←v27200)+1) ); goto lab←L100097; lab←L100094: ; }; }; } static void GetStrokeColor←P1200(formal←c0365, slice←v11440, parts←v11468) word formal←c0365; word slice←v11440; word parts←v11468; { W8 var←c88708; /* declaration of color←v11512 skipped */ word isUnique←v11540; /* declaration of var←c83556 skipped */ /* declaration of found←v27328 skipped */ /* GetStrokeColor: */ SOURCE(19511, 639) { word tmpAddr106; tmpAddr106 = (word) (( (ptr) &var←c88708)+5)/* var←c83556 */ ; (* (ptr) tmpAddr106 ) = ( ((word) (fPt) DoCheckStrokeColor←P6708) ); (* (( (ptr) tmpAddr106) + 1) ) = 1; }; SOURCE(19511, 639) var←c88708.f4/* color←v11512 */ = 0; SOURCE(19511, 639) isUnique←v11540 = 1; SOURCE(19623, 19) var←c88708.f7/* found←v27328 */ = 0; SOURCE(20067, 83) if ((0 == (word) WalkIncludedParts←P3540(slice←v11440, parts←v11468, 0, (word) (( (bPt) &var←c88708)+20)/* var←c83556 */ , 0) )) { isUnique←v11540 = (unsigned) (0 != var←c88708.f7/* found←v27328 */ ); } else { isUnique←v11540 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0365 ) = var←c88708.f4/* color←v11512 */ ; (* (( (ptr) formal←c0365)+1) ) = isUnique←v11540; return; } static word DoCheckStrokeColor←P6708(child←v27432, childParts←v27460, formal←c88772) word child←v27432; word childParts←v27460; word formal←c88772; { register ptr gf←c88740 = (ptr) &globalframe; word done←v27504; word thisIsUnique←v27532 = 1; word thisColor←v27560 = 0; formal←c88772 = (formal←c88772 - 20); /* DoCheckStrokeColor: */ SOURCE(19644, 412) SOURCE(19644, 412) done←v27504 = 0; SOURCE(19786, 72) { W2 var←c83588; { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf←c88740)+209)/* var←c82276 */ ))+60) ); (void) ( *( (fPt) ((* (ptr) pd107 ))))((word) &var←c83588, child←v27432, childParts←v27460, pd107); }; thisIsUnique←v27532 = var←c83588.f1; thisColor←v27560 = var←c83588.f0; }; SOURCE(19860, 196) if ((0 == thisIsUnique←v27532)) { SOURCE(19887, 17) (* (( (ptr) formal←c88772)+4) ) = thisColor←v27560; SOURCE(19906, 12) return(1); } else { SOURCE(19929, 127) if ((0 != (* (( (ptr) formal←c88772)+7) ))) { SOURCE(19945, 69) { word pd108; pd108 = (* (( (ptr) (* (( (ptr) gf←c88740)+213)/* var←c83620 */ ))+35) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd108 ))))(thisColor←v27560, (* (( (ptr) formal←c88772)+4) ), pd108))) { SOURCE(20002, 12) return(1); }; }; } else { SOURCE(20025, 17) (* (( (ptr) formal←c88772)+4) ) = thisColor←v27560; SOURCE(20044, 12) (* (( (ptr) formal←c88772)+7) ) = 1; }; }; SOURCE(19644, 412) return(done←v27504); } static void SetFillColor←P1260(slice←v11600, parts←v11628, color←v11656, setHow←v11684, history←v11712) word slice←v11600; word parts←v11628; word color←v11656; word setHow←v11684; word history←v11712; { register ptr gf←c88804 = (ptr) &globalframe; word outlineData←v27604; word outlineParts←v27632; /* SetFillColor: */ SOURCE(20156, 810) SOURCE(20271, 45) outlineData←v27604 = XR←Narrow((* (( (ptr) slice←v11600)+1) ), (* (( (ptr) gf←c88804)+7) )); SOURCE(20318, 42) outlineParts←v27632 = XR←Narrow(parts←v11628, (* (( (ptr) gf←c88804)+5) )); SOURCE(20362, 175) { word var←c83652; var←c83652 = setHow←v11684; if ((var←c83652 == (* (( (ptr) gf←c88804)+27) ))) { SOURCE(20389, 29) (* (( (ptr) outlineData←v27604)+1) ) = color←v11656; } else { if ((var←c83652 == (* (( (ptr) gf←c88804)+26) ))) { SOURCE(20434, 105) { word newColor←v27676; SOURCE(20436, 67) { word pd109; pd109 = (* (( (ptr) (* (( (ptr) gf←c88804)+212)/* var←c83236 */ ))+36) ); newColor←v27676 = (word) ( *( (fPt) ((* (ptr) pd109 ))))((* (( (ptr) outlineData←v27604)+1) ), color←v11656, pd109); }; SOURCE(20505, 32) (* (( (ptr) outlineData←v27604)+1) ) = newColor←v27676; }; } else { SOURCE(20553, 5) (void) XR←RaiseUnnamedError(); }; }; }; SOURCE(20560, 406) if ((parts←v11628 == 0)) { SOURCE(20582, 163) { register word childList←v27720; childList←v27720 = (* (( (ptr) outlineData←v27604)+4) ); lab←L100102: ; if ((childList←v27720 != 0)) { } else { goto lab←L100099; }; SOURCE(20675, 70) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c88804)+209)/* var←c82276 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd110 ))))((* (ptr) childList←v27720 ), 0, color←v11656, setHow←v11684, 0, pd110); }; childList←v27720 = (* (( (ptr) childList←v27720)+1) ); goto lab←L100102; lab←L100099: ; }; } else { SOURCE(20765, 201) { register word list←v27848; list←v27848 = (* (ptr) outlineParts←v27632 ); lab←L100106: ; if ((list←v27848 != 0)) { } else { goto lab←L100103; }; SOURCE(20857, 109) if (((* (ptr) list←v27848 ) != 0)) { SOURCE(20882, 84) { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c88804)+209)/* var←c82276 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd111 ))))((* (ptr) (* (ptr) list←v27848 ) ), (* (( (ptr) (* (ptr) list←v27848 ))+1) ), color←v11656, setHow←v11684, 0, pd111) ; }; }; list←v27848 = (* (( (ptr) list←v27848)+1) ); goto lab←L100106; lab←L100103: ; }; }; } static void OutlineGetFillColor←P1320(formal←c0389, slice←v11772, parts←v11800) word formal←c0389; word slice←v11772; word parts←v11800; { register ptr gf←c88836 = (ptr) &globalframe; word color←v11844; word isUnique←v11872; word outlineData←v27976; /* OutlineGetFillColor: */ SOURCE(20987, 193) SOURCE(20987, 193) color←v11844 = 0; SOURCE(20987, 193) isUnique←v11872 = 1; SOURCE(21104, 45) outlineData←v27976 = XR←Narrow((* (( (ptr) slice←v11772)+1) ), (* (( (ptr) gf←c88836)+7) )); SOURCE(21151, 29) color←v11844 = (* (( (ptr) outlineData←v27976)+1) ); /* removed tail goto */ (* (ptr) formal←c0389 ) = color←v11844; (* (( (ptr) formal←c0389)+1) ) = isUnique←v11872; return; } static void GetFillColor←P1380(formal←c0396, slice←v11932, parts←v11960) word formal←c0396; word slice←v11932; word parts←v11960; { W8 var←c88868; /* declaration of color←v12004 skipped */ word isUnique←v12032; /* declaration of var←c83684 skipped */ /* declaration of found←v28020 skipped */ /* GetFillColor: */ SOURCE(21186, 631) { word tmpAddr112; tmpAddr112 = (word) (( (ptr) &var←c88868)+5)/* var←c83684 */ ; (* (ptr) tmpAddr112 ) = ( ((word) (fPt) DoCheckFillColor←P6912) ); (* (( (ptr) tmpAddr112) + 1) ) = 1; }; SOURCE(21186, 631) var←c88868.f4/* color←v12004 */ = 0; SOURCE(21186, 631) isUnique←v12032 = 1; SOURCE(21296, 19) var←c88868.f7/* found←v28020 */ = 0; SOURCE(21736, 81) if ((0 == (word) WalkIncludedParts←P3540(slice←v11932, parts←v11960, 0, (word) (( (bPt) &var←c88868)+20)/* var←c83684 */ , 0) )) { isUnique←v12032 = (unsigned) (0 != var←c88868.f7/* found←v28020 */ ); } else { isUnique←v12032 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0396 ) = var←c88868.f4/* color←v12004 */ ; (* (( (ptr) formal←c0396)+1) ) = isUnique←v12032; return; } static word DoCheckFillColor←P6912(child←v28124, childParts←v28152, formal←c88932) word child←v28124; word childParts←v28152; word formal←c88932; { register ptr gf←c88900 = (ptr) &globalframe; word done←v28196; word thisIsUnique←v28224 = 1; word thisColor←v28252 = 0; formal←c88932 = (formal←c88932 - 20); /* DoCheckFillColor: */ SOURCE(21317, 408) SOURCE(21317, 408) done←v28196 = 0; SOURCE(21457, 70) { W2 var←c83716; { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf←c88900)+209)/* var←c82276 */ ))+62) ); (void) ( *( (fPt) ((* (ptr) pd113 ))))((word) &var←c83716, child←v28124, childParts←v28152, pd113); }; thisIsUnique←v28224 = var←c83716.f1; thisColor←v28252 = var←c83716.f0; }; SOURCE(21529, 196) if ((0 == thisIsUnique←v28224)) { SOURCE(21556, 17) (* (( (ptr) formal←c88932)+4) ) = thisColor←v28252; SOURCE(21575, 12) return(1); } else { SOURCE(21598, 127) if ((0 != (* (( (ptr) formal←c88932)+7) ))) { SOURCE(21614, 69) { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf←c88900)+213)/* var←c83620 */ ))+35) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd114 ))))(thisColor←v28252, (* (( (ptr) formal←c88932)+4) ), pd114))) { SOURCE(21671, 12) return(1); }; }; } else { SOURCE(21694, 17) (* (( (ptr) formal←c88932)+4) ) = thisColor←v28252; SOURCE(21713, 12) (* (( (ptr) formal←c88932)+7) ) = 1; }; }; SOURCE(21317, 408) return(done←v28196); } static void SetDashed←P1440(slice←v12092, parts←v12120, dashed←v12148, pattern←v12176, offset←v12204, length←v12232, history←v12260) word slice←v12092; word parts←v12120; word dashed←v12148; word pattern←v12176; word offset←v12204; word length←v12232; word history←v12260; { register ptr gf←c88964 = (ptr) &globalframe; word outlineParts←v28296; word outlineData←v28324; /* SetDashed: */ SOURCE(21823, 690) SOURCE(21993, 42) outlineParts←v28296 = XR←Narrow(parts←v12120, (* (( (ptr) gf←c88964)+5) )); SOURCE(22037, 45) outlineData←v28324 = XR←Narrow((* (( (ptr) slice←v12092)+1) ), (* (( (ptr) gf←c88964)+7) )); SOURCE(22084, 429) if ((parts←v12120 == 0)) { SOURCE(22104, 178) { register word childList←v28368; childList←v28368 = (* (( (ptr) outlineData←v28324)+4) ); lab←L100112: ; if ((childList←v28368 != 0)) { } else { goto lab←L100109; }; SOURCE(22197, 85) { word pd115; pd115 = (* (( (ptr) (* (( (ptr) gf←c88964)+209)/* var←c82276 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd115 ))))((* (ptr) childList←v28368 ), 0, dashed←v12148, pattern←v12176, offset←v12204, length←v12232 , 0, pd115); }; childList←v28368 = (* (( (ptr) childList←v28368)+1) ); goto lab←L100112; lab←L100109: ; }; } else { SOURCE(22297, 216) { register word list←v28496; list←v28496 = (* (ptr) outlineParts←v28296 ); lab←L100116: ; if ((list←v28496 != 0)) { } else { goto lab←L100113; }; SOURCE(22389, 124) if (((* (ptr) list←v28496 ) != 0)) { SOURCE(22414, 99) { word pd116; pd116 = (* (( (ptr) (* (( (ptr) gf←c88964)+209)/* var←c82276 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd116 ))))((* (ptr) (* (ptr) list←v28496 ) ), (* (( (ptr) (* (ptr) list←v28496 ))+1) ), dashed←v12148, pattern←v12176, offset←v12204, length←v12232 , 0, pd116); }; }; list←v28496 = (* (( (ptr) list←v28496)+1) ); goto lab←L100116; lab←L100113: ; }; }; } static void GetDashed←P1500(formal←c0424, slice←v12320, parts←v12348) word formal←c0424; word slice←v12320; word parts←v12348; { W11 var←c88996; /* declaration of dashed←v12392 skipped */ /* declaration of pattern←v12420 skipped */ /* declaration of offset←v12448 skipped */ /* declaration of length←v12476 skipped */ word isUnique←v12504; /* declaration of var←c83748 skipped */ /* declaration of found←v28624 skipped */ /* GetDashed: */ SOURCE(22531, 1013) { word tmpAddr117; tmpAddr117 = (word) (( (ptr) &var←c88996)+8)/* var←c83748 */ ; (* (ptr) tmpAddr117 ) = ( ((word) (fPt) DoCheckDashes←P7068) ); (* (( (ptr) tmpAddr117) + 1) ) = 1; }; SOURCE(22531, 1013) (* (( (ptr) &var←c88996)+4)/* dashed←v12392 */ ) = 0; SOURCE(22531, 1013) (* (( (ptr) &var←c88996)+5)/* pattern←v12420 */ ) = 0; SOURCE(22531, 1013) (* (( (ptr) &var←c88996)+6)/* offset←v12448 */ ) = (* (ptr) &fc48 ); SOURCE(22531, 1013) (* (( (ptr) &var←c88996)+7)/* length←v12476 */ ) = (* (ptr) &fc48 ); SOURCE(22531, 1013) isUnique←v12504 = 1; SOURCE(22699, 19) (* (( (ptr) &var←c88996)+10)/* found←v28624 */ ) = 0; SOURCE(23466, 78) if ((0 == (word) WalkIncludedParts←P3540(slice←v12320, parts←v12348, 0, (word) (( (bPt) &var←c88996)+32)/* var←c83748 */ , 0) )) { isUnique←v12504 = (unsigned) (0 != (* (( (ptr) &var←c88996)+10)/* found←v28624 */ )); } else { isUnique←v12504 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0424 ) = (* (( (ptr) &var←c88996)+4)/* dashed←v12392 */ ); (* (( (ptr) formal←c0424)+1) ) = (* (( (ptr) &var←c88996)+5)/* pattern←v12420 */ ); (* (( (ptr) formal←c0424)+2) ) = (* (( (ptr) &var←c88996)+6)/* offset←v12448 */ ); (* (( (ptr) formal←c0424)+3) ) = (* (( (ptr) &var←c88996)+7)/* length←v12476 */ ); (* (( (ptr) formal←c0424)+4) ) = isUnique←v12504; return; } static word DoCheckDashes←P7068(child←v28728, childParts←v28756, formal←c89060) word child←v28728; word childParts←v28756; word formal←c89060; { register ptr gf←c89028 = (ptr) &globalframe; word done←v28800; word thisIsUnique←v28828 = 1; word thisDashed←v28856 = 0; word thisPattern←v28884 = 0; word thisOffset←v28912; word thisLength←v28940; formal←c89060 = (formal←c89060 - 32); /* DoCheckDashes: */ SOURCE(22720, 735) SOURCE(22720, 735) done←v28800 = 0; SOURCE(22924, 105) { W5 var←c83780; { word pd118; pd118 = (* (( (ptr) (* (( (ptr) gf←c89028)+209)/* var←c82276 */ ))+66) ); (void) ( *( (fPt) ((* (ptr) pd118 ))))((word) &var←c83780, child←v28728, childParts←v28756, pd118); }; thisIsUnique←v28828 = var←c83780.f4; thisLength←v28940 = var←c83780.f3; thisOffset←v28912 = var←c83780.f2; thisPattern←v28884 = var←c83780.f1; thisDashed←v28856 = var←c83780.f0; }; SOURCE(23031, 424) if ((0 == thisIsUnique←v28828)) { SOURCE(23058, 19) (* (( (ptr) formal←c89060)+4) ) = thisDashed←v28856; SOURCE(23079, 21) (* (( (ptr) formal←c89060)+5) ) = thisPattern←v28884; SOURCE(23102, 19) (* (( (ptr) formal←c89060)+6) ) = thisOffset←v28912; SOURCE(23123, 19) (* (( (ptr) formal←c89060)+7) ) = thisLength←v28940; SOURCE(23144, 12) return(1); } else { SOURCE(23167, 288) if ((0 != (* (( (ptr) formal←c89060)+10) ))) { SOURCE(23183, 163) { word tc120; word x121; word x122; word x123; word x124; word pd125; if ((thisDashed←v28856 != (* (( (ptr) formal←c89060)+4) ))) { goto then0119;}; if ((0 != thisDashed←v28856)) { if ((( x121 = thisOffset←v28912, *(float*)&x121 ) != ( x122 = (* (( (ptr) formal←c89060)+6) ), *(float*)&x122 )) || (( x123 = thisLength←v28940, *(float*)&x123 ) != ( x124 = (* (( (ptr) formal←c89060)+7) ), *(float*)&x124 ))) { tc120 = (word) 1; } else { pd125 = (* (( (ptr) (* (( (ptr) gf←c89028)+212)/* var←c83236 */ ))+38) ); tc120 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd125 ))))(thisPattern←v28884, (* (( (ptr) formal←c89060)+5) ), pd125) ); }; } else { tc120 = (word) 0; }; if (tc120) { then0119: ; SOURCE(23334, 12) return(1); }; }; } else { SOURCE(23357, 12) (* (( (ptr) formal←c89060)+10) ) = 1; SOURCE(23371, 19) (* (( (ptr) formal←c89060)+4) ) = thisDashed←v28856; SOURCE(23392, 21) (* (( (ptr) formal←c89060)+5) ) = thisPattern←v28884; SOURCE(23415, 19) (* (( (ptr) formal←c89060)+6) ) = thisOffset←v28912; SOURCE(23436, 19) (* (( (ptr) formal←c89060)+7) ) = thisLength←v28940; }; }; SOURCE(22720, 735) return(done←v28800); } static word SetOrientation←P1560(slice←v12564, parts←v12592, orientation←v12620, history←v12648) word slice←v12564; word parts←v12592; word orientation←v12620; word history←v12648; { register ptr gf←c89092 = (ptr) &globalframe; word success←v12692; word outlineData←v28984; word outlineParts←v29012; /* SetOrientation: */ SOURCE(23550, 637) SOURCE(23550, 637) success←v12692 = 0; SOURCE(23697, 45) outlineData←v28984 = XR←Narrow((* (( (ptr) slice←v12564)+1) ), (* (( (ptr) gf←c89092)+7) )); SOURCE(23744, 42) outlineParts←v29012 = XR←Narrow(parts←v12592, (* (( (ptr) gf←c89092)+5) )); SOURCE(23788, 399) if ((parts←v12592 == 0)) { SOURCE(23808, 163) { register word childList←v29056; childList←v29056 = (* (( (ptr) outlineData←v28984)+4) ); lab←L100121: ; if ((childList←v29056 != 0)) { } else { goto lab←L100118; }; SOURCE(23901, 70) { word var←c83812; word pd126; pd126 = (* (( (ptr) (* (( (ptr) gf←c89092)+209)/* var←c82276 */ ))+67) ); var←c83812 = (word) ( *( (fPt) ((* (ptr) pd126 ))))((* (ptr) childList←v29056 ), 0, orientation←v12620, 0, pd126); }; childList←v29056 = (* (( (ptr) childList←v29056)+1) ); goto lab←L100121; lab←L100118: ; }; } else { SOURCE(23986, 201) { register word list←v29184; list←v29184 = (* (ptr) outlineParts←v29012 ); lab←L100125: ; if ((list←v29184 != 0)) { } else { goto lab←L100122; }; SOURCE(24078, 109) if (((* (ptr) list←v29184 ) != 0)) { SOURCE(24103, 84) { word var←c83844; word pd127; pd127 = (* (( (ptr) (* (( (ptr) gf←c89092)+209)/* var←c82276 */ ))+67) ); var←c83844 = (word) ( *( (fPt) ((* (ptr) pd127 ))))((* (ptr) (* (ptr) list←v29184 ) ), (* (( (ptr) (* (ptr) list←v29184 ))+1) ), orientation←v12620, 0, pd127); }; }; list←v29184 = (* (( (ptr) list←v29184)+1) ); goto lab←L100125; lab←L100122: ; }; }; SOURCE(23550, 637) return(success←v12692); } static void GetOrientation←P1620(formal←c0453, slice←v12752, parts←v12780) word formal←c0453; word slice←v12752; word parts←v12780; { W8 var←c89124; register ptr gf←c89156 = (ptr) &globalframe; /* declaration of orientation←v12824 skipped */ word isUnique←v12852; /* declaration of var←c83876 skipped */ word outlineData←v29312; /* declaration of found←v29340 skipped */ /* GetOrientation: */ SOURCE(24205, 702) { word tmpAddr128; tmpAddr128 = (word) (( (ptr) &var←c89124)+5)/* var←c83876 */ ; (* (ptr) tmpAddr128 ) = ( ((word) (fPt) DoCheckOrientation←P7224) ); (* (( (ptr) tmpAddr128) + 1) ) = 1; }; SOURCE(24205, 702) var←c89124.f4/* orientation←v12824 */ = 1; SOURCE(24205, 702) isUnique←v12852 = 1; SOURCE(24335, 45) outlineData←v29312 = XR←Narrow((* (( (ptr) slice←v12752)+1) ), (* (( (ptr) gf←c89156)+7) )); SOURCE(24382, 19) var←c89124.f7/* found←v29340 */ = 0; SOURCE(24824, 83) if ((0 == (word) WalkIncludedParts←P3540(slice←v12752, parts←v12780, 0, (word) (( (bPt) &var←c89124)+20)/* var←c83876 */ , 0) )) { isUnique←v12852 = (unsigned) (0 != var←c89124.f7/* found←v29340 */ ); } else { isUnique←v12852 = (unsigned) 0; }; /* removed tail goto */ (* (ptr) formal←c0453 ) = var←c89124.f4/* orientation←v12824 */ ; (* (( (ptr) formal←c0453)+1) ) = isUnique←v12852; return; } static word DoCheckOrientation←P7224(child←v29444, childParts←v29472, formal←c89220) word child←v29444; word childParts←v29472; word formal←c89220; { register ptr gf←c89188 = (ptr) &globalframe; word done←v29516; word thisIsUnique←v29544 = 1; word thisOrient←v29572; formal←c89220 = (formal←c89220 - 20); /* DoCheckOrientation: */ SOURCE(24403, 410) SOURCE(24403, 410) done←v29516 = 0; SOURCE(24552, 73) { W2 var←c83908; { word pd129; pd129 = (* (( (ptr) (* (( (ptr) gf←c89188)+209)/* var←c82276 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd129 ))))((word) &var←c83908, child←v29444, childParts←v29472, pd129); }; thisIsUnique←v29544 = var←c83908.f1; thisOrient←v29572 = var←c83908.f0; }; SOURCE(24627, 186) if ((0 == thisIsUnique←v29544)) { SOURCE(24654, 24) (* (( (ptr) formal←c89220)+4) ) = thisOrient←v29572; SOURCE(24680, 12) return(1); } else { SOURCE(24703, 110) if ((0 != (* (( (ptr) formal←c89220)+7) ))) { SOURCE(24719, 45) if ((thisOrient←v29572 != (* (( (ptr) formal←c89220)+4) ))) { SOURCE(24752, 12) return(1); }; } else { SOURCE(24775, 24) (* (( (ptr) formal←c89220)+4) ) = thisOrient←v29572; SOURCE(24801, 12) (* (( (ptr) formal←c89220)+7) ) = 1; }; }; SOURCE(24403, 410) return(done←v29516); } static word CreateOutline←P1680(child←v12912, fillColor←v12940) word child←v12912; word fillColor←v12940; { register ptr gf←c89252 = (ptr) &globalframe; word parent←v12984; word data←v29616; /* CreateOutline: */ SOURCE(24913, 633) SOURCE(24913, 633) parent←v12984 = 0; SOURCE(25009, 103) { word var←c83940; word var←c84036; { word var←c83972; word var←c84004; var←c83972 = XR←NewObject(8, (* (( (ptr) gf←c89252)+15) )); var←c84004 = var←c83972; (* (ptr) var←c84004 ) = child←v12912; var←c83940 = var←c83972; }; var←c84036 = XR←NewObject(36, (* (( (ptr) gf←c89252)+7) )); (* (ptr) var←c84036 ) = 1; (* (( (ptr) var←c84036)+1) ) = fillColor←v12940; (* (( (ptr) var←c84036)+3) ) = 1; (* (( (ptr) var←c84036)+4) ) = var←c83940; data←v29616 = var←c84036; }; SOURCE(25114, 210) { word var←c84068; word var←c84100; word var←c84132; word var←c84164; { word pd130; pd130 = (* (( (ptr) (* (( (ptr) gf←c89252)+208)/* var←c82212 */ ))+7) ); var←c84068 = (word) ( *( (fPt) ((* (ptr) pd130 ))))((* ((( (ptr) gf←c89252)+25)) ), pd130); }; { word pd131; pd131 = (* (( (ptr) (* (( (ptr) gf←c89252)+210)/* var←c82308 */ ))+6) ); var←c84100 = (word) ( *( (fPt) ((* (ptr) pd131 ))))(pd131); }; { word pd132; pd132 = (* (( (ptr) (* (( (ptr) gf←c89252)+210)/* var←c82308 */ ))+6) ); var←c84132 = (word) ( *( (fPt) ((* (ptr) pd132 ))))(pd132); }; var←c84164 = XR←NewObject(92, (* (( (ptr) gf←c89252)+16) )); (* (ptr) var←c84164 ) = var←c84068; (* (( (ptr) var←c84164)+1) ) = data←v29616; (* (W4Pt) (( (ptr) var←c84164)+3) ) = (* (W4Pt) (( (ptr) gf←c89252)+202)/* var←c82116 */ ); (* (( (ptr) var←c84164)+13) ) = var←c84100; (* (( (ptr) var←c84164)+15) ) = var←c84132; (* (( (ptr) var←c84164)+21) ) = (word) -1; parent←v12984 = var←c84164; }; SOURCE(25326, 64) { word pd133; pd133 = (* (( (ptr) (* (( (ptr) gf←c89252)+208)/* var←c82212 */ ))+8) ); (* (( (ptr) parent←v12984)+11) ) = (word) ( *( (fPt) ((* (ptr) pd133 ))))(parent←v12984, 0, pd133); }; SOURCE(25392, 21) (* (( (ptr) child←v12912)+2) ) = parent←v12984; SOURCE(25415, 131) { word pd134; pd134 = (* (( (ptr) (* (( (ptr) gf←c89252)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd134 ))))(child←v12912, pd134) == (* (( (ptr) gf←c89252)+24) ))) { SOURCE(25455, 93) { word trajData←v29660; SOURCE(25457, 39) trajData←v29660 = XR←Narrow((* (( (ptr) child←v12912)+1) ), (* (( (ptr) gf←c89252)+20) )); SOURCE(25498, 48) if (((* (ptr) trajData←v29660 ) == 1)) { SOURCE(25525, 21) (* (ptr) trajData←v29660 ) = 0; }; }; }; }; SOURCE(24913, 633) return(parent←v12984); } static word AddChild←P1740(outline←v13044, child←v13072) word outline←v13044; word child←v13072; { register ptr gf←c89284 = (ptr) &globalframe; word holier←v13116; word holyData←v29704 = 0; /* AddChild: */ SOURCE(25555, 554) SOURCE(25555, 554) holier←v13116 = 0; SOURCE(25659, 45) { word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c89284)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd135 ))))(outline←v13044, pd135) != (* (( (ptr) gf←c89284)+25) ))) { SOURCE(25704, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(25711, 39) { word pd136; pd136 = (* (( (ptr) (* (( (ptr) gf←c89284)+209)/* var←c82276 */ ))+10) ); holier←v13116 = (* (ptr) ( *( (fPt) ((* (ptr) pd136 ))))(outline←v13044, 0, pd136) ); }; SOURCE(25772, 30) holyData←v29704 = XR←Narrow((* (( (ptr) holier←v13116)+1) ), (* (( (ptr) gf←c89284)+7) )); SOURCE(25836, 77) { word var←c84196; { word var←c84228; word var←c84260; var←c84228 = XR←NewObject(8, (* (( (ptr) gf←c89284)+15) )); var←c84260 = var←c84228; (* (ptr) var←c84260 ) = child←v13072; var←c84196 = var←c84228; }; { word pd137; pd137 = (* (( (ptr) (* (( (ptr) gf←c89284)+212)/* var←c83236 */ ))+22) ); (* (( (ptr) holyData←v29704)+4) ) = (word) ( *( (fPt) ((* (ptr) pd137 ))))((* (( (ptr) holyData←v29704)+4) ), var←c84196, pd137) ; }; }; SOURCE(25942, 21) (* (( (ptr) child←v13072)+2) ) = holier←v13116; SOURCE(26008, 71) { word pd138; pd138 = (* (( (ptr) (* (( (ptr) gf←c89284)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd138 ))))(child←v13072, pd138) == (* (( (ptr) gf←c89284)+24) ))) { SOURCE(26048, 31) { word pd139; pd139 = (* (( (ptr) (* (( (ptr) gf←c89284)+214)/* var←c84292 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd139 ))))(child←v13072, 1, pd139); }; }; }; SOURCE(26081, 28) { word pd140; pd140 = (* (( (ptr) (* (( (ptr) gf←c89284)+208)/* var←c82212 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd140 ))))(holier←v13116, pd140); }; SOURCE(25555, 554) return(holier←v13116); } static word ReplaceFirstChild←P1800(outline←v13176, newChild←v13204) word outline←v13176; word newChild←v13204; { register ptr gf←c89316 = (ptr) &globalframe; word newOutline←v13248; word isClosed←v29748 = 0; word holeList←v29776; word newData←v29804 = 0; word newFirstChild←v29832 = 0; /* ReplaceFirstChild: */ SOURCE(26115, 1097) SOURCE(26115, 1097) newOutline←v13248 = 0; SOURCE(26236, 10) { word pd141; pd141 = (* (( (ptr) (* (( (ptr) gf←c89316)+215)/* var←c84324 */ ))+21) ); holeList←v29776 = (word) ( *( (fPt) ((* (ptr) pd141 ))))(outline←v13176, pd141); }; SOURCE(26363, 45) { word pd142; pd142 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd142 ))))(outline←v13176, pd142) != (* (( (ptr) gf←c89316)+25) ))) { SOURCE(26408, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(26415, 159) if ((newChild←v13204 != 0)) { SOURCE(26436, 30) newFirstChild←v29832 = newChild←v13204; } else { SOURCE(26468, 106) if ((holeList←v29776 == 0)) { SOURCE(26491, 25) newFirstChild←v29832 = 0; } else { SOURCE(26518, 30) newFirstChild←v29832 = (* (ptr) holeList←v29776 ); SOURCE(26550, 24) holeList←v29776 = (* (( (ptr) holeList←v29776)+1) ); }; }; SOURCE(26582, 37) if ((newFirstChild←v29832 == 0)) { SOURCE(26608, 11) return(0); }; SOURCE(26621, 100) { word pd143; pd143 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd143 ))))(newFirstChild←v29832, pd143) != (* (( (ptr) gf←c89316)+24) ))) { isClosed←v29748 = (unsigned) 1; } else { isClosed←v29748 = (unsigned) ((* (ptr) XR←Narrow((* (( (ptr) newFirstChild←v29832)+1) ), (* (( (ptr) gf←c89316)+20) )) ) != 2); }; }; SOURCE(26723, 21) if ((0 == isClosed←v29748)) { SOURCE(26744, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(26751, 96) { W2 var←c0489; word var←c84356; { word pd144; pd144 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+62) ); (void) ( *( (fPt) ((* (ptr) pd144 ))))((word) &var←c0489, outline←v13176, 0, pd144); }; var←c84356 = var←c0489.f0; { word pd145; pd145 = (* (( (ptr) (* (( (ptr) gf←c89316)+215)/* var←c84324 */ ))+5) ); newOutline←v13248 = (word) ( *( (fPt) ((* (ptr) pd145 ))))(newFirstChild←v29832, var←c84356, pd145); }; }; SOURCE(26849, 33) newData←v29804 = XR←Narrow((* (( (ptr) newOutline←v13248)+1) ), (* (( (ptr) gf←c89316)+7) )); SOURCE(26884, 285) { register word list←v29960; list←v29960 = holeList←v29776; lab←L100130: ; if ((list←v29960 != 0)) { } else { goto lab←L100127; }; { word hole←v30088; word newSlice←v30116; SOURCE(26950, 24) hole←v30088 = (* (ptr) list←v29960 ); SOURCE(26976, 45) { word pd146; pd146 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+10) ); newSlice←v30116 = (* (ptr) ( *( (fPt) ((* (ptr) pd146 ))))(hole←v30088, 0, pd146) ); }; SOURCE(27061, 78) { word var←c84388; { word var←c84420; word var←c84452; var←c84420 = XR←NewObject(8, (* (( (ptr) gf←c89316)+15) )); var←c84452 = var←c84420; (* (ptr) var←c84452 ) = newSlice←v30116; var←c84388 = var←c84420; }; { word pd147; pd147 = (* (( (ptr) (* (( (ptr) gf←c89316)+212)/* var←c83236 */ ))+22) ); (* (( (ptr) newData←v29804)+4) ) = (word) ( *( (fPt) ((* (ptr) pd147 ))))((* (( (ptr) newData←v29804)+4) ), var←c84388, pd147) ; }; }; SOURCE(27141, 28) (* (( (ptr) newSlice←v30116)+2) ) = newOutline←v13248; }; list←v29960 = (* (( (ptr) list←v29960)+1) ); goto lab←L100130; lab←L100127: ; }; SOURCE(27180, 32) { word pd148; pd148 = (* (( (ptr) (* (( (ptr) gf←c89316)+208)/* var←c82212 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd148 ))))(newOutline←v13248, pd148); }; SOURCE(26115, 1097) return(newOutline←v13248); } static word ReplaceChild←P1860(outline←v13308, oldChild←v13336, newChild←v13364) word outline←v13308; word oldChild←v13336; word newChild←v13364; { register ptr gf←c89348 = (ptr) &globalframe; word newOutline←v13408; word newSlice←v30160 = 0; word newData←v30188 = 0; word holeList←v30216 = 0; word oldData←v30244; /* ReplaceChild: */ SOURCE(27218, 1214) SOURCE(27218, 1214) newOutline←v13408 = 0; SOURCE(27384, 43) oldData←v30244 = XR←Narrow((* (( (ptr) outline←v13308)+1) ), (* (( (ptr) gf←c89348)+7) )); SOURCE(27429, 45) { word pd149; pd149 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd149 ))))(outline←v13308, pd149) != (* (( (ptr) gf←c89348)+25) ))) { SOURCE(27474, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(27481, 37) if ((oldChild←v13336 == 0)) { SOURCE(27502, 16) return(outline←v13308); }; SOURCE(27520, 85) if ((oldChild←v13336 == (* (ptr) (* (( (ptr) oldData←v30244)+4) ) ))) { SOURCE(27560, 45) return((word) ReplaceFirstChild←P1800(outline←v13308, newChild←v13364)); }; SOURCE(27607, 56) { word pd150; pd150 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+10) ); newSlice←v30160 = (* (ptr) ( *( (fPt) ((* (ptr) pd150 ))))((* (ptr) (* (( (ptr) oldData←v30244)+4) ) ), 0, pd150) ); }; SOURCE(27665, 65) { word pd151; pd151 = (* (( (ptr) (* (( (ptr) gf←c89348)+215)/* var←c84324 */ ))+5) ); newOutline←v13408 = (word) ( *( (fPt) ((* (ptr) pd151 ))))(newSlice←v30160, (* (( (ptr) oldData←v30244)+1) ), pd151); }; SOURCE(27732, 33) newData←v30188 = XR←Narrow((* (( (ptr) newOutline←v13408)+1) ), (* (( (ptr) gf←c89348)+7) )); SOURCE(27767, 39) { word pd152; pd152 = (* (( (ptr) (* (( (ptr) gf←c89348)+215)/* var←c84324 */ ))+21) ); holeList←v30216 = (word) ( *( (fPt) ((* (ptr) pd152 ))))(outline←v13308, pd152); }; SOURCE(27835, 551) { register word list←v30372; list←v30372 = holeList←v30216; lab←L100134: ; if ((list←v30372 != 0)) { } else { goto lab←L100131; }; { word hole←v30500; SOURCE(27901, 24) hole←v30500 = (* (ptr) list←v30372 ); SOURCE(27927, 459) if ( ( (hole←v30500 == oldChild←v13336) ? (newChild←v13364 != 0) : 0 ) ) { SOURCE(28016, 42) { word pd153; pd153 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+10) ); newSlice←v30160 = (* (ptr) ( *( (fPt) ((* (ptr) pd153 ))))(newChild←v13364, 0, pd153) ); }; SOURCE(28060, 78) { word var←c84516; { word var←c84548; word var←c84580; var←c84548 = XR←NewObject(8, (* (( (ptr) gf←c89348)+15) )); var←c84580 = var←c84548; (* (ptr) var←c84580 ) = newSlice←v30160; var←c84516 = var←c84548; }; { word pd154; pd154 = (* (( (ptr) (* (( (ptr) gf←c89348)+212)/* var←c83236 */ ))+22) ); (* (( (ptr) newData←v30188)+4) ) = (word) ( *( (fPt) ((* (ptr) pd154 ))))((* (( (ptr) newData←v30188)+4) ), var←c84516, pd154) ; }; }; SOURCE(28140, 28) (* (( (ptr) newSlice←v30160)+2) ) = newOutline←v13408; } else { SOURCE(28177, 209) if ((hole←v30500 != oldChild←v13336)) { SOURCE(28238, 38) { word pd155; pd155 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+10) ); newSlice←v30160 = (* (ptr) ( *( (fPt) ((* (ptr) pd155 ))))(hole←v30500, 0, pd155) ); }; SOURCE(28278, 78) { word var←c84612; { word var←c84644; word var←c84676; var←c84644 = XR←NewObject(8, (* (( (ptr) gf←c89348)+15) )); var←c84676 = var←c84644; (* (ptr) var←c84676 ) = newSlice←v30160; var←c84612 = var←c84644; }; { word pd156; pd156 = (* (( (ptr) (* (( (ptr) gf←c89348)+212)/* var←c83236 */ ))+22) ); (* (( (ptr) newData←v30188)+4) ) = (word) ( *( (fPt) ((* (ptr) pd156 ))))((* (( (ptr) newData←v30188)+4) ), var←c84612, pd156) ; }; }; SOURCE(28358, 28) (* (( (ptr) newSlice←v30160)+2) ) = newOutline←v13408; }; }; }; list←v30372 = (* (( (ptr) list←v30372)+1) ); goto lab←L100134; lab←L100131: ; }; SOURCE(28400, 32) { word pd157; pd157 = (* (( (ptr) (* (( (ptr) gf←c89348)+208)/* var←c82212 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd157 ))))(newOutline←v13408, pd157); }; SOURCE(27218, 1214) return(newOutline←v13408); } static word ReplaceRunsInOutline←P1920(outlineD←v13468, runProc←v13496, segmentsOnly←v13524, selectNewRuns←v13552) word outlineD←v13468; word runProc←v13496; word segmentsOnly←v13524; word selectNewRuns←v13552; { register ptr gf←c89380 = (ptr) &globalframe; word newOutline←v13596; /* ReplaceRunsInOutline: */ SOURCE(28438, 1012) SOURCE(28438, 1012) newOutline←v13596 = 0; SOURCE(28612, 838) lab←L100137: ; { word tc158; word pd159; if ((outlineD←v13468 != 0)) { pd159 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+27) ); tc158 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd159 ))))(outlineD←v13468, pd159)); } else { tc158 = (word) 0; }; if (tc158) { } else { goto lab←L100135; }; }; { word thisChildD←v30544; SOURCE(28678, 96) { word pd160; pd160 = (* (( (ptr) (* (( (ptr) gf←c89380)+207)/* var←c82180 */ ))+78) ); thisChildD←v30544 = (word) ( *( (fPt) ((* (ptr) pd160 ))))((* (ptr) outlineD←v13468 ), (* (( (ptr) outlineD←v13468)+1) ), 0, 0, pd160) ; }; SOURCE(28776, 674) { word var←c84708; { word pd161; pd161 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+6) ); var←c84708 = (word) ( *( (fPt) ((* (ptr) pd161 ))))((* (ptr) (thisChildD←v30544) ), pd161); }; if ((var←c84708 == (* (( (ptr) gf←c89380)+24) ))) { SOURCE(28836, 85) { word pd162; pd162 = (* (( (ptr) (* (( (ptr) gf←c89380)+214)/* var←c84292 */ ))+11) ); newOutline←v13596 = (word) ( *( (fPt) ((* (ptr) pd162 ))))(thisChildD←v30544, runProc←v13496, segmentsOnly←v13524, selectNewRuns←v13552, pd162) ; }; SOURCE(28923, 209) if ((newOutline←v13596 == 0)) { SOURCE(28948, 20) outlineD←v13468 = 0; } else { SOURCE(28968, 166) { word parts←v30588; SOURCE(28970, 67) { word pd163; pd163 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+21) ); parts←v30588 = (word) ( *( (fPt) ((* (ptr) pd163 ))))(newOutline←v13596, 2, pd163); }; SOURCE(29046, 86) { word pd164; if ((parts←v30588 == 0)) { outlineD←v13468 = 0; } else { pd164 = (* (( (ptr) (* (( (ptr) gf←c89380)+208)/* var←c82212 */ ))+8) ); outlineD←v13468 = (word) ( *( (fPt) ((* (ptr) pd164 ))))(newOutline←v13596, parts←v30588, pd164); }; }; }; }; } else { SOURCE(29151, 301) { word parts←v30632 = 0; SOURCE(29237, 56) { word pd165; pd165 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd165 ))))((* (ptr) thisChildD←v30544 ), 0, 2, pd165); }; SOURCE(29295, 61) { word pd166; pd166 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+21) ); parts←v30632 = (word) ( *( (fPt) ((* (ptr) pd166 ))))((* (ptr) thisChildD←v30544 ), 2, pd166); }; SOURCE(29358, 92) { word pd167; if ((parts←v30632 == 0)) { outlineD←v13468 = 0; } else { pd167 = (* (( (ptr) (* (( (ptr) gf←c89380)+208)/* var←c82212 */ ))+8) ); outlineD←v13468 = (word) ( *( (fPt) ((* (ptr) pd167 ))))((* (ptr) thisChildD←v30544 ), parts←v30632, pd167); }; }; }; }; }; }; goto lab←L100137; lab←L100135: ; SOURCE(28438, 1012) return(newOutline←v13596); } static void SetWrapRule←P1980(outline←v13656, oddWrap←v13684) word outline←v13656; word oddWrap←v13684; { register ptr gf←c89412 = (ptr) &globalframe; /* SetWrapRule: */ SOURCE(29468, 112) SOURCE(29529, 51) (* (ptr) XR←Narrow((* (( (ptr) outline←v13656)+1) ), (* (( (ptr) gf←c89412)+7) )) ) = oddWrap←v13684; } static word GetWrapRule←P2040(outline←v13744) word outline←v13744; { register ptr gf←c89444 = (ptr) &globalframe; word oddWrap←v13788; /* GetWrapRule: */ SOURCE(29586, 119) SOURCE(29656, 49) return((* (ptr) XR←Narrow((* (( (ptr) outline←v13744)+1) ), (* (( (ptr) gf←c89444)+7) )) )); } static void SetFillText←P2100(slice←v13848, node←v13876, formal←c01099, formal←c01100) word slice←v13848; word node←v13876; word formal←c01099; word formal←c01100; { W14 var←c89476; /* declaration of screenStyle←v13904 skipped */ /* declaration of history←v13932 skipped */ register ptr gf←c89508 = (ptr) &globalframe; /* declaration of var←c84772 skipped */ (* (( (ptr) &var←c89476)+4)/* screenStyle←v13904 */ ) = formal←c01099; (* (( (ptr) &var←c89476)+5)/* history←v13932 */ ) = formal←c01100; /* SetFillText: */ SOURCE(29711, 929) { word tmpAddr168; tmpAddr168 = (word) (( (ptr) &var←c89476)+6)/* var←c84772 */ ; (* (ptr) tmpAddr168 ) = ( ((word) (fPt) PutTextInBox←P7716) ); (* (( (ptr) tmpAddr168) + 1) ) = 1; }; SOURCE(29825, 815) { word pd169; pd169 = (* (( (ptr) (* (( (ptr) gf←c89508)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd169 ))))(slice←v13848, pd169) != (* (( (ptr) gf←c89508)+25) ))) { SOURCE(29868, 26) (void) XR←RaiseUnnamedError(); } else { SOURCE(29894, 751) { /* declaration of siblingNodes←v30704 skipped */ /* declaration of resumeLoc←v30732 skipped */ /* declaration of previousChild←v30760 skipped */ SOURCE(30177, 40) (* (( (ptr) &var←c89476)+8) ) = 0; (* (( (ptr) &var←c89476)+9) ) = 0; (* (( (ptr) &var←c89476)+10) ) = 0; SOURCE(30219, 39) (* (( (ptr) &var←c89476)+11) ) = 0; (* (( (ptr) &var←c89476)+12) ) = 0; SOURCE(30260, 26) (* (( (ptr) &var←c89476)+13)/* previousChild←v30760 */ ) = 0; SOURCE(30288, 352) { word pd170; pd170 = (* (( (ptr) (* (( (ptr) gf←c89508)+207)/* var←c82180 */ ))+77) ); if (((word) ( *( (fPt) ((* (ptr) pd170 ))))(slice←v13848, 0, (* (( (ptr) gf←c89508)+23) ), pd170) != 0)) { SOURCE(30342, 300) { word outlineData←v30908; SOURCE(30344, 45) outlineData←v30908 = XR←Narrow((* (( (ptr) slice←v13848)+1) ), (* (( (ptr) gf←c89508)+7) )); SOURCE(30391, 27) (* (( (ptr) outlineData←v30908)+2) ) = node←v13876; SOURCE(30461, 37) (* (( (ptr) outlineData←v30908)+3) ) = (* (( (ptr) &var←c89476)+4)/* screenStyle←v13904 */ ); SOURCE(30500, 42) { word pd171; pd171 = (* (( (ptr) (* (( (ptr) gf←c89508)+216)/* var←c84868 */ ))+28) ); (* (( (ptr) &var←c89476)+11) ) = (word) ( *( (fPt) ((* (ptr) pd171 ))))(node←v13876, pd171); }; SOURCE(30580, 60) { word var←c84900; word pd172; pd172 = (* (( (ptr) (* (( (ptr) gf←c89508)+207)/* var←c82180 */ ))+73) ); var←c84900 = (word) ( *( (fPt) ((* (ptr) pd172 ))))(slice←v13848, 0, (word) (( (bPt) &var←c89476)+24)/* var←c84772 */ , (* ( /*1*/ ( (ptr) gf←c89508)+23) ), pd172); }; }; }; }; }; }; }; } static word PutTextInBox←P7716(thisChild←v30836, formal←c89572) word thisChild←v30836; word formal←c89572; { register ptr gf←c89540 = (ptr) &globalframe; word done←v30880; formal←c89572 = (formal←c89572 - 24); /* PutTextInBox: */ SOURCE(29896, 20) SOURCE(29896, 20) done←v30880 = 0; SOURCE(29967, 110) if (((* (( (ptr) formal←c89572)+13) ) != 0)) { SOURCE(29995, 49) { word pd173; pd173 = (* (( (ptr) (* (( (ptr) gf←c89540)+208)/* var←c82212 */ ))+49) ); (void) ( *( (fPt) ((* (ptr) pd173 ))))((word) (( (bPt) formal←c89572)+32), (* (( (ptr) formal←c89572)+13) ), pd173); }; SOURCE(30046, 31) (* (W2Pt) (( (ptr) formal←c89572)+11) ) = (* (W2Pt) (( (ptr) formal←c89572)+9) ); }; SOURCE(30082, 62) { word pd174; pd174 = (* (( (ptr) (* (( (ptr) gf←c89540)+208)/* var←c82212 */ ))+47) ); (void) ( *( (fPt) ((* (ptr) pd174 ))))(thisChild←v30836, (* (W2Pt) (( (ptr) formal←c89572)+11) ), (* (( (ptr) formal←c89572)+4) ), (* (( (ptr) formal←c89572)+5) ), pd174); }; SOURCE(30146, 25) (* (( (ptr) formal←c89572)+13) ) = thisChild←v30836; SOURCE(29896, 20) return(done←v30880); } static word DescriptorFromChildDescriptor←P2160(slice←v13992, childD←v14020) word slice←v13992; word childD←v14020; { register ptr gf←c89604 = (ptr) &globalframe; word sliceD←v14064; word outlineData←v30952; word outlineChildren←v30980; word ptr←v31008 = 0; word newParts←v31036; /* DescriptorFromChildDescriptor: */ SOURCE(30652, 653) SOURCE(30652, 653) sliceD←v14064 = 0; SOURCE(30773, 45) outlineData←v30952 = XR←Narrow((* (( (ptr) slice←v13992)+1) ), (* (( (ptr) gf←c89604)+7) )); SOURCE(30820, 17) outlineChildren←v30980 = (* (( (ptr) outlineData←v30952)+4) ); SOURCE(30905, 45) newParts←v31036 = XR←NewObject(4, (* (( (ptr) gf←c89604)+5) )); SOURCE(30952, 66) { W2 var←c84964; { word pd175; pd175 = (* (( (ptr) (* (( (ptr) gf←c89604)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd175 ))))((word) (&var←c84964), pd175); }; ptr←v31008 = var←c84964.f1; (* (ptr) newParts←v31036 ) = var←c84964.f0; }; SOURCE(31020, 221) { register word children←v31248; children←v31248 = outlineChildren←v30980; lab←L100141: ; if ((children←v31248 != 0)) { } else { goto lab←L100138; }; SOURCE(31103, 138) { W2 var←c84996; { word pd176; pd176 = (* (( (ptr) (* (( (ptr) gf←c89604)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd176 ))))((word) &var←c84996, ( ((* (ptr) children←v31248 ) == (* (ptr) childD←v14020 )) ? childD←v14020 : 0 ) , (* (ptr) newParts←v31036 ), ptr←v31008, pd176) ; }; ptr←v31008 = var←c84996.f1; (* (ptr) newParts←v31036 ) = var←c84996.f0; }; children←v31248 = (* (( (ptr) children←v31248)+1) ); goto lab←L100141; lab←L100138: ; }; SOURCE(31252, 53) { word pd177; pd177 = (* (( (ptr) (* (( (ptr) gf←c89604)+208)/* var←c82212 */ ))+8) ); sliceD←v14064 = (word) ( *( (fPt) ((* (ptr) pd177 ))))(slice←v13992, newParts←v31036, pd177); }; SOURCE(30652, 653) return(sliceD←v14064); } static word DescriptorFromChild←P2220(slice←v14124, child←v14152) word slice←v14124; word child←v14152; { register ptr gf←c89636 = (ptr) &globalframe; word sliceD←v14196; word childD←v31376; /* DescriptorFromChild: */ SOURCE(31311, 219) SOURCE(31311, 219) sliceD←v14196 = 0; SOURCE(31411, 64) { word pd178; pd178 = (* (( (ptr) (* (( (ptr) gf←c89636)+209)/* var←c82276 */ ))+29) ); childD←v31376 = (word) ( *( (fPt) ((* (ptr) pd178 ))))(child←v14152, 0, 6, pd178); }; SOURCE(31477, 53) sliceD←v14196 = (word) DescriptorFromChildDescriptor←P2160(slice←v14124, childD←v31376); SOURCE(31311, 219) return(sliceD←v14196); } static word TopLevelDescriptorFromChildDescriptor←P2280(childD←v14256) word childD←v14256; { register ptr gf←c89668 = (ptr) &globalframe; word ancestorD←v14300; /* TopLevelDescriptorFromChildDescriptor: */ SOURCE(31536, 307) SOURCE(31536, 307) ancestorD←v14300 = 0; SOURCE(31654, 189) { word pd179; pd179 = (* (( (ptr) (* (( (ptr) gf←c89668)+217)/* var←c85028 */ ))+39) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd179 ))))((* (ptr) (childD←v14256) ), pd179))) { SOURCE(31695, 20) return(childD←v14256); } else { SOURCE(31715, 128) { word var←c85124; word var←c85092; { word pd181; { word pd180; pd180 = (* (( (ptr) (* (( (ptr) gf←c89668)+207)/* var←c82180 */ ))+64) ); var←c85124 = (word) ( *( (fPt) ((* (ptr) pd180 ))))((* (ptr) (childD←v14256) ), pd180); }; pd181 = (* (( (ptr) (* (( (ptr) gf←c89668)+207)/* var←c82180 */ ))+82) ); var←c85092 = (word) ( *( (fPt) ((* (ptr) pd181 ))))(var←c85124, childD←v14256, pd181); }; return((word) TopLevelDescriptorFromChildDescriptor←P2280(var←c85092)); }; }; }; } static word ChildDescriptorFromDescriptor←P2340(sliceD←v14360, child←v14388) word sliceD←v14360; word child←v14388; { register ptr gf←c89700 = (ptr) &globalframe; word childD←v14432; word outlineParts←v31420; /* ChildDescriptorFromDescriptor: */ SOURCE(31849, 457) SOURCE(31849, 457) childD←v14432 = 0; SOURCE(31970, 49) outlineParts←v31420 = XR←Narrow((* (( (ptr) sliceD←v14360)+1) ), (* (( (ptr) gf←c89700)+5) )); SOURCE(32021, 29) if ((child←v14388 == 0)) { SOURCE(32039, 11) return(0); }; SOURCE(32052, 72) if ((outlineParts←v31420 == 0)) { SOURCE(32077, 47) { word pd182; pd182 = (* (( (ptr) (* (( (ptr) gf←c89700)+208)/* var←c82212 */ ))+8) ); return((word) ( *( (fPt) ((* (ptr) pd182 ))))(child←v14388, 0, pd182)); }; }; SOURCE(32126, 158) { register word list←v31464; list←v31464 = (* (ptr) outlineParts←v31420 ); lab←L100145: ; if ((list←v31464 != 0)) { } else { goto lab←L100142; }; SOURCE(32216, 68) if ( ( ((* (ptr) list←v31464 ) != 0) ? ((* (ptr) (* (ptr) list←v31464 ) ) == child←v14388) : 0 ) ) { SOURCE(32266, 18) return((* (ptr) list←v31464 )); }; list←v31464 = (* (( (ptr) list←v31464)+1) ); goto lab←L100145; lab←L100142: ; }; SOURCE(32295, 11) return(0); } static word RemoveTraj←P2400(sliceD←v14492, traj←v14520) word sliceD←v14492; word traj←v14520; { register ptr gf←c89732 = (ptr) &globalframe; word newD←v14564; /* RemoveTraj: */ SOURCE(32312, 823) SOURCE(32312, 823) newD←v14564 = 0; SOURCE(32411, 724) { word var←c85188; { word pd183; pd183 = (* (( (ptr) (* (( (ptr) gf←c89732)+209)/* var←c82276 */ ))+6) ); var←c85188 = (word) ( *( (fPt) ((* (ptr) pd183 ))))((* (ptr) (sliceD←v14492) ), pd183); }; if ((var←c85188 == (* (( (ptr) gf←c89732)+22) ))) { SOURCE(32468, 581) { word outlineParts←v31592; word newChildD←v31620 = 0; word newParts←v31648 = 0; word newChildDList←v31676 = 0; word ptr←v31704 = 0; SOURCE(32470, 49) outlineParts←v31592 = XR←Narrow((* (( (ptr) sliceD←v14492)+1) ), (* (( (ptr) gf←c89732)+5) )); SOURCE(32618, 59) { W2 var←c85220; { word pd184; pd184 = (* (( (ptr) (* (( (ptr) gf←c89732)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd184 ))))((word) (&var←c85220), pd184); }; ptr←v31704 = var←c85220.f1; newChildDList←v31676 = var←c85220.f0; }; SOURCE(32679, 248) { register word list←v31832; list←v31832 = (* (ptr) outlineParts←v31592 ); lab←L100149: ; if ((list←v31832 != 0)) { } else { goto lab←L100146; }; SOURCE(32769, 74) if (((* (ptr) list←v31832 ) == 0)) { newChildD←v31620 = 0; } else { newChildD←v31620 = (word) RemoveTraj←P2400((* (ptr) list←v31832 ), traj←v14520); }; SOURCE(32845, 82) { W2 var←c85252; { word pd185; pd185 = (* (( (ptr) (* (( (ptr) gf←c89732)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd185 ))))((word) &var←c85252, newChildD←v31620, newChildDList←v31676, ptr←v31704, pd185); }; ptr←v31704 = var←c85252.f1; newChildDList←v31676 = var←c85252.f0; }; list←v31832 = (* (( (ptr) list←v31832)+1) ); goto lab←L100149; lab←L100146: ; }; SOURCE(32938, 49) { word var←c85284; var←c85284 = XR←NewObject(4, (* (( (ptr) gf←c89732)+5) )); (* (ptr) var←c85284 ) = newChildDList←v31676; newParts←v31648 = var←c85284; }; SOURCE(32989, 58) { word pd186; pd186 = (* (( (ptr) (* (( (ptr) gf←c89732)+208)/* var←c82212 */ ))+8) ); newD←v14564 = (word) ( *( (fPt) ((* (ptr) pd186 ))))((* (ptr) sliceD←v14492 ), newParts←v31648, pd186); }; }; } else { if ((var←c85188 == (* (( (ptr) gf←c89732)+25) ))) { SOURCE(33066, 38) newD←v14564 = (word) OutlineRemoveTraj←P2460(sliceD←v14492, traj←v14520); } else { SOURCE(33122, 13) newD←v14564 = sliceD←v14492; }; }; }; SOURCE(32312, 823) return(newD←v14564); } static word OutlineRemoveTraj←P2460(outlineD←v14624, traj←v14652) word outlineD←v14624; word traj←v14652; { register ptr gf←c89764 = (ptr) &globalframe; word newD←v14696; word outlineParts←v31960; word seq←v31988 = 0; /* OutlineRemoveTraj: */ SOURCE(33144, 630) SOURCE(33144, 630) newD←v14696 = 0; SOURCE(33244, 51) outlineParts←v31960 = XR←Narrow((* (( (ptr) outlineD←v14624)+1) ), (* (( (ptr) gf←c89764)+5) )); SOURCE(33319, 455) { register word list←v32032; list←v32032 = (* (ptr) outlineParts←v31960 ); lab←L100154: ; if ((list←v32032 != 0)) { } else { goto lab←L100150; }; SOURCE(33411, 69) if ( ( ((* (ptr) list←v32032 ) != 0) ? ((* (ptr) (* (ptr) list←v32032 ) ) == traj←v14652) : 0 ) ) { SOURCE(33464, 16) seq←v31988 = (* (ptr) list←v32032 ); SOURCE(33482, 9) goto lab←L100153; }; list←v32032 = (* (( (ptr) list←v32032)+1) ); goto lab←L100154; lab←L100153: ; SOURCE(33511, 233) { word newSeqs←v32160; word newParts←v32188; SOURCE(33513, 9) { word pd187; pd187 = (* (( (ptr) (* (( (ptr) gf←c89764)+212)/* var←c83236 */ ))+14) ); newSeqs←v32160 = (word) ( *( (fPt) ((* (ptr) pd187 ))))(0, seq←v31988, (* (ptr) outlineParts←v31960 ), pd187); }; SOURCE(33625, 55) newParts←v32188 = XR←NewObject(4, (* (( (ptr) gf←c89764)+5) )); (* (ptr) newParts←v32188 ) = newSeqs←v32160; SOURCE(33682, 60) { word pd188; pd188 = (* (( (ptr) (* (( (ptr) gf←c89764)+208)/* var←c82212 */ ))+8) ); newD←v14696 = (word) ( *( (fPt) ((* (ptr) pd188 ))))((* (ptr) outlineD←v14624 ), newParts←v32188, pd188); }; }; goto lab←L100151; lab←L100150: ; SOURCE(33759, 15) newD←v14696 = outlineD←v14624; lab←L100151: ; }; SOURCE(33144, 630) return(newD←v14696); } static word DeleteControlPoints←P2520(outlineD←v14756, formal←c01101) word outlineD←v14756; word formal←c01101; { W8 var←c89796; /* declaration of scene←v14784 skipped */ register ptr gf←c89828 = (ptr) &globalframe; /* declaration of bBox←v14828 skipped */ /* declaration of var←c85348 skipped */ var←c89796.f4/* scene←v14784 */ = formal←c01101; /* DeleteControlPoints: */ SOURCE(33789, 439) { word tmpAddr189; tmpAddr189 = (word) (( (ptr) &var←c89796)+6)/* var←c85348 */ ; (* (ptr) tmpAddr189 ) = ( ((word) (fPt) DoDelete←P8112) ); (* (( (ptr) tmpAddr189) + 1) ) = 1; }; SOURCE(33789, 439) var←c89796.f5/* bBox←v14828 */ = 0; SOURCE(34054, 32) { word pd190; pd190 = (* (( (ptr) (* (( (ptr) gf←c89828)+210)/* var←c82308 */ ))+6) ); var←c89796.f5/* bBox←v14828 */ = (word) ( *( (fPt) ((* (ptr) pd190 ))))(pd190); }; SOURCE(34139, 89) { word var←c85380; word pd191; pd191 = (* (( (ptr) (* (( (ptr) gf←c89828)+207)/* var←c82180 */ ))+74) ); var←c85380 = (word) ( *( (fPt) ((* (ptr) pd191 ))))((* (ptr) outlineD←v14756 ), (* (( (ptr) outlineD←v14756)+1) ), 1, (word) ( ( (bPt) &var←c89796)+24)/* var←c85348 */ , (* (( (ptr) gf←c89828)+24) ), pd191); }; SOURCE(33789, 439) return(var←c89796.f5/* bBox←v14828 */ ); } static word DoDelete←P8112(nextPartsD←v32392, formal←c89892) word nextPartsD←v32392; word formal←c89892; { register ptr gf←c89860 = (ptr) &globalframe; word done←v32436; formal←c89892 = (formal←c89892 - 24); /* DoDelete: */ SOURCE(33894, 154) SOURCE(33894, 154) done←v32436 = 0; SOURCE(33972, 76) { word var←c85412; { word pd192; pd192 = (* (( (ptr) (* (( (ptr) gf←c89860)+214)/* var←c84292 */ ))+9) ); var←c85412 = (word) ( *( (fPt) ((* (ptr) pd192 ))))(nextPartsD←v32392, (* (( (ptr) formal←c89892)+4) ), pd192); }; { word pd193; pd193 = (* (( (ptr) (* (( (ptr) gf←c89860)+210)/* var←c82308 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd193 ))))((* (( (ptr) formal←c89892)+5) ), var←c85412, pd193); }; }; SOURCE(33894, 154) return(done←v32436); } static void SaveSelectionsInOutlineAllClasses←P2580(formal←c01102) word formal←c01102; { W7 var←c89924; /* declaration of outline←v14888 skipped */ register ptr gf←c89956 = (ptr) &globalframe; /* declaration of var←c85444 skipped */ word outlineData←v32492; word children←v32520; var←c89924.f4/* outline←v14888 */ = formal←c01102; /* SaveSelectionsInOutlineAllClasses: */ SOURCE(34234, 1100) { word tmpAddr194; tmpAddr194 = (word) (( (ptr) &var←c89924)+5)/* var←c85444 */ ; (* (ptr) tmpAddr194 ) = ( ((word) (fPt) SaveSelectionsAux←P8172) ); (* (( (ptr) tmpAddr194) + 1) ) = 1; }; SOURCE(34719, 47) outlineData←v32492 = XR←Narrow((* (( (ptr) var←c89924.f4/* outline←v14888 */ )+1) ), (* (( (ptr) gf←c89956)+7) )); SOURCE(34768, 10) children←v32520 = (* (( (ptr) outlineData←v32492)+4) ); SOURCE(34816, 396) { register word nextChildren←v32708; nextChildren←v32708 = children←v32520; lab←L100158: ; if ((nextChildren←v32708 != 0)) { } else { goto lab←L100155; }; { word nextChild←v32836; SOURCE(34904, 37) nextChild←v32836 = (* (ptr) nextChildren←v32708 ); SOURCE(34987, 49) { word pd195; pd195 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd195 ))))(nextChild←v32836, 0, 0, pd195); }; SOURCE(35047, 46) { word pd196; pd196 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd196 ))))(nextChild←v32836, 0, 1, pd196); }; SOURCE(35104, 49) { word pd197; pd197 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd197 ))))(nextChild←v32836, 0, 2, pd197); }; SOURCE(35164, 48) { word pd198; pd198 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd198 ))))(nextChild←v32836, 0, 3, pd198); }; }; nextChildren←v32708 = (* (( (ptr) nextChildren←v32708)+1) ); goto lab←L100158; lab←L100155: ; }; SOURCE(35232, 25) (void) SaveSelectionsAux←P8172(0, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ ); SOURCE(35259, 22) (void) SaveSelectionsAux←P8172(1, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ ); SOURCE(35283, 25) (void) SaveSelectionsAux←P8172(2, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ ); SOURCE(35310, 24) (void) SaveSelectionsAux←P8172(3, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ ); } static void SaveSelectionsAux←P8172(formal←c01103, formal←c90052) word formal←c01103; word formal←c90052; { W7 var←c89988; /* declaration of selectClass←v32596 skipped */ register ptr gf←c90020 = (ptr) &globalframe; /* declaration of var←c85476 skipped */ word outlineD←v32880; formal←c90052 = (formal←c90052 - 20); var←c89988.f4/* selectClass←v32596 */ = formal←c01103; var←c89988.f0 = formal←c90052; /* SaveSelectionsAux: */ SOURCE(34302, 409) { word tmpAddr199; tmpAddr199 = (word) (( (ptr) &var←c89988)+5)/* var←c85476 */ ; (* (ptr) tmpAddr199 ) = ( ((word) (fPt) DoSaveSelections←P8376) ); (* (( (ptr) tmpAddr199) + 1) ) = 1; }; SOURCE(34360, 76) { word pd200; pd200 = (* (( (ptr) (* (( (ptr) gf←c90020)+218)/* var←c85508 */ ))+20) ); outlineD←v32880 = (word) ( *( (fPt) ((* (ptr) pd200 ))))((* (( (ptr) formal←c90052)+4) ), var←c89988.f4/* selectClass←v32596 */ , pd200) ; }; SOURCE(34438, 273) if ((outlineD←v32880 != 0)) { SOURCE(34459, 254) SOURCE(34620, 91) { word var←c85540; word pd201; pd201 = (* (( (ptr) (* (( (ptr) gf←c90020)+207)/* var←c82180 */ ))+74) ); var←c85540 = (word) ( *( (fPt) ((* (ptr) pd201 ))))((* (ptr) outlineD←v32880 ), (* (( (ptr) outlineD←v32880)+1) ), 0, (word) ( ( (bPt) &var←c89988)+20)/* var←c85476 */ , 0, pd201); }; }; } static word DoSaveSelections←P8376(nextPart←v33000, formal←c90116) word nextPart←v33000; word formal←c90116; { register ptr gf←c90084 = (ptr) &globalframe; word done←v33044; formal←c90116 = (formal←c90116 - 20); /* DoSaveSelections: */ SOURCE(34461, 24) SOURCE(34461, 24) done←v33044 = 0; SOURCE(34545, 70) { word pd202; pd202 = (* (( (ptr) (* (( (ptr) gf←c90084)+209)/* var←c82276 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd202 ))))((* (ptr) nextPart←v33000 ), (* (( (ptr) nextPart←v33000)+1) ), (* (( (ptr) formal←c90116)+4) ), pd202); }; SOURCE(34461, 24) return(done←v33044); } static void UnpackHitData←P2640(formal←c0616, hitData←v14948) word formal←c0616; word hitData←v14948; { register ptr gf←c90148 = (ptr) &globalframe; word child←v15004; word hitType←v15032; word segNum←v15060; word cpNum←v15088; word jointNum←v15116; W2 hitPoint←v15144; word outlineHitData←v33072; /* UnpackHitData: */ SOURCE(35340, 373) SOURCE(35340, 373) child←v15004 = 0; SOURCE(35340, 373) hitType←v15032 = 0; SOURCE(35340, 373) segNum←v15060 = (word) -999; SOURCE(35340, 373) cpNum←v15088 = (word) -999; SOURCE(35340, 373) jointNum←v15116 = (word) -999; SOURCE(35497, 48) outlineHitData←v33072 = XR←Narrow(hitData←v14948, (* (( (ptr) gf←c90148)+6) )); SOURCE(35547, 28) child←v15004 = (* (ptr) outlineHitData←v33072 ); SOURCE(35577, 136) { word pd203; pd203 = (* (( (ptr) (* (( (ptr) gf←c90148)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd203 ))))(child←v15004, pd203) == (* (( (ptr) gf←c90148)+24) ))) { SOURCE(35617, 96) { W6 var←c85572; { word pd204; pd204 = (* (( (ptr) (* (( (ptr) gf←c90148)+214)/* var←c84292 */ ))+53) ); (void) ( *( (fPt) ((* (ptr) pd204 ))))((word) &var←c85572, (* (( (ptr) outlineHitData←v33072)+1) ), pd204); }; hitPoint←v15144 = (* (W2Pt) (( (ptr) &var←c85572)+4) ); jointNum←v15116 = var←c85572.f3; cpNum←v15088 = var←c85572.f2; segNum←v15060 = var←c85572.f1; hitType←v15032 = var←c85572.f0; }; }; }; /* removed tail goto */ (* (ptr) formal←c0616 ) = child←v15004; (* (( (ptr) formal←c0616)+1) ) = hitType←v15032; (* (( (ptr) formal←c0616)+2) ) = segNum←v15060; (* (( (ptr) formal←c0616)+3) ) = cpNum←v15088; (* (( (ptr) formal←c0616)+4) ) = jointNum←v15116; (* (W2Pt) (( (ptr) formal←c0616)+5) ) = hitPoint←v15144; return; } static void UnpackOneSegmentDescriptor←P2700(formal←c0623, outlineD←v15204) word formal←c0623; word outlineD←v15204; { register ptr gf←c90180 = (ptr) &globalframe; word childDescriptor←v15248; word segNum←v15276; word outlineParts←v33116 = 0; /* UnpackOneSegmentDescriptor: */ SOURCE(35719, 608) SOURCE(35719, 608) childDescriptor←v15248 = 0; SOURCE(35719, 608) segNum←v15276 = 999; SOURCE(35881, 84) { word pd206; if ((outlineD←v15204 == 0)) { goto then0205;}; pd206 = (* (( (ptr) (* (( (ptr) gf←c90180)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd206 ))))((* (ptr) (outlineD←v15204) ), pd206) != (* (( (ptr) gf←c90180)+25) ))) { then0205: ; SOURCE(35949, 16) childDescriptor←v15248 = 0; segNum←v15276 = 999; goto lab←L100160; }; }; SOURCE(35967, 37) outlineParts←v33116 = XR←Narrow((* (( (ptr) outlineD←v15204)+1) ), (* (( (ptr) gf←c90180)+5) )); SOURCE(36006, 321) { register word descriptors←v33160; descriptors←v33160 = (* (ptr) outlineParts←v33116 ); lab←L100164: ; if ((descriptors←v33160 != 0)) { } else { goto lab←L100161; }; SOURCE(36119, 208) if (((* (ptr) descriptors←v33160 ) != 0)) { SOURCE(36151, 35) childDescriptor←v15248 = (* (ptr) descriptors←v33160 ); SOURCE(36188, 131) { word pd207; pd207 = (* (( (ptr) (* (( (ptr) gf←c90180)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd207 ))))((* (ptr) (childDescriptor←v15248) ), pd207) == (* (( (ptr) gf←c90180)+24) ))) { SOURCE(36244, 75) { word var←c85604; var←c85604 = XR←Narrow((* (( (ptr) childDescriptor←v15248)+1) ), (* (( (ptr) gf←c90180)+21) )); { word pd208; pd208 = (* (( (ptr) (* (( (ptr) gf←c90180)+219)/* var←c85636 */ ))+35) ); segNum←v15276 = (word) ( *( (fPt) ((* (ptr) pd208 ))))(var←c85604, pd208); }; }; }; }; SOURCE(36321, 6) goto lab←L100160; }; descriptors←v33160 = (* (( (ptr) descriptors←v33160)+1) ); goto lab←L100164; lab←L100161: ; }; /* removed tail goto */ lab←L100160: ; (* (ptr) formal←c0623 ) = childDescriptor←v15248; (* (( (ptr) formal←c0623)+1) ) = segNum←v15276; return; } static void UnpackSimpleDescriptor←P2760(formal←c0638, outlineD←v15336) word formal←c0638; word outlineD←v15336; { register ptr gf←c90212 = (ptr) &globalframe; word success←v15380; word hitType←v15408; word childDescriptor←v15436; word joint←v15464; word jointNum←v15492; W2 cp←v15520; word cpNum←v15548; word seg←v15576; word segNum←v15604; word outlineParts←v33288 = 0; /* UnpackSimpleDescriptor: */ SOURCE(36345, 877) SOURCE(36345, 877) success←v15380 = 0; SOURCE(36345, 877) hitType←v15408 = 0; SOURCE(36345, 877) childDescriptor←v15436 = 0; SOURCE(36345, 877) joint←v15464 = 0; SOURCE(36345, 877) jointNum←v15492 = 999; SOURCE(36345, 877) cp←v15520.f0 = (* (ptr) &fc48 ); cp←v15520.f1 = (* (ptr) &fc48 ); SOURCE(36345, 877) cpNum←v15548 = 999; SOURCE(36345, 877) seg←v15576 = 0; SOURCE(36345, 877) segNum←v15604 = 999; SOURCE(36660, 74) { word pd210; if ((outlineD←v15336 == 0)) { goto then0209;}; pd210 = (* (( (ptr) (* (( (ptr) gf←c90212)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd210 ))))((* (ptr) (outlineD←v15336) ), pd210) != (* (( (ptr) gf←c90212)+25) ))) { then0209: ; SOURCE(36728, 6) goto lab←L100165; }; }; SOURCE(36736, 37) outlineParts←v33288 = XR←Narrow((* (( (ptr) outlineD←v15336)+1) ), (* (( (ptr) gf←c90212)+5) )); SOURCE(36775, 447) { register word descriptors←v33332; descriptors←v33332 = (* (ptr) outlineParts←v33288 ); lab←L100169: ; if ((descriptors←v33332 != 0)) { } else { goto lab←L100166; }; SOURCE(36888, 334) if (((* (ptr) descriptors←v33332 ) != 0)) { SOURCE(36920, 14) success←v15380 = 1; SOURCE(36975, 35) childDescriptor←v15436 = (* (ptr) descriptors←v33332 ); SOURCE(37012, 202) { word pd211; pd211 = (* (( (ptr) (* (( (ptr) gf←c90212)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd211 ))))((* (ptr) (childDescriptor←v15436) ), pd211) == (* (( (ptr) gf←c90212)+24) ))) { SOURCE(37069, 145) { W10 var←c85668; { word pd212; pd212 = (* (( (ptr) (* (( (ptr) gf←c90212)+219)/* var←c85636 */ ))+36) ); (void) ( *( (fPt) ((* (ptr) pd212 ))))((word) &var←c85668, (* (ptr) childDescriptor←v15436 ), (* (( (ptr) childDescriptor←v15436)+1) ), pd212); }; segNum←v15604 = (* (( (ptr) &var←c85668)+9) ); seg←v15576 = (* (( (ptr) &var←c85668)+8) ); cpNum←v15548 = (* (( (ptr) &var←c85668)+7) ); cp←v15520 = (* (W2Pt) (( (ptr) &var←c85668)+5) ); jointNum←v15492 = (* (( (ptr) &var←c85668)+4) ); joint←v15464 = (* (( (ptr) &var←c85668)+3) ); hitType←v15408 = (* (( (ptr) &var←c85668)+1) ); success←v15380 = (* (ptr) &var←c85668 ); }; }; }; SOURCE(37216, 6) goto lab←L100165; }; descriptors←v33332 = (* (( (ptr) descriptors←v33332)+1) ); goto lab←L100169; lab←L100166: ; }; /* removed tail goto */ lab←L100165: ; (* (ptr) formal←c0638 ) = success←v15380; (* (( (ptr) formal←c0638)+1) ) = hitType←v15408; (* (( (ptr) formal←c0638)+2) ) = childDescriptor←v15436; (* (( (ptr) formal←c0638)+3) ) = joint←v15464; (* (( (ptr) formal←c0638)+4) ) = jointNum←v15492; (* (W2Pt) (( (ptr) formal←c0638)+5) ) = cp←v15520; (* (( (ptr) formal←c0638)+7) ) = cpNum←v15548; (* (( (ptr) formal←c0638)+8) ) = seg←v15576; (* (( (ptr) formal←c0638)+9) ) = segNum←v15604; return; } static word FindTrajShapeInOutline←P2820(formal←c01104, outline←v15692) word formal←c01104; word outline←v15692; { W9 var←c90244; /* declaration of traj←v15664 skipped */ register ptr gf←c90276 = (ptr) &globalframe; /* declaration of oldTrajs←v15736 skipped */ /* declaration of var←c85700 skipped */ word outlineData←v33460; /* declaration of tail←v33488 skipped */ (* (( (ptr) &var←c90244)+4)/* traj←v15664 */ ) = formal←c01104; /* FindTrajShapeInOutline: */ SOURCE(37240, 408) { word tmpAddr213; tmpAddr213 = (word) (( (ptr) &var←c90244)+6)/* var←c85700 */ ; (* (ptr) tmpAddr213 ) = ( ((word) (fPt) MatchTraj←P8532) ); (* (( (ptr) tmpAddr213) + 1) ) = 1; }; SOURCE(37240, 408) (* (( (ptr) &var←c90244)+5)/* oldTrajs←v15736 */ ) = 0; SOURCE(37344, 47) outlineData←v33460 = XR←Narrow((* (( (ptr) outline←v15692)+1) ), (* (( (ptr) gf←c90276)+7) )); SOURCE(37393, 6) (* (( (ptr) &var←c90244)+8)/* tail←v33488 */ ) = 0; SOURCE(37588, 60) { word var←c85732; word pd214; pd214 = (* (( (ptr) (* (( (ptr) gf←c90276)+207)/* var←c82180 */ ))+73) ); var←c85732 = (word) ( *( (fPt) ((* (ptr) pd214 ))))(outline←v15692, 0, (word) (( (bPt) &var←c90244)+24)/* var←c85700 */ , (* ( ( (ptr) gf←c90276)+24) ), pd214); }; SOURCE(37240, 408) return((* (( (ptr) &var←c90244)+5)/* oldTrajs←v15736 */ )); } static word MatchTraj←P8532(oldTraj←v33676, formal←c90340) word oldTraj←v33676; word formal←c90340; { register ptr gf←c90308 = (ptr) &globalframe; word done←v33720; formal←c90340 = (formal←c90340 - 24); /* MatchTraj: */ SOURCE(37414, 169) SOURCE(37414, 169) done←v33720 = 0; SOURCE(37480, 103) { word pd215; pd215 = (* (( (ptr) (* (( (ptr) gf←c90308)+214)/* var←c84292 */ ))+28) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd215 ))))((* (( (ptr) formal←c90340)+4) ), oldTraj←v33676, pd215))) { SOURCE(37521, 62) { W2 var←c85764; { word pd216; pd216 = (* (( (ptr) (* (( (ptr) gf←c90308)+212)/* var←c83236 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd216 ))))((word) &var←c85764, oldTraj←v33676, (* (( (ptr) formal←c90340)+5) ), (* (( (ptr) formal←c90340)+8) ), pd216); }; (* (( (ptr) formal←c90340)+8) ) = var←c85764.f1; (* (( (ptr) formal←c90340)+5) ) = var←c85764.f0; }; }; }; SOURCE(37414, 169) return(done←v33720); } static word TrajsInOutline←P2880(outline←v15880) word outline←v15880; { register ptr gf←c90372 = (ptr) &globalframe; word trajGen←v15924; word outlineData←v33748; word partsList←v33776; /* TrajsInOutline: */ SOURCE(37654, 238) SOURCE(37654, 238) trajGen←v15924 = 0; SOURCE(37738, 47) outlineData←v33748 = XR←Narrow((* (( (ptr) outline←v15880)+1) ), (* (( (ptr) gf←c90372)+7) )); SOURCE(37787, 11) partsList←v33776 = (word) TrajectoriesOfOutline←P2940(outline←v15880); SOURCE(37846, 46) { word var←c85796; var←c85796 = XR←NewObject(4, (* (( (ptr) gf←c90372)+19) )); (* (ptr) var←c85796 ) = partsList←v33776; trajGen←v15924 = var←c85796; }; SOURCE(37654, 238) return(trajGen←v15924); } static word TrajectoriesOfOutline←P2940(outline←v15984) word outline←v15984; { register ptr gf←c90404 = (ptr) &globalframe; word trajs←v16028; word outlineData←v33904; word ptr←v33932 = 0; /* TrajectoriesOfOutline: */ SOURCE(37898, 442) SOURCE(37898, 442) trajs←v16028 = 0; SOURCE(37991, 47) outlineData←v33904 = XR←Narrow((* (( (ptr) outline←v15984)+1) ), (* (( (ptr) gf←c90404)+7) )); SOURCE(38060, 55) { word pd217; pd217 = (* (( (ptr) (* (( (ptr) gf←c90404)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd217 ))))(outline←v15984, pd217) != (* (( (ptr) gf←c90404)+25) ))) { SOURCE(38109, 6) return(trajs←v16028); }; }; SOURCE(38117, 41) { W2 var←c85828; { word pd218; pd218 = (* (( (ptr) (* (( (ptr) gf←c90404)+212)/* var←c83236 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd218 ))))((word) (&var←c85828), pd218); }; ptr←v33932 = var←c85828.f1; trajs←v16028 = var←c85828.f0; }; SOURCE(38160, 180) { register word list←v34060; list←v34060 = (* (( (ptr) outlineData←v33904)+4) ); lab←L100173: ; if ((list←v34060 != 0)) { } else { goto lab←L100170; }; SOURCE(38238, 102) { word pd219; pd219 = (* (( (ptr) (* (( (ptr) gf←c90404)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd219 ))))((* (ptr) (list←v34060) ), pd219) == (* (( (ptr) gf←c90404)+24) ))) { SOURCE(38283, 57) { W2 var←c85860; { word pd220; pd220 = (* (( (ptr) (* (( (ptr) gf←c90404)+212)/* var←c83236 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd220 ))))((word) &var←c85860, (* (ptr) list←v34060 ), trajs←v16028, ptr←v33932, pd220); }; ptr←v33932 = var←c85860.f1; trajs←v16028 = var←c85860.f0; }; }; }; list←v34060 = (* (( (ptr) list←v34060)+1) ); goto lab←L100173; lab←L100170: ; }; SOURCE(37898, 442) return(trajs←v16028); } static word ListHoles←P3000(outline←v16172) word outline←v16172; { register ptr gf←c90436 = (ptr) &globalframe; word holesList←v16216; word data←v34188; /* ListHoles: */ SOURCE(38355, 196) SOURCE(38355, 196) holesList←v16216 = 0; SOURCE(38434, 40) data←v34188 = XR←Narrow((* (( (ptr) outline←v16172)+1) ), (* (( (ptr) gf←c90436)+7) )); SOURCE(38476, 75) { word pd221; pd221 = (* (( (ptr) (* (( (ptr) gf←c90436)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd221 ))))(outline←v16172, pd221) == (* (( (ptr) gf←c90436)+25) ))) { SOURCE(38521, 30) holesList←v16216 = (* (( (ptr) (* (( (ptr) data←v34188)+4) ))+1) ); }; }; SOURCE(38355, 196) return(holesList←v16216); } static word HasHoles←P3060(outline←v16360) word outline←v16360; { register ptr gf←c90468 = (ptr) &globalframe; word var←c16404; word data←v34232; /* HasHoles: */ SOURCE(38557, 180) SOURCE(38557, 180) var←c16404 = 0; SOURCE(38624, 40) data←v34232 = XR←Narrow((* (( (ptr) outline←v16360)+1) ), (* (( (ptr) gf←c90468)+7) )); SOURCE(38666, 71) { word tc222; word pd223; pd223 = (* (( (ptr) (* (( (ptr) gf←c90468)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd223 ))))(outline←v16360, pd223) == (* (( (ptr) gf←c90468)+25) ))) { tc222 = (word) (unsigned) ((* (( (ptr) (* (( (ptr) data←v34232)+4) ))+1) ) != 0); } else { tc222 = (word) (unsigned) 0; }; return(tc222); }; } static word Parts←P3120(outlineD←v16464) word outlineD←v16464; { word partsGen←v16508; /* Parts: */ SOURCE(38742, 145) SOURCE(38742, 145) partsGen←v16508 = 0; SOURCE(38838, 49) partsGen←v16508 = (word) Parts2←P3240((* (ptr) outlineD←v16464 ), (* (( (ptr) outlineD←v16464)+1) )); SOURCE(38742, 145) return(partsGen←v16508); } static word PartsList←P3180(sliceD←v16568) word sliceD←v16568; { register ptr gf←c90500 = (ptr) &globalframe; word partsList←v16612; word outlineParts←v34276; word ptr←v34304 = 0; /* PartsList: */ SOURCE(38892, 428) SOURCE(38892, 428) partsList←v16612 = 0; SOURCE(38990, 49) outlineParts←v34276 = XR←Narrow((* (( (ptr) sliceD←v16568)+1) ), (* (( (ptr) gf←c90500)+5) )); SOURCE(39071, 55) { W2 var←c85924; { word pd224; pd224 = (* (( (ptr) (* (( (ptr) gf←c90500)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd224 ))))((word) (&var←c85924), pd224); }; ptr←v34304 = var←c85924.f1; partsList←v16612 = var←c85924.f0; }; SOURCE(39128, 192) { register word list←v34432; list←v34432 = (* (ptr) outlineParts←v34276 ); lab←L100177: ; if ((list←v34432 != 0)) { } else { goto lab←L100174; }; SOURCE(39220, 100) if (((* (ptr) list←v34432 ) != 0)) { SOURCE(39245, 75) { W2 var←c85956; { word pd225; pd225 = (* (( (ptr) (* (( (ptr) gf←c90500)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd225 ))))((word) &var←c85956, (* (ptr) list←v34432 ), partsList←v16612, ptr←v34304, pd225) ; }; ptr←v34304 = var←c85956.f1; partsList←v16612 = var←c85956.f0; }; }; list←v34432 = (* (( (ptr) list←v34432)+1) ); goto lab←L100177; lab←L100174: ; }; SOURCE(38892, 428) return(partsList←v16612); } static word Parts2←P3240(outline←v16756, parts←v16784) word outline←v16756; word parts←v16784; { register ptr gf←c90532 = (ptr) &globalframe; word partsGen←v16828; /* Parts2: */ SOURCE(39335, 573) SOURCE(39335, 573) partsGen←v16828 = 0; SOURCE(39440, 49) partsGen←v16828 = XR←NewObject(4, (* (( (ptr) gf←c90532)+17) )); SOURCE(39491, 417) if ((parts←v16784 == 0)) { SOURCE(39509, 27) return(partsGen←v16828); } else { SOURCE(39536, 374) { word outlineParts←v34560; word partsList←v34588 = 0; word ptr←v34616 = 0; SOURCE(39538, 42) outlineParts←v34560 = XR←Narrow(parts←v16784, (* (( (ptr) gf←c90532)+5) )); SOURCE(39623, 55) { W2 var←c86020; { word pd226; pd226 = (* (( (ptr) (* (( (ptr) gf←c90532)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd226 ))))((word) (&var←c86020), pd226); }; ptr←v34616 = var←c86020.f1; partsList←v34588 = var←c86020.f0; }; SOURCE(39680, 192) { register word list←v34744; list←v34744 = (* (ptr) outlineParts←v34560 ); lab←L100181: ; if ((list←v34744 != 0)) { } else { goto lab←L100178; }; SOURCE(39772, 100) if (((* (ptr) list←v34744 ) != 0)) { SOURCE(39797, 75) { W2 var←c86052; { word pd227; pd227 = (* (( (ptr) (* (( (ptr) gf←c90532)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd227 ))))((word) &var←c86052, (* (ptr) list←v34744 ), partsList←v34588, ptr←v34616, pd227) ; }; ptr←v34616 = var←c86052.f1; partsList←v34588 = var←c86052.f0; }; }; list←v34744 = (* (( (ptr) list←v34744)+1) ); goto lab←L100181; lab←L100178: ; }; SOURCE(39883, 25) (* (ptr) partsGen←v16828 ) = partsList←v34588; }; }; SOURCE(39335, 573) return(partsGen←v16828); } static word Children←P3300(outline←v16888) word outline←v16888; { register ptr gf←c90564 = (ptr) &globalframe; word children←v16932; word data←v34872; /* Children: */ SOURCE(39917, 180) SOURCE(39917, 180) children←v16932 = 0; SOURCE(39996, 40) data←v34872 = XR←Narrow((* (( (ptr) outline←v16888)+1) ), (* (( (ptr) gf←c90564)+7) )); SOURCE(40038, 59) { word var←c86084; var←c86084 = XR←NewObject(4, (* (( (ptr) gf←c90564)+19) )); (* (ptr) var←c86084 ) = (* (( (ptr) data←v34872)+4) ); children←v16932 = var←c86084; }; SOURCE(39917, 180) return(children←v16932); } static word ChildList←P3360(outline←v16992) word outline←v16992; { register ptr gf←c90596 = (ptr) &globalframe; word childList←v17036; word data←v34916; /* ChildList: */ SOURCE(40103, 147) SOURCE(40103, 147) childList←v17036 = 0; SOURCE(40183, 40) data←v34916 = XR←Narrow((* (( (ptr) outline←v16992)+1) ), (* (( (ptr) gf←c90596)+7) )); SOURCE(40225, 25) childList←v17036 = (* (( (ptr) data←v34916)+4) ); SOURCE(40103, 147) return(childList←v17036); } static word WalkChildren←P3420(parent←v17180, level←v17208, walkProc←v17236, classType←v17264) word parent←v17180; word level←v17208; word walkProc←v17236; word classType←v17264; { register ptr gf←c90628 = (ptr) &globalframe; word aborted←v17308; /* WalkChildren: */ SOURCE(40258, 773) SOURCE(40258, 773) aborted←v17308 = 0; SOURCE(40408, 623) { word pd228; pd228 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+62) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd228 ))))(parent←v17180, pd228))) { SOURCE(40442, 603) { word outlineData←v34960; SOURCE(40444, 46) outlineData←v34960 = XR←Narrow((* (( (ptr) parent←v17180)+1) ), (* (( (ptr) gf←c90628)+7) )); SOURCE(40492, 539) { register word slices←v35004; slices←v35004 = (* (( (ptr) outlineData←v34960)+4) ); lab←L100185: ; if ((slices←v35004 != 0)) { } else { goto lab←L100182; }; { word thisType←v35132; SOURCE(40576, 49) { word pd229; pd229 = (* (( (ptr) (* (( (ptr) gf←c90628)+209)/* var←c82276 */ ))+6) ); thisType←v35132 = (word) ( *( (fPt) ((* (ptr) pd229 ))))((* (ptr) (slices←v35004) ), pd229); }; SOURCE(40627, 179) { word tc230; word pd232; if ((level←v17208 != 1)) { goto then0231;}; pd232 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+72) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd232 ))))((* (ptr) slices←v35004 ), classType←v17264, pd232))) { then0231: ; if ((classType←v17264 == 0)) { tc230 = (word) 1; } else { tc230 = (word) (thisType←v35132 == classType←v17264); }; } else { tc230 = (word) 0; }; if (tc230) { SOURCE(40749, 33) aborted←v17308 = (word) ( *( (fPt) ((* (ptr) walkProc←v17236 ))))((* (ptr) (slices←v35004) ), walkProc←v17236); SOURCE(40784, 22) if ((0 != aborted←v17308)) { SOURCE(40800, 6) return(aborted←v17308); }; }; }; SOURCE(40811, 220) { word tc233; word pd234; if (((level←v17208 == 2) || (level←v17208 == 1)) || ( (level←v17208 == 3) ? (thisType←v35132 != classType←v17264) : 0 ) ) { pd234 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+62) ); tc233 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd234 ))))((* (ptr) (slices←v35004) ), pd234)); } else { tc233 = (word) 0; }; if (tc233) { SOURCE(40933, 74) { word pd235; pd235 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+73) ); aborted←v17308 = (word) ( *( (fPt) ((* (ptr) pd235 ))))((* (ptr) slices←v35004 ), level←v17208, walkProc←v17236, classType←v17264, pd235) ; }; SOURCE(41009, 22) if ((0 != aborted←v17308)) { SOURCE(41025, 6) return(aborted←v17308); }; }; }; }; slices←v35004 = (* (( (ptr) slices←v35004)+1) ); goto lab←L100185; lab←L100182: ; }; }; }; }; SOURCE(40258, 773) return(aborted←v17308); } static word WalkIncludedChildren←P3480(parent←v17368, parts←v17396, level←v17424, walkProc←v17452, classType←v17480) word parent←v17368; word parts←v17396; word level←v17424; word walkProc←v17452; word classType←v17480; { register ptr gf←c90660 = (ptr) &globalframe; word aborted←v17524; word type←v35176; /* WalkIncludedChildren: */ SOURCE(41052, 1081) SOURCE(41052, 1081) aborted←v17524 = 0; SOURCE(41233, 39) { word pd236; pd236 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+6) ); type←v35176 = (word) ( *( (fPt) ((* (ptr) pd236 ))))(parent←v17368, pd236); }; SOURCE(41274, 859) { word pd237; pd237 = (* (( (ptr) (* (( (ptr) gf←c90660)+207)/* var←c82180 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd237 ))))(type←v35176, pd237))) { SOURCE(41310, 840) { word outlineParts←v35220; SOURCE(41312, 42) outlineParts←v35220 = XR←Narrow(parts←v17396, (* (( (ptr) gf←c90660)+5) )); SOURCE(41356, 33) if ((outlineParts←v35220 == 0)) { SOURCE(41383, 6) return(aborted←v17524); }; SOURCE(41391, 742) { register word childDList←v35264; childDList←v35264 = (* (ptr) outlineParts←v35220 ); lab←L100189: ; if ((childDList←v35264 != 0)) { } else { goto lab←L100186; }; { word thisChildD←v35392; SOURCE(41501, 46) thisChildD←v35392 = (* (ptr) childDList←v35264 ); SOURCE(41549, 584) { word tc238; word pd239; if ((thisChildD←v35392 != 0)) { pd239 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+27) ); tc238 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd239 ))))(thisChildD←v35392, pd239)); } else { tc238 = (word) 0; }; if (tc238) { SOURCE(41618, 520) { word thisType←v35436; SOURCE(41620, 53) { /*1*/ word pd240; /*1*/ pd240 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+6) ); /*1*/ thisType←v35436 = (word) ( *( (fPt) ((* (ptr) pd240 ))))((* (ptr) (thisChildD←v35392) ), pd240); /*1*/ }; SOURCE(41675, 209) { /*1*/ word tc241; /*1*/ word pd243; /*1*/ word pd244; /*1*/ if ((level←v17424 != 1)) { goto then0242;}; /*1*/ pd243 = (* (( (ptr) (* (( (ptr) gf←c90660)+207)/* var←c82180 */ ))+72) ); /*1*/ if ((0 != (word) ( *( (fPt) ((* (ptr) pd243 ))))((* (ptr) thisChildD←v35392 ), classType←v17480, pd243))) { /*1*/ then0242: ; /*1*/ if ((classType←v17480 == 0)) { /*1*/ tc241 = (word) 1; /*1*/ } /*1*/ else { /*1*/ pd244 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+6) ); /*1*/ tc241 = (word) ((word) ( *( (fPt) ((* (ptr) pd244 ))))((* (ptr) (thisChildD←v35392) ), pd244) == classType←v17480); /*1*/ }; /*1*/ } /*1*/ else { /*1*/ tc241 = (word) 0; /*1*/ }; /*1*/ if (tc241) { SOURCE(41829, 31) /*1*/ aborted←v17524 = (word) ( *( (fPt) ((* (ptr) walkProc←v17452 ))))(thisChildD←v35392, walkProc←v17452); SOURCE(41862, 22) /*1*/ if ((0 != aborted←v17524)) { SOURCE(41878, 6) /*1*/ return(aborted←v17524); /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(41889, 244) { /*1*/ word tc245; /*1*/ word pd246; /*1*/ if (((level←v17424 == 2) || (level←v17424 == 1)) || ( (level←v17424 == 3) ? (thisType←v35436 != classType←v17480) : 0 ) ) { /*1*/ pd246 = (* (( (ptr) (* (( (ptr) gf←c90660)+207)/* var←c82180 */ ))+62) ); /*1*/ tc245 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd246 ))))((* (ptr) (thisChildD←v35392) ), pd246)); /*1*/ } /*1*/ else { /*1*/ tc245 = (word) 0; /*1*/ }; /*1*/ if (tc245) { SOURCE(42015, 94) /*1*/ aborted←v17524 = (word) WalkIncludedChildren←P3480((* (ptr) thisChildD←v35392 ), (* (( (ptr) thisChildD←v35392)+1) ), level←v17424, walkProc←v17452, classType←v17480) /*1*/ ; SOURCE(42111, 22) /*1*/ if ((0 != aborted←v17524)) { SOURCE(42127, 6) /*1*/ return(aborted←v17524); /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; childDList←v35264 = (* (( (ptr) childDList←v35264)+1) ); goto lab←L100189; lab←L100186: ; }; }; }; }; SOURCE(41052, 1081) return(aborted←v17524); } static word WalkIncludedParts←P3540(parent←v17584, parts←v17612, level←v17640, walkProc←v17668, classType←v17696) word parent←v17584; word parts←v17612; word level←v17640; word walkProc←v17668; word classType←v17696; { register ptr gf←c90692 = (ptr) &globalframe; word aborted←v17740; word type←v35480; /* WalkIncludedParts: */ SOURCE(42157, 1775) SOURCE(42157, 1775) aborted←v17740 = 0; SOURCE(42323, 39) { word pd247; pd247 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) ); type←v35480 = (word) ( *( (fPt) ((* (ptr) pd247 ))))(parent←v17584, pd247); }; SOURCE(42364, 1568) { word pd248; pd248 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+63) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd248 ))))(type←v35480, pd248))) { SOURCE(42402, 1530) if ((parts←v17612 == 0)) { SOURCE(42422, 659) { word outlineData←v35524; SOURCE(42424, 46) outlineData←v35524 = XR←Narrow((* (( (ptr) parent←v17584)+1) ), (* (( (ptr) gf←c90692)+7) )); SOURCE(42472, 595) { register word childList←v35568; childList←v35568 = (* (( (ptr) outlineData←v35524)+4) ); lab←L100193: ; if ((childList←v35568 != 0)) { } else { goto lab←L100190; }; { word thisChild←v35696; word thisType←v35724; SOURCE(42565, 34) thisChild←v35696 = (* (ptr) childList←v35568 ); SOURCE(42601, 46) { word pd249; pd249 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) ); thisType←v35724 = (word) ( *( (fPt) ((* (ptr) pd249 ))))(thisChild←v35696, pd249); }; SOURCE(42649, 199) { word tc250; word pd252; word pd253; if ((level←v17640 != 1)) { goto then0251;}; pd252 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+72) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd252 ))))(thisChild←v35696, classType←v17696, pd252))) { then0251: ; if ((classType←v17696 == 0)) { /*1*/ tc250 = (word) 1; /*1*/ } else { /*1*/ pd253 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) ); /*1*/ tc250 = (word) ((word) ( *( (fPt) ((* (ptr) pd253 ))))(thisChild←v35696, pd253) == classType←v17696); /*1*/ }; } else { tc250 = (word) 0; }; if (tc250) { SOURCE(42789, 35) aborted←v17740 = (word) ( *( (fPt) ((* (ptr) walkProc←v17668 ))))(thisChild←v35696, 0, walkProc←v17668); SOURCE(42826, 22) if ((0 != aborted←v17740)) { SOURCE(42842, 6) /*1*/ return(aborted←v17740); /*1*/ }; }; }; SOURCE(42853, 214) { word tc254; word pd255; if (((level←v17640 == 2) || (level←v17640 == 1)) || ( (level←v17640 == 3) ? (thisType←v35724 != classType←v17696) : 0 ) ) { pd255 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+62) ); tc254 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd255 ))))(thisChild←v35696, pd255)); } else { tc254 = (word) 0; }; if (tc254) { SOURCE(42972, 71) aborted←v17740 = (word) WalkIncludedParts←P3540(thisChild←v35696, 0, level←v17640, walkProc←v17668, classType←v17696); SOURCE(43045, 22) if ((0 != aborted←v17740)) { SOURCE(43061, 6) /*1*/ return(aborted←v17740); /*1*/ }; }; }; }; childList←v35568 = (* (( (ptr) childList←v35568)+1) ); goto lab←L100193; lab←L100190: ; }; }; } else { SOURCE(43088, 861) { word outlineParts←v35768; SOURCE(43090, 42) outlineParts←v35768 = XR←Narrow(parts←v17612, (* (( (ptr) gf←c90692)+5) )); SOURCE(43134, 33) if ((outlineParts←v35768 == 0)) { SOURCE(43161, 6) return(aborted←v17740); }; SOURCE(43169, 763) { register word childDList←v35812; childDList←v35812 = (* (ptr) outlineParts←v35768 ); lab←L100197: ; if ((childDList←v35812 != 0)) { } else { goto lab←L100194; }; { word thisChildD←v35940; SOURCE(43279, 46) thisChildD←v35940 = (* (ptr) childDList←v35812 ); SOURCE(43327, 605) { word tc256; word pd257; if ((thisChildD←v35940 != 0)) { pd257 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+27) ); tc256 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd257 ))))(thisChildD←v35940, pd257)); } else { tc256 = (word) 0; }; if (tc256) { SOURCE(43396, 541) { /*1*/ word thisType←v35984; SOURCE(43398, 53) /*1*/ { /*1*/ word pd258; /*1*/ pd258 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) ); /*1*/ thisType←v35984 = (word) ( *( (fPt) ((* (ptr) pd258 ))))((* (ptr) (thisChildD←v35940) ), pd258); /*1*/ }; SOURCE(43453, 233) /*1*/ { /*1*/ word tc259; /*1*/ word pd261; /*1*/ word pd262; /*1*/ if ((level←v17640 != 1)) { goto then0260;}; /*1*/ pd261 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+72) ); /*1*/ if ((0 != (word) ( *( (fPt) ((* (ptr) pd261 ))))((* (ptr) thisChildD←v35940 ), classType←v17696, pd261))) { /*1*/ then0260: ; /*1*/ if ((classType←v17696 == 0)) { /*1*/ tc259 = (word) 1; /*1*/ } /*1*/ else { /*1*/ pd262 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) ); /*1*/ tc259 = (word) ((word) ( *( (fPt) ((* (ptr) pd262 ))))((* (ptr) (thisChildD←v35940) ), pd262) == classType←v17696); /*1*/ }; /*1*/ } /*1*/ else { /*1*/ tc259 = (word) 0; /*1*/ }; /*1*/ if (tc259) { SOURCE(43607, 55) /*1*/ aborted←v17740 = (word) ( *( (fPt) ((* (ptr) walkProc←v17668 ))))((* (ptr) thisChildD←v35940 ), (* (( (ptr) thisChildD←v35940)+1) /*1*/ ), walkProc←v17668); SOURCE(43664, 22) /*1*/ if ((0 != aborted←v17740)) { SOURCE(43680, 6) /*1*/ return(aborted←v17740); /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(43691, 241) /*1*/ { /*1*/ word tc263; /*1*/ word pd264; /*1*/ if (((level←v17640 == 2) || (level←v17640 == 1)) || ( (level←v17640 == 3) ? (thisType←v35984 != classType←v17696) : 0 ) ) { /*1*/ pd264 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+62) ); /*1*/ tc263 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd264 ))))((* (ptr) (thisChildD←v35940) ), pd264)); /*1*/ } /*1*/ else { /*1*/ tc263 = (word) 0; /*1*/ }; /*1*/ if (tc263) { SOURCE(43817, 91) /*1*/ aborted←v17740 = (word) WalkIncludedParts←P3540((* (ptr) thisChildD←v35940 ), (* (( (ptr) thisChildD←v35940)+1) ), level←v17640, walkProc←v17668, classType←v17696) /*1*/ ; SOURCE(43910, 22) /*1*/ if ((0 != aborted←v17740)) { SOURCE(43926, 6) /*1*/ return(aborted←v17740); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; childDList←v35812 = (* (( (ptr) childDList←v35812)+1) ); goto lab←L100197; lab←L100194: ; }; }; }; }; }; SOURCE(42157, 1775) return(aborted←v17740); } static word ListChildren←P3600(parent←v17800, level←v17828, classType←v17856) word parent←v17800; word level←v17828; word classType←v17856; { W8 var←c90724; register ptr gf←c90756 = (ptr) &globalframe; /* declaration of sliceList←v17900 skipped */ /* declaration of var←c86116 skipped */ /* declaration of ptr←v36028 skipped */ /* ListChildren: */ SOURCE(43959, 380) { word tmpAddr265; tmpAddr265 = (word) (( (ptr) &var←c90724)+5)/* var←c86116 */ ; (* (ptr) tmpAddr265 ) = ( ((word) (fPt) DoAppendSlice←P9456) ); (* (( (ptr) tmpAddr265) + 1) ) = 1; }; SOURCE(43959, 380) var←c90724.f4/* sliceList←v17900 */ = 0; SOURCE(44081, 5) var←c90724.f7/* ptr←v36028 */ = 0; SOURCE(44234, 45) { W2 var←c86148; { word pd266; pd266 = (* (( (ptr) (* (( (ptr) gf←c90756)+212)/* var←c83236 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd266 ))))((word) (&var←c86148), pd266); }; var←c90724.f7/* ptr←v36028 */ = var←c86148.f1; var←c90724.f4/* sliceList←v17900 */ = var←c86148.f0; }; SOURCE(44281, 58) { word var←c86180; var←c86180 = (word) WalkChildren←P3420(parent←v17800, level←v17828, (word) (( (bPt) &var←c90724)+20)/* var←c86116 */ , classType←v17856) ; }; SOURCE(43959, 380) return(var←c90724.f4/* sliceList←v17900 */ ); } static word DoAppendSlice←P9456(slice←v36216, formal←c90820) word slice←v36216; word formal←c90820; { register ptr gf←c90788 = (ptr) &globalframe; word done←v36260; formal←c90820 = (formal←c90820 - 20); /* DoAppendSlice: */ SOURCE(44101, 128) SOURCE(44101, 128) done←v36260 = 0; SOURCE(44169, 60) { W2 var←c86212; { word pd267; pd267 = (* (( (ptr) (* (( (ptr) gf←c90788)+212)/* var←c83236 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd267 ))))((word) &var←c86212, slice←v36216, (* (( (ptr) formal←c90820)+4) ), (* (( (ptr) formal←c90820)+7) ), pd267); }; (* (( (ptr) formal←c90820)+7) ) = var←c86212.f1; (* (( (ptr) formal←c90820)+4) ) = var←c86212.f0; }; SOURCE(44101, 128) return(done←v36260); } static word ListIncludedChildren←P3660(parent←v18044, parts←v18072, level←v18100, classType←v18128) word parent←v18044; word parts←v18072; word level←v18100; word classType←v18128; { W8 var←c90852; register ptr gf←c90884 = (ptr) &globalframe; /* declaration of selectedList←v18172 skipped */ /* declaration of var←c86244 skipped */ /* declaration of ptr←v36288 skipped */ /* ListIncludedChildren: */ SOURCE(44345, 486) { word tmpAddr268; tmpAddr268 = (word) (( (ptr) &var←c90852)+5)/* var←c86244 */ ; (* (ptr) tmpAddr268 ) = ( ((word) (fPt) DoAppendSlice←P9516) ); (* (( (ptr) tmpAddr268) + 1) ) = 1; }; SOURCE(44345, 486) var←c90852.f4/* selectedList←v18172 */ = 0; SOURCE(44507, 5) var←c90852.f7/* ptr←v36288 */ = 0; SOURCE(44698, 58) { W2 var←c86276; { word pd269; pd269 = (* (( (ptr) (* (( (ptr) gf←c90884)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd269 ))))((word) (&var←c86276), pd269); }; var←c90852.f7/* ptr←v36288 */ = var←c86276.f1; var←c90852.f4/* selectedList←v18172 */ = var←c86276.f0; }; SOURCE(44758, 73) { word var←c86308; var←c86308 = (word) WalkIncludedChildren←P3480(parent←v18044, parts←v18072, level←v18100, (word) (( (bPt) &var←c90852)+20) /* var←c86244 */ , classType←v18128); }; SOURCE(44345, 486) return(var←c90852.f4/* selectedList←v18172 */ ); } static word DoAppendSlice←P9516(childD←v36476, formal←c90948) word childD←v36476; word formal←c90948; { register ptr gf←c90916 = (ptr) &globalframe; word done←v36520; formal←c90948 = (formal←c90948 - 20); /* DoAppendSlice: */ SOURCE(44537, 156) SOURCE(44537, 156) done←v36520 = 0; SOURCE(44616, 77) { W2 var←c86340; { word pd270; pd270 = (* (( (ptr) (* (( (ptr) gf←c90916)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd270 ))))((word) &var←c86340, childD←v36476, (* (( (ptr) formal←c90948)+4) ), (* (( (ptr) formal←c90948)+7) ), pd270); }; (* (( (ptr) formal←c90948)+7) ) = var←c86340.f1; (* (( (ptr) formal←c90948)+4) ) = var←c86340.f0; }; SOURCE(44537, 156) return(done←v36520); } static word FirstChild←P3720(parent←v18316, level←v18344, classType←v18372) word parent←v18316; word level←v18344; word classType←v18372; { W7 var←c90980; /* declaration of firstChild←v18416 skipped */ /* declaration of var←c86372 skipped */ /* FirstChild: */ SOURCE(44837, 282) { word tmpAddr271; tmpAddr271 = (word) (( (ptr) &var←c90980)+5)/* var←c86372 */ ; (* (ptr) tmpAddr271 ) = ( ((word) (fPt) StopAtFirstSlice←P9576) ); (* (( (ptr) tmpAddr271) + 1) ) = 1; }; SOURCE(44837, 282) var←c90980.f4/* firstChild←v18416 */ = 0; SOURCE(45058, 61) { word var←c86404; var←c86404 = (word) WalkChildren←P3420(parent←v18316, level←v18344, (word) (( (bPt) &var←c90980)+20)/* var←c86372 */ , classType←v18372) ; }; SOURCE(44837, 282) return(var←c90980.f4/* firstChild←v18416 */ ); } static word StopAtFirstSlice←P9576(slice←v36624, formal←c91012) word slice←v36624; word formal←c91012; { word done←v36668; formal←c91012 = (formal←c91012 - 20); /* StopAtFirstSlice: */ SOURCE(44950, 103) SOURCE(44950, 103) done←v36668 = 0; SOURCE(45021, 18) (* (( (ptr) formal←c91012)+4) ) = slice←v36624; SOURCE(45041, 12) return(1); } static word FirstIncludedChild←P3780(parent←v18476, parts←v18504, level←v18532, classType←v18560) word parent←v18476; word parts←v18504; word level←v18532; word classType←v18560; { W7 var←c91044; /* declaration of childD←v18604 skipped */ /* declaration of var←c86436 skipped */ /* FirstIncludedChild: */ SOURCE(45125, 338) { word tmpAddr272; tmpAddr272 = (word) (( (ptr) &var←c91044)+5)/* var←c86436 */ ; (* (ptr) tmpAddr272 ) = ( ((word) (fPt) StopAtFirstSlice←P9636) ); (* (( (ptr) tmpAddr272) + 1) ) = 1; }; SOURCE(45125, 338) var←c91044.f4/* childD←v18604 */ = 0; SOURCE(45387, 76) { word var←c86468; var←c86468 = (word) WalkIncludedChildren←P3480(parent←v18476, parts←v18504, level←v18532, (word) (( (bPt) &var←c91044)+20) /* var←c86436 */ , classType←v18560); }; SOURCE(45125, 338) return(var←c91044.f4/* childD←v18604 */ ); } static word StopAtFirstSlice←P9636(sliceD←v36772, formal←c91076) word sliceD←v36772; word formal←c91076; { word done←v36816; formal←c91076 = (formal←c91076 - 20); /* StopAtFirstSlice: */ SOURCE(45271, 111) SOURCE(45271, 111) done←v36816 = 0; SOURCE(45353, 15) (* (( (ptr) formal←c91076)+4) ) = sliceD←v36772; SOURCE(45370, 12) return(1); } static void TallyChildren←P3840(formal←c0798, parent←v18664, tallyProc←v18692) word formal←c0798; word parent←v18664; word tallyProc←v18692; { register ptr gf←c91108 = (ptr) &globalframe; word tallyD←v18736; word aborted←v18764; word visitChildren←v36844 = 0; word keep←v36872 = 0; word done←v36900 = 0; word keepFound←v36928 = 0; /* TallyChildren: */ SOURCE(45469, 1017) SOURCE(45469, 1017) tallyD←v18736 = 0; SOURCE(45469, 1017) aborted←v18764 = 0; SOURCE(45652, 47) { W3 var←c86500; (void) ( *( (fPt) ((* (ptr) tallyProc←v18692 ))))((word) &var←c86500, parent←v18664, tallyProc←v18692); done←v36900 = var←c86500.f2; keep←v36872 = var←c86500.f1; visitChildren←v36844 = var←c86500.f0; }; SOURCE(45701, 785) { word tc273; word pd274; pd274 = (* (( (ptr) (* (( (ptr) gf←c91108)+207)/* var←c82180 */ ))+62) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd274 ))))(parent←v18664, pd274))) { tc273 = (word) (0 != visitChildren←v36844); } else { tc273 = (word) 0; }; if (tc273) { SOURCE(45753, 629) { word outlineData←v36972; word ptr←v37000 = 0; word newParts←v37028; SOURCE(45755, 46) outlineData←v36972 = XR←Narrow((* (( (ptr) parent←v18664)+1) ), (* (( (ptr) gf←c91108)+7) )); SOURCE(45833, 45) newParts←v37028 = XR←NewObject(4, (* (( (ptr) gf←c91108)+5) )); SOURCE(45880, 66) { W2 var←c86564; { word pd275; pd275 = (* (( (ptr) (* (( (ptr) gf←c91108)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd275 ))))((word) (&var←c86564), pd275); }; ptr←v37000 = var←c86564.f1; (* (ptr) newParts←v37028 ) = var←c86564.f0; }; SOURCE(45948, 331) { register word list←v37156; list←v37156 = (* (( (ptr) outlineData←v36972)+4) ); lab←L100202: ; if ((list←v37156 != 0)) { } else { goto lab←L100199; }; { word thisD←v37284 = 0; SOURCE(46050, 135) if ((0 == aborted←v18764)) { SOURCE(46072, 55) { W2 var←c86596; (void) TallyChildren←P3840((word) &var←c86596, (* (ptr) list←v37156 ), tallyProc←v18692); aborted←v18764 = var←c86596.f1; thisD←v37284 = var←c86596.f0; }; SOURCE(46129, 36) if ((thisD←v37284 != 0)) { SOURCE(46149, 16) keepFound←v36928 = 1; }; } else { SOURCE(46174, 11) thisD←v37284 = 0; }; SOURCE(46187, 92) { W2 var←c86628; { word pd276; pd276 = (* (( (ptr) (* (( (ptr) gf←c91108)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd276 ))))((word) &var←c86628, thisD←v37284, (* (ptr) newParts←v37028 ), ptr←v37000, pd276) ; }; ptr←v37000 = var←c86628.f1; (* (ptr) newParts←v37028 ) = var←c86628.f0; }; }; list←v37156 = (* (( (ptr) list←v37156)+1) ); goto lab←L100202; lab←L100199: ; }; SOURCE(46290, 90) if ((0 != keepFound←v36928)) { SOURCE(46308, 60) { word pd277; pd277 = (* (( (ptr) (* (( (ptr) gf←c91108)+208)/* var←c82212 */ ))+8) ); tallyD←v18736 = (word) ( *( (fPt) ((* (ptr) pd277 ))))(parent←v18664, newParts←v37028, pd277); }; } else { SOURCE(46368, 12) tallyD←v18736 = 0; }; }; } else { SOURCE(46391, 79) if ((0 != keep←v36872)) { SOURCE(46404, 54) { word pd278; pd278 = (* (( (ptr) (* (( (ptr) gf←c91108)+209)/* var←c82276 */ ))+29) ); tallyD←v18736 = (word) ( *( (fPt) ((* (ptr) pd278 ))))(parent←v18664, 0, 6, pd278); }; } else { SOURCE(46458, 12) tallyD←v18736 = 0; }; SOURCE(46472, 14) aborted←v18764 = done←v36900; }; }; /* removed tail goto */ (* (ptr) formal←c0798 ) = tallyD←v18736; (* (( (ptr) formal←c0798)+1) ) = aborted←v18764; return; } static void TallyIncludedChildren←P3900(formal←c0822, parent←v18824, parts←v18852, tallyProc←v18880) word formal←c0822; word parent←v18824; word parts←v18852; word tallyProc←v18880; { register ptr gf←c91140 = (ptr) &globalframe; word tallyD←v18924; word aborted←v18952; word visitChildren←v37328 = 0; word done←v37356 = 0; word keepFound←v37384 = 0; word keepD←v37412 = 0; word parentD←v37440; /* TallyIncludedChildren: */ SOURCE(46494, 1152) SOURCE(46494, 1152) tallyD←v18924 = 0; SOURCE(46494, 1152) aborted←v18952 = 0; SOURCE(46732, 69) { word pd279; pd279 = (* (( (ptr) (* (( (ptr) gf←c91140)+208)/* var←c82212 */ ))+8) ); parentD←v37440 = (word) ( *( (fPt) ((* (ptr) pd279 ))))(parent←v18824, parts←v18852, pd279); }; SOURCE(46803, 49) { W3 var←c86660; (void) ( *( (fPt) ((* (ptr) tallyProc←v18880 ))))((word) &var←c86660, parentD←v37440, tallyProc←v18880); done←v37356 = var←c86660.f2; keepD←v37412 = var←c86660.f1; visitChildren←v37328 = var←c86660.f0; }; SOURCE(46854, 792) { word tc280; word pd281; pd281 = (* (( (ptr) (* (( (ptr) gf←c91140)+207)/* var←c82180 */ ))+62) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd281 ))))(parent←v18824, pd281))) { tc280 = (word) (0 != visitChildren←v37328); } else { tc280 = (word) 0; }; if (tc280) { SOURCE(46906, 701) { word outlineParts←v37484; word ptr←v37512 = 0; word newParts←v37540; SOURCE(46908, 42) outlineParts←v37484 = XR←Narrow(parts←v18852, (* (( (ptr) gf←c91140)+5) )); SOURCE(46982, 45) newParts←v37540 = XR←NewObject(4, (* (( (ptr) gf←c91140)+5) )); SOURCE(47029, 66) { W2 var←c86724; { word pd282; pd282 = (* (( (ptr) (* (( (ptr) gf←c91140)+212)/* var←c83236 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd282 ))))((word) (&var←c86724), pd282); }; ptr←v37512 = var←c86724.f1; (* (ptr) newParts←v37540 ) = var←c86724.f0; }; SOURCE(47097, 407) { register word list←v37668; list←v37668 = (* (ptr) outlineParts←v37484 ); lab←L100207: ; if ((list←v37668 != 0)) { } else { goto lab←L100204; }; { word thisD←v37796 = 0; SOURCE(47213, 197) if ((0 == aborted←v18952)) { SOURCE(47235, 152) if (((* (ptr) list←v37668 ) != 0)) { SOURCE(47262, 87) { W2 var←c86756; (void) TallyIncludedChildren←P3900((word) &var←c86756, (* (ptr) (* (ptr) list←v37668 ) ), (* (( (ptr) (* (ptr) list←v37668 ))+1) /*1*/ ), tallyProc←v18880); aborted←v18952 = var←c86756.f1; thisD←v37796 = var←c86756.f0; }; SOURCE(47351, 36) if ((thisD←v37796 != 0)) { SOURCE(47371, 16) keepFound←v37384 = 1; }; }; } else { SOURCE(47399, 11) thisD←v37796 = 0; }; SOURCE(47412, 92) { W2 var←c86788; { word pd283; pd283 = (* (( (ptr) (* (( (ptr) gf←c91140)+212)/* var←c83236 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd283 ))))((word) &var←c86788, thisD←v37796, (* (ptr) newParts←v37540 ), ptr←v37512, pd283) ; }; ptr←v37512 = var←c86788.f1; (* (ptr) newParts←v37540 ) = var←c86788.f0; }; }; list←v37668 = (* (( (ptr) list←v37668)+1) ); goto lab←L100207; lab←L100204: ; }; SOURCE(47515, 90) if ((0 != keepFound←v37384)) { SOURCE(47533, 60) { word pd284; pd284 = (* (( (ptr) (* (( (ptr) gf←c91140)+208)/* var←c82212 */ ))+8) ); tallyD←v18924 = (word) ( *( (fPt) ((* (ptr) pd284 ))))(parent←v18824, newParts←v37540, pd284); }; } else { SOURCE(47593, 12) tallyD←v18924 = 0; }; }; } else { SOURCE(47616, 14) tallyD←v18924 = keepD←v37412; SOURCE(47632, 14) aborted←v18952 = done←v37356; }; }; /* removed tail goto */ (* (ptr) formal←c0822 ) = tallyD←v18924; (* (( (ptr) formal←c0822)+1) ) = aborted←v18952; return; } static word IsParent←P3960(slice←v19012) word slice←v19012; { register ptr gf←c91172 = (ptr) &globalframe; word var←c19056; /* IsParent: */ SOURCE(47655, 122) SOURCE(47711, 66) { word tc285; if (((* (ptr) (* (ptr) slice←v19012 ) ) == (* (( (ptr) gf←c91172)+25) ))) { tc285 = (word) (unsigned) 1; } else { tc285 = (word) (unsigned) ((* (ptr) (* (ptr) slice←v19012 ) ) == (* (( (ptr) gf←c91172)+22) )); }; return(tc285); }; } static word IsParentType←P4020(classType←v19116) word classType←v19116; { register ptr gf←c91204 = (ptr) &globalframe; word var←c19160; /* IsParentType: */ SOURCE(47783, 115) SOURCE(47846, 52) { word tc286; if ((classType←v19116 == (* (( (ptr) gf←c91204)+25) ))) { tc286 = (word) (unsigned) 1; } else { tc286 = (word) (unsigned) (classType←v19116 == (* (( (ptr) gf←c91204)+22) )); }; return(tc286); }; } static word GetParent←P4080(child←v19220) word child←v19220; { word parent←v19264; /* GetParent: */ SOURCE(47904, 86) SOURCE(47904, 86) parent←v19264 = 0; SOURCE(47970, 20) return((* (( (ptr) child←v19220)+2) )); } static word GetTopLevelAncestor←P4140(slice←v19324) word slice←v19324; { register ptr gf←c91236 = (ptr) &globalframe; word ancestor←v19368; /* GetTopLevelAncestor: */ SOURCE(47996, 173) SOURCE(47996, 173) ancestor←v19368 = 0; SOURCE(48074, 16) ancestor←v19368 = slice←v19324; SOURCE(48092, 77) lab←L100210: ; { word pd287; pd287 = (* (( (ptr) (* (( (ptr) gf←c91236)+217)/* var←c85028 */ ))+39) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd287 ))))(ancestor←v19368, pd287))) { } else { goto lab←L100208; }; }; SOURCE(48130, 39) { word pd288; pd288 = (* (( (ptr) (* (( (ptr) gf←c91236)+207)/* var←c82180 */ ))+64) ); ancestor←v19368 = (word) ( *( (fPt) ((* (ptr) pd288 ))))(ancestor←v19368, pd288); }; goto lab←L100210; lab←L100208: ; SOURCE(47996, 173) return(ancestor←v19368); } static word IsLeafOfClass←P4200(slice←v19428, classType←v19456) word slice←v19428; word classType←v19456; { W6 var←c91268; register ptr gf←c91300 = (ptr) &globalframe; word var←c19500; /* declaration of var←c86820 skipped */ /* IsLeafOfClass: */ SOURCE(48184, 486) { word tmpAddr289; tmpAddr289 = (word) (( (ptr) &var←c91268)+4)/* var←c86820 */ ; (* (ptr) tmpAddr289 ) = ( ((word) (fPt) NoteSameClassChild←P9984) ); (* (( (ptr) tmpAddr289) + 1) ) = 1; }; SOURCE(48357, 50) if ((classType←v19456 == 0)) { SOURCE(48379, 28) return( (unsigned) (0 == (word) IsParent←P3960(slice←v19428))); }; SOURCE(48409, 106) if ((classType←v19456 == (* (( (ptr) gf←c91300)+22) ))) { SOURCE(48438, 77) { word pd290; pd290 = (* (( (ptr) (* (( (ptr) gf←c91300)+207)/* var←c82180 */ ))+73) ); return( (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd290 ))))(slice←v19428, 0, (word) (( (bPt) &var←c91268)+16)/* var←c86820 */ , (* ( ( (ptr) gf←c91300)+22) ), pd290))); }; }; SOURCE(48517, 106) if ((classType←v19456 == (* (( (ptr) gf←c91300)+25) ))) { SOURCE(48546, 77) { word pd291; pd291 = (* (( (ptr) (* (( (ptr) gf←c91300)+207)/* var←c82180 */ ))+73) ); return( (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd291 ))))(slice←v19428, 0, (word) (( (bPt) &var←c91268)+16)/* var←c86820 */ , (* ( ( (ptr) gf←c91300)+25) ), pd291))); }; }; SOURCE(48625, 45) { word pd292; pd292 = (* (( (ptr) (* (( (ptr) gf←c91300)+209)/* var←c82276 */ ))+6) ); return( (unsigned) ((word) ( *( (fPt) ((* (ptr) pd292 ))))(slice←v19428, pd292) == classType←v19456)); }; } static word NoteSameClassChild←P9984(slice←v37916, formal←c91332) word slice←v37916; word formal←c91332; { word done←v37960; formal←c91332 = (formal←c91332 - 16); /* NoteSameClassChild: */ SOURCE(48268, 84) SOURCE(48268, 84) done←v37960 = 0; SOURCE(48341, 11) done←v37960 = 1; SOURCE(48268, 84) return(done←v37960); } static word CreateCluster←P4260(frozen←v19560) word frozen←v19560; { register ptr gf←c91364 = (ptr) &globalframe; word parent←v19604; word data←v37988; /* CreateCluster: */ SOURCE(48676, 500) SOURCE(48676, 500) parent←v19604 = 0; SOURCE(48754, 144) { word var←c86980; word var←c87044; { word var←c87012; var←c87012 = XR←NewObject(4, (* (( (ptr) gf←c91364)+8) )); (* (ptr) var←c87012 ) = frozen←v19560; var←c86980 = var←c87012; }; var←c87044 = XR←NewObject(36, (* (( (ptr) gf←c91364)+7) )); (* (ptr) var←c87044 ) = 1; (* (( (ptr) var←c87044)+3) ) = 1; (* (( (ptr) var←c87044)+8) ) = var←c86980; data←v37988 = var←c87044; }; SOURCE(48900, 210) { word var←c87076; word var←c87108; word var←c87140; word var←c87172; { word pd293; pd293 = (* (( (ptr) (* (( (ptr) gf←c91364)+208)/* var←c82212 */ ))+7) ); var←c87076 = (word) ( *( (fPt) ((* (ptr) pd293 ))))((* ((( (ptr) gf←c91364)+22)) ), pd293); }; { word pd294; pd294 = (* (( (ptr) (* (( (ptr) gf←c91364)+210)/* var←c82308 */ ))+6) ); var←c87108 = (word) ( *( (fPt) ((* (ptr) pd294 ))))(pd294); }; { word pd295; pd295 = (* (( (ptr) (* (( (ptr) gf←c91364)+210)/* var←c82308 */ ))+6) ); var←c87140 = (word) ( *( (fPt) ((* (ptr) pd295 ))))(pd295); }; var←c87172 = XR←NewObject(92, (* (( (ptr) gf←c91364)+16) )); (* (ptr) var←c87172 ) = var←c87076; (* (( (ptr) var←c87172)+1) ) = data←v37988; (* (W4Pt) (( (ptr) var←c87172)+3) ) = (* (W4Pt) (( (ptr) gf←c91364)+202)/* var←c82116 */ ); (* (( (ptr) var←c87172)+13) ) = var←c87108; (* (( (ptr) var←c87172)+15) ) = var←c87140; (* (( (ptr) var←c87172)+21) ) = (word) -1; parent←v19604 = var←c87172; }; SOURCE(49112, 64) { word pd296; pd296 = (* (( (ptr) (* (( (ptr) gf←c91364)+208)/* var←c82212 */ ))+8) ); (* (( (ptr) parent←v19604)+11) ) = (word) ( *( (fPt) ((* (ptr) pd296 ))))(parent←v19604, 0, pd296); }; SOURCE(48676, 500) return(parent←v19604); } static void AddChildToCluster←P4320(parent←v19664, child←v19692, priority←v19720) word parent←v19664; word child←v19692; word priority←v19720; { register ptr gf←c91396 = (ptr) &globalframe; word parentData←v38032; /* AddChildToCluster: */ SOURCE(49182, 586) SOURCE(49262, 45) parentData←v38032 = XR←Narrow((* (( (ptr) parent←v19664)+1) ), (* (( (ptr) gf←c91396)+7) )); SOURCE(49309, 44) { word pd297; pd297 = (* (( (ptr) (* (( (ptr) gf←c91396)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd297 ))))(parent←v19664, pd297) != (* (( (ptr) gf←c91396)+22) ))) { SOURCE(49353, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(49360, 26) if ((child←v19692 == 0)) { SOURCE(49380, 6) return; }; SOURCE(49388, 21) (* (( (ptr) child←v19692)+2) ) = parent←v19664; SOURCE(49411, 327) { word pd299; if (( (int)priority←v19720 == (int) (word) -1)) { goto then0298;}; pd299 = (* (( (ptr) (* (( (ptr) gf←c91396)+207)/* var←c82180 */ ))+68) ); if (( (int)(word) ( *( (fPt) ((* (ptr) pd299 ))))(parent←v19664, pd299) < (int)priority←v19720)) { then0298: ; SOURCE(49474, 32) (void) AppendSlice←P4680(parent←v19664, child←v19692); } else { SOURCE(49506, 232) if (( (int)priority←v19720 == (int)0)) { SOURCE(49529, 27) (* (( (ptr) parentData←v38032)+7) ) = 0; SOURCE(49558, 34) (* (( (ptr) parentData←v38032)+6) ) = 0; SOURCE(49594, 54) { word var←c87204; var←c87204 = XR←NewObject(8, (* (( (ptr) gf←c91396)+15) )); (* (ptr) var←c87204 ) = child←v19692; (* (( (ptr) var←c87204)+1) ) = (* (( (ptr) parentData←v38032)+4) ); (* (( (ptr) parentData←v38032)+4) ) = var←c87204; }; } else { SOURCE(49657, 81) { word var←c87236; word var←c87268; { word pd300; pd300 = (* (( (ptr) (* (( (ptr) gf←c91396)+207)/* var←c82180 */ ))+71) ); var←c87236 = (word) ( *( (fPt) ((* (ptr) pd300 ))))(parent←v19664, priority←v19720, pd300); }; { word var←c87300; word var←c87332; var←c87300 = XR←NewObject(8, (* (( (ptr) gf←c91396)+15) )); var←c87332 = var←c87300; (* (ptr) var←c87332 ) = child←v19692; var←c87268 = var←c87300; }; { word pd301; pd301 = (* (( (ptr) (* (( (ptr) gf←c91396)+207)/* var←c82180 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd301 ))))(parent←v19664, var←c87236, var←c87268, pd301); }; }; }; }; }; SOURCE(49740, 28) { word pd302; pd302 = (* (( (ptr) (* (( (ptr) gf←c91396)+208)/* var←c82212 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd302 ))))(parent←v19664, pd302); }; } static void AddChildrenToCluster←P4380(parent←v19780, children←v19808, priority←v19836) word parent←v19780; word children←v19808; word priority←v19836; { register ptr gf←c91428 = (ptr) &globalframe; word parentData←v38076; /* AddChildrenToCluster: */ SOURCE(49774, 852) SOURCE(49868, 45) parentData←v38076 = XR←Narrow((* (( (ptr) parent←v19780)+1) ), (* (( (ptr) gf←c91428)+7) )); SOURCE(49915, 44) { word pd303; pd303 = (* (( (ptr) (* (( (ptr) gf←c91428)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd303 ))))(parent←v19780, pd303) != (* (( (ptr) gf←c91428)+22) ))) { SOURCE(49959, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(49966, 27) if ((children←v19808 == 0)) { SOURCE(49987, 6) return; }; SOURCE(49995, 92) { register word list←v38120; list←v38120 = children←v19808; lab←L100214: ; if ((list←v38120 != 0)) { } else { goto lab←L100211; }; SOURCE(50061, 26) (* (( (ptr) (* (ptr) list←v38120 ))+2) ) = parent←v19780; list←v38120 = (* (( (ptr) list←v38120)+1) ); goto lab←L100214; lab←L100211: ; }; SOURCE(50098, 495) if (( (int)priority←v19836 == (int) (word) -1) || ( (int)(word) TopPriority←P4740(parent←v19780) < (int)priority←v19836)) { SOURCE(50154, 97) { register word list←v38248; list←v38248 = children←v19808; lab←L100218: ; if ((list←v38248 != 0)) { } else { goto lab←L100215; }; SOURCE(50220, 31) (void) AppendSlice←P4680(parent←v19780, (* (ptr) list←v38248 )); list←v38248 = (* (( (ptr) list←v38248)+1) ); goto lab←L100218; lab←L100215: ; }; } else { SOURCE(50269, 324) if (( (int)priority←v19836 == (int)0)) { SOURCE(50292, 27) (* (( (ptr) parentData←v38076)+7) ) = 0; SOURCE(50321, 34) (* (( (ptr) parentData←v38076)+6) ) = 0; SOURCE(50357, 78) { word pd304; pd304 = (* (( (ptr) (* (( (ptr) gf←c91428)+212)/* var←c83236 */ ))+22) ); (* (( (ptr) parentData←v38076)+4) ) = (word) ( *( (fPt) ((* (ptr) pd304 ))))(children←v19808, (* (( (ptr) parentData←v38076)+4) ), pd304); }; } else { SOURCE(50444, 151) { word copiedSlices←v38376; SOURCE(50446, 14) { word pd305; pd305 = (* (( (ptr) (* (( (ptr) gf←c91428)+212)/* var←c83236 */ ))+25) ); copiedSlices←v38376 = (word) ( *( (fPt) ((* (ptr) pd305 ))))(children←v19808, pd305); }; SOURCE(50511, 82) { word var←c87364; { word pd306; pd306 = (* (( (ptr) (* (( (ptr) gf←c91428)+207)/* var←c82180 */ ))+71) ); var←c87364 = (word) ( *( (fPt) ((* (ptr) pd306 ))))(parent←v19780, priority←v19836, pd306); }; { word pd307; pd307 = (* (( (ptr) (* (( (ptr) gf←c91428)+207)/* var←c82180 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd307 ))))(parent←v19780, var←c87364, copiedSlices←v38376, pd307); }; }; }; }; }; SOURCE(50598, 28) { word pd308; pd308 = (* (( (ptr) (* (( (ptr) gf←c91428)+208)/* var←c82212 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd308 ))))(parent←v19780, pd308); }; } static word RemoveChild←P4440(parent←v19980, child←v20008) word parent←v19980; word child←v20008; { register ptr gf←c91460 = (ptr) &globalframe; word newParent←v20052; word parentData←v38504; /* RemoveChild: */ SOURCE(50632, 370) SOURCE(50632, 370) newParent←v20052 = 0; SOURCE(50718, 45) parentData←v38504 = XR←Narrow((* (( (ptr) parent←v19980)+1) ), (* (( (ptr) gf←c91460)+7) )); SOURCE(50765, 27) (* (( (ptr) parentData←v38504)+7) ) = 0; SOURCE(50794, 34) (* (( (ptr) parentData←v38504)+6) ) = 0; SOURCE(50830, 79) { word pd309; pd309 = (* (( (ptr) (* (( (ptr) gf←c91460)+212)/* var←c83236 */ ))+23) ); (* (( (ptr) parentData←v38504)+4) ) = (word) ( *( (fPt) ((* (ptr) pd309 ))))(child←v20008, (* (( (ptr) parentData←v38504)+4) ), pd309); }; SOURCE(50911, 28) { word pd310; pd310 = (* (( (ptr) (* (( (ptr) gf←c91460)+208)/* var←c82212 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd310 ))))(parent←v19980, pd310); }; SOURCE(50941, 61) if (((* (( (ptr) parentData←v38504)+4) ) == 0)) { newParent←v20052 = 0; } else { newParent←v20052 = parent←v19980; }; SOURCE(50632, 370) return(newParent←v20052); } static void PruneNullClusters←P4500(scene←v20112, cluster←v20140) word scene←v20112; word cluster←v20140; { register ptr gf←c91492 = (ptr) &globalframe; word clusterData←v38548; /* PruneNullClusters: */ SOURCE(51008, 422) SOURCE(51074, 47) clusterData←v38548 = XR←Narrow((* (( (ptr) cluster←v20140)+1) ), (* (( (ptr) gf←c91492)+7) )); SOURCE(51123, 45) { word pd311; pd311 = (* (( (ptr) (* (( (ptr) gf←c91492)+209)/* var←c82276 */ ))+6) ); if (((word) ( *( (fPt) ((* (ptr) pd311 ))))(cluster←v20140, pd311) != (* (( (ptr) gf←c91492)+22) ))) { SOURCE(51168, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(51175, 255) if (((* (( (ptr) clusterData←v38548)+4) ) == 0)) { SOURCE(51210, 225) { word parent←v38592; SOURCE(51212, 34) parent←v38592 = (word) GetParent←P4080(cluster←v20140); SOURCE(51248, 182) if ((parent←v38592 == 0)) { SOURCE(51271, 35) { word pd312; pd312 = (* (( (ptr) (* (( (ptr) gf←c91492)+217)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd312 ))))(scene←v20112, cluster←v20140, pd312); }; } else { SOURCE(51315, 117) { word smallerParent←v38636; SOURCE(51317, 51) smallerParent←v38636 = (word) RemoveChild←P4440(parent←v38592, cluster←v20140); SOURCE(51370, 60) if ((smallerParent←v38636 == 0)) { SOURCE(51398, 32) (void) PruneNullClusters←P4500(scene←v20112, parent←v38592); }; }; }; }; }; } static void SetFrozen←P4560(cluster←v20200, frozen←v20228) word cluster←v20200; word frozen←v20228; { register ptr gf←c91524 = (ptr) &globalframe; word parentData←v38680; word clusterData←v38708; /* SetFrozen: */ SOURCE(51442, 193) SOURCE(51500, 46) parentData←v38680 = XR←Narrow((* (( (ptr) cluster←v20200)+1) ), (* (( (ptr) gf←c91524)+7) )); SOURCE(51548, 58) clusterData←v38708 = XR←Narrow((* (( (ptr) parentData←v38680)+8) ), (* (( (ptr) gf←c91524)+8) )); SOURCE(51608, 27) (* (ptr) clusterData←v38708 ) = frozen←v20228; } static word GetFrozen←P4620(cluster←v20288) word cluster←v20288; { register ptr gf←c91556 = (ptr) &globalframe; word frozen←v20332; word parentData←v38752; word clusterData←v38780; /* GetFrozen: */ SOURCE(51641, 202) SOURCE(51708, 46) parentData←v38752 = XR←Narrow((* (( (ptr) cluster←v20288)+1) ), (* (( (ptr) gf←c91556)+7) )); SOURCE(51756, 58) clusterData←v38780 = XR←Narrow((* (( (ptr) parentData←v38752)+8) ), (* (( (ptr) gf←c91556)+8) )); SOURCE(51816, 27) frozen←v20332 = (* (ptr) clusterData←v38780 ); SOURCE(51641, 202) return(frozen←v20332); } static void AppendSlice←P4680(parent←v20392, slice←v20420) word parent←v20392; word slice←v20420; { register ptr gf←c91588 = (ptr) &globalframe; word parentData←v38824; /* AppendSlice: */ SOURCE(51849, 293) SOURCE(51901, 45) parentData←v38824 = XR←Narrow((* (( (ptr) parent←v20392)+1) ), (* (( (ptr) gf←c91588)+7) )); SOURCE(51949, 34) (* (( (ptr) parentData←v38824)+6) ) = 0; SOURCE(51985, 53) if ((0 == (* (( (ptr) parentData←v38824)+7) ))) { SOURCE(52017, 21) (void) UpdatePtr←P5160(parentData←v38824); }; SOURCE(52040, 102) { W2 var←c87396; { word pd313; pd313 = (* (( (ptr) (* (( (ptr) gf←c91588)+212)/* var←c83236 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd313 ))))((word) &var←c87396, slice←v20420, (* (( (ptr) parentData←v38824)+4) ), (* (( (ptr) parentData←v38824)+5) ), pd313); }; (* (( (ptr) parentData←v38824)+5) ) = var←c87396.f1; (* (( (ptr) parentData←v38824)+4) ) = var←c87396.f0; }; } static word TopPriority←P4740(parent←v20480) word parent←v20480; { register ptr gf←c91620 = (ptr) &globalframe; word priority←v20524; word parentData←v38868; /* TopPriority: */ SOURCE(52148, 308) SOURCE(52217, 45) parentData←v38868 = XR←Narrow((* (( (ptr) parent←v20480)+1) ), (* (( (ptr) gf←c91620)+7) )); SOURCE(52265, 63) if ((0 == (* (( (ptr) parentData←v38868)+6) ))) { SOURCE(52304, 24) (void) UpdatePriorities←P5100(parent←v20480); }; SOURCE(52330, 53) if ((0 == (* (( (ptr) parentData←v38868)+7) ))) { SOURCE(52362, 21) (void) UpdatePtr←P5160(parentData←v38868); }; SOURCE(52385, 71) if (((* (( (ptr) parentData←v38868)+5) ) == 0)) { return(0); } else { return((* (( (ptr) (* (ptr) (* (( (ptr) parentData←v38868)+5) ) ))+19) )); }; } static void PutInFront←P4800(parent←v20584, child←v20612, slices←v20640) word parent←v20584; word child←v20612; word slices←v20640; { register ptr gf←c91652 = (ptr) &globalframe; word parentData←v38912; /* PutInFront: */ SOURCE(52462, 691) SOURCE(52543, 45) parentData←v38912 = XR←Narrow((* (( (ptr) parent←v20584)+1) ), (* (( (ptr) gf←c91652)+7) )); SOURCE(52590, 563) if ( ( (child←v20612 != 0) ? (slices←v20640 != 0) : 0 ) ) { SOURCE(52623, 535) { word beforeEnt←v38956 = 0; word ent←v38984 = 0; word afterEnt←v39012 = 0; word slicesRest←v39040 = 0; word found←v39068 = 0; SOURCE(52699, 95) { W4 var←c87428; { word pd314; pd314 = (* (( (ptr) (* (( (ptr) gf←c91652)+212)/* var←c83236 */ ))+24) ); (void) ( *( (fPt) ((* (ptr) pd314 ))))((word) &var←c87428, child←v20612, (* (( (ptr) parentData←v38912)+4) ), pd314); }; found←v39068 = var←c87428.f3; afterEnt←v39012 = var←c87428.f2; ent←v38984 = var←c87428.f1; beforeEnt←v38956 = var←c87428.f0; }; SOURCE(52796, 357) if ((0 != found←v39068)) { SOURCE(52812, 24) if (((* (ptr) ent←v38984 ) != child←v20612)) { SOURCE(52836, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(52861, 27) (* (( (ptr) parentData←v38912)+7) ) = 0; SOURCE(52890, 34) (* (( (ptr) parentData←v38912)+6) ) = 0; SOURCE(52926, 17) (* (( (ptr) ent←v38984)+1) ) = slices←v20640; SOURCE(53033, 83) { register word sList←v39196; sList←v39196 = slices←v20640; lab←L100222: ; if ((sList←v39196 != 0)) { } else { goto lab←L100219; }; SOURCE(53098, 18) slicesRest←v39040 = sList←v39196; sList←v39196 = (* (( (ptr) sList←v39196)+1) ); goto lab←L100222; lab←L100219: ; }; SOURCE(53127, 26) (* (( (ptr) slicesRest←v39040)+1) ) = afterEnt←v39012; }; }; }; } static void PutBehind←P4860(parent←v20784, child←v20812, slices←v20840) word parent←v20784; word child←v20812; word slices←v20840; { register ptr gf←c91684 = (ptr) &globalframe; word parentData←v39324; /* PutBehind: */ SOURCE(53165, 709) SOURCE(53245, 45) parentData←v39324 = XR←Narrow((* (( (ptr) parent←v20784)+1) ), (* (( (ptr) gf←c91684)+7) )); SOURCE(53292, 582) if ( ( (child←v20812 != 0) ? (slices←v20840 != 0) : 0 ) ) { SOURCE(53325, 610) { word beforeEnt←v39368 = 0; word ent←v39396 = 0; word afterEnt←v39424 = 0; word slicesRest←v39452 = 0; word found←v39480 = 0; SOURCE(53401, 95) { W4 var←c87460; { word pd315; pd315 = (* (( (ptr) (* (( (ptr) gf←c91684)+212)/* var←c83236 */ ))+24) ); (void) ( *( (fPt) ((* (ptr) pd315 ))))((word) &var←c87460, child←v20812, (* (( (ptr) parentData←v39324)+4) ), pd315); }; found←v39480 = var←c87460.f3; afterEnt←v39424 = var←c87460.f2; ent←v39396 = var←c87460.f1; beforeEnt←v39368 = var←c87460.f0; }; SOURCE(53498, 376) if ((0 != found←v39480)) { SOURCE(53514, 24) if (((* (ptr) ent←v39396 ) != child←v20812)) { SOURCE(53538, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(53563, 27) (* (( (ptr) parentData←v39324)+7) ) = 0; SOURCE(53592, 34) (* (( (ptr) parentData←v39324)+6) ) = 0; SOURCE(53628, 79) if ((beforeEnt←v39368 != 0)) { SOURCE(53650, 29) (* (( (ptr) beforeEnt←v39368)+1) ) = slices←v20840; } else { SOURCE(53679, 28) (* (( (ptr) parentData←v39324)+4) ) = slices←v20840; }; SOURCE(53759, 83) { register word sList←v39608; sList←v39608 = slices←v20840; lab←L100226: ; if ((sList←v39608 != 0)) { } else { goto lab←L100223; }; SOURCE(53824, 18) slicesRest←v39452 = sList←v39608; sList←v39608 = (* (( (ptr) sList←v39608)+1) ); goto lab←L100226; lab←L100223: ; }; SOURCE(53853, 21) (* (( (ptr) slicesRest←v39452)+1) ) = ent←v39396; }; }; }; } static word GetAtPriority←P4920(parent←v20984, priority←v21012) word parent←v20984; word priority←v21012; { register ptr gf←c91716 = (ptr) &globalframe; word slice←v21056; word parentData←v39736; /* GetAtPriority: */ SOURCE(53942, 659) SOURCE(53942, 659) slice←v21056 = 0; SOURCE(54027, 45) parentData←v39736 = XR←Narrow((* (( (ptr) parent←v20984)+1) ), (* (( (ptr) gf←c91716)+7) )); SOURCE(54074, 527) if (( (int)priority←v21012 == (int) (word) -1)) { SOURCE(54125, 53) if ((0 == (* (( (ptr) parentData←v39736)+7) ))) { SOURCE(54157, 21) (void) UpdatePtr←P5160(parentData←v39736); }; SOURCE(54180, 28) return((* (ptr) (* (( (ptr) parentData←v39736)+5) ) )); } else { SOURCE(54217, 384) if (( (int)priority←v21012 == (int)0)) { SOURCE(54238, 66) return((* (ptr) (* (( (ptr) parentData←v39736)+4) ) )); } else { SOURCE(54304, 299) { word count←v39780 = 1; SOURCE(54349, 158) { register word sliceList←v39824; sliceList←v39824 = (* (( (ptr) (* (( (ptr) parentData←v39736)+4) ))+1) ); lab←L100230: ; if ((sliceList←v39824 != 0)) { } else { goto lab←L100227; }; SOURCE(54444, 46) if (( (int)count←v39780 == (int)priority←v21012)) { SOURCE(54467, 23) return((* (ptr) sliceList←v39824 )); }; SOURCE(54492, 15) count←v39780 = (count←v39780 + 1); sliceList←v39824 = (* (( (ptr) sliceList←v39824)+1) ); goto lab←L100230; lab←L100227: ; }; SOURCE(54518, 53) if ((0 == (* (( (ptr) parentData←v39736)+7) ))) { SOURCE(54550, 21) (void) UpdatePtr←P5160(parentData←v39736); }; SOURCE(54573, 28) return((* (ptr) (* (( (ptr) parentData←v39736)+5) ) )); }; }; }; } static word GetChildPriority←P4980(parent←v21116, child←v21144) word parent←v21116; word child←v21144; { register ptr gf←c91748 = (ptr) &globalframe; word priority←v21188; word parentData←v39952; /* GetChildPriority: */ SOURCE(54610, 225) SOURCE(54698, 45) parentData←v39952 = XR←Narrow((* (( (ptr) parent←v21116)+1) ), (* (( (ptr) gf←c91748)+7) )); SOURCE(54745, 63) if ((0 == (* (( (ptr) parentData←v39952)+6) ))) { SOURCE(54784, 24) (void) UpdatePriorities←P5100(parent←v21116); }; SOURCE(54810, 25) priority←v21188 = (* (( (ptr) child←v21144)+19) ); SOURCE(54610, 225) return(priority←v21188); } static word ComparePriorities←P5040(slice1←v21248, slice2←v21276) word slice1←v21248; word slice2←v21276; { register ptr gf←c91780 = (ptr) &globalframe; word var←c21320; word slice1List←v39996 = 0; word slice2List←v40024 = 0; word parent1←v40052 = 0; word parent2←v40080 = 0; word child1←v40108 = 0; word child2←v40136 = 0; word compare←v40164; /* ComparePriorities: */ SOURCE(54841, 813) SOURCE(55034, 15) child1←v40108 = slice1←v21248; SOURCE(55051, 15) child2←v40136 = slice2←v21276; SOURCE(55068, 165) lab←L100233: ; { word pd316; pd316 = (* (( (ptr) (* (( (ptr) gf←c91780)+217)/* var←c85028 */ ))+39) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd316 ))))(child1←v40108, pd316))) { } else { goto lab←L100231; }; }; SOURCE(55104, 36) { word pd317; pd317 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+64) ); parent1←v40052 = (word) ( *( (fPt) ((* (ptr) pd317 ))))(child1←v40108, pd317); }; SOURCE(55142, 73) { word var←c87492; word var←c87524; { word pd318; pd318 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+66) ); var←c87492 = (word) ( *( (fPt) ((* (ptr) pd318 ))))(parent1←v40052, child1←v40108, pd318); }; var←c87524 = XR←NewObject(8, (* (( (ptr) gf←c91780)+14) )); (* (ptr) var←c87524 ) = var←c87492; (* (( (ptr) var←c87524)+1) ) = slice1List←v39996; slice1List←v39996 = var←c87524; }; SOURCE(55217, 16) child1←v40108 = parent1←v40052; goto lab←L100233; lab←L100231: ; SOURCE(55244, 165) lab←L100236: ; { word pd319; pd319 = (* (( (ptr) (* (( (ptr) gf←c91780)+217)/* var←c85028 */ ))+39) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd319 ))))(child2←v40136, pd319))) { } else { goto lab←L100234; }; }; SOURCE(55280, 36) { word pd320; pd320 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+64) ); parent2←v40080 = (word) ( *( (fPt) ((* (ptr) pd320 ))))(child2←v40136, pd320); }; SOURCE(55318, 73) { word var←c87556; word var←c87588; { word pd321; pd321 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+66) ); var←c87556 = (word) ( *( (fPt) ((* (ptr) pd321 ))))(parent2←v40080, child2←v40136, pd321); }; var←c87588 = XR←NewObject(8, (* (( (ptr) gf←c91780)+14) )); (* (ptr) var←c87588 ) = var←c87556; (* (( (ptr) var←c87588)+1) ) = slice2List←v40024; slice2List←v40024 = var←c87588; }; SOURCE(55393, 16) child2←v40136 = parent2←v40080; goto lab←L100236; lab←L100234: ; SOURCE(55420, 210) lab←L100239: ; if ( ( (slice1List←v39996 != 0) ? (slice2List←v40024 != 0) : 0 ) ) { } else { goto lab←L100237; }; SOURCE(55466, 63) { word var←c87620; word a←v79224; word b←v79252; a←v79224 = (* (ptr) slice1List←v39996 ); b←v79252 = (* (ptr) slice2List←v40024 ); { word idx322; var←c87620 = ( idx322 = (word) ( ( (int)a←v79224 == (int)b←v79252) ? 1 : ( ( (int)a←v79224 > (int)b←v79252) ? 2 : 0 ) ) , BCK(idx322, 3) ); }; compare←v40164 = var←c87620; }; SOURCE(55531, 39) if ((compare←v40164 != 1)) { SOURCE(55555, 15) return(compare←v40164); }; SOURCE(55572, 28) slice1List←v39996 = (* (( (ptr) slice1List←v39996)+1) ); SOURCE(55602, 28) slice2List←v40024 = (* (( (ptr) slice2List←v40024)+1) ); goto lab←L100239; lab←L100237: ; SOURCE(55641, 13) return(1); } static void UpdatePriorities←P5100(parent←v21380) word parent←v21380; { W7 var←c91812; register ptr gf←c91844 = (ptr) &globalframe; /* declaration of var←c87652 skipped */ word parentData←v40292; /* declaration of index←v40348 skipped */ /* UpdatePriorities: */ SOURCE(55660, 301) { word tmpAddr323; tmpAddr323 = (word) (( (ptr) &var←c91812)+4)/* var←c87652 */ ; (* (ptr) tmpAddr323 ) = ( ((word) (fPt) DoUpdate←P10572) ); (* (( (ptr) tmpAddr323) + 1) ) = 1; }; SOURCE(55703, 45) parentData←v40292 = XR←Narrow((* (( (ptr) parent←v21380)+1) ), (* (( (ptr) gf←c91844)+7) )); SOURCE(55859, 14) var←c91812.f6/* index←v40348 */ = 0; SOURCE(55875, 51) { word var←c87684; word pd324; pd324 = (* (( (ptr) (* (( (ptr) gf←c91844)+207)/* var←c82180 */ ))+73) ); var←c87684 = (word) ( *( (fPt) ((* (ptr) pd324 ))))(parent←v21380, 0, (word) (( (bPt) &var←c91812)+16)/* var←c87652 */ , 0, pd324) ; }; SOURCE(55928, 33) (* (( (ptr) parentData←v40292)+6) ) = 1; } static word DoUpdate←P10572(child←v40424, formal←c91876) word child←v40424; word formal←c91876; { word done←v40468; formal←c91876 = (formal←c91876 - 16); /* DoUpdate: */ SOURCE(55750, 104) SOURCE(55750, 104) done←v40468 = 0; SOURCE(55813, 22) (* (( (ptr) child←v40424)+19) ) = (* (( (ptr) formal←c91876)+6) ); SOURCE(55837, 17) (* (( (ptr) formal←c91876)+6) ) = ((* (( (ptr) formal←c91876)+6) ) + 1); SOURCE(55750, 104) return(done←v40468); } static void UpdatePtr←P5160(parentData←v21440) word parentData←v21440; { /* UpdatePtr: */ SOURCE(55967, 237) SOURCE(56013, 154) if (((* (( (ptr) parentData←v21440)+4) ) == 0)) { SOURCE(56045, 26) (* (( (ptr) parentData←v21440)+5) ) = 0; } else { SOURCE(56071, 96) { register word list←v40496; list←v40496 = (* (( (ptr) parentData←v21440)+4) ); lab←L100244: ; if ((list←v40496 != 0)) { } else { goto lab←L100241; }; SOURCE(56146, 21) (* (( (ptr) parentData←v21440)+5) ) = list←v40496; list←v40496 = (* (( (ptr) list←v40496)+1) ); goto lab←L100244; lab←L100241: ; }; }; SOURCE(56178, 26) (* (( (ptr) parentData←v21440)+7) ) = 1; } /* file: GGOutlineImplB, module: GGOutlineImplB, compiled at: July 11, 1993 8:19:09 pm PDT */ extern void XR←install←GGOutlineImplB() { NoName←Q10788(); } extern void XR←run←GGOutlineImplB() { XR←Start(&globalframe); }