Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-10 02:21:16

0001 #include "SimG4CMS/Calo/interface/HFFibreFiducial.h"
0002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0003 
0004 #include <CLHEP/Units/PhysicalConstants.h>
0005 #include <CLHEP/Units/SystemOfUnits.h>
0006 
0007 //#define EDM_ML_DEBUG
0008 
0009 int HFFibreFiducial::PMTNumber(const G4ThreeVector& pe_effect) {
0010   double xv = pe_effect.x();   // X in global system
0011   double yv = pe_effect.y();   // Y in global system
0012   double phi = atan2(yv, xv);  // In global system
0013   if (phi < 0.)
0014     phi += CLHEP::pi;           // Just for security
0015   double dph = CLHEP::pi / 18;  // 10 deg = a half sector width
0016   double sph = dph + dph;       // 20 deg = a sector width
0017   int nphi = phi / dph;         // 10 deg sector #
0018 #ifdef EDM_ML_DEBUG
0019   edm::LogVerbatim("HFShower") << "HFFibreFiducial:***> P = " << pe_effect << ", phi = " << phi / CLHEP::deg;
0020 #endif
0021   if (nphi > 35)
0022     nphi = 35;       // Just for security
0023   double xl = 0.;    // local sector coordinates (left/right)
0024   double yl = 0.;    // local sector coordinates (down/up)
0025   int nwid = 0;      // CMS widget number (@@ not used now M.K.)
0026   double phir = 0.;  // phi for rotation to the sector system
0027   if (nphi == 0 || nphi == 35) {
0028     yl = xv;
0029     xl = yv;
0030     nwid = 6;
0031   } else if (nphi == 17 || nphi == 18) {
0032     yl = -xv;
0033     xl = -yv;
0034     nwid = 15;
0035     phir = CLHEP::pi;  // nr=9 ?
0036   } else {
0037     int nr = (nphi + 1) / 2;  // a sector # (@@ internal definition)
0038     nwid = 6 - nr;
0039     if (nwid <= 0)
0040       nwid += 18;     // @@ +z || -z M.K. to be improved
0041     phir = sph * nr;  // nontrivial phi for rotation to the sector system
0042     double cosr = cos(phir);
0043     double sinr = sin(phir);
0044     yl = xv * cosr + yv * sinr;
0045     xl = yv * cosr - xv * sinr;
0046 #ifdef EDM_ML_DEBUG
0047     edm::LogVerbatim("HFShower") << "HFFibreFiducial: nr " << nr << " phi " << phir / CLHEP::deg;
0048 #endif
0049   }
0050   if (yl < 0)
0051     yl = -yl;
0052 #ifdef EDM_ML_DEBUG
0053   edm::LogVerbatim("HFShower") << "HFFibreFiducial: Global Point " << pe_effect << " nphi " << nphi
0054                                << " Local Sector Coordinates (" << xl << ", " << yl << "), widget # " << nwid;
0055 #endif
0056   // Provides a PMT # for the (x,y) hit in the widget # nwid (M. Kosov, 11.2010)
0057   // Send comments/questions to Mikhail.Kossov@cern.ch
0058   // nwid = 1-18 for Forward HF, 19-36 for Backward HF (all equal now)
0059   // npmt = 0 for No Hit, 1-24 for H(Long) PMT, 25-48 for E(Short) PMT, negative for souces
0060 
0061   static const int nWidM = 36;
0062   if (nwid > nWidM || nwid <= 0) {
0063 #ifdef EDM_ML_DEBUG
0064     edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: " << nwid << " == wrong widget number";
0065 #endif
0066     return 0;
0067   }
0068   static const double yMin = 13.1 * CLHEP::cm;   // start of the active area (Conv to mm?)
0069   static const double yMax = 129.6 * CLHEP::cm;  // finish of the active area (Conv to mm?)
0070   if (yl < yMin || yl >= yMax) {
0071 #ifdef EDM_ML_DEBUG
0072     edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
0073                                  << "Point with y = " << yl << " outside acceptance [" << yMin << ":" << yMax
0074                                  << "],  X = " << xv << ", Y = " << yv << ", x = " << xl << ", nW = " << nwid
0075                                  << ", phi = " << phi / CLHEP::deg << ", phir = " << phir / CLHEP::deg;
0076 #endif
0077     return 0;  // ===> out of the acceptance
0078   }
0079   bool left = true;    // flag of the left part of the widget
0080   double r = xl / yl;  // for the widget acceptance check
0081   if (r < 0) {
0082     r = -r;
0083     left = false;
0084   }
0085   static const double tg10 = .17632698070847;  // phi-angular acceptance of the widget
0086   if (r > tg10) {
0087 #ifdef EDM_ML_DEBUG
0088     edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: (x = " << xl << ", y = " << yl
0089                                  << ", tg = " << r << ") out of the widget acceptance tg(10) " << tg10;
0090 #endif
0091     return 0;
0092   }
0093 
0094   static const int nLay = 233;  // a # of the sensetive layers in the widget
0095   static const int nL001 = 4;
0096   static const int nL002 = 4;
0097   static const int nL003 = 5;
0098   static const int nL004 = 5;
0099   static const int nL005 = 5;  // (5)
0100   static const int nL006 = 5;
0101   static const int nL007 = 5;
0102   static const int nL008 = 6;
0103   static const int nL009 = 6;
0104   static const int nL010 = 6;  // (6)
0105   static const int nL011 = 6;
0106   static const int nL012 = 6;
0107   static const int nL013 = 6;
0108   static const int nL014 = 7;
0109   static const int nL015 = 7;
0110   static const int nL016 = 7;  // (6)
0111   static const int nL017 = 7;
0112   static const int nL018 = 7;
0113   static const int nL019 = 7;
0114   static const int nL020 = 8;
0115   static const int nL021 = 8;
0116   static const int nL022 = 8;  // (5)
0117   static const int nL023 = 8;
0118   static const int nL024 = 8;
0119   static const int nL025 = 9;
0120   static const int nL026 = 9;
0121   static const int nL027 = 9;  // (6)
0122   static const int nL028 = 9;
0123   static const int nL029 = 9;
0124   static const int nL030 = 9;
0125   static const int nL031 = 10;
0126   static const int nL032 = 10;
0127   static const int nL033 = 10;  // (6)
0128   static const int nL034 = 10;
0129   static const int nL035 = 10;
0130   static const int nL036 = 10;
0131   static const int nL037 = 11;
0132   static const int nL038 = 11;  // (5)
0133   static const int nL039 = 11;
0134   static const int nL040 = 11;
0135   static const int nL041 = 11;
0136   static const int nL042 = 12;
0137   static const int nL043 = 12;
0138   static const int nL044 = 12;
0139   static const int nL045 = 12;  // (6)
0140   static const int nL046 = 12;
0141   static const int nL047 = 12;
0142   static const int nL048 = 13;
0143   static const int nL049 = 13;
0144   static const int nL050 = 13;  // (6)
0145   static const int nL051 = 13;
0146   static const int nL052 = 13;
0147   static const int nL053 = 13;
0148   static const int nL054 = 14;
0149   static const int nL055 = 14;
0150   static const int nL056 = 14;  // (5)
0151   static const int nL057 = 14;
0152   static const int nL058 = 14;
0153   static const int nL059 = 15;
0154   static const int nL060 = 15;
0155   static const int nL061 = 15;  // (6)
0156   static const int nL062 = 15;
0157   static const int nL063 = 15;
0158   static const int nL064 = 15;
0159   static const int nL065 = 16;
0160   static const int nL066 = 16;
0161   static const int nL067 = 16;  // (6)
0162   static const int nL068 = 16;
0163   static const int nL069 = 16;
0164   static const int nL070 = 16;
0165   static const int nL071 = 17;
0166   static const int nL072 = 17;
0167   static const int nL073 = 17;  // (5)
0168   static const int nL074 = 17;
0169   static const int nL075 = 17;
0170   static const int nL076 = 18;
0171   static const int nL077 = 18;
0172   static const int nL078 = 18;  // (6)
0173   static const int nL079 = 18;
0174   static const int nL080 = 18;
0175   static const int nL081 = 18;
0176   static const int nL082 = 19;
0177   static const int nL083 = 19;  // (6)
0178   static const int nL084 = 19;
0179   static const int nL085 = 19;
0180   static const int nL086 = 19;
0181   static const int nL087 = 19;
0182   static const int nL088 = 20;
0183   static const int nL089 = 20;
0184   static const int nL090 = 20;  // (5)
0185   static const int nL091 = 20;
0186   static const int nL092 = 20;
0187   static const int nL093 = 21;
0188   static const int nL094 = 21;
0189   static const int nL095 = 21;  // (6)
0190   static const int nL096 = 21;
0191   static const int nL097 = 21;
0192   static const int nL098 = 21;
0193   static const int nL099 = 22;
0194   static const int nL100 = 22;
0195   static const int nL101 = 22;  // (6)
0196   static const int nL102 = 22;
0197   static const int nL103 = 22;
0198   static const int nL104 = 22;
0199   static const int nL105 = 23;
0200   static const int nL106 = 23;
0201   static const int nL107 = 23;  // (5)
0202   static const int nL108 = 23;
0203   static const int nL109 = 23;
0204   static const int nL110 = 24;
0205   static const int nL111 = 24;
0206   static const int nL112 = 24;  // (6)
0207   static const int nL113 = 24;
0208   static const int nL114 = 24;
0209   static const int nL115 = 24;
0210   static const int nL116 = 25;
0211   static const int nL117 = 25;
0212   static const int nL118 = 25;  // (6)
0213   static const int nL119 = 25;
0214   static const int nL120 = 25;
0215   static const int nL121 = 25;
0216   static const int nL122 = 26;
0217   static const int nL123 = 26;
0218   static const int nL124 = 26;  // (5)
0219   static const int nL125 = 26;
0220   static const int nL126 = 26;
0221   static const int nL127 = 27;
0222   static const int nL128 = 27;
0223   static const int nL129 = 27;  // (6)
0224   static const int nL130 = 27;
0225   static const int nL131 = 27;
0226   static const int nL132 = 27;
0227   static const int nL133 = 28;
0228   static const int nL134 = 28;
0229   static const int nL135 = 28;  // (6)
0230   static const int nL136 = 28;
0231   static const int nL137 = 28;
0232   static const int nL138 = 28;
0233   static const int nL139 = 29;
0234   static const int nL140 = 29;
0235   static const int nL141 = 29;  // (5)
0236   static const int nL142 = 29;
0237   static const int nL143 = 29;
0238   static const int nL144 = 30;
0239   static const int nL145 = 30;
0240   static const int nL146 = 30;  // (6)
0241   static const int nL147 = 30;
0242   static const int nL148 = 30;
0243   static const int nL149 = 30;
0244   static const int nL150 = 31;
0245   static const int nL151 = 31;
0246   static const int nL152 = 31;  // (6)
0247   static const int nL153 = 31;
0248   static const int nL154 = 31;
0249   static const int nL155 = 31;
0250   static const int nL156 = 32;
0251   static const int nL157 = 32;  // (5)
0252   static const int nL158 = 32;
0253   static const int nL159 = 32;
0254   static const int nL160 = 32;
0255   static const int nL161 = 33;
0256   static const int nL162 = 33;  // (6)
0257   static const int nL163 = 33;
0258   static const int nL164 = 33;
0259   static const int nL165 = 33;
0260   static const int nL166 = 33;
0261   static const int nL167 = 34;
0262   static const int nL168 = 34;
0263   static const int nL169 = 34;  // (6)
0264   static const int nL170 = 34;
0265   static const int nL171 = 34;
0266   static const int nL172 = 34;
0267   static const int nL173 = 35;
0268   static const int nL174 = 35;
0269   static const int nL175 = 35;  // (5)
0270   static const int nL176 = 35;
0271   static const int nL177 = 35;
0272   static const int nL178 = 36;
0273   static const int nL179 = 36;
0274   static const int nL180 = 36;  // (6)
0275   static const int nL181 = 36;
0276   static const int nL182 = 36;
0277   static const int nL183 = 36;
0278   static const int nL184 = 37;
0279   static const int nL185 = 37;
0280   static const int nL186 = 37;  // (6)
0281   static const int nL187 = 37;
0282   static const int nL188 = 37;
0283   static const int nL189 = 37;
0284   static const int nL190 = 38;
0285   static const int nL191 = 38;
0286   static const int nL192 = 38;  // (5)
0287   static const int nL193 = 38;
0288   static const int nL194 = 38;
0289   static const int nL195 = 39;
0290   static const int nL196 = 39;
0291   static const int nL197 = 39;
0292   static const int nL198 = 39;  // (6)
0293   static const int nL199 = 39;
0294   static const int nL200 = 39;
0295   static const int nL201 = 40;
0296   static const int nL202 = 40;
0297   static const int nL203 = 40;  // (6)
0298   static const int nL204 = 40;
0299   static const int nL205 = 40;
0300   static const int nL206 = 40;
0301   static const int nL207 = 41;
0302   static const int nL208 = 41;
0303   static const int nL209 = 41;  // (5)
0304   static const int nL210 = 41;
0305   static const int nL211 = 41;
0306   static const int nL212 = 42;
0307   static const int nL213 = 42;
0308   static const int nL214 = 42;
0309   static const int nL215 = 42;  // (6)
0310   static const int nL216 = 42;
0311   static const int nL217 = 42;
0312   static const int nL218 = 43;
0313   static const int nL219 = 43;
0314   static const int nL220 = 43;  // (6)
0315   static const int nL221 = 43;
0316   static const int nL222 = 43;
0317   static const int nL223 = 43;
0318   static const int nL224 = 44;
0319   static const int nL225 = 44;
0320   static const int nL226 = 44;  // (5)
0321   static const int nL227 = 44;
0322   static const int nL228 = 44;
0323   static const int nL229 = 45;
0324   static const int nL230 = 45;
0325   static const int nL231 = 45;  // (5+1=6)
0326   static const int nL232 = 45;
0327   static const int nL233 = 45;
0328   //------------------------------------------------------------------------------------
0329   // Mean numbers of fibers in the layer is used. In some widgets it's bigger  ***
0330   // (if the fiber passed throug the hole closer to the edge) and sometimes it ***
0331   // is smaller (if in some holes of the layer fibers did not pass throug).    ***
0332   // The real presence of fibers in the holes is now unknown (not documented), ***
0333   // but the narrow electron showers can be used for revealing of the missing  ***
0334   // or additional fibers in the widget, because the missing fibers reduce the ***
0335   // response and additional fibers increas it. So the tables can be improved  ***
0336   // to be individual for widgets and the FXX/BXX sources-tables can be used.  ***
0337   // ********************** M.Kosov, Mikhail.Kosssov@cern.ch *********************
0338   // NNI, NN=tower#(1-24), i=0: dead; i=1: E(L); i=2: H(S); i=3: ESource; i=4: HSource
0339   static const int tR001[nL001] = {132, 131, 132, 131};  // Left Part of the widget (-phi)
0340   static const int tR002[nL002] = {131, 132, 131, 132};
0341   static const int tR003[nL003] = {132, 131, 132, 131, 132};
0342   static const int tR004[nL004] = {133, 132, 131, 132, 131};  // (5)
0343   static const int tR005[nL005] = {132, 131, 132, 131, 132};
0344   static const int tR006[nL006] = {131, 132, 131, 132, 131};
0345   static const int tR007[nL007] = {132, 131, 132, 131, 132};
0346   static const int tR008[nL008] = {131, 132, 131, 132, 131, 132};  // _______________________13_
0347   static const int tR009[nL009] = {122, 121, 122, 121, 122, 121};
0348   static const int tR010[nL010] = {121, 122, 121, 122, 123, 122};  // (6) (A)
0349   static const int tR011[nL011] = {122, 121, 122, 121, 122, 121};
0350   static const int tR012[nL012] = {121, 122, 121, 122, 121, 122};
0351   static const int tR013[nL013] = {122, 121, 122, 121, 122, 121};
0352   static const int tR014[nL014] = {121, 122, 121, 122, 121, 122, 121};  //____________________12_
0353   static const int tR015[nL015] = {122, 121, 242, 241, 242, 241, 242};  // (6)
0354   static const int tR016[nL016] = {241, 242, 241, 242, 241, 242, 241};
0355   static const int tR017[nL017] = {242, 241, 242, 241, 242, 241, 242};
0356   static const int tR018[nL018] = {241, 242, 241, 242, 243, 242, 241};
0357   static const int tR019[nL019] = {242, 241, 242, 241, 242, 241, 242};
0358   static const int tR020[nL020] = {241, 242, 241, 242, 241, 242, 241, 242};
0359   static const int tR021[nL021] = {242, 241, 242, 241, 242, 241, 242, 241};  // (5)
0360   static const int tR022[nL022] = {241, 242, 241, 242, 241, 242, 241, 242};  //________________24_
0361   static const int tR023[nL023] = {232, 231, 232, 231, 232, 231, 232, 231};
0362   static const int tR024[nL024] = {231, 232, 231, 232, 231, 232, 231, 232};
0363   static const int tR025[nL025] = {232, 231, 232, 231, 232, 231, 232, 231, 232};
0364   static const int tR026[nL026] = {231, 232, 231, 232, 233, 232, 231, 232, 231};
0365   static const int tR027[nL027] = {232, 231, 232, 231, 232, 231, 232, 231, 232};  // (6)
0366   static const int tR028[nL028] = {231, 232, 231, 232, 231, 232, 231, 232, 231};
0367   static const int tR029[nL029] = {232, 231, 232, 231, 232, 231, 232, 231, 232};
0368   static const int tR030[nL030] = {231, 232, 231, 232, 231, 232, 231, 232, 231};
0369   static const int tR031[nL031] = {232, 231, 232, 231, 232, 231, 232, 231, 232, 231};  //________23_
0370   static const int tR032[nL032] = {231, 232, 231, 222, 221, 222, 221, 222, 221, 222};
0371   static const int tR033[nL033] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221};  // (6)
0372   static const int tR034[nL034] = {221, 222, 221, 222, 221, 222, 221, 222, 221, 222};
0373   static const int tR035[nL035] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221};
0374   static const int tR036[nL036] = {221, 222, 221, 222, 223, 222, 221, 222, 221, 222};
0375   static const int tR037[nL037] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221, 222};
0376   static const int tR038[nL038] = {221, 222, 221, 222, 221, 222, 221, 222, 221, 222, 221};
0377   static const int tR039[nL039] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221, 222};  // (5)
0378   static const int tR040[nL040] = {221, 222, 221, 222, 221, 222, 221, 222, 221, 222, 221};  //_____22_
0379   static const int tR041[nL041] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0380   static const int tR042[nL042] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0381   static const int tR043[nL043] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
0382   static const int tR044[nL044] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0383   static const int tR045[nL045] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};  //(6)
0384   static const int tR046[nL046] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0385   static const int tR047[nL047] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
0386   static const int tR048[nL048] = {211, 212, 211, 212, 211, 212, 211, 214, 211, 212, 211, 212, 211};
0387   static const int tR049[nL049] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0388   static const int tR050[nL050] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
0389   static const int tR051[nL051] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};  //(6)
0390   static const int tR052[nL052] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
0391   static const int tR053[nL053] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0392   static const int tR054[nL054] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
0393   static const int tR055[nL055] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
0394   // _______________________________________________________________________________21_ (5)
0395   static const int tR056[nL056] = {211, 212, 211, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
0396   static const int tR057[nL057] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
0397   static const int tR058[nL058] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
0398   static const int tR059[nL059] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
0399   static const int tR060[nL060] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
0400   static const int tR061[nL061] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};  // (6)
0401   static const int tR062[nL062] = {201, 202, 201, 202, 201, 202, 201, 204, 201, 202, 201, 202, 201, 202, 201};
0402   static const int tR063[nL063] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
0403   static const int tR064[nL064] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
0404   static const int tR065[nL065] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
0405   static const int tR066[nL066] = {
0406       201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};  // (6)
0407   static const int tR067[nL067] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
0408   static const int tR068[nL068] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
0409   static const int tR069[nL069] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
0410   static const int tR070[nL070] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
0411   static const int tR071[nL071] = {202,
0412                                    201,
0413                                    202,
0414                                    201,
0415                                    202,
0416                                    201,
0417                                    202,
0418                                    201,
0419                                    202,
0420                                    201,
0421                                    192,
0422                                    191,
0423                                    192,
0424                                    191,
0425                                    192,
0426                                    191,
0427                                    192};  // ___________________________________20_
0428   static const int tR072[nL072] = {191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0429   static const int tR073[nL073] = {
0430       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};  // (5)
0431   static const int tR074[nL074] = {191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0432   static const int tR075[nL075] = {192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
0433   static const int tR076[nL076] = {
0434       191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
0435   static const int tR077[nL077] = {
0436       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0437   static const int tR078[nL078] = {
0438       191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};  // (6)
0439   static const int tR079[nL079] = {
0440       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0441   static const int tR080[nL080] = {
0442       191, 192, 191, 192, 191, 192, 191, 194, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
0443   static const int tR081[nL081] = {
0444       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0445   static const int tR082[nL082] = {
0446       191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0447   static const int tR083[nL083] = {
0448       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
0449   static const int tR084[nL084] = {
0450       191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};  // (6)
0451   static const int tR085[nL085] = {
0452       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
0453   static const int tR086[nL086] = {
0454       191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
0455   static const int tR087[nL087] = {
0456       192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
0457   static const int tR088[nL088] = {191, 192, 191, 192, 191, 192, 191, 192, 191, 192,
0458                                    191, 192, 191, 192, 191, 192, 181, 182, 181, 182};  // _______________________19_
0459   // ------------------------------------------------------------------------------------
0460   static const int tR089[nL089] = {192, 191, 192, 191, 182, 181, 182, 181, 182, 181,
0461                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181};  // (5)
0462   static const int tR090[nL090] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0463                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0464   static const int tR091[nL091] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0465                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0466   static const int tR092[nL092] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0467                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0468   static const int tR093[nL093] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0469                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0470   static const int tR094[nL094] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0471                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0472   static const int tR095[nL095] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0473                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182};  // (6)
0474   static const int tR096[nL096] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0475                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0476   static const int tR097[nL097] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0477                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0478   static const int tR098[nL098] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0479                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0480   static const int tR099[nL099] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0481                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0482   static const int tR100[nL100] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0483                                    182, 183, 182, 181, 182, 181, 182, 181, 182, 181, 182};  // (6)
0484   static const int tR101[nL101] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0485                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0486   static const int tR102[nL102] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0487                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0488   static const int tR103[nL103] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0489                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0490   static const int tR104[nL104] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0491                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0492   static const int tR105[nL105] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0493                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0494   static const int tR106[nL106] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0495                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0496   static const int tR107[nL107] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0497                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};  // (5)
0498   static const int tR108[nL108] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0499                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
0500   static const int tR109[nL109] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0501                                    182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0502   static const int tR110[nL110] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
0503                                    181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
0504   static const int tR111[nL111] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
0505                                    182, 181, 182, 181, 182, 171, 172, 171, 172, 171, 172, 171};  // _________4_
0506   static const int tR112[nL112] = {181, 182, 181, 182, 171, 172, 171, 172, 171, 172, 171, 172,
0507                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};  // (6)
0508   static const int tR113[nL113] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0509                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0510   static const int tR114[nL114] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0511                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0512   static const int tR115[nL115] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0513                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0514   static const int tR116[nL116] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0515                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0516   static const int tR117[nL117] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0517                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0518   static const int tR118[nL118] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0519                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0520   static const int tR119[nL119] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0521                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};  // (6)
0522   static const int tR120[nL120] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0523                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0524   static const int tR121[nL121] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0525                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0526   static const int tR122[nL122] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0527                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0528   static const int tR123[nL123] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0529                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0530   static const int tR124[nL124] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 173,
0531                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};  // (5)
0532   static const int tR125[nL125] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0533                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0534   static const int tR126[nL126] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0535                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0536   static const int tR127[nL127] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0537                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0538   static const int tR128[nL128] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0539                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0540   static const int tR129[nL129] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0541                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0542   static const int tR130[nL130] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0543                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};  //(6)
0544   static const int tR131[nL131] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0545                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0546   static const int tR132[nL132] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0547                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0548   static const int tR133[nL133] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0549                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0550   static const int tR134[nL134] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0551                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0552   static const int tR135[nL135] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0553                                    172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
0554   static const int tR136[nL136] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
0555                                    171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
0556   static const int tR137[nL137] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
0557                                    172, 171, 172, 171, 172, 171, 172, 171, 162, 161, 162, 161, 162, 161};
0558   // ____________________________________________________________________________(6)___3_
0559   static const int tR138[nL138] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 161, 162,
0560                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0561   static const int tR139[nL139] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0562                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0563   static const int tR140[nL140] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0564                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0565   static const int tR141[nL141] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0566                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};  // (5)
0567   static const int tR142[nL142] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0568                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0569   static const int tR143[nL143] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0570                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0571   static const int tR144[nL144] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0572                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0573   static const int tR145[nL145] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0574                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0575   static const int tR146[nL146] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0576                                    162, 163, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0577   static const int tR147[nL147] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0578                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};  // (6)
0579   static const int tR148[nL148] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0580                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0581   static const int tR149[nL149] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0582                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0583   static const int tR150[nL150] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0584                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0585   static const int tR151[nL151] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0586                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0587   static const int tR152[nL152] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0588                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};  // (6)
0589   static const int tR153[nL153] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0590                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0591   static const int tR154[nL154] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0592                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0593   static const int tR155[nL155] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0594                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0595   static const int tR156[nL156] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0596                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0597   static const int tR157[nL157] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0598                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0599   static const int tR158[nL158] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0600                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};  // (5)
0601   static const int tR159[nL159] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0602                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0603   static const int tR160[nL160] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0604                                    163, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0605   static const int tR161[nL161] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0606                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0607   static const int tR162[nL162] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0608                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0609   static const int tR163[nL163] = {
0610       162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0611       161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};  // (6)
0612   static const int tR164[nL164] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0613                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0614   static const int tR165[nL165] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0615                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
0616   static const int tR166[nL166] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0617                                    162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0618   static const int tR167[nL167] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0619                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
0620   static const int tR168[nL168] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0621                                    161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
0622                                    161, 162, 161, 152, 151, 152, 151, 152, 151, 152};  // _________________________2_
0623   static const int tR169[nL169] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
0624                                    162, 161, 162, 161, 162, 161, 152, 151, 152, 151, 152, 151,
0625                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151};  // (6)
0626   static const int tR170[nL170] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0627                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0628   static const int tR171[nL171] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0629                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0630   static const int tR172[nL172] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0631                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0632   static const int tR173[nL173] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0633                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0634                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0635   static const int tR174[nL174] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0636                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0637                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0638   static const int tR175[nL175] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0639                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0640                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};  // (5)
0641   static const int tR176[nL176] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0642                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0643                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0644   static const int tR177[nL177] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0645                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0646                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0647   static const int tR178[nL178] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0648                                    151, 152, 151, 152, 153, 152, 151, 152, 151, 152, 151, 152,
0649                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0650   static const int tR179[nL179] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0651                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0652                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0653   static const int tR180[nL180] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0654                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0655                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};  // (6)
0656   static const int tR181[nL181] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0657                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0658                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0659   static const int tR182[nL182] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0660                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0661                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0662   static const int tR183[nL183] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0663                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0664                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0665   static const int tR184[nL184] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0666                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0667                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0668   static const int tR185[nL185] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0669                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0670                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0671   static const int tR186[nL186] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0672                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0673                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0674   static const int tR187[nL187] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0675                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0676                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};  // (6)
0677   static const int tR188[nL188] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0678                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0679                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0680   static const int tR189[nL189] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0681                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0682                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0683   static const int tR190[nL190] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0684                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0685                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0686   static const int tR191[nL191] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0687                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0688                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0689   static const int tR192[nL192] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0690                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0691                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};  // (5)
0692   static const int tR193[nL193] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0693                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0694                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0695   static const int tR194[nL194] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0696                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0697                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0698   static const int tR195[nL195] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0699                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0700                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0701   static const int tR196[nL196] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0702                                    152, 151, 152, 151, 152, 151, 152, 153, 152, 151, 152, 151, 152,
0703                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0704   static const int tR197[nL197] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0705                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0706                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};  // (6)
0707   static const int tR198[nL198] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0708                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0709                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0710   static const int tR199[nL199] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0711                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0712                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0713   static const int tR200[nL200] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0714                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0715                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0716   static const int tR201[nL201] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0717                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0718                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
0719   static const int tR202[nL202] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0720                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0721                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0722   static const int tR203[nL203] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0723                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0724                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};  //(6)
0725   static const int tR204[nL204] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0726                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0727                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
0728   static const int tR205[nL205] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0729                                    152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
0730                                    152, 151, 152, 151, 142, 141, 142, 141, 142, 141, 142, 141};
0731   static const int tR206[nL206] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
0732                                    151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 141, 142, 141, 142,
0733                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};  //__1_
0734   static const int tR207[nL207] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 141, 142, 141,
0735                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0736                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0737   static const int tR208[nL208] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0738                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0739                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0740   static const int tR209[nL209] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0741                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0742                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};  //(5)
0743   static const int tR210[nL210] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0744                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0745                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0746   static const int tR211[nL211] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0747                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0748                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0749   static const int tR212[nL212] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0750                                    141, 142, 141, 142, 141, 142, 143, 142, 141, 142, 141, 142, 141, 142,
0751                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0752   static const int tR213[nL213] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0753                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0754                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0755   static const int tR214[nL214] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0756                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0757                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0758   static const int tR215[nL215] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0759                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0760                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0761   static const int tR216[nL216] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0762                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0763                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0764   static const int tR217[nL217] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0765                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0766                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0767   static const int tR218[nL218] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0768                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0769                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0770   static const int tR219[nL219] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0771                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0772                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0773   static const int tR220[nL220] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0774                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0775                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0776   static const int tR221[nL221] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0777                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0778                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};  // (6)
0779   static const int tR222[nL222] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0780                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0781                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0782   static const int tR223[nL223] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0783                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0784                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0785   static const int tR224[nL224] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0786                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0787                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0788   static const int tR225[nL225] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0789                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0790                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0791   static const int tR226[nL226] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0792                                    142, 141, 142, 141, 142, 143, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0793                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};  // (5)
0794   static const int tR227[nL227] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0795                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0796                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0797   static const int tR228[nL228] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0798                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0799                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0800   static const int tR229[nL229] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0801                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0802                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
0803   static const int tR230[nL230] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0804                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0805                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
0806   static const int tR231[nL231] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0807                                    141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0808                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 0,   0,   0,   0,   0,   0};  // (5+1=6)
0809   static const int tR232[nL232] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
0810                                    142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0811                                    141, 142, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0};
0812   static const int tR233[nL233] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
0813                                    141, 142, 141, 142, 141, 142, 141, 0,   0,   0,   0,   0,   0,   0,   0,
0814                                    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0};
0815   //------------------------------------------------------------------------------------
0816   static const int tL001[nL001] = {131, 132, 131, 132};  // Left Part of the widget (-phi)
0817   static const int tL002[nL002] = {132, 131, 132, 131};
0818   static const int tL003[nL003] = {131, 132, 131, 132, 131};
0819   static const int tL004[nL004] = {132, 131, 132, 131, 132};  // (5)
0820   static const int tL005[nL005] = {131, 132, 131, 132, 131};
0821   static const int tL006[nL006] = {132, 131, 132, 131, 132};
0822   static const int tL007[nL007] = {131, 132, 131, 132, 131};
0823   static const int tL008[nL008] = {132, 131, 132, 131, 132, 131};  // ______________________13_
0824   static const int tL009[nL009] = {121, 122, 121, 122, 121, 122};
0825   static const int tL010[nL010] = {122, 121, 122, 121, 124, 121};
0826   static const int tL011[nL011] = {121, 122, 121, 122, 121, 122};  // (6) (B)
0827   static const int tL012[nL012] = {122, 121, 122, 121, 122, 121};
0828   static const int tL013[nL013] = {121, 122, 121, 122, 121, 122};
0829   static const int tL014[nL014] = {122, 121, 122, 121, 122, 121, 122};  //___________________12_
0830   static const int tL015[nL015] = {121, 122, 111, 112, 111, 112, 111};
0831   static const int tL016[nL016] = {112, 111, 112, 111, 112, 111, 112};
0832   static const int tL017[nL017] = {111, 112, 111, 112, 111, 112, 111};  // (6)
0833   static const int tL018[nL018] = {112, 111, 112, 111, 114, 111, 112};
0834   static const int tL019[nL019] = {111, 112, 111, 112, 111, 112, 111};
0835   static const int tL020[nL020] = {112, 111, 112, 111, 112, 111, 112, 111};
0836   static const int tL021[nL021] = {111, 112, 111, 112, 111, 112, 111, 112};  // (5)
0837   static const int tL022[nL022] = {112, 111, 112, 111, 112, 111, 112, 111};  //_______________11_
0838   static const int tL023[nL023] = {101, 102, 101, 102, 101, 102, 101, 102};
0839   static const int tL024[nL024] = {102, 101, 102, 101, 102, 101, 102, 101};
0840   static const int tL025[nL025] = {101, 102, 101, 102, 101, 102, 101, 102, 101};
0841   static const int tL026[nL026] = {102, 101, 102, 101, 104, 101, 102, 101, 102};
0842   static const int tL027[nL027] = {101, 102, 101, 102, 101, 102, 101, 102, 101};  // (6)
0843   static const int tL028[nL028] = {102, 101, 102, 101, 102, 101, 102, 101, 102};
0844   static const int tL029[nL029] = {101, 102, 101, 102, 101, 102, 101, 102, 101};
0845   static const int tL030[nL030] = {102, 101, 102, 101, 102, 101, 102, 101, 102};
0846   static const int tL031[nL031] = {101, 102, 101, 102, 101, 102, 101, 102, 101, 102};  //_______10_
0847   static const int tL032[nL032] = {102, 101, 102, 91, 92, 91, 92, 91, 92, 91};
0848   static const int tL033[nL033] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92};  // (6)
0849   static const int tL034[nL034] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
0850   static const int tL035[nL035] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
0851   static const int tL036[nL036] = {92, 91, 92, 91, 94, 91, 92, 91, 92, 91};
0852   static const int tL037[nL037] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
0853   static const int tL038[nL038] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
0854   static const int tL039[nL039] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};  // (5)
0855   static const int tL040[nL040] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
0856   static const int tL041[nL041] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
0857   static const int tL042[nL042] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};  //_9_
0858   static const int tL043[nL043] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
0859   static const int tL044[nL044] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
0860   static const int tL045[nL045] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};  //(6)
0861   static const int tL046[nL046] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
0862   static const int tL047[nL047] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
0863   static const int tL048[nL048] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
0864   static const int tL049[nL049] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
0865   static const int tL050[nL050] = {82, 81, 82, 81, 82, 81, 82, 81, 84, 81, 82, 81, 82};  //(6)
0866   static const int tL051[nL051] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
0867   static const int tL052[nL052] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
0868   static const int tL053[nL053] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
0869   static const int tL054[nL054] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
0870   static const int tL055[nL055] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
0871   // ________________________________________________________________________________8_ (5)
0872   static const int tL056[nL056] = {82, 81, 82, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
0873   static const int tL057[nL057] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
0874   static const int tL058[nL058] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
0875   static const int tL059[nL059] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
0876   static const int tL060[nL060] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
0877   static const int tL061[nL061] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};  // (6)
0878   static const int tL062[nL062] = {72, 71, 72, 71, 72, 71, 72, 71, 74, 71, 72, 71, 72, 71, 71};
0879   static const int tL063[nL063] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
0880   static const int tL064[nL064] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
0881   static const int tL065[nL065] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
0882   static const int tL066[nL066] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};  // (6)
0883   static const int tL067[nL067] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
0884   static const int tL068[nL068] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
0885   static const int tL069[nL069] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
0886   static const int tL070[nL070] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
0887   static const int tL071[nL071] = {
0888       71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 61, 62, 61, 62, 61, 62, 61};  // _____________________________________7_
0889   static const int tL072[nL072] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0890   static const int tL073[nL073] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};  // (5)
0891   static const int tL074[nL074] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0892   static const int tL075[nL075] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
0893   static const int tL076[nL076] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
0894   static const int tL077[nL077] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0895   static const int tL078[nL078] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};  // (6)
0896   static const int tL079[nL079] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0897   static const int tL080[nL080] = {62, 61, 62, 61, 62, 61, 62, 61, 64, 61, 62, 61, 62, 61, 62, 61, 62, 61};
0898   static const int tL081[nL081] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0899   static const int tL082[nL082] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0900   static const int tL083[nL083] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};  // (6)
0901   static const int tL084[nL084] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0902   static const int tL085[nL085] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
0903   static const int tL086[nL086] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
0904   static const int tL087[nL087] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
0905   static const int tL088[nL088] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
0906                                    62, 61, 62, 61, 62, 61, 52, 51, 52, 51};  // _________________________6_
0907   //-------------------------------------------------------------------------------------
0908   static const int tL089[nL089] = {61, 62, 61, 62, 51, 52, 51, 52, 51, 52,
0909                                    51, 52, 51, 52, 51, 52, 51, 52, 51, 52};  // (5)
0910   static const int tL090[nL090] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0911   static const int tL091[nL091] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0912   static const int tL092[nL092] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0913   static const int tL093[nL093] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0914   static const int tL094[nL094] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0915   static const int tL095[nL095] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0916                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51};  // (6)
0917   static const int tL096[nL096] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0918   static const int tL097[nL097] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0919   static const int tL098[nL098] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0920   static const int tL099[nL099] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0921                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0922   static const int tL100[nL100] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0923                                    53, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};  // (6)
0924   static const int tL101[nL101] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0925                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0926   static const int tL102[nL102] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0927                                    51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0928   static const int tL103[nL103] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0929                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0930   static const int tL104[nL104] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0931                                    51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0932   static const int tL105[nL105] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0933                                    51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0934   static const int tL106[nL106] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0935                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0936   static const int tL107[nL107] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0937                                    51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};  // (5)
0938   static const int tL108[nL108] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0939                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
0940   static const int tL109[nL109] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0941                                    51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0942   static const int tL110[nL110] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
0943                                    52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
0944   static const int tL111[nL111] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
0945                                    51, 52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42};  // _________4_
0946   static const int tL112[nL112] = {52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42, 41,
0947                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};  // (6)
0948   static const int tL113[nL113] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0949                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0950   static const int tL114[nL114] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0951                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0952   static const int tL115[nL115] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0953                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0954   static const int tL116[nL116] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0955                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0956   static const int tL117[nL117] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0957                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0958   static const int tL118[nL118] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0959                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0960   static const int tL119[nL119] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0961                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};  // (6)
0962   static const int tL120[nL120] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0963                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0964   static const int tL121[nL121] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0965                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0966   static const int tL122[nL122] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0967                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0968   static const int tL123[nL123] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0969                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0970   static const int tL124[nL124] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 43, 42,
0971                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};  // (5)
0972   static const int tL125[nL125] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0973                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0974   static const int tL126[nL126] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0975                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0976   static const int tL127[nL127] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0977                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0978   static const int tL128[nL128] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0979                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0980   static const int tL129[nL129] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0981                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0982   static const int tL130[nL130] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0983                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};  //(6)
0984   static const int tL131[nL131] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0985                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0986   static const int tL132[nL132] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0987                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0988   static const int tL133[nL133] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0989                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0990   static const int tL134[nL134] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0991                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0992   static const int tL135[nL135] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0993                                    41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
0994   static const int tL136[nL136] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
0995                                    42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
0996   static const int tL137[nL137] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
0997                                    41, 42, 41, 42, 41, 42, 41, 42, 31, 32, 31, 32, 31, 32};
0998   // ____________________________________________________________________________(6)___3_
0999   static const int tL138[nL138] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 32, 31,
1000                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1001   static const int tL139[nL139] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1002                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1003   static const int tL140[nL140] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1004                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1005   static const int tL141[nL141] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1006                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};  // (5)
1007   static const int tL142[nL142] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1008                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1009   static const int tL143[nL143] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1010                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1011   static const int tL144[nL144] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1012                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1013   static const int tL145[nL145] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1014                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1015   static const int tL146[nL146] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1016                                    33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1017   static const int tL147[nL147] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1018                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};  // (6)
1019   static const int tL148[nL148] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1020                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1021   static const int tL149[nL149] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1022                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1023   static const int tL150[nL150] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1024                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1025   static const int tL151[nL151] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1026                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1027   static const int tL152[nL152] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1028                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};  // (6)
1029   static const int tL153[nL153] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1030                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1031   static const int tL154[nL154] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1032                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1033   static const int tL155[nL155] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1034                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1035   static const int tL156[nL156] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1036                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1037   static const int tL157[nL157] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1038                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1039   static const int tL158[nL158] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1040                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};  // (5)
1041   static const int tL159[nL159] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1042                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1043   static const int tL160[nL160] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 33,
1044                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1045   static const int tL161[nL161] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1046                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1047   static const int tL162[nL162] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1048                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1049   static const int tL163[nL163] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1050                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};  // (6)
1051   static const int tL164[nL164] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1052                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1053   static const int tL165[nL165] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1054                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1055   static const int tL166[nL166] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1056                                    31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1057   static const int tL167[nL167] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1058                                    32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1059   static const int tL168[nL168] = {
1060       32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1061       31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 21, 22, 21, 22, 21, 22, 21};  // _________________________2_
1062   static const int tL169[nL169] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1063                                    32, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};  // (6)
1064   static const int tL170[nL170] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1065                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1066   static const int tL171[nL171] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1067                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1068   static const int tL172[nL172] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1069                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1070   static const int tL173[nL173] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1071                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1072   static const int tL174[nL174] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1073                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1074   static const int tL175[nL175] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1075                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};  // (5)
1076   static const int tL176[nL176] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1077                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1078   static const int tL177[nL177] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1079                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1080   static const int tL178[nL178] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 23, 22, 21,
1081                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1082   static const int tL179[nL179] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1083                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1084   static const int tL180[nL180] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1085                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};  // (6)
1086   static const int tL181[nL181] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1087                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1088   static const int tL182[nL182] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1089                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1090   static const int tL183[nL183] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1091                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1092   static const int tL184[nL184] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1093                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1094   static const int tL185[nL185] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1095                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1096   static const int tL186[nL186] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1097                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1098   static const int tL187[nL187] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1099                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};  // (6)
1100   static const int tL188[nL188] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1101                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1102   static const int tL189[nL189] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1103                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1104   static const int tL190[nL190] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1105                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1106   static const int tL191[nL191] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1107                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1108   static const int tL192[nL192] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1109                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};  // (5)
1110   static const int tL193[nL193] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1111                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1112   static const int tL194[nL194] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1113                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1114   static const int tL195[nL195] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1115                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1116   static const int tL196[nL196] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 23,
1117                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1118   static const int tL197[nL197] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1119                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};  // (6)
1120   static const int tL198[nL198] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1121                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1122   static const int tL199[nL199] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1123                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1124   static const int tL200[nL200] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1125                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1126   static const int tL201[nL201] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1127                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1128   static const int tL202[nL202] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1129                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1130   static const int tL203[nL203] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1131                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};  //(6)
1132   static const int tL204[nL204] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1133                                    22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1134   static const int tL205[nL205] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1135                                    21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 11, 12, 11, 12, 11, 12, 11, 12};
1136   static const int tL206[nL206] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1137                                    21, 22, 21, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};  //__1_
1138   static const int tL207[nL207] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1139                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1140   static const int tL208[nL208] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1141                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1142   static const int tL209[nL209] = {
1143       11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1144       12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};  //(5)
1145   static const int tL210[nL210] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1146                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1147   static const int tL211[nL211] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1148                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1149   static const int tL212[nL212] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 13, 12,
1150                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1151   static const int tL213[nL213] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1152                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1153   static const int tL214[nL214] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1154                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1155   static const int tL215[nL215] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1156                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1157   static const int tL216[nL216] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1158                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1159   static const int tL217[nL217] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1160                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1161   static const int tL218[nL218] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1162                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1163                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1164   static const int tL219[nL219] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1165                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1166                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1167   static const int tL220[nL220] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1168                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1169                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1170   static const int tL221[nL221] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1171                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1172                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};  // (6)
1173   static const int tL222[nL222] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1174                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1175                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1176   static const int tL223[nL223] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1177                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1178                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1179   static const int tL224[nL224] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1180                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1181                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1182   static const int tL225[nL225] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1183                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1184                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1185   static const int tL226[nL226] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1186                                    11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1187                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};  // (5)
1188   static const int tL227[nL227] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1189                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1190                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1191   static const int tL228[nL228] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1192                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1193                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1194   static const int tL229[nL229] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1195                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1196                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1197   static const int tL230[nL230] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1198                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1199                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1200   static const int tL231[nL231] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1201                                    12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1202                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 0,  0,  0,  0,  0,  0};  // (5+1=6)
1203   static const int tL232[nL232] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1204                                    11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1205                                    12, 11, 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0};
1206   static const int tL233[nL233] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1207                                    12, 11, 12, 11, 12, 11, 12, 0,  0,  0,  0,  0,  0,  0,  0,
1208                                    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0};
1209   static const int nSL[nLay] = {
1210       nL001, nL002, nL003, nL004, nL005, nL006, nL007, nL008, nL009, nL010, nL011, nL012, nL013, nL014, nL015, nL016,
1211       nL017, nL018, nL019, nL020, nL021, nL022, nL023, nL024, nL025, nL026, nL027, nL028, nL029, nL030, nL031, nL032,
1212       nL033, nL034, nL035, nL036, nL037, nL038, nL039, nL040, nL041, nL042, nL043, nL044, nL045, nL046, nL047, nL048,
1213       nL049, nL050, nL051, nL052, nL053, nL054, nL055, nL056, nL057, nL058, nL059, nL060, nL061, nL062, nL063, nL064,
1214       nL065, nL066, nL067, nL068, nL069, nL070, nL071, nL072, nL073, nL074, nL075, nL076, nL077, nL078, nL079, nL080,
1215       nL081, nL082, nL083, nL084, nL085, nL086, nL087, nL088, nL089, nL090, nL091, nL092, nL093, nL094, nL095, nL096,
1216       nL097, nL098, nL099, nL100, nL101, nL102, nL103, nL104, nL105, nL106, nL107, nL108, nL109, nL110, nL111, nL112,
1217       nL113, nL114, nL115, nL116, nL117, nL118, nL119, nL120, nL121, nL122, nL123, nL124, nL125, nL126, nL127, nL128,
1218       nL129, nL130, nL131, nL132, nL133, nL134, nL135, nL136, nL137, nL138, nL139, nL140, nL141, nL142, nL143, nL144,
1219       nL145, nL146, nL147, nL148, nL149, nL150, nL151, nL152, nL153, nL154, nL155, nL156, nL157, nL158, nL159, nL160,
1220       nL161, nL162, nL163, nL164, nL165, nL166, nL167, nL168, nL169, nL170, nL171, nL172, nL173, nL174, nL175, nL176,
1221       nL177, nL178, nL179, nL180, nL181, nL182, nL183, nL184, nL185, nL186, nL187, nL188, nL189, nL190, nL191, nL192,
1222       nL193, nL194, nL195, nL196, nL197, nL198, nL199, nL200, nL201, nL202, nL203, nL204, nL205, nL206, nL207, nL208,
1223       nL209, nL210, nL211, nL212, nL213, nL214, nL215, nL216, nL217, nL218, nL219, nL220, nL221, nL222, nL223, nL224,
1224       nL225, nL226, nL227, nL228, nL229, nL230, nL231, nL232, nL233};
1225   static const int* const nLT[nLay] = {
1226       tL001, tL002, tL003, tL004, tL005, tL006, tL007, tL008, tL009, tL010, tL011, tL012, tL013, tL014, tL015, tL016,
1227       tL017, tL018, tL019, tL020, tL021, tL022, tL023, tL024, tL025, tL026, tL027, tL028, tL029, tL030, tL031, tL032,
1228       tL033, tL034, tL035, tL036, tL037, tL038, tL039, tL040, tL041, tL042, tL043, tL044, tL045, tL046, tL047, tL048,
1229       tL049, tL050, tL051, tL052, tL053, tL054, tL055, tL056, tL057, tL058, tL059, tL060, tL061, tL062, tL063, tL064,
1230       tL065, tL066, tL067, tL068, tL069, tL070, tL071, tL072, tL073, tL074, tL075, tL076, tL077, tL078, tL079, tL080,
1231       tL081, tL082, tL083, tL084, tL085, tL086, tL087, tL088, tL089, tL090, tL091, tL092, tL093, tL094, tL095, tL096,
1232       tL097, tL098, tL099, tL100, tL101, tL102, tL103, tL104, tL105, tL106, tL107, tL108, tL109, tL110, tL111, tL112,
1233       tL113, tL114, tL115, tL116, tL117, tL118, tL119, tL120, tL121, tL122, tL123, tL124, tL125, tL126, tL127, tL128,
1234       tL129, tL130, tL131, tL132, tL133, tL134, tL135, tL136, tL137, tL138, tL139, tL140, tL141, tL142, tL143, tL144,
1235       tL145, tL146, tL147, tL148, tL149, tL150, tL151, tL152, tL153, tL154, tL155, tL156, tL157, tL158, tL159, tL160,
1236       tL161, tL162, tL163, tL164, tL165, tL166, tL167, tL168, tL169, tL170, tL171, tL172, tL173, tL174, tL175, tL176,
1237       tL177, tL178, tL179, tL180, tL181, tL182, tL183, tL184, tL185, tL186, tL187, tL188, tL189, tL190, tL191, tL192,
1238       tL193, tL194, tL195, tL196, tL197, tL198, tL199, tL200, tL201, tL202, tL203, tL204, tL205, tL206, tL207, tL208,
1239       tL209, tL210, tL211, tL212, tL213, tL214, tL215, tL216, tL217, tL218, tL219, tL220, tL221, tL222, tL223, tL224,
1240       tL225, tL226, tL227, tL228, tL229, tL230, tL231, tL232, tL233};
1241   static const int* const nRT[nLay] = {
1242       tR001, tR002, tR003, tR004, tR005, tR006, tR007, tR008, tR009, tR010, tR011, tR012, tR013, tR014, tR015, tR016,
1243       tR017, tR018, tR019, tR020, tR021, tR022, tR023, tR024, tR025, tR026, tR027, tR028, tR029, tR030, tR031, tR032,
1244       tR033, tR034, tR035, tR036, tR037, tR038, tR039, tR040, tR041, tR042, tR043, tR044, tR045, tR046, tR047, tR048,
1245       tR049, tR050, tR051, tR052, tR053, tR054, tR055, tR056, tR057, tR058, tR059, tR060, tR061, tR062, tR063, tR064,
1246       tR065, tR066, tR067, tR068, tR069, tR070, tR071, tR072, tR073, tR074, tR075, tR076, tR077, tR078, tR079, tR080,
1247       tR081, tR082, tR083, tR084, tR085, tR086, tR087, tR088, tR089, tR090, tR091, tR092, tR093, tR094, tR095, tR096,
1248       tR097, tR098, tR099, tR100, tR101, tR102, tR103, tR104, tR105, tR106, tR107, tR108, tR109, tR110, tR111, tR112,
1249       tR113, tR114, tR115, tR116, tR117, tR118, tR119, tR120, tR121, tR122, tR123, tR124, tR125, tR126, tR127, tR128,
1250       tR129, tR130, tR131, tR132, tR133, tR134, tR135, tR136, tR137, tR138, tR139, tR140, tR141, tR142, tR143, tR144,
1251       tR145, tR146, tR147, tR148, tR149, tR150, tR151, tR152, tR153, tR154, tR155, tR156, tR157, tR158, tR159, tR160,
1252       tR161, tR162, tR163, tR164, tR165, tR166, tR167, tR168, tR169, tR170, tR171, tR172, tR173, tR174, tR175, tR176,
1253       tR177, tR178, tR179, tR180, tR181, tR182, tR183, tR184, tR185, tR186, tR187, tR188, tR189, tR190, tR191, tR192,
1254       tR193, tR194, tR195, tR196, tR197, tR198, tR199, tR200, tR201, tR202, tR203, tR204, tR205, tR206, tR207, tR208,
1255       tR209, tR210, tR211, tR212, tR213, tR214, tR215, tR216, tR217, tR218, tR219, tR220, tR221, tR222, tR223, tR224,
1256       tR225, tR226, tR227, tR228, tR229, tR230, tR231, tR232, tR233};
1257 
1258   /*
1259   // The following are differences in the Source tube positions(not used so far)
1260   // *** At present for all widgets the F01 is used (@@ to be developed M.K.)
1261   static const int nS=31;      // a # of the source tubes in the widget 
1262   // 0 - H(Long), 1 - E(Short)
1263   //                                                1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
1264   //                        1 1 2 2 3 3 4 5 6 7 8 9 0 1 2 2 3 4 4 5 5 6 6 7 8 9 0 1 2 3 4
1265   //                        A B A B A B                 A B   A B A B A B
1266   static const int F01[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1267   static const int F02[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1268   static const int F03[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0};
1269   static const int F04[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1270   static const int F05[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1271   static const int F06[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1272   static const int F07[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1273   static const int F08[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1274   static const int F09[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1275   static const int F10[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1276   static const int F11[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1277   static const int F12[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1278   static const int F13[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1279   static const int F14[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1280   static const int F15[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1281   static const int F16[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1282   static const int F17[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1283   static const int F18[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1284 
1285   static const int B01[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1286   static const int B02[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1287   static const int B03[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1288   static const int B04[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1289   static const int B05[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1290   static const int B06[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1291   static const int B07[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1292   static const int B08[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1293   static const int B09[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1294   static const int B10[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1295   static const int B11[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1296   static const int B12[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1297   static const int B13[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1298   static const int B14[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1299   static const int B15[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1300   static const int B16[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1301   static const int B17[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1302   static const int B18[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1303   */
1304 
1305   static const double cellSize = 0.5 * CLHEP::cm;  // 0.5 cm is the cell size
1306   if (!(xl > 0.))
1307     xl = -xl;
1308   double fx = xl / cellSize;
1309   int ny = static_cast<int>((yl - yMin) / cellSize);  // Layer number (starting from 0)
1310   if (ny < 0 || ny >= nLay) {                         // Sould never happen as was checked beforehand
1311 #ifdef EDM_ML_DEBUG
1312     edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
1313                                  << "check limits y = " << yl << ", nL=" << nLay;
1314 #endif
1315     return 0;
1316   }
1317   int nx = static_cast<int>(fx);  // Cell number (starting from 0)
1318 #ifdef EDM_ML_DEBUG
1319   edm::LogVerbatim("HFShower") << "HFFibreFiducial::PMTNumber:X = " << xv << ", Y = " << yv << ", Z = " << pe_effect.z()
1320                                << ", fX = " << fx << "-> nX = " << nx << ", nY = " << ny << ", mX = " << nSL[ny]
1321                                << ", x = " << xl << ", y = " << yl << ", s = " << cellSize << ", nW = " << nwid
1322                                << ", phi = " << phi / CLHEP::deg << ", phis = " << atan2(xl, yl) / CLHEP::deg
1323                                << ", phir = " << phir / CLHEP::deg;
1324 #endif
1325   if (nx >= nSL[ny]) {
1326 #ifdef EDM_ML_DEBUG
1327     edm::LogVerbatim("HFShower") << "HFFibreFiducial::nx/ny (" << nx << "," << ny << ") "
1328                                  << " above limit " << nSL[ny];
1329 #endif
1330     return 0;  // ===> out of the acceptance
1331   }
1332   int code = 0;  // a prototype
1333   if (left)
1334     code = nLT[ny][nx];
1335   else
1336     code = nRT[ny][nx];
1337   int flag = code % 10;
1338   int npmt = code / 10;
1339   bool src = false;  // by default: not a source-tube
1340 #ifdef EDM_ML_DEBUG
1341   edm::LogVerbatim("HFShower") << "HFFibreFiducial::nx/ny (" << nx << "," << ny << ") code/flag/npmt " << code << "/"
1342                                << flag << "/" << npmt;
1343 #endif
1344 
1345   if (!flag)
1346     return 0;  // ===> no fiber in the cell
1347   else if (flag == 1)
1348     npmt += 24;
1349   else if (flag == 3 || flag == 4) {
1350     src = true;
1351   }
1352 #ifdef EDM_ML_DEBUG
1353   edm::LogVerbatim("HFShower") << "HFFibreFiducial::PMTNumber: src = " << src << ", npmt =" << npmt;
1354 #endif
1355   if (src)
1356     return -npmt;  // return the negative number for the source
1357   return npmt;
1358 }  // End of PMTNumber