Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2916 lines (1583 sloc) 47.8 KB

Instruction Reference

This chapter contains a condensed reference to the Parrot virtual machine's native instruction set, generally called opcodes. All opcodes are valid in both PIR and PASM, and correspond to the bytecode instructions.

For complete details on each opcode and the latest changes, read the documentation in docs/ops/, or look at all the .ops files in the ops/ directory.

We've followed a few conventions. DEST is always the register where the result of the operation is stored. Sometimes the original value of DEST is one of the source values. VAL indicates that the actual value might be a literal integer, float, or string, or a register containing an integer, float, string, or PMC. See the .ops files for the combinations allowed with a particular operation.

abs

abs DEST
abs DEST, VAL

Return the absolute value of a number. If VAL is left out, DEST gets the absolute value of itself.

Arguments: IR or NR or IR, I or IR, N or NR, I or NR, N

acos

acos DEST, VAL

The arc cosine of VAL in radians.

Arguments: NR, N or NR, I

add

add DEST, VAL
add DEST, VAL, VAL

Add two values and return the sum. If only one VAL, add VAL to DEST.

Arguments: IR, I or NR, I or NR, N or P, I or P, N or P, P or IR, I, I or NR, N, I or NR, N, N or P, P, I or P, P, N or P, P, P

addattribute

addattribute CLASS, ATTR

Add the attribute name ATTR to class CLASS.

Arguments: P, S

addparent

addparent CLASS1, CLASS2

Add class CLASS2 to the list of parent classes for CLASS1.

Arguments: P, P

and

and DEST, VAL1, VAL2

Logical AND. Return VAL1 if it's false; otherwise, return VAL2.

Arguments: IR, I, I or P, P, P

asec

asec DEST, VAL

The arc secant of VAL in radians.

Arguments: NR, I or NR, N

asin

asin DEST, VAL

The arc sine of VAL in radians.

Arguments: NR, I or NR, N

assign

assign DEST, VAL

Assign a value to a PMC.

Arguments: SR, S or P, I or P, N or P, S or P, P

atan

atan DEST, VAL
atan DEST, VAL1, VAL2

The arc tangent of VAL1 / VAL2 in radians (sign significant). If VAL2 is omitted, then just the arc tangent of VAL.

Arguments: NR, I or NR, N or NR, I, I or NR, I, N or NR, N, I or NR, N, N

band

band DEST, VAL
band DEST, VAL, VAL

Bitwise AND on two values. If only one VAL, bitwise AND on DEST and VAL.

Arguments: IR, I or P, I or P, P or IR, I, I or P, P, I or P, P, P

bands

bands DEST, VAL
bands DEST, VAL, VAL

Bitwise AND on two strings. If only one VAL, bitwise AND on DEST and VAL.

Arguments: SR, S or P, S or P, P or SR, S, S or P, P, S or P, P, P

bnot

bnot DEST, VAL

Bitwise NOT on VAL.

Arguments: IR, I or P, P

bnots

bnots DEST, VAL

Bitwise NOT on string VAL.

Arguments: SR, S or P, P

bor

bor DEST, VAL, VAL

Bitwise OR on two values. If only one VAL, bitwise OR on DEST and VAL.

Arguments: IR, I or P, I or P, P or IR, I, I or P, P, I or P, P, P

bors

bors DEST, VAL, VAL

Bitwise OR on two strings. If only one VAL, bitwise OR on DEST and VAL.

Arguments: SR, S or P, S or P, P or SR, S, S or P, P, S or P, P, P

bounds

bounds INT

Toggle bytecode bounds checking in the interpreter (0 for off, any other value for on).

Arguments: I

branch

branch LABEL

Branch to a label. The label is calculated as a relative offset.

Arguments: I

bxor

bxor DEST, VAL
bxor DEST, VAL, VAL

Bitwise XOR on two values. If only one VAL, bitwise XOR on DEST and VAL.

Arguments: IR, I or P, I or P, P or IR, I, I or P, P, I or P, P, P

bxors

bxors DEST, VAL
bxors DEST, VAL, VAL

Bitwise XOR on two strings. If only one VAL, bitwise XOR on DEST and VAL.

Arguments: SR, S or P, S or P, P or SR, S, S or P, P, S or P, P, P

callmethod

callmethod
callmethod METHODNAME

Call the method named METHODNAME on the object stored in P2 according to the Parrot Calling Conventions. If no method name, pull the name from S0.

Arguments: S

callmethodcc

callmethodcc
callmethodcc METHODNAME

Call the method named METHODNAME on the object stored in P2 according to the Parrot Calling Conventions. If no method name, pull the name from S0. Also create a return continuation and store it in P1.

Arguments: S

can

can DEST, OBJECT, METHODNAME

Return a true value if OBJECT can do the METHODNAME method, otherwise return a false value.

Arguments: IR, P, S

ceil

ceil DEST
ceil DEST, VAL

Set DEST to the smallest integral value less than or equal to VAL (if present) or itself (if not).

Arguments: NR or IR, N or NR, N

checkevents

checkevents

Check the interpreter's task queue for unhandled events and run the associated event handlers.

chopn

chopn DEST, VAL1
chopn DEST, VAL1, VAL2

Remove VAL2 number of characters from string VAL1. If no VAL2, remove VAL number of characters from string DEST.

Arguments: SR, I or SR, S, I

chr

chr DEST, INT

Return the character represented by the given number.

Arguments: SR, I

class

class CLASS, OBJECT

Return the CLASS of the given OBJECT.

Arguments: P, P

clear_eh

clear_eh

Clear the most recent exception handler.

See also: set_eh, throw.

clearX

cleari
clearn
clearp
clears

Clear all registers of the given type ("i" = integer, "n" = float, "p" = PMC, "s" = string). Integer and float registers clear to zero; string and PMC registers clear to NULL.

clone

clone DEST, VAL

Clone (deep copy) a string or PMC and return the result.

