/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: July 13, 1992 2:56:46 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkIconImpl, module: XTkIconImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3648959954,2387893415] XTkIconImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef W3 *W3Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static void NoName←Q1092();
static void XTkIconImpl←P0();
static word SMFromName←P60();
static word NoName←Q1152();
static word NoName←Q1212();
static word GetStream←P408();
static word NoName←Q1272();
static void SetIcon←P120();
static word RopeQuery←P180();
static void SetIconName←P240();
static void SetIconMask←P300();
static void NoName←Q1332();
static void NoName←Q1392();
static void NoName←Q1452();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string2 = {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[4];} string3 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[12];} string6 = {524300, "iconMask\000\000\000"};
static struct {unsigned f; char r[12];} string7 = {655372, "iconPixmap\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "/cedar/%g/%g.\000\000"};
static struct {unsigned f; char r[8];} string9 = {327688, "xIcon\000\000"};
static struct {unsigned f; char r[12];} string10 = {589836, "xIconMask\000\000"};
static struct {unsigned f; char r[12];} string11 = {524300, "iconName\000\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\331\176\265\322\300\216\124\134\247\100\164\000\000"};
static struct {unsigned f; char r[8];} string13 = {262148, "\004\200~\000\000\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\237\145\317\332\300\336\102\337\137\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\313\123\221\202\300\154\256\060\341\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\054\174\025\242\300\120\014\117\154\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\331\131\200\317\300\310\327\272\214\100\150\000\000"};
static struct {
   word f0[15]; word f15; word f16; word f17; 
   word f18; word f19; word f20; word f21; 
   word f22; word f23; word f24; word f25; 
   word f26; word f27; word f28[16]; 
   } globalframe = {
   {0}, (word) SetIconMask←P300, 0, (word) SetIconName←P240, 
   0, (word) RopeQuery←P180, 0, (word) SetIcon←P120, 
   0, (word) SMFromName←P60, 0, (word) XTkIconImpl←P0, 
   0, 2147483647, {0}
   };

static void NoName←Q1092()
   {
   register ptr gf←c0107 =  (ptr) &globalframe;
   word var←c18924;
   (* (( (ptr) gf←c0107)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0107)+5) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0107)+8) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4);
   (*  (ptr) (( (bPt) gf←c0107)+36) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+5) ), (word) &string6);
   (*  (ptr) (( (bPt) gf←c0107)+40) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+5) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c0107)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+8) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0107)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+8) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0107)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+8) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0107)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+5) ), (word) &string11);
   (void) XR←DeclareGlobalFrame((word) "XTkIconImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
      , (word) (( (bPt) gf←c0107)+100)/* var←c17996 */ );
   var←c18924 = (word) XR←ImportInterface((word) "CBitmapReader", (word) XR←GetTypeIndexS((word) (&string14)), 2);
   (* (( (ptr) gf←c0107)+36)/* var←c18188 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 201588993);
   var←c18924 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string15)), 103);
   (* (( (ptr) gf←c0107)+37)/* var←c18220 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 68958724);
   (void) XR←ImportProcS(var←c18924, 530434);
   var←c18924 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string16)), 40);
   (* (( (ptr) gf←c0107)+39)/* var←c18284 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 67371265);
   (void) XR←ImportProcS(var←c18924, 71312136);
   var←c18924 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string17)), 43);
   (* (( (ptr) gf←c0107)+38)/* var←c18252 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 67633666);
   (void) XR←ImportProcS(var←c18924, 67373313);
   (void) XR←ImportProcS(var←c18924, 67896323);
   (void) XR←ImportProcS(var←c18924, 67373569);
   var←c18924 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string18)), 218);
   (* (( (ptr) gf←c0107)+40)/* var←c18476 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 3450891);
   (void) XR←ImportProcS(var←c18924, 822787);
   (void) XR←ImportProcS(var←c18924, 67668226);
   (void) XR←ImportProcS(var←c18924, 68705285);
   var←c18924 = (word) XR←ImportInterface((word) "XTkDB", (word) XR←GetTypeIndexS((word) (&string19)), 7);
   (* (( (ptr) gf←c0107)+41)/* var←c18668 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 68157700);
   var←c18924 = (word) XR←ImportInterface((word) "XTkShellWidgets", (word) XR←GetTypeIndexS((word) (&string20)), 26);
   (* (( (ptr) gf←c0107)+42)/* var←c18732 */  ) = var←c18924;
   (void) XR←ImportProcS(var←c18924, 67376641);
   var←c18924 = (word) XR←ExportInterface((word) "XTkIcon", (word) XR←GetTypeIndexS((word) (&string21)), 2);
   (* (( (ptr) gf←c0107)+43)/* var←c18956 */  ) = var←c18924;
   (void) XR←ExportProcS(var←c18924, (word) (( (bPt) gf←c0107)+68)/* var←c17868 */ , 786435);
   (void) XR←ExportProcS(var←c18924, (word) (( (bPt) gf←c0107)+60)/* var←c17836 */ , 1048836);
   }

