/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: September 14, 1993 4:25:49 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlImplTexts, module: XlImplTexts */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
static char versionStamp[] = "@(#)mob←version [2241281978,2718402277] XlImplTexts";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W2 r;} W10;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef struct {W8 f; W3 r;} W11;
typedef W8 *W8Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef W6 *W6Pt;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q5556();
static void XlImplTexts←P0();
static word FontId←P60();
static word IsFont←P120();
static word NarrowFont←P180();
static word GetFontStuff←P240();
static void InitFontTable←P2040();
static void FinalizeFont←P300();
static word NoName←Q5616();
static void RemoveFontFromFontCache←P2148();
static void UpdateTable←P2412();
static void FreeFont←P2208();
static void action←P2472();
static word OpenFont←P360();
static word OpenFontId←P420();
static void action←P2724();
static void PreventGcOnServer←P480();
static void ListFonts←P540();
static void action←P2784();
static word GetFontPath←P600();
static void action←P2940();
static word IntERead16←P660();
static word QueryFont←P720();
static word QueryFontID←P780();
static void action←P3192();
static word InternalReportOneFont←P840();
static word ListFontsWithInfo←P900();
static void ProtectedListFontsWithInfo←P3300();
static void ReadFontReply←P960();
static void ReadFontProp←P3504();
static void ReadCharInfo←P3564();
static word ReadRopeOfKnownLength←P1020();
static void QueryTextExtents16OnServer←P1080();
static void action←P3768();
static void QueryTextExtents←P1200();
static void QueryTextExtents16←P1260();
static void CharExtent←P1320();
static void DoExtent←P1380();
static void ComputeTextExtents←P1440();
static word CharAction←P3828();
static void ComputeTextExtents16←P1500();
static word CharAction←P3936();
static word QueryKeymap←P1560();
static void action←P4092();
static word GetKeyboardMapping←P1620();
static void action←P4200();
static void MakeKeyTable←P1680();
static word GetModifierMapping←P1740();
static void action←P4596();
static word GetPointerMapping←P1800();
static void action←P4848();
static word XMapCount←P1860();
static void XMapRange←P1920();
static word XMapKeyCode←P1980();
static void NoName←Q5676();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\137\016\143\051\300\142\000\073\260\100\164\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\034\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\205\227\077\272\300\242\007\206\345\100\214\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\205\227\077\272\300\242\007\206\345\102\300\000\000"};
static struct {unsigned f; char r[4];} string6 = {196611, "\004@`"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\115\224\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\113\374\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string10 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string11 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string12 = {65537, "\001\000\000"};
static struct {unsigned f; char r[48];} string13 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\205\227\077\272\300\242\007\206\345\101\254\000\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\004\006\000"};
static struct {unsigned f; char r[48];} string16 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\304\042\023\266\300\315\144\243\337\103\260\005\004\162\145\163\164\214\216\257\300\304\042\023\266\300\315\144\243\337\103\260\261\000\000\000"};
static struct {unsigned f; char r[4];} string17 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\003\153\243\146\300\005\107\115\327\100\164\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\113\110\000\000"};
static struct {unsigned f; char r[8];} string20 = {262148, "\004\200`\001\000\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\113\000\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\113\014\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\112\364\000\000"};
static struct {unsigned f; char r[32];} string24 = {1835040, "\254\205\257\300\233\221\325\046\300\135\160\307\206\100\164\257\300\337\227\034\246\300\245\273\012\063\100\164\000\000\000"};
static struct {unsigned f; char r[32];} string25 = {1835040, "\205\257\300\233\221\325\046\300\135\160\307\206\100\164\216\257\300\003\153\243\146\300\005\107\115\327\100\164\000\000\000"};
static struct {unsigned f; char r[8];} string26 = {393222, "\010\000\004A\000\001\000"};
static struct {unsigned f; char r[20];} string27 = {1245204, "x11PrivateKMappings"};
static struct {unsigned f; char r[20];} string28 = {1245204, "x11PrivateMMappings"};
static struct {unsigned f; char r[8];} string29 = {458760, "tooLong"};
static struct {unsigned f; char r[8];} string30 = {262152, "fake\000\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\205\227\077\272\300\242\007\206\345\100\200\000\000"};
static struct {unsigned f; char r[8];} string32 = {393222, "\006\001@t\004\017\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\250\013\333\033\300\120\151\334\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\157\176\027\244\300\037\074\133\137\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\003\153\243\146\300\005\107\115\327\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"};
static unsigned string38 = 1483472896;
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\337\070\153\303\300\227\216\321\214\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\216\377\237\261\300\201\335\023\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\304\042\023\266\300\315\144\243\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\212\247\207\172\300\123\222\237\073\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\044\126\136\322\300\125\273\233\107\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\126\372\175\303\300\214\014\321\126\100\150\000\000"};
static struct {unsigned f; char r[32];} string46 = {1966112, "\211\022\021\103\157\156\156\145\143\164\151\157\156\120\162\151\166\141\164\145\300\351\276\264\273\300\115\104\320\264\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\012\063\155\016\300\130\140\234\375\100\164\000\000"};
static struct {unsigned f; char r[40];} string48 = {2424869, "\006\016\000\001\004\001\010\001\014\001\020\001\024\001\030\001\034\001\040\001\044\001\060\001\070\010\000\004\100\100\001\101\070\001\101\074\001\000\000"};
static struct {unsigned f; char r[24];} string49 = {1310744, "\211\010\007\106\157\156\164\122\145\160\300\351\276\264\273\300\115\104\320\264\000\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\012\063\155\016\300\130\140\234\375\100\150\000\000"};
static struct {unsigned f; char r[32];} string51 = {1900576, "\211\021\020\113\115\141\160\160\151\156\147\103\141\143\150\145\122\145\160\300\012\063\155\016\300\130\140\234\375\000\000"};
static struct {unsigned f; char r[32];} string52 = {1900576, "\211\021\020\120\115\141\160\160\151\156\147\103\141\143\150\145\122\145\160\300\012\063\155\016\300\130\140\234\375\000\000"};
static struct {unsigned f; char r[32];} string53 = {1900576, "\211\021\020\115\115\141\160\160\151\156\147\103\141\143\150\145\122\145\160\300\012\063\155\016\300\130\140\234\375\000\000"};
static struct {unsigned f; char r[28];} string54 = {1572892, "\211\014\013\106\157\156\164\120\162\151\166\141\164\145\300\012\063\155\016\300\130\140\234\375\000\000\000"};
static struct {
   word f0[34]; 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[15]; 
   } globalframe = {
   {0}, (word) XMapKeyCode←P1980, 0, (word) XMapRange←P1920, 
   0, (word) XMapCount←P1860, 0, (word) GetPointerMapping←P1800, 
   0, (word) GetModifierMapping←P1740, 0, (word) MakeKeyTable←P1680, 
   0, (word) GetKeyboardMapping←P1620, 0, (word) QueryKeymap←P1560, 
   0, (word) ComputeTextExtents16←P1500, 0, (word) ComputeTextExtents←P1440, 
   0, (word) DoExtent←P1380, 0, (word) CharExtent←P1320, 
   0, (word) QueryTextExtents16←P1260, 0, (word) QueryTextExtents←P1200, 
   0, (word) QueryTextExtents16OnServer←P1080, 0, (word) ReadRopeOfKnownLength←P1020, 
   0, (word) ReadFontReply←P960, 0, (word) ListFontsWithInfo←P900, 
   0, (word) InternalReportOneFont←P840, 0, (word) QueryFontID←P780, 
   0, (word) QueryFont←P720, 0, (word) IntERead16←P660, 
   0, (word) GetFontPath←P600, 0, (word) ListFonts←P540, 
   0, (word) PreventGcOnServer←P480, 0, (word) OpenFontId←P420, 
   0, (word) OpenFont←P360, 0, (word) FinalizeFont←P300, 
   0, (word) GetFontStuff←P240, 0, (word) NarrowFont←P180, 
   0, (word) IsFont←P120, 0, (word) FontId←P60, 
   0, (word) XlImplTexts←P0, {0}
   };

static void NoName←Q5556()
   {
   register ptr gf←c0405 =  (ptr) &globalframe;
   word var←c41068;
   (* (( (ptr) gf←c0405)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0405)+6) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0405)+7) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0405)+8) ) = (word) XR←GetTypeIndexS((word) (&string7));
   (* (( (ptr) gf←c0405)+9) ) = (word) XR←GetTypeIndexS((word) (&string8));
   (* (( (ptr) gf←c0405)+10) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0405)+11) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12);
   (* (( (ptr) gf←c0405)+17) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string4);
   (* (( (ptr) gf←c0405)+18) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0405)+19) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string4);
   (* (( (ptr) gf←c0405)+20) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string12);
   (* (( (ptr) gf←c0405)+21) ) = (word) XR←GetTypeIndexS((word) (&string18));
   (* (( (ptr) gf←c0405)+23) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20);
   (* (( (ptr) gf←c0405)+24) ) = (word) XR←GetTypeIndexS((word) (&string21));
   (* (( (ptr) gf←c0405)+25) ) = (word) XR←GetTypeIndexS((word) (&string22));
   (* (( (ptr) gf←c0405)+26) ) = (word) XR←GetTypeIndexS((word) (&string23));
   (* (( (ptr) gf←c0405)+27) ) = (word) XR←GetTypeIndexS((word) (&string24));
   (* (( (ptr) gf←c0405)+28) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string26);
   (*  (ptr) (( (bPt) gf←c0405)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0405)+20) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0405)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0405)+20) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0405)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0405)+20) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0405)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0405)+11) ), (word) &string30);
   (void) XR←DeclareGlobalFrame((word) "XlImplTexts", &globalframe, (word) XR←GetTypeIndex((word) &string31, 0, (word) &string32)
      , (word) (( (bPt) gf←c0405)+392)/* var←c37196 */ );
   var←c41068 = (word) XR←ImportInterface((word) "Finalize", (word) XR←GetTypeIndexS((word) (&string33)), 14);
   (* (( (ptr) gf←c0405)+102)/* var←c37580 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67372801);
   (void) XR←ImportProcS(var←c41068, 67373057);
   var←c41068 = (word) XR←ImportInterface((word) "FinalizeOps", (word) XR←GetTypeIndexS((word) (&string34)), 7);
   (* (( (ptr) gf←c0405)+101)/* var←c37388 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67634178);
   (void) XR←ImportProcS(var←c41068, 67634690);
   var←c41068 = (word) XR←ImportInterface((word) "KeyMapping", (word) XR←GetTypeIndexS((word) (&string35)), 6);
   (* (( (ptr) gf←c0405)+111)/* var←c40172 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67634434);
   var←c41068 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string36)), 43);
   (* (( (ptr) gf←c0405)+106)/* var←c37740 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 68163076);
   (void) XR←ImportProcS(var←c41068, 67373569);
   (void) XR←ImportProcS(var←c41068, 67896323);
   var←c41068 = (word) XR←ImportInterface((word) "SymTab", (word) XR←GetTypeIndexS((word) (&string37)), 13);
   (* (( (ptr) gf←c0405)+100)/* var←c37324 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67896835);
   (void) XR←ImportProcS(var←c41068, 134742786);
   (void) XR←ImportProcS(var←c41068, 789251);
   (void) XR←ImportProcS(var←c41068, 67633410);
   var←c41068 = (word) XR←ImportInterface((word) &string38, (word) XR←GetTypeIndexS((word) (&string39)), 218);
   (* (( (ptr) gf←c0405)+107)/* var←c38284 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67405825);
   (void) XR←ImportProcS(var←c41068, 67405569);
   var←c41068 = (word) XR←ImportInterface((word) "XlDetails", (word) XR←GetTypeIndexS((word) (&string40)), 4);
   (* (( (ptr) gf←c0405)+104)/* var←c37676 */  ) = var←c41068;
   var←c41068 = (word) XR←ImportInterface((word) "XlGContextOps", (word) XR←GetTypeIndexS((word) (&string41)), 8);
   (* (( (ptr) gf←c0405)+108)/* var←c38348 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67633154);
   var←c41068 = (word) XR←ImportInterface((word) "XlPrivate", (word) XR←GetTypeIndexS((word) (&string42)), 77);
   (* (( (ptr) gf←c0405)+105)/* var←c37708 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 528130);
   (void) XR←ImportProcS(var←c41068, 67909891);
   (void) XR←ImportProcS(var←c41068, 67389697);
   (void) XR←ImportProcS(var←c41068, 67390209);
   (void) XR←ImportProcS(var←c41068, 801539);
   (void) XR←ImportProcS(var←c41068, 67385857);
   (void) XR←ImportProcS(var←c41068, 540418);
   (void) XR←ImportProcS(var←c41068, 67390465);
   (void) XR←ImportProcS(var←c41068, 67389953);
   (void) XR←ImportProcS(var←c41068, 278529);
   (void) XR←ImportProcS(var←c41068, 1057028);
   (void) XR←ImportProcS(var←c41068, 528386);
   (void) XR←ImportProcS(var←c41068, 539650);
   (void) XR←ImportProcS(var←c41068, 528642);
   (void) XR←ImportProcS(var←c41068, 1051908);
   (void) XR←ImportProcS(var←c41068, 786947);
   var←c41068 = (word) XR←ImportInterface((word) "XlPrivateErrorHandling", (word) XR←GetTypeIndexS((word) (&string43)), 10);
   (* (( (ptr) gf←c0405)+109)/* var←c38540 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 526082);
   var←c41068 = (word) XR←ImportInterface((word) "XlPrivateResources", (word) XR←GetTypeIndexS((word) (&string44)), 9);
   (* (( (ptr) gf←c0405)+103)/* var←c37644 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 67371521);
   (void) XR←ImportProcS(var←c41068, 525058);
   (void) XR←ImportProcS(var←c41068, 67634434);
   var←c41068 = (word) XR←ImportInterface((word) "XlService", (word) XR←GetTypeIndexS((word) (&string45)), 6);
   (* (( (ptr) gf←c0405)+110)/* var←c40012 */  ) = var←c41068;
   (void) XR←ImportProcS(var←c41068, 787203);
   (void) XR←ImportProcS(var←c41068, 67634178);
   var←c41068 = (word) XR←ExportInterface((word) &string38, (word) XR←GetTypeIndexS((word) (&string39)), 218);
   (* (( (ptr) gf←c0405)+112)/* var←c41100 */  ) = var←c41068;
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+384)/* var←c37164 */ , 67371777, (word) "FontId");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+376)/* var←c37132 */ , 67395073, (word) "IsFont");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+368)/* var←c37100 */ , 67395329, (word) "NarrowFont");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+344)/* var←c37004 */ , 67919875, (word) "OpenFont");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+328)/* var←c36940 */ , 286977, (word) "PreventGcOnServer");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+312)/* var←c36876 */ , 67396097, (word) "GetFontPath");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+296)/* var←c36812 */ , 67658498, (word) "QueryFont");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+240)/* var←c36588 */ , 537682947, (word) "QueryTextExtents");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+232)/* var←c36556 */ , 537683203, (word) "QueryTextExtents16")
   ;
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+320)/* var←c36908 */ , 1336837, (word) "ListFonts");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+272)/* var←c36716 */ , 68445957, (word) "ListFontsWithInfo");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+160)/* var←c36268 */ , 67397633, (word) "GetPointerMapping");
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+184)/* var←c36364 */ , 67401729, (word) "GetKeyboardMapping")
   ;
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+168)/* var←c36300 */ , 67401985, (word) "GetModifierMapping")
   ;
   (void) XR←ExportProcS(var←c41068, (word) (( (bPt) gf←c0405)+192)/* var←c36396 */ , 67664386, (word) "QueryKeymap");
   (void) XR←ExportType((word) "ConnectionPrivate", (word) XR←GetTypeIndexS((word) (&string46)), (word) XR←GetTypeIndex((word) &string47, 0, (word) &string48)
      );
   (void) XR←ExportType((word) "FontRep", (word) XR←GetTypeIndexS((word) (&string49)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
      );
   var←c41068 = (word) XR←ExportInterface((word) "XlPrivateTypes", (word) XR←GetTypeIndexS((word) (&string50)), 7);
   (* (( (ptr) gf←c0405)+113)/* var←c41132 */  ) = var←c41068;
   (void) XR←ExportType((word) "KMappingCacheRep", (word) XR←GetTypeIndexS((word) (&string51)), (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6)
      );
   (void) XR←ExportType((word) "PMappingCacheRep", (word) XR←GetTypeIndexS((word) (&string52)), (word) XR←GetTypeIndexS((word) (&string8))
      );
   (void) XR←ExportType((word) "MMappingCacheRep", (word) XR←GetTypeIndexS((word) (&string53)), (word) XR←GetTypeIndexS((word) (&string7))
      );
   (void) XR←ExportType((word) "FontPrivate", (word) XR←GetTypeIndexS((word) (&string54)), (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4)
      );
   }

static void XlImplTexts←P0(formal←c054, formal←c053)
   word formal←c054;
   word formal←c053;
   {
   /* XlImplTexts: */ 
   }

static word FontId←P60(f←v4736)
   word f←v4736;
   {
   word var←c4780;
   /* FontId: */ 
SOURCE(959, 69)
SOURCE(1006, 22)
   return((*  (ptr) f←v4736 ));
   }

static word IsFont←P120(x←v4840)
   word x←v4840;
   {
   register ptr gf←c41164 =  (ptr) &globalframe;
   word var←c4900;
   /* IsFont: */ 
SOURCE(1032, 84)
SOURCE(1084, 32)
   {
      word tc55;
      if ((x←v4840 == 0)) {
         tc55 =  (word)  (unsigned) 1;
         }
      else {
         tc55 =  (word)  (unsigned) ((* (( (ptr) gf←c41164)+5) ) == XR←GetReferentType(x←v4840));
         };
      return(tc55);
      };
   }

static word NarrowFont←P180(x←v4960)
   word x←v4960;
   {
   register ptr gf←c41196 =  (ptr) &globalframe;
   word var←c5016;
   /* NarrowFont: */ 
SOURCE(1120, 88)
SOURCE(1176, 32)
   return(XR←Narrow(x←v4960, (* (( (ptr) gf←c41196)+5) )));
   }