Arguments: SR, S or P, P

close

close DEST

Close the filehandle in the given register.

Arguments: P

cmod

cmod DEST, VAL1, VAL2

C's built-in mod operator.

See also mod.

Arguments: IR, I, I or NR, N, N or P, P, I or P, P, N or P, P, P

cmp

cmp DEST, VAL1, VAL2

Set DEST to 1 if VAL1 is greater then VAL2, to -1 if it's less then VAL2 or to zero if both are equal. If VAL1 and VAL2 are both PMCs, then the type of comparison depends on VAL1.

Arguments: IR, I, I or IR, N, N or IR, S, S or IR, P, I or IR, P, N IR, P, S or IR, P, P

cmp_num

cmp_num DEST, VAL1, VAL2

Like cmp, but forces numeric comparison.

Arguments: IR, P, P

cmp_str

cmp_str DEST, VAL1, VAL2

Like cmp, but forces string comparison.

Arguments: IR, P, P

cmp_pmc

cmp_pmc DEST, VAL1, VAL2

Like cmp, but places a PMC in DEST. This opcode is useful for avoiding semipredicate problems in HLLs where two PMCs are not always comparable.

Arguments: P, P, P

collect

collect

Trigger a garbage collection (GC) run.

collectoff

collectoff

Disable garbage collection runs (nestable).

collecton

collecton

Re-enable garbage collection runs.

compile

compile DEST, COMPILER, SOURCE

Compile a string of source code with a given compiler PMC and store the result.

Arguments: P, P, S

compreg

compreg DEST, TYPE

Return a compiler PMC for a particular type of source code.

Arguments: P, S

compreg TYPE, SUB

Register SUB as a compiler for language TYPE.

Arguments: S, P

concat

concat DEST, VAL
concat DEST, VAL, VAL

Concatenate two strings. If only one VAL, concatenate VAL onto DEST.

Arguments: SR, S or SR, S, S or P, P, S or P, P, P

cos

cos DEST, VAL

The cosine of VAL in radians.

Arguments: NR, I or NR, N

cosh

cosh DEST, VAL

The hyperbolic cosine of VAL in radians.

Arguments: NR, I or NR, N

debug

debug FLAG

Toggle debugging in the interpreter (0 for off, any other value for on).

Arguments: I

dec

dec DEST

Decrement a value by 1.

Arguments: I or N or P

decodelocaltime

decodelocaltime DEST, VAL

Set DEST to a new array which represents the decoded time of the given epoch-seconds value shifted to local time.

Arguments: P, I

decodetime

decodetime DEST, VAL

Set DEST to a new array which represents the decoded time of the given epoch-seconds value.

Arguments: P, I

defined

defined DEST, PMC
defined DEST, PMC[KEY]

Test a keyed PMC value for definedness. If no KEY, test a PMC for definedness.

Arguments: IR, P

delete

delete DEST[KEY]

Delete a keyed value from an aggregate PMC.

Arguments: P

delprop

delprop PMC, NAME

Delete a named property from a PMC.

Arguments: P, S

See also: setprop and getprop.

deref

deref DEST, REF

Set DEST to the PMC that REF refers to.

Arguments: P, P

die_hard

die_hard LEVEL, ERROR

Die at a given level of severity, and with the given error code.

Arguments: I, I

See also: exit.

div

div DEST, VAL
div DEST, VAL1, VAL2

Divide VAL1 by VAL2. If VAL2 is left out, divide DEST by VAL.

Arguments: IR, I or NR, I or NR, N or P, I or P, N or P, P or IR, I, I or NR, N, I or NR, N, N or P, P, I or P, P, N or P, P, P

dlfunc

dlfunc DEST, LIBRARY, SYMBOL, SIGNATURE

Look up a symbol in a dynamic link library PMC and create a subroutine PMC for that symbol with the given signature.

Arguments: P, P, S, S

dlvar

dlvar DEST, LIBRARY, SYMBOL

Look up a symbol in a dynamic link library PMC and create a PMC for that symbol.

Arguments: P, P, S

does

does DEST, OBJECT, VAL

Return a true value if OBJECT does provide the interface VAL, otherwise return a false value.

Arguments: I, P, S

downcase

downcase DEST
downcase DEST, VAL

Create a copy of the string in VAL with all characters converted to lower case, and store it in DEST. If VAL is omitted, convert and replace the string in DEST.

Arguments: S or S, S

See also: upcase, titlecase.

end

end

End execution within the current code segment or halt the interpreter if in the main code segment.

eq

eq VAL, VAL, LABEL

Jump to a label if the two values are equal.

Arguments: I, I, IC or N, N, IC or S, S, IC or P, I, IC or P, N, IC or P, S, IC or P, P, IC

eq_addr

eq_addr VAL1, VAL2, LABEL

Jump to a label if VAL1 and VAL2 point to the same string or PMC. Note that this op compares the addresses of the two strings or PMCs, not simply their values.

Arguments: S, S, IC or P, P, IC

eq_num

eq_num VAL, VAL, LABEL

Jump to a label if the two values are numerically equal.

Arguments: P, P, IC

eq_str

eq_str VAL, VAL, LABEL

Jump to a label if the two strings are equal.

Arguments: P, P, IC

err

err DEST
err DEST, CODE

Return the system error code to an integer destination or the system error message to a string destination. The two-argument version returns the system error message for a given code.

Arguments: IR or SR or SR, I

errorsoff

errorsoff VAL

Turn off errors of type VAL.

Arguments: I

errorson

errorson VAL

Turn on errors of type VAL.

Arguments: I

exchange

exchange REG, REG

Exchange the contents of two registers.

Arguments: IR, IR or NR, NR or SR, SR or P, P

exists

exists DEST, PMC[KEY]

Test a PMC key for existence.

Arguments: IR, P

exit

exit STATUS

Exit the interpreter with a given STATUS. (For extended exit status, throw an exception with severity EXCEPT_exit.)