static void XTkIconImpl←P0(formal←c027, formal←c026)
   word formal←c027;
   word formal←c026;
   {
   /* XTkIconImpl: */ 
   /* moved to installation proc */ 
   }

static word SMFromName←P60(fileName←v3080)
   word fileName←v3080;
   {
   W11 var←c18988;
   register ptr gf←c19020 =  (ptr) &globalframe;
   word sm←v3124;
   /* declaration of var←c18156 skipped */ 
   /* SMFromName: */ 
SOURCE(231, 555)
   {
      word tmpAddr22;
      tmpAddr22 = (word) (( (ptr) &var←c18988)+4)/* var←c18156 */ ;
      (*  (ptr) tmpAddr22 ) = ( ((word)  (fPt) GetStream←P408) );
      (* (( (ptr) tmpAddr22) + 1) ) = 1;
      };
SOURCE(231, 555)
   sm←v3124 = 0;
SOURCE(321, 465)
SOURCE(323, 17)
   {
      /* declaration of stream←v3728 skipped */ 
SOURCE(562, 39)
      (* (( (ptr) &var←c18988)+6)/* stream←v3728 */  ) = (word) GetStream←P408(fileName←v3080, (word) (( (bPt) &var←c18988)+16)
         /* var←c18156 */ );
SOURCE(603, 160)
      if (((* (( (ptr) &var←c18988)+6)/* stream←v3728 */  ) != 0)) {
         {
            /* declaration of var←c01 skipped */ 
            /* declaration of var←c02 skipped */ 
SOURCE(624, 94)
            (* (( (ptr) &var←c18988)+7)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c19020)+36)/* var←c18188 */  ))+5) );
            {
               word var←c05;
               {
                  word var←c0122;
                  var←c0122 = (word) &var←c18988;
                  var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1152) ), ( ((word)  (fPt) NoName←Q1392) ), var←c0122);
                  };
               if ((var←c05 == 2)) {
                  goto lab←L100000;
                  };
               };
            sm←v3124 = (*  (W3Pt) (( (ptr) &var←c18988)+8)/* var←c02 */  ).f0;
SOURCE(747, 16)
            {
               word pd23;
               pd23 = (* (( (ptr) (* (( (ptr) gf←c19020)+37)/* var←c18220 */  ))+28) );
               (void) ( *( (fPt) ((*  (ptr) pd23 ))))((* (( (ptr) &var←c18988)+6)/* stream←v3728 */  ), 0, pd23);
               };
            };
         };
      };
   goto lab←L100005;
   lab←L100000: ;
   lab←L100005: ;
SOURCE(231, 555)
   return(sm←v3124);
   }

static word NoName←Q1152(formal←c0109)
   word formal←c0109;
   {
SOURCE(624, 94)
   {
      word pd24;
      pd24 = (* (( (ptr) formal←c0109)+7) );
      (void) ( *( (fPt) ((*  (ptr) pd24 ))))((word) (( (bPt) formal←c0109)+32), (* (( (ptr) formal←c0109)+6) ), pd24);
      };
   return(0);
   }

