[31m-- aish is another attempt of A. i. written with Ada.[m
[31m-- Aish is Copyright (C) 2024  ; [m
[31m--[m
[31m--   This program is free software; you can redistribute it and/or modify[m
[31m--   it under the terms of the GNU General Public License as published by[m
[31m--   the Free Software Foundation; either version 2 of the License, or[m
[31m--   (at your option) any later version.[m
[31m--[m
[31m--   This program is distributed in the hope that it will be useful,[m
[31m--   but WITHOUT ANY WARRANTY; without even the implied warranty of[m
[31m--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the[m
[31m--   GNU General Public License for more details.[m
[31m--[m
[31m--   You should have received a copy of the GNU General Public License[m
[31m--   along with this program; if not, write to the Free Software[m
[31m--   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA[m
[31m--[m
[31m-- Date := "2024-04-29 20:25:34"[m
[31m-- Version := "1.1.0r"[m
[01;34mwith[m Ai [31m;[m 
[01;34mwith[m Ai[31m.[mErrors [31m;[m 
[01;34mwith[m Ai[31m.[mParameters [31m;[m 
[01;34mwith[m Ai[31m.[mOptions [31m;[m 
[01;34mwith[m Ai[31m.[mVersions [31m;[m 
[01;34mwith[m Ai[31m.[mVersions[31m.[mVersion_io [31m;[m 
[01;34mwith[m Ai[31m.[mInterfaces [31m;[m 
[01;34mwith[m Ai[31m.[mShared [31m;[m 
[01;34mwith[m Ai[31m.[mShell [31m;[m 

[01;34muse[m Ai[31m;[m
[01;34muse[m Ai[31m.[mInterfaces[31m;[m
[01;34muse[m Ai[31m.[mVersions[31m;[m
[01;34muse[m Ai[31m.[mVersions[31m.[mVersion_Io[31m;[m
[01;34muse[m Ai[31m.[mShared[31m;[m
[01;34muse[m Ai[31m.[mShell[31m;[m

[01;34mwith[m Ada[31m.[mWide_Text_Io[31m;[m
[01;34mwith[m Ada[31m.[mStrings[31m.[mFixed[31m;[m
[01;34mwith[m Gnat[31m.[mOs_Lib[31m;[m
[01;34mwith[m Text_Io[31m;[m

[01;34mwith[m Ada[31m.[mCharacters[31m.[mHandling[31m;[m
[01;34mwith[m Gnat[31m.[mSemaphores[31m;[m
[01;34mwith[m Ada[31m.[mCalendar[31m;[m
[01;34mwith[m Ada[31m.[mCalendar[31m.[mFormatting[31m;[m

[01;34mwith[m Gnat[31m.[mDirectory_Operations[31m;[m
[01;34mwith[m Ada[31m.[mWide_Characters[31m.[mHandling[31m;[m
[01;34muse[m Ada[31m.[mWide_Characters[31m.[mHandling[31m;[m


[01;34mprocedure[m Aish [01;34mis[m
   
   
   [01;34mfunction[m [01;30mSystem[m[31m([mCmd [31m:[m [01;34min[m [32mString[m[31m)[m [01;34mreturn[m [32mInteger[m[31m;[m
   [01;34mpragma[m [01;30mImport[m [31m([mC[31m,[m System[31m,[m [31m"system"[m[31m);[m
   
   
   
   [01;34muse[m Ada[31m.[mStrings[31m.[mFixed[31m;[m
   [01;34muse[m Gnat[31m.[mOs_Lib[31m;[m
   [01;34muse[m Text_Io[31m;[m
   [01;34muse[m Gnat[31m.[mSemaphores[31m;[m
   [01;34muse[m Ada[31m.[mCalendar[31m;[m
   [01;34muse[m Ada[31m.[mStrings[31m;[m
   [01;34muse[m Ada[31m.[mCharacters[31m;[m
   [01;34muse[m Gnat[31m.[mDirectory_Operations[31m;[m
   [01;34muse[m Ada[31m.[mWide_Characters[31m.[mHandling[31m;[m
   
   
   [01;34mpackage[m W_Io [01;34mrenames[m Ada[31m.[mWide_Text_Io[31m;[m
   
      
   [01;34mtype[m Terminal_Type[31m;[m
   [01;34mtask[m [01;34mtype[m [01;30mTerminal_Process[m [31m([mTerminal [31m:[m [01;34maccess[m Terminal_Type[31m)[m [01;34mis[m
      [01;34mentry[m Halt[31m;[m
      [01;34mentry[m [01;30mReceive[m [31m([mWchar [31m:[m [01;34min[m Wide_Character[31m);[m
      [01;34mentry[m Refresh[31m;[m
      [01;34mentry[m Page_Down[31m;[m
      [01;34mentry[m Page_Up[31m;[m
      [01;34mentry[m Up_Arrow[31m;[m
      [01;34mentry[m Down_Arrow[31m;[m
      [01;34mentry[m Left_Arrow[31m;[m
      [01;34mentry[m Right_Arrow[31m;[m
      [01;34mentry[m Full_Screen[31m;[m
      [01;34mentry[m Del[31m;[m
      [01;34mentry[m Begin_Of[31m;[m
      [01;34mentry[m End_Of[31m;[m
      [01;34mentry[m Overwrite[31m;[m
      [01;34mentry[m Screen_Print[31m;[m
   [01;34mend[m Terminal_Process[31m;[m
   
   [01;34mtype[m Terminal_Type [01;34mis[m [01;34mlimited[m
     [01;34mrecord[m
	Term_Name [31m:[m Term_Enum [31m:=[m None[31m;[m
	Proc      [31m:[m [01;30mTerminal_Process[m[31m([mTerminal_Type'[01;34mAccess[m[31m);[m
	Old_Pwd   [31m:[m String_Access[31m;[m
     [01;34mend[m [01;34mrecord[m[31m;[m
      
   
   
   [01;34mtask[m [01;34mbody[m Terminal_Process [01;34mis[m
      
      Lock [31m:[m [01;30mBinary_Semaphore[m[31m([mTrue[31m,[m Default_Ceiling[31m);[m
      
      Text [31m:[m Wide_String_Access [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([m[31m""[m[31m);[m
      Old_Length    [31m:[m Natural [31m:=[m [35m0[m[31m;[m [31m-- save text'length[m
      Old_Total_Length    [31m:[m Natural [31m:=[m [35m0[m[31m;[m [31m-- save total_type'image(total_sum)'length[m
      
      
      [01;34msubtype[m Cpu_String [01;34mis[m [32mString[m [31m([m[35m1[m[31m..[m[35m6[m[31m);[m
      Success [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      
      Cpu_Lock [31m:[m [01;30mBinary_Semaphore[m[31m([mTrue[31m,[m Default_Ceiling[31m);[m
      
      
   
      [01;34mtask[m CPU_Process [01;34mis[m
	 [01;34mentry[m Initialize[31m;[m
	 [01;34mentry[m [01;30mCpu_Get[m[31m([mCPU_Usage [31m:[m [01;34mout[m CPU_String[31m);[m
	 [01;34mentry[m Halt[31m;[m
      [01;34mend[m CPU_Process[31m;[m
      
      [01;34mtask[m [01;34mbody[m CPU_Process [01;34mis[m
	 Home_Dir [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [01;30mGetenv[m[31m([m[31m"HOME"[m[31m).[m[01;34mall[m[31m;[m
	 Cpu_Cmd [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [31m"sh -c """[m [31m&[m Home_dir [31m&[m [31m"/bin/cpu > "[m [31m&[m [01;30mGetenv[m[31m([m[31m"HOME"[m[31m).[m[01;34mall[m [31m&[m [31m"/.cpu_usage.txt"""[m [31m&[m [32mCharacter[m'[01;30mVal[m[31m([m[35m0[m[31m);[m
	 Cpu_File [31m:[m Text_Io[31m.[mFile_Type[31m;[m
	 Cpu_Error [31m:[m [32mInteger[m [31m:=[m [35m0[m[31m;[m
	 Cpu [31m:[m Cpu_String [31m:=[m [31m([m[01;34mothers[m [31m=>[m [31m' '[m[31m);[m
	 Success  [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      [01;34mbegin[m
	 [01;34mloop[m
	    [01;34mselect[m
	       [01;34maccept[m Initialize [01;34mdo[m
		  Cpu_Lock[31m.[mSeize[31m;[m
		  Cpu_Error [31m:=[m [01;30mSystem[m[31m([mCpu_Cmd[31m);[m
		  
		  [01;34mif[m [01;30mIs_Regular_File[m[31m([mHome_dir [31m&[m [31m"/.cpu_usage.txt"[m[31m)[m [01;34mthen[m
		     Cpu [31m:=[m [31m([m[01;34mothers[m [31m=>[m [31m' '[m[31m);[m
		     
		     Text_Io[31m.[m[01;30mOpen[m[31m([mCpu_File[31m,[m Text_Io[31m.[mIn_File[31m,[m Home_dir [31m&[m [31m"/.cpu_usage.txt"[m[31m);[m
		     [01;34mdeclare[m
			Line [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [01;30mGet_Line[m[31m([mCpu_File[31m);[m
			Pos  [31m:[m Natural [31m:=[m Line[31m'Length + ((Cpu_String'[mLength[31m-[m[35m1[m[31m)[m [31m-[m Line'Length[31m)[m [31m;[m
		     [01;34mbegin[m
			
			[01;34mfor[m I [01;34min[m [01;34mreverse[m Line'[01;34mRange[m [01;34mloop[m
			   [01;30mCpu[m[31m([mPos[31m)[m [31m:=[m [01;30mLine[m[31m([mI[31m);[m
			   Pos [31m:=[m Pos [31m-[m [35m1[m[31m;[m
			[01;34mend[m [01;34mloop[m[31m;[m
			[01;30mCpu[m[31m([mCpu[31m'Length) := '[m[31m%[m'[31m;[m
		     [01;34mend[m[31m;[m
		     
		     Text_Io[31m.[m[01;30mClose[m[31m([mCpu_File[31m);[m
		     
		     [01;30mDelete_File[m[31m([mHome_dir [31m&[m [31m"/.cpu_usage.txt"[m[31m,[m Success[31m);[m
		     
		  [01;34mend[m [01;34mif[m[31m;[m
		  
		  Cpu_Lock[31m.[mRelease[31m;[m
	       [01;34mend[m Initialize[31m;[m
	    [01;34mor[m
	       [01;34maccept[m [01;30mCpu_Get[m[31m([mCPU_Usage [31m:[m [01;34mout[m CPU_String[31m)[m [01;34mdo[m
		  CPU_Usage [31m:=[m Cpu[31m;[m
	       [01;34mend[m Cpu_Get[31m;[m
	    [01;34mor[m
	       [01;34maccept[m Halt[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mend[m [01;34mselect[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
      [01;34mend[m CPU_Process[31m;[m

      
      
      [01;34mtask[m Screen [01;34mis[m
	 [01;34mentry[m Refresh[31m;[m
	 [01;34mentry[m Halt[31m;[m
      [01;34mend[m Screen[31m;[m
      
      [01;34mtask[m [01;34mbody[m Screen [01;34mis[m
	 Prompt [31m:[m String_Access[31m;[m
	 Cpu    [31m:[m Cpu_String [31m:=[m [31m([m[01;34mothers[m [31m=>[m [31m' '[m[31m);[m
      [01;34mbegin[m

	 [01;34mloop[m
	    
	    [01;34mselect[m
	       [01;34maccept[m Halt[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mor[m
	       [01;34maccept[m Refresh [01;34mdo[m
		  Lock[31m.[mSeize[31m;[m
		  [01;30mFree[m[31m([mPrompt[31m);[m
		  
		  Cpu_Process[31m.[mInitialize[31m;[m
		  
		  Cpu_Process[31m.[m[01;30mCpu_Get[m[31m([mCpu[31m);[m
		  
		  
		  
		  [31m--Prompt := new String ' (Term_Enum'Image(Terminal.Term_Name) & ": " & Formatting.Image(Clock)(12..Formatting.Image(Clock)'Length) & ":" & Total_Type'Image(Total_Sum)  & "$ ");[m
		  Prompt [31m:=[m [01;34mnew[m [32mString[m [31m' (Term_Enum'[m[01;30mImage[m[31m([mTerminal[31m.[mTerm_Name[31m)[m [31m&[m [31m':'[m [31m&[m cpu [31m&[m [31m": "[m [31m&[m Formatting[31m.[m[01;30mImage[m[31m([mClock[31m)([m[35m12[m[31m..[mFormatting[31m.[m[01;30mImage[m[31m([mClock[31m)[m[31m'Length) & ":" & Total_Type'[m[01;30mImage[m[31m([mTotal_Sum[31m)[m  [31m&[m [31m"$ "[m[31m);[m
		  [01;34mif[m Text [31m/=[m [01;34mnull[m [01;34mthen[m		     
		     
		     Text_Io[31m.[m[01;30mPut[m[31m([m[32mCharacter[m'[01;30mVal[m [31m([m[35m13[m[31m)[m [31m&[m Prompt[31m.[m[01;34mall[m[31m);[m
		     [01;30mPut[m[31m(([mOld_Length[31m+[mOld_Total_Length[31m+[mCpu[31m'length) * '[m '[31m);[m
		     Text_Io[31m.[m[01;30mPut[m[31m([m[32mCharacter[m'[01;30mVal[m [31m([m[35m13[m[31m)[m [31m&[m Prompt[31m.[m[01;34mall[m[31m);[m
		     W_Io[31m.[m[01;30mPut[m[31m([mText[31m.[m[01;34mall[m[31m);[m
		  [01;34melse[m
		     Text_Io[31m.[m[01;30mPut[m[31m([m[32mCharacter[m'[01;30mVal[m [31m([m[35m13[m[31m)[m [31m&[m Prompt[31m.[m[01;34mall[m[31m);[m
		     [01;30mPut[m[31m(([mOld_Length[31m+[mOld_Total_Length[31m+[mCpu[31m'length) * '[m '[31m);[m
		     Text_Io[31m.[m[01;30mPut[m[31m([m[32mCharacter[m'[01;30mVal[m [31m([m[35m13[m[31m)[m [31m&[m Prompt[31m.[m[01;34mall[m[31m);[m
		  [01;34mend[m [01;34mif[m[31m;[m
		  Old_Total_Length [31m:=[m Total_Type[31m'Image(Total_Sum)'[mLength[31m;[m
		  Old_Length [31m:=[m [35m0[m[31m;[m
		  Lock[31m.[mRelease[31m;[m
	       [01;34mend[m Refresh[31m;[m	      
	    [01;34mend[m [01;34mselect[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
      [01;34mend[m Screen[31m;[m
      
      
      [01;34mtask[m Deamon [01;34mis[m
      [01;34mentry[m Halt[31m;[m
      [01;34mentry[m Lock[31m;[m
      [01;34mentry[m Unlock[31m;[m
   [01;34mend[m Deamon[31m;[m
   [01;34mtask[m [01;34mbody[m Deamon [01;34mis[m
      End_Of_Task [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
   [01;34mbegin[m
      [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
	 [01;34mloop[m
	    [01;34mselect[m
	       [01;34maccept[m Halt[31m;[m
	       End_Of_Task [31m:=[m True[31m;[m	    
	       [01;34mexit[m[31m;[m
	    [01;34mor[m
	       [01;34maccept[m Lock[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mor[m
	       [01;34maccept[m Unlock[31m;[m
	    [01;34mor[m
	       [01;34mdelay[m [35m0.5[m[31m;[m
	       screen[31m.[mRefresh[31m;[m
	    [01;34mend[m [01;34mselect[m[31m;[m	    
	 [01;34mend[m [01;34mloop[m[31m;[m
	 [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
	    [01;34mselect[m
	       [01;34maccept[m Halt[31m;[m
	       End_Of_Task [31m:=[m True[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mor[m
	       [01;34maccept[m Lock[31m;[m
	    [01;34mor[m
	       [01;34maccept[m Unlock[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mend[m [01;34mselect[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Deamon[31m;[m
   
   
   Alias_Set         [31m:[m [01;30mAttributs[m[31m([m[35m2048[m[31m);[m
   Var_Set           [31m:[m [01;30mAttributs[m[31m([m[35m2048[m[31m);[m
   Internal_Cmd [31m:[m Int_Cmd_Enum [31m:=[m None[31m;[m
   Is_Internal_Cmd [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
   Buffer [31m:[m Wide_String_Access[31m;[m
   
   Completion_Result [31m:[m Wide_Result_Access[31m;[m      
   History_Set   [31m:[m [01;30mWide_String_Set[m[31m([m[35m2048[m[31m);[m
   History_Last  [31m:[m Natural [31m:=[m [35m0[m[31m;[m
   History_Index [31m:[m Natural [31m:=[m [35m0[m[31m;[m
   
   Errno [31m:[m [32mInteger[m [31m:=[m [35m0[m[31m;[m  
   
   Arguments [31m:[m Wide_String_Access[31m;[m
   Args_Index [31m:[m Natural [31m:=[m [35m0[m[31m;[m
   
   [01;34mbegin[m
      Cpu_Process[31m.[mInitialize[31m;[m
      [01;34mloop[m
	 [01;34mselect[m
	    [01;34maccept[m Halt [01;34mdo[m
	       Cpu_Process[31m.[mHalt[31m;[m
	       Deamon[31m.[mHalt[31m;[m
	       Screen[31m.[mHalt[31m;[m
	       [01;34mend[m Halt[31m;[m
	    [01;34mexit[m[31m;[m
	 [01;34mor[m
	    [01;34maccept[m [01;30mReceive[m [31m([mWchar [31m:[m [01;34min[m Wide_Character[31m)[m [01;34mdo[m
	       
	       [01;34mif[m [01;30mIs_Control[m[31m([mWchar[31m)[m [01;34mthen[m
		     
		  [01;34mcase[m Wchar [01;34mis[m
		     [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m9[m[31m)[m [31m=>[m
			[01;34mif[m Text [31m/=[m [01;34mnull[m [01;34mand[m [01;34mthen[m
			  Text'Length [31m/=[m [35m0[m [01;34mthen[m
			   Lock[31m.[mSeize[31m;[m
			   [01;34mdeclare[m
			      Line [31m:[m [01;34mconstant[m String_Access [31m:=[m 
				[01;34mnew[m [32mString[m ' [31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m));[m
			      
			      Path_On_Line [31m:[m Wide_String_Access[31m;[m
			      buffer [31m:[m String_Access [31m:=[m [01;34mnew[m [32mString[m ' [31m([m[31m""[m[31m);[m
			   [01;34mbegin[m
			      [01;34mif[m Completion_Result [31m/=[m [01;34mnull[m [01;34mthen[m
				 [01;30mU_Array_Free[m[31m([mCompletion_Result[31m.[mWlines[31m);[m
			      [01;34mend[m [01;34mif[m[31m;[m
			      [01;30mCompletion[m[31m([mLine[31m.[m[01;34mall[m[31m,[m Path_On_Line[31m,[m Completion_Result[31m);[m				    
			      [01;34mif[m Path_On_Line [31m/=[m [01;34mnull[m [01;34mthen[m
				 Buffer [31m:=[m [01;34mnew[m [32mString[m ' [31m([mHandling[31m.[m[01;30mTo_String[m[31m([mPath_On_Line[31m.[m[01;34mall[m[31m));[m
				 [01;30mWide_Free[m[31m([mPath_On_Line[31m);[m					  
				 [01;30mWide_Free[m[31m([mText[31m);[m
				 Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mHandling[31m.[m[01;30mTo_Wide_String[m[31m([mBuffer[31m.[m[01;34mall[m[31m));[m
				 [01;30mFree[m[31m([mBuffer[31m);[m
				 [01;30mU_Array_Free[m[31m([mCompletion_Result[31m.[mWlines[31m);[m
				 [01;30mWide_Result_Free[m[31m([mCompletion_Result[31m);[m
			      [01;34melse[m
				 [01;34mfor[m I [01;34min[m Completion_Result[31m.[mWlines'[01;34mRange[m [01;34mloop[m
				    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[01;30mDelete_Local_Prefix[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m((-[mCompletion_Result[31m.[m[01;30mWlines[m[31m([mI[31m)))));[m
				 [01;34mend[m [01;34mloop[m[31m;[m
			      [01;34mend[m [01;34mif[m[31m;[m
			      
			   [01;34mend[m[31m;[m
			   Lock[31m.[mRelease[31m;[m
			[01;34mend[m [01;34mif[m[31m;[m
		     [01;34mwhen[m Wide_Character[31m'Val(10) | Wide_Character'[m[01;30mVal[m[31m([m[35m13[m[31m)[m [31m=>[m			
			[01;34mif[m Text [31m/=[m [01;34mnull[m [01;34mand[m [01;34mthen[m
			  Text'Length [31m>[m [35m0[m [01;34mthen[m
			   
			   Lock[31m.[mSeize[31m;[m
			   
			   Text_Io[31m.[mNew_Line[31m;[m
			   Deamon[31m.[mLock[31m;[m
			   
			   [01;34mif[m [01;30mText[m[31m([m[35m1[m[31m)[m [31m=[m [31m'-'[m [01;34mor[m [01;30mText[m[31m([m[35m1[m[31m)[m [31m=[m [31m'+'[m [01;34mthen[m
			      [01;34mif[m Text'Length [31m>[m [35m1[m [01;34mthen[m
				 [01;34mdeclare[m
				    Val [31m:[m Total_Type [31m:=[m [35m0.0[m[31m;[m
				 [01;34mbegin[m
				    Val [31m:=[m Total_Type'[01;30mValue[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m));[m
				    Total_Sum [31m:=[m Total_Sum [31m+[m Val[31m;[m
				    [01;30mWide_Free[m[31m([mText[31m);[m
				    Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([m[31m""[m[31m);[m

				 [01;34mexception[m
				    [01;34mwhen[m Constraint_error [31m=>[m
				       Text_Io[31m.[m[01;30mPut[m[31m([m[31m"-: error"[m[31m);[m
				       Text_Io[31m.[mNew_Line[31m;[m
				 [01;34mend[m[31m;[m
			      [01;34mend[m [01;34mif[m[31m;[m
			      
			   [01;34melse[m
			   
			   
			   
			      Internal_Cmd [31m:=[m [01;30mInternal_Cmd_Value[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m));[m
			      Is_Internal_Cmd [31m:=[m True[31m;[m
			      [01;34mcase[m Internal_Cmd [01;34mis[m
				 [01;34mwhen[m none [31m=>[m
				    Is_Internal_Cmd [31m:=[m False[31m;[m
				 [01;34mwhen[m Alias [31m=>[m
				    
				    [01;30mAlias[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Alias_Set[31m);[m
				    
				 [01;34mwhen[m Unalias [31m=>[m
				    
				    [01;30mUnalias[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Alias_Set[31m);[m
				    
				 [01;34mwhen[m Cd [31m=>[m
				    [01;34mbegin[m
				       Cpu_Lock[31m.[mseize[31m;[m
				       [01;30mChange_Directory[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Terminal[31m.[mOld_Pwd[31m);[m
				       Cpu_Lock[31m.[mRelease[31m;[m
				    [01;34mexception[m
				       [01;34mwhen[m Directory_Error [31m=>[m

					  Text_Io[31m.[m[01;30mPut[m[31m([m[31m"Directory not found"[m[31m);[m
					  Text_Io[31m.[mNew_Line[31m;[m
				    [01;34mend[m[31m;[m
				 [01;34mwhen[m Set [31m=>[m

				    [01;30mSet[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Var_Set[31m);[m
				    
				 [01;34mwhen[m Unset [31m=>[m

				    [01;30mUnset[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Var_Set[31m);[m
				    
				 [01;34mwhen[m Put [31m=>[m

				    Args_Index [31m:=[m [01;30mIndex[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m [31m" "[m[31m)+[m[35m1[m[31m;[m
				    [01;34mif[m Args_Index [31m/=[m [35m0[m [01;34mthen[m
				       Arguments [31m:=[m [01;34mnew[m [32mWide_String[m [31m' (Text(Args_Index..Text'[mLength[31m));[m
				       Shell[31m.[m[01;30mPut[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mArguments[31m.[m[01;34mall[m[31m),[m Var_Set[31m);[m
				    [01;34mend[m [01;34mif[m[31m;[m
				    Text_Io[31m.[mNew_Line[31m;[m
				 [01;34mwhen[m Put_Line [31m=>[m

				    Args_Index [31m:=[m [01;30mIndex[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m [31m" "[m[31m)+[m[35m1[m[31m;[m
				    [01;34mif[m Args_Index [31m/=[m [35m0[m [01;34mthen[m
				       Arguments [31m:=[m [01;34mnew[m [32mWide_String[m [31m' (Text(Args_Index..Text'[mlength[31m));[m
				       Shell[31m.[m[01;30mPut_Line[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mArguments[31m.[m[01;34mall[m[31m),[m Var_Set[31m);[m
				    [01;34mend[m [01;34mif[m[31m;[m
				    
			      [01;34mend[m [01;34mcase[m[31m;[m
			      
			      
			      [01;34mif[m [01;34mnot[m Is_Internal_Cmd [01;34mthen[m
				 

				 [01;34mdeclare[m
				    Alias_Ptr   [31m:[m String_Access[31m;[m
				    Buffer      [31m:[m String_Access[31m;[m
				    Normal      [31m:[m String_Access[31m;[m				 
				 [01;34mbegin[m

				    [01;34mfor[m Iter [01;34min[m [35m1[m[31m..[mAlias_Set[31m.[mIndex [01;34mloop[m
				       [01;34mdeclare[m
					  Alias [31m:[m [01;34mconstant[m Attribut_Record [31m:=[m Alias_Set[31m.[m[01;30mList[m[31m([mIter[31m);[m
					  First_Space [31m:[m Natural [31m:=[m 
					    [01;30mIndex[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m [31m" "[m[31m);[m
					  Non_Blank   [31m:[m [01;34mconstant[m Natural [31m:=[m
					    [01;30mIndex_Non_Blank[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Backward[31m);[m
				       [01;34mbegin[m	
					  [01;34mif[m Non_Blank [31m<[m First_Space [01;34mthen[m
					     First_Space [31m:=[m [35m0[m[31m;[m
					  [01;34mend[m [01;34mif[m[31m;[m
					  [01;34mif[m First_Space [31m/=[m [35m0[m [01;34mthen[m
					     [01;34mif[m [01;30mNames[m[31m([mAlias[31m)[m [31m=[m
					       Handling[31m.[m[01;30mTo_String[m[31m([m[01;30mText[m[31m([mText'First[31m..[mFirst_Space [31m-[m [35m1[m[31m))[m [01;34mthen[m
						Alias_Ptr [31m:=[m [01;34mnew[m [32mString[m ' [31m([m[01;30mImages[m[31m([mAlias[31m));[m
						[01;34mexit[m[31m;[m
					     [01;34mend[m [01;34mif[m[31m;[m
					  [01;34melse[m
					     [01;34mif[m [01;30mNames[m[31m([mAlias[31m)[m [31m=[m Handling[31m.[m[01;30mTo_String[m[31m([m[01;30mText[m[31m([mText'First[31m..[m[01;30mIndex_Non_Blank[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m Backward[31m)))[m [01;34mthen[m
						Alias_Ptr [31m:=[m [01;34mnew[m [32mString[m ' [31m([m[01;30mImages[m[31m([mAlias[31m));[m
						[01;34mexit[m[31m;[m
					     [01;34mend[m [01;34mif[m[31m;[m
					  [01;34mend[m [01;34mif[m[31m;[m
				       [01;34mend[m[31m;[m
				    [01;34mend[m [01;34mloop[m[31m;[m

				    [01;34mif[m Alias_Ptr [31m/=[m [01;34mnull[m [01;34mthen[m
				       [01;34mdeclare[m
					  First_Space [31m:[m [01;34mconstant[m Natural [31m:=[m 
					    [01;30mIndex[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m),[m [31m" "[m[31m);[m
				       [01;34mbegin[m

					  [01;34mif[m First_Space [31m/=[m [35m0[m [01;34mthen[m
					     Buffer [31m:=[m [01;34mnew[m [32mString[m ' 
					       [31m([mAlias_Ptr[31m.[m[01;34mall[m [31m&[m [31m' '[m [31m&[m Handling[31m.[m[01;30mTo_String[m[31m([m[01;30mText[m[31m([mFirst_Space[31m+[m[35m1[m[31m..[mText ' Last[31m)));[m

					  [01;34melse[m
					     Buffer [31m:=[m [01;34mnew[m [32mString[m ' [31m([mAlias_Ptr[31m.[m[01;34mall[m[31m);[m
					  [01;34mend[m [01;34mif[m[31m;[m
				       [01;34mend[m[31m;[m
				       [01;30mWide_Free[m[31m([mText[31m);[m

				       Normal [31m:=[m [01;34mnew[m [32mString[m ' [31m([m[01;30mNormalize_Quoted_Argument[m[31m([mBuffer[31m.[m[01;34mall[m[31m));[m
				       Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mHandling[31m.[m[01;30mTo_Wide_String[m[31m([mNormal[31m.[m[01;34mall[m[31m));[m
				       
				    [01;34mend[m [01;34mif[m[31m;[m
				 [01;34mend[m[31m;[m
				 
				 
				 
				 [01;34mif[m [01;30mLocate_Exec_On_path[m[31m([m[01;30mCommand_Name[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m)))[m [31m/=[m [01;34mnull[m [01;34mthen[m
				    
				    
				    [01;34mif[m [01;30mCommand_Name[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m))[m[31m'Length = Text'[mLength [01;34mthen[m
				       
				       [01;34mdeclare[m
					  
					  Args [31m:[m [01;34mconstant[m Argument_List_Access [31m:=[m Argument_String_To_List
					    [31m([m
					     [31m"-c "[m [31m&[m
					       [01;30mLocate_Exec_On_path[m[31m([m[01;30mCommand_Name[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m))).[m[01;34mall[m[31m);[m
				       [01;34mbegin[m
					  [01;34mif[m [01;30mLocate_Exec_On_path[m[31m([m[01;30mCommand_Name[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m))).[m[01;34mall[m'Length [31m/=[m [35m0[m [01;34mthen[m
					     Errno [31m:=[m [01;30mSpawn[m[31m([m[31m"/usr/bin/sh"[m[31m,[m Args[31m.[m[01;34mall[m[31m);[m
					  [01;34mend[m [01;34mif[m[31m;[m
				       [01;34mend[m[31m;[m
				       
				    [01;34melse[m
				       
				       [01;34mdeclare[m
					  
					  Args [31m:[m [01;34mconstant[m Argument_List_Access [31m:=[m [01;34mnew[m Argument_List [31m' (new String '[m [31m([m[31m"-c"[m[31m),[m 
											      [01;34mnew[m [32mString[m ' [31m([m[01;30mLocate_Exec_On_path[m[31m([m[01;30mCommand_Name[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m))).[m[01;34mall[m [31m&[m [31m" "[m [31m&[m 
													      Handling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m)([m[01;30mCommand_Name[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mText[31m.[m[01;34mall[m[31m))[m[31m'Length+2..Text'[mLast[31m)[m
													   [31m)[m
											     [31m);[m
					  
				       [01;34mbegin[m
					  [01;30mNormalize_Arguments[m[31m([mArgs[31m.[m[01;34mall[m[31m);[m
					  Errno [31m:=[m [01;30mSpawn[m[31m([m[31m"/usr/bin/sh"[m[31m,[m Args[31m.[m[01;34mall[m[31m);[m
				       [01;34mend[m[31m;[m
				       
				       
				    [01;34mend[m [01;34mif[m[31m;[m
				 [01;34melse[m
				    New_Line[31m;[m
				    Text_Io[31m.[m[01;30mPut[m[31m([m[31m"Command not found"[m[31m);[m
				    Text_Io[31m.[mNew_Line[31m;[m
				 [01;34mend[m [01;34mif[m[31m;[m
			      [01;34mend[m [01;34mif[m[31m;[m
			      [01;34mif[m Errno [31m/=[m [35m0[m [01;34mthen[m	    
				 Text_Io[31m.[m[01;30mPut[m[31m([m[31m"Error: errno = "[m [31m&[m [32mInteger[m'[01;30mImage[m[31m([mErrno[31m));[m
			      [01;34mend[m [01;34mif[m[31m;[m
			      Old_Length [31m:=[m Text'Length[31m;[m
			      [01;30mAdd_Line[m[31m([mHistory_Set[31m,[m History_Last[31m,[m Text[31m.[m[01;34mall[m[31m);[m
			      History_Index [31m:=[m [35m0[m[31m;[m
			      [01;30mWide_Free[m[31m([mText[31m);[m
			      Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([m[31m""[m[31m);[m			   
			   [01;34mend[m [01;34mif[m[31m;[m
			   Deamon[31m.[mUnlock[31m;[m
			   Lock[31m.[mRelease[31m;[m
			   
			[01;34mend[m [01;34mif[m[31m;[m
		     [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m12[m[31m)[m [31m=>[m
			Errno [31m:=[m [01;30mSystem[m[31m([m[31m"clear"[m [31m&[m [32mCharacter[m'[01;30mVal[m[31m([m[35m0[m[31m));[m
			Screen[31m.[mRefresh[31m;[m
		     [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m127[m[31m)[m [31m=>[m
			Old_Length [31m:=[m Text'Length[31m;[m
			Screen[31m.[mRefresh[31m;[m
			Buffer [31m:=[m [01;34mnew[m [32mWide_String[m [31m' (Text.all(Text'[mFirst[31m..[mText'Last[31m-[m[35m1[m[31m));[m
			[01;30mWide_Free[m[31m([mText[31m);[m
			Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mBuffer[31m.[m[01;34mall[m[31m);[m
			[01;30mWide_Free[m[31m([mBuffer[31m);[m			
		     [01;34mwhen[m [01;34mothers[m [31m=>[m
			[01;34mnull[m[31m;[m
		  [01;34mend[m [01;34mcase[m[31m;[m
	       [01;34melse[m
		  Lock[31m.[mSeize[31m;[m
		  Buffer [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mText[31m.[m[01;34mall[m [31m&[m Wchar[31m);[m
		  [01;30mWide_Free[m[31m([mText[31m);[m
		  Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mbuffer[31m.[m[01;34mall[m[31m);[m
		  [01;30mWide_Free[m[31m([mBuffer[31m);[m
		  Old_Length [31m:=[m Text'Length[31m;[m
		  Lock[31m.[mRelease[31m;[m
	       [01;34mend[m [01;34mif[m[31m;[m
	       
	    [01;34mend[m Receive[31m;[m
	    Screen[31m.[mRefresh[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Refresh[31m;[m
	    Screen[31m.[mRefresh[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Page_Down[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Page_Up[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Up_Arrow [01;34mdo[m
	       
	       [01;34mif[m [31m([mHistory_Last [31m>[m [35m0[m[31m)[m [01;34mand[m [01;34mthen[m
		 [31m([mHistory_Last [31m-[m History_Index[31m)[m [31m>[m [35m0[m [01;34mthen[m		  
		  Old_Length [31m:=[m Text'Length[31m;[m
		  Screen[31m.[mRefresh[31m;[m
		  [01;30mWide_Free[m[31m([mText[31m);[m		  
		  Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mHistory_Set[31m.[m[01;30mLines[m[31m([mHistory_Last [31m-[m [31m([mHistory_Index[31m)).[m[01;34mall[m[31m);[m
		  History_Index [31m:=[m History_Index [31m+[m [35m1[m[31m;[m		  
		  Screen[31m.[mRefresh[31m;[m
	       [01;34melse[m
		  Text_Io[31m.[m[01;30mPut[m[31m([m[32mCharacter[m'[01;30mVal[m[31m([m[35m7[m[31m));[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m up_arrow[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Down_Arrow [01;34mdo[m
	       
	       [01;34mif[m [31m([mHistory_Index [31m>[m [35m1[m[31m)[m [01;34mthen[m		  
		  Old_Length [31m:=[m Text'Length[31m;[m
		  [01;30mWide_Free[m[31m([mText[31m);[m
		  
		  Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([mHistory_Set[31m.[m[01;30mLines[m[31m([mHistory_Last [31m-[m [31m([mHistory_Index [31m-[m [35m2[m[31m)).[m[01;34mall[m[31m);[m
		  
		  History_Index [31m:=[m History_Index [31m-[m [35m1[m[31m;[m
		  Screen[31m.[mRefresh[31m;[m
	       [01;34melsif[m History_Index [31m=[m [35m1[m [01;34mthen[m
		  Old_Length [31m:=[m Text'Length[31m;[m
		  [01;30mWide_Free[m[31m([mText[31m);[m		  
		  Text [31m:=[m [01;34mnew[m [32mWide_String[m ' [31m([m[31m""[m[31m);[m
		  
		  History_Index [31m:=[m History_Index [31m-[m [35m1[m[31m;[m
		  Screen[31m.[mRefresh[31m;[m
	       [01;34melse[m
		  Text_Io[31m.[m[01;30mPut[m[31m([m[32mCharacter[m'[01;30mVal[m[31m([m[35m7[m[31m));[m
	       [01;34mend[m [01;34mif[m[31m;[m
	    [01;34mend[m Down_Arrow[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Left_Arrow[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Right_Arrow[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Full_Screen[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Del[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Begin_Of[31m;[m
	 [01;34mor[m
	    [01;34maccept[m End_Of[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Overwrite[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Screen_Print[31m;[m
	 [01;34mend[m [01;34mselect[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
      
   [01;34mend[m Terminal_Process[31m;[m
   
   
   
   [01;34mprocedure[m [01;30mTerm_Init[m [31m([mTerminal [31m:[m [01;34min[m [01;34mout[m Terminal_Type[31m)[m [01;34mis[m
      Env [31m:[m [01;34mconstant[m String_Access [31m:=[m [01;30mGetenv[m[31m([m[31m"TERM"[m[31m);[m
   [01;34mbegin[m
      
      Terminal[31m.[mTerm_Name [31m:=[m Term_Enum'[01;30mValue[m[31m([mEnv[31m.[m[01;34mall[m[31m);[m
      Terminal[31m.[mOld_Pwd [31m:=[m [01;34mnew[m [32mString[m ' [31m([m[31m""[m[31m);[m
   [01;34mexception[m
      [01;34mwhen[m Constraint_Error [31m=>[m
	 Terminal[31m.[mTerm_Name [31m:=[m None[31m;[m
   [01;34mend[m Term_Init[31m;[m
   
   Terminal [31m:[m Terminal_Type[31m;[m

   Errno [31m:[m [32mInteger[m [31m:=[m [35m0[m[31m;[m
   
   Interf [31m:[m Interface_Record[31m;[m
   
[01;34mbegin[m
   [01;30mTerm_Init[m[31m([mTerminal[31m);[m
   Interfaces[31m.[m[01;30mInitialize[m[31m([mInterf[31m);[m
   [01;34mdeclare[m
      Help_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Help[31m);[m
      Version_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Ai[31m.[mVersion[31m);[m
      Term_Name_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Term_Name[31m);[m
      Initialize_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Initialize[31m);[m
      Add_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Add[31m);[m
      Remove_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Remove[31m);[m
      Total_Parameter [31m:[m [01;34mconstant[m Parameters[31m.[mParameter_Record [31m:=[m
	[01;30mGet_Parameter[m[31m([mInterf[31m,[m Total[31m);[m
   [01;34mbegin[m
      
      [01;34mif[m Help_Parameter[31m.[mIs_Setted [01;34mthen[m
	 Interfaces[31m.[m[01;30mParameters_Descriptions[m[31m([mInterf[31m);[m
	 Terminal[31m.[mProc[31m.[mHalt[31m;[m
	 [01;34mreturn[m[31m;[m
      [01;34melse[m
	 [01;34mif[m Version_Parameter[31m.[mIs_Setted [01;34mthen[m
	    Text_Io[31m.[m[01;30mPut_Line[m[31m([m[01;30mTo_String[m[31m([mVersions[31m.[mVersion[31m));[m
	    Terminal[31m.[mProc[31m.[mHalt[31m;[m
	    [01;34mreturn[m[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m	    
      [01;34mend[m [01;34mif[m[31m;[m
      [31m--Interfaces.Print_Parameters(Interf);[m
      [01;34mif[m Term_Name_Parameter[31m.[mIs_Setted [01;34mthen[m
	 [01;34mbegin[m
	    Terminal[31m.[mTerm_Name [31m:=[m Term_Enum'[01;30mValue[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mTerm_Name_Parameter[31m.[mValue[31m.[m[01;34mall[m[31m));[m
	 [01;34mexception[m
	    [01;34mwhen[m Constraint_Error [31m=>[m
	       Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Uncknow terminal name : "[m [31m&[m Handling[31m.[m[01;30mTo_String[m[31m([mTerm_Name_Parameter[31m.[mValue[31m.[m[01;34mall[m[31m));[m
	       Terminal[31m.[mProc[31m.[mHalt[31m;[m
	       [01;34mreturn[m[31m;[m
	 [01;34mend[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
      [01;34mif[m Initialize_Parameter[31m.[mIs_Setted [01;34mthen[m
	 Total_Sum [31m:=[m Total_Type'[01;30mValue[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mInitialize_Parameter[31m.[mValue[31m.[m[01;34mall[m[31m));[m
	 Terminal[31m.[mProc[31m.[mHalt[31m;[m
	 [01;34mreturn[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
      
      [01;34mif[m Add_Parameter[31m.[mIs_Setted [01;34mthen[m
	 Total_Sum [31m:=[m Total_Sum [31m+[m Total_Type'[01;30mValue[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mAdd_Parameter[31m.[mValue[31m.[m[01;34mall[m[31m));[m
	 Terminal[31m.[mProc[31m.[mHalt[31m;[m
	 [01;34mreturn[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
      
      [01;34mif[m Remove_Parameter[31m.[mIs_Setted [01;34mthen[m
	 Total_Sum [31m:=[m Total_Sum [31m+[m Total_Type'[01;30mValue[m[31m([mHandling[31m.[m[01;30mTo_String[m[31m([mRemove_Parameter[31m.[mValue[31m.[m[01;34mall[m[31m));[m
	 Terminal[31m.[mProc[31m.[mHalt[31m;[m
	 [01;34mreturn[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
      
      [01;34mif[m Total_Parameter[31m.[mIs_Setted [01;34mthen[m
	 [01;30mPut_Line[m[31m([mTotal_Type'[01;30mImage[m[31m([mTotal_Sum[31m));[m
	 Terminal[31m.[mProc[31m.[mHalt[31m;[m
	 [01;34mreturn[m[31m;[m
      [01;34mend[m [01;34mif[m[31m;[m
      
      
   [01;34mend[m[31m;[m
      
   
   [01;30mPut_Line[m[31m([m[31m"Greetings "[m [31m&[m [01;30mGetenv[m[31m([m[31m"USER"[m[31m).[m[01;34mall[m [31m&[m [31m"!"[m[31m);[m   
   
   [01;34mloop[m
      Terminal[31m.[mProc[31m.[mRefresh[31m;[m
      [01;34mdeclare[m
	 Wchar [31m:[m Wide_Character [31m:=[m [31m' '[m[31m;[m
      [01;34mbegin[m
	 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
	 [01;34mcase[m Terminal[31m.[mTerm_Name [01;34mis[m
	    [01;34mwhen[m Linux [31m=>[m
	       [01;34mcase[m Wchar [01;34mis[m
		  [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m27[m[31m)[m [31m=>[m
		     [31m--Terminal.Proc.Set_On_Esc(True);[m
		     
		     W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
		     
		     [01;34mcase[m Wchar [01;34mis[m
			[01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m27[m[31m)[m [31m=>[m                             
			   
			   Terminal[31m.[mProc[31m.[mHalt[31m;[m
			   [01;34mexit[m[31m;[m
			   
			   
			   [31m--  if Center.Full_Screen then[m
			   [31m--     Terminal.Proc.Reset;[m
			   [31m--  else                               [m
			   [31m--  case Center.Current_Mode is                                                            [m
			   [31m--  	 when Devel_Mode..Help_Mode =>[m
			   [31m--  	    Terminal.Proc.Reset;[m
			   [31m--  	 when Null_Mode =>[m
			   
			   [31m--  	    Terminal.Proc.Lock;[m
			   [31m--  	    --Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	    Terminal.Proc.Switch(Quit_Mode);                               [m
			   [31m--  	    End_Of_Program := True;[m
			   [31m--  	 when Auth_Mode =>[m
			   [31m--  	    if End_Of_Program then                                             [m
			   [31m--  	       Terminal.Proc.Switch(Quit_Mode);                                          [m
			   [31m--  	    else[m
			   [31m--  	       --Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	       Terminal.Proc.Switch(Quit_Mode);[m
			   [31m--  	       End_Of_Program := True;[m
			   [31m--  	    end if;[m
			   [31m--  	 when others =>[m
			   [31m--  	    if End_Of_Program then[m
			   [31m--  	       Terminal.Proc.Switch(Null_Mode);[m
			   [31m--  	       Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	       End_Of_Program := False;[m
			   
			   [31m--  	    else[m
			   [31m--  	       Terminal.Proc.Switch(Quit_mode);[m
			   [31m--  	       --Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	       End_Of_Program := True;[m
			   [31m--  	    end if;[m
			   [31m--     end case;       [m
			   
			   [31m-- end if;				 [m
			   
			[01;34mwhen[m [01;34mothers[m [31m=>[m
			   [01;34mnull[m[31m;[m
			   [31m--  case Center.Current_Mode is[m
			   [31m--     when Quit_Mode =>[m
			   [31m--  	 if End_Of_Program then         [m
			   
			   [31m--  	    Terminal.Proc.Switch(Quit_Mode);                                  [m
			   [31m--  	 end if;[m
			   [31m--     when others =>[m
			   
			   [31m--  	 Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	 End_Of_Program := False;[m
			   [31m--  end case;[m
		     [01;34mend[m [01;34mcase[m[31m;[m                     
		     
		     [01;34mcase[m Wchar [01;34mis[m
			[01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m91[m[31m)[m [31m=>[m                           
			   W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			   [31m--  case Center.Current_Mode is[m
			   [31m--     when Auth_Mode =>[m
			   [31m--  	 null;[m
			   [31m--     when others =>[m
			   [31m--Terminal.Proc.Set_On_Esc(False);[m
			   [01;34mcase[m Wchar [01;34mis[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m49[m[31m)[m [31m=>[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 [01;34mcase[m Wchar [01;34mis[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m55[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F6");[m

				       [31m--Terminal.Proc.Switch(Execut_Mode);[m
				       [31m--Center.Current_Mode := Execut_Mode;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m56[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F7");[m
					    [31m--Terminal.Proc.Switch(Shell_Mode);[m
					    [31m--Center.Current_Mode := Shell_Mode;[m
				       
				       [31m--Terminal.Proc.Switch(Execut_mode);[m
				       [31m--   Center.Current_Mode := Execut_Mode;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m57[m[31m)[m [31m=>[m
				       [31m--W_Io.Put_Line(" -- F8");[m
				       [31m--  case Center.Current_Mode is[m
				       [31m--  	when Devel_Mode =>[m
				       [31m--  	   Terminal.Proc.Multi_Switch(Devel_Mode);[m
				       [31m--  	when Multi_Mode =>[m
				       [31m--  	   Terminal.Proc.Multi_Switch(Multi_Mode);[m
				       [31m--  	when others =>[m
				       [31m--  	   null;[m
				       [31m--  end case;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m126[m[31m)[m [31m=>[m                     
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- begin");[m
				       Terminal[31m.[mProc[31m.[mBegin_Of[31m;[m
				    [01;34mwhen[m [01;34mothers[m [31m=>[m
				       [01;34mnull[m[31m;[m
				 [01;34mend[m [01;34mcase[m[31m;[m                      
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m50[m[31m)[m [31m=>[m                    
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 [01;34mcase[m Wchar [01;34mis[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m48[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F9");[m
				       [31m--Terminal.Proc.F9;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m49[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F10");[m
				       [31m--Terminal.Proc.F10;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m51[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F11");[m
				       [31m--Terminal.Proc.F11;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m52[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F12");[m
				       Terminal[31m.[mProc[31m.[mFull_Screen[31m;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m53[m[31m)[m [31m=>[m                            
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- Maj+F1");[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m54[m[31m)[m [31m=>[m                            
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- Maj+F2");[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m56[m[31m)[m [31m=>[m                            
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- Maj+F3");[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m57[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- Maj+F4");[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m126[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- insert");[m
				       Terminal[31m.[mProc[31m.[mOverwrite[31m;[m
				    [01;34mwhen[m [01;34mothers[m [31m=>[m
				       [01;34mnull[m[31m;[m
				 [01;34mend[m [01;34mcase[m[31m;[m                               
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m51[m[31m)[m [31m=>[m                    
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- del");[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 Terminal[31m.[mProc[31m.[mDel[31m;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m52[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- end");[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 Terminal[31m.[mProc[31m.[mEnd_Of[31m;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m53[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- page up");[m
				 Terminal[31m.[mProc[31m.[mPage_Up[31m;[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m54[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- page down");[m
				 Terminal[31m.[mProc[31m.[mPage_Down[31m;[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m65[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- up");[m
				 Terminal[31m.[mProc[31m.[mUp_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m66[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- down");[m
				 Terminal[31m.[mProc[31m.[mDown_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m67[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- right");[m
				 Terminal[31m.[mProc[31m.[mRight_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m68[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- left");[m
				 Terminal[31m.[mProc[31m.[mLeft_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m91[m[31m)[m [31m=>[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 [01;34mcase[m Wchar [01;34mis[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m65[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F1");[m
					    [31m--  Terminal.Proc.Switch(Dialog_Mode);[m
					    [31m--  Center.Current_Mode := Dialog_Mode;[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m66[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F2");[m
					    [31m--  Terminal.Proc.Switch(Devel_Mode);[m
					    [31m--  Center.Current_Mode := Devel_Mode;[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m67[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F3");[m
					    [31m--  Terminal.Proc.Switch(Organizer_Mode);[m
					    [31m--  Center.Current_Mode := Organizer_Mode;[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m68[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F4");[m
					    [31m--  Terminal.Proc.Switch(Multi_Mode);[m
					    [31m--  Center.Current_Mode := Multi_Mode;[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m69[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F5");[m
				       
				    [01;34mwhen[m [01;34mothers[m [31m=>[m
				       [01;34mnull[m[31m;[m
				 [01;34mend[m [01;34mcase[m[31m;[m
				 
			      [01;34mwhen[m [01;34mothers[m [31m=>[m
				 
				 [31m--Terminal.Proc.Reset;            [m
				 
				 [31m--End_Of_Program := False;[m
				 [31m--Terminal.Proc.Unlock;[m
				 Terminal[31m.[mProc[31m.[m[01;30mReceive[m[31m([mWchar[31m);[m
				 
			   [01;34mend[m [01;34mcase[m[31m;[m
			[01;34mwhen[m [01;34mothers[m [31m=>[m
			   Terminal[31m.[mProc[31m.[m[01;30mReceive[m[31m([mWchar[31m);[m
		     [01;34mend[m [01;34mcase[m[31m;[m
		     [31m--  when others =>[m
		     [31m--  	   Terminal.Proc.Set_On_Esc(False);[m
		     [31m--  	   --Terminal.Proc.Unlock; [m
		     [31m--     end case;              [m
		     
		  [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m197[m[31m)[m [31m=>[m
		     W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
		  [01;34mwhen[m [01;34mothers[m [31m=>[m                    
		     Terminal[31m.[mProc[31m.[m[01;30mReceive[m[31m([mWchar[31m);[m
	       [01;34mend[m [01;34mcase[m[31m;[m
	       
	    [01;34mwhen[m Xterm [31m=>[m
	       
	       [01;34mcase[m Wchar [01;34mis[m
		  [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m27[m[31m)[m [31m=>[m
		     [31m--Terminal.Proc.Set_On_Esc(True);		     	      [m
		     W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m			      
		     [01;34mcase[m Wchar [01;34mis[m
			[01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m27[m[31m)[m [31m=>[m                             
			   
			   Terminal[31m.[mProc[31m.[mHalt[31m;[m
			   [01;34mexit[m[31m;[m
			   
			   
			   [31m--  if Center.Full_Screen then[m
			   [31m--     Terminal.Proc.Reset;[m
			   [31m--  else                               [m
			   [31m--     case Center.Current_Mode is                                                            [m
			   [31m--  	 when Devel_Mode..Help_Mode =>[m
			   [31m--  	    Terminal.Proc.Reset;[m
			   [31m--  	 when Null_Mode =>[m
				    
			   [31m--  	    Terminal.Proc.Lock;[m
			   [31m--  	    Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	    Terminal.Proc.Switch(Quit_Mode);                               [m
			   [31m--  	    End_Of_Program := True;[m
			   [31m--  	 when Auth_Mode =>[m
			   [31m--  	    if End_Of_Program then                                             [m
			   [31m--  	       Terminal.Proc.Switch(Quit_Mode);                                          [m
			   [31m--  	    else[m
			   [31m--  	       Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	       Terminal.Proc.Switch(Quit_Mode);[m
			   [31m--  	       End_Of_Program := True;[m
			   [31m--  	    end if;[m
			   [31m--  	 when others =>[m
			   [31m--  	    if End_Of_Program then[m
			   [31m--  	       Terminal.Proc.Switch(Null_Mode);[m
			   [31m--  	       Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	       End_Of_Program := False;[m
				       
			   [31m--  	    else[m
			   [31m--  	       Terminal.Proc.Switch(Quit_mode);[m
			   [31m--  	       Terminal.Proc.Set_On_Esc(False);[m
			   [31m--  	       End_Of_Program := True;[m
			   [31m--  	    end if;[m
			   [31m--     end case;[m
			   [31m--  end if;[m
			   
			[01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m79[m[31m)[m [31m=>[m
			   W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			   [01;34mcase[m Wchar [01;34mis[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m80[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F1");[m
				 [31m--  Terminal.Proc.Switch(Dialog_Mode);[m
				 [31m--  Center.Current_Mode := Dialog_Mode;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m81[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F2");[m
				 [31m--  Terminal.Proc.Switch(Devel_Mode);[m
				 [31m--  Center.Current_Mode := Devel_Mode;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m82[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F3");[m
				 [31m--  Terminal.Proc.Switch(Organizer_Mode);[m
				 [31m--  Center.Current_Mode := Organizer_Mode;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m83[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F4");[m
				 [31m--  Terminal.Proc.Switch(Multi_Mode);[m
				 [31m--  Center.Current_Mode := Multi_Mode;				       [m
			      [01;34mwhen[m [01;34mothers[m [31m=>[m
				 [01;34mnull[m[31m;[m
			   [01;34mend[m [01;34mcase[m[31m;[m
			   
			[01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m91[m[31m)[m [31m=>[m				    
			   
			   W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			   
			   [01;34mcase[m Wchar [01;34mis[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m53[m[31m)[m [31m=>[m					  
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- page up");[m
				 Terminal[31m.[mProc[31m.[mPage_Up[31m;[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m54[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- page down");[m
				 Terminal[31m.[mProc[31m.[mPage_Down[31m;[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m65[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- up");[m
				 Terminal[31m.[mProc[31m.[mUp_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m66[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- down");[m
				 Terminal[31m.[mProc[31m.[mDown_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m67[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- right");[m
				 Terminal[31m.[mProc[31m.[mRight_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m68[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- left");[m
				 Terminal[31m.[mProc[31m.[mLeft_Arrow[31m;[m
				 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m51[m[31m)[m [31m=>[m                    
				 
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- del");[m
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 Terminal[31m.[mProc[31m.[mDel[31m;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m70[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- end");[m
				 
				 Terminal[31m.[mProc[31m.[mEnd_Of[31m;[m
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m72[m[31m)[m [31m=>[m
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- begin");[m
				 Terminal[31m.[mProc[31m.[mBegin_Of[31m;[m				       
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m49[m[31m)[m [31m=>[m
				 
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 [01;34mcase[m Wchar [01;34mis[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m53[m[31m)[m [31m=>[m
				       [31m-- F5[m
				       
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m55[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F6");[m
				       
				       [31m--  Terminal.Proc.Switch(Execut_Mode);[m
				       [31m--  Center.Current_Mode := Execut_Mode;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m56[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F7");[m
				       [31m--  Terminal.Proc.Switch(Shell_Mode);[m
				       [31m--  Center.Current_Mode := Shell_Mode;[m

				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m57[m[31m)[m [31m=>[m
				       [31m--W_Io.Put_Line(" -- F8");[m
				       [31m--  case Center.Current_Mode is[m
				       [31m--  	  when Devel_Mode =>[m
				       [31m--  	     Terminal.Proc.Multi_Switch(Devel_Mode);[m
				       [31m--  	  when Multi_Mode =>[m
				       [31m--  	     Terminal.Proc.Multi_Switch(Multi_Mode);[m
				       [31m--  	  when others =>[m
				       [31m--  	     null;[m
				       [31m--  end case;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				       
				    [01;34mwhen[m [01;34mothers[m [31m=>[m
				       [01;34mnull[m[31m;[m
				 [01;34mend[m [01;34mcase[m[31m;[m                 
			      [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m50[m[31m)[m [31m=>[m                    
				 [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- insert");[m
				 Terminal[31m.[mProc[31m.[mOverwrite[31m;[m
				 
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 [01;34mcase[m Wchar [01;34mis[m
				    
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m48[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F9");[m
				       
				       [31m--Terminal.Proc.F9;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m49[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F10");[m
				       
				       [31m--Terminal.Proc.F10;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m51[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F11");[m
				       
				       [31m--Terminal.Proc.F11;[m
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				       
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m50[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--                        inst[m
				       Terminal[31m.[mProc[31m.[mOverwrite[31m;[m
				       
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				       
				    [01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m52[m[31m)[m [31m=>[m
				       [01;34mnull[m[31m;[m[31m--  W_Io.Put_Line(" -- F12");[m
				       
				       [31m--Terminal.Proc.Full_Screen;[m
				       
				       W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				       [31m--  when Wide_Character'Val(53) =>                            [m
				       [31m--     null;--  W_Io.Put_Line(" -- Maj+F1");[m
				       [31m--     W_Io.Get_Immediate(Wchar);[m
				       [31m--  when Wide_Character'Val(54) =>                            [m
				       [31m--     null;--  W_Io.Put_Line(" -- Maj+F2");[m
				       [31m--     W_Io.Get_Immediate(Wchar);[m
				       [31m--  when Wide_Character'Val(56) =>                            [m
				       [31m--     null;--  W_Io.Put_Line(" -- Maj+F3");[m
				       [31m--     W_Io.Get_Immediate(Wchar);[m
				       [31m--  when Wide_Character'Val(57) =>[m
				       [31m--     null;--  W_Io.Put_Line(" -- Maj+F4");[m
				       [31m--     W_Io.Get_Immediate(Wchar);							 [m
				    [01;34mwhen[m [01;34mothers[m [31m=>[m
				       [01;34mnull[m[31m;[m
				 [01;34mend[m [01;34mcase[m[31m;[m
				 
			      [01;34mwhen[m [01;34mothers[m [31m=>[m	
				 
				 W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
				 [31m--End_Of_Program := False;[m
				 
			   [01;34mend[m [01;34mcase[m[31m;[m
			   
			   
			[01;34mwhen[m Wide_Character'[01;30mVal[m[31m([m[35m197[m[31m)[m [31m=>[m
			   W_Io[31m.[m[01;30mGet_Immediate[m[31m([mWchar[31m);[m
			[01;34mwhen[m [01;34mothers[m [31m=>[m
			   [01;34mnull[m[31m;[m
		     [01;34mend[m [01;34mcase[m[31m;[m
		     
		  [01;34mwhen[m [01;34mothers[m [31m=>[m
		     
		     Terminal[31m.[mProc[31m.[m[01;30mReceive[m[31m([mWchar[31m);[m
		     
	       [01;34mend[m [01;34mcase[m[31m;[m

	    [01;34mwhen[m [01;34mothers[m [31m=>[m
	       [01;34mnull[m[31m;[m
	 [01;34mend[m [01;34mcase[m[31m;[m
      [01;34mend[m[31m;[m
      
   [01;34mend[m [01;34mloop[m[31m;[m

[01;34mexception[m
   [01;34mwhen[m End_Error [31m=>[m
      
      Terminal[31m.[mProc[31m.[mHalt[31m;[m

      
[01;34mend[m Aish [31m;[m 