Arguments: I

See also: throw, die_hard.

exp

exp DEST, VAL

Base of the natural logarithm, e, to the power of VAL.

Arguments: NR, I or NR, N

exsec

exsec DEST, VAL

The exsecant of VAL in radians.

Arguments: NR, N

fact

fact DEST, INT

Return the factorial of INT.

Arguments: IR, I or NR, I

fdopen

fdopen DEST, INT, MODE

Get a FileHandle object for handle INT with open mode MODE.

Arguments: P, I, S

find_chartype

find_chartype DEST, NAME

Find the chartype named NAME and return its number in DEST.

Arguments: IR, S

find_encoding

find_encoding DEST, NAME

Find the encoding named NAME and return its number in DEST.

Arguments: IR, S

find_global

find_global DEST, NAME

Return a global variable with the given name.

Arguments: P, S

find_global DEST, NAMESPACE, NAME

Return a global variable with the given name from the given namespace.

Arguments: P, S, S or P, P, S

See also: store_global.

find_lex

find_lex DEST, NAME
find_lex DEST, DEPTH, NAME
find_lex DEST, DEPTH, POSITION

Return the lexical variable of the given name from a lexical scratchpad. If DEPTH is provided, only return a variable from the scratchpad at that depth. A find by position returns the variable at a particular position in the scratchpad.

Arguments: P, S or P, I, S or P, I, I

See also: store_lex.

find_method

find_method DEST, PMC, NAME

Look up a method by name in a PMC's vtable. Return a method PMC.

Arguments: P, P, S

find_type

find_type DEST, NAME

Find the integer identifier for a PMC type or native Parrot datatype by name.

Arguments: IR, S

See also: typeof.

findclass

findclass DEST, NAME

Return 1 if the class NAME exists, and 0 otherwise.

Arguments: IR, S

See also: typeof.

floor

floor DEST
floor DEST, VAL

Return the largest integral value less than or equal to VAL (if present) or itself (if not).

Arguments: NR or IR, N or NR, N

foldup

foldup DEST
foldup DEST, SKIP

Return a new array holding all passed subroutine parameters. SKIP defines an optional offset.

Arguments: P or P, I

freeze

freeze DEST, VAL

Create a frozen image DEST from PMC VAL.

Arguments: SR, P

See also: thaw.

gc_debug

gc_debug INT

Toggle garbage collection debugging in the interpreter (0 for off, any other value for on).

Arguments: I

gcd

gcd DEST, VAL, VAL

Return the greatest common divisor of two values.

Arguments: IR, I, I or IR, N, N

ge

ge VAL1, VAL2, LABEL

Jump to a label if VAL1 is greater than or equal to VAL2.

Arguments: I, I, IC or N, N, IC or S, S, IC or P, I, IC or P, N, IC or P, S, IC or P, P, IC

ge_num

ge_num VAL1, VAL2, LABEL

Jump to a label if VAL1 is numerically greater than or equal to VAL2.

Arguments: P, P, IC

ge_str

ge_str VAL1, VAL2, LABEL

Jump to a label if VAL1 is stringwise greater than or equal to VAL2.

Arguments: P, P, IC

get_addr

get_addr DEST, SUB

Get the absolute address of a subroutine PMC.

Arguments: IR, P

See also: set_addr.

getattribute

getattribute DEST, OBJECT, OFFS

Get a reference to attribute number OFFS from object OBJECT.

Arguments: P, P, I

See also: setattribute, classoffset.

get_class

get_class DEST, NAME

Return the class PMC of the given name.

Arguments: P, S

getfile

getfile DEST

Return the name of the current file.

Arguments: SR

getinterp

getinterp DEST

Get a PMC representing the current interpreter.

Arguments: P

getline

getline DEST

Return the current line number.

Arguments: IR

getpackage

getpackage DEST

Return the current package name.

Arguments: SR

getprop

getprop DEST, PMC, NAME

Return the value of a named property on a PMC.

Arguments: P, P, S

See also: setprop and prophash.

getstd*

getstderr DEST
getstdin DEST
getstdout DEST

Get a FileHandle object for the given standard handle.

Arguments: P

gmtime

gmtime DEST, VAL

Take the integer, which represents GMT epoch-seconds, and turn it into a formatted string.

Arguments: SR, I

See also: localtime.

gt

gt VAL1, VAL2, LABEL

Jump to a label if VAL1 is greater than VAL2.

Arguments: I, I, IC or N, N, IC or S, S, IC or P, I, IC or P, N, IC or P, S, IC or P, P, IC

gt_num

gt_num VAL1, VAL2, LABEL

Jump to a label if VAL1 is numerically greater than VAL2.

Arguments: P, P, IC

gt_str

gt_str VAL1, VAL2, LABEL

Jump to a label if VAL1 is stringwise greater than VAL2.

Arguments: P, P, IC

hav

hav DEST, VAL

The haversine of VAL in radians.

Arguments: NR, N

if

if CONDITION, LABEL

Jump to a label if the condition is a true value.

Arguments: I, IC or N, IC or S, IC or P, IC

inc

inc DEST

Increment a value by one.

Arguments: IR or NR or P

index

index DEST, STRING, SEARCH
index DEST, STRING, SEARCH, POS

Return the position of the first occurrence of the string SEARCH in the string STRING, starting at the position POS. If the starting position is unspecified, start at the beginning of the string.

Arguments: IR, S, S or IR, S, S, I

interpinfo

interpinfo DEST, FLAG

Return information about the interpreter. An integer flag selects which information to return, as listed in Table 10-1.

Arguments: IR, I

invoke

invoke
invoke SUB

Call a subroutine, coroutine, or continuation stored in a PMC. If no PMC register is specified, it calls the subroutine in P0 and uses the standard calling conventions. Otherwise, no calling convention is defined. Also yield from a coroutine.

Arguments: P

