home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / OLS / WIN32 / KAKIMAC / KAKIMAC8.LZH / K_RENB10.MAC next >
Text File  |  1994-10-04  |  15KB  |  443 lines

  1. //【マクロ名】 k_RenB10.mac by 水銀水(Suigwinsui)/小田 明夫 (HGD01603)
  2. //             日本語文書作成支援「書きマクロ」シリーズ第8集「連番マクロ」Ver.1 #1/2 
  3. //             1994年10月04日(火曜日) 午後03時35分26秒
  4. //【主な用途】 秀丸に、連番挿入機能を付加する。
  5. //【使用対象】秀丸 for Windows 上で日本語文章を快適に処理したい全てのみなさま。
  6. //【機能概略】(1)連番を挿入する。
  7. //            (2)深さ5までの連番(頭部・尾部・数字部全独立)で、16種類の番号を設定できる。
  8. //            (3)連番の反転/非反転を選択可能
  9. //            (4)重複連番を二重にチェック。(連番候補表示時は選択可能)。
  10. //            (5)将来の展開に柔軟に対応できる配慮。
  11. //【マクロ構成】(k_RenB Ver.1 は全2マクロで構成)
  12. //            k_RenB10.mac……「連番マクロ」本体(実行&登録はこのマクロだけで良い)
  13. //            k_RenB1s.mac……従属マクロ(「連番マクロ」設定用マクロ)
  14. // 各連番には、個別に表示番号を持つ[*1][*2][*3]ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ[*1][*2]
  15. // 連番全体の頭と尾に符号を付けられる
  16. // 個別連番の頭と尾に符号を付けられる
  17. // 連番の情報を記憶し、次回起動時には、最深連番が直前の1つ次にアップしている
  18. // 連番決定時には、決定連番と重複する文字列があるかどうかをチェックして、重複情報を明示する(2段階設定可能)
  19. $RIFn="k_renb11.kdf";
  20. $RIF=hidemarudir+"\\kakimac\\"+$RIFn;//$Renban Information File = $RIF
  21. call getFileOnly1;//file test (Limited Only <1> file on this version)
  22. top:// for all start of this macro...//get initisal information
  23. call getiniALL;
  24. call TransDispRenban;
  25. call SetDispRenban;
  26. #x1=x;#y1=y;
  27. if(!#RenCautionYN)call containsOnlyYN;
  28. while(1){//main
  29.     moveto #x1,#y1;
  30.     insert $d[#RenLen];
  31.     if(#invertYN)disableinvert;
  32.     #ex=x;#ey=y;beginsel;
  33.     moveto #x1,#y1;
  34.     #ic=inputchar("●連番操作 [↑]昇番 [↓]降番 [←]縮節 [→]延節 [^s]設定 [Ret]決定 [Esc]破棄");
  35.     if(#ic==27){//.......[Esc]破棄
  36.                 delete;
  37.                 call endmacroNothingDo;
  38.     }else if(#ic==28){// [←]縮連 短(昇・縮)節 
  39.                 if(#RenLen==1)continue;
  40.                 #RenLen=#RenLen-1;
  41.                 delete;
  42.     }else if(#ic==30){// [→]延連 長(降・延)節 
  43.                 if(#RenLen==5)continue;
  44.                 #RenLen=#RenLen+1;
  45.                 delete;
  46.     }else if(#ic==29){// [↑]昇番 
  47.                 #BN[#RenLen]=#BN[#RenLen]+1;
  48.                 call TransDispRenban;
  49.                 call SetDispRenban;
  50.                 delete;
  51.     }else if(#ic==19){// [^s]設定メニュー表示 
  52.                 delete;
  53.                 execmacro "k_renb1s.mac";
  54.                 goto top;
  55.     }else if(#ic==31){// [↓]降番 
  56.                 if(#BN[#RenLen]==1)continue;
  57.                 #BN[#RenLen]=#BN[#RenLen]-1;
  58.                 call TransDispRenban;
  59.                 call SetDispRenban;
  60.                 delete;
  61.     }else if(#ic==13){// [Ret]挿入位置決定/
  62.                 call checkSameRenban ;
  63.                 goto endmacroWritten;
  64.     }
  65.     if(!#RenCautionYN)call containsOnlyYN;
  66.  
  67. }
  68. checkSameRenban:
  69. $ScH=$d[#RenLen];
  70. call contains;
  71. return;
  72.  
  73. endmacroNothingDo:
  74. escape;
  75. endmacro;
  76. endmacroWritten:
  77. writeinistr $RIF,"BaseNumber","orgFile",filename;
  78. writeininum $RIF,"BaseNumber","RenLen",#RenLen;
  79. if(#RenLen==1){
  80.     writeininum $RIF,"BaseNumber","BN1",#BN[1]+1;
  81.     writeininum $RIF,"BaseNumber","BN2",1;
  82.     writeininum $RIF,"BaseNumber","BN3",1;
  83.     writeininum $RIF,"BaseNumber","BN4",1;
  84.     writeininum $RIF,"BaseNumber","BN5",1;
  85. }else if(#RenLen==2){
  86.     writeininum $RIF,"BaseNumber","BN1",#BN[1];
  87.     writeininum $RIF,"BaseNumber","BN2",#BN[2]+1;
  88.     writeininum $RIF,"BaseNumber","BN3",1;
  89.     writeininum $RIF,"BaseNumber","BN4",1;
  90.     writeininum $RIF,"BaseNumber","BN5",1;
  91. }else if(#RenLen==3){
  92.     writeininum $RIF,"BaseNumber","BN1",#BN[1];
  93.     writeininum $RIF,"BaseNumber","BN2",#BN[2];
  94.     writeininum $RIF,"BaseNumber","BN3",#BN[3]+1;
  95.     writeininum $RIF,"BaseNumber","BN4",1;
  96.     writeininum $RIF,"BaseNumber","BN5",1;
  97. }else if(#RenLen==4){
  98.     writeininum $RIF,"BaseNumber","BN1",#BN[1];
  99.     writeininum $RIF,"BaseNumber","BN2",#BN[2];
  100.     writeininum $RIF,"BaseNumber","BN3",#BN[3];
  101.     writeininum $RIF,"BaseNumber","BN4",#BN[4]+1;
  102.     writeininum $RIF,"BaseNumber","BN5",1;
  103. }else if(#RenLen==5){
  104.     writeininum $RIF,"BaseNumber","BN1",#BN[1];
  105.     writeininum $RIF,"BaseNumber","BN2",#BN[2];
  106.     writeininum $RIF,"BaseNumber","BN3",#BN[3];
  107.     writeininum $RIF,"BaseNumber","BN4",#BN[4];
  108.     writeininum $RIF,"BaseNumber","BN5",#BN[5]+1;
  109. }
  110. moveto #ex,#ey;
  111. endmacro;
  112. endmacroErace:
  113. moveto #x1,#y1;beginsel;
  114. moveto #ex,#ey;
  115. delete;
  116. endmacro;
  117.  
  118. containsOnlyYN:
  119. $ScH=$d[#RenLen];
  120. call CheckOnTarget;
  121. #CheckOnTarget=##return;
  122. call checkDownUp;
  123. #checkDownUp=##return;
  124. if(#CheckOnTarget==1||#checkDownUp==1){beep;
  125. message "●重複連番のご注意!!!            k_RenB Ver.1 水銀水\n"+
  126.     "━━━━━━━━━━━━━━━━━━━━━━━━━\n"+
  127.     "■重複連番="+$d[#RenLen]+
  128.     "\n━━━━━━━━━━━━━━━━━━━━━━━━━\n"+
  129.     "この連番は、この文書中の他の場所に既に存在しています。\n"+
  130.     "老婆心ながら、「警告設定中」ですので、ご注意まで.....(^^)\n"+
  131.     "  なお、「設定」で「重複連番の警告をしない」に設定すると\n"+
  132.     "  「連番入力中」の重複候補の注意をしません。\n"+
  133.     "  ただし、「確定時」の重複チェックは常時実行されます\n"+
  134.     "  (C)1994 水銀水(Suigwinsui)/小田明夫(HGD01603)My Friend Office";
  135. }
  136. return;
  137.  
  138.  
  139. contains:
  140. containsTOP:
  141. #GDN=0;#GUN=0;#Inner=0;#cKai=0;#GAN=0;
  142. call CheckOnTarget;
  143. #CheckOnTarget=##return;
  144. call checkDownUp;
  145. #checkDownUp=##return;
  146. if(#CheckOnTarget==1&&#checkDownUp==0){goto endmacroWritten;}
  147. #GDNd=#GDN;#GUNd=#GUN;
  148. #GAN=#GDN+#GUN;
  149. if(#CheckOnTarget){#Inner=1;#GAN=#GAN+1;}
  150. #cKai=1;// checkKaisuu
  151. while(1){containsW:beep;
  152. #ic=inputchar("●重複検索中 "+$ScH+" "+str(#GAN)+"個  [↑]<"+str(#GUNd)+"> [↓]<"+str(#GDNd)+">  [^o]元所 [Ret]決定 [Esc]破棄");
  153.     if(#ic==13){escape;right;left;goto endmacroWritten;}
  154.     else if(#ic==27){call endmacroErace;message "escape and ending without doing anything...";}
  155.     else if(#ic==29||#ic==28 ){findup;  #IdouHoukou=1;}
  156.     else if(#ic==31||#ic==30 ){finddown;#IdouHoukou=0;}
  157.     else if(#ic==15){
  158.             moveto #x1,#y1;goto containsTOP;
  159.     }
  160.     if(result){
  161.         if(#IdouHoukou){
  162.             if(#Inner){#GUNd=#GUNd-1;#GDNd=#GDNd+1;}
  163.             else{#Inner=1;if(#GDNd==0){#GUNd=#GUNd-1;#GDNd=0;}else{#GUNd=#GUNd-1;#GDNd=#GDNd;}}
  164.         }else{
  165.             if(#Inner){#GUNd=#GUNd+1;#GDNd=#GDNd-1;}
  166.             else{#Inner=1;if(#GUNd==0){#GUNd=0;#GDNd=#GDNd-1;}else{#GUNd=#GUNd;#GDNd=#GDNd-1;}}
  167.         }
  168.     }else {beep;}
  169.  
  170.     else if(!result){beep;}
  171. }
  172.  
  173. checkDownUp:
  174. disabledraw;
  175. moveto #x1,#y1;//right;
  176. while(1){
  177.     searchdown $ScH;
  178.     if(result){#GDN=#GDN+1;##GNyn=1;}
  179.     else break;
  180. }
  181. moveto #x1,#y1;//right;
  182. while(1){
  183.     searchup $ScH;
  184.     if(result){#GUN=#GUN+1;##GNyn=1;}
  185.     else break;
  186. }
  187. moveto #x1,#y1;
  188. enabledraw;
  189. return ##GNyn;
  190.  
  191.  
  192. CheckOnTarget:
  193. ##xx=#x1;##yy=#y1;
  194. ##sLen=strlen($ScH);
  195. $$conpC=gettext(##xx,##yy,##xx+##sLen,##yy);//Limited Target on 1 line
  196. if($$conpC==$ScH)return 1;
  197. else return 0;
  198.  
  199.  
  200.  
  201. SetDispRenban:// 無条件に全ての5連番に再代入
  202. $d[1]=$SP1+$HR1+$t[1]+$TR1+$SP6;
  203. $d[2]=$SP1+$HR1+$t[1]+$TR1+$SP2+$HR2+$t[2]+$TR2+$SP6;
  204. $d[3]=$SP1+$HR1+$t[1]+$TR1+$SP2+$HR2+$t[2]+$TR2+$SP3+$HR3+$t[3]+$TR3+$SP6;
  205. $d[4]=$SP1+$HR1+$t[1]+$TR1+$SP2+$HR2+$t[2]+$TR2+$SP3+$HR3+$t[3]+$TR3+$SP4+$HR4+$t[4]+$TR4+$SP6;
  206. $d[5]=$SP1+$HR1+$t[1]+$TR1+$SP2+$HR2+$t[2]+$TR2+$SP3+$HR3+$t[3]+$TR3+$SP4+$HR4+$t[4]+$TR4+$SP5+$HR5+$t[5]+$TR5+$SP6;
  207. return;
  208. //-----------------------------------------------------------------------------------------------------
  209. TransDispRenban:// for dispaly
  210. call TransNum #TransType[1],#BN[1];
  211. $t[1]=$$return;
  212. call TransNum #TransType[2],#BN[2];
  213. $t[2]=$$return;
  214. call TransNum #TransType[3],#BN[3];
  215. $t[3]=$$return;
  216. call TransNum #TransType[4],#BN[4];
  217. $t[4]=$$return;
  218. call TransNum #TransType[5],#BN[5];
  219. $t[5]=$$return;
  220. //-----------------------------------------------------------------------------------------------------
  221. TransNum:// translation BasicNumber to DisplayTypeNumber
  222. ##cn=##1;##bn=##2;
  223. if(##cn==0){//半角数字へ
  224.     return str(##2);
  225. }else if(##cn==1){//全角数字へ
  226.     call HS2ZS ##bn;
  227.     return $$return;
  228. }if(##cn==2){//ローマ数字大文字へRomaSuuzi
  229.     call HS2RU ##bn;
  230.     return $$return;
  231. }if(##cn==3){//ローマ数字小文字へRomaSuuzi
  232.     call HS2RL ##bn;
  233.     return $$return;
  234. }if(##cn==4){//丸囲み数字MarukakomiSuuzi
  235.     call HS2MS ##bn;
  236.     return $$return;
  237. }if(##cn==5){//漢数字、位なしHS2K1 
  238.     call HS2K1 ##bn;
  239.     return $$return;
  240. }if(##cn==6){//漢数字、位ありHS2K2 
  241.     call HS2K2 ##bn;
  242.     return $$return;
  243. }else if(##cn==8){//アルファベット(半角大文字).....
  244.     call HS2AHU ##bn;
  245.     return $$return;
  246. }else if(##cn==9){//アルファベット(半角小文字).....
  247.     call HS2AHL ##bn;
  248.     return $$return;
  249. }else if(##cn==10){//アルファベット(全角大文字).....
  250.     call HS2AZU ##bn;
  251.     return $$return;
  252. }else if(##cn==11){//アルファベット(全角小文字).....
  253.     call HS2AZL ##bn;
  254.     return $$return;
  255. }else if(##cn==12){//ひらがな(全角)...........
  256.     call HS2HZ ##bn;
  257.     return $$return;
  258. }else if(##cn==13){//カタナカ(全角)...........
  259.     call HS2KZ ##bn;
  260.     return $$return;
  261. }else if(##cn==14){//カタナカ(半角)...........
  262.     call HS2KH ##bn;
  263.     return $$return;
  264. }else if(##cn==15){//ギリシャ数字(大文字)........
  265.     call HS2GU ##bn;
  266.     return $$return;
  267. }else if(##cn==16){//ギリシャ数字(小文字)........
  268.     call HS2GL ##bn;
  269.     return $$return;
  270. }
  271. //-----------------------------------------------------------------------------------------------------
  272. HS2ZS://半角数字を全角数字に
  273. $$hansuu=str(##1);
  274. ##n=0;
  275. ##hslength=strlen($$hansuu);
  276. $$rets="";
  277. while(##n<##hslength){
  278.     if(midstr($$hansuu,##n,1)==" ")$$rets=$$rets+" ";
  279.     else $$rets=$$rets+char(ascii(midstr($$hansuu,##n,1))+33311);
  280.     ##n=##n+1;
  281. }
  282. return $$rets;
  283.  
  284. HS2MS://丸囲み数字MarukakomiSuuzi  1-20 以外は、通常の半角数字
  285. if(##1>=1&&##1<=20)return char(##1-1+0x8740);
  286. else return str(##1);
  287.  
  288. HS2RU://ローマ数字大文字(Upper)  RomaSuuzi  1-20 以外は通常半角表示
  289. if(##1>=1&&##1<=10)return char(##1-1+0x8754);
  290. else if(##1==11)return "ⅩⅠ";
  291. else if(##1==12)return "ⅩⅡ";
  292. else if(##1==13)return "ⅩⅢ";
  293. else if(##1==14)return "ⅩⅣ";
  294. else if(##1==15)return "ⅩⅤ";
  295. else if(##1==16)return "ⅩⅥ";
  296. else if(##1==17)return "ⅩⅦ";
  297. else if(##1==18)return "ⅩⅧ";
  298. else if(##1==19)return "ⅩⅨ";
  299. else if(##1==20)return "ⅩⅩ";
  300. else return str(##1);
  301.  
  302. HS2RL://ローマ数字小文字(Lower)  RomaSuuzi  1-20 以外は通常半角表示
  303. if(##1>=1&&##1<=10)return char(##1-1+0xeeef);//0xfa40
  304. else if(##1==11)return "ⅹⅰ";
  305. else if(##1==12)return "ⅹⅱ";
  306. else if(##1==13)return "ⅹⅲ";
  307. else if(##1==14)return "ⅹⅳ";
  308. else if(##1==15)return "ⅹⅴ";
  309. else if(##1==16)return "ⅹⅵ";
  310. else if(##1==17)return "ⅹⅶ";
  311. else if(##1==18)return "ⅹⅷ";
  312. else if(##1==19)return "ⅹⅸ";
  313. else if(##1==20)return "ⅹⅹ";
  314. else return str(##1);
  315.  
  316. ///////////////////
  317. HS2K1://半角数字を漢数字(位表示なし)に。(ケタ数制限なし)(type1:123456:一二三四五六)。
  318. $$zensuu=str(##1);
  319. ##hslength=strlen($$zensuu);
  320. ##n=0;
  321. $$ks0="";
  322. while(##n<##hslength){
  323.     $$ks1=midstr($$zensuu,##n,1);
  324.     if($$ks1=="1")$$ks1="一";
  325.     else if($$ks1=="2")$$ks1="二";
  326.     else if($$ks1=="3")$$ks1="三";
  327.     else if($$ks1=="4")$$ks1="四";
  328.     else if($$ks1=="5")$$ks1="五";
  329.     else if($$ks1=="6")$$ks1="六";
  330.     else if($$ks1=="7")$$ks1="七";
  331.     else if($$ks1=="8")$$ks1="八";
  332.     else if($$ks1=="9")$$ks1="九";
  333.     else if($$ks1=="0")$$ks1="〇";
  334.     $$ks0=$$ks0+$$ks1;
  335.     ##n=##n+1;
  336. }
  337. return $$ks0;
  338.  
  339. ///////////////////
  340. HS2K2://半角数字を漢数字(位表示あり)に。(4ケタまで)(type1:1234:千二百三十四)。
  341. $$zensuu=str(##1);
  342. ##ketasuu=strlen($$zensuu);
  343. ##n=0;
  344. $$ks0="";
  345. while(##n<##ketasuu){
  346.     ##kurai=##ketasuu-##n;
  347.     $$ks1=midstr($$zensuu,##n,1);
  348.     if($$ks1=="1")$$ks1="一";
  349.     else if($$ks1=="2")$$ks1="二";
  350.     else if($$ks1=="3")$$ks1="三";
  351.     else if($$ks1=="4")$$ks1="四";
  352.     else if($$ks1=="5")$$ks1="五";
  353.     else if($$ks1=="6")$$ks1="六";
  354.     else if($$ks1=="7")$$ks1="七";
  355.     else if($$ks1=="8")$$ks1="八";
  356.     else if($$ks1=="9")$$ks1="九";
  357.     else if($$ks1=="0")$$ks1="〇";
  358.     if(##kurai==1){if($$ks1=="〇")$$ks1="";}//1 no kurai
  359.     else if(##kurai==2){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"十";else $$ks1="十";}//10 no kurai
  360.     else if(##kurai==3){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"百";else $$ks1="百";}//100 no kurai
  361.     else if(##kurai==4){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"千";else $$ks1="千";}//1000 no kurai
  362.     $$ks0=$$ks0+$$ks1;
  363.     ##n=##n+1;
  364. }
  365. return $$ks0;
  366. ////--------------
  367. HS2AHL://アルファベット(半角小文字)
  368. if(##1>=1&&##1<=26)return char(##1-1+97);
  369. else return str(##1);
  370. HS2AHU://アルファベット(半角大文字)
  371. if(##1>=1&&##1<=26)return char(##1-1+65);
  372. else return str(##1);
  373. HS2AZU://アルファベット(全角大文字)
  374. if(##1>=1&&##1<=26)return char(##1-1+0x8260);
  375. else return str(##1);
  376. HS2AZL://アルファベット(全角小文字)
  377. if(##1>=1&&##1<=26)return char(##1-1+0x8281);
  378. else return str(##1);
  379. HS2HZ://ひらがな(全角)
  380. if(##1>=1&&##1<=83)return char(##1-1+0x829f);
  381. else return str(##1);
  382. HS2KZ://カタナカ(全角)
  383. if(##1>=1&&##1<=87)return char(##1-1+0x8340);
  384. else return str(##1);
  385. HS2KH://カタナカ(半角)
  386. if(##1>=1&&##1<=45)return char(##1-1+177);
  387. else return str(##1);
  388. HS2GU://ギリシャ文字(大文字)
  389. if(##1>=1&&##1<=24)return char(##1-1+0x839f);
  390. else return str(##1);
  391. HS2GL://ギリシャ文字(小文字)
  392. if(##1>=1&&##1<=24)return char(##1-1+0x83bf);
  393. else return str(##1);
  394. //////////////////////////////
  395.  
  396. getFileOnly1:
  397. $$fNow=getinistr($RIF,"BaseNumber","orgFile");
  398. if($$fNow==filename){
  399. }else{
  400.     writeininum $RIF,"BaseNumber","BN1",1;
  401.     writeininum $RIF,"BaseNumber","BN2",1;
  402.     writeininum $RIF,"BaseNumber","BN3",1;
  403.     writeininum $RIF,"BaseNumber","BN4",1;
  404.     writeininum $RIF,"BaseNumber","BN5",1;
  405.     writeininum $RIF,"BaseNumber","RenLen",1;
  406. }return;
  407. //-----------------------------------------------------------------------------------------------------
  408.  
  409. getiniALL:
  410. #BN[1]=getininum($RIF,"BaseNumber","BN1");if(#BN[1]==0)#BN[1]=1;
  411. #BN[2]=getininum($RIF,"BaseNumber","BN2");if(#BN[2]==0)#BN[2]=1;
  412. #BN[3]=getininum($RIF,"BaseNumber","BN3");if(#BN[3]==0)#BN[3]=1;
  413. #BN[4]=getininum($RIF,"BaseNumber","BN4");if(#BN[4]==0)#BN[4]=1;
  414. #BN[5]=getininum($RIF,"BaseNumber","BN5");if(#BN[5]==0)#BN[5]=1;
  415. #TransType[1]=getininum($RIF,"BaseNumber","TransType1");
  416. #TransType[2]=getininum($RIF,"BaseNumber","TransType2");
  417. #TransType[3]=getininum($RIF,"BaseNumber","TransType3");
  418. #TransType[4]=getininum($RIF,"BaseNumber","TransType4");
  419. #TransType[5]=getininum($RIF,"BaseNumber","TransType5");
  420. #OrgRenLen=getininum($RIF,"BaseNumber","RenLen");
  421. if(#OrgRenLen==0)#OrgRenLen=1;
  422. #RenLen=#OrgRenLen;
  423. #invertYN=getininum($RIF,"BaseNumber","InvertYN");
  424. #RenCautionYN=getininum($RIF,"BaseNumber","RenCautionYN");
  425. $SP1=getinistr($RIF,"SP","SP1");
  426. $SP2=getinistr($RIF,"SP","SP2");
  427. $SP3=getinistr($RIF,"SP","SP3");
  428. $SP4=getinistr($RIF,"SP","SP4");
  429. $SP5=getinistr($RIF,"SP","SP5");
  430. $SP6=getinistr($RIF,"SP","SP6");
  431. $HR1=getinistr($RIF,"SP","HR1");
  432. $TR1=getinistr($RIF,"SP","TR1");
  433. $HR2=getinistr($RIF,"SP","HR2");
  434. $TR2=getinistr($RIF,"SP","TR2");
  435. $HR3=getinistr($RIF,"SP","HR3");
  436. $TR3=getinistr($RIF,"SP","TR3");
  437. $HR4=getinistr($RIF,"SP","HR4");
  438. $TR4=getinistr($RIF,"SP","TR4");
  439. $HR5=getinistr($RIF,"SP","HR5");
  440. $TR5=getinistr($RIF,"SP","TR5");
  441. return;
  442.  
  443.