static word GetFontStuff←P240(c←v5076)
   word c←v5076;
   {
   W7 var←c41228;
   /* declaration of fp←v5120 skipped */ 
   /* declaration of var←c37260 skipped */ 
   /* GetFontStuff: */ 
SOURCE(1212, 522)
   {
      word tmpAddr56;
      tmpAddr56 = (word) (( (ptr) &var←c41228)+5)/* var←c37260 */ ;
      (*  (ptr) tmpAddr56 ) = ( ((word)  (fPt) InitFontTable←P2040) );
      (* (( (ptr) tmpAddr56) + 1) ) = 1;
      };
SOURCE(1212, 522)
   var←c41228.f4/* fp←v5120 */  = 0;
SOURCE(1569, 165)
   if ( ( (c←v5076 != 0) ? (0 != (* (( (ptr) c←v5076)+15) )) : 0 ) ) {
SOURCE(1589, 150)
      {
         word cPriv←v9668;
SOURCE(1591, 45)
         cPriv←v9668 = (* (( (ptr) c←v5076)+24) );
SOURCE(1638, 96)
         if ((cPriv←v9668 != 0)) {
SOURCE(1658, 20)
            var←c41228.f4/* fp←v5120 */  = (* (( (ptr) cPriv←v9668)+78) );
SOURCE(1680, 54)
            if ((var←c41228.f4/* fp←v5120 */  == 0)) {
SOURCE(1696, 16)
               (void) InitFontTable←P2040(c←v5076, (word) (( (bPt) &var←c41228)+20)/* var←c37260 */ );
SOURCE(1714, 20)
               var←c41228.f4/* fp←v5120 */  = (* (( (ptr) cPriv←v9668)+78) );
               };
            };
         };
      };
SOURCE(1212, 522)
   return(var←c41228.f4/* fp←v5120 */ );
   }

static void InitFontTable←P2040(c←v9640, formal←c41292)
   word c←v9640;
   word formal←c41292;
   {
   register ptr gf←c41260 =  (ptr) &globalframe;
   word cPriv←v9724;
   formal←c41292 = (formal←c41292 - 20);
   /* InitFontTable: */ 
SOURCE(1281, 280)
   (void) (XR←MonitorEntry(c←v9640));
SOURCE(1327, 45)
   cPriv←v9724 = (* (( (ptr) c←v9640)+24) );
SOURCE(1374, 187)
   if ( ( (cPriv←v9724 != 0) ? ((* (( (ptr) cPriv←v9724)+78) ) == 0) : 0 ) ) {
SOURCE(1418, 121)
      {
         word var←c37292;
         word var←c37356;
         word var←c37420;
         {
            word pd57;
            pd57 = (* (( (ptr) (* (( (ptr) gf←c41260)+100)/* var←c37324 */  ))+5) );
            var←c37292 = (word) ( *( (fPt) ((*  (ptr) pd57 ))))(17, 0, pd57);
            };
         {
            word pd58;
            pd58 = (* (( (ptr) (* (( (ptr) gf←c41260)+101)/* var←c37388 */  ))+10) );
            var←c37356 = (word) ( *( (fPt) ((*  (ptr) pd58 ))))((word) (( (bPt) gf←c41260)+352)/* var←c37036 */ , 3, pd58);
            };
         var←c37420 = XR←NewObject(8, (* (( (ptr) gf←c41260)+6) ));
         (*  (ptr) var←c37420 ) = var←c37292;
         (* (( (ptr) var←c37420)+1) ) = var←c37356;
         (* (( (ptr) formal←c41292)+4) ) = var←c37420;
         };
SOURCE(1541, 20)
      (* (( (ptr) cPriv←v9724)+78) ) = (* (( (ptr) formal←c41292)+4) );
      };
SOURCE(1281, 280)
   (void) (XR←MonitorExit(c←v9640));
   return;
   }

static void FinalizeFont←P300(handle←v21832, object←v21860)
   word handle←v21832;
   word object←v21860;
   {
   W9 var←c41324;
   register ptr gf←c41356 =  (ptr) &globalframe;
   /* declaration of var←c37452 skipped */ 
   /* declaration of var←c37484 skipped */ 
   /* declaration of f←v9836 skipped */ 
   /* FinalizeFont: */ 
SOURCE(1747, 1161)
   {
      word tmpAddr59;
      tmpAddr59 = (word) (( (ptr) &var←c41324)+4)/* var←c37452 */ ;
      (*  (ptr) tmpAddr59 ) = ( ((word)  (fPt) FreeFont←P2208) );
      (* (( (ptr) tmpAddr59) + 1) ) = 1;
      };
   {
      word tmpAddr60;
      tmpAddr60 = (word) (( (ptr) &var←c41324)+6)/* var←c37484 */ ;
      (*  (ptr) tmpAddr60 ) = ( ((word)  (fPt) RemoveFontFromFontCache←P2148) );
      (* (( (ptr) tmpAddr60) + 1) ) = 1;
      };
SOURCE(2855, 31)
   (* (( (ptr) &var←c41324)+8)/* f←v9836 */  ) = XR←Narrow(object←v21860, (* (( (ptr) gf←c41356)+5) ));
SOURCE(2888, 20)
SOURCE(2888, 20)
   {
      word var←c01;
      {
         word var←c0464;
         var←c0464 = (word) &var←c41324;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q5616) ), ( ((word)  (fPt) NoName←Q5676) ), var←c0464);
         };
      /* removed trivial cond node */ 
      };
   }

static word NoName←Q5616(formal←c0411)
   word formal←c0411;
   {
SOURCE(2888, 20)
   (void) FreeFont←P2208((* (( (ptr) formal←c0411)+8) ), (word) (( (bPt) formal←c0411)+16));
   return(0);
   }

static void RemoveFontFromFontCache←P2148(formal←c0501, formal←c41452)
   word formal←c0501;
   word formal←c41452;
   {
   W7 var←c41388;
   /* declaration of font←v9912 skipped */ 
   register ptr gf←c41420 =  (ptr) &globalframe;
   /* declaration of var←c37516 skipped */ 
   word owner←v10012;
   formal←c41452 = (formal←c41452 - 24);
   var←c41388.f4/* font←v9912 */  = formal←c0501;
   var←c41388.f0 = formal←c41452;
   /* RemoveFontFromFontCache: */ 
SOURCE(1789, 490)
   {
      word tmpAddr61;
      tmpAddr61 = (word) (( (ptr) &var←c41388)+5)/* var←c37516 */ ;
      (*  (ptr) tmpAddr61 ) = ( ((word)  (fPt) UpdateTable←P2412) );
      (* (( (ptr) tmpAddr61) + 1) ) = 1;
      };
SOURCE(1839, 34)
   owner←v10012 = (* (( (ptr) var←c41388.f4/* font←v9912 */ )+3) );
SOURCE(1875, 404)
   if ( ( (owner←v10012 != 0) ? (0 == (* (( (ptr) var←c41388.f4/* font←v9912 */ )+1) )) : 0 ) ) {
SOURCE(1918, 361)
      {
         word var←c37548;
         var←c37548 = (* (( (ptr) var←c41388.f4/* font←v9912 */ )+4) );
         if ((var←c37548 == 0)) {
            goto lab←L100004;
            };
         {
            word tc62;
            if (((* (( (ptr) gf←c41420)+10) ) == XR←GetReferentType(var←c37548))) {
               tc62 =  (word) ( (unsigned) (*(int*)var←c37548<0) == 0);
               }
            else {
               tc62 =  (word) 0;
               };
            if (tc62) {
               {
                  word name←v10068;
                  name←v10068 = var←c37548;
SOURCE(1968, 316)
                  {
                     word c←v10112;
                     word fp←v10140;
SOURCE(1970, 22)
                     c←v10112 = (*  (ptr) owner←v10012 );
SOURCE(1994, 37)
                     fp←v10140 = (word) GetFontStuff←P240(c←v10112);
SOURCE(2033, 246)
                     if ((fp←v10140 != 0)) {
SOURCE(2048, 233)
SOURCE(2237, 42)
                        {
                           word pd63;
                           pd63 = (* (( (ptr) (* (( (ptr) gf←c41420)+100)/* var←c37324 */  ))+15) );
                           (void) ( *( (fPt) ((*  (ptr) pd63 ))))((*  (ptr) fp←v10140 ), name←v10068, (word) (( (bPt) &var←c41388)+20)/* var←c37516 */ , pd63)
                           ;
                           };
                        };
                     };
                  };
               }
            else {
               lab←L100004: ;
               };
            };
         };
      };
   }

static void UpdateTable←P2412(formal←c087, found←v23188, val←v23216, formal←c41516)
   word formal←c087;
   word found←v23188;
   word val←v23216;
   word formal←c41516;
   {
   register ptr gf←c41484 =  (ptr) &globalframe;
   word op←v23260;
   word new←v23288;
   word handle←v10240 = 0;
   formal←c41516 = (formal←c41516 - 20);
   /* UpdateTable: */ 
SOURCE(2050, 36)
SOURCE(2050, 36)
   op←v23260 = 0;
SOURCE(2050, 36)
   new←v23288 = 0;
SOURCE(2121, 23)
SOURCE(2122, 22)
   handle←v10240 = val←v23216;
SOURCE(2147, 87)
   {
      word pd65;
      if ((handle←v10240 == 0)) { goto then064;};
      pd65 = (* (( (ptr) (* (( (ptr) gf←c41484)+102)/* var←c37580 */  ))+12) );
      if (((word) ( *( (fPt) ((*  (ptr) pd65 ))))(handle←v10240, pd65) == (* (( (ptr) formal←c41516)+4) ))) {
         then064: ;
SOURCE(2207, 17)
         op←v23260 = 2;
         }
      else {
SOURCE(2224, 10)
         op←v23260 = 0;
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c087 ) = op←v23260;
   (* (( (ptr) formal←c087)+1) ) = new←v23288;
   return;
   }

static void FreeFont←P2208(font←v9972, formal←c41612)
   word font←v9972;
   word formal←c41612;
   {
   W7 var←c41548;
   register ptr gf←c41580 =  (ptr) &globalframe;
   /* declaration of var←c37612 skipped */ 
   /* declaration of id←v10312 skipped */ 
   formal←c41612 = (formal←c41612 - 16);
   var←c41548.f0 = formal←c41612;
   /* FreeFont: */ 
SOURCE(2308, 533)
   {
      word tmpAddr66;
      tmpAddr66 = (word) (( (ptr) &var←c41548)+4)/* var←c37612 */ ;
      (*  (ptr) tmpAddr66 ) = ( ((word)  (fPt) action←P2472) );
      (* (( (ptr) tmpAddr66) + 1) ) = 1;
      };
SOURCE(2524, 317)
   if ((font←v9972 != 0)) {
SOURCE(2541, 308)
      {
         word owner←v10416;
SOURCE(2543, 34)
         owner←v10416 = (* (( (ptr) font←v9972)+3) );
SOURCE(2579, 56)
         if ((0 == (* (( (ptr) font←v9972)+1) ))) {
SOURCE(2606, 29)
            (void) RemoveFontFromFontCache←P2148(font←v9972, (word) (( (bPt) formal←c41612)+24));
            };
SOURCE(2637, 204)
         if ((owner←v10416 != 0)) {
SOURCE(2655, 191)
            {
               word c←v10472;
SOURCE(2657, 22)
               c←v10472 = (*  (ptr) owner←v10416 );
SOURCE(2681, 20)
               var←c41548.f6/* id←v10312 */  = (*  (ptr) font←v9972 );
SOURCE(2703, 138)
               {
                  word tc67;
                  word pd68;
                  if ( (  ( (0 == (* (( (ptr) font←v9972)+1) )) ? (var←c41548.f6/* id←v10312 */  != 0) : 0 )  ?  ( (c←v10472 != 0) ? (0 != (* (
                     ( (ptr) c←v10472)+15) )) : 0 )  : 0 ) ) {
                     pd68 = (* (( (ptr) (* (( (ptr) gf←c41580)+103)/* var←c37644 */  ))+9) );
                     tc67 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd68 ))))(c←v10472, var←c41548.f6/* id←v10312 */ , pd68));
                     }
                  else {
                     tc67 =  (word) 0;
                     };
                  if (tc67) {
SOURCE(2795, 46)
                     {
                        word pd69;
                        pd69 = (* (( (ptr) (* (( (ptr) gf←c41580)+105)/* var←c37708 */  ))+6) );
                        (void) ( *( (fPt) ((*  (ptr) pd69 ))))(c←v10472, (word) (( (bPt) &var←c41548)+16)/* var←c37612 */ , (*  (ptr) (* (( (ptr) (* (
/*1*/      ( (ptr) gf←c41580)+104)/* var←c37676 */  ))+5) ) ), pd69);
                        };
                     };
                  };
               };
            };
         };
      };
   }

static void action←P2472(c←v10388, formal←c41676)
   word c←v10388;
   word formal←c41676;
   {
   register ptr gf←c41644 =  (ptr) &globalframe;
   formal←c41676 = (formal←c41676 - 16);
   /* action: */ 
SOURCE(2343, 168)
SOURCE(2376, 28)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c41644)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd70 ))))(c←v10388, 46, 0, 2, pd70);
      };
SOURCE(2406, 23)
   {
      word pd71;
      pd71 = (* (( (ptr) (* (( (ptr) gf←c41644)+105)/* var←c37708 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd71 ))))(c←v10388, (* (( (ptr) formal←c41676)+6) ), pd71);
      };
SOURCE(2431, 30)
   {
      word pd72;
      pd72 = (* (( (ptr) (* (( (ptr) gf←c41644)+105)/* var←c37708 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd72 ))))(c←v10388, 0, pd72);
      };
SOURCE(2463, 48)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c41644)+103)/* var←c37644 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))(c←v10388, (* (( (ptr) formal←c41676)+6) ), pd73);
      };
   }

static word OpenFont←P360(c←v5192, name←v5220, details←v5248)
   word c←v5192;
   word name←v5220;
   word details←v5248;
   {
   register ptr gf←c41708 =  (ptr) &globalframe;
   word font←v5292;
   word handle←v10516 = 0;
   /* OpenFont: */ 
SOURCE(2923, 770)
SOURCE(2923, 770)
   font←v5292 = 0;
SOURCE(3054, 64)
   {
      word tc74;
      word pd75;
      if ((c←v5192 == 0)) {
         pd75 = (* (( (ptr) (* (( (ptr) gf←c41708)+106)/* var←c37740 */  ))+8) );
         tc74 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd75 ))))(name←v5220, (* (( (ptr) gf←c41708)+32) ), 1, pd75));
         }
      else {
         tc74 =  (word) 0;
         };
      if (tc74) {
SOURCE(3097, 21)
         return(XR←NewObject(20, (* (( (ptr) gf←c41708)+5) )));
         };
      };
SOURCE(3120, 578)
   {
      word cPriv←v10560;
      word fp←v10588;
SOURCE(3126, 45)
      cPriv←v10560 = (* (( (ptr) c←v5192)+24) );
SOURCE(3173, 37)
      fp←v10588 = (word) GetFontStuff←P240(c←v5192);
SOURCE(3212, 224)
      if ((fp←v10588 != 0)) {
SOURCE(3227, 214)
         {
            word val←v10656;
            W2 var←c0102;
SOURCE(3229, 43)
            {
               word pd76;
               pd76 = (* (( (ptr) (* (( (ptr) gf←c41708)+100)/* var←c37324 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd76 ))))((word) &var←c0102, (*  (ptr) fp←v10588 ), name←v5220, pd76);
               };
            val←v10656 = var←c0102.f1;
SOURCE(3274, 162)
            if ((val←v10656 != 0)) {
SOURCE(3300, 23)
SOURCE(3301, 22)
               handle←v10516 = val←v10656;
SOURCE(3326, 48)
               {
                  word pd77;
                  pd77 = (* (( (ptr) (* (( (ptr) gf←c41708)+102)/* var←c37580 */  ))+12) );
                  font←v5292 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd77 ))))(handle←v10516, pd77), (* (( (ptr) gf←c41708)+5) ));
                  };
SOURCE(3376, 60)
               {
                  word pd78;
                  pd78 = (* (( (ptr) (* (( (ptr) gf←c41708)+102)/* var←c37580 */  ))+11) );
                  if (((word) ( *( (fPt) ((*  (ptr) pd78 ))))(handle←v10516, pd78) == 0)) {
SOURCE(3430, 6)
                     return(font←v5292);
                     };
                  };
               };
            };
         };
SOURCE(3444, 19)
      font←v5292 = XR←NewObject(20, (* (( (ptr) gf←c41708)+5) ));
SOURCE(3465, 29)
      (* (( (ptr) font←v5292)+3) ) = (*  (ptr) cPriv←v10560 );
SOURCE(3496, 46)
      (*  (ptr) font←v5292 ) = (word) OpenFontId←P420(c←v5192, name←v5220, details←v5248);
SOURCE(3544, 20)
      (* (( (ptr) font←v5292)+4) ) = name←v5220;
SOURCE(3566, 127)
      if ((fp←v10588 != 0)) {
SOURCE(3583, 67)
         {
            word pd79;
            pd79 = (* (( (ptr) (* (( (ptr) gf←c41708)+101)/* var←c37388 */  ))+8) );
            handle←v10516 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))(font←v5292, (* (( (ptr) fp←v10588)+1) ), pd79);
            };
SOURCE(3652, 41)
         {
            word var←c37868;
            word pd80;
            pd80 = (* (( (ptr) (* (( (ptr) gf←c41708)+100)/* var←c37324 */  ))+10) );
            var←c37868 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))((*  (ptr) fp←v10588 ), name←v5220, handle←v10516, pd80);
            };
         };
      };
SOURCE(2923, 770)
   return(font←v5292);
   }