static word NoName←Q1212(formal←c0110)
   word formal←c0110;
   {
SOURCE(688, 30)
   {
      word pd25;
      pd25 = (* (( (ptr) formal←c0110)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd25 ))))((* (( (ptr) (*  (ptr) formal←c0110 ))+6) ), 0, pd25);
      };
   return(0);
   }

static word GetStream←P408(formal←c0132, formal←c19116)
   word formal←c0132;
   word formal←c19116;
   {
   W6 var←c19052;
   /* declaration of fileName←v3804 skipped */ 
   register ptr gf←c19084 =  (ptr) &globalframe;
   /* declaration of s←v3848 skipped */ 
   formal←c19116 = (formal←c19116 - 16);
   var←c19052.f4/* fileName←v3804 */  = formal←c0132;
   var←c19052.f0 = formal←c19116;
   /* GetStream: */ 
SOURCE(323, 17)
SOURCE(323, 17)
   var←c19052.f5/* s←v3848 */  = 0;
SOURCE(394, 324)
   {
      word pd26;
      pd26 = (* (( (ptr) (* (( (ptr) gf←c19084)+38)/* var←c18252 */  ))+14) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd26 ))))(var←c19052.f4/* fileName←v3804 */ , pd26) >  (int)0)) {
SOURCE(426, 292)
SOURCE(428, 290)
         {
            word var←c06;
            {
               word var←c0123;
               var←c0123 = (word) &var←c19052;
               var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1272) ), ( ((word)  (fPt) NoName←Q1332) ), var←c0123);
               };
            if ((var←c06 == 3)) {
               goto lab←L100006;
               };
            };
         goto lab←L100009;
         lab←L100006: ;
         lab←L100009: ;
         };
      };
SOURCE(323, 17)
   return(var←c19052.f5/* s←v3848 */ );
   }

static word NoName←Q1272(formal←c0114)
   word formal←c0114;
   {
   register ptr gf←c0113 =  (ptr) &globalframe;
SOURCE(459, 259)
   {
      word var←c18316;
      {
         word pd27;
         pd27 = (* (( (ptr) (* (( (ptr) gf←c0113)+39)/* var←c18284 */  ))+5) );
         var←c18316 = (word) ( *( (fPt) ((*  (ptr) pd27 ))))((* ((( (ptr) formal←c0114)+4)) ), pd27);
         };
      {
         W2 var←c18348;
         var←c18348.f0 = 4096;
         var←c18348.f1 = 2;
         {
            word pd28;
            pd28 = (* (( (ptr) (* (( (ptr) gf←c0113)+39)/* var←c18284 */  ))+39) );
            (* (( (ptr) formal←c0114)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd28 ))))(var←c18316, 0, (*  (W4Pt) (( (ptr) gf←c0113)+27)/* var←c18060 */  ), 0, 0, (*  (W5Pt) (
                  ( (ptr) gf←c0113)+31)/* var←c18124 */  )
               , 1, var←c18348, pd28);
            };
         };
      };
   return(0);
   }