invokecc

invokecc
invokecc SUB

Call a subroutine like invoke, but also generate a return continuation in P1.

Arguments: P

See also: updatecc.

isa

isa DEST, OBJECT, CLASS

Return a true value if OBJECT isa member of class CLASS, or of one of its subclasses, otherwise return a false value.

Arguments: IR, P, S

isnull

isnull VAL, LABEL

Jump to LABEL if the given PMC is a NULL PMC.

Arguments: P, IC

join

join DEST, DELIM, ARRAY

Create a new string by joining all elements from array with the given delimiter.

Arguments: SR, S, P

jsr

jsr ADDRESS

Jump to an address, like jump, but also push the current location onto the call stack so ret can return to it.

Arguments: I

jump

jump ADDRESS

Jump to a specified absolute address.

Arguments: I

See also: set_addr.

lcm

lcm DEST, VAL, VAL

Return the least common multiple of two values.

Arguments: IR, I, I or NR, I, I

le

le VAL1, VAL2, LABEL

Jump to a label if VAL1 is less than or equal to VAL2.

Arguments: I, I, IC or N, N, IC or S, S, IC or P, I, IC or P, N, IC or P, S, IC or P, P, IC

le_num

le_num VAL1, VAL2, LABEL

Jump to a label if VAL1 is numerically less than or equal to VAL2.

Arguments: P, P, IC

le_str

le_str VAL1, VAL2, LABEL

Jump to a label if VAL1 is stringwise less than or equal to VAL2.

Arguments: P, P, IC

length

length DEST, STRING

Return the character length of a string.

Arguments: IR, S

ln

ln DEST, VAL

The natural logarithm of VAL.

Arguments: NR, I or NR, N

load_bytecode

load_bytecode FILE

Load Parrot bytecode from a file.

Arguments: S

loadlib

loadlib DEST, LIBRARY

Load a dynamic link library by name and store it in a PMC.

Arguments: P, S

See also: dlfunc.

localtime

localtime DEST, VAL

Take the integer, which represents GMT epoch-seconds, and turn it into a formatted string after adjusting to localtime.

Arguments: SR, I

See also: gmtime.

log10

log10 DEST, VAL

The base 10 logarithm of VAL.

Arguments: NR, I or NR, N

log2

log2 DEST, VAL

The base 2 logarithm of VAL.

Arguments: NR, I or NR, N

lsr

lsr DEST, BITS
lsr DEST, VAL, BITS

Logically shift a value right by a given number of bits.

Arguments: IR, I or IR, I, I

lt

lt VAL1, VAL2, LABEL

Jump to a label if VAL1 is less than VAL2.

Arguments: I, I, IC or N, N, IC or S, S, IC or P, I, IC or P, N, IC or P, S, IC or P, P, IC

lt_num

lt_num VAL1, VAL2, LABEL

Jump to a label if VAL1 is numerically less than VAL2.

Arguments: P, P, IC

lt_str

lt_str VAL1, VAL2, LABEL

Jump to a label if VAL1 is stringwise less than VAL2.

Arguments: P, P, IC

mod

mod DEST, VAL
mod DEST, VAL1, VAL2

Divide VAL1 by VAL2 and return the remainder. If VAL2 is omitted, divide DEST by VAL. The operation is defined as:

x mod y = x - y * floor(x / y)

Arguments: P, I or IR, I, I or NR, N, N or P, P, I or P, P, N

See also: cmod.

mul

mul DEST, VAL
mul DEST, VAL, VAL

Multiply two values and return the result. If only one VAL, multiply DEST by VAL.

Arguments: IR, I or NR, I or NR, N or P, I or P, N or P, P or IR, I, I or NR, N, I or NR, N, N or P, P, I or P, P, N or P, P, P

ne

ne VAL, VAL, LABEL

Jump to a label if the two values are not equal.

Arguments: I, I, IC or N, N, IC or S, S, IC or P, I, IC or P, N, IC or P, S, IC or P, P, IC

ne_addr

ne_addr VAL, VAL, LABEL

Jump to a label if VAL1 and VAL2 do not point to the same string or PMC.

Arguments: S, S, IC or P, P, IC

ne_num

ne_num VAL, VAL, LABEL

Jump to a label if the two values are numerically different.

Arguments: P, P, IC

ne_str

ne_str VAL, VAL, LABEL

Jump to a label if the two strings are not equal.

Arguments: P, P, IC

needs_destroy

needs_destroy PMC

Mark the PMC as requiring timely destruction.

Arguments: P

See also: sweep.

neg

neg DEST
neg DEST, VAL

Return the negative of a number. If there is no VAL, DEST is the negative of itself.

Arguments: IR or NR or P or IR, I or NR, N or P, P

new

new DEST, TYPE
new DEST, TYPE, INITIALIZE
new DEST, TYPE, INITIALIZE, PROPS

Create a new PMC of type TYPE. INITIALIZE is an array PMC containing initialization data for the new PMC. PROPS is a property hash.

Arguments: P, I or P, I, P or P, I, P, P

new DEST
new DEST, LENGTH
new DEST, LENGTH, ENCODING
new DEST, LENGTH, ENCODING, TYPE

Allocate a new empty string with a given LENGTH, ENCODING, and TYPE.

Arguments: SR or SR, I or SR, I, I or SR, I, I, I

new_callback

new_callback DEST, SUB, DATA, SIG

Create a callback stub DEST for a PASM subroutine SUB with user data DATA and function signature SIG.

Arguments: P, P, P, S

new_pad

new_pad DEPTH
new_pad DEST, DEPTH

Create a new lexical scratchpad. If a destination PMC is provided, store the pad in the PMC, otherwise push it onto the pad stack. DEPTH specifies the static nesting depth for the pad (lower static depths are copied from the current static nesting).

Arguments: I or P, I

newclass

newclass DEST, NAME

Create a new class with the given name.

Arguments: P, S