static word OpenFontId←P420(c←v5364, formal←c0502, formal←c0503)
   word c←v5364;
   word formal←c0502;
   word formal←c0503;
   {
   W10 var←c41740;
   /* declaration of name←v5392 skipped */ 
   /* declaration of details←v5420 skipped */ 
   register ptr gf←c41772 =  (ptr) &globalframe;
   /* declaration of font←v5464 skipped */ 
   /* declaration of var←c37900 skipped */ 
   /* declaration of n←v10712 skipped */ 
   (* (( (ptr) &var←c41740)+4)/* name←v5392 */  ) = formal←c0502;
   (* (( (ptr) &var←c41740)+5)/* details←v5420 */  ) = formal←c0503;
   /* OpenFontId: */ 
SOURCE(3708, 464)
   {
      word tmpAddr81;
      tmpAddr81 = (word) (( (ptr) &var←c41740)+7)/* var←c37900 */ ;
      (*  (ptr) tmpAddr81 ) = ( ((word)  (fPt) action←P2724) );
      (* (( (ptr) tmpAddr81) + 1) ) = 1;
      };
SOURCE(3708, 464)
   (* (( (ptr) &var←c41740)+6)/* font←v5464 */  ) = 0;
SOURCE(3808, 26)
   {
      word pd82;
      pd82 = (* (( (ptr) (* (( (ptr) gf←c41772)+106)/* var←c37740 */  ))+14) );
      (* (( (ptr) &var←c41740)+9)/* n←v10712 */  ) = (word) ( *( (fPt) ((*  (ptr) pd82 ))))((* ((( (ptr) &var←c41740)+4)/* name←v5392 */ ) ), pd82)
      ;
      };
SOURCE(4086, 53)
   if (( (int)(* (( (ptr) &var←c41740)+9)/* n←v10712 */  ) >=  (int)(* (( (ptr) (* (( (ptr) c←v5364)+16) ))+7) ))) {
SOURCE(4126, 13)
      (void) XR←RaiseError((word) (( (bPt) gf←c41772)+132)/* var←c36140 */ , 0);
      };
SOURCE(4141, 31)
   {
      word pd83;
      pd83 = (* (( (ptr) (* (( (ptr) gf←c41772)+105)/* var←c37708 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd83 ))))(c←v5364, (word) (( (bPt) &var←c41740)+28)/* var←c37900 */ , (* (( (ptr) &var←c41740)+5)
         /* details←v5420 */  ), pd83);
      };
SOURCE(3708, 464)
   return((* (( (ptr) &var←c41740)+6)/* font←v5464 */  ));
   }

static void action←P2724(c←v10816, formal←c41836)
   word c←v10816;
   word formal←c41836;
   {
   register ptr gf←c41804 =  (ptr) &globalframe;
   formal←c41836 = (formal←c41836 - 28);
   /* action: */ 
SOURCE(3836, 245)
SOURCE(3869, 42)
   {
      word pd84;
      pd84 = (* (( (ptr) (* (( (ptr) gf←c41804)+103)/* var←c37644 */  ))+6) );
      (* (( (ptr) formal←c41836)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd84 ))))(c←v10816, pd84);
      };
SOURCE(3913, 26)
   {
      word pd85;
      pd85 = (* (( (ptr) (* (( (ptr) gf←c41804)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd85 ))))(c←v10816, 45, 0, (IOP2( / ,  (int)((* (( (ptr) formal←c41836)+9) ) + 3),  (int)4) + 
         3), pd85);
      };
SOURCE(3941, 15)
   {
      word pd86;
      pd86 = (* (( (ptr) (* (( (ptr) gf←c41804)+105)/* var←c37708 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd86 ))))(c←v10816, (* (( (ptr) formal←c41836)+6) ), pd86);
      };
SOURCE(3981, 12)
   {
      word pd87;
      word idx88;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c41804)+105)/* var←c37708 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd87 ))))(c←v10816, (
            idx88 = (* (( (ptr) formal←c41836)+9) ),
            BCK(idx88, 65536)
            ), pd87);
      };
SOURCE(4013, 11)
   (* (( (ptr) c←v10816)+4) ) = ((* (( (ptr) c←v10816)+4) ) + 2);
SOURCE(4027, 23)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c41804)+105)/* var←c37708 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd89 ))))(c←v10816, (* (( (ptr) formal←c41836)+4) ), 0, 2147483647, pd89);
      };
SOURCE(4052, 29)
   {
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c41804)+105)/* var←c37708 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd90 ))))(c←v10816, (* (( (ptr) formal←c41836)+5) ), pd90);
      };
   }

static void PreventGcOnServer←P480(font←v5524)
   word font←v5524;
   {
   /* PreventGcOnServer: */ 
SOURCE(4178, 72)
SOURCE(4226, 24)
   (* (( (ptr) font←v5524)+1) ) = 1;
   }

static void ListFonts←P540(c←v5584, each←v5612, formal←c0504, formal←c0505, data←v5696)
   word c←v5584;
   word each←v5612;
   word formal←c0504;
   word formal←c0505;
   word data←v5696;
   {
   W10 var←c41868;
   /* declaration of pattern←v5640 skipped */ 
   /* declaration of maxNames←v5668 skipped */ 
   register ptr gf←c41900 =  (ptr) &globalframe;
   /* declaration of var←c37932 skipped */ 
   /* declaration of reply←v10844 skipped */ 
   word nSTR←v10872;
   /* declaration of n←v10928 skipped */ 
   (* (( (ptr) &var←c41868)+4)/* pattern←v5640 */  ) = formal←c0504;
   (* (( (ptr) &var←c41868)+5)/* maxNames←v5668 */  ) = formal←c0505;
   /* ListFonts: */ 
SOURCE(4256, 622)
   {
      word tmpAddr91;
      tmpAddr91 = (word) (( (ptr) &var←c41868)+6)/* var←c37932 */ ;
      (*  (ptr) tmpAddr91 ) = ( ((word)  (fPt) action←P2784) );
      (* (( (ptr) tmpAddr91) + 1) ) = 1;
      };
SOURCE(4362, 12)
   (* (( (ptr) &var←c41868)+8)/* reply←v10844 */  ) = 0;
SOURCE(4545, 32)
   {
      word pd92;
      word idx93;
      pd92 = (* (( (ptr) (* (( (ptr) gf←c41900)+106)/* var←c37740 */  ))+14) );
      (* (( (ptr) &var←c41868)+9)/* n←v10928 */  ) = (
         idx93 = (word) ( *( (fPt) ((*  (ptr) pd92 ))))((* ((( (ptr) &var←c41868)+4)/* pattern←v5640 */ ) ), pd92),
         BCK(idx93, 65536)
         );
      };
SOURCE(4579, 53)
   if (( (int)(* (( (ptr) &var←c41868)+9)/* n←v10928 */  ) >=  (int)(* (( (ptr) (* (( (ptr) c←v5584)+16) ))+7) ))) {
SOURCE(4619, 13)
      (void) XR←RaiseError((word) (( (bPt) gf←c41900)+132)/* var←c36140 */ , 0);
      };
SOURCE(4634, 27)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c41900)+105)/* var←c37708 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd94 ))))(c←v5584, (word) (( (bPt) &var←c41868)+24)/* var←c37932 */ , 0, pd94);
      };
SOURCE(4663, 17)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c41900)+105)/* var←c37708 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd95 ))))((* ((( (ptr) &var←c41868)+8)/* reply←v10844 */ ) ), pd95);
      };
SOURCE(4682, 14)
   (* (( (ptr) (* (( (ptr) &var←c41868)+8)/* reply←v10844 */  ))+10) ) = ((* (( (ptr) (* (( (ptr) &var←c41868)+8)/* reply←v10844 */  ))+10)
    ) + 7);
SOURCE(4698, 21)
   {
      word pd96;
      pd96 = (* (( (ptr) (* (( (ptr) gf←c41900)+105)/* var←c37708 */  ))+78) );
      nSTR←v10872 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))((* ((( (ptr) &var←c41868)+8)/* reply←v10844 */ ) ), pd96);
      };
SOURCE(4721, 15)
   (* (( (ptr) (* (( (ptr) &var←c41868)+8)/* reply←v10844 */  ))+10) ) = ((* (( (ptr) (* (( (ptr) &var←c41868)+8)/* reply←v10844 */  ))+10)
    ) + 22);
SOURCE(4738, 103)
   {
      register word i←v11032 = 0;
      register word noName←c37964;
      noName←c37964 = nSTR←v10872;
      if ((i←v11032 >= noName←c37964)) {
         goto lab←L100006;
         };
      lab←L100009: ;
      {
         word name←v11076;
         word quit←v11104;
SOURCE(4766, 29)
         {
            word pd97;
            pd97 = (* (( (ptr) (* (( (ptr) gf←c41900)+105)/* var←c37708 */  ))+80) );
            name←v11076 = (word) ( *( (fPt) ((*  (ptr) pd97 ))))((* ((( (ptr) &var←c41868)+8)/* reply←v10844 */ ) ), pd97);
            };
SOURCE(4797, 29)
         quit←v11104 = (word) ( *( (fPt) ((*  (ptr) each←v5612 ))))(name←v11076, data←v5696, each←v5612);
SOURCE(4828, 13)
         if ((0 != quit←v11104)) {
SOURCE(4841, 4)
            goto lab←L100007;
            };
         };
      i←v11032 = (i←v11032 + 1);
      if ((i←v11032 < noName←c37964)) {
         goto lab←L100009;
         };
      lab←L100006: ;
      lab←L100007: ;
      };
SOURCE(4856, 22)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c41900)+105)/* var←c37708 */  ))+67) );
      (void) ( *( (fPt) ((*  (ptr) pd98 ))))(c←v5584, (* (( (ptr) &var←c41868)+8)/* reply←v10844 */  ), pd98);
      };
   }

static void action←P2784(c←v11004, formal←c41964)
   word c←v11004;
   word formal←c41964;
   {
   register ptr gf←c41932 =  (ptr) &globalframe;
   formal←c41964 = (formal←c41964 - 24);
   /* action: */ 
SOURCE(4390, 150)
SOURCE(4423, 26)
   {
      word pd99;
      pd99 = (* (( (ptr) (* (( (ptr) gf←c41932)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd99 ))))(c←v11004, 49, 0, (((word) ((* (( (ptr) formal←c41964)+9) ) + 3) >> 2) + 2), pd99);
      };
SOURCE(4451, 19)
   {
      word pd100;
      word idx101;
      pd100 = (* (( (ptr) (* (( (ptr) gf←c41932)+105)/* var←c37708 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd100 ))))(c←v11004, (
            idx101 = (* (( (ptr) formal←c41964)+5) ),
            BCK(idx101, 65536)
            ), pd100);
      };
SOURCE(4472, 12)
   {
      word pd102;
      pd102 = (* (( (ptr) (* (( (ptr) gf←c41932)+105)/* var←c37708 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd102 ))))(c←v11004, (* (( (ptr) formal←c41964)+9) ), pd102);
      };
SOURCE(4486, 26)
   {
      word pd103;
      pd103 = (* (( (ptr) (* (( (ptr) gf←c41932)+105)/* var←c37708 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd103 ))))(c←v11004, (* (( (ptr) formal←c41964)+4) ), 0, 2147483647, pd103);
      };
SOURCE(4514, 26)
   {
      word pd104;
      pd104 = (* (( (ptr) (* (( (ptr) gf←c41932)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c41964)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd104 ))))(c←v11004, pd104);
      };
   }

static word GetFontPath←P600(c←v5768)
   word c←v5768;
   {
   W7 var←c41996;
   register ptr gf←c42028 =  (ptr) &globalframe;
   word var←c5812;
   /* declaration of var←c37996 skipped */ 
   /* declaration of reply←v11176 skipped */ 
   word nSTR←v11204;
   word head←v11232;
   word last←v11260;
   /* GetFontPath: */ 
SOURCE(4884, 486)
   {
      word tmpAddr105;
      tmpAddr105 = (word) (( (ptr) &var←c41996)+4)/* var←c37996 */ ;
      (*  (ptr) tmpAddr105 ) = ( ((word)  (fPt) action←P2940) );
      (* (( (ptr) tmpAddr105) + 1) ) = 1;
      };
SOURCE(5036, 12)
   var←c41996.f6/* reply←v11176 */  = 0;
SOURCE(5064, 6)
   {
      word var←c38060;
      head←v11232 = XR←NewObject(8, (* (( (ptr) gf←c42028)+17) ));
      var←c38060 = head←v11232;
      };
SOURCE(5096, 6)
   last←v11260 = head←v11232;
SOURCE(5123, 27)
   {
      word pd106;
      pd106 = (* (( (ptr) (* (( (ptr) gf←c42028)+105)/* var←c37708 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd106 ))))(c←v5768, (word) (( (bPt) &var←c41996)+16)/* var←c37996 */ , 0, pd106);
      };
SOURCE(5152, 17)
   {
      word pd107;
      pd107 = (* (( (ptr) (* (( (ptr) gf←c42028)+105)/* var←c37708 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd107 ))))(var←c41996.f6/* reply←v11176 */ , pd107);
      };
SOURCE(5171, 14)
   (* (( (ptr) var←c41996.f6/* reply←v11176 */ )+10) ) = ((* (( (ptr) var←c41996.f6/* reply←v11176 */ )+10) ) + 7);
SOURCE(5187, 21)
   {
      word pd108;
      pd108 = (* (( (ptr) (* (( (ptr) gf←c42028)+105)/* var←c37708 */  ))+78) );
      nSTR←v11204 = (word) ( *( (fPt) ((*  (ptr) pd108 ))))(var←c41996.f6/* reply←v11176 */ , pd108);
      };
SOURCE(5210, 15)
   (* (( (ptr) var←c41996.f6/* reply←v11176 */ )+10) ) = ((* (( (ptr) var←c41996.f6/* reply←v11176 */ )+10) ) + 22);
SOURCE(5227, 90)
   {
      register word i←v11532 = 0;
      register word noName←c38092;
      noName←c38092 = nSTR←v11204;
      if ((i←v11532 >= noName←c38092)) {
         goto lab←L100010;
         };
      lab←L100013: ;
      {
         word name←v11576;
SOURCE(5257, 29)
         {
            word pd109;
            pd109 = (* (( (ptr) (* (( (ptr) gf←c42028)+105)/* var←c37708 */  ))+80) );
            name←v11576 = (word) ( *( (fPt) ((*  (ptr) pd109 ))))(var←c41996.f6/* reply←v11176 */ , pd109);
            };
SOURCE(5288, 29)
         {
            word var←c38124;
            {
               word var←c38156;
               word var←c38188;
               var←c38156 = XR←NewObject(8, (* (( (ptr) gf←c42028)+17) ));
               var←c38188 = var←c38156;
               (*  (ptr) var←c38188 ) = name←v11576;
               var←c38124 = var←c38156;
               };
            (* (( (ptr) last←v11260)+1) ) = var←c38124;
            last←v11260 = var←c38124;
            };
         };
      i←v11532 = (i←v11532 + 1);
      if ((i←v11532 < noName←c38092)) {
         goto lab←L100013;
         };
      lab←L100010: ;
      };
SOURCE(5328, 22)
   {
      word pd110;
      pd110 = (* (( (ptr) (* (( (ptr) gf←c42028)+105)/* var←c37708 */  ))+67) );
      (void) ( *( (fPt) ((*  (ptr) pd110 ))))(c←v5768, var←c41996.f6/* reply←v11176 */ , pd110);
      };
SOURCE(5352, 18)
   return((* (( (ptr) head←v11232)+1) ));
   }

static void action←P2940(c←v11336, formal←c42092)
   word c←v11336;
   word formal←c42092;
   {
   register ptr gf←c42060 =  (ptr) &globalframe;
   formal←c42092 = (formal←c42092 - 16);
   /* action: */ 
SOURCE(4952, 79)
SOURCE(4985, 18)
   {
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c42060)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd111 ))))(c←v11336, 52, 0, 1, pd111);
      };
SOURCE(5005, 26)
   {
      word pd112;
      pd112 = (* (( (ptr) (* (( (ptr) gf←c42060)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c42092)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd112 ))))(c←v11336, pd112);
      };
   }

static word IntERead16←P660(r←v5956)
   word r←v5956;
   {
   register ptr gf←c42124 =  (ptr) &globalframe;
   word i←v6000;
   word small←v11620;
   /* IntERead16: */ 
SOURCE(5376, 103)
SOURCE(5425, 42)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c42124)+105)/* var←c37708 */  ))+78) );
      small←v11620 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd113 ))))(r←v5956, pd113) << 16) >> 16) );
      };
SOURCE(5469, 10)
   i←v6000 = small←v11620;
SOURCE(5376, 103)
   return(i←v6000);
   }

static word QueryFont←P720(c←v6060, font←v6088)
   word c←v6060;
   word font←v6088;
   {
   register ptr gf←c42156 =  (ptr) &globalframe;
   word inf←v6132;
   /* QueryFont: */ 
SOURCE(5485, 347)
SOURCE(5485, 347)
   inf←v6132 = 0;
SOURCE(5584, 248)
   {
      word var←c38220;
      var←c38220 = font←v6088;
      if ((var←c38220 == 0)) {
         goto lab←L100014;
         };
      if (((* (( (ptr) gf←c42156)+5) ) == XR←GetReferentType(var←c38220))) {
         {
            word f←v11664;
            f←v11664 = var←c38220;
SOURCE(5626, 12)
            inf←v6132 = (* (( (ptr) f←v11664)+2) );
SOURCE(5640, 61)
            if ((inf←v6132 == 0)) {
SOURCE(5658, 43)
               {
                  word var←c38252;
                  var←c38252 = (word) QueryFontID←P780(c←v6060, (*  (ptr) f←v11664 ));
                  (* (( (ptr) f←v11664)+2) ) = var←c38252;
                  inf←v6132 = var←c38252;
                  };
               };
            };
         }
      else {
         lab←L100014: ;
SOURCE(5723, 109)
         {
            word pd114;
            pd114 = (* (( (ptr) (* (( (ptr) gf←c42156)+107)/* var←c38284 */  ))+139) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd114 ))))(font←v6088, pd114))) {
SOURCE(5749, 85)
               {
                  word id←v11720;
SOURCE(5751, 55)
                  {
                     word var←c38316;
                     {
                        word pd115;
                        pd115 = (* (( (ptr) (* (( (ptr) gf←c42156)+107)/* var←c38284 */  ))+140) );
                        var←c38316 = (word) ( *( (fPt) ((*  (ptr) pd115 ))))(font←v6088, pd115);
                        };
                     {
                        word pd116;
                        pd116 = (* (( (ptr) (* (( (ptr) gf←c42156)+108)/* var←c38348 */  ))+4) );
                        id←v11720 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(var←c38316, 1, pd116);
                        };
                     };
SOURCE(5808, 24)
                  inf←v6132 = (word) QueryFontID←P780(c←v6060, id←v11720);
                  };
               }
            else {
SOURCE(5841, 5)
               (void) XR←RaiseUnnamedError();
               };
            };
         };
      };