static void SetIcon←P120(shell←v3184, icccmHints←v3212, baseFileNamePart←v3240, maskFileNamePart←v3268)
   word shell←v3184;
   word icccmHints←v3212;
   word baseFileNamePart←v3240;
   word maskFileNamePart←v3268;
   {
   register ptr gf←c19148 =  (ptr) &globalframe;
   word sm←v3876;
   /* SetIcon: */ 
SOURCE(790, 1914)
SOURCE(919, 63)
   sm←v3876 = (word) SMFromName←P60(baseFileNamePart←v3240);
SOURCE(984, 1720)
   if ((sm←v3876 != 0)) {
SOURCE(999, 1713)
      {
         word screen←v3920;
         W2 szVec←v3948;
         W2 size←v3976;
         word base←v4004;
         word scanLineBytes←v4032;
         word iconPixmap←v4060;
         word gc←v4088;
SOURCE(1001, 44)
         screen←v3920 = (* (( (ptr) (* (( (ptr) shell←v3184)+36) ))+1) );
SOURCE(1047, 50)
         {
            word map←v17788;
            map←v17788 = sm←v3876;
            {
               W4 b←v10152;
               b←v10152 = (*  (W4Pt) map←v17788 );
               szVec←v3948.f0 = (b←v10152.f2 - b←v10152.f0);
               szVec←v3948.f1 = (b←v10152.f3 - b←v10152.f1);
               };
            };
SOURCE(1099, 49)
         size←v3976.f0 = szVec←v3948.f1;
         size←v3976.f1 = szVec←v3948.f0;
SOURCE(1150, 60)
         base←v4004 = (* (( (ptr) sm←v3876)+8) );
SOURCE(1212, 54)
         scanLineBytes←v4032 = IOP2( / ,  (int)(* (( (ptr) sm←v3876)+7) ),  (int)8);
SOURCE(1268, 88)
         {
            word pd29;
            pd29 = (* (( (ptr) (* (( (ptr) gf←c19148)+40)/* var←c18476 */  ))+96) );
            iconPixmap←v4060 = (word) ( *( (fPt) ((*  (ptr) pd29 ))))((* (( (ptr) shell←v3184)+34) ), (*  (ptr) screen←v3920 ), size←v3976, 1, 0, pd29)
            ;
            };
SOURCE(1444, 72)
         {
            word pd30;
            pd30 = (* (( (ptr) (* (( (ptr) gf←c19148)+40)/* var←c18476 */  ))+141) );
            gc←v4088 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))((* (( (ptr) shell←v3184)+34) ), iconPixmap←v4060, pd30);
            };
SOURCE(1518, 25)
         {
            word pd31;
            pd31 = (* (( (ptr) (* (( (ptr) gf←c19148)+40)/* var←c18476 */  ))+146) );
            (void) ( *( (fPt) ((*  (ptr) pd31 ))))(gc←v4088, 1, 0, pd31);
            };
SOURCE(1545, 174)
         {
            W2 var←c18508;
            var←c18508.f0 = 0;
            var←c18508.f1 = 0;
            {
               word pd32;
               pd32 = (* (( (ptr) (* (( (ptr) gf←c19148)+40)/* var←c18476 */  ))+172) );
               (void) ( *( (fPt) ((*  (ptr) pd32 ))))((* (( (ptr) shell←v3184)+34) ), iconPixmap←v4060, gc←v4088, size←v3976, var←c18508, base←v4004
                  , 0, 0, scanLineBytes←v4032, 1, 0, pd32);
               };
            };
SOURCE(1721, 42)
         (* (( (ptr) icccmHints←v3212)+32) ) = iconPixmap←v4060;
SOURCE(1765, 32)
         (* (( (ptr) icccmHints←v3212)+1) ) = 1;
SOURCE(1799, 140)
         {
            word pd33;
            pd33 = (* (( (ptr) (* (( (ptr) gf←c19148)+38)/* var←c18252 */  ))+8) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd33 ))))(baseFileNamePart←v3240, maskFileNamePart←v3268, 1, pd33))) {
SOURCE(1856, 40)
               (* (( (ptr) icccmHints←v3212)+36) ) = iconPixmap←v4060;
SOURCE(1899, 32)
               (* (( (ptr) icccmHints←v3212)+1) ) = 1;
SOURCE(1933, 6)
               return;
               };
            };
