Trailing-Edge
-
PDP-10 Archives
-
BB-H137D-BM
-
uetp/lib/sender.exe
There are 20 other files named sender.exe in the archive. Click here to see a list.
?p0` 00@?h'?x "
<++%2 `~~`QP'% ,^,l, $,c+: 0",Q4@ H .(,m4\"s,\,~ H`f55@@)@@(@@)@@*,}4@
B& " $&,44@ B) $,A B( $4,}4@c B' " $',64@ B) $,A B* $4' (,8O@*+ * $\&+,(+,}4@5\$!"4;XB
W
W <4A
W\$ 3 &@ (4G $@/\" 3,4+mZ
W + @@
W+ J $\&K,(+ $ B
+\"3 $@\&O,($" \"3,4+ "0,m4S+O@ ,,,96B,m4V+ " U$@@+ + \"X,\+\"H,\+ )6@,;@@)+ X B
\"Y $,>,4,^4,1+,>,>,>,>,>,>b B4,,
X B
,m4c\" 3 $(,4 c $D f &@+ + $@/\" 3,4 V
+!$5 "s6@*,m4S+1+,,>,>,>,>,>,>,>k B D F,4@p,>:\ @4v,^+@@
w*& F.,m4x,m4{,m4~\"},>&\(
,G,^&"t\(
,G * "
BB. " $-,%5@
+F1B
+F1B+F,4=j?+E1+J,>,>,>,>, &$ D &$ D~ F~,m4
+1+T,>,>,>,>Q",m4\"3X$Q$S&}@+ + "3,m4+,m4",~,m4S,~
"Q@@*"!" B0 % B0\"& B0\"& B0,~
"Q@@*"!"B0%B0\"&B0\"'B0,~7@*5@$'5@@5su@X.p/12(384H5X6(`(H6@H:@H<((H= @H@(`(HB @HD @@(HF
********************************************************************
SENDER Program
FUNCTION THIS PROGRAM IS MEANT TO BE USED BY THE BATCH
TEST CREATOR FOR UETP COMMUNICATION. ALL EVENT AND
ERROR CONDITIONS OCCURING IN THE BATCH TEST CAN BE RELAYED
TO THE UETP VIA THIS PROGRAM. THERE IS NO OTHER WAY
TO COMMUNICATE WITH THE UETP.
COMMANDS
a. Commands which qualify the messages to be sent.
1. TEST NAME <text>
The first 10 characters of <text> go into the
test name field of all messages to be sent until
the next "TEST NAME" command.
2. BLABEL <text>
The first 10 characters of <text> go into the
batch test label field of all messages to be sent
until the next "BLABEL" command.
3. / MAJOR \
/ MINOR \
TYPE (OF MESSAGE) \ END /
\ ERROR /
\ START /
A code corresponding to message type will be
placed into the message type field of all
messages sent until the next "TYPE" command is
given. The message types are:
MAJOR major run milestone
MINOR minor run milestone
ERROR errors
END end of run (a major milestone message)
START start of run (a major milestone message)
b. Commands which relate to the message text.
1. EXTRACT (MESSAGES FROM) <file-spec>
This tells "SENDER" that the messages are to come from
the named file. These messages will be placed in the
ninth (text) position of message records. The first
eight field being filled in by SENDER.
Each message sent will also be written to the terminal
assigned to the job, so that in normal usage, running
under a batch control file, the messages will show up in
the test log file.
All the messages in the file will be sent in this
manner. When "SENDER" reaches "end of file" it will
return to the user terminal (batch control file) to
accept more commands.
2. SEND (MESSAGE TO UETP) <text><carraige return>
The contents of <text> will be used for a message which
will be sent immediately, along with any qualifying
information provided via the commands a.1 through a.6.
The time stamp will be taken from the current monitor
time and will be labeled "origination time stamp" ("O"
in position 19).
3. EXIT (TO MONITOR)
This command terminates the execution of SENDER.
RESTRICTIONS
The general conventions for running batch jobs are intended to
guarantee communication with the Command Processor at the
beginning and end of each batch run. To accomplish this goal
each batch job should run the SENDER program at the beginning
and end of each batch run.
SENDER gives the batch run creator
the ability to communicate with UETP which records all
information in the error and event logs. This recording is
essential to the sucess of UETP. If all batch runs follow the
recording conventions then their flow and status can be
monitored and reported promptly and accurately.
The basic conventions are quite simple. The first step in any
batch control statement will be an execution of SENDER. The
information sent must identify the sender and give the start
time. The last logical step must have two components. first, a
%ERR:: execution of SENDER which traps unknown errors and
informs UETP. Second, a SENDER run informing UETP that this
is a succesfull end of this run. An example may clarify the
convention:
@RUN SENDER
SENDER> TYPE (OF MESSAGE) START
SENDER> TEST NAME COBOL2
SENDER> SEND BEGINNING COBOL2 RUN
SENDER> EXIT
.
. ACTUAL BATCH RUN
.
@GOTO NOERR
; We execute here if there was an unexpected error
%ERR::@CHKPNT
PRINT COBOL2.LOG
@RUN SENDER
SENDER>TYPE ERROR
SENDER>BLABEL %ERR
SEBDER>TEST NAME COBOL2
SENDER>SEND UNKNOWN ERROR IN COBOL2 RUN
SENDER>TYPE MINOR
SENDER>EXTRACT COBOL2.LOG
SENDER>EXIT
;We always pass through this next section
NOERR::@RUN SENDER
SENDER> TYPE END
SENDER>TEST NAME COBOL2
SENDER> SEND END OF COBOL2 RUN
SENDER> EXIT
%FIN::;In case of disatorous errors
@CHKPNT
@PRINT COBOL2.LOG
The basic philosophy of the convention is to guarantee that some
message gets back to UETP about the ending status of this run.
If the run ends with no errors then that fact will be conveyed.
However, if any unexpected errors occur then UETP will still
receive information about the end of the test.
HINTS
EXAMPLES
:x,~\" U Y\"0 [J4_ * ` B(@@(\"(\$0@@4f " $+,%4@n,'4@vZ
`F`,4 ( B
X B-+@
UETP- t sv03,
@@*+:
HsPJ0 Improper field (input file) in TAKE command\",Q+
?Cannot open TAKE command file
,\"Could not set file byte size for TAKE input file\",Q ),;+
?Cannot open output file for TAKE command
\",\ ),;+Could not set file byte size for TAKE output file\"",Q ),; ),;+H
?Error in BLABEL command (from SENDER)
?Error when trying to parse filespec in EXTRACT command\"/,\,[+Error opening file for EXTRACT command\"7,Q+?ERROR IN OPEN FOR EXTRACT (FROM SENDER)\"=,+?ERROR IN SIN IN EXTRACT (FROM SENDER)
W
`d+s\"C,+H
?ERROR IN TEST NAME COMMAND (FROM SENDER)?Error in SEND command (from SENDER)0
ERROR?SENDER started illegally. BATCH control error1:},^,^,^,^,^,~^H 30@@1:},^,^,^,^,^,^,~f
?Error parsing TEXT field of current command\"k,\,[+ERROR WITH SOUT JSYS AT STTXT:\"r,+A
H
0H
r{H
{Can't send message to UETP because 0{g:(gtI91:~,^,^,^,~:H t
t ~
t ~1:~,^,^,^,~
?SENDER error: 0
?Jsys error message: 0
?GALAXY error: 0{?{UETPCMDLOGTake command illegal within a take file..command ignoredBLABEL
XzEXIT|EXTRACTAKE
8TESTXTYPEcurrent label of BATCH control fileto MONITORmessages fromfile to extract messages fromwith SENDERmessage to the UETPcommands from filefile to take commands fromlogging output onfile to log output inname of testof messageEND LOG MAJORMINORSTARTxUnexpected error in GETJI at GPID:\"V,Q,@Unexpected error in NOUT at GPID:\"[,Q,)`Error in SOUT Jsys attempting to write UETP's PID\"a,Q,Unable to send message to INFO becase g0{g9kgtI9,4mFailure in receiving INFO message: o0{g9sgtI9,4uCan't get UETP's PID (probably not running in this directory) w00 z~gtI9++++++++ +
++
+++++++ + +
+
+++
+
+++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B +C +D!+E!+F"+G"+H#+I#+J$+K$+L%+M%+N&+O&+P'+Q'+R(+S(+T)+U)+V*+W*+X++Y++Z,+[,+\-+]-+^.+.+`/+a/+b0+c0+d1+e1+f2+g2+h3+i3+j4+k4+l5+m5+n6+o6+p7+q7+r8+s8+t9+u9+v:+w:+x;+y;+z<+{<+|=+}=+~>+>+?+?+@+@+A+A+B+B+C+ C+
D+D+
E+F+F+G+G+H+H+I+I+J+J+K+K+L+L+M+M+N+N+ O+!O+"P+#P+$Q+%Q+&R+'R+(S+)S+*T++T+,U+-U+.V+/V+0W+1W+2X+3X+4Y+5Y+6Z+7Z+8[+9[+:\+;\+<]+=]+>^+?^+@+A+B`+C`+Da+Eayz,>,>,a5@X,[6@+X@@.B.$6 +V,^,^Q",57@.+] Q,f5@a R,f5@a\"z<+`,~ 4BQ"4dadg\ ,~ "B,> Q"A` 4@k@+i @5@l!" +xlQ" @4x "BZd (D{ DTD&,^B \ +y ,^,~DSK:SYS:? GLXINI - Unable to obtain run-time system
+eHFGLXLIB.EXEHx@@,7@5!$Z"(D ",ZZ.RX"W BO@[[." D5O@!\"K B#\") B$ B$ " Ba " Bb " B"@@% "@ B%\"i B& "@ B& ") B'@@\ "" BX@@X@@Y Z: BY,~,0B0b+OO@"4"$@@"SX$Z*$Z0B+P7@!,,,-7B[ "K,9 Z: DY7@"6@!56@+R5,,4@6@1,6ZY $ B "",' F4@jSX(X*(W`f+af+=[,64@j df+T " $X,5@,6@5,* 56&Y0f,4Z ^ BZ " $X,IZY,=4@F " $X, 4@N Y XZY,25@L0F1F7+SZ Z`4BS:XBY+,!(bH_+R7@ $[!(GH_ B 5BH_+ ^A"
^6@(+[ B(Q&A`X&)Z^:Q(A`B5BYZ" A"QB( ^A$/"QC^!"@cB_+`!"GB( " B(@*_6@l" B J!"BB",S\") B$ "@ B% ") B " $56@!+u7@b+o,y4@o,{5@p+q,* 5,+s, $_5!"GB_O@` $b5`f+o!"@GB_ $fO@`5[#
ad55 `,;4@ a0B,;4@5 " Ba " Bb@@@@b!"BB_,~!"BB"`f+6!"GB_O@` $i D],S
^6@[+6B\+
,J\+\6@`+!&A`X&> FW &} FW,m4n $>@*l" B D J ") B " $@@`5? W5BW5@@!7@b7B\+& s F#Q(A`X()@@3Bs+,,>
4L"L9
L J! J%\") B$ B$,~!&6@bGF_SaXb F#6@,~@@%\") B$,~,A
+#7J[+2 J^[(: F(.&( F^,~6J\+8,b B^ & F.& F^ &XF,~ J^@@\,~,> D# D@6@9; F5RhdidQ$A`X,~ " 4z " 4z
<&G,7B+E@B5TgT\[\xmmxxp
^\"
`Z$*^Z`/"QB 0XB |@@)*"0 0 +,~ XI^ (QI^:^ I^:^Z I^:^,~ XG^ &QG^:^,~ ^.(Q(A` 2F$+t@
+w
3F$+wJ+tJ+| ^.(Q(A`S&A`X&i
J5JzZ( /^QI^ XI^*^,~ XI^ (QI^:^ I^:^,~Zaf+x\^." (,4Z$
/^QE^ XE^*
^5Z ,>* ^.(Q(A`5z5x ^ .& F^,~,O!"@BB_ |@@)*"0 Z:&0F+,2:XBY+,ZY B,94@$ " $X, 5@$7@ $!(GH_ B 5 Z5B5
Z( (,=ab+4Z(/&SfX&:*&= ":,-!&BFS;X&2Z ;0h,4*& 2 &2 F;
(Z(/
(02 &20O@1,~@@10[ ? 5.0d2d,4QF4F>Q$*$'@@ 5!"GB:+=Z#1F ,m4+B ^ >Z
0J+l F^.& Q&A` F F/^.( $( H # F!& F & F@@ & F ",44@m!"bB5T!"bB5`5n@"$ $/$```BB "?/% B%\") B$ B$ "@ B%!"GB_Z#1F ,m4!5@b $ B ^:,m4% "BZ." /^QE^ $XE^*^ $XE^ $QE^:^5 $(5 $,5X#1F ,m45+`B5 @H8t@@(H:x~ `|z'8<'P>(@@5 |@@)*"0!" B) s B*\"> B+\"? B,\"@ B*,~7@b,~ " $@5O@b!&BF_6@GF_
^ 0."0,^,l4@0B5,}4@ ,h5@,4@,h4@!"GB_ @@,@4@5,o4@0B+O@50B+@@5 $E+ $G+ $K+ $N+ @@b@@5 @HR#( (HR& @HW((*
^ 0."0,^,l4@60B56,y4@6
1b7`57,+ 7` "0b "$"t;+ 5 $X5 $Z5,,
!"
Bu\"v {
4 4 "u@@5@, B~ D} "C B " $~,44@ B`O@b $,A4@ Bal" +Z a `+Z7 Ba7`}+` " B~ " $},64@[ Ba $,A4@[ Bbl" +Y b b+Y7 Bb ` a5 b,; "*`,; `@@`@@a@@b5 B@@5 57B5 B5 @[.@5 Z5c Z5,g0B55c,g0B55c,g0B5 5c,g0B5 5c,g0B55n,g0B55n,g0B55n,g0B55n,g0B1B
755c,g0B5+,g0B5+,g0B5 [5c,g0B5 [5c,g0B 55,g0B5 abp5cQ&A`X& c@@4B1b=1"07/"/"`hpB+ 5c,g0B55
,y4@
,4@,y4@ 5 " 5,g0B5[ 5c,g0B5[ 5c,g0B5[ 5c,g0B 5[ 5c,g0B
5[ 5c!"@GB_5/"7@,4hZ[3D5./5,-4@1d56B55,-4@1d56B55,-4@1d56B55,-4@1d56B556@b5 ,+4@,l ,92B+J6@+J &@ F%@B%\") B$ ", C57@5,L5, .$Z D!"X"Z)4Q5,m4l57D5!"X"Z)4V@@5,6@+e7@,~7@,~@@ ,+7@,~O@S"X/!"X"=!"X"l&>[# $&,~@@ "0,l &@ F% B%\") B$ ,+ ", CO@,~Q$A`X$)@@4F9n,^51+t,>,>,>,>,>,>s,@@@p@@p BphdidQ$A` Dp "C Bp " $p,44@s BpO@,B Bp p u@0F1F+u1f+@F+6@ @F,6@@@6@,m4w6"p,;7D55 yp {@@p@@ p1Dl,1D+|1Dl, `l+,@4@0D+6@p+~,4+1D+1D +1D+`l:p,'+6@p+ $"5 $,D,m45 p m5'dll,,@4@/`l,D0D+&,@4@/`l,D0D+&dll,l,@5,%5l,1B5 $25 p m`l +
d,,@4@/D0D+6 $d,@4@/0D5\"p
\$p,)6@`bl,`bl,5 p,70D1D,~d,@,~? p+FDp,~,>,>,m4 "' Bp
Dp,^,^+DPARSER>Invalid parser block size $L5@@Z9#6$@@&Q1F,o+XFY+,INVALID FUNCTION CODE FROM COMMAND USY_C9Action routine error aborted commandError closing TAKE command fileEnd of file during TAKE commandEnd of string during incore parseInterrupt during command parse: ""0] m0i m?{Rescan JSYS failed, t0vw_C9,4y$$@E*Error releasing command file JFN $|5DEVICE DESIGNATOR CONVERSION ERROR I_C96$Error during default filling routineSHARED SWITCH TABLE SIZE OF TOO SMALL FOR TABLE OF SIZE p pgS_C9TABLE DELETE ERROR i(_C9Enter text and terminate with ^Zn n0)`q0 Bad argument in message - expected confirmError during text input% Message truncated - text exceeded buffer capacityn /r`Z /commands frominput filespecDISPLAY@p{NODISPLAY@x{SYSTEMCMDDSKTAKE command is illegal in a command fileInvalid TAKE commandNo input file specified in TAKE commandCan't open TAKE command fileInvalid argument in TAKE commandforNumber of seconds to wait between 1 and 60secondsInvalid WAIT commandWait time must be a positive number between 1 and 60 " Ba Bb+XHInvalid PDB Header in Parse Block cSCg_C9
?Timer Setup Failed for i01:},^,^,^,^,^,~o $
O@p+Hp
7@ +P%Help file "" not foundl,+`l ++,%+,.+,%+0p`%No help available for "?Error reading help file "l,5HpHp6c6`cWR[W\3WrWWW
WWWWW
WwWvOvA*WD"%WCfOn
IOmgOQiOPf^OPS@OPE=OPE6OPB:OP;:OP9MOOqh WwZsWj;$W`ZPI=Wh WWNWW;&Oq|PimOO
2OO
OO> OO#OO=ONyiONs3ONm&ONdiON`}
ON`wON_{ON@^ON@FON-mON-GON-@ON-?ON JON|ON+ONONqONMON
s
ON
]ON
VWD~wWDpWDJGWD9_WD9PHho@PHhjPHgPHgPHg
PHg
W/u[W/tWP2uW/s_W/sP2pW/rtW/rtP2n P2nPPk/PGpPGjWuQtWuPKWuPKzWLoPdP7PtW4SW0"W.IdW+|.W+|+W+e=W(Y1WPC3WPC%[_C9WPBiW1n}spW1Qt*pPPG5W1$K5@W1$D4@PP@5PKM;,~W-F6l}W+C)pW+Cp
W+ADpW+A
pW+@PpW(
~W(@uP2Z#,W'M+rpW'M+rp,V~2,V}|*,V{m7,V{m6,V%1,V%.,V$!,UDp(,UD\&,UDH#'s='R'N'L'FUqQwxL}]:L>:&V@qw6V@u%>V@u%=MVuPG@PLw7@PLp6@MPzGLMP}%QMPb9MPd%;MLF MLEt@KS:mK6
pK7EwK7EtK/>
wgK {Ku]TKjIKW\KI|K9CxK:E|K:EzPEPEM[/_:M[,/M[lu.M[k&>M[K^8L=M>@PG@De 7;L U6w_.5G5E*0A5[o55E4~:*"M4_(gM4^uLM4^EcM4^CG]F
KDU
)wvU
)woU
)vzU
)ukU
)uWU
)uRU
)u/U
)u,
v
@
2[S5UavUaUa9Ua9UUY dUXq7UXHfUX8UX/tuE"ItkGutkGstkFqtkFptkEota+^t\s,t6tVBUus~UusvUusrUus3Uuq/P
P
P P Ugd@Ud mU\f|URxUK)<UK' UI57@UH^UG?& UFc\UBc
s=:Vwy:|V~Pm&XTCf3 TCeGx8HY&>T+#R(Q)Lb(Q#,aT$9.xP
Xw5@P
Xp4@KzK
$'on
^~eJ^}/`S^~6h^\RW^\T,^\T(^\T&^\T#^\T"^\T E$qQ%E$\m"E$PH&E$>G.E$+h
E$&1E$&2E$%_'E$%\/E$%E$4E$
<E$ 6@z@z+ @z*@z*@z)@z&@z%@z%S,`>/S+@.+?.B)(Ugn(T|wB(T}&`(T}%^(T}%T(Tpe(T]q(TWe(TWe(TWd
(T0
Nt(T%e(TEn(TEm(TDl(T
K@SO.S
2~S
1gS
14
CBSPSSP/QSPwSOc\SO^ SO^@SOW[HtH %$H %Se&SBp@SB1VRd=^R^R]^O
\^Kd^O]{]{F]{F]{E
REs\!0gsq&l&z;_sCB1dRS(_* 0JSzps@P^{P^o&P^nP^l^RO
RO:RO^ROI@RO7M
*!RMqvRMq.RMo/RMoJM@:@L? lL?#nKRM;XKR.-KR1F8KR1E4KR1E2KRLaKR,`KQ~>KQ}wWKQ{sWKQjB"RK,@H&=t@JL JLRLOK!o&{KvGSHY\yRT5s+@R:eP^'R8H.@8v:)
+sU)~R.@#NiIA/u
Z
tB7^RmxxGb,rT*@0Xk@Xk9Z?f*:3*o[j+j+j*
aA>#sI["SX;X0X.
X. X-X-
G
@
?J/Q~T2O[mTzIHjbP3fWPC3S:HWPC%[O3ETWPBiPPG5W1$K5@W1$D4@PP@5PKM;,~PbbAZZFn%Tfn)yn)xn)ln)kn)i;sP`u6)n
B(.&H*[S5M
j}P
u,I
Ial$c
IaZ[
IaU-W
Ia)%Q
IZ8PS
IP%R
IP${U
IP$vT
IL.$b
ILZ
IJ5"Y
ID/&X
I@ZMV
I@IPT+#RL(KG|
1.>7
1,)O
1)<
1)7
1$C
1 53
1
1*{
1}O~
1h
10z
1O|
1oN}
1TB
1
|!4
{bB9
z2
z 3
yc5
w0
q~x<
`;
Xl(:
XI6
Wnn8P
Xw5@P
Xp4@^hO%X^hO%VK^gn|wy
h6:hb6
~e
`g}rH
@`g|hg|Zg|Yg|Yg|Rgz$sgtmKl <K1y=S,`>/
O2Bl[@P xLny7=
/G<>
/G8C
/G7;
/<B?hz46h*K8h)t:]44]LA\NK7\Mt9!'BVdESM7<
.owDQq@MN45
}*2gi+|QR_lD.HY.BaHY1%e
UQgC+
UQ#G%
UOn{#E7(
UO't&
UKM-
UE0,
UBC*
U>f$
U2GC)
U0Y'INt:B[t=%at=%],Ii`zoxWR^WR[W\3WrWWWWWWWWW
~3udSGyOOrc PI=O9RHOi),O(h,O(hO(hO(hnE%~OQVOKiO/gOXO{O/L`cuhiMKOOwON_}ONK]ON@ION?)ON36ON-ONkWDpWD9_~WePHhoPHhjPHgPHgPHg
PHg
W/u[W/tWP2uW/s_W/sP2pW/rtW/rtP2nP2n/PPk/PGpPGjWuVhWuVXWuPKWuPKuWuP6TWuP6JWuP5,WuP5WLoPdP7PtW4SW0"W.IdW+|.W+|+W+e=W(Y1WPC%[gtI9WPBiW1UK ~PPG5W1$K5@W1$D4@PP@5PKM;,~W. {~W+PP2Z#,{z3V7
z.@7
t3=xi=xig cz=w=w=w^t=zP@VVKV;/PbK=}-
0~:aC
XUqR$.@qQS(qQ;tsqQ9N3UqRX;pUqRV?UqRUl`UqRUfUqRUnK';
nJqn5@FW3
h0GG;F3;F3
e-!
c;r%c;1A(c;+,)c;z&c;@*>#9f>#9^c;n>'cPZPZPYPYe5UT9<H9sRp@,\ ERpQ8(UPK UP9@@9EI4y?VMD:K?UJuSvUJuSmUJuS/UJuRzUJuRdPEPEM[+EM[+vM[+nI c8Q5tQ+P*&1;+*[34z-xw)U
)ukU
)uWU
)u/
=w![S5%B3PWx`$c sUTuNUTmxxUTTfUTI@uADK:uC<Uus~Uus3u~h"u}C$P
P
P P Ugd@URxHUK'UG?&PD@Pm&XQut
SC?2
C>9t 3P>.@;
:
T:"zT:"hT:QIT+#R(P~s P
Xw5@P
Xp4@Sb` 3@&E+iS`'uKK`+ g`|>qPeSvSWbxSWbBSWbSWaI@0E$X,0
l
k[LK1+G\ "?CS,`>/P
XVK+mK+lu_K+l>@
Nv#
NtY#&
[SO.K5kbK "jS
2~S
1gS
14Se&SB1V Wcwm6kL
W6M\sRd=_ LR`=3
_sGR^C3
KHY4}*2'gs L_Q
u?
RO:ROI@M^$G
RMo/L>G
KRY"uKRBJKQ(TsJL=AJLzU JLmf`K!?<
#ll HX|JQD89w+R8H.@8v:s,d6 ,d
+t[~(z3g$PKPJPJMD9zY`0\B:/\>X\>5'\7N+\2g'r'I(\)8*\)7\ \ )\+,\6.\.,[rO.O[mNO[mO[m O[l|[l{&O[l+O[kO[kO[j]O[jRO[i%r%H([Z[X%[Qgr%0[Ms/[M"-[M +[L,[FG[@v*r#eOD^w'dw]!+{0