SOURCE(5485, 347)
   return(inf←v6132);
   }

static word QueryFontID←P780(c←v6204, formal←c0506)
   word c←v6204;
   word formal←c0506;
   {
   W8 var←c42188;
   /* declaration of fontableId←v6232 skipped */ 
   register ptr gf←c42220 =  (ptr) &globalframe;
   word fi←v6276;
   /* declaration of var←c38380 skipped */ 
   /* declaration of reply←v11764 skipped */ 
   var←c42188.f4/* fontableId←v6232 */  = formal←c0506;
   /* QueryFontID: */ 
SOURCE(5855, 292)
   {
      word tmpAddr117;
      tmpAddr117 = (word) (( (ptr) &var←c42188)+5)/* var←c38380 */ ;
      (*  (ptr) tmpAddr117 ) = ( ((word)  (fPt) action←P3192) );
      (* (( (ptr) tmpAddr117) + 1) ) = 1;
      };
SOURCE(5855, 292)
   fi←v6276 = 0;
SOURCE(5939, 12)
   var←c42188.f7/* reply←v11764 */  = 0;
   {
      W2 var←c0157;
SOURCE(6060, 27)
      {
         word pd118;
         pd118 = (* (( (ptr) (* (( (ptr) gf←c42220)+105)/* var←c37708 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd118 ))))(c←v6204, (word) (( (bPt) &var←c42188)+20)/* var←c38380 */ , 0, pd118);
         };
SOURCE(6089, 34)
      (void) ReadFontReply←P960((word) &var←c0157, var←c42188.f7/* reply←v11764 */ , 1);
      fi←v6276 = var←c0157.f0;
SOURCE(6125, 22)
      {
         word pd119;
         pd119 = (* (( (ptr) (* (( (ptr) gf←c42220)+105)/* var←c37708 */  ))+67) );
         (void) ( *( (fPt) ((*  (ptr) pd119 ))))(c←v6204, var←c42188.f7/* reply←v11764 */ , pd119);
         };
      };
SOURCE(5855, 292)
   return(fi←v6276);
   }

static void action←P3192(c←v11868, formal←c42284)
   word c←v11868;
   word formal←c42284;
   {
   register ptr gf←c42252 =  (ptr) &globalframe;
   formal←c42284 = (formal←c42284 - 20);
   /* action: */ 
SOURCE(5953, 102)
SOURCE(5986, 18)
   {
      word pd120;
      pd120 = (* (( (ptr) (* (( (ptr) gf←c42252)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd120 ))))(c←v11868, 47, 0, 2, pd120);
      };
SOURCE(6006, 21)
   {
      word pd121;
      pd121 = (* (( (ptr) (* (( (ptr) gf←c42252)+105)/* var←c37708 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd121 ))))(c←v11868, (* (( (ptr) formal←c42284)+4) ), pd121);
      };
SOURCE(6029, 26)
   {
      word pd122;
      pd122 = (* (( (ptr) (* (( (ptr) gf←c42252)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c42284)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd122 ))))(c←v11868, pd122);
      };
   }

static word InternalReportOneFont←P840(c←v21952, reply←v21980, data←v22008)
   word c←v21952;
   word reply←v21980;
   word data←v22008;
   {
   register ptr gf←c42316 =  (ptr) &globalframe;
   word more←v22052;
   /* InternalReportOneFont: */ 
SOURCE(6282, 344)
SOURCE(6282, 344)
   more←v22052 = 0;
SOURCE(6353, 273)
   {
      word tc123;
      if (( (unsigned) (*  (bPt) reply←v21980 ) == 1)) {
         tc123 =  (word) ( (unsigned) (* (( (bPt) reply←v21980)+1) ) != 0);
         }
      else {
         tc123 =  (word) 0;
         };
      if (tc123) {
SOURCE(6399, 207)
         {
            word rcr←v11896;
            word new←v11924;
SOURCE(6401, 42)
            rcr←v11896 = XR←Narrow(data←v22008, (* (( (ptr) gf←c42316)+18) ));
SOURCE(6445, 5)
            new←v11924 = XR←NewObject(8, (* (( (ptr) gf←c42316)+19) ));
            {
               word var←c38444;
               var←c38444 = new←v11924;
               (*  (ptr) var←c38444 ) = reply←v21980;
               };
SOURCE(6489, 59)
            if (( (int)(*  (ptr) rcr←v11896 ) ==  (int)0)) {
SOURCE(6509, 20)
               (* (( (ptr) rcr←v11896)+1) ) = new←v11924;
               }
            else {
SOURCE(6529, 19)
               (* (( (ptr) (* (( (ptr) rcr←v11896)+2) ))+1) ) = new←v11924;
               };
SOURCE(6551, 14)
            (* (( (ptr) rcr←v11896)+2) ) = new←v11924;
SOURCE(6567, 25)
            (*  (ptr) rcr←v11896 ) = ((*  (ptr) rcr←v11896 ) + 1);
SOURCE(6594, 12)
            more←v22052 = 1;
            };
         }
      else {
SOURCE(6613, 13)
         more←v22052 = 0;
         };
      };
SOURCE(6282, 344)
   return(more←v22052);
   }

static word ListFontsWithInfo←P900(c←v6616, each←v6644, formal←c0507, formal←c0508, data←v6728)
   word c←v6616;
   word each←v6644;
   word formal←c0507;
   word formal←c0508;
   word data←v6728;
   {
   W10 var←c42348;
   /* declaration of pattern←v6672 skipped */ 
   /* declaration of maxNames←v6700 skipped */ 
   register ptr gf←c42380 =  (ptr) &globalframe;
   word count←v6784;
   /* declaration of var←c38476 skipped */ 
   /* declaration of rcr←v12064 skipped */ 
   /* declaration of n←v12120 skipped */ 
   (* (( (ptr) &var←c42348)+4)/* pattern←v6672 */  ) = formal←c0507;
   (* (( (ptr) &var←c42348)+5)/* maxNames←v6700 */  ) = formal←c0508;
   /* ListFontsWithInfo: */ 
SOURCE(6630, 991)
   {
      word tmpAddr124;
      tmpAddr124 = (word) (( (ptr) &var←c42348)+6)/* var←c38476 */ ;
      (*  (ptr) tmpAddr124 ) = ( ((word)  (fPt) ProtectedListFontsWithInfo←P3300) );
      (* (( (ptr) tmpAddr124) + 1) ) = 1;
      };
SOURCE(6769, 53)
   (* (( (ptr) &var←c42348)+8)/* rcr←v12064 */  ) = XR←NewObject(12, (* (( (ptr) gf←c42380)+18) ));
SOURCE(7098, 29)
   {
      word pd125;
      pd125 = (* (( (ptr) (* (( (ptr) gf←c42380)+106)/* var←c37740 */  ))+14) );
      (* (( (ptr) &var←c42348)+9)/* n←v12120 */  ) = (word) ( *( (fPt) ((*  (ptr) pd125 ))))((* ((( (ptr) &var←c42348)+4)/* pattern←v6672 */ ) ), pd125)
      ;
      };
SOURCE(7129, 92)
   if (( (int)(* (( (ptr) &var←c42348)+9)/* n←v12120 */  ) >=  (int)(* (( (ptr) (* (( (ptr) c←v6616)+16) ))+7) ))) {
SOURCE(7169, 52)
      {
         word pd126;
         pd126 = (* (( (ptr) (* (( (ptr) gf←c42380)+109)/* var←c38540 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd126 ))))(c←v6616, (* (( (ptr) gf←c42380)+31) ), pd126);
         };
      };
SOURCE(7223, 57)
   {
      word pd127;
      pd127 = (* (( (ptr) (* (( (ptr) gf←c42380)+105)/* var←c37708 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd127 ))))(c←v6616, (word) (( (bPt) &var←c42348)+24)/* var←c38476 */ , 0, pd127);
      };
SOURCE(7282, 17)
   count←v6784 = (*  (ptr) (* (( (ptr) &var←c42348)+8)/* rcr←v12064 */  ) );
SOURCE(7301, 206)
   {
      register word l←v12236;
      l←v12236 = (* (( (ptr) (* (( (ptr) &var←c42348)+8)/* rcr←v12064 */  ))+1) );
      lab←L100018: ;
      if ((l←v12236 != 0)) {
         }
      else {
         goto lab←L100015;
         };
      {
         word info←v12364 = 0;
         word name←v12392 = 0;
SOURCE(7406, 44)
         {
            W2 var←c38572;
            (void) ReadFontReply←P960((word) &var←c38572, (*  (ptr) l←v12236 ), 0);
            name←v12392 = var←c38572.f1;
            info←v12364 = var←c38572.f0;
            };
SOURCE(7453, 54)
         if ((0 != (word) ( *( (fPt) ((*  (ptr) each←v6644 ))))(name←v12392, info←v12364, data←v6728, each←v6644))) {
SOURCE(7507, 4)
            goto lab←L100016;
            };
         };
      l←v12236 = (* (( (ptr) l←v12236)+1) );
      goto lab←L100018;
      lab←L100015: ;
      lab←L100016: ;
      };
SOURCE(7522, 99)
   {
      register word l←v12448;
      l←v12448 = (* (( (ptr) (* (( (ptr) &var←c42348)+8)/* rcr←v12064 */  ))+1) );
      lab←L100022: ;
      if ((l←v12448 != 0)) {
         }
      else {
         goto lab←L100019;
         };
SOURCE(7587, 34)
      {
         word pd128;
         pd128 = (* (( (ptr) (* (( (ptr) gf←c42380)+105)/* var←c37708 */  ))+67) );
         (void) ( *( (fPt) ((*  (ptr) pd128 ))))(c←v6616, (*  (ptr) l←v12448 ), pd128);
         };
      l←v12448 = (* (( (ptr) l←v12448)+1) );
      goto lab←L100022;
      lab←L100019: ;
      };
SOURCE(6630, 991)
   return(count←v6784);
   }

static void ProtectedListFontsWithInfo←P3300(c←v12208, formal←c42444)
   word c←v12208;
   word formal←c42444;
   {
   register ptr gf←c42412 =  (ptr) &globalframe;
   formal←c42444 = (formal←c42444 - 24);
   /* ProtectedListFontsWithInfo: */ 
SOURCE(6824, 269)
SOURCE(6877, 36)
   {
      word pd129;
      pd129 = (* (( (ptr) (* (( (ptr) gf←c42412)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd129 ))))(c←v12208, 50, 0, (IOP2( / ,  (int)((* (( (ptr) formal←c42444)+9) ) + 3),  (int)4)
          + 2), pd129);
      };
SOURCE(6915, 29)
   {
      word pd130;
      word idx131;
      pd130 = (* (( (ptr) (* (( (ptr) gf←c42412)+105)/* var←c37708 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd130 ))))(c←v12208, (
            idx131 = (* (( (ptr) formal←c42444)+5) ),
            BCK(idx131, 65536)
            ), pd130);
      };
SOURCE(6946, 22)
   {
      word pd132;
      word idx133;
      pd132 = (* (( (ptr) (* (( (ptr) gf←c42412)+105)/* var←c37708 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd132 ))))(c←v12208, (
            idx133 = (* (( (ptr) formal←c42444)+9) ),
            BCK(idx133, 65536)
            ), pd132);
      };
SOURCE(6970, 36)
   {
      word pd134;
      pd134 = (* (( (ptr) (* (( (ptr) gf←c42412)+105)/* var←c37708 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd134 ))))(c←v12208, (* (( (ptr) formal←c42444)+4) ), 0, 2147483647, pd134);
      };
SOURCE(7008, 85)
   {
      word pd135;
      pd135 = (* (( (ptr) (* (( (ptr) gf←c42412)+105)/* var←c37708 */  ))+63) );
      (void) ( *( (fPt) ((*  (ptr) pd135 ))))(c←v12208, (word) (( (bPt) gf←c42412)+280)/* var←c36748 */ , (* (( (ptr) formal←c42444)+8)
          ), pd135);
      };
   }

static void ReadFontReply←P960(formal←c0217, reply←v6844, hasCharInfo←v6872)
   word formal←c0217;
   word reply←v6844;
   word hasCharInfo←v6872;
   {
   W8 var←c42476;
   register ptr gf←c42508 =  (ptr) &globalframe;
   word fi←v6916;
   word name←v6944;
   /* declaration of var←c38604 skipped */ 
   /* declaration of var←c38636 skipped */ 
   word replyLeng←v12632;
   word nameLength←v12660;
   word fontPropNum←v12688;
   word charInfoNum←v12716;
   word prop←v12744 = 0;
   /* ReadFontReply: */ 
SOURCE(7636, 2223)
   {
      word tmpAddr136;
      tmpAddr136 = (word) (( (ptr) &var←c42476)+4)/* var←c38604 */ ;
      (*  (ptr) tmpAddr136 ) = ( ((word)  (fPt) ReadCharInfo←P3564) );
      (* (( (ptr) tmpAddr136) + 1) ) = 1;
      };
   {
      word tmpAddr137;
      tmpAddr137 = (word) (( (ptr) &var←c42476)+6)/* var←c38636 */ ;
      (*  (ptr) tmpAddr137 ) = ( ((word)  (fPt) ReadFontProp←P3504) );
      (* (( (ptr) tmpAddr137) + 1) ) = 1;
      };
SOURCE(7636, 2223)
   fi←v6916 = 0;
SOURCE(7636, 2223)
   name←v6944 = 0;
SOURCE(8437, 21)
   fi←v6916 = XR←NewObject(60, (* (( (ptr) gf←c42508)+23) ));
SOURCE(8460, 27)
   {
      word pd138;
      pd138 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd138 ))))(reply←v6844, pd138);
      };
SOURCE(8489, 35)
   {
      word var←c38700;
      word b←v36092;
      b←v36092 =  (unsigned) (word) (* (( (bPt) reply←v6844)+(* (( (ptr) reply←v6844)+10) )) );
      (* (( (ptr) reply←v6844)+10) ) = ((* (( (ptr) reply←v6844)+10) ) + 1);
      var←c38700 = b←v36092;
      nameLength←v12660 = var←c38700;
      };
SOURCE(8568, 24)
   (* (( (ptr) reply←v6844)+10) ) = ((* (( (ptr) reply←v6844)+10) ) + 2);
SOURCE(8612, 36)
   {
      word pd139;
      word idx140;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+79) );
      replyLeng←v12632 = (
         idx140 = (word) ( *( (fPt) ((*  (ptr) pd139 ))))(reply←v6844, pd139),
         SGNCK(idx140)
         );
      };
SOURCE(8651, 31)
   (*  (ptr) fi←v6916 ) = XR←NewObject(12, (* (( (ptr) gf←c42508)+24) ));
SOURCE(8691, 46)
SOURCE(8693, 44)
   (void) ReadCharInfo←P3564(reply←v6844, (*  (ptr) fi←v6916 ), (word) (( (bPt) &var←c42476)+16)/* var←c38604 */ );
SOURCE(8740, 24)
   (* (( (ptr) reply←v6844)+10) ) = ((* (( (ptr) reply←v6844)+10) ) + 4);
SOURCE(8782, 37)
SOURCE(8784, 35)
   (void) ReadCharInfo←P3564(reply←v6844, (word) (( (bPt) fi←v6916)+4), (word) (( (bPt) &var←c42476)+16)/* var←c38604 */ );
SOURCE(8822, 24)
   (* (( (ptr) reply←v6844)+10) ) = ((* (( (ptr) reply←v6844)+10) ) + 4);
SOURCE(8857, 44)
   {
      word var←c38732;
      {
         word pd141;
         pd141 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+78) );
         var←c38732 = (word) ( *( (fPt) ((*  (ptr) pd141 ))))(reply←v6844, pd141);
         };
      (* (( (ptr) fi←v6916)+4) ) = var←c38732;
      };
SOURCE(8903, 44)
   {
      word var←c38764;
      {
         word pd142;
         pd142 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+78) );
         var←c38764 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))(reply←v6844, pd142);
         };
      (* (( (ptr) fi←v6916)+5) ) = var←c38764;
      };
SOURCE(8949, 41)
   {
      word pd143;
      pd143 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+78) );
      (* (( (ptr) fi←v6916)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(reply←v6844, pd143);
      };
SOURCE(8992, 38)
   {
      word pd144;
      pd144 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+78) );
      fontPropNum←v12688 = (word) ( *( (fPt) ((*  (ptr) pd144 ))))(reply←v6844, pd144);
      };
SOURCE(9032, 47)
   {
      word var←c38796;
      {
         word pd145;
         word idx146;
         pd145 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+77) );
         var←c38796 = (
            idx146 = (word) ( *( (fPt) ((*  (ptr) pd145 ))))(reply←v6844, pd145),
            BCK(idx146, 2)
            );
         };
      (* (( (ptr) fi←v6916)+7) ) = var←c38796;
      };
SOURCE(9081, 37)
   {
      word var←c38828;
      {
         word pd147;
         pd147 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+77) );
         var←c38828 = (word) ( *( (fPt) ((*  (ptr) pd147 ))))(reply←v6844, pd147);
         };
      (* (( (ptr) fi←v6916)+8) ) = var←c38828;
      };
SOURCE(9120, 37)
   {
      word var←c38860;
      {
         word pd148;
         pd148 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+77) );
         var←c38860 = (word) ( *( (fPt) ((*  (ptr) pd148 ))))(reply←v6844, pd148);
         };
      (* (( (ptr) fi←v6916)+9) ) = var←c38860;
      };
SOURCE(9159, 44)
   {
      word var←c38892;
      {
         word pd149;
         pd149 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+77) );
         var←c38892 =  (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd149 ))))(reply←v6844, pd149) != 0);
         };
      (* (( (ptr) fi←v6916)+10) ) = var←c38892;
      };
SOURCE(9205, 57)
   {
      word var←c38924;
      {
         word pd150;
         pd150 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+78) );
         var←c38924 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd150 ))))(reply←v6844, pd150) << 16) >> 16) );
         };
      (* (( (ptr) fi←v6916)+11) ) = var←c38924;
      };
SOURCE(9264, 58)
   {
      word var←c38956;
      {
         word pd151;
         pd151 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+78) );
         var←c38956 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd151 ))))(reply←v6844, pd151) << 16) >> 16) );
         };
      (* (( (ptr) fi←v6916)+12) ) = var←c38956;
      };