SOURCE(1944, 760)
         if ((maskFileNamePart←v3268 != 0)) {
SOURCE(1973, 736)
            {
               word sm←v4144;
SOURCE(1975, 63)
               sm←v4144 = (word) SMFromName←P60(maskFileNamePart←v3268);
SOURCE(2040, 664)
               if ((sm←v4144 != 0)) {
SOURCE(2055, 651)
                  {
                     W2 szVec←v4188;
                     W2 size←v4216;
                     word base←v4244;
                     word scanLineBytes←v4272;
                     word maskPixmap←v4300;
SOURCE(2057, 50)
                     {
                        word map←v17712;
                        map←v17712 = sm←v4144;
                        {
                           W4 b←v17744;
                           b←v17744 = (*  (W4Pt) map←v17712 );
                           szVec←v4188.f0 = (b←v17744.f2 - b←v17744.f0);
                           szVec←v4188.f1 = (b←v17744.f3 - b←v17744.f1);
                           };
                        };
SOURCE(2109, 49)
                     size←v4216.f0 = szVec←v4188.f1;
                     size←v4216.f1 = szVec←v4188.f0;
SOURCE(2160, 60)
                     base←v4244 = (* (( (ptr) sm←v4144)+8) );
SOURCE(2222, 54)
                     scanLineBytes←v4272 = IOP2( / ,  (int)(* (( (ptr) sm←v4144)+7) ),  (int)8);
SOURCE(2278, 88)
                     {
                        word pd34;
                        pd34 = (* (( (ptr) (* (( (ptr) gf←c19148)+40)/* var←c18476 */  ))+96) );
                        maskPixmap←v4300 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) shell←v3184)+34) ), (*  (ptr) screen←v3920 ), size←v4216, 1, 0, pd34)
                        ;
                        };
SOURCE(2454, 174)
                     {
                        W2 var←c18636;
                        var←c18636.f0 = 0;
                        var←c18636.f1 = 0;
                        {
                           word pd35;
                           pd35 = (* (( (ptr) (* (( (ptr) gf←c19148)+40)/* var←c18476 */  ))+172) );
                           (void) ( *( (fPt) ((*  (ptr) pd35 ))))((* (( (ptr) shell←v3184)+34) ), maskPixmap←v4300, gc←v4088, size←v4216, var←c18636, base←v4244
/*1*/   , 0, 0, scanLineBytes←v4272, 1, 0, pd35);
                           };
                        };
SOURCE(2630, 40)
                     (* (( (ptr) icccmHints←v3212)+36) ) = maskPixmap←v4300;
SOURCE(2672, 32)
                     (* (( (ptr) icccmHints←v3212)+1) ) = 1;
                     };
                  };
               };
            };
         };
      };
   }

static word RopeQuery←P180(shell←v3340, key←v3368)
   word shell←v3340;
   word key←v3368;
   {
   register ptr gf←c19180 =  (ptr) &globalframe;
   word var←c3412;
   word q←v4356;
   /* RopeQuery: */ 
SOURCE(2719, 173)
SOURCE(2719, 173)
   var←c3412 = 0;
SOURCE(2794, 51)
   {
      word pd36;
      pd36 = (* (( (ptr) (* (( (ptr) gf←c19180)+41)/* var←c18668 */  ))+5) );
      q←v4356 = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(shell←v3340, 0, key←v3368, 0, pd36);
      };
SOURCE(2847, 45)
   {
      word var←c18700;
      var←c18700 = q←v4356;
      if ((var←c18700 == 0)) {
         goto lab←L100012;
         };
      {
         word tc37;
         if (((* (( (ptr) gf←c19180)+4) ) == XR←GetReferentType(var←c18700))) {
            tc37 =  (word) ((*(int*)var←c18700<0) == 0);
            }
         else {
            tc37 =  (word) 0;
            };
         if (tc37) {
            {
               word r←v4416;
               r←v4416 = var←c18700;
SOURCE(2882, 10)
               return(r←v4416);
               };
            }
         else {
            lab←L100012: ;
            };
         };
      };
SOURCE(2719, 173)
   return(var←c3412);
   }

static void SetIconName←P240(shell←v3472, fromDB←v3500, default←v3528)
   word shell←v3472;
   word fromDB←v3500;
   word default←v3528;
   {
   register ptr gf←c19212 =  (ptr) &globalframe;
   word icccmHints←v4460;
   /* SetIconName: */ 
SOURCE(2912, 423)
SOURCE(3008, 76)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c19212)+42)/* var←c18732 */  ))+26) );
      icccmHints←v4460 = (word) ( *( (fPt) ((*  (ptr) pd38 ))))(shell←v3472, pd38);
      };
