CWS_CHATV1.0 4-NOV-2021 11:21 VSI C V7.4-002  $READONLY$i$CODE$  UNUSEDTIMEOUT. $LITERAL$$LINK$  CONNECTEDCOUNT0CONNECTEDCOUNT0  UNUSEDTIMEOUT  USAGECOUNT0 USAGECOUNT  CURRENTTIME0 CURRENTTIME  CURRENTBINTIME0CURRENTBINTIME SERVERNAME0 SERVERNAME0J ADDCLIENT0J@ ECHOCHAT0J HTMLESCAPE0J@ NEXTREQUEST0JREMOTEHOSTNAME0J@ REMOVECLIENT0J` UPDATECLIENT(J MAIN(J__MAIN @6= =#G8^~ _#0"@^4GHcGG#]("8[@b "G@Zkxb#@BG4Gb/@ZkcG8]@]HP#/k///# ;"P;"~^G@{"0[^~ GGA8b@Zk "BG4Gb/@ZkpBGxb@Zk6 B4Gb"/@ZkB 4Gb@Zk/`BGhb/@Zk//b///B4Gb"@ZkBG4Gb@ZkGb#0@4@ӰBGb/@ZkB4G4Gb@Zk/ B "TGBb2"/@Zk`B4G4Ghb@Zk//`#~^^GG{#00 B04G @GbG]] #k/P#h[&`; H^~4Gs"P^X~`hp޴x>^~GG'#p xB@2.2J}h"b}=/ ///@ZkBGTGbh@ZkB4Gt ?"TGb@ZkGXb#G@B#"]"GbG0JF=G"/@ZkxxTG"Bb10B " G/@Zk(BG4G0bp /@Zk/BGTGb@ZkBp 4Gb@ZkDG""@HB"GPbp //@ZkBC """tGbG@ZkHBp  ="G"GPb@Zk(B4G"0b@Zk/ ///(B4G0b"0@@Zk//41@XB"b""BF5BbhB""p"~FGH"y"09"G/@ZkH=  @(B4G0b"@ZkHBM4GPb@ZkD?}@p" ""Fb"0@""XB4G`bGF0@3FGSFG G GG@ZkB@ GGGGtGb@ZkXBG4G`b/@ZkB@ `A@GGtGb@Zk,XBaHG`b4G@H D<@ZkBG@ @AGGtGb@@Zk- HI=%.TG H}"r%H@HBGPbQ%J2F%>A`p H]!H="2 @"@ZkBGp#"p 8bGb/@Zkh 0`AhGH]P]X}`hpݤx=]}#k/BG8"""tGb@ZkBGb@ZkB4Gb/@ZkB8"""tGtGb/@ZkBD4Gb@ZkB8" _"""tGb@ZkB"4Gb@Zk//#4G~^P[^~ GGXb/@ZkGp xb#G@G0Bb4G8b/@Zk 1@G]]} 0#/k///#4G~^0[^~ (GGG8b@Zk// GG(b]GG]}tG (0#k/BG4Gb@Zk "p GB0`#o #yC0 @ 1GR0`FQBG @/J`p.JCD;//.sJ D! `GUJ{#yCF>.J! CsJD&[.R[JSF[>.J{#yC! CrJG/,@HD{#yC<a.aJ! C`{JF .PJF>A.AJC{#yCTG,@HGGX^`~hpGG G@p0,qP/0HZ PKG":D[bD@Zk/ ///B4Gb"0@@Zk(B(BH"5@"GG0DG0bGG2"C@ZkBG4G", !b@Zka/? B4G@bM /@Zke@G0@ "qFpFrtISuJtFWBr.P@"WJ>e@0 "8"#`#:!B9FyG G GG4Gb@ZkHBG  AGGtGPb G@Zk ,BaHGb4G@ H)!D <@ZkHBG  A AGGtGPb@0@@Zk ,B"4Gb@ H <@Zk /0B e@TG B"P@! l!G@Zk ,-I+I ,= e@.TGJ!w*HVJB #0@G"bF>*/Y8K*?p G/@ZkE//pàGp"b#GD /S@(B0c""8""GCGG0b@Zk((B0c""C0bGG'"@Zk /(b(B0c""C0bGG+"@ZkB G4G" b@Zk/BGGGGb/@ZkB4G"b@ZkG]] }(08ݤ@HP=X]`}hp#k/r0IFtFrE//#GG~^^~ (0 =GP.PJE@//,p @G"`F @s""@HHDDDFF.JVJDJFGpB*@FFs"D @TFS.SJ"RTJGJFGFGpBGFDFs"F @D,H"@HHAFDGpB .Ds"DVF @JFD_ pBB1" aB1@q Dp D/UJW@B@/.TJ>pBt;&t;$Z@""&l"&g /.S"TJJDFGFGF/////@! 5@@!/A. HY !KxHRAJ"GXF!?A>5â1@3@S.!/SJY!KbAJ"G!?+//! 5@yJ/$/A. JX KRAJGYF?A>/! %["6@/@ .$/A,JXKF.#8KCJKxKHFdHXDFDD>ALb# DECC$MAIN4=`@d DECC$MAIN4lG DECC$EXIT4xb# DECC$EXIT4@ DECC$EXIT47G DECC$FREOPEN48b#  DECC$FREOPEN47@ DECC$FREOPEN<3GWSLIBSETLIFESECS<4b# WSLIBSETLIFESECS<3@WSLIBSETLIFESECS4;G$WSLIBISCGIPLUS4<b# WSLIBISCGIPLUS4; @$WSLIBISCGIPLUS4 ,GD DECC$GETENV4 4b#  DECC$GETENV4 @@D DECC$GETENV<1DG\WSLIBONNEXTREQUEST<2Pb# WSLIBONNEXTREQUEST<1X@\WSLIBONNEXTREQUEST49`Gt SYS$HIBER4:hb#  SYS$HIBER49p@t SYS$HIBER4G WSLIBCGIVAR4b#  WSLIBCGIVAR4@ WSLIBCGIVAR45G SYS$SETAST46b#  SYS$SETAST45@ SYS$SETAST4/GWSLIBCGIPLUSEOF40b# WSLIBCGIPLUSEOF4/@WSLIBCGIPLUSEOF45G SYS$SETAST46b#  SYS$SETAST45@ SYS$SETAST4- G$DECC$GXFPRINTF4.b# DECC$GXFPRINTF4- @$DECC$GXFPRINTF4$G8 DECC$EXIT40b#  DECC$EXIT44@8 DECC$EXIT4/xGWSLIBCGIPLUSEOF40b#WSLIBCGIPLUSEOF4/WSLIBCGIPLUSEOF4GD WSLIBCGIVAR4b# WSLIBCGIVAR4@@D WSLIBCGIVAR4DG\ DECC$STRCPY4Pb# DECC$STRCPY4X@\ DECC$STRCPY4%\Gt DECC$CALLOC 4&lb# DECC$CALLOC4%p@t DECC$CALLOC,GSYS$FAO,b#SYS$FAO,@SYS$FAO4)G WSLIBCREATE4*b# WSLIBCREATE4)@ WSLIBCREATE4G( DECC$FREE4b# DECC$FREE4$@( DECC$FREE<+0GHWSLIBSETIDLESECS<,@b#WSLIBSETIDLESECS<+D@HWSLIBSETIDLESECS4 HG\ WSLIBOPEN4Tb# WSLIBOPEN4 X@\ WSLIBOPEN4pG WSLIBWRITE4 |b# WSLIBWRITE4@ WSLIBWRITE4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4G WSLIBWRITE4 b# WSLIBWRITE4@ WSLIBWRITE4G WSLIBNEXT4b# WSLIBNEXT4@ WSLIBNEXT4G WSLIBNEXT4b# WSLIBNEXT4@ WSLIBNEXT44GtDECC$GXSPRINTF4@b#DECC$GXSPRINTF4p@tDECC$GXSPRINTF4G WSLIBNEXT4b# WSLIBNEXT4@ WSLIBNEXT<GWSLIBGETUSERDATA<b#WSLIBGETUSERDATA<@WSLIBGETUSERDATA4!G DECC$STRLEN4"b# DECC$STRLEN4!@ DECC$STRLEN4G, DECC$MEMCPY4$b# DECC$MEMCPY4(@, DECC$MEMCPY4!,GD DECC$STRLEN4"8b# DECC$STRLEN4!@@D DECC$STRLEN4DGh DECC$MEMCPY4`b# DECC$MEMCPY4d@h DECC$MEMCPY4!lG DECC$STRLEN4"xb# DECC$STRLEN4!@ DECC$STRLEN4G DECC$MEMCPY4b# DECC$MEMCPY4@ DECC$MEMCPY4G WSLIBWRITE4 b# WSLIBWRITE4@ WSLIBWRITE4'GD WSLIBREAD4(8b# WSLIBREAD4'@@D WSLIBREAD4G DECC$GXPRINTF4b# DECC$GXPRINTF4@ DECC$GXPRINTFD#GCMA$TIS_VMSERRNO_GET_ADDRD$b#CMA$TIS_VMSERRNO_GET_ADDRD#@CMA$TIS_VMSERRNO_GET_ADDR4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$GXPRINTF4b# DECC$GXPRINTF4@ DECC$GXPRINTF 4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G$ DECC$GXPRINTF4b# DECC$GXPRINTF4 @$ DECC$GXPRINTF4$G8 DECC$EXIT40b# DECC$EXIT44@8 DECC$EXIT<PGtWSLIBGETUSERDATA<hb#WSLIBGETUSERDATA<p@tWSLIBGETUSERDATA4G DECC$FREE4b# DECC$FREE4@ DECC$FREE4CG WSLIBREADSTATUS4D b#`WSLIBREADSTATUS4C @ WSLIBREADSTATUS4A$ G\ WSLIBCLOSE4B0 b#` WSLIBCLOSE4AX \ WSLIBCLOSE<` Gt WSLIBGETUSERDATA<l b#`WSLIBGETUSERDATA<p @t WSLIBGETUSERDATA4' G4 WSLIBREAD4( b#` WSLIBREAD4'0 4 WSLIBREAD4 G WSLIBNEXT4 b# WSLIBNEXT4 @ WSLIBNEXT4 G WSLIBNEXT4 b# WSLIBNEXT4 @ WSLIBNEXT4 G8 DECC$GXSPRINTF4 b#DECC$GXSPRINTF44 @8 DECC$GXSPRINTF48 GX WSLIBNEXT4P b# WSLIBNEXT4T @X WSLIBNEXT<d G WSLIBGETUSERDATA<t b#WSLIBGETUSERDATA< @ WSLIBGETUSERDATA4! G DECC$STRLEN4" b# DECC$STRLEN4! @ DECC$STRLEN4 G, DECC$MEMCPY4 b# DECC$MEMCPY4( @, DECC$MEMCPY4!0 GX DECC$STRLEN4"< b# DECC$STRLEN4!T @X DECC$STRLEN4X G DECC$MEMCPY4t b# DECC$MEMCPY4 @ DECC$MEMCPY4 G WSLIBNEXT4 b# WSLIBNEXT4 @ WSLIBNEXT4? G OTS$MOVE4? @ OTS$MOVE4 G4 WSLIBWRITE4  b# WSLIBWRITE40@4 WSLIBWRITE4dGDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4G WSLIBNEXT4b# WSLIBNEXT4@ WSLIBNEXT4G4 WSLIBWRITE4 (b# WSLIBWRITE40@4 WSLIBWRITE 44GH WSLIBNEXT4@b# WSLIBNEXT4D@H WSLIBNEXT4G WSLIBCGIVAR4b# WSLIBCGIVAR4@ WSLIBCGIVAR4G DECC$STRCPY4b# DECC$STRCPY4@ DECC$STRCPY4G WSLIBCGIVAR4b# WSLIBCGIVAR4@ WSLIBCGIVAR4 G DECC$STRCMP4 b# DECC$STRCMP4 @ DECC$STRCMP4 G4 DECC$GETENV4 (b# DECC$GETENV4 0@4 DECC$GETENV44GLDECC$INET_ADDR4Db#DECC$INET_ADDR4H@LDECC$INET_ADDR<\GtDECC$GETHOSTBYADDR<lb#DECC$GETHOSTBYADDR<p@tDECC$GETHOSTBYADDR4G DECC$STRCPY4b# DECC$STRCPY4@ DECC$STRCPY $= , = WS_CHAT_NO_LOOKUP= WS_CHAT AXP-1.2.00=`S WASD@%s %s;  %d other participant%s%s=(WS_CHAT_ON_NEXT_REQUEST=xkStatus: 500 WebSocket needs to be CGIplus! %u %s@%s [disconnected]%u %s@%s [joining]=%u %d participant%s =0 ;=0$  WSLIBCGIVAR DECC$STRCPY;= REMOTE_ADDRX= REMOTE_HOSTpDECC$INET_ADDR DECC$GETHOSTBYADDR DECC$STRCMP DECC$GETENV WSLIBOPEN=you=%u; DECC$FREE`; WSLIBGETUSERDATA=.= !20%DSERVER_NAME ;0SYS$FAODECC$GXSPRINTF=(null)` DECC$MEMCPY DECC$GXPRINTF DECC$EXIT= WS_CHAT7CONNECTEDCOUNT=0H ;= P  WSLIBNEXT= [%s:%d] WSLIBWRITE! DECC$STRLEN7 SERVERNAME= 7 USAGECOUNT7 CURRENTTIME(#CMA$TIS_VMSERRNO_GET_ADDR% DECC$CALLOC= ;  `=sp' WSLIBREAD=, ) WSLIBCREATE +WSLIBSETIDLESECS=OnNext-DECC$GXFPRINTF /WSLIBCGIPLUSEOF 1WSLIBONNEXTREQUEST= SYS$OUTPUT 3WSLIBSETLIFESECS5 SYS$SETAST=0";=04 7DECC$GA_STDOUTP7 DECC$FREOPEN= ctx=binp=w9 SYS$HIBER;WSLIBISCGIPLUS;=08";=P0 7DECC$$SHELL_HANDLER== DECC$MAIN=0";= @,< &=0 @ ;=(H [overflow]H8OTS$MOVE= %u %s@%s %s`=0 ;=0( A WSLIBCLOSE CWSLIBREADSTATUS=0 @;=0$ =0 @;=  ==-%$WS_CHATVSI C V7.4-002 ?=  4=TRANSFER$BREAK$GO = 4 4= main4=skj $D $D $D ,D 7D  AD ED 3D =  = @44= NextRequest@4=5-, `D YD `D dD dD = ` = 44= AddClient4=} lD tD lD tD lD lD lD lD uD tD tD D D D D D D D D D D D D D Dy D D D D D D D D  D D D@ D8 =  = @44= RemoveClient@4=;32 D D D D, =  %= 4`4= UpdateClient4= D  D  D  D D D D D D D D D2 D D D D = ` = @ 44=EchoChat@ 4= E E E* E  E E E E  E E  E E E (E (E E  E  ,E ,E 1E 4E 9E >E >E BE$ BED 'E = p = 44= HtmlEscape4=XP ME  ME  ]E [E _E [E ]E _E [E [E _E [E ]E _E [E [E _E [E ]E _E [E [E [E [E dE hE lED pE nE0 pE lE lE 4 iE =  = 44=RemoteHostName4=RJI E  E  E  E E E E E = 4 s= 44= __main4= $D =  =  DECC$GA_STDOUTDECC$GXFPRINTF DECC$GXPRINTFDECC$GXSPRINTF DECC$FREOPEN DECC$FREE DECC$EXIT DECC$GETENV DECC$CALLOC DECC$MEMCPY DECC$STRCPY DECC$STRCMP DECC$STRLEN(CMA$TIS_VMSERRNO_GET_ADDR DECC$GETHOSTBYADDR WSLIBCREATE WSLIBNEXT WSLIBGETUSERDATA WSLIBOPEN WSLIBCLOSE WSLIBREADWSLIBREADSTATUS WSLIBWRITE WSLIBSETIDLESECS WSLIBSETLIFESECS WSLIBCGIVARWSLIBCGIPLUSEOFWSLIBISCGIPLUS WSLIBONNEXTREQUEST SYS$HIBER SYS$SETASTSYS$FAODECC$INET_ADDR DECC$MAIN DECC$$SHELL_HANDLEROTS$MOVE "C$GA