SOURCE(9324, 38)
   {
      word pd152;
      pd152 = (* (( (ptr) (* (( (ptr) gf←c42508)+105)/* var←c37708 */  ))+79) );
      charInfoNum←v12716 = (word) ( *( (fPt) ((*  (ptr) pd152 ))))(reply←v6844, pd152);
      };
SOURCE(9408, 60)
   {
      word var←c38988;
      {
         word var←c39020;
         word var←c39052;
         var←c39020 = ((word) fontPropNum←v12688 << 3);
         var←c39052 = XR←NewObject((4 + var←c39020), (* (( (ptr) gf←c42508)+25) ));
         (*  (ptr) var←c39052 ) = fontPropNum←v12688;
         var←c38988 = var←c39052;
         };
      prop←v12744 = var←c38988;
      (* (( (ptr) fi←v6916)+13) ) = var←c38988;
      };
SOURCE(9470, 66)
   {
      register word i←v13004 = 0;
      register word noName←c39084;
      noName←c39084 = fontPropNum←v12688;
      if ((i←v13004 >= noName←c39084)) {
         goto lab←L100025;
         };
      lab←L100028: ;
SOURCE(9507, 29)
      {
         W2 var←c39116;
         (void) ReadFontProp←P3504((word) &var←c39116, reply←v6844, (word) (( (bPt) &var←c42476)+24)/* var←c38636 */ );
         {
            word limit153;
            (* (( (W2Pt) (( (ptr) prop←v12744)+1))+(
                  limit153 = (*  (ptr) prop←v12744 ),
                  BCK(i←v13004, limit153)
                  )) ) = var←c39116;
            };
         };
      i←v13004 = (i←v13004 + 1);
      if ((i←v13004 < noName←c39084)) {
         goto lab←L100028;
         };
      lab←L100025: ;
      };
SOURCE(9547, 312)
   if ((0 != hasCharInfo←v6872)) {
SOURCE(9568, 216)
      {
         word chars←v13048 = 0;
SOURCE(9610, 160)
         if ((charInfoNum←v12716 > 0)) {
SOURCE(9634, 57)
            {
               word var←c39148;
               {
                  word var←c39180;
                  word var←c39212;
                  word var←c39244;
                  var←c39180 = BCK(charInfoNum←v12716, 22369621);
                  var←c39212 = ((word) var←c39180 * 12);
                  var←c39244 = XR←NewObject((4 + var←c39212), (* (( (ptr) gf←c42508)+26) ));
                  (*  (ptr) var←c39244 ) = var←c39180;
                  var←c39148 = var←c39244;
                  };
               chars←v13048 = var←c39148;
               (* (( (ptr) fi←v6916)+14) ) = var←c39148;
               };
SOURCE(9693, 77)
            {
               register word i←v13104 = 0;
               register word noName←c39276;
               noName←c39276 = charInfoNum←v12716;
               if ((i←v13104 >= noName←c39276)) {
                  goto lab←L100029;
                  };
               lab←L100032: ;
SOURCE(9737, 33)
SOURCE(9739, 31)
               {
                  word limit154;
                  (void) ReadCharInfo←P3564(reply←v6844, (word) (( (W3Pt) (( (bPt) chars←v13048)+4))+(
                           limit154 = (*  (ptr) chars←v13048 ),
                           BCK(i←v13104, limit154)
                           )), (word) (( (bPt) &var←c42476)+16)/* var←c38604 */ );
                  };
               i←v13104 = (i←v13104 + 1);
               if ((i←v13104 < noName←c39276)) {
                  goto lab←L100032;
                  };
               lab←L100029: ;
               };
            };
         };
      }
   else {
SOURCE(9812, 47)
      name←v6944 = (word) ReadRopeOfKnownLength←P1020(reply←v6844, SGNCK(nameLength←v12660));
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0217 ) = fi←v6916;
   (* (( (ptr) formal←c0217)+1) ) = name←v6944;
   return;
   }

static void ReadFontProp←P3504(formal←c0220, reply←v12820, formal←c42572)
   word formal←c0220;
   word reply←v12820;
   word formal←c42572;
   {
   register ptr gf←c42540 =  (ptr) &globalframe;
   W2 fp←v12864;
   formal←c42572 = (formal←c42572 - 24);
   /* ReadFontProp: */ 
SOURCE(7757, 147)
SOURCE(7831, 36)
   {
      word pd155;
      pd155 = (* (( (ptr) (* (( (ptr) gf←c42540)+105)/* var←c37708 */  ))+79) );
      fp←v12864.f0 = (word) ( *( (fPt) ((*  (ptr) pd155 ))))(reply←v12820, pd155);
      };
SOURCE(7869, 35)
   {
      word pd156;
      pd156 = (* (( (ptr) (* (( (ptr) gf←c42540)+105)/* var←c37708 */  ))+79) );
      fp←v12864.f1 = (word) ( *( (fPt) ((*  (ptr) pd156 ))))(reply←v12820, pd156);
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0220 ) = fp←v12864;
   return;
   }

static void ReadCharInfo←P3564(reply←v12924, ci←v12952, formal←c42636)
   word reply←v12924;
   word ci←v12952;
   word formal←c42636;
   {
   register ptr gf←c42604 =  (ptr) &globalframe;
   formal←c42636 = (formal←c42636 - 16);
   /* ReadCharInfo: */ 
SOURCE(7909, 419)
SOURCE(7998, 58)
   {
      word var←c39308;
      {
         word pd157;
         pd157 = (* (( (ptr) (* (( (ptr) gf←c42604)+105)/* var←c37708 */  ))+78) );
         var←c39308 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd157 ))))(reply←v12924, pd157) << 16) >> 16) );
         };
      (*  (hPt) ci←v12952 ) = var←c39308;
      };
SOURCE(8058, 59)
   {
      word var←c39340;
      {
         word pd158;
         pd158 = (* (( (ptr) (* (( (ptr) gf←c42604)+105)/* var←c37708 */  ))+78) );
         var←c39340 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd158 ))))(reply←v12924, pd158) << 16) >> 16) );
         };
      (* (( (hPt) ci←v12952)+1) ) = var←c39340;
      };
SOURCE(8119, 56)
   {
      word var←c39372;
      {
         word pd159;
         pd159 = (* (( (ptr) (* (( (ptr) gf←c42604)+105)/* var←c37708 */  ))+78) );
         var←c39372 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd159 ))))(reply←v12924, pd159) << 16) >> 16) );
         };
      (* (( (hPt) ci←v12952)+2) ) = var←c39372;
      };
SOURCE(8177, 53)
   {
      word var←c39404;
      {
         word pd160;
         pd160 = (* (( (ptr) (* (( (ptr) gf←c42604)+105)/* var←c37708 */  ))+78) );
         var←c39404 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd160 ))))(reply←v12924, pd160) << 16) >> 16) );
         };
      (* (( (hPt) ci←v12952)+3) ) = var←c39404;
      };
SOURCE(8232, 54)
   {
      word var←c39436;
      {
         word pd161;
         pd161 = (* (( (ptr) (* (( (ptr) gf←c42604)+105)/* var←c37708 */  ))+78) );
         var←c39436 =  (int) ( short )( (((unsigned)(word) ( *( (fPt) ((*  (ptr) pd161 ))))(reply←v12924, pd161) << 16) >> 16) );
         };
      (* (( (hPt) ci←v12952)+4) ) = var←c39436;
      };
SOURCE(8288, 40)
   {
      word pd162;
      pd162 = (* (( (ptr) (* (( (ptr) gf←c42604)+105)/* var←c37708 */  ))+78) );
      (* (( (hPt) ci←v12952)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd162 ))))(reply←v12924, pd162);
      };
   }

static word ReadRopeOfKnownLength←P1020(r←v7016, length←v7044)
   word r←v7016;
   word length←v7044;
   {
   register ptr gf←c42668 =  (ptr) &globalframe;
   word rope←v7088;
   word m←v13148;
   /* ReadRopeOfKnownLength: */ 
SOURCE(9868, 290)
SOURCE(9868, 290)
   rope←v7088 = 0;
SOURCE(9963, 15)
   m←v13148 = length←v7044;
SOURCE(9980, 18)
   if (( (int)(* (( (ptr) r←v7016)+10) ) <  (int)32)) {
SOURCE(9998, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(10005, 57)
   lab←L100036: ;
   {
      word tc163;
      if ((m←v13148 > 0)) {
         tc163 =  (word) ( (unsigned) (word) (* (( (bPt) (* (( (ptr) r←v7016)+8) ))+(((* (( (ptr) r←v7016)+10) ) + m←v13148) - 33))
          ) == 0);
         }
      else {
         tc163 =  (word) 0;
         };
      if (tc163) {
         }
      else {
         goto lab←L100034;
         };
      };
SOURCE(10047, 15)
   m←v13148 = SGNCK((m←v13148 - 1));
   goto lab←L100036;
   lab←L100034: ;
SOURCE(10064, 68)
   {
      word pd164;
      pd164 = (* (( (ptr) (* (( (ptr) gf←c42668)+105)/* var←c37708 */  ))+61) );
      rope←v7088 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))((* (( (ptr) r←v7016)+8) ), ((* (( (ptr) r←v7016)+10) ) - 32), m←v13148, pd164)
      ;
      };
SOURCE(10134, 24)
   (* (( (ptr) r←v7016)+10) ) = ((* (( (ptr) r←v7016)+10) ) + length←v7044);
SOURCE(9868, 290)
   return(rope←v7088);
   }

static void QueryTextExtents16OnServer←P1080(formal←c0243, c←v7148, formal←c0509, s←v7204)
   word formal←c0243;
   word c←v7148;
   word formal←c0509;
   word s←v7204;
   {
   W11 var←c42700;
   /* declaration of fontableID←v7176 skipped */ 
   register ptr gf←c42732 =  (ptr) &globalframe;
   W8 te←v7248;
   /* declaration of var←c39468 skipped */ 
   /* declaration of reply←v13192 skipped */ 
   /* declaration of r←v13220 skipped */ 
   /* declaration of n←v13248 skipped */ 
   /* declaration of odd←v13276 skipped */ 
   (* (( (ptr) &var←c42700)+4)/* fontableID←v7176 */  ) = formal←c0509;
   /* QueryTextExtents16OnServer: */ 
SOURCE(10164, 852)
   {
      word tmpAddr165;
      tmpAddr165 = (word) (( (ptr) &var←c42700)+5)/* var←c39468 */ ;
      (*  (ptr) tmpAddr165 ) = ( ((word)  (fPt) action←P3768) );
      (* (( (ptr) tmpAddr165) + 1) ) = 1;
      };
SOURCE(10275, 12)
   (* (( (ptr) &var←c42700)+7)/* reply←v13192 */  ) = 0;
SOURCE(10289, 13)
   (* (( (ptr) &var←c42700)+8)/* r←v13220 */  ) = s←v7204;
SOURCE(10320, 23)
   {
      word pd166;
      pd166 = (* (( (ptr) (* (( (ptr) gf←c42732)+106)/* var←c37740 */  ))+14) );
      (* (( (ptr) &var←c42700)+9)/* n←v13248 */  ) = (word) ( *( (fPt) ((*  (ptr) pd166 ))))((* ((( (ptr) &var←c42700)+8)/* r←v13220 */ ) ), pd166)
      ;
      };
SOURCE(10497, 33)
   if (( (int)IOP2( % ,  (int)(* (( (ptr) &var←c42700)+9)/* n←v13248 */  ),  (int)2) !=  (int)0)) {
SOURCE(10517, 13)
      (void) XR←RaiseError((word) (( (bPt) gf←c42732)+132)/* var←c36140 */ , 0);
      };
SOURCE(10532, 17)
   {
      word idx167;
      (* (( (ptr) &var←c42700)+10)/* odd←v13276 */  ) = (
         idx167 = (word) IOP2( % ,  (int)IOP2( / ,  (int)(* (( (ptr) &var←c42700)+9)/* n←v13248 */  ),  (int)2),  (int)2),
         BCK(idx167, 2)
         );
      };
SOURCE(10551, 27)
   {
      word pd168;
      pd168 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd168 ))))(c←v7148, (word) (( (bPt) &var←c42700)+20)/* var←c39468 */ , 0, pd168);
      };
SOURCE(10580, 17)
   {
      word pd169;
      pd169 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd169 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd169);
      };