SOURCE(3087, 248)
   if (((* (( (ptr) icccmHints←v4460)+40) ) == 0)) {
SOURCE(3121, 180)
      if ((0 != fromDB←v3500)) {
SOURCE(3136, 167)
         {
            word specified←v4516;
SOURCE(3138, 50)
            specified←v4516 = (word) RopeQuery←P180(shell←v3472, (* (( (ptr) gf←c19212)+14) ));
SOURCE(3190, 111)
            {
               word pd39;
               pd39 = (* (( (ptr) (* (( (ptr) gf←c19212)+38)/* var←c18252 */  ))+13) );
               if ((0 == (word) ( *( (fPt) ((*  (ptr) pd39 ))))(specified←v4516, pd39))) {
SOURCE(3225, 31)
                  (* (( (ptr) icccmHints←v4460)+40) ) = specified←v4516;
SOURCE(3259, 33)
                  (* (( (ptr) icccmHints←v4460)+3) ) = 1;
SOURCE(3294, 7)
                  return;
                  };
               };
            };
         };
SOURCE(3306, 29)
      (* (( (ptr) icccmHints←v4460)+40) ) = default←v3528;
      };
   }

static void SetIconMask←P300(shell←v3588, fromDB←v3616, packageName←v3644, shortName←v3672)
   word shell←v3588;
   word fromDB←v3616;
   word packageName←v3644;
   word shortName←v3672;
   {
   register ptr gf←c19244 =  (ptr) &globalframe;
   word fileName←v4560 = 0;
   word icccmHints←v4588;
   word hasIconWindow←v4616;
   word hasIcon←v4644;
   word hasMask←v4672;
   /* SetIconMask: */ 
SOURCE(3344, 985)
SOURCE(3482, 76)
   {
      word pd40;
      pd40 = (* (( (ptr) (* (( (ptr) gf←c19244)+42)/* var←c18732 */  ))+26) );
      icccmHints←v4588 = (word) ( *( (fPt) ((*  (ptr) pd40 ))))(shell←v3588, pd40);
      };
SOURCE(3561, 65)
   hasIconWindow←v4616 = ((* (( (ptr) icccmHints←v4588)+33) ) != 0);
SOURCE(3628, 129)
   hasIcon←v4644 =  ( (0 != hasIconWindow←v4616) ? 1 :  ( ((* (( (ptr) icccmHints←v4588)+32) ) !=  (word) -1) ? ((* (( (ptr) icccmHints←v4588)+32)
    ) != 0) : 0 )  ) ;
SOURCE(3759, 125)
   hasMask←v4672 =  ( (0 != hasIconWindow←v4616) ? 1 :  ( ((* (( (ptr) icccmHints←v4588)+36) ) !=  (word) -1) ? ((* (( (ptr) icccmHints←v4588)+36)
    ) != 0) : 0 )  ) ;
SOURCE(3886, 443)
   if ((0 == hasIcon←v4644)) {
SOURCE(3905, 243)
      if ((0 != fromDB←v3616)) {
SOURCE(3922, 40)
         fileName←v4560 = (word) RopeQuery←P180(shell←v3588, (* (( (ptr) gf←c19244)+10) ));
SOURCE(3964, 184)
         {
            word pd41;
            pd41 = (* (( (ptr) (* (( (ptr) gf←c19244)+38)/* var←c18252 */  ))+13) );
            if ((0 == (word) ( *( (fPt) ((*  (ptr) pd41 ))))(fileName←v4560, pd41))) {
SOURCE(3996, 154)
               {
                  word iconMaskFile←v4728 = 0;
SOURCE(4029, 59)
                  if ((0 == hasMask←v4672)) {
SOURCE(4046, 42)
                     iconMaskFile←v4728 = (word) RopeQuery←P180(shell←v3588, (* (( (ptr) gf←c19244)+9) ));
                     };
SOURCE(4090, 50)
                  (void) SetIcon←P120(shell←v3588, icccmHints←v4588, fileName←v4560, iconMaskFile←v4728);
SOURCE(4142, 6)
                  return;
                  };
               };
            };
         };
SOURCE(4155, 78)
      {
         W2 var←c18764;
         W2 var←c18796;
         W2 var←c0124;
         var←c18764.f0 = 11;
         var←c18764.f1 = packageName←v3644;
         var←c18796.f0 = 11;
         var←c18796.f1 = shortName←v3672;
         (*  (ptr) (word) &var←c0124 ) = 0;
         (* (( (ptr) (word) &var←c0124) + 1) ) = 0;
         {
            word pd42;
            pd42 = (* (( (ptr) (* (( (ptr) gf←c19244)+37)/* var←c18220 */  ))+62) );
            fileName←v4560 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) gf←c19244)+11) ), var←c18764, var←c18796, var←c0124, pd42)
            ;
            };
         };