newsub

newsub DEST, CLASS, LABEL

Generate a new subroutine object of the given CLASS, located at the given LABEL, and store the object in the destination PMC.

Arguments: P, I, IC

newsub CLASS, RETCLASS, LABEL, RETADDR

Generate a new subroutine object of the given CLASS, located at the given LABEL, and store the object in P0. Also generate a return continuation of class RETCLASS with the return address RETADDR and store it in P1.

Arguments: I, I, IC, IC

noop

noop

Do nothing.

not

not DEST, VAL

Logical NOT. True if VAL is false.

Arguments: IR, I or P, P

null

null DEST

Set DEST (which must be a register) to 0, 0.0 or a NULL pointer, depending on its type.

Arguments: IR or NR or SR or P

open

open DEST, FILENAME
open DEST, FILENAME, MODE

Open a file in the specified mode ("r", "w", etc.) and return a filehandle. Without the mode it defaults to read/write.

Arguments: P, S, S or P, S

or

or DEST, VAL1, VAL2

Logical OR. Return VAL1 if it's true; otherwise, return VAL2.

Arguments: IR, I, I or P, P, P

ord

ord DEST, STRING
ord DEST, STRING, POS

Return the character at position POS in STRING. If POS isn't specified, return the 0th character.

Arguments: IR, S or IR, S, I

peek

peek DEST
peek DEST, PIO

Read the next byte from the given FileHandle object or from stdin but don't remove it.

Arguments: SR or SR, P

peek_pad

peek_pad DEST

Store the current lexical scope pad in a PMC.

Arguments: P

pin

pin DEST

Make the string in DEST immobile. This prevents the garbage collector from moving it to a different location in memory (which it otherwise may choose to do).

Arguments: SR

See also: unpin.

pop

pop DEST, PMC

Pop the last entry off an aggregate PMC and return it.

Arguments: IR, P or NR, P or SR, P or P, P

pop_pad

pop_pad

Pop the current lexical scope pad off the lexical scope stack.

See also: peek_pad.

popX

popi
popn
popp
pops

Restore all the registers of one type from the stack ("i" = integer, "n" = float, "p" = PMC, "s" = string).

popbottomi
popbottomn
popbottomp
popbottoms

Restore registers in the range 0..15.

poptopi
poptopn
poptopp
poptops

Restore registers in the range 16..31.

See also: pushX.

pow

pow DEST, VAL1, VAL2

Return VAL1 raised to the power of VAL2.

Arguments: NR, I, I or NR, I, N or NR, N, I or NR, N, N

print

print VAL
print IO, VAL

Print a value to an I/O object or file descriptor. If no IO is given, print the value to standard output.

Arguments: I or N or S or P or P, I or P, N or P, S or P, P

printerr

printerr VAL

Print a value to stderr.

Arguments: I or N or S or P

profile

profile INT

Toggle profiling in the interpreter (0 for off, any other value for on).

Arguments: I

prophash

prophash DEST, PMC

Return a hash containing all the properties from a PMC.

Arguments: P, P

See also: getprop.

push

push PMC, VAL

Push a value onto the end of an aggregate PMC.

Arguments: P, I or P, N or P, S or P, P

push_pad

push_pad PAD

Push a scratchpad stored in a PMC onto the lexical scope stack.

Arguments: P

pushX

pushi
pushn
pushp
pushs

Save all the registers of one type to the stack ("i" = integer, "n" = float, "p" = PMC, "s" = string). Restore with popX.

pushbottomi
pushbottomn
pushbottomp
pushbottoms

Push registers 0..15.

pushtopi
pushtopn
pushtopp
pushtops

Push registers 16..31.

read

read DEST, BYTES
read DEST, IO, BYTES

Read the specified number of bytes from a Parrot I/O object. Read from stdin if no IO is provided.

Arguments: SR, I or SR, P, I

readline

readline DEST, IO

Read a line from a Parrot I/O object.

Arguments: SR, P

register

register PMC

Register the given PMC in the interpreter's root set, so that it's visible during the mark phase.

Arguments: P

See also: unregister.

removeparent

removeparent CLASS1, CLASS2

Remove CLASS2 from class CLASS1's list of parents.

Arguments: P, P

repeat

repeat DEST, VAL, REPEAT

Repeat a string REPEAT number of times.

Arguments: SR, S, I or P, P, I or P, P, P

restoretop

restoretop

Restore registers 16..31. Does a popX for every type.

See also: savetop.

rethrow

rethrow EXCEPTION

Rethrow an exception. Only valid inside an exception handler.

Arguments: P

See also: throw

runinterp

runinterp INTERPRETER, OFFSET

Use an interpreter stored in PMC to run code starting at a given offset.

Arguments: P, I

See also: newinterp.

say

say VAL

Print a value to stdout with a trailing newline.

Arguments: I or N or S or P

sec

sec DEST, VAL

The secant of VAL in radians.

Arguments: NR, I or NR, N

sech

sech DEST, VAL

The hyperbolic secant of VAL in radians.

Arguments: NR, I or NR, N

seek

seek DEST, IO, OFFSET, STARTFLAG
seek DEST, IO, UPPER32, LOWER32, STARTFLAG

Set the file position of a Parrot I/O object to a given offset from a starting position (STARTFLAG: 0 is the beginning of the file, 1 is current the position, 2 is the end of the file). DEST is the success or failure of the seek.

64-bit seek combines UPPER32 and LOWER32 to get one 64-bit OFFSET.

Arguments: P, I, I or P, I, I, I

set

set DEST, VAL

Set a register to a value.

Arguments: IR, I or IR, N or IR, S or IR, P or NR, I or NR, N or NR, S or NR, P or SR, I or SR, N or SR, S or SR, P or P, I or P, N or P, S or P, P

set DEST[KEY], VAL

A keyed set operation on a PMC.

Arguments: P, I or P, N or P, S or P, P