SOURCE(10599, 37)
   {
      word pd170;
      word idx171;
      pd170 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+77) );
      te←v7248.f0 = (
         idx171 = (word) ( *( (fPt) ((*  (ptr) pd170 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd170),
         BCK(idx171, 2)
         );
      };
SOURCE(10639, 19)
   {
      word var←c39500;
      word pd172;
      pd172 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+78) );
      var←c39500 = (word) ( *( (fPt) ((*  (ptr) pd172 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd172);
      };
SOURCE(10678, 19)
   {
      word var←c39532;
      word pd173;
      pd173 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+79) );
      var←c39532 = (word) ( *( (fPt) ((*  (ptr) pd173 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd173);
      };
SOURCE(10715, 33)
   te←v7248.f1 = (word) IntERead16←P660((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ));
SOURCE(10750, 34)
   te←v7248.f2 = (word) IntERead16←P660((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ));
SOURCE(10786, 36)
   te←v7248.f3 = (word) IntERead16←P660((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ));
SOURCE(10824, 37)
   te←v7248.f4 = (word) IntERead16←P660((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ));
SOURCE(10863, 42)
   {
      word pd174;
      pd174 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+79) );
      te←v7248.f5 = (word) ( *( (fPt) ((*  (ptr) pd174 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd174);
      };
SOURCE(10907, 41)
   {
      word pd175;
      pd175 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+79) );
      te←v7248.f6 = (word) ( *( (fPt) ((*  (ptr) pd175 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd175);
      };
SOURCE(10950, 42)
   {
      word pd176;
      pd176 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+79) );
      te←v7248.f7 = (word) ( *( (fPt) ((*  (ptr) pd176 ))))((* ((( (ptr) &var←c42700)+7)/* reply←v13192 */ ) ), pd176);
      };
SOURCE(10994, 22)
   {
      word pd177;
      pd177 = (* (( (ptr) (* (( (ptr) gf←c42732)+105)/* var←c37708 */  ))+67) );
      (void) ( *( (fPt) ((*  (ptr) pd177 ))))(c←v7148, (* (( (ptr) &var←c42700)+7)/* reply←v13192 */  ), pd177);
      };
   /* removed tail goto */ 
   (*  (W8Pt) formal←c0243 ) = te←v7248;
   return;
   }

static void action←P3768(c←v13400, formal←c42796)
   word c←v13400;
   word formal←c42796;
   {
   register ptr gf←c42764 =  (ptr) &globalframe;
   formal←c42796 = (formal←c42796 - 20);
   /* action: */ 
SOURCE(10358, 134)
SOURCE(10391, 28)
   {
      word pd178;
      pd178 = (* (( (ptr) (* (( (ptr) gf←c42764)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd178 ))))(c←v13400, 48, (* (( (ptr) formal←c42796)+10) ), (IOP2( / ,  (int)((* (( (ptr) formal←c42796)+9)
             ) + 3),  (int)4) + 2), pd178);
      };
SOURCE(10421, 21)
   {
      word pd179;
      pd179 = (* (( (ptr) (* (( (ptr) gf←c42764)+105)/* var←c37708 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd179 ))))(c←v13400, (* (( (ptr) formal←c42796)+4) ), pd179);
      };
SOURCE(10444, 20)
   {
      word pd180;
      pd180 = (* (( (ptr) (* (( (ptr) gf←c42764)+105)/* var←c37708 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd180 ))))(c←v13400, (* (( (ptr) formal←c42796)+8) ), 0, 2147483647, pd180);
      };
SOURCE(10466, 26)
   {
      word pd181;
      pd181 = (* (( (ptr) (* (( (ptr) gf←c42764)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c42796)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd181 ))))(c←v13400, pd181);
      };
   }

static void QueryTextExtents←P1200(formal←c0250, c←v7412, font←v7440, r←v7468)
   word formal←c0250;
   word c←v7412;
   word font←v7440;
   word r←v7468;
   {
   W8 t←v7512;
   word fi←v13456;
   /* QueryTextExtents: */ 
SOURCE(11206, 192)
SOURCE(11309, 49)
   fi←v13456 = (word) QueryFont←P720(c←v7412, font←v7440);
SOURCE(11368, 30)
SOURCE(11369, 29)
   (void) ComputeTextExtents←P1440(fi←v13456, r←v7468, (word) &t←v7512);
   /* removed tail goto */ 
   (*  (W8Pt) formal←c0250 ) = t←v7512;
   return;
   }

static void QueryTextExtents16←P1260(formal←c0256, c←v7572, font←v7600, s←v7628)
   word formal←c0256;
   word c←v7572;
   word font←v7600;
   word s←v7628;
   {
   W8 t←v7672;
   word fi←v13512;
   /* QueryTextExtents16: */ 
SOURCE(11405, 202)
SOURCE(11514, 49)
   fi←v13512 = (word) QueryFont←P720(c←v7572, font←v7600);
SOURCE(11573, 34)
SOURCE(11574, 33)
   (void) ComputeTextExtents16←P1500(fi←v13512, s←v7628, (word) &t←v7672);
   /* removed tail goto */ 
   (*  (W8Pt) formal←c0256 ) = t←v7672;
   return;
   }

static void CharExtent←P1320(p←v7732, t←v7760)
   word p←v7732;
   word t←v7760;
   {
   word var←c39564;
   word attributes←v35996;
   /* CharExtent: */ 
SOURCE(11614, 462)
SOURCE(11720, 43)
   attributes←v35996 =  (unsigned) (* (( (hPt) p←v7732)+5) );
SOURCE(11133, 69)
   var←c39564 =  (unsigned) ((word) XRM←BITAND(attributes←v35996, 16384) == 0);
   if ((0 == var←c39564)) {
SOURCE(11757, 6)
      return;
      };
SOURCE(11765, 48)
   {
      word x182;
      word x183;
      (* (( (ptr) t←v7760)+3) ) = (x182 = (* (( (ptr) t←v7760)+3) ),
         x183 =  (int) ( short )(* (( (hPt) p←v7732)+3) ),
         MAX((int)(word), x182, x183));
      };
SOURCE(11815, 50)
   {
      word x184;
      word x185;
      (* (( (ptr) t←v7760)+4) ) = (x184 = (* (( (ptr) t←v7760)+4) ),
         x185 =  (int) ( short )(* (( (hPt) p←v7732)+3) ),
         MAX((int)(word), x184, x185));
      };
SOURCE(11867, 64)
   {
      word x186;
      word x187;
      (* (( (ptr) t←v7760)+6) ) = (x186 = (* (( (ptr) t←v7760)+6) ),
         x187 = ((* (( (ptr) t←v7760)+5) ) +  (int) ( short )(*  (hPt) p←v7732 )),
         MIN((int)(word), x186, x187));
      };
SOURCE(11933, 67)
   {
      word x188;
      word x189;
      (* (( (ptr) t←v7760)+7) ) = (x188 = (* (( (ptr) t←v7760)+7) ),
         x189 = ((* (( (ptr) t←v7760)+5) ) +  (int) ( short )(* (( (hPt) p←v7732)+1) )),
         MAX((int)(word), x188, x189));
      };
SOURCE(12002, 43)
   (* (( (ptr) t←v7760)+5) ) = ((* (( (ptr) t←v7760)+5) ) +  (int) ( short )(* (( (hPt) p←v7732)+2) ));
SOURCE(12047, 29)
   (* (( (ptr) t←v7760)+1) ) = ((* (( (ptr) t←v7760)+1) ) + 1);
   }

static void DoExtent←P1380(fi←v7844, t←v7872, r←v7900, charAction←v7928)
   word fi←v7844;
   word t←v7872;
   word r←v7900;
   word charAction←v7928;
   {
   register ptr gf←c42828 =  (ptr) &globalframe;
   /* DoExtent: */ 
SOURCE(12097, 575)
SOURCE(12228, 18)
   (* (( (ptr) t←v7872)+5) ) = 0;
SOURCE(12248, 16)
   (* (( (ptr) t←v7872)+1) ) = 0;
SOURCE(12281, 30)
   (* (( (ptr) t←v7872)+3) ) = 4294934528;
SOURCE(12313, 31)
   (* (( (ptr) t←v7872)+4) ) = 4294934528;
SOURCE(12346, 27)
   (* (( (ptr) t←v7872)+6) ) = 2147483647;
SOURCE(12375, 29)
   (* (( (ptr) t←v7872)+7) ) = 2147483648;
SOURCE(12406, 42)
   {
      word var←c39628;
      word pd190;
      pd190 = (* (( (ptr) (* (( (ptr) gf←c42828)+106)/* var←c37740 */  ))+26) );
      var←c39628 = (word) ( *( (fPt) ((*  (ptr) pd190 ))))(r←v7900, 0, 2147483647, charAction←v7928, pd190);
      };
SOURCE(12450, 121)
   if (( (int)(* (( (ptr) t←v7872)+1) ) ==  (int)0)) {
SOURCE(12491, 19)
      (* (( (ptr) t←v7872)+3) ) = 0;
SOURCE(12512, 20)
      (* (( (ptr) t←v7872)+4) ) = 0;
SOURCE(12534, 17)
      (* (( (ptr) t←v7872)+6) ) = 0;
SOURCE(12553, 18)
      (* (( (ptr) t←v7872)+7) ) = 0;
      };
SOURCE(12576, 28)
   (* (( (ptr) t←v7872)+1) ) = (* (( (ptr) fi←v7844)+11) );
SOURCE(12606, 30)
   (* (( (ptr) t←v7872)+2) ) = (* (( (ptr) fi←v7844)+12) );
SOURCE(12638, 34)
   (*  (ptr) t←v7872 ) = (* (( (ptr) fi←v7844)+7) );
   }

static void ComputeTextExtents←P1440(formal←c0510, r←v8040, formal←c0511)
   word formal←c0510;
   word r←v8040;
   word formal←c0511;
   {
   W10 var←c42860;
   /* declaration of fi←v8012 skipped */ 
   /* declaration of t←v8068 skipped */ 
   /* declaration of var←c39660 skipped */ 
   /* declaration of firstCol←v13596 skipped */ 
   /* declaration of numCols←v13624 skipped */ 
   (* (( (ptr) &var←c42860)+4)/* fi←v8012 */  ) = formal←c0510;
   (* (( (ptr) &var←c42860)+5)/* t←v8068 */  ) = formal←c0511;
   /* ComputeTextExtents: */ 
SOURCE(12678, 932)
   {
      word tmpAddr191;
      tmpAddr191 = (word) (( (ptr) &var←c42860)+6)/* var←c39660 */ ;
      (*  (ptr) tmpAddr191 ) = ( ((word)  (fPt) CharAction←P3828) );
      (* (( (ptr) tmpAddr191) + 1) ) = 1;
      };
SOURCE(13500, 33)
   {
      word idx192;
      (* (( (ptr) &var←c42860)+8)/* firstCol←v13596 */  ) = (
         idx192 = (* (( (ptr) (* (( (ptr) &var←c42860)+4)/* fi←v8012 */  ))+4) ),
         SGNCK(idx192)
         );
      };
SOURCE(13535, 43)
   (* (( (ptr) &var←c42860)+9)/* numCols←v13624 */  ) = (((* (( (ptr) (* (( (ptr) &var←c42860)+4)/* fi←v8012 */  ))+5) ) - (* (
      ( (ptr) &var←c42860)+8)/* firstCol←v13596 */  )) + 1);
SOURCE(13580, 30)
   (void) DoExtent←P1380((* (( (ptr) &var←c42860)+4)/* fi←v8012 */  ), (* (( (ptr) &var←c42860)+5)/* t←v8068 */  ), r←v8040, (word) (
         ( (bPt) &var←c42860)+24)/* var←c39660 */ );
   }

static word CharAction←P3828(c←v13700, formal←c42892)
   word c←v13700;
   word formal←c42892;
   {
   word quit←v13744;
   word idx←v13772;
   formal←c42892 = (formal←c42892 - 24);
   /* CharAction: */ 
SOURCE(12790, 704)
SOURCE(12790, 704)
   quit←v13744 = 0;
SOURCE(12858, 17)
   idx←v13772 = c←v13700;
   {
      word var←c39692;
      word attributes←v35920;
SOURCE(12877, 20)
      idx←v13772 = (idx←v13772 - (* (( (ptr) formal←c42892)+8) ));
SOURCE(12947, 259)
      {
         word tc194;
         if (( (int)idx←v13772 <  (int)0)) { goto then0193;};
         if (( (int)idx←v13772 >=  (int)(* (( (ptr) formal←c42892)+9) ))) { goto then0193;};
         if ( ( ((* (( (ptr) (* (( (ptr) formal←c42892)+4) ))+14) ) != 0) ? ( (int)(*  (ptr) (* (( (ptr) (* (( (ptr) formal←c42892)+4)
             ))+14) ) ) >  (int)idx←v13772) : 0 ) ) {
            {
               word var←c0465;
               word var←c39724;
               {
                  word limit195;
                  var←c39724 = (* (( (ptr) (* (( (ptr) formal←c42892)+4) ))+14) );
                  var←c0465 = (var←c0465 & 4294901760) | ((word) ((* (( (hPt) (( (W3Pt) (( (ptr) var←c39724)+1))+(
/*1*/      limit195 = (*  (ptr) var←c39724 ),
/*1*/      BCK(idx←v13772, limit195)
/*1*/      )))+5) )));
                  };
               attributes←v35920 =  (unsigned) ( (((unsigned)var←c0465 << 16) >> 16) );
               };
SOURCE(11133, 69)
            var←c39692 =  (unsigned) ((word) XRM←BITAND(attributes←v35920, 16384) == 0);
            tc194 =  (word) (0 == var←c39692);
            }
         else {
            tc194 =  (word) 0;
            };
         if (tc194) {
            then0193: ;
SOURCE(13076, 20)
            idx←v13772 = (* (( (ptr) (* (( (ptr) formal←c42892)+4) ))+6) );
SOURCE(13146, 20)
            idx←v13772 = (idx←v13772 - (* (( (ptr) formal←c42892)+8) ));
SOURCE(13168, 38)
            if (( (int)idx←v13772 <  (int)0) || ( (int)idx←v13772 >=  (int)(* (( (ptr) formal←c42892)+9) ))) {
SOURCE(13200, 6)
               return(quit←v13744);
               };
            };
         };
SOURCE(13243, 251)
      {
         word p←v13816;
SOURCE(13286, 189)
         if ( ( ((* (( (ptr) (* (( (ptr) formal←c42892)+4) ))+14) ) != 0) ? ( (int)idx←v13772 <  (int)(*  (ptr) (* (( (ptr) (* (( (ptr) formal←c42892)+4)
             ))+14) ) )) : 0 ) ) {
SOURCE(13338, 97)
            p←v13816 = (((* (( (ptr) (* (( (ptr) formal←c42892)+4) ))+14) ) + IOP2( * ,  (int)idx←v13772,  (int)12)) + 4);
            }
         else {
SOURCE(13435, 40)
            p←v13816 = (*  (ptr) (* (( (ptr) formal←c42892)+4) ) );
            };
SOURCE(13477, 17)
         (void) CharExtent←P1320(p←v13816, (* (( (ptr) formal←c42892)+5) ));
         };
      };
SOURCE(12790, 704)
   return(quit←v13744);
   }

static void ComputeTextExtents16←P1500(formal←c0512, r←v8180, formal←c0513)
   word formal←c0512;
   word r←v8180;
   word formal←c0513;
   {
   W14 var←c42924;
   /* declaration of fi←v8152 skipped */ 
   /* declaration of t←v8208 skipped */ 
   /* declaration of var←c39788 skipped */ 
   /* declaration of highByte←v13896 skipped */ 
   /* declaration of oddChar←v13924 skipped */ 
   /* declaration of firstCol←v13980 skipped */ 
   /* declaration of numCols←v14008 skipped */ 
   /* declaration of firstRow←v14036 skipped */ 
   /* declaration of numRows←v14064 skipped */ 
   (* (( (ptr) &var←c42924)+4)/* fi←v8152 */  ) = formal←c0512;
   (* (( (ptr) &var←c42924)+5)/* t←v8208 */  ) = formal←c0513;
   /* ComputeTextExtents16: */ 
SOURCE(13616, 1449)
   {
      word tmpAddr196;
      tmpAddr196 = (word) (( (ptr) &var←c42924)+6)/* var←c39788 */ ;
      (*  (ptr) tmpAddr196 ) = ( ((word)  (fPt) CharAction←P3936) );
      (* (( (ptr) tmpAddr196) + 1) ) = 1;
      };
SOURCE(13746, 21)
   (* (( (ptr) &var←c42924)+9)/* oddChar←v13924 */  ) = 0;
SOURCE(14887, 33)
   {
      word idx197;
      (* (( (ptr) &var←c42924)+10)/* firstCol←v13980 */  ) = (
         idx197 = (* (( (ptr) (* (( (ptr) &var←c42924)+4)/* fi←v8152 */  ))+4) ),
         SGNCK(idx197)
         );
      };
SOURCE(14922, 43)
   (* (( (ptr) &var←c42924)+11)/* numCols←v14008 */  ) = (((* (( (ptr) (* (( (ptr) &var←c42924)+4)/* fi←v8152 */  ))+5) ) - (* (
      ( (ptr) &var←c42924)+10)/* firstCol←v13980 */  )) + 1);
SOURCE(14967, 27)
   (* (( (ptr) &var←c42924)+12)/* firstRow←v14036 */  ) = (* (( (ptr) (* (( (ptr) &var←c42924)+4)/* fi←v8152 */  ))+8) );
SOURCE(14996, 37)
   (* (( (ptr) &var←c42924)+13)/* numRows←v14064 */  ) = (((* (( (ptr) (* (( (ptr) &var←c42924)+4)/* fi←v8152 */  ))+9) ) - (* (
      ( (ptr) &var←c42924)+12)/* firstRow←v14036 */  )) + 1);
SOURCE(15035, 30)
   (void) DoExtent←P1380((* (( (ptr) &var←c42924)+4)/* fi←v8152 */  ), (* (( (ptr) &var←c42924)+5)/* t←v8208 */  ), r←v8180, (word) (
         ( (bPt) &var←c42924)+24)/* var←c39788 */ );
   }

static word CharAction←P3936(c←v14140, formal←c42956)
   word c←v14140;
   word formal←c42956;
   {
   word quit←v14184;
   word idx←v14212;
   word lowByte←v14240;
   formal←c42956 = (formal←c42956 - 24);
   /* CharAction: */ 
SOURCE(13769, 1112)
SOURCE(13769, 1112)
   quit←v14184 = 0;
SOURCE(13848, 21)
   lowByte←v14240 = c←v14140;
SOURCE(13871, 18)
   (* (( (ptr) formal←c42956)+9) ) =  (unsigned) (0 == (* (( (ptr) formal←c42956)+9) ));
SOURCE(13891, 43)
   if ((0 != (* (( (ptr) formal←c42956)+9) ))) {
SOURCE(13908, 18)
      (* (( (ptr) formal←c42956)+8) ) = lowByte←v14240;
SOURCE(13928, 6)
      return(quit←v14184);
      };
SOURCE(13937, 680)
   if (( (int)(* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+9) ) ==  (int)0)) {
      {
         word var←c39820;
         word attributes←v35844;
SOURCE(13962, 39)
         idx←v14212 = ((IOP2( * ,  (int)(* (( (ptr) formal←c42956)+8) ),  (int)256) + lowByte←v14240) - (* (( (ptr) formal←c42956)+10)
          ));
SOURCE(14003, 259)
         {
            word tc199;
            if (( (int)idx←v14212 <  (int)0)) { goto then0198;};
            if (( (int)idx←v14212 >=  (int)(* (( (ptr) formal←c42956)+11) ))) { goto then0198;};
            if ( ( ((* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+14) ) != 0) ? ( (int)(*  (ptr) (* (( (ptr) (* (( (ptr) formal←c42956)+4)
                ))+14) ) ) >  (int)idx←v14212) : 0 ) ) {
               {
                  word var←c0466;
                  word var←c39852;
                  {
                     word limit200;
                     var←c39852 = (* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+14) );
                     var←c0466 = (var←c0466 & 4294901760) | ((word) ((* (( (hPt) (( (W3Pt) (( (ptr) var←c39852)+1))+(
/*1*/         limit200 = (*  (ptr) var←c39852 ),
/*1*/         BCK(idx←v14212, limit200)
/*1*/         )))+5) )));
                     };
                  attributes←v35844 =  (unsigned) ( (((unsigned)var←c0466 << 16) >> 16) );
                  };
SOURCE(11133, 69)
               var←c39820 =  (unsigned) ((word) XRM←BITAND(attributes←v35844, 16384) == 0);
               tc199 =  (word) (0 == var←c39820);
               }
            else {
               tc199 =  (word) 0;
               };
            if (tc199) {
               then0198: ;
SOURCE(14132, 20)
               idx←v14212 = (* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+6) );
SOURCE(14202, 20)
               idx←v14212 = (idx←v14212 - (* (( (ptr) formal←c42956)+10) ));
SOURCE(14224, 38)
               if (( (int)idx←v14212 <  (int)0) || ( (int)idx←v14212 >=  (int)(* (( (ptr) formal←c42956)+11) ))) {
SOURCE(14256, 6)
                  return(quit←v14184);
                  };
               };
            };
         };
      }
   else {
SOURCE(14298, 321)
      {
         word row←v14284;
         word col←v14312;
SOURCE(14300, 30)
         row←v14284 = ((* (( (ptr) formal←c42956)+8) ) - (* (( (ptr) formal←c42956)+12) ));
SOURCE(14332, 29)
         col←v14312 = (lowByte←v14240 - (* (( (ptr) formal←c42956)+10) ));
SOURCE(14363, 202)
         if (((( (int)row←v14284 <  (int)0) || ( (int)col←v14312 <  (int)0)) || ( (int)row←v14284 >=  (int)(* (( (ptr) formal←c42956)+13)
          ))) || ( (int)col←v14312 >=  (int)(* (( (ptr) formal←c42956)+11) ))) {
SOURCE(14420, 37)
            row←v14284 = (((* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+6) ) >> 8) - (* (( (ptr) formal←c42956)+12) ));
SOURCE(14459, 39)
            col←v14312 = (((* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+6) ) & 0377) - (* (( (ptr) formal←c42956)+10) ));
SOURCE(14500, 65)
            if (((( (int)row←v14284 <  (int)0) || ( (int)col←v14312 <  (int)0)) || ( (int)row←v14284 >=  (int)(* (( (ptr) formal←c42956)+13)
             ))) || ( (int)col←v14312 >=  (int)(* (( (ptr) formal←c42956)+11) ))) {
SOURCE(14559, 6)
               return(quit←v14184);
               };
            };
SOURCE(14594, 23)
         idx←v14212 = (IOP2( * ,  (int)row←v14284,  (int)(* (( (ptr) formal←c42956)+11) )) + col←v14312);
         };
      };
SOURCE(14630, 251)
   {
      word p←v14356;
SOURCE(14673, 189)
      if ( ( ((* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+14) ) != 0) ? ( (int)idx←v14212 <  (int)(*  (ptr) (* (( (ptr) (* (( (ptr) formal←c42956)+4)
          ))+14) ) )) : 0 ) ) {
SOURCE(14725, 97)
         p←v14356 = (((* (( (ptr) (* (( (ptr) formal←c42956)+4) ))+14) ) + IOP2( * ,  (int)idx←v14212,  (int)12)) + 4);
         }
      else {
SOURCE(14822, 40)
         p←v14356 = (*  (ptr) (* (( (ptr) formal←c42956)+4) ) );
         };
SOURCE(14864, 17)
      (void) CharExtent←P1320(p←v14356, (* (( (ptr) formal←c42956)+5) ));
      };
SOURCE(13769, 1112)
   return(quit←v14184);
   }

static word QueryKeymap←P1560(c←v8292, reUse←v8320)
   word c←v8292;
   word reUse←v8320;
   {
   W7 var←c42988;
   register ptr gf←c43020 =  (ptr) &globalframe;
   word rka←v8376;
   /* declaration of var←c39916 skipped */ 
   /* declaration of reply←v14464 skipped */ 
   /* QueryKeymap: */ 
SOURCE(15071, 727)
   {
      word tmpAddr201;
      tmpAddr201 = (word) (( (ptr) &var←c42988)+4)/* var←c39916 */ ;
      (*  (ptr) tmpAddr201 ) = ( ((word)  (fPt) action←P4092) );
      (* (( (ptr) tmpAddr201) + 1) ) = 1;
      };
SOURCE(15071, 727)
   rka←v8376 = 0;
SOURCE(15265, 12)
   var←c42988.f6/* reply←v14464 */  = 0;
SOURCE(15279, 27)
   {
      word pd202;
      pd202 = (* (( (ptr) (* (( (ptr) gf←c43020)+105)/* var←c37708 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd202 ))))(c←v8292, (word) (( (bPt) &var←c42988)+16)/* var←c39916 */ , 0, pd202);
      };
SOURCE(15308, 59)
   if ((reUse←v8320 == 0)) {
SOURCE(15326, 30)
      rka←v8376 = XR←NewObject(32, (* (( (ptr) gf←c43020)+27) ));
      }
   else {
SOURCE(15356, 11)
      rka←v8376 = reUse←v8320;
      };
SOURCE(15377, 396)
   {
      word src1←v14624;
      word dst1←v14652;
      word src2←v14680;
      word dst2←v14708;
SOURCE(15470, 85)
      src1←v14624 = (var←c42988.f6/* reply←v14464 */  + 8);
SOURCE(15557, 45)
      dst1←v14652 = rka←v8376;
SOURCE(15604, 55)
      src2←v14680 = (* (( (ptr) var←c42988.f6/* reply←v14464 */ )+8) );
SOURCE(15661, 80)
      dst2←v14708 = (rka←v8376 + 24);
SOURCE(15743, 13)
      (*  (W6Pt) dst1←v14652 ) = (*  (W6Pt) src1←v14624 );
SOURCE(15758, 13)
      (*  (W2Pt) dst2←v14708 ) = (*  (W2Pt) src2←v14680 );
      };
SOURCE(15776, 22)
   {
      word pd203;
      pd203 = (* (( (ptr) (* (( (ptr) gf←c43020)+105)/* var←c37708 */  ))+67) );
      (void) ( *( (fPt) ((*  (ptr) pd203 ))))(c←v8292, var←c42988.f6/* reply←v14464 */ , pd203);
      };
SOURCE(15071, 727)
   return(rka←v8376);
   }

static void action←P4092(c←v14540, formal←c43084)
   word c←v14540;
   word formal←c43084;
   {
   register ptr gf←c43052 =  (ptr) &globalframe;
   formal←c43084 = (formal←c43084 - 16);
   /* action: */ 
SOURCE(15181, 79)
SOURCE(15214, 18)
   {
      word pd204;
      pd204 = (* (( (ptr) (* (( (ptr) gf←c43052)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd204 ))))(c←v14540, 44, 0, 1, pd204);
      };
SOURCE(15234, 26)
   {
      word pd205;
      pd205 = (* (( (ptr) (* (( (ptr) gf←c43052)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c43084)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd205 ))))(c←v14540, pd205);
      };
   }

static word GetKeyboardMapping←P1620(c←v8684)
   word c←v8684;
   {
   W9 var←c43116;
   register ptr gf←c43148 =  (ptr) &globalframe;
   /* declaration of mapping←v8728 skipped */ 
   /* declaration of var←c39980 skipped */ 
   /* declaration of reply←v14900 skipped */ 
   /* declaration of cp←v14928 skipped */ 
   word cache←v14956;
   /* GetKeyboardMapping: */ 
SOURCE(16145, 1634)
   {
      word tmpAddr206;
      tmpAddr206 = (word) (( (ptr) &var←c43116)+5)/* var←c39980 */ ;
      (*  (ptr) tmpAddr206 ) = ( ((word)  (fPt) action←P4200) );
      (* (( (ptr) tmpAddr206) + 1) ) = 1;
      };
SOURCE(16145, 1634)
   (* (( (ptr) &var←c43116)+4)/* mapping←v8728 */  ) = 0;
SOURCE(17337, 12)
   (* (( (ptr) &var←c43116)+7)/* reply←v14900 */  ) = 0;
SOURCE(17351, 42)
   (* (( (ptr) &var←c43116)+8)/* cp←v14928 */  ) = (* (( (ptr) c←v8684)+24) );
SOURCE(17395, 48)
   cache←v14956 = (* (( (ptr) (* (( (ptr) &var←c43116)+8)/* cp←v14928 */  ))+3) );
SOURCE(17483, 296)
   if ((cache←v14956 != 0)) {
SOURCE(17502, 28)
      return((* (( (ptr) cache←v14956)+6) ));
      }
   else {
SOURCE(17530, 249)
      {
         word var←c40044;
         {
            word pd207;
            pd207 = (* (( (ptr) (* (( (ptr) gf←c43148)+110)/* var←c40012 */  ))+8) );
            var←c40044 = (word) ( *( (fPt) ((*  (ptr) pd207 ))))(c←v8684, (* (( (ptr) gf←c43148)+30) ), pd207);
            };
         if ((var←c40044 == 0)) {
            goto lab←L100043;
            };
         if (((* (( (ptr) gf←c43148)+7) ) == XR←GetReferentType(var←c40044))) {
            {
               word km←v15084;
               km←v15084 = var←c40044;
SOURCE(17632, 18)
               (* (( (ptr) (* (( (ptr) &var←c43116)+8)/* cp←v14928 */  ))+3) ) = km←v15084;
SOURCE(17652, 19)
               return((* (( (ptr) km←v15084)+6) ));
               };
            }
         else {
            lab←L100043: ;
SOURCE(17687, 27)
            {
               word pd208;
               pd208 = (* (( (ptr) (* (( (ptr) gf←c43148)+105)/* var←c37708 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd208 ))))(c←v8684, (word) (( (bPt) &var←c43116)+20)/* var←c39980 */ , 0, pd208);
               };
SOURCE(17716, 17)
            {
               word pd209;
               pd209 = (* (( (ptr) (* (( (ptr) gf←c43148)+105)/* var←c37708 */  ))+68) );
               (void) ( *( (fPt) ((*  (ptr) pd209 ))))((* ((( (ptr) &var←c43116)+7)/* reply←v14900 */ ) ), pd209);
               };
SOURCE(17735, 19)
            (* (( (ptr) (* (( (ptr) &var←c43116)+7)/* reply←v14900 */  ))+8) ) = 0;
SOURCE(17757, 22)
            {
               word pd210;
               pd210 = (* (( (ptr) (* (( (ptr) gf←c43148)+105)/* var←c37708 */  ))+67) );
               (void) ( *( (fPt) ((*  (ptr) pd210 ))))(c←v8684, (* (( (ptr) &var←c43116)+7)/* reply←v14900 */  ), pd210);
               };
            };
         };
      };
SOURCE(16145, 1634)
   return((* (( (ptr) &var←c43116)+4)/* mapping←v8728 */  ));
   }

static void action←P4200(c←v15032, formal←c43212)
   word c←v15032;
   word formal←c43212;
   {
   register ptr gf←c43180 =  (ptr) &globalframe;
   word keyTable←v15140 = 0;
   word maxCode←v15168;
   word count←v15196 = 255;
   word firstKeyCode←v15224 = 0;
   word replyLength←v15252;
   word symsPerCode←v15280;
   word km←v15308;
   formal←c43212 = (formal←c43212 - 20);
   /* action: */ 
SOURCE(16238, 1094)
SOURCE(16411, 60)
   km←v15308 = XR←NewObject(28, (* (( (ptr) gf←c43180)+7) ));
SOURCE(16473, 136)
   if ((firstKeyCode←v15224 < (* (( (ptr) (* (( (ptr) c←v15032)+16) ))+13) ))) {
SOURCE(16515, 59)
      {
         word idx211;
         count←v15196 = (
            idx211 = (word) (count←v15196 - ((* (( (ptr) (* (( (ptr) c←v15032)+16) ))+13) ) - firstKeyCode←v15224)),
            BCK(idx211, 256)
            );
         };
SOURCE(16576, 33)
      firstKeyCode←v15224 = (* (( (ptr) (* (( (ptr) c←v15032)+16) ))+13) );
      };
SOURCE(16614, 63)
   {
      word x212;
      word idx213;
      count←v15196 = (
         idx213 = (word) (x212 = (((* (( (ptr) (* (( (ptr) c←v15032)+16) ))+14) ) - firstKeyCode←v15224) + 1),
            MIN((int)(word), count←v15196, x212)),
         BCK(idx213, 256)
         );
      };
SOURCE(16679, 30)
   (* (( (ptr) km←v15308)+2) ) = firstKeyCode←v15224;
SOURCE(16711, 16)
   (* (( (ptr) km←v15308)+3) ) = count←v15196;
SOURCE(16729, 27)
   (*  (ptr) km←v15308 ) = (* (( (ptr) (* (( (ptr) c←v15032)+16) ))+13) );
SOURCE(16758, 27)
   (* (( (ptr) km←v15308)+1) ) = (* (( (ptr) (* (( (ptr) c←v15032)+16) ))+14) );
SOURCE(16787, 19)
   {
      word pd214;
      pd214 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd214 ))))(c←v15032, 101, 0, 2, pd214);
      };
SOURCE(16808, 27)
   {
      word pd215;
      pd215 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd215 ))))(c←v15032, firstKeyCode←v15224, pd215);
      };
SOURCE(16838, 15)
   {
      word pd216;
      pd216 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd216 ))))(c←v15032, count←v15196, pd216);
      };