SOURCE(4235, 94)
      {
         word var←c18860;
         word var←c18892;
         {
            word pd43;
            pd43 = (* (( (ptr) (* (( (ptr) gf←c19244)+38)/* var←c18252 */  ))+6) );
            var←c18860 = (word) ( *( (fPt) ((*  (ptr) pd43 ))))(fileName←v4560, (* (( (ptr) gf←c19244)+12) ), pd43);
            };
         {
            word pd44;
            pd44 = (* (( (ptr) (* (( (ptr) gf←c19244)+38)/* var←c18252 */  ))+6) );
            var←c18892 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))(fileName←v4560, (* (( (ptr) gf←c19244)+13) ), pd44);
            };
         (void) SetIcon←P120(shell←v3588, icccmHints←v4588, var←c18860, var←c18892);
         };
      };
   }

static void NoName←Q1332(formal←c091, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c091;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0119 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0119)+39)/* var←c18284 */  ))+9) ))) {
      {
         W4 error←v7212;
         error←v7212 = (*  (W4Pt) formal←c200011 );
SOURCE(448, 9)
         (*  (ptr) formal←c091 ) = 2;
         (* (( (ptr) formal←c091)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c091 ) = 0;
   (* (( (ptr) formal←c091)+1) ) = 0;
   return;
   }

static void NoName←Q1392(formal←c097, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c097;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   W5 var←c0131;
   register ptr gf←c0120 =  (ptr) &globalframe;
   var←c0131.f0 = formal←c200000;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0120)+36)/* var←c18188 */  ))+4) ))) {
      {
         word explanation←v5948;
         explanation←v5948 = (*  (ptr) formal←c200003 );
SOURCE(688, 30)
         {
            /* declaration of var←c03 skipped */ 
            var←c0131.f4/* var←c03 */  = (* (( (ptr) (* (( (ptr) gf←c0120)+37)/* var←c18220 */  ))+28) );
            {
               word var←c04;
               {
                  word var←c0125;
                  var←c0125 = (word) &var←c0131;
                  var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1212) ), ( ((word)  (fPt) NoName←Q1452) ), var←c0125);
                  };
               if ((var←c04 == 2)) {
                  (*  (ptr) formal←c097 ) = 2;
                  (* (( (ptr) formal←c097)+1) ) = 2;
                  return;
                  };
               };
            };
SOURCE(730, 9)
         (*  (ptr) formal←c097 ) = 2;
         (* (( (ptr) formal←c097)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c097 ) = 0;
   (* (( (ptr) formal←c097)+1) ) = 0;
   return;
   }

static void NoName←Q1452(formal←c0106, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0106;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0121 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0121)+37)/* var←c18220 */  ))+5) ))) {
      {
         word ec←v6492;
         word stream←v6520;
         word details←v6548;
         word msg←v6576;
         ec←v6492 = (*  (ptr) formal←c200007 );
         stream←v6520 = (* (( (ptr) formal←c200007)+1) );
         details←v6548 = (* (( (ptr) formal←c200007)+2) );
         msg←v6576 = (* (( (ptr) formal←c200007)+3) );
SOURCE(718, 10)
         (*  (ptr) formal←c0106 ) = 2;
         (* (( (ptr) formal←c0106)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0106 ) = 0;
   (* (( (ptr) formal←c0106)+1) ) = 0;
   return;
   }

/* file: XTkIconImpl, module: XTkIconImpl, compiled at: July 13, 1992 2:56:43 pm PDT */ 
extern void XR←install←XTkIconImpl() {
   NoName←Q1092();
   }
extern void XR←run←XTkIconImpl() { XR←Start(&globalframe); }