set DEST, PMC[KEY]

A keyed get operation on a PMC.

Arguments: I, P or N, P or S, P or P, P

setX_ind

seti_ind REG, VAL
setn_ind REG, VAL
sets_ind REG, VAL
setp_ind REG, VAL

Set register number REG of the specified type to VAL. Bypasses the register allocator, so use with care.

Arguments: I, I or I, S or I, N or I, P

set_addr

set_addr DEST, LABEL

Return the current address plus the offset to LABEL. Often used to calculate absolute addresses for jump or jsr.

Arguments: IR, IC

set_addr SUB, LABEL

Set the subroutine address pointing to the given label.

Arguments: P, I

set_chartype

set_chartype STRING, CHARTYPE

Set the chartype of a string.

Arguments: S, I

set_eh

set_eh HANDLER

Push an exception handler on the control stack.

Arguments: P

See also: clear_eh, throw.

set_encoding

set_encoding STRING, ENCODING

Set the encoding of a string.

Arguments: S, I

setattribute

setattribute OBJECT, OFFSET, ATTRIBUTE

Set the given attribute at OFFSET for object OBJECT.

Arguments: P, I, P

See also: getattribute, classoffset.

setprop

setprop PMC, NAME, VALUE

Set the value of a named property on a PMC.

Arguments: P, S, P

See also: getprop and delprop.

setstd*

setstderr DEST
setstdin  DEST
setstdout DEST

Set a FileHandle object for the given standard handle.

Arguments: P

shift

shift DEST, PMC

Shift a value off the front of an aggregate PMC.

Arguments: IR, P or NR, P or SR, P or P, P

shl

shl DEST, VAL, BITS

Bitwise shift a value left by a given number of bits.

Arguments: IR, I or P, I or P, P or IR, I, I or P, P, I or P, P, P

shr

shr DEST, VAL, BITS

Bitwise shift a value right by a given number of bits.

Arguments: IR, I or P, I or P, P or IR, I, I or P, P, I or P, P, P

sin

sin DEST, VAL

The sine of VAL in radians.

Arguments: NR, I or NR, N

singleton

singleton DEST

Take the given object and put it into its own singleton class.

Arguments: P

sinh

sinh DEST, VAL

The hyperbolic sine of VAL in radians.

Arguments: NR, I or NR, N

sizeof

sizeof DEST, TYPE

Set DEST to the size in bytes of the given natural type.

Arguments: IR, I

sleep

sleep SECONDS

Sleep for the given number of seconds.

Arguments: I or N

spawnw

spawnw DEST, COMMAND

Spawn a subprocess to run the given COMMAND, wait for it to finish, and return the result.

Arguments: IR, S

splice

splice DEST, REPLACE, OFFSET, COUNT

Starting at OFFSET, replace COUNT number of values in the destination PMC with values provided in the REPLACE PMC.

Arguments: P, P, I, I

sprintf

sprintf DEST, FORMAT, ARGS

Format arguments in an aggregate PMC, using format string FORMAT.

Arguments: SR, S, P or P, P, P

stat

stat DEST, VAL, VAL

Stat the VAL1 file and return stat element VAL2, as listed in Table 10-2.

Arguments: IR, S, I or IR, I, I

store_global

store_global NAME, OBJECT
store_global NAME, NAMESPACE, OBJECT

Store a global variable as a named symbol.

Arguments: S, P or S, S, P or P, S, P

See also: find_global.

store_lex

store_lex NAME, OBJECT
store_lex DEPTH, NAME, OBJECT
store_lex DEPTH, POSITION, OBJECT

Store an object as a lexical variable with a given name. If the symbol doesn't exist, it will be created in the lexical scratchpad at the specified depth (a negative depth counts back from the current scope). If DEPTH isn't provided, the symbol must already exist. If a position is provided instead of a name, the symbol will be stored at the given position in the scratchpad.

Arguments: S, P or I, I, P or I, S, P

See also: find_lex.

string_chartype

string_chartype DEST, STRING

Return the chartype of the string.

Arguments: IR, S

string_encoding

string_encoding DEST, STRING

Return the encoding of the string.

Arguments: IR, S

stringinfo

stringinfo DEST, STRING, FLAG

Return information about a string. An integer flag selects which information to return, as listed in Table 10-3.

Arguments: IR, S, I

sub

sub DEST, VAL
sub DEST, VAL1, VAL2

Subtract VAL2 from VAL1. If no VAL2, subtract VAL from DEST.

Arguments: IR, I or NR, I or NR, N or P, I or P, N or P, P or IR, I, I or NR, N, I or NR, N, N or P, P, I or P, P, N or P, P, P

subclass

subclass DEST, CLASS
subclass DEST, CLASS, NAME

Create a subclass of CLASS. Without NAME an anonymous subclass is created.

Arguments: P, S or P, P or P, S, S or P, P, S

substr

substr DEST, STRING, OFFSET
substr DEST, STRING, OFFSET, LENGTH

Return a substring of STRING, beginning at OFFSET and with length LENGTH.

Arguments: SR, S, I or SR, S, I, I or SR, P, I, I

substr DEST, STRING, OFFSET, LENGTH, REPLACE

If REPLACE is given, use it to replace the returned substring in STRING.

Arguments: SR, S, I, I, S

substr DEST, OFFSET, LENGTH, REPLACE

If STRING is omitted, operate on the string in DEST.

Arguments: SR, I, I, S

substr_r

substr_r DEST, STRING, OFFSET, LENGTH

Acts like substr, but reuses the destination string instead of creating a new string. Deprecated.

Arguments: SR, S, I, I

sweep

sweep LAZY

Trigger a GC mark run. If LAZY is set to 1, only objects that need timely destruction may be destroyed.

Arguments: IC

sweepoff

sweepoff

Disable GC mark runs (nestable).

sweepon

sweepon

Re-enable GC mark runs.

sysinfo

sysinfo DEST, ITEM