SOURCE(16856, 12)
   {
      word pd217;
      pd217 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+20) );
      (void) ( *( (fPt) ((*  (ptr) pd217 ))))(c←v15032, 0, pd217);
      };
SOURCE(16879, 26)
   {
      word pd218;
      pd218 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c43212)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd218 ))))(c←v15032, pd218);
      };
SOURCE(16907, 45)
   if (( (unsigned) (*  (bPt) (* (( (ptr) formal←c43212)+7) ) ) != 1)) {
SOURCE(16930, 22)
      return;
      };
SOURCE(16954, 24)
   (* (( (ptr) km←v15308)+5) ) = (* (( (ptr) (* (( (ptr) formal←c43212)+7) ))+8) );
SOURCE(16980, 27)
   {
      word pd219;
      pd219 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+77) );
      symsPerCode←v15280 = (word) ( *( (fPt) ((*  (ptr) pd219 ))))((* ((( (ptr) formal←c43212)+7)) ), pd219);
      };
SOURCE(17009, 14)
   (* (( (ptr) (* (( (ptr) formal←c43212)+7) ))+10) ) = ((* (( (ptr) (* (( (ptr) formal←c43212)+7) ))+10) ) + 2);
SOURCE(17042, 28)
   {
      word pd220;
      word idx221;
      pd220 = (* (( (ptr) (* (( (ptr) gf←c43180)+105)/* var←c37708 */  ))+79) );
      replyLength←v15252 = (
         idx221 = (word) ( *( (fPt) ((*  (ptr) pd220 ))))((* ((( (ptr) formal←c43212)+7)) ), pd220),
         SGNCK(idx221)
         );
      };
SOURCE(17072, 28)
   (* (( (ptr) km←v15308)+4) ) = symsPerCode←v15280;
