diff --git a/Makefile b/Makefile
index aff76cd..a4e1010 100644
--- a/Makefile
+++ b/Makefile
@@ -6,13 +6,11 @@ all: install test
install:
cd draw2d && go install
# cd draw2dgl && make install
- cd postscript && go install
# cd wingui && make install
build:
cd draw2d && go build
# cd draw2dgl && make build
- cd postscript && go build
# cd wingui && make build
test:
@@ -22,13 +20,11 @@ test:
cd cmd && go build testdraw2d.go
cd cmd && go build testgopher.go
cd cmd && go build testimage.go
- cd cmd && go build testpostscript.go
#cd cmd && go build testX11draw.go
clean:
cd draw2d && go clean
# cd draw2dgl && make clean
- cd postscript && go clean
cd cmd && go clean
# cd wingui && make clean
diff --git a/cmd/draw2dgl.go b/cmd/draw2dgl.go
index f6bd896..39ba218 100644
--- a/cmd/draw2dgl.go
+++ b/cmd/draw2dgl.go
@@ -28,7 +28,7 @@ import (
"time"
"github.com/llgcode/draw2d/draw2dgl"
- "github.com/llgcode/draw2d/postscript"
+ "github.com/llgcode/ps"
)
var postscriptContent string
@@ -68,7 +68,7 @@ func display() {
rotate = (rotate + 1) % 360
gc.Rotate(float64(rotate) * math.Pi / 180)
gc.Translate(-380, -400)
- interpreter := postscript.NewInterpreter(gc)
+ interpreter := ps.NewInterpreter(gc)
reader := strings.NewReader(postscriptContent)
lastTime := time.Now()
interpreter.Execute(reader)
@@ -79,7 +79,7 @@ func display() {
}
func main() {
- src, err := os.OpenFile("../resource/postscript/tiger.ps", 0, 0)
+ src, err := os.OpenFile("../../ps/samples/tiger.ps", 0, 0)
if err != nil {
log.Println("can't find postscript file.")
return
diff --git a/cmd/testpostscript.go b/cmd/testpostscript.go
deleted file mode 100644
index e6b0b8c..0000000
--- a/cmd/testpostscript.go
+++ /dev/null
@@ -1,54 +0,0 @@
-package main
-
-import (
- "bufio"
- "fmt"
- "image"
- "image/png"
- "io/ioutil"
- "log"
- "os"
- "strings"
-
- "github.com/llgcode/draw2d/draw2d"
- "github.com/llgcode/draw2d/postscript"
-)
-
-func saveToPngFile(filePath string, m image.Image) {
- f, err := os.Create(filePath)
- if err != nil {
- log.Println(err)
- os.Exit(1)
- }
- defer f.Close()
- b := bufio.NewWriter(f)
- err = png.Encode(b, m)
- if err != nil {
- log.Println(err)
- os.Exit(1)
- }
- err = b.Flush()
- if err != nil {
- log.Println(err)
- os.Exit(1)
- }
- fmt.Printf("Wrote %s OK.\n", filePath)
-}
-
-func main() {
- i := image.NewRGBA(image.Rect(0, 0, 600, 800))
- gc := draw2d.NewGraphicContext(i)
- gc.Translate(0, 380)
- gc.Scale(1, -1)
- gc.Translate(0, -380)
- src, err := os.OpenFile("../resource/postscript/tiger.ps", 0, 0)
- if err != nil {
- return
- }
- defer src.Close()
- bytes, err := ioutil.ReadAll(src)
- reader := strings.NewReader(string(bytes))
- interpreter := postscript.NewInterpreter(gc)
- interpreter.Execute(reader)
- saveToPngFile("../resource/result/TestPostscript.png", i)
-}
diff --git a/postscript/interpreter.go b/postscript/interpreter.go
deleted file mode 100644
index 74a6608..0000000
--- a/postscript/interpreter.go
+++ /dev/null
@@ -1,312 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-import (
- "io"
- "log"
- "os"
- "strconv"
-
- "github.com/llgcode/draw2d/draw2d"
-)
-
-type Interpreter struct {
- valueStack ValueStack
- dictionaryStack DictionaryStack
- gc draw2d.GraphicContext
-}
-
-type Value interface{}
-
-type ValueStack []Value
-
-type Dictionary map[string]Value
-
-type DictionaryStack []Dictionary
-
-type Operator interface {
- Execute(interpreter *Interpreter)
-}
-
-func NewInterpreter(gc draw2d.GraphicContext) *Interpreter {
- interpreter := new(Interpreter)
- interpreter.valueStack = make([]Value, 0, 100)
- interpreter.dictionaryStack = make([]Dictionary, 2, 10)
- interpreter.dictionaryStack[0] = NewDictionary(100) // System dictionary
- interpreter.dictionaryStack[1] = NewDictionary(100) // user dictionary
- initSystemOperators(interpreter)
- interpreter.gc = gc
- return interpreter
-}
-
-func NewDictionary(prealloc int) Dictionary {
- return make(Dictionary, prealloc)
-}
-
-func (interpreter *Interpreter) SetGraphicContext(gc draw2d.GraphicContext) {
- interpreter.gc = gc
-}
-
-func (interpreter *Interpreter) GetGraphicContext() draw2d.GraphicContext {
- return interpreter.gc
-}
-func (interpreter *Interpreter) Execute(reader io.Reader) {
- var scanner Scanner
- scanner.Init(reader)
- token := scanner.Scan()
- for token != EOF {
- interpreter.scan(&scanner, token)
- token = scanner.Scan()
- }
-}
-
-func (interpreter *Interpreter) ExecuteFile(filePath string) error {
- src, err := os.Open(filePath)
- if src == nil {
- log.Printf("can't open file; err=%s\n", err.Error())
- return err
- }
- defer src.Close()
- interpreter.Execute(src)
- return nil
-}
-func (interpreter *Interpreter) computeReference(ref string) {
- value, _ := interpreter.FindValueInDictionaries(ref)
- if value == nil {
- log.Printf("Unknown def: %s\n", ref)
- } else {
- operator, isOperator := value.(Operator)
- if isOperator {
- operator.Execute(interpreter)
- } else {
- interpreter.Push(value)
- }
- }
-}
-func (interpreter *Interpreter) scan(scanner *Scanner, token int) {
- if token == Ident {
- switch scanner.TokenText() {
- case "true":
- interpreter.Push(true)
- case "false":
- interpreter.Push(false)
- case "null":
- interpreter.Push(nil)
- default:
- interpreter.computeReference(scanner.TokenText())
- }
- } else if token == '/' {
- scanner.Scan()
- interpreter.Push("/" + scanner.TokenText())
- } else if token == '[' {
- interpreter.Push(interpreter.scanArray(scanner))
- } else if token == '{' {
- // procedure
- interpreter.Push(interpreter.scanProcedure(scanner))
- } else if token == Float || token == Int {
- f, err := strconv.ParseFloat(scanner.TokenText(), 64)
- if err != nil {
- log.Printf("Float expected: %s\n", scanner.TokenText())
- interpreter.Push(scanner.TokenText())
- } else {
- interpreter.Push(f)
- }
- } else {
- interpreter.Push(scanner.TokenText())
- }
-}
-
-func (interpreter *Interpreter) scanArray(scanner *Scanner) []Value {
- array := make([]Value, 0, 10)
- token := scanner.Scan()
- for token != EOF && token != ']' {
- if token == Ident {
- var v Value = scanner.TokenText()
- switch scanner.TokenText() {
- case "true":
- v = true
- case "false":
- v = false
- case "null":
- v = nil
- }
- array = append(array, v)
- } else {
- interpreter.scan(scanner, token)
- array = append(array, interpreter.Pop())
- }
- token = scanner.Scan()
- }
- return array
-}
-
-func (interpreter *Interpreter) scanProcedure(scanner *Scanner) *ProcedureDefinition {
- proceduredef := NewProcedureDefinition()
- token := scanner.Scan()
- for token != EOF && token != '}' {
- if token == Ident {
- var v Value = scanner.TokenText()
- switch scanner.TokenText() {
- case "true":
- v = true
- case "false":
- v = false
- case "null":
- v = nil
- }
- proceduredef.Add(v)
- } else {
- interpreter.scan(scanner, token)
- proceduredef.Add(interpreter.Pop())
- }
- token = scanner.Scan()
- }
- return proceduredef
-}
-
-//Dictionary Operation
-
-func (interpreter *Interpreter) PushDictionary(dictionary Dictionary) {
- interpreter.dictionaryStack = append(interpreter.dictionaryStack, dictionary)
-}
-
-func (interpreter *Interpreter) PopDictionary() Dictionary {
- stackPointer := len(interpreter.dictionaryStack) - 1
- dictionary := interpreter.dictionaryStack[stackPointer]
- interpreter.dictionaryStack = interpreter.dictionaryStack[0:stackPointer]
- return dictionary
-}
-
-func (interpreter *Interpreter) PeekDictionary() Dictionary {
- stackPointer := len(interpreter.dictionaryStack) - 1
- return interpreter.dictionaryStack[stackPointer]
-}
-func (interpreter *Interpreter) ClearDictionaries() {
- interpreter.dictionaryStack = interpreter.dictionaryStack[:2]
-}
-
-func (interpreter *Interpreter) DictionaryStackSize() int {
- return len(interpreter.dictionaryStack)
-}
-
-func (interpreter *Interpreter) FindValue(name string) Value {
- return interpreter.PeekDictionary()[name]
-}
-
-func (interpreter *Interpreter) FindValueInDictionaries(name string) (Value, Dictionary) {
- for i := len(interpreter.dictionaryStack) - 1; i >= 0; i-- {
- value := interpreter.dictionaryStack[i][name]
- if value != nil {
- return value, interpreter.dictionaryStack[i]
- }
- }
- return nil, nil
-}
-
-func (interpreter *Interpreter) UserDictionary() Dictionary {
- return interpreter.dictionaryStack[0]
-}
-
-func (interpreter *Interpreter) SystemDictionary() Dictionary {
- return interpreter.dictionaryStack[0]
-}
-
-func (interpreter *Interpreter) Define(name string, value Value) {
- interpreter.PeekDictionary()[name] = value
-}
-
-func (interpreter *Interpreter) SystemDefine(name string, value Value) {
- interpreter.dictionaryStack[0][name] = value
-}
-
-//Operand Operation
-
-func (interpreter *Interpreter) Push(operand Value) {
- //log.Printf("Push operand: %v\n", operand)
- interpreter.valueStack = append(interpreter.valueStack, operand)
-}
-
-func (interpreter *Interpreter) Pop() Value {
- valueStackPointer := len(interpreter.valueStack) - 1
- operand := interpreter.valueStack[valueStackPointer]
- interpreter.valueStack = interpreter.valueStack[0:valueStackPointer]
- //log.Printf("Pop operand: %v\n", operand)
- return operand
-}
-
-func (interpreter *Interpreter) PopValues(n int) []Value {
- valueStackPointer := len(interpreter.valueStack) - 1
- operands := make([]Value, n)
- copy(operands, interpreter.valueStack[valueStackPointer-n+1:valueStackPointer+1])
- interpreter.valueStack = interpreter.valueStack[0 : valueStackPointer-n+1]
- return operands
-}
-
-func (interpreter *Interpreter) GetValues(n int) []Value {
- valueStackPointer := len(interpreter.valueStack) - 1
- operands := make([]Value, n)
- copy(operands, interpreter.valueStack[valueStackPointer-n+1:valueStackPointer+1])
- return operands
-}
-
-func (interpreter *Interpreter) Get(index int) Value {
- valueStackPointer := len(interpreter.valueStack) - 1
- return interpreter.valueStack[valueStackPointer-index]
-}
-
-func (interpreter *Interpreter) Peek() Value {
- valueStackPointer := len(interpreter.valueStack) - 1
- return interpreter.valueStack[valueStackPointer]
-}
-
-func (interpreter *Interpreter) OperandSize() int {
- return len(interpreter.valueStack)
-}
-
-func (interpreter *Interpreter) ClearOperands() {
- interpreter.valueStack = interpreter.valueStack[0:0]
-}
-
-// misc pop
-
-func (interpreter *Interpreter) PopFloat() float64 {
- operand := interpreter.Pop()
- return operand.(float64)
-}
-
-func (interpreter *Interpreter) PopInt() int {
- f := interpreter.PopFloat()
- return int(f)
-}
-
-func (interpreter *Interpreter) PopOperator() Operator {
- operator := interpreter.Pop()
- return operator.(Operator)
-}
-
-func (interpreter *Interpreter) PopProcedureDefinition() *ProcedureDefinition {
- def := interpreter.Pop()
- return def.(*ProcedureDefinition)
-}
-
-func (interpreter *Interpreter) PopName() string {
- name := interpreter.Pop().(string)
- return name[1:]
-}
-
-func (interpreter *Interpreter) PopString() string {
- s := interpreter.Pop().(string)
- return s[1 : len(s)-1]
-}
-
-func (interpreter *Interpreter) PopBoolean() bool {
- s := interpreter.Pop()
- return s.(bool)
-}
-
-func (interpreter *Interpreter) PopArray() []Value {
- s := interpreter.Pop()
- return s.([]Value)
-}
diff --git a/postscript/operators.go b/postscript/operators.go
deleted file mode 100644
index b75df45..0000000
--- a/postscript/operators.go
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-type OperatorFunc func(interpreter *Interpreter)
-
-type PrimitiveOperator struct {
- f OperatorFunc
-}
-
-func NewOperator(f OperatorFunc) *PrimitiveOperator {
- return &PrimitiveOperator{f}
-}
-
-func (o *PrimitiveOperator) Execute(interpreter *Interpreter) {
- o.f(interpreter)
-}
-
-func save(interpreter *Interpreter) {
- interpreter.Push("VM Snapshot")
-}
-
-func restore(interpreter *Interpreter) {
- interpreter.Pop()
-}
-
-func initSystemOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("save", NewOperator(save))
- interpreter.SystemDefine("restore", NewOperator(restore))
- initStackOperator(interpreter)
- initMathOperators(interpreter)
- initArrayOperators(interpreter)
- initDictionaryOperators(interpreter)
- initRelationalOperators(interpreter)
- initControlOperators(interpreter)
- initMiscellaneousOperators(interpreter)
- initDrawingOperators(interpreter)
-
- initConflictingOperators(interpreter)
-}
diff --git a/postscript/operators_array.go b/postscript/operators_array.go
deleted file mode 100644
index 1fd1c31..0000000
--- a/postscript/operators_array.go
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-//int array array -> Create array of length int
-func array(interpreter *Interpreter) {
- interpreter.Push(make([]Value, interpreter.PopInt()))
-}
-
-//array length int -> Return number of elements in array
-func lengtharray(interpreter *Interpreter) {
- interpreter.Push(float64(len(interpreter.Pop().([]Value))))
-}
-
-//array index get any -> Return array element indexed by index
-func getarray(interpreter *Interpreter) {
- index := interpreter.PopInt()
- array := interpreter.Pop().([]Value)
- interpreter.Push(array[index])
-}
-
-//array index any put – -> Put any into array at index
-func putarray(interpreter *Interpreter) {
- value := interpreter.Pop()
- index := interpreter.PopInt()
- array := interpreter.Pop().([]Value)
- array[index] = value
-}
-
-//array index count getinterval subarray -> Return subarray of array starting at index for count elements
-func getinterval(interpreter *Interpreter) {
- count := interpreter.PopInt()
- index := interpreter.PopInt()
- array := interpreter.Pop().([]Value)
- subarray := make([]Value, count)
- copy(subarray, array[index:index+count])
- interpreter.Push(subarray)
-}
-
-//array1 index array2 putinterval – Replace subarray of array1 starting at index by array2|packedarray2
-func putinterval(interpreter *Interpreter) {
- array2 := interpreter.Pop().([]Value)
- index := interpreter.PopInt()
- array1 := interpreter.Pop().([]Value)
- for i, v := range array2 {
- array1[i+index] = v
- }
-}
-
-// any0 … anyn−1 array astore array
-// stores the objects any0 to anyn−1 from the operand stack into array, where n is the length of array
-func astore(interpreter *Interpreter) {
- array := interpreter.Pop().([]Value)
- n := len(array)
- for i := 0; i < n; i++ {
- array[i] = interpreter.Pop()
- }
-}
-
-//array aload any0 … any-1 array
-//Push all elements of array on stack
-func aload(interpreter *Interpreter) {
- array := interpreter.Pop().([]Value)
- for _, v := range array {
- interpreter.Push(v)
- }
- interpreter.Push(array)
-}
-
-//array proc forall – Execute proc for each element of array
-func forallarray(interpreter *Interpreter) {
- proc := NewProcedure(interpreter.PopProcedureDefinition())
- array := interpreter.Pop().([]Value)
- for _, v := range array {
- interpreter.Push(v)
- proc.Execute(interpreter)
- }
-}
-
-var packing bool = false
-
-func currentpacking(interpreter *Interpreter) {
- interpreter.Push(packing)
-}
-func setpacking(interpreter *Interpreter) {
- packing = interpreter.PopBoolean()
-}
-
-func initArrayOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("array", NewOperator(array))
- interpreter.SystemDefine("getinterval", NewOperator(getinterval))
- interpreter.SystemDefine("putinterval", NewOperator(putinterval))
- interpreter.SystemDefine("astore", NewOperator(astore))
- interpreter.SystemDefine("aload", NewOperator(aload))
- interpreter.SystemDefine("currentpacking", NewOperator(currentpacking))
- interpreter.SystemDefine("setpacking", NewOperator(setpacking))
-
-}
diff --git a/postscript/operators_conflict.go b/postscript/operators_conflict.go
deleted file mode 100644
index 565e304..0000000
--- a/postscript/operators_conflict.go
+++ /dev/null
@@ -1,96 +0,0 @@
-package postscript
-
-import (
- "fmt"
- "log"
-)
-
-// dictionary copy conflict with stack copy
-// type dicriminant
-func commonCopy(interpreter *Interpreter) {
- switch v := interpreter.Peek().(type) {
- case float64:
- copystack(interpreter)
- case Dictionary:
- copydict(interpreter)
- default:
- panic(fmt.Sprintf("Not yet implemented: %v copy", v))
- }
-}
-func commonforall(interpreter *Interpreter) {
- switch v := interpreter.Get(1).(type) {
- case Dictionary:
- foralldict(interpreter)
- case []Value:
- forallarray(interpreter)
- case string:
- panic("Not yet implemented: string proc forall")
- default:
- panic(fmt.Sprintf("Not yet implemented: %v proc forall", v))
- }
-}
-
-func length(interpreter *Interpreter) {
- switch v := interpreter.Peek().(type) {
- case Dictionary:
- lengthdict(interpreter)
- case []Value:
- lengtharray(interpreter)
- case string:
- panic("Not yet implemented: string proc forall")
- default:
- panic(fmt.Sprintf("Not yet implemented: %v length", v))
- }
-}
-func get(interpreter *Interpreter) {
- switch v := interpreter.Get(1).(type) {
- case Dictionary:
- getdict(interpreter)
- case []Value:
- getarray(interpreter)
- case string:
- panic("Not yet implemented: string proc forall")
- default:
- panic(fmt.Sprintf("Not yet implemented: %v index get", v))
- }
-}
-func put(interpreter *Interpreter) {
- switch v := interpreter.Get(2).(type) {
- case Dictionary:
- putdict(interpreter)
- case []Value:
- putarray(interpreter)
- case string:
- panic("Not yet implemented: string proc forall")
- default:
- panic(fmt.Sprintf("Not yet implemented: %v index any put", v))
- }
-}
-
-func readonly(interpreter *Interpreter) {
- log.Println("readonly, not yet implemented")
-}
-
-func cvlit(interpreter *Interpreter) {
- log.Println("cvlit, not yet implemented")
-}
-
-func xcheck(interpreter *Interpreter) {
- value := interpreter.Pop()
- if _, ok := value.(*ProcedureDefinition); ok {
- interpreter.Push(true)
- } else {
- interpreter.Push(false)
- }
-}
-
-func initConflictingOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("copy", NewOperator(commonCopy))
- interpreter.SystemDefine("forall", NewOperator(commonforall))
- interpreter.SystemDefine("length", NewOperator(length))
- interpreter.SystemDefine("get", NewOperator(get))
- interpreter.SystemDefine("put", NewOperator(put))
- interpreter.SystemDefine("readonly", NewOperator(readonly))
- interpreter.SystemDefine("cvlit", NewOperator(cvlit))
- interpreter.SystemDefine("xcheck", NewOperator(xcheck))
-}
diff --git a/postscript/operators_control.go b/postscript/operators_control.go
deleted file mode 100644
index 8a42d5a..0000000
--- a/postscript/operators_control.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-import (
- "log"
-)
-
-// any exec – Execute arbitrary object
-func exec(interpreter *Interpreter) {
- value := interpreter.Pop()
- if pdef, ok := value.(*ProcedureDefinition); ok {
- NewProcedure(pdef).Execute(interpreter)
- } else if procedure, ok := value.(*Procedure); ok {
- procedure.Execute(interpreter)
- } else {
- log.Printf("Push value: %v\n", value)
- interpreter.Push(value)
- }
-}
-
-func ifoperator(interpreter *Interpreter) {
- operator := NewProcedure(interpreter.PopProcedureDefinition())
- condition := interpreter.PopBoolean()
- if condition {
- operator.Execute(interpreter)
- }
-}
-
-func ifelse(interpreter *Interpreter) {
- operator2 := NewProcedure(interpreter.PopProcedureDefinition())
- operator1 := NewProcedure(interpreter.PopProcedureDefinition())
- condition := interpreter.PopBoolean()
- if condition {
- operator1.Execute(interpreter)
- } else {
- operator2.Execute(interpreter)
- }
-}
-
-func foroperator(interpreter *Interpreter) {
- proc := NewProcedure(interpreter.PopProcedureDefinition())
- limit := interpreter.PopFloat()
- inc := interpreter.PopFloat()
- initial := interpreter.PopFloat()
-
- for i := initial; i <= limit; i += inc {
- interpreter.Push(i)
- proc.Execute(interpreter)
- }
-}
-
-func repeat(interpreter *Interpreter) {
- proc := NewProcedure(interpreter.PopProcedureDefinition())
- times := interpreter.PopInt()
- for i := 0; i <= times; i++ {
- proc.Execute(interpreter)
- }
-}
-
-// any stopped bool -> Establish context for catching stop
-func stopped(interpreter *Interpreter) {
- value := interpreter.Pop()
- if pdef, ok := value.(*ProcedureDefinition); ok {
- NewProcedure(pdef).Execute(interpreter)
- } else {
- interpreter.Push(value)
- }
- interpreter.Push(false)
-}
-
-func initControlOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("exec", NewOperator(exec))
- interpreter.SystemDefine("if", NewOperator(ifoperator))
- interpreter.SystemDefine("ifelse", NewOperator(ifelse))
- interpreter.SystemDefine("for", NewOperator(foroperator))
- interpreter.SystemDefine("repeat", NewOperator(repeat))
- interpreter.SystemDefine("stopped", NewOperator(stopped))
-}
diff --git a/postscript/operators_dictionary.go b/postscript/operators_dictionary.go
deleted file mode 100644
index 88732c4..0000000
--- a/postscript/operators_dictionary.go
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-import (
- "log"
-)
-
-//int dict dict -> Create dictionary with capacity for int elements
-func dict(interpreter *Interpreter) {
- interpreter.Push(NewDictionary(interpreter.PopInt()))
-}
-
-//dict length int -> Return number of entries in dict
-func lengthdict(interpreter *Interpreter) {
- dictionary := interpreter.Pop().(Dictionary)
- interpreter.Push(float64(len(dictionary)))
-}
-
-//dict maxlength int -> Return current capacity of dict
-func maxlength(interpreter *Interpreter) {
- interpreter.Pop()
- interpreter.Push(float64(999999999)) // push arbitrary value
-}
-
-//dict begin – -> Push dict on dictionary stack
-func begin(interpreter *Interpreter) {
- interpreter.PushDictionary(interpreter.Pop().(Dictionary))
-}
-
-//– end – -> Pop current dictionary off dictionary stack
-func end(interpreter *Interpreter) {
- interpreter.PopDictionary()
-}
-
-//key value def – -> Associate key and value in current dictionary
-func def(interpreter *Interpreter) {
- value := interpreter.Pop()
- name := interpreter.PopName()
- if p, ok := value.(*ProcedureDefinition); ok {
- value = NewProcedure(p)
- }
- interpreter.Define(name, value)
-}
-
-//key load value -> Search dictionary stack for key and return associated value
-func load(interpreter *Interpreter) {
- name := interpreter.PopName()
- value, _ := interpreter.FindValueInDictionaries(name)
- if value == nil {
- log.Printf("Can't find value %s\n", name)
- }
- interpreter.Push(value)
-}
-
-//key value store – -> Replace topmost definition of key
-func store(interpreter *Interpreter) {
- value := interpreter.Pop()
- key := interpreter.PopName()
- _, dictionary := interpreter.FindValueInDictionaries(key)
- if dictionary != nil {
- dictionary[key] = value
- }
-}
-
-//dict key get any -> Return value associated with key in dict
-func getdict(interpreter *Interpreter) {
- key := interpreter.PopName()
- dictionary := interpreter.Pop().(Dictionary)
- interpreter.Push(dictionary[key])
-}
-
-//dict key value put – -> Associate key with value in dict
-func putdict(interpreter *Interpreter) {
- value := interpreter.Pop()
- key := interpreter.PopName()
- dictionary := interpreter.Pop().(Dictionary)
- dictionary[key] = value
-}
-
-//dict key undef – Remove key and its value from dict
-func undef(interpreter *Interpreter) {
- key := interpreter.PopName()
- dictionary := interpreter.Pop().(Dictionary)
- dictionary[key] = nil
-}
-
-//dict key known bool -> Test whether key is in dict
-func known(interpreter *Interpreter) {
- key := interpreter.PopName()
- dictionary := interpreter.Pop().(Dictionary)
- interpreter.Push(dictionary[key] != nil)
-}
-
-//key where (dict true) or false -> Find dictionary in which key is defined
-func where(interpreter *Interpreter) {
- key := interpreter.PopName()
- _, dictionary := interpreter.FindValueInDictionaries(key)
- if dictionary == nil {
- interpreter.Push(false)
- } else {
- interpreter.Push(dictionary)
- interpreter.Push(true)
- }
-}
-
-// dict1 dict2 copy dict2 -> Copy contents of dict1 to dict2
-func copydict(interpreter *Interpreter) {
- dict2 := interpreter.Pop().(Dictionary)
- dict1 := interpreter.Pop().(Dictionary)
- for key, value := range dict1 {
- dict2[key] = value
- }
- interpreter.Push(dict2)
-}
-
-//dict proc forall – -> Execute proc for each entry in dict
-func foralldict(interpreter *Interpreter) {
- proc := NewProcedure(interpreter.PopProcedureDefinition())
- dict := interpreter.Pop().(Dictionary)
- for key, value := range dict {
- interpreter.Push(key)
- interpreter.Push(value)
- proc.Execute(interpreter)
- }
-}
-
-//– currentdict dict -> Return current dictionary
-func currentdict(interpreter *Interpreter) {
- interpreter.Push(interpreter.PeekDictionary())
-}
-
-//– systemdict dict -> Return system dictionary
-func systemdict(interpreter *Interpreter) {
- interpreter.Push(interpreter.SystemDictionary())
-}
-
-//– userdict dict -> Return writeable dictionary in local VM
-func userdict(interpreter *Interpreter) {
- interpreter.Push(interpreter.UserDictionary())
-}
-
-//– globaldict dict -> Return writeable dictionary in global VM
-func globaldict(interpreter *Interpreter) {
- interpreter.Push(interpreter.UserDictionary())
-}
-
-//– statusdict dict -> Return product-dependent dictionary
-func statusdict(interpreter *Interpreter) {
- interpreter.Push(interpreter.UserDictionary())
-}
-
-//– countdictstack int -> Count elements on dictionary stack
-func countdictstack(interpreter *Interpreter) {
- interpreter.Push(float64(interpreter.DictionaryStackSize()))
-}
-
-//array dictstack subarray -> Copy dictionary stack into array
-func dictstack(interpreter *Interpreter) {
- panic("No yet implemenented")
-}
-
-//– cleardictstack – -> Pop all nonpermanent dictionaries off dictionary stack
-func cleardictstack(interpreter *Interpreter) {
- interpreter.ClearDictionaries()
-}
-
-func initDictionaryOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("dict", NewOperator(dict))
- //interpreter.SystemDefine("length", NewOperator(length)) // already define in operators_conflict.go
- interpreter.SystemDefine("maxlength", NewOperator(maxlength))
- interpreter.SystemDefine("begin", NewOperator(begin))
- interpreter.SystemDefine("end", NewOperator(end))
- interpreter.SystemDefine("def", NewOperator(def))
- interpreter.SystemDefine("load", NewOperator(load))
- interpreter.SystemDefine("store", NewOperator(store))
- //interpreter.SystemDefine("get", NewOperator(get)) // already define in operators_conflict.go
- //interpreter.SystemDefine("put", NewOperator(put)) // already define in operators_conflict.go
- interpreter.SystemDefine("undef", NewOperator(undef))
- interpreter.SystemDefine("known", NewOperator(known))
- interpreter.SystemDefine("where", NewOperator(where))
- //interpreter.SystemDefine("copydict", NewOperator(copydict)) // already define in operators_conflict.go
- //interpreter.SystemDefine("foralldict", NewOperator(foralldict)) // already define in operators_conflict.go
- interpreter.SystemDefine("currentdict", NewOperator(currentdict))
- interpreter.SystemDefine("systemdict", NewOperator(systemdict))
- interpreter.SystemDefine("userdict", NewOperator(userdict))
- interpreter.SystemDefine("globaldict", NewOperator(globaldict))
- interpreter.SystemDefine("statusdict", NewOperator(statusdict))
- interpreter.SystemDefine("countdictstack", NewOperator(countdictstack))
- interpreter.SystemDefine("dictstack", NewOperator(dictstack))
- interpreter.SystemDefine("cleardictstack", NewOperator(cleardictstack))
-}
diff --git a/postscript/operators_graphics.go b/postscript/operators_graphics.go
deleted file mode 100644
index f0e7ac9..0000000
--- a/postscript/operators_graphics.go
+++ /dev/null
@@ -1,481 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-// Graphics operators
-package postscript
-
-import (
- "image/color"
- "log"
- "math"
-
- "github.com/llgcode/draw2d/draw2d"
-)
-
-//Path Construction Operators
-func newpath(interpreter *Interpreter) {
- interpreter.GetGraphicContext().BeginPath()
-}
-
-func closepath(interpreter *Interpreter) {
- interpreter.GetGraphicContext().Close()
-}
-
-func currentpoint(interpreter *Interpreter) {
- x, y := interpreter.GetGraphicContext().LastPoint()
- interpreter.Push(x)
- interpreter.Push(y)
-}
-
-func moveto(interpreter *Interpreter) {
- y := interpreter.PopFloat()
- x := interpreter.PopFloat()
- interpreter.GetGraphicContext().MoveTo(x, y)
-}
-
-func rmoveto(interpreter *Interpreter) {
- y := interpreter.PopFloat()
- x := interpreter.PopFloat()
- interpreter.GetGraphicContext().RMoveTo(x, y)
-}
-
-func lineto(interpreter *Interpreter) {
- y := interpreter.PopFloat()
- x := interpreter.PopFloat()
- interpreter.GetGraphicContext().LineTo(x, y)
-}
-
-func rlineto(interpreter *Interpreter) {
- y := interpreter.PopFloat()
- x := interpreter.PopFloat()
- interpreter.GetGraphicContext().RLineTo(x, y)
-}
-
-func curveto(interpreter *Interpreter) {
- cy3 := interpreter.PopFloat()
- cx3 := interpreter.PopFloat()
- cy2 := interpreter.PopFloat()
- cx2 := interpreter.PopFloat()
- cy1 := interpreter.PopFloat()
- cx1 := interpreter.PopFloat()
- interpreter.GetGraphicContext().CubicCurveTo(cx1, cy1, cx2, cy2, cx3, cy3)
-}
-
-func rcurveto(interpreter *Interpreter) {
- cy3 := interpreter.PopFloat()
- cx3 := interpreter.PopFloat()
- cy2 := interpreter.PopFloat()
- cx2 := interpreter.PopFloat()
- cy1 := interpreter.PopFloat()
- cx1 := interpreter.PopFloat()
- interpreter.GetGraphicContext().RCubicCurveTo(cx1, cy1, cx2, cy2, cx3, cy3)
-}
-
-func arc(interpreter *Interpreter) {
- angle2 := interpreter.PopFloat() * (math.Pi / 180.0)
- angle1 := interpreter.PopFloat() * (math.Pi / 180.0)
- r := interpreter.PopFloat()
- y := interpreter.PopFloat()
- x := interpreter.PopFloat()
- interpreter.GetGraphicContext().ArcTo(x, y, r, r, angle1, angle2-angle1)
-}
-
-func clippath(interpreter *Interpreter) {
- //log.Printf("clippath not yet implemented")
-}
-
-func stroke(interpreter *Interpreter) {
- interpreter.GetGraphicContext().Stroke()
-}
-
-func fill(interpreter *Interpreter) {
- interpreter.GetGraphicContext().Fill()
-}
-
-func gsave(interpreter *Interpreter) {
- interpreter.GetGraphicContext().Save()
-}
-
-func grestore(interpreter *Interpreter) {
- interpreter.GetGraphicContext().Restore()
-}
-
-func setgray(interpreter *Interpreter) {
- gray := interpreter.PopFloat()
- color := color.RGBA{uint8(gray * 0xff), uint8(gray * 0xff), uint8(gray * 0xff), 0xff}
- interpreter.GetGraphicContext().SetStrokeColor(color)
- interpreter.GetGraphicContext().SetFillColor(color)
-}
-
-func setrgbcolor(interpreter *Interpreter) {
- blue := interpreter.PopFloat()
- green := interpreter.PopFloat()
- red := interpreter.PopFloat()
- color := color.RGBA{uint8(red * 0xff), uint8(green * 0xff), uint8(blue * 0xff), 0xff}
- interpreter.GetGraphicContext().SetStrokeColor(color)
- interpreter.GetGraphicContext().SetFillColor(color)
-}
-
-func hsbtorgb(hue, saturation, brightness float64) (red, green, blue int) {
- var fr, fg, fb float64
- if saturation == 0 {
- fr, fg, fb = brightness, brightness, brightness
- } else {
- H := (hue - math.Floor(hue)) * 6
- I := int(math.Floor(H))
- F := H - float64(I)
- M := brightness * (1 - saturation)
- N := brightness * (1 - saturation*F)
- K := brightness * (1 - saturation*(1-F))
-
- switch I {
- case 0:
- fr = brightness
- fg = K
- fb = M
- case 1:
- fr = N
- fg = brightness
- fb = M
- case 2:
- fr = M
- fg = brightness
- fb = K
- case 3:
- fr = M
- fg = N
- fb = brightness
- case 4:
- fr = K
- fg = M
- fb = brightness
- case 5:
- fr = brightness
- fg = M
- fb = N
- default:
- fr, fb, fg = 0, 0, 0
- }
- }
-
- red = int(fr*255. + 0.5)
- green = int(fg*255. + 0.5)
- blue = int(fb*255. + 0.5)
- return
-}
-
-func sethsbcolor(interpreter *Interpreter) {
- brightness := interpreter.PopFloat()
- saturation := interpreter.PopFloat()
- hue := interpreter.PopFloat()
- red, green, blue := hsbtorgb(hue, saturation, brightness)
- color := color.RGBA{uint8(red), uint8(green), uint8(blue), 0xff}
- interpreter.GetGraphicContext().SetStrokeColor(color)
- interpreter.GetGraphicContext().SetFillColor(color)
-}
-
-func setcmybcolor(interpreter *Interpreter) {
- black := interpreter.PopFloat()
- yellow := interpreter.PopFloat()
- magenta := interpreter.PopFloat()
- cyan := interpreter.PopFloat()
-
- /* cyan = cyan / 255.0;
- magenta = magenta / 255.0;
- yellow = yellow / 255.0;
- black = black / 255.0; */
-
- red := cyan*(1.0-black) + black
- green := magenta*(1.0-black) + black
- blue := yellow*(1.0-black) + black
-
- red = (1.0-red)*255.0 + 0.5
- green = (1.0-green)*255.0 + 0.5
- blue = (1.0-blue)*255.0 + 0.5
-
- color := color.RGBA{uint8(red), uint8(green), uint8(blue), 0xff}
- interpreter.GetGraphicContext().SetStrokeColor(color)
- interpreter.GetGraphicContext().SetFillColor(color)
-}
-
-func setdash(interpreter *Interpreter) {
- interpreter.PopInt() // offset
- interpreter.PopArray() // dash
- //log.Printf("setdash not yet implemented dash: %v, offset: %d \n", dash, offset)
-}
-
-func setlinejoin(interpreter *Interpreter) {
- linejoin := interpreter.PopInt()
- switch linejoin {
- case 0:
- interpreter.GetGraphicContext().SetLineJoin(draw2d.MiterJoin)
- case 1:
- interpreter.GetGraphicContext().SetLineJoin(draw2d.RoundJoin)
- case 2:
- interpreter.GetGraphicContext().SetLineJoin(draw2d.BevelJoin)
- }
-}
-
-func setlinecap(interpreter *Interpreter) {
- linecap := interpreter.PopInt()
- switch linecap {
- case 0:
- interpreter.GetGraphicContext().SetLineCap(draw2d.ButtCap)
- case 1:
- interpreter.GetGraphicContext().SetLineCap(draw2d.RoundCap)
- case 2:
- interpreter.GetGraphicContext().SetLineCap(draw2d.SquareCap)
- }
-}
-
-func setmiterlimit(interpreter *Interpreter) {
- interpreter.PopInt()
- //log.Printf("setmiterlimit not yet implemented")
-}
-
-func setlinewidth(interpreter *Interpreter) {
- interpreter.GetGraphicContext().SetLineWidth(interpreter.PopFloat())
-}
-
-func showpage(interpreter *Interpreter) {
- //log.Printf("showpage may be an implementation specific, override show page to generate multi page images")
-}
-
-func show(interpreter *Interpreter) {
- s := interpreter.PopString()
- interpreter.GetGraphicContext().FillString(s)
- log.Printf("show not really implemented")
-}
-
-//ax ay string ashow – -> Add (ax , ay) to width of each glyph while showing string
-func ashow(interpreter *Interpreter) {
- log.Printf("ashow not really implemented")
- s := interpreter.PopString()
- interpreter.PopFloat()
- interpreter.PopFloat()
- interpreter.GetGraphicContext().FillString(s)
-}
-
-func findfont(interpreter *Interpreter) {
- log.Printf("findfont not yet implemented")
-}
-
-func scalefont(interpreter *Interpreter) {
- log.Printf("scalefont not yet implemented")
-}
-
-func setfont(interpreter *Interpreter) {
- log.Printf("setfont not yet implemented")
-}
-
-func stringwidth(interpreter *Interpreter) {
- interpreter.Push(10.0)
- interpreter.Push(10.0)
- log.Printf("stringwidth not yet implemented")
-}
-
-func setflat(interpreter *Interpreter) {
- interpreter.Pop()
- //log.Printf("setflat not yet implemented")
-}
-
-func currentflat(interpreter *Interpreter) {
- interpreter.Push(1.0)
- //log.Printf("currentflat not yet implemented")
-}
-
-// Coordinate System and Matrix operators
-func matrix(interpreter *Interpreter) {
- interpreter.Push(draw2d.NewIdentityMatrix())
-}
-
-func initmatrix(interpreter *Interpreter) {
- interpreter.Push(draw2d.NewIdentityMatrix())
-}
-
-func identmatrix(interpreter *Interpreter) {
- tr := interpreter.Pop().(draw2d.MatrixTransform)
- ident := draw2d.NewIdentityMatrix()
- copy(tr[:], ident[:])
- interpreter.Push(tr)
-}
-
-func defaultmatrix(interpreter *Interpreter) {
- tr := interpreter.Pop().(draw2d.MatrixTransform)
- ident := draw2d.NewIdentityMatrix()
- copy(tr[:], ident[:])
- interpreter.Push(tr)
-}
-
-func currentmatrix(interpreter *Interpreter) {
- tr := interpreter.Pop().(draw2d.MatrixTransform)
- ctm := interpreter.GetGraphicContext().GetMatrixTransform()
- copy(tr[:], ctm[:])
- interpreter.Push(tr)
-}
-
-func setmatrix(interpreter *Interpreter) {
- tr := interpreter.Pop().(draw2d.MatrixTransform)
- interpreter.GetGraphicContext().SetMatrixTransform(tr)
-}
-
-func concat(interpreter *Interpreter) {
- tr := interpreter.Pop().(draw2d.MatrixTransform)
- interpreter.GetGraphicContext().ComposeMatrixTransform(tr)
-}
-func concatmatrix(interpreter *Interpreter) {
- tr3 := interpreter.Pop().(draw2d.MatrixTransform)
- tr2 := interpreter.Pop().(draw2d.MatrixTransform)
- tr1 := interpreter.Pop().(draw2d.MatrixTransform)
- result := tr1.Multiply(tr2)
- copy(tr3[:], result[:])
- interpreter.Push(tr3)
-}
-
-func transform(interpreter *Interpreter) {
- value := interpreter.Pop()
- matrix, ok := value.(draw2d.MatrixTransform)
- var y float64
- if !ok {
- matrix = interpreter.GetGraphicContext().GetMatrixTransform()
- y = value.(float64)
- } else {
- y = interpreter.PopFloat()
- }
- x := interpreter.PopFloat()
- matrix.Transform(&x, &y)
- interpreter.Push(x)
- interpreter.Push(y)
-}
-
-func itransform(interpreter *Interpreter) {
- value := interpreter.Pop()
- matrix, ok := value.(draw2d.MatrixTransform)
- var y float64
- if !ok {
- matrix = interpreter.GetGraphicContext().GetMatrixTransform()
- y = value.(float64)
- } else {
- y = interpreter.PopFloat()
- }
- x := interpreter.PopFloat()
- matrix.InverseTransform(&x, &y)
- interpreter.Push(x)
- interpreter.Push(y)
-}
-
-func translate(interpreter *Interpreter) {
- value := interpreter.Pop()
- matrix, ok := value.(draw2d.MatrixTransform)
- var y float64
- if !ok {
- matrix = interpreter.GetGraphicContext().GetMatrixTransform()
- y = value.(float64)
- } else {
- y = interpreter.PopFloat()
- }
- x := interpreter.PopFloat()
- if !ok {
- interpreter.GetGraphicContext().Translate(x, y)
- } else {
- matrix = draw2d.NewTranslationMatrix(x, y).Multiply(matrix)
- interpreter.Push(matrix)
- }
-}
-
-func rotate(interpreter *Interpreter) {
- value := interpreter.Pop()
- matrix, ok := value.(draw2d.MatrixTransform)
- var angle float64
- if !ok {
- matrix = interpreter.GetGraphicContext().GetMatrixTransform()
- angle = value.(float64) * math.Pi / 180
- } else {
- angle = interpreter.PopFloat() * math.Pi / 180
- }
- if !ok {
- interpreter.GetGraphicContext().Rotate(angle)
- } else {
- matrix = draw2d.NewRotationMatrix(angle).Multiply(matrix)
- interpreter.Push(matrix)
- }
-}
-
-func scale(interpreter *Interpreter) {
- value := interpreter.Pop()
- matrix, ok := value.(draw2d.MatrixTransform)
- var y float64
- if !ok {
- matrix = interpreter.GetGraphicContext().GetMatrixTransform()
- y = value.(float64)
- } else {
- y = interpreter.PopFloat()
- }
- x := interpreter.PopFloat()
- if !ok {
- interpreter.GetGraphicContext().Scale(x, y)
- } else {
- matrix = draw2d.NewScaleMatrix(x, y).Multiply(matrix)
- interpreter.Push(matrix)
- }
-}
-
-func initDrawingOperators(interpreter *Interpreter) {
-
- interpreter.SystemDefine("stroke", NewOperator(stroke))
- interpreter.SystemDefine("fill", NewOperator(fill))
- interpreter.SystemDefine("show", NewOperator(show))
- interpreter.SystemDefine("ashow", NewOperator(ashow))
- interpreter.SystemDefine("showpage", NewOperator(showpage))
-
- interpreter.SystemDefine("findfont", NewOperator(findfont))
- interpreter.SystemDefine("scalefont", NewOperator(scalefont))
- interpreter.SystemDefine("setfont", NewOperator(setfont))
- interpreter.SystemDefine("stringwidth", NewOperator(stringwidth))
-
- // Graphic state operators
- interpreter.SystemDefine("gsave", NewOperator(gsave))
- interpreter.SystemDefine("grestore", NewOperator(grestore))
- interpreter.SystemDefine("setrgbcolor", NewOperator(setrgbcolor))
- interpreter.SystemDefine("sethsbcolor", NewOperator(sethsbcolor))
- interpreter.SystemDefine("setcmybcolor", NewOperator(setcmybcolor))
- interpreter.SystemDefine("setcmykcolor", NewOperator(setcmybcolor))
- interpreter.SystemDefine("setgray", NewOperator(setgray))
- interpreter.SystemDefine("setdash", NewOperator(setdash))
- interpreter.SystemDefine("setlinejoin", NewOperator(setlinejoin))
- interpreter.SystemDefine("setlinecap", NewOperator(setlinecap))
- interpreter.SystemDefine("setmiterlimit", NewOperator(setmiterlimit))
- interpreter.SystemDefine("setlinewidth", NewOperator(setlinewidth))
- // Graphic state operators device dependent
- interpreter.SystemDefine("setflat", NewOperator(setflat))
- interpreter.SystemDefine("currentflat", NewOperator(currentflat))
-
- // Coordinate System and Matrix operators
- interpreter.SystemDefine("matrix", NewOperator(matrix))
- interpreter.SystemDefine("initmatrix", NewOperator(initmatrix))
- interpreter.SystemDefine("identmatrix", NewOperator(identmatrix))
- interpreter.SystemDefine("defaultmatrix", NewOperator(defaultmatrix))
- interpreter.SystemDefine("currentmatrix", NewOperator(currentmatrix))
- interpreter.SystemDefine("setmatrix", NewOperator(setmatrix))
- interpreter.SystemDefine("concat", NewOperator(concat))
- interpreter.SystemDefine("concatmatrix", NewOperator(concatmatrix))
-
- interpreter.SystemDefine("transform", NewOperator(transform))
- interpreter.SystemDefine("itransform", NewOperator(itransform))
- interpreter.SystemDefine("translate", NewOperator(translate))
- interpreter.SystemDefine("rotate", NewOperator(rotate))
- interpreter.SystemDefine("scale", NewOperator(scale))
-
- //Path Construction Operators
- interpreter.SystemDefine("newpath", NewOperator(newpath))
- interpreter.SystemDefine("closepath", NewOperator(closepath))
- interpreter.SystemDefine("currentpoint", NewOperator(currentpoint))
- interpreter.SystemDefine("moveto", NewOperator(moveto))
- interpreter.SystemDefine("rmoveto", NewOperator(rmoveto))
- interpreter.SystemDefine("lineto", NewOperator(lineto))
- interpreter.SystemDefine("rlineto", NewOperator(rlineto))
- interpreter.SystemDefine("curveto", NewOperator(curveto))
- interpreter.SystemDefine("rcurveto", NewOperator(rcurveto))
- interpreter.SystemDefine("arc", NewOperator(arc))
- interpreter.SystemDefine("clippath", NewOperator(clippath))
-}
diff --git a/postscript/operators_math.go b/postscript/operators_math.go
deleted file mode 100644
index 0537ea6..0000000
--- a/postscript/operators_math.go
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-//Arithmetic and Math Operators
-package postscript
-
-import (
- "math"
- "math/rand"
-)
-
-// begin Primitive Operator implementation
-
-//num1 num2 add sum -> Return num1 plus num2
-func add(interpreter *Interpreter) {
- num2 := interpreter.PopFloat()
- num1 := interpreter.PopFloat()
- interpreter.Push(num1 + num2)
-}
-
-//num1 num2 div quotient -> Return num1 divided by num2
-func div(interpreter *Interpreter) {
- num2 := interpreter.PopFloat()
- num1 := interpreter.PopFloat()
- interpreter.Push(num1 / num2)
-}
-
-//int1 int2 idiv quotient -> Return int1 divided by int2
-func idiv(interpreter *Interpreter) {
- int2 := interpreter.PopInt()
- int1 := interpreter.PopInt()
- interpreter.Push(float64(int1 / int2))
-}
-
-//int int mod remainder -> Return remainder after dividing int by int
-func mod(interpreter *Interpreter) {
- int2 := interpreter.PopInt()
- int1 := interpreter.PopInt()
- interpreter.Push(float64(int1 % int2))
-}
-
-//num1 num2 mul product -> Return num1 times num2
-func mul(interpreter *Interpreter) {
- num2 := interpreter.PopFloat()
- num1 := interpreter.PopFloat()
- interpreter.Push(num1 * num2)
-}
-
-//num1 num2 sub difference -> Return num1 minus num2
-func sub(interpreter *Interpreter) {
- num2 := interpreter.PopFloat()
- num1 := interpreter.PopFloat()
- interpreter.Push(num1 - num2)
-}
-
-//num1 abs num2 -> Return absolute value of num1
-func abs(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(math.Abs(f))
-}
-
-//num1 neg num2 -> Return negative of num1
-func neg(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(-f)
-}
-
-//num1 ceiling num2 -> Return ceiling of num1
-func ceiling(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(float64(int(f + 1)))
-}
-
-//num1 floor num2 -> Return floor of num1
-func floor(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(math.Floor(f))
-}
-
-//num1 round num2 -> Round num1 to nearest integer
-func round(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(float64(int(f + 0.5)))
-}
-
-//num1 truncate num2 -> Remove fractional part of num1
-func truncate(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(float64(int(f)))
-}
-
-//num sqrt real -> Return square root of num
-func sqrt(interpreter *Interpreter) {
- f := interpreter.PopFloat()
- interpreter.Push(float64(math.Sqrt(f)))
-}
-
-//num den atan angle -> Return arctangent of num/den in degrees
-func atan(interpreter *Interpreter) {
- den := interpreter.PopFloat()
- num := interpreter.PopFloat()
- interpreter.Push(math.Atan2(num, den) * (180.0 / math.Pi))
-}
-
-//angle cos real -> Return cosine of angle degrees
-func cos(interpreter *Interpreter) {
- a := interpreter.PopFloat() * math.Pi / 180
- interpreter.Push(math.Cos(a))
-}
-
-//angle sin real -> Return sine of angle degrees
-func sin(interpreter *Interpreter) {
- a := interpreter.PopFloat() * math.Pi / 180
- interpreter.Push(math.Sin(a))
-}
-
-//base exponent exp real -> Raise base to exponent power
-func exp(interpreter *Interpreter) {
- exponent := interpreter.PopFloat()
- base := interpreter.PopFloat()
- interpreter.Push(math.Pow(base, exponent))
-}
-
-//num ln real -> Return natural logarithm (base e)
-func ln(interpreter *Interpreter) {
- num := interpreter.PopFloat()
- interpreter.Push(math.Log(num))
-}
-
-//num log real -> Return common logarithm (base 10)
-func log10(interpreter *Interpreter) {
- num := interpreter.PopFloat()
- interpreter.Push(math.Log10(num))
-}
-
-//– rand int Generate pseudo-random integer
-func randInt(interpreter *Interpreter) {
- interpreter.Push(float64(rand.Int()))
-}
-
-var randGenerator *rand.Rand
-
-//int srand – -> Set random number seed
-func srand(interpreter *Interpreter) {
- randGenerator = rand.New(rand.NewSource(int64(interpreter.PopInt())))
-}
-
-//– rrand int -> Return random number seed
-func rrand(interpreter *Interpreter) {
- interpreter.Push(float64(randGenerator.Int()))
-}
-
-func initMathOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("add", NewOperator(add))
- interpreter.SystemDefine("div", NewOperator(div))
- interpreter.SystemDefine("idiv", NewOperator(idiv))
- interpreter.SystemDefine("mod", NewOperator(mod))
- interpreter.SystemDefine("mul", NewOperator(mul))
- interpreter.SystemDefine("sub", NewOperator(sub))
- interpreter.SystemDefine("abs", NewOperator(abs))
- interpreter.SystemDefine("neg", NewOperator(neg))
- interpreter.SystemDefine("ceiling", NewOperator(ceiling))
- interpreter.SystemDefine("floor", NewOperator(floor))
- interpreter.SystemDefine("round", NewOperator(round))
- interpreter.SystemDefine("truncate", NewOperator(truncate))
- interpreter.SystemDefine("sqrt", NewOperator(sqrt))
- interpreter.SystemDefine("atan", NewOperator(atan))
- interpreter.SystemDefine("cos", NewOperator(cos))
- interpreter.SystemDefine("sin", NewOperator(sin))
- interpreter.SystemDefine("exp", NewOperator(exp))
- interpreter.SystemDefine("ln", NewOperator(ln))
- interpreter.SystemDefine("log", NewOperator(log10))
- interpreter.SystemDefine("rand", NewOperator(randInt))
- interpreter.SystemDefine("srand", NewOperator(srand))
- interpreter.SystemDefine("rrand", NewOperator(rrand))
-
-}
diff --git a/postscript/operators_misc.go b/postscript/operators_misc.go
deleted file mode 100644
index cf4d5b9..0000000
--- a/postscript/operators_misc.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-// Miscellaneous Operators
-package postscript
-
-//proc bind proc Replace operator names in proc with operators; perform idiom recognition
-func bind(interpreter *Interpreter) {
- pdef := interpreter.PopProcedureDefinition()
- values := make([]Value, len(pdef.Values))
- for i, value := range pdef.Values {
- if s, ok := value.(string); ok {
- firstChar := s[0]
- if firstChar != '(' && firstChar != '/' {
- v, _ := interpreter.FindValueInDictionaries(s)
- operator, isOperator := v.(Operator)
- if v == nil {
- // log.Printf("Can't find def: %s\n", s)
- }
- if isOperator {
- values[i] = operator
- } else {
- values[i] = value
- }
- } else {
- values[i] = value
- }
- } else {
- values[i] = value
- }
- }
- pdef.Values = values
- interpreter.Push(pdef)
-}
-
-func initMiscellaneousOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("bind", NewOperator(bind))
-}
diff --git a/postscript/operators_relational.go b/postscript/operators_relational.go
deleted file mode 100644
index d5cbdd7..0000000
--- a/postscript/operators_relational.go
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-func eq(interpreter *Interpreter) {
- value1 := interpreter.Pop()
- value2 := interpreter.Pop()
- interpreter.Push(value1 == value2)
-}
-
-func ne(interpreter *Interpreter) {
- value1 := interpreter.Pop()
- value2 := interpreter.Pop()
- interpreter.Push(value1 != value2)
-}
-
-func not(interpreter *Interpreter) {
- b := interpreter.PopBoolean()
- interpreter.Push(!b)
-}
-
-func lt(interpreter *Interpreter) {
- f2 := interpreter.PopFloat()
- f1 := interpreter.PopFloat()
- interpreter.Push(f1 < f2)
-}
-func gt(interpreter *Interpreter) {
- f2 := interpreter.PopFloat()
- f1 := interpreter.PopFloat()
- interpreter.Push(f1 > f2)
-}
-
-func initRelationalOperators(interpreter *Interpreter) {
- interpreter.SystemDefine("eq", NewOperator(eq))
- interpreter.SystemDefine("ne", NewOperator(ne))
- interpreter.SystemDefine("not", NewOperator(not))
- interpreter.SystemDefine("lt", NewOperator(lt))
- interpreter.SystemDefine("gt", NewOperator(gt))
-}
diff --git a/postscript/operators_stack.go b/postscript/operators_stack.go
deleted file mode 100644
index fd313a7..0000000
--- a/postscript/operators_stack.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-//Operand Stack Manipulation Operators
-package postscript
-
-//any pop – -> Discard top element
-func pop(interpreter *Interpreter) {
- interpreter.Pop()
-}
-
-//any1 any2 exch any2 any1 -> Exchange top two elements
-func exch(interpreter *Interpreter) {
- value1 := interpreter.Pop()
- value2 := interpreter.Pop()
- interpreter.Push(value1)
- interpreter.Push(value2)
-}
-
-//any dup any any -> Duplicate top element
-func dup(interpreter *Interpreter) {
- interpreter.Push(interpreter.Peek())
-}
-
-//any1 … anyn n copy any1 … anyn any1 … anyn -> Duplicate top n elements
-func copystack(interpreter *Interpreter) {
- n := interpreter.PopInt()
- values := interpreter.GetValues(n)
- for _, value := range values {
- interpreter.Push(value)
- }
-}
-
-//anyn … any0 n index anyn … any0 anyn -> Duplicate arbitrary element
-func index(interpreter *Interpreter) {
- f := interpreter.PopInt()
- interpreter.Push(interpreter.Get(int(f)))
-}
-
-//anyn−1 … any0 n j roll any(j−1) mod n … any0 anyn−1 … anyj mod n -> Roll n elements up j times
-func roll(interpreter *Interpreter) {
- j := interpreter.PopInt()
- n := interpreter.PopInt()
- values := interpreter.PopValues(n)
- j %= n
- for i := 0; i < n; i++ {
- interpreter.Push(values[(n+i-j)%n])
- }
-}
-
-//any1 … anyn clear -> Discard all elements
-func clear(interpreter *Interpreter) {
- interpreter.ClearOperands()
-}
-
-//any1 … anyn count any1 … anyn n -> Count elements on stack
-func count(interpreter *Interpreter) {
- interpreter.Push(interpreter.OperandSize())
-}
-
-//Mark
-type Mark struct{}
-
-//– mark mark -> Push mark on stack
-func mark(interpreter *Interpreter) {
- interpreter.Push(Mark{})
-}
-
-//mark obj 1 … obj n cleartomark – -> Discard elements down through mark
-func cleartomark(interpreter *Interpreter) {
- value := interpreter.Pop()
- for _, ok := value.(Mark); !ok; {
- value = interpreter.Pop()
- }
-}
-
-//mark obj 1 … obj n counttomark mark obj 1 … obj n n -> Count elements down to mark
-func counttomark(interpreter *Interpreter) {
- i := 0
- value := interpreter.Get(i)
- for _, ok := value.(Mark); !ok; i++ {
- value = interpreter.Get(i)
- }
- interpreter.Push(float64(i))
-}
-
-func initStackOperator(interpreter *Interpreter) {
- interpreter.SystemDefine("pop", NewOperator(pop))
- interpreter.SystemDefine("exch", NewOperator(exch))
- interpreter.SystemDefine("dup", NewOperator(dup))
- interpreter.SystemDefine("index", NewOperator(index))
- interpreter.SystemDefine("roll", NewOperator(roll))
- interpreter.SystemDefine("clear", NewOperator(clear))
- interpreter.SystemDefine("count", NewOperator(count))
- interpreter.SystemDefine("mark", NewOperator(mark))
- interpreter.SystemDefine("cleartomark", NewOperator(mark))
- interpreter.SystemDefine("counttomark", NewOperator(mark))
-}
diff --git a/postscript/procedure.go b/postscript/procedure.go
deleted file mode 100644
index f14c721..0000000
--- a/postscript/procedure.go
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 The postscript-go Authors. All rights reserved.
-// created: 13/12/2010 by Laurent Le Goff
-
-package postscript
-
-type ProcedureDefinition struct {
- Values []Value
-}
-
-func NewProcedureDefinition() *ProcedureDefinition {
- proceduredef := new(ProcedureDefinition)
- proceduredef.Values = make([]Value, 0, 100)
- return proceduredef
-}
-
-func (p *ProcedureDefinition) Add(value Value) {
- p.Values = append(p.Values, value)
-}
-
-type Procedure struct {
- def *ProcedureDefinition
-}
-
-func NewProcedure(def *ProcedureDefinition) *Procedure {
- return &Procedure{def}
-}
-
-func (p *Procedure) Execute(interpreter *Interpreter) {
- for _, value := range p.def.Values {
- if s, ok := value.(string); ok {
- firstChar := s[0]
- if firstChar != '(' && firstChar != '/' {
- interpreter.computeReference(s)
- } else {
- interpreter.Push(value)
- }
- } else {
- operator, isOperator := value.(Operator)
- if isOperator {
- operator.Execute(interpreter)
- } else {
- interpreter.Push(value)
- }
- }
- }
-}
diff --git a/postscript/scanner.go b/postscript/scanner.go
deleted file mode 100644
index c957561..0000000
--- a/postscript/scanner.go
+++ /dev/null
@@ -1,572 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-// postscript scanner derived form the scanner package of go sources
-package postscript
-
-import (
- "bytes"
- "fmt"
- "io"
- "os"
- "unicode"
- "unicode/utf8"
-)
-
-// A source position is represented by a Position value.
-// A position is valid if Line > 0.
-type Position struct {
- Filename string // filename, if any
- Offset int // byte offset, starting at 0
- Line int // line number, starting at 1
- Column int // column number, starting at 0 (character count per line)
-}
-
-// IsValid returns true if the position is valid.
-func (pos *Position) IsValid() bool { return pos.Line > 0 }
-
-func (pos Position) String() string {
- s := pos.Filename
- if pos.IsValid() {
- if s != "" {
- s += ":"
- }
- s += fmt.Sprintf("%d:%d", pos.Line, pos.Column)
- }
- if s == "" {
- s = "???"
- }
- return s
-}
-
-// Predefined mode bits to control recognition of tokens. For instance,
-// to configure a Scanner such that it only recognizes (Go) identifiers,
-// integers, and skips comments, set the Scanner's Mode field to:
-//
-// ScanIdents | ScanInts | SkipComments
-//
-const (
- ScanIdents = 1 << -Ident
- ScanInts = 1 << -Int
- ScanFloats = 1 << -Float // includes Ints
- ScanChars = 1 << -Char
- ScanStrings = 1 << -String
- ScanRawStrings = 1 << -RawString
- ScanComments = 1 << -Comment
- SkipComments = 1 << -skipComment // if set with ScanComments, comments become white space
- GoTokens = ScanIdents | ScanFloats | ScanChars | ScanStrings | ScanRawStrings | ScanComments | SkipComments
-)
-
-// The result of Scan is one of the following tokens or a Unicode character.
-const (
- EOF = -(iota + 1)
- Ident
- Int
- Float
- Char
- String
- RawString
- Comment
- skipComment
-)
-
-var tokenString = map[int]string{
- EOF: "EOF",
- Ident: "Ident",
- Int: "Int",
- Float: "Float",
- Char: "Char",
- String: "String",
- RawString: "RawString",
- Comment: "Comment",
-}
-
-// TokenString returns a (visible) string for a token or Unicode character.
-func TokenString(tok int) string {
- if s, found := tokenString[tok]; found {
- return s
- }
- return fmt.Sprintf("U+%04X", tok)
-}
-
-// GoWhitespace is the default value for the Scanner's Whitespace field.
-// Its value selects Go's white space characters.
-const GoWhitespace = 1<<'\t' | 1<<'\n' | 1<<'\r' | 1<<' '
-
-const bufLen = 1024 // at least utf8.UTFMax
-
-// A Scanner implements reading of Unicode characters and tokens from an io.Reader.
-type Scanner struct {
- // Input
- src io.Reader
-
- // Source buffer
- srcBuf [bufLen + 1]byte // +1 for sentinel for common case of s.next()
- srcPos int // reading position (srcBuf index)
- srcEnd int // source end (srcBuf index)
-
- // Source position
- srcBufOffset int // byte offset of srcBuf[0] in source
- line int // newline count + 1
- column int // character count on line
-
- // Token text buffer
- // Typically, token text is stored completely in srcBuf, but in general
- // the token text's head may be buffered in tokBuf while the token text's
- // tail is stored in srcBuf.
- tokBuf bytes.Buffer // token text head that is not in srcBuf anymore
- tokPos int // token text tail position (srcBuf index)
- tokEnd int // token text tail end (srcBuf index)
-
- // One character look-ahead
- ch rune // character before current srcPos
-
- // Error is called for each error encountered. If no Error
- // function is set, the error is reported to os.Stderr.
- Error func(s *Scanner, msg string)
-
- // ErrorCount is incremented by one for each error encountered.
- ErrorCount int
-
- // The Mode field controls which tokens are recognized. For instance,
- // to recognize Ints, set the ScanInts bit in Mode. The field may be
- // changed at any time.
- Mode uint
-
- // The Whitespace field controls which characters are recognized
- // as white space. To recognize a character ch <= ' ' as white space,
- // set the ch'th bit in Whitespace (the Scanner's behavior is undefined
- // for values ch > ' '). The field may be changed at any time.
- Whitespace uint64
-
- // Current token position. The Offset, Line, and Column fields
- // are set by Scan(); the Filename field is left untouched by the
- // Scanner.
- Position
-}
-
-// Init initializes a Scanner with a new source and returns itself.
-// Error is set to nil, ErrorCount is set to 0, Mode is set to GoTokens,
-// and Whitespace is set to GoWhitespace.
-func (s *Scanner) Init(src io.Reader) *Scanner {
- s.src = src
-
- // initialize source buffer
- s.srcBuf[0] = utf8.RuneSelf // sentinel
- s.srcPos = 0
- s.srcEnd = 0
-
- // initialize source position
- s.srcBufOffset = 0
- s.line = 1
- s.column = 0
-
- // initialize token text buffer
- s.tokPos = -1
-
- // initialize one character look-ahead
- s.ch = s.next()
-
- // initialize public fields
- s.Error = nil
- s.ErrorCount = 0
- s.Mode = GoTokens
- s.Whitespace = GoWhitespace
-
- return s
-}
-
-// next reads and returns the next Unicode character. It is designed such
-// that only a minimal amount of work needs to be done in the common ASCII
-// case (one test to check for both ASCII and end-of-buffer, and one test
-// to check for newlines).
-func (s *Scanner) next() rune {
- ch := rune(s.srcBuf[s.srcPos])
-
- if ch >= utf8.RuneSelf {
- // uncommon case: not ASCII or not enough bytes
- for s.srcPos+utf8.UTFMax > s.srcEnd && !utf8.FullRune(s.srcBuf[s.srcPos:s.srcEnd]) {
- // not enough bytes: read some more, but first
- // save away token text if any
- if s.tokPos >= 0 {
- s.tokBuf.Write(s.srcBuf[s.tokPos:s.srcPos])
- s.tokPos = 0
- }
- // move unread bytes to beginning of buffer
- copy(s.srcBuf[0:], s.srcBuf[s.srcPos:s.srcEnd])
- s.srcBufOffset += s.srcPos
- // read more bytes
- i := s.srcEnd - s.srcPos
- n, err := s.src.Read(s.srcBuf[i:bufLen])
- s.srcEnd = i + n
- s.srcPos = 0
- s.srcBuf[s.srcEnd] = utf8.RuneSelf // sentinel
- if err != nil {
- if s.srcEnd == 0 {
- return EOF
- }
- if err != io.EOF {
- s.error(err.Error())
- break
- }
- }
- }
- // at least one byte
- ch = rune(s.srcBuf[s.srcPos])
- if ch >= utf8.RuneSelf {
- // uncommon case: not ASCII
- var width int
- ch, width = utf8.DecodeRune(s.srcBuf[s.srcPos:s.srcEnd])
- if ch == utf8.RuneError && width == 1 {
- s.error("illegal UTF-8 encoding")
- }
- s.srcPos += width - 1
- }
- }
-
- s.srcPos++
- s.column++
- switch ch {
- case 0:
- // implementation restriction for compatibility with other tools
- s.error("illegal character NUL")
- case '\n':
- s.line++
- s.column = 0
- }
-
- return ch
-}
-
-// Next reads and returns the next Unicode character.
-// It returns EOF at the end of the source. It reports
-// a read error by calling s.Error, if set, or else
-// prints an error message to os.Stderr. Next does not
-// update the Scanner's Position field; use Pos() to
-// get the current position.
-func (s *Scanner) Next() rune {
- s.tokPos = -1 // don't collect token text
- ch := s.ch
- s.ch = s.next()
- return ch
-}
-
-// Peek returns the next Unicode character in the source without advancing
-// the scanner. It returns EOF if the scanner's position is at the last
-// character of the source.
-func (s *Scanner) Peek() rune {
- return s.ch
-}
-
-func (s *Scanner) error(msg string) {
- s.ErrorCount++
- if s.Error != nil {
- s.Error(s, msg)
- return
- }
- fmt.Fprintf(os.Stderr, "%s: %s", s.Position, msg)
-}
-
-func (s *Scanner) scanIdentifier() rune {
- ch := s.next() // read character after first '_' or letter
- for ch == '_' || unicode.IsLetter(ch) || unicode.IsDigit(ch) || ch == '.' || ch == '-' || ch == '`' {
- ch = s.next()
- }
- return ch
-}
-
-func digitVal(ch rune) rune {
- switch {
- case '0' <= ch && ch <= '9':
- return ch - '0'
- case 'a' <= ch && ch <= 'f':
- return ch - 'a' + 10
- case 'A' <= ch && ch <= 'F':
- return ch - 'A' + 10
- }
- return 16 // larger than any legal digit val
-}
-
-func isDecimal(ch rune) bool { return '0' <= ch && ch <= '9' }
-
-func (s *Scanner) scanMantissa(ch rune) rune {
- for isDecimal(ch) {
- ch = s.next()
- }
- return ch
-}
-
-func (s *Scanner) scanFraction(ch rune) rune {
- if ch == '.' {
- ch = s.scanMantissa(s.next())
- }
- return ch
-}
-
-func (s *Scanner) scanExponent(ch rune) rune {
- if ch == 'e' || ch == 'E' {
- ch = s.next()
- if ch == '-' || ch == '+' {
- ch = s.next()
- }
- ch = s.scanMantissa(ch)
- }
- return ch
-}
-
-func (s *Scanner) scanNumber(ch rune) (int, rune) {
- // isDecimal(ch)
- if ch == '0' {
- // int or float
- ch = s.next()
- if ch == 'x' || ch == 'X' {
- // hexadecimal int
- ch = s.next()
- for digitVal(ch) < 16 {
- ch = s.next()
- }
- } else {
- // octal int or float
- seenDecimalDigit := false
- for isDecimal(ch) {
- if ch > '7' {
- seenDecimalDigit = true
- }
- ch = s.next()
- }
- if s.Mode&ScanFloats != 0 && (ch == '.' || ch == 'e' || ch == 'E') {
- // float
- ch = s.scanFraction(ch)
- ch = s.scanExponent(ch)
- return Float, ch
- }
- // octal int
- if seenDecimalDigit {
- s.error("illegal octal number")
- }
- }
- return Int, ch
- }
- // decimal int or float
- ch = s.scanMantissa(ch)
- if s.Mode&ScanFloats != 0 && (ch == '.' || ch == 'e' || ch == 'E') {
- // float
- ch = s.scanFraction(ch)
- ch = s.scanExponent(ch)
- return Float, ch
- }
- return Int, ch
-}
-
-func (s *Scanner) scanDigits(ch rune, base, n int) rune {
- for n > 0 && int(digitVal(ch)) < base {
- ch = s.next()
- n--
- }
- if n > 0 {
- s.error("illegal char escape")
- }
- return ch
-}
-
-func (s *Scanner) scanEscape(quote rune) rune {
- ch := s.next() // read character after '/'
- switch ch {
- case 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', quote:
- // nothing to do
- ch = s.next()
- case '0', '1', '2', '3', '4', '5', '6', '7':
- ch = s.scanDigits(ch, 8, 3)
- case 'x':
- ch = s.scanDigits(s.next(), 16, 2)
- case 'u':
- ch = s.scanDigits(s.next(), 16, 4)
- case 'U':
- ch = s.scanDigits(s.next(), 16, 8)
- default:
- s.error("illegal char escape")
- }
- return ch
-}
-
-func (s *Scanner) scanString(quote rune) (n int) {
- ch := s.next() // read character after quote
- for ch != quote {
- if ch == '\n' || ch < 0 {
- s.error("literal not terminated")
- return
- }
- if ch == '\\' {
- ch = s.scanEscape(quote)
- } else {
- ch = s.next()
- }
- n++
- }
- return
-}
-
-func (s *Scanner) scanRawString() {
- ch := s.next() // read character after '`'
- for ch != '`' {
- if ch < 0 {
- s.error("literal not terminated")
- return
- }
- ch = s.next()
- }
-}
-
-func (s *Scanner) scanLineComment() {
- ch := s.next() // read character after "//"
- for ch != '\n' {
- if ch < 0 {
- s.error("comment not terminated")
- return
- }
- ch = s.next()
- }
-}
-
-func (s *Scanner) scanComment(ch rune) {
- s.scanLineComment()
-}
-
-// Scan reads the next token or Unicode character from source and returns it.
-// It only recognizes tokens t for which the respective Mode bit (1<<-t) is set.
-// It returns EOF at the end of the source. It reports scanner errors (read and
-// token errors) by calling s.Error, if set; otherwise it prints an error message
-// to os.Stderr.
-func (s *Scanner) Scan() int {
- ch := s.ch
-
- // reset token text position
- s.tokPos = -1
-
-redo:
- // skip white space
- for s.Whitespace&(1< [ 45 { pop } {exch pop} .5 2 sqrt] FmBD
- <0f87c3e1f0783c1e> [ 135 { pop } {exch pop} .5 2 sqrt] FmBD
- [ 0 { pop } dup .5 2 ] FmBD
- [ 90 { pop } dup .5 2 ] FmBD
- <8142241818244281> [ 45 { 2 copy lt {exch} if pop} dup .75 2 sqrt] FmBD
- <03060c183060c081> [ 45 { pop } {exch pop} .875 2 sqrt] FmBD
- <8040201008040201> [ 135 { pop } {exch pop} .875 2 sqrt] FmBD
- end def
-} {
-
- /patProcDict 5 dict dup begin
- <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke
- 4 -4 moveto 12 4 lineto stroke
- -4 4 moveto 4 12 lineto stroke} bind def
- <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke
- -4 4 moveto 4 -4 lineto stroke
- 4 12 moveto 12 4 lineto stroke} bind def
- <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
- -1 -1 moveto 9 9 lineto stroke } bind def
- <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke
- 4 -4 moveto 12 4 lineto stroke
- -4 4 moveto 4 12 lineto stroke} bind def
- <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
- -4 4 moveto 4 -4 lineto stroke
- 4 12 moveto 12 4 lineto stroke} bind def
- end def
- /patDict 15 dict dup begin
- /PatternType 1 def
- /PaintType 2 def
- /TilingType 3 def
- /BBox [ 0 0 8 8 ] def
- /XStep 8 def
- /YStep 8 def
- /PaintProc {
- begin
- patProcDict bstring known {
- patProcDict bstring get exec
- } {
- 8 8 true [1 0 0 -1 0 8] bstring imagemask
- } ifelse
- end
- } bind def
- end def
-} ifelse
-/combineColor {
- FrameSepIs FMnone eq
- {
- graymode fMLevel1 or not {
-
- [/Pattern [/DeviceCMYK]] setcolorspace
- FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor
- } {
- FrameCurColors 3 get 1.0 ge {
- FrameCurGray RealSetgray
- } {
- fMAcrobat not FMPColor graymode and and {
- 0 1 3 {
- FrameCurColors exch get
- 1 FrameCurGray sub mul
- } for
- RealSetcmykcolor
- } {
- 4 1 6 {
- FrameCurColors exch get
- graymode {
- 1 exch sub 1 FrameCurGray sub mul 1 exch sub
- } {
- 1.0 lt {FrameCurGray} {1} ifelse
- } ifelse
- } for
- RealSetrgbcolor
- } ifelse
- } ifelse
- } ifelse
- } {
- FrameCurColors 0 4 getinterval aload
- FrameColorInSepListCMYK {
- FrameSepBlack eq exch
- FrameSepYellow eq and exch
- FrameSepMagenta eq and exch
- FrameSepCyan eq and
- FrameSepIs FMcustom eq and
- { FrameCurGray } { 1 } ifelse
- } {
- FrameSepIs FMblack eq
- {FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} {
- FrameSepIs FMyellow eq
- {pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} {
- FrameSepIs FMmagenta eq
- {pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } {
- FrameSepIs FMcyan eq
- {pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub }
- {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
- } ifelse
- graymode fMLevel1 or not {
-
- [/Pattern [/DeviceGray]] setcolorspace
- FrameCurPat setcolor
- } {
- graymode not fMLevel1 and {
-
- dup 1 lt {pop FrameCurGray} if
- } if
- RealSetgray
- } ifelse
- } ifelse
-} bind def
-/savematrix {
- orgmatrix currentmatrix pop
- } bind def
-/restorematrix {
- orgmatrix setmatrix
- } bind def
-/fMDefaultMatrix matrix defaultmatrix def
-/fMatrix2 matrix def
-/dpi 72 0 fMDefaultMatrix dtransform
- dup mul exch dup mul add sqrt def
-
-/freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def
-/sangle 1 0 fMDefaultMatrix dtransform exch atan def
- sangle fMatrix2 rotate
- fMDefaultMatrix fMatrix2 concatmatrix
- dup 0 get /sflipx exch def
- 3 get /sflipy exch def
-/screenIndex {
- 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for
-} bind def
-/getCyanScreen {
- FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse
- screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
-} bind def
-/getMagentaScreen {
- FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse
- screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
-} bind def
-/getYellowScreen {
- FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse
- screenIndex dup 3 1 roll get 3 1 roll get { 3 div
- {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat
- FMSpotFunction } } {/FMSpotFunction load } ifelse
- 0.0 exch
-} bind def
-/getBlackScreen {
- FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse
- screenIndex get 45.0 /FMSpotFunction load
-} bind def
-/getSpotScreen {
- getBlackScreen
-} bind def
-/getCompositeScreen {
- getBlackScreen
-} bind def
-/FMSetScreen
- fMLevel1 { /setscreen load
- }{ {
- 8 dict begin
- /HalftoneType 1 def
- /SpotFunction exch def
- /Angle exch def
- /Frequency exch def
- /AccurateScreens FMUseAcccurateScreens def
- currentdict end sethalftone
- } bind } ifelse
-def
-/setDefaultScreen {
- FMPColor {
- orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer
- }
- {
- orgxfer cvx settransfer
- } ifelse
- orgfreq organgle orgproc cvx setscreen
-} bind def
-/setCurrentScreen {
- FrameSepIs FMnone eq {
- FMUseDefaultNoSeparationScreen {
- setDefaultScreen
- } {
- getCompositeScreen FMSetScreen
- } ifelse
- } {
- FrameSepIs FMcustom eq {
- FMUseDefaultSpotSeparationScreen {
- setDefaultScreen
- } {
- getSpotScreen FMSetScreen
- } ifelse
- } {
- FMUseDefaultProcessSeparationScreen {
- setDefaultScreen
- } {
- FrameSepIs FMcyan eq {
- getCyanScreen FMSetScreen
- } {
- FrameSepIs FMmagenta eq {
- getMagentaScreen FMSetScreen
- } {
- FrameSepIs FMyellow eq {
- getYellowScreen FMSetScreen
- } {
- getBlackScreen FMSetScreen
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- } ifelse
-} bind def
-end
-
-/FMDOCUMENT {
- array /FMfonts exch def
- /#copies exch def
- FrameDict begin
- 0 ne /manualfeed exch def
- /paperheight exch def
- /paperwidth exch def
- 0 ne /fMNegative exch def
- 0 ne /edown exch def
- /yscale exch def
- /xscale exch def
- fMLevel1 {
- manualfeed {setmanualfeed} if
- /FMdicttop countdictstack 1 add def
- /FMoptop count def
- setpapername
- manualfeed {true} {papersize} ifelse
- {manualpapersize} {false} ifelse
- {desperatepapersize} {false} ifelse
- {papersizefailure} if
- count -1 FMoptop {pop pop} for
- countdictstack -1 FMdicttop {pop end} for
- }
- {2 dict
- dup /PageSize [paperwidth paperheight] put
- manualfeed {dup /ManualFeed manualfeed put} if
- {setpagedevice} stopped {papersizefailure} if
- }
- ifelse
-
- FMPColor {
- currentcolorscreen
- cvlit /orgproc exch def
- /organgle exch def
- /orgfreq exch def
- cvlit /orgbproc exch def
- /orgbangle exch def
- /orgbfreq exch def
- cvlit /orggproc exch def
- /orggangle exch def
- /orggfreq exch def
- cvlit /orgrproc exch def
- /orgrangle exch def
- /orgrfreq exch def
- currentcolortransfer
- fMNegative {
- 1 1 4 {
- pop { 1 exch sub } fmConcatProcs 4 1 roll
- } for
- 4 copy
- setcolortransfer
- } if
- cvlit /orgxfer exch def
- cvlit /orgbxfer exch def
- cvlit /orggxfer exch def
- cvlit /orgrxfer exch def
- } {
- currentscreen
- cvlit /orgproc exch def
- /organgle exch def
- /orgfreq exch def
-
- currenttransfer
- fMNegative {
- { 1 exch sub } fmConcatProcs
- dup settransfer
- } if
- cvlit /orgxfer exch def
- } ifelse
- end
-} def
-/FMBEGINPAGE {
- FrameDict begin
- /pagesave save def
- 3.86 setmiterlimit
- /landscape exch 0 ne def
- landscape {
- 90 rotate 0 exch dup /pwid exch def neg translate pop
- }{
- pop /pwid exch def
- } ifelse
- edown { [-1 0 0 1 pwid 0] concat } if
- 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto
- 0 paperheight lineto 0 0 lineto 1 setgray fill
- xscale yscale scale
- /orgmatrix matrix def
- gsave
-} def
-/FMENDPAGE {
- grestore
- pagesave restore
- end
- showpage
- } def
-/FMFONTDEFINE {
- FrameDict begin
- findfont
- ReEncode
- 1 index exch
- definefont
- FMfonts 3 1 roll
- put
- end
- } def
-/FMFILLS {
- FrameDict begin dup
- array /fillvals exch def
- dict /patCache exch def
- end
- } def
-/FMFILL {
- FrameDict begin
- fillvals 3 1 roll put
- end
- } def
-/FMNORMALIZEGRAPHICS {
- newpath
- 1 setlinewidth
- 0 setlinecap
- 0 0 0 sethsbcolor
- 0 setgray
- } bind def
-/FMBEGINEPSF {
- end
- /FMEPSF save def
- /showpage {} def
-% See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714.
-% "...the following operators MUST NOT be used in an EPS file:" (emphasis ours)
- /banddevice {(banddevice) FMBADEPSF} def
- /clear {(clear) FMBADEPSF} def
- /cleardictstack {(cleardictstack) FMBADEPSF} def
- /copypage {(copypage) FMBADEPSF} def
- /erasepage {(erasepage) FMBADEPSF} def
- /exitserver {(exitserver) FMBADEPSF} def
- /framedevice {(framedevice) FMBADEPSF} def
- /grestoreall {(grestoreall) FMBADEPSF} def
- /initclip {(initclip) FMBADEPSF} def
- /initgraphics {(initgraphics) FMBADEPSF} def
- /quit {(quit) FMBADEPSF} def
- /renderbands {(renderbands) FMBADEPSF} def
- /setglobal {(setglobal) FMBADEPSF} def
- /setpagedevice {(setpagedevice) FMBADEPSF} def
- /setshared {(setshared) FMBADEPSF} def
- /startjob {(startjob) FMBADEPSF} def
- /lettertray {(lettertray) FMBADEPSF} def
- /letter {(letter) FMBADEPSF} def
- /lettersmall {(lettersmall) FMBADEPSF} def
- /11x17tray {(11x17tray) FMBADEPSF} def
- /11x17 {(11x17) FMBADEPSF} def
- /ledgertray {(ledgertray) FMBADEPSF} def
- /ledger {(ledger) FMBADEPSF} def
- /legaltray {(legaltray) FMBADEPSF} def
- /legal {(legal) FMBADEPSF} def
- /statementtray {(statementtray) FMBADEPSF} def
- /statement {(statement) FMBADEPSF} def
- /executivetray {(executivetray) FMBADEPSF} def
- /executive {(executive) FMBADEPSF} def
- /a3tray {(a3tray) FMBADEPSF} def
- /a3 {(a3) FMBADEPSF} def
- /a4tray {(a4tray) FMBADEPSF} def
- /a4 {(a4) FMBADEPSF} def
- /a4small {(a4small) FMBADEPSF} def
- /b4tray {(b4tray) FMBADEPSF} def
- /b4 {(b4) FMBADEPSF} def
- /b5tray {(b5tray) FMBADEPSF} def
- /b5 {(b5) FMBADEPSF} def
- FMNORMALIZEGRAPHICS
- [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
- fx fw 2 div add fy fh 2 div add translate
- rotate
- fw 2 div neg fh 2 div neg translate
- fw urx llx sub div fh ury lly sub div scale
- llx neg lly neg translate
- /FMdicttop countdictstack 1 add def
- /FMoptop count def
- } bind def
-/FMENDEPSF {
- count -1 FMoptop {pop pop} for
- countdictstack -1 FMdicttop {pop end} for
- FMEPSF restore
- FrameDict begin
- } bind def
-FrameDict begin
-/setmanualfeed {
-%%BeginFeature *ManualFeed True
- statusdict /manualfeed true put
-%%EndFeature
- } bind def
-/max {2 copy lt {exch} if pop} bind def
-/min {2 copy gt {exch} if pop} bind def
-/inch {72 mul} def
-/pagedimen {
- paperheight sub abs 16 lt exch
- paperwidth sub abs 16 lt and
- {/papername exch def} {pop} ifelse
- } bind def
-/setpapername {
- /papersizedict 14 dict def
- papersizedict begin
- /papername /unknown def
- /Letter 8.5 inch 11.0 inch pagedimen
- /LetterSmall 7.68 inch 10.16 inch pagedimen
- /Tabloid 11.0 inch 17.0 inch pagedimen
- /Ledger 17.0 inch 11.0 inch pagedimen
- /Legal 8.5 inch 14.0 inch pagedimen
- /Statement 5.5 inch 8.5 inch pagedimen
- /Executive 7.5 inch 10.0 inch pagedimen
- /A3 11.69 inch 16.5 inch pagedimen
- /A4 8.26 inch 11.69 inch pagedimen
- /A4Small 7.47 inch 10.85 inch pagedimen
- /B4 10.125 inch 14.33 inch pagedimen
- /B5 7.16 inch 10.125 inch pagedimen
- end
- } bind def
-/papersize {
- papersizedict begin
- /Letter {lettertray letter} def
- /LetterSmall {lettertray lettersmall} def
- /Tabloid {11x17tray 11x17} def
- /Ledger {ledgertray ledger} def
- /Legal {legaltray legal} def
- /Statement {statementtray statement} def
- /Executive {executivetray executive} def
- /A3 {a3tray a3} def
- /A4 {a4tray a4} def
- /A4Small {a4tray a4small} def
- /B4 {b4tray b4} def
- /B5 {b5tray b5} def
- /unknown {unknown} def
- papersizedict dup papername known {papername} {/unknown} ifelse get
- end
- statusdict begin stopped end
- } bind def
-/manualpapersize {
- papersizedict begin
- /Letter {letter} def
- /LetterSmall {lettersmall} def
- /Tabloid {11x17} def
- /Ledger {ledger} def
- /Legal {legal} def
- /Statement {statement} def
- /Executive {executive} def
- /A3 {a3} def
- /A4 {a4} def
- /A4Small {a4small} def
- /B4 {b4} def
- /B5 {b5} def
- /unknown {unknown} def
- papersizedict dup papername known {papername} {/unknown} ifelse get
- end
- stopped
- } bind def
-/desperatepapersize {
- statusdict /setpageparams known
- {
- paperwidth paperheight 0 1
- statusdict begin
- {setpageparams} stopped
- end
- } {true} ifelse
- } bind def
-/papersizefailure {
- FMAllowPaperSizeMismatch not
- {
-(The requested paper size is not available in any currently-installed tray)
-(Edit the PS file to "FMAllowPaperSizeMismatch true" to use default tray)
- FMFAILURE } if
- } def
-/DiacriticEncoding [
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
-/numbersign /dollar /percent /ampersand /quotesingle /parenleft
-/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
-/two /three /four /five /six /seven /eight /nine /colon /semicolon
-/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
-/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
-/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
-/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
-/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
-/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
-/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
-/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
-/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
-/udieresis /dagger /.notdef /cent /sterling /section /bullet
-/paragraph /germandbls /registered /copyright /trademark /acute
-/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
-/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
-/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
-/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
-/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
-/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
-/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
-/periodcentered /quotesinglbase /quotedblbase /perthousand
-/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
-/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
-/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
-/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
-] def
-/ReEncode {
- dup
- length
- dict begin
- {
- 1 index /FID ne
- {def}
- {pop pop} ifelse
- } forall
- 0 eq {/Encoding DiacriticEncoding def} if
- currentdict
- end
- } bind def
-FMPColor
-
- {
- /BEGINBITMAPCOLOR {
- BITMAPCOLOR} def
- /BEGINBITMAPCOLORc {
- BITMAPCOLORc} def
- /BEGINBITMAPTRUECOLOR {
- BITMAPTRUECOLOR } def
- /BEGINBITMAPTRUECOLORc {
- BITMAPTRUECOLORc } def
- /BEGINBITMAPCMYK {
- BITMAPCMYK } def
- /BEGINBITMAPCMYKc {
- BITMAPCMYKc } def
- }
-
- {
- /BEGINBITMAPCOLOR {
- BITMAPGRAY} def
- /BEGINBITMAPCOLORc {
- BITMAPGRAYc} def
- /BEGINBITMAPTRUECOLOR {
- BITMAPTRUEGRAY } def
- /BEGINBITMAPTRUECOLORc {
- BITMAPTRUEGRAYc } def
- /BEGINBITMAPCMYK {
- BITMAPCMYKGRAY } def
- /BEGINBITMAPCMYKc {
- BITMAPCMYKGRAYc } def
- }
-ifelse
-/K {
- FMPrintAllColorsAsBlack {
- dup 1 eq 2 index 1 eq and 3 index 1 eq and not
- {7 {pop} repeat 0 0 0 1 0 0 0} if
- } if
- FrameCurColors astore
- pop combineColor
-} bind def
-/graymode true def
-fMLevel1 {
- /fmGetFlip {
- fMatrix2 exch get mul 0 lt { -1 } { 1 } ifelse
- } FmBD
-} if
-/setPatternMode {
- fMLevel1 {
- 2 index patScreenDict exch known {
- pop pop
- patScreenDict exch get aload pop
- freq
- mul
- 5 2 roll
- fMatrix2 currentmatrix 1 get 0 ne {
- 3 -1 roll 90 add 3 1 roll
- sflipx 1 fmGetFlip sflipy 2 fmGetFlip neg mul
- } {
- sflipx 0 fmGetFlip sflipy 3 fmGetFlip mul
- } ifelse
- 0 lt {exch pop} {pop} ifelse
- fMNegative {
- {neg} fmConcatProcs
- } if
- bind
-
-
-
- systemdict /setscreen get exec
- /FrameCurGray exch def
- } {
- /bwidth exch def
- /bpside exch def
- /bstring exch def
- /onbits 0 def /offbits 0 def
- freq sangle landscape {90 add} if
- {/ypoint exch def
- /xpoint exch def
- /xindex xpoint 1 add 2 div bpside mul cvi def
- /yindex ypoint 1 add 2 div bpside mul cvi def
- bstring yindex bwidth mul xindex 8 idiv add get
- 1 7 xindex 8 mod sub bitshift and 0 ne fMNegative {not} if
- {/onbits onbits 1 add def 1}
- {/offbits offbits 1 add def 0}
- ifelse
- }
- setscreen
- offbits offbits onbits add div fMNegative {1.0 exch sub} if
- /FrameCurGray exch def
- } ifelse
- } {
- pop pop
- dup patCache exch known {
- patCache exch get
- } {
- dup
- patDict /bstring 3 -1 roll put
- patDict
- 9 PatFreq screenIndex get div dup matrix scale
- makepattern
- dup
- patCache 4 -1 roll 3 -1 roll put
- } ifelse
- /FrameCurGray 0 def
- /FrameCurPat exch def
- } ifelse
- /graymode false def
- combineColor
-} bind def
-/setGrayScaleMode {
- graymode not {
- /graymode true def
- fMLevel1 {
- setCurrentScreen
- } if
- } if
- /FrameCurGray exch def
- combineColor
-} bind def
-/normalize {
- transform round exch round exch itransform
- } bind def
-/dnormalize {
- dtransform round exch round exch idtransform
- } bind def
-/lnormalize {
- 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
- } bind def
-/H {
- lnormalize setlinewidth
- } bind def
-/Z {
- setlinecap
- } bind def
-
-/PFill {
- graymode fMLevel1 or not {
- gsave 1 setgray eofill grestore
- } if
-} bind def
-/PStroke {
- graymode fMLevel1 or not {
- gsave 1 setgray stroke grestore
- } if
- stroke
-} bind def
-/X {
- fillvals exch get
- dup type /stringtype eq
- {8 1 setPatternMode}
- {setGrayScaleMode}
- ifelse
- } bind def
-/V {
- PFill gsave eofill grestore
- } bind def
-/Vclip {
- clip
- } bind def
-/Vstrk {
- currentlinewidth exch setlinewidth PStroke setlinewidth
- } bind def
-/N {
- PStroke
- } bind def
-/Nclip {
- strokepath clip newpath
- } bind def
-/Nstrk {
- currentlinewidth exch setlinewidth PStroke setlinewidth
- } bind def
-/M {newpath moveto} bind def
-/E {lineto} bind def
-/D {curveto} bind def
-/O {closepath} bind def
-/L {
- /n exch def
- newpath
- normalize
- moveto
- 2 1 n {pop normalize lineto} for
- } bind def
-/Y {
- L
- closepath
- } bind def
-/R {
- /y2 exch def
- /x2 exch def
- /y1 exch def
- /x1 exch def
- x1 y1
- x2 y1
- x2 y2
- x1 y2
- 4 Y
- } bind def
-/rarc
- {rad
- arcto
- } bind def
-/RR {
- /rad exch def
- normalize
- /y2 exch def
- /x2 exch def
- normalize
- /y1 exch def
- /x1 exch def
- mark
- newpath
- {
- x1 y1 rad add moveto
- x1 y2 x2 y2 rarc
- x2 y2 x2 y1 rarc
- x2 y1 x1 y1 rarc
- x1 y1 x1 y2 rarc
- closepath
- } stopped {x1 y1 x2 y2 R} if
- cleartomark
- } bind def
-/RRR {
- /rad exch def
- normalize /y4 exch def /x4 exch def
- normalize /y3 exch def /x3 exch def
- normalize /y2 exch def /x2 exch def
- normalize /y1 exch def /x1 exch def
- newpath
- normalize moveto
- mark
- {
- x2 y2 x3 y3 rarc
- x3 y3 x4 y4 rarc
- x4 y4 x1 y1 rarc
- x1 y1 x2 y2 rarc
- closepath
- } stopped
- {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if
- cleartomark
- } bind def
-/C {
- grestore
- gsave
- R
- clip
- setCurrentScreen
-} bind def
-/CP {
- grestore
- gsave
- Y
- clip
- setCurrentScreen
-} bind def
-/F {
- FMfonts exch get
- FMpointsize scalefont
- setfont
- } bind def
-/Q {
- /FMpointsize exch def
- F
- } bind def
-/T {
- moveto show
- } bind def
-/RF {
- rotate
- 0 ne {-1 1 scale} if
- } bind def
-/TF {
- gsave
- moveto
- RF
- show
- grestore
- } bind def
-/P {
- moveto
- 0 32 3 2 roll widthshow
- } bind def
-/PF {
- gsave
- moveto
- RF
- 0 32 3 2 roll widthshow
- grestore
- } bind def
-/S {
- moveto
- 0 exch ashow
- } bind def
-/SF {
- gsave
- moveto
- RF
- 0 exch ashow
- grestore
- } bind def
-/B {
- moveto
- 0 32 4 2 roll 0 exch awidthshow
- } bind def
-/BF {
- gsave
- moveto
- RF
- 0 32 4 2 roll 0 exch awidthshow
- grestore
- } bind def
-/G {
- gsave
- newpath
- normalize translate 0.0 0.0 moveto
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- PFill fill
- grestore
- } bind def
-/Gstrk {
- savematrix
- newpath
- 2 index 2 div add exch 3 index 2 div sub exch
- normalize 2 index 2 div sub exch 3 index 2 div add exch
- translate
- scale
- 0.0 0.0 1.0 5 3 roll arc
- restorematrix
- currentlinewidth exch setlinewidth PStroke setlinewidth
- } bind def
-/Gclip {
- newpath
- savematrix
- normalize translate 0.0 0.0 moveto
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- clip newpath
- restorematrix
- } bind def
-/GG {
- gsave
- newpath
- normalize translate 0.0 0.0 moveto
- rotate
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- PFill
- fill
- grestore
- } bind def
-/GGclip {
- savematrix
- newpath
- normalize translate 0.0 0.0 moveto
- rotate
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- clip newpath
- restorematrix
- } bind def
-/GGstrk {
- savematrix
- newpath
- normalize translate 0.0 0.0 moveto
- rotate
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- restorematrix
- currentlinewidth exch setlinewidth PStroke setlinewidth
- } bind def
-/A {
- gsave
- savematrix
- newpath
- 2 index 2 div add exch 3 index 2 div sub exch
- normalize 2 index 2 div sub exch 3 index 2 div add exch
- translate
- scale
- 0.0 0.0 1.0 5 3 roll arc
- restorematrix
- PStroke
- grestore
- } bind def
-/Aclip {
- newpath
- savematrix
- normalize translate 0.0 0.0 moveto
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- strokepath clip newpath
- restorematrix
-} bind def
-/Astrk {
- Gstrk
-} bind def
-/AA {
- gsave
- savematrix
- newpath
-
- 3 index 2 div add exch 4 index 2 div sub exch
-
- normalize 3 index 2 div sub exch 4 index 2 div add exch
- translate
- rotate
- scale
- 0.0 0.0 1.0 5 3 roll arc
- restorematrix
- PStroke
- grestore
- } bind def
-/AAclip {
- savematrix
- newpath
- normalize translate 0.0 0.0 moveto
- rotate
- dnormalize scale
- 0.0 0.0 1.0 5 3 roll arc
- closepath
- strokepath clip newpath
- restorematrix
-} bind def
-/AAstrk {
- GGstrk
-} bind def
-/BEGINPRINTCODE {
- /FMdicttop countdictstack 1 add def
- /FMoptop count 7 sub def
- /FMsaveobject save def
- userdict begin
- /showpage {} def
- FMNORMALIZEGRAPHICS
- 3 index neg 3 index neg translate
- } bind def
-/ENDPRINTCODE {
- count -1 FMoptop {pop pop} for
- countdictstack -1 FMdicttop {pop end} for
- FMsaveobject restore
- } bind def
-/gn {
- 0
- { 46 mul
- cf read pop
- 32 sub
- dup 46 lt {exit} if
- 46 sub add
- } loop
- add
- } bind def
-/cfs {
- /str sl string def
- 0 1 sl 1 sub {str exch val put} for
- str def
- } bind def
-/ic [
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
- 0
- {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
- {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
- {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
- {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
- {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
- {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
- {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
- {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
- {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
- ] def
-/ms {
- /sl exch def
- /val 255 def
- /ws cfs
- /im cfs
- /val 0 def
- /bs cfs
- /cs cfs
- } bind def
-400 ms
-/ip {
- is
- 0
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop
-
- } bind def
-/rip {
-
-
- bis ris copy pop
- is
- 0
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop pop
- ris gis copy pop
- dup is exch
-
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop pop
- gis bis copy pop
- dup add is exch
-
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop
-
- } bind def
-/rip4 {
-
-
- kis cis copy pop
- is
- 0
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop pop
- cis mis copy pop
- dup is exch
-
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop pop
- mis yis copy pop
- dup dup add is exch
-
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop pop
- yis kis copy pop
- 3 mul is exch
-
- cf cs readline pop
- { ic exch get exec
- add
- } forall
- pop
-
- } bind def
-/wh {
- /len exch def
- /pos exch def
- ws 0 len getinterval im pos len getinterval copy pop
- pos len
- } bind def
-/bl {
- /len exch def
- /pos exch def
- bs 0 len getinterval im pos len getinterval copy pop
- pos len
- } bind def
-/s1 1 string def
-/fl {
- /len exch def
- /pos exch def
- /val cf s1 readhexstring pop 0 get def
- pos 1 pos len add 1 sub {im exch val put} for
- pos len
- } bind def
-/hx {
- 3 copy getinterval
- cf exch readhexstring pop pop
- } bind def
-/wbytes {
- dup dup
- 8 gt { pop 8 idiv mul }
- { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse
- } bind def
-/BEGINBITMAPBWc {
- 1 {} COMMONBITMAPc
- } bind def
-/BEGINBITMAPGRAYc {
- 8 {} COMMONBITMAPc
- } bind def
-/BEGINBITMAP2BITc {
- 2 {} COMMONBITMAPc
- } bind def
-/COMMONBITMAPc {
-
- /cvtProc exch def
- /depth exch def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /lb width depth wbytes def
- sl lb lt {lb ms} if
- /bitmapsave save def
- cvtProc
- /is im 0 lb getinterval def
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- width height depth [width 0 0 height neg 0 height]
- {ip} image
- bitmapsave restore
- grestore
- } bind def
-/BEGINBITMAPBW {
- 1 {} COMMONBITMAP
- } bind def
-/BEGINBITMAPGRAY {
- 8 {} COMMONBITMAP
- } bind def
-/BEGINBITMAP2BIT {
- 2 {} COMMONBITMAP
- } bind def
-/COMMONBITMAP {
- /cvtProc exch def
- /depth exch def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /bitmapsave save def
- cvtProc
- /is width depth wbytes string def
- /cf currentfile def
- width height depth [width 0 0 height neg 0 height]
- {cf is readhexstring pop} image
- bitmapsave restore
- grestore
- } bind def
-/ngrayt 256 array def
-/nredt 256 array def
-/nbluet 256 array def
-/ngreent 256 array def
-fMLevel1 {
-/colorsetup {
- currentcolortransfer
- /gryt exch def
- /blut exch def
- /grnt exch def
- /redt exch def
- 0 1 255 {
- /indx exch def
- /cynu 1 red indx get 255 div sub def
- /magu 1 green indx get 255 div sub def
- /yelu 1 blue indx get 255 div sub def
- /kk cynu magu min yelu min def
- /u kk currentundercolorremoval exec def
-% /u 0 def
- nredt indx 1 0 cynu u sub max sub redt exec put
- ngreent indx 1 0 magu u sub max sub grnt exec put
- nbluet indx 1 0 yelu u sub max sub blut exec put
- ngrayt indx 1 kk currentblackgeneration exec sub gryt exec put
- } for
- {255 mul cvi nredt exch get}
- {255 mul cvi ngreent exch get}
- {255 mul cvi nbluet exch get}
- {255 mul cvi ngrayt exch get}
- setcolortransfer
- {pop 0} setundercolorremoval
- {} setblackgeneration
- } bind def
-}
-{
-/colorSetup2 {
- [ /Indexed /DeviceRGB 255
- {dup red exch get 255 div
- exch dup green exch get 255 div
- exch blue exch get 255 div}
- ] setcolorspace
-} bind def
-} ifelse
-/fakecolorsetup {
- /tran 256 string def
- 0 1 255 {/indx exch def
- tran indx
- red indx get 77 mul
- green indx get 151 mul
- blue indx get 28 mul
- add add 256 idiv put} for
- currenttransfer
- {255 mul cvi tran exch get 255.0 div}
- exch fmConcatProcs settransfer
-} bind def
-/BITMAPCOLOR {
- /depth 8 def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /bitmapsave save def
- fMLevel1 {
- colorsetup
- /is width depth wbytes string def
- /cf currentfile def
- width height depth [width 0 0 height neg 0 height]
- {cf is readhexstring pop} {is} {is} true 3 colorimage
- } {
- colorSetup2
- /is width depth wbytes string def
- /cf currentfile def
- 7 dict dup begin
- /ImageType 1 def
- /Width width def
- /Height height def
- /ImageMatrix [width 0 0 height neg 0 height] def
- /DataSource {cf is readhexstring pop} bind def
- /BitsPerComponent depth def
- /Decode [0 255] def
- end image
- } ifelse
- bitmapsave restore
- grestore
- } bind def
-/BITMAPCOLORc {
- /depth 8 def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /lb width depth wbytes def
- sl lb lt {lb ms} if
- /bitmapsave save def
- fMLevel1 {
- colorsetup
- /is im 0 lb getinterval def
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- width height depth [width 0 0 height neg 0 height]
- {ip} {is} {is} true 3 colorimage
- } {
- colorSetup2
- /is im 0 lb getinterval def
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- 7 dict dup begin
- /ImageType 1 def
- /Width width def
- /Height height def
- /ImageMatrix [width 0 0 height neg 0 height] def
- /DataSource {ip} bind def
- /BitsPerComponent depth def
- /Decode [0 255] def
- end image
- } ifelse
- bitmapsave restore
- grestore
- } bind def
-/BITMAPTRUECOLORc {
- /depth 24 def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /lb width depth wbytes def
- sl lb lt {lb ms} if
- /bitmapsave save def
-
- /is im 0 lb getinterval def
- /ris im 0 width getinterval def
- /gis im width width getinterval def
- /bis im width 2 mul width getinterval def
-
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- {width rip pop ris} {gis} {bis} true 3 colorimage
- bitmapsave restore
- grestore
- } bind def
-/BITMAPCMYKc {
- /depth 32 def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /lb width depth wbytes def
- sl lb lt {lb ms} if
- /bitmapsave save def
-
- /is im 0 lb getinterval def
- /cis im 0 width getinterval def
- /mis im width width getinterval def
- /yis im width 2 mul width getinterval def
- /kis im width 3 mul width getinterval def
-
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- {width rip4 pop cis} {mis} {yis} {kis} true 4 colorimage
- bitmapsave restore
- grestore
- } bind def
-/BITMAPTRUECOLOR {
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /bitmapsave save def
- /is width string def
- /gis width string def
- /bis width string def
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- { cf is readhexstring pop }
- { cf gis readhexstring pop }
- { cf bis readhexstring pop }
- true 3 colorimage
- bitmapsave restore
- grestore
- } bind def
-/BITMAPCMYK {
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /bitmapsave save def
- /is width string def
- /mis width string def
- /yis width string def
- /kis width string def
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- { cf is readhexstring pop }
- { cf mis readhexstring pop }
- { cf yis readhexstring pop }
- { cf kis readhexstring pop }
- true 4 colorimage
- bitmapsave restore
- grestore
- } bind def
-/BITMAPTRUEGRAYc {
- /depth 24 def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /lb width depth wbytes def
- sl lb lt {lb ms} if
- /bitmapsave save def
-
- /is im 0 lb getinterval def
- /ris im 0 width getinterval def
- /gis im width width getinterval def
- /bis im width 2 mul width getinterval def
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- {width rip pop ris gis bis width gray} image
- bitmapsave restore
- grestore
- } bind def
-/BITMAPCMYKGRAYc {
- /depth 32 def
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /lb width depth wbytes def
- sl lb lt {lb ms} if
- /bitmapsave save def
-
- /is im 0 lb getinterval def
- /cis im 0 width getinterval def
- /mis im width width getinterval def
- /yis im width 2 mul width getinterval def
- /kis im width 3 mul width getinterval def
- ws 0 lb getinterval is copy pop
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- {width rip pop cis mis yis kis width cgray} image
- bitmapsave restore
- grestore
- } bind def
-/cgray {
- /ww exch def
- /k exch def
- /y exch def
- /m exch def
- /c exch def
- 0 1 ww 1 sub { /i exch def c i get m i get y i get k i get CMYKtoRGB
- .144 mul 3 1 roll .587 mul 3 1 roll .299 mul add add
- c i 3 -1 roll floor cvi put } for
- c
- } bind def
-/gray {
- /ww exch def
- /b exch def
- /g exch def
- /r exch def
- 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
- b i get .114 mul add add r i 3 -1 roll floor cvi put } for
- r
- } bind def
-/BITMAPTRUEGRAY {
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /bitmapsave save def
- /is width string def
- /gis width string def
- /bis width string def
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- { cf is readhexstring pop
- cf gis readhexstring pop
- cf bis readhexstring pop width gray} image
- bitmapsave restore
- grestore
- } bind def
-/BITMAPCMYKGRAY {
- gsave
-
- 3 index 2 div add exch
- 4 index 2 div add exch
- translate
- rotate
- 1 index 2 div neg
- 1 index 2 div neg
- translate
- scale
- /height exch def /width exch def
- /bitmapsave save def
- /is width string def
- /yis width string def
- /mis width string def
- /kis width string def
- /cf currentfile def
- width height 8 [width 0 0 height neg 0 height]
- { cf is readhexstring pop
- cf mis readhexstring pop
- cf yis readhexstring pop
- cf kis readhexstring pop width cgray} image
- bitmapsave restore
- grestore
- } bind def
-/BITMAPGRAY {
- 8 {fakecolorsetup} COMMONBITMAP
- } bind def
-/BITMAPGRAYc {
- 8 {fakecolorsetup} COMMONBITMAPc
- } bind def
-/ENDBITMAP {
- } bind def
-end
- /ALDmatrix matrix def ALDmatrix currentmatrix pop
-/StartALD {
- /ALDsave save def
- savematrix
- ALDmatrix setmatrix
- } bind def
-/InALD {
- restorematrix
- } bind def
-/DoneALD {
- ALDsave restore
- } bind def
-/I { setdash } bind def
-/J { [] 0 setdash } bind def
-%%EndProlog
-%%BeginSetup
-(5.0) FMVERSION
-1 1 0 0 612 792 0 1 36 FMDOCUMENT
-0 0 /Palatino-Italic FMFONTDEFINE
-1 0 /Palatino-Roman FMFONTDEFINE
-2 1 /Symbol FMFONTDEFINE
-3 0 /Palatino-Bold FMFONTDEFINE
-4 0 /Times-Roman FMFONTDEFINE
-5 0 /Courier FMFONTDEFINE
-6 0 /Times-Bold FMFONTDEFINE
-7 0 /Helvetica FMFONTDEFINE
-8 0 /Helvetica-Bold FMFONTDEFINE
-9 0 /Helvetica-Narrow-Bold FMFONTDEFINE
-32 FMFILLS
-0 0 FMFILL
-1 0.1 FMFILL
-2 0.3 FMFILL
-3 0.5 FMFILL
-4 0.7 FMFILL
-5 0.9 FMFILL
-6 0.97 FMFILL
-7 1 FMFILL
-8 <0f1e3c78f0e1c387> FMFILL
-9 <0f87c3e1f0783c1e> FMFILL
-10 FMFILL
-11 FMFILL
-12 <8142241818244281> FMFILL
-13 <03060c183060c081> FMFILL
-14 <8040201008040201> FMFILL
-16 1 FMFILL
-17 0.9 FMFILL
-18 0.7 FMFILL
-19 0.5 FMFILL
-20 0.3 FMFILL
-21 0.1 FMFILL
-22 0.03 FMFILL
-23 0 FMFILL
-24 FMFILL
-25 FMFILL
-26 <3333333333333333> FMFILL
-27 <0000ffff0000ffff> FMFILL
-28 <7ebddbe7e7dbbd7e> FMFILL
-29 FMFILL
-30 <7fbfdfeff7fbfdfe> FMFILL
-%%EndSetup
-%%Page: "1" 1
-%%BeginPaperSize: Letter
-%%EndPaperSize
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-J
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-185 95.74 393.76 113.24 R
-7 X
-0 0 0 1 0 0 0 K
-V
-549 99 576 117 R
-V
-0.3 H
-0 Z
-N
-54 619.13 558 641.38 C
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 72 612 720 C
-0 20 Q
-0 X
-0 0 0 1 0 0 0 K
--2.5 (The Java) 198 605.79 P
-0 9.6 Q
--1.2 (\252) 264.92 610.59 P
-0 20 Q
--2.5 ( Platform) 274.52 605.79 P
-0 14 Q
--1.61 -0.28 (A White Paper) 198 587.79 B
-198 144 297 171 R
-7 X
-V
-1 7 Q
-0 X
-(May 1996) 198 166.33 T
-54 174.47 558 276 C
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-54 174.47 558 276 R
-7 X
-0 0 0 1 0 0 0 K
-V
-1 7 Q
-0 X
-(2550 Gar) 199.01 193.9 T
-(cia A) 226.24 193.9 T
-(venue) 241.43 193.9 T
-(Mountain V) 199.01 185.61 T
-(iew) 236.06 185.61 T
-(, CA 94043 U.S.A.) 246.64 185.61 T
-(408-343-1400) 199.01 177.32 T
-0 0 0 1 0 0 0 K
-0 63 430 539 526 142.79 28.8 170.6 207.44 FMBEGINEPSF
-%%BeginDocument:
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: Adobe Illustrator(TM) 5.5
-%%For: (Bud Northern) (Mark Anderson Design)
-%%Title: (JAVASOFT.1COLOR)
-%%CreationDate: (3/5/96) (9:51 AM)
-%%BoundingBox: 63 430 539 526
-%%HiResBoundingBox: 63.4812 430.6428 538.2056 525.3151
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.0 0
-%%+ procset Adobe_IllustratorA_AI5 1.0 0
-%AI5_FileFormat 1.2
-%AI3_ColorUsage: Black&White
-%%CMYKCustomColor: 0 1 0.91 0 (PANTONE 485 CV)
-%%+ 0.79 0.76 0 0 (PANTONE 2665 CV)
-%AI3_TemplateBox: 306 396 306 396
-%AI3_TileBox: 30 18 606 779
-%AI3_DocumentPreview: Macintosh_ColorPic
-%AI5_ArtSize: 612 792
-%AI5_RulerUnits: 0
-%AI5_ArtFlags: 1 0 0 1 0 0 1 1 0
-%AI5_TargetResolution: 800
-%AI5_NumLayers: 1
-%AI5_OpenToView: -450 900 -1.5 1018 725 26 1 1 3 40
-%AI5_OpenViewLayers: 7
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset Adobe_level2_AI5 1.0 0
-%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
-%%Version: 1.0
-%%CreationDate: (04/10/93) ()
-%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
-userdict /Adobe_level2_AI5 21 dict dup begin
- put
- /packedarray where not
- {
- userdict begin
- /packedarray
- {
- array astore readonly
- } bind def
- /setpacking /pop load def
- /currentpacking false def
- end
- 0
- } if
- pop
- userdict /defaultpacking currentpacking put true setpacking
- /initialize
- {
- Adobe_level2_AI5 begin
- } bind def
- /terminate
- {
- currentdict Adobe_level2_AI5 eq
- {
- end
- } if
- } bind def
- mark
- /setcustomcolor where not
- {
- /findcmykcustomcolor
- {
- 5 packedarray
- } bind def
- /setcustomcolor
- {
- exch aload pop pop
- 4
- {
- 4 index mul 4 1 roll
- } repeat
- 5 -1 roll pop
- setcmykcolor
- }
- def
- } if
-
- /gt38? mark {version cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
- userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
- userdict /level2?
- systemdict /languagelevel known dup
- {
- pop systemdict /languagelevel get 2 ge
- } if
- put
- level2? not
- {
- /setcmykcolor where not
- {
- /setcmykcolor
- {
- exch .11 mul add exch .59 mul add exch .3 mul add
- 1 exch sub setgray
- } def
- } if
- /currentcmykcolor where not
- {
- /currentcmykcolor
- {
- 0 0 0 1 currentgray sub
- } def
- } if
- /setoverprint where not
- {
- /setoverprint /pop load def
- } if
- /selectfont where not
- {
- /selectfont
- {
- exch findfont exch
- dup type /arraytype eq
- {
- makefont
- }
- {
- scalefont
- } ifelse
- setfont
- } bind def
- } if
- /cshow where not
- {
- /cshow
- {
- [
- 0 0 5 -1 roll aload pop
- ] cvx bind forall
- } bind def
- } if
- } if
- cleartomark
- /anyColor?
- {
- add add add 0 ne
- } bind def
- /testColor
- {
- gsave
- setcmykcolor currentcmykcolor
- grestore
- } bind def
- /testCMYKColorThrough
- {
- testColor anyColor?
- } bind def
- userdict /composite?
- level2?
- {
- gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
- add add add 4 eq
- }
- {
- 1 0 0 0 testCMYKColorThrough
- 0 1 0 0 testCMYKColorThrough
- 0 0 1 0 testCMYKColorThrough
- 0 0 0 1 testCMYKColorThrough
- and and and
- } ifelse
- put
- composite? not
- {
- userdict begin
- gsave
- /cyan? 1 0 0 0 testCMYKColorThrough def
- /magenta? 0 1 0 0 testCMYKColorThrough def
- /yellow? 0 0 1 0 testCMYKColorThrough def
- /black? 0 0 0 1 testCMYKColorThrough def
- grestore
- /isCMYKSep? cyan? magenta? yellow? black? or or or def
- /customColor? isCMYKSep? not def
- end
- } if
- end defaultpacking setpacking
-%%EndResource
-%%BeginResource: procset Adobe_IllustratorA_AI5 1.1 0
-%%Title: (Adobe Illustrator (R) Version 5.0 Abbreviated Prolog)
-%%Version: 1.1
-%%CreationDate: (3/7/1994) ()
-%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_IllustratorA_AI5_vars 70 dict dup begin
-put
-/_lp /none def
-/_pf
-{
-} def
-/_ps
-{
-} def
-/_psf
-{
-} def
-/_pss
-{
-} def
-/_pjsf
-{
-} def
-/_pjss
-{
-} def
-/_pola 0 def
-/_doClip 0 def
-/cf currentflat def
-/_tm matrix def
-/_renderStart
-[
-/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
-] def
-/_renderEnd
-[
-null null null null /i1 /i1 /i1 /i1
-] def
-/_render -1 def
-/_rise 0 def
-/_ax 0 def
-/_ay 0 def
-/_cx 0 def
-/_cy 0 def
-/_leading
-[
-0 0
-] def
-/_ctm matrix def
-/_mtx matrix def
-/_sp 16#020 def
-/_hyphen (-) def
-/_fScl 0 def
-/_cnt 0 def
-/_hs 1 def
-/_nativeEncoding 0 def
-/_useNativeEncoding 0 def
-/_tempEncode 0 def
-/_pntr 0 def
-/_tDict 2 dict def
-/_wv 0 def
-/Tx
-{
-} def
-/Tj
-{
-} def
-/CRender
-{
-} def
-/_AI3_savepage
-{
-} def
-/_gf null def
-/_cf 4 array def
-/_if null def
-/_of false def
-/_fc
-{
-} def
-/_gs null def
-/_cs 4 array def
-/_is null def
-/_os false def
-/_sc
-{
-} def
-/discardSave null def
-/buffer 256 string def
-/beginString null def
-/endString null def
-/endStringLength null def
-/layerCnt 1 def
-/layerCount 1 def
-/perCent (%) 0 get def
-/perCentSeen? false def
-/newBuff null def
-/newBuffButFirst null def
-/newBuffLast null def
-/clipForward? false def
-end
-userdict /Adobe_IllustratorA_AI5 74 dict dup begin
-put
-/initialize
-{
- Adobe_IllustratorA_AI5 dup begin
- Adobe_IllustratorA_AI5_vars begin
- discardDict
- {
- bind pop pop
- } forall
- dup /nc get begin
- {
- dup xcheck 1 index type /operatortype ne and
- {
- bind
- } if
- pop pop
- } forall
- end
- newpath
-} def
-/terminate
-{
- end
- end
-} def
-/_
-null def
-/ddef
-{
- Adobe_IllustratorA_AI5_vars 3 1 roll put
-} def
-/xput
-{
- dup load dup length exch maxlength eq
- {
- dup dup load dup
- length 2 mul dict copy def
- } if
- load begin
- def
- end
-} def
-/npop
-{
- {
- pop
- } repeat
-} def
-/sw
-{
- dup length exch stringwidth
- exch 5 -1 roll 3 index mul add
- 4 1 roll 3 1 roll mul add
-} def
-/swj
-{
- dup 4 1 roll
- dup length exch stringwidth
- exch 5 -1 roll 3 index mul add
- 4 1 roll 3 1 roll mul add
- 6 2 roll /_cnt 0 ddef
- {
- 1 index eq
- {
- /_cnt _cnt 1 add ddef
- } if
- } forall
- pop
- exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
-} def
-/ss
-{
- 4 1 roll
- {
- 2 npop
- (0) exch 2 copy 0 exch put pop
- gsave
- false charpath currentpoint
- 4 index setmatrix
- stroke
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
- 3 npop
-} def
-/jss
-{
- 4 1 roll
- {
- 2 npop
- (0) exch 2 copy 0 exch put
- gsave
- _sp eq
- {
- exch 6 index 6 index 6 index 5 -1 roll widthshow
- currentpoint
- }
- {
- false charpath currentpoint
- 4 index setmatrix stroke
- } ifelse
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
- 6 npop
-} def
-/sp
-{
- {
- 2 npop (0) exch
- 2 copy 0 exch put pop
- false charpath
- 2 copy rmoveto
- } exch cshow
- 2 npop
-} def
-/jsp
-{
- {
- 2 npop
- (0) exch 2 copy 0 exch put
- _sp eq
- {
- exch 5 index 5 index 5 index 5 -1 roll widthshow
- }
- {
- false charpath
- } ifelse
- 2 copy rmoveto
- } exch cshow
- 5 npop
-} def
-/pl
-{
- transform
- 0.25 sub round 0.25 add exch
- 0.25 sub round 0.25 add exch
- itransform
-} def
-/setstrokeadjust where
-{
- pop true setstrokeadjust
- /c
- {
- curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll curveto
- } def
- /V
- /v load def
- /y
- {
- 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- lineto
- } def
- /L
- /l load def
- /m
- {
- moveto
- } def
-}
-{
- /c
- {
- pl curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll pl curveto
- } def
- /V
- /v load def
- /y
- {
- pl 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- pl lineto
- } def
- /L
- /l load def
- /m
- {
- pl moveto
- } def
-} ifelse
-/d
-{
- setdash
-} def
-/cf
-{
-} def
-/i
-{
- dup 0 eq
- {
- pop cf
- } if
- setflat
-} def
-/j
-{
- setlinejoin
-} def
-/J
-{
- setlinecap
-} def
-/M
-{
- setmiterlimit
-} def
-/w
-{
- setlinewidth
-} def
-/H
-{
-} def
-/h
-{
- closepath
-} def
-/N
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- clip /_doClip 0 ddef
- } if
- newpath
- }
- {
- /CRender
- {
- N
- } ddef
- } ifelse
-} def
-/n
-{
- N
-} def
-/F
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _pf grestore clip newpath /_lp /none ddef _fc
- /_doClip 0 ddef
- }
- {
- _pf
- } ifelse
- }
- {
- /CRender
- {
- F
- } ddef
- } ifelse
-} def
-/f
-{
- closepath
- F
-} def
-/S
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _ps grestore clip newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- _ps
- } ifelse
- }
- {
- /CRender
- {
- S
- } ddef
- } ifelse
-} def
-/s
-{
- closepath
- S
-} def
-/B
-{
- _pola 0 eq
- {
- _doClip 1 eq
- gsave F grestore
- {
- gsave S grestore clip newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- S
- } ifelse
- }
- {
- /CRender
- {
- B
- } ddef
- } ifelse
-} def
-/b
-{
- closepath
- B
-} def
-/W
-{
- /_doClip 1 ddef
-} def
-/*
-{
- count 0 ne
- {
- dup type /stringtype eq
- {
- pop
- } if
- } if
- newpath
-} def
-/u
-{
-} def
-/U
-{
-} def
-/q
-{
- _pola 0 eq
- {
- gsave
- } if
-} def
-/Q
-{
- _pola 0 eq
- {
- grestore
- } if
-} def
-/*u
-{
- _pola 1 add /_pola exch ddef
-} def
-/*U
-{
- _pola 1 sub /_pola exch ddef
- _pola 0 eq
- {
- CRender
- } if
-} def
-/D
-{
- pop
-} def
-/*w
-{
-} def
-/*W
-{
-} def
-/`
-{
- /_i save ddef
- clipForward?
- {
- nulldevice
- } if
- 6 1 roll 4 npop
- concat pop
- userdict begin
- /showpage
- {
- } def
- 0 setgray
- 0 setlinecap
- 1 setlinewidth
- 0 setlinejoin
- 10 setmiterlimit
- [] 0 setdash
- /setstrokeadjust where {pop false setstrokeadjust} if
- newpath
- 0 setgray
- false setoverprint
-} def
-/~
-{
- end
- _i restore
-} def
-/O
-{
- 0 ne
- /_of exch ddef
- /_lp /none ddef
-} def
-/R
-{
- 0 ne
- /_os exch ddef
- /_lp /none ddef
-} def
-/g
-{
- /_gf exch ddef
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _gf setgray
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- fill
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/G
-{
- /_gs exch ddef
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _gs setgray
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/k
-{
- _cf astore pop
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _cf aload pop setcmykcolor
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- fill
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/K
-{
- _cs astore pop
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _cs aload pop setcmykcolor
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/x
-{
- /_gf exch ddef
- findcmykcustomcolor
- /_if exch ddef
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _if _gf 1 exch sub setcustomcolor
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- fill
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/X
-{
- /_gs exch ddef
- findcmykcustomcolor
- /_is exch ddef
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _is _gs 1 exch sub setcustomcolor
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/A
-{
- pop
-} def
-/annotatepage
-{
-userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
-} def
-/discard
-{
- save /discardSave exch store
- discardDict begin
- /endString exch store
- gt38?
- {
- 2 add
- } if
- load
- stopped
- pop
- end
- discardSave restore
-} bind def
-userdict /discardDict 7 dict dup begin
-put
-/pre38Initialize
-{
- /endStringLength endString length store
- /newBuff buffer 0 endStringLength getinterval store
- /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
- /newBuffLast newBuff endStringLength 1 sub 1 getinterval store
-} def
-/shiftBuffer
-{
- newBuff 0 newBuffButFirst putinterval
- newBuffLast 0
- currentfile read not
- {
- stop
- } if
- put
-} def
-0
-{
- pre38Initialize
- mark
- currentfile newBuff readstring exch pop
- {
- {
- newBuff endString eq
- {
- cleartomark stop
- } if
- shiftBuffer
- } loop
- }
- {
- stop
- } ifelse
-} def
-1
-{
- pre38Initialize
- /beginString exch store
- mark
- currentfile newBuff readstring exch pop
- {
- {
- newBuff beginString eq
- {
- /layerCount dup load 1 add store
- }
- {
- newBuff endString eq
- {
- /layerCount dup load 1 sub store
- layerCount 0 eq
- {
- cleartomark stop
- } if
- } if
- } ifelse
- shiftBuffer
- } loop
- }
- {
- stop
- } ifelse
-} def
-2
-{
- mark
- {
- currentfile buffer readline not
- {
- stop
- } if
- endString eq
- {
- cleartomark stop
- } if
- } loop
-} def
-3
-{
- /beginString exch store
- /layerCnt 1 store
- mark
- {
- currentfile buffer readline not
- {
- stop
- } if
- dup beginString eq
- {
- pop /layerCnt dup load 1 add store
- }
- {
- endString eq
- {
- layerCnt 1 eq
- {
- cleartomark stop
- }
- {
- /layerCnt dup load 1 sub store
- } ifelse
- } if
- } ifelse
- } loop
-} def
-end
-userdict /clipRenderOff 15 dict dup begin
-put
-{
- /n /N /s /S /f /F /b /B
-}
-{
- {
- _doClip 1 eq
- {
- /_doClip 0 ddef clip
- } if
- newpath
- } def
-} forall
-/Tr /pop load def
-/Bb {} def
-/BB /pop load def
-/Bg {12 npop} def
-/Bm {6 npop} def
-/Bc /Bm load def
-/Bh {4 npop} def
-end
-/Lb
-{
- 4 npop
- 6 1 roll
- pop
- 4 1 roll
- pop pop pop
- 0 eq
- {
- 0 eq
- {
- (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
- }
- {
- /clipForward? true def
-
- /Tx /pop load def
- /Tj /pop load def
- currentdict end clipRenderOff begin begin
- } ifelse
- }
- {
- 0 eq
- {
- save /discardSave exch store
- } if
- } ifelse
-} bind def
-/LB
-{
- discardSave dup null ne
- {
- restore
- }
- {
- pop
- clipForward?
- {
- currentdict
- end
- end
- begin
-
- /clipForward? false ddef
- } if
- } ifelse
-} bind def
-/Pb
-{
- pop pop
- 0 (%AI5_EndPalette) discard
-} bind def
-/Np
-{
- 0 (%AI5_End_NonPrinting--) discard
-} bind def
-/Ln /pop load def
-/Ap
-/pop load def
-/Ar
-{
- 72 exch div
- 0 dtransform dup mul exch dup mul add sqrt
- dup 1 lt
- {
- pop 1
- } if
- setflat
-} def
-/Mb
-{
- q
-} def
-/Md
-{
-} def
-/MB
-{
- Q
-} def
-/nc 3 dict def
-nc begin
-/setgray
-{
- pop
-} bind def
-/setcmykcolor
-{
- 4 npop
-} bind def
-/setcustomcolor
-{
- 2 npop
-} bind def
-currentdict readonly pop
-end
-currentdict readonly pop
-end
-setpacking
-%%EndResource
-%%EndProlog
-%%BeginSetup
-Adobe_level2_AI5 /initialize get exec
-Adobe_IllustratorA_AI5 /initialize get exec
-%AI5_Begin_NonPrinting
-Np
-%AI3_BeginPattern: (Yellow Stripe)
-(Yellow Stripe) 8.4499 4.6 80.4499 76.6 [
-%AI3_Tile
-(0 O 0 R 0 0.4 1 0 k 0 0.4 1 0 K) @
-(
-800 Ar
-0 J 0 j 3.6 w 4 M []0 d
-%AI3_Note:
-0 D
-8.1999 8.1999 m
-80.6999 8.1999 L
-S
-8.1999 22.6 m
-80.6999 22.6 L
-S
-8.1999 37.0001 m
-80.6999 37.0001 L
-S
-8.1999 51.3999 m
-80.6999 51.3999 L
-S
-8.1999 65.8 m
-80.6999 65.8 L
-S
-8.1999 15.3999 m
-80.6999 15.3999 L
-S
-8.1999 29.8 m
-80.6999 29.8 L
-S
-8.1999 44.1999 m
-80.6999 44.1999 L
-S
-8.1999 58.6 m
-80.6999 58.6 L
-S
-8.1999 73.0001 m
-80.6999 73.0001 L
-S
-) &
-] E
-%AI3_EndPattern
-%AI5_End_NonPrinting--
-%AI5_Begin_NonPrinting
-Np
-3 Bn
-%AI5_BeginGradient: (Black & White)
-(Black & White) 0 2 Bd
-[
-<
-FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
-D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
-AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
-87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
-5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
-37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
-0F0E0D0C0B0A09080706050403020100
->
-0 %_Br
-[
-0 0 50 100 %_Bs
-1 0 50 0 %_Bs
-BD
-%AI5_EndGradient
-%AI5_BeginGradient: (Red & Yellow)
-(Red & Yellow) 0 2 Bd
-[
-0
-<
-000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
-28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
-505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
-78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
-A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
-C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
-F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
->
-<
-FFFFFEFEFDFDFDFCFCFBFBFBFAFAF9F9F9F8F8F7F7F7F6F6F5F5F5F4F4F3F3F3F2F2F1F1F1F0F0EF
-EFEFEEEEEDEDEDECECEBEBEBEAEAE9E9E9E8E8E7E7E7E6E6E5E5E5E4E4E3E3E3E2E2E1E1E1E0E0DF
-DFDFDEDEDDDDDDDCDCDBDBDBDADAD9D9D9D8D8D7D7D7D6D6D5D5D5D4D4D3D3D3D2D2D1D1D1D0D0CF
-CFCFCECECDCDCDCCCCCBCBCBCACAC9C9C9C8C8C7C7C7C6C6C5C5C5C4C4C3C3C3C2C2C1C1C1C0C0BF
-BFBFBEBEBDBDBDBCBCBBBBBBBABAB9B9B9B8B8B7B7B7B6B6B5B5B5B4B4B3B3B3B2B2B1B1B1B0B0AF
-AFAFAEAEADADADACACABABABAAAAA9A9A9A8A8A7A7A7A6A6A5A5A5A4A4A3A3A3A2A2A1A1A1A0A09F
-9F9F9E9E9D9D9D9C9C9B9B9B9A9A9999
->
-0
-1 %_Br
-[
-0 1 0.6 0 1 50 100 %_Bs
-0 0 1 0 1 50 0 %_Bs
-BD
-%AI5_EndGradient
-%AI5_BeginGradient: (Yellow & Blue Radial)
-(Yellow & Blue Radial) 1 2 Bd
-[
-<
-000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
-28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
-505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
-78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
-A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
-C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
-F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
->
-<
-1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738
-393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D
-5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182
-83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7
-A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB
-CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0
-F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF
->
-<
-ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191
-908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776
-7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B
-5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140
-403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626
-25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B
-0A090908070706050504030302010100
->
-0
-1 %_Br
-[
-0 0.08 0.67 0 1 50 14 %_Bs
-1 1 0 0 1 50 100 %_Bs
-BD
-%AI5_EndGradient
-%AI5_End_NonPrinting--
-%AI5_BeginPalette
-36 71 Pb
-Pn
-Pc
-1 g
-Pc
-0 g
-Pc
-0 0 0 0 k
-Pc
-0.75 g
-Pc
-0.5 g
-Pc
-0.25 g
-Pc
-0 g
-Pc
-Bb
-2 (Black & White) -4014 4716 0 0 1 0 0 1 0 0 Bg
-0 BB
-Pc
-0.25 0 0 0 k
-Pc
-0.5 0 0 0 k
-Pc
-0.75 0 0 0 k
-Pc
-1 0 0 0 k
-Pc
-0.25 0.25 0 0 k
-Pc
-0.5 0.5 0 0 k
-Pc
-0.75 0.75 0 0 k
-Pc
-1 1 0 0 k
-Pc
-Bb
-2 (Red & Yellow) -4014 4716 0 0 1 0 0 1 0 0 Bg
-0 BB
-Pc
-0 0.25 0 0 k
-Pc
-0 0.5 0 0 k
-Pc
-0 0.75 0 0 k
-Pc
-0 1 0 0 k
-Pc
-0 0.25 0.25 0 k
-Pc
-0 0.5 0.5 0 k
-Pc
-0 0.75 0.75 0 k
-Pc
-0 1 1 0 k
-Pc
-Bb
-0 0 0 0 Bh
-2 (Yellow & Blue Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg
-0 BB
-Pc
-0 0 0.25 0 k
-Pc
-0 0 0.5 0 k
-Pc
-0 0 0.75 0 k
-Pc
-0 0 1 0 k
-Pc
-0.25 0 0.25 0 k
-Pc
-0.5 0 0.5 0 k
-Pc
-0.75 0 0.75 0 k
-Pc
-1 0 1 0 k
-Pc
-(Yellow Stripe) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
-Pc
-0.25 0.125 0 0 k
-Pc
-0.5 0.25 0 0 k
-Pc
-0.75 0.375 0 0 k
-Pc
-1 0.5 0 0 k
-Pc
-0.125 0.25 0 0 k
-Pc
-0.25 0.5 0 0 k
-Pc
-0.375 0.75 0 0 k
-Pc
-0.5 1 0 0 k
-Pc
-0 1 0.91 0 (PANTONE 485 CV) 0 x
-Pc
-0 0.25 0.125 0 k
-Pc
-0 0.5 0.25 0 k
-Pc
-0 0.75 0.375 0 k
-Pc
-0 1 0.5 0 k
-Pc
-0 0.125 0.25 0 k
-Pc
-0 0.25 0.5 0 k
-Pc
-0 0.375 0.75 0 k
-Pc
-0 0.5 1 0 k
-Pc
-0.79 0.76 0 0 (PANTONE 2665 CV) 0 x
-Pc
-0.125 0 0.25 0 k
-Pc
-0.25 0 0.5 0 k
-Pc
-0.375 0 0.75 0 k
-Pc
-0.5 0 1 0 k
-Pc
-0.25 0 0.125 0 k
-Pc
-0.5 0 0.25 0 k
-Pc
-0.75 0 0.375 0 k
-Pc
-1 0 0.5 0 k
-Pc
-0 1 1 0 k
-Pc
-0.25 0.125 0.125 0 k
-Pc
-0.5 0.25 0.25 0 k
-Pc
-0.75 0.375 0.375 0 k
-Pc
-1 0.5 0.5 0 k
-Pc
-0.25 0.25 0.125 0 k
-Pc
-0.5 0.5 0.25 0 k
-Pc
-0.75 0.75 0.375 0 k
-Pc
-1 1 0.5 0 k
-Pc
-0.8 0.75 0 0 k
-Pc
-0.125 0.25 0.125 0 k
-Pc
-0.25 0.5 0.25 0 k
-Pc
-0.375 0.75 0.375 0 k
-Pc
-0.5 1 0.5 0 k
-Pc
-0.125 0.25 0.25 0 k
-Pc
-0.25 0.5 0.5 0 k
-Pc
-0.375 0.75 0.75 0 k
-Pc
-0.5 1 1 0 k
-Pc
-0 0 0 0 k
-Pc
-0.125 0.125 0.25 0 k
-Pc
-0.25 0.25 0.5 0 k
-Pc
-0.375 0.375 0.75 0 k
-Pc
-0.5 0.5 1 0 k
-Pc
-0.25 0.125 0.25 0 k
-Pc
-0.5 0.25 0.5 0 k
-Pc
-0.75 0.375 0.75 0 k
-Pc
-1 0.5 1 0 k
-Pc
-PB
-%AI5_EndPalette
-%%EndSetup
-%AI5_BeginLayer
-1 1 1 1 0 0 0 79 128 255 Lb
-(Layer 1) Ln
-0 A
-800 Ar
-0 J 0 j 1 w 4 M []0 d
-%AI3_Note:
-0 D
--4014 524 m
-4626 524 L
-(N) *
--4014 457 m
-4626 457 L
-(N) *
--4014 439.5 m
-4626 439.5 L
-(N) *
-498 4716 m
-498 -3924 L
-(N) *
-1 A
-u
-*u
-0 O
-0 g
-176.5716 507.7789 m
-176.5716 519.3653 175.5278 520.6177 169.3692 521.1397 c
-166.7596 521.3485 L
-166.1334 521.7661 166.3422 523.6449 166.9684 523.9581 c
-173.0226 523.7493 176.5716 523.6447 180.9554 523.6447 c
-185.1308 523.6447 188.6798 523.7493 192.855 523.9581 c
-193.4812 523.6449 193.69 521.7661 193.0638 521.3485 c
-191.498 521.1397 L
-185.3396 520.3047 185.1308 518.8433 185.1308 507.7789 c
-185.1308 469.0535 L
-185.1308 460.8073 184.7132 453.6049 182.73 448.8033 c
-179.2854 440.4529 171.8744 433.7725 162.1668 433.7725 c
-160.9142 433.7725 157.6784 433.8769 157.6784 435.9645 c
-157.6784 437.7389 159.2442 440.7659 161.4362 440.7659 c
-162.6888 440.7659 163.9412 440.5573 165.2984 440.1397 c
-166.7596 439.7221 168.221 439.4091 169.6822 439.4091 c
-171.8744 439.4091 173.127 440.6617 173.8576 442.1229 c
-176.2584 447.0289 176.5716 462.6861 176.5716 468.3227 C
-176.5716 507.7789 l
-f
-*U
-*u
-210.0184 474.8477 m
-207.886 474.8477 207.9678 474.8477 207.2298 472.6333 c
-203.867 462.7909 L
-202.2266 457.9519 202.5546 457.7059 205.5894 457.2957 c
-207.9678 456.8855 L
-208.542 456.3115 208.46 454.8351 207.8038 454.5071 c
-205.1792 454.6711 202.4726 454.6711 199.11 454.7531 c
-196.4032 454.7531 193.8606 454.6711 190.99 454.5071 c
-190.4158 454.9171 190.334 456.1475 190.908 456.8855 c
-193.3686 457.2957 L
-195.747 457.6237 196.6494 458.3619 197.8796 461.0685 c
-198.8638 463.2009 200.176 466.6459 201.8984 471.0749 c
-213.135 500.2735 L
-214.2014 502.8981 214.9396 504.8665 214.6934 506.2609 c
-217.564 506.8349 220.2708 510.1977 220.4346 510.1977 c
-221.0908 510.1977 221.501 509.9517 221.829 509.5415 c
-223.1414 505.8507 224.2076 501.9959 225.5198 498.3051 c
-237.3306 463.9391 L
-239.217 458.4441 239.627 457.8699 243.81 457.1317 c
-245.0402 456.8855 L
-245.6966 456.3115 245.6966 454.9171 245.1224 454.5071 c
-241.7596 454.6711 238.7248 454.7531 234.46 454.7531 c
-230.933 454.7531 227.3244 454.5891 224.4538 454.5071 c
-223.7974 454.9171 223.7154 456.3935 224.2076 456.8855 c
-226.012 457.1317 L
-228.9646 457.4597 229.2108 457.9519 228.1446 461.4787 c
-224.2896 472.6333 L
-223.4694 474.8477 223.2234 474.8477 220.9268 474.8477 C
-210.0184 474.8477 l
-f
-1 D
-219.8606 478.5385 m
-222.157 478.5385 222.4852 478.7027 221.829 480.6711 c
-218.3842 490.5133 L
-216.9898 494.8603 216.4978 496.4187 216.0878 496.9929 c
-215.9238 496.9929 L
-215.5956 496.4187 214.9396 494.3683 213.4632 490.5133 c
-210.0184 480.9171 L
-209.1162 478.5385 209.3622 478.5385 211.3306 478.5385 C
-219.8606 478.5385 l
-f
-*U
-*u
-0 D
-269.7236 475.0937 m
-266.4428 467.6301 262.588 458.0339 261.1938 453.8509 c
-261.0296 453.6049 260.3734 453.4409 259.7992 453.4409 c
-259.2252 453.4409 258.651 453.6049 258.241 453.8509 c
-257.2568 457.1317 255.9444 461.1507 254.468 464.5953 c
-240.1148 499.1253 L
-237.8184 504.6205 237.0802 505.7687 233.7994 506.4249 c
-231.831 506.8349 L
-231.2568 507.4091 231.2568 508.8855 232.077 509.1315 c
-235.2758 508.9675 238.8026 508.8855 242.0012 508.8855 c
-245.692 508.8855 248.4808 508.9675 252.8278 509.1315 c
-253.566 508.6395 253.648 507.3271 252.9098 506.7529 c
-250.8592 506.2609 L
-249.0548 505.8507 248.3986 505.4407 248.3986 504.7845 c
-248.3986 504.0465 249.0548 502.2419 252.4178 493.8761 c
-258.323 479.2767 L
-259.7992 475.5859 262.0138 470.7467 262.834 468.8603 c
-267.263 479.1947 272.1842 490.5133 276.5312 501.6679 c
-277.8434 504.9485 277.5974 505.6047 275.1368 506.1789 c
-272.7582 506.7529 L
-272.1842 507.4091 272.2662 508.7215 272.9224 509.1315 c
-276.2852 508.9675 279.0738 508.8855 281.6984 508.8855 c
-284.651 508.8855 287.3576 508.9675 289.6542 509.1315 c
-290.3102 508.7215 290.2282 507.4091 289.8182 506.7529 c
-287.7678 506.3429 L
-285.8812 505.9327 284.0768 505.3587 282.6826 502.9801 c
-280.386 499.0431 278.0076 493.5481 274.3166 485.2641 C
-269.7236 475.0937 l
-f
-*U
-*u
-295.058 474.8477 m
-292.9256 474.8477 293.0076 474.8477 292.2694 472.6333 c
-288.9066 462.7909 L
-287.2662 457.9519 287.5942 457.7059 290.629 457.2957 c
-293.0076 456.8855 L
-293.5818 456.3115 293.4996 454.8351 292.8436 454.5071 c
-290.219 454.6711 287.5124 454.6711 284.1494 454.7531 c
-281.4428 454.7531 278.9004 454.6711 276.0298 454.5071 c
-275.4556 454.9171 275.3736 456.1475 275.9476 456.8855 c
-278.4082 457.2957 L
-280.7868 457.6237 281.689 458.3619 282.9192 461.0685 c
-283.9034 463.2009 285.2158 466.6459 286.9382 471.0749 c
-298.1748 500.2735 L
-299.241 502.8981 299.9792 504.8665 299.733 506.2609 c
-302.6038 506.8349 305.3104 510.1977 305.4744 510.1977 c
-306.1306 510.1977 306.5406 509.9517 306.8686 509.5415 c
-308.181 505.8507 309.2472 501.9959 310.5596 498.3051 c
-322.3702 463.9391 L
-324.2568 458.4441 324.6668 457.8699 328.8498 457.1317 c
-330.08 456.8855 L
-330.7362 456.3115 330.7362 454.9171 330.162 454.5071 c
-326.7992 454.6711 323.7646 454.7531 319.4996 454.7531 c
-315.9728 454.7531 312.364 454.5891 309.4932 454.5071 c
-308.8372 454.9171 308.7552 456.3935 309.2472 456.8855 c
-311.0516 457.1317 L
-314.0044 457.4597 314.2504 457.9519 313.1842 461.4787 c
-309.3292 472.6333 L
-308.5092 474.8477 308.263 474.8477 305.9666 474.8477 C
-295.058 474.8477 l
-f
-1 D
-304.9002 478.5385 m
-307.1968 478.5385 307.5248 478.7027 306.8686 480.6711 c
-303.424 490.5133 L
-302.0296 494.8603 301.5376 496.4187 301.1274 496.9929 c
-300.9634 496.9929 L
-300.6354 496.4187 299.9792 494.3683 298.5028 490.5133 c
-295.058 480.9171 L
-294.1558 478.5385 294.4018 478.5385 296.3704 478.5385 C
-304.9002 478.5385 l
-f
-*U
-*u
-0 D
-351.5632 453.0831 m
-342.7952 453.0831 337.263 455.7969 335.2796 456.9451 c
-334.027 459.2415 332.6702 466.6525 332.4614 471.5585 c
-332.9832 472.2893 334.549 472.4979 334.9666 471.8717 c
-336.5322 466.5483 340.812 456.3189 352.9202 456.3189 c
-361.6882 456.3189 365.9678 462.0599 365.9678 468.3227 c
-365.9678 472.9155 365.0284 478.0301 357.4086 482.9361 c
-347.4924 489.4077 L
-342.2732 492.8523 336.2192 498.8021 336.2192 507.3613 c
-336.2192 517.2777 343.9434 525.3151 357.513 525.3151 c
-360.7488 525.3151 364.5066 524.7931 367.2204 523.9581 c
-368.5774 523.6449 370.0388 523.3317 370.8738 523.3317 c
-371.8132 520.8265 372.7526 514.9813 372.7526 510.5971 c
-372.3352 509.9709 370.665 509.6577 370.1432 510.2841 c
-368.7862 515.2943 365.9678 522.0791 355.9474 522.0791 c
-345.7178 522.0791 343.5258 515.2943 343.5258 510.4929 c
-343.5258 504.4387 348.5362 500.1591 352.3982 497.6539 c
-360.7488 492.4349 L
-367.3248 488.3641 373.7964 482.3099 373.7964 472.3935 c
-373.7964 460.9115 365.1328 453.0831 351.5632 453.0831 c
-f
-*U
-*u
-436.2588 495.1933 m
-443.7822 480.8941 438.5084 464.4957 423.8462 456.7813 c
-407.442 448.1505 391.9338 454.7267 385.136 467.6469 c
-377.3454 482.4543 382.3214 499.0667 397.5642 507.0865 c
-414.3312 515.9081 429.3082 508.4037 436.2588 495.1933 c
-f
-1 D
-393.9002 474.9455 m
-399.1704 464.9289 410.6324 453.5361 423.0444 460.0665 c
-431.3192 464.4203 434.7508 474.1035 427.0748 488.6929 c
-421.308 499.6533 409.6892 509.7587 398.1482 503.6865 c
-390.8896 499.8675 385.7658 490.4061 393.9002 474.9455 c
-f
-*U
-*u
-0 D
-469.3974 508.8855 m
-474.6466 508.8855 479.2396 508.9675 480.962 509.1315 c
-480.962 507.3271 480.962 501.1757 481.126 497.3209 c
-480.798 496.6647 479.3216 496.5007 478.5014 496.9929 c
-477.6814 501.7499 476.369 504.1283 473.2524 504.9485 c
-471.0378 505.5227 468.9872 505.6047 466.3626 505.6047 c
-462.1796 505.6047 L
-458.735 505.6047 458.735 505.4407 458.735 500.8477 c
-458.735 486.1663 L
-458.735 484.1159 458.817 483.9517 460.7034 483.9517 c
-465.5424 483.9517 L
-472.6782 483.9517 473.9904 484.1159 474.7286 487.5605 c
-475.3848 490.3493 L
-475.8768 490.9233 477.4352 490.9233 477.8454 490.2671 c
-477.7632 488.1347 477.5992 485.1001 477.5992 482.0653 c
-477.5992 479.0307 477.7632 476.0781 477.8454 473.5355 c
-477.4352 472.8793 475.8768 472.8793 475.3848 473.4533 c
-474.7286 476.6521 L
-473.9904 480.0969 472.6782 480.2609 465.5424 480.2609 c
-460.7034 480.2609 L
-458.817 480.2609 458.735 480.0969 458.735 478.0463 c
-458.735 466.5637 L
-458.735 457.8699 459.473 457.6237 463.328 457.2957 c
-466.7728 456.8855 L
-467.347 456.3115 467.2648 454.8351 466.6088 454.5071 c
-461.3596 454.6711 457.6688 454.7531 454.0598 454.7531 c
-450.451 454.7531 446.7602 454.6711 442.9874 454.5071 c
-442.3312 454.8351 442.2492 456.3115 442.8234 456.8855 c
-444.6276 457.1317 L
-448.4826 457.6237 449.2208 457.8699 449.2208 466.5637 c
-449.2208 497.0747 L
-449.2208 505.7687 448.4826 506.0149 444.6276 506.5889 c
-443.5614 506.7529 L
-442.9874 507.3271 443.0694 508.8035 443.7256 509.1315 c
-446.5962 508.9675 450.287 508.8855 453.8958 508.8855 C
-469.3974 508.8855 l
-f
-*U
-*u
-506.6286 501.9959 m
-506.6286 505.4407 506.5464 505.6047 504.414 505.6047 c
-499.821 505.6047 L
-492.2752 505.6047 490.0608 504.7025 487.026 498.0589 c
-486.452 497.5669 484.7296 497.8129 484.4014 498.6331 c
-485.7956 503.0621 487.026 508.1473 487.6002 511.0179 c
-487.7642 511.2639 488.0922 511.3461 488.5024 511.3461 c
-488.8304 511.3461 489.1584 511.2639 489.3226 511.0179 c
-489.7326 508.9675 490.8808 508.8855 496.4582 508.8855 c
-529.9218 508.8855 L
-533.9408 508.8855 535.171 509.1315 536.1552 511.0179 c
-536.4832 511.1819 536.8114 511.3461 537.1396 511.3461 c
-537.6316 511.3461 538.0416 511.1819 538.2056 510.9359 c
-537.3856 507.5731 536.7294 500.5195 536.9754 497.8949 c
-536.5654 497.2389 535.171 497.0747 534.4328 497.6489 c
-533.3666 504.0465 531.8082 505.6047 523.0322 505.6047 c
-518.3572 505.6047 L
-516.2246 505.6047 516.1426 505.4407 516.1426 501.9959 c
-516.1426 466.5637 L
-516.1426 457.8699 516.8808 457.6237 520.7358 457.2137 c
-523.6884 456.8855 L
-524.2624 456.3115 524.1806 454.8351 523.5244 454.5071 c
-518.7672 454.6711 515.0764 454.7531 511.4676 454.7531 c
-507.8588 454.7531 504.0038 454.6711 498.7546 454.5071 c
-498.0986 454.8351 498.0164 456.4755 498.5906 456.8855 c
-502.0356 457.2957 L
-505.8904 457.6237 506.6286 457.8699 506.6286 466.5637 C
-506.6286 501.9959 l
-f
-*U
-1 Ap
-0 R
-0.9 G
-0.0797 w
-84.1686 502.0388 m
-89.091 497.1166 L
-70.6526 478.6605 L
-70.3158 478.324 70.3375 477.7555 70.702 477.3919 c
-71.0649 477.0283 71.6334 477.0058 71.9708 477.3432 C
-90.4005 495.8064 L
-95.353 490.8553 L
-76.7494 472.2375 L
-73.8856 469.373 69.0566 469.5595 65.9624 472.653 c
-62.8696 475.7465 62.6828 480.5762 65.5476 483.44 C
-84.1686 502.0388 L
-b
-84.2031 455.1757 m
-79.2807 460.0978 L
-97.7184 478.5537 L
-98.0556 478.8902 98.0342 479.4589 97.6697 479.8225 c
-97.3068 480.1871 96.7374 480.2086 96.4001 479.8712 C
-77.9712 461.408 L
-73.0196 466.3591 L
-91.622 484.9769 L
-94.4861 487.8415 99.315 487.655 102.4093 484.5614 c
-105.5021 481.4685 105.6877 476.639 102.8241 473.7744 C
-84.2031 455.1757 L
-b
-85.3913 454.0591 m
-90.3128 458.9812 L
-108.7693 440.5428 L
-109.1052 440.2063 109.6739 440.2286 110.0382 440.5922 c
-110.4011 440.9561 110.4243 441.5246 110.0862 441.8613 C
-91.6229 460.2917 L
-96.5748 465.2433 L
-115.1916 446.6406 L
-118.0555 443.776 117.8697 438.9462 114.7763 435.8536 c
-111.6835 432.76 106.853 432.5733 103.9891 435.438 C
-85.3913 454.0591 L
-b
-132.2538 454.0933 m
-127.3313 449.1711 L
-108.8755 467.6096 L
-108.539 467.9461 107.9712 467.9245 107.6066 467.56 c
-107.2436 467.1964 107.2207 466.6285 107.5579 466.2913 C
-126.0218 447.8607 L
-121.0703 442.9098 L
-102.4524 461.5125 L
-99.5884 464.3764 99.7744 469.2062 102.8687 472.2996 c
-105.9615 475.3933 110.7918 475.5792 113.6557 472.7153 C
-132.2538 454.0933 L
-b
-133.3701 455.2815 m
-128.4479 460.2039 L
-146.8872 478.6592 L
-147.2229 478.9963 147.2015 479.5641 146.8369 479.9286 c
-146.474 480.2925 145.9046 480.3148 145.5688 479.9774 C
-127.1384 461.5134 L
-122.1868 466.465 L
-140.7895 485.0831 L
-143.6533 487.9469 148.483 487.7611 151.5765 484.6676 c
-154.6694 481.574 154.8568 476.7444 151.9928 473.8803 C
-133.3701 455.2815 L
-b
-133.3358 502.1449 m
-138.2582 497.2227 L
-119.8198 478.7668 L
-119.4831 478.4292 119.5047 477.8616 119.8692 477.498 c
-120.2337 477.1335 120.8006 477.1119 121.138 477.4484 C
-139.5691 495.9123 L
-144.5202 490.9605 L
-125.9183 472.3427 L
-123.0528 469.4788 118.2239 469.6656 115.1313 472.7582 c
-112.0368 475.8517 111.851 480.6816 114.7148 483.5454 C
-133.3358 502.1449 L
-b
-132.1485 503.2615 m
-127.2262 498.3391 L
-108.7709 516.7768 L
-108.4338 517.1143 107.866 517.0917 107.5014 516.7281 c
-107.1369 516.3643 107.1155 515.7958 107.4527 515.4593 C
-125.9167 497.0289 L
-120.9642 492.0771 L
-102.347 510.6797 L
-99.4832 513.5436 99.669 518.3734 102.7619 521.467 c
-105.8554 524.5605 110.685 524.7464 113.5489 521.8825 C
-132.1485 503.2615 L
-b
-85.2842 503.2273 m
-90.2073 508.1494 L
-108.6625 489.711 L
-109 489.3745 109.5678 489.3958 109.9314 489.7595 c
-110.2957 490.124 110.3182 490.6918 109.9808 491.0292 C
-91.5169 509.4589 L
-96.4695 514.4105 L
-115.0865 495.8078 L
-117.9503 492.9439 117.7645 488.1143 114.6709 485.0208 c
-111.5783 481.9272 106.7478 481.7414 103.8839 484.6053 C
-85.2842 503.2273 L
-b
-u
-*u
-0 Ap
-1 w
-193.219 433.6811 m
-196.0814 445.6746 L
-199.1037 445.6746 L
-201.8222 433.6811 L
-199.4235 433.6811 L
-198.8319 436.7195 L
-196.2093 436.7195 L
-195.6176 433.6811 L
-193.219 433.6811 l
-f
-1 D
-196.5611 438.4785 m
-198.4801 438.4785 L
-197.8724 441.8846 L
-197.7605 442.4443 197.7125 442.988 197.6485 443.5477 c
-197.6325 443.8196 197.6006 444.0914 197.5686 444.3473 c
-197.5366 444.3473 L
-197.5046 444.0914 197.4726 443.8196 197.4566 443.5477 c
-197.3927 442.988 197.3447 442.4443 197.2328 441.8846 C
-196.5611 438.4785 l
-f
-*U
-*u
-0 D
-218.0943 442.0286 m
-218.1103 443.1 218.0144 444.1554 216.783 444.1554 c
-216.0315 444.1554 215.5517 443.8516 215.5517 443.036 c
-215.5517 442.1245 216.1274 441.7727 216.831 441.3249 c
-217.5666 440.8612 218.9259 439.9657 219.5495 439.358 c
-220.3171 438.6064 220.557 437.8868 220.557 436.8474 c
-220.557 434.5767 219.0538 433.3933 216.863 433.3933 c
-214.1765 433.3933 213.217 434.8965 213.217 437.0393 c
-213.217 437.9188 L
-215.4558 437.9188 L
-215.4558 437.2152 L
-215.4078 436.0478 215.7596 435.2003 216.863 435.2003 c
-217.8065 435.2003 218.2542 435.696 218.2542 436.6075 c
-218.2542 437.3112 217.9344 437.7909 217.3587 438.1907 c
-216.1914 439.1022 214.7362 439.7578 213.8247 440.9571 c
-213.4569 441.5009 213.249 442.1565 213.249 442.7961 c
-213.249 444.843 214.4004 445.9624 216.7671 445.9624 c
-220.3331 445.9624 220.2371 443.2119 220.2531 442.0286 C
-218.0943 442.0286 l
-f
-*U
-*u
-228.8296 435.0244 m
-228.7976 435.0244 L
-228.4777 433.953 227.8701 433.4573 226.8626 433.4413 c
-225.2155 433.4413 224.8477 434.2888 224.8477 435.792 c
-224.8477 442.7002 L
-226.9266 442.7002 L
-226.9266 436.5276 L
-226.9266 436.1278 226.9106 435.68 227.1345 435.3282 c
-227.3104 435.1363 227.5023 435.0404 227.7741 435.0404 c
-228.7496 435.0404 228.7336 436.1438 228.7336 436.8474 c
-228.7336 442.7002 L
-230.8125 442.7002 L
-230.8125 433.6811 L
-228.8296 433.6811 L
-228.8296 435.0244 l
-f
-*U
-*u
-238.2065 441.7727 m
-238.2385 441.7727 L
-238.7022 442.8121 239.6297 442.9401 240.1095 442.9401 c
-241.2928 442.9401 242.2523 442.2524 242.1883 440.6373 c
-242.1883 433.6811 L
-240.1095 433.6811 L
-240.1095 439.6938 L
-240.1095 440.5734 240.0135 441.149 239.2299 441.181 c
-238.4464 441.213 238.1745 440.4774 238.2065 439.5179 c
-238.2065 433.6811 L
-236.1277 433.6811 L
-236.1277 442.7002 L
-238.2065 442.7002 L
-238.2065 441.7727 l
-f
-*U
-*u
-257.0861 433.6811 m
-254.8474 433.6811 L
-254.8474 445.6746 L
-258.4134 445.6746 L
-259.6128 440.1096 L
-259.8047 439.1981 259.9326 438.2706 260.0285 437.3431 c
-260.0605 437.3431 L
-260.1725 438.5265 260.2524 439.326 260.4123 440.1096 c
-261.6117 445.6746 L
-265.1617 445.6746 L
-265.1617 433.6811 L
-262.9229 433.6811 L
-262.9229 437.4551 L
-262.9229 439.8378 262.9709 442.2205 263.1148 444.6031 c
-263.0829 444.6031 L
-260.6842 433.6811 L
-259.3249 433.6811 L
-256.9742 444.6031 L
-256.8943 444.6031 L
-257.0382 442.2205 257.0861 439.8378 257.0861 437.4551 C
-257.0861 433.6811 l
-f
-*U
-*u
-270.6366 433.6811 m
-270.6366 442.7002 L
-272.7154 442.7002 L
-272.7154 433.6811 L
-270.6366 433.6811 l
-f
-1 D
-270.6366 443.7876 m
-270.6366 445.6746 L
-272.7154 445.6746 L
-272.7154 443.7876 L
-270.6366 443.7876 l
-f
-*U
-*u
-0 D
-281.3204 439.5659 m
-281.3204 440.5734 L
-281.2884 441.0691 281.0485 441.3409 280.6008 441.3409 c
-279.8012 441.3409 279.8012 440.4294 279.8172 439.326 c
-279.8172 437.1992 L
-279.7693 435.4402 279.9771 435.1204 280.6008 435.0404 c
-281.2404 435.0564 281.2564 435.6481 281.3204 436.3677 c
-281.3204 437.1992 L
-283.3993 437.1992 L
-283.3993 436.3677 L
-283.3993 434.4807 282.6157 433.4413 280.5528 433.4413 c
-278.7138 433.4413 277.6584 434.4167 277.7384 436.8154 c
-277.7384 439.7418 L
-277.7224 442.2684 278.9697 442.9401 280.5528 442.9401 c
-282.6477 442.9401 283.4152 441.6288 283.3993 440.2855 c
-283.3993 439.5659 L
-281.3204 439.5659 l
-f
-*U
-*u
-290.2627 441.1011 m
-290.2946 441.1011 L
-290.5505 441.7567 290.8064 442.1245 291.1102 442.3804 c
-291.7019 442.8761 292.1016 442.8441 292.4055 442.8601 c
-292.4055 440.3975 L
-291.2541 440.5094 290.3746 440.2216 290.3426 438.8943 c
-290.3426 433.6811 L
-288.2638 433.6811 L
-288.2638 442.7002 L
-290.2627 442.7002 L
-290.2627 441.1011 l
-f
-*U
-*u
-296.708 437.8708 m
-296.724 440.9571 296.7559 442.9401 299.8902 442.9401 c
-302.9765 442.9401 302.9925 440.9571 303.0085 437.8708 c
-303.0245 434.7366 302.5767 433.3933 299.8902 433.4413 c
-297.1557 433.3933 296.692 434.7366 296.708 437.8708 c
-f
-1 D
-298.7868 436.6235 m
-298.7868 435.5201 298.8828 435.0404 299.8902 435.0404 c
-300.8497 435.0404 300.9297 435.5201 300.9297 436.6235 c
-300.9297 439.6299 L
-300.9297 440.4774 300.9297 441.3409 299.8902 441.3409 c
-298.7868 441.3409 298.7868 440.4774 298.7868 439.6299 C
-298.7868 436.6235 l
-f
-*U
-*u
-0 D
-309.619 436.6555 m
-309.4591 434.9924 310.0987 435.0404 310.5785 435.0404 c
-311.1701 435.0404 311.5859 435.4722 311.442 436.0478 c
-311.41 436.5596 310.8183 436.8474 310.4185 437.1193 c
-309.2832 437.9028 L
-308.2437 438.6224 307.5721 439.454 307.5721 440.7493 c
-307.5721 442.1405 308.6755 442.9401 310.6744 442.9401 c
-312.6893 442.9401 313.6168 441.8846 313.5688 439.9497 c
-311.49 439.9497 L
-311.5379 440.9571 311.2501 441.3409 310.5305 441.3409 c
-310.0348 441.3409 309.651 441.1171 309.651 440.6053 c
-309.651 440.0776 310.0348 439.8378 310.4345 439.5659 c
-312.1296 438.4145 L
-312.6573 438.1107 313.4889 437.2472 313.5528 436.6395 c
-313.7287 435.0724 313.3449 433.4413 310.4665 433.4413 c
-309.3631 433.4413 307.3003 433.905 307.5401 436.6555 C
-309.619 436.6555 l
-f
-*U
-*u
-319.6966 442.7002 m
-320.6081 437.9188 L
-320.752 437.1193 320.832 436.3197 320.912 435.5201 c
-320.9439 435.5201 L
-321.0079 436.3037 321.1198 437.0873 321.2638 437.8549 c
-322.1753 442.7002 L
-324.2861 442.7002 L
-322.0953 433.5532 L
-321.5676 431.5063 321.5196 430.227 318.6412 430.6428 c
-318.6412 432.2579 L
-318.977 432.2579 319.8725 432.082 319.8725 432.6577 c
-319.8725 432.9775 319.7606 433.4893 319.6806 433.8091 c
-317.5058 442.7002 L
-319.6966 442.7002 l
-f
-*U
-*u
-329.9662 436.6555 m
-329.8062 434.9924 330.4459 435.0404 330.9256 435.0404 c
-331.5173 435.0404 331.9331 435.4722 331.7891 436.0478 c
-331.7572 436.5596 331.1655 436.8474 330.7657 437.1193 c
-329.6303 437.9028 L
-328.5909 438.6224 327.9193 439.454 327.9193 440.7493 c
-327.9193 442.1405 329.0227 442.9401 331.0216 442.9401 c
-333.0365 442.9401 333.964 441.8846 333.916 439.9497 c
-331.8371 439.9497 L
-331.8851 440.9571 331.5973 441.3409 330.8777 441.3409 c
-330.3819 441.3409 329.9981 441.1171 329.9981 440.6053 c
-329.9981 440.0776 330.3819 439.8378 330.7817 439.5659 c
-332.4768 438.4145 L
-333.0045 438.1107 333.836 437.2472 333.9 436.6395 c
-334.0759 435.0724 333.6921 433.4413 330.8137 433.4413 c
-329.7103 433.4413 327.6474 433.905 327.8873 436.6555 C
-329.9662 436.6555 l
-f
-*U
-*u
-341.9627 433.6492 m
-340.7314 433.5052 339.0044 433.3933 339.0044 435.0724 c
-339.0044 441.181 L
-338.1568 441.181 L
-338.1568 442.7002 L
-338.9884 442.7002 L
-338.9884 445.1788 L
-341.0832 445.1788 L
-341.0832 442.7002 L
-341.9627 442.7002 L
-341.9627 441.181 L
-341.0832 441.181 L
-341.0832 435.5841 L
-341.1312 435.2003 341.7069 435.2483 341.9627 435.2803 C
-341.9627 433.6492 l
-f
-*U
-*u
-346.4417 439.5979 m
-346.3458 441.7247 347.4332 442.9401 349.4801 442.9401 c
-352.3745 442.9401 352.6783 441.4369 352.6783 438.9742 c
-352.6783 437.7589 L
-348.5206 437.7589 L
-348.5206 436.4476 L
-348.5366 435.2643 348.9843 435.0404 349.608 435.0404 c
-350.3756 435.0404 350.5995 435.6001 350.5675 436.7355 c
-352.6463 436.7355 L
-352.7263 434.7206 351.8947 433.4413 349.7679 433.4413 c
-347.3692 433.4413 346.3938 434.5767 346.4417 437.2312 C
-346.4417 439.5979 l
-f
-1 D
-350.5995 439.358 m
-350.5995 440.1416 L
-350.5835 441.0531 350.3436 441.3409 349.5121 441.3409 c
-348.4726 441.3409 348.5206 440.5414 348.5206 439.7258 c
-348.5206 439.358 L
-350.5995 439.358 l
-f
-*U
-*u
-0 D
-359.9764 441.7727 m
-360.0084 441.7727 L
-360.4721 442.7642 361.3197 442.9081 361.9913 442.9401 c
-362.7589 442.9561 363.7823 442.6202 363.9262 441.7727 c
-364.342 442.5563 364.9976 442.9401 366.0211 442.9401 c
-367.5562 442.9401 368.2279 441.9806 368.2279 441.0211 c
-368.2279 433.6811 L
-366.149 433.6811 L
-366.149 439.7738 L
-366.149 440.5894 366.0691 441.3889 365.1576 441.3409 c
-364.2621 441.293 364.1021 440.6693 364.1021 439.6139 c
-364.1021 433.6811 L
-362.0233 433.6811 L
-362.0233 439.8857 L
-362.0233 440.6853 361.9593 441.3569 360.9998 441.3409 c
-360.0244 441.3249 359.9764 440.6053 359.9764 439.6139 c
-359.9764 433.6811 L
-357.8975 433.6811 L
-357.8975 442.7002 L
-359.9764 442.7002 L
-359.9764 441.7727 l
-f
-*U
-*u
-375.046 436.6555 m
-374.8861 434.9924 375.5257 435.0404 376.0055 435.0404 c
-376.5971 435.0404 377.0129 435.4722 376.869 436.0478 c
-376.837 436.5596 376.2453 436.8474 375.8455 437.1193 c
-374.7102 437.9028 L
-373.6707 438.6224 372.9991 439.454 372.9991 440.7493 c
-372.9991 442.1405 374.1025 442.9401 376.1014 442.9401 c
-378.1163 442.9401 379.0438 441.8846 378.9958 439.9497 c
-376.917 439.9497 L
-376.9649 440.9571 376.6771 441.3409 375.9575 441.3409 c
-375.4618 441.3409 375.078 441.1171 375.078 440.6053 c
-375.078 440.0776 375.4618 439.8378 375.8615 439.5659 c
-377.5566 438.4145 L
-378.0843 438.1107 378.9159 437.2472 378.9798 436.6395 c
-379.1557 435.0724 378.7719 433.4413 375.8935 433.4413 c
-374.7901 433.4413 372.7273 433.905 372.9671 436.6555 C
-375.046 436.6555 l
-f
-*U
-*u
-384.468 432.066 m
-385.2196 432.146 385.6353 432.8176 385.5874 433.6811 c
-384.468 433.6811 L
-384.468 435.792 L
-386.5788 435.792 L
-386.5788 433.7291 L
-386.5788 432.3699 385.8752 431.5383 384.468 431.3624 C
-384.468 432.066 l
-f
-*U
-*u
-399.7444 433.6811 m
-399.7444 445.6746 L
-401.9831 445.6746 L
-401.9831 433.6811 L
-399.7444 433.6811 l
-f
-*U
-*u
-409.3725 441.7727 m
-409.4045 441.7727 L
-409.8683 442.8121 410.7957 442.9401 411.2755 442.9401 c
-412.4588 442.9401 413.4183 442.2524 413.3543 440.6373 c
-413.3543 433.6811 L
-411.2755 433.6811 L
-411.2755 439.6938 L
-411.2755 440.5734 411.1795 441.149 410.396 441.181 c
-409.6124 441.213 409.3405 440.4774 409.3725 439.5179 c
-409.3725 433.6811 L
-407.2937 433.6811 L
-407.2937 442.7002 L
-409.3725 442.7002 L
-409.3725 441.7727 l
-f
-*U
-*u
-421.8997 439.5659 m
-421.8997 440.5734 L
-421.8678 441.0691 421.6279 441.3409 421.1801 441.3409 c
-420.3806 441.3409 420.3806 440.4294 420.3966 439.326 c
-420.3966 437.1992 L
-420.3486 435.4402 420.5565 435.1204 421.1801 435.0404 c
-421.8198 435.0564 421.8358 435.6481 421.8997 436.3677 c
-421.8997 437.1992 L
-423.9786 437.1992 L
-423.9786 436.3677 L
-423.9786 434.4807 423.195 433.4413 421.1322 433.4413 c
-419.2932 433.4413 418.2378 434.4167 418.3177 436.8154 c
-418.3177 439.7418 L
-418.3017 442.2684 419.549 442.9401 421.1322 442.9401 c
-423.227 442.9401 423.9946 441.6288 423.9786 440.2855 c
-423.9786 439.5659 L
-421.8997 439.5659 l
-f
-*U
-*u
-429.3391 433.6811 m
-429.3391 435.792 L
-431.4499 435.792 L
-431.4499 433.6811 L
-429.3391 433.6811 l
-f
-*U
-*u
-444.5515 433.6811 m
-444.5515 445.6746 L
-448.1655 445.6746 L
-449.125 445.6746 450.0684 445.6106 450.7081 444.795 c
-451.2198 444.1394 451.2998 443.4518 451.2998 442.6362 c
-451.2998 441.5968 451.0759 440.5734 449.8606 440.1256 c
-449.8606 440.0936 L
-451.1239 439.9177 451.6036 438.8623 451.6036 437.3112 c
-451.6036 436.8154 451.5716 436.3197 451.4437 435.84 c
-450.964 434.3208 450.1004 433.6811 448.5013 433.6811 C
-444.5515 433.6811 l
-f
-1 D
-447.27 435.4402 m
-447.7337 435.4402 448.2135 435.3922 448.6132 435.5681 c
-449.2209 435.84 449.3009 436.6235 449.3009 437.2312 c
-449.3009 438.5265 449.045 439.0702 447.6538 439.0702 c
-446.7902 439.0702 L
-446.7902 435.4402 L
-447.27 435.4402 l
-f
-447.206 440.8292 m
-447.7497 440.8292 448.4533 440.7972 448.8051 441.245 c
-449.013 441.5488 449.045 441.9646 449.045 442.5403 c
-449.045 443.4358 448.8531 443.8835 447.8297 443.9155 c
-446.7902 443.9155 L
-446.7902 440.8292 L
-447.206 440.8292 l
-f
-*U
-*u
-0 D
-460.5478 435.0244 m
-460.5158 435.0244 L
-460.196 433.953 459.5883 433.4573 458.5809 433.4413 c
-456.9338 433.4413 456.566 434.2888 456.566 435.792 c
-456.566 442.7002 L
-458.6449 442.7002 L
-458.6449 436.5276 L
-458.6449 436.1278 458.6289 435.68 458.8527 435.3282 c
-459.0287 435.1363 459.2205 435.0404 459.4924 435.0404 c
-460.4679 435.0404 460.4519 436.1438 460.4519 436.8474 c
-460.4519 442.7002 L
-462.5307 442.7002 L
-462.5307 433.6811 L
-460.5478 433.6811 L
-460.5478 435.0244 l
-f
-*U
-*u
-469.3971 436.6555 m
-469.2371 434.9924 469.8768 435.0404 470.3565 435.0404 c
-470.9482 435.0404 471.364 435.4722 471.2201 436.0478 c
-471.1881 436.5596 470.5964 436.8474 470.1966 437.1193 c
-469.0612 437.9028 L
-468.0218 438.6224 467.3502 439.454 467.3502 440.7493 c
-467.3502 442.1405 468.4536 442.9401 470.4525 442.9401 c
-472.4674 442.9401 473.3949 441.8846 473.3469 439.9497 c
-471.268 439.9497 L
-471.316 440.9571 471.0282 441.3409 470.3086 441.3409 c
-469.8128 441.3409 469.429 441.1171 469.429 440.6053 c
-469.429 440.0776 469.8128 439.8378 470.2126 439.5659 c
-471.9077 438.4145 L
-472.4354 438.1107 473.2669 437.2472 473.3309 436.6395 c
-473.5068 435.0724 473.123 433.4413 470.2446 433.4413 c
-469.1412 433.4413 467.0783 433.905 467.3182 436.6555 C
-469.3971 436.6555 l
-f
-*U
-*u
-478.3873 433.6811 m
-478.3873 442.7002 L
-480.4662 442.7002 L
-480.4662 433.6811 L
-478.3873 433.6811 l
-f
-478.3873 443.7876 m
-478.3873 445.6746 L
-480.4662 445.6746 L
-480.4662 443.7876 L
-478.3873 443.7876 l
-f
-*U
-*u
-487.9355 441.7727 m
-487.9675 441.7727 L
-488.4312 442.8121 489.3587 442.9401 489.8385 442.9401 c
-491.0218 442.9401 491.9813 442.2524 491.9173 440.6373 c
-491.9173 433.6811 L
-489.8385 433.6811 L
-489.8385 439.6938 L
-489.8385 440.5734 489.7425 441.149 488.9589 441.181 c
-488.1754 441.213 487.9035 440.4774 487.9355 439.5179 c
-487.9355 433.6811 L
-485.8567 433.6811 L
-485.8567 442.7002 L
-487.9355 442.7002 L
-487.9355 441.7727 l
-f
-*U
-*u
-497.1046 439.5979 m
-497.0086 441.7247 498.096 442.9401 500.1429 442.9401 c
-503.0373 442.9401 503.3412 441.4369 503.3412 438.9742 c
-503.3412 437.7589 L
-499.1834 437.7589 L
-499.1834 436.4476 L
-499.1994 435.2643 499.6472 435.0404 500.2708 435.0404 c
-501.0384 435.0404 501.2623 435.6001 501.2303 436.7355 c
-503.3092 436.7355 L
-503.3891 434.7206 502.5576 433.4413 500.4308 433.4413 c
-498.0321 433.4413 497.0566 434.5767 497.1046 437.2312 C
-497.1046 439.5979 l
-f
-501.2623 439.358 m
-501.2623 440.1416 L
-501.2463 441.0531 501.0064 441.3409 500.1749 441.3409 c
-499.1355 441.3409 499.1834 440.5414 499.1834 439.7258 c
-499.1834 439.358 L
-501.2623 439.358 l
-f
-*U
-*u
-509.7118 436.6555 m
-509.5518 434.9924 510.1915 435.0404 510.6712 435.0404 c
-511.2629 435.0404 511.6787 435.4722 511.5348 436.0478 c
-511.5028 436.5596 510.9111 436.8474 510.5113 437.1193 c
-509.3759 437.9028 L
-508.3365 438.6224 507.6649 439.454 507.6649 440.7493 c
-507.6649 442.1405 508.7683 442.9401 510.7672 442.9401 c
-512.7821 442.9401 513.7096 441.8846 513.6616 439.9497 c
-511.5827 439.9497 L
-511.6307 440.9571 511.3429 441.3409 510.6233 441.3409 c
-510.1275 441.3409 509.7437 441.1171 509.7437 440.6053 c
-509.7437 440.0776 510.1275 439.8378 510.5273 439.5659 c
-512.2224 438.4145 L
-512.7501 438.1107 513.5816 437.2472 513.6456 436.6395 c
-513.8215 435.0724 513.4377 433.4413 510.5593 433.4413 c
-509.4559 433.4413 507.393 433.905 507.6329 436.6555 C
-509.7118 436.6555 l
-f
-*U
-*u
-520.0453 436.6555 m
-519.8853 434.9924 520.525 435.0404 521.0047 435.0404 c
-521.5964 435.0404 522.0122 435.4722 521.8683 436.0478 c
-521.8363 436.5596 521.2446 436.8474 520.8448 437.1193 c
-519.7094 437.9028 L
-518.67 438.6224 517.9984 439.454 517.9984 440.7493 c
-517.9984 442.1405 519.1018 442.9401 521.1007 442.9401 c
-523.1156 442.9401 524.0431 441.8846 523.9951 439.9497 c
-521.9162 439.9497 L
-521.9642 440.9571 521.6764 441.3409 520.9568 441.3409 c
-520.461 441.3409 520.0772 441.1171 520.0772 440.6053 c
-520.0772 440.0776 520.461 439.8378 520.8608 439.5659 c
-522.5559 438.4145 L
-523.0836 438.1107 523.9151 437.2472 523.9791 436.6395 c
-524.155 435.0724 523.7712 433.4413 520.8928 433.4413 c
-519.7894 433.4413 517.7265 433.905 517.9664 436.6555 C
-520.0453 436.6555 l
-f
-*U
-U
-U
-LB
-%AI5_EndLayer--
-%%PageTrailer
-gsave annotatepage grestore showpage
-%%Trailer
-Adobe_IllustratorA_AI5 /terminate get exec
-Adobe_level2_AI5 /terminate get exec
-%%EOF
-
-%%EndDocument
-FMENDEPSF
-0 0 0 1 0 0 0 K
-0 72 612 720 C
-0 14 Q
-0 X
-0 0 0 1 0 0 0 K
--1.61 -0.28 (Douglas Kramer) 198 522.01 B
-0 10 Q
--1.15 -0.2 (W) 198 468.68 B
--1.15 -0.2 (ith contributions by) 207.04 468.68 B
--1.15 -0.2 (Bill Joy and David Spenhoff) 198 456.68 B
-0 0 0 1 0 0 0 K
-[/Creator(FrameMaker xm5.0P3f)/DOCINFO FmPD2
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.1/DEST FmPD2
-[/Dest/F.TitlePagedoc/DEST FmPD2
-[/Dest/L.TitlePagedoc/DEST FmPD2
-[/Title(A)/Rect[45 540 567 650]/ARTICLE FmPD2
-[/Title(A)/Rect[45 294 567 540]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "1" 1
-%%Page: "2" 2
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-184.97 83.74 393.7 101.23 R
-7 X
-0 0 0 1 0 0 0 K
-V
-1 1 0 0 0 0 1 K
-0 28 26 105 100 36 36 54 162 FMBEGINEPSF
-%%BeginDocument:
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: Adobe Illustrator(TM) 3.0
-%%For: (clyde) (sun)
-%%Title: (recycle.logo)
-%%CreationDate: (9/24/91) (4:13 PM)
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0
-%%+ procset Adobe_cmykcolor 1.1 0
-%%+ procset Adobe_cshow 1.1 0
-%%+ procset Adobe_customcolor 1.0 0
-%%+ procset Adobe_IllustratorA_AI3 1.0 0
-%%BoundingBox: 28 26 105 100
-%AI3_ColorUsage: Black&White
-%AI3_TemplateBox: 306 396 306 396
-%AI3_TileBox: 30 31 582 761
-%AI3_DocumentPreview: Macintosh_Pic
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset Adobe_packedarray 2.0 0
-%%Title: (Packed Array Operators)
-%%Version: 2.0
-%%CreationDate: (8/2/90) ()
-%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
-userdict /Adobe_packedarray 5 dict dup begin put
-/initialize % - initialize -
-{
-/packedarray where
- {
- pop
- }
- {
- Adobe_packedarray begin
- Adobe_packedarray
- {
- dup xcheck
- {
- bind
- } if
- userdict 3 1 roll put
- } forall
- end
- } ifelse
-} def
-/terminate % - terminate -
-{
-} def
-/packedarray % arguments count packedarray array
-{
-array astore readonly
-} def
-/setpacking % boolean setpacking -
-{
-pop
-} def
-/currentpacking % - setpacking boolean
-{
-false
-} def
-currentdict readonly pop end
-%%EndResource
-Adobe_packedarray /initialize get exec
-%%BeginResource: procset Adobe_cmykcolor 1.1 0
-%%Title: (CMYK Color Operators)
-%%Version: 1.1
-%%CreationDate: (1/23/89) ()
-%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_cmykcolor 4 dict dup begin put
-/initialize % - initialize -
-{
-/setcmykcolor where
- {
- pop
- }
- {
- userdict /Adobe_cmykcolor_vars 2 dict dup begin put
- /_setrgbcolor
- /setrgbcolor load def
- /_currentrgbcolor
- /currentrgbcolor load def
- Adobe_cmykcolor begin
- Adobe_cmykcolor
- {
- dup xcheck
- {
- bind
- } if
- pop pop
- } forall
- end
- end
- Adobe_cmykcolor begin
- } ifelse
-} def
-/terminate % - terminate -
-{
-currentdict Adobe_cmykcolor eq
- {
- end
- } if
-} def
-/setcmykcolor % cyan magenta yellow black setcmykcolor -
-{
-1 sub 4 1 roll
-3
- {
- 3 index add neg dup 0 lt
- {
- pop 0
- } if
- 3 1 roll
- } repeat
-Adobe_cmykcolor_vars /_setrgbcolor get exec
-pop
-} def
-/currentcmykcolor % - currentcmykcolor cyan magenta yellow black
-{
-Adobe_cmykcolor_vars /_currentrgbcolor get exec
-3
- {
- 1 sub neg 3 1 roll
- } repeat
-0
-} def
-currentdict readonly pop end
-setpacking
-%%EndResource
-%%BeginResource: procset Adobe_cshow 1.1 0
-%%Title: (cshow Operator)
-%%Version: 1.1
-%%CreationDate: (1/23/89) ()
-%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_cshow 3 dict dup begin put
-/initialize % - initialize -
-{
-/cshow where
- {
- pop
- }
- {
- userdict /Adobe_cshow_vars 1 dict dup begin put
- /_cshow % - _cshow proc
- {} def
- Adobe_cshow begin
- Adobe_cshow
- {
- dup xcheck
- {
- bind
- } if
- userdict 3 1 roll put
- } forall
- end
- end
- } ifelse
-} def
-/terminate % - terminate -
-{
-} def
-/cshow % proc string cshow -
-{
-exch
-Adobe_cshow_vars
- exch /_cshow
- exch put
- {
- 0 0 Adobe_cshow_vars /_cshow get exec
- } forall
-} def
-currentdict readonly pop end
-setpacking
-%%EndResource
-%%BeginResource: procset Adobe_customcolor 1.0 0
-%%Title: (Custom Color Operators)
-%%Version: 1.0
-%%CreationDate: (5/9/88) ()
-%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_customcolor 5 dict dup begin put
-/initialize % - initialize -
-{
-/setcustomcolor where
- {
- pop
- }
- {
- Adobe_customcolor begin
- Adobe_customcolor
- {
- dup xcheck
- {
- bind
- } if
- pop pop
- } forall
- end
- Adobe_customcolor begin
- } ifelse
-} def
-/terminate % - terminate -
-{
-currentdict Adobe_customcolor eq
- {
- end
- } if
-} def
-/findcmykcustomcolor % cyan magenta yellow black name findcmykcustomcolor object
-{
-5 packedarray
-} def
-/setcustomcolor % object tint setcustomcolor -
-{
-exch
-aload pop pop
-4
- {
- 4 index mul 4 1 roll
- } repeat
-5 -1 roll pop
-setcmykcolor
-} def
-/setoverprint % boolean setoverprint -
-{
-pop
-} def
-currentdict readonly pop end
-setpacking
-%%EndResource
-%%BeginResource: procset Adobe_IllustratorA_AI3 1.0 0
-%%Title: (Adobe Illustrator (R) Version 3.0 Abbreviated Prolog)
-%%Version: 1.0
-%%CreationDate: (7/22/89) ()
-%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_IllustratorA_AI3 61 dict dup begin put
-% initialization
-/initialize % - initialize -
-{
-userdict /Adobe_IllustratorA_AI3_vars 46 dict dup begin put
-% paint operands
-/_lp /none def
-/_pf {} def
-/_ps {} def
-/_psf {} def
-/_pss {} def
-/_pjsf {} def
-/_pjss {} def
-/_pola 0 def
-/_doClip 0 def
-% paint operators
-/cf currentflat def % - cf flatness
-% typography operands
-/_tm matrix def
-/_renderStart [/e0 /r0 /a0 /o0 /i0 /i0 /i0 /i0] def
-/_renderEnd [null null null null /e1 /r1 /a1 /clip] def
-/_render -1 def
-/_rise 0 def
-/_ax 0 def % x character spacing (_ax, _ay, _cx, _cy follows awidthshow naming convention)
-/_ay 0 def % y character spacing
-/_cx 0 def % x word spacing
-/_cy 0 def % y word spacing
-/_leading [0 0] def
-/_ctm matrix def
-/_mtx matrix def
-/_sp 16#020 def
-/_hyphen (-) def
-/_fScl 0 def
-/_cnt 0 def
-/_hs 1 def
-/_nativeEncoding 0 def
-/_useNativeEncoding 0 def
-/_tempEncode 0 def
-/_pntr 0 def
-% typography operators
-/Tx {} def
-/Tj {} def
-% compound path operators
-/CRender {} def
-% printing
-/_AI3_savepage {} def
-% color operands
-/_gf null def
-/_cf 4 array def
-/_if null def
-/_of false def
-/_fc {} def
-/_gs null def
-/_cs 4 array def
-/_is null def
-/_os false def
-/_sc {} def
-/_i null def
-Adobe_IllustratorA_AI3 begin
-Adobe_IllustratorA_AI3
- {
- dup xcheck
- {
- bind
- } if
- pop pop
- } forall
-end
-end
-Adobe_IllustratorA_AI3 begin
-Adobe_IllustratorA_AI3_vars begin
-newpath
-} def
-/terminate % - terminate -
-{
-end
-end
-} def
-% definition operators
-/_ % - _ null
-null def
-/ddef % key value ddef -
-{
-Adobe_IllustratorA_AI3_vars 3 1 roll put
-} def
-/xput % key value literal xput -
-{
-dup load dup length exch maxlength eq
- {
- dup dup load dup
- length 2 mul dict copy def
- } if
-load begin def end
-} def
-/npop % integer npop -
-{
- {
- pop
- } repeat
-} def
-% marking operators
-/sw % ax ay string sw x y
-{
-dup length exch stringwidth
-exch 5 -1 roll 3 index 1 sub mul add
-4 1 roll 3 1 roll 1 sub mul add
-} def
-/swj % cx cy fillchar ax ay string swj x y
-{
-dup 4 1 roll
-dup length exch stringwidth
-exch 5 -1 roll 3 index 1 sub mul add
-4 1 roll 3 1 roll 1 sub mul add
-6 2 roll /_cnt 0 ddef
-{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop
-exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
-} def
-/ss % ax ay string matrix ss -
-{
-4 1 roll
- { % matrix ax ay char 0 0 {proc} -
- 2 npop
- (0) exch 2 copy 0 exch put pop
- gsave
- false charpath currentpoint
- 4 index setmatrix
- stroke
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
-3 npop
-} def
-/jss % cx cy fillchar ax ay string matrix jss -
-{
-4 1 roll
- { % cx cy fillchar matrix ax ay char 0 0 {proc} -
- 2 npop
- (0) exch 2 copy 0 exch put
- gsave
- _sp eq
- {
- exch 6 index 6 index 6 index 5 -1 roll widthshow
- currentpoint
- }
- {
- false charpath currentpoint
- 4 index setmatrix stroke
- }ifelse
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
-6 npop
-} def
-% path operators
-/sp % ax ay string sp -
-{
- {
- 2 npop (0) exch
- 2 copy 0 exch put pop
- false charpath
- 2 copy rmoveto
- } exch cshow
-2 npop
-} def
-/jsp % cx cy fillchar ax ay string jsp -
-{
- { % cx cy fillchar ax ay char 0 0 {proc} -
- 2 npop
- (0) exch 2 copy 0 exch put
- _sp eq
- {
- exch 5 index 5 index 5 index 5 -1 roll widthshow
- }
- {
- false charpath
- }ifelse
- 2 copy rmoveto
- } exch cshow
-5 npop
-} def
-% path construction operators
-/pl % x y pl x y
-{
-transform
-0.25 sub round 0.25 add exch
-0.25 sub round 0.25 add exch
-itransform
-} def
-/setstrokeadjust where
- {
- pop true setstrokeadjust
- /c % x1 y1 x2 y2 x3 y3 c -
- {
- curveto
- } def
- /C
- /c load def
- /v % x2 y2 x3 y3 v -
- {
- currentpoint 6 2 roll curveto
- } def
- /V
- /v load def
- /y % x1 y1 x2 y2 y -
- {
- 2 copy curveto
- } def
- /Y
- /y load def
- /l % x y l -
- {
- lineto
- } def
- /L
- /l load def
- /m % x y m -
- {
- moveto
- } def
- }
- {%else
- /c
- {
- pl curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll pl curveto
- } def
- /V
- /v load def
- /y
- {
- pl 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- pl lineto
- } def
- /L
- /l load def
- /m
- {
- pl moveto
- } def
- }ifelse
-% graphic state operators
-/d % array phase d -
-{
-setdash
-} def
-/cf {} def % - cf flatness
-/i % flatness i -
-{
-dup 0 eq
- {
- pop cf
- } if
-setflat
-} def
-/j % linejoin j -
-{
-setlinejoin
-} def
-/J % linecap J -
-{
-setlinecap
-} def
-/M % miterlimit M -
-{
-setmiterlimit
-} def
-/w % linewidth w -
-{
-setlinewidth
-} def
-% path painting operators
-/H % - H -
-{} def
-/h % - h -
-{
-closepath
-} def
-/N % - N -
-{
-_pola 0 eq
- {
- _doClip 1 eq {clip /_doClip 0 ddef} if
- newpath
- }
- {
- /CRender {N} ddef
- }ifelse
-} def
-/n % - n -
-{N} def
-/F % - F -
-{
-_pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _pf grestore clip newpath /_lp /none ddef _fc
- /_doClip 0 ddef
- }
- {
- _pf
- }ifelse
- }
- {
- /CRender {F} ddef
- }ifelse
-} def
-/f % - f -
-{
-closepath
-F
-} def
-/S % - S -
-{
-_pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _ps grestore clip newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- _ps
- }ifelse
- }
- {
- /CRender {S} ddef
- }ifelse
-} def
-/s % - s -
-{
-closepath
-S
-} def
-/B % - B -
-{
-_pola 0 eq
- {
- _doClip 1 eq % F clears _doClip
- gsave F grestore
- {
- gsave S grestore clip newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- S
- }ifelse
- }
- {
- /CRender {B} ddef
- }ifelse
-} def
-/b % - b -
-{
-closepath
-B
-} def
-/W % - W -
-{
-/_doClip 1 ddef
-} def
-/* % - [string] * -
-{
-count 0 ne
- {
- dup type (stringtype) eq {pop} if
- } if
-_pola 0 eq {newpath} if
-} def
-% group operators
-/u % - u -
-{} def
-/U % - U -
-{} def
-/q % - q -
-{
-_pola 0 eq {gsave} if
-} def
-/Q % - Q -
-{
-_pola 0 eq {grestore} if
-} def
-/*u % - *u -
-{
-_pola 1 add /_pola exch ddef
-} def
-/*U % - *U -
-{
-_pola 1 sub /_pola exch ddef
-_pola 0 eq {CRender} if
-} def
-/D % polarized D -
-{pop} def
-/*w % - *w -
-{} def
-/*W % - *W -
-{} def
-% place operators
-/` % matrix llx lly urx ury string ` -
-{
-/_i save ddef
-6 1 roll 4 npop
-concat
-userdict begin
-/showpage {} def
-false setoverprint
-pop
-} def
-/~ % - ~ -
-{
-end
-_i restore
-} def
-% color operators
-/O % flag O -
-{
-0 ne
-/_of exch ddef
-/_lp /none ddef
-} def
-/R % flag R -
-{
-0 ne
-/_os exch ddef
-/_lp /none ddef
-} def
-/g % gray g -
-{
-/_gf exch ddef
-/_fc
-{
-_lp /fill ne
- {
- _of setoverprint
- _gf setgray
- /_lp /fill ddef
- } if
-} ddef
-/_pf
-{
-_fc
-fill
-} ddef
-/_psf
-{
-_fc
-ashow
-} ddef
-/_pjsf
-{
-_fc
-awidthshow
-} ddef
-/_lp /none ddef
-} def
-/G % gray G -
-{
-/_gs exch ddef
-/_sc
-{
-_lp /stroke ne
- {
- _os setoverprint
- _gs setgray
- /_lp /stroke ddef
- } if
-} ddef
-/_ps
-{
-_sc
-stroke
-} ddef
-/_pss
-{
-_sc
-ss
-} ddef
-/_pjss
-{
-_sc
-jss
-} ddef
-/_lp /none ddef
-} def
-/k % cyan magenta yellow black k -
-{
-_cf astore pop
-/_fc
-{
-_lp /fill ne
- {
- _of setoverprint
- _cf aload pop setcmykcolor
- /_lp /fill ddef
- } if
-} ddef
-/_pf
-{
-_fc
-fill
-} ddef
-/_psf
-{
-_fc
-ashow
-} ddef
-/_pjsf
-{
-_fc
-awidthshow
-} ddef
-/_lp /none ddef
-} def
-/K % cyan magenta yellow black K -
-{
-_cs astore pop
-/_sc
-{
-_lp /stroke ne
- {
- _os setoverprint
- _cs aload pop setcmykcolor
- /_lp /stroke ddef
- } if
-} ddef
-/_ps
-{
-_sc
-stroke
-} ddef
-/_pss
-{
-_sc
-ss
-} ddef
-/_pjss
-{
-_sc
-jss
-} ddef
-/_lp /none ddef
-} def
-/x % cyan magenta yellow black name gray x -
-{
-/_gf exch ddef
-findcmykcustomcolor
-/_if exch ddef
-/_fc
-{
-_lp /fill ne
- {
- _of setoverprint
- _if _gf 1 exch sub setcustomcolor
- /_lp /fill ddef
- } if
-} ddef
-/_pf
-{
-_fc
-fill
-} ddef
-/_psf
-{
-_fc
-ashow
-} ddef
-/_pjsf
-{
-_fc
-awidthshow
-} ddef
-/_lp /none ddef
-} def
-/X % cyan magenta yellow black name gray X -
-{
-/_gs exch ddef
-findcmykcustomcolor
-/_is exch ddef
-/_sc
-{
-_lp /stroke ne
- {
- _os setoverprint
- _is _gs 1 exch sub setcustomcolor
- /_lp /stroke ddef
- } if
-} ddef
-/_ps
-{
-_sc
-stroke
-} ddef
-/_pss
-{
-_sc
-ss
-} ddef
-/_pjss
-{
-_sc
-jss
-} ddef
-/_lp /none ddef
-} def
-% locked object operator
-/A % value A -
-{
-pop
-} def
-currentdict readonly pop end
-setpacking
-% annotate page operator
-/annotatepage
-{
-} def
-%%EndResource
-%%EndProlog
-%%BeginSetup
-Adobe_cmykcolor /initialize get exec
-Adobe_cshow /initialize get exec
-Adobe_customcolor /initialize get exec
-Adobe_IllustratorA_AI3 /initialize get exec
-%%EndSetup
-0 A
-u
-u
-0 R
-0 G
-0 i 0 J 0 j 1.5 w 10 M []0 d
-%AI3_Note:
-0 D
-55.8513 89.3866 m
-70.6271 89.3302 l
-77.0061 89.4337 78.4273 86.3828 y
-81.2352 82.0317 l
-85.1147 84.3127 l
-78.8875 72.4495 l
-65.0513 72.4954 l
-68.806 74.7695 l
-62.7847 84.0125 l
-57.169 92.7147 54.0208 88.5339 53.0985 87.1056 c
-46.3582 75.4643 l
-58.1242 68.7309 l
-65.0414 80.5698 l
-S
-U
-u
-46.1811 39.5344 m
-38.8421 52.3589 l
-35.5629 57.8315 37.4945 60.5878 y
-39.8587 65.195 l
-35.9435 67.4144 l
-49.3311 67.953 l
-56.2094 55.9475 l
-52.3626 58.0622 l
-47.3685 48.226 l
-42.64 39.0115 47.8349 38.3755 49.5329 38.2909 c
-62.9848 38.2743 l
-62.9331 51.8307 l
-49.2217 51.9017 l
-S
-U
-u
-94.6634 56.0541 m
-87.2266 43.2861 l
-84.1268 37.7099 80.774 38.0046 y
-75.6019 37.7484 l
-75.6374 33.2481 l
-68.4772 44.5727 l
-75.4352 56.5324 l
-75.5272 52.1436 l
-86.5426 52.7367 l
-96.8869 53.249 94.8403 58.0658 94.0645 59.5787 c
-87.353 71.2367 l
-75.6386 64.4136 l
-82.4327 52.5037 l
-S
-U
-U
-%%PageTrailer
-gsave annotatepage grestore showpage
-%%Trailer
-Adobe_IllustratorA_AI3 /terminate get exec
-Adobe_customcolor /terminate get exec
-Adobe_cshow /terminate get exec
-Adobe_cmykcolor /terminate get exec
-Adobe_packedarray /terminate get exec
-%%EOF
-
-%%EndDocument
-FMENDEPSF
-54.67 126 90.67 162 R
-1 1 0 0 0 0 1 K
-V
-0 0 0 1 0 0 0 K
-1 8 Q
-0 X
-0 0 0 1 0 0 0 K
-0.08 (Please) 61.32 156.67 S
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-0.08 (Recycle) 58.94 145.67 S
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 9 Q
--0.58 0.09 (Copyright Information) 54 591 B
-2 F
--0.58 0.09 (\323) 54 574 B
-1 F
--0.58 0.09 ( 1995, 1996, Sun Micr) 61.2 574 B
--0.58 0.09 (osystems, Inc. All rights r) 144.16 574 B
--0.58 0.09 (eserved.) 245.37 574 B
--0.58 0.09 (2550 Gar) 54 563 B
--0.58 0.09 (cia A) 89.14 563 B
--0.58 0.09 (venue, Mountain V) 108.55 563 B
--0.58 0.09 (iew) 185.42 563 B
--0.58 0.09 (, California 94043-1) 199.29 563 B
--0.58 0.09 (100 U.S.A.) 276.12 563 B
--0.58 0.09 (This document is pr) 54 546 B
--0.58 0.09 (otected by copyright. No part of this document may be r) 133.4 546 B
--0.58 0.09 (epr) 356.5 546 B
--0.58 0.09 (oduced in any form by any means without prior) 369.89 546 B
--0.58 0.09 (written authorization of Sun and its licensors, if any) 54 535 B
--0.58 0.09 (.) 259.57 535 B
--0.58 0.09 (The information described in this document may be pr) 54 518 B
--0.58 0.09 (otected by one or mor) 271.39 518 B
--0.58 0.09 (e U.S. patents, for) 358.01 518 B
--0.58 0.09 (eign patents, or pending) 427.95 518 B
-0.09 (applications.) 54 507 S
-0.09 (TRADEMARKS) 54 473 S
--0.58 0.09 (Sun, Sun Micr) 54 456 B
--0.58 0.09 (osystems, Sun Micr) 110.05 456 B
--0.58 0.09 (oelectr) 187.72 456 B
--0.58 0.09 (onics, the Sun Logo, SunXTL, JavaSoft, JavaOS, the JavaSoft Logo, Java, HotJava,) 214.83 456 B
--0.58 0.09 (JavaChips, picoJava, micr) 54 445 B
--0.58 0.09 (oJava, UltraJava, JDBC, the Java Cup and Steam Logo, \322W) 156.6 445 B
--0.58 0.09 (rite Once, Run Anywher) 386.66 445 B
--0.58 0.09 (e\323 and Solaris ar) 484.29 445 B
--0.58 0.09 (e) 549.51 445 B
--0.58 0.09 (trademarks or r) 54 434 B
--0.58 0.09 (egister) 116.16 434 B
--0.58 0.09 (ed trademarks of Sun Micr) 143.18 434 B
--0.58 0.09 (osystems, Inc. in the United States and other countries.) 249.34 434 B
--0.58 0.09 (UNIX) 54 423 B
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 6.4 Q
--0.42 0.06 (\250) 79.12 426.2 B
-1 9 Q
--0.58 0.09 ( is a r) 83.97 423 B
--0.58 0.09 (egister) 103.92 423 B
--0.58 0.09 (ed trademark in the United States and other countries, exclusively licensed thr) 130.94 423 B
--0.58 0.09 (ough X/Open Company) 442.81 423 B
--0.58 0.09 (, Ltd.) 540.32 423 B
--0.58 0.09 (Adobe) 54 412 B
-1 6.4 Q
--0.42 0.06 (\250) 82.91 415.2 B
-1 9 Q
--0.58 0.09 ( is a r) 87.75 412 B
--0.58 0.09 (egister) 107.71 412 B
--0.58 0.09 (ed trademark of Adobe Systems, Inc.) 134.72 412 B
--0.58 0.09 (Netscape Navigator) 54 401 B
-1 6.4 Q
--0.42 0.06 (\252) 134.63 404.2 B
-1 9 Q
--0.58 0.09 ( is a trademark of Netscape Communications Corporation.) 140.96 401 B
--0.58 0.09 (All other pr) 54 390 B
--0.58 0.09 (oduct names mentioned her) 100.4 390 B
--0.58 0.09 (ein ar) 212.18 390 B
--0.58 0.09 (e the trademarks of their r) 234.45 390 B
--0.58 0.09 (espective owners.) 337.58 390 B
-0.47 0.09 (THIS DOCUMENT IS PROVIDED \322AS IS\323 WITHOUT W) 54 356 B
-0.47 0.09 (ARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,) 288.62 356 B
-0.47 0.09 (INCLUDING, BUT NOT LIMITED T) 54 345 B
-0.47 0.09 (O, THE IMPLIED W) 204.88 345 B
-0.47 0.09 (ARRANTIES OF MERCHANT) 288.46 345 B
-0.47 0.09 (ABILITY) 413.37 345 B
-0.47 0.09 (, FITNESS FOR A) 448.58 345 B
-0.47 0.09 (P) 54 334 B
-0.47 0.09 (AR) 58.7 334 B
-0.47 0.09 (TICULAR PURPOSE, OR NON-INFRINGEMENT) 71.56 334 B
-0.47 0.09 (.) 275.7 334 B
-0.47 0.09 (THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE) 54 317 B
-0.47 0.09 (PERIODICALL) 54 306 B
-0.47 0.09 (Y ADDED T) 115.6 306 B
-0.47 0.09 (O THE INFORMA) 166.6 306 B
-0.47 0.09 (TION HEREIN; THESE CHANGES WILL BE INCORPORA) 242.23 306 B
-0.47 0.09 (TED IN NEW) 485.9 306 B
--0.32 0.09 (EDITIONS OF THE DOCUMENT) 54 295 B
--0.32 0.09 (. SUN MICROSYSTEMS, INC. MA) 189.63 295 B
--0.32 0.09 (Y MAKE IMPROVEMENTS AND/OR CHANGES IN THE) 327.89 295 B
-0.47 0.09 (PRODUCT\050S\051 AND/OR THE PROGRAM\050S\051 DESCRIBED IN THIS DOCUMENT A) 54 284 B
-0.47 0.09 (T ANY TIME.) 395.09 284 B
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.2/DEST FmPD2
-[/Dest/F.Copyrightdoc/DEST FmPD2
-[/Dest/L.Copyrightdoc/DEST FmPD2
-FMENDPAGE
-%%EndPage: "2" 2
-%%Page: "iii" 3
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-1 9 Q
-0 X
-1 1 0 0 0 0 1 K
-0.09 (iii) 549.87 108.7 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-185 83.74 393.76 101.24 R
-7 X
-0 0 0 1 0 0 0 K
-V
-198 500.18 558 500.18 2 L
-0.3 H
-2 Z
-0 X
-N
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-54 522.64 558 589.39 C
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 72 612 720 C
-0 20 Q
-0 X
-0 0 0 1 0 0 0 K
--2.5 (The Java) 198 509.31 P
-0 11.2 Q
--1.4 (\252) 264.92 514.91 P
-0 20 Q
--2.5 ( Platform) 276.12 509.31 P
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-3 11 Q
-0.11 (What is the Java Platform?) 216 469.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 351.77 469.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (6) 552.39 469.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-1 F
-0.11 (The Java Base Platform) 234 452.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 348.91 452.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (7) 552.39 452.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (The Embedded Java Platform) 234 437.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . .) 380.37 437.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (7) 552.39 437.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Bene\336ts of the Java Platform) 234 422.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . .) 377.51 422.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (8) 552.39 422.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Applets and Applications) 234 407.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 363.21 407.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (9) 552.39 407.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Wher) 234 392.67 S
-0.11 (e W) 261.26 392.67 S
-0.11 (ill the Java Platform Be Deployed?) 280 392.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . .) 451.87 392.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (10) 546.78 392.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (JavaChip) 234 377.67 S
-1 8.8 Q
-0.09 (\252) 279.77 382.07 S
-1 11 Q
-0.11 ( Family) 288.47 377.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 326.03 377.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (1) 547.39 377.67 S
-0.11 (1) 552.39 377.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (JavaOS) 234 362.67 S
-1 8.8 Q
-0.09 (\252) 269.96 367.07 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-1 11 Q
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 280.27 362.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (12) 546.78 362.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (A W) 234 347.67 S
-0.11 (or) 255.63 347.67 S
-0.11 (d About the Java Language) 266 347.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . .) 403.25 347.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (12) 546.78 347.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-3 F
-0.11 (A Look Inside the Java Platform) 216 322.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . .) 383.23 322.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (14) 546.78 322.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-1 F
-0.11 (Java V) 234 305.67 S
-0.11 (irtual Machine) 265.62 305.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 305.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (15) 546.78 305.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Base API) 234 290.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 303.15 290.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (16) 546.78 290.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Applet API) 252 275.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 334.61 275.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (16) 546.78 275.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Standar) 234 259.67 S
-0.11 (d Extension API) 296.58 259.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . .) 377.51 259.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (16) 546.78 259.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Security API) 252 244.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 340.33 244.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (17) 546.78 244.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Media API) 252 228.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 331.75 228.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (18) 546.78 228.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Enterprise API) 252 212.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 351.77 212.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (19) 546.78 212.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Commer) 252 196.67 S
-0.11 (ce API) 319.48 196.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 354.63 196.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (20) 546.78 196.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Server API) 252 180.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 331.75 180.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (21) 546.78 180.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (Java Management API) 252 164.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (. . . . . . . . . . . . . . . . . . . . . . . . . . . . .) 366.07 164.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (22) 546.78 164.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-3 F
-0.11 (Java Compile and Runtime Environments) 216 140.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 ( . . . . . . . . . . . . . . . . .) 431.85 140.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0.11 (24) 546.78 140.67 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.iii/DEST FmPD2
-[/Dest/F.JavaPlatformTOCdoc/DEST FmPD2
-[/Rect[54 466 558 477]/Border[0 0 0]/Dest/G4.5760/LNK FmPD2
-[/Rect[54 449 558 460]/Border[0 0 0]/Dest/G4.5787/LNK FmPD2
-[/Rect[54 434 558 445]/Border[0 0 0]/Dest/G4.7020/LNK FmPD2
-[/Rect[54 419 558 430]/Border[0 0 0]/Dest/G4.4394/LNK FmPD2
-[/Rect[54 404 558 415]/Border[0 0 0]/Dest/G4.1368/LNK FmPD2
-[/Rect[54 389 558 400]/Border[0 0 0]/Dest/G4.6317/LNK FmPD2
-[/Rect[234 374 280 387]/Border[0 0 0]/Dest/G4.6689/LNK FmPD2
-[/Rect[234 359 270 372]/Border[0 0 0]/Dest/G4.8594/LNK FmPD2
-[/Rect[54 344 558 355]/Border[0 0 0]/Dest/G4.5887/LNK FmPD2
-[/Rect[54 319 558 330]/Border[0 0 0]/Dest/G4.7205/LNK FmPD2
-[/Rect[54 302 558 313]/Border[0 0 0]/Dest/G4.6978/LNK FmPD2
-[/Rect[54 287 558 298]/Border[0 0 0]/Dest/G4.7755/LNK FmPD2
-[/Rect[54 272 558 283]/Border[0 0 0]/Dest/G4.6768/LNK FmPD2
-[/Rect[54 256 558 267]/Border[0 0 0]/Dest/G4.6770/LNK FmPD2
-[/Rect[54 241 558 252]/Border[0 0 0]/Dest/G4.8471/LNK FmPD2
-[/Rect[54 225 558 236]/Border[0 0 0]/Dest/G4.8497/LNK FmPD2
-[/Rect[54 209 558 220]/Border[0 0 0]/Dest/G4.3695/LNK FmPD2
-[/Rect[54 193 558 204]/Border[0 0 0]/Dest/G4.1346/LNK FmPD2
-[/Rect[54 177 558 188]/Border[0 0 0]/Dest/G4.5289/LNK FmPD2
-[/Rect[54 161 558 172]/Border[0 0 0]/Dest/G4.7424/LNK FmPD2
-[/Rect[216 137 558 148]/Border[0 0 0]/Dest/G4.4801/LNK FmPD2
-[/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2
-[/Title(A)/Rect[45 121 567 486]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "iii" 3
-%%Page: "iv" 4
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-1 1 0 0 0 0 1 K
-1 9 Q
-0 X
-1 1 0 0 0 0 1 K
-0.09 (iv) 54 108.7 S
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 F
-0.09 (The Java\252 Platform) 198 108.7 S
-1 F
-0.09 (\321) 274.1 108.7 S
-0 F
-0.09 (May 1996) 283.19 108.7 S
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-558 675 54 675 2 L
-0.3 H
-2 Z
-0 0 0 1 0 0 0 K
-N
-185 83.74 393.76 101.24 R
-7 X
-V
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-36 351 567 558 R
-V
-0.5 H
-N
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.iv/DEST FmPD2
-[/Dest/L.JavaPlatformTOCdoc/DEST FmPD2
-[/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "iv" 4
-%%Page: "5" 5
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-1 9 Q
-0 X
-1 1 0 0 0 0 1 K
-0.09 (5) 553.41 108.7 S
-0 0 0 1 0 0 0 K
-198 500.18 558 500.18 2 L
-0.3 H
-2 Z
-0 0 0 1 0 0 0 K
-N
-185 83.74 393.76 101.24 R
-7 X
-V
-1 1 0 0 0 0 1 K
-540.76 521.07 558.36 524.92 R
-0 X
-1 1 0 0 0 0 1 K
-V
-540.76 514.65 558.36 518.5 R
-V
-540.76 508.42 558.36 512.27 R
-V
-540.76 518.61 558.36 521.29 R
-7 X
-V
-540.76 512.4 558.36 514.87 R
-V
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-54 522.64 558 589.39 C
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 72 612 720 C
-0 20 Q
-0 X
-0 0 0 1 0 0 0 K
--2.5 (The Java) 198 509.31 P
-4 9.6 Q
--1.2 (\252) 264.92 514.11 P
-0 20 Q
--2.5 ( Platform) 274.33 509.31 P
-54 653/G4.5026 FmPA
-1 10 Q
-0.52 0.1 (This paper de\336nes the Java) 198 459.68 B
-4 6.4 Q
-0.32 (\252) 322.19 462.88 P
-1 10 Q
-0.52 0.1 ( Platform and pr) 328.46 459.68 B
-0.52 0.1 (ovides descriptions of each of its) 404.61 459.68 B
-0.52 0.1 (parts. It is written for developers and others inter) 198 447.68 B
-0.52 0.1 (ested in understanding the) 427.99 447.68 B
-0.28 0.1 (wide range of envir) 198 435.68 B
-0.28 0.1 (onments wher) 287.24 435.68 B
-0.28 0.1 (e Java-power) 352.16 435.68 B
-0.28 0.1 (ed applets and applications can) 411.61 435.68 B
-0.52 0.1 (r) 198 423.68 B
-0.52 0.1 (un.) 201.97 423.68 B
-0.52 0.1 (For mor) 198 403.68 B
-0.52 0.1 (e up-to-date and detailed information about the featur) 234.75 403.68 B
-0.52 0.1 (es and) 483.55 403.68 B
-0.52 0.1 (ar) 198 391.68 B
-0.52 0.1 (chitectur) 206.97 391.68 B
-0.52 0.1 (e of the Java Platform and development envir) 246.59 391.68 B
-0.52 0.1 (onment, r) 455.63 391.68 B
-0.52 0.1 (efer to the) 499.8 391.68 B
-0.52 0.1 (Developer) 198 379.68 B
-0.52 0.1 (\325s Corner at the JavaSoft web site) 245.73 379.68 B
-5 9.5 Q
-1.14 (http://java.sun.com) 400.72 379.68 P
-1 10 Q
-0.52 0.1 (. In) 509.02 379.68 B
-0.52 0.1 (particular) 198 367.68 B
-0.52 0.1 (, see) 241.72 367.68 B
-0 F
-0.52 0.1 (The Java Language Envir) 264.68 367.68 B
-0.52 0.1 (onment: A White Paper) 370.86 367.68 B
-1 F
-0.52 0.1 (.) 469.33 367.68 B
-0.52 0.1 (The Java Platform is developed by JavaSoft, an operating company of Sun) 198 347.68 B
-0.52 0.1 (Micr) 198 335.68 B
-0.52 0.1 (osystems, Inc.) 218.98 335.68 B
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.5/DEST FmPD2
-[/Dest/F.JavaPlatformdoc/DEST FmPD2
-[/Title(A)/Rect[45 488 567 598]/ARTICLE FmPD2
-[/Title(A)/Rect[45 108 567 475]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "5" 5
-%%Page: "6" 6
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-1 9 Q
-0 X
-1 1 0 0 0 0 1 K
-0.09 (6) 54 108.7 S
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 F
--0.58 0.09 (The Java\252 Platform) 198 108.7 B
-1 F
--0.58 0.09 (\321) 272.93 108.7 B
-0 F
--0.58 0.09 (May 1996) 282.02 108.7 B
-0 0 0 1 0 0 0 K
-558 675 54 675 2 L
-0.3 H
-2 Z
-0 0 0 1 0 0 0 K
-N
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-185 83.74 393.76 101.24 R
-7 X
-V
-1 1 0 0 0 0 1 K
-54 690.23 68.96 693.5 R
-0 X
-1 1 0 0 0 0 1 K
-V
-54 684.77 68.96 688.05 R
-V
-54 679.47 68.96 682.75 R
-V
-54 688.14 68.96 690.41 R
-7 X
-V
-54 682.86 68.96 684.96 R
-V
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 15 Q
-0 X
-0 0 0 1 0 0 0 K
--0.94 (What is the Java Platform?) 54 638 P
-54 782/G4.5760 FmPA
-1 10 Q
-0.48 -0.1 (The computer world curr) 198 616.33 B
-0.48 -0.1 (ently has many platforms, among them Micr) 309.11 616.33 B
-0.48 -0.1 (osoft) 504.94 616.33 B
-0.48 -0.1 (W) 198 604.33 B
-0.48 -0.1 (indows, Macintosh, OS/2, UNIX) 207.35 604.33 B
-1 6.4 Q
-0.31 -0.06 (\250) 350.48 607.53 B
-1 10 Q
-0.48 -0.1 ( and NetW) 355.2 604.33 B
-0.48 -0.1 (ar) 402.63 604.33 B
-0.48 -0.1 (e) 411.2 604.33 B
-1 6.4 Q
-0.31 -0.06 (\250) 415.89 607.53 B
-1 10 Q
-0.48 -0.1 (; softwar) 420.61 604.33 B
-0.48 -0.1 (e must be compiled) 461.47 604.33 B
-0.3 -0.1 (separately to r) 198 592.33 B
-0.3 -0.1 (un on each platform. The binary \336le for an application that r) 260.2 592.33 B
-0.3 -0.1 (uns on) 525.83 592.33 B
-0.48 -0.1 (one platform cannot r) 198 580.33 B
-0.48 -0.1 (un on another platform, because the binary \336le is machine-) 293.33 580.33 B
--0.1 (speci\336c.) 198 568.33 S
-0.48 -0.1 (The Java Platform is a new softwar) 198 548.33 B
-0.48 -0.1 (e platform for delivering and r) 351.48 548.33 B
-0.48 -0.1 (unning highly) 485.76 548.33 B
-0.23 -0.1 (interactive, dynamic, and secur) 198 536.33 B
-0.23 -0.1 (e applets and applications on networked computer) 333.74 536.33 B
-0.48 -0.1 (systems. But what sets the Java Platform apart is that it sits on top of these other) 198 524.33 B
-0.48 -0.1 (platforms, and compiles to) 198 512.33 B
-0 F
-0.48 -0.1 (bytecodes) 317.95 512.33 B
-1 F
-0.48 -0.1 (, which ar) 355.19 512.33 B
-0.48 -0.1 (e not speci\336c to any physical) 398.75 512.33 B
-0.43 -0.1 (machine, but ar) 198 500.33 B
-0.43 -0.1 (e machine instr) 266.05 500.33 B
-0.43 -0.1 (uctions for a) 332.91 500.33 B
-0 F
-0.43 -0.1 (virtual machine) 390.19 500.33 B
-1 F
-0.43 -0.1 (. A pr) 452.92 500.33 B
-0.43 -0.1 (ogram written in) 481.06 500.33 B
-0.48 -0.1 (the Java Language compiles to a bytecode \336le that can r) 198 488.33 B
-0.48 -0.1 (un wher) 442.49 488.33 B
-0.48 -0.1 (ever the Java) 479.34 488.33 B
-0.05 -0.1 (Platform is pr) 198 476.33 B
-0.05 -0.1 (esent, on) 257.4 476.33 B
-0 F
-0.05 -0.1 (any) 298.18 476.33 B
-1 F
-0.05 -0.1 (underlying operating system. In other wor) 315.32 476.33 B
-0.05 -0.1 (ds, the same) 502.08 476.33 B
-0.38 -0.1 (exact \336le can r) 198 464.33 B
-0.38 -0.1 (un on any operating system that is r) 260.68 464.33 B
-0.38 -0.1 (unning the Java Platform. This) 418.81 464.33 B
-0.48 -0.1 (portability is possible because at the cor) 198 452.33 B
-0.48 -0.1 (e of the Java Platform is the Java V) 372.3 452.33 B
-0.48 -0.1 (irtual) 524.42 452.33 B
-0.48 -0.1 (Machine.) 198 440.33 B
-0.48 -0.1 (While each underlying platform has its own implementation of the Java V) 198 420.33 B
-0.48 -0.1 (irtual) 522.37 420.33 B
-0.46 -0.1 (Machine, ther) 198 408.33 B
-0.46 -0.1 (e is only one virtual machine speci\336cation. Because of this, the Java) 258.04 408.33 B
-0.48 -0.1 (Platform can pr) 198 396.33 B
-0.48 -0.1 (ovide a standar) 266.28 396.33 B
-0.48 -0.1 (d, uniform pr) 333.86 396.33 B
-0.48 -0.1 (ogramming interface to applets and) 393.24 396.33 B
--0.03 -0.1 (applications on any har) 198 384.33 B
--0.03 -0.1 (dwar) 299.32 384.33 B
--0.03 -0.1 (e. The Java Platform is ther) 322.14 384.33 B
--0.03 -0.1 (efor) 440.63 384.33 B
--0.03 -0.1 (e ideal for the Internet,) 457.58 384.33 B
-0.44 -0.1 (wher) 198 372.33 B
-0.44 -0.1 (e one pr) 220.32 372.33 B
-0.44 -0.1 (ogram should be capable of r) 256.05 372.33 B
-0.44 -0.1 (unning on any computer in the world.) 383.99 372.33 B
-0.48 -0.1 (The Java Platform is designed to pr) 198 360.33 B
-0.48 -0.1 (ovide this \322W) 352.86 360.33 B
-0.48 -0.1 (rite Once, Run Anywher) 412.93 360.33 B
-0.48 -0.1 (e\323) 520.4 360.33 B
-1 6.4 Q
-0.33 0.06 (SM) 529.99 363.53 B
-1 10 Q
--0.1 (capability) 198 348.33 S
--0.1 (.) 239.42 348.33 S
-0.48 -0.1 (Developers use the Java Language to write sour) 198 328.33 B
-0.48 -0.1 (ce code for Java-power) 407.84 328.33 B
-0.48 -0.1 (ed) 508.03 328.33 B
-0.48 -0.1 (applications. They compile once to the Java Platform, rather than to the) 198 316.33 B
-0.48 -0.1 (underlying system. Java Language sour) 198 304.33 B
-0.48 -0.1 (ce code compiles to an intermediate,) 374.33 304.33 B
-0.48 -0.1 (portable form of bytecodes that will r) 198 292.33 B
-0.48 -0.1 (un anywher) 361.81 292.33 B
-0.48 -0.1 (e the Java Platform is pr) 414.74 292.33 B
-0.48 -0.1 (esent.) 520.49 292.33 B
-0.52 0.1 (Developers can write object-oriented, multithr) 198 272.33 B
-0.52 0.1 (eaded, dynamically linked) 409.05 272.33 B
-0.52 0.1 (applications using the Java Language. The platform has built-in security) 198 260.33 B
-0.52 0.1 (,) 530.57 260.33 B
-0.52 0.1 (exception handling, and automatic garbage collection. Just-in-time compilers) 198 248.33 B
-0.22 0.1 (ar) 198 236.33 B
-0.22 0.1 (e available to speed up execution by converting Java bytecodes into machine) 206.97 236.33 B
-0.52 0.1 (language. Fr) 198 224.33 B
-0.52 0.1 (om within the Java Language, developers can also write and call) 257.84 224.33 B
-0.52 0.1 (native methods\321methods in C, C++ or another language, compiled to a) 198 212.33 B
-0.52 0.1 (speci\336c underlying operating system\321for speed or special functionality) 198 200.33 B
-0.52 0.1 (.) 526.15 200.33 B
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.6/DEST FmPD2
-[/Title(A)/Rect[45 130 567 657]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "6" 6
-%%Page: "7" 7
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 9 Q
-0 X
-1 1 0 0 0 0 1 K
--0.58 0.09 (The Java\252 Platform) 198 108.7 B
-1 F
--0.58 0.09 (\321) 272.93 108.7 B
-0 F
--0.58 0.09 (May 1996) 282.02 108.7 B
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-1 F
-0.09 (7) 553.41 108.7 S
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-558 675 54 675 2 L
-0.3 H
-2 Z
-0 0 0 1 0 0 0 K
-N
-185 83.74 393.76 101.24 R
-7 X
-V
-1 1 0 0 0 0 1 K
-543.04 690.29 558 693.56 R
-0 X
-1 1 0 0 0 0 1 K
-V
-543.04 684.84 558 688.11 R
-V
-543.04 679.54 558 682.81 R
-V
-543.04 688.2 558 690.48 R
-7 X
-V
-543.04 682.92 558 685.02 R
-V
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-1 10 Q
-0 X
-0 0 0 1 0 0 0 K
-0.52 0.1 (The Java Language is the the entry ramp to the Java Platform. Pr) 198 641.33 B
-0.52 0.1 (ograms) 498.07 641.33 B
-0.26 0.1 (written in the Java Language and then compiled will r) 198 629.33 B
-0.26 0.1 (un on the Java Plaform.) 444.94 629.33 B
-0.52 0.1 (The Java Platform has two basic parts:) 198 617.33 B
-6 14 Q
-0.14 (\245) 198 599.33 S
-1 10 Q
-0.52 0.1 (Java V) 210.6 599.33 B
-0.52 0.1 (irtual Machine) 239.87 599.33 B
-6 14 Q
-0.14 (\245) 198 581.33 S
-1 10 Q
-0.52 0.1 (Java Application Pr) 210.6 581.33 B
-0.52 0.1 (ogramming Interface \050Java API\051) 299.84 581.33 B
-0.15 0.1 (These ar) 198 561.33 B
-0.15 0.1 (e described in detail later in this paper) 235.99 561.33 B
-0.15 0.1 (. Combined, these parts pr) 409.93 561.33 B
-0.15 0.1 (ovide) 529.83 561.33 B
-0.52 0.1 (an end-user r) 198 549.33 B
-0.52 0.1 (untime envir) 259.09 549.33 B
-0.52 0.1 (onment for deploying Internet and intranet) 317.89 549.33 B
-0.52 0.1 (applications.) 198 537.33 B
-0 14 Q
-0.7 (The Java Base Platform) 160.49 504.67 P
-54 649/G4.5787 FmPA
-1 10 Q
-0.48 -0.1 (The Java Base Platform is the) 198 483.33 B
-0 F
-0.48 -0.1 (minimum) 328.54 483.33 B
-1 F
-0.48 -0.1 ( Java Platform that developers can safely) 367.86 483.33 B
-0.48 -0.1 (assume is pr) 198 471.33 B
-0.48 -0.1 (esent for r) 252.82 471.33 B
-0.48 -0.1 (unning Java-power) 297.19 471.33 B
-0.48 -0.1 (ed applets and applications. This) 381.11 471.33 B
-0.48 -0.1 (platform applies to Network Computers, desktop computers, and workstations) 198 459.33 B
-0.48 -0.1 (\050the next section describes the platform for smaller systems\051. This platform) 198 447.33 B
-0.03 -0.1 (contains the same Java V) 198 435.33 B
-0.03 -0.1 (irtual Machine mentioned befor) 305.06 435.33 B
-0.03 -0.1 (e, but has a minimal set of) 442.62 435.33 B
-0.08 -0.1 (API r) 198 423.33 B
-0.08 -0.1 (equir) 221.04 423.33 B
-0.08 -0.1 (ed to r) 243.63 423.33 B
-0.08 -0.1 (un basic applets and applications) 271.58 423.33 B
-0.08 0.1 (. This minimal set is known as) 415.67 423.33 B
-0.06 0.1 (the Java Applet API, or Java Base API. Developers who write to this minimum) 198 411.33 B
-0.52 0.1 (set can feel secur) 198 399.33 B
-0.52 0.1 (e that the pr) 275.5 399.33 B
-0.52 0.1 (ogram will r) 331.64 399.33 B
-0.52 0.1 (un anywher) 388.62 399.33 B
-0.52 0.1 (e without the need for) 443.59 399.33 B
-0.52 0.1 (additional class libraries.) 198 387.33 B
-0.52 0.1 (Certain Java Platform licensees \050listed in \322Wher) 198 367.33 B
-0.52 0.1 (e W) 416.09 367.33 B
-0.52 0.1 (ill the Java Platform Be) 433.65 367.33 B
-0.33 0.1 (Deployed?\323 on page) 198 355.33 B
-0.33 0.1 (10\323\051 have contracted to include the Java Base API in their) 293.51 355.33 B
-0.52 0.1 (particular implementation of the Java Platform. As mor) 198 343.33 B
-0.52 0.1 (e class libraries ar) 454.72 343.33 B
-0.52 0.1 (e) 536.35 343.33 B
-0.52 0.1 (developed, the Java Base Platform will gr) 198 331.33 B
-0.52 0.1 (ow) 387.51 331.33 B
-0.52 0.1 (, and these additions will migrate) 400.59 331.33 B
-0.52 0.1 (in a timely fashion into the Java Base Platform pr) 198 319.33 B
-0.52 0.1 (esent on each licensee\325s) 423.75 319.33 B
-0.52 0.1 (operating system.) 198 307.33 B
-0.52 0.1 (Another set of APIs, called the Standar) 198 287.33 B
-0.52 0.1 (d Extension API, is being de\336ned by) 376.15 287.33 B
-0.52 0.1 (JavaSoft, in partnership with leading industry companies, to extend the base) 198 275.33 B
-0.52 0.1 (functionality) 198 263.33 B
-0.52 0.1 (. Over time, some subset of the Standar) 254.9 263.33 B
-0.52 0.1 (d Extension API will) 438.38 263.33 B
-0.52 0.1 (migrate into the Java Base Platform.) 198 251.33 B
-0 14 Q
-0.7 (The Embedded Java Platform) 160.49 218.67 P
-54 363/G4.7020 FmPA
-1 10 Q
-0.52 0.1 (The Embedded Java Platform is being tar) 198 197.33 B
-0.52 0.1 (geted for consumer devices with) 386.69 197.33 B
-0.33 0.1 (fewer r) 198 185.33 B
-0.33 0.1 (esour) 230.5 185.33 B
-0.33 0.1 (ces and mor) 255.29 185.33 B
-0.33 0.1 (e specialized functionality than a Network Computer) 310.52 185.33 B
-0.33 0.1 (,) 552.47 185.33 B
-0.52 0.1 (such as set-top boxes, printers, copiers, and cellular phones. Such devices) 198 173.33 B
-0.52 0.1 (might have special constraints such as small memory footprint, no display) 198 161.33 B
-0.52 0.1 (, or) 537.78 161.33 B
-0.52 0.1 (no connection to a network.) 198 149.33 B
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.7/DEST FmPD2
-160 372/M9.41580.Head2.The.Embedded.Java.Platform FmPA
-160 372/I4.1.7246 FmPA
-[/Rect[386 363 558 374]/Border[0 0 0]/Page 10/View[/XYZ null 160 554 FmDC exch pop null]/LNK FmPD
-[/Rect[54 351 304 363]/Border[0 0 0]/Page 10/View[/XYZ null 160 554 FmDC exch pop null]/LNK FmPD
-[/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "7" 7
-%%Page: "8" 8
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-1 9 Q
-0 X
-1 1 0 0 0 0 1 K
-0.09 (8) 54 108.7 S
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 F
--0.58 0.09 (The Java\252 Platform) 198 108.7 B
-1 F
--0.58 0.09 (\321) 272.93 108.7 B
-0 F
--0.58 0.09 (May 1996) 282.02 108.7 B
-0 0 0 1 0 0 0 K
-558 675 54 675 2 L
-0.3 H
-2 Z
-0 0 0 1 0 0 0 K
-N
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-185 83.74 393.76 101.24 R
-7 X
-V
-1 1 0 0 0 0 1 K
-54 690.23 68.96 693.5 R
-0 X
-1 1 0 0 0 0 1 K
-V
-54 684.77 68.96 688.05 R
-V
-54 679.47 68.96 682.75 R
-V
-54 688.14 68.96 690.41 R
-7 X
-V
-54 682.86 68.96 684.96 R
-V
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-1 10 Q
-0 X
-0 0 0 1 0 0 0 K
-0.44 0.1 (The API tar) 198 641.33 B
-0.44 0.1 (geted for this platform is called the Java Embedded API. The Java) 250.93 641.33 B
-0.52 0.1 (Embedded API is the smallest API a low-function embedded device can have) 198 629.33 B
-0.52 0.1 (and still r) 198 617.33 B
-0.52 0.1 (un. Because this platform is still under development, this API has) 242.17 617.33 B
-0.26 0.1 (not yet achieved the level of a standar) 198 605.33 B
-0.26 0.1 (d. Consequently this API is not yet well-) 370.77 605.33 B
-0.52 0.1 (de\336ned, but it will pr) 198 593.33 B
-0.52 0.1 (obably consist of the packages) 296.29 593.33 B
-5 F
-1.2 (java.lang) 438.11 593.33 P
-1 F
-0.52 0.1 ( and) 492.11 593.33 B
-5 F
-1.2 (java.util) 198 581.33 P
-1 F
-0.52 0.1 (. A Java-power) 252 581.33 B
-0.52 0.1 (ed application written for one particular device) 323.52 581.33 B
-0.52 0.1 (could operate on a wide range of similar) 198 569.33 B
-0.52 0.1 (, dedicated devices.) 383.7 569.33 B
-0 14 Q
-0.7 (Bene\336ts of the Java Platform) 160.49 536.67 P
-54 681/G4.4394 FmPA
-1 10 Q
-0.52 0.1 (The Java Platform has bene\336ts for the end-user as well as the developer and) 198 515.33 B
-0.52 0.1 (support personnel:) 198 503.33 B
-0 13 Q
--0.85 0.13 (End-User Bene\336ts) 198 471.33 B
-54 615/G4.3498 FmPA
-1 10 Q
-0.52 0.1 (T) 198 450.33 B
-0.52 0.1 (oday) 203.31 450.33 B
-0.52 0.1 (, the Java Platform pr) 224.73 450.33 B
-0.52 0.1 (ovides live, interactive content on the W) 322.92 450.33 B
-0.52 0.1 (orld W) 506.92 450.33 B
-0.52 0.1 (ide) 538.41 450.33 B
-0.52 0.1 (W) 198 438.33 B
-0.52 0.1 (eb, with just-in-time softwar) 207.18 438.33 B
-0.52 0.1 (e access. Applications ar) 336.74 438.33 B
-0.52 0.1 (e r) 451.38 438.33 B
-0.52 0.1 (eadily available on) 463.26 438.33 B
-0.52 0.1 (all operating systems at once, fr) 198 426.33 B
-0.52 0.1 (eeing users fr) 343.51 426.33 B
-0.52 0.1 (om having to choose operating) 405.17 426.33 B
-0.52 0.1 (systems on that basis. Smaller) 198 414.33 B
-0.52 0.1 (, less expensive, dedicated systems will) 337.3 414.33 B
-0.52 0.1 (eventually be available for specialized applications.) 198 402.33 B
-0 13 Q
--0.85 0.13 (Developer Bene\336ts) 198 370.33 B
-54 514/G4.9177 FmPA
-1 10 Q
-0.52 0.1 (The Java Language is a small, \322knowable\323 system and is coupled with a) 198 349.33 B
-0.52 0.1 (gr) 198 337.33 B
-0.52 0.1 (owingly compr) 207.53 337.33 B
-0.52 0.1 (ehensive set of APIs. Developers can \322W) 276.92 337.33 B
-0.52 0.1 (rite Once, Run) 465.73 337.33 B
-0.52 0.1 (Anywher) 198 325.33 B
-0.52 0.1 (e,\323 which pr) 240.58 325.33 B
-0.52 0.1 (ovides tr) 297.22 325.33 B
-0.52 0.1 (emendous marketing leverage over other) 337.33 325.33 B
-0.52 0.1 (languages. In addition, Java development envir) 198 313.33 B
-0.52 0.1 (onments on all operating) 417.84 313.33 B
-0.19 0.1 (systems compile to a single binary format. Rather than developing on multiple) 198 301.33 B
-0.52 0.1 (platforms to deliver on multiple platforms, developers can now develop on) 198 289.33 B
-0.52 0.1 (one platform, saving cost, to deliver on that same platform, which is) 198 277.33 B
-0.34 0.1 (everywher) 198 265.33 B
-0.34 0.1 (e. The ability to \322W) 246.36 265.33 B
-0.34 0.1 (rite Once, Run Anywher) 337.73 265.33 B
-0.34 0.1 (e\323 is enough r) 449.17 265.33 B
-0.34 0.1 (eason for) 513.28 265.33 B
-0.52 0.1 (some developers to turn to the Java Language as an alternative to C or C++) 198 253.33 B
-0.52 0.1 (even for stand-alone, non-networked applications.) 198 241.33 B
-0.52 0.1 (In addition, building applications fr) 198 221.33 B
-0.52 0.1 (om shar) 361.9 221.33 B
-0.52 0.1 (ed, r) 398.74 221.33 B
-0.52 0.1 (eusable objects can further) 419.43 221.33 B
-0.52 0.1 (r) 198 209.33 B
-0.52 0.1 (educe cost by allowing developers to concentrate on cr) 201.87 209.33 B
-0.52 0.1 (eating only what is) 452.93 209.33 B
-0.52 0.1 (novel. Developers can distribute by network rather than compete for shelf-) 198 197.33 B
-0.52 0.1 (space in softwar) 198 185.33 B
-0.52 0.1 (e stor) 272.25 185.33 B
-0.52 0.1 (es.) 297.39 185.33 B
-0 0 0 1 0 0 0 K
-[/CropBox[0 72 FmDC 612 720 FmDC FmBx]/PAGE FmPD
-[/Dest/P.8/DEST FmPD2
-[/Title(A)/Rect[45 135 567 657]/ARTICLE FmPD2
-FMENDPAGE
-%%EndPage: "8" 8
-%%Page: "9" 9
-612 792 0 FMBEGINPAGE
-[0 0 0 1 0 0 0]
-[ 0 1 1 0 1 0 0]
-[ 1 0 1 0 0 1 0]
-[ 1 1 0 0 0 0 1]
-[ 1 0 0 0 0 1 1]
-[ 0 1 0 0 1 0 1]
-[ 0 0 1 0 1 1 0]
-[ 0 1 0.91 0 1 0 0.09]
-[ 0.79 0.76 0 0 0.21 0.24 1]
- 9 FrameSetSepColors
-FrameNoSep
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 9 Q
-0 X
-1 1 0 0 0 0 1 K
--0.58 0.09 (The Java\252 Platform) 198 108.7 B
-1 F
--0.58 0.09 (\321) 272.93 108.7 B
-0 F
--0.58 0.09 (May 1996) 282.02 108.7 B
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-1 F
-0.09 (9) 553.41 108.7 S
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-1 1 0 0 0 0 1 K
-0 0 0 1 0 0 0 K
-558 675 54 675 2 L
-0.3 H
-2 Z
-0 0 0 1 0 0 0 K
-N
-185 83.74 393.76 101.24 R
-7 X
-V
-1 1 0 0 0 0 1 K
-543.04 690.29 558 693.56 R
-0 X
-1 1 0 0 0 0 1 K
-V
-543.04 684.84 558 688.11 R
-V
-543.04 679.54 558 682.81 R
-V
-543.04 688.2 558 690.48 R
-7 X
-V
-543.04 682.92 558 685.02 R
-V
-0 0 0 1 0 0 0 K
-0 0 0 1 0 0 0 K
-0 13 Q
-0 X
-0 0 0 1 0 0 0 K
--0.85 0.13 (Administrative and Support Bene\336ts) 198 639.33 B
-54 783/G4.1678 FmPA
-1 10 Q
-0.48 0.1 (The Java Platform has bene\336ts for corporate computer systems administration) 198 618.33 B
-0.52 0.1 (departments. V) 198 606.33 B
-0.52 0.1 (ersion contr) 267.09 606.33 B
-0.52 0.1 (ol and upgrades ar) 321.23 606.33 B
-0.52 0.1 (e simpli\336ed because Java-) 407.85 606.33 B
-0.12 0.1 (power) 198 594.33 B
-0.12 0.1 (ed applications can be kept in a central r) 226.87 594.33 B
-0.12 0.1 (epository and served fr) 409.78 594.33 B
-0.12 0.1 (om ther) 515.14 594.33 B
-0.12 0.1 (e) 550.39 594.33 B
-0.52 0.1 (for each individual use. In multivendor) 198 582.33 B
-0.52 0.1 (, multiplatform envir) 381 582.33 B
-0.52 0.1 (onments, the) 477.27 582.33 B
-0.52 0.1 (number of platforms to support is r) 198 570.33 B
-0.52 0.1 (educed to one. Emer) 360.95 570.33 B
-0.52 0.1 (ging lower) 458.09 570.33 B
-0.52 0.1 (-cost) 507.23 570.33 B
-0.52 0.1 (network computers have the potential to r) 198 558.33 B
-0.52 0.1 (educe maintenance and capital) 391.45 558.33 B
-0.52 0.1 (expenditur) 198 546.33 B
-0.52 0.1 (es. W) 247.65 546.33 B
-0.52 0.1 (ith these network computers, data management can r) 275.27 546.33 B
-0.52 0.1 (emain) 519.09 546.33 B
-0.52 0.1 (centralized while data pr) 198 534.33 B
-0.52 0.1 (ocessing is done locally) 312.46 534.33 B
-0.52 0.1 (.) 418.79 534.33 B
-0.29 0.1 (Companies with lar) 198 514.33 B
-0.29 0.1 (ge intranets, that may not \336nd it worthwhile to upgrade to) 287.53 514.33 B
-0.52 0.1 (the latest memory-consuming operating system, can r) 198 502.33 B
-0.52 0.1 (un Java-power) 443.72 502.33 B
-0.52 0.1 (ed) 510.57 502.33 B
-0.52 0.1 (applications on all their existing machines. By pr) 198 490.33 B
-0.52 0.1 (oviding corporate data in a) 424.51 490.33 B
-0.52 0.1 (format r) 198 478.33 B
-0.52 0.1 (eadable by Java-power) 235.42 478.33 B
-0.52 0.1 (ed applications, corporations give users the) 339.46 478.33 B
-0.52 0.1 (platform-neutral access to the data they need.) 198 466.33 B
-0.52 0.1 (When customers ar) 198 446.33 B
-0.52 0.1 (e r) 286.18 446.33 B
-0.52 0.1 (unning on the Java Platform, companies can take) 298.16 446.33 B
-0.39 0.1 (advantage of the interactivity of the Internet by moving employee tasks out to) 198 434.33 B
-0.52 0.1 (customers. Companies can r) 198 422.33 B
-0.52 0.1 (educe time spent on or) 329.7 422.33 B
-0.52 0.1 (der) 434.56 422.33 B
-0.52 0.1 (-entry by having) 449.53 422.33 B
-0.52 0.1 (customers \336ll in or) 198 410.33 B
-0.52 0.1 (der) 284.03 410.33 B
-0.52 0.1 (-entry forms themselves on W) 299 410.33 B
-0.52 0.1 (eb pages. This is mor) 436.08 410.33 B
-0.52 0.1 (e) 536.1 410.33 B
-0.52 0.1 (practical than pr) 198 398.33 B
-0.52 0.1 (eviously possible, because the customer can now be on any) 273.34 398.33 B
-0.52 0.1 (operating system.) 198 386.33 B
-0 14 Q
-0.7 (Applets and Applications) 160.49 353.67 P
-54 498/G4.1368 FmPA
-1 10 Q
-0.52 0.1 (The Java Platform enables developers to cr) 198 332.33 B
-0.52 0.1 (eate two dif) 393.53 332.33 B
-0.52 0.1 (fer) 447.84 332.33 B
-0.52 0.1 (ent kinds of) 460.03 332.33 B
-0.52 0.1 (pr) 198 320.33 B
-0.52 0.1 (ograms:) 207.98 320.33 B
-6 14 Q
-0.14 (\245) 198 302.33 S
-3 10 Q
-0.52 0.1 (Applets) 210.6 302.33 B
-1 F
-0.52 0.1 ( ar) 247.4 302.33 B
-0.52 0.1 (e pr) 259.49 302.33 B
-0.52 0.1 (ograms that r) 277.48 302.33 B
-0.52 0.1 (equir) 338.97 302.33 B
-0.52 0.1 (e a br) 362.57 302.33 B
-0.52 0.1 (owser to r) 388.3 302.33 B
-0.52 0.1 (un. The) 434.71 302.33 B
-5 F
-1.2 (
-eGfR2C&X4qOA5CA#rsdt2IKs$@:3O
-eGfQ[-iO/I$M7!ob1P@LrW!!#!!2ip#R`Ql6o+ukS*H4;!VB.c9Ee/7s5c32e,Op~>
-eGfQ[?iG'GDY-U)#64`0rW!!#!!2ip#R`Ql6o+ukS*H4;!VB.c9Ee/7s5c32e,Op~>
-eGfQ[DZ5auM=aID3AWHLr*TM5pg=A=3<;N*"XKZ+PQ([U:Amii:!EY!3V1`"J,~>
-eGfQ'$N:),-hU.9:!2,@Y5SD&!<
-eGfQ'DZ4YV?h@"o#64`0rW!!#!!2ip#u(RR9M#mF"\J!DrrMsqrCdAhY5e#JlI5c`~>
-eGfQ'M>iV;DY-U)3AWHLr*TM5pg=DC"Y38<'.F)Vm?IVOr)N\h"\l0"nMT^_s*t~>
-ec,^M;[!($!&!q<"AR%kfWP2R!W`9%q#CdB,83XB:-/Jr1Kj=7rrN+*rCdAhQ2gJEg!ftO~>
-ec,^M<,qnX!*o.i!s\f+#lXf*!<
-ec,^M
-ec,[39E"tn"AAD]"ARJ"fWP2R!W`9%q>^s*9)q@R9]:+--a!H0jH]`FFo=u;9l^4*B!p+fJ,~>
-ec,[39E&r4ED,pt!s&B%#lXf*!</+~>
-ec,[3:&^7UOA5@@"#Mei2Z@(c@:3O??k$O=!(9LSiH6(gXoOLJQ2^i,rCdAhErYcD[F>/+~>
-ec,Zd0)bnP$M7!p:"ItLE;fh=!<:hJrr%ELI\d]\jHffGOo.lU>Q48KOjj>\~>
-ec,Zd>lJaDDY$O(!<<**rW!!#!!2or%Q>%G9MNA&rIP'!V%["mQN$rIr(I5trq(o,e,Op~>
-ec,ZdC&X4pM=XCC1c$p`ra5e9?t&n>%V-4u9MNA&rIP*"V&NV(QN$rIr(I6!rq(o,e,Op~>
-ec,Z8-iO/I-hL(4:&`cLDu]n=!<
-ec,Z8?iG'G?h6tj!!W]/!<<-#!W)j."ZHTV9MA4-rr%^!_R1%3jHolHV>O!j;>L6cH1]VdJ,~>
-ec,Z8DZ5auDY$R$1B:5M?ijbE@JaFD@Q=T`9MA4-rr%^"`jHI8l^.VOV>O!j;>L6cHh>hfJ,~>
-ec,Ya$N:),0(_g;:&`cLDu]n=!<
-ec,YaDZ4YV>k:Yg!!W]/!<<-#!W)iu9aWEL9F=YUrr7[tbec)&lBqSO])55*:$M\t<:n]?J,~>
-ec,YbM>iV;C%G$t1B:5M?ijbE@JaF6C'lKi9F=YUrr7\!bf2D+m?mnR]_kG,:$Vbu
-f)GdL;>gOr9CtmX:&`cLDu]n=!<
-f)GdL;>kM89CkjV!!W]/!<<-#!W2p""Yg?Ur(IH#mf*6W`ltsnWUlPX!7h!@"\m>CiA^AXs*t~>
-f)GdL;>lUW:%M'X1BpW_@:3MO@JjL8@PS9^r(IH$mf*6W`ltsnWq2YY!7h!@"\m>CiApMZs*t~>
-f)Gs5/cl(W"AAA\!)K>9s3Js6RfQjbRfia~>
-f)Gs5>]Ok)ED,msrW!-.!!*'#!!2ut!_j"VqFh61q>^K@c-2XX?LXE`!9sDT"\l9%n2'@Zs*t~>
-f)Gs5Bp"O>OA5=?r\FOMra5e9?t&t@!br&tqFh62q>^K@c-2^Z?LXE`!:'JU"\l9%n29U_s*t~>
-f)Gc]-iO/I$M-pkAH(3_Du]q
-f)Gc]?iG'GDY$O%;Z6Xt#QOo)!!!&u!!
-f)Gc]DZ5auM=XC@;>r?Q:LIW1?iXX6?isjq$;(%e$B"i_s7":WXpSe4S,WN`:Amii9qD=V7,?Am
-J,~>
-f)Gc9$N:),-hC"3B)^EaDu]q
-f)Gc9DZ4YV?h6qk1B%7T#QOo)!!!&u!!5Ot/,)^EU&P)loZtaa$=`XtrrN'trCdAhK)bII^=<15~>
-f)Gc9M>iV;DY$O%<;nZT:LIW1?iXX6?ik
-f)Gbb$N:),0(Va:B)^Ea:Bgn"!!!&u!!5Ol8bPgbY5\J$q9R9f$>]:)rrN+*rCdAhB)hLPS^d[i~>
-f)GbbDZ4YV>k:Vh1B%7T"9nr,!!!&u!!5Ol8bPgbY5\J$q9R9f$>]:)rrN+*rCdAhB)hLPS^d[i~>
-f)GbcM>iV;C%G!u<;nZT;.O,7?iXX6?ii_"8bPgbY5\J$q9R9f$?#L,rrN+*rCdAhB)hLPS^d[i~>
-fDbmN;uHat9CkgWB)^Ea:B^h!!!!'!!!4Db,P=_<9u6i/s7t!bT`KH:Sc8\4r(I8mr;W%9o[Wtl~>
-fDbmN<;gh;9CkgW1B%7T"9el+!!!'!!!45],P=_<9u6i/s7t!bT`KH8Sc8\4r(I8nqYuh7o[Wtl~>
-fDbmN
-fDc$H/cl(W"S,4dB)^Ea:BL^u!!!'!!!5mr7.a.\:"fOGs7sm_PlQI8T)SeUr(I8gnc,k.o[Wtl~>
-fDc$H>]Ok)EUld'1B%7T"9Sc*!!!'!!!5jq7.a.\:"fOGs7sm_PlQI8T)SeUr(I8gnc,k.o[Wtl~>
-fDc$HBp"O>ORc'F<;nZT;.=#6?iXX7?ik'D7.a.\:"fOGs7sm_PlQa@T)SeUr(I8gnc,k/o[Wtl~>
-fDblt-iO/I$M$jjB)^Ea:BCXt!!WH(!!,.g8b5UV47N7L#5QThJcU`-TDnnjr(I8gg&KJlo[Wtl~>
-fDblt?iG'GDXpI$1B%7T"9J])!!WH(!!,.g8b5UV47N7L#5QThJcU`-TDnnjr(I8gg&KJlo[Wtl~>
-fDbltDZ5auM=O=?<;nZT;.3r5?j:%I?su,(8b5UV47N7L#5QThJc_8;TDnnkr(I8gg&KJlo[Wtl~>
-fDblN-iO/I-h9q2B)^Ea/cl.S!!WH(!!skh8b5UW6oY)Drrr5Eb]*uHTDno-r(I8g\c:bMo@
-fDblN?iG'G?h-kj1B%7T"9J])!!WH(!!skh8b5UW6oY)Drrr5Eb]4&ITDno-r(I8g\c:bMo@
-fDblODZ5auDXpI$<;nZT
-fDbl:$N:),0(M[9Rf:q@/cc(R!!NB'!%/F7nk9*V)gVD^"o6Kg@M>*$rrCmQ9Ee.as7%u2ec1.~>
-fDbl:DZ4YV>k1Pg)ZB^<"9AW(!!NB'!%/F7nk9*V)gVD^"o6Kg@M>*$rrCmQ9Ee.as7%u2ec1.~>
-fDbl:M>iV;C%=pt:]<-OZ4rrCmQ9Ee.as7%u3ec1.~>
-fDbkk"TAH&0(M[9Rf:q@/cc(R!!NB'!)
-fDbklEW0tY>k1Pg)ZB^<"9AW(!!NB'!)3J^nOs!G"igN@"o6Kg=X0]8rrMXarCdAhIfK%.e^a\M~>
-fDbklOT(@BC%=pt:]<-O
-fDbhMr;lsloLo<]9q)(6!\OKUrW!*&!!#ap8b#IV8I@lRrVm&sbfid9\t]3*q,.)a"\iV/oObAY
-s*t~>
-fDbhOrGhm2oLoNc9c=!3!<`E*rW!*&!!#[n8b#IV8I@lRrVm&sbfid9\t]3*q,.)a"\iV/oObAY
-s*t~>
-fDbhSrK.(SoLoNc9i!Q$1fe$ora5nE,q,.)a"\iV/oObAY
-s*t~>
-f`)-R/cl(W"SGIg9`e1Le,Iu$(BFX;!!NB'!':W]n4Wp7'<1^(rrr,B_)k6:U]1Ao>Pq.t;uQ?G
-Ok'J^~>
-f`)-R>]Ok)EV3$*9aFURB`J,6"p"i*!!NB'!':W]n4Wp7'<1^(rrr,B_)k6:U]1Ao>Pq.t<;lHH
-Ok'J^~>
-f`)-RBp"O>OS)U]1Ao?2RA!
-f`)!6-iO/I$MR6o9a"ImnGhbPfE)ii"8i-$""P<^n4WsQ!--HcrVm&mc+4iuo:u['2:A"R[
-FnF8bJ,~>
-f`)!6?iG'GDYHj)9aXmsnGdJ.!!*9)"8i-$""P<^n4WsQ!-6NdrVm&mc+4iuo:u['2:A"R[
-FnF8bJ,~>
-f`)!6DZ5auM>'^D9aXmsnGeJ(1Gi-@@f0U9@OiBhn4WsQ!-6NdrVm&mc+G!$o:u['2:A"R[
-FnF8bJ,~>
-f`(ur-iO/I$MdBq9`eq7q>UBol2K<:(BFX;!!E<&$R6nb9Ee!,-cXj=rVm&jc*7Flr1s>mL&=UJ
-:$)Dp;tSZ@J,~>
-f`(ur?iG'GDY[!+9`eq7q>UBuE<#t>"p"i*!!E<U:S_9Ee!,-cXj=rVm&jc*7FlqP=,kL&=UJ
-:$)Dp<:ncAJ,~>
-f`(urDZ5auM>9jF9`eq7q>UBuNAE@ImL&=UJ
-:$)Dp
-f`(u_$N:),-i?XA9h\<2ci3kB!9F.3!Z(k=rW!'%!#?M(mS!a@$C/ior;QrcbaJNarh]VpU&7Rf
-9ud4l2tPW#J,~>
-f`(u_DZ4YV?i3S$9h\<2ci3kB##G:"!
-f`(u_M>iV;DZ!039h\<2ci3kB#'2RV1fe$nra5k;?s4L"mS!a@$C/ior;QrfbaJNirh]VpU&7Rf
-9ud4l3V1i%J,~>
-f`(uA"TAH&0)eQE9`e1\l1t>`jOi,9$NU>.!!E<&-PJ6&9EdukgP#r(I8g
-WW2HDmahDg~>
-f`(uAEW0tY>lIFs9`e1\l1t>`:]LIr#QY#+!!E<&-PJ6&9EdukgP#r(I8g
-WW2HDmahDg~>
-f`(uCOT(@BC&Ug+9`e1\lM:GaF#,U/=^bbgP#r(I8g
-WrMQGmahDg~>
-f`(u("TAH,/keu6>H.>jrrD-ZfE)3W!r`0&!<>%c47,`A,6PL#c1Cl5"Qdj:)mZ@@!6k@7"\k9^
-o/kdZs*t~>
-f`(u(EW0t_>YIjd>H.>jrru:"!!39(!r`0&!<>%c47,`A,6PL#c1Cl5"Qdj:)mZ@@!6k@7"\k9^
-o/kdZs*t~>
-f`(u(OT(@HBhV5q?)mYnrs!O#1GrKI@K'X;@:3UQ47,`A,QkU$c1Cl5"Qdj:)muRC!6k@7"\k9^
-o/kdZs*t~>
-f`(q_r;m*s9l\#Jp&>3Nf\"aY!WLk7.!YP3sCYgbg6+_rrh0%:,TndrrD0Y9Ee.5s7BX/
-f)L7~>
-f`(q_rGi$79le)Kp&>1R!!!$&!WLk7.!YP3sCYgbg6+_rrh0%:,TndrrD0Y9Ee.5s7BX/
-f)L7~>
-f`(qerK.4Z9le)Kp&>2&1G^jo@JsR:@:4'Y7.!YP3sCYgbg6+_rrh0%:,U%hrrD0Y9Ee.5s7BX1
-f)L7~>
-g&Djq7.!YL8HhifbQ68nrVm'#e\3P6n>Q?foM5?Y"\i>&
-oR`O_s*t~>
-g&D]Ok)>`.A.rsgpe!!*3'!!!$"!<>gp7.!YL8HhifbQ68nrVm'#e\3P6n>Q?foM5?Y"\i>&
-oR`O_s*t~>
-g&DBo:a;rrlac1GiEHrEob:?to^1m7[RQ"\o!?!S.2JrrrDP^+34QW;cnj:Amii9j[hk
-Jst9jJ,~>
-g&D6S:'q>tnF6JXfF6Ha!^C5!W>sp9Ee;hs-eQ3
-fDg@~>
-g&D6S:2Xs=nF6Gf.KBSP!!*'"!<<-#9`RTJ9EHFX[JnAMiV`]ZqU2bYD>L73!W?!q9Ee;hs-eQ3
-fDg@~>
-g&D6S:5OgunF6G]<&6Eh?=Ee?"CY\Q!(?0I![J_mrlbB$r;Qrud^9F!r2K\srDibh"]>*qRY(1`
-s*t~>
-g&D0E=`+!&rsmc8g"$0)!!!$"!("8aK+P3sCoJbQ-c&rri&ASH+MFrr?O+9Ee/Ys1)V2fDg@~>
-g&D0E=`+!&rrNu:"TAH%!!WH(!.$8aK+P3sCoJbQ-c&rri&ASH+MFrr?O+9Ee/Ys1)V2fDg@~>
-g&D0E>&F*'rrkkJ2DefMrEob:?s3S&lq@IB"dT&1!9O.Y"S^65!1'S`!+Pk""\nFb\RP3_s*t~>
-g&D-D1Tpjq8aK+P8HE;ubQ./1rrhi8E>,4Krr@?B9Ee/Ds4Kg4
-fDg@~>
-g&D-D1Tpdo8aK+P8HE;ubQ./1rrhi8EYG=Lrr@?B9Ee/Ds4Kg4
-fDg@~>
-g&D-D26QNM$KfLRrr,AC2*"uOrEob:?r-nrlq@IP!b2)O!:]pd"RsWU'=k+B!.4W;"\m\MfgPJa
-s*t~>
-g&D-D'@$+JrW!Karn#fTaoMMC!!*'#!)!Jelq@LQ)^if,bQ6&cr;QoabY^IEWrE'ar(I8g])V"P
-n^mek~>
-g&D-D'@$+JrW!K\rWrQ+#6=i*!!*'#!)!Jelq@LQ)^if,bQ6&cr;QoabY^ICWrE'ar(I8g])V"P
-n^mek~>
-g&D-D'@$+Jr_F)Hr]2hm3FH9'?t!GO?qgerlq@LQ)_&r.bQ6&cr;QobbY^IGWrE'ar(I8g]`77S
-n^mek~>
-g&D-C"l]+R!T=.Z!"UX4f\"=I!<<<)!!*'f$;'PW!\k.\r6,2lrqud!iP$7?q5aMqWVfEn9r7m[
-2
-g&D-C"l]+R!T=.Z!"UUe!!3B+!<<<)!!*'f$;'PW!\k.\r6,2lrqud!iP$7?q5aMqWVfEn9r7m[
-2
-g&D-C"l]+R!TmA[:Ch5%1Gq1#@:3VS?t!G2$;'PW!\t4]r6,2lrqud!iP$7?q5aMqWr,No9r7m[
-2
-g&D-
-g&D-
-g&D-=!:BIZ!rdIArD*Pm:GXgfra5t?@:3MO3t4dI9EIT^K)
-g&D-0$Lm]f!*B'u%fricfZF0p!!NE(!<>%l8aB%O8IA&cbQ-o*rri/DFVD'^rrCmQ9Ee.5s7Bd2
-fDg@~>
-g&D-0$Lm]f!*B'u%flq9!=&T*!!NE(!<>%l8aB%O8IA&cbQ-o*rri/DFVD'^rrCmQ9Ee.5s7Bd2
-fDg@~>
-g&D-0$Lm]f!/^VL%o>/?1c\rP?t*PP@:2)/8aB%O8IA&cbQ-r+rri/DFVD0arrCmQ9Ee.5s7Bd2
-fDg@~>
-g&D,i)tES#!JpjV!"]/5b1P@L!!*''!WW6%0b[.D9`H=;\bjSOc1Lr6"R&
-oR`@[s*t~>
-g&D,i)tES#!JpjV!"]/5#64c1!!*''!WW6%0b[.D9`H=;\bjSOc1Lr6"R&
-oR`@[s*t~>
-g&D,i)tES#!OGW%:Cp?%3AWKM?t!GP@:3MP1)!7E9`H@<\bjSOc1Lr6"RX#n:#2rO!:KbY"\i>&
-oR`@[s*t~>
-g&D,M47VnAr;coorn%U]!!*'%!WW6'.iV(F9EI-[Rek5/df'+D"Qd0'EW*'?!VoUj9Ee;ks-nK0
-f`-I~>
-g&D,M47VnAr;dGl!!!$*!!*'%!WW6'.iV(F9EI-[Rek5/df'+D"Qd0'EW*'?!VoUj9Ee;is-nK0
-f`-I~>
-g&D,M47VnArD4$j1G^jG?t!GP@:3MQ.iV(F9EI3]Rek5/df'+D"Qd0'G5\TD!VoUj9Ee;ks.+W2
-f`-I~>
-g&D,*?LdUd"F*=*R/-a6$a'I1!!33%!OPl[5SrrN+%r(I8hoDcX0
-o[s1o~>
-g&D,*?LdUd'6lo9R-+GL!=/Z+!!33%!OPl[5SrrN+%r(I8hoDcX0
-o[s1o~>
-g&D,*?LdUd';p86]'D..1cA`M?t!JO@:C`+8a8tN6i_i7bQ-Jsrri>OPldkdrrN+&r(I8hoDcX1
-o[s1o~>
-gA_6ED0>7G!;-9C$a'I1!!33%!;O:%rr?d29Ee/Hs4od.f`-I~>
-gA_6ED0>7G&)I9d!=/Z+!!33%!;O:%rr?d29Ee/Hs4od.f`-I~>
-gA_6ED0>7G&*5T'1cA`M?t!JO@:CK$8a8tN8Hi,hbQ-c&rri)@>rBa,rr?g39Ee/Hs4od.f`-I~>
-gA_6E;3(&D!;-9C$a'I1!!33%!
-gA_6E;3(&D&)I9d!=/Z+!!33%!
-gA_6E;3(&D&*5T'1cA`M?t!JO@:CK-8a8tN8K02SbQ./1rrhGt'6aAYrr@ZK9Ee/1s6_c4f`-I~>
-gA_6E0sU-G!;-9C$CUqq!!*-$!>ZV%kY)%*)n#Ib!RL]Brri>SNXDPbrrAVf9Ee.is78>2f`-I~>
-gA_6E0sU-G%a4nQ!?(q=!!*-$!>ZV%kY)%*)n#Ib!RLW@rri>SNXD;[rrAVf9Ee.is78>2f`-I~>
-gA_6E19p6H%b3?k1f%Lf?t!JO@9OU!kY)%,)n#Ib!RL]Brri>SNXDhjrrAVf9Ee.js78>2f`-I~>
-gA_6E'?p.L#km]7_84gss6]g<$ZH(H!!*-$!>?[s8a/nM2%?PZbQ->orri/68P\6KrrB>%9Ee.U
-s7B70f`-I~>
-gA_6E'?p.L(\[:F_84gss1&+0!=/Z+!!*-$!>?[s8a/nM2%?PZbQ->orri/68P\6KrrB>%9Ee.U
-s7B:1f`-I~>
-gA_6E'?p.L(\d@G_84gss2ZuP1f%Lf?t!JO@:^]'8a/nM2%?S[bQ->orri/68P\EPrrB>%9Ee.U
-s7B=2f`-I~>
-gA_6D"l8qQ$MMK"JsrjFOb1.2rn%Wu!!*'#!WW3&0`W^lr^lKN!^m'Op<3Nur;Ql\\HRVirrCCC
-9Ee.9s7CH1f`-I~>
-gA_6D"l8qQ)YV12JsrjFOb1-S!!!$*!!*'#!WW3&0`W^lr^lKN!^m'Op<3Nur;Ql\\HRVirrCCC
-9Ee.9s7CH1f`-I~>
-gA_6D"l8qQ)Y_73JsrjFOb1-b1G^j`?t!GO@:3JP1&rgmr^lKN!^m'Op<3Nur;Ql\\HRnqrrCCC
-9Ee.;s7CH1f`-I~>
-gA_6B!9s:Y"SS+Leb8t;$gFXB[+ErL!!*'#!WE'+6othY!=]tm.lBEf7.s1T6oQUrIeCnboDS[l
-rmH'2]!;88l243Z9k+,%NfNbbs*t~>
-gA_6B!9s:Y"SS+Leb8t;$gFXB.gZ4^!!*'#!WE'+6othY!=]tm.lBEf7.s1T6oQUrIeCnboDS[l
-rmH'2]!;88l243Z9k+,%NfNbbs*t~>
-gA_6B!:'@Z"S\1MebB%<#3r4?;`Za2ra>b7ra6(]3t22k%3$QC2*:e*p.5BT3@b)YoumF-rVm$"
-dX)qGZ2Xghr(I;h@fHCfNqD$)J,~>
-q#:?ZjSo;C!Ufd`"7qPHq>1*uq)YcrNcG(q,.&`"]P@!WH%R`s*t~>
-q#:?ZjSo;C!Ufd`"7qPHq>1*uq35l=.gQ+U!!*-"!$))Q)d@>N.jGuB"T\T'!)YcrNcG(q,.&`"]Y?uWH.Xas*t~>
-q#:?]jSo;C!Ufd`"7qPHq>1*pq5/@[;c!C#s'bn7*FX.2?#i=`,T@0r!<<*#"Uu+Y)]KFt"T\W2
-'.\+rbQ6/jrVm#l_'EdoZMst$;>a)k
-q>UNX!4(_d!ndqMqYpW^K"h!Z$16?OM0L9P"UbD0!#h^7::\T_[AfXQKmn#A6oR%P.kse%EJ:6g
-_XktOiV`]Xh3nMBZMst)=o:qs:@nM.;=rQAJ,~>
-q>UNX!4(_d!ndqMqYpW^K"h!Z$'PZGEG?a*":,),!#h^7::\T_[AfXQKmn&B6oR%P.kse%EeU?h
-_XktOiV`]Xh3nM;ZMst)=o:qs:@nM.;=rQAJ,~>
-q>UNX!4Cqg!ndqMqYpWaK"h!Z$)fm`GBR_1?5V%t:@nM.;=rQAJ,~>
-qYpZ^)ZY?KrrU1Znb`=fq6@3ursA)Ff[j_\/5/_Fqu?m6UI5,l^>7!5mf!.gq8#-slE^EiC]$j0
-:#Z-247h/*J,~>
-qYpZ^)ZY?KrrU1Znb`=fq6@3urs=kh!!tE+/5/_Cqu?m6S4!Be^>7!5mf!.gq8#-slE^EiC]$j0
-:#Z-247h/*J,~>
-qYpZ_)ZY?KrrU:]nb`=fq6@3urs>V[1HJK^CJ7E)r*T\EX$d"u^>7!5mf!.gq8#-umBZ`lDZ!03
-:#Z-247h/*J,~>
-qu6fC"^Ynljo5Ci/+NN:!q:g5pAY-Wrn%Bn#p`25.f02M'/=Yb'8"'XbQ6&grVlu]W<&?krr@cN
-9Ee/5s6_]2g&HR~>
-qu6fC"^Ynljo5Ci/+NN:!q:g5pAYG=!!!$*#p2i/.f02M'.e;]'8"'XbQ6&grVlu]W<&?krr@cN
-9Ee/5s6_]2g&HR~>
-qu6fC"^Yqmjo5Ci/+NN:!q:g5pAYGY1G^j`@V8A/>l.n5CibCf'8"'XbQ6&grVlu]WWB$'rr@cN
-9Ee/5s6_c4g&HR~>
-r;Qrb)hmfrIc^S2Tg\GJrrV#=q=aggl2K^[XF;$0u_;NN;iVicZrPD6.lEgKj
-U&7Rf9sO`i45nlmJ,~>
-r;Qrb)hmfrIc^S2Tg\GJrrV#=q=agrE<#t>#QPW56n1S2q>^[XF;$0u_;NN;iVicZrPD6.lEgKj
-U&7Rf9sO`i45nlmJ,~>
-r;Qrc)hmfsIc^S2Tg\GJrrV#=q=agrNAE@I:LI@#9jD[IqHsJPHkS$(_;NN;iVicZrPhN2mBcfm
-U&7Rf9sO`i45nlmJ,~>
-rVm*#?=*6nBn#1D!fC"Jqu6`JSb`!Z!9sL8#u:O:78"D$Grl?0!!NF*@KB32i622mrVluaXoOfp
-rrB>%9Ee.]s7B70g&HR~>
-rVm*#?=*6nBn#1D!fC"Jqu6`JSb`!Z%<2@J!<`B<6q\;#Grl?0!!NF*@KB32i622mrVluaXoOfp
-rrB>%9Ee.]s7B:1g&HR~>
-rVm*#?=*6nC4>:E!fC"Jqu6`JSb`!Z%?3/"1f7Xa9hef7HZ!%9Ee.]s7B=2g&HR~>
-rVm)G!Tj@OBn#1D!dSMMqu6`JSb`!Z!9sL8$VpdQ9M?3,,\M3M#Q"K)$YE-7BtiTN!RguHrri;?
-:0ID"rrC4>9Ee.Es7CH1g&HR~>
-rVm)G!Tj@OBn#1D!dSMMqu6`JSb`!Z%rhRL!<`EQ9M?3,+(o[H#Q"K)$YE-7BtiTN!RguHrri;?
-:0ID"rrC4>9Ee.Es7CH1g&HR~>
-rVm)G!p0IPC4>:E!de\Pqu6`JSb`!Z%uiA$1f7Xc9MAW!B6S`=@f'O:AW':bC;/]O!RguHrri;?
-:0RJ#rrC4>9Ee.Es7CH1g&HR~>
-rr35n7"519nS*I7rrV_-Fo)+>eXcO0rrD-ZfE=tM!]DP-!!NTYFCuj(qZ$d>Fse5h_;i`>jo,2]
-jf&9e[/U-br(I;hC]FEpMY,X&J,~>
-rr35n7"519nS*I7rrV_-Fo)+>eXcO0rs2F$!!*3&!]MV.!!NTYFCu[#qZ$d>Fse5h_;i`>jo,2]
-jf&9e[/U-br(I;hC]FEpMY,X&J,~>
-rr35n7"519nS3O8rrV_-Fo)+>eXcO0rs3[%1Ghs:@8'r*?j1"TI!944qd9SILaa:'_;i`>jo,2]
-jf/Bq[/U-br(I;hDZB`sNV(s)J,~>
-rr35?$L[ronS*I7rrV^sK)5KKeXcO0rrD-ZfFC[W!X/W*!!*'"#s3E;'Dhb5!CUo:26#Z\!R:H>
-rri;;0l?otrrMaer(I8srr8s;o\0=q~>
-rr35?$L[ronS*I7rrV^sK)5KKeXcO0rt8-.!!*3&!X&Q)!!*'"#s3E;'Dhb5!CUr;26#Z\!R:H>
-rri;;0l?otrrMaer(I8srr8s
-rr35C$L[ronS3O8rrV^sK)5KKeXcO0rs3[%1Ghs:@:!C??j'qVHZiut?j0teEXan+jNIYLq>UBs
-rPgU0rjDb,oM5
-s8N/j;0i0@!pLY]k5PMQ9U5JS!nEk;pAY-Rrn%HO!!3-$!!!&u!!ETrIS1(G!!NO->6.U3jid_\
-rVlu]Jg8^OrrN'sr(I8kq>\H3o\0=q~>
-s8N/j;0i0@!pLY]k5PMQ9U5JS!nEk;pAYLs!!!$&!!3-$!!!&u!!ETrIS1(G!!NO->6.U3jid_\
-rVlu]Jg8^OrrN'tr(I8kq>\H3o\0=q~>
-s8N/j;1&1G^jb?t!GOqHsG8EIMq>qd9S:M-U-Z\`M$8h>R?U
-janc/[Jp:+L76;=rTBJ,~>
-s8N/b!TF%X!b,=&k5PMQ2lZZR!nEk;pAY-Jrn%H.!!3-$!!!&s!!E[&IRFM>!!NjE9*&b@k0*hs
-rr3)u^&b"9rr?[/9Ee/Ys5?'2gAc[~>
-s8N/b!TF%X!b,=&k5PMQ2lZZR!nEk;pAYLY!!!$&!!3-$!!!&s!!E[&IRFM>!!NjE9*&b@k0*hs
-rr3)s^&b"9rr?[/9Ee/Ys5?'2gAc[~>
-s8N/c!TF%X!b,@'k5PMQ3NDrU!nEk;pAYD*1G^jg?t!GOpg=59Edi";qd9SAMbO7f^?3W>oD\al
-r4W64[/U,
-s8N=h2t?qJeH+XjrrV^8^A@j2eXcO0rrCjRfEX#/!WW6$!!2or"U>]GGrl?0!!O?c-PMBRkfa(X
-rr2p!eMV?Rrr@NG9Ee/Ds6_]4gAc[~>
-s8N=h2t?qJeH+XjrrV^8^A@j2eXcO0rsL^b!!*3&!WW6$!!2or"U>]GGrl?0!!O?c-PMBRkfa(X
-rr2p!eMVBSrr@NG9Ee/Ds6_]4gAc[~>
-s8N=h3V!.LeH+XjrrV^9^A@j2eXcO0rsN0i1Gi-?@:3MO?t&n>"_)%dHZ!%.2.TTkfa(X
-rr2p!eMVBSrr@NG9Ee/Ds6_c6gAc[~>
-#ljELScA`[7"44s!q?rMqYpWISb`!ZrR_?-!!<3%!!!&p!!NTQB65[0qZ$aeE=Fe)kfa%krr3)l
-Bh@9krrAMc9Ee/)s7822gAc[~>
-#ljELScA`[7"44s!q?rMqYpWISb`!Z$Ru,V!<`B)!!*'"!VcWu#9RT#/-l%P"@R5=26#f`!9sL_
-"7p4uiO/[cRf#h_9tpZ!2s&cnJ,~>
-#ljEMScA`[7"44s!q?rMqYpWISb`!Z$WJo<1fe!n?t!GN@JF46@V9n4CL[0K"FYG&26,la!:'R`
-"7p8!iO/[cRf#h_9tpZ!3T\upJ,~>
-#liudl2UeJ!9O4[!;#FS!q6QQqYpWISb`!Z!8@G)#8[RH!!*'"!VQKs#:st-*!cBA"Tqh1!*-Sp
-bQlJms8W(p'@O;g!3Z5n"\kuroL[Kbs*t~>
-#liudl2UeJ!9O4[!;#FS!q6QQqYpWISb`!Z$PrdC!
-#liudlMpnL!9O4[!;#FS!q6QQqYpWISb`!Z#Y$U+1fe-r?t&Y7"_)7pH#$me?j1"r>l[m8lHBLZ
-rVuosV%_FfrrB5"9Ee.js7An2gAc[~>
-%0)bXnc/W[1\(MFfo#"n!q$*NqYpWISb`$[!WLgPfEW2r"TSQ'!!2]l":7/=<"o-/"V,-4"`_9B
-bQ-c(rrUjS]!_P<`r&L69q)+S@^XqiJ,~>
-%0)bXnc/W[1\(MFfo#"n!q$*NqYpWISb`$[%/q%C!!*9-"TSQ'!!2]l":7/=<"o-/"V,-4"`h?C
-bQ-c(rrUjS]!_P<`r&L69q)+S@^XqiJ,~>
-%0)bXnc/W[2=^_Hfo#"n!q$-OqYpWISb`$[#Q@1K1Gi-A@f9[7@J!q1@W$X:Ac#j=Bo>@_Ek^k`
-!9O4[!ndUe[Jp6Hr(I8gRfE"h[G(Y2~>
-#OtrKs8VUaMZ3VW0`]ParrVHcl2(D]eXcO1rrN,Qrn%Gl!sJZ*!!!&j!!EZtIS1(G!!Olr,9)ZZ
-mE>dZq>^Kg"f&L*!9*iL"\jUKoR`Ocs*t~>
-#OtrKs8VUaMZ3VW0`]ParrVHcl2(D]eXcO1rs\lC!!!$(!sJZ*!!!&j!!EZtIS1(G!!Olr,9)ZZ
-mE>dZq>^Kg"e<"#!9*iL"\jUKoR`Ocs*t~>
-#OtuLs8VUaMZ3VW1'#YbrrVQflMCM^eXcO1rs\lr1G^jg@U`_R?smF6?j(%\IWB#s?j1Y.,TDc[
-mE>dZq>^Kh"fo'2!9*iL"\jUKoR`Ocs*t~>
-%IahTs8VKjg&K2."TZm5rrV9_meZqbeXcO1rs\kXf\"a_!sS`+!!!&h!!Es7IRFM?!!NBkE=F_#
-mE>Rhrr3!oK=1^[nP/sU##/h3s-8<1g])d~>
-%IahTs8VKjg&K2."TZm5rrV9_meZqbeXcO1rs\i4!!!$*!sS`+!!!&h!!Es7IRFM?!!NBkE=F_#
-mE>Rhrr3!oK=1^[nP/sU##/h3s-8<1g])d~>
-%IahTs8VKjg&K2."TZm5rrV9_meZqbeXcO1rs\ie1G^jj@UrkT?smF4?j(%_IW8ip?j0teFq$=*
-mE>Rhrr3!oMm`QcnP/sU##/k4s-8<1g])d~>
-%H.?Us8U=WnC8mh^&cRErrV![nG<.deXcO1rrN&Lrn%8U!XAT'!!;Th"U>rNGrl9/!!NO-?3*p6
-n&ts]rVunkEOGfIr)*Dd##/>$s0?8/g])d~>
-%H.?Us8U=WnC8mh^&cRErrV![nG<.deXcO1rs/B,!!!''!XAT'!!;Th"U>rNGrl9/!!NO-?3*p6
-n&ts]rVunkEOGfIqGI2b##/>$s0?8/g])d~>
-%H.BVs8U=WnC8sk^&cRErrV![nG<.deXcO1rs/H_1G^mp@:]=E!+G>("_)(eHZ!Nr)*Dd##/D&s0ZJ2g])d~>
-%B2)Ps8RdQj]+7U^&cRErrUU^nbW7eeXcO1rs\hWf\"aY!X8W*!!WMl!!NTQB5oI-qu?m1AkN/=
-^@9>MiW&r6@fEh9!WHF'9Ee;ks3aL2g])d~>
-%B2)Ps8RdQj]+7U^&cRErrUU^nbW7eeXcO1rs\`1!!!$&!X8W*!!WMl!!NTQB5oI-qu?m1AkN/=
-^@9>MiW&r6@fEh9!WHF'9Ee;is3aL2g])d~>
-%B;2Rs8RdQj]+=W^&cRErrUU^nbW7eeXcO1rs\fd1G^jo@:WbS?t<^5?j1"SGBRb2r*T\BMbO7f
-^@9>MiW&r6@fEh9!WHF'9Ee;ks3aL2g])d~>
-%=)RUs7&LBZ2q5S^&cRErrU%VnbW7eeXcO1rrDlnfEVQ\"onZ("p4)j"U?i*A/Y^N!!O?c-PM3M
-o#q9^r;Z\!iO/[cFo4o::A"SJ2tPf(J,~>
-%=)RUs7&LBZ2q5S^&cRErrU%VnbW7eeXcO1rrDlo!!iW/!N*!i!-S35"]"^ijYuecs*t~>
-%=;^Ws7&LB[/mPV^&cRErrU1ZnbW7eeXcO1rrDlo1C,jE@:WbS?t<^3?j1"UI!K=5r*T\DLaa!k
-_=GeRc2@V>?/`3k!-S35"]"^ijZ2qes*t~>
-%8i/cs6p]G4'p.T^&cRErrTG[nbW7eeXcO1rs\\Tf\+gV!=8`,!!WMh!!ETiIT.!X!!Pc1'/??"
-o?7?rs8I#o[Jp5ar(I8gl2U6/mb@bl~>
-%8i/cs6p]G4'p.T^&cRErrTG[nbW7eeXcO1rs\Q#!!E<&!=8`,!!WMh!!ETiIT.!X!!Pc1'/??"
-o?7?rs8I&p[Jp5ar(I8gl2U6/mb@bl~>
-%8i/cs6p]G4'p.T^&cRErrTG\nbW7eeXcO1rs\ZY1H%'r@:EVQ?t<^1?j'qVIWT/u?j1t%'/HE#
-o?7?rs8I&p[Jp5ar(I8glMp?2mb@bl~>
-%3rUes60O'"hMq%^&cRErrS`ZnbW7eeXcO1rs\_Uf\+gV!
-%3rUes60O'"hMq%^&cRErrS`ZnbW7eeXcO1rr_Ea!!N9%"U4r-!!NGe!!EU$IS1(H!!NI+@KB32
-oZRH_qZ!8B[Jp5qr(I8gg&LY*h:qs[~>
-%4&[fs69U("h`('^&cRErrS`ZnbW7eeXcO1rs\3L1H%'t@:WbS?t*R-?j'qZIWB#t?j1"r@KK93
-oZRH_r;WJD[Jp5qr(I8gg&LY*h:qs[~>
-%0bSfs324/
-%0bSfs324/
-%0bSfs324/
-%05Yms.qe)WQ`Ss!L
-%05Yms.qe)WQ`Ss!L
-%05\ns.qe+Wm&\t!gWcLrrRO^nbW7eeXcO1rs\!F1Gq1!@:`hT?t*U+?j1"OH$a@:r*T\JLc#Wj
-_=u.U\MYng[Jp6Cr(I8gWrM^6V;)$#~>
-$j#ers*83,_9C,046>`,!qC,Iq>UNHSb`$[!;-9C#g*/K$NL2-"U!`a"U?;mE?kee!!P*!'.9?e
-qof5[IK`Y^d^B)Tg&+MJ9qD=aNfNbes*t~>
-$j#ers*83,_9C,046>`,!qC,Jq>UNHSb`$[%,Lsa!XA`,$NL2-"U!`a"U?;mE?kee!!Ooq'.9?e
-qof5[IK`\_d^B)Tg&+MJ9qD=aNfNbes*t~>
-$j,kss*J?._9C,046>`,!qC,Jq>UNHSb`$[%-99$2*#&QARJqS@Ue>)"_)4iG%tLa?j1V!)_%>o
-qof5[IK``>h6m7_g&+MJ9qD=aNfNbes*t~>
-$PW(1nQCH\bfmX!Z0;2inR<9^qYpWISb`$[!;-9C#g*/K$NL2-"U!Z_"U?i/A/Y^O!!NF*AHbZ5
-rlbV`Tdpe",65clrrD?^9En4Fs8Sp8o\BIs~>
-$PW(1nQCH\bfmX!Z0;2inR<9^qYpWISb`$[%*S\O!=&W+$NL2-"U!Z_"U?i/A/Y^O!!NF*AHbZ5
-rlbV`Tdpe",65clrrD?^9En4Fs8Sp9o\BIs~>
-$PW(1nQLN]bfm^$Z0;2inR>\XqYpWISb`$[#LtUd1c\rPAc?*;@c1Vt@VgC:An(^H"_!7'"\H-$
-bQktX.hd_]@+_me!:B\X##0gOs.sc.h#Dm~>
-$R>3AnL'U)bfk&]jll^JnJ2*,L&LrL!nEk;p\t6crn%M!!!*H-!<<3(r;ciuj8];h7"/)Kqu@35
-AlA\4\u@ap@TNX3!4K<8!VT:e9En46s8Tr9o\BIs~>
-$R>3AnL'U)bfk)^jll^JnJ2*,L&LrL!nEk;p\tZG!!!$)!!*H-!<<3(r;ZfuirB2g7"/)Kqu@35
-AlJb5\u@ap@TNX3!4K<8!VT:e9En46s8Tr9o\BIs~>
-$RG9BnL9a+bfk)_jll^JnQJ^fWr;kq!nEk;p\tKK1G^jJ?t!XG@/j^7?ia)1jBr+"EIN"@r*U"D
-McBa\]W+$s@YnQ%@*5nW!V]@f9En46s8U)=o\BIs~>
-$8M)NnIq2(beZ5\kPkSQ$2so*2rX`8!nEk;p\t6\rn%M!!!*9(!<<3(r;Zfur;ciuk5YVm97BM?
-qu?sAG!lK7?=j]G!!&OsrrN'srCdDi@fQJa7.f:7J,~>
-$8M)NnIq2(beZ5\kPkSQ$iU,,2rX`8!nEk;p\tZ4!!!$)!!*9(!<<3(g].Hb97BM?qu?sAG!lK7
-?=j]G!!&OsrrN'trCdDi@fQJa7.f:7J,~>
-$8V/OnIq2(beZ;^kPkSQ9)_TeH05)*!nEk;p\tZC1G^jJ?t!SR@:3PRrEoV3rF#Y3k?nF(Edi%<
-r*TbFLdVCJ?AiOr?i\'OrrN'urCdDi@fQJa7.f:7J,~>
-$:OFan-,N%bdmhpkPkSQ$2ji/",[$Ws4*\9p\t6\rn%M!!!*9(!<<3(r;Zfur;Zk2,NSn7'3'EB
-#ltD7!!"9fAdeJ9!/\,`!WHF(9En3orr;4=n_F.p~>
-$:OFan-,N%bdmhpkPkSQ$iL&1",[$Ws4*\9p\tZ4!!!$)!!*9(!<<3(p](>-,NSn7'3'EB#lt;4
-!!"9fAdeJ9!/\,`!WHF(9En3orr;4=n_F.p~>
-$:OFan-,N%be*trkPkSQ9)VNj<3uT(s4*\9p\tK>1G^jJ?t!UF@/j^7?iXO3?itTu,>.-,#%_n*
-DIR!Vra5hCLl5jA?i[O@rrN+*rCdDi>5nQe2=]K%J,~>
-$;p?nl2\69b_dY,kPkSQ$2X]+7-ag&Sb`$[!:Bd<#d+.."onZ(!sA?!"TbsRY$MM7!!!&d!!``I
-A6_f%70WAb!-kmN!-.p1"]>3tnMTRds*t~>
-$;p?nl2\69b_dY,kPkSQ$i9o-7-ag&Sb`$[%$LYk!=/Z+"onZ(!sA?!"TbsRY$MM!!!``IA6_f%
-6j32`!-kmN!-8!2"]>-rnMTRds*t~>
-$;p?nm/XQQ/";@D0mf?5PJ#?sm=-
-?jC.QH$2kT9j[O$!2m4(!-8!2"]>3tnMTUes*t~>
-$;p?nklA`I_,X_E"]"^ioL.Njs*t~>
-$;p?nklA`I_,X_r=.Q7\-
-!!%_[rr@cN9Ee2`s7A_8h#Dm~>
-$;p?nl2\iJ_,Xe>kPkSQ9);YJW#?i[46rr@cN9Ee2`s7A_8h#Dm~>
-#uU6mjT3WM_&Js-rr_d)!
-#uU6mjT3WM_&Js-rr_d)!
-#uU6mjT<]N_&Js-rr_d):f.!a!fNNCp\tZ#1G^jG?t!SR@:3MQrEoe3@:3JP`r!s__/^eO;!VKn
-?;+U/FCo"W?i[46rrAMc9Ee/Xs7B=2h#Dm~>
-#uU6mi<@KM\H't
-#uU6mi<@KM\H't
-#uU6mi<@KM\H't09MA]2IWT/s?i[+3rrB(s9Ee/Hs7C?3h#Dm~>
-#ugBofa>sIRM4fFrs%s"g$rYT!W
-#upHpfa>sIRM4fFrs%s"g$rYT!W)?9dB!!*'$"oJ?'!<<30aS!aXO[SU;
-#o63..KKoMIRFS@!!*/0[Jp6Dr(I8g`rG[bQ/)Ci~>
-$!$Nqfa>sIRN(ANrs%s"g%L>#;#O/m>^9;:p\FgoNAE@I:LIUAra5b8@f9[;8mu+:Ab=1KO[LEd
-r*T[J!!"!,?Me+:>"hUp?tFA-EFo#T!Fa-YrrC(:9Ee/1s7D#1h#Dm~>
-#oiC6h$VTSCIIUQrs/#siW&qV('4C7"Y+$b!#iKGrrD<_fEdoG!!N?9/-6"Q!!E<&!Y3BEbQ5OA
-o`+smqu?a*.fB>L'3'EKqZ$WtW4)^+h>BqN9st$$Q%ekds*t~>
-#oiC6h$VTSCIIUQrs/#siW&qV('4C7"Y+$b!#iKGrsWlI!!*uL'3'EKq>^Mo[f6?`r(I;h[K$8lL%O4$J,~>
-#oiC6h$VTSDFEpTrs/#siW&qs>#>2o"^H=P:M/)PrsXlC1Ghm8?t*MTCLL]N?j/r,?t!clo?79P
-3un3,!#5A3!X1)Nr*TP.>lA%4ATWB@qd9G2`O>dHh>BqN9st$$Q%ekds*t~>
-#rV8Qh$VTH9POLgrrVThjo58bnQ,_l!%ML]rVut@r;?Qpl2K<@RK*?mQV:'S"oJ?&!<<-6n]UuB
-kPt_j*.CNaqu?a(n[JMume]Z]V>pRuD=lZaJ,~>
-#rV8Qh$VTH9POLgrrVThjo58bnQ,_l!%ML]rVut@qY^@%E<#t>)?9dBQV:'S"oJ?&!<<-6n]UuB
-kPt_j*.CNaqu?a(n[JMume]Z]V>pRuD=lZaJ,~>
-#rV8Qh$VTH9PXRhrrVTijo58bp5)UB:L&0Er_EQcr;?R'NAE@I:LIUAVbBcm@f9[;6t'J3D"5^M
-@O(hZ!"8W'!Ydb$pg=J=COU;5?sm1Y=CV!5rrDKa9Eh9ms/p52h>`!~>
-#W;/Ph$VTH,F.Bj!q$*Nr;Qqf$NV_f"8r3#,g6/d!9sL8#]KbE6qp?K;$["!!s&B&*:_5Q
-#W;/Ph$VTH,F.Bj!q$*Nr;Qqf#QZDc"8r3#,gZGh$ul7I!=/Z+6qp?K;$["!!s&B&*:_5Q
-#W;/Ph$VTH,aIKk!q$*Nr;Qr3=\r@K<;fSnC>o-k%#m&!1f%LfI8*C/;.BK3"@Q[+@<(h]!ECZK
-?i`=mq#CI",>@l?$>Xip?sm1==C>_6\GlU*;>j/m9q)+^b#.fes*t~>
-#W;/Ph$VTH$G,@!!pTdMqu6fa81J-Pqu?m&L&M&OjSmd;Du]nW9he;U$2ac*!<<-Nn]Uu$r;[!&
-_SL4:!Up'j/7]"^!!+#5\c2^/;uKAo9niWIh)k5as*t~>
-#W;/Ph$VTH$G,@!!pTdMqu6fa81J-Pqu@<2L&M&O:]LIr#QOlD9he;U$2ac*!<<-Nn]Uu$r;[!&
-_SL7;!Up'j/7]"^!!+#2\c2^/<;fJp9niWIh)k5as*t~>
-#W;/Ph$VTH$G>L#!pp!Qqu6fdLKo+(r(do(Wr;ttF#,U/:LIUC9he;U@f9[;6t'J3FRdQU6o4gM
-"_#EeE[1\]!!3NY9)E!(CO'As?s!D2?smUA\c2^/
-#W;/Ph$VTE!70d,!p'INqYpZsKk(Sf!!>1=s5a13#]KbE,YUp+=U"^'!s&B&2=\lj2>mLU"igPc
-!j5i=q#CBqqZ$[R>R1')!A+2\rrN+*rCdDiEW?((1\'<$J,~>
-#W;/Ph$VTE!70d,!p'INqYpZsKk(Jc!"V$Is%i[q!=/Z+,YUp+=U"^'!s&B&2=\lj2>mLU"igPc
-!j5i=q#CBqqZ$[R>R1')!A+2\rrN+*rCdDiErZ1)1\'<$J,~>
-#W;/Ph$VTE!70d,!p'INqYpZsWd.bD:Cha5s)TtP1f%LfC.q>q>%7G<"?^+#@=dsm!Au\4?ia`Y
-rlbGH?4H]1!
-#VklLjT3oB!7g32&)d]#bLtk8mIBoGdZm3$!W)iu",Z+d-49k+,%nMTRes*t~>
-#VklLjT3oB!7g32&)d]#ce7:
-#VtrMjT3oB!7g32&)d]7iT0.eo(MhRdZo5W;#=#i<3pZF1C-ca@<4hc>&n*N?jA`$?t#/Yg!B<7
-"XuQA?s[F@bQ=%t"oA9#!a,D/#B"Wm?sm(:>Q%q1IK$hX!,_[.##/S+s7%u3h>`!~>
-#Uf0BmJt\G!SQT7!87)H"Y=:%('=U7!!!&ufEcEr!CSl8@W;VN!"0/8!!-g6s8MZPg!0<9!#tk:
-!"SeJ"2T+1'DMP24&cFb!!2or!-GgP!.t,B"]bO$o/kdas*t~>
-#Uf0BmJt\G!SQT7!87)H"Y=:%('=U7!"ArY!!!$*!!,JHRUU:Ar;[35!<<.7s8W)jjk7oRbQ&U\
-!!!N(bQG\(.hh[X"ZoZg!!!&r!!%,Prr@ZK9EeGps78>.h>`!~>
-#V#$=m%qbIYt<&6.h>`!~>
-#UAm>mJt87!SQT7!71B>!\.^_p](9prR_Bp!!,VHSR-:?r;Zs,!!!%Equ6ftoB"NIr6,-Sr;Zg;
-oumHR;u$Cp6q[dY!!&CurrAMc9Ee;hs7B70h>`!~>
-#UAm>mJt87!SQT7!71B>!\.^_p](a(.KBGL#QOlr1S%il#5nN)$NL/-Gl.LDrU].$c2>cc'E%n2
-*;.MV_Gp=2!^oZdp&G)[]Dhl"r(I8kq>^(d`ngZF~>
-#UJs?mJtA:!nl]8!RFO9:BFdH<;95u:fK5,1f%LfLGbW/G%CPZ"A3'0@Aj#&"T@rRe]n$9!>A*)
-?iY!8bQ5^`rVupKrEokMEaiEa9FG)%?i[dMrrAMc9Ee;hs7B=5h>`!~>
-$6/O8q*Y4nD;"ILkPkP!pAb7EA-;T,!!!%-7rqZR!rU].$c,p@o
-rVupCo?72@q>gO`!!i2t!`!~>
-$6/O8q*Y4nD;"ILkPkP!pAb7EA-;T,%077F!!*3&!EV(N??$2J!!X2>!!%-7rqZR!rU].$c,p@o
-rVupCo?72@q>gO`!!i/s!5#oD!3,li"\nOeoPLbes*t~>
-$6/O8q*Y4nD;"ILkPkS&:A@Td>^9
-%NFs@P!H*5ukrpfIW!V!\p!!4W\"8Dis!S[P*#YtF$Ai6DkEUNpklq"c!&sMn!QmA!!!3Bu7.^H["kgTh!5\S,"\n+YoR`Ofs*t~>
-%NFs@P!H*5ukrpfIW!V!\p!!4W\"8Dj*!>b_9!<`B'Ai6DkEUNpklq"c!&sMn!QmA!!!3Bu7.^H["PLKg!5\S,"\n+YoR`Ofs*t~>
-%NFsd">??TlX?j^(G?t#VMce7UX
-rqZQrrTXPgra5_Oo?7I6kil%?iaTk^&J)Kr(I8gjo=t)Rbe!o~>
-!?:S-rt4MWc_Z>-0a[q#6uAC=l1"65pAY6V??lSH!!4W\"8Dis!S[P*#YtF$AiG`KEVrrM]pr;Zggo#q(qqu?d'90;_F!>G:CrrCLF9En5;s8S4=o\TUu~>
-!?:S-rt4MWc_Z>-0a[q#6uAC=l1"65pAY6V??lSH!!4W\"8Dj*!>b_9!<`B'AiG`LEU
-!?:S-rt4PXc_Z>-1("%$6uAC=lL=?6pAY6V?@,ND:BFdH<;95u:e!5s1f7XgM`HetG%CS["^Y\I
-?t#u2bQQ8JlM:GWrrVcq>Q/"1L[rXj3rh)9?ijeXDZ4#F4;;#q?iaj7^Ae2]r(I;hci=$-MY,d*
-J,~>
-!?:S(s8VU#nE%f^F[QlC$7fSG_;4PLnbrIiksR$/q#LEq!\.^_pAk9Grn%<*!!.9B-NRuer;ZsJ
-!<<.Sprj#ihjP3FnFPjJ,~>
-!?:S(s8VU#nE%f^F[QlC$7fSG_;4PLnbrIiksR$/q#LEq!\.^_pAkL*!!!$&!!.9B-NRuer;ZsJ
-!<<.Spriuhh
-!?:S(s8VU#nE%f`F[QlC$7fSG_;4PLnbrIil9m-0q+q#e!aL"MpJ;)U1G^jg?t"lj.04
-!?:S!rtFqllJ8jn:*ToG1M2?Oh;Ms%fnKD+q>^t.K8"PlAlhAZ/0l,LfDaD./cYoo.jl]a#5nN)
--NO2JQh8K'cf*+H!!*+4o?76T"oJ?%#@'(T!!$*8rrDQd9En4rs8To>o\TUu~>
-!?:S!rtFqllJ8jn:*ToG1M2?Oh;Ms%fnKD+q>_C:K8"PlAlhAZ/0l,L#ljr+"98IE.jl]a#5nN)
--NO2JQh8K'cf*+H!!*+4o?76T"oJ?%#@'(T!!$*8rrDQd9En4rs8To>o\TUu~>
-!?:S!rtFqlmG50s:*]uH2.hQQh;Ms'fnKE%qG.uUMlN\GR>H?;CMIHb3\rQKPDM*M80&jnGGra9sO`u_-Q]is*t~>
-!>G"hs8VU"nD1'h>:0RS'BS>0!!*H.qZ$[IA>]2&!ri,Lrn%<*!!79A-NS2krW!*&,QRlGVXhq2
-U&=rl!GV/L!QG<@!!3C9/FWW>Gej=[q,.)a##1ros4'O0hZ&*~>
-!>G"hs8VU"nD1'h>:0RS'BS>0!!*?+qZ$[IA>]2&$3'c-!!!$&!!79A-NS2krW!*&,QRlGVXhq2
-U&=rl!GV/L!QG<@!!3C9/FWW>Gej=[q,.)a##1ros4'O0hZ&*~>
-!>G"hs8VU"nD1*k>q#pW'BS>0:Jb1jqbI8uH+EbN$3'i`1G^jg?t"H^.04U&ra5n+C11LY\amrF
-TaUj-!F__obQGig!&OU^!b-Fjra5d`,?skL!2mX4!VoUk9En4fs8UV;o\TUu~>
-!>G"bs8VTsnC]0diI1e-!%\-Or;ZsMA-6H;qYpTofDaD)(B=PSr[._d#5nN),QRlGZguqu?d'B-csH!
-!>G"bs8VTsnC]0diI1e-!%\-Or;ZsMA-6H;qYpit#ljr+"onaBr[._d#5nN),QRlGZguqu?d'B-cpG!6;qU!W?$s9En4[s8V1>oA9Lt~>
-!>G"bs8VTsnC]6fiI4U!:MWd'rD*Q$GuU4+qYpj!3\rQK
-!=ePWrsIE[iH,)#!!0MD!WE'&.V&V](;'JD!;ZTG#T!IFBdY8YF9_[D"=+!J!OM@@!.t.L!r'!W2p!#B;$X!!*E"_>aLErCdDiMZ<_E1[s9$J,~>
-!=ePWrsIE[iH,)#!!0MD!WE'&.V&V](;'JD!;ZTo#lt51#&,G4.s)!o!!FPJ!!0FsbQ*7n!!*+S
-oZRBZ_#aH6!XE]emf3@pp;-b/@f8t)9oAuNmPF@hs*t~>
-!=ePWrsIE\iI"Ht:Jf2;;#X5o>^9:E>1
-!=J>Trrhj*`c2%Y!!iUIrVllmrR_Al!$kc)-SoNBr;Zs?!<<2
-!=J>Trrhj*`c2%Y!!iUIt=
-!LWN'!m84Xqu?d'F;jQI!A+5err@3?9En43s8V[Jl/)Gj~>
-!=J>Trrhj*`cb2X:C'dfM,7#E>^99brq?ib'B_Z'UYrCdDiErZ122
-!=J>TrrhjHY%7Y4!!`O]S-o?IA-;c1!@5kfrrDlnfE`8n!<@+GCB4V;!!F8B"TuX4bQ)AU!!*+t
-oZRBZ\cM^/!XEuam/R,f_Z'UrrCdDi@fQK#45JcnJ,~>
-!=J>TrrhjHY%7Y4!!`O]S-T-FA-;c1!@6"jrrD6]!!r]2!!*(>?>BQFr;Zs?!c"=2Ot;Nr;WU9k+/&oK1mcs*t~>
-!=J>TrrhjIY%pl4:Bs_&_HB]?GuX`?t!Gd?>a1\ra5mlCLL[]`q%=SC*W^c
-!F`P2bQQ)$!<>Oe?jC.fARJnM,;\mu!/\Sm!07"O##/S,s7AD/hZ&*~>
-!=J>Trr_d)`b##I"q0MW81J-Pqu?j%L&M&IrR_A`!!3-("p"`.rW!*0`[_2n`q%=R?Msj)!OMCA
-!OVt+!!3CN'C5]!M8T>nU&@Xh:0%8moM*Tes*t~>
-!=J>Trr_d)`b##I"pj;T81J-Pqu?j%L&M&7rW!6+#QOo+"U4u."o\K*$cX\#!QO]S!+,U(!
-!=J>Trr_d)`bYHI#$L9ZLKo+(r(dGpWr;t`r\Fj<=^YZG@UrnU@fBa=3lZ8N@EJ)a!F@;U?ia]L
-o?7ak?jC.fARJnM*'Eb!!40TC!29?b##81ss7B%1hZ&*~>
-!=J>Trr_Zifj=OU#Q\Q;reZ(>!sAH$!]T*1rR_AZ!!*'%"onZ-r;Zr1bef_:bQ(N=!!*/
-qZ$[(ILGKB!
-!=J>Trr_Zifj=OU#Q\Q;reZ(>!sAH$!]T)prW!6+"98H&!sS`+"oSE'\]hpWn]Uu1r;Zj"_XktO
-Z24M&$%<9K!!*5]`;]h:r(I8kqZ$1s\_d@:~>
-!=J>Trr_Zjfj=PO#Z-rhrg&":<)ick!dWqir\FR4?N+=8@UrkT@fBa<1V(`LVt%t3;)A2Z!Fa">
-bQG*M!)3B"#@`-n?sm1Q7.FXc?KT3+!35rj"]>3toO>Afs*t~>
-!=J>Trr_'\fi7eJ%fs
-!=J>Trr_'\fiIqL%fs
-!=J>Trr_'\fin5J%oCaTrLJC\C0XqA<)6:hPl80Kp?ib$A`W#qKr(I8hp]'l.V;D6&~>
-!=J>Trr]YZePu>E%QFCeq=B;.A:Af/3u/2VrR_AZ!!3-%"onZ-qu?b0b4*UT1&_.S!=?p?bQF[A
-!!3'!!XX;^l2Ufr`W#q\r(I8gnGi-7Q/;Ok~>
-!=J>Trr]YZeQ2JG%QFCeq=B;.A:Af/3u/))rW!6+"98K'!X8W*"oJ?$B$0Ve!&=EP!=?j=bQF[A
-!!3'!!XX;^l2Ufr`W#q\r(I8gnGi-7Q/;Ok~>
-!=J>Trr]YZeQVcE%XJ'Rq=CV+H%(*`DH^1Dr\Fj=72L@:WbS@f0U7B$0Ve"Yr2J?s[=5bQF[A
-!)WZ@`-k?sm1H9(--fRDo1+b5=p::%82TKpCNpJ,~>
-!=J>Trr[sXcVFE=!!3'!!
-!=J>Trr[sXcV49;!!3'!!
-!=J>Trr[sYcVXR9!)WYj!Dpc6rtS[L=^#?XI"$6M;`QmJ?t!GOA7/hTr*T\%9hg>Pb4NmY,XhW>
-!GT^JbQFC9!*K5.#A&?n?sm1H:@;Kib/XG]iVZ@R:$)ETQ&>4ks*t~>
-!
-!
-!?F9S:k#gppriaP
-9`AE"D">dPPlLedra5tBIUZ\m>6Rjk?iam=a8Z//r(I;hec5ZGFnFSkJ,~>
-!
-!
-!4Kf=M?!W\ra5tBIUZ\m>67Xg?i[4IrrMpmrCdDi`rH(L@eARXJ,~>
-!
-!
-!6%dm?iaa(aSu;?
-!
-!pSK7.fC:J,~>
-!#.182*,&O@UNVY@V':oH%(*^DJ!?ep0\)/
-6on%bZ-)OZ"+C4O?N+=;Ape&q?s!D2lsKgna8Z-KrCdDiV>pSK7.fC:J,~>
-!E
-!
-!=:MHEj!RVbQEk*!abk6#A\Kl?sm(:=R9DqF3":\ErAZ99q)+^iB-Ygs*t~>
-!l!!4EY#Nl'f$1Q%9!.t/C##1!Ts62E2huA3~>
-!l!!4EY#Nl'f$1Q%9!.t/C##1!Ts62E2huA3~>
-!=pqMEiR7WbQZ/5@K6R9ra5tGG@Frf=9)Rl?iaa+aSu6lrCdDi
-NW9%D2=]T(J,~>
-('3k's8A')Al18r!ELjr!lL=?6q#:Qg,Iuph(BOL8$iuac$NL/VA=3D^0`h7R&-8`of[n`t
-1K8IFED%hr#m^8+rs&o<*(4%\H!EEL#mU_/!!EZfD5kPQbkV5?/7]"b!!!&c!!*,caSu7*rCdDi
-H2mp41[s<%J,~>
-('3k's8A')Al18r!Eh1&"lL=?6q#:Qg,Iuph(BOL8$iuac#QOiSA=3D^/-5_M&-8_L!!rrH
-1K8IFED%hr#m^8+rs&o<*(4%\H!EEL#mU_/!!EZgD5kPQbkV5?/7]"b!!!&c!!*,caSu7*rCdDi
-H2mp41[s<%J,~>
-('3k's8A'*Al1;s!=pqMD5tVRbl.SB1]:\dCO'As?s!J7lX0_[aSu7*
-rCdDiHiO-62=TN'J,~>
-2?E7Gs(28N_S2kG_8`mFD+#TU!"CetMRhR.nF?&Ks69XD0aSu7:
-rCdDiC&e5'1[
-2?E7Gs(28N_S2kG_8`mFD+#TU!"CetMRhR.nF?&Ks69X'`\UO$RAAUIX+mS)@6ZD!"9)='/NU0IV2;)$O6q1!!N`hBr.7iq#CIP>R0Bk!7Jsg!2]Wf
-##/h3s7%o1huA3~>
-2?E7Gs(28N`kJ:L_8`mFD+#WV!"CetMRhR1nF?&Ks6Tj?jk24^:esk`])S0o:L&0[rVuV,rD+)B
-NAE@I7UTeAASQ72IX?0SAn#6E@/j[CAScI9IWogJAR]-D?j^443_X:bRRmJZ,Q(pSCj'8q?r$r1
-lX0_KaSu7:rCdDiCB+>(2=9<$J,~>
-2Z`@Hs*eRsb]O@>'*/+Q1L#I9_SN'o=XO@Q%5D(=ZDe2ijk1l2,QRuJSH$b5!%MLeR/d3F"9&9$
-!Rq'?U:W#lju6#72;1<-`q*6mN-F#PeB"#7:ha6t^so<'(a"#P\9!!VQKp4&cII!!'XPrrBA'
-9En3trr;RKjkp)g~>
-2Z`@Hs*eRsb]O@>'*/+Q1L#I9_SN'o=XO@Q%5D(=ZDe2ijk1l2,QRuJSH$n9!%MLbR/d3F"9&9;
-!GMN6!>PS:#lju6#72;1<-`q*6mN-F#PeB"#7:ha6t^so<'(a"#ODEl4&cII!!'XPrrBA'9En3t
-rr;RKjkp)g~>
-2Z`@Hs*eS"b]O@?'*84S2-kg=`keKu=t'UT%5M4@[AjSmjk1o;C/@l+_Z/Rk:L&0J])Vfm<;oZ1
-:l7%b1e(k^@UNVU@U`qeFF/I\EGB&o@ejF3@L?[]EHckYFDbZ!@ea=7?;*-h$U";o#B"Wm?slS7
->O,Yse&_Oh[J`c'9j[i!o/Ypis*t~>
-2Z`@Hs*eFo;ZP&+jk7eQMJZ$3$315W;0f.X_Pr,n.fa_Njk1TPr-/;EVZ6T?!%ML](@(r"7/d/e
-!OVjY(Wl^["onZ3!!*-$#6t_i94r]q<&50o#P\9-#72;1>^:d/6mN-F#Oqcq4&cII!!'XPrrC:@
-9EeGps7A_4huA3~>
-2Z`@Hs*eFo;uk/,jk7eQMJZ$3$315W;0f.X_Pr,n.fa_Njk1TPqKN)CVZ6T?!%ML](@(r"7/d0+
-!@n-M!>PS:"onZ3!!*-$#6t_i94r]q<&50o#P\9-#72;1>^:d/6ludA#Oqcq4&cII!!'XPrrC:@
-9EeGps7A_4huA3~>
-2Z`@Hs*eFs<<18.jk7eQMJZ$4$315Y;1#=_`i=Vs.fa_Njk1TQr23Lj\c;VC:L&0E>4)@iIK!"^
-:fB/+1e(k^A7/hW?t!JO@Ua%eEd)t[FDPMt@ea@2@L?^bG'e[`EG&il@e!h2DKK>q?pkB,lX0_A
-aSu7ar(I8orVuLXg#)g[~>
-#m'Jos+4^s@T2dmru(7diRPc0D-8S&!!OTBFfpkHfua;ts8U7frr3;'!@hU^!&=3IGl@[D!Lj#?
-$*F70$NL28!!*0!!<393#ol?*qoM*Tfs*t~>
-#m'Jos+4^s@T;jnru(7diRPc0D-8S&!!OTBFfpkHfua;ts8UCjrr3;'!@hU^!%djDGl@[Q!?(q<
-!=/Z,$NL28!!*0!!<393#ol?*qoM*Tfs*t~>
-#m'Jos+4_"@TDporu(7diRPc0D-A\(!!OWCFfpkKfua;ts8V%mrr3;D:gA9F:NQ:1VuBI%:erl'
-1cA`MARJqX?t!LA@/aU?CN4NEHZjCEraP\2s'c=HCN=TIHua"6@Uf"<#B=cn?slA:>O,Ys`Q8&Z
-iVZ@Q;>L7a:!MSqJ,~>
-#lsDns+4RoAl8'hru^apiRPc5D-8B[!&4WrflVImM=LWGrA,p6!rr
-#lsDns+4RoAl8'hru^apiRPc5D-8B[!&4WrflVImM=LWGrA,p6!rr
-#lsDns+4RsAl8'hru^aqiRPc5D-AH\!&=]sfq#%@ZhFG!rG5_a<)6;&h5C6J%T#qW1Gh!t@:`hT
-ARJqTpL+#1$>"$qI"$9[CLpsaq-a53$>!jiH%(*`DJ!?eq-a5B"_(kI4<.Sk?i\0errDTe9Ee2`
-s7BX3huA3~>
-#ls8js+O[oAkqd\rs/&Xh7f#k?=s-9#6RNMs2um&"8Mot".K5A$(:hq$NL28!!*/m!<392$RA,Q
-IX+mS)@6ZD!"fGB'0B08IV2%o$O6n:!!c.bjT#:ZaSu;:;>j/l:$M]MD6DdrJ,~>
-#ls8js+O[oAkqd\rs/&Xh7f#k?=s-9#6RNMs3E0*"8Mp,!u_.>!?(q>$NL28!!*/m!<392$RA,Q
-IX+mS)@6ZD!"fGB'0B08IV2%o$O6n:!!c.bjT#:ZaSu;:;>j/l:$M]MD6DdrJ,~>
-#lsAms+OauAkqd\rs/&Yh7f#k?AnbX#?6K>s5@4.<;B<"<)5;+1f%LfARJqX?t!L8@/j[CASQ4/
-IX?0SAn#6E@/j[HASuU;IWodHAR]+V?t+.rra5d`,?sJA!6*%Z!VoUk9Ee/Us7C02huA3~>
-#ls8js,'t!Bhe$YrrMTsq#CP!l?6\?q#CEtY5[&[RK*?r!!*H-!!2Kf$jR(W4'[&[A4.[N#7(&)
-rs&o>/5'W)FAt%0$X?*]!!&t=rrN'srCdAhh>d+rS_sHt~>
-#ls8js,'t!Bhe$YrrMTsq#CP!l?6\?q#Cm,#QOi*)?9dG!!*H-!!2Kf$jR(W4'[&[A4.[N#7(&)
-rs&o>/5'W)FAt%0$X?*]!!&t=rrN'trCdAhh>d+rS_sHt~>
-#lsAms,(""C/+-ZrrMU+q+h-Mm>-$eq+hK"2D[-G:LIUB?t!VS?t&J2s'c=IDK^AUH#[S1@Uf.@
-s'c@ICN=WJHus19ATi(m?ii,/>O,Ys`Q8&[rDiei"\mhQoR<@gs*t~>
-#ls5is,'grBh@aUrrDQ_!!^:dI)W^r!R)o:.r`f=p"\m/>oSSdgs*t~>
-#ls5is,'grBh@aUrrDQ_!!^:dI)W^r!R)o:.r`f=p"\m/>oSSdgs*t~>
-#ls8js,'grC.[jVrrMUOpeLupQ?HF,:C^2Z1G^j`?t!bW@:`hS@Hq8#@L?[^EcunZEbo;r@ejF2
-@KpF^G'e[eB)Z3<.f`f>?i[dZrrN+)rCdAhb5_*kOl-1h~>
-#ls5is,KsrD+X0YrrCL@!!=]m('473!
-#ls5is,KsrD+X0YrrCL@!!=]m('473%KR:E!!*u
-#ls8js,KsrD+X0YrrLqNpJ1lrHs0AC:C^2j1G^j`?t!bW@:`hT@HLts@L$OcH%(*`DJ&lWq-a53
-!G,mB?ijO_/*^LBWlP,>CAgg19tC<(Oc&ehs*t~>
-#ls5is,g0uD+*gTrrD0S!!Fc^$Pid?!!*,Crn%Nr!!*Q0!=Jl.!oX+f#72&"<-3S%9.UGU#M]:Z
-Kua2nH2UD@9r\0mRY(1is*t~>
-#ls5is,g0uD+*gTrrD0S!!Fc^#SmI
-#ls8js,g0uD+*gTrrM4VpJ1osH!+
-#m'/fs-69tECB6XrrCaN!<*#t!!Xo`!rsSI!WE'"!>bXd$#fkF%KHM;!!*/W!<392$RA,QIWSON
-'+"p%!!%_nrrA)X9En4^s8Sd
-#m'/fs-69tE^]?YrrCaN!<*#t!!Xo`!rsDD!WE'0!>[-b!!*?*!=f)1$NL2/h#RH[$4A+IB7=r%
-3tho*huEb2a8Z."rCdDiScA_`H1^%pJ,~>
-#m'/fs-69tE^]?YrrM1Ur_NMirD*W&GuRRP:f.-e%o?G/1G^j`?t!bW@:`hT@GP>k@L?[]EHckZ
-FDbZ!@esI6>9brh?i[4IrrA)X9En4^s8Sd>o\fb"~>
-#m'/fs-cO!ECB6XrrD$V!##BF,QRoG!%ML]!!"Pq!<<-9s4[J)$#fkF%KHM;!!*/R!"0#<)EV2L
-IUkhl#m0/f!-lQa!29?b##1!Ts/Bl-i;\<~>
-#m'/fs-cO!E^]?YrrD$V!$D;S*ruBB!%ML]!!"Pl!<<-9rtbY8!=/Z+%KHM;!!*/R!"0#<)EV2L
-IUkhg#m0/f!-lQa!29?b##1!Ts/Bl-i;\<~>
-#m05gs-cO!E^]?YrrM7Wr_FY5R:f>m:JY5@<)6;*B2DB#>5q&J1Ghm8@;0+XARJqTqdBF[!DH_W
-@/j[BAo;d=IX,pG@U]7D!a?X#l
-#m'/fs-lErFZ\mOrrD0Z!!r\7rhp_9!%ML]rW!-jflX\#rn@A($#fkF'*&%@!!*/N!<39.'.cdr
-IRF4u!!$WOrrB%s9En4:s8TW=o\fb"~>
-#m'/fs-lErFZ\mOrrD0Z!!r\7rhp_9!%ML]rW!U"flX\!rYGP7!=/Z+'*&%@!!*/N!<39.'.cdr
-IRF4u!!$WOrrB%s9En4:s8TW=o\fb"~>
-#m05gs.)QtFZ]!RrrM4Tr_Ehsb5T@l:et>A<;oZ,IH6sAr;K/A1Ghm8@;K=[ARJqTr*TLLr;Zs.
-,;W"tj'_mr"_DIiG(+H1?ijOP4R-;SRE,=-Wr5Tq9mcp?\RP3hs*t~>
-#mK;fs.Mj#Grt
-#mK;fs.Mj#Grt
-#mK;fs.Mj#HTUWXrrMLLr_EhsWrN+oSPWR:<;fT*H2R^Br^J\"1f%LfCg^[_?t!LB?iVGG!!EZS
-1J1m4@/j[@AU\6!?s==-l4gbQJ,~>
-#mK;fs.qfsGrt>G6$NL2/c2[nNGn]9>!*@5@
-!71U;##/>$s34:1i;\<~>
-#mK;fs.qfsGrt>G6$NL2/c2[nNGn]9>!*@5@
-!71U;##/>$s34:1i;\<~>
-#mK;fs.qfsHTUWXrrML,rD*Gtp\t0pfPu19r(do_rr;sY1G^j`?t!kZ@:`hT@K'X71[tGJ$QLrp
->N]B!@XDZo?s==5l
-#mK;fs.qfsIPpERrrVEb"8r3#=8r4!"4D?#!WfDaD/:B1D/!!!B,!
-#mK;fs.qfsIPpERrrVEb"8r3#=8r4!"4D>u!W
-#mK;fs.qfsIPpNUrrVHh<;fSnM>mMS"4E!.;#O0%:n@Xa3\rQK;.*gK?smPR@:B.C#;Z>[8PV8Q
-!V69o$QLrp>O5`&@X_lr?s="2l
-#n#Mgs/@rsJhu]Trr_KcdT`ILG6;!*@5@!:]n["]>3tiB-Yhs*t~>
-#n#Mgs/@rsJhu]Trr_KcdT`ILG6;!*@5@!:]n["]>-riB-Yhs*t~>
-#n#Mgs/J*!Ji2rYrr_NdM,=.H#`8BWs4*[Z=]#&m&6.`g3\rQK;.*gK?t!SR@:B.C"#BpNb5TTg
-[=qp;$3B_u":H2*6s/te#@`-n?sm1B:[2gIQ47hD1J,~>
-#n#Mgs/n6!JhcNQrr_?`]*%s2#V>':eXcNp,Q[iD!D*%bfEk=R!>>G6"onZ*r;ZgVpWNfONaajT
-!TO.]$%<3[!<3)b!!$*@rrMpmrCdAiq>]P8oAKY!~>
-#n#Mgs/n6!JhcNQrr_?`]*%s2#V>':eXcNp,Q[iD!D*%c!"&`0!!*`5!Jh!XX;^rW)s!l2Ufca8Z29;>j/l:AOqO2tPu-J,~>
-#n#Mgs/n6$JhlWSrr_?`do?6@#]&c+eXcNuC/Fk)!JgLM1C>s9?t!kZ@:WbS@K'X8.lm@J"hBY&
-2%9WY!!EHF1IP@=?jC.i@UNSJ!`8/i!/\br!VoUk9Ee2es5c94i;\<~>
-#n#Acs/n/tKe_iTrrhEamY(]>!!it@eXcO9p-\r\!!*+qrR_EP!!*`5!
-#n#Acs/n/tKe_iTrrhEamY(]>!!ik=eXcO9p-\r\!!*+jrW!9+"98H9!!*9(!
-#n#Acs/n6$KehrVrrhEam]'+]:C(+GeXcO9pO,m;:B=:mr\Fm<;.*gK?t!SR@:B.C!@tGGbQY_G
-AigY-o)Jms*&AgDqd9Y?IUZ\m>67pl?iYu&rrN'urCdAhnGhc2n_jFt~>
-#n>Sfs0=B%Ke)ENrrqKbmefHRqZ$hBS,**aq(2LF!aMSS^b6
-!UTjg$[rED!!"surrN+*rCdAhiW&=%nDO=s~>
-#n>Sfs0=B%Ke)ENrrqKbmeTF2
-)Zf=+!XjG`jT#9>a8Z2>?N!P$:#Z-?1[s?&J,~>
-#n>Sfs0XW)Ke)HOrrqKcmehK0qbR6_"Sr)tq.ot*!Dmh91C>s>?t!bW@:WbS@K'X8/&(Dp"i6aH
-6lQ4"!!!3"?jC7l@UNSG!*JMo!-uWb!WHF(9Ee/Ls6_c6i;\<~>
-#n>Gbs0XB"MC[rSrs%EcnGi25!W2p!.VHBmrrLOMrVup7rR_E/!!*Q0!
-#n>Gbs0XB"MC[rSrs%EcnGi25!W2p!.VHBmrrLOMrVup&rW!9+"98H4!!*9(!d-3:!`k/1[a3$J,~>
-#n>Gbs0XB"MC[uTrs%EcnGi5u;#F)j>^+ZrrrLqTr_EMpr\Fm<
-#ntbes1'N"N[O)SrrV-_nG`Ff,l@WI.V&X'pAb.OrVup7rR_E/!!*Q0!
-#ntbes1'N"N[O)SrrV-_nG`Ff+8c*D.V&X'pAb.OrVup&rW!9+"98H4!!*9(!
-#ntbes1'T$N[a8VrrV-_nG`FfBDbO1>^9;>p](8=r_EMpr\Fm<#A&6k?sm(:>O#SrH,fjaK)J@H9u6l!2=BE&J,~>
-#ntYbs10T%N[O)Srs7EfnG3(ZnM((D!!aua!rs*np/h4n!&"6qc2X%KHM6!!*0"!!($pbQ>V@
-!Vuct)KZ5`!!!&a!!"strrA>_9Ee.qs7%o1i;\<~>
-#ntYbs10T%N[O)Srs7EfnG3(ZnLO_?!!aua!rs*np/h4n!!N9$$3:80!"Ju0"onZ*r;Zi;h95r:
-NWJtV!ZH.crVup!kl:]B`r?%(rCdAhZ2a>MlJV\m~>
-#ntYbs1Bf)N[a8Vrs7EfnG3(Zp2a(0:Bt-M<)6](pPJlF!*9(T$8bdk?tj"WA7/hSra5aH`neiB
-_2\Qs!"8a5#A/?m?sm(<>O#SrH,fjaQ2OA[9sO`g2=9?%J,~>
-#ntP_s1T`%OX',Rrsm]hdOZ:E2lK+F!!"KZ"9&9#$iL&*0)aE/(B=ID!!*9(!
-#ntP_s1T`%OX',Rrsm]hdOZ:B2lK+F!!"KZ"9&9##lO`'"TAB.!^[@EX'k9r\0a2s&utJ,~>
-#oh+gs1Tc&OX05Trsm]hh.pV*H,Y2.:JY5@<;oYn=oD+r
-#oh%es1or(Pp>PVrrUj_$iBu/$Ub!r.V&YW!!"YMfEi>o!=Jl."TSQ)rVus,b1b&>7/Hrc,\IAD
-!!"strrBJ*9Ee.as78>2i;\<~>
-#oh%es1or(Pp>PVrrUj_#lFZ,#Xe[o.V&YW!!!0$!"&`2!!*H-!`r?%HrCdAhU&X^GiSa`d~>
-#oh%es1ou)PpGYXrrUj_=o;&"=aa+C>^9s>?t!VS@:EVQ@K'X8(s:RV!^m#&rEokF
-G@Frf:((:k?iYJlrrBJ*9Ee.as78>2i;\<~>
-#ognas2H#&PoJiJrrCaI!!EZ3.V&YW!!#gnfEi>o!=Jl."TSQ)rVus4b1b&>MYdAT/7]"I!!"st
-rrC:A9Ee.Us7A_4i;\<~>
-#ognas2H#&PoJiJrrCaI!!EQ0.V&YW!!!0$!"&c3!!*H-!
-`r?%_rCdAhQ2gJEg#2m\~>
-#oh"ds2H#&PoJiJrrLe8q+h,r<*X]Jq+gufr\Fm=
-#ognas2H#&RN(AOrrBD!!!5)i$i'c&:]8oP$NL23!!*0%!`r?%t
-rCdAhK)bI;cf"hR~>
-#ognas2H#&RN(AOrrBD!!!5)i#l+H#"TAB.!XJc,"onZ+!!*0#!!!tkbQ)\\!!4r]#NYpc2objt
-iVcFR9nNE;:!_btJ,~>
-#oh"ds2H#&RN(AOrrKf.pJ1j$H!0r=!)`_O$8kso@:WbS@UNVQra5^FfusM#AeQm?slA:
->O#SrH,fjaiVcFR9nNE;:!_btJ,~>
-#ognas2l;,RN(AOrrBD!!!Fca$NUA,!!#gnfEh]]!
-#ognas2l;,RN(AOrrBD!!!Fca#QY&)!!!0$!"&c1!!*9(!
-#oh"ds2l;,RN(AOrrBb+:BXpH=\r)p:B48k1C?!G?t!SR@:EVQ@K'X7,h^BCC&f7P?jCRk@UNS+
-'O0j1!-uTa!:]q\"\ik6oMNchs*t~>
-#ognas3)/&RiCJPrr@&oNB&hs*t~>
-#ognas3)/&RiCJPrr@1!
-#oh"ds3)G.SK$\RrrAtp:B45h:Bk'L<,5H/;#X5k:f%'H$8l-t@:WbS@UNVQra5^VfusM,!$(rF
-#B=cn?sl):>O#SrFN4=]q,.,b"\i>&oNK8ms*t~>
-#ognas3DA)TbHPNrr@cO!!<60!
-#ognas3DA)TbHPNrr@cO!!<6-!
-#oh"ds3DA)TbHPNrrB(t:BOEr:f.-e#$cFQ:Mbqmr_NW.W;\R_2I9d"@UNVQ?t!JO?sY_DbQ;)N
-,Q2!TEH5Mr?o'$3l@tJ,~>
-#ognas3_S,TbHPNrr@cO!$h[?a".5k!%ML]!!"tU]9q[Yle'kCf`;'R"TSQ(!!**#!!,17bQ(Z@
-!!3Bu7-"=J*6/!Zr`f=p"B#*h?Fo(pJ,~>
-#ognas3_S,TbHPNrr@cO!$DC;a".5k!%ML]!!"tS]9q[YPQ1[d"98E&"TSQ(!!*-"!!#+6bQ(Z@
-!!3Bu7-"=J*6/!Zr`f=p"B#$f?Fo(pJ,~>
-#oh"ds3_S,TbHPNrrB(t:ENR1fP=;Z:L&0E:JZ96e%4lEVDC"d2I9d"@UNVQ?t'%B!F@k@bQ:cE
-/,ioX@WHJf?ii,/>O#SrCW?ATra#Ir"B#*h?G,4rJ,~>
-#ognas3_S,TbHPNrrBY/!!rc$s7o^s!%ML]rVusXq>UC,l.FYAf)YjP!rr?&!!**#!!,[EbQ(?7
-!!3Bu7-"=J*6%pXB)PC+:A4
-#ognas3_S,TbHPNrrBY/!!rc$s7o^s!%ML]rVusXq>UC(E<#tA#ljr+!rr?&!!*-"!!#UDbQ(?7
-!!3Bu7-"=J*6%pXB)PC+:A4
-#oh"ds3_S,TbHPNrrKc-r_Ei"p](&G:et>A<;oYoH27I>%?3/"2EG/P@:EVQ@:3OC?iaS*fusLk
-!%\%V!b-1ira>aV!*e_r!,KRR!+u1'"A\^`?G,4rJ,~>
-#ognas4%S)V%_tRrrC(;!!r\gnFU%ui;\<~>
-#ognas4%S)V%_tRrrC(;!!r\gnFU%ui;\<~>
-#oh"ds4%S)V%_tRrrL,3r_Ehse,TIGI8=*n<;fT.M>dJSNAE@J3ac?(@UNVQ?t!JO?s?L]bQ:04
-/,io]@WZKq?s>-3l!OL,`W#pbrCd>gnFU&"i;\<~>
-#ognas4Ik0V%)DHrrL+Ir;[*^rVuoY""Ighqu?h2rr;6^fF$42!!*-$!Ahs*t~>
-#ognas4Ik0V%)DHrrL+Ir;[*^rVuoY""Igequ@=@rr6sAhs*t~>
-#ognas4Ik0V%)DHrrL,#rD*]ErVuo`<*X]Or(e&qrr7s61Gq4"?t!JO@:1q+$3<1l7
-?jC.aCg^XT,;\Rl!,KRR!0-qN"AS"M@_(FsJ,~>
-#p[:ds4Ib-W=@hLrrU1V!W;uuGlI^G6n2^L!Wgg%9!`i;\<~>
-#p[:ds4Ib-W=@hLrrU1V!W;uuGlI^G6n2^L!Wgg%9!`i;\<~>
-#pd@es4Ib-WX[qMrrU1l;#O/iVuH]!I9_%s;#O0):tYf-1G^mL?smDO?t!JO@:9brg?iXu]rrAVg9E\)CoP1Yhs*t~>
-#p[1as4n%1W=@hLrrU1b2uEX]FT)5n.V&V^!W
-#p[1as4n%1W=@hLrrU1b2uEX]FT)5n.V&V^!W
-#pd7bs4n%1WX[qMrrU1cH2LGDSc/Sg>^9:F;#O0(B)%?A1Gq4$?t!JO?t!GO@:3JFB%bB0,QKY"
-?jC.bC1(FR*'EIn!,KRR!35uk"AR&2EiS'tJ,~>
-#q*=as4n%1W=%VIrr^7cZN9t(#VjAA.V&V^Ac_l2!We#9rn%_'!<<-$!!**#!g\b($@i;\<~>
-#q*=as4n%1W=%VIrr^7cZN9t(#V=#<.V&V^Ac_l2'ENna!!!$7!<<-$!!**#!g\b($@i;\<~>
-#q^9:FR8ElY%oB9I1G^jW?smDO?t!JO@K'X8:i4n0!ZM,%
-ra5t?G%Y2j>80Ki?iXu]rrBe39E\)#oQ@"gs*t~>
-#qNRds4mk,XpX.Nrrg=XmR.*P!!Oi_!s'<.r;Zj+jSmd=aoDDB!<<-$!!*-"!!%K%bQ5j"qu?d'
-F;j3?!$&uX!7h$A"APlfI[f9qJ,~>
-#qNRds4mk,XpX.Nrrg=XmR.*P!!Oi_!s'<.r;[?6:]LIr'`\47!<<-$!!*-"!!%K%bQ5j"qu?d'
-F;j3?!$&uX!7h$A"APlfI[f9qJ,~>
-#qNRds4mk,XpX.Nrrg=nmX7q.:Bb!K<)@1TrD*o+F#,U/7UTV4@:3MP?t'%B!CVCjbQH!$!'L6g
-#@`'m?sm1Q7-S(ZCW6;Rebr/E9rdi7S`'Nu~>
-#qNF`s5=.0XpX"Jrrp4=B'giEqZ$gMA-2iJm0imn!!3&N$H`>K!
-#qNF`s5=.0XpX"Jrrp4=B'gZ@qZ$gMA-2iJm0N[k%fn-[!!*f7!!**#!gU%F&(i;\<~>
-#qNF`s5=.0XpX"Jrrp56RIXueqbIE$GuRUDnlbrf%T$+\1GhR/?t!JO?t!GOra5b&3SM[Zape>=
-ra5t?HY$Sm>74'f?iXu]rrD?_9E\(`oS&Rgs*t~>
-#r/^bs5=.3Xp*YErs#b0!$n'B!W2p%.WGh()ZGTm!!*,'rn%S#!!!$#!!**#!C
-apS%H!XEuaj8]0"`W#u2:B!oi9pP@.Ol67i~>
-#r/^bs5=.3Xp*YErs#b0!$@^:!W2p%.WG_")ZGTm!"T)9!!!$7!!!$#!!**#!C
-apS%H!XEuaj8]0"`W#u2:B!oi9pP@.Ol67i~>
-#r8dcs5=.3Xp*YErs#l-:M7OI;#F)n>]s7QB)].9:C^2Z1G^jW?smDO?t!JO@JsR:,C[k\b21>E
-apJ,:ra5t?HY$Sm>743j?iXu]rrMaer_*GhQ1Trri;\<~>
-#rAaas5=.3Ym&tHrs,\-!!!+5$N^2+#6TF(:-7_*$iU,+Y5[&\aoDDB!<<-$!!*,u!!@\X_92c$
-!6X?G!QG<@!!3IU$iL&*!U0Ra*6%pYq,.,b"AOL?MNQisJ,~>
-#rAaas5=.3Ym&tHrs,\-!!!+5#Qal(#6TF(9fqV)#lXf6#QOi*'`\47!<<-$!!*,u!!@\X_92c$
-!6X?G!QG<@!!3IU$iL&*!U0Ra*6%pYq,.,b"AOL?MNQisJ,~>
-#rSmcs5=.3Ym&tHrs,]':JXrX=]#&m#?6/$C2W>(=oM2+2D[-G7UTV4@:3MP?t&t@"=&B'_92c$
-!6X?G"3C]H9)`3'@X_lr?ss5l9nN"pOl67i~>
-#rej`s5a:3Ym&tHrrJkqr;ZjQ(An.>!u=:WIYD#g((7;EfF#b$!!**#!
-#rej`s5a:3Ym&tHrrJkqr;ZjL(An.L!u=:WIYD#g('k0G!!*f7!!**#!
-#s#$cs5a=4Ym&tHrrK,rrD*H8>5V/4<*F:"IYDr_>$3a>1GhR/?t!JO@:67pk?iXg3rrN)\e,KIJ
-#s5!`s5a:3Z3B(IrrAPc!!<[+DYi!!**#!
-#s5!`s5a:3Z3B(IrrAPc!!<PCi;\<~>
-#s5!`s5a=4[0>CLrrJZcr(dDoC/@b+:DQc+jA];nFF8O]AQ(Wg@UNVQ?t!JO@J=.9=@t@h(c>c_
-\]X3]"Nn^c!)NT%#@`-k?sm1==R0>s?:72]pAY21@"Hf,!+Pq$"AN@tMO!-"J,~>
-#s5!`s5a:3[/ntDrrAPa!!*uRrW*'.mcscOrrWc>[%N8)M+]W<#mUJ3!!*,h!!N`b?A5f,rQG8]
-oZRH\_#XN:rW!!-IL5!6!A)q"rrb7\!"8GKrr@'<9E\'mo88gks*t~>
-#s5!`s5a:3[/ntDrrAPa!!*uRrW*'+mcscOrrWc;.o:57ED&)$#mUJ3!!*,h!!N`b?A5f,rQG8]
-oZRH\_#XN:rW!!-IL5!6!A)q"rrb7\!"8GKrr@*=9E\'mo88gks*t~>
-#s5!`s5a:3[0#%ErrJZcqG.-(>5h>"=mk\V:]FB(=]8mUIWogKAR]+W@:3O7?jU%01E75e?A5f/
-rQG8]oZRH\_#aU5ra5tBIUZ\m=9)Ih?j0aS4CDscq>US.!$c(IeGfMhr_*Gh>4[W:i;\<~>
-#t1Kes5a:3[/ntDrrSYi!Vud8$YcJliI6nW.LQ=\!6WpFb+M.5IX,0[)@6]Nl2Utq-Wto$`r4*]
-b4s0_`]F/$rW!!-IL4s5!Wcp$r;QcerVus"lI>h?IS?S3:0$o"_XladJ,~>
-#t1Kes5a:3[/ntDrrSYi!Vud8#\g/iiI6nW.L6+Y!!`f:#>dg!IX,0[)@6]Nl2Utq-Wto$`r4*]
-b4s0_`]F/$rW!!-IL4p4!G:ctrrDTg!!*,ceGfi(9VkEX
-#t1Kes5a:3[0#%ErrS`d;#3s+=e`I,k'iG4>Zk$*:H:Hs3G!2UIX?6UAn#6:?jU%01F!_c>(3Wo
-rQG8aprii^3ri+V?jC7l@UNSG!*JPp#?qR.?smRE9MSUZ^;fd's*t~>
-#t19_s60O6[/ntDrr]5O)?KX6*D!GejiU>2IWSOJb1G7tRK3^$'0B0=IV2%o$O6q#!!FNDFfE7V
-bQ,fbbQ5jSqZ$[2GmEC1!!3#u!X3i
-#t19_s60O6[/ntDrr]5O)?KX6*D!GejiC//IWSOJ'aY0I)?C-N'0B0=IV2%o$O6q#!!FNDFfE7V
-bQ,fbbQ5jSqZ$[2GmEC1!!3#u!X*c;rr2tCr;ZiGeGfi8Tt-Uc;
-#t1?as69U7[0#%Err]8[Al/;!*J^nOjihI`IXH6J7QNRe:LIX@ASuU:IWodHAR]-9?jU%21F!SZ
-;0AnYrQG8arlbMf6i[3Tra5tBHX^Aj=9)Rk?ijO9;#Oc'?Dm;lrro;V!$bn-eGfi8Tt-Uc;=-aO
-;;qP*~>
-#t^Tcs60O6\H1CHrroA\l=g8"qZ%chI[L0#!s8oH4'[5`TV,m470N\l#mgtj96#E&9/@4d#Nl'm
-)bG%C_9C',1&:kS'6sf_!!*,b!!!&r!!Et&mcb&V!!'X\rsQt"!0p5Qi;h1;/)fOgJ,~>
-#t^Tcs60O6\H1CHrroA\l=g8"qZ%chI[L0#!s8fE4'[5`:f&n_6j*Mj#mgtj96#E&9/@4d#Nl'm
-)bG(D_9C',1&:kS'6sf_!!*,b!!!&r!!Et&mcb&V!!'X\rsQt"!0p5Qi;h1;/)fOgJ,~>
-#t^Tcs69U7\H:IIrroD_m@mERqbJA?I_,RH<)d"(DK^JXAS"hE9jV79@U`naEcunZEbo;r@dIJ6
->>?t!'H9VaTu"sqYqc:Z1]:\dAU@lo?r-o/lX0cu!a,>-$"^^9l=)OL,@K!MrsQt"!0p5Qi;h1;
-/)fOgJ,~>
-#u$Was60O3\H1CHrs#G]nc-$5!W2p%.V&W_f`;-Q!#l
-#u$Was60O3\H1CHrs#G]nc-$5!W2p%.V&W_f`;-Q!#l1K'e<*39LM8e'+"sF!=8u;+%0XgH!EEL
-#m]Sm!\4ofq#CI7F9gP#!<``,!!%l+rseHZ)Zc3t:!X:
-#u$Was69U4\H1CHrs#J`nc-a8;#F)n>^9;*jA8\P:C^Mf7T3l69MJ5nAR]+V@K'^BB5r3GHZj:=
-@UeY2$=6Lj,8;XA"TSNYr*TbAHt$Jk:Batg?ijF1=SZ>0?=I:m!$bmXec-*J3u\3c9MNhBnGd?3
-n`9_#~>
-#uQibs60O3\H1CHrs5S_nc/X_AcVr3!!Xo`!rs*<(B+=G/D&P,f2#'i.U7FJ>WWi1#Q=]3#72&*
-<-`q*6mN-F#O;Bi!VcWr,]O(O!<3)i!!$W]rscdRf`7I79u.e=s10HFjSs`~>
-#uQibs60O3\H1CHrs5S_nc/X_AcVr3!!Xo`!rs*<(B+=G/-u:V#mWWi1#Q=]3#72&*
-<-`q*6mN-F#O29h!VcWr+)qPJ!<3)i!!$W]rscdRf`7I79u.e=s10HFjSs`~>
-#uQibs69U4\H1CHrs5Vbnc/X`Mbm7L:Bk'L<)6\S>5h>0CH=7-3`/RU>]tRCG&Co$@fBd8@L?[a
-FF/I\EGB&o@d@D)?;NF?7/L?sB6I`l?q^r4lX0cj!aGA+"<7Cd@%#RF%D`M,!1HSU_&MqE]Hm%.
-s*t~>
-#uQ`_s69U4\H(1CrrT/YnbrImW!`V+!%ML]rW!+6]8:7sg&BVG/ke/Q#mhM3<-`q*6mN-F#64`/
-#7E(UEIN"&1D9uuj8]6,B*Zod!&rI.%>@a>!M)nYYp])Ai
-#uQ`_s69U4\H(1CrrT/YnbrImW!ED(!%ML]rW"?Y]8:7p"98E&"ACa(#mhM3<-`q*6mN-F#64`/
-#7E(UEIN"&1D9uuj8]6,B*Zod!&rI.%>@d?!M)nYYp])Ai
-#uQ`_s6Tg7\H(1CrrT2\nbrIm`E?#5:L&0Er_Fr1e$GeD2D[-G<_Q1l@U`qeFF/I\EGB&o@UNSQ
-@V'=qG(+gZCh7'bjBr4-G@Frf8dekh?iiq.>P;G-$NMDZH.Dp(KiR(5SP2b_.ImGs"n:UQJ,~>
-#uul_s69U4\H(1CrrT#YnbiCknQ,_l.V&Y[!!F4Ps7k:HfHV/*9GRX/!W`N4'.cdhIWSOF'+"mD
-!!``8,Xc0lH!EEL#m]Yo!\@jee,TIgf)H6M=bZ8ERnQPU1\(M5"l88>J,~>
-#uul_s69U4\H(1CrrT#YnbiCknQ,_l.V&Y[!%Su"s7HKp!!*j/9GRX/!W`N4'.cdhIWSOF'+"mD
-!!``8+%0XgH!EEL#m]Yo!\@jee,TIgf)H6M=bZ8ERnQPU1\(M5"l88>J,~>
-#uul_s6Tg7\H(1CrrT#YnbiCkp5)UB>^9O,Yu4;;#n?j$i;,@G<
-$!E/cs69U4\cC:DrrSW\nbW7gQjYBS"8`'!FSYmf-l5QN"T\T)!<<-$!!``8)EV2LIUkhl#mU\8
-!!`fD4&gKSB1+!Q#7'Vr!]+'df`2!Qr;Zj+n^mdNnM@?9!M)nYWA3rCnJfL/s*t~>
-$!E/cs69U4\cC:DrrSW\nbW7gQj>0P"8`'NFQW]*!!*9t9EY@r!W`9%!<0#oYm1H%'9l*si/W
-!!!61'0B0=IV2%o$O6q(!!4r]#Li_S$h;jK%e2?XmK&kP9rTl;s7%&JjSs`~>
-$!N5ds6Tg7]E$LFrrSW\nbW7g\li9`<;TH'Sa/-h1Gi-+9O;.8@:
-$!W,`s6]p9\cC1Arr\B!R.:%Q"6s'#$i0i'-iM[)E!6UN!<<0%!!*,t!#l.L'/N:'IW8"3'*eaB
-!!``:/5'u3FA"D'#7'c!!]s?df`2!Qr;Zj%maqIKnKYm>$DgEjWAF)EnN3T.s*t~>
-$!W,`s6]p9\cC1Arr\B!R.:%Q"6s'##l4N3-NX8J!=/f6!W`9&!<<-$qZ%Q?#no*fFFJ4&//&6n
-!!!6/$S4qjIWS4='*ed4!!55]#Li_S"n("B%e1d[n-Z!c9rTr=s7&1IjSs`~>
-$!i8bs6]p9]E$CCrr\Be](Z"#"7:G\=o(o(@l6%u1f%F\@:O,\s.f`fJ?j9p;!$bl\maqIKnKbs?$DgEjW\s>HnN3T.
-s*t~>
-$"AMds6]p9\cC1Arr?U/!!>$2iVrfU"4Df0!W)it(Y8T<$?,tF!s&B&!<<-$pAk3u)%.]XA:Af'
-3uSD1!!!6/#p_oLIX,0[)@6ZA!!5P]#Li_S!UA;:%e1LXn-u3f9s,`2s7&dJjSs`~>
-$"AMds6]p9\cC1Arr?U/!!>$2iVrfU"4Df-!W)j-"p"](!=/Z*!s&B&!<<-$pAk3u)%.]XA:Af'
-3uSD1!!!6/#p2QGIX,0[)@6ZA!!5P]#Li_S!UA;:%e1LXn-u3f9s,`2s7&dJjSs`~>
-$"AMds6]p9]E$CCrr@?D:BPF5k5P>Z"4E*1;#=#u<\uTg1f%Le@UWYQ@:3O;@/j[EASQ41IX?0S
-An#4W@/aUAB5r3GHZj:=@Uf"<#B=cn?skc8>O5`!>9brt?j9^5!%VGbmFV@JnJfL;%Ac`mXsEQ;
-nP#5/s*t~>
-$"AA`s6]p6^&ZUErr?U,!"'Wd]D;KWS_5q&!W;uu(]Dtn:B1@r!<<-$!!*,k!#l.L)EUoDIV2%o
-$O6n:!!`fD4&gKSB1+!Q#7()*!^oZdf`2!Qqu?`UfDc?N,JijVV+aUg'Cl+m;j$/@J,~>
-$"AA`s6]p6^&ZUErr?U,!"'Wd]D;KWS_5q&!W;uu#6"T1!<`B&!W`9%!<<-$nc0U6#oYm)H%'Bo
-,RXh^!!!61'0B0=IV2%o$O6q5!!5P]#MB(W!W2otiRe)>nKYm>$DgEjYnQ[-nPkY3s*t~>
-$"AA`s6]s7^&ZUErr@?A:C:^)e+s$oS`G&m;#O/iO5`!>803n?j9F-!%VGbk1BVCnKbs?$DgEjYoE65
-nPt_4s*t~>
-$"eYds6]p6^&ZLBrr?=!!!is6Q^[aKK`_AT!!!i6fEtCS!!30$!
-$"eYds6]p6^&ZLBrr?=!!!ij3Q^[aKK`_AT!!!6&!"/f1!!!'$!!**#!
-$"eYds6]s7^&ZLBrr@6;:C(*[VjdG[W`2go:B4Gp1C>s9?smDO?t!JO@I7J&@NK6!Ed)t[FDPMt
-@UNSQ@VKUuG(+gZCh7'b?smGaEW0AG.f`f??ijO?9_Miu8cSiA?sqgBrsnQeU%&em9MDGqnGi#Y
-No^4j~>
-$#+\bs6p3<^&cRCrr?
-$#+\bs6p3<^&cRCrr?^:U"6lZL<
-#65MT#p2QGIX,0[)@g"?!Rh#K]@[&mnSN=:)l65%T`srcnO]21s*t~>
-$#4hes6p3<^&cRCrr@69:C:?PCoZRWF&5\/$>BJEI!"[G&Co+G&^nt>:V5i?ijO4=S?,,49,@3?sqI8rsnR9Eq(*F9MD,`nGi#MRcOL!~>
-$#=\`s6p3<^&cLArr?J
-!!`fD4&gKSIM:-0!3"KK%A>`B-_X4-RK2XQnLLd's*t~>
-$#=\`s6p3<^&cLArr?
-$#Xncs6p3<^&cLArr@69:C:?P<)6:nR?^`J9bri?ijF1>P;G/1B7D*?spt)rsbY^jXHls9UYtKs7%VBjSs`~>
-$#Ohbs6p3:^&cI@rr>^c!!4W\"8i0!$NMgXfEs52!!<6%!s&B&!T=%Y#7q7g6nD"i.Q\OT#64`/
-#7_F/!!!&f!!%l,rse2ndP74b9U,Y?s4m_;jSs`~>
-$#Ohbs6p3:^&cI@rr>^c!!4W\"8i0!#QP#,!"/f1!!!*%!!<6%!
-$#Ohbs6p3:^&lOArr@*5:BFdH<;]Pl=TDM%1C>s>?smGP?t*PP@GkPn@M!*cEGJ6A>]+._@UNSQ
-@VKEQ?ijOP1[AEM:^((s?j8Ce!%VGbZe#-cl2f
-$#O\^s6p3:^&cI@rrRX!!W^LJrR_H0!!!0'!!<6%!
-$#O__s6p3:^&cI@rrRX!!W^KurW!<,"98E*!<<3&!!*,U!"9W96l&aIIUkhl
-$O6p`!!$W^rs\B9SNE*19TB;8n4\,fs*t~>
-$#O__s6p3:^&lOArrRXS;#O/j:fREi!aL"MqG.)lr\Fm<',+?H#[S1
-@Uf:D!a?X,lX0cd$X<=4"sX*J.pubQf)H0J)kB'U9MCHMiUBNfj8XW~>
-s)A;6s6pB>^&cC>rr[C\Ac_i1"p4l,!%ML]q>^LJrR_H0!!WT-!!30$!
-s)JA7s6pB>^&cC>rr[C\Ac_i1"p4l,!%ML]q>^KurW!<,"98W0!<<0%!!*/V!"B]39GRj<'.cdr
-IWS4&d/X/;f)H0K4.8a$9h^EOh=3S'j8XW~>
-s)JA7s6pB>^&lI?rr[C\R8EiX##nDq:L&0EqG.)lr\Fp=5%.QEJ8WHM=N=+M34/M!;J,~>
-s)A;6s6pB>^&c7:rrdI]n5o_i!!NH`""Ig`q>^LkrR_Gn!!NN,!!<6%!Y97@l/!!"b)rs\EtISken9R.;tnPtV0s*t~>
-s)JA7s6pB>^&c7:rrdI]n5o_i!!NH`""Ig`q>^KurW!<,"onf1!<<3&!!*/V!!=]E9F1Rsrs&Z5
-+%q&&dJs7uf)H0K
-s)JA7s6pB>^&lF>rrdI]n
-$$C+Ts6pB<^'2O>s8R'@nbkuZr;[$(W/5-p!J,~>
-$$C+Ts6pB<^'2O>s8R*AnbkuZr;[$(W/5-m!
-$$C+Ts6pB<^'2O>s8R*Anbn5>rD*Vs`Kk^N:f.'c!)`_O$T(ml@U`bR@UWYQ@K'X79)W-!?;Ou,
-?iXO-@/j@'@/jF*?jC.gCLCOS$V]np!a@02oj@t3!!"f_?t\'j%.S(M?@GUBDCN-d?A7G>J,~>
-$$C+Ts6pK?^'2C;rs/(+IfKHD2Z`jW"TtNjdW?9(!WN-":]8oQ(B=UB!<<9(!!*2u!!<6%!!1gS
-!XEfcf`;$Qqu?^1ec-#"?
-$$C+Ts6pK?^'2C;rs/(+IfKHD2Z`jW"TtNjdW?9(!WN-""TAB/!^Tu!!!&S
-!!3CI)V>#i!W2ot'@m*jF^A3n:/"tUV=ADJj8XW~>
-$$C+Ts6pK?^'2O?rs/(+IfKHDGu4H8"]VLmh47aK;#a;k;>r?Z1fe!n@UWYR@:3MQra5^ora6".
-"TST3,;W)!pL"1t!!O&m6s/te#@`'m?sm1B:[DHj>9#d!?jC!>!!"f_?tImg$[#cZF\YV:4/MIa
-HfP-V~>
-$$g7Ts6pK;_$.[=rrV_&IfB?Kp+-7C!"(39q>^E*Ad\V?:]8oQ(B=UB!<<9(!!*2m!!!&X!!3CN
-'E/"3!S7;P$i\`W$]\(uBhh?)9pP6aH/npT~>
-$$g7Ts6pK;_$.[=rrV_&IfB?Kp+-7C!"(39q>^E*AdAD<"TAB/!X8W."T\T,!<<-&nc/XjhuEf`
-Gn^/WrrL^O!=SnXrsOiaBk^=9=\Y1OCO+t?J,~>
-$%$FWs6pK;_$.[=rrV_&IfB?KpM3V(:C:?eq>^EBR9r?Z2-+*o@UWYR@:3MQra5^ora5^V
-q>^[#$R7H$>Pqk/9)ASk$QLrr>P;G0@XDZo?s<\/lsKm!$VL,#!*fF&">aFnAcC9\$]\)!C/.H+
-9pP6dHfP-V~>
-$%?LVs7$cB_$.[=rrV_&If99Jm3D`3!!4W\[f-4.q5?i'rR_Gn!!D<*&C%:9aJ,~>
-$%?LVs7$cB_$.[=rrV_&If99Jm2lB.!!4W\[f-4.q5?girW!<-"on`/!<<9(!!*2h!!!&]!!3CN
-'BT;p!Up'j!=/,FrsZ:cJl,NA;-SbSH"lg0s*t~>
-$%?LVs7$cB_$.[=rrV_&If99Jnn1eu:BFdHb5M>Bq8J+br\Fp>6%dl?ijO6;"e8s=T/:'1LOU"nCIUJ[4?i+
-$%?@Rs7$c>_$[p?rrV^pL&CrVj;%ar!%MLe]DMU.l2B6A$NL>6!<<9(!!*2t!!3fQ!TO.[!Vuct
-$%<92!!30+nCIUJ_Aeb%?;++.H2ib)n`9_#~>
-$%?@Rs7$c>_$[p?rrV^pL&CrVj;%ar!%MLb]DMU.EW,qG!XJc0"T\T,!<<-&q#CI0)Zet!!!2or
-!XX;`df9FM#Op=E%)NsK4'kTUBmK`9=n1SQJ,~>
-$%?@Rs7$cB_$[p?rrV^rL&CrVlWR+\:L&0Je,0.FNW(^A2-FLs,("MjSs`~>
-$%cXVs7$c=_$[d;rrV^cQ2CRefa@f\.V&Vha8Gr;l2B6A$NL>6!<<9(!!*3!!!r[mbfmJK?7Q?`
-k5YJ_qZ$[(ILG<=!!2KfrrN2gf)H03$Df7e9MoeHnWci=jSs`~>
-$%cXVs7$c=_$[d;rrV^cQ2CRefa%TY.V&Vea8GrJE<-%>!XJc0"T\T,!<<-&qZ$p'Qd![]KjH8:
-!TsF_!W)iu$%<9F!!!&f!<3*#mahCHfa=Q+BhVBED=Nlcn`9_#~>
-$%cXVs7$c=_$[j=rrV^cQ2CRejB5;T>^9:Of_ka[NANFI2-FaFo@ID_H%+tua.r%aTEc(?3
-:%@
-$%cLRs7$c=_$[a:rrV^bQ2:Ldb6n>#A-2f>a8Q#
-$%cLRs7$c=_$[a:rrV^bQ2:LdcNjP$A-2f;a8Q#KE<-%>!X&K,"T\T,!<<-&qZ$WtVY\L@[=qp;
-$3:1i!!3IU$.AkU"Tmu?rs\,lYoARXZ$p0PPtpl1s*t~>
-$%cLRs7%&E_$[a:rrV^bQ2:LdiE8u^GuRRBf_tg\NANFI2-s["@UWYR@:3MQra5k$?smERqTK2P
-KjH8:!IUZ\m=9)Ii?ii_1>P;G)4T5<`1LO[#mFM:Gl2\(.MMeZf@e#^Y
-n`9_#~>
-$&)URs7%&B_%!s=rrV^bQ21Fc])sNn!rru/J,~>
-$&)URs7%&B_%!s=rrV^bQ21Fc])sNn!rr<,a8Z)LE<-%>"9\]."T\T,!<<-&qZ$WtVY/.6RK;aT
-!!2ut!XX;^dJs:KlIPtDn--N5nGiNR:@Y;Bn`9_#~>
-$&)[Ts7%&B_%!s=rrV^bQ21Fcdo9Rt<)6:mf`(m]NANFI2I9d#@UWYR@:3MQra5k&?smERoumK+
-!abk6!&O-F!jSs`~>
-$&VmUs7%&B_%!g9rrV^YS,!!cW%)<[rW!'/bQ%V'rn%V3"TS]0!<<9(!!*3!!!*,,oumH9!W=J.jo1N?nZan?jSs`~>
-$&VmUs7%&B_%!g9rrV^YS,!!cW%)<[rW!T;ci=#A!<<*&"98T/!<<9(!!*3!!!*,,oumH9!W=J.jo1N?nZan?jSs`~>
-$&VpVs7%&B_%!g9rrV^YSbW3e`E[[fr_F21iW&q!1c$pG?=75O@:3PQ?t!OD?j'54?t$bAbQ4^F
-rEobJ?7Q?`oDeknrEokAIUZ\m=9)Rm?ijO_/+m9M/,fMK1]Cb^lIPtDnIrV:jlQK,:@YSHn`9_#~>
-$&VaQs7%&=_%!^6rrV^LWV?DoQXg3s!!k!:U$]q>^Krqu?p7IKoiQ!
-$&VaQs7%&=_%!^6rrV^LWV?DoQXg3s!"oRcs%i^r!!EE)"U+o,"T\T("8`'!!OMIC!29>k!