Return OS-specific details given by ITEM.

Arguments: IR, I or SR, I

tan

tan DEST, VAL

The tangent of VAL in radians.

Arguments: NR, I or NR, N

tanh

tanh DEST, VAL

The hyperbolic tangent of VAL in radians.

Arguments: NR, I or NR, N

tell

tell DEST, PIO
tell UPPER32, LOWER32, PIO

Return the file position of the given FileHandle object.

Arguments: IR, P or IR, I, P

See also: seek.

thaw

thaw DEST, STR

Create a new PMC representing the frozen image.

Arguments: P, S

See also: freeze.

throw

throw EXCEPTION

Throw an exception.

Arguments: P

See also: rethrow, set_eh, clear_eh

time

time DEST

Return the current system time.

Arguments: IR or NR

titlecase

titlecase DEST
titlecase DEST, VAL

Create a copy of the string in VAL with all characters converted to title case, and store it in DEST. If VAL is omitted, convert and replace the string in DEST.

Arguments: SR or SR, S

See also: upcase, downcase.

trace

trace INT

Toggle tracing in the interpreter (0 for off, any other value for on).

Arguments: I

transcode

transcode DEST, ENCODING
transcode DEST, SOURCE, ENCODING
transcode DEST, SOURCE, ENCODING, CHARTYPE

Transcode a string to the given CHARTYPE and ENCODING. If CHARTYPE is omitted, it is assumed to be the same as the original.

Arguments: SR, I or SR, S, I or SR, S, I, I

typeof

typeof DEST, VAL
typeof DEST, PMC[KEY]

Return the type of a PMC or Parrot data type, either its class name (to a string destination) or integer identifier (to an integer destination).

Arguments: IR, P or SR, I or SR, P

unless

unless CONDITION, LABEL

Jump to a label unless the condition is a true value.

Arguments: I, IC or N, IC or S, IC or P, IC

unpin

unpin DEST

Make the string in DEST movable again. This is the default, so unpin is a no-op unless the string has been pinned with pin.

See also: pin.

Arguments: SR

unregister

unregister PMC

Remove one reference to PMC from the root set registry.

Arguments: P

See also: register.

unshift

unshift DEST, VAL

Unshift a value onto the front of an aggregate PMC.

Arguments: P, I or P, N or P, S or P, P

upcase

upcase DEST
upcase DEST, VAL

Create a copy of the string in VAL with all characters converted to upper case, and store it in DEST. If VAL is omitted, convert and replace the string in DEST.

Arguments: SR or SR, S

See also: downcase, titlecase.

updatecc

updatecc

Update the state of a return continuation stored in P1. Used when context information changes after the return continuation is created but before it's invoked.

See also: invokecc.

Arguments: IR, I

vers

vers DEST, VAL

The versine of VAL in radians.

Arguments: NR, N

warningsoff

warningsoff CATEGORY

Turn off a particular category of warnings by category number. Turning off one category will not affect the status of other warnings categories. See warningson for the list of categories.

Arguments: I

warningson

warningson CATEGORY

Turn on a particular category of warnings by category number. The default is all warnings off. Turning on one category will not turn off other categories. Combine category numbers with a bitwise OR to turn on more than one at a time. If you include warnings.pasm, the category numbers are available by name as:

.PARROT_WARNINGS_ALL_FLAG
.PARROT_WARNINGS_UNDEF_FLAG
.PARROT_WARNINGS_IO_FLAG
.PARROT_WARNINGS_PLATFORM_FLAG

Arguments: I

xor

xor DEST, VAL1, VAL2

Logical XOR. If VAL1 is true and VAL2 is false, return VAL1. If VAL1 is false and VAL2 is true, return VAL2. Otherwise, return a false value.

Arguments: IR, I, I or P, P, P

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 5:

A non-empty Z<>

Around line 27:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 30:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 39:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 41:

Deleting unknown formatting code R<>

Around line 49:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 52:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 62:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 64:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 72:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 74:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 82:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 84:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 92:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 94:

Deleting unknown formatting code R<>

Around line 102:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 104:

Deleting unknown formatting code R<>

Around line 112:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 122:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 125:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 135:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 138:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 147:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 150:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 159:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 161:

Deleting unknown formatting code R<>

Around line 169:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 171:

Deleting unknown formatting code R<>

Around line 179:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 181:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 190:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 192:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 201:

Deleting unknown formatting code R<>

Around line 212:

Deleting unknown formatting code R<>

Around line 222:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 225:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 234:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 237:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 246:

Deleting unknown formatting code R<>

Around line 249:

Deleting unknown formatting code R<>

Around line 259:

Deleting unknown formatting code R<>

Around line 262:

Deleting unknown formatting code R<>

Around line 273:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 275:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 284:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 287:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 305:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 308:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 317:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 327:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 329:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 363:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 373:

Deleting unknown formatting code R<>

Around line 383:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 395:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 397:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 408:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 418:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 428:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 430:

Deleting unknown formatting code R<>

Around line 463:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 474:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 480:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 482:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 490:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 493:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 502:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 504:

Deleting unknown formatting code R<>

Around line 512:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 514:

Deleting unknown formatting code R<>

Around line 522:

Deleting unknown formatting code R<>

Around line 532:

Deleting unknown formatting code R<>

Around line 542:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 544:

Deleting unknown formatting code R<>

Around line 553:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 555:

Deleting unknown formatting code R<>

Around line 564:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 567:

Deleting unknown formatting code R<>

Around line 576:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 586:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 598:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 600:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 608:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 620:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 623:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 633:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 644:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 655:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 657:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 666:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 669:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 690:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 701:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 703:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 713:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 723:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 733:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 746:

Deleting unknown formatting code R<>

Around line 748:

Deleting unknown formatting code R<>

Around line 756:

Deleting unknown formatting code R<>

Around line 758:

Deleting unknown formatting code R<>

Around line 766:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 776:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 786:

Deleting unknown formatting code R<>

Around line 788:

Deleting unknown formatting code R<>

Around line 799:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 801:

Deleting unknown formatting code R<>

Around line 809:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 811:

Deleting unknown formatting code R<>

Around line 819:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 821:

Deleting unknown formatting code R<>

Around line 829:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 831:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 839:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 841:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 850:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 852:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 860:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 866:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 878:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 882:

Deleting unknown formatting code R<>

Around line 895:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 905:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 917:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 919:

Deleting unknown formatting code R<>

Around line 929:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 932:

Deleting unknown formatting code R<>

Around line 941:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 944:

Deleting unknown formatting code R<>

Around line 953:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 955:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 965:

Deleting unknown formatting code R<>

Around line 976:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 986:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 988:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 997:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 999:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1007:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1009:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1017:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1029:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1031:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1041:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1051:

Deleting unknown formatting code R<>

Around line 1061:

Deleting unknown formatting code R<>

Around line 1071:

Deleting unknown formatting code R<>

Around line 1081:

Deleting unknown formatting code R<>

Around line 1091:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1105:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1117:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1130:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1132:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1141:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1143:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1151:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1153:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1161:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1163:

Deleting unknown formatting code R<>

Around line 1171:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1181:

Deleting unknown formatting code R<>

Around line 1191:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1194:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1204:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1292:

Deleting unknown formatting code R<>

Around line 1306:

Deleting unknown formatting code R<>

Around line 1320:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1322:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1331:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1333:

Deleting unknown formatting code R<>

Around line 1341:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1352:

Deleting unknown formatting code R<>

Around line 1363:

Deleting unknown formatting code R<>

Around line 1375:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1385:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1387:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1396:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1398:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1406:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1408:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1416:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1426:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1428:

Deleting unknown formatting code R<>

Around line 1436:

Deleting unknown formatting code R<>

Around line 1446:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1458:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1471:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1473:

Deleting unknown formatting code R<>

Around line 1481:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1483:

Deleting unknown formatting code R<>

Around line 1491:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1502:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1504:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1513:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1515:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1523:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1525:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1533:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1536:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1549:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1552:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1562:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1573:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1575:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1584:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1594:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1604:

Deleting unknown formatting code R<>

Around line 1616:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1619:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1628:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1632:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1637:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1642:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1651:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1653:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1662:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1665:

Deleting unknown formatting code R<>

Around line 1676:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1686:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1688:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1693:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1695:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1714:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1716:

Deleting unknown formatting code R<>

Around line 1724:

Deleting unknown formatting code R<>

Around line 1726:

Deleting unknown formatting code R<>

Around line 1735:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1747:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1749:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1757:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1760:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1769:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1781:

Deleting unknown formatting code R<>

Around line 1791:

Deleting unknown formatting code R<>

Around line 1793:

Deleting unknown formatting code R<>

Around line 1805:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1850:

Deleting unknown formatting code R<>

Around line 1856:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1858:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1866:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1869:

Deleting unknown formatting code R<>

Around line 1878:

Deleting unknown formatting code R<>

Around line 1888:

Deleting unknown formatting code R<>

Around line 1898:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1910:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1920:

Deleting unknown formatting code R<>

Around line 1938:

Deleting unknown formatting code R<>

Around line 1959:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1962:

Deleting unknown formatting code R<>

Around line 1971:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1981:

Deleting unknown formatting code R<>

Around line 1994:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 1996:

Deleting unknown formatting code R<>

Around line 2004:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2006:

Deleting unknown formatting code R<>

Around line 2016:

Deleting unknown formatting code R<>

Around line 2024:

Deleting unknown formatting code R<>

Around line 2036:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2049:

Deleting unknown formatting code R<>

Around line 2059:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2061:

Deleting unknown formatting code R<>

Around line 2069:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2071:

Deleting unknown formatting code R<>

Around line 2079:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2082:

Deleting unknown formatting code R<>

Around line 2087:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2096:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2104:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2110:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2123:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2128:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2137:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2139:

Deleting unknown formatting code R<>

Around line 2144:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2154:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2164:

Deleting unknown formatting code R<>

Around line 2177:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2187:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2189:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2199:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2213:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2225:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2235:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2245:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2255:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2257:

Deleting unknown formatting code R<>

Around line 2265:

Deleting unknown formatting code R<>

Around line 2275:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2277:

Deleting unknown formatting code R<>

Around line 2285:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2287:

Deleting unknown formatting code R<>

Around line 2295:

Deleting unknown formatting code R<>

Around line 2305:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2307:

Deleting unknown formatting code R<>

Around line 2316:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2318:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2327:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2329:

Deleting unknown formatting code R<>

Around line 2337:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2454:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2467:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2471:

Deleting unknown formatting code R<>

Around line 2486:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2497:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2507:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2570:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2573:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2583:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2586:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2595:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2598:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2603:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2605:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2610:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2612:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2621:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2632:

Deleting unknown formatting code R<>

Around line 2634:

Deleting unknown formatting code R<>

Around line 2659:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2669:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2671:

Deleting unknown formatting code R<>

Around line 2679:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2681:

Deleting unknown formatting code R<>

Around line 2689:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2702:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2714:

Deleting unknown formatting code R<>

Around line 2726:

Deleting unknown formatting code R<>

Around line 2736:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2739:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2751:

Deleting unknown formatting code R<>

Around line 2761:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2765:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2774:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2786:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2796:

Deleting unknown formatting code R<>

Around line 2798:

Deleting unknown formatting code R<>

Around line 2809:

Deleting unknown formatting code R<>

Around line 2821:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2831:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2834:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2860:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2862:

Deleting unknown formatting code R<>

Around line 2870:

Deleting unknown formatting code R<>

Around line 2882:

Deleting unknown formatting code R<>

Around line 2901:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Around line 2903:

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>

Deleting unknown formatting code R<>