SOURCE(17102, 46)
   if (( (int)replyLength←v15252 !=  (int)IOP2( * ,  (int)(* (( (ptr) km←v15308)+4) ),  (int)(* (( (ptr) km←v15308)+3) )))) {
SOURCE(17148, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(17155, 38)
   {
      W2 var←c40108;
      (void) MakeKeyTable←P1680((word) &var←c40108, km←v15308);
      maxCode←v15168 = var←c40108.f1;
      keyTable←v15140 = var←c40108.f0;
      };
SOURCE(17195, 63)
   {
      word var←c40140;
      {
         word pd222;
         pd222 = (* (( (ptr) (* (( (ptr) gf←c43180)+111)/* var←c40172 */  ))+9) );
         var←c40140 = (word) ( *( (fPt) ((*  (ptr) pd222 ))))(keyTable←v15140, maxCode←v15168, pd222);
         };
      (* (( (ptr) formal←c43212)+4) ) = var←c40140;
      (* (( (ptr) km←v15308)+6) ) = var←c40140;
      };
SOURCE(17260, 53)
   {
      word pd223;
      pd223 = (* (( (ptr) (* (( (ptr) gf←c43180)+110)/* var←c40012 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd223 ))))(c←v15032, (* (( (ptr) gf←c43180)+29) ), km←v15308, pd223);
      };
SOURCE(17315, 17)
   (* (( (ptr) (* (( (ptr) formal←c43212)+8) ))+3) ) = km←v15308;
   }

static void MakeKeyTable←P1680(formal←c0348, xKeyMap←v8788)
   word formal←c0348;
   word xKeyMap←v8788;
   {
   register ptr gf←c43244 =  (ptr) &globalframe;
   word keyTable←v8844;
   word maxCode←v8872;
   word tab←v15364 = 0;
   word min←v15392;
   word max←v15420;
   word count←v15448;
   /* MakeKeyTable: */ 
SOURCE(17788, 900)
SOURCE(17788, 900)
   keyTable←v8844 = 0;
SOURCE(17958, 32)
   count←v15448 = (word) XMapCount←P1860(xKeyMap←v8788);
SOURCE(17992, 31)
   {
      W2 var←c40204;
      (void) XMapRange←P1920((word) &var←c40204, xKeyMap←v8788);
      max←v15420 = var←c40204.f1;
      min←v15392 = var←c40204.f0;
      };
SOURCE(18025, 44)
   tab←v15364 = XR←NewObject(1024, (* (( (ptr) gf←c43244)+28) ));
SOURCE(18071, 205)
   {
      register word keyCode←v15492;
      register word noName←c40268;
      keyCode←v15492 = min←v15392;
      noName←c40268 = max←v15420;
      if ((keyCode←v15492 > noName←c40268)) {
         goto lab←L100045;
         };
      lab←L100048: ;
      {
         word ks←v15536;
SOURCE(18112, 65)
         {
            word var←c40300;
            word var←c40332;
            var←c40300 = ((word) count←v15448 << 2);
            var←c40332 = XR←NewObject((4 + var←c40300), (* (( (ptr) gf←c43244)+21) ));
            (*  (ptr) var←c40332 ) = count←v15448;
            ks←v15536 = var←c40332;
            };
SOURCE(18179, 69)
         {
            register word n←v15592 = 0;
            register word noName←c40364;
            noName←c40364 = count←v15448;
            if ((n←v15592 >= noName←c40364)) {
               goto lab←L100049;
               };
            lab←L100052: ;
SOURCE(18208, 40)
            {
               word var←c40396;
               var←c40396 = (word) XMapKeyCode←P1980(xKeyMap←v8788, keyCode←v15492, n←v15592);
               {
                  word limit224;
                  (* ((( (ptr) ks←v15536)+1)+(
                        limit224 = (*  (ptr) ks←v15536 ),
                        BCK(n←v15592, limit224)
                        )) ) = var←c40396;
                  };
               };
            n←v15592 = (n←v15592 + 1);
            if ((n←v15592 < noName←c40364)) {
               goto lab←L100052;
               };
            lab←L100049: ;
            };
SOURCE(18259, 17)
         (* (( (ptr) tab←v15364)+keyCode←v15492) ) = ks←v15536;
         };
      if ((keyCode←v15492 >= noName←c40268)) {
         goto lab←L100045;
         };
      keyCode←v15492 = (keyCode←v15492 + 1);
      goto lab←L100048;
      lab←L100045: ;
      };
SOURCE(18287, 354)
   {
      word ksl←v15636;
      word ksm←v15664;
      word ksr←v15692;
SOURCE(18293, 62)
      ksl←v15636 = XR←NewObject(8, (* (( (ptr) gf←c43244)+21) ));
      (*  (ptr) ksl←v15636 ) = 1;
SOURCE(18357, 62)
      ksm←v15664 = XR←NewObject(8, (* (( (ptr) gf←c43244)+21) ));
      (*  (ptr) ksm←v15664 ) = 1;
SOURCE(18421, 62)
      ksr←v15692 = XR←NewObject(8, (* (( (ptr) gf←c43244)+21) ));
      (*  (ptr) ksr←v15692 ) = 1;
SOURCE(18485, 31)
      {
         word limit225;
         (* ((( (ptr) ksl←v15636)+1)+(
               limit225 = (*  (ptr) ksl←v15636 ),
               BCK(0, limit225)
               )) ) = 268894209;
         };
SOURCE(18518, 17)
      (* (( (ptr) tab←v15364)+1) ) = ksl←v15636;
SOURCE(18537, 31)
      {
         word limit226;
         (* ((( (ptr) ksm←v15664)+1)+(
               limit226 = (*  (ptr) ksm←v15664 ),
               BCK(0, limit226)
               )) ) = 268894210;
         };
SOURCE(18570, 17)
      (* (( (ptr) tab←v15364)+2) ) = ksm←v15664;
SOURCE(18589, 31)
      {
         word limit227;
         (* ((( (ptr) ksr←v15692)+1)+(
               limit227 = (*  (ptr) ksr←v15692 ),
               BCK(0, limit227)
               )) ) = 268894211;
         };
SOURCE(18622, 17)
      (* (( (ptr) tab←v15364)+3) ) = ksr←v15692;
      };
SOURCE(18646, 14)
   keyTable←v8844 = tab←v15364;
SOURCE(18662, 26)
   maxCode←v8872 =  (unsigned) ((MAX( (unsigned) , max←v15420, 3)) & 0377);
   /* removed tail goto */ 
   (*  (ptr) formal←c0348 ) = keyTable←v8844;
   (* (( (ptr) formal←c0348)+1) ) = maxCode←v8872;
   return;
   }

static word GetModifierMapping←P1740(c←v8932)
   word c←v8932;
   {
   W9 var←c43276;
   register ptr gf←c43308 =  (ptr) &globalframe;
   /* declaration of modifierMapping←v8976 skipped */ 
   /* declaration of var←c40524 skipped */ 
   /* declaration of cp←v15772 skipped */ 
   word cache←v15800;
   /* GetModifierMapping: */ 
SOURCE(18847, 972)
   {
      word tmpAddr228;
      tmpAddr228 = (word) (( (ptr) &var←c43276)+5)/* var←c40524 */ ;
      (*  (ptr) tmpAddr228 ) = ( ((word)  (fPt) action←P4596) );
      (* (( (ptr) tmpAddr228) + 1) ) = 1;
      };
SOURCE(18847, 972)
   (* (( (ptr) &var←c43276)+4)/* modifierMapping←v8976 */  ) = 0;
SOURCE(18942, 42)
   (* (( (ptr) &var←c43276)+7)/* cp←v15772 */  ) = (* (( (ptr) c←v8932)+24) );
SOURCE(18986, 49)
   cache←v15800 = (* (( (ptr) (* (( (ptr) &var←c43276)+7)/* cp←v15772 */  ))+4) );
SOURCE(19038, 781)
   if ((cache←v15800 != 0)) {
SOURCE(19056, 20)
      return(cache←v15800);
      }
   else {
SOURCE(19076, 743)
      {
         word var←c40556;
         {
            word pd229;
            pd229 = (* (( (ptr) (* (( (ptr) gf←c43308)+110)/* var←c40012 */  ))+8) );
            var←c40556 = (word) ( *( (fPt) ((*  (ptr) pd229 ))))(c←v8932, (* (( (ptr) gf←c43308)+30) ), pd229);
            };
         if ((var←c40556 == 0)) {
            goto lab←L100053;
            };
         if (((* (( (ptr) gf←c43308)+8) ) == XR←GetReferentType(var←c40556))) {
            {
               word mm←v15868;
               mm←v15868 = var←c40556;
SOURCE(19179, 17)
               (* (( (ptr) (* (( (ptr) &var←c43276)+7)/* cp←v15772 */  ))+4) ) = mm←v15868;
SOURCE(19198, 11)
               return(mm←v15868);
               };
            }
         else {
            lab←L100053: ;
SOURCE(19223, 598)
            {
               /* declaration of reply←v15924 skipped */ 
SOURCE(19225, 12)
               (* (( (ptr) &var←c43276)+8)/* reply←v15924 */  ) = 0;
SOURCE(19749, 27)
               {
                  word pd230;
                  pd230 = (* (( (ptr) (* (( (ptr) gf←c43308)+105)/* var←c37708 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd230 ))))(c←v8932, (word) (( (bPt) &var←c43276)+20)/* var←c40524 */ , 0, pd230);
                  };
SOURCE(19778, 17)
               {
                  word pd231;
                  pd231 = (* (( (ptr) (* (( (ptr) gf←c43308)+105)/* var←c37708 */  ))+68) );
                  (void) ( *( (fPt) ((*  (ptr) pd231 ))))((* ((( (ptr) &var←c43276)+8)/* reply←v15924 */ ) ), pd231);
                  };
SOURCE(19797, 22)
               {
                  word pd232;
                  pd232 = (* (( (ptr) (* (( (ptr) gf←c43308)+105)/* var←c37708 */  ))+67) );
                  (void) ( *( (fPt) ((*  (ptr) pd232 ))))(c←v8932, (* (( (ptr) &var←c43276)+8)/* reply←v15924 */  ), pd232);
                  };
               };
            };
         };
      };
SOURCE(18847, 972)
   return((* (( (ptr) &var←c43276)+4)/* modifierMapping←v8976 */  ));
   }

static void action←P4596(c←v16028, formal←c43372)
   word c←v16028;
   word formal←c43372;
   {
   register ptr gf←c43340 =  (ptr) &globalframe;
   word mm←v16056 = 0;
   word keycodesPerModifier←v16084;
   formal←c43372 = (formal←c43372 - 20);
   /* action: */ 
SOURCE(19239, 14)
SOURCE(19332, 19)
   {
      word pd233;
      pd233 = (* (( (ptr) (* (( (ptr) gf←c43340)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd233 ))))(c←v16028, 119, 0, 1, pd233);
      };
SOURCE(19353, 26)
   {
      word pd234;
      pd234 = (* (( (ptr) (* (( (ptr) gf←c43340)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c43372)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd234 ))))(c←v16028, pd234);
      };
SOURCE(19381, 45)
   if (( (unsigned) (*  (bPt) (* (( (ptr) formal←c43372)+8) ) ) != 1)) {
SOURCE(19404, 22)
      return;
      };
SOURCE(19428, 35)
   {
      word pd235;
      pd235 = (* (( (ptr) (* (( (ptr) gf←c43340)+105)/* var←c37708 */  ))+77) );
      keycodesPerModifier←v16084 = (word) ( *( (fPt) ((*  (ptr) pd235 ))))((* ((( (ptr) formal←c43372)+8)) ), pd235);
      };
SOURCE(19465, 15)
   (* (( (ptr) (* (( (ptr) formal←c43372)+8) ))+10) ) = ((* (( (ptr) (* (( (ptr) formal←c43372)+8) ))+10) ) + 30);
SOURCE(19483, 54)
   {
      word var←c40588;
      word var←c40620;
      var←c40588 = ((word) keycodesPerModifier←v16084 << 5);
      var←c40620 = XR←NewObject((4 + var←c40588), (* (( (ptr) gf←c43340)+8) ));
      (*  (ptr) var←c40620 ) = keycodesPerModifier←v16084;
      mm←v16056 = var←c40620;
      };
SOURCE(19539, 95)
   {
      register word i←v16140 = 0;
      register word noName←c40652;
      noName←c40652 = (*  (ptr) mm←v16056 );
      if ((i←v16140 >= noName←c40652)) {
         goto lab←L100054;
         };
      lab←L100057: ;
SOURCE(19569, 65)
      {
         register word m←v16184 = 0;
         lab←L100061: ;
SOURCE(19605, 29)
         {
            word var←c40684;
            {
               word pd236;
               pd236 = (* (( (ptr) (* (( (ptr) gf←c43340)+105)/* var←c37708 */  ))+77) );
               var←c40684 = (word) ( *( (fPt) ((*  (ptr) pd236 ))))((* ((( (ptr) formal←c43372)+8)) ), pd236);
               };
            {
               word limit237;
               (* (( (ptr) (( (W8Pt) (( (ptr) mm←v16056)+1))+(
                        limit237 = (*  (ptr) mm←v16056 ),
                        BCK(i←v16140, limit237)
                        )))+m←v16184) ) = var←c40684;
               };
            };
         if ((m←v16184 >= 7)) {
            goto lab←L100058;
            };
         m←v16184 = (m←v16184 + 1);
         goto lab←L100061;
         lab←L100058: ;
         };
      i←v16140 = (i←v16140 + 1);
      if ((i←v16140 < noName←c40652)) {
         goto lab←L100057;
         };
      lab←L100054: ;
      };
SOURCE(19654, 53)
   {
      word pd238;
      pd238 = (* (( (ptr) (* (( (ptr) gf←c43340)+110)/* var←c40012 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd238 ))))(c←v16028, (* (( (ptr) gf←c43340)+30) ), mm←v16056, pd238);
      };
SOURCE(19709, 35)
   {
      word var←c40716;
      var←c40716 = mm←v16056;
      (* (( (ptr) formal←c43372)+4) ) = mm←v16056;
      (* (( (ptr) (* (( (ptr) formal←c43372)+7) ))+4) ) = var←c40716;
      };
   }

static word GetPointerMapping←P1800(c←v9036)
   word c←v9036;
   {
   W9 var←c43404;
   register ptr gf←c43436 =  (ptr) &globalframe;
   /* declaration of pointerMapping←v9080 skipped */ 
   /* declaration of var←c40748 skipped */ 
   /* declaration of cp←v16228 skipped */ 
   word cache←v16256;
   /* GetPointerMapping: */ 
SOURCE(19885, 922)
   {
      word tmpAddr239;
      tmpAddr239 = (word) (( (ptr) &var←c43404)+5)/* var←c40748 */ ;
      (*  (ptr) tmpAddr239 ) = ( ((word)  (fPt) action←P4848) );
      (* (( (ptr) tmpAddr239) + 1) ) = 1;
      };
SOURCE(19885, 922)
   (* (( (ptr) &var←c43404)+4)/* pointerMapping←v9080 */  ) = 0;
SOURCE(19977, 42)
   (* (( (ptr) &var←c43404)+7)/* cp←v16228 */  ) = (* (( (ptr) c←v9036)+24) );
SOURCE(20021, 48)
   cache←v16256 = (* (( (ptr) (* (( (ptr) &var←c43404)+7)/* cp←v16228 */  ))+5) );
SOURCE(20105, 702)
   if ((cache←v16256 != 0)) {
SOURCE(20123, 20)
      return(cache←v16256);
      }
   else {
SOURCE(20143, 664)
      {
         word var←c40780;
         {
            word pd240;
            pd240 = (* (( (ptr) (* (( (ptr) gf←c43436)+110)/* var←c40012 */  ))+8) );
            var←c40780 = (word) ( *( (fPt) ((*  (ptr) pd240 ))))(c←v9036, (* (( (ptr) gf←c43436)+30) ), pd240);
            };
         if ((var←c40780 == 0)) {
            goto lab←L100062;
            };
         if (((* (( (ptr) gf←c43436)+9) ) == XR←GetReferentType(var←c40780))) {
            {
               word pm←v16324;
               pm←v16324 = var←c40780;
SOURCE(20245, 17)
               (* (( (ptr) (* (( (ptr) &var←c43404)+7)/* cp←v16228 */  ))+5) ) = pm←v16324;
SOURCE(20264, 11)
               return(pm←v16324);
               };
            }
         else {
            lab←L100062: ;
SOURCE(20289, 520)
            {
               /* declaration of reply←v16380 skipped */ 
SOURCE(20291, 12)
               (* (( (ptr) &var←c43404)+8)/* reply←v16380 */  ) = 0;
SOURCE(20737, 27)
               {
                  word pd241;
                  pd241 = (* (( (ptr) (* (( (ptr) gf←c43436)+105)/* var←c37708 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd241 ))))(c←v9036, (word) (( (bPt) &var←c43404)+20)/* var←c40748 */ , 0, pd241);
                  };
SOURCE(20766, 17)
               {
                  word pd242;
                  pd242 = (* (( (ptr) (* (( (ptr) gf←c43436)+105)/* var←c37708 */  ))+68) );
                  (void) ( *( (fPt) ((*  (ptr) pd242 ))))((* ((( (ptr) &var←c43404)+8)/* reply←v16380 */ ) ), pd242);
                  };
SOURCE(20785, 22)
               {
                  word pd243;
                  pd243 = (* (( (ptr) (* (( (ptr) gf←c43436)+105)/* var←c37708 */  ))+67) );
                  (void) ( *( (fPt) ((*  (ptr) pd243 ))))(c←v9036, (* (( (ptr) &var←c43404)+8)/* reply←v16380 */  ), pd243);
                  };
               };
            };
         };
      };
SOURCE(19885, 922)
   return((* (( (ptr) &var←c43404)+4)/* pointerMapping←v9080 */  ));
   }

static void action←P4848(c←v16484, formal←c43500)
   word c←v16484;
   word formal←c43500;
   {
   register ptr gf←c43468 =  (ptr) &globalframe;
   word pm←v16512 = 0;
   word n←v16540;
   formal←c43500 = (formal←c43500 - 20);
   /* action: */ 
SOURCE(20305, 14)
SOURCE(20379, 19)
   {
      word pd244;
      pd244 = (* (( (ptr) (* (( (ptr) gf←c43468)+105)/* var←c37708 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd244 ))))(c←v16484, 117, 0, 1, pd244);
      };
SOURCE(20400, 26)
   {
      word pd245;
      pd245 = (* (( (ptr) (* (( (ptr) gf←c43468)+105)/* var←c37708 */  ))+62) );
      (* (( (ptr) formal←c43500)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd245 ))))(c←v16484, pd245);
      };
SOURCE(20428, 45)
   if (( (unsigned) (*  (bPt) (* (( (ptr) formal←c43500)+8) ) ) != 1)) {
SOURCE(20451, 22)
      return;
      };
SOURCE(20475, 17)
   {
      word pd246;
      pd246 = (* (( (ptr) (* (( (ptr) gf←c43468)+105)/* var←c37708 */  ))+77) );
      n←v16540 = (word) ( *( (fPt) ((*  (ptr) pd246 ))))((* ((( (ptr) formal←c43500)+8)) ), pd246);
      };
SOURCE(20512, 15)
   (* (( (ptr) (* (( (ptr) formal←c43500)+8) ))+10) ) = ((* (( (ptr) (* (( (ptr) formal←c43500)+8) ))+10) ) + 30);
SOURCE(20530, 37)
   {
      word var←c40812;
      word var←c40844;
      word var←c40876;
      var←c40812 = (n←v16540 + 1);
      var←c40844 = ((word) var←c40812 << 2);
      var←c40876 = XR←NewObject((4 + var←c40844), (* (( (ptr) gf←c43468)+9) ));
      (*  (ptr) var←c40876 ) = var←c40812;
      pm←v16512 = var←c40876;
      };
SOURCE(20569, 9)
   {
      word limit247;
      (* ((( (ptr) pm←v16512)+1)+(
            limit247 = (*  (ptr) pm←v16512 ),
            BCK(0, limit247)
            )) ) = 0;
      };
SOURCE(20580, 52)
   {
      register word i←v16596 = 1;
      register word noName←c40908;
      noName←c40908 = (*  (ptr) pm←v16512 );
      if ((i←v16596 >= noName←c40908)) {
         goto lab←L100063;
         };
      lab←L100066: ;
SOURCE(20611, 21)
      {
         word var←c40940;
         {
            word pd248;
            pd248 = (* (( (ptr) (* (( (ptr) gf←c43468)+105)/* var←c37708 */  ))+77) );
            var←c40940 = (word) ( *( (fPt) ((*  (ptr) pd248 ))))((* ((( (ptr) formal←c43500)+8)) ), pd248);
            };
         {
            word limit249;
            (* ((( (ptr) pm←v16512)+1)+(
                  limit249 = (*  (ptr) pm←v16512 ),
                  BCK(i←v16596, limit249)
                  )) ) = var←c40940;
            };
         };
      i←v16596 = (i←v16596 + 1);
      if ((i←v16596 < noName←c40908)) {
         goto lab←L100066;
         };
      lab←L100063: ;
      };
SOURCE(20643, 53)
   {
      word pd250;
      pd250 = (* (( (ptr) (* (( (ptr) gf←c43468)+110)/* var←c40012 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd250 ))))(c←v16484, (* (( (ptr) gf←c43468)+30) ), pm←v16512, pd250);
      };
SOURCE(20698, 34)
   {
      word var←c40972;
      var←c40972 = pm←v16512;
      (* (( (ptr) formal←c43500)+4) ) = pm←v16512;
      (* (( (ptr) (* (( (ptr) formal←c43500)+7) ))+5) ) = var←c40972;
      };
   }

static word XMapCount←P1860(mapping←v9140)
   word mapping←v9140;
   {
   word count←v9196;
   /* XMapCount: */ 
SOURCE(20816, 116)
SOURCE(20903, 29)
   return((* (( (ptr) mapping←v9140)+4) ));
   }

static void XMapRange←P1920(formal←c0391, mapping←v9256)
   word formal←c0391;
   word mapping←v9256;
   {
   word min←v9312;
   word max←v9340;
   word maxCard←v16640;
   /* XMapRange: */ 
SOURCE(20936, 202)
SOURCE(21029, 61)
   maxCard←v16640 = (((* (( (ptr) mapping←v9256)+2) ) + (* (( (ptr) mapping←v9256)+3) )) - 1);
SOURCE(21092, 26)
   min←v9312 = (* (( (ptr) mapping←v9256)+2) );
SOURCE(21120, 18)
   max←v9340 = BCK(maxCard←v16640, 256);
   /* removed tail goto */ 
   (*  (ptr) formal←c0391 ) = min←v9312;
   (* (( (ptr) formal←c0391)+1) ) = max←v9340;
   return;
   }

static word XMapKeyCode←P1980(mapping←v9400, key←v9428, no←v9456)
   word mapping←v9400;
   word key←v9428;
   word no←v9456;
   {
   word keysym←v9512;
   word index←v16684;
   /* XMapKeyCode: */ 
SOURCE(21144, 459)
SOURCE(21144, 459)
   keysym←v9512 = 0;
SOURCE(21281, 46)
   if (( (int)no←v9456 <  (int)0) || ( (int)no←v9456 >=  (int)(* (( (ptr) mapping←v9400)+4) ))) {
SOURCE(21321, 6)
      return(keysym←v9512);
      };
SOURCE(21329, 39)
   if ((key←v9428 < (* (( (ptr) mapping←v9400)+2) ))) {
SOURCE(21362, 6)
      return(keysym←v9512);
      };
SOURCE(21370, 64)
   if (( (int)key←v9428 >=  (int)((* (( (ptr) mapping←v9400)+2) ) + (* (( (ptr) mapping←v9400)+3) )))) {
SOURCE(21428, 6)
      return(keysym←v9512);
      };
SOURCE(21436, 80)
   index←v16684 = IOP2( * ,  (int)(IOP2( * ,  (int)(key←v9428 - (* (( (ptr) mapping←v9400)+2) )),  (int)(* (( (ptr) mapping←v9400)+4)
          )) + no←v9456),  (int)4);
SOURCE(21526, 77)
SOURCE(21528, 73)
   {
      word var←c41004;
      word b←v36044;
      b←v36044 = (* (( (ptr) mapping←v9400)+5) );
      {
         word ln←v35440;
         ln←v35440 = (((word) (((word) (((word)  (unsigned) (word) (* (( (bPt) b←v36044)+index←v16684) ) << 8) +  (unsigned) (word) (* (
            ( (bPt) b←v36044)+(index←v16684 + 1)) )) << 8) +  (unsigned) (word) (* (( (bPt) b←v36044)+(index←v16684 + 2)) )) << 8) + 
          (unsigned) (word) (* (( (bPt) b←v36044)+(index←v16684 + 3)) ));
         var←c41004 = ln←v35440;
         };
      keysym←v9512 = var←c41004;
      };
SOURCE(21144, 459)
   return(keysym←v9512);
   }

static void NoName←Q5676(formal←c0404, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0404;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
SOURCE(2908, 9)
   (*  (ptr) formal←c0404 ) = 2;
   (* (( (ptr) formal←c0404)+1) ) = 2;
   return;
   /* c2c skipped dead code */ 
   }

/* file: XlImplTexts, module: XlImplTexts, compiled at: September 14, 1993 4:25:47 pm PDT */ 
extern void XR←install←XlImplTexts() {
   NoName←Q5556();
   }
extern void XR←run←XlImplTexts() { XR←Start(&globalframe); }