From fdaa0f5d74e3820d594146a6883225059fe08d14 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 25 Mar 2014 11:24:42 +0000 Subject: [PATCH] psblas3: Updated docs. --- docs/html/footnode.html | 6 +- docs/html/index.html | 242 +- docs/html/node1.html | 56 +- docs/html/node10.html | 58 +- docs/html/node100.html | 58 +- docs/html/node101.html | 42 +- docs/html/node102.html | 114 +- docs/html/node103.html | 99 +- docs/html/node104.html | 85 +- docs/html/node105.html | 78 +- docs/html/node106.html | 74 +- docs/html/node107.html | 70 +- docs/html/node108.html | 144 +- docs/html/node109.html | 115 +- docs/html/node11.html | 16 +- docs/html/node110.html | 345 +- docs/html/node111.html | 448 +- docs/html/node112.html | 449 +- docs/html/node113.html | 147 +- docs/html/node114.html | 147 +- docs/html/node115.html | 95 +- docs/html/node116.html | 107 +- docs/html/node117.html | 67 +- docs/html/node118.html | 83 +- docs/html/node119.html | 385 +- docs/html/node12.html | 16 +- docs/html/node120.html | 471 +- docs/html/node121.html | 169 +- docs/html/node122.html | 169 +- docs/html/node13.html | 16 +- docs/html/node14.html | 16 +- docs/html/node15.html | 16 +- docs/html/node16.html | 16 +- docs/html/node17.html | 16 +- docs/html/node18.html | 16 +- docs/html/node19.html | 16 +- docs/html/node2.html | 52 +- docs/html/node20.html | 16 +- docs/html/node21.html | 80 +- docs/html/node22.html | 16 +- docs/html/node23.html | 16 +- docs/html/node24.html | 16 +- docs/html/node25.html | 16 +- docs/html/node26.html | 16 +- docs/html/node27.html | 16 +- docs/html/node28.html | 16 +- docs/html/node29.html | 16 +- docs/html/node3.html | 48 +- docs/html/node30.html | 16 +- docs/html/node31.html | 16 +- docs/html/node32.html | 18 +- docs/html/node33.html | 34 +- docs/html/node34.html | 47 +- docs/html/node35.html | 32 +- docs/html/node36.html | 65 +- docs/html/node37.html | 46 +- docs/html/node38.html | 72 +- docs/html/node39.html | 149 +- docs/html/node4.html | 36 +- docs/html/node40.html | 144 +- docs/html/node41.html | 66 +- docs/html/node42.html | 41 +- docs/html/node43.html | 42 +- docs/html/node44.html | 52 +- docs/html/node45.html | 93 +- docs/html/node46.html | 100 +- docs/html/node47.html | 293 +- docs/html/node48.html | 201 +- docs/html/node49.html | 146 +- docs/html/node5.html | 34 +- docs/html/node50.html | 200 +- docs/html/node51.html | 134 +- docs/html/node52.html | 131 +- docs/html/node53.html | 127 +- docs/html/node54.html | 148 +- docs/html/node55.html | 139 +- docs/html/node56.html | 164 +- docs/html/node57.html | 84 +- docs/html/node58.html | 337 +- docs/html/node59.html | 316 +- docs/html/node6.html | 34 +- docs/html/node60.html | 468 +- docs/html/node61.html | 655 +-- docs/html/node62.html | 421 +- docs/html/node63.html | 712 ++- docs/html/node64.html | 132 +- docs/html/node65.html | 320 +- docs/html/node66.html | 502 +- docs/html/node67.html | 445 +- docs/html/node68.html | 194 +- docs/html/node69.html | 58 +- docs/html/node7.html | 16 +- docs/html/node70.html | 57 +- docs/html/node71.html | 138 +- docs/html/node72.html | 139 +- docs/html/node73.html | 210 +- docs/html/node74.html | 206 +- docs/html/node75.html | 154 +- docs/html/node76.html | 57 +- docs/html/node77.html | 129 +- docs/html/node78.html | 176 +- docs/html/node79.html | 164 +- docs/html/node8.html | 32 +- docs/html/node80.html | 80 +- docs/html/node81.html | 82 +- docs/html/node82.html | 172 +- docs/html/node83.html | 90 +- docs/html/node84.html | 139 +- docs/html/node85.html | 78 +- docs/html/node86.html | 78 +- docs/html/node87.html | 80 +- docs/html/node88.html | 85 +- docs/html/node89.html | 49 +- docs/html/node9.html | 120 +- docs/html/node90.html | 200 +- docs/html/node91.html | 218 +- docs/html/node92.html | 271 +- docs/html/node93.html | 316 +- docs/html/node94.html | 200 +- docs/html/node95.html | 151 +- docs/html/node96.html | 131 +- docs/html/node97.html | 111 +- docs/html/node98.html | 66 +- docs/html/node99.html | 92 +- docs/html/userhtml.html | 242 +- docs/psblas-3.2.pdf | 10808 +++++++++++++++++++------------------- docs/src/datastruct.tex | 22 + 127 files changed, 13817 insertions(+), 13797 deletions(-) diff --git a/docs/html/footnode.html b/docs/html/footnode.html index a9952143..d74c05cf 100644 --- a/docs/html/footnode.html +++ b/docs/html/footnode.html @@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -104,8 +104,8 @@ sample scatter/gather routines. . -
... follows3
+
... follows3
The string is case-insensitive
.
diff --git a/docs/html/index.html b/docs/html/index.html
index 49d83912..ae2f33be 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -149,227 +149,229 @@ of  a sparse matrix
 
  • csclip -- Reduce to a submatrix
  • clip_diag -- Cut out main diagonal + HREF="node33.html">get_diag -- Get main diagonal
  • tril -- Return the lower triangle + HREF="node34.html">clip_diag -- Cut out main diagonal
  • triu -- Return the upper triangle + HREF="node35.html">tril -- Return the lower triangle
  • psb_set_mat_default -- Set default storage format + HREF="node36.html">triu -- Return the upper triangle
  • clone -- Clone current object + HREF="node37.html">psb_set_mat_default -- Set default storage format
  • Named Constants - + HREF="node38.html">clone -- Clone current object
  • Dense Vector Data Structure -
      + HREF="node39.html">Named Constants +
  • Vector Methods + HREF="node40.html">Dense Vector Data Structure + + HREF="node44.html">get_vect -- Get a copy of the vector contents
  • Preconditioner data structure + HREF="node45.html">clone -- Clone current object -
  • Computational routines -
      + HREF="node46.html">Preconditioner data structure +
    +
  • psb_geaxpby -- General Dense Matrix Sum + HREF="node47.html">Computational routines +
    -
  • Communication routines -
    • psb_halo -- Halo Data Communication + HREF="node61.html">Communication routines +
      -
    • Data management routines -
      • psb_cdall -- Allocates a communication descriptor + HREF="node66.html">Data management routines +
        -
      • Parallel environment routines -
        • psb_init -- Initializes PSBLAS parallel - environment + HREF="node94.html">Parallel environment routines +
          -
        • Error handling
        • Utilities + HREF="node111.html">Error handling
        • Preconditioner routines -
            + HREF="node112.html">Utilities
          • psb_precinit -- Initialize a preconditioner + HREF="node113.html">Preconditioner routines +
            -
          • Iterative Methods -

            diff --git a/docs/html/node1.html b/docs/html/node1.html index 2f5189da..ea6cf1b4 100644 --- a/docs/html/node1.html +++ b/docs/html/node1.html @@ -26,21 +26,21 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous
            - Next: Next: Introduction - Up: Up: userhtml - Previous: Previous: userhtml

            @@ -53,52 +53,52 @@ Contents

            diff --git a/docs/html/node10.html b/docs/html/node10.html index 5e62b33f..0ee39c01 100644 --- a/docs/html/node10.html +++ b/docs/html/node10.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Descriptor Methods - Up: Up: Data Structures and Classes - Previous: Previous: Data Structures and Classes -   Contents

            @@ -66,7 +66,7 @@ necessary for implementing the various algorithms of interest to us.

            The data structure itself psb_desc_type can be treated as an opaque object handled via the tools routines of -Sec. 6 or the query routines detailed below; +Sec. 6 or the query routines detailed below; nevertheless we include here a description for the curious reader. @@ -117,7 +117,7 @@ All methods but the last are purely local; the last method potentially requires communication among processes, and thus is a synchronous method. The choice of a specific dynamic type for the index map is made at the time the descriptor is initially allocated, according to -the mode of initialization (see also 6). +the mode of initialization (see also 6).

            The descriptor contents are as follows: @@ -202,7 +202,7 @@ Specified as: an allocatable integer array of rank two. The Fortran 2003 declaration for psb_desc_type structures is as follows: -

            +
            Figure 3: The PSBLAS defined data type that @@ -249,52 +249,52 @@ state, which can take the following values: Subsections
            - next - up - previous - contents
            - Next: Next: Descriptor Methods - Up: Up: Data Structures and Classes - Previous: Previous: Data Structures and Classes -   Contents diff --git a/docs/html/node100.html b/docs/html/node100.html index bfe3e6b1..15e941ad 100644 --- a/docs/html/node100.html +++ b/docs/html/node100.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_barrier -- Sinchronization point parallel environment - +psb_wtime -- Wall clock timing + @@ -20,68 +20,60 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_abort Abort - Up: Parallel environment routines - Previous: psb_wtime Wall -   Next: psb_barrier Sinchronization + Up: Parallel environment routines + Previous: psb_get_rank Get +   Contents

            -

            -psb_barrier -- Sinchronization point parallel - environment +

            +psb_wtime -- Wall clock timing

            -call psb_barrier(icontxt)
            +time = psb_wtime()
             

            -This subroutine acts as an explicit synchronization point for the PSBLAS -parallel virtual machine. +This function returns a wall clock timer. The resolution of the timer +is dependent on the underlying parallel environment implementation.

            Type:
            -
            Synchronous. +
            Asynchronous.
            -
            On Entry
            +
            On Exit
            -
            icontxt
            -
            the communication context identifying the virtual - parallel machine. +
            Function value
            +
            the elapsed time in seconds.
            -Scope: global. -
            -Type: required. -
            -Intent: in. -
            -Specified as: an integer variable. +Returned as: a real(psb_dpk_) variable.
            diff --git a/docs/html/node101.html b/docs/html/node101.html index c4725a64..7bfe1842 100644 --- a/docs/html/node101.html +++ b/docs/html/node101.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_abort -- Abort a computation - +psb_barrier -- Sinchronization point parallel environment + @@ -20,51 +20,53 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_bcast Broadcast - Up: Parallel environment routines - Previous: psb_barrier Sinchronization -   Next: psb_abort Abort + Up: Parallel environment routines + Previous: psb_wtime Wall +   Contents

            -

            -psb_abort -- Abort a computation +

            +psb_barrier -- Sinchronization point parallel + environment

            -call psb_abort(icontxt)
            +call psb_barrier(icontxt)
             

            -This subroutine aborts computation on the parallel virtual machine. +This subroutine acts as an explicit synchronization point for the PSBLAS +parallel virtual machine.

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            diff --git a/docs/html/node102.html b/docs/html/node102.html index 7da083ac..03067c3a 100644 --- a/docs/html/node102.html +++ b/docs/html/node102.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_bcast -- Broadcast data - +psb_abort -- Abort a computation + @@ -20,52 +20,51 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_sum Global - Up: Parallel environment routines - Previous: psb_abort Abort -   Next: psb_bcast Broadcast + Up: Parallel environment routines + Previous: psb_barrier Sinchronization +   Contents

            -

            -psb_bcast -- Broadcast data +

            +psb_abort -- Abort a computation

            -call psb_bcast(icontxt, dat, root)
            +call psb_abort(icontxt)
             

            -This subroutine implements a broadcast operation based on the -underlying communication library. +This subroutine aborts computation on the parallel virtual machine.

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            @@ -82,81 +81,10 @@ Intent: in.
            Specified as: an integer variable.
            -
            dat
            -
            On the root process, the data to be broadcast. -
            -Scope: global. -
            -Type: required. -
            -Intent: inout. -
            -Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical variable, -which may be a scalar or rank 1 array. Type, kind, rank and size must agree on all processes. -
            -
            root
            -
            Root process holding data to be broadcast. -
            -Scope: global. -
            -Type: optional. -
            -Intent: in. -
            -Specified as: an integer value -$0<= root <= np-1$, default 0

            -

            -
            On Return
            -
            -
            -
            dat
            -
            On processes other than root, the data to be broadcast. -
            -Scope: global. -
            -Type: required. -
            -Intent: inout. -
            -Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind, rank and size must agree on all processes. -
            -
            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_sum Global - Up: Parallel environment routines - Previous: psb_abort Abort -   Contents - +

            diff --git a/docs/html/node103.html b/docs/html/node103.html index f7d84801..e5ae9d07 100644 --- a/docs/html/node103.html +++ b/docs/html/node103.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_sum -- Global sum - +psb_bcast -- Broadcast data + @@ -20,48 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_max Global - Up: Parallel environment routines - Previous: psb_bcast Broadcast -   Next: psb_sum Global + Up: Parallel environment routines + Previous: psb_abort Abort +   Contents

            -

            -psb_sum -- Global sum +

            +psb_bcast -- Broadcast data

            -call psb_sum(icontxt, dat, root)
            +call psb_bcast(icontxt, dat, root)
             

            -This subroutine implements a sum reduction operation based on the +This subroutine implements a broadcast operation based on the underlying communication library.

            Type:
            @@ -83,7 +83,7 @@ Intent: in. Specified as: an integer variable.
            dat
            -
            The local contribution to the global sum. +
            On the root process, the data to be broadcast.
            Scope: global.
            @@ -92,14 +92,11 @@ Type: required. Intent: inout.
            Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. +scalar, or a rank 1 or 2 array, or a character or logical variable, +which may be a scalar or rank 1 array. Type, kind, rank and size must agree on all processes.
            root
            -
            Process to hold the final sum, or $-1$ to make it available - on all processes. +
            Root process holding data to be broadcast.
            Scope: global.
            @@ -108,12 +105,12 @@ Type: optional. Intent: in.
            Specified as: an integer value $-1<= root <= np-1$, default -1.
            + WIDTH="152" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" + SRC="img132.png" + ALT="$0<= root <= np-1$">, default 0

            @@ -122,7 +119,7 @@ Specified as: an integer value - next - + up - previous - contents
            - Next: psb_max Global - Up: Parallel environment routines - Previous: psb_bcast Broadcast -   Next: psb_sum Global + Up: Parallel environment routines + Previous: psb_abort Abort +   Contents diff --git a/docs/html/node104.html b/docs/html/node104.html index 4ecab35b..cb51614a 100644 --- a/docs/html/node104.html +++ b/docs/html/node104.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_max -- Global maximum - +psb_sum -- Global sum + @@ -20,49 +20,49 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_min Global - Up: Parallel environment routines - Previous: psb_sum Global -   Next: psb_max Global + Up: Parallel environment routines + Previous: psb_bcast Broadcast +   Contents

            -

            -psb_max -- Global maximum +

            +psb_sum -- Global sum

            -call psb_max(icontxt, dat, root)
            +call psb_sum(icontxt, dat, root)
             

            -This subroutine implements a maximum valuereduction -operation based on the underlying communication library. +This subroutine implements a sum reduction operation based on the +underlying communication library.

            Type:
            Synchronous. @@ -83,19 +83,19 @@ Intent: in. Specified as: an integer variable.
            dat
            -
            The local contribution to the global maximum. +
            The local contribution to the global sum.
            -Scope: local. +Scope: global.
            Type: required.
            Intent: inout.
            -Specified as: an integer or real variable, which may be a +Specified as: an integer, real or complex variable, which may be a scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
            root
            -
            Process to hold the final maximum, or Process to hold the final sum, or $-1$ to make it available @@ -113,8 +113,7 @@ Specified as: an integer value - next - + up - previous - contents
            - Next: psb_min Global - Up: Parallel environment routines - Previous: psb_sum Global -   Next: psb_max Global + Up: Parallel environment routines + Previous: psb_bcast Broadcast +   Contents diff --git a/docs/html/node105.html b/docs/html/node105.html index fc03b87c..45447163 100644 --- a/docs/html/node105.html +++ b/docs/html/node105.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_min -- Global minimum - +psb_max -- Global maximum + @@ -20,48 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_amx Global - Up: Parallel environment routines - Previous: psb_max Global -   Next: psb_min Global + Up: Parallel environment routines + Previous: psb_sum Global +   Contents

            -

            -psb_min -- Global minimum +

            +psb_max -- Global maximum

            -call psb_min(icontxt, dat, root)
            +call psb_max(icontxt, dat, root)
             

            -This subroutine implements a minimum value reduction +This subroutine implements a maximum valuereduction operation based on the underlying communication library.

            Type:
            @@ -83,7 +83,7 @@ Intent: in. Specified as: an integer variable.
            dat
            -
            The local contribution to the global minimum. +
            The local contribution to the global maximum.
            Scope: local.
            @@ -91,11 +91,11 @@ Type: required.
            Intent: inout.
            -Specified as: an integer or real variable, which may be a +Specified as: an integer or real variable, which may be a scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
            root
            -
            Process to hold the final value, or Process to hold the final maximum, or $-1$ to make it available @@ -123,18 +123,16 @@ Specified as: an integer value - next - + up - previous - contents
            - Next: psb_amx Global - Up: Parallel environment routines - Previous: psb_max Global -   Next: psb_min Global + Up: Parallel environment routines + Previous: psb_sum Global +   Contents diff --git a/docs/html/node106.html b/docs/html/node106.html index e2c9d89d..775fcd83 100644 --- a/docs/html/node106.html +++ b/docs/html/node106.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_amx -- Global maximum absolute value - +psb_min -- Global minimum + @@ -20,48 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_amn Global - Up: Parallel environment routines - Previous: psb_min Global -   Next: psb_amx Global + Up: Parallel environment routines + Previous: psb_max Global +   Contents

            -

            -psb_amx -- Global maximum absolute value +

            +psb_min -- Global minimum

            -call psb_amx(icontxt, dat, root)
            +call psb_min(icontxt, dat, root)
             

            -This subroutine implements a maximum absolute value reduction +This subroutine implements a minimum value reduction operation based on the underlying communication library.

            Type:
            @@ -83,7 +83,7 @@ Intent: in. Specified as: an integer variable.
            dat
            -
            The local contribution to the global maximum. +
            The local contribution to the global minimum.
            Scope: local.
            @@ -91,7 +91,7 @@ Type: required.
            Intent: inout.
            -Specified as: an integer, real or complex variable, which may be a +Specified as: an integer or real variable, which may be a scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
            root
            @@ -123,7 +123,7 @@ Specified as: an integer value - next - + up - previous - contents
            - Next: psb_amn Global - Up: Parallel environment routines - Previous: psb_min Global -   Next: psb_amx Global + Up: Parallel environment routines + Previous: psb_max Global +   Contents diff --git a/docs/html/node107.html b/docs/html/node107.html index 68ffede7..dbdae80e 100644 --- a/docs/html/node107.html +++ b/docs/html/node107.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_amn -- Global minimum absolute value - +psb_amx -- Global maximum absolute value + @@ -20,48 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_snd Send - Up: Parallel environment routines - Previous: psb_amx Global -   Next: psb_amn Global + Up: Parallel environment routines + Previous: psb_min Global +   Contents

            -

            -psb_amn -- Global minimum absolute value +

            +psb_amx -- Global maximum absolute value

            -call psb_amn(icontxt, dat, root)
            +call psb_amx(icontxt, dat, root)
             

            -This subroutine implements a minimum absolute value reduction +This subroutine implements a maximum absolute value reduction operation based on the underlying communication library.

            Type:
            @@ -83,7 +83,7 @@ Intent: in. Specified as: an integer variable.
            dat
            -
            The local contribution to the global minimum. +
            The local contribution to the global maximum.
            Scope: local.
            @@ -123,7 +123,7 @@ Specified as: an integer value - next - + up - previous - contents
            - Next: psb_snd Send - Up: Parallel environment routines - Previous: psb_amx Global -   Next: psb_amn Global + Up: Parallel environment routines + Previous: psb_min Global +   Contents diff --git a/docs/html/node108.html b/docs/html/node108.html index df96031f..b5296a8d 100644 --- a/docs/html/node108.html +++ b/docs/html/node108.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_snd -- Send data - +psb_amn -- Global minimum absolute value + @@ -20,51 +20,52 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_rcv Receive - Up: Parallel environment routines - Previous: psb_amn Global -   Next: psb_snd Send + Up: Parallel environment routines + Previous: psb_amx Global +   Contents

            -

            -psb_snd -- Send data +

            +psb_amn -- Global minimum absolute value

            -call psb_snd(icontxt, dat, dst, m)
            +call psb_amn(icontxt, dat, root)
             

            -This subroutine sends a packet of data to a destination. +This subroutine implements a minimum absolute value reduction +operation based on the underlying communication library.

            Type:
            -
            Synchronous: see usage notes. +
            Synchronous.
            On Entry
            @@ -82,65 +83,38 @@ Intent: in. Specified as: an integer variable.
            dat
            -
            The data to be sent. +
            The local contribution to the global minimum.
            Scope: local.
            Type: required.
            -Intent: in. +Intent: inout.
            Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is -not specified, size must agree as well. +scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
            -
            dst
            -
            Destination process. +
            root
            +
            Process to hold the final value, or $-1$ to make it available + on all processes.
            Scope: global.
            -Type: required. +Type: optional.
            Intent: in.
            Specified as: an integer value $0<= dst <= np-1$. + WIDTH="166" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" + SRC="img133.png" + ALT="$-1<= root <= np-1$">, default -1.
            -
            m
            -
            Number of rows. -
            -Scope: global. -
            -Type: Optional. -
            -Intent: in. -
            -Specified as: an integer value -$0<= m <= size(dat,1)$. -
            -When $dat$ is a rank 2 array, specifies the number of rows to be sent -independently of the leading dimension $size(dat,1)$; must have the -same value on sending and receiving processes. -

            @@ -148,43 +122,57 @@ same value on sending and receiving processes.

            On Return
            +
            dat
            +
            On destination process(es), the result of the minimum operation. +
            +Scope: global. +
            +Type: required. +
            +Intent: inout. +
            +Specified as: an integer, real or complex variable, which may be a +scalar, or a rank 1 or 2 array. +
            +Type, kind, rank and size must agree on all processes. +

            Notes

              -
            1. This subroutine implies a synchronization, but only between the - calling process and the destination process $dst$. +
            2. The dat argument is both input and output, and its + value may be changed even on processes different from the final + result destination. +
            3. +
            4. The dat argument may also be a long integer scalar.


            - next - + up - previous - contents
            - Next: psb_rcv Receive - Up: Parallel environment routines - Previous: psb_amn Global -   Next: psb_snd Send + Up: Parallel environment routines + Previous: psb_amx Global +   Contents diff --git a/docs/html/node109.html b/docs/html/node109.html index b6988c54..da4ffd5b 100644 --- a/docs/html/node109.html +++ b/docs/html/node109.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_rcv -- Receive data - +psb_snd -- Send data + @@ -18,52 +18,53 @@ original version by: Nikos Drakos, CBLU, University of Leeds + - + - next - + up - previous - contents
            - Next: Error handling - Up: Parallel environment routines - Previous: psb_snd Send -   Next: psb_rcv Receive + Up: Parallel environment routines + Previous: psb_amn Global +   Contents

            -

            -psb_rcv -- Receive data +

            +psb_snd -- Send data

            -call psb_rcv(icontxt, dat, src, m)
            +call psb_snd(icontxt, dat, dst, m)
             

            -This subroutine receives a packet of data to a destination. +This subroutine sends a packet of data to a destination.

            Type:
            -
            Synchronous: see usage notes. +
            Synchronous: see usage notes.
            On Entry
            @@ -80,8 +81,24 @@ Intent: in.
            Specified as: an integer variable.
            -
            src
            -
            Source process. +
            dat
            +
            The data to be sent. +
            +Scope: local. +
            +Type: required. +
            +Intent: in. +
            +Specified as: an integer, real or complex variable, which may be a +scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is +not specified, size must agree as well. +
            +
            dst
            +
            Destination process.
            Scope: global.
            @@ -90,12 +107,12 @@ Type: required. Intent: in.
            Specified as: an integer value $0<= src <= np-1$. + SRC="img135.png" + ALT="$0<= dst <= np-1$">.
            m
            Number of rows. @@ -131,22 +148,6 @@ same value on sending and receiving processes.
            On Return
            -
            dat
            -
            The data to be received. -
            -Scope: local. -
            -Type: required. -
            -Intent: inout. -
            -Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is -not specified, size must agree as well. -

            @@ -154,36 +155,36 @@ not specified, size must agree as well.

            1. This subroutine implies a synchronization, but only between the - calling process and the source process $src$. + calling process and the destination process $dst$.


            - next - + up - previous - contents
            - Next: Error handling - Up: Parallel environment routines - Previous: psb_snd Send -   Next: psb_rcv Receive + Up: Parallel environment routines + Previous: psb_amn Global +   Contents diff --git a/docs/html/node11.html b/docs/html/node11.html index e1c6022c..e9a75217 100644 --- a/docs/html/node11.html +++ b/docs/html/node11.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_local_rows Get - Up: Up: Descriptor data structure - Previous: Previous: Descriptor data structure -   Contents

            diff --git a/docs/html/node110.html b/docs/html/node110.html index 9ecb0c67..e33c8b3f 100644 --- a/docs/html/node110.html +++ b/docs/html/node110.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Error handling - +psb_rcv -- Receive data + @@ -18,325 +18,172 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: Utilities - Up: userhtml - Previous: psb_rcv Receive -   Next: Error handling + Up: Parallel environment routines + Previous: psb_snd Send +   Contents

            -

            -Error handling -

            - -

            -The PSBLAS library error handling policy has been completely rewritten -in version 2.0. The idea behind the design of this new error handling -strategy is to keep error messages on a stack allowing the user to -trace back up to the point where the first error message has been -generated. Every routine in the PSBLAS-2.0 library has, as last -non-optional argument, an integer info variable; whenever, -inside the routine, an error is detected, this variable is set to a -value corresponding to a specific error code. Then this error code is -also pushed on the error stack and then either control is returned to -the caller routine or the execution is aborted, depending on the users -choice. At the time when the execution is aborted, an error message is -printed on standard output with a level of verbosity than can be -chosen by the user. If the execution is not aborted, then, the caller -routine checks the value returned in the info variable and, if -not zero, an error condition is raised. This process continues on all the -levels of nested calls until the level where the user decides to abort -the program execution. - -

            -Figure 9 shows the layout of a generic psb_foo -routine with respect to the PSBLAS-2.0 error handling policy. It is -possible to see how, whenever an error condition is detected, the -info variable is set to the corresponding error code which is, -then, pushed on top of the stack by means of the -psb_errpush. An error condition may be directly detected inside -a routine or indirectly checking the error code returned returned by a -called routine. Whenever an error is encountered, after it has been -pushed on stack, the program execution skips to a point where the -error condition is handled; the error condition is handled either by -returning control to the caller routine or by calling the -psb\_error routine which prints the content of the error stack -and aborts the program execution, according to the choice made by the -user with psb_set_erraction. The default is to print the error -and terminate the program, but the user may choose to handle the error -explicitly. - -

            - -

            - - - -
            Figure 9: -The layout of a generic psb_foo - routine with respect to PSBLAS-2.0 error handling policy.
            -
            - -
            - -\fbox{\TheSbox} -
            -
            +

            +psb_rcv -- Receive data +

            -Figure 10 reports a sample error message generated by -the PSBLAS-2.0 library. This error has been generated by the fact that -the user has chosen the invalid ``FOO'' storage format to represent -the sparse matrix. From this error message it is possible to see that -the error has been detected inside the psb_cest subroutine -called by psb_spasb ... by process 0 (i.e. the root process). - -

            - -

            - - - -
            Figure 10: -A sample PSBLAS-2.0 error - message. Process 0 detected an error condition inside the psb_cest subroutine
            -
            - -
            - -\fbox{\TheSbox} -
            -
            - -

            -ifstarsubroutinesubroutinepsb_errpushPushes an error code onto the error - stack - -

            -
            -\begin{lstlisting}
-call psb_errpush(err_c, r_name, i_err, a_err)
-\end{lstlisting} -
            +

            +call psb_rcv(icontxt, dat, src, m)
            +

            +This subroutine receives a packet of data to a destination.

            Type:
            -
            Asynchronous. +
            Synchronous: see usage notes.
            -
            On Entry
            +
            On Entry
            -
            err_c
            -
            the error code +
            icontxt
            +
            the communication context identifying the virtual + parallel machine.
            -Scope: local +Scope: global.
            -Type: required +Type: required.
            Intent: in.
            -Specified as: an integer. +Specified as: an integer variable.
            -
            r_name
            -
            the soutine where the error has been caught. +
            src
            +
            Source process.
            -Scope: local +Scope: global.
            -Type: required +Type: required.
            Intent: in.
            -Specified as: a string. -
            -
            i_err
            -
            addional info for error code -
            -Scope: local -
            -Type: optional -
            -Specified as: an integer array -
            -
            a_err
            -
            addional info for error code -
            -Scope: local -
            -Type: optional -
            -Specified as: a string. -
            -
            - -

            -ifstarsubroutinesubroutinepsb_errorPrints the error stack content and aborts - execution - -

            -
            +Specified as: an integer value \begin{lstlisting}
-call psb_error(icontxt)
-\end{lstlisting} -
            - -

            -

            -
            Type:
            -
            Asynchronous. -
            -
            On Entry
            -
            -
            -
            icontxt
            -
            the communication context. + WIDTH="146" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" + SRC="img140.png" + ALT="$0<= src <= np-1$">. +
            +
            m
            +
            Number of rows.
            -Scope: global +Scope: global.
            -Type: optional +Type: Optional.
            Intent: in.
            -Specified as: an integer. +Specified as: an integer value +$0<= m <= size(dat,1)$. +
            +When $dat$ is a rank 2 array, specifies the number of rows to be sent +independently of the leading dimension $size(dat,1)$; must have the +same value on sending and receiving processes.
            -

            -ifstarsubroutinesubroutinepsb_set_errverbositySets the verbosity of error - messages. - -

            -
            -\begin{lstlisting}
-call psb_set_errverbosity(v)
-\end{lstlisting} -
            -

            -
            Type:
            -
            Asynchronous. -
            -
            On Entry
            +
            On Return
            -
            v
            -
            the verbosity level +
            dat
            +
            The data to be received.
            -Scope: global +Scope: local.
            -Type: required +Type: required.
            -Intent: in. +Intent: inout.
            -Specified as: an integer. +Specified as: an integer, real or complex variable, which may be a +scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is +not specified, size must agree as well.

            -ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be - taken upon error condition. - -

            -
            -\begin{lstlisting}
-call psb_set_erraction(err_act)
-\end{lstlisting} -
            +Notes -

            -

            -
            Type:
            -
            Asynchronous. -
            -
            On Entry
            -
            -
            -
            err_act
            -
            the type of action. -
            -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: an integer. Possible values: psb_act_ret, -psb_act_abort. -
            -
            +
              +
            1. This subroutine implies a synchronization, but only between the + calling process and the source process $src$. +
            2. +


            - next - + up - previous - contents
            - Next: Utilities - Up: userhtml - Previous: psb_rcv Receive -   Next: Error handling + Up: Parallel environment routines + Previous: psb_snd Send +   Contents diff --git a/docs/html/node111.html b/docs/html/node111.html index 45406b5c..dcad4816 100644 --- a/docs/html/node111.html +++ b/docs/html/node111.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Utilities - +Error handling + @@ -19,139 +19,142 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - up - previous - contents
            - Next: Preconditioner routines - Up: Next: Utilities + Up: userhtml - Previous: Error handling -   Previous: psb_rcv Receive +   Contents

            -

            - -
            -Utilities +

            +Error handling

            -We have some utitlities available for input and output of -sparsematrices; the interfaces to these routines are available in the -module psb_util_mod. +The PSBLAS library error handling policy has been completely rewritten +in version 2.0. The idea behind the design of this new error handling +strategy is to keep error messages on a stack allowing the user to +trace back up to the point where the first error message has been +generated. Every routine in the PSBLAS-2.0 library has, as last +non-optional argument, an integer info variable; whenever, +inside the routine, an error is detected, this variable is set to a +value corresponding to a specific error code. Then this error code is +also pushed on the error stack and then either control is returned to +the caller routine or the execution is aborted, depending on the users +choice. At the time when the execution is aborted, an error message is +printed on standard output with a level of verbosity than can be +chosen by the user. If the execution is not aborted, then, the caller +routine checks the value returned in the info variable and, if +not zero, an error condition is raised. This process continues on all the +levels of nested calls until the level where the user decides to abort +the program execution.

            -ifstarsubroutinesubroutinehb_readRead a sparse matrix from a file in the - Harwell-Boeing format +Figure 9 shows the layout of a generic psb_foo +routine with respect to the PSBLAS-2.0 error handling policy. It is +possible to see how, whenever an error condition is detected, the +info variable is set to the corresponding error code which is, +then, pushed on top of the stack by means of the +psb_errpush. An error condition may be directly detected inside +a routine or indirectly checking the error code returned returned by a +called routine. Whenever an error is encountered, after it has been +pushed on stack, the program execution skips to a point where the +error condition is handled; the error condition is handled either by +returning control to the caller routine or by calling the +psb\_error routine which prints the content of the error stack +and aborts the program execution, according to the choice made by the +user with psb_set_erraction. The default is to print the error +and terminate the program, but the user may choose to handle the error +explicitly.

            -
            + +

            + + + +
            Figure 9: +The layout of a generic psb_foo + routine with respect to PSBLAS-2.0 error handling policy.
            +
            + +
            + \begin{lstlisting}
-call hb_read(a, iret, iunit, filename, b, mtitle)
-\end{lstlisting} -
            + WIDTH="563" HEIGHT="482" ALIGN="MIDDLE" BORDER="0" + SRC="img143.png" + ALT="\fbox{\TheSbox}"> +
            +

            -

            -
            Type:
            -
            Asynchronous. -
            -
            On Entry
            -
            -
            -
            filename
            -
            The name of the file to be read. -
            -Type:optional. -
            -Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
            -
            iunit
            -
            The Fortran file unit number. -
            -Type:optional. -
            -Specified as: an integer value. Only meaningful if filename is not -. -
            -
            +Figure 10 reports a sample error message generated by +the PSBLAS-2.0 library. This error has been generated by the fact that +the user has chosen the invalid ``FOO'' storage format to represent +the sparse matrix. From this error message it is possible to see that +the error has been detected inside the psb_cest subroutine +called by psb_spasb ... by process 0 (i.e. the root process).

            -

            -
            On Return
            -
            -
            -
            a
            -
            the sparse matrix read from file. -
            -Type:required. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            b
            -
            Rigth hand side(s). -
            -Type: Optional -
            -An array of type real or complex, rank 2 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side, otherwise will be left in the UNALLOCATED state. -
            -
            mtitle
            -
            Matrix title. -
            -Type: Optional -
            -A charachter variable of length 72 holding a copy of the -matrix title as specified by the Harwell-Boeing format and contained -in the input file. -
            -
            iret
            -
            Error code. -
            -Type: required -
            -An integer value; 0 means no error has been detected. -
            -
            + +
            + + + +
            Figure 10: +A sample PSBLAS-2.0 error + message. Process 0 detected an error condition inside the psb_cest subroutine
            +
            + +
            + +\fbox{\TheSbox} +
            +

            -ifstarsubroutinesubroutinehb_writeWrite a sparse matrix to a file - in the Harwell-Boeing format +ifstarsubroutinesubroutinepsb_errpushPushes an error code onto the error + stack


            \begin{lstlisting}
-call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
+call psb_errpush(err_c, r_name, i_err, a_err)
 \end{lstlisting}
            @@ -160,86 +163,62 @@ call hb_write(a, iret, iunit, filename, key, rhs, mtitle)

            Type:
            Asynchronous.
            -
            On Entry
            +
            On Entry
            -
            a
            -
            the sparse matrix to be written. +
            err_c
            +
            the error code
            -Type:required. +Scope: local
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            b
            -
            Rigth hand side. +Type: required
            -Type: Optional +Intent: in.
            -An array of type real or complex, rank 1 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side. +Specified as: an integer.
            -
            filename
            -
            The name of the file to be written to. +
            r_name
            +
            the soutine where the error has been caught.
            -Type:optional. +Scope: local
            -Specified as: a character variable containing a valid file name, or --, in which case the default output unit 6 (i.e. standard output -in Unix jargon) is used. Default: -. -
            -
            iunit
            -
            The Fortran file unit number. +Type: required
            -Type:optional. +Intent: in.
            -Specified as: an integer value. Only meaningful if filename is not -. -
            -
            key
            -
            Matrix key. +Specified as: a string. +
            +
            i_err
            +
            addional info for error code
            -Type: Optional +Scope: local
            -A charachter variable of length 8 holding the -matrix key as specified by the Harwell-Boeing format and to be -written to file. -
            -
            mtitle
            -
            Matrix title. +Type: optional
            -Type: Optional +Specified as: an integer array +
            +
            a_err
            +
            addional info for error code
            -A charachter variable of length 72 holding the -matrix title as specified by the Harwell-Boeing format and to be -written to file. -
            -
            - -

            -

            -
            On Return
            -
            -
            -
            iret
            -
            Error code. +Scope: local
            -Type: required +Type: optional
            -An integer value; 0 means no error has been detected. -
            +Specified as: a string. +

            -ifstarsubroutinesubroutinemm_mat_readRead a sparse matrix from a - file in the MatrixMarket format +ifstarsubroutinesubroutinepsb_errorPrints the error stack content and aborts + execution


            \begin{lstlisting}
-call mm_mat_read(a, iret, iunit, filename)
+call psb_error(icontxt)
 \end{lstlisting}
            @@ -248,57 +227,33 @@ call mm_mat_read(a, iret, iunit, filename)

            Type:
            Asynchronous.
            -
            On Entry
            +
            On Entry
            -
            filename
            -
            The name of the file to be read. +
            icontxt
            +
            the communication context.
            -Type:optional. +Scope: global
            -Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
            -
            iunit
            -
            The Fortran file unit number. +Type: optional
            -Type:optional. +Intent: in.
            -Specified as: an integer value. Only meaningful if filename is not -. +Specified as: an integer.

            -

            -
            On Return
            -
            -
            -
            a
            -
            the sparse matrix read from file. -
            -Type:required. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            iret
            -
            Error code. -
            -Type: required -
            -An integer value; 0 means no error has been detected. -
            -
            +ifstarsubroutinesubroutinepsb_set_errverbositySets the verbosity of error + messages.

            -ifstarsubroutinesubroutinemm_vet_readRead a dense vector from a - file in the MatrixMarket format
            \begin{lstlisting}
-call mm_vet_read(b, iret, iunit, filename)
+call psb_set_errverbosity(v)
 \end{lstlisting}
            @@ -307,138 +262,81 @@ call mm_vet_read(b, iret, iunit, filename)

            Type:
            Asynchronous.
            -
            On Entry
            +
            On Entry
            -
            filename
            -
            The name of the file to be read. +
            v
            +
            the verbosity level
            -Type:optional. +Scope: global
            -Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
            -
            iunit
            -
            The Fortran file unit number. +Type: required
            -Type:optional. +Intent: in.
            -Specified as: an integer value. Only meaningful if filename is not -. +Specified as: an integer.

            -

            -
            On Return
            -
            -
            -
            b
            -
            Rigth hand side(s). -
            -Type: required -
            -An array of type real or complex, rank 2 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side, otherwise will be left in the UNALLOCATED state. -
            -
            iret
            -
            Error code. -
            -Type: required -
            -An integer value; 0 means no error has been detected. -
            -
            +ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be + taken upon error condition.

            -ifstarsubroutinesubroutinemm_mat_writeWrite a sparse matrix to a - file in the MatrixMarket format
            \begin{lstlisting}
-call mm_mat_write(a, mtitle, iret, iunit, filename)
+call psb_set_erraction(err_act)
 \end{lstlisting}
            + +

            Type:
            Asynchronous.
            -
            On Entry
            +
            On Entry
            -
            a
            -
            the sparse matrix to be written. -
            -Type:required. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            mtitle
            -
            Matrix title. -
            -Type: required -
            -A charachter variable holding a descriptive title for the matrix to be - written to file. -
            -
            filename
            -
            The name of the file to be written to. -
            -Type:optional. -
            -Specified as: a character variable containing a valid file name, or --, in which case the default output unit 6 (i.e. standard output -in Unix jargon) is used. Default: -. -
            -
            iunit
            -
            The Fortran file unit number. +
            err_act
            +
            the type of action.
            -Type:optional. +Scope: global
            -Specified as: an integer value. Only meaningful if filename is not -. -
            -
            - -

            -

            -
            On Return
            -
            -
            -
            iret
            -
            Error code. +Type: required
            -Type: required +Intent: in.
            -An integer value; 0 means no error has been detected. +Specified as: an integer. Possible values: psb_act_ret, +psb_act_abort.


            - next - up - previous - contents
            - Next: Preconditioner routines - Up: Next: Utilities + Up: userhtml - Previous: Error handling -   Previous: psb_rcv Receive +   Contents diff --git a/docs/html/node112.html b/docs/html/node112.html index 8c572e9b..e9dedc9e 100644 --- a/docs/html/node112.html +++ b/docs/html/node112.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Preconditioner routines - +Utilities + @@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -26,72 +26,421 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: psb_precinit Initialize - Up: Next: Preconditioner routines + Up: userhtml - Previous: Utilities -   Previous: Error handling +   Contents

            -

            - +

            +
            -Preconditioner routines +Utilities

            -The base PSBLAS library contains the implementation of two simple -preconditioning techniques: - -

              -
            • Diagonal Scaling -
            • -
            • Block Jacobi with ILU(0) factorization -
            • -
            -The supporting data type and subroutine interfaces are defined in the -module psb_prec_mod. - -

            -


            - -Subsections - - - -

            +We have some utitlities available for input and output of +sparsematrices; the interfaces to these routines are available in the +module psb_util_mod. + +

            +ifstarsubroutinesubroutinehb_readRead a sparse matrix from a file in the + Harwell-Boeing format + +

            +
            +\begin{lstlisting}
+call hb_read(a, iret, iunit, filename, b, mtitle)
+\end{lstlisting} +
            + +

            +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            filename
            +
            The name of the file to be read. +
            +Type:optional. +
            +Specified as: a character variable containing a valid file name, or +-, in which case the default input unit 5 (i.e. standard input +in Unix jargon) is used. Default: -. +
            +
            iunit
            +
            The Fortran file unit number. +
            +Type:optional. +
            +Specified as: an integer value. Only meaningful if filename is not -. +
            +
            + +

            +

            +
            On Return
            +
            +
            +
            a
            +
            the sparse matrix read from file. +
            +Type:required. +
            +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            b
            +
            Rigth hand side(s). +
            +Type: Optional +
            +An array of type real or complex, rank 2 and having the ALLOCATABLE +attribute; will be allocated and filled in if the input file contains +a right hand side, otherwise will be left in the UNALLOCATED state. +
            +
            mtitle
            +
            Matrix title. +
            +Type: Optional +
            +A charachter variable of length 72 holding a copy of the +matrix title as specified by the Harwell-Boeing format and contained +in the input file. +
            +
            iret
            +
            Error code. +
            +Type: required +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +ifstarsubroutinesubroutinehb_writeWrite a sparse matrix to a file + in the Harwell-Boeing format + +

            +
            +\begin{lstlisting}
+call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
+\end{lstlisting} +
            + +

            +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            a
            +
            the sparse matrix to be written. +
            +Type:required. +
            +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            b
            +
            Rigth hand side. +
            +Type: Optional +
            +An array of type real or complex, rank 1 and having the ALLOCATABLE +attribute; will be allocated and filled in if the input file contains +a right hand side. +
            +
            filename
            +
            The name of the file to be written to. +
            +Type:optional. +
            +Specified as: a character variable containing a valid file name, or +-, in which case the default output unit 6 (i.e. standard output +in Unix jargon) is used. Default: -. +
            +
            iunit
            +
            The Fortran file unit number. +
            +Type:optional. +
            +Specified as: an integer value. Only meaningful if filename is not -. +
            +
            key
            +
            Matrix key. +
            +Type: Optional +
            +A charachter variable of length 8 holding the +matrix key as specified by the Harwell-Boeing format and to be +written to file. +
            +
            mtitle
            +
            Matrix title. +
            +Type: Optional +
            +A charachter variable of length 72 holding the +matrix title as specified by the Harwell-Boeing format and to be +written to file. +
            +
            + +

            +

            +
            On Return
            +
            +
            +
            iret
            +
            Error code. +
            +Type: required +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +ifstarsubroutinesubroutinemm_mat_readRead a sparse matrix from a + file in the MatrixMarket format + +

            +
            +\begin{lstlisting}
+call mm_mat_read(a, iret, iunit, filename)
+\end{lstlisting} +
            + +

            +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            filename
            +
            The name of the file to be read. +
            +Type:optional. +
            +Specified as: a character variable containing a valid file name, or +-, in which case the default input unit 5 (i.e. standard input +in Unix jargon) is used. Default: -. +
            +
            iunit
            +
            The Fortran file unit number. +
            +Type:optional. +
            +Specified as: an integer value. Only meaningful if filename is not -. +
            +
            + +

            +

            +
            On Return
            +
            +
            +
            a
            +
            the sparse matrix read from file. +
            +Type:required. +
            +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            iret
            +
            Error code. +
            +Type: required +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +ifstarsubroutinesubroutinemm_vet_readRead a dense vector from a + file in the MatrixMarket format +
            +\begin{lstlisting}
+call mm_vet_read(b, iret, iunit, filename)
+\end{lstlisting} +
            + +

            +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            filename
            +
            The name of the file to be read. +
            +Type:optional. +
            +Specified as: a character variable containing a valid file name, or +-, in which case the default input unit 5 (i.e. standard input +in Unix jargon) is used. Default: -. +
            +
            iunit
            +
            The Fortran file unit number. +
            +Type:optional. +
            +Specified as: an integer value. Only meaningful if filename is not -. +
            +
            + +

            +

            +
            On Return
            +
            +
            +
            b
            +
            Rigth hand side(s). +
            +Type: required +
            +An array of type real or complex, rank 2 and having the ALLOCATABLE +attribute; will be allocated and filled in if the input file contains +a right hand side, otherwise will be left in the UNALLOCATED state. +
            +
            iret
            +
            Error code. +
            +Type: required +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +ifstarsubroutinesubroutinemm_mat_writeWrite a sparse matrix to a + file in the MatrixMarket format +
            +\begin{lstlisting}
+call mm_mat_write(a, mtitle, iret, iunit, filename)
+\end{lstlisting} +
            +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            a
            +
            the sparse matrix to be written. +
            +Type:required. +
            +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            mtitle
            +
            Matrix title. +
            +Type: required +
            +A charachter variable holding a descriptive title for the matrix to be + written to file. +
            +
            filename
            +
            The name of the file to be written to. +
            +Type:optional. +
            +Specified as: a character variable containing a valid file name, or +-, in which case the default output unit 6 (i.e. standard output +in Unix jargon) is used. Default: -. +
            +
            iunit
            +
            The Fortran file unit number. +
            +Type:optional. +
            +Specified as: an integer value. Only meaningful if filename is not -. +
            +
            + +

            +

            +
            On Return
            +
            +
            +
            iret
            +
            Error code. +
            +Type: required +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: Preconditioner routines + Up: userhtml + Previous: Error handling +   Contents + diff --git a/docs/html/node113.html b/docs/html/node113.html index 550162ff..ff6859bc 100644 --- a/docs/html/node113.html +++ b/docs/html/node113.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_precinit -- Initialize a preconditioner - +Preconditioner routines + @@ -18,125 +18,80 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - + - next - + up - previous - contents
            - Next: psb_precbld Builds - Up: Preconditioner routines - Previous: Preconditioner routines -   Next: psb_precinit Initialize + Up: userhtml + Previous: Utilities +   Contents

            -

            -psb_precinit -- Initialize a preconditioner -

            +

            + +
            +Preconditioner routines +

            -

            -call psb_precinit(prec, ptype, info)
            -
            +The base PSBLAS library contains the implementation of two simple +preconditioning techniques: -

            -

            -
            Type:
            -
            Asynchronous. -
            -
            On Entry
            -
            -
            -
            ptype
            -
            the type of preconditioner. -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: a character string, see usage notes. -
            -
            On Exit
            -

            -

            -
            prec
            -
            Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a preconditioner data structure precdatapsb_prec_type. -
            -
            info
            -
            Scope: global -
            -Type: required -
            -Intent: out. -
            -Error code: if no error, 0 is returned. -
            -
            -Notes -Legal inputs to this subroutine are interpreted depending on the -$ptype$ string as follows3: -
            -
            NONE
            -
            No preconditioning, i.e. the preconditioner is just a copy - operator. -
            -
            DIAG
            -
            Diagonal scaling; each entry of the input vector is - multiplied by the reciprocal of the sum of the absolute values of - the coefficients in the corresponding row of matrix $A$; -
            -
            BJAC
            -
            Precondition by a factorization of the - block-diagonal of matrix $A$, where block boundaries are determined - by the data allocation boundaries for each process; requires no - communication. Only the incomplete factorization $ILU(0)$ is - currently implemented. -
            -
            +
              +
            • Diagonal Scaling +
            • +
            • Block Jacobi with ILU(0) factorization +
            • +
            +The supporting data type and subroutine interfaces are defined in the +module psb_prec_mod.



            + +Subsections + + + +

            diff --git a/docs/html/node114.html b/docs/html/node114.html index eb64fc9d..1f6f14ec 100644 --- a/docs/html/node114.html +++ b/docs/html/node114.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_precbld -- Builds a preconditioner - +psb_precinit -- Initialize a preconditioner + @@ -20,137 +20,118 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_precaply Preconditioner - Up: Preconditioner routines - Previous: psb_precinit Initialize -   Next: psb_precbld Builds + Up: Preconditioner routines + Previous: Preconditioner routines +   Contents

            -

            -psb_precbld -- Builds a preconditioner +

            +psb_precinit -- Initialize a preconditioner

            -call psb_precbld(a, desc_a, prec, info,amold,vmold)
            +call psb_precinit(prec, ptype, info)
             

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            -
            a
            -
            the system sparse matrix. -Scope: local +
            ptype
            +
            the type of preconditioner. +Scope: global
            Type: required
            -Intent: in, target. +Intent: in.
            -Specified as: a sparse matrix data structure spdatapsb_Tspmat_type. +Specified as: a character string, see usage notes. +
            +
            On Exit
            +

            prec
            -
            the preconditioner. -
            -Scope: local +
            Scope: local
            Type: required
            Intent: inout.
            -Specified as: an already initialized precondtioner data structure precdatapsb_prec_type -
            -
            desc_a
            -
            the problem communication descriptor. -Scope: local -
            -Type: required -
            -Intent: in, target. -
            -Specified as: a communication descriptor data structure descdatapsb_desc_type. +Specified as: a preconditioner data structure precdatapsb_prec_type.
            -
            amold
            -
            The desired dynamic type for the internal matrix storage. -
            -Scope: local. -
            -Type: optional. -
            -Intent: in. -
            -Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. -
            -
            vmold
            -
            The desired dynamic type for the internal vector storage. -
            -Scope: local. +
            info
            +
            Scope: global
            -Type: optional. +Type: required
            -Intent: in. +Intent: out.
            -Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type. - -

            +Error code: if no error, 0 is returned.

            - -

            +Notes +Legal inputs to this subroutine are interpreted depending on the +$ptype$ string as follows3:

            -
            On Return
            -
            +
            NONE
            +
            No preconditioning, i.e. the preconditioner is just a copy + operator.
            -
            prec
            -
            the preconditioner. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a precondtioner data structure precdatapsb_prec_type -
            -
            info
            -
            Error code. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value; 0 means no error has been detected. +
            DIAG
            +
            Diagonal scaling; each entry of the input vector is + multiplied by the reciprocal of the sum of the absolute values of + the coefficients in the corresponding row of matrix $A$; +
            +
            BJAC
            +
            Precondition by a factorization of the + block-diagonal of matrix $A$, where block boundaries are determined + by the data allocation boundaries for each process; requires no + communication. Only the incomplete factorization $ILU(0)$ is + currently implemented.
            diff --git a/docs/html/node115.html b/docs/html/node115.html index a3eb0a1a..ffbd8b0e 100644 --- a/docs/html/node115.html +++ b/docs/html/node115.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_precaply -- Preconditioner application routine - +psb_precbld -- Builds a preconditioner + @@ -20,46 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_precdescr Prints - Up: Preconditioner routines - Previous: psb_precbld Builds -   Next: psb_precaply Preconditioner + Up: Preconditioner routines + Previous: psb_precinit Initialize +   Contents

            -

            -psb_precaply -- Preconditioner application - routine +

            +psb_precbld -- Builds a preconditioner

            -call psb_precaply(prec,x,y,desc_a,info,trans,work)
            -call psb_precaply(prec,x,desc_a,info,trans)
            +call psb_precbld(a, desc_a, prec, info,amold,vmold)
             

            @@ -70,54 +68,60 @@ call psb_precaply(prec,x,desc_a,info,trans)

            On Entry
            -
            prec
            -
            the preconditioner. +
            a
            +
            the system sparse matrix. Scope: local
            Type: required
            -Intent: in. +Intent: in, target.
            -Specified as: a preconditioner data structure precdatapsb_prec_type. +Specified as: a sparse matrix data structure spdatapsb_Tspmat_type.
            -
            x
            -
            the source vector. +
            prec
            +
            the preconditioner. +
            Scope: local
            Type: required
            Intent: inout.
            -Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
            +Specified as: an already initialized precondtioner data structure precdatapsb_prec_type +
            desc_a
            -
            the problem communication descriptor. +
            the problem communication descriptor. Scope: local
            Type: required
            -Intent: in. +Intent: in, target.
            -Specified as: a communication data structure descdatapsb_desc_type. +Specified as: a communication descriptor data structure descdatapsb_desc_type.
            -
            trans
            -
            Scope: +
            amold
            +
            The desired dynamic type for the internal matrix storage.
            -Type: optional +Scope: local. +
            +Type: optional.
            Intent: in.
            -Specified as: a character. +Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat.
            -
            work
            -
            an optional work space -Scope: local +
            vmold
            +
            The desired dynamic type for the internal vector storage.
            -Type: optional +Scope: local.
            -Intent: inout. +Type: optional. +
            +Intent: in.
            -Specified as: a double precision array. +Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type. + +

            @@ -126,16 +130,17 @@ Specified as: a double precision array.
            On Return
            -
            y
            -
            the destination vector. +
            prec
            +
            the preconditioner. +
            Scope: local
            Type: required
            Intent: inout.
            -Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
            +Specified as: a precondtioner data structure precdatapsb_prec_type +
            info
            Error code.
            diff --git a/docs/html/node116.html b/docs/html/node116.html index f68a1a3c..f287357b 100644 --- a/docs/html/node116.html +++ b/docs/html/node116.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_precdescr -- Prints a description of current preconditioner - +psb_precaply -- Preconditioner application routine + @@ -20,52 +20,52 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: clone clone - Up: Preconditioner routines - Previous: psb_precaply Preconditioner -   Next: psb_precdescr Prints + Up: Preconditioner routines + Previous: psb_precbld Builds +   Contents

            -

            -psb_precdescr -- Prints a description of current - preconditioner +

            +psb_precaply -- Preconditioner application + routine

            -call psb_precdescr(prec)
            -call psb_precdescr(prec, iout)
            +call psb_precaply(prec,x,y,desc_a,info,trans,work)
            +call psb_precaply(prec,x,desc_a,info,trans)
             

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            @@ -80,15 +80,72 @@ Intent: in.
            Specified as: a preconditioner data structure precdatapsb_prec_type.
            -
            iout
            -
            output unit. +
            x
            +
            the source vector. Scope: local
            -Type: optiona +Type: required +
            +Intent: inout. +
            +Specified as: a rank one array or an object of type vdatapsb_T_vect_type. +
            +
            desc_a
            +
            the problem communication descriptor. +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a communication data structure descdatapsb_desc_type. +
            +
            trans
            +
            Scope: +
            +Type: optional
            Intent: in.
            -Specified as: an integer number. +Specified as: a character. +
            +
            work
            +
            an optional work space +Scope: local +
            +Type: optional +
            +Intent: inout. +
            +Specified as: a double precision array. +
            +
            + +

            +

            +
            On Return
            +
            +
            +
            y
            +
            the destination vector. +Scope: local +
            +Type: required +
            +Intent: inout. +
            +Specified as: a rank one array or an object of type vdatapsb_T_vect_type. +
            +
            info
            +
            Error code. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected.
            diff --git a/docs/html/node117.html b/docs/html/node117.html index c8b7cb54..da1efb5c 100644 --- a/docs/html/node117.html +++ b/docs/html/node117.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -clone -- clone current preconditioner - +psb_precdescr -- Prints a description of current preconditioner + @@ -18,45 +18,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds + - + - next - + up - previous - contents
            - Next: Iterative Methods - Up: Preconditioner routines - Previous: psb_precdescr Prints -   Next: clone clone + Up: Preconditioner routines + Previous: psb_precaply Preconditioner +   Contents

            -

            -clone -- clone current +

            +psb_precdescr -- Prints a description of current preconditioner

            +

            -call  prec%clone(precout,info)
            +call psb_precdescr(prec)
            +call psb_precdescr(prec, iout)
             

            @@ -69,21 +72,23 @@ call prec%clone(precout,info)

            prec
            the preconditioner. +Scope: local
            -Scope: local. -
            - - -

            -

            -
            On Return
            -
            -
            -
            precout
            -
            A copy of the input object. +Type: required +
            +Intent: in. +
            +Specified as: a preconditioner data structure precdatapsb_prec_type.
            -
            info
            -
            Return code. +
            iout
            +
            output unit. +Scope: local +
            +Type: optiona +
            +Intent: in. +
            +Specified as: an integer number.
            diff --git a/docs/html/node118.html b/docs/html/node118.html index 97984f64..b4a6cb66 100644 --- a/docs/html/node118.html +++ b/docs/html/node118.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Iterative Methods - +clone -- clone current preconditioner + @@ -18,61 +18,76 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: psb_krylov Krylov - Up: userhtml - Previous: clone clone -   Next: Iterative Methods + Up: Preconditioner routines + Previous: psb_precdescr Prints +   Contents

            -

            - -
            -Iterative Methods -

            +

            +clone -- clone current + preconditioner +

            + +
            +call  prec%clone(precout,info)
            +

            -In this chapter we provide routines for preconditioners and iterative -methods. The interfaces for Krylov subspace methods are available in -the module psb_krylov_mod. +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            prec
            +
            the preconditioner. +
            +Scope: local. +
            +

            -


            - -Subsections +
            +
            On Return
            +
            +
            +
            precout
            +
            A copy of the input object. +
            +
            info
            +
            Return code. +
            +
            - - +



            diff --git a/docs/html/node119.html b/docs/html/node119.html index 97ca9589..10ed2f9f 100644 --- a/docs/html/node119.html +++ b/docs/html/node119.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_krylov -- Krylov Methods Driver Routine - +Iterative Methods + @@ -18,377 +18,62 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + + + - next - + up - previous - contents
            - Next: Bibliography - Up: Iterative Methods - Previous: Iterative Methods -   Next: psb_krylov Krylov + Up: userhtml + Previous: clone clone +   Contents

            -

            -
            -psb_krylov -- Krylov Methods Driver - Routine -

            - -

            -This subroutine is a driver that provides a general interface for all -the Krylov-Subspace family methods implemented in PSBLAS version 2. - -

            -The stopping criterion is the normwise backward error, in the infinity -norm, i.e. the iteration is stopped when -

            -
            - - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath} -
            -
            -

            -or the 2-norm residual reduction -

            -
            - - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath} -
            -
            -

            -according to the value passed through the istop argument (see -later). In the above formulae, $x_i$ is the tentative solution and -$r_i=b-Ax_i$ the corresponding residual at the $i$-th iteration. - -

            -
            -\begin{lstlisting}
-call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
-& itmax,iter,err,itrace,irst,istop,cond)
-\end{lstlisting} -
            - -

            -

            -
            Type:
            -
            Synchronous. -
            -
            On Entry
            -
            -
            -
            method
            -
            a string that defines the iterative method to be - used. Supported values are: -
            -
            CG:
            -
            the Conjugate Gradient method; - -
            -
            CGS:
            -
            the Conjugate Gradient Stabilized method; - -

            -

            -
            BICG:
            -
            the Bi-Conjugate Gradient method; - -
            -
            BICGSTAB:
            -
            the Bi-Conjugate Gradient Stabilized method; - -
            -
            BICGSTABL:
            -
            the Bi-Conjugate Gradient Stabilized method with restarting; - -
            -
            RGMRES:
            -
            the Generalized Minimal Residual method with restarting. - -
            -
            -
            -
            a
            -
            the local portion of global sparse matrix -$A$. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            prec
            -
            The data structure containing the preconditioner. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a structured data of type precdatapsb_prec_type. -
            -
            b
            -
            The RHS vector. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
            -
            x
            -
            The initial guess. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
            -
            eps
            -
            The stopping tolerance. -
            -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: a real number. -
            -
            desc_a
            -
            contains data structures for communications. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a structured data of type descdatapsb_desc_type. -
            -
            itmax
            -
            The maximum number of iterations to perform. -
            -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Default: $itmax = 1000$. -
            -Specified as: an integer variable $itmax \ge 1$. -
            -
            itrace
            -
            If $>0$ print out an informational message about - convergence every $itrace$ iterations. -
            -Scope: global -
            -Type: optional -
            -Intent: in. -
            -
            irst
            -
            An integer specifying the restart parameter. -
            -Scope: global -
            -Type: optional. -
            -Intent: in. -
            -Values: $irst>0$. This is employed for the BiCGSTABL or RGMRES -methods, otherwise it is ignored. - -

            -

            -
            istop
            -
            An integer specifying the stopping criterion. -
            -Scope: global -
            -Type: optional. -
            -Intent: in. -
            -Values: 1: use the normwise backward error, 2: use the scaled 2-norm -of the residual. Default: 2. -
            -
            On Return
            -
            -
            -
            x
            -
            The computed solution. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
            -
            iter
            -
            The number of iterations performed. -
            -Scope: global -
            -Type: optional -
            -Intent: out. -
            -Returned as: an integer variable. -
            -
            err
            -
            The convergence estimate on exit. -
            -Scope: global -
            -Type: optional -
            -Intent: out. -
            -Returned as: a real number. -
            -
            cond
            -
            An estimate of the condition number of matrix $A$; only - available with the $CG$ method. +

            +
            -Scope: global -
            -Type: optional -
            -Intent: out. -
            -Returned as: a real number. -

            -
            info
            -
            Error code. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value; 0 means no error has been detected. -
            -
            - -

            +Iterative Methods +

            +In this chapter we provide routines for preconditioners and iterative +methods. The interfaces for Krylov subspace methods are available in +the module psb_krylov_mod.

            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: Bibliography - Up: Iterative Methods - Previous: Iterative Methods -   Contents - +

            + +Subsections + + + +

            diff --git a/docs/html/node12.html b/docs/html/node12.html index 906a8b73..3f5b49ae 100644 --- a/docs/html/node12.html +++ b/docs/html/node12.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_local_cols Get - Up: Up: Descriptor data structure - Previous: Previous: Descriptor Methods -   Contents

            diff --git a/docs/html/node120.html b/docs/html/node120.html index a0fab2d2..d77edba7 100644 --- a/docs/html/node120.html +++ b/docs/html/node120.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Bibliography - +psb_krylov -- Krylov Methods Driver Routine + @@ -18,166 +18,377 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: About this document ... - Up: userhtml - Previous: psb_krylov Krylov -   Next: Bibliography + Up: Iterative Methods + Previous: Iterative Methods +   Contents -

            +
            +
            - -

            -Bibliography -

            1 -
            - D. Barbieri, V. Cardellini, S. Filippone and D. Rouson -Design Patterns for Scientific Computations on Sparse Matrices, - HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 + +

            +
            +psb_krylov -- Krylov Methods Driver + Routine +

            -

            2 -
            -G. Bella, S. Filippone, A. De Maio and M. Testa, -A Simulation Model for Forest Fires, -in J. Dongarra, K. Madsen, J. Wasniewski, editors, -Proceedings of PARA 04 Workshop on State of the Art -in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science, -Springer, 2005. -

            3 -
            A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,
            -2LEV-D2P4: a package of high-performance preconditioners,
            -Applicable Algebra in Engineering, Communications and Computing, -Volume 18, Number 3, May, 2007, pp. 223-239 -

            4 -
            P. D'Ambra, S. Filippone, D. Di Serafino
            -On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners -
            -Applied Numerical Mathematics, Elsevier Science, -Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196. +This subroutine is a driver that provides a general interface for all +the Krylov-Subspace family methods implemented in PSBLAS version 2. + +

            +The stopping criterion is the normwise backward error, in the infinity +norm, i.e. the iteration is stopped when +

            +
            + + +\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath} +
            +
            +

            +or the 2-norm residual reduction +

            +
            + + +\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath} +
            +
            +

            +according to the value passed through the istop argument (see +later). In the above formulae, $x_i$ is the tentative solution and +$r_i=b-Ax_i$ the corresponding residual at the $i$-th iteration.

            -

            5 -
            - Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R., -An Extended Set of Fortran Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 14, 1-17, 1988. -

            6 -
            - Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I., -A Set of level 3 Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 16, 1-17, 1990. -

            7 -
            -J. J. Dongarra and R. C. Whaley, -A User's Guide to the BLACS v. 1.1, -Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of -Tennessee, March 1995 (updated May 1997). -

            8 -
            -I. Duff, M. Marrone, G. Radicati and C. Vittoli, -Level 3 Basic Linear Algebra Subprograms for Sparse Matrices: -a User Level Interface, -ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997. -

            9 -
            -I. Duff, M. Heroux and R. Pozo, -An Overview of the Sparse Basic Linear -Algebra Subprograms: the New Standard from the BLAS Technical Forum, -ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002. -

            10 -
            -S. Filippone and M. Colajanni, -PSBLAS: A Library for Parallel Linear Algebra -Computation on Sparse Matrices,
            -ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000. -

            11 -
            -S. Filippone and A. Buttari, -Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003, +\begin{lstlisting}
+call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
+& itmax,iter,err,itrace,irst,istop,cond)
+\end{lstlisting}
            -ACM Transactions on Mathematical Software, to appear. -

            12 -
            -S. Filippone, P. D'Ambra, M. Colajanni, -Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics -Applications Code on Linux Clusters, -in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors, -Parallel Computing - Advances & Current Issues, -pp. 441-448, Imperial College Press, 2002. -

            13 -
            - Gamma, E., Helm, R., Johnson, R., and Vlissides, - J. 1995. - Design Patterns: Elements of Reusable Object-Oriented Software. - Addison-Wesley.

            -

            14 -
            -Karypis, G. and Kumar, V., -METIS: Unstructured Graph Partitioning and Sparse Matrix - Ordering System. -Minneapolis, MN 55455: University of Minnesota, Department of - Computer Science, 1995. -Internet Address: http://www.cs.umn.edu/~karypis. -

            15 +
            +
            Type:
            +
            Synchronous. +
            +
            On Entry
            -Lawson, C., Hanson, R., Kincaid, D. and Krogh, F., - Basic Linear Algebra Subprograms for Fortran usage, -ACM Trans. Math. Softw. vol. 5, 38-329, 1979. +
            +
            method
            +
            a string that defines the iterative method to be + used. Supported values are: +
            +
            CG:
            +
            the Conjugate Gradient method; + +
            +
            CGS:
            +
            the Conjugate Gradient Stabilized method;

            -

            16 -
            -Machiels, L. and Deville, M. -Fortran 90: An entry to object-oriented programming for the solution - of partial differential equations. -ACM Trans. Math. Softw. vol. 23, 32-49. -

            17 -
            -Metcalf, M., Reid, J. and Cohen, M. -Fortran 95/2003 explained. -Oxford University Press, 2004. -

            18 -
            -Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The - Object-Oriented Way. Cambridge University Press (2011) +
            +
            BICG:
            +
            the Bi-Conjugate Gradient method; + +
            +
            BICGSTAB:
            +
            the Bi-Conjugate Gradient Stabilized method; + +
            +
            BICGSTABL:
            +
            the Bi-Conjugate Gradient Stabilized method with restarting; + +
            +
            RGMRES:
            +
            the Generalized Minimal Residual method with restarting. + +
            +
            +
            +
            a
            +
            the local portion of global sparse matrix +$A$. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            prec
            +
            The data structure containing the preconditioner. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a structured data of type precdatapsb_prec_type. +
            +
            b
            +
            The RHS vector. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a rank one array or an object of type vdatapsb_T_vect_type. +
            +
            x
            +
            The initial guess. +
            +Scope: local +
            +Type: required +
            +Intent: inout. +
            +Specified as: a rank one array or an object of type vdatapsb_T_vect_type. +
            +
            eps
            +
            The stopping tolerance. +
            +Scope: global +
            +Type: required +
            +Intent: in. +
            +Specified as: a real number. +
            +
            desc_a
            +
            contains data structures for communications. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a structured data of type descdatapsb_desc_type. +
            +
            itmax
            +
            The maximum number of iterations to perform. +
            +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Default: $itmax = 1000$. +
            +Specified as: an integer variable $itmax \ge 1$. +
            +
            itrace
            +
            If $>0$ print out an informational message about + convergence every $itrace$ iterations. +
            +Scope: global +
            +Type: optional +
            +Intent: in. +
            +
            irst
            +
            An integer specifying the restart parameter. +
            +Scope: global +
            +Type: optional. +
            +Intent: in. +
            +Values: $irst>0$. This is employed for the BiCGSTABL or RGMRES +methods, otherwise it is ignored.

            -

            19 + +
            istop
            +
            An integer specifying the stopping criterion. +
            +Scope: global +
            +Type: optional. +
            +Intent: in. +
            +Values: 1: use the normwise backward error, 2: use the scaled 2-norm +of the residual. Default: 2. +
            +
            On Return
            -M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra, -MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, -MIT Press, 1998. +
            +
            x
            +
            The computed solution. +
            +Scope: local +
            +Type: required +
            +Intent: inout. +
            +Specified as: a rank one array or an object of type vdatapsb_T_vect_type. +
            +
            iter
            +
            The number of iterations performed. +
            +Scope: global +
            +Type: optional +
            +Intent: out. +
            +Returned as: an integer variable. +
            +
            err
            +
            The convergence estimate on exit. +
            +Scope: global +
            +Type: optional +
            +Intent: out. +
            +Returned as: a real number. +
            +
            cond
            +
            An estimate of the condition number of matrix $A$; only + available with the $CG$ method. +
            +Scope: global +
            +Type: optional +
            +Intent: out. +
            +Returned as: a real number. +
            +
            info
            +
            Error code. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected. +

            -


            + +

            + +

            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: Bibliography + Up: Iterative Methods + Previous: Iterative Methods +   Contents + diff --git a/docs/html/node121.html b/docs/html/node121.html index 5cf63f82..fc2b50de 100644 --- a/docs/html/node121.html +++ b/docs/html/node121.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -About this document ... - +Bibliography + @@ -18,52 +18,165 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + + + -next - +next + up - previous - contents
            - Up: Next: About this document ... + Up: userhtml - Previous: Bibliography -   Previous: psb_krylov Krylov +   Contents -
            -
            +

            + +

            +Bibliography +

            1 +
            + D. Barbieri, V. Cardellini, S. Filippone and D. Rouson +Design Patterns for Scientific Computations on Sparse Matrices, + HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 + +

            +

            2 +
            +G. Bella, S. Filippone, A. De Maio and M. Testa, +A Simulation Model for Forest Fires, +in J. Dongarra, K. Madsen, J. Wasniewski, editors, +Proceedings of PARA 04 Workshop on State of the Art +in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science, +Springer, 2005. +

            3 +
            A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,
            +2LEV-D2P4: a package of high-performance preconditioners,
            +Applicable Algebra in Engineering, Communications and Computing, +Volume 18, Number 3, May, 2007, pp. 223-239 +

            4 +
            P. D'Ambra, S. Filippone, D. Di Serafino
            +On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners +
            +Applied Numerical Mathematics, Elsevier Science, +Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196. -

            -About this document ... -

            -

            -This document was generated using the -LaTeX2HTML translator Version 2008 (1.71)

            -Copyright © 1993, 1994, 1995, 1996, -Nikos Drakos, -Computer Based Learning Unit, University of Leeds. +

            5 +
            + Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R., +An Extended Set of Fortran Basic Linear Algebra Subprograms, +ACM Trans. Math. Softw. vol. 14, 1-17, 1988. +

            6 +
            + Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I., +A Set of level 3 Basic Linear Algebra Subprograms, +ACM Trans. Math. Softw. vol. 16, 1-17, 1990. +

            7 +
            +J. J. Dongarra and R. C. Whaley, +A User's Guide to the BLACS v. 1.1, +Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of +Tennessee, March 1995 (updated May 1997). +

            8 +
            +I. Duff, M. Marrone, G. Radicati and C. Vittoli, +Level 3 Basic Linear Algebra Subprograms for Sparse Matrices: +a User Level Interface, +ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997. +

            9 +
            +I. Duff, M. Heroux and R. Pozo, +An Overview of the Sparse Basic Linear +Algebra Subprograms: the New Standard from the BLAS Technical Forum, +ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002. +

            10 +
            +S. Filippone and M. Colajanni, +PSBLAS: A Library for Parallel Linear Algebra +Computation on Sparse Matrices, +
            +ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000. +

            11 +
            +S. Filippone and A. Buttari, +Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003,
            -Copyright © 1997, 1998, 1999, -Ross Moore, -Mathematics Department, Macquarie University, Sydney. +ACM Transactions on Mathematical Software, to appear. +

            12 +
            +S. Filippone, P. D'Ambra, M. Colajanni, +Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics +Applications Code on Linux Clusters, +in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors, +Parallel Computing - Advances & Current Issues, +pp. 441-448, Imperial College Press, 2002. +

            13 +
            + Gamma, E., Helm, R., Johnson, R., and Vlissides, + J. 1995. + Design Patterns: Elements of Reusable Object-Oriented Software. + Addison-Wesley. + +

            +

            14 +
            +Karypis, G. and Kumar, V., +METIS: Unstructured Graph Partitioning and Sparse Matrix + Ordering System. +Minneapolis, MN 55455: University of Minnesota, Department of + Computer Science, 1995. +Internet Address: http://www.cs.umn.edu/~karypis. +

            15 +
            +Lawson, C., Hanson, R., Kincaid, D. and Krogh, F., + Basic Linear Algebra Subprograms for Fortran usage, +ACM Trans. Math. Softw. vol. 5, 38-329, 1979. +

            -The command line arguments were:
            - latex2html -local_icons -noaddress -dir ../../html userhtml.tex +

            16 +
            +Machiels, L. and Deville, M. +Fortran 90: An entry to object-oriented programming for the solution + of partial differential equations. +ACM Trans. Math. Softw. vol. 23, 32-49. +

            17 +
            +Metcalf, M., Reid, J. and Cohen, M. +Fortran 95/2003 explained. +Oxford University Press, 2004. +

            18 +
            +Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The + Object-Oriented Way. Cambridge University Press (2011) + +

            +

            19 +
            +M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra, +MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, +MIT Press, 1998. +
            +

            -The translation was initiated by Salvatore Filippone on 2014-03-25


            diff --git a/docs/html/node122.html b/docs/html/node122.html index ec2ce0da..66fdebee 100644 --- a/docs/html/node122.html +++ b/docs/html/node122.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Bibliography - +About this document ... + @@ -18,165 +18,52 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + - - -next - + up - previous - contents
            - Next: About this document ... - Up: Up: userhtml - Previous: psb_krylov Krylov -   Previous: Bibliography +   Contents -

            - - -

            -Bibliography -

            1 -
            - D. Barbieri, V. Cardellini, S. Filippone and D. Rouson -Design Patterns for Scientific Computations on Sparse Matrices, - HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 - -

            -

            2 -
            -G. Bella, S. Filippone, A. De Maio and M. Testa, -A Simulation Model for Forest Fires, -in J. Dongarra, K. Madsen, J. Wasniewski, editors, -Proceedings of PARA 04 Workshop on State of the Art -in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science, -Springer, 2005. -

            3 -
            A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,
            -2LEV-D2P4: a package of high-performance preconditioners,
            -Applicable Algebra in Engineering, Communications and Computing, -Volume 18, Number 3, May, 2007, pp. 223-239 -

            4 -
            P. D'Ambra, S. Filippone, D. Di Serafino
            -On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners -
            -Applied Numerical Mathematics, Elsevier Science, -Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196. - -

            -

            5 -
            - Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R., -An Extended Set of Fortran Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 14, 1-17, 1988. -

            6 -
            - Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I., -A Set of level 3 Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 16, 1-17, 1990. -

            7 -
            -J. J. Dongarra and R. C. Whaley, -A User's Guide to the BLACS v. 1.1, -Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of -Tennessee, March 1995 (updated May 1997). -

            8 -
            -I. Duff, M. Marrone, G. Radicati and C. Vittoli, -Level 3 Basic Linear Algebra Subprograms for Sparse Matrices: -a User Level Interface, -ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997. -

            9 -
            -I. Duff, M. Heroux and R. Pozo, -An Overview of the Sparse Basic Linear -Algebra Subprograms: the New Standard from the BLAS Technical Forum, -ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002. -

            10 -
            -S. Filippone and M. Colajanni, -PSBLAS: A Library for Parallel Linear Algebra -Computation on Sparse Matrices,
            -ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000. -

            11 -
            -S. Filippone and A. Buttari, -Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003,
            -ACM Transactions on Mathematical Software, to appear. -

            12 -
            -S. Filippone, P. D'Ambra, M. Colajanni, -Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics -Applications Code on Linux Clusters, -in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors, -Parallel Computing - Advances & Current Issues, -pp. 441-448, Imperial College Press, 2002. -

            13 -
            - Gamma, E., Helm, R., Johnson, R., and Vlissides, - J. 1995. - Design Patterns: Elements of Reusable Object-Oriented Software. - Addison-Wesley. - -

            -

            14 -
            -Karypis, G. and Kumar, V., -METIS: Unstructured Graph Partitioning and Sparse Matrix - Ordering System. -Minneapolis, MN 55455: University of Minnesota, Department of - Computer Science, 1995. -Internet Address: http://www.cs.umn.edu/~karypis. -

            15 -
            -Lawson, C., Hanson, R., Kincaid, D. and Krogh, F., - Basic Linear Algebra Subprograms for Fortran usage, -ACM Trans. Math. Softw. vol. 5, 38-329, 1979. + +

            +About this document ... +

            +

            +This document was generated using the +LaTeX2HTML translator Version 2008 (1.71)

            -

            16 -
            -Machiels, L. and Deville, M. -Fortran 90: An entry to object-oriented programming for the solution - of partial differential equations. -ACM Trans. Math. Softw. vol. 23, 32-49. -

            17 -
            -Metcalf, M., Reid, J. and Cohen, M. -Fortran 95/2003 explained. -Oxford University Press, 2004. -

            18 -
            -Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The - Object-Oriented Way. Cambridge University Press (2011) - +Copyright © 1993, 1994, 1995, 1996, +Nikos Drakos, +Computer Based Learning Unit, University of Leeds. +
            +Copyright © 1997, 1998, 1999, +Ross Moore, +Mathematics Department, Macquarie University, Sydney.

            -

            19 -
            -M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra, -MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, -MIT Press, 1998. -
            - +The command line arguments were:
            + latex2html -local_icons -noaddress -dir ../../html userhtml.tex

            +The translation was initiated by Salvatore Filippone on 2014-03-25


            diff --git a/docs/html/node13.html b/docs/html/node13.html index 0b079b68..3607f3d5 100644 --- a/docs/html/node13.html +++ b/docs/html/node13.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_global_rows Get - Up: Up: Descriptor data structure - Previous: Previous: get_local_rows Get -   Contents

            diff --git a/docs/html/node14.html b/docs/html/node14.html index e7976bbe..88e4b9db 100644 --- a/docs/html/node14.html +++ b/docs/html/node14.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_global_cols Get - Up: Up: Descriptor data structure - Previous: Previous: get_local_cols Get -   Contents

            diff --git a/docs/html/node15.html b/docs/html/node15.html index 9c336016..03bd070c 100644 --- a/docs/html/node15.html +++ b/docs/html/node15.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_context Get - Up: Up: Descriptor data structure - Previous: Previous: get_global_rows Get -   Contents

            diff --git a/docs/html/node16.html b/docs/html/node16.html index 839fdf0d..1df0476e 100644 --- a/docs/html/node16.html +++ b/docs/html/node16.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Clone clone - Up: Up: Descriptor data structure - Previous: Previous: get_global_cols Get -   Contents

            diff --git a/docs/html/node17.html b/docs/html/node17.html index ff103eba..ad6b6770 100644 --- a/docs/html/node17.html +++ b/docs/html/node17.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: psb_cd_get_large_threshold Get - Up: Up: Descriptor data structure - Previous: Previous: get_context Get -   Contents

            diff --git a/docs/html/node18.html b/docs/html/node18.html index 4036b5f4..e64b3033 100644 --- a/docs/html/node18.html +++ b/docs/html/node18.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: psb_cd_set_large_threshold Set - Up: Up: Descriptor data structure - Previous: Previous: Clone clone -   Contents

            diff --git a/docs/html/node19.html b/docs/html/node19.html index eda7b110..8507545e 100644 --- a/docs/html/node19.html +++ b/docs/html/node19.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Named Constants - Up: Up: Descriptor data structure - Previous: Previous: psb_cd_get_large_threshold Get -   Contents

            diff --git a/docs/html/node2.html b/docs/html/node2.html index 84aa11d6..076843ed 100644 --- a/docs/html/node2.html +++ b/docs/html/node2.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: General overview - Up: Up: userhtml - Previous: Previous: Contents -   Contents

            @@ -71,7 +71,7 @@ passing.

            The PSBLAS library version 3 is implemented in the Fortran 2003 [17] programming language, with reuse and/or + HREF="node121.html#metcalf">17] programming language, with reuse and/or adaptation of existing Fortran 77 and Fortran 95 software, plus a handful of C routines. @@ -81,11 +81,11 @@ mostly in the handling of requirements for evolution and adaptation of the library to new computing architectures and integration of new algorithms. For a detailed discussion of our design see [11]; other + HREF="node121.html#Sparse03">11]; other works discussing advanced programming in Fortran 2003 include [1,18]; sufficient support for + HREF="node121.html#DesPat:11">1,18]; sufficient support for Fortran 2003 is now available from many compilers, including the GNU Fortran compiler from the Free Software Foundation (as of version 4.6). @@ -94,7 +94,7 @@ Previous approaches have been based on mixing Fortran 95, with its support for object-based design, with other languages; these have been advocated by a number of authors, e.g. [16]. Moreover, the Fortran 95 facilities for dynamic + HREF="node121.html#machiels">16]. Moreover, the Fortran 95 facilities for dynamic memory management and interface overloading greatly enhance the usability of the PSBLAS subroutines. In this way, the library can take care of runtime memory @@ -105,12 +105,12 @@ implementation or compilation time. The presentation of the PSBLAS library follows the general structure of the proposal for serial Sparse BLAS [8,9], which in its turn is based on the + HREF="node121.html#sblas97">8,9], which in its turn is based on the proposal for BLAS on dense matrices [15,5,6]. + HREF="node121.html#BLAS1">15,5,6].

            The applicability of sparse iterative solvers to many different areas @@ -144,26 +144,26 @@ computational fluid dynamics applications.


            - next - up - previous - contents
            - Next: Next: General overview - Up: Up: userhtml - Previous: Previous: Contents -   Contents diff --git a/docs/html/node20.html b/docs/html/node20.html index c97ea4f1..1c3f645d 100644 --- a/docs/html/node20.html +++ b/docs/html/node20.html @@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Sparse Matrix class - Up: Up: Descriptor data structure - Previous: Previous: psb_cd_set_large_threshold Set -   Contents

            diff --git a/docs/html/node21.html b/docs/html/node21.html index 7b8272b0..84187619 100644 --- a/docs/html/node21.html +++ b/docs/html/node21.html @@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Sparse Matrix Methods - Up: Up: Data Structures and Classes - Previous: Previous: Named Constants -   Contents

            @@ -60,9 +60,9 @@ The spdatapsb_Tspmat_type class contains all information about the local portion of the sparse matrix and its storage mode. Its design is based on the STATE design pattern [13] as detailed + HREF="node121.html#DesignPatterns">13] as detailed in [11]; the type declaration is shown in + HREF="node121.html#Sparse03">11]; the type declaration is shown in figure 4 where T is a placeholder for the data type and precision variants
            @@ -85,7 +85,7 @@ specific layout can be chosen dynamically among the predefined types, or an entirely new storage layout can be implemented and passed to the library at runtime via the psb_spasb routine. -
            +
            Figure 4: The PSBLAS defined data type that @@ -144,69 +144,71 @@ variants are obtained by conversion to/from it. Subsections
            - next - up - previous - contents
            - Next: Next: Sparse Matrix Methods - Up: Up: Data Structures and Classes - Previous: Previous: Named Constants -   Contents diff --git a/docs/html/node22.html b/docs/html/node22.html index 54529b28..3bca630e 100644 --- a/docs/html/node22.html +++ b/docs/html/node22.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_nrows Get - Up: Up: Sparse Matrix class - Previous: Previous: Sparse Matrix class -   Contents

            diff --git a/docs/html/node23.html b/docs/html/node23.html index f59ca654..4ce6ebfc 100644 --- a/docs/html/node23.html +++ b/docs/html/node23.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_ncols Get - Up: Up: Sparse Matrix class - Previous: Previous: Sparse Matrix Methods -   Contents

            diff --git a/docs/html/node24.html b/docs/html/node24.html index 16f12b7f..c445ecdf 100644 --- a/docs/html/node24.html +++ b/docs/html/node24.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_nnzeros Get - Up: Up: Sparse Matrix class - Previous: Previous: get_nrows Get -   Contents

            diff --git a/docs/html/node25.html b/docs/html/node25.html index 4d688207..56b76d11 100644 --- a/docs/html/node25.html +++ b/docs/html/node25.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: get_size Get - Up: Up: Sparse Matrix class - Previous: Previous: get_ncols Get -   Contents

            diff --git a/docs/html/node26.html b/docs/html/node26.html index be8d7a8d..ac094182 100644 --- a/docs/html/node26.html +++ b/docs/html/node26.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: sizeof Get - Up: Up: Sparse Matrix class - Previous: Previous: get_nnzeros Get -   Contents

            diff --git a/docs/html/node27.html b/docs/html/node27.html index 376ff491..608b0adf 100644 --- a/docs/html/node27.html +++ b/docs/html/node27.html @@ -28,26 +28,26 @@ of a sparse matrix"> - next - up - previous - contents
            - Next: Next: get_fmt Short - Up: Up: Sparse Matrix class - Previous: Previous: get_size Get -   Contents

            diff --git a/docs/html/node28.html b/docs/html/node28.html index 687df0da..23e25cd3 100644 --- a/docs/html/node28.html +++ b/docs/html/node28.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: is_bld, is_upd, is_asb - Up: Up: Sparse Matrix class - Previous: Previous: sizeof Get -   Contents

            diff --git a/docs/html/node29.html b/docs/html/node29.html index 0defceb1..18ab5411 100644 --- a/docs/html/node29.html +++ b/docs/html/node29.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: is_lower, is_upper, is_triangle, is_unit - Up: Up: Sparse Matrix class - Previous: Previous: get_fmt Short -   Contents

            diff --git a/docs/html/node3.html b/docs/html/node3.html index 188afbfe..5e047331 100644 --- a/docs/html/node3.html +++ b/docs/html/node3.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Basic Nomenclature - Up: Up: userhtml - Previous: Previous: Introduction -   Contents

            @@ -78,10 +78,10 @@ calls to the serial sparse BLAS subroutines. In a similar way, the inter-process message exchanges are encapsulated in an applicaiton layer that has been strongly inspired by the Basic Linear Algebra Communication Subroutines (BLACS) library [7]. + HREF="node121.html#BLACS">7]. Usually there is no need to deal directly with MPI; however, in some cases, MPI routines are used directly to improve efficiency. For -further details on our communication layer see Sec. 7. +further details on our communication layer see Sec. 7.

            @@ -134,7 +134,7 @@ equation indices to processes. In particular it is consistent with the usage of graph partitioning tools commonly available in the literature, e.g. METIS [14]. + HREF="node121.html#METIS">14]. Dense vectors conform to sparse matrices, that is, the entries of a vector follow the same distribution of the matrix rows. @@ -154,43 +154,43 @@ bottleneck would make this option unattractive in most cases. Subsections


            - next - up - previous - contents
            - Next: Next: Basic Nomenclature - Up: Up: userhtml - Previous: Previous: Introduction -   Contents diff --git a/docs/html/node30.html b/docs/html/node30.html index 88766304..f7f2fcc6 100644 --- a/docs/html/node30.html +++ b/docs/html/node30.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: cscnv Convert - Up: Up: Sparse Matrix class - Previous: Previous: is_bld, is_upd, is_asb -   Contents

            diff --git a/docs/html/node31.html b/docs/html/node31.html index 97ec6a15..09032a68 100644 --- a/docs/html/node31.html +++ b/docs/html/node31.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: csclip Reduce - Up: Up: Sparse Matrix class - Previous: Previous: is_lower, is_upper, is_triangle, is_unit -   Contents

            diff --git a/docs/html/node32.html b/docs/html/node32.html index 8c8f9c24..d30fe74c 100644 --- a/docs/html/node32.html +++ b/docs/html/node32.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: clip_diag Cut - Up: Next: get_diag Get + Up: Sparse Matrix class - Previous: Previous: cscnv Convert -   Contents

            diff --git a/docs/html/node33.html b/docs/html/node33.html index 1d94ba42..b396a540 100644 --- a/docs/html/node33.html +++ b/docs/html/node33.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -clip_diag -- Cut out main diagonal - +get_diag -- Get main diagonal + @@ -26,41 +26,41 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: tril Return - Up: Next: clip_diag Cut + Up: Sparse Matrix class - Previous: Previous: csclip Reduce -   Contents

            -clip_diag -- Cut out main diagonal +get_diag -- Get main diagonal

            -    call a%clip_diag(b,info)
            +    call a%get_diag(d,info)
             

            -Returns a copy of a without the main diagonal. +Returns a copy of the main diagonal.

            Type:
            Asynchronous. @@ -80,10 +80,10 @@ Scope: local.
            On Return
            -
            b
            -
            A copy of a without the main diagonal. +
            d
            +
            A copy of the main diagonal.
            -A variable of type psb_Tspmat_type. +A one-dimensional array of the appropriate type.
            info
            Return code. diff --git a/docs/html/node34.html b/docs/html/node34.html index fa7079fe..d35ad6dc 100644 --- a/docs/html/node34.html +++ b/docs/html/node34.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -tril -- Return the lower triangle - +clip_diag -- Cut out main diagonal + @@ -26,44 +26,41 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: triu Return - Up: Next: tril Return + Up: Sparse Matrix class - Previous: clip_diag Cut -   Previous: get_diag Get +   Contents

            -tril -- Return the lower triangle +clip_diag -- Cut out main diagonal

            -    call a%tril(b,info[,&
            -       & diag,imin,imax,jmin,jmax,rscale,cscale])
            +    call a%clip_diag(b,info)
             

            -Returns the lower triangular part of submatrix -A(imin:imax,jmin:jmax), optionally rescaling row/col indices to -the range 1:imax-imin+1,1:jmax-jmin+1. +Returns a copy of a without the main diagonal.

            Type:
            Asynchronous. @@ -78,25 +75,13 @@ A variable of type psb_Tspmat_type.
            Scope: local.
            -
            diag
            -
            How many additional diagonals above the main one, default 0. -
            -
            imin,imax,jmin,jmax
            -
            Minimum and maximum row and column indices. -
            -Type: optional. -
            -
            rscale,cscale
            -
            Whether to rescale row/column indices. -Type: optional. -
            On Return
            b
            -
            A copy of a subtriangle of a. +
            A copy of a without the main diagonal.
            A variable of type psb_Tspmat_type.
            diff --git a/docs/html/node35.html b/docs/html/node35.html index 1dae0153..a3b34e99 100644 --- a/docs/html/node35.html +++ b/docs/html/node35.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -triu -- Return the upper triangle - +tril -- Return the lower triangle + @@ -26,42 +26,42 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: psb_set_mat_default Set - Up: Next: triu Return + Up: Sparse Matrix class - Previous: tril Return -   Previous: clip_diag Cut +   Contents

            -triu -- Return the upper triangle +tril -- Return the lower triangle

            -    call a%triu(b,info[,&
            +    call a%tril(b,info[,&
                    & diag,imin,imax,jmin,jmax,rscale,cscale])
             

            -Returns the upper triangular part of submatrix +Returns the lower triangular part of submatrix A(imin:imax,jmin:jmax), optionally rescaling row/col indices to the range 1:imax-imin+1,1:jmax-jmin+1.

            @@ -79,7 +79,7 @@ A variable of type psb_Tspmat_type. Scope: local.
            diag
            -
            How many additional diagonals below the main one, default 0. +
            How many additional diagonals above the main one, default 0.
            imin,imax,jmin,jmax
            Minimum and maximum row and column indices. diff --git a/docs/html/node36.html b/docs/html/node36.html index 41bd7d51..5fce34eb 100644 --- a/docs/html/node36.html +++ b/docs/html/node36.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_set_mat_default -- Set default storage format - +triu -- Return the upper triangle + @@ -26,41 +26,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: clone Clone - Up: Next: psb_set_mat_default Set + Up: Sparse Matrix class - Previous: triu Return -   Previous: tril Return +   Contents

            -psb_set_mat_default -- Set default storage format +triu -- Return the upper triangle

            -

            -call  psb_set_mat_default(a)
            +    call a%triu(b,info[,&
            +       & diag,imin,imax,jmin,jmax,rscale,cscale])
             

            +Returns the upper triangular part of submatrix +A(imin:imax,jmin:jmax), optionally rescaling row/col indices to +the range 1:imax-imin+1,1:jmax-jmin+1.

            Type:
            Asynchronous. @@ -69,10 +72,36 @@ call psb_set_mat_default(a)
            a
            -
            a variable of class(psb_T_base_sparse_mat) requesting - a new default storage format. +
            the sparse matrix. +
            +A variable of type psb_Tspmat_type. +
            +Scope: local. +
            +
            diag
            +
            How many additional diagonals below the main one, default 0. +
            +
            imin,imax,jmin,jmax
            +
            Minimum and maximum row and column indices. +
            +Type: optional. +
            +
            rscale,cscale
            +
            Whether to rescale row/column indices. +Type: optional. +
            +
            +
            +
            On Return
            +
            +
            +
            b
            +
            A copy of a subtriangle of a.
            -Type: required. +A variable of type psb_Tspmat_type. +
            +
            info
            +
            Return code.
            diff --git a/docs/html/node37.html b/docs/html/node37.html index b6466a84..d333c7ac 100644 --- a/docs/html/node37.html +++ b/docs/html/node37.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -clone -- Clone current object - +psb_set_mat_default -- Set default storage format + @@ -26,38 +26,38 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Named Constants - Up: Next: clone Clone + Up: Sparse Matrix class - Previous: psb_set_mat_default Set -   Previous: triu Return +   Contents

            -clone -- Clone current object +psb_set_mat_default -- Set default storage format

            -call  a%clone(b,info)
            +call  psb_set_mat_default(a)
             

            @@ -69,22 +69,10 @@ call a%clone(b,info)

            a
            -
            the sparse matrix. +
            a variable of class(psb_T_base_sparse_mat) requesting + a new default storage format.
            -Scope: local. -
            -
            - -

            -

            -
            On Return
            -
            -
            -
            b
            -
            A copy of the input object. -
            -
            info
            -
            Return code. +Type: required.
            diff --git a/docs/html/node38.html b/docs/html/node38.html index f3d85a0c..612de0de 100644 --- a/docs/html/node38.html +++ b/docs/html/node38.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Named Constants - +clone -- Clone current object + @@ -18,6 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds + @@ -25,56 +26,65 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Dense Vector Data Structure - Up: Next: Named Constants + Up: Sparse Matrix class - Previous: clone Clone -   Previous: psb_set_mat_default Set +   Contents

            -

            - -
            -Named Constants +

            +clone -- Clone current object

            + +

            +

            +call  a%clone(b,info)
            +
            + +

            -
            psb_dupl_ovwrt_
            -
            Duplicate coefficients should be overwritten - (i.e. ignore duplications) +
            Type:
            +
            Asynchronous.
            -
            psb_dupl_add_
            -
            Duplicate coefficients should be added; +
            On Entry
            +
            -
            psb_dupl_err_
            -
            Duplicate coefficients should trigger an error conditino -
            -
            psb_upd_dflt_
            -
            Default update strategy for matrix coefficients; +
            a
            +
            the sparse matrix. +
            +Scope: local. +
            +
            + +

            +

            +
            On Return
            +
            -
            psb_upd_srch_
            -
            Update strategy based on search into the data structure; +
            b
            +
            A copy of the input object.
            -
            psb_upd_perm_
            -
            Update strategy based on additional - permutation data (see tools routine description). +
            info
            +
            Return code.
            diff --git a/docs/html/node39.html b/docs/html/node39.html index 1c447d9a..55543cf5 100644 --- a/docs/html/node39.html +++ b/docs/html/node39.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Dense Vector Data Structure - +Named Constants + @@ -18,147 +18,68 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: Vector Methods - Up: Data Structures and Classes - Previous: Named Constants -   Next: Dense Vector Data Structure + Up: Sparse Matrix class + Previous: clone Clone +   Contents

            -

            - +

            +
            -Dense Vector Data Structure -

            -The vdatapsb_T_vect_type data structure -encapsulates the dense vectors in a way similar to sparse matrices, -i.e. including a base type vbasedata psb_T_base_vect_type. -The user will not, in general, access the vector components directly, -but rather via the routines of sec. 6. Among other -simple things, we define here an extraction method that can be used to -get a full copy of the part of the vector stored on the local -process. - -

            -The type declaration is shown in -figure 5 where T is a placeholder for the -data type and precision variants +Named Constants +

            -
            I
            -
            Integer; +
            psb_dupl_ovwrt_
            +
            Duplicate coefficients should be overwritten + (i.e. ignore duplications) +
            +
            psb_dupl_add_
            +
            Duplicate coefficients should be added;
            -
            S
            -
            Single precision real; +
            psb_dupl_err_
            +
            Duplicate coefficients should trigger an error conditino
            -
            D
            -
            Double precision real; +
            psb_upd_dflt_
            +
            Default update strategy for matrix coefficients;
            -
            C
            -
            Single precision complex; +
            psb_upd_srch_
            +
            Update strategy based on search into the data structure;
            -
            Z
            -
            Double precision complex. +
            psb_upd_perm_
            +
            Update strategy based on additional + permutation data (see tools routine description).
            -The actual data is contained in the polymorphic component v%v; -the separation between the application and the actual data is -essential for cases where it is necessary to link to data storage made -available elsewhere outside the direct control of the -compiler/application, e.g. data stored in a graphics accelerator's -private memory. - -
            - - - -
            Figure 5: - The PSBLAS defined data type that - contains a dense vector.
            -
            - -
            -
            -  type psb_T_base_vect_type
            -    TYPE(KIND_), allocatable :: v(:)
            -  end type psb_T_base_vect_type
            -
            -  type psb_T_vect_type
            -    class(psb_T_base_vect_type), allocatable :: v 
            -  end type  psb_T_vect_type
            -
            -
            -
            -



            - -Subsections - - - -
            - - -next - -up - -previous - -contents -
            - Next: Vector Methods - Up: Data Structures and Classes - Previous: Named Constants -   Contents - diff --git a/docs/html/node4.html b/docs/html/node4.html index 5b8b785b..11920fe8 100644 --- a/docs/html/node4.html +++ b/docs/html/node4.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Library contents - Up: Up: General overview - Previous: Previous: General overview -   Contents

            @@ -126,8 +126,8 @@ Overlap points do not usually exist in the basic data distributions; however they are a feature of Domain Decomposition Schwarz preconditioners which are the subject of related research work [4,3]. + HREF="node121.html#2007c">4,3].

            We denote the sets of internal, boundary and halo points for a given @@ -197,26 +197,26 @@ points in the literature.


            - next - up - previous - contents
            - Next: Next: Library contents - Up: Up: General overview - Previous: Previous: General overview -   Contents diff --git a/docs/html/node40.html b/docs/html/node40.html index b742c7ad..15560723 100644 --- a/docs/html/node40.html +++ b/docs/html/node40.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Vector Methods - +Dense Vector Data Structure + @@ -18,43 +18,147 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + + - next - + up - previous - contents
            - Next: get_nrows Get - Up: Dense Vector Data Structure - Previous: Dense Vector Data Structure -   Next: Vector Methods + Up: Data Structures and Classes + Previous: Named Constants +   Contents

            -

            -Vector Methods -

            +

            + +
            +Dense Vector Data Structure +

            +The vdatapsb_T_vect_type data structure +encapsulates the dense vectors in a way similar to sparse matrices, +i.e. including a base type vbasedata psb_T_base_vect_type. +The user will not, in general, access the vector components directly, +but rather via the routines of sec. 6. Among other +simple things, we define here an extraction method that can be used to +get a full copy of the part of the vector stored on the local +process. + +

            +The type declaration is shown in +figure 5 where T is a placeholder for the +data type and precision variants +

            +
            I
            +
            Integer; +
            +
            S
            +
            Single precision real; +
            +
            D
            +
            Double precision real; +
            +
            C
            +
            Single precision complex; +
            +
            Z
            +
            Double precision complex. +
            +
            +The actual data is contained in the polymorphic component v%v; +the separation between the application and the actual data is +essential for cases where it is necessary to link to data storage made +available elsewhere outside the direct control of the +compiler/application, e.g. data stored in a graphics accelerator's +private memory. + +
            + + + +
            Figure 5: + The PSBLAS defined data type that + contains a dense vector.
            +
            + +
            +
            +  type psb_T_base_vect_type
            +    TYPE(KIND_), allocatable :: v(:)
            +  end type psb_T_base_vect_type
            +
            +  type psb_T_vect_type
            +    class(psb_T_base_vect_type), allocatable :: v 
            +  end type  psb_T_vect_type
            +
            +
            +
            +
            + +



            + +Subsections + + + +
            + + +next + +up + +previous + +contents +
            + Next: Vector Methods + Up: Data Structures and Classes + Previous: Named Constants +   Contents + diff --git a/docs/html/node41.html b/docs/html/node41.html index b83183ed..88b950a4 100644 --- a/docs/html/node41.html +++ b/docs/html/node41.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -get_nrows -- Get number of rows in a dense vector - +Vector Methods + @@ -20,72 +20,40 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: sizeof Get - Up: Dense Vector Data Structure - Previous: Vector Methods -   Next: get_nrows Get + Up: Dense Vector Data Structure + Previous: Dense Vector Data Structure +   Contents

            -

            -get_nrows -- Get number of rows in a dense vector +

            +Vector Methods

            - -

            -

            -nr = v%get_nrows()
            -
            - -

            -

            -
            Type:
            -
            Asynchronous. -
            -
            On Entry
            -
            -
            -
            v
            -
            the dense vector -
            -Scope: local -
            -
            - -

            -

            -
            On Return
            -
            -
            -
            Function value
            -
            The number of rows of dense vector v. -
            -
            - -



            diff --git a/docs/html/node42.html b/docs/html/node42.html index 0177c501..756caacc 100644 --- a/docs/html/node42.html +++ b/docs/html/node42.html @@ -7,10 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -sizeof -- Get memory occupation in bytes -of a dense vector - +get_nrows -- Get number of rows in a dense vector + @@ -22,45 +20,44 @@ of a dense vector"> - + - next - + up - previous - contents
            - Next: get_vect Get - Up: Dense Vector Data Structure - Previous: get_nrows Get -   Next: sizeof Get + Up: Dense Vector Data Structure + Previous: Vector Methods +   Contents

            -

            -sizeof -- Get memory occupation in bytes -of a dense vector +

            +get_nrows -- Get number of rows in a dense vector

            -memory_size = v%sizeof()
            +nr = v%get_nrows()
             

            @@ -84,7 +81,7 @@ Scope: local

            Function value
            -
            The memory occupation in bytes. +
            The number of rows of dense vector v.
            diff --git a/docs/html/node43.html b/docs/html/node43.html index 03d5b002..684c09cc 100644 --- a/docs/html/node43.html +++ b/docs/html/node43.html @@ -7,8 +7,10 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -get_vect -- Get a copy of the vector contents - +sizeof -- Get memory occupation in bytes +of a dense vector + @@ -20,44 +22,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: clone Clone - Up: Dense Vector Data Structure - Previous: sizeof Get -   Next: get_vect Get + Up: Dense Vector Data Structure + Previous: get_nrows Get +   Contents

            -

            -get_vect -- Get a copy of the vector contents +

            +sizeof -- Get memory occupation in bytes +of a dense vector

            -extv = v%get_vect()
            +memory_size = v%sizeof()
             

            @@ -81,8 +84,7 @@ Scope: local

            Function value
            -
            An allocatable array holding a copy of the dense - vector contents. +
            The memory occupation in bytes.
            diff --git a/docs/html/node44.html b/docs/html/node44.html index 925ab726..cb1ccd1c 100644 --- a/docs/html/node44.html +++ b/docs/html/node44.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -clone -- Clone current object - +get_vect -- Get a copy of the vector contents + @@ -18,44 +18,46 @@ original version by: Nikos Drakos, CBLU, University of Leeds + - + - next - + up - previous - contents
            - Next: Preconditioner data structure - Up: Dense Vector Data Structure - Previous: get_vect Get -   Next: clone Clone + Up: Dense Vector Data Structure + Previous: sizeof Get +   Contents

            -

            -clone -- Clone current object +

            +get_vect -- Get a copy of the vector contents

            +

            -call  x%clone(y,info)
            +extv = v%get_vect()
             

            @@ -66,10 +68,10 @@ call x%clone(y,info)

            On Entry
            -
            x
            -
            the dense vector. +
            v
            +
            the dense vector
            -Scope: local. +Scope: local
            @@ -78,11 +80,9 @@ Scope: local.
            On Return
            -
            y
            -
            A copy of the input object. -
            -
            info
            -
            Return code. +
            Function value
            +
            An allocatable array holding a copy of the dense + vector contents.
            diff --git a/docs/html/node45.html b/docs/html/node45.html index 1d5e188e..3781462c 100644 --- a/docs/html/node45.html +++ b/docs/html/node45.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Preconditioner data structure - +clone -- Clone current object + @@ -18,70 +18,73 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - + + - next - + up - previous - contents
            - Next: Computational routines - Up: Data Structures and Classes - Previous: clone Clone -   Next: Preconditioner data structure + Up: Dense Vector Data Structure + Previous: get_vect Get +   Contents

            -

            - -
            -Preconditioner data structure -

            -Our base library offers support for simple well known preconditioners -like Diagonal Scaling or Block Jacobi with incomplete -factorization ILU(0). +

            +clone -- Clone current object +

            + +
            +call  x%clone(y,info)
            +

            -A preconditioner is held in the precdata psb_prec_type data structure reported in -figure 6. The psb_prec_type -data type may contain a simple preconditioning matrix with the -associated communication descriptor.The internal preconditioner is allocated appropriately with the -dynamic type corresponding to the desired preconditioner. +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            x
            +
            the dense vector. +
            +Scope: local. +
            +
            -
            - - - -
            Figure 6: -The PSBLAS defined data type that contains a preconditioner.
            -
            - -
            -
            -  type psb_Tprec_type
            -    class(psb_T_base_prec_type), allocatable :: prec
            -  end type psb_Tprec_type
            -
            -
            -
            +

            +

            +
            On Return
            +
            +
            +
            y
            +
            A copy of the input object. +
            +
            info
            +
            Return code. +
            +



            diff --git a/docs/html/node46.html b/docs/html/node46.html index b5fc740c..ad23cb99 100644 --- a/docs/html/node46.html +++ b/docs/html/node46.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Computational routines - +Preconditioner data structure + @@ -18,78 +18,72 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: psb_geaxpby General - Up: userhtml - Previous: Preconditioner data structure -   Next: Computational routines + Up: Data Structures and Classes + Previous: clone Clone +   Contents

            -

            -Computational routines -

            +

            + +
            +Preconditioner data structure +

            +Our base library offers support for simple well known preconditioners +like Diagonal Scaling or Block Jacobi with incomplete +factorization ILU(0).

            -


            - -Subsections +A preconditioner is held in the precdata psb_prec_type data structure reported in +figure 6. The psb_prec_type +data type may contain a simple preconditioning matrix with the +associated communication descriptor.The internal preconditioner is allocated appropriately with the +dynamic type corresponding to the desired preconditioner. - - +
            + + + +
            Figure 6: +The PSBLAS defined data type that contains a preconditioner.
            +
            + +
            +
            +  type psb_Tprec_type
            +    class(psb_T_base_prec_type), allocatable :: prec
            +  end type psb_Tprec_type
            +
            +
            +
            + +



            diff --git a/docs/html/node47.html b/docs/html/node47.html index 797d227a..b00108a6 100644 --- a/docs/html/node47.html +++ b/docs/html/node47.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geaxpby -- General Dense Matrix Sum - +Computational routines + @@ -18,264 +18,79 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + + - next - + up - previous - contents
            - Next: psb_gedot Dot - Up: Computational routines - Previous: Computational routines -   Next: psb_geaxpby General + Up: userhtml + Previous: Preconditioner data structure +   Contents

            -

            -psb_geaxpby -- General Dense Matrix Sum -

            - -

            -This subroutine is an interface to the computational kernel for -dense matrix sum: -

            -
            - - -\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath} -
            -
            -

            - -

            -

            -call psb_geaxpby(alpha, x, beta, y, desc_a, info)
            -
            - -

            -

            -
            - - - -
            Table 1: -Data types
            -
            - - - - - - - - - - - - - - - - -
            $x$, $y$, $\alpha$, $\beta$Subroutine
            Short Precision Realpsb_geaxpby
            Long Precision Realpsb_geaxpby
            Short Precision Complexpsb_geaxpby
            Long Precision Complexpsb_geaxpby
            -
            -
            -

            -
            - -

            -

            -
            Type:
            -
            Synchronous. -
            -
            On Entry
            -
            -
            -
            alpha
            -
            the scalar $\alpha$. -
            -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: a number of the data type indicated in Table 1. -
            -
            x
            -
            the local portion of global dense matrix -$x$. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type -specified in Table 1. The rank of $x$ must be the same of $y$. -
            -
            beta
            -
            the scalar $\beta$. -
            -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: a number of the data type indicated in Table 1. -
            -
            y
            -
            the local portion of the global dense matrix -$y$. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 1. The rank of $y$ must be the same of $x$. -
            -
            desc_a
            -
            contains data structures for communications. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: an object of type descdatapsb_desc_type. - -

            -

            -
            +

            +Computational routines +

            -

            -
            On Return
            -
            -
            -
            y
            -
            the local portion of result submatrix $y$. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 1. -
            -
            info
            -
            Error code. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value; 0 means no error has been detected. -
            -
            +

            + +Subsections -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_gedot Dot - Up: Computational routines - Previous: Computational routines -   Contents - + + +

            diff --git a/docs/html/node48.html b/docs/html/node48.html index d5524a82..4b72355a 100644 --- a/docs/html/node48.html +++ b/docs/html/node48.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_gedot -- Dot Product - +psb_geaxpby -- General Dense Matrix Sum + @@ -20,132 +20,100 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_gedots Generalized - Up: Computational routines - Previous: psb_geaxpby General -   Next: psb_gedot Dot + Up: Computational routines + Previous: Computational routines +   Contents

            -

            -psb_gedot -- Dot Product +

            +psb_geaxpby -- General Dense Matrix Sum

            -This function computes dot product between two vectors $x$ and -$y$. -
            -If $x$ and $y$ are real vectors -it computes dot-product as: +This subroutine is an interface to the computational kernel for +dense matrix sum:

            \begin{displaymath}dot \leftarrow x^T y\end{displaymath} + WIDTH="93" HEIGHT="27" BORDER="0" + SRC="img19.png" + ALT="\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath}">

            -

            -Else if $x$ and $y$ are complex vectors then it computes dot-product as: -

            -
            - - -\begin{displaymath}dot \leftarrow x^H y\end{displaymath} -
            -
            -

            +

            -psb_gedot(x, y, desc_a, info)
            +call psb_geaxpby(alpha, x, beta, y, desc_a, info)
             
            + +


            -
            +
            -
            Table 2: +Table 1: Data types
            - + ALT="$y$">, $\alpha$, $\beta$ + - + - + - + - +
            $dot$, $x$, $y$FunctionSubroutine
            Short Precision Realpsb_gedotpsb_geaxpby
            Long Precision Realpsb_gedotpsb_geaxpby
            Short Precision Complexpsb_gedotpsb_geaxpby
            Long Precision Complexpsb_gedotpsb_geaxpby
            @@ -162,6 +130,20 @@ Data types
            On Entry
            +
            alpha
            +
            the scalar $\alpha$. +
            +Scope: global +
            +Type: required +
            +Intent: in. +
            +Specified as: a number of the data type indicated in Table 1. +
            x
            the local portion of global dense matrix required
            Intent: in.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 2. The rank of psb_T_vect_type +containing numbers of type +specified in Table 1. The rank of $x$ must be the same of 2. The rank of $y$.
            +
            beta
            +
            the scalar $\beta$. +
            +Scope: global +
            +Type: required +
            +Intent: in. +
            +Specified as: a number of the data type indicated in Table 1. +
            y
            -
            the local portion of global dense matrix +
            the local portion of the global dense matrix local
            Type: required
            -Intent: in. +Intent: inout.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 2. The rank of psb_T_vect_type containing numbers of the type +indicated in Table 1. The rank of $y$ must be the same of psb_desc_type.

            + + +

            +

            On Return
            -
            Function value
            -
            is the dot product of subvectors $x$ and y +
            the local portion of result submatrix $y$.
            -Scope: global +Scope: local
            -Specified as: a number of the data type indicated in Table 2. +Type: required +
            +Intent: inout. +
            +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type +indicated in Table 1.
            info
            Error code. @@ -253,26 +254,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_gedots Generalized - Up: Computational routines - Previous: psb_geaxpby General -   Next: psb_gedot Dot + Up: Computational routines + Previous: Computational routines +   Contents diff --git a/docs/html/node49.html b/docs/html/node49.html index bfa85ce1..b82bb9a5 100644 --- a/docs/html/node49.html +++ b/docs/html/node49.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_gedots -- Generalized Dot Product - +psb_gedot -- Dot Product + @@ -20,117 +20,132 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geamax Infinity-Norm - Up: Computational routines - Previous: psb_gedot Dot -   Next: psb_gedots Generalized + Up: Computational routines + Previous: psb_geaxpby General +   Contents

            -

            -psb_gedots -- Generalized Dot Product +

            +psb_gedot -- Dot Product

            -This subroutine computes a series of dot products among the columns of -two dense matrices $x$ and +$y$. +
            +If $x$ and $y$: + ALT="$y$"> are real vectors +it computes dot-product as:

            \begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath} + WIDTH="74" HEIGHT="27" BORDER="0" + SRC="img24.png" + ALT="\begin{displaymath}dot \leftarrow x^T y\end{displaymath}">

            -If the matrices are complex, then the -usual convention applies, i.e. the conjugate transpose of $x$ is -used. If $x$ and $y$ are of rank one, then $res$ is a scalar, else it -is a rank one array. + ALT="$y$"> are complex vectors then it computes dot-product as: +

            +
            + + +\begin{displaymath}dot \leftarrow x^H y\end{displaymath} +
            +
            +

            -call psb_gedots(res, x, y, desc_a, info)
            +psb_gedot(x, y, desc_a, info)
             

            -
            +
            -
            Table 3: +Table 2: Data types
            - + - + - + - + - +
            $res$, $dot$, $x$, $y$SubroutineFunction
            Short Precision Realpsb_gedotspsb_gedot
            Long Precision Realpsb_gedotspsb_gedot
            Short Precision Complexpsb_gedotspsb_gedot
            Long Precision Complexpsb_gedotspsb_gedot
            @@ -152,7 +167,7 @@ Data types $x$. + ALT="$x$">.
            Scope: local
            @@ -162,7 +177,7 @@ Intent: in.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 3. The rank of 2. The rank of $x$ must be the same of in.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 3. The rank of 2. The rank of $y$ must be the same of required Intent: in.
            Specified as: an object of type descdatapsb_desc_type. + +

            On Return
            -
            res
            +
            Function value
            is the dot product of subvectors psb_desc_type.
            Scope: global
            -Intent: out. -
            -Specified as: a number or a rank-one array of the data type indicated -in Table 2. +Specified as: a number of the data type indicated in Table 2.
            info
            Error code. @@ -239,26 +253,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_geamax Infinity-Norm - Up: Computational routines - Previous: psb_gedot Dot -   Next: psb_gedots Generalized + Up: Computational routines + Previous: psb_geaxpby General +   Contents diff --git a/docs/html/node5.html b/docs/html/node5.html index b586e983..d26e0080 100644 --- a/docs/html/node5.html +++ b/docs/html/node5.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Application structure - Up: Up: General overview - Previous: Previous: Basic Nomenclature -   Contents

            @@ -128,7 +128,7 @@ internally defined in the PSBLAS software package: For example the psb_geins, psb_spins and - psb_cdins perform the same action (see 6) on + psb_cdins perform the same action (see 6) on dense matrices, sparse matrices and communication descriptors respectively. Interface overloading allows the usage of the same subroutine @@ -169,26 +169,26 @@ whose current value is 3.0.0


            - next - up - previous - contents
            - Next: Next: Application structure - Up: Up: General overview - Previous: Previous: Basic Nomenclature -   Contents diff --git a/docs/html/node50.html b/docs/html/node50.html index d40a0ace..8346ad79 100644 --- a/docs/html/node50.html +++ b/docs/html/node50.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geamax -- Infinity-Norm of Vector - +psb_gedots -- Generalized Dot Product + @@ -20,127 +20,117 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geamaxs Generalized - Up: Computational routines - Previous: psb_gedots Generalized -   Next: psb_geamax Infinity-Norm + Up: Computational routines + Previous: psb_gedot Dot +   Contents

            -

            -psb_geamax -- Infinity-Norm of Vector +

            +psb_gedots -- Generalized Dot Product

            -This function computes - the infinity-norm of a vector $x$. -
            -If $x$ is a real vector -it computes infinity norm as: + ALT="$x$"> and $y$:

            \begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath} + WIDTH="150" HEIGHT="28" BORDER="0" + SRC="img27.png" + ALT="\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath}">

            -else if $x$ is a complex vector then it computes the infinity-norm as: -

            -
            - - -\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath} -
            -
            -

            + ALT="$x$"> is +used. If $x$ and $y$ are of rank one, then $res$ is a scalar, else it +is a rank one array.

            -psb_geamax(x, desc_a, info)
            +call psb_gedots(res, x, y, desc_a, info)
             
            - -


            -
            +
            -
            Table 4: +Table 3: Data types
            - - + ALT="$x$">, $y$ + - - + - - + - - - + + - - - + +
            $amax$$res$, $x$FunctionSubroutine
            Short Precision RealShort Precision Realpsb_geamaxpsb_gedots
            Long Precision RealLong Precision Realpsb_geamaxpsb_gedots
            Short Precision RealShort Precision Complexpsb_geamax
            Short Precision Complexpsb_gedots
            Long Precision RealLong Precision Complexpsb_geamax
            Long Precision Complexpsb_gedots
            @@ -163,7 +153,6 @@ Data types WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" SRC="img20.png" ALT="$x$">. -
            Scope: local
            @@ -171,9 +160,38 @@ Type: required
            Intent: in.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 4. +Table 3. The rank of $x$ must be the same of $y$. + +
            y
            +
            the local portion of global dense matrix +$y$. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +containing numbers of type specified in +Table 3. The rank of $y$ must be the same of $x$.
            desc_a
            contains data structures for communications. @@ -185,21 +203,25 @@ Type: required Intent: in.
            Specified as: an object of type descdatapsb_desc_type. - -

            On Return
            -
            Function value
            -
            is the infinity norm of subvector res +
            is the dot product of subvectors $x$. + ALT="$x$"> and $y$.
            Scope: global
            -Specified as: a long precision real number. +Intent: out. +
            +Specified as: a number or a rank-one array of the data type indicated +in Table 2.
            info
            Error code. @@ -217,26 +239,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_geamaxs Generalized - Up: Computational routines - Previous: psb_gedots Generalized -   Next: psb_geamax Infinity-Norm + Up: Computational routines + Previous: psb_gedot Dot +   Contents diff --git a/docs/html/node51.html b/docs/html/node51.html index 68961508..882f1f20 100644 --- a/docs/html/node51.html +++ b/docs/html/node51.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geamaxs -- Generalized Infinity Norm - +psb_geamax -- Infinity-Norm of Vector + @@ -20,102 +20,127 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geasum 1-Norm - Up: Computational routines - Previous: psb_geamax Infinity-Norm -   Next: psb_geamaxs Generalized + Up: Computational routines + Previous: psb_gedots Generalized +   Contents

            -

            -psb_geamaxs -- Generalized Infinity Norm +

            +psb_geamax -- Infinity-Norm of Vector

            -This subroutine computes a series of infinity norms on the columns of -a dense matrix $x$: + ALT="$x$">. +
            +If $x$ is a real vector +it computes infinity norm as: +

            +
            + + +\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath} +
            +
            +

            +else if $x$ is a complex vector then it computes the infinity-norm as:

            \begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} + WIDTH="233" HEIGHT="36" BORDER="0" + SRC="img30.png" + ALT="\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath}">

            -call psb_geamaxs(res, x, desc_a, info)
            +psb_geamax(x, desc_a, info)
             


            -
            +
            -
            Table 5: +Table 4: Data types
            + WIDTH="44" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img31.png" + ALT="$amax$"> - + - + - + - + - +
            $res$ $x$SubroutineFunction
            Short Precision Real Short Precision Realpsb_geamaxspsb_geamax
            Long Precision Real Long Precision Realpsb_geamaxspsb_geamax
            Short Precision Real Short Precision Complexpsb_geamaxspsb_geamax
            Long Precision Real Long Precision Complexpsb_geamaxspsb_geamax
            @@ -138,6 +163,7 @@ Data types WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" SRC="img20.png" ALT="$x$">. +
            Scope: local
            @@ -145,9 +171,9 @@ Type: required
            Intent: in.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 5. +Table 4.
            desc_a
            contains data structures for communications. @@ -159,21 +185,21 @@ Type: required Intent: in.
            Specified as: an object of type descdatapsb_desc_type. + +

            On Return
            -
            res
            -
            is the infinity norm of the columns of Function value +
            is the infinity norm of subvector $x$.
            Scope: global
            -Intent: out. -
            -Specified as: a number or a rank-one array of long precision real numbers. +Specified as: a long precision real number.
            info
            Error code. @@ -191,26 +217,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_geasum 1-Norm - Up: Computational routines - Previous: psb_geamax Infinity-Norm -   Next: psb_geamaxs Generalized + Up: Computational routines + Previous: psb_gedots Generalized +   Contents diff --git a/docs/html/node52.html b/docs/html/node52.html index 379f4a74..2e142ea2 100644 --- a/docs/html/node52.html +++ b/docs/html/node52.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geasum -- 1-Norm of Vector - +psb_geamaxs -- Generalized Infinity Norm + @@ -20,126 +20,102 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geasums Generalized - Up: Computational routines - Previous: psb_geamaxs Generalized -   Next: psb_geasum 1-Norm + Up: Computational routines + Previous: psb_geamax Infinity-Norm +   Contents

            -

            -psb_geasum -- 1-Norm of Vector +

            +psb_geamaxs -- Generalized Infinity Norm

            -This function computes the 1-norm of a vector $x$. -
            -If $x$ is a real vector -it computes 1-norm as: -

            -
            - - -\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath} -
            -
            -

            -else if $x$ is a complex vector then it computes 1-norm as: + ALT="$x$">:

            \begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} + WIDTH="147" HEIGHT="36" BORDER="0" + SRC="img32.png" + ALT="\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}">

            -psb_geasum(x, desc_a, info)
            +call psb_geamaxs(res, x, desc_a, info)
             


            -
            +
            -
            Table 6: +Table 5: Data types
            + WIDTH="27" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img28.png" + ALT="$res$"> - + - + - + - + - +
            $asum$ $x$FunctionSubroutine
            Short Precision Real Short Precision Realpsb_geasumpsb_geamaxs
            Long Precision Real Long Precision Realpsb_geasumpsb_geamaxs
            Short Precision Real Short Precision Complexpsb_geasumpsb_geamaxs
            Long Precision Real Long Precision Complexpsb_geasumpsb_geamaxs
            @@ -162,7 +138,6 @@ Data types WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" SRC="img20.png" ALT="$x$">. -
            Scope: local
            @@ -172,7 +147,7 @@ Intent: in.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 6. +Table 5.
            desc_a
            contains data structures for communications. @@ -184,21 +159,21 @@ Type: required Intent: in.
            Specified as: an object of type descdatapsb_desc_type. - -

            On Return
            -
            Function value
            -
            is the 1-norm of vector res +
            is the infinity norm of the columns of $x$.
            Scope: global
            -Specified as: a long precision real number. +Intent: out. +
            +Specified as: a number or a rank-one array of long precision real numbers.
            info
            Error code. @@ -216,26 +191,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_geasums Generalized - Up: Computational routines - Previous: psb_geamaxs Generalized -   Next: psb_geasum 1-Norm + Up: Computational routines + Previous: psb_geamax Infinity-Norm +   Contents diff --git a/docs/html/node53.html b/docs/html/node53.html index 928ad1a3..18fbb250 100644 --- a/docs/html/node53.html +++ b/docs/html/node53.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geasums -- Generalized 1-Norm of Vector - +psb_geasum -- 1-Norm of Vector + @@ -20,62 +20,42 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_genrm2 2-Norm - Up: Computational routines - Previous: psb_geasum 1-Norm -   Next: psb_geasums Generalized + Up: Computational routines + Previous: psb_geamaxs Generalized +   Contents

            -

            -psb_geasums -- Generalized 1-Norm of Vector +

            +psb_geasum -- 1-Norm of Vector

            -This subroutine computes a series of 1-norms on the columns of -a dense matrix $x$: -

            -
            - - -\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} -
            -
            -

            This function computes the 1-norm of a vector $x$ is a real vector + ALT="$x$"> is a real vector it computes 1-norm as:

            \begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath} + WIDTH="92" HEIGHT="28" BORDER="0" + SRC="img33.png" + ALT="\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath}">

            @@ -109,57 +89,57 @@ else if \begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} + WIDTH="205" HEIGHT="28" BORDER="0" + SRC="img34.png" + ALT="\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}">

            -call psb_geasums(res, x, desc_a, info)
            +psb_geasum(x, desc_a, info)
             


            -
            +
            -
            Table 7: +Table 6: Data types
            + WIDTH="43" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img35.png" + ALT="$asum$"> - + - + - + - + - +
            $res$ $x$SubroutineFunction
            Short Precision Real Short Precision Realpsb_geasumspsb_geasum
            Long Precision Real Long Precision Realpsb_geasumspsb_geasum
            Short Precision Real Short Precision Complexpsb_geasumspsb_geasum
            Long Precision Real Long Precision Complexpsb_geasumspsb_geasum
            @@ -192,7 +172,7 @@ Intent: in.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 7. +Table 6.
            desc_a
            contains data structures for communications. @@ -210,17 +190,14 @@ Specified as: an object of type descdatapsb_desc_type.
            On Return
            -
            res
            -
            contains the 1-norm of (the columns of) Function value +
            is the 1-norm of vector $x$.
            Scope: global
            -Intent: out. -
            -Short as: a long precision real number. Specified as: a long precision real number.
            info
            @@ -239,26 +216,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_genrm2 2-Norm - Up: Computational routines - Previous: psb_geasum 1-Norm -   Next: psb_geasums Generalized + Up: Computational routines + Previous: psb_geamaxs Generalized +   Contents diff --git a/docs/html/node54.html b/docs/html/node54.html index c72c7f1a..fe3eee1d 100644 --- a/docs/html/node54.html +++ b/docs/html/node54.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_genrm2 -- 2-Norm of Vector - +psb_geasums -- Generalized 1-Norm of Vector + @@ -20,43 +20,63 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_genrm2s Generalized - Up: Computational routines - Previous: psb_geasums Generalized -   Next: psb_genrm2 2-Norm + Up: Computational routines + Previous: psb_geasum 1-Norm +   Contents

            -

            -psb_genrm2 -- 2-Norm of Vector +

            +psb_geasums -- Generalized 1-Norm of Vector

            -This function computes the 2-norm of a vector $x$: +

            +
            + + +\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} +
            +
            +

            +This function computes the 1-norm of a vector $x$. @@ -64,77 +84,82 @@ This function computes the 2-norm of a vector $x$ is a real vector -it computes 2-norm as: + ALT="$x$"> is a real vector +it computes 1-norm as:

            \begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath} + WIDTH="94" HEIGHT="28" BORDER="0" + SRC="img36.png" + ALT="\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath}">

            else if $x$ is a complex vector then it computes 2-norm as: + ALT="$x$"> is a complex vector then it computes 1-norm as:

            \begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath} + WIDTH="206" HEIGHT="28" BORDER="0" + SRC="img37.png" + ALT="\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}">

            +

            +

            +call psb_geasums(res, x, desc_a, info)
            +
            +


            -
            +
            -
            Table 8: +Table 7: Data types
            + WIDTH="27" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img28.png" + ALT="$res$"> - + - + - + - + - +
            $nrm2$ $x$FunctionSubroutine
            Short Precision Real Short Precision Realpsb_genrm2psb_geasums
            Long Precision Real Long Precision Realpsb_genrm2psb_geasums
            Short Precision Real Short Precision Complexpsb_genrm2psb_geasums
            Long Precision Real Long Precision Complexpsb_genrm2psb_geasums
            @@ -143,11 +168,6 @@ Data types


            -

            -

            -psb_genrm2(x, desc_a, info)
            -
            -

            Type:
            @@ -161,7 +181,8 @@ psb_genrm2(x, desc_a, info) $x$. + ALT="$x$">. +
            Scope: local
            @@ -169,9 +190,9 @@ Type: required
            Intent: in.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 8. +Table 7.
            desc_a
            contains data structures for communications. @@ -189,17 +210,18 @@ Specified as: an object of type descdatapsb_desc_type.
            On Return
            -
            Function Value
            -
            is the 2-norm of subvector res +
            contains the 1-norm of (the columns of) $x$.
            Scope: global
            -Type: required +Intent: out.
            -Specified as: a long precision real number. +Short as: a long precision real number. +Specified as: a long precision real number.
            info
            Error code. @@ -217,26 +239,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_genrm2s Generalized - Up: Computational routines - Previous: psb_geasums Generalized -   Next: psb_genrm2 2-Norm + Up: Computational routines + Previous: psb_geasum 1-Norm +   Contents diff --git a/docs/html/node55.html b/docs/html/node55.html index 4de23a5e..d818be46 100644 --- a/docs/html/node55.html +++ b/docs/html/node55.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_genrm2s -- Generalized 2-Norm of Vector - +psb_genrm2 -- 2-Norm of Vector + @@ -20,102 +20,121 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spnrm1 1-Norm - Up: Computational routines - Previous: psb_genrm2 2-Norm -   Next: psb_genrm2s Generalized + Up: Computational routines + Previous: psb_geasums Generalized +   Contents

            -

            -psb_genrm2s -- Generalized 2-Norm of Vector +

            +psb_genrm2 -- 2-Norm of Vector

            -This subroutine computes a series of 2-norms on the columns of -a dense matrix $x$: + ALT="$x$">. +
            +If $x$ is a real vector +it computes 2-norm as:

            \begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath} + WIDTH="106" HEIGHT="24" BORDER="0" + SRC="img38.png" + ALT="\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath}">

            +else if $x$ is a complex vector then it computes 2-norm as: +

            +
            + -

            -

            -call psb_genrm2s(res, x, desc_a, info)
            -
            +\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath} +
            +
            +


            -
            +
            -
            Table 9: +Table 8: Data types
            + WIDTH="43" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img40.png" + ALT="$nrm2$"> - + - + - + - + - +
            $res$ $x$SubroutineFunction
            Short Precision Real Short Precision Realpsb_genrm2spsb_genrm2
            Long Precision Real Long Precision Realpsb_genrm2spsb_genrm2
            Short Precision Real Short Precision Complexpsb_genrm2spsb_genrm2
            Long Precision Real Long Precision Complexpsb_genrm2spsb_genrm2
            @@ -124,6 +143,11 @@ Data types


            +

            +

            +psb_genrm2(x, desc_a, info)
            +
            +

            Type:
            @@ -137,8 +161,7 @@ Data types $x$. - + ALT="$x$">.
            Scope: local
            @@ -146,9 +169,9 @@ Type: required
            Intent: in.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 9. +Table 8.
            desc_a
            contains data structures for communications. @@ -166,17 +189,17 @@ Specified as: an object of type descdatapsb_desc_type.
            On Return
            -
            res
            -
            contains the 1-norm of (the columns of) Function Value +
            is the 2-norm of subvector $x$.
            Scope: global
            -Intent: out. +Type: required
            -Specified as: a long precision real number. +Specified as: a long precision real number.
            info
            Error code. @@ -194,26 +217,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_spnrm1 1-Norm - Up: Computational routines - Previous: psb_genrm2 2-Norm -   Next: psb_genrm2s Generalized + Up: Computational routines + Previous: psb_geasums Generalized +   Contents diff --git a/docs/html/node56.html b/docs/html/node56.html index 90f24d9c..383d06d2 100644 --- a/docs/html/node56.html +++ b/docs/html/node56.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spnrm1 -- 1-Norm of Sparse Matrix - +psb_genrm2s -- Generalized 2-Norm of Vector + @@ -20,102 +20,102 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spnrmi Infinity - Up: Computational routines - Previous: psb_genrm2s Generalized -   Next: psb_spnrm1 1-Norm + Up: Computational routines + Previous: psb_genrm2 2-Norm +   Contents

            -

            -psb_spnrm1 -- 1-Norm of Sparse Matrix +

            +psb_genrm2s -- Generalized 2-Norm of Vector

            -This function computes the 1-norm of a matrix $A$: -
            -

            +This subroutine computes a series of 2-norms on the columns of +a dense matrix $x$:

            \begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath} + WIDTH="124" HEIGHT="28" BORDER="0" + SRC="img41.png" + ALT="\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath}">

            -where: -
            -
            $A$
            -
            represents the global matrix $A$ -
            -
            + +

            +

            +call psb_genrm2s(res, x, desc_a, info)
            +


            -
            +
            -
            Table 10: +Table 9: Data types
            - + WIDTH="27" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img28.png" + ALT="$res$"> + + - + + - + + - - + + + - - + + +
            $A$Function$x$Subroutine
            Short Precision Realpsb_spnrm1Short Precision Realpsb_genrm2s
            Long Precision Realpsb_spnrm1Long Precision Realpsb_genrm2s
            Short Precision Complexpsb_spnrm1
            Short Precision RealShort Precision Complexpsb_genrm2s
            Long Precision Complexpsb_spnrm1
            Long Precision RealLong Precision Complexpsb_genrm2s
            @@ -124,11 +124,6 @@ Data types


            -

            -

            -psb_spnrm1(A, desc_a, info)
            -
            -

            Type:
            @@ -137,20 +132,23 @@ psb_spnrm1(A, desc_a, info)
            On Entry
            -
            a
            -
            the local portion of the global sparse matrix +
            x
            +
            the local portion of global dense matrix $A$. + WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img20.png" + ALT="$x$">. +
            Scope: local
            -Type: required +Type: required
            Intent: in.
            -Specified as: an object of type spdatapsb_Tspmat_type. +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +containing numbers of type specified in +Table 9.
            desc_a
            contains data structures for communications. @@ -162,19 +160,23 @@ Type: required Intent: in.
            Specified as: an object of type descdatapsb_desc_type. + +

            On Return
            -
            Function value
            -
            is the 1-norm of sparse submatrix $A$. +
            res
            +
            contains the 1-norm of (the columns of) $x$.
            Scope: global
            -Specified as: a long precision real number. +Intent: out. +
            +Specified as: a long precision real number.
            info
            Error code. @@ -192,26 +194,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_spnrmi Infinity - Up: Computational routines - Previous: psb_genrm2s Generalized -   Next: psb_spnrm1 1-Norm + Up: Computational routines + Previous: psb_genrm2 2-Norm +   Contents diff --git a/docs/html/node57.html b/docs/html/node57.html index 5d3d5f83..5e1d898d 100644 --- a/docs/html/node57.html +++ b/docs/html/node57.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spnrmi -- Infinity Norm of Sparse Matrix - +psb_spnrm1 -- 1-Norm of Sparse Matrix + @@ -20,43 +20,43 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spmm Sparse - Up: Computational routines - Previous: psb_spnrm1 1-Norm -   Next: psb_spnrmi Infinity + Up: Computational routines + Previous: psb_genrm2s Generalized +   Contents

            -

            -psb_spnrmi -- Infinity Norm of Sparse Matrix +

            +psb_spnrm1 -- 1-Norm of Sparse Matrix

            -This function computes the infinity-norm of a matrix $A$: @@ -66,14 +66,14 @@ This function computes the infinity-norm of a matrix \begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath} + WIDTH="98" HEIGHT="28" BORDER="0" + SRC="img42.png" + ALT="\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath}">

            @@ -92,9 +92,9 @@ where:


            -
            +
            - - + - + - + - +
            Table 11: +Table 10: Data types
            @@ -106,16 +106,16 @@ Data types
            Function
            Short Precision Realpsb_spnrmipsb_spnrm1
            Long Precision Realpsb_spnrmipsb_spnrm1
            Short Precision Complexpsb_spnrmipsb_spnrm1
            Long Precision Complexpsb_spnrmipsb_spnrm1
            @@ -126,7 +126,7 @@ Data types

            -psb_spnrmi(A, desc_a, info)
            +psb_spnrm1(A, desc_a, info)
             

            @@ -167,7 +167,7 @@ Specified as: an object of type descdatapsb_desc_type.

            Function value
            -
            is the infinity-norm of sparse submatrix is the 1-norm of sparse submatrix $A$. @@ -192,26 +192,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_spmm Sparse - Up: Computational routines - Previous: psb_spnrm1 1-Norm -   Next: psb_spnrmi Infinity + Up: Computational routines + Previous: psb_genrm2s Generalized +   Contents diff --git a/docs/html/node58.html b/docs/html/node58.html index a9308716..5746c25b 100644 --- a/docs/html/node58.html +++ b/docs/html/node58.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spmm -- Sparse Matrix by Dense Matrix Product - +psb_spnrmi -- Infinity Norm of Sparse Matrix + @@ -20,130 +20,70 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spsm Triangular - Up: Computational routines - Previous: psb_spnrmi Infinity -   Next: psb_spmm Sparse + Up: Computational routines + Previous: psb_spnrm1 1-Norm +   Contents

            -

            -psb_spmm -- Sparse Matrix by Dense Matrix - Product +

            +psb_spnrmi -- Infinity Norm of Sparse Matrix

            -This subroutine computes the Sparse Matrix by Dense Matrix Product: - -

            -
            -

            - - - - - -
            \begin{displaymath}
-y \leftarrow \alpha A x + \beta y
-\end{displaymath} -(1)
            -

            -
            -
            - - - - - -
            \begin{displaymath}
-y \leftarrow \alpha A^T x + \beta y
-\end{displaymath} -(2)
            -

            +This function computes the infinity-norm of a matrix $A$:
            -
            - +

            +

            +
            - - - -
            \begin{displaymath}
-y \leftarrow \alpha A^H x + \beta y
-\end{displaymath} -(3)
            -

            -

            +\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath} +

            +
            +

            where:
            -
            $x$
            -
            is the global dense matrix $x_{:, :}$ -
            -
            $y$
            -
            is the global dense matrix $y_{:, :}$ -
            $A$
            -
            is the global sparse matrix represents the global matrix $A$ @@ -152,9 +92,9 @@ where:


            -
            +
            - - + ALT="$A$"> + - + - + - + - +
            Table 12: +Table 11: Data types
            @@ -162,32 +102,20 @@ Data types
            $A$, $x$, $y$, $\alpha$, $\beta$SubroutineFunction
            Short Precision Realpsb_spmmpsb_spnrmi
            Long Precision Realpsb_spmmpsb_spnrmi
            Short Precision Complexpsb_spmmpsb_spnrmi
            Long Precision Complexpsb_spmmpsb_spnrmi
            @@ -198,10 +126,8 @@ Data types

            -call psb_spmm(alpha, a, x, beta, y, desc_a, info)
            -call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
            -             & trans, work)
            -
            +psb_spnrmi(A, desc_a, info) +

            @@ -211,23 +137,8 @@ call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
            On Entry
            -
            alpha
            -
            the scalar $\alpha$. -
            -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: a number of the data type indicated in -Table 12. -
            a
            -
            the local portion of the sparse matrix +
            the local portion of the global sparse matrix in.
            Specified as: an object of type spdatapsb_Tspmat_type.
            -
            x
            -
            the local portion of global dense matrix -$x$. - -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 12. The rank of $x$ must be the same of $y$. -
            -
            beta
            -
            the scalar $\beta$. -
            -Scope: global -
            -Type: required -
            -Intent: in. -
            -Specified as: a number of the data type indicated in Table 12. -
            -
            y
            -
            the local portion of global dense matrix -$y$. - -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 12. The rank of $y$ must be the same of $x$. -
            desc_a
            contains data structures for communications.
            @@ -314,74 +163,18 @@ Intent: in.
            Specified as: an object of type descdatapsb_desc_type.
            -
            trans
            -
            indicates what kind of operation to perform. -
            -
            trans = N
            -
            the operation is specified by equation 1 -
            -
            trans = T
            -
            the operation is specified by equation -2 -
            -
            trans = C
            -
            the operation is specified by equation -3 -
            -
            -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Default: $trans = N$ -
            -Specified as: a character variable. - -

            -

            -
            work
            -
            work array. -
            -Scope: local -
            -Type: optional -
            -Intent: inout. -
            -Specified as: a rank one array of the same type of $x$ and $y$ with -the TARGET attribute. - -

            -

            On Return
            -
            y
            -
            the local portion of result matrix $y$. -
            -Scope: local -
            -Type: required +
            Function value
            +
            is the infinity-norm of sparse submatrix $A$.
            -Intent: inout. +Scope: global
            -Specified as: an array of rank one or two -containing numbers of type specified in -Table 12. +Specified as: a long precision real number.
            info
            Error code. @@ -399,26 +192,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: psb_spsm Triangular - Up: Computational routines - Previous: psb_spnrmi Infinity -   Next: psb_spmm Sparse + Up: Computational routines + Previous: psb_spnrm1 1-Norm +   Contents diff --git a/docs/html/node59.html b/docs/html/node59.html index c209455f..843af323 100644 --- a/docs/html/node59.html +++ b/docs/html/node59.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spsm -- Triangular System Solve - +psb_spmm -- Sparse Matrix by Dense Matrix Product + @@ -18,71 +18,105 @@ original version by: Nikos Drakos, CBLU, University of Leeds + - + - next - + up - previous - contents
            - Next: Communication routines - Up: Computational routines - Previous: psb_spmm Sparse -   Next: psb_spsm Triangular + Up: Computational routines + Previous: psb_spnrmi Infinity +   Contents

            -

            -psb_spsm -- Triangular System Solve +

            +psb_spmm -- Sparse Matrix by Dense Matrix + Product

            -This subroutine computes the Triangular System Solve: +This subroutine computes the Sparse Matrix by Dense Matrix Product:

            -

            -
            +
            +
            + -\begin{eqnarray*}
-y &\leftarrow& \alpha T^{-1} x + \beta y\\
-y &\leftarrow& \al...
-...-H} x + \beta y\\
-y &\leftarrow& \alpha T^{-H} D x + \beta y\\
-\end{eqnarray*}
            -

            + + + +
            \begin{displaymath}
+y \leftarrow \alpha A x + \beta y
+\end{displaymath} +(1)
            +

            +
            +
            + + + + + +
            \begin{displaymath}
+y \leftarrow \alpha A^T x + \beta y
+\end{displaymath} +(2)
            +

            +
            +
            + + + + + +
            \begin{displaymath}
+y \leftarrow \alpha A^H x + \beta y
+\end{displaymath} +(3)
            +

            where: @@ -107,50 +141,34 @@ where:

            $T$
            -
            is the global sparse block triangular submatrix $A$ +
            is the global sparse matrix $T$ -
            -
            $D$
            -
            is the scaling diagonal matrix. + SRC="img1.png" + ALT="$A$">
            -

            -

            -call psb_spsm(alpha, t, x, beta, y, desc_a, info)
            -call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
            -             & trans, unit, choice, diag, work)
            -
            -


            -
            +
            -
            Table 13: +Table 12: Data types
            - + - + - + - +
            $T$, $A$, $x$, $y$, $D$, $\alpha$, Subroutine
            Short Precision Realpsb_spsmpsb_spmm
            Long Precision Realpsb_spsmpsb_spmm
            Short Precision Complexpsb_spsmpsb_spmm
            Long Precision Complexpsb_spsmpsb_spmm
            @@ -178,6 +196,13 @@ Data types


            +

            +

            +call psb_spmm(alpha, a, x, beta, y, desc_a, info)
            +call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
            +             & trans, work)
            +
            +

            Type:
            @@ -199,14 +224,14 @@ Type: required Intent: in.
            Specified as: a number of the data type indicated in -Table 13. +Table 12. -
            t
            -
            the global portion of the sparse matrix +
            a
            +
            the local portion of the sparse matrix $T$. + SRC="img1.png" + ALT="$A$">.
            Scope: local
            @@ -214,8 +239,7 @@ Type: required
            Intent: in.
            -Specified as: an object type specified in -§ 3. +Specified as: an object of type spdatapsb_Tspmat_type.
            x
            the local portion of global dense matrix @@ -233,7 +257,7 @@ Intent: in.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 13. The rank of 12. The rank of $x$ must be the same of required
            Intent: in.
            -Specified as: a number of the data type indicated in Table 13. +Specified as: a number of the data type indicated in Table 12.
            y
            the local portion of global dense matrix @@ -271,7 +295,7 @@ Intent: inout.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 13. The rank of 12. The rank of $y$ must be the same of in. Specified as: an object of type descdatapsb_desc_type.
            trans
            -
            specify with unitd the operation to perform. +
            indicates what kind of operation to perform.
            -
            trans = 'N'
            -
            the operation is with no transposed matrix +
            trans = N
            +
            the operation is specified by equation 1
            -
            trans = 'T'
            -
            the operation is with transposed matrix. +
            trans = T
            +
            the operation is specified by equation +2
            -
            trans = 'C'
            -
            the operation is with conjugate transposed matrix. +
            trans = C
            +
            the operation is specified by equation +3
            Scope: global @@ -315,82 +341,11 @@ Default: $trans = N$
            Specified as: a character variable. -
            -
            unitd
            -
            specify with trans the operation to perform. -
            -
            unitd = 'U'
            -
            the operation is with no scaling -
            -
            unitd = 'L'
            -
            the operation is with left scaling -
            -
            unitd = 'R'
            -
            the operation is with right scaling. -
            -
            -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Default: $unitd = U$ -
            -Specified as: a character variable. -
            -
            choice
            -
            specifies the update of overlap elements to be performed - on exit: -
            -
            -
            psb_none_ -
            -
            -
            psb_sum_ -
            -
            -
            psb_avg_ -
            -
            -
            psb_square_root_ -
            -
            -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Default: psb_avg_ -
            -Specified as: an integer variable. -
            -
            diag
            -
            the diagonal scaling matrix. -
            -Scope: local -
            -Type: optional -
            -Intent: in. -
            -Default: -$diag(1) = 1 (no scaling)$ -
            -Specified as: a rank one array containing numbers of the type -indicated in Table 13. + +

            work
            -
            a work array. +
            work array.
            Scope: local
            @@ -401,8 +356,11 @@ Intent: inout. Specified as: a rank one array of the same type of $x$ with the -TARGET attribute. + ALT="$x$"> and $y$ with +the TARGET attribute.

            @@ -410,12 +368,10 @@ TARGET attribute.
            y
            -
            the local portion of global dense matrix -the local portion of result matrix $y$. - + ALT="$y$">.
            Scope: local
            @@ -425,7 +381,7 @@ Intent: inout.
            Specified as: an array of rank one or two containing numbers of type specified in -Table 13. +Table 12.
            info
            Error code. @@ -443,26 +399,26 @@ An integer value; 0 means no error has been detected.


            - next - + up - previous - contents
            - Next: Communication routines - Up: Computational routines - Previous: psb_spmm Sparse -   Next: psb_spsm Triangular + Up: Computational routines + Previous: psb_spnrmi Infinity +   Contents diff --git a/docs/html/node6.html b/docs/html/node6.html index 6743cc74..7b152cc0 100644 --- a/docs/html/node6.html +++ b/docs/html/node6.html @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: User-defined index mappings - Up: Up: General overview - Previous: Previous: Library contents -   Contents

            @@ -249,32 +249,32 @@ from optimal. Subsections
            - next - up - previous - contents
            - Next: Next: User-defined index mappings - Up: Up: General overview - Previous: Previous: Library contents -   Contents diff --git a/docs/html/node60.html b/docs/html/node60.html index 26af5587..d8395b8f 100644 --- a/docs/html/node60.html +++ b/docs/html/node60.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Communication routines - +psb_spsm -- Triangular System Solve + @@ -18,63 +18,453 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: psb_halo Halo - Up: userhtml - Previous: psb_spsm Triangular -   Next: Communication routines + Up: Computational routines + Previous: psb_spmm Sparse +   Contents

            -

            -Communication routines -

            -The routines in this chapter implement various global communication operators -on vectors associated with a discretization mesh. For auxiliary communication -routines not tied to a discretization space see 6. +

            +psb_spsm -- Triangular System Solve +

            -


            - -Subsections - - - -

            +This subroutine computes the Triangular System Solve: + +

            +

            +
            + +\begin{eqnarray*}
+y &\leftarrow& \alpha T^{-1} x + \beta y\\
+y &\leftarrow& \al...
+...-H} x + \beta y\\
+y &\leftarrow& \alpha T^{-H} D x + \beta y\\
+\end{eqnarray*}
            +

            + +

            +where: +

            +
            $x$
            +
            is the global dense matrix $x_{:, :}$ +
            +
            $y$
            +
            is the global dense matrix $y_{:, :}$ +
            +
            $T$
            +
            is the global sparse block triangular submatrix $T$ +
            +
            $D$
            +
            is the scaling diagonal matrix. +
            +
            + +

            +

            +call psb_spsm(alpha, t, x, beta, y, desc_a, info)
            +call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
            +             & trans, unit, choice, diag, work)
            +
            + +

            +

            +
            + + + +
            Table 13: +Data types
            +
            + + + + + + + + + + + + + + + + +
            $T$, $x$, $y$, $D$, $\alpha$, $\beta$Subroutine
            Short Precision Realpsb_spsm
            Long Precision Realpsb_spsm
            Short Precision Complexpsb_spsm
            Long Precision Complexpsb_spsm
            +
            +
            +

            +
            + +

            +

            +
            Type:
            +
            Synchronous. +
            +
            On Entry
            +
            +
            +
            alpha
            +
            the scalar $\alpha$. +
            +Scope: global +
            +Type: required +
            +Intent: in. +
            +Specified as: a number of the data type indicated in +Table 13. +
            +
            t
            +
            the global portion of the sparse matrix +$T$. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: an object type specified in +§ 3. +
            +
            x
            +
            the local portion of global dense matrix +$x$. + +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +containing numbers of type specified in +Table 13. The rank of $x$ must be the same of $y$. +
            +
            beta
            +
            the scalar $\beta$. +
            +Scope: global +
            +Type: required +
            +Intent: in. +
            +Specified as: a number of the data type indicated in Table 13. +
            +
            y
            +
            the local portion of global dense matrix +$y$. + +
            +Scope: local +
            +Type: required +
            +Intent: inout. +
            +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +containing numbers of type specified in +Table 13. The rank of $y$ must be the same of $x$. +
            +
            desc_a
            +
            contains data structures for communications. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: an object of type descdatapsb_desc_type. +
            +
            trans
            +
            specify with unitd the operation to perform. +
            +
            trans = 'N'
            +
            the operation is with no transposed matrix +
            +
            trans = 'T'
            +
            the operation is with transposed matrix. +
            +
            trans = 'C'
            +
            the operation is with conjugate transposed matrix. +
            +
            +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Default: $trans = N$ +
            +Specified as: a character variable. +
            +
            unitd
            +
            specify with trans the operation to perform. +
            +
            unitd = 'U'
            +
            the operation is with no scaling +
            +
            unitd = 'L'
            +
            the operation is with left scaling +
            +
            unitd = 'R'
            +
            the operation is with right scaling. +
            +
            +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Default: $unitd = U$ +
            +Specified as: a character variable. +
            +
            choice
            +
            specifies the update of overlap elements to be performed + on exit: +
            +
            +
            psb_none_ +
            +
            +
            psb_sum_ +
            +
            +
            psb_avg_ +
            +
            +
            psb_square_root_ +
            +
            +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Default: psb_avg_ +
            +Specified as: an integer variable. +
            +
            diag
            +
            the diagonal scaling matrix. +
            +Scope: local +
            +Type: optional +
            +Intent: in. +
            +Default: +$diag(1) = 1 (no scaling)$ +
            +Specified as: a rank one array containing numbers of the type +indicated in Table 13. +
            +
            work
            +
            a work array. +
            +Scope: local +
            +Type: optional +
            +Intent: inout. +
            +Specified as: a rank one array of the same type of $x$ with the +TARGET attribute. + +

            +

            +
            On Return
            +
            +
            +
            y
            +
            the local portion of global dense matrix +$y$. + +
            +Scope: local +
            +Type: required +
            +Intent: inout. +
            +Specified as: an array of rank one or two +containing numbers of type specified in +Table 13. +
            +
            info
            +
            Error code. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: Communication routines + Up: Computational routines + Previous: psb_spmm Sparse +   Contents + diff --git a/docs/html/node61.html b/docs/html/node61.html index 1f3fea07..a32d3998 100644 --- a/docs/html/node61.html +++ b/docs/html/node61.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_halo -- Halo Data Communication - +Communication routines + @@ -18,640 +18,63 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + + - next - + up - previous - contents
            - Next: psb_ovrl Overlap - Up: Communication routines - Previous: Communication routines -   Next: psb_halo Halo + Up: userhtml + Previous: psb_spsm Triangular +   Contents

            -

            -psb_halo -- Halo Data Communication -

            +

            +Communication routines +

            +The routines in this chapter implement various global communication operators +on vectors associated with a discretization mesh. For auxiliary communication +routines not tied to a discretization space see 6.

            -These subroutines gathers the values of the halo -elements, and (optionally) scale the result: - -

            -

            -
            - - -\begin{displaymath}x \leftarrow \alpha x \end{displaymath} -
            -
            -

            -where: -
            -
            $x$
            -
            is a global dense submatrix. -
            -
            - -

            -

            -
            - - - -
            Table 14: -Data types
            -
            - - - - - - - - - - - - - - - - - - - -
            $\alpha$, $x$Subroutine
            Integerpsb_halo
            Short Precision Realpsb_halo
            Long Precision Realpsb_halo
            Short Precision Complexpsb_halo
            Long Precision Complexpsb_halo
            -
            -
            -

            -
            - -

            -
            -\begin{lstlisting}
-call psb_halo(x, desc_a, info)
-call psb_halo(x, desc_a, info, alpha, work, data)
-\end{lstlisting} -
            - -

            -

            -
            Type:
            -
            Synchronous. -
            -
            On Entry
            -
            -
            -
            x
            -
            global dense matrix $x$. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 14. -
            -
            desc_a
            -
            contains data structures for communications. -
            -Scope: local -
            -Type: required -
            -Intent: in. -
            -Specified as: a structured data of type descdatapsb_desc_type. -
            -
            alpha
            -
            the scalar $\alpha$. -
            -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Default: $alpha = 1 $ -
            -Specified as: a number of the data type indicated in Table 14. -
            -
            work
            -
            the work array. -
            -Scope: local -
            -Type: optional -
            -Intent: inout. -
            -Specified as: a rank one array of the same type of $x$. -
            -
            data
            -
            index list selector. -
            -Scope: global -
            -Type: optional -
            -Specified as: an integer. Values:psb_comm_halo_,psb_comm_mov_, -psb_comm_ext_, default: psb_comm_halo_. Chooses the -index list on which to base the data exchange. - -

            -

            -
            On Return
            -
            -
            -
            x
            -
            global dense result matrix $x$. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Returned as: a rank one or two array -containing numbers of type specified in -Table 14. -
            -
            info
            -
            the local portion of result submatrix $y$. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value that contains an error code. -
            -
            - -
            - - - -
            Figure 7: -Sample discretization mesh.
            -
            -\includegraphics[scale=0.45]{figures/try8x8.eps} - - -\rotatebox{-90}{\includegraphics[scale=0.45]{figures/try8x8}} - -
            -
            - -

            -Usage Example -Consider the discretization mesh depicted in fig. 7, -partitioned among two processes as shown by the dashed line; the data -distribution is such that each process will own 32 entries in the -index space, with a halo made of 8 entries placed at local indices 33 -through 40. If process 0 assigns an initial value of 1 to its entries -in the $x$ vector, and process 1 assigns a value of 2, then after a -call to psb_halo the contents of the local vectors will be the -following: -
            -

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            -Process 0  -Process 1
            - I GLOB(I) X(I)   I GLOB(I) X(I)
            - 1 1 1.0   1 33 2.0
            - 2 2 1.0   2 34 2.0
            - 3 3 1.0   3 35 2.0
            - 4 4 1.0   4 36 2.0
            - 5 5 1.0   5 37 2.0
            - 6 6 1.0   6 38 2.0
            - 7 7 1.0   7 39 2.0
            - 8 8 1.0   8 40 2.0
            - 9 9 1.0   9 41 2.0
            - 10 10 1.0   10 42 2.0
            - 11 11 1.0   11 43 2.0
            - 12 12 1.0   12 44 2.0
            - 13 13 1.0   13 45 2.0
            - 14 14 1.0   14 46 2.0
            - 15 15 1.0   15 47 2.0
            - 16 16 1.0   16 48 2.0
            - 17 17 1.0   17 49 2.0
            - 18 18 1.0   18 50 2.0
            - 19 19 1.0   19 51 2.0
            - 20 20 1.0   20 52 2.0
            -21 21 1.0   21 53 2.0
            -22 22 1.0   22 54 2.0
            -23 23 1.0   23 55 2.0
            -24 24 1.0   24 56 2.0
            -25 25 1.0   25 57 2.0
            -26 26 1.0   26 58 2.0
            -27 27 1.0   27 59 2.0
            -28 28 1.0   28 60 2.0
            -29 29 1.0   29 61 2.0
            -30 30 1.0   30 62 2.0
            -31 31 1.0   31 63 2.0
            -32 32 1.0   32 64 2.0
            -33 33 2.0   33 25 1.0
            -34 34 2.0   34 26 1.0
            -35 35 2.0   35 27 1.0
            -36 36 2.0   36 28 1.0
            -37 37 2.0   37 29 1.0
            -38 38 2.0   38 30 1.0
            -39 39 2.0   39 31 1.0
            -40 40 2.0   40 32 1.0
            -
            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_ovrl Overlap - Up: Communication routines - Previous: Communication routines -   Contents - +

            + +Subsections + + + +

            diff --git a/docs/html/node62.html b/docs/html/node62.html index b152ac03..194b6633 100644 --- a/docs/html/node62.html +++ b/docs/html/node62.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_ovrl -- Overlap Update - +psb_halo -- Halo Data Communication + @@ -20,57 +20,58 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_gather Gather - Up: Communication routines - Previous: psb_halo Halo -   Next: psb_ovrl Overlap + Up: Communication routines + Previous: Communication routines +   Contents

            -

            -psb_ovrl -- Overlap Update +

            +psb_halo -- Halo Data Communication

            -These subroutines applies an overlap operator to the input vector: +These subroutines gathers the values of the halo +elements, and (optionally) scale the result:


            \begin{displaymath}x \leftarrow Q x \end{displaymath} + WIDTH="53" HEIGHT="24" BORDER="0" + SRC="img55.png" + ALT="\begin{displaymath}x \leftarrow \alpha x \end{displaymath}">

            @@ -80,52 +81,42 @@ where: WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" SRC="img20.png" ALT="$x$"> -
            is the global dense submatrix $x$ -
            -
            $Q$
            -
            is the overlap operator; it is the composition of two -operators $ P_a$ and $ P^{T}$. +
            is a global dense submatrix.


            -
            +
            -


            - next - + up - previous - contents
            - Next:psb_gather Gather - Up:Communication routines - Previous:psb_halo Halo -   Next:psb_ovrl Overlap + Up:Communication routines + Previous:Communication routines +   Contents diff --git a/docs/html/node63.html b/docs/html/node63.html index 250c2621..44fe2769 100644 --- a/docs/html/node63.html +++ b/docs/html/node63.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_gather -- Gather Global Dense Matrix - +psb_ovrl -- Overlap Update + @@ -20,123 +20,112 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next:psb_scatter Scatter - Up:Communication routines - Previous:psb_ovrl Overlap -   Next:psb_gather Gather + Up:Communication routines + Previous:psb_halo Halo +   Contents

            -

            -psb_gather -- Gather Global Dense Matrix +

            +psb_ovrl -- Overlap Update

            -These subroutines collect the portions of global dense matrix -distributed over all process into one single array stored on one -process. +These subroutines applies an overlap operator to the input vector:


            \begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath} + WIDTH="55" HEIGHT="27" BORDER="0" + SRC="img60.png" + ALT="\begin{displaymath}x \leftarrow Q x \end{displaymath}">

            where:
            $glob\_x$
            -
            is the global submatrix -$glob\_x_{1:m,1:n}$ -
            -
            $loc\_x_i$
            -
            is the local portion of global dense matrix on -process $i$. + WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img20.png" + ALT="$x$"> +
            is the global dense submatrix $x$
            $collect$
            -
            is the collect function. + WIDTH="17" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" + SRC="img61.png" + ALT="$Q$"> +
            is the overlap operator; it is the composition of two +operators $ P_a$ and $ P^{T}$.


            -
            +
            Table 15: +Table 14: Data types
            + + + - + - + - + - +
            $\alpha$, $x$ Subroutine
            Integerpsb_halo
            Short Precision Realpsb_ovrlpsb_halo
            Long Precision Realpsb_ovrlpsb_halo
            Short Precision Complexpsb_ovrlpsb_halo
            Long Precision Complexpsb_ovrlpsb_halo
            @@ -137,13 +128,13 @@ Data types


            \begin{lstlisting}
-call psb_ovrl(x, desc_a, info)
-call psb_ovrl(x, desc_a, info, update=update_type, work=work)
+call psb_halo(x, desc_a, info)
+call psb_halo(x, desc_a, info, alpha, work, data)
 \end{lstlisting} -
            +

            @@ -167,7 +158,7 @@ Intent: inout.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in -Table 15. +Table 14.
            desc_a
            contains data structures for communications. @@ -180,40 +171,24 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            -
            update
            -
            Update operator. -
            -
            update = psb_none_
            -
            Do nothing; -
            -
            update = psb_add_
            -
            Sum overlap entries, i.e. apply $P^T$; -
            -
            update = psb_avg_
            -
            Average overlap entries, i.e. apply $P_aP^T$; -
            -
            +
            alpha
            +
            the scalar $\alpha$. +
            Scope: global
            -Intent: in. +Type: optional
            -Default: -$update\_type = psb\_avg\_ $ +Intent: in.
            -Scope: global +Default: $alpha = 1 $
            -Specified as: a integer variable. +Specified as: a number of the data type indicated in Table 14.
            work
            the work array. @@ -224,10 +199,21 @@ Type: optional
            Intent: inout.
            -Specified as: a one dimensional array of the same type of $x$. + ALT="$x$">. +
            +
            data
            +
            index list selector. +
            +Scope: global +
            +Type: optional +
            +Specified as: an integer. Values:psb_comm_halo_,psb_comm_mov_, +psb_comm_ext_, default: psb_comm_halo_. Chooses the +index list on which to base the data exchange.

            @@ -246,12 +232,15 @@ Type: required
            Intent: inout.
            -Specified as: an array of rank one or two +Returned as: a rank one or two array containing numbers of type specified in -Table 15. +Table 14.
            info
            -
            Error code. +
            the local portion of result submatrix $y$.
            Scope: local
            @@ -259,80 +248,46 @@ Type: required
            Intent: out.
            -An integer value; 0 means no error has been detected. +An integer value that contains an error code.
            -

            -Notes - -

              -
            1. If there is no overlap in the data distribution associated with - the descriptor, no operations are performed; -
            2. -
            3. The operator $ P^{T}$ performs the reduction sum of overlap -elements; it is a ``prolongation'' operator $P^T$ that -replicates overlap elements, accounting for the physical replication -of data; -
            4. -
            5. The operator $ P_a$ performs a scaling on the overlap elements by -the amount of replication; thus, when combined with the reduction -operator, it implements the average of replicated elements over all of -their instances. -
            6. -
            - -

            - -

            +
            -
            Figure 8: +Figure 7: Sample discretization mesh.
            \includegraphics[scale=0.65]{figures/try8x8_ov.eps} + WIDTH="357" HEIGHT="313" ALIGN="BOTTOM" BORDER="0" + SRC="img59.png" + ALT="\includegraphics[scale=0.45]{figures/try8x8.eps}"> \rotatebox{-90}{\includegraphics[scale=0.65]{figures/try8x8_ov}} + WIDTH="1" HEIGHT="2" ALIGN="BOTTOM" BORDER="0" + SRC="img58.png" + ALT="\rotatebox{-90}{\includegraphics[scale=0.45]{figures/try8x8}}">
            -Example of use -Consider the discretization mesh depicted in fig. 8, -partitioned among two processes as shown by the dashed lines, with an -overlap of 1 extra layer with respect to the partition of -fig. 7; the data -distribution is such that each process will own 40 entries in the -index space, with an overlap of 16 entries placed at local indices 25 -through 40; the halo will run from local index 41 through local index 48.. If process 0 assigns an initial value of 1 to its entries +

            +Usage Example +Consider the discretization mesh depicted in fig. 7, +partitioned among two processes as shown by the dashed line; the data +distribution is such that each process will own 32 entries in the +index space, with a halo made of 8 entries placed at local indices 33 +through 40. If process 0 assigns an initial value of 1 to its entries in the $x$ vector, and process 1 assigns a value of 2, then after a -call to psb_ovrl with psb_avg_ and a call to -psb_halo_ the contents of the local vectors will be the -following (showing a transition among the two subdomains) - -

            +call to psb_halo the contents of the local vectors will be the +following:

            @@ -355,7 +310,7 @@ Process 1 - + @@ -363,7 +318,7 @@ Process 1 - + @@ -371,7 +326,7 @@ Process 1 - + @@ -379,7 +334,7 @@ Process 1 - + @@ -387,7 +342,7 @@ Process 1 - + @@ -395,7 +350,7 @@ Process 1 - + @@ -403,7 +358,7 @@ Process 1 - + @@ -411,7 +366,7 @@ Process 1 - + @@ -510,7 +465,7 @@ Process 1 +21 @@ -518,7 +473,7 @@ Process 1 +22 @@ -526,7 +481,7 @@ Process 1 +23 @@ -534,7 +489,7 @@ Process 1 +24 @@ -542,195 +497,131 @@ Process 1 +25 - + +26 - + +27 - + +28 - + +29 - + +30 - + +31 - + +32 - + +33 - + - + +34 - + - + +35 - + - + +36 - + - + +37 - + - + +38 - + - + +39 - + - + +40 - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            1.0   1 33 1.5 2.0
            2 1.0   2 34 1.5 2.0
            3 1.0   3 35 1.5 2.0
            4 1.0   4 36 1.5 2.0
            5 1.0   5 37 1.5 2.0
            6 1.0   6 38 1.5 2.0
            7 1.0   7 39 1.5 2.0
            8 1.0   8 40 1.5 2.0
            9 2.0
            - 21 21 1.0   21 2.0
            - 22 22 1.0   22 2.0
            - 23 23 1.0   23 2.0
            - 24 24 1.0   24 2.0
            - 25 25 1.5 1.0   25 57 2.0
            - 26 26 1.5 1.0   26 58 2.0
            - 27 27 1.5 1.0   27 59 2.0
            - 28 28 1.5 1.0   28 60 2.0
            - 29 29 1.5 1.0   29 61 2.0
            - 30 30 1.5 1.0   30 62 2.0
            - 31 31 1.5 1.0   31 63 2.0
            - 32 32 1.5 1.0   32 64 2.0
            - 33 33 1.5 2.0   33 25 1.5 1.0
            - 34 34 1.5 2.0   34 26 1.5 1.0
            - 35 35 1.5 2.0   35 27 1.5 1.0
            - 36 36 1.5 2.0   36 28 1.5 1.0
            - 37 37 1.5 2.0   37 29 1.5 1.0
            - 38 38 1.5 2.0   38 30 1.5 1.0
            - 39 39 1.5 2.0   39 31 1.5 1.0
            - 40 40 1.5 2.0   40 32 1.5
            - 41 41 2.0   41 17 1.0
            - 42 42 2.0   42 18 1.0
            - 43 43 2.0   43 19 1.0
            - 44 44 2.0   44 20 1.0
            - 45 45 2.0   45 21 1.0
            - 46 46 2.0   46 22 1.0
            - 47 47 2.0   47 23 1.0
            - 48 48 2.0   48 24 1.0
            @@ -739,26 +630,26 @@ Process 1
            -
            Table 16: +Table 15: Data types
            + WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" + SRC="img20.png" + ALT="$x$"> - - - - + - + - + - +
            $x_i, y$ Subroutine
            Integerpsb_gather
            Short Precision Realpsb_gatherpsb_ovrl
            Long Precision Realpsb_gatherpsb_ovrl
            Short Precision Complexpsb_gatherpsb_ovrl
            Long Precision Complexpsb_gatherpsb_ovrl
            @@ -148,13 +137,13 @@ Data types


            \begin{lstlisting}
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-call psb_gather(glob_x, loc_x, desc_a, info, root)
+call psb_ovrl(x, desc_a, info)
+call psb_ovrl(x, desc_a, info, update=update_type, work=work)
 \end{lstlisting} -
            +

            @@ -164,21 +153,21 @@ call psb_gather(glob_x, loc_x, desc_a, info, root)
            On Entry
            -
            loc_x
            -
            the local portion of global dense matrix -$glob\_x$. +
            x
            +
            global dense matrix $x$.
            Scope: local
            -Type: required +Type: required
            -Intent: in. +Intent: inout.
            Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -indicated in Table 16. +containing numbers of type specified in +Table 15.
            desc_a
            contains data structures for communications. @@ -191,43 +180,75 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            -
            root
            -
            The process that holds the global copy. If $root=-1$ all - the processes will have a copy of the global vector. -
            +
            update
            +
            Update operator. +
            +
            update = psb_none_
            +
            Do nothing; +
            +
            update = psb_add_
            +
            Sum overlap entries, i.e. apply $P^T$; +
            +
            update = psb_avg_
            +
            Average overlap entries, i.e. apply $P_aP^T$; +
            +
            Scope: global
            -Type: optional -
            Intent: in.
            -Specified as: an integer variable $-1\le root\le np-1$, default $-1$. + WIDTH="166" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" + SRC="img67.png" + ALT="$update\_type = psb\_avg\_ $"> +
            +Scope: global +
            +Specified as: a integer variable. +
            +
            work
            +
            the work array. +
            +Scope: local +
            +Type: optional +
            +Intent: inout. +
            +Specified as: a one dimensional array of the same type of $x$. + +

            On Return
            -
            glob_x
            -
            The array where the local parts must be gathered. +
            x
            +
            global dense result matrix $x$.
            -Scope: global +Scope: local
            -Type: required +Type: required
            -Intent: out. +Intent: inout.
            -Specified as: a rank one or two array with the ALLOCATABLE attribute. +Specified as: an array of rank one or two +containing numbers of type specified in +Table 15.
            info
            Error code. @@ -242,29 +263,502 @@ An integer value; 0 means no error has been detected.
            +

            +Notes + +

              +
            1. If there is no overlap in the data distribution associated with + the descriptor, no operations are performed; +
            2. +
            3. The operator $ P^{T}$ performs the reduction sum of overlap +elements; it is a ``prolongation'' operator $P^T$ that +replicates overlap elements, accounting for the physical replication +of data; +
            4. +
            5. The operator $ P_a$ performs a scaling on the overlap elements by +the amount of replication; thus, when combined with the reduction +operator, it implements the average of replicated elements over all of +their instances. +
            6. +
            + +

            + +

            + + + +
            Figure 8: +Sample discretization mesh.
            +
            +\includegraphics[scale=0.65]{figures/try8x8_ov.eps} + + +\rotatebox{-90}{\includegraphics[scale=0.65]{figures/try8x8_ov}} + +
            +
            + +Example of use +Consider the discretization mesh depicted in fig. 8, +partitioned among two processes as shown by the dashed lines, with an +overlap of 1 extra layer with respect to the partition of +fig. 7; the data +distribution is such that each process will own 40 entries in the +index space, with an overlap of 16 entries placed at local indices 25 +through 40; the halo will run from local index 41 through local index 48.. If process 0 assigns an initial value of 1 to its entries +in the $x$ vector, and process 1 assigns a value of 2, then after a +call to psb_ovrl with psb_avg_ and a call to +psb_halo_ the contents of the local vectors will be the +following (showing a transition among the two subdomains) + +

            +
            +

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +Process 0  +Process 1
            + I GLOB(I) X(I)   I GLOB(I) X(I)
            + 1 1 1.0   1 33 1.5
            + 2 2 1.0   2 34 1.5
            + 3 3 1.0   3 35 1.5
            + 4 4 1.0   4 36 1.5
            + 5 5 1.0   5 37 1.5
            + 6 6 1.0   6 38 1.5
            + 7 7 1.0   7 39 1.5
            + 8 8 1.0   8 40 1.5
            + 9 9 1.0   9 41 2.0
            + 10 10 1.0   10 42 2.0
            + 11 11 1.0   11 43 2.0
            + 12 12 1.0   12 44 2.0
            + 13 13 1.0   13 45 2.0
            + 14 14 1.0   14 46 2.0
            + 15 15 1.0   15 47 2.0
            + 16 16 1.0   16 48 2.0
            + 17 17 1.0   17 49 2.0
            + 18 18 1.0   18 50 2.0
            + 19 19 1.0   19 51 2.0
            + 20 20 1.0   20 52 2.0
            + 21 21 1.0   21 53 2.0
            + 22 22 1.0   22 54 2.0
            + 23 23 1.0   23 55 2.0
            + 24 24 1.0   24 56 2.0
            + 25 25 1.5   25 57 2.0
            + 26 26 1.5   26 58 2.0
            + 27 27 1.5   27 59 2.0
            + 28 28 1.5   28 60 2.0
            + 29 29 1.5   29 61 2.0
            + 30 30 1.5   30 62 2.0
            + 31 31 1.5   31 63 2.0
            + 32 32 1.5   32 64 2.0
            + 33 33 1.5   33 25 1.5
            + 34 34 1.5   34 26 1.5
            + 35 35 1.5   35 27 1.5
            + 36 36 1.5   36 28 1.5
            + 37 37 1.5   37 29 1.5
            + 38 38 1.5   38 30 1.5
            + 39 39 1.5   39 31 1.5
            + 40 40 1.5   40 32 1.5
            + 41 41 2.0   41 17 1.0
            + 42 42 2.0   42 18 1.0
            + 43 43 2.0   43 19 1.0
            + 44 44 2.0   44 20 1.0
            + 45 45 2.0   45 21 1.0
            + 46 46 2.0   46 22 1.0
            + 47 47 2.0   47 23 1.0
            + 48 48 2.0   48 24 1.0
            +
            +


            - next - + up - previous - contents
            - Next: psb_scatter Scatter - Up: Communication routines - Previous: psb_ovrl Overlap -   Next: psb_gather Gather + Up: Communication routines + Previous: psb_halo Halo +   Contents diff --git a/docs/html/node64.html b/docs/html/node64.html index e3bcae79..6a032f52 100644 --- a/docs/html/node64.html +++ b/docs/html/node64.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_scatter -- Scatter Global Dense Matrix - +psb_gather -- Gather Global Dense Matrix + @@ -18,59 +18,61 @@ original version by: Nikos Drakos, CBLU, University of Leeds + - + - next - + up - previous - contents
            - Next: Data management routines - Up: Communication routines - Previous: psb_gather Gather -   Next: psb_scatter Scatter + Up: Communication routines + Previous: psb_ovrl Overlap +   Contents

            -

            -psb_scatter -- Scatter Global Dense Matrix +

            +psb_gather -- Gather Global Dense Matrix

            -These subroutines scatters the portions of global dense matrix owned -by a process to all the processes in the processes grid. +These subroutines collect the portions of global dense matrix +distributed over all process into one single array stored on one +process.


            \begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath} + WIDTH="162" HEIGHT="28" BORDER="0" + SRC="img70.png" + ALT="\begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath}">

            @@ -80,7 +82,7 @@ where: WIDTH="47" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" SRC="img71.png" ALT="$glob\_x$"> -
            is the global matrix $i$.
            $scatter$
            -
            is the scatter function. + WIDTH="48" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" + SRC="img74.png" + ALT="$collect$"> +
            is the collect function.


            -
            +
            - - + - + - + - + - +
            Table 17: +Table 16: Data types
            @@ -122,19 +124,19 @@ Data types
            Subroutine
            Integerpsb_scatterpsb_gather
            Short Precision Realpsb_scatterpsb_gather
            Long Precision Realpsb_scatterpsb_gather
            Short Precision Complexpsb_scatterpsb_gather
            Long Precision Complexpsb_scatterpsb_gather
            @@ -146,11 +148,11 @@ Data types


            \begin{lstlisting}
-call psb_scatter(glob_x, loc_x, desc_a, info, root)
-call psb_scatter(glob_x, loc_x, desc_a, info, root)
+call psb_gather(glob_x, loc_x, desc_a, info, root)
+call psb_gather(glob_x, loc_x, desc_a, info, root)
 \end{lstlisting}
            @@ -162,16 +164,21 @@ call psb_scatter(glob_x, loc_x, desc_a, info, root)

            On Entry
            -
            glob_x
            -
            The array that must be scattered into local pieces. +
            loc_x
            +
            the local portion of global dense matrix +$glob\_x$.
            -Scope: global +Scope: local
            Type: required
            Intent: in.
            -Specified as: a rank one or two array. +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type +indicated in Table 16.
            desc_a
            contains data structures for communications. @@ -189,7 +196,7 @@ Specified as: a structured data of type descdatapsb_desc_type. WIDTH="75" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" SRC="img77.png" ALT="$root=-1$"> all - the processes have a copy of the global vector. + the processes will have a copy of the global vector.
            Scope: global
            @@ -211,21 +218,16 @@ Specified as: an integer variable - next - + up - previous - contents
            - Next: Data management routines - Up: Communication routines - Previous: psb_gather Gather -   Next: psb_scatter Scatter + Up: Communication routines + Previous: psb_ovrl Overlap +   Contents diff --git a/docs/html/node65.html b/docs/html/node65.html index b4b46ab1..1ed50a0e 100644 --- a/docs/html/node65.html +++ b/docs/html/node65.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Data management routines - +psb_scatter -- Scatter Global Dense Matrix + @@ -18,119 +18,253 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: psb_cdall Allocates - Up: userhtml - Previous: psb_scatter Scatter -   Next: Data management routines + Up: Communication routines + Previous: psb_gather Gather +   Contents

            -

            - +

            +psb_scatter -- Scatter Global Dense Matrix +

            + +

            +These subroutines scatters the portions of global dense matrix owned +by a process to all the processes in the processes grid. + +

            +

            +
            + + +\begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath} +
            +
            +

            +where: +
            +
            $glob\_x$
            +
            is the global matrix +$glob\_x_{1:m,1:n}$ +
            +
            $loc\_x_i$
            +
            is the local portion of global dense matrix on +process $i$. +
            +
            $scatter$
            +
            is the scatter function. +
            +
            + +

            +

            +
            + + + +
            Table 17: +Data types
            +
            + + + + + + + + + + + + + + + + + + + +
            $x_i, y$Subroutine
            Integerpsb_scatter
            Short Precision Realpsb_scatter
            Long Precision Realpsb_scatter
            Short Precision Complexpsb_scatter
            Long Precision Complexpsb_scatter
            +
            +
            +


            -Data management routines -

            -


            - -Subsections +
            +\begin{lstlisting}
+call psb_scatter(glob_x, loc_x, desc_a, info, root)
+call psb_scatter(glob_x, loc_x, desc_a, info, root)
+\end{lstlisting} +
            - - -

            +

            +

            +
            Type:
            +
            Synchronous. +
            +
            On Entry
            +
            +
            +
            glob_x
            +
            The array that must be scattered into local pieces. +
            +Scope: global +
            +Type: required +
            +Intent: in. +
            +Specified as: a rank one or two array. +
            +
            desc_a
            +
            contains data structures for communications. +
            +Scope: local +
            +Type: required +
            +Intent: in. +
            +Specified as: a structured data of type descdatapsb_desc_type. +
            +
            root
            +
            The process that holds the global copy. If $root=-1$ all + the processes have a copy of the global vector. +
            +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Specified as: an integer variable +$-1\le root\le np-1$, default $-1$. +
            +
            On Return
            +
            +
            +
            loc_x
            +
            the local portion of global dense matrix +$glob\_x$. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +Specified as: a rank one or two array containing numbers of the type +indicated in Table 17. +
            +
            info
            +
            Error code. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected. +
            +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: Data management routines + Up: Communication routines + Previous: psb_gather Gather +   Contents + diff --git a/docs/html/node66.html b/docs/html/node66.html index d304cc33..cff0e9d0 100644 --- a/docs/html/node66.html +++ b/docs/html/node66.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_cdall -- Allocates a communication descriptor - +Data management routines + @@ -18,435 +18,119 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + + - next - + up - previous - contents
            - Next: psb_cdins Communication - Up: Data management routines - Previous: Data management routines -   Next: psb_cdall Allocates + Up: userhtml + Previous: psb_scatter Scatter +   Contents

            -

            -psb_cdall -- Allocates a communication descriptor -

            - -

            -

            -call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
            -call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
            -call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.,lidx=lidx])
            -call psb_cdall(icontxt, desc_a, info,nl=nl)
            -call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
            -
            - -

            -This subroutine initializes the communication descriptor associated -with an index space. One of the optional arguments -parts, vg, vl, nl or repl -must be specified, thereby choosing -the specific initialization strategy. -

            -
            On Entry
            -
            -
            -
            Type:
            -
            Synchronous. -
            -
            icontxt
            -
            the communication context. -
            -Scope:global. -
            -Type:required. -
            -Intent: in. -
            -Specified as: an integer value. -
            -
            vg
            -
            Data allocation: each index -$i\in \{1\dots mg\}$ is allocated - to process $vg(i)$. -
            -Scope:global. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: an integer array. -
            -
            flag
            -
            Specifies whether entries in $vg$ are zero- or one-based. -
            -Scope:global. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: an integer value $0,1$, default $0$. - -

            -

            -
            mg
            -
            the (global) number of rows of the problem. -
            -Scope:global. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: an integer value. It is required if parts or -repl is specified, it is optional if vg is specified. -
            -
            parts
            -
            the subroutine that defines the partitioning scheme. -
            -Scope:global. -
            -Type:required. -
            -Specified as: a subroutine. -
            -
            vl
            -
            Data allocation: the set of global indices - $vl(1:nl)$ belonging to the calling process. -
            -Scope:local. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: an integer array. -
            -
            nl
            -
            Data allocation: in a generalized block-row distribution the - number of indices belonging to the current process. -
            -Scope:local. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: an integer value. May be specified together with -vl. -
            -
            repl
            -
            Data allocation: build a replicated index space - (i.e. all processes own all indices). -
            -Scope:global. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: the logical value .true. -
            -
            globalcheck
            -
            Data allocation: do global checks on the local - index lists vl -
            -Scope:global. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: a logical value, default: .true. -
            -
            lidx
            -
            Data allocation: the set of local indices - $lidx(1:nl)$ to be assigned to the global indices $vl$. -
            -Scope:local. -
            -Type:optional. -
            -Intent: in. -
            -Specified as: an integer array. -
            -
            - -

            -

            -
            On Return
            -
            -
            -
            desc_a
            -
            the communication descriptor. -
            -Scope:local. -
            -Type:required. -
            -Intent: out. -
            -Specified as: a structured data of type descdatapsb_desc_type. -
            -
            info
            -
            Error code. +

            +
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value; 0 means no error has been detected. -

            -
            +Data management routines +

            -Notes +


            + +Subsections -
              -
            1. One of the optional arguments parts, vg, - vl, nl or repl must be specified, thereby choosing the - initialization strategy as follows: -
              -
              parts
              -
              In this case we have a subroutine specifying the mapping - between global indices and process/local index pairs. If this - optional argument is specified, then it is mandatory to - specify the argument mg as well. - The subroutine must conform to the following interface: -
              -  interface 
              -     subroutine psb_parts(glob_index,mg,np,pv,nv)
              -       integer, intent (in)  :: glob_index,np,mg
              -       integer, intent (out) :: nv, pv(*)
              -     end subroutine psb_parts
              -  end interface
              -
              - The input arguments are: -
              -
              glob_index
              -
              The global index to be mapped; - -
              -
              np
              -
              The number of processes in the mapping; - -
              -
              mg
              -
              The total number of global rows in the mapping; - -
              -
              - The output arguments are: -
              -
              nv
              -
              The number of entries in pv; - -
              -
              pv
              -
              A vector containing the indices of the processes to - which the global index should be assigend; each entry must satisfy - -$0\le pv(i) < np$; if $nv>1$ we have an index assigned to multiple - processes, i.e. we have an overlap among the subdomains. - -
              -
              -
              -
              vg
              -
              In this case the association between an index and a process - is specified via an integer vector vg(1:mg); - each index -$i\in \{1\dots mg\}$ is assigned to process $vg(i)$. - The vector vg must be identical on all - calling processes; its entries may have the ranges $(0\dots np-1)$ - or $(1\dots np)$ according to the value of flag. - The size $mg$ may be specified via the optional argument mg; - the default is to use the entire vector vg, thus having - mg=size(vg). -
              -
              vl
              -
              In this case we are specifying the list of indices - vl(1:nl) assigned to the current process; thus, the global - problem size $mg$ is given by - the range of the aggregate of the individual vectors vl specified - in the calling processes. The size may be specified via the optional - argument nl; the default is to use the entire vector - vl, thus having nl=size(vl). - If globalcheck=.true. the subroutine will check how many - times each entry in the global index space $(1\dots mg)$ is - specified in the input lists vl, thus allowing for the - presence of overlap in the input, and checking for ``orphan'' - indices. If globalcheck=.false., the subroutine will not - check for overlap, and may be significantly faster, but the user - is implicitly guaranteeing that there are neither orphan nor - overlap indices. -
              -
              lidx
              -
              The optional argument lidx is available for - those cases in which the user has already established a - global-to-local mapping; if it is specified, each index in - vl(i) will be mapped to the corresponding local index - lidx(i). When specifying the argument lidx the user - would also likely employ lidx in calls to psb_cdins - and local in calls to psb_spins and psb_geins; - see also sec. 2.3.1. -
              -
              nl
              -
              If this argument is specified alone (i.e. without vl) - the result is a generalized row-block distribution in which each - process $I$ gets assigned a consecutive chunk of $N_I=nl$ global - indices. -
              -
              repl
              -
              This arguments specifies to replicate all indices on - all processes. This is a special purpose data allocation that is - useful in the construction of some multilevel preconditioners. -
              -
              -
            2. -
            3. On exit from this routine the descriptor is in the build - state. -
            4. -
            5. Calling the routine with vg or parts implies that - every process will scan the entire index space to figure out the - local indices. -
            6. -
            7. Overlapped indices are possible with both parts and - vl invocations. -
            8. -
            9. When the subroutine is invoked with vl in - conjunction with globalcheck=.true., it will perform a scan - of the index space to search for overlap or orphan indices. -
            10. -
            11. When the subroutine is invoked with vl in - conjunction with globalcheck=.false., no index space scan - will take place. Thus it is the responsibility of the user to make - sure that the indices specified in vl have neither orphans nor - overlaps; if this assumption fails, results will be - unpredictable. -
            12. -
            13. Orphan and overlap indices are - impossible by construction when the subroutine is invoked with - nl (alone), or vg. -
            14. -
            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_cdins Communication - Up: Data management routines - Previous: Data management routines -   Contents - + + +

            diff --git a/docs/html/node67.html b/docs/html/node67.html index 66f119d5..e0f1b250 100644 --- a/docs/html/node67.html +++ b/docs/html/node67.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_cdins -- Communication descriptor insert routine - +psb_cdall -- Allocates a communication descriptor + @@ -20,141 +20,207 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_cdasb Communication - Up: Data management routines - Previous: psb_cdall Allocates -   Next: psb_cdins Communication + Up: Data management routines + Previous: Data management routines +   Contents

            -

            -psb_cdins -- Communication descriptor insert - routine +

            +psb_cdall -- Allocates a communication descriptor

            -call psb_cdins(nz, ia, ja, desc_a, info [,ila,jla])
            -call psb_cdins(nz,ja,desc,info[,jla,mask,lidx])
            +call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
            +call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
            +call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.,lidx=lidx])
            +call psb_cdall(icontxt, desc_a, info,nl=nl)
            +call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
             

            -This subroutine examines the edges of the graph associated with the -discretization mesh (and isomorphic to the sparsity pattern of a -linear system coefficient matrix), storing them as necessary into the -communication descriptor. In the first form the edges are specified as -pairs of indices $ia(i),ja(i)$; the starting index $ia(i)$ should -belong to the current process. -In the second form only the remote indices parts, vg, vl, nl or repl +must be specified, thereby choosing +the specific initialization strategy. +

            +
            On Entry
            +
            +
            +
            Type:
            +
            Synchronous. +
            +
            icontxt
            +
            the communication context. +
            +Scope:global. +
            +Type:required. +
            +Intent: in. +
            +Specified as: an integer value. +
            +
            vg
            +
            Data allocation: each index +$i\in \{1\dots mg\}$ is allocated + to process $ja(i)$ are specified. + SRC="img84.png" + ALT="$vg(i)$">. +
            +Scope:global. +
            +Type:optional. +
            +Intent: in. +
            +Specified as: an integer array. +
            +
            flag
            +
            Specifies whether entries in $vg$ are zero- or one-based. +
            +Scope:global. +
            +Type:optional. +
            +Intent: in. +
            +Specified as: an integer value $0,1$, default $0$.

            -

            -
            Type:
            -
            Asynchronous.
            -
            On Entry
            -
            +
            mg
            +
            the (global) number of rows of the problem. +
            +Scope:global. +
            +Type:optional. +
            +Intent: in. +
            +Specified as: an integer value. It is required if parts or +repl is specified, it is optional if vg is specified. +
            +
            parts
            +
            the subroutine that defines the partitioning scheme. +
            +Scope:global. +
            +Type:required. +
            +Specified as: a subroutine.
            -
            nz
            -
            the number of points being inserted. +
            vl
            +
            Data allocation: the set of global indices + $vl(1:nl)$ belonging to the calling process.
            -Scope: local. +Scope:local.
            -Type: required. +Type:optional.
            Intent: in.
            -Specified as: an integer value. +Specified as: an integer array.
            -
            ia
            -
            the indices of the starting vertex of the edges being inserted. +
            nl
            +
            Data allocation: in a generalized block-row distribution the + number of indices belonging to the current process.
            -Scope: local. +Scope:local.
            -Type: required. +Type:optional.
            Intent: in.
            -Specified as: an integer array of length $nz$. +Specified as: an integer value. May be specified together with +vl.
            -
            ja
            -
            the indices of the end vertex of the edges being inserted. +
            repl
            +
            Data allocation: build a replicated index space + (i.e. all processes own all indices).
            -Scope: local. +Scope:global.
            -Type: required. +Type:optional.
            Intent: in.
            -Specified as: an integer array of length $nz$. +Specified as: the logical value .true.
            -
            mask
            -
            Mask entries in ja, they are inserted only when the - corresponding mask entries are .true. +
            globalcheck
            +
            Data allocation: do global checks on the local + index lists vl
            -Scope: local. +Scope:global.
            -Type: optional. +Type:optional.
            Intent: in.
            -Specified as: a logical array of length $nz$, default .true.. +Specified as: a logical value, default: .true.
            lidx
            -
            User defined local indices for ja. +
            Data allocation: the set of local indices + $lidx(1:nl)$ to be assigned to the global indices $vl$.
            -Scope: local. +Scope:local.
            -Type: optional. +Type:optional.
            Intent: in.
            -Specified as: an integer array of length $nz$. +Specified as: an integer array.
            @@ -164,13 +230,13 @@ Specified as: an integer array of length
            desc_a
            -
            the updated communication descriptor. +
            the communication descriptor.
            Scope:local.
            Type:required.
            -Intent: inout. +Intent: out.
            Specified as: a structured data of type descdatapsb_desc_type.
            @@ -185,75 +251,200 @@ Intent: out.
            An integer value; 0 means no error has been detected.
            -
            ila
            -
            the local indices of the starting vertex of the edges being inserted. -
            -Scope: local. -
            -Type: optional. -
            -Intent: out. -
            -Specified as: an integer array of length $nz$. -
            -
            jla
            -
            the local indices of the end vertex of the edges being inserted. -
            -Scope: local. -
            -Type: optional. -
            -Intent: out. -
            -Specified as: an integer array of length $nz$. +

            -

            - Notes
              -
            1. This routine may only be called if the descriptor is in the - build state; +
            2. One of the optional arguments parts, vg, + vl, nl or repl must be specified, thereby choosing the + initialization strategy as follows: +
              +
              parts
              +
              In this case we have a subroutine specifying the mapping + between global indices and process/local index pairs. If this + optional argument is specified, then it is mandatory to + specify the argument mg as well. + The subroutine must conform to the following interface: +
              +  interface 
              +     subroutine psb_parts(glob_index,mg,np,pv,nv)
              +       integer, intent (in)  :: glob_index,np,mg
              +       integer, intent (out) :: nv, pv(*)
              +     end subroutine psb_parts
              +  end interface
              +
              + The input arguments are: +
              +
              glob_index
              +
              The global index to be mapped; + +
              +
              np
              +
              The number of processes in the mapping; + +
              +
              mg
              +
              The total number of global rows in the mapping; + +
              +
              + The output arguments are: +
              +
              nv
              +
              The number of entries in pv; + +
              +
              pv
              +
              A vector containing the indices of the processes to + which the global index should be assigend; each entry must satisfy + +$0\le pv(i) < np$; if $nv>1$ we have an index assigned to multiple + processes, i.e. we have an overlap among the subdomains. + +
              +
              +
              +
              vg
              +
              In this case the association between an index and a process + is specified via an integer vector vg(1:mg); + each index +$i\in \{1\dots mg\}$ is assigned to process $vg(i)$. + The vector vg must be identical on all + calling processes; its entries may have the ranges $(0\dots np-1)$ + or $(1\dots np)$ according to the value of flag. + The size $mg$ may be specified via the optional argument mg; + the default is to use the entire vector vg, thus having + mg=size(vg). +
              +
              vl
              +
              In this case we are specifying the list of indices + vl(1:nl) assigned to the current process; thus, the global + problem size $mg$ is given by + the range of the aggregate of the individual vectors vl specified + in the calling processes. The size may be specified via the optional + argument nl; the default is to use the entire vector + vl, thus having nl=size(vl). + If globalcheck=.true. the subroutine will check how many + times each entry in the global index space $(1\dots mg)$ is + specified in the input lists vl, thus allowing for the + presence of overlap in the input, and checking for ``orphan'' + indices. If globalcheck=.false., the subroutine will not + check for overlap, and may be significantly faster, but the user + is implicitly guaranteeing that there are neither orphan nor + overlap indices. +
              +
              lidx
              +
              The optional argument lidx is available for + those cases in which the user has already established a + global-to-local mapping; if it is specified, each index in + vl(i) will be mapped to the corresponding local index + lidx(i). When specifying the argument lidx the user + would also likely employ lidx in calls to psb_cdins + and local in calls to psb_spins and psb_geins; + see also sec. 2.3.1. +
              +
              nl
              +
              If this argument is specified alone (i.e. without vl) + the result is a generalized row-block distribution in which each + process $I$ gets assigned a consecutive chunk of $N_I=nl$ global + indices. +
              +
              repl
              +
              This arguments specifies to replicate all indices on + all processes. This is a special purpose data allocation that is + useful in the construction of some multilevel preconditioners. +
              +
            3. -
            4. This routine automatically ignores edges that do not -insist on the current process, i.e. edges for which neither the starting -nor the end vertex belong to the current process. +
            5. On exit from this routine the descriptor is in the build + state.
            6. -
            7. The second form of this routine will be useful when dealing with - user-specified index mappings; see also 2.3.1. +
            8. Calling the routine with vg or parts implies that + every process will scan the entire index space to figure out the + local indices. +
            9. +
            10. Overlapped indices are possible with both parts and + vl invocations. +
            11. +
            12. When the subroutine is invoked with vl in + conjunction with globalcheck=.true., it will perform a scan + of the index space to search for overlap or orphan indices. +
            13. +
            14. When the subroutine is invoked with vl in + conjunction with globalcheck=.false., no index space scan + will take place. Thus it is the responsibility of the user to make + sure that the indices specified in vl have neither orphans nor + overlaps; if this assumption fails, results will be + unpredictable. +
            15. +
            16. Orphan and overlap indices are + impossible by construction when the subroutine is invoked with + nl (alone), or vg.


            - next - + up - previous - contents
            - Next: psb_cdasb Communication - Up: Data management routines - Previous: psb_cdall Allocates -   Next: psb_cdins Communication + Up: Data management routines + Previous: Data management routines +   Contents diff --git a/docs/html/node68.html b/docs/html/node68.html index 53cdf703..731e3fe5 100644 --- a/docs/html/node68.html +++ b/docs/html/node68.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_cdasb -- Communication descriptor assembly routine - +psb_cdins -- Communication descriptor insert routine + @@ -20,65 +20,141 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_cdcpy Copies - Up: Data management routines - Previous: psb_cdins Communication -   Next: psb_cdasb Communication + Up: Data management routines + Previous: psb_cdall Allocates +   Contents

            -

            -psb_cdasb -- Communication descriptor assembly +

            +psb_cdins -- Communication descriptor insert routine

            -call psb_cdasb(desc_a, info)
            +call psb_cdins(nz, ia, ja, desc_a, info [,ila,jla])
            +call psb_cdins(nz,ja,desc,info[,jla,mask,lidx])
             
            +

            +This subroutine examines the edges of the graph associated with the +discretization mesh (and isomorphic to the sparsity pattern of a +linear system coefficient matrix), storing them as necessary into the +communication descriptor. In the first form the edges are specified as +pairs of indices $ia(i),ja(i)$; the starting index $ia(i)$ should +belong to the current process. +In the second form only the remote indices $ja(i)$ are specified. +

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            -
            desc_a
            -
            the communication descriptor. +
            nz
            +
            the number of points being inserted.
            -Scope:local. +Scope: local.
            -Type:required. +Type: required.
            -Intent: inout. +Intent: in.
            -Specified as: a structured data of type descdatapsb_desc_type. +Specified as: an integer value. +
            +
            ia
            +
            the indices of the starting vertex of the edges being inserted. +
            +Scope: local. +
            +Type: required. +
            +Intent: in. +
            +Specified as: an integer array of length $nz$. +
            +
            ja
            +
            the indices of the end vertex of the edges being inserted. +
            +Scope: local. +
            +Type: required. +
            +Intent: in. +
            +Specified as: an integer array of length $nz$. +
            +
            mask
            +
            Mask entries in ja, they are inserted only when the + corresponding mask entries are .true. +
            +Scope: local. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: a logical array of length $nz$, default .true.. +
            +
            lidx
            +
            User defined local indices for ja. +
            +Scope: local. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: an integer array of length $nz$.
            @@ -88,7 +164,7 @@ Specified as: a structured data of type descdatapsb_desc_type.
            desc_a
            -
            the communication descriptor. +
            the updated communication descriptor.
            Scope:local.
            @@ -109,17 +185,77 @@ Intent: out.
            An integer value; 0 means no error has been detected.
            +
            ila
            +
            the local indices of the starting vertex of the edges being inserted. +
            +Scope: local. +
            +Type: optional. +
            +Intent: out. +
            +Specified as: an integer array of length $nz$. +
            +
            jla
            +
            the local indices of the end vertex of the edges being inserted. +
            +Scope: local. +
            +Type: optional. +
            +Intent: out. +
            +Specified as: an integer array of length $nz$. + +

            +

            Notes
              -
            1. On exit from this routine the descriptor is in the assembled - state. +
            2. This routine may only be called if the descriptor is in the + build state; +
            3. +
            4. This routine automatically ignores edges that do not +insist on the current process, i.e. edges for which neither the starting +nor the end vertex belong to the current process. +
            5. +
            6. The second form of this routine will be useful when dealing with + user-specified index mappings; see also 2.3.1.

            -


            +
            + + +next + +up + +previous + +contents +
            + Next: psb_cdasb Communication + Up: Data management routines + Previous: psb_cdall Allocates +   Contents + diff --git a/docs/html/node69.html b/docs/html/node69.html index 6518cc2c..1d1dd1d0 100644 --- a/docs/html/node69.html +++ b/docs/html/node69.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_cdcpy -- Copies a communication descriptor - +psb_cdasb -- Communication descriptor assembly routine + @@ -20,66 +20,65 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_cdfree Frees - Up: Data management routines - Previous: psb_cdasb Communication -   Next: psb_cdcpy Copies + Up: Data management routines + Previous: psb_cdins Communication +   Contents

            -

            -psb_cdcpy -- Copies a communication descriptor +

            +psb_cdasb -- Communication descriptor assembly + routine

            -call psb_cdcpy(desc_in, desc_out, info)
            +call psb_cdasb(desc_a, info)
             

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            -
            desc_in
            +
            desc_a
            the communication descriptor.
            Scope:local.
            Type:required.
            -Intent: in. +Intent: inout.
            Specified as: a structured data of type descdatapsb_desc_type. - -

            @@ -88,14 +87,14 @@ Specified as: a structured data of type descdatapsb_desc_type.
            On Return
            -
            desc_out
            -
            the communication descriptor copy. +
            desc_a
            +
            the communication descriptor.
            Scope:local.
            Type:required.
            -Intent: out. +Intent: inout.
            Specified as: a structured data of type descdatapsb_desc_type.
            @@ -111,6 +110,13 @@ Intent: out. An integer value; 0 means no error has been detected. +Notes + +
              +
            1. On exit from this routine the descriptor is in the assembled + state. +
            2. +



            diff --git a/docs/html/node7.html b/docs/html/node7.html index 1a99df92..57f2a962 100644 --- a/docs/html/node7.html +++ b/docs/html/node7.html @@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Programming model - Up: Up: Application structure - Previous: Previous: Application structure -   Contents

            diff --git a/docs/html/node70.html b/docs/html/node70.html index e43cc64a..2a35ec12 100644 --- a/docs/html/node70.html +++ b/docs/html/node70.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_cdfree -- Frees a communication descriptor - +psb_cdcpy -- Copies a communication descriptor + @@ -20,64 +20,66 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_cdbldext Build - Up: Data management routines - Previous: psb_cdcpy Copies -   Next: psb_cdfree Frees + Up: Data management routines + Previous: psb_cdasb Communication +   Contents

            -

            -psb_cdfree -- Frees a communication descriptor +

            +psb_cdcpy -- Copies a communication descriptor

            -call psb_cdfree(desc_a, info)
            +call psb_cdcpy(desc_in, desc_out, info)
             

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            -
            desc_a
            -
            the communication descriptor to be freed. +
            desc_in
            +
            the communication descriptor.
            Scope:local.
            Type:required.
            -Intent: inout. +Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type. + +

            @@ -86,6 +88,17 @@ Specified as: a structured data of type descdatapsb_desc_type.
            On Return
            +
            desc_out
            +
            the communication descriptor copy. +
            +Scope:local. +
            +Type:required. +
            +Intent: out. +
            +Specified as: a structured data of type descdatapsb_desc_type. +
            info
            Error code.
            diff --git a/docs/html/node71.html b/docs/html/node71.html index 14e9a55f..bd1a61d9 100644 --- a/docs/html/node71.html +++ b/docs/html/node71.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_cdbldext -- Build an extended communication descriptor - +psb_cdfree -- Frees a communication descriptor + @@ -20,51 +20,47 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spall Allocates - Up: Data management routines - Previous: psb_cdfree Frees -   Next: psb_cdbldext Build + Up: Data management routines + Previous: psb_cdcpy Copies +   Contents

            -

            -psb_cdbldext -- Build an extended communication - descriptor +

            +psb_cdfree -- Frees a communication descriptor

            -call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)
            +call psb_cdfree(desc_a, info)
             

            -This subroutine builds an extended communication descriptor, based on -the input descriptor desc_a and on the stencil specified -through the input sparse matrix a.

            Type:
            Synchronous. @@ -72,54 +68,16 @@ through the input sparse matrix a.
            On Entry
            -
            a
            -
            A sparse matrix -Scope:local. -
            -Type:required. -
            -Intent: in. -
            -Specified as: a structured data type. -
            desc_a
            -
            the communication descriptor. +
            the communication descriptor to be freed.
            Scope:local.
            Type:required.
            -Intent: in. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            nl
            -
            the number of additional layers desired. -
            -Scope:global. -
            -Type:required. -
            -Intent: in. -
            -Specified as: an integer value $nl\ge 0$. -
            -
            extype
            -
            the kind of estension required. -
            -Scope:global. -
            -Type:optional . -
            -Intent: in. +Intent: inout.
            -Specified as: an integer value -psb_ovt_xhal_, psb_ovt_asov_, default: psb_ovt_xhal_ - -

            +Specified as: a structured data of type descdatapsb_desc_type.

            @@ -128,17 +86,6 @@ Specified as: an integer value
            On Return
            -
            desc_out
            -
            the extended communication descriptor. -
            -Scope:local. -
            -Type:required. -
            -Intent: inout. -
            -Specified as: a structured data of type descdatapsb_desc_type. -
            info
            Error code.
            @@ -153,48 +100,7 @@ An integer value; 0 means no error has been detected.

            -Notes - -

              -
            1. Specifying psb_ovt_xhal_ for the extype argument - the user will obtain a descriptor for a domain partition in which - the additional layers are fetched as part of an (extended) halo; - however the index-to-process mapping is identical to that of the - base descriptor; -
            2. -
            3. Specifying psb_ovt_asov_ for the extype argument - the user will obtain a descriptor with an overlapped decomposition: - the additional layer is aggregated to the local subdomain (and thus - is an overlap), and a new halo extending beyond the last additional - layer is formed. -
            4. -
            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_spall Allocates - Up: Data management routines - Previous: psb_cdfree Frees -   Contents - +

            diff --git a/docs/html/node72.html b/docs/html/node72.html index 606bd36b..090b7233 100644 --- a/docs/html/node72.html +++ b/docs/html/node72.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spall -- Allocates a sparse matrix - +psb_cdbldext -- Build an extended communication descriptor + @@ -20,47 +20,51 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spins Insert - Up: Data management routines - Previous: psb_cdbldext Build -   Next: psb_spall Allocates + Up: Data management routines + Previous: psb_cdfree Frees +   Contents

            -

            -psb_spall -- Allocates a sparse matrix +

            +psb_cdbldext -- Build an extended communication + descriptor

            -call psb_spall(a, desc_a, info, nnz)
            +call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)
             

            +This subroutine builds an extended communication descriptor, based on +the input descriptor desc_a and on the stencil specified +through the input sparse matrix a.

            Type:
            Synchronous. @@ -68,6 +72,16 @@ call psb_spall(a, desc_a, info, nnz)
            On Entry
            +
            a
            +
            A sparse matrix +Scope:local. +
            +Type:required. +
            +Intent: in. +
            +Specified as: a structured data type. +
            desc_a
            the communication descriptor.
            @@ -77,19 +91,35 @@ Type:required.
            Intent: in.
            -Specified as: a structured data of type descdatapsb_desc_type. +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            nl
            +
            the number of additional layers desired. +
            +Scope:global. +
            +Type:required. +
            +Intent: in. +
            +Specified as: an integer value $nl\ge 0$.
            -
            nnz
            -
            An estimate of the number of nonzeroes in the local - part of the assembled matrix. +
            extype
            +
            the kind of estension required.
            -Scope: global. +Scope:global.
            -Type: optional. +Type:optional .
            Intent: in.
            -Specified as: an integer value. +Specified as: an integer value +psb_ovt_xhal_, psb_ovt_asov_, default: psb_ovt_xhal_ + +

            @@ -98,16 +128,16 @@ Specified as: an integer value.
            On Return
            -
            a
            -
            the matrix to be allocated. +
            desc_out
            +
            the extended communication descriptor.
            -Scope:local +Scope:local.
            -Type:required +Type:required.
            -Intent: out. +Intent: inout.
            -Specified as: a structured data of type spdatapsb_Tspmat_type. +Specified as: a structured data of type descdatapsb_desc_type.
            info
            Error code. @@ -121,47 +151,48 @@ Intent: out. An integer value; 0 means no error has been detected.
            + +

            Notes

              -
            1. On exit from this routine the sparse matrix is in the build - state. -
            2. -
            3. The descriptor may be in either the build or assembled state. +
            4. Specifying psb_ovt_xhal_ for the extype argument + the user will obtain a descriptor for a domain partition in which + the additional layers are fetched as part of an (extended) halo; + however the index-to-process mapping is identical to that of the + base descriptor;
            5. -
            6. Providing a good estimate for the number of nonzeroes $nnz$ in - the assembled matrix may substantially improve performance in the - matrix build phase, as it will reduce or eliminate the need for - (potentially multiple) data reallocations. +
            7. Specifying psb_ovt_asov_ for the extype argument + the user will obtain a descriptor with an overlapped decomposition: + the additional layer is aggregated to the local subdomain (and thus + is an overlap), and a new halo extending beyond the last additional + layer is formed.


            - next - + up - previous - contents
            - Next: psb_spins Insert - Up: Data management routines - Previous: psb_cdbldext Build -   Next: psb_spall Allocates + Up: Data management routines + Previous: psb_cdfree Frees +   Contents diff --git a/docs/html/node73.html b/docs/html/node73.html index 2c589a8f..7beaa85d 100644 --- a/docs/html/node73.html +++ b/docs/html/node73.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spins -- Insert a cloud of elements into a sparse matrix - +psb_spall -- Allocates a sparse matrix + @@ -20,82 +20,56 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spasb Sparse - Up: Data management routines - Previous: psb_spall Allocates -   Next: psb_spins Insert + Up: Data management routines + Previous: psb_cdbldext Build +   Contents

            -

            -psb_spins -- Insert a cloud of elements into a sparse - matrix +

            +psb_spall -- Allocates a sparse matrix

            -call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
            +call psb_spall(a, desc_a, info, nnz)
             

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            -
            nz
            -
            the number of elements to be inserted. -
            -Scope:local. -
            -Type:required. -
            -Intent: in. -
            -Specified as: an integer scalar. -
            -
            ia
            -
            the row indices of the elements to be inserted. -
            -Scope:local. -
            -Type:required. -
            -Intent: in. -
            -Specified as: an integer array of size $nz$. -
            -
            ja
            -
            the column indices of the elements to be inserted. +
            desc_a
            +
            the communication descriptor.
            Scope:local.
            @@ -103,51 +77,19 @@ Type:required.
            Intent: in.
            -Specified as: an integer array of size $nz$. +Specified as: a structured data of type descdatapsb_desc_type.
            -
            val
            -
            the elements to be inserted. +
            nnz
            +
            An estimate of the number of nonzeroes in the local + part of the assembled matrix.
            -Scope:local. +Scope: global.
            -Type:required. +Type: optional.
            Intent: in.
            -Specified as: an array of size $nz$. Must be of the same type and kind -of the coefficients of the sparse matrix $a$. -
            -
            desc_a
            -
            The communication descriptor. -
            -Scope: local. -
            -Type: required. -
            -Intent: inout. -
            -Specified as: a variable of type descdatapsb_desc_type. -
            -
            local
            -
            Whether the entries in the indices vectors ia, - ja are already in local numbering. -
            -Scope:local. -
            -Type:optional. -
            -Specified as: a logical value; default: .false.. - -

            +Specified as: an integer value.

            @@ -157,27 +99,16 @@ Specified as: a logical value; default: .false..
            a
            -
            the matrix into which elements will be inserted. +
            the matrix to be allocated.
            Scope:local
            Type:required
            -Intent: inout. +Intent: out.
            Specified as: a structured data of type spdatapsb_Tspmat_type.
            -
            desc_a
            -
            The communication descriptor. -
            -Scope: local. -
            -Type: required. -
            -Intent: inout. -
            -Specified as: a variable of type descdatapsb_desc_type. -
            info
            Error code.
            @@ -190,84 +121,47 @@ Intent: out. An integer value; 0 means no error has been detected.
            - -

            Notes

              -
            1. On entry to this routine the descriptor may be in either the - build or assembled state. -
            2. -
            3. On entry to this routine the sparse matrix may be in either the - build or update state. -
            4. -
            5. If the descriptor is in the build state, then the sparse matrix - must also be in the build state; the action of the routine is to - (implicitly) call psb_cdins to add entries to the sparsity - pattern; each sparse matrix entry implicitly defines a graph edge, - that is passed to the descriptor routine for the appropriate - processing; -
            6. -
            7. The coefficients to be inserted are represented by the ordered - triples -$ia(i),ja(i),val(i)$, for $i=1,\dots,nz$; these triples - should belong to the current process, i.e. $ia(i)$ should be one of - the local indices, but are otherwise arbitrary; -
            8. -
            9. There is no - requirement that a given row must be passed in its entirety to a - single call to this routine: the buildup of a row may be split into - as many calls as desired; -
            10. -
            11. Coefficients from different rows may also be mixed up freely - in a single call, according to the application needs; -
            12. -
            13. Any coefficients from matrix rows not owned by the calling - process are silently ignored; +
            14. On exit from this routine the sparse matrix is in the build + state.
            15. -
            16. If the descriptor is in the assembled state, then any entries in - the sparse matrix that would generate additional communication - requirements are ignored; +
            17. The descriptor may be in either the build or assembled state.
            18. -
            19. If the matrix is in the update state, any entries in positions - that were not present in the original matrix are ignored. +
            20. Providing a good estimate for the number of nonzeroes $nnz$ in + the assembled matrix may substantially improve performance in the + matrix build phase, as it will reduce or eliminate the need for + (potentially multiple) data reallocations.


            - next - + up - previous - contents
            - Next: psb_spasb Sparse - Up: Data management routines - Previous: psb_spall Allocates -   Next: psb_spins Insert + Up: Data management routines + Previous: psb_cdbldext Build +   Contents diff --git a/docs/html/node74.html b/docs/html/node74.html index 1c3ef59f..f58f9804 100644 --- a/docs/html/node74.html +++ b/docs/html/node74.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spasb -- Sparse matrix assembly routine - +psb_spins -- Insert a cloud of elements into a sparse matrix + @@ -20,56 +20,57 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_spfree Frees - Up: Data management routines - Previous: psb_spins Insert -   Next: psb_spasb Sparse + Up: Data management routines + Previous: psb_spall Allocates +   Contents

            -

            -psb_spasb -- Sparse matrix assembly routine +

            +psb_spins -- Insert a cloud of elements into a sparse + matrix

            -call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
            +call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
             

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            -
            desc_a
            -
            the communication descriptor. +
            nz
            +
            the number of elements to be inserted.
            Scope:local.
            @@ -77,52 +78,76 @@ Type:required.
            Intent: in.
            -Specified as: a structured data of type descdatapsb_desc_type. +Specified as: an integer scalar.
            -
            afmt
            -
            the storage format for the sparse matrix. +
            ia
            +
            the row indices of the elements to be inserted.
            -Scope: local. +Scope:local.
            -Type: optional. +Type:required.
            Intent: in.
            -Specified as: an array of characters. Defalt: 'CSR'. +Specified as: an integer array of size $nz$.
            -
            upd
            -
            Provide for updates to the matrix coefficients. +
            ja
            +
            the column indices of the elements to be inserted.
            -Scope: global. +Scope:local.
            -Type: optional. +Type:required.
            Intent: in.
            -Specified as: integer, possible values: psb_upd_srch_, psb_upd_perm_ +Specified as: an integer array of size $nz$.
            -
            dupl
            -
            How to handle duplicate coefficients. +
            val
            +
            the elements to be inserted.
            -Scope: global. +Scope:local.
            -Type: optional. +Type:required.
            Intent: in.
            -Specified as: integer, possible values: psb_dupl_ovwrt_, -psb_dupl_add_, psb_dupl_err_. +Specified as: an array of size $nz$. Must be of the same type and kind +of the coefficients of the sparse matrix $a$.
            -
            mold
            -
            The desired dynamic type for the internal matrix storage. +
            desc_a
            +
            The communication descriptor.
            -Scope: local. +Scope: local.
            -Type: optional. +Type: required.
            -Intent: in. +Intent: inout. +
            +Specified as: a variable of type descdatapsb_desc_type. +
            +
            local
            +
            Whether the entries in the indices vectors ia, + ja are already in local numbering. +
            +Scope:local.
            -Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. +Type:optional. +
            +Specified as: a logical value; default: .false.. + +

            @@ -132,7 +157,7 @@ Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_
            a
            -
            the matrix to be assembled. +
            the matrix into which elements will be inserted.
            Scope:local
            @@ -142,6 +167,17 @@ Intent: inout.
            Specified as: a structured data of type spdatapsb_Tspmat_type.
            +
            desc_a
            +
            The communication descriptor. +
            +Scope: local. +
            +Type: required. +
            +Intent: inout. +
            +Specified as: a variable of type descdatapsb_desc_type. +
            info
            Error code.
            @@ -159,51 +195,79 @@ An integer value; 0 means no error has been detected. Notes
              -
            1. On entry to this routine the descriptor must be in the - assembled state, i.e. psb_cdasb must already have been called. +
            2. On entry to this routine the descriptor may be in either the + build or assembled state. +
            3. +
            4. On entry to this routine the sparse matrix may be in either the + build or update state. +
            5. +
            6. If the descriptor is in the build state, then the sparse matrix + must also be in the build state; the action of the routine is to + (implicitly) call psb_cdins to add entries to the sparsity + pattern; each sparse matrix entry implicitly defines a graph edge, + that is passed to the descriptor routine for the appropriate + processing; +
            7. +
            8. The coefficients to be inserted are represented by the ordered + triples +$ia(i),ja(i),val(i)$, for $i=1,\dots,nz$; these triples + should belong to the current process, i.e. $ia(i)$ should be one of + the local indices, but are otherwise arbitrary;
            9. -
            10. The sparse matrix may be in either the build or update state; +
            11. There is no + requirement that a given row must be passed in its entirety to a + single call to this routine: the buildup of a row may be split into + as many calls as desired;
            12. -
            13. Duplicate entries are detected and handled in both build and - update state, with the exception of the error action that is only - taken in the build state, i.e. on the first assembly; +
            14. Coefficients from different rows may also be mixed up freely + in a single call, according to the application needs;
            15. -
            16. If the update choice is psb_upd_perm_, then subsequent - calls to psb_spins to update the matrix must be arranged in - such a way as to produce exactly the same sequence of coefficient - values as encountered at the first assembly; +
            17. Any coefficients from matrix rows not owned by the calling + process are silently ignored;
            18. -
            19. The output storage format need not be the same on all - processes; +
            20. If the descriptor is in the assembled state, then any entries in + the sparse matrix that would generate additional communication + requirements are ignored;
            21. -
            22. On exit from this routine the matrix is in the assembled state, - and thus is suitable for the computational routines. +
            23. If the matrix is in the update state, any entries in positions + that were not present in the original matrix are ignored.


            - next - + up - previous - contents
            - Next: psb_spfree Frees - Up: Data management routines - Previous: psb_spins Insert -   Next: psb_spasb Sparse + Up: Data management routines + Previous: psb_spall Allocates +   Contents diff --git a/docs/html/node75.html b/docs/html/node75.html index 2ed7cba7..a66ce42c 100644 --- a/docs/html/node75.html +++ b/docs/html/node75.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_spfree -- Frees a sparse matrix - +psb_spasb -- Sparse matrix assembly routine + @@ -20,44 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_sprn Reinit - Up: Data management routines - Previous: psb_spasb Sparse -   Next: psb_spfree Frees + Up: Data management routines + Previous: psb_spins Insert +   Contents

            -

            -psb_spfree -- Frees a sparse matrix +

            +psb_spasb -- Sparse matrix assembly routine

            -call psb_spfree(a, desc_a, info)
            +call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
             

            @@ -68,17 +68,6 @@ call psb_spfree(a, desc_a, info)

            On Entry
            -
            a
            -
            the matrix to be freed. -
            -Scope:local -
            -Type:required -
            -Intent: inout. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            desc_a
            the communication descriptor.
            @@ -90,6 +79,51 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            +
            afmt
            +
            the storage format for the sparse matrix. +
            +Scope: local. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: an array of characters. Defalt: 'CSR'. +
            +
            upd
            +
            Provide for updates to the matrix coefficients. +
            +Scope: global. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: integer, possible values: psb_upd_srch_, psb_upd_perm_ +
            +
            dupl
            +
            How to handle duplicate coefficients. +
            +Scope: global. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: integer, possible values: psb_dupl_ovwrt_, +psb_dupl_add_, psb_dupl_err_. +
            +
            mold
            +
            The desired dynamic type for the internal matrix storage. +
            +Scope: local. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. +

            @@ -97,6 +131,17 @@ Specified as: a structured data of type descdatapsb_desc_type.

            On Return
            +
            a
            +
            the matrix to be assembled. +
            +Scope:local +
            +Type:required +
            +Intent: inout. +
            +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            info
            Error code.
            @@ -111,7 +156,56 @@ An integer value; 0 means no error has been detected.

            -


            +Notes + +
              +
            1. On entry to this routine the descriptor must be in the + assembled state, i.e. psb_cdasb must already have been called. +
            2. +
            3. The sparse matrix may be in either the build or update state; +
            4. +
            5. Duplicate entries are detected and handled in both build and + update state, with the exception of the error action that is only + taken in the build state, i.e. on the first assembly; +
            6. +
            7. If the update choice is psb_upd_perm_, then subsequent + calls to psb_spins to update the matrix must be arranged in + such a way as to produce exactly the same sequence of coefficient + values as encountered at the first assembly; +
            8. +
            9. The output storage format need not be the same on all + processes; +
            10. +
            11. On exit from this routine the matrix is in the assembled state, + and thus is suitable for the computational routines. +
            12. +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: psb_spfree Frees + Up: Data management routines + Previous: psb_spins Insert +   Contents + diff --git a/docs/html/node76.html b/docs/html/node76.html index dc430ecc..ce891fb8 100644 --- a/docs/html/node76.html +++ b/docs/html/node76.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_sprn -- Reinit sparse matrix structure for psblas routines. - +psb_spfree -- Frees a sparse matrix + @@ -20,45 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geall Allocates - Up: Data management routines - Previous: psb_spfree Frees -   Next: psb_sprn Reinit + Up: Data management routines + Previous: psb_spasb Sparse +   Contents

            -

            -psb_sprn -- Reinit sparse matrix structure for psblas - routines. +

            +psb_spfree -- Frees a sparse matrix

            -call psb_sprn(a, decsc_a, info, clear)
            +call psb_spfree(a, desc_a, info)
             

            @@ -70,7 +69,7 @@ call psb_sprn(a, decsc_a, info, clear)

            a
            -
            the matrix to be reinitialized. +
            the matrix to be freed.
            Scope:local
            @@ -91,17 +90,6 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            -
            clear
            -
            Choose whether to zero out matrix coefficients -
            -Scope:local. -
            -Type:optional. -
            -Intent: in. -
            -Default: true. -

            @@ -121,13 +109,6 @@ Intent: out. An integer value; 0 means no error has been detected. -Notes - -

              -
            1. On exit from this routine the sparse matrix is in the update - state. -
            2. -



            diff --git a/docs/html/node77.html b/docs/html/node77.html index 4a3d1f87..fdb18aab 100644 --- a/docs/html/node77.html +++ b/docs/html/node77.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geall -- Allocates a dense matrix - +psb_sprn -- Reinit sparse matrix structure for psblas routines. + @@ -20,44 +20,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geins Dense - Up: Data management routines - Previous: psb_sprn Reinit -   Next: psb_geall Allocates + Up: Data management routines + Previous: psb_spfree Frees +   Contents

            -

            -psb_geall -- Allocates a dense matrix +

            +psb_sprn -- Reinit sparse matrix structure for psblas + routines.

            -call psb_geall(x, desc_a, info, n, lb)
            +call psb_sprn(a, decsc_a, info, clear)
             

            @@ -68,52 +69,38 @@ call psb_geall(x, desc_a, info, n, lb)

            On Entry
            -
            desc_a
            -
            The communication descriptor. +
            a
            +
            the matrix to be reinitialized.
            -Scope: local +Scope:local
            -Type: required +Type:required
            -Intent: in. +Intent: inout.
            -Specified as: a variable of type descdatapsb_desc_type. -
            -
            n
            -
            The number of columns of the dense matrix to be allocated. +Specified as: a structured data of type spdatapsb_Tspmat_type. +
            +
            desc_a
            +
            the communication descriptor.
            -Scope: local +Scope:local.
            -Type: optional +Type:required.
            Intent: in.
            -Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a -rank-1 array. +Specified as: a structured data of type descdatapsb_desc_type.
            -
            lb
            -
            The lower bound for the column index range of the dense matrix to be allocated. +
            clear
            +
            Choose whether to zero out matrix coefficients
            -Scope: local +Scope:local.
            -Type: optional +Type:optional.
            Intent: in.
            -Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a -rank-1 array. +Default: true.
            @@ -122,18 +109,6 @@ rank-1 array.
            On Return
            -
            x
            -
            The dense matrix to be allocated. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -Specified as: a rank one or two array with the ALLOCATABLE attribute -or an object of type vdatapsb_T_vect_type, of type real, complex or integer. -
            info
            Error code.
            @@ -146,32 +121,16 @@ Intent: out. An integer value; 0 means no error has been detected.
            +Notes + +
              +
            1. On exit from this routine the sparse matrix is in the update + state. +
            2. +

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_geins Dense - Up: Data management routines - Previous: psb_sprn Reinit -   Contents - +

            diff --git a/docs/html/node78.html b/docs/html/node78.html index d895665f..0a1f0dff 100644 --- a/docs/html/node78.html +++ b/docs/html/node78.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geins -- Dense matrix insertion routine - +psb_geall -- Allocates a dense matrix + @@ -20,135 +20,100 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_geasb Assembly - Up: Data management routines - Previous: psb_geall Allocates -   Next: psb_geins Dense + Up: Data management routines + Previous: psb_sprn Reinit +   Contents

            -

            -psb_geins -- Dense matrix insertion routine +

            +psb_geall -- Allocates a dense matrix

            -call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
            +call psb_geall(x, desc_a, info, n, lb)
             

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            -
            m
            -
            Number of rows in $val$ to be inserted. -
            -Scope:local. -
            -Type:required. -
            -Intent: in. -
            -Specified as: an integer value. -
            -
            irw
            -
            Indices of the rows to be inserted. Specifically, row $i$ - of $val$ will be inserted into the local row corresponding to the - global row index $irw(i)$. -Scope:local. -
            -Type:required. -
            -Intent: in. -
            -Specified as: an integer array. -
            -
            val
            -
            the dense submatrix to be inserted. +
            desc_a
            +
            The communication descriptor.
            -Scope:local. +Scope: local
            -Type:required. +Type: required
            Intent: in.
            -Specified as: a rank 1 or 2 array. -Specified as: an integer value. -
            -
            desc_a
            -
            the communication descriptor. +Specified as: a variable of type descdatapsb_desc_type. +
            +
            n
            +
            The number of columns of the dense matrix to be allocated.
            -Scope:local. +Scope: local
            -Type:required. +Type: optional
            Intent: in.
            -Specified as: a structured data of type descdatapsb_desc_type. +Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a +rank-1 array.
            -
            dupl
            -
            How to handle duplicate coefficients. +
            lb
            +
            The lower bound for the column index range of the dense matrix to be allocated.
            -Scope: global. +Scope: local
            -Type: optional. +Type: optional
            Intent: in.
            -Specified as: integer, possible values: psb_dupl_ovwrt_, -psb_dupl_add_. -
            -
            local
            -
            Whether the entries in the index vector irw, - are already in local numbering. -
            -Scope:local. -
            -Type:optional. -
            -Specified as: a logical value; default: .false.. - -

            +Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a +rank-1 array.

            @@ -158,16 +123,16 @@ Specified as: a logical value; default: .false..
            x
            -
            the output dense matrix. +
            The dense matrix to be allocated.
            Scope: local
            Type: required
            -Intent: inout. +Intent: out.
            -Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type, of -type real, complex or integer. +Specified as: a rank one or two array with the ALLOCATABLE attribute +or an object of type vdatapsb_T_vect_type, of type real, complex or integer.
            info
            Error code. @@ -182,40 +147,29 @@ An integer value; 0 means no error has been detected.
            -

            -Notes - -

              -
            1. Dense vectors/matrices do not have an associated state; -
            2. -
            3. Duplicate entries are either overwritten or added, there is no - provision for raising an error condition. -
            4. -
            -


            - next - + up - previous - contents
            - Next: psb_geasb Assembly - Up: Data management routines - Previous: psb_geall Allocates -   Next: psb_geins Dense + Up: Data management routines + Previous: psb_sprn Reinit +   Contents diff --git a/docs/html/node79.html b/docs/html/node79.html index d2aa7830..b07ccb67 100644 --- a/docs/html/node79.html +++ b/docs/html/node79.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_geasb -- Assembly a dense matrix - +psb_geins -- Dense matrix insertion routine + @@ -20,79 +20,135 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_gefree Frees - Up: Data management routines - Previous: psb_geins Dense -   Next: psb_geasb Assembly + Up: Data management routines + Previous: psb_geall Allocates +   Contents

            -

            -psb_geasb -- Assembly a dense matrix +

            +psb_geins -- Dense matrix insertion routine

            -call psb_geasb(x, desc_a, info, mold)
            +call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
             

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            +
            m
            +
            Number of rows in $val$ to be inserted. +
            +Scope:local. +
            +Type:required. +
            +Intent: in. +
            +Specified as: an integer value. +
            +
            irw
            +
            Indices of the rows to be inserted. Specifically, row $i$ + of $val$ will be inserted into the local row corresponding to the + global row index $irw(i)$. +Scope:local. +
            +Type:required. +
            +Intent: in. +
            +Specified as: an integer array. +
            +
            val
            +
            the dense submatrix to be inserted. +
            +Scope:local. +
            +Type:required. +
            +Intent: in. +
            +Specified as: a rank 1 or 2 array. +Specified as: an integer value. +
            desc_a
            -
            The communication descriptor. +
            the communication descriptor.
            -Scope: local +Scope:local.
            -Type: required +Type:required.
            Intent: in.
            -Specified as: a variable of type descdatapsb_desc_type. -
            -
            mold
            -
            The desired dynamic type for the internal vector storage. +Specified as: a structured data of type descdatapsb_desc_type. +
            +
            dupl
            +
            How to handle duplicate coefficients.
            -Scope: local. +Scope: global.
            Type: optional.
            Intent: in.
            -Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is -only allowed when $x$ is of type vdatapsb_T_vect_type. +Specified as: integer, possible values: psb_dupl_ovwrt_, +psb_dupl_add_. +
            +
            local
            +
            Whether the entries in the index vector irw, + are already in local numbering. +
            +Scope:local. +
            +Type:optional. +
            +Specified as: a logical value; default: .false.. + +

            @@ -102,7 +158,7 @@ only allowed when
            x
            -
            The dense matrix to be assembled. +
            the output dense matrix.
            Scope: local
            @@ -110,8 +166,8 @@ Type: required
            Intent: inout.
            -Specified as: a rank one or two array with the ALLOCATABLE or an -object of type vdatapsb_T_vect_type, of type real, complex or integer. +Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type, of +type real, complex or integer.
            info
            Error code. @@ -125,7 +181,43 @@ Intent: out. An integer value; 0 means no error has been detected.
            -

            + +

            +Notes + +

              +
            1. Dense vectors/matrices do not have an associated state; +
            2. +
            3. Duplicate entries are either overwritten or added, there is no + provision for raising an error condition. +
            4. +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: psb_geasb Assembly + Up: Data management routines + Previous: psb_geall Allocates +   Contents + diff --git a/docs/html/node8.html b/docs/html/node8.html index 1c07f229..edfd6c87 100644 --- a/docs/html/node8.html +++ b/docs/html/node8.html @@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Data Structures and Classes - Up: Up: General overview - Previous: Previous: User-defined index mappings -   Contents

            @@ -96,26 +96,26 @@ as:


            - next - up - previous - contents
            - Next: Next: Data Structures and Classes - Up: Up: General overview - Previous: Previous: User-defined index mappings -   Contents diff --git a/docs/html/node80.html b/docs/html/node80.html index 08e5c361..7d90524b 100644 --- a/docs/html/node80.html +++ b/docs/html/node80.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_gefree -- Frees a dense matrix - +psb_geasb -- Assembly a dense matrix + @@ -20,44 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_gelp Applies - Up: Data management routines - Previous: psb_geasb Assembly -   Next: psb_gefree Frees + Up: Data management routines + Previous: psb_geins Dense +   Contents

            -

            -psb_gefree -- Frees a dense matrix +

            +psb_geasb -- Assembly a dense matrix

            -call psb_gefree(x, desc_a, info)
            +call psb_geasb(x, desc_a, info, mold)
             

            @@ -68,21 +68,6 @@ call psb_gefree(x, desc_a, info)

            On Entry
            -
            x
            -
            The dense matrix to - be freed. -
            -Scope: local -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one or two array with the ALLOCATABLE or an -object of type vdatapsb_T_vect_type, of type real, complex or integer. -
            -

            -

            desc_a
            The communication descriptor.
            @@ -94,6 +79,21 @@ Intent: in.
            Specified as: a variable of type descdatapsb_desc_type.
            +
            mold
            +
            The desired dynamic type for the internal vector storage. +
            +Scope: local. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is +only allowed when $x$ is of type vdatapsb_T_vect_type. +

            @@ -101,6 +101,18 @@ Specified as: a variable of type descdatapsb_desc_type.

            On Return
            +
            x
            +
            The dense matrix to be assembled. +
            +Scope: local +
            +Type: required +
            +Intent: inout. +
            +Specified as: a rank one or two array with the ALLOCATABLE or an +object of type vdatapsb_T_vect_type, of type real, complex or integer. +
            info
            Error code.
            @@ -113,8 +125,6 @@ Intent: out. An integer value; 0 means no error has been detected.
            - -



            diff --git a/docs/html/node81.html b/docs/html/node81.html index 8ea626f9..4e8ed319 100644 --- a/docs/html/node81.html +++ b/docs/html/node81.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_gelp -- Applies a left permutation to a dense matrix - +psb_gefree -- Frees a dense matrix + @@ -20,99 +20,79 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_glob_to_loc Global - Up: Data management routines - Previous: psb_gefree Frees -   Next: psb_gelp Applies + Up: Data management routines + Previous: psb_geasb Assembly +   Contents

            -

            -psb_gelp -- Applies a left permutation to a dense - matrix +

            +psb_gefree -- Frees a dense matrix

            -call psb_gelp(trans, iperm, x, info)
            +call psb_gefree(x, desc_a, info)
             

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            -
            trans
            -
            A character that specifies whether to permute $A$ or $A^T$. +
            x
            +
            The dense matrix to + be freed.
            Scope: local
            Type: required
            -Intent: in. -
            -Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$. -
            -
            iperm
            -
            An integer array containing permutation information. -
            -Scope: local -
            -Type: required +Intent: inout.
            -Intent: in. +Specified as: a rank one or two array with the ALLOCATABLE or an +object of type vdatapsb_T_vect_type, of type real, complex or integer.
            -Specified as: an integer one-dimensional array. -
            -
            x
            -
            The dense matrix to be permuted. +

            +

            +
            desc_a
            +
            The communication descriptor.
            Scope: local
            Type: required
            -Intent: inout. +Intent: in.
            -Specified as: a one or two dimensional array. +Specified as: a variable of type descdatapsb_desc_type.
            diff --git a/docs/html/node82.html b/docs/html/node82.html index 950b4fbc..bd9a39a7 100644 --- a/docs/html/node82.html +++ b/docs/html/node82.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_glob_to_loc -- Global to local indices convertion - +psb_gelp -- Applies a left permutation to a dense matrix + @@ -20,46 +20,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_loc_to_glob Local - Up: Data management routines - Previous: psb_gelp Applies -   Next: psb_glob_to_loc Global + Up: Data management routines + Previous: psb_gefree Frees +   Contents

            -

            -psb_glob_to_loc -- Global to local indices - convertion +

            +psb_gelp -- Applies a left permutation to a dense + matrix

            -call psb_glob_to_loc(x, y, desc_a, info, iact,owned)
            -call psb_glob_to_loc(x, desc_a, info, iact,owned)
            +call psb_gelp(trans, iperm, x, info)
             

            @@ -70,51 +69,51 @@ call psb_glob_to_loc(x, desc_a, info, iact,owned)

            On Entry
            -
            x
            -
            An integer vector of indices to be converted. +
            trans
            +
            A character that specifies whether to permute $A$ or $A^T$.
            Scope: local
            Type: required
            -Intent: in, inout. +Intent: in.
            -Specified as: a rank one integer array. +Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$.
            -
            desc_a
            -
            the communication descriptor. +
            iperm
            +
            An integer array containing permutation information.
            -Scope:local. +Scope: local
            -Type:required. +Type: required
            Intent: in.
            -Specified as: a structured data of type descdatapsb_desc_type. -
            -
            iact
            -
            specifies action to be taken in case of range errors. -Scope: global -
            -Type: optional -
            -Intent: in. +Specified as: an integer one-dimensional array. +
            +
            x
            +
            The dense matrix to be permuted.
            -Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
            -
            owned
            -
            Specfies valid range of input -Scope: global +Scope: local
            -Type: optional +Type: required
            -Intent: in. +Intent: inout.
            -If true, then only indices strictly owned by the current process are -considered valid, if false then halo indices are also -accepted. Default: false. -
            +Specified as: a one or two dimensional array. +

            @@ -122,44 +121,6 @@ accepted. Default: false.

            On Return
            -
            x
            -
            If $y$ is not present, - then $x$ is overwritten with the translated integer indices. -Scope: global -
            -Type: required -
            -Intent: inout. -
            -Specified as: a rank one integer array. -
            -
            y
            -
            If $y$ is present, - then $y$ is overwritten with the translated integer indices, and $x$ - is left unchanged. -Scope: global -
            -Type: optional -
            -Intent: out. -
            -Specified as: a rank one integer array. -
            info
            Error code.
            @@ -174,42 +135,7 @@ An integer value; 0 means no error has been detected.

            -Notes - -

              -
            1. If an input index is out of range, then the corresponding output - index is set to a negative number; -
            2. -
            3. The default Ignore means that the negative output is the - only action taken on an out-of-range input. -
            4. -
            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_loc_to_glob Local - Up: Data management routines - Previous: psb_gelp Applies -   Contents - +

            diff --git a/docs/html/node83.html b/docs/html/node83.html index 281a983b..45b000b6 100644 --- a/docs/html/node83.html +++ b/docs/html/node83.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_loc_to_glob -- Local to global indices conversion - +psb_glob_to_loc -- Global to local indices convertion + @@ -20,46 +20,46 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_is_owned - Up: Data management routines - Previous: psb_glob_to_loc Global -   Next: psb_loc_to_glob Local + Up: Data management routines + Previous: psb_gelp Applies +   Contents

            -

            -psb_loc_to_glob -- Local to global indices - conversion +

            +psb_glob_to_loc -- Global to local indices + convertion

            -call psb_loc_to_glob(x, y, desc_a, info, iact)
            -call psb_loc_to_glob(x, desc_a, info, iact)
            +call psb_glob_to_loc(x, y, desc_a, info, iact,owned)
            +call psb_glob_to_loc(x, desc_a, info, iact,owned)
             

            @@ -103,6 +103,18 @@ Intent: in. Specified as: a character variable Ignore, Warning or Abort, default Ignore.

            +
            owned
            +
            Specfies valid range of input +Scope: global +
            +Type: optional +
            +Intent: in. +
            +If true, then only indices strictly owned by the current process are +considered valid, if false then halo indices are also +accepted. Default: false. +

            @@ -131,7 +143,7 @@ Specified as: a rank one integer array.

            If $y$ is not present, + ALT="$y$"> is present, then +

            +Notes + +

              +
            1. If an input index is out of range, then the corresponding output + index is set to a negative number; +
            2. +
            3. The default Ignore means that the negative output is the + only action taken on an out-of-range input. +
            4. +
            +


            - next - + up - previous - contents
            - Next: psb_is_owned - Up: Data management routines - Previous: psb_glob_to_loc Global -   Next: psb_loc_to_glob Local + Up: Data management routines + Previous: psb_gelp Applies +   Contents diff --git a/docs/html/node84.html b/docs/html/node84.html index 5f8a1fdb..6029ef51 100644 --- a/docs/html/node84.html +++ b/docs/html/node84.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_is_owned -- - +psb_loc_to_glob -- Local to global indices conversion + @@ -20,44 +20,46 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_owned_index - Up: Data management routines - Previous: psb_loc_to_glob Local -   Next: psb_is_owned + Up: Data management routines + Previous: psb_glob_to_loc Global +   Contents

            -

            -psb_is_owned -- +

            +psb_loc_to_glob -- Local to global indices + conversion

            -call psb_is_owned(x, desc_a)
            +call psb_loc_to_glob(x, y, desc_a, info, iact)
            +call psb_loc_to_glob(x, desc_a, info, iact)
             

            @@ -69,15 +71,15 @@ call psb_is_owned(x, desc_a)

            x
            -
            Integer index. +
            An integer vector of indices to be converted.
            Scope: local
            Type: required
            -Intent: in. +Intent: in, inout.
            -Specified as: a scalar integer. +Specified as: a rank one integer array.
            desc_a
            the communication descriptor. @@ -90,6 +92,17 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            +
            iact
            +
            specifies action to be taken in case of range errors. +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Specified as: a character variable Ignore, Warning or +Abort, default Ignore. +

            @@ -97,32 +110,82 @@ Specified as: a structured data of type descdatapsb_desc_type.

            On Return
            -
            Function value
            -
            A logical mask which is true if - x +
            If $y$ is not present, + then $x$ is owned by the current process -Scope: local + ALT="$x$"> is overwritten with the translated integer indices. +Scope: global
            Type: required
            +Intent: inout. +
            +Specified as: a rank one integer array. +
            +
            y
            +
            If $y$ is not present, + then $y$ is overwritten with the translated integer indices, and $x$ + is left unchanged. +Scope: global +
            +Type: optional +
            Intent: out. -
            +
            +Specified as: a rank one integer array. + +
            info
            +
            Error code. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected. +

            -Notes - -

              -
            1. This routine returns a .true. value for an index - that is strictly owned by the current process, excluding the halo - indices -
            2. -
            - -

            -


            +
            + + +next + +up + +previous + +contents +
            + Next: psb_is_owned + Up: Data management routines + Previous: psb_glob_to_loc Global +   Contents + diff --git a/docs/html/node85.html b/docs/html/node85.html index c7d94dc3..5ab9973b 100644 --- a/docs/html/node85.html +++ b/docs/html/node85.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_owned_index -- - +psb_is_owned -- + @@ -20,44 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_is_local - Up: Data management routines - Previous: psb_is_owned -   Next: psb_owned_index + Up: Data management routines + Previous: psb_loc_to_glob Local +   Contents

            -

            -psb_owned_index -- +

            +psb_is_owned --

            -call psb_owned_index(y, x, desc_a, info)
            +call psb_is_owned(x, desc_a)
             

            @@ -69,15 +69,15 @@ call psb_owned_index(y, x, desc_a, info)

            x
            -
            Integer indices. +
            Integer index.
            Scope: local
            Type: required
            -Intent: in, inout. +Intent: in.
            -Specified as: a scalar or a rank one integer array. +Specified as: a scalar integer.
            desc_a
            the communication descriptor. @@ -90,17 +90,6 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            -
            iact
            -
            specifies action to be taken in case of range errors. -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -

            @@ -108,39 +97,26 @@ Specified as: a character variable Ignore, Warning or

            On Return
            -
            y
            -
            A logical mask which is true for all corresponding entries of +
            Function value
            +
            A logical mask which is true if $x$ that are owned by the current process + ALT="$x$"> is owned by the current process Scope: local
            Type: required
            Intent: out. -
            -Specified as: a scalar or rank one logical array. -
            -
            info
            -
            Error code. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value; 0 means no error has been detected. -
            +

            Notes

              -
            1. This routine returns a .true. value for those indices - that are strictly owned by the current process, excluding the halo +
            2. This routine returns a .true. value for an index + that is strictly owned by the current process, excluding the halo indices
            diff --git a/docs/html/node86.html b/docs/html/node86.html index 509d5a63..d63dea4a 100644 --- a/docs/html/node86.html +++ b/docs/html/node86.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_is_local -- - +psb_owned_index -- + @@ -20,44 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_local_index - Up: Data management routines - Previous: psb_owned_index -   Next: psb_is_local + Up: Data management routines + Previous: psb_is_owned +   Contents

            -

            -psb_is_local -- +

            +psb_owned_index --

            -call psb_is_local(x, desc_a)
            +call psb_owned_index(y, x, desc_a, info)
             

            @@ -69,15 +69,15 @@ call psb_is_local(x, desc_a)

            x
            -
            Integer index. +
            Integer indices.
            Scope: local
            Type: required
            -Intent: in. +Intent: in, inout.
            -Specified as: a scalar integer. +Specified as: a scalar or a rank one integer array.
            desc_a
            the communication descriptor. @@ -90,6 +90,17 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            +
            iact
            +
            specifies action to be taken in case of range errors. +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Specified as: a character variable Ignore, Warning or +Abort, default Ignore. +

            @@ -97,26 +108,39 @@ Specified as: a structured data of type descdatapsb_desc_type.

            On Return
            -
            Function value
            -
            A logical mask which is true if +
            y
            +
            A logical mask which is true for all corresponding entries of $x$ is local to the current process + ALT="$x$"> that are owned by the current process Scope: local
            Type: required
            Intent: out. -
            +
            +Specified as: a scalar or rank one logical array. + +
            info
            +
            Error code. +
            +Scope: local +
            +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected. +

            Notes

              -
            1. This routine returns a .true. value for an index - that is local to the current process, including the halo +
            2. This routine returns a .true. value for those indices + that are strictly owned by the current process, excluding the halo indices
            diff --git a/docs/html/node87.html b/docs/html/node87.html index d62edb6a..b0f9b0a2 100644 --- a/docs/html/node87.html +++ b/docs/html/node87.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_local_index -- - +psb_is_local -- + @@ -20,44 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_get_boundary Extract - Up: Data management routines - Previous: psb_is_local -   Next: psb_local_index + Up: Data management routines + Previous: psb_owned_index +   Contents

            -

            -psb_local_index -- +

            +psb_is_local --

            -call psb_local_index(y, x, desc_a, info)
            +call psb_is_local(x, desc_a)
             

            @@ -69,15 +69,15 @@ call psb_local_index(y, x, desc_a, info)

            x
            -
            Integer indices. +
            Integer index.
            Scope: local
            Type: required
            -Intent: in, inout. +Intent: in.
            -Specified as: a scalar or a rank one integer array. +Specified as: a scalar integer.
            desc_a
            the communication descriptor. @@ -90,17 +90,6 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            -
            iact
            -
            specifies action to be taken in case of range errors. -Scope: global -
            -Type: optional -
            -Intent: in. -
            -Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -

            @@ -108,40 +97,27 @@ Specified as: a character variable Ignore, Warning or

            On Return
            -
            y
            -
            A logical mask which is true for all corresponding entries of +
            Function value
            +
            A logical mask which is true if $x$ that are local to the current process + ALT="$x$"> is local to the current process Scope: local
            Type: required
            Intent: out. -
            -Specified as: a scalar or rank one logical array. -
            -
            info
            -
            Error code. -
            -Scope: local -
            -Type: required -
            -Intent: out. -
            -An integer value; 0 means no error has been detected. -
            +

            Notes

              -
            1. This routine returns a .true. value for those indices - that are local to the current process, including the halo - indices. +
            2. This routine returns a .true. value for an index + that is local to the current process, including the halo + indices
            diff --git a/docs/html/node88.html b/docs/html/node88.html index 81cdc1ca..c6a04b02 100644 --- a/docs/html/node88.html +++ b/docs/html/node88.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_get_boundary -- Extract list of boundary elements - +psb_local_index -- + @@ -20,45 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_get_overlap Extract - Up: Data management routines - Previous: psb_local_index -   Next: psb_get_boundary Extract + Up: Data management routines + Previous: psb_is_local +   Contents

            -

            -psb_get_boundary -- Extract list of boundary - elements +

            +psb_local_index --

            -call psb_get_boundary(bndel, desc, info)
            +call psb_local_index(y, x, desc_a, info)
             

            @@ -69,7 +68,18 @@ call psb_get_boundary(bndel, desc, info)

            On Entry
            -
            desc
            +
            x
            +
            Integer indices. +
            +Scope: local +
            +Type: required +
            +Intent: in, inout. +
            +Specified as: a scalar or a rank one integer array. +
            +
            desc_a
            the communication descriptor.
            Scope:local. @@ -80,6 +90,17 @@ Intent: in.
            Specified as: a structured data of type descdatapsb_desc_type.
            +
            iact
            +
            specifies action to be taken in case of range errors. +Scope: global +
            +Type: optional +
            +Intent: in. +
            +Specified as: a character variable Ignore, Warning or +Abort, default Ignore. +

            @@ -87,19 +108,20 @@ Specified as: a structured data of type descdatapsb_desc_type.

            On Return
            -
            bndel
            -
            The list of boundary elements on the calling process, in - local numbering. -
            +
            y
            +
            A logical mask which is true for all corresponding entries of + $x$ that are local to the current process Scope: local
            Type: required
            Intent: out.
            -Specified as: a rank one array with the ALLOCATABLE -attribute, of type integer. -
            +Specified as: a scalar or rank one logical array. +
            info
            Error code.
            @@ -117,12 +139,9 @@ An integer value; 0 means no error has been detected. Notes
              -
            1. If there are no boundary elements (i.e., if the local part of - the connectivity graph is self-contained) the output vector is set - to the ``not allocated'' state. -
            2. -
            3. Otherwise the size of bndel will be exactly equal to the - number of boundary elements. +
            4. This routine returns a .true. value for those indices + that are local to the current process, including the halo + indices.
            diff --git a/docs/html/node89.html b/docs/html/node89.html index 2406cc44..38621a03 100644 --- a/docs/html/node89.html +++ b/docs/html/node89.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_get_overlap -- Extract list of overlap elements - +psb_get_boundary -- Extract list of boundary elements + @@ -20,45 +20,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_sp_getrow Extract - Up: Data management routines - Previous: psb_get_boundary Extract -   Next: psb_get_overlap Extract + Up: Data management routines + Previous: psb_local_index +   Contents

            -

            -psb_get_overlap -- Extract list of overlap +

            +psb_get_boundary -- Extract list of boundary elements

            -call psb_get_overlap(ovrel, desc, info)
            +call psb_get_boundary(bndel, desc, info)
             

            @@ -87,8 +87,8 @@ Specified as: a structured data of type descdatapsb_desc_type.

            On Return
            -
            ovrel
            -
            The list of overlap elements on the calling process, in +
            bndel
            +
            The list of boundary elements on the calling process, in local numbering.
            Scope: local @@ -117,11 +117,12 @@ An integer value; 0 means no error has been detected. Notes
              -
            1. If there are no overlap elements the output vector is set - to the ``not allocated'' state. +
            2. If there are no boundary elements (i.e., if the local part of + the connectivity graph is self-contained) the output vector is set + to the ``not allocated'' state.
            3. -
            4. Otherwise the size of ovrel will be exactly equal to the - number of overlap elements. +
            5. Otherwise the size of bndel will be exactly equal to the + number of boundary elements.
            diff --git a/docs/html/node9.html b/docs/html/node9.html index 63d19980..ab1a5e86 100644 --- a/docs/html/node9.html +++ b/docs/html/node9.html @@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + @@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds - next - up - previous - contents
            - Next: Next: Descriptor data structure - Up: Up: userhtml - Previous: Previous: Programming model -   Contents

            @@ -111,119 +111,121 @@ developer's documentation. Subsections
            - next - up - previous - contents
            - Next: Next: Descriptor data structure - Up: Up: userhtml - Previous: Previous: Programming model -   Contents diff --git a/docs/html/node90.html b/docs/html/node90.html index 2e259f76..7e4d821f 100644 --- a/docs/html/node90.html +++ b/docs/html/node90.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_sp_getrow -- Extract row(s) from a sparse matrix - +psb_get_overlap -- Extract list of overlap elements + @@ -20,46 +20,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_sizeof Memory - Up: Data management routines - Previous: psb_get_overlap Extract -   Next: psb_sp_getrow Extract + Up: Data management routines + Previous: psb_get_boundary Extract +   Contents

            -

            -psb_sp_getrow -- Extract row(s) from a sparse - matrix +

            +psb_get_overlap -- Extract list of overlap + elements

            -call psb_sp_getrow(row, a, nz, ia, ja, val, info, &
            -              & append, nzin, lrw)
            +call psb_get_overlap(ovrel, desc, info)
             

            @@ -70,75 +69,16 @@ call psb_sp_getrow(row, a, nz, ia, ja, val, info, &

            On Entry
            -
            row
            -
            The (first) row to be extracted. +
            desc
            +
            the communication descriptor.
            -Scope:local -
            -Type:required -
            -Intent: in. -
            -Specified as: an integer $>0$. -
            -
            a
            -
            the matrix from which to get rows. -
            -Scope:local -
            -Type:required -
            -Intent: in. -
            -Specified as: a structured data of type spdatapsb_Tspmat_type. -
            -
            append
            -
            Whether to append or overwrite existing output. -
            -Scope:local -
            -Type:optional -
            -Intent: in. -
            -Specified as: a logical value default: false (overwrite). -
            -
            nzin
            -
            Input size to be appended to. -
            -Scope:local -
            -Type:optional -
            -Intent: in. -
            -Specified as: an integer $>0$. When append is true, specifies how many -entries in the output vectors are already filled. -
            -
            lrw
            -
            The last row to be extracted. -
            -Scope:local +Scope:local.
            -Type:optional +Type:required.
            Intent: in.
            -Specified as: an integer $>0$, default: $row$. - -

            +Specified as: a structured data of type descdatapsb_desc_type.

            @@ -147,50 +87,19 @@ Specified as: an integer On Return
            -
            nz
            -
            the number of elements returned by this call. +
            ovrel
            +
            The list of overlap elements on the calling process, in + local numbering.
            -Scope:local. +Scope: local
            -Type:required. +Type: required
            Intent: out.
            -Returned as: an integer scalar. -
            -
            ia
            -
            the row indices. -
            -Scope:local. -
            -Type:required. -
            -Intent: inout. -
            -Specified as: an integer array with the ALLOCATABLE attribute. -
            -
            ja
            -
            the column indices of the elements to be inserted. -
            -Scope:local. -
            -Type:required. -
            -Intent: inout. -
            -Specified as: an integer array with the ALLOCATABLE attribute. -
            -
            val
            -
            the elements to be inserted. -
            -Scope:local. -
            -Type:required. -
            -Intent: inout. -
            -Specified as: a real array with the ALLOCATABLE attribute. -
            +Specified as: a rank one array with the ALLOCATABLE +attribute, of type integer. +

            info
            Error code.
            @@ -208,51 +117,16 @@ An integer value; 0 means no error has been detected. Notes
              -
            1. The output $nz$ is always the size of the output generated by - the current call; thus, if append=.true., the total output - size will be $nzin+nz$, with the newly extracted coefficients stored in - entries nzin+1:nzin+nz of the array arguments; +
            2. If there are no overlap elements the output vector is set + to the ``not allocated'' state.
            3. -
            4. When append=.true. the output arrays are reallocated as - necessary; -
            5. -
            6. The row and column indices are returned in the local numbering - scheme; if the global numbering is desired, the user may employ the - psb_loc_to_glob routine on the output. +
            7. Otherwise the size of ovrel will be exactly equal to the + number of overlap elements.

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_sizeof Memory - Up: Data management routines - Previous: psb_get_overlap Extract -   Contents - +

            diff --git a/docs/html/node91.html b/docs/html/node91.html index d576f156..1868ace0 100644 --- a/docs/html/node91.html +++ b/docs/html/node91.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_sizeof -- Memory occupation - +psb_sp_getrow -- Extract row(s) from a sparse matrix + @@ -20,49 +20,46 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: Sorting utilities - Up: Data management routines - Previous: psb_sp_getrow Extract -   Next: psb_sizeof Memory + Up: Data management routines + Previous: psb_get_overlap Extract +   Contents

            -

            -psb_sizeof -- Memory occupation +

            +psb_sp_getrow -- Extract row(s) from a sparse + matrix

            -

            -This function computes the memory occupation of a PSBLAS object. -

            -isz = psb_sizeof(a)
            -isz = psb_sizeof(desc_a)
            -isz = psb_sizeof(prec)
            +call psb_sp_getrow(row, a, nz, ia, ja, val, info, &
            +              & append, nzin, lrw)
             

            @@ -73,56 +70,189 @@ isz = psb_sizeof(prec)

            On Entry
            +
            row
            +
            The (first) row to be extracted. +
            +Scope:local +
            +Type:required +
            +Intent: in. +
            +Specified as: an integer $>0$. +
            a
            -
            A sparse matrix -$A$. +
            the matrix from which to get rows.
            -Scope: local +Scope:local
            -Type: required +Type:required
            Intent: in.
            Specified as: a structured data of type spdatapsb_Tspmat_type.
            -
            desc_a
            -
            Communication descriptor. +
            append
            +
            Whether to append or overwrite existing output.
            -Scope: local +Scope:local +
            +Type:optional +
            +Intent: in. +
            +Specified as: a logical value default: false (overwrite). +
            +
            nzin
            +
            Input size to be appended to.
            -Type: required +Scope:local +
            +Type:optional
            Intent: in.
            -Specified as: a structured data of type descdatapsb_desc_type. +Specified as: an integer $>0$. When append is true, specifies how many +entries in the output vectors are already filled.
            -
            prec
            -
            Scope: local +
            lrw
            +
            The last row to be extracted. +
            +Scope:local
            -Type: required +Type:optional
            Intent: in.
            -Specified as: a preconditioner data structure precdatapsb_prec_type. +Specified as: an integer $>0$, default: $row$. + +

            + + +

            +

            On Return
            -
            Function value
            -
            The memory occupation of the object specified in - the calling sequence, in bytes. +
            nz
            +
            the number of elements returned by this call. +
            +Scope:local. +
            +Type:required. +
            +Intent: out. +
            +Returned as: an integer scalar. +
            +
            ia
            +
            the row indices. +
            +Scope:local. +
            +Type:required. +
            +Intent: inout. +
            +Specified as: an integer array with the ALLOCATABLE attribute. +
            +
            ja
            +
            the column indices of the elements to be inserted. +
            +Scope:local. +
            +Type:required. +
            +Intent: inout. +
            +Specified as: an integer array with the ALLOCATABLE attribute. +
            +
            val
            +
            the elements to be inserted. +
            +Scope:local. +
            +Type:required. +
            +Intent: inout. +
            +Specified as: a real array with the ALLOCATABLE attribute. +
            +
            info
            +
            Error code.
            Scope: local
            -Returned as: an integer(psb_long_int_k_) number. +Type: required +
            +Intent: out. +
            +An integer value; 0 means no error has been detected.

            -


            +Notes + +
              +
            1. The output $nz$ is always the size of the output generated by + the current call; thus, if append=.true., the total output + size will be $nzin+nz$, with the newly extracted coefficients stored in + entries nzin+1:nzin+nz of the array arguments; +
            2. +
            3. When append=.true. the output arrays are reallocated as + necessary; +
            4. +
            5. The row and column indices are returned in the local numbering + scheme; if the global numbering is desired, the user may employ the + psb_loc_to_glob routine on the output. +
            6. +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: psb_sizeof Memory + Up: Data management routines + Previous: psb_get_overlap Extract +   Contents + diff --git a/docs/html/node92.html b/docs/html/node92.html index 4fa2f74b..de164155 100644 --- a/docs/html/node92.html +++ b/docs/html/node92.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Sorting utilities -- - +psb_sizeof -- Memory occupation + @@ -18,276 +18,111 @@ original version by: Nikos Drakos, CBLU, University of Leeds + - + - next - + up - previous - contents
            - Next: Parallel environment routines - Up: Data management routines - Previous: psb_sizeof Memory -   Next: Sorting utilities + Up: Data management routines + Previous: psb_sp_getrow Extract +   Contents

            -

            -Sorting utilities -- +

            +psb_sizeof -- Memory occupation

            -psb_msort -- Sorting by the Merge-sort - algorithm - -

            -psb_qsort -- Sorting by the Quicksort - algorithm +This function computes the memory occupation of a PSBLAS object.

            -psb_hsort -- Sorting by the Heapsort algorithm

            -call psb_msort(x,ix,dir,flag)
            -call psb_qsort(x,ix,dir,flag)
            -call psb_hsort(x,ix,dir,flag)
            +isz = psb_sizeof(a)
            +isz = psb_sizeof(desc_a)
            +isz = psb_sizeof(prec)
             

            -These serial routines sort a sequence $X$ into ascending or -descending order. The argument meaning is identical for the three -calls; the only difference is the algorithm used to accomplish the -task (see Usage Notes below).

            Type:
            Asynchronous.
            -
            On Entry
            +
            On Entry
            -
            x
            -
            The sequence to be sorted. +
            a
            +
            A sparse matrix +$A$.
            -Type:required. +Scope: local
            -Specified as: an integer, real or complex array of rank 1. -
            -
            ix
            -
            A vector of indices. +Type: required
            -Type:optional. +Intent: in.
            -Specified as: an integer array of (at least) the same size as $X$. +Specified as: a structured data of type spdatapsb_Tspmat_type.
            -
            dir
            -
            The desired ordering. +
            desc_a
            +
            Communication descriptor.
            -Type:optional. +Scope: local
            -Specified as: an integer value:
            -
            Integer and real data:
            -
            psb_sort_up_, -psb_sort_down_, psb_asort_up_, psb_asort_down_; -default psb_sort_up_. -
            -
            Complex data:
            -
            psb_lsort_up_, -psb_lsort_down_, psb_asort_up_, psb_asort_down_; -default psb_lsort_up_. -
            -
            +Type: required +
            +Intent: in. +
            +Specified as: a structured data of type descdatapsb_desc_type.
            -
            flag
            -
            Whether to keep the original values in $IX$. +
            prec
            +
            Scope: local
            -Type:optional. +Type: required
            -Specified as: an integer value psb_sort_ovw_idx_ or -psb_sort_keep_idx_; default psb_sort_ovw_idx_. - -

            +Intent: in. +
            +Specified as: a preconditioner data structure precdatapsb_prec_type.

            -
            - -

            -

            On Return
            -
            x
            -
            The sequence of values, in the chosen ordering. +
            Function value
            +
            The memory occupation of the object specified in + the calling sequence, in bytes.
            -Type:required. +Scope: local
            -Specified as: an integer, real or complex array of rank 1. -
            -
            ix
            -
            A vector of indices. -
            -Type: Optional -
            -An integer array of rank 1, whose entries are moved to the same -position as the corresponding entries in $x$. +Returned as: an integer(psb_long_int_k_) number.

            - -

            -Notes - -

              -
            1. For integer or real data the sorting can be performed in the up/down direction, on the - natural or absolute values; -
            2. -
            3. For complex data the sorting can be done in a lexicographic - order (i.e.: sort on the real part with ties broken according to - the imaginary part) or on the absolute values; -
            4. -
            5. The routines return the items in the chosen ordering; the - output difference is the handling of ties (i.e. items with an - equal value) in the original input. With the merge-sort algorithm - ties are preserved in the same relative order as they had in the - original sequence, while this is not guaranteed for quicksort or - heapsort; -
            6. -
            7. If -$flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ - where $n$ is the size of $x$ are initialized to -$ix(i) \leftarrow
-i$; thus, upon return from the subroutine, for each - index $i$ we have in $ix(i)$ the position that the item $x(i)$ - occupied in the original data sequence; -
            8. -
            9. If -$flag = psb\_sort\_keep\_idx\_$ the routine will assume that - the entries in $ix(:)$ have already been initialized by the user; -
            10. -
            11. The three sorting algorithms have a similar $O(n \log n)$ expected - running time; in the average case quicksort will be the - fastest and merge-sort the slowest. However note that: - -
                -
              1. The worst case running time for quicksort is $O(n^2)$; the algorithm - implemented here follows the well-known median-of-three heuristics, - but the worst case may still apply; -
              2. -
              3. The worst case running time for merge-sort and heap-sort is - $O(n \log n)$ as the average case; -
              4. -
              5. The merge-sort algorithm is implemented to take advantage of - subsequences that may be already in the desired ordering prior to - the subroutine call; this situation is relatively common when - dealing with groups of indices of sparse matrix entries, thus - merge-sort is the preferred choice when a sorting is needed - by other routines in the library. -
              6. -
              -
            12. -
            - -

            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: Parallel environment routines - Up: Data management routines - Previous: psb_sizeof Memory -   Contents - +

            diff --git a/docs/html/node93.html b/docs/html/node93.html index c05ff1f9..f8769d61 100644 --- a/docs/html/node93.html +++ b/docs/html/node93.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -Parallel environment routines - +Sorting utilities -- + @@ -18,90 +18,276 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + - next - + up - previous - contents
            - Next: psb_init Initializes - Up: userhtml - Previous: Sorting utilities -   Next: Parallel environment routines + Up: Data management routines + Previous: psb_sizeof Memory +   Contents

            -

            - +

            +Sorting utilities -- +

            + +

            +psb_msort -- Sorting by the Merge-sort + algorithm + +

            +psb_qsort -- Sorting by the Quicksort + algorithm + +

            +psb_hsort -- Sorting by the Heapsort algorithm +

            +call psb_msort(x,ix,dir,flag)
            +call psb_qsort(x,ix,dir,flag)
            +call psb_hsort(x,ix,dir,flag)
            +
            + +

            +These serial routines sort a sequence $X$ into ascending or +descending order. The argument meaning is identical for the three +calls; the only difference is the algorithm used to accomplish the +task (see Usage Notes below). +

            +
            Type:
            +
            Asynchronous. +
            +
            On Entry
            +
            +
            +
            x
            +
            The sequence to be sorted. +
            +Type:required. +
            +Specified as: an integer, real or complex array of rank 1. +
            +
            ix
            +
            A vector of indices. +
            +Type:optional. +
            +Specified as: an integer array of (at least) the same size as $X$. +
            +
            dir
            +
            The desired ordering. +
            +Type:optional. +
            +Specified as: an integer value:
            +
            Integer and real data:
            +
            psb_sort_up_, +psb_sort_down_, psb_asort_up_, psb_asort_down_; +default psb_sort_up_. +
            +
            Complex data:
            +
            psb_lsort_up_, +psb_lsort_down_, psb_asort_up_, psb_asort_down_; +default psb_lsort_up_. +
            +
            +
            +
            flag
            +
            Whether to keep the original values in $IX$. +
            +Type:optional. +
            +Specified as: an integer value psb_sort_ovw_idx_ or +psb_sort_keep_idx_; default psb_sort_ovw_idx_. + +

            +

            +
            + +

            +

            +
            On Return
            +
            +
            +
            x
            +
            The sequence of values, in the chosen ordering. +
            +Type:required.
            -Parallel environment routines - +Specified as: an integer, real or complex array of rank 1. +
            +
            ix
            +
            A vector of indices. +
            +Type: Optional +
            +An integer array of rank 1, whose entries are moved to the same +position as the corresponding entries in $x$. +
            +
            + +

            -


            - -Subsections - - - -

            +Notes + +
              +
            1. For integer or real data the sorting can be performed in the up/down direction, on the + natural or absolute values; +
            2. +
            3. For complex data the sorting can be done in a lexicographic + order (i.e.: sort on the real part with ties broken according to + the imaginary part) or on the absolute values; +
            4. +
            5. The routines return the items in the chosen ordering; the + output difference is the handling of ties (i.e. items with an + equal value) in the original input. With the merge-sort algorithm + ties are preserved in the same relative order as they had in the + original sequence, while this is not guaranteed for quicksort or + heapsort; +
            6. +
            7. If +$flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ + where $n$ is the size of $x$ are initialized to +$ix(i) \leftarrow
+i$; thus, upon return from the subroutine, for each + index $i$ we have in $ix(i)$ the position that the item $x(i)$ + occupied in the original data sequence; +
            8. +
            9. If +$flag = psb\_sort\_keep\_idx\_$ the routine will assume that + the entries in $ix(:)$ have already been initialized by the user; +
            10. +
            11. The three sorting algorithms have a similar $O(n \log n)$ expected + running time; in the average case quicksort will be the + fastest and merge-sort the slowest. However note that: + +
                +
              1. The worst case running time for quicksort is $O(n^2)$; the algorithm + implemented here follows the well-known median-of-three heuristics, + but the worst case may still apply; +
              2. +
              3. The worst case running time for merge-sort and heap-sort is + $O(n \log n)$ as the average case; +
              4. +
              5. The merge-sort algorithm is implemented to take advantage of + subsequences that may be already in the desired ordering prior to + the subroutine call; this situation is relatively common when + dealing with groups of indices of sparse matrix entries, thus + merge-sort is the preferred choice when a sorting is needed + by other routines in the library. +
              6. +
              +
            12. +
            + +

            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: Parallel environment routines + Up: Data management routines + Previous: psb_sizeof Memory +   Contents + diff --git a/docs/html/node94.html b/docs/html/node94.html index c4ec4f97..1263e85a 100644 --- a/docs/html/node94.html +++ b/docs/html/node94.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_init -- Initializes PSBLAS parallel environment - +Parallel environment routines + @@ -18,162 +18,90 @@ original version by: Nikos Drakos, CBLU, University of Leeds - - - + + + - next - + up - previous - contents
            - Next: psb_info Return - Up: Parallel environment routines - Previous: Parallel environment routines -   Next: psb_init Initializes + Up: userhtml + Previous: Sorting utilities +   Contents

            -

            -psb_init -- Initializes PSBLAS parallel - environment -

            - -

            -

            -call psb_init(icontxt, np, basectxt, ids)
            -
            - -

            -This subroutine initializes the PSBLAS parallel environment, defining -a virtual parallel machine. -

            -
            Type:
            -
            Synchronous. -
            -
            On Entry
            -
            -
            -
            np
            -
            Number of processes in the PSBLAS virtual parallel machine. -
            -Scope: global. -
            -Type: optional. -
            -Intent: in. -
            -Specified as: an integer value. Default: use all available processes. -
            -
            basectxt
            -
            the initial communication context. The new context - will be defined from the processes participating in the initial one. -
            -Scope: global. -
            -Type: optional. -
            -Intent: in. -
            -Specified as: an integer value. Default: use MPI_COMM_WORLD. -
            -
            ids
            -
            Identities of the processes to use for the new context; the - argument is ignored when np is not specified. This allows the - processes in the new environment to be in an order different from the - original one. -
            -Scope: global. -
            -Type: optional. -
            -Intent: in. -
            -Specified as: an integer array. Default: use the indices $(0\dots np-1)$. -
            -
            - -

            -

            -
            On Return
            -
            -
            -
            icontxt
            -
            the communication context identifying the virtual - parallel machine. Note that this is always a duplicate of - basectxt, so that library communications are completely - separated from other communication operations. +

            +
            -Scope: global. -
            -Type: required. -
            -Intent: out. -
            -Specified as: an integer variable. -

            -
            +Parallel environment routines +

            -Notes +


            + +Subsections -
              -
            1. A call to this routine must precede any other PSBLAS call. -
            2. -
            3. It is an error to specify a value for $np$ greater than the - number of processes available in the underlying base parallel - environment. -
            4. -
            - -

            -


            - - -next - -up - -previous - -contents -
            - Next: psb_info Return - Up: Parallel environment routines - Previous: Parallel environment routines -   Contents - + + +

            diff --git a/docs/html/node95.html b/docs/html/node95.html index 55df9d42..79bde2ce 100644 --- a/docs/html/node95.html +++ b/docs/html/node95.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_info -- Return information about PSBLAS parallel environment - +psb_init -- Initializes PSBLAS parallel environment + @@ -20,68 +20,96 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_exit Exit - Up: Parallel environment routines - Previous: psb_init Initializes -   Next: psb_info Return + Up: Parallel environment routines + Previous: Parallel environment routines +   Contents

            -

            -psb_info -- Return information about PSBLAS parallel +

            +psb_init -- Initializes PSBLAS parallel environment

            -call psb_info(icontxt, iam, np)
            +call psb_init(icontxt, np, basectxt, ids)
             

            -This subroutine returns information about the PSBLAS parallel environment, defining +This subroutine initializes the PSBLAS parallel environment, defining a virtual parallel machine.

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            -
            icontxt
            -
            the communication context identifying the virtual - parallel machine. +
            np
            +
            Number of processes in the PSBLAS virtual parallel machine.
            Scope: global.
            -Type: required. +Type: optional.
            Intent: in.
            -Specified as: an integer variable. +Specified as: an integer value. Default: use all available processes. +
            +
            basectxt
            +
            the initial communication context. The new context + will be defined from the processes participating in the initial one. +
            +Scope: global. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: an integer value. Default: use MPI_COMM_WORLD. +
            +
            ids
            +
            Identities of the processes to use for the new context; the + argument is ignored when np is not specified. This allows the + processes in the new environment to be in an order different from the + original one. +
            +Scope: global. +
            +Type: optional. +
            +Intent: in. +
            +Specified as: an integer array. Default: use the indices $(0\dots np-1)$.
            @@ -90,24 +118,11 @@ Specified as: an integer variable.
            On Return
            -
            iam
            -
            Identifier of current process in the PSBLAS virtual parallel machine. -
            -Scope: local. -
            -Type: required. -
            -Intent: out. -
            -Specified as: an integer value. -$-1 \le iam \le np-1$
            -
            np
            -
            Number of processes in the PSBLAS virtual parallel machine. +
            icontxt
            +
            the communication context identifying the virtual + parallel machine. Note that this is always a duplicate of + basectxt, so that library communications are completely + separated from other communication operations.
            Scope: global.
            @@ -115,56 +130,48 @@ Type: required.
            Intent: out.
            -Specified as: an integer variable.
            +Specified as: an integer variable. +

            Notes

              -
            1. For processes in the virtual parallel machine the identifier - will satisfy -$0 \le iam \le np-1$; +
            2. A call to this routine must precede any other PSBLAS call.
            3. -
            4. If the user has requested on psb_init a number of - processes less than the total available in the parallel execution - environment, the remaining processes will have on return $iam=-1$; - the only call involving icontxt that any such process may - execute is to psb_exit. +
            5. It is an error to specify a value for $np$ greater than the + number of processes available in the underlying base parallel + environment.


            - next - + up - previous - contents
            - Next: psb_exit Exit - Up: Parallel environment routines - Previous: psb_init Initializes -   Next: psb_info Return + Up: Parallel environment routines + Previous: Parallel environment routines +   Contents diff --git a/docs/html/node96.html b/docs/html/node96.html index 610aa733..e2b0cbfc 100644 --- a/docs/html/node96.html +++ b/docs/html/node96.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_exit -- Exit from PSBLAS parallel environment - +psb_info -- Return information about PSBLAS parallel environment + @@ -20,53 +20,53 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_get_mpicomm Get - Up: Parallel environment routines - Previous: psb_info Return -   Next: psb_exit Exit + Up: Parallel environment routines + Previous: psb_init Initializes +   Contents

            -

            -psb_exit -- Exit from PSBLAS parallel +

            +psb_info -- Return information about PSBLAS parallel environment

            -call psb_exit(icontxt)
            -call psb_exit(icontxt,close)
            +call psb_info(icontxt, iam, np)
             

            -This subroutine exits from the PSBLAS parallel virtual machine. +This subroutine returns information about the PSBLAS parallel environment, defining +a virtual parallel machine.

            Type:
            -
            Synchronous. +
            Asynchronous.
            On Entry
            @@ -83,67 +83,88 @@ Intent: in.
            Specified as: an integer variable.
            -
            close
            -
            Whether to close all data structures related to the - virtual parallel machine, besides those associated with icontxt. +
            + +

            +

            +
            On Return
            +
            +
            +
            iam
            +
            Identifier of current process in the PSBLAS virtual parallel machine. +
            +Scope: local. +
            +Type: required. +
            +Intent: out. +
            +Specified as: an integer value. +$-1 \le iam \le np-1$
            +
            np
            +
            Number of processes in the PSBLAS virtual parallel machine.
            Scope: global.
            -Type: optional. +Type: required.
            -Intent: in. +Intent: out.
            -Specified as: a logical variable, default value: true. -
            +Specified as: an integer variable.

            Notes

              -
            1. This routine may be called even if a previous call to - psb_info has returned with For processes in the virtual parallel machine the identifier + will satisfy +$0 \le iam \le np-1$; +
            2. +
            3. If the user has requested on psb_init a number of + processes less than the total available in the parallel execution + environment, the remaining processes will have on return $iam=-1$; indeed, it it is the only - routine that may be called with argument icontxt in this - situation. -
            4. -
            5. A call to this routine with close=.true. implies a call - to MPI_Finalize, after which no parallel routine may be called. -
            6. -
            7. If the user whishes to use multiple communication contexts in the - same program, or to enter and exit multiple times into the parallel - environment, this routine may be called to - selectively close the contexts with close=.false., while on - the last call it should be called with close=.true. to - shutdown in a clean way the entire parallel environment. + ALT="$iam=-1$">; + the only call involving icontxt that any such process may + execute is to psb_exit.


            - next - + up - previous - contents
            - Next: psb_get_mpicomm Get - Up: Parallel environment routines - Previous: psb_info Return -   Next: psb_exit Exit + Up: Parallel environment routines + Previous: psb_init Initializes +   Contents diff --git a/docs/html/node97.html b/docs/html/node97.html index e394c1c1..9606c3e8 100644 --- a/docs/html/node97.html +++ b/docs/html/node97.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_get_mpicomm -- Get the MPI communicator - +psb_exit -- Exit from PSBLAS parallel environment + @@ -20,51 +20,53 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_get_rank Get - Up: Parallel environment routines - Previous: psb_exit Exit -   Next: psb_get_mpicomm Get + Up: Parallel environment routines + Previous: psb_info Return +   Contents

            -

            -psb_get_mpicomm -- Get the MPI communicator +

            +psb_exit -- Exit from PSBLAS parallel + environment

            -call psb_get_mpicomm(icontxt, icomm)
            +call psb_exit(icontxt)
            +call psb_exit(icontxt,close)
             

            -This subroutine returns the MPI communicator associated with a PSBLAS context +This subroutine exits from the PSBLAS parallel virtual machine.

            Type:
            -
            Asynchronous. +
            Synchronous.
            On Entry
            @@ -81,26 +83,69 @@ Intent: in.
            Specified as: an integer variable.
            -
            - -

            -

            -
            On Return
            -
            -
            -
            icomm
            -
            The MPI communicator associated with the PSBLAS virtual parallel machine. +
            close
            +
            Whether to close all data structures related to the + virtual parallel machine, besides those associated with icontxt.
            Scope: global.
            -Type: required. +Type: optional. +
            +Intent: in.
            -Intent: out. -
            +Specified as: a logical variable, default value: true. +

            -


            +Notes + +
              +
            1. This routine may be called even if a previous call to + psb_info has returned with $iam=-1$; indeed, it it is the only + routine that may be called with argument icontxt in this + situation. +
            2. +
            3. A call to this routine with close=.true. implies a call + to MPI_Finalize, after which no parallel routine may be called. +
            4. +
            5. If the user whishes to use multiple communication contexts in the + same program, or to enter and exit multiple times into the parallel + environment, this routine may be called to + selectively close the contexts with close=.false., while on + the last call it should be called with close=.true. to + shutdown in a clean way the entire parallel environment. +
            6. +
            + +

            +


            + + +next + +up + +previous + +contents +
            + Next: psb_get_mpicomm Get + Up: Parallel environment routines + Previous: psb_info Return +   Contents + diff --git a/docs/html/node98.html b/docs/html/node98.html index caa3e504..532ee800 100644 --- a/docs/html/node98.html +++ b/docs/html/node98.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> -psb_get_rank -- Get the MPI rank - +psb_get_mpicomm -- Get the MPI communicator + @@ -20,51 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_wtime Wall - Up: Parallel environment routines - Previous: psb_get_mpicomm Get -   Next: psb_get_rank Get + Up: Parallel environment routines + Previous: psb_exit Exit +   Contents

            -

            -psb_get_rank -- Get the MPI rank +

            +psb_get_mpicomm -- Get the MPI communicator

            -call psb_get_rank(rank, icontxt, id)
            +call psb_get_mpicomm(icontxt, icomm)
             

            -This subroutine returns the MPI rank of the PSBLAS process $id$ +This subroutine returns the MPI communicator associated with a PSBLAS context

            Type:
            Asynchronous. @@ -84,22 +81,6 @@ Intent: in.
            Specified as: an integer variable.
            -
            id
            -
            Identifier of a process in the PSBLAS virtual parallel machine. -
            -Scope: local. -
            -Type: required. -
            -Intent: in. -
            -Specified as: an integer value. -$0 \le id \le np-1$

            @@ -107,13 +88,10 @@ Specified as: an integer value. -psb_wtime -- Wall clock timing - +psb_get_rank -- Get the MPI rank + @@ -20,61 +20,105 @@ original version by: Nikos Drakos, CBLU, University of Leeds - + - next - + up - previous - contents
            - Next: psb_barrier Sinchronization - Up: Parallel environment routines - Previous: psb_get_rank Get -   Next: psb_wtime Wall + Up: Parallel environment routines + Previous: psb_get_mpicomm Get +   Contents

            -

            -psb_wtime -- Wall clock timing +

            +psb_get_rank -- Get the MPI rank

            -time = psb_wtime()
            +call psb_get_rank(rank, icontxt, id)
             

            -This function returns a wall clock timer. The resolution of the timer -is dependent on the underlying parallel environment implementation. +This subroutine returns the MPI rank of the PSBLAS process $id$

            Type:
            Asynchronous.
            -
            On Exit
            +
            On Entry
            -
            Function value
            -
            the elapsed time in seconds. +
            icontxt
            +
            the communication context identifying the virtual + parallel machine.
            -Returned as: a real(psb_dpk_) variable. +Scope: global. +
            +Type: required. +
            +Intent: in. +
            +Specified as: an integer variable. +
            +
            id
            +
            Identifier of a process in the PSBLAS virtual parallel machine. +
            +Scope: local. +
            +Type: required. +
            +Intent: in. +
            +Specified as: an integer value. +$0 \le id \le np-1$
            +
            + +

            +

            +
            On Return
            +
            +
            rank
            +
            The MPI rank associated with the PSBLAS process $id$. +
            +Scope: local. +
            +Type: required. +
            +Intent: out. +

            diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html index 49d83912..ae2f33be 100644 --- a/docs/html/userhtml.html +++ b/docs/html/userhtml.html @@ -149,227 +149,229 @@ of a sparse matrix

          • csclip -- Reduce to a submatrix
          • clip_diag -- Cut out main diagonal + HREF="node33.html">get_diag -- Get main diagonal
          • tril -- Return the lower triangle + HREF="node34.html">clip_diag -- Cut out main diagonal
          • triu -- Return the upper triangle + HREF="node35.html">tril -- Return the lower triangle
          • psb_set_mat_default -- Set default storage format + HREF="node36.html">triu -- Return the upper triangle
          • clone -- Clone current object + HREF="node37.html">psb_set_mat_default -- Set default storage format
          • Named Constants - + HREF="node38.html">clone -- Clone current object
          • Dense Vector Data Structure -
              + HREF="node39.html">Named Constants +
          • Vector Methods + HREF="node40.html">Dense Vector Data Structure + + HREF="node44.html">get_vect -- Get a copy of the vector contents
          • Preconditioner data structure + HREF="node45.html">clone -- Clone current object -
          • Computational routines -
              + HREF="node46.html">Preconditioner data structure +
            +
          • psb_geaxpby -- General Dense Matrix Sum + HREF="node47.html">Computational routines +
            -
          • Communication routines -
            • psb_halo -- Halo Data Communication + HREF="node61.html">Communication routines +
              -
            • Data management routines -
              • psb_cdall -- Allocates a communication descriptor + HREF="node66.html">Data management routines +
                -
              • Parallel environment routines -
                • psb_init -- Initializes PSBLAS parallel - environment + HREF="node94.html">Parallel environment routines +
                  -
                • Error handling
                • Utilities + HREF="node111.html">Error handling
                • Preconditioner routines -
                    + HREF="node112.html">Utilities
                  • psb_precinit -- Initialize a preconditioner + HREF="node113.html">Preconditioner routines +
                    -
                  • Iterative Methods -

                    diff --git a/docs/psblas-3.2.pdf b/docs/psblas-3.2.pdf index 53774570..05a12109 100644 --- a/docs/psblas-3.2.pdf +++ b/docs/psblas-3.2.pdf @@ -196,582 +196,588 @@ endobj << /S /GoTo /D (section*.20) >> endobj 136 0 obj -(clip\137diag) +(get\137diag) endobj 137 0 obj << /S /GoTo /D (section*.21) >> endobj 140 0 obj -(tril) +(clip\137diag) endobj 141 0 obj << /S /GoTo /D (section*.22) >> endobj 144 0 obj -(triu) +(tril) endobj 145 0 obj << /S /GoTo /D (section*.23) >> endobj 148 0 obj -(psb\137set\137mat\137default) +(triu) endobj 149 0 obj << /S /GoTo /D (section*.24) >> endobj 152 0 obj -(clone) +(psb\137set\137mat\137default) endobj 153 0 obj -<< /S /GoTo /D (subsubsection.3.2.2) >> +<< /S /GoTo /D (section*.25) >> endobj 156 0 obj -(3.2.2 Named Constants) +(clone) endobj 157 0 obj -<< /S /GoTo /D (subsection.3.3) >> +<< /S /GoTo /D (subsubsection.3.2.2) >> endobj 160 0 obj -(3.3 Dense Vector Data Structure) +(3.2.2 Named Constants) endobj 161 0 obj -<< /S /GoTo /D (subsubsection.3.3.1) >> +<< /S /GoTo /D (subsection.3.3) >> endobj 164 0 obj -(3.3.1 Vector Methods) +(3.3 Dense Vector Data Structure) endobj 165 0 obj -<< /S /GoTo /D (section*.25) >> +<< /S /GoTo /D (subsubsection.3.3.1) >> endobj 168 0 obj -(get\137nrows) +(3.3.1 Vector Methods) endobj 169 0 obj << /S /GoTo /D (section*.26) >> endobj 172 0 obj -(sizeof ) +(get\137nrows) endobj 173 0 obj << /S /GoTo /D (section*.27) >> endobj 176 0 obj -(get\137vect ) +(sizeof ) endobj 177 0 obj << /S /GoTo /D (section*.28) >> endobj 180 0 obj -(clone) +(get\137vect ) endobj 181 0 obj -<< /S /GoTo /D (subsection.3.4) >> +<< /S /GoTo /D (section*.29) >> endobj 184 0 obj -(3.4 Preconditioner data structure) +(clone) endobj 185 0 obj -<< /S /GoTo /D (section.4) >> +<< /S /GoTo /D (subsection.3.4) >> endobj 188 0 obj -(4 Computational routines) +(3.4 Preconditioner data structure) endobj 189 0 obj -<< /S /GoTo /D (section*.29) >> +<< /S /GoTo /D (section.4) >> endobj 192 0 obj -(psb\137geaxpby) +(4 Computational routines) endobj 193 0 obj << /S /GoTo /D (section*.30) >> endobj 196 0 obj -(psb\137gedot) +(psb\137geaxpby) endobj 197 0 obj << /S /GoTo /D (section*.31) >> endobj 200 0 obj -(psb\137gedots) +(psb\137gedot) endobj 201 0 obj << /S /GoTo /D (section*.32) >> endobj 204 0 obj -(psb\137geamax) +(psb\137gedots) endobj 205 0 obj << /S /GoTo /D (section*.33) >> endobj 208 0 obj -(psb\137geamaxs) +(psb\137geamax) endobj 209 0 obj << /S /GoTo /D (section*.34) >> endobj 212 0 obj -(psb\137geasum) +(psb\137geamaxs) endobj 213 0 obj << /S /GoTo /D (section*.35) >> endobj 216 0 obj -(psb\137geasums) +(psb\137geasum) endobj 217 0 obj << /S /GoTo /D (section*.36) >> endobj 220 0 obj -(psb\137genrm2) +(psb\137geasums) endobj 221 0 obj << /S /GoTo /D (section*.37) >> endobj 224 0 obj -(psb\137genrm2s) +(psb\137genrm2) endobj 225 0 obj << /S /GoTo /D (section*.38) >> endobj 228 0 obj -(psb\137spnrm1) +(psb\137genrm2s) endobj 229 0 obj << /S /GoTo /D (section*.39) >> endobj 232 0 obj -(psb\137spnrmi) +(psb\137spnrm1) endobj 233 0 obj << /S /GoTo /D (section*.40) >> endobj 236 0 obj -(psb\137spmm) +(psb\137spnrmi) endobj 237 0 obj << /S /GoTo /D (section*.41) >> endobj 240 0 obj -(psb\137spsm) +(psb\137spmm) endobj 241 0 obj -<< /S /GoTo /D (section.5) >> +<< /S /GoTo /D (section*.42) >> endobj 244 0 obj -(5 Communication routines) +(psb\137spsm) endobj 245 0 obj -<< /S /GoTo /D (section*.42) >> +<< /S /GoTo /D (section.5) >> endobj 248 0 obj -(psb\137halo) +(5 Communication routines) endobj 249 0 obj << /S /GoTo /D (section*.43) >> endobj 252 0 obj -(psb\137ovrl) +(psb\137halo) endobj 253 0 obj << /S /GoTo /D (section*.44) >> endobj 256 0 obj -(psb\137gather) +(psb\137ovrl) endobj 257 0 obj << /S /GoTo /D (section*.45) >> endobj 260 0 obj -(psb\137scatter) +(psb\137gather) endobj 261 0 obj -<< /S /GoTo /D (section.6) >> +<< /S /GoTo /D (section*.46) >> endobj 264 0 obj -(6 Data management routines) +(psb\137scatter) endobj 265 0 obj -<< /S /GoTo /D (section*.46) >> +<< /S /GoTo /D (section.6) >> endobj 268 0 obj -(psb\137cdall) +(6 Data management routines) endobj 269 0 obj << /S /GoTo /D (section*.47) >> endobj 272 0 obj -(psb\137cdins) +(psb\137cdall) endobj 273 0 obj << /S /GoTo /D (section*.48) >> endobj 276 0 obj -(psb\137cdasb) +(psb\137cdins) endobj 277 0 obj << /S /GoTo /D (section*.49) >> endobj 280 0 obj -(psb\137cdcpy) +(psb\137cdasb) endobj 281 0 obj << /S /GoTo /D (section*.50) >> endobj 284 0 obj -(psb\137cdfree) +(psb\137cdcpy) endobj 285 0 obj << /S /GoTo /D (section*.51) >> endobj 288 0 obj -(psb\137cdbldext) +(psb\137cdfree) endobj 289 0 obj << /S /GoTo /D (section*.52) >> endobj 292 0 obj -(psb\137spall) +(psb\137cdbldext) endobj 293 0 obj << /S /GoTo /D (section*.53) >> endobj 296 0 obj -(psb\137spins) +(psb\137spall) endobj 297 0 obj << /S /GoTo /D (section*.54) >> endobj 300 0 obj -(psb\137spasb) +(psb\137spins) endobj 301 0 obj << /S /GoTo /D (section*.55) >> endobj 304 0 obj -(psb\137spfree) +(psb\137spasb) endobj 305 0 obj << /S /GoTo /D (section*.56) >> endobj 308 0 obj -(psb\137sprn) +(psb\137spfree) endobj 309 0 obj << /S /GoTo /D (section*.57) >> endobj 312 0 obj -(psb\137geall) +(psb\137sprn) endobj 313 0 obj << /S /GoTo /D (section*.58) >> endobj 316 0 obj -(psb\137geins) +(psb\137geall) endobj 317 0 obj << /S /GoTo /D (section*.59) >> endobj 320 0 obj -(psb\137geasb) +(psb\137geins) endobj 321 0 obj << /S /GoTo /D (section*.60) >> endobj 324 0 obj -(psb\137gefree) +(psb\137geasb) endobj 325 0 obj << /S /GoTo /D (section*.61) >> endobj 328 0 obj -(psb\137gelp) +(psb\137gefree) endobj 329 0 obj << /S /GoTo /D (section*.62) >> endobj 332 0 obj -(psb\137glob\137to\137loc) +(psb\137gelp) endobj 333 0 obj << /S /GoTo /D (section*.63) >> endobj 336 0 obj -(psb\137loc\137to\137glob) +(psb\137glob\137to\137loc) endobj 337 0 obj << /S /GoTo /D (section*.64) >> endobj 340 0 obj -(psb\137is\137owned ) +(psb\137loc\137to\137glob) endobj 341 0 obj << /S /GoTo /D (section*.65) >> endobj 344 0 obj -(psb\137owned\137index ) +(psb\137is\137owned ) endobj 345 0 obj << /S /GoTo /D (section*.66) >> endobj 348 0 obj -(psb\137is\137local ) +(psb\137owned\137index ) endobj 349 0 obj << /S /GoTo /D (section*.67) >> endobj 352 0 obj -(psb\137local\137index ) +(psb\137is\137local ) endobj 353 0 obj << /S /GoTo /D (section*.68) >> endobj 356 0 obj -(psb\137get\137boundary) +(psb\137local\137index ) endobj 357 0 obj << /S /GoTo /D (section*.69) >> endobj 360 0 obj -(psb\137get\137overlap) +(psb\137get\137boundary) endobj 361 0 obj << /S /GoTo /D (section*.70) >> endobj 364 0 obj -(psb\137sp\137getrow) +(psb\137get\137overlap) endobj 365 0 obj << /S /GoTo /D (section*.71) >> endobj 368 0 obj -(psb\137sizeof) +(psb\137sp\137getrow) endobj 369 0 obj << /S /GoTo /D (section*.72) >> endobj 372 0 obj -(Sorting utilities) +(psb\137sizeof) endobj 373 0 obj -<< /S /GoTo /D (section.7) >> +<< /S /GoTo /D (section*.73) >> endobj 376 0 obj -(7 Parallel environment routines) +(Sorting utilities) endobj 377 0 obj -<< /S /GoTo /D (section*.73) >> +<< /S /GoTo /D (section.7) >> endobj 380 0 obj -(psb\137init) +(7 Parallel environment routines) endobj 381 0 obj << /S /GoTo /D (section*.74) >> endobj 384 0 obj -(psb\137info) +(psb\137init) endobj 385 0 obj << /S /GoTo /D (section*.75) >> endobj 388 0 obj -(psb\137exit) +(psb\137info) endobj 389 0 obj << /S /GoTo /D (section*.76) >> endobj 392 0 obj -(psb\137get\137mpicomm) +(psb\137exit) endobj 393 0 obj << /S /GoTo /D (section*.77) >> endobj 396 0 obj -(psb\137get\137rank) +(psb\137get\137mpicomm) endobj 397 0 obj << /S /GoTo /D (section*.78) >> endobj 400 0 obj -(psb\137wtime) +(psb\137get\137rank) endobj 401 0 obj << /S /GoTo /D (section*.79) >> endobj 404 0 obj -(psb\137barrier) +(psb\137wtime) endobj 405 0 obj << /S /GoTo /D (section*.80) >> endobj 408 0 obj -(psb\137abort) +(psb\137barrier) endobj 409 0 obj << /S /GoTo /D (section*.81) >> endobj 412 0 obj -(psb\137bcast) +(psb\137abort) endobj 413 0 obj << /S /GoTo /D (section*.82) >> endobj 416 0 obj -(psb\137sum) +(psb\137bcast) endobj 417 0 obj << /S /GoTo /D (section*.83) >> endobj 420 0 obj -(psb\137max) +(psb\137sum) endobj 421 0 obj << /S /GoTo /D (section*.84) >> endobj 424 0 obj -(psb\137min) +(psb\137max) endobj 425 0 obj << /S /GoTo /D (section*.85) >> endobj 428 0 obj -(psb\137amx) +(psb\137min) endobj 429 0 obj << /S /GoTo /D (section*.86) >> endobj 432 0 obj -(psb\137amn) +(psb\137amx) endobj 433 0 obj << /S /GoTo /D (section*.87) >> endobj 436 0 obj -(psb\137snd) +(psb\137amn) endobj 437 0 obj << /S /GoTo /D (section*.88) >> endobj 440 0 obj -(psb\137rcv) +(psb\137snd) endobj 441 0 obj -<< /S /GoTo /D (section.8) >> +<< /S /GoTo /D (section*.89) >> endobj 444 0 obj -(8 Error handling) +(psb\137rcv) endobj 445 0 obj -<< /S /GoTo /D (section*.89) >> +<< /S /GoTo /D (section.8) >> endobj 448 0 obj -(psb\137errpush) +(8 Error handling) endobj 449 0 obj << /S /GoTo /D (section*.90) >> endobj 452 0 obj -(psb\137error) +(psb\137errpush) endobj 453 0 obj << /S /GoTo /D (section*.91) >> endobj 456 0 obj -(psb\137set\137errverbosity) +(psb\137error) endobj 457 0 obj << /S /GoTo /D (section*.92) >> endobj 460 0 obj -(psb\137set\137erraction) +(psb\137set\137errverbosity) endobj 461 0 obj -<< /S /GoTo /D (section.9) >> +<< /S /GoTo /D (section*.93) >> endobj 464 0 obj -(9 Utilities) +(psb\137set\137erraction) endobj 465 0 obj -<< /S /GoTo /D (section*.93) >> +<< /S /GoTo /D (section.9) >> endobj 468 0 obj -(hb\137read) +(9 Utilities) endobj 469 0 obj << /S /GoTo /D (section*.94) >> endobj 472 0 obj -(hb\137write) +(hb\137read) endobj 473 0 obj << /S /GoTo /D (section*.95) >> endobj 476 0 obj -(mm\137mat\137read) +(hb\137write) endobj 477 0 obj << /S /GoTo /D (section*.96) >> endobj 480 0 obj -(mm\137vet\137read) +(mm\137mat\137read) endobj 481 0 obj << /S /GoTo /D (section*.97) >> endobj 484 0 obj -(mm\137mat\137write) +(mm\137vet\137read) endobj 485 0 obj -<< /S /GoTo /D (section.10) >> +<< /S /GoTo /D (section*.98) >> endobj 488 0 obj -(10 Preconditioner routines) +(mm\137mat\137write) endobj 489 0 obj -<< /S /GoTo /D (section*.98) >> +<< /S /GoTo /D (section.10) >> endobj 492 0 obj -(psb\137precinit) +(10 Preconditioner routines) endobj 493 0 obj << /S /GoTo /D (section*.99) >> endobj 496 0 obj -(psb\137precbld) +(psb\137precinit) endobj 497 0 obj << /S /GoTo /D (section*.100) >> endobj 500 0 obj -(psb\137precaply) +(psb\137precbld) endobj 501 0 obj << /S /GoTo /D (section*.101) >> endobj 504 0 obj -(psb\137precdescr) +(psb\137precaply) endobj 505 0 obj << /S /GoTo /D (section*.102) >> endobj 508 0 obj -(clone) +(psb\137precdescr) endobj 509 0 obj -<< /S /GoTo /D (section.11) >> +<< /S /GoTo /D (section*.103) >> endobj 512 0 obj -(11 Iterative Methods) +(clone) endobj 513 0 obj -<< /S /GoTo /D (section*.103) >> +<< /S /GoTo /D (section.11) >> endobj 516 0 obj -(psb\137krylov) +(11 Iterative Methods) endobj 517 0 obj -<< /S /GoTo /D [518 0 R /Fit ] >> +<< /S /GoTo /D (section*.104) >> +endobj +520 0 obj +(psb\137krylov) +endobj +521 0 obj +<< /S /GoTo /D [522 0 R /Fit ] >> endobj -520 0 obj << +524 0 obj << /Length 692 >> stream @@ -797,27 +803,27 @@ BT ET endstream endobj -518 0 obj << +522 0 obj << /Type /Page -/Contents 520 0 R -/Resources 519 0 R +/Contents 524 0 R +/Resources 523 0 R /MediaBox [0 0 595.276 841.89] -/Parent 527 0 R +/Parent 531 0 R >> endobj -521 0 obj << -/D [518 0 R /XYZ 99.895 740.998 null] +525 0 obj << +/D [522 0 R /XYZ 99.895 740.998 null] >> endobj -522 0 obj << -/D [518 0 R /XYZ 99.895 716.092 null] +526 0 obj << +/D [522 0 R /XYZ 99.895 716.092 null] >> endobj 6 0 obj << -/D [518 0 R /XYZ 99.895 716.092 null] +/D [522 0 R /XYZ 99.895 716.092 null] >> endobj -519 0 obj << -/Font << /F16 523 0 R /F18 524 0 R /F27 525 0 R /F8 526 0 R >> +523 0 obj << +/Font << /F16 527 0 R /F18 528 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -530 0 obj << +534 0 obj << /Length 77 >> stream @@ -830,22 +836,22 @@ BT ET endstream endobj -529 0 obj << +533 0 obj << /Type /Page -/Contents 530 0 R -/Resources 528 0 R +/Contents 534 0 R +/Resources 532 0 R /MediaBox [0 0 595.276 841.89] -/Parent 527 0 R +/Parent 531 0 R >> endobj -531 0 obj << -/D [529 0 R /XYZ 150.705 740.998 null] +535 0 obj << +/D [533 0 R /XYZ 150.705 740.998 null] >> endobj -528 0 obj << -/Font << /F8 526 0 R >> +532 0 obj << +/Font << /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -580 0 obj << -/Length 16123 +584 0 obj << +/Length 16522 >> stream 0 g 0 G @@ -853,548 +859,562 @@ stream BT /F16 14.3462 Tf 99.895 706.129 Td [(Con)31(ten)31(ts)]TJ 0 0 1 rg 0 0 1 RG -/F27 9.9626 Tf 0 -23.001 Td [(1)-925(In)32(tro)-32(duction)]TJ +/F27 9.9626 Tf 0 -22.554 Td [(1)-925(In)32(tro)-32(duction)]TJ 0 g 0 G [-26085(1)]TJ 0 0 1 rg 0 0 1 RG - 0 -23.001 Td [(2)-925(General)-383(o)32(v)31(erview)]TJ + 0 -22.554 Td [(2)-925(General)-383(o)32(v)31(erview)]TJ 0 g 0 G [-23689(2)]TJ 0 0 1 rg 0 0 1 RG -/F8 9.9626 Tf 14.944 -12.604 Td [(2.1)-1022(Basic)-334(Nomenclature)]TJ +/F8 9.9626 Tf 14.944 -12.336 Td [(2.1)-1022(Basic)-334(Nomenclature)]TJ 0 g 0 G [-927(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1583(3)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(2.2)-1022(Library)-333(con)27(ten)28(ts)]TJ + 0 -12.337 Td [(2.2)-1022(Library)-333(con)27(ten)28(ts)]TJ 0 g 0 G [-897(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1584(4)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(2.3)-1022(Application)-333(structure)]TJ + 0 -12.337 Td [(2.3)-1022(Application)-333(structure)]TJ 0 g 0 G [-300(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G [-1584(6)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 22.914 -12.605 Td [(2.3.1)-1144(Us)-1(er-de\014n)1(e)-1(d)-333(index)-333(mappings)]TJ + 22.914 -12.336 Td [(2.3.1)-1144(Us)-1(er-de\014n)1(e)-1(d)-333(index)-333(mappings)]TJ 0 g 0 G [-847(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G [-1584(8)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -22.914 -12.605 Td [(2.4)-1022(Programming)-334(mo)-27(del)]TJ + -22.914 -12.337 Td [(2.4)-1022(Programming)-334(mo)-27(del)]TJ 0 g 0 G [-736(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G [-1584(8)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG -/F27 9.9626 Tf -14.944 -23.001 Td [(3)-925(Data)-383(Struct)-1(ure)1(s)-384(and)-383(Classes)]TJ +/F27 9.9626 Tf -14.944 -22.554 Td [(3)-925(Data)-383(Struct)-1(ure)1(s)-384(and)-383(Classes)]TJ 0 g 0 G [-18144(9)]TJ 0 0 1 rg 0 0 1 RG -/F8 9.9626 Tf 14.944 -12.605 Td [(3.1)-1022(Descriptor)-334(data)-333(structure)]TJ +/F8 9.9626 Tf 14.944 -12.337 Td [(3.1)-1022(Descriptor)-334(data)-333(structure)]TJ 0 g 0 G [-886(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1584(9)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 22.914 -12.605 Td [(3.1.1)-1144(Des)-1(crip)1(tor)-334(Metho)-28(ds)]TJ + 22.914 -12.336 Td [(3.1.1)-1144(Des)-1(crip)1(tor)-334(Metho)-28(ds)]TJ 0 g 0 G [-913(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1083(12)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 31.881 -12.604 Td [(get)]TJ + 31.881 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 536.487 cm +1 0 0 1 183.515 539.973 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 536.287 Td [(lo)-28(cal)]TJ +/F8 9.9626 Tf 186.504 539.774 Td [(lo)-28(cal)]TJ ET q -1 0 0 1 207.304 536.487 cm +1 0 0 1 207.304 539.973 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 210.293 536.287 Td [(ro)28(ws)]TJ +/F8 9.9626 Tf 210.293 539.774 Td [(ro)28(ws)]TJ 0 g 0 G [-411(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(12)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -40.659 -12.604 Td [(get)]TJ + -40.659 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 523.882 cm +1 0 0 1 183.515 527.636 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 523.683 Td [(lo)-28(cal)]TJ +/F8 9.9626 Tf 186.504 527.437 Td [(lo)-28(cal)]TJ ET q -1 0 0 1 207.304 523.882 cm +1 0 0 1 207.304 527.636 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 210.293 523.683 Td [(cols)]TJ +/F8 9.9626 Tf 210.293 527.437 Td [(cols)]TJ 0 g 0 G [-774(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1083(12)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -40.659 -12.605 Td [(get)]TJ + -40.659 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 511.277 cm +1 0 0 1 183.515 515.3 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 511.078 Td [(global)]TJ +/F8 9.9626 Tf 186.504 515.101 Td [(global)]TJ ET q -1 0 0 1 213.115 511.277 cm +1 0 0 1 213.115 515.3 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 216.104 511.078 Td [(ro)28(ws)]TJ +/F8 9.9626 Tf 216.104 515.101 Td [(ro)28(ws)]TJ 0 g 0 G [-605(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(12)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -46.47 -12.605 Td [(get)]TJ + -46.47 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 498.672 cm +1 0 0 1 183.515 502.963 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 498.473 Td [(global)]TJ +/F8 9.9626 Tf 186.504 502.764 Td [(global)]TJ ET q -1 0 0 1 213.115 498.672 cm +1 0 0 1 213.115 502.963 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 216.104 498.473 Td [(cols)]TJ +/F8 9.9626 Tf 216.104 502.764 Td [(cols)]TJ 0 g 0 G [-969(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(13)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -46.47 -12.605 Td [(get)]TJ + -46.47 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 486.067 cm +1 0 0 1 183.515 490.626 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 485.868 Td [(con)28(text)]TJ +/F8 9.9626 Tf 186.504 490.427 Td [(con)28(text)]TJ 0 g 0 G [-779(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(13)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(Clone)]TJ + -16.87 -12.337 Td [(Clone)]TJ 0 g 0 G [-861(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(13)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(psb)]TJ + 0 -12.336 Td [(psb)]TJ ET q -1 0 0 1 185.231 460.857 cm +1 0 0 1 185.231 465.953 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 188.22 460.658 Td [(cd)]TJ +/F8 9.9626 Tf 188.22 465.754 Td [(cd)]TJ ET q -1 0 0 1 198.78 460.857 cm +1 0 0 1 198.78 465.953 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 201.769 460.658 Td [(get)]TJ +/F8 9.9626 Tf 201.769 465.754 Td [(get)]TJ ET q -1 0 0 1 215.65 460.857 cm +1 0 0 1 215.65 465.953 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 218.639 460.658 Td [(large)]TJ +/F8 9.9626 Tf 218.639 465.754 Td [(large)]TJ ET q -1 0 0 1 240.297 460.857 cm +1 0 0 1 240.297 465.953 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 243.286 460.658 Td [(threshold)]TJ +/F8 9.9626 Tf 243.286 465.754 Td [(threshold)]TJ 0 g 0 G [-460(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(13)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -73.652 -12.605 Td [(psb)]TJ + -73.652 -12.337 Td [(psb)]TJ ET q -1 0 0 1 185.231 448.252 cm +1 0 0 1 185.231 453.616 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 188.22 448.053 Td [(cd)]TJ +/F8 9.9626 Tf 188.22 453.417 Td [(cd)]TJ ET q -1 0 0 1 198.78 448.252 cm +1 0 0 1 198.78 453.616 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 201.769 448.053 Td [(set)]TJ +/F8 9.9626 Tf 201.769 453.417 Td [(set)]TJ ET q -1 0 0 1 214.599 448.252 cm +1 0 0 1 214.599 453.616 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 217.588 448.053 Td [(large)]TJ +/F8 9.9626 Tf 217.588 453.417 Td [(large)]TJ ET q -1 0 0 1 239.245 448.252 cm +1 0 0 1 239.245 453.616 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 242.234 448.053 Td [(threshold)]TJ +/F8 9.9626 Tf 242.234 453.417 Td [(threshold)]TJ 0 g 0 G [-565(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1083(14)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -104.481 -12.605 Td [(3.1.2)-1144(Nam)-1(ed)-333(Constan)28(ts)]TJ + -104.481 -12.337 Td [(3.1.2)-1144(Nam)-1(ed)-333(Constan)28(ts)]TJ 0 g 0 G [-1017(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(14)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -22.914 -12.605 Td [(3.2)-1022(Sparse)-334(Matri)1(x)-334(class)]TJ + -22.914 -12.336 Td [(3.2)-1022(Sparse)-334(Matri)1(x)-334(class)]TJ 0 g 0 G [-372(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(14)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 22.914 -12.605 Td [(3.2.1)-1144(Sparse)-334(Matrix)-333(Metho)-28(ds)]TJ + 22.914 -12.337 Td [(3.2.1)-1144(Sparse)-334(Matrix)-333(Metho)-28(ds)]TJ 0 g 0 G [-844(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(15)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 31.881 -12.604 Td [(get)]TJ + 31.881 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 397.833 cm +1 0 0 1 183.515 404.269 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 397.634 Td [(nro)28(ws)]TJ +/F8 9.9626 Tf 186.504 404.07 Td [(nro)28(ws)]TJ 0 g 0 G [-687(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G [-1084(15)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(get)]TJ + -16.87 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 385.228 cm +1 0 0 1 183.515 391.933 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 385.029 Td [(ncols)]TJ +/F8 9.9626 Tf 186.504 391.733 Td [(ncols)]TJ 0 g 0 G [-273(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(16)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(get)]TJ + -16.87 -12.336 Td [(get)]TJ ET q -1 0 0 1 183.515 372.623 cm +1 0 0 1 183.515 379.596 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 372.424 Td [(nnzeros)]TJ +/F8 9.9626 Tf 186.504 379.397 Td [(nnzeros)]TJ 0 g 0 G [-715(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(16)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(get)]TJ + -16.87 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 360.018 cm +1 0 0 1 183.515 367.259 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 359.819 Td [(size)]TJ +/F8 9.9626 Tf 186.504 367.06 Td [(size)]TJ 0 g 0 G [-884(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1083(16)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(sizeof)]TJ + -16.87 -12.337 Td [(sizeof)]TJ 0 g 0 G [-994(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)]TJ 0 g 0 G [-1084(17)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(get)]TJ + 0 -12.336 Td [(get)]TJ ET q -1 0 0 1 183.515 334.808 cm +1 0 0 1 183.515 342.586 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 334.609 Td [(fm)28(t)]TJ +/F8 9.9626 Tf 186.504 342.387 Td [(fm)28(t)]TJ 0 g 0 G [-946(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(17)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(is)]TJ + -16.87 -12.337 Td [(is)]TJ ET q -1 0 0 1 176.929 322.203 cm +1 0 0 1 176.929 330.249 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 179.918 322.004 Td [(bld,)-333(is)]TJ +/F8 9.9626 Tf 179.918 330.05 Td [(bld,)-333(is)]TJ ET q -1 0 0 1 207.138 322.203 cm +1 0 0 1 207.138 330.249 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 210.127 322.004 Td [(up)-28(d,)-333(is)]TJ +/F8 9.9626 Tf 210.127 330.05 Td [(up)-28(d,)-333(is)]TJ ET q -1 0 0 1 240.391 322.203 cm +1 0 0 1 240.391 330.249 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 243.38 322.004 Td [(asb)]TJ +/F8 9.9626 Tf 243.38 330.05 Td [(asb)]TJ 0 g 0 G [-731(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(17)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -73.746 -12.605 Td [(is)]TJ + -73.746 -12.337 Td [(is)]TJ ET q -1 0 0 1 176.929 309.598 cm +1 0 0 1 176.929 317.912 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 179.918 309.399 Td [(lo)28(w)28(er,)-334(is)]TJ +/F8 9.9626 Tf 179.918 317.713 Td [(lo)28(w)28(er,)-334(is)]TJ ET q -1 0 0 1 216.021 309.598 cm +1 0 0 1 216.021 317.912 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 219.01 309.399 Td [(upp)-28(er,)-333(is)]TJ +/F8 9.9626 Tf 219.01 317.713 Td [(upp)-28(er,)-333(is)]TJ ET q -1 0 0 1 257.604 309.598 cm +1 0 0 1 257.604 317.912 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 260.593 309.399 Td [(triangle,)-333(is)]TJ +/F8 9.9626 Tf 260.593 317.713 Td [(triangle,)-333(is)]TJ ET q -1 0 0 1 307.213 309.598 cm +1 0 0 1 307.213 317.912 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 310.202 309.399 Td [(unit)]TJ +/F8 9.9626 Tf 310.202 317.713 Td [(unit)]TJ 0 g 0 G [-696(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(18)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -140.568 -12.605 Td [(cscn)28(v)]TJ + -140.568 -12.337 Td [(cscn)28(v)]TJ 0 g 0 G [-1022(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)]TJ 0 g 0 G [-1084(18)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(csclip)]TJ + 0 -12.336 Td [(csclip)]TJ 0 g 0 G [-967(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1083(19)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(clip)]TJ + 0 -12.337 Td [(get)]TJ ET q -1 0 0 1 185.729 271.784 cm +1 0 0 1 183.515 280.902 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 188.718 271.584 Td [(diag)]TJ +/F8 9.9626 Tf 186.504 280.703 Td [(diag)]TJ 0 g 0 G - [-390(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ + [-612(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(19)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -19.084 -12.604 Td [(tril)]TJ -0 g 0 G + -16.87 -12.337 Td [(clip)]TJ +ET +q +1 0 0 1 185.729 268.565 cm +[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S +Q +BT +/F8 9.9626 Tf 188.718 268.366 Td [(diag)]TJ +0 g 0 G + [-390(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ +0 g 0 G + [-1084(20)]TJ +0 g 0 G +0 0 1 rg 0 0 1 RG + -19.084 -12.337 Td [(tril)]TJ +0 g 0 G [-469(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(20)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(triu)]TJ + 0 -12.336 Td [(triu)]TJ 0 g 0 G [-969(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1084(20)]TJ + [-1084(21)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(psb)]TJ + 0 -12.337 Td [(psb)]TJ ET q -1 0 0 1 185.231 233.969 cm +1 0 0 1 185.231 231.555 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 188.22 233.77 Td [(set)]TJ +/F8 9.9626 Tf 188.22 231.356 Td [(set)]TJ ET q -1 0 0 1 201.05 233.969 cm +1 0 0 1 201.05 231.555 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 204.038 233.77 Td [(mat)]TJ +/F8 9.9626 Tf 204.038 231.356 Td [(mat)]TJ ET q -1 0 0 1 221.794 233.969 cm +1 0 0 1 221.794 231.555 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 224.783 233.77 Td [(default)]TJ +/F8 9.9626 Tf 224.783 231.356 Td [(default)]TJ 0 g 0 G [-1020(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(21)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -55.149 -12.605 Td [(clone)]TJ + -55.149 -12.337 Td [(clone)]TJ 0 g 0 G [-361(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(21)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -31.88 -12.605 Td [(3.2.2)-1144(Named)-334(Constan)28(ts)]TJ + -31.88 -12.336 Td [(3.2.2)-1144(Named)-334(Constan)28(ts)]TJ 0 g 0 G [-1016(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1084(21)]TJ + [-1084(22)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -22.915 -12.605 Td [(3.3)-1022(Dense)-334(V)84(ector)-334(Data)-333(Structure)]TJ + -22.915 -12.337 Td [(3.3)-1022(Dense)-334(V)84(ector)-334(Data)-333(Structure)]TJ 0 g 0 G [-852(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1084(21)]TJ + [-1084(22)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 22.915 -12.605 Td [(3.3.1)-1144(V)83(ector)-333(Metho)-28(ds)]TJ + 22.915 -12.337 Td [(3.3.1)-1144(V)83(ector)-333(Metho)-28(ds)]TJ 0 g 0 G [-297(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G - [-1084(22)]TJ + [-1084(23)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 31.88 -12.605 Td [(get)]TJ + 31.88 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 170.945 cm +1 0 0 1 183.515 169.872 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 170.745 Td [(nro)28(ws)]TJ +/F8 9.9626 Tf 186.504 169.672 Td [(nro)28(ws)]TJ 0 g 0 G [-687(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)]TJ 0 g 0 G - [-1084(22)]TJ + [-1084(23)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.605 Td [(sizeof)]TJ + -16.87 -12.336 Td [(sizeof)]TJ 0 g 0 G [-994(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)]TJ 0 g 0 G - [-1084(22)]TJ + [-1084(23)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - 0 -12.605 Td [(get)]TJ + 0 -12.337 Td [(get)]TJ ET q -1 0 0 1 183.515 145.735 cm +1 0 0 1 183.515 145.198 cm []0 d 0 J 0.398 w 0 0 m 2.989 0 l S Q BT -/F8 9.9626 Tf 186.504 145.535 Td [(v)28(ect)]TJ +/F8 9.9626 Tf 186.504 144.999 Td [(v)28(ect)]TJ 0 g 0 G [-668(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1084(23)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -16.87 -12.604 Td [(clone)]TJ + -16.87 -12.337 Td [(clone)]TJ 0 g 0 G [-361(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1084(23)]TJ + [-1084(24)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -54.795 -12.605 Td [(3.4)-1022(Preconditioner)-333(data)-334(structure)]TJ + -54.795 -12.336 Td [(3.4)-1022(Preconditioner)-333(data)-334(structure)]TJ 0 g 0 G [-586(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G - [-1084(23)]TJ + [-1084(24)]TJ 0 g 0 G 0 g 0 G 155.528 -29.888 Td [(i)]TJ @@ -1402,333 +1422,340 @@ BT ET endstream endobj -579 0 obj << +583 0 obj << /Type /Page -/Contents 580 0 R -/Resources 578 0 R +/Contents 584 0 R +/Resources 582 0 R /MediaBox [0 0 595.276 841.89] -/Parent 527 0 R -/Annots [ 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R ] +/Parent 531 0 R +/Annots [ 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R ] >> endobj -532 0 obj << +536 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [98.899 682.132 179.001 691.043] +/Rect [98.899 682.579 179.001 691.49] /Subtype /Link /A << /S /GoTo /D (section.1) >> >> endobj -533 0 obj << +537 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [98.899 659.131 202.863 668.042] +/Rect [98.899 660.025 202.863 668.936] /Subtype /Link /A << /S /GoTo /D (section.2) >> >> endobj -534 0 obj << +538 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 646.526 225.868 655.437] +/Rect [113.843 647.688 225.868 656.599] /Subtype /Link /A << /S /GoTo /D (subsection.2.1) >> >> endobj -535 0 obj << +539 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 631.984 210.675 642.832] +/Rect [113.843 633.415 210.675 644.263] /Subtype /Link /A << /S /GoTo /D (subsection.2.2) >> >> endobj -536 0 obj << +540 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 619.379 232.122 630.227] +/Rect [113.843 621.078 232.122 631.926] /Subtype /Link /A << /S /GoTo /D (subsection.2.3) >> >> endobj -537 0 obj << +541 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [136.757 606.774 296.409 617.623] +/Rect [136.757 608.741 296.409 619.589] /Subtype /Link /A << /S /GoTo /D (subsubsection.2.3.1) >> >> endobj -538 0 obj << +542 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 594.169 227.777 605.018] +/Rect [113.843 596.404 227.777 607.253] /Subtype /Link /A << /S /GoTo /D (subsection.2.4) >> >> endobj -539 0 obj << +543 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [98.899 573.106 258.112 582.017] +/Rect [98.899 575.788 258.112 584.699] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj -540 0 obj << +544 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 558.564 249.529 569.412] +/Rect [113.843 561.514 249.529 572.362] /Subtype /Link /A << /S /GoTo /D (subsection.3.1) >> >> endobj -541 0 obj << +545 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [136.757 545.959 257.001 556.807] +/Rect [136.757 549.177 257.001 560.025] /Subtype /Link /A << /S /GoTo /D (subsubsection.3.1.1) >> >> endobj -542 0 obj << +546 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 533.354 231.021 544.202] +/Rect [168.638 536.841 231.021 547.689] /Subtype /Link /A << /S /GoTo /D (section*.2) >> >> endobj -543 0 obj << +547 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 520.749 227.395 531.597] +/Rect [168.638 524.504 227.395 535.352] /Subtype /Link /A << /S /GoTo /D (section*.3) >> >> endobj -544 0 obj << +548 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 508.144 236.832 518.992] +/Rect [168.638 512.167 236.832 523.015] /Subtype /Link /A << /S /GoTo /D (section*.4) >> >> endobj -545 0 obj << +549 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 495.539 233.207 506.388] +/Rect [168.638 499.83 233.207 510.679] /Subtype /Link /A << /S /GoTo /D (section*.5) >> >> endobj -546 0 obj << +550 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 482.934 219.602 493.284] +/Rect [168.638 487.494 219.602 497.844] /Subtype /Link /A << /S /GoTo /D (section*.6) >> >> endobj -547 0 obj << +551 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 472.267 195.537 481.178] +/Rect [168.638 477.094 195.537 486.005] /Subtype /Link /A << /S /GoTo /D (section*.7) >> >> endobj -548 0 obj << +552 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 457.725 284.769 468.573] +/Rect [168.638 462.82 284.769 473.668] /Subtype /Link /A << /S /GoTo /D (section*.8) >> >> endobj -549 0 obj << +553 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 445.12 283.717 455.968] +/Rect [168.638 450.483 283.717 461.332] /Subtype /Link /A << /S /GoTo /D (section*.9) >> >> endobj -550 0 obj << +554 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [136.757 434.452 248.228 443.363] +/Rect [136.757 440.084 248.228 448.995] /Subtype /Link /A << /S /GoTo /D (subsubsection.3.1.2) >> >> endobj -551 0 obj << +555 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 419.91 223.654 430.758] +/Rect [113.843 425.81 223.654 436.658] /Subtype /Link /A << /S /GoTo /D (subsection.3.2) >> >> endobj -552 0 obj << +556 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [136.757 407.305 273.19 418.153] +/Rect [136.757 413.473 273.19 424.322] /Subtype /Link /A << /S /GoTo /D (subsubsection.3.2.1) >> >> endobj -553 0 obj << +557 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 394.7 212.767 405.05] +/Rect [168.638 401.137 212.767 411.487] /Subtype /Link /A << /S /GoTo /D (section*.10) >> >> endobj -554 0 obj << +558 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 382.095 209.141 392.943] +/Rect [168.638 388.8 209.141 399.648] /Subtype /Link /A << /S /GoTo /D (section*.11) >> >> endobj -555 0 obj << +559 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 369.49 220.239 379.84] +/Rect [168.638 376.463 220.239 386.813] /Subtype /Link /A << /S /GoTo /D (section*.12) >> >> endobj -556 0 obj << +560 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 356.885 206.374 367.469] +/Rect [168.638 364.126 206.374 374.71] /Subtype /Link /A << /S /GoTo /D (section*.13) >> >> endobj -557 0 obj << +561 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 346.218 197.529 355.129] +/Rect [168.638 353.727 197.529 362.638] /Subtype /Link /A << /S /GoTo /D (section*.14) >> >> endobj -558 0 obj << +562 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 331.676 205.765 342.524] +/Rect [168.638 339.453 205.765 350.301] /Subtype /Link /A << /S /GoTo /D (section*.15) >> >> endobj -559 0 obj << +563 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 319.071 262.143 329.919] +/Rect [168.638 327.116 262.143 337.965] /Subtype /Link /A << /S /GoTo /D (section*.16) >> >> endobj -560 0 obj << +564 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 306.466 328.909 317.314] +/Rect [168.638 314.78 328.909 325.628] /Subtype /Link /A << /S /GoTo /D (section*.17) >> >> endobj -561 0 obj << +565 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 295.798 193.932 304.211] +/Rect [168.638 304.38 193.932 312.793] /Subtype /Link /A << /S /GoTo /D (section*.18) >> >> endobj -562 0 obj << +566 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 281.256 194.485 292.104] +/Rect [168.638 290.106 194.485 300.954] /Subtype /Link /A << /S /GoTo /D (section*.19) >> >> endobj -563 0 obj << +567 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 268.651 207.979 279.499] +/Rect [168.638 277.769 205.765 288.618] /Subtype /Link /A << /S /GoTo /D (section*.20) >> >> endobj -564 0 obj << +568 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 257.983 183.941 266.894] +/Rect [168.638 265.433 207.979 276.281] /Subtype /Link /A << /S /GoTo /D (section*.21) >> >> endobj -565 0 obj << +569 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 245.378 186.709 254.025] +/Rect [168.638 255.033 183.941 263.944] /Subtype /Link /A << /S /GoTo /D (section*.22) >> >> endobj -566 0 obj << +570 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 230.836 255.944 241.685] +/Rect [168.638 242.697 186.709 251.343] /Subtype /Link /A << /S /GoTo /D (section*.23) >> >> endobj -567 0 obj << +571 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 220.169 192.769 229.08] +/Rect [168.638 228.423 255.944 239.271] /Subtype /Link /A << /S /GoTo /D (section*.24) >> >> endobj -568 0 obj << +572 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [136.757 207.564 248.228 216.475] +/Rect [168.638 218.023 192.769 226.934] /Subtype /Link -/A << /S /GoTo /D (subsubsection.3.2.2) >> +/A << /S /GoTo /D (section*.25) >> >> endobj -569 0 obj << +573 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.843 194.959 265.358 203.759] +/Rect [136.757 205.686 248.228 214.597] /Subtype /Link -/A << /S /GoTo /D (subsection.3.3) >> +/A << /S /GoTo /D (subsubsection.3.2.2) >> >> endobj -570 0 obj << +574 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [136.757 182.354 239.898 191.265] +/Rect [113.843 193.35 265.358 202.15] /Subtype /Link -/A << /S /GoTo /D (subsubsection.3.3.1) >> +/A << /S /GoTo /D (subsection.3.3) >> >> endobj -571 0 obj << +575 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 167.812 212.767 178.162] +/Rect [136.757 181.013 239.898 189.924] /Subtype /Link -/A << /S /GoTo /D (section*.25) >> +/A << /S /GoTo /D (subsubsection.3.3.1) >> >> endobj -572 0 obj << +576 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 157.144 197.529 166.055] +/Rect [168.638 166.739 212.767 177.089] /Subtype /Link /A << /S /GoTo /D (section*.26) >> >> endobj -573 0 obj << +577 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 142.602 208.533 152.952] +/Rect [168.638 156.34 197.529 165.251] /Subtype /Link /A << /S /GoTo /D (section*.27) >> >> endobj -574 0 obj << +578 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [168.638 131.934 192.769 140.845] +/Rect [168.638 142.066 208.533 152.416] /Subtype /Link /A << /S /GoTo /D (section*.28) >> >> endobj -575 0 obj << +579 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.638 131.666 192.769 140.577] +/Subtype /Link +/A << /S /GoTo /D (section*.29) >> +>> endobj +580 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 119.329 268.015 128.24] /Subtype /Link /A << /S /GoTo /D (subsection.3.4) >> >> endobj -581 0 obj << -/D [579 0 R /XYZ 99.895 740.998 null] +585 0 obj << +/D [583 0 R /XYZ 99.895 740.998 null] >> endobj -582 0 obj << -/D [579 0 R /XYZ 99.895 695.797 null] +586 0 obj << +/D [583 0 R /XYZ 99.895 695.989 null] >> endobj -578 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R >> +582 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -631 0 obj << +636 0 obj << /Length 21249 >> stream @@ -2439,351 +2466,351 @@ BT ET endstream endobj -630 0 obj << +635 0 obj << /Type /Page -/Contents 631 0 R -/Resources 629 0 R +/Contents 636 0 R +/Resources 634 0 R /MediaBox [0 0 595.276 841.89] -/Parent 527 0 R -/Annots [ 576 0 R 577 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R ] +/Parent 531 0 R +/Annots [ 581 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R ] >> endobj -576 0 obj << +581 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.709 703.195 285.838 714.044] /Subtype /Link /A << /S /GoTo /D (section.4) >> >> endobj -577 0 obj << +587 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 690.903 220.931 701.752] /Subtype /Link -/A << /S /GoTo /D (section*.29) >> +/A << /S /GoTo /D (section*.30) >> >> endobj -583 0 obj << +588 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 678.612 209.031 689.46] /Subtype /Link -/A << /S /GoTo /D (section*.30) >> +/A << /S /GoTo /D (section*.31) >> >> endobj -584 0 obj << +589 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 666.32 212.96 677.168] /Subtype /Link -/A << /S /GoTo /D (section*.31) >> +/A << /S /GoTo /D (section*.32) >> >> endobj -585 0 obj << +590 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 654.028 218.163 664.876] /Subtype /Link -/A << /S /GoTo /D (section*.32) >> +/A << /S /GoTo /D (section*.33) >> >> endobj -586 0 obj << +591 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 641.736 222.093 652.584] /Subtype /Link -/A << /S /GoTo /D (section*.33) >> +/A << /S /GoTo /D (section*.34) >> >> endobj -587 0 obj << +592 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 629.444 217.388 640.292] /Subtype /Link -/A << /S /GoTo /D (section*.34) >> +/A << /S /GoTo /D (section*.35) >> >> endobj -588 0 obj << +593 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 617.152 221.318 628] /Subtype /Link -/A << /S /GoTo /D (section*.35) >> +/A << /S /GoTo /D (section*.36) >> >> endobj -589 0 obj << +594 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 604.86 217.361 615.708] /Subtype /Link -/A << /S /GoTo /D (section*.36) >> +/A << /S /GoTo /D (section*.37) >> >> endobj -590 0 obj << +595 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 592.568 221.29 603.416] /Subtype /Link -/A << /S /GoTo /D (section*.37) >> +/A << /S /GoTo /D (section*.38) >> >> endobj -591 0 obj << +596 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 580.276 217.416 591.124] /Subtype /Link -/A << /S /GoTo /D (section*.38) >> +/A << /S /GoTo /D (section*.39) >> >> endobj -592 0 obj << +597 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 567.984 215.202 578.832] /Subtype /Link -/A << /S /GoTo /D (section*.39) >> +/A << /S /GoTo /D (section*.40) >> >> endobj -593 0 obj << +598 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 555.692 211.3 566.54] /Subtype /Link -/A << /S /GoTo /D (section*.40) >> +/A << /S /GoTo /D (section*.41) >> >> endobj -594 0 obj << +599 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 543.4 206.927 554.249] /Subtype /Link -/A << /S /GoTo /D (section*.41) >> +/A << /S /GoTo /D (section*.42) >> >> endobj -595 0 obj << +600 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.709 522.858 290.134 531.769] /Subtype /Link /A << /S /GoTo /D (section.5) >> >> endobj -596 0 obj << +601 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 508.629 203.496 519.477] /Subtype /Link -/A << /S /GoTo /D (section*.42) >> +/A << /S /GoTo /D (section*.43) >> >> endobj -597 0 obj << +602 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 496.337 201.863 507.186] /Subtype /Link -/A << /S /GoTo /D (section*.43) >> +/A << /S /GoTo /D (section*.44) >> >> endobj -598 0 obj << +603 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 484.045 212.933 494.894] /Subtype /Link -/A << /S /GoTo /D (section*.44) >> +/A << /S /GoTo /D (section*.45) >> >> endobj -599 0 obj << +604 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 471.753 214.648 482.602] /Subtype /Link -/A << /S /GoTo /D (section*.45) >> +/A << /S /GoTo /D (section*.46) >> >> endobj -600 0 obj << +605 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [149.709 449.274 302.58 460.123] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -601 0 obj << +606 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 436.982 205.71 447.831] /Subtype /Link -/A << /S /GoTo /D (section*.46) >> +/A << /S /GoTo /D (section*.47) >> >> endobj -602 0 obj << +607 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 424.691 207.426 435.539] /Subtype /Link -/A << /S /GoTo /D (section*.47) >> +/A << /S /GoTo /D (section*.48) >> >> endobj -603 0 obj << +608 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 412.399 209.639 423.247] /Subtype /Link -/A << /S /GoTo /D (section*.48) >> +/A << /S /GoTo /D (section*.49) >> >> endobj -604 0 obj << +609 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 400.107 210.138 410.955] /Subtype /Link -/A << /S /GoTo /D (section*.49) >> +/A << /S /GoTo /D (section*.50) >> >> endobj -605 0 obj << +610 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 387.815 210.996 398.663] /Subtype /Link -/A << /S /GoTo /D (section*.50) >> +/A << /S /GoTo /D (section*.51) >> >> endobj -606 0 obj << +611 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 375.523 222.591 386.371] /Subtype /Link -/A << /S /GoTo /D (section*.51) >> +/A << /S /GoTo /D (section*.52) >> >> endobj -607 0 obj << +612 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 363.231 205.212 374.079] /Subtype /Link -/A << /S /GoTo /D (section*.52) >> +/A << /S /GoTo /D (section*.53) >> >> endobj -608 0 obj << +613 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 350.939 206.927 361.787] /Subtype /Link -/A << /S /GoTo /D (section*.53) >> +/A << /S /GoTo /D (section*.54) >> >> endobj -609 0 obj << +614 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 338.647 209.141 349.495] /Subtype /Link -/A << /S /GoTo /D (section*.54) >> +/A << /S /GoTo /D (section*.55) >> >> endobj -610 0 obj << +615 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 326.355 210.497 337.203] /Subtype /Link -/A << /S /GoTo /D (section*.55) >> +/A << /S /GoTo /D (section*.56) >> >> endobj -611 0 obj << +616 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 314.063 204.132 324.911] /Subtype /Link -/A << /S /GoTo /D (section*.56) >> +/A << /S /GoTo /D (section*.57) >> >> endobj -612 0 obj << +617 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 301.771 205.156 312.619] /Subtype /Link -/A << /S /GoTo /D (section*.57) >> +/A << /S /GoTo /D (section*.58) >> >> endobj -613 0 obj << +618 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 289.479 206.872 300.327] /Subtype /Link -/A << /S /GoTo /D (section*.58) >> +/A << /S /GoTo /D (section*.59) >> >> endobj -614 0 obj << +619 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 277.187 209.086 288.036] /Subtype /Link -/A << /S /GoTo /D (section*.59) >> +/A << /S /GoTo /D (section*.60) >> >> endobj -615 0 obj << +620 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 264.895 210.442 275.744] /Subtype /Link -/A << /S /GoTo /D (section*.60) >> +/A << /S /GoTo /D (section*.61) >> >> endobj -616 0 obj << +621 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 252.603 202.942 263.452] /Subtype /Link -/A << /S /GoTo /D (section*.61) >> +/A << /S /GoTo /D (section*.62) >> >> endobj -617 0 obj << +622 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 240.312 231.978 251.16] /Subtype /Link -/A << /S /GoTo /D (section*.62) >> +/A << /S /GoTo /D (section*.63) >> >> endobj -618 0 obj << +623 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 228.02 231.978 238.868] /Subtype /Link -/A << /S /GoTo /D (section*.63) >> +/A << /S /GoTo /D (section*.64) >> >> endobj -619 0 obj << +624 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 215.728 226.233 226.576] /Subtype /Link -/A << /S /GoTo /D (section*.64) >> +/A << /S /GoTo /D (section*.65) >> >> endobj -620 0 obj << +625 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 203.436 243.059 214.284] /Subtype /Link -/A << /S /GoTo /D (section*.65) >> +/A << /S /GoTo /D (section*.66) >> >> endobj -621 0 obj << +626 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 191.144 219.038 201.992] /Subtype /Link -/A << /S /GoTo /D (section*.66) >> +/A << /S /GoTo /D (section*.67) >> >> endobj -622 0 obj << +627 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 178.852 235.863 189.7] /Subtype /Link -/A << /S /GoTo /D (section*.67) >> +/A << /S /GoTo /D (section*.68) >> >> endobj -623 0 obj << +628 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 166.56 243.64 177.408] /Subtype /Link -/A << /S /GoTo /D (section*.68) >> +/A << /S /GoTo /D (section*.69) >> >> endobj -624 0 obj << +629 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 154.268 233.4 165.116] /Subtype /Link -/A << /S /GoTo /D (section*.69) >> +/A << /S /GoTo /D (section*.70) >> >> endobj -625 0 obj << +630 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 141.976 227.367 152.824] /Subtype /Link -/A << /S /GoTo /D (section*.70) >> +/A << /S /GoTo /D (section*.71) >> >> endobj -626 0 obj << +631 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 129.684 208.809 140.532] /Subtype /Link -/A << /S /GoTo /D (section*.71) >> +/A << /S /GoTo /D (section*.72) >> >> endobj -627 0 obj << +632 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [164.653 117.392 234.253 128.24] /Subtype /Link -/A << /S /GoTo /D (section*.72) >> +/A << /S /GoTo /D (section*.73) >> >> endobj -632 0 obj << -/D [630 0 R /XYZ 150.705 740.998 null] +637 0 obj << +/D [635 0 R /XYZ 150.705 740.998 null] >> endobj -629 0 obj << -/Font << /F27 525 0 R /F8 526 0 R >> +634 0 obj << +/Font << /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -670 0 obj << +675 0 obj << /Length 15255 >> stream @@ -3292,274 +3319,274 @@ BT ET endstream endobj -669 0 obj << +674 0 obj << /Type /Page -/Contents 670 0 R -/Resources 668 0 R +/Contents 675 0 R +/Resources 673 0 R /MediaBox [0 0 595.276 841.89] -/Parent 527 0 R -/Annots [ 628 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R ] +/Parent 531 0 R +/Annots [ 633 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R ] >> endobj -628 0 obj << +633 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 705.133 264.868 714.044] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj -633 0 obj << +638 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 691.24 149.366 702.088] /Subtype /Link -/A << /S /GoTo /D (section*.73) >> +/A << /S /GoTo /D (section*.74) >> >> endobj -634 0 obj << +639 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 679.285 150.749 690.133] /Subtype /Link -/A << /S /GoTo /D (section*.74) >> +/A << /S /GoTo /D (section*.75) >> >> endobj -635 0 obj << +640 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 667.33 150.749 678.178] /Subtype /Link -/A << /S /GoTo /D (section*.75) >> +/A << /S /GoTo /D (section*.76) >> >> endobj -636 0 obj << +641 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 655.375 193.91 666.223] /Subtype /Link -/A << /S /GoTo /D (section*.76) >> +/A << /S /GoTo /D (section*.77) >> >> endobj -637 0 obj << +642 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 643.42 170.968 654.268] /Subtype /Link -/A << /S /GoTo /D (section*.77) >> +/A << /S /GoTo /D (section*.78) >> >> endobj -638 0 obj << +643 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 631.464 160.989 642.313] /Subtype /Link -/A << /S /GoTo /D (section*.78) >> +/A << /S /GoTo /D (section*.79) >> >> endobj -639 0 obj << +644 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 619.509 163.839 630.357] /Subtype /Link -/A << /S /GoTo /D (section*.79) >> +/A << /S /GoTo /D (section*.80) >> >> endobj -640 0 obj << +645 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 607.554 157.972 618.402] /Subtype /Link -/A << /S /GoTo /D (section*.80) >> +/A << /S /GoTo /D (section*.81) >> >> endobj -641 0 obj << +646 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 595.599 157.446 606.447] /Subtype /Link -/A << /S /GoTo /D (section*.81) >> +/A << /S /GoTo /D (section*.82) >> >> endobj -642 0 obj << +647 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 583.644 152.188 594.492] /Subtype /Link -/A << /S /GoTo /D (section*.82) >> +/A << /S /GoTo /D (section*.83) >> >> endobj -643 0 obj << +648 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 571.689 152.963 582.537] /Subtype /Link -/A << /S /GoTo /D (section*.83) >> +/A << /S /GoTo /D (section*.84) >> >> endobj -644 0 obj << +649 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 559.733 151.026 570.582] /Subtype /Link -/A << /S /GoTo /D (section*.84) >> +/A << /S /GoTo /D (section*.85) >> >> endobj -645 0 obj << +650 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 547.778 152.963 558.626] /Subtype /Link -/A << /S /GoTo /D (section*.85) >> +/A << /S /GoTo /D (section*.86) >> >> endobj -646 0 obj << +651 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 535.823 153.24 546.671] /Subtype /Link -/A << /S /GoTo /D (section*.86) >> +/A << /S /GoTo /D (section*.87) >> >> endobj -647 0 obj << +652 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 523.868 149.421 534.716] /Subtype /Link -/A << /S /GoTo /D (section*.87) >> +/A << /S /GoTo /D (section*.88) >> >> endobj -648 0 obj << +653 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 511.913 148.009 522.761] /Subtype /Link -/A << /S /GoTo /D (section*.88) >> +/A << /S /GoTo /D (section*.89) >> >> endobj -649 0 obj << +654 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 489.995 190.188 500.843] /Subtype /Link /A << /S /GoTo /D (section.8) >> >> endobj -650 0 obj << +655 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 478.04 167.188 488.888] /Subtype /Link -/A << /S /GoTo /D (section*.89) >> +/A << /S /GoTo /D (section*.90) >> >> endobj -651 0 obj << +656 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 466.085 155.537 476.933] /Subtype /Link -/A << /S /GoTo /D (section*.90) >> +/A << /S /GoTo /D (section*.91) >> >> endobj -652 0 obj << +657 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 454.129 202.129 464.978] /Subtype /Link -/A << /S /GoTo /D (section*.91) >> +/A << /S /GoTo /D (section*.92) >> >> endobj -653 0 obj << +658 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 442.174 189.039 453.022] /Subtype /Link -/A << /S /GoTo /D (section*.92) >> +/A << /S /GoTo /D (section*.93) >> >> endobj -654 0 obj << +659 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 422.194 156.061 431.105] /Subtype /Link /A << /S /GoTo /D (section.9) >> >> endobj -655 0 obj << +660 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 410.238 149.061 419.149] /Subtype /Link -/A << /S /GoTo /D (section*.93) >> +/A << /S /GoTo /D (section*.94) >> >> endobj -656 0 obj << +661 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 398.283 152.382 407.194] /Subtype /Link -/A << /S /GoTo /D (section*.94) >> +/A << /S /GoTo /D (section*.95) >> >> endobj -657 0 obj << +662 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 386.328 175.617 395.239] /Subtype /Link -/A << /S /GoTo /D (section*.95) >> +/A << /S /GoTo /D (section*.96) >> >> endobj -658 0 obj << +663 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 374.373 171.743 383.284] /Subtype /Link -/A << /S /GoTo /D (section*.96) >> +/A << /S /GoTo /D (section*.97) >> >> endobj -659 0 obj << +664 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 362.418 178.938 371.064] /Subtype /Link -/A << /S /GoTo /D (section*.97) >> +/A << /S /GoTo /D (section*.98) >> >> endobj -660 0 obj << +665 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 340.5 234.475 349.411] /Subtype /Link /A << /S /GoTo /D (section.10) >> >> endobj -661 0 obj << +666 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 326.608 167.658 337.456] /Subtype /Link -/A << /S /GoTo /D (section*.98) >> +/A << /S /GoTo /D (section*.99) >> >> endobj -662 0 obj << +667 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 314.652 166.551 325.501] /Subtype /Link -/A << /S /GoTo /D (section*.99) >> +/A << /S /GoTo /D (section*.100) >> >> endobj -663 0 obj << +668 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 302.697 171.256 313.545] /Subtype /Link -/A << /S /GoTo /D (section*.100) >> +/A << /S /GoTo /D (section*.101) >> >> endobj -664 0 obj << +669 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 290.742 174.936 301.59] /Subtype /Link -/A << /S /GoTo /D (section*.101) >> +/A << /S /GoTo /D (section*.102) >> >> endobj -665 0 obj << +670 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 280.724 137.975 289.635] /Subtype /Link -/A << /S /GoTo /D (section*.102) >> +/A << /S /GoTo /D (section*.103) >> >> endobj -666 0 obj << +671 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [98.899 258.806 206.49 267.717] /Subtype /Link /A << /S /GoTo /D (section.11) >> >> endobj -667 0 obj << +672 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [113.843 244.914 161.57 255.762] /Subtype /Link -/A << /S /GoTo /D (section*.103) >> +/A << /S /GoTo /D (section*.104) >> >> endobj -671 0 obj << -/D [669 0 R /XYZ 99.895 740.998 null] +676 0 obj << +/D [674 0 R /XYZ 99.895 740.998 null] >> endobj -668 0 obj << -/Font << /F27 525 0 R /F8 526 0 R >> +673 0 obj << +/Font << /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -674 0 obj << +679 0 obj << /Length 79 >> stream @@ -3572,21 +3599,21 @@ BT ET endstream endobj -673 0 obj << +678 0 obj << /Type /Page -/Contents 674 0 R -/Resources 672 0 R +/Contents 679 0 R +/Resources 677 0 R /MediaBox [0 0 595.276 841.89] -/Parent 527 0 R +/Parent 531 0 R >> endobj -675 0 obj << -/D [673 0 R /XYZ 150.705 740.998 null] +680 0 obj << +/D [678 0 R /XYZ 150.705 740.998 null] >> endobj -672 0 obj << -/Font << /F8 526 0 R >> +677 0 obj << +/Font << /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -688 0 obj << +693 0 obj << /Length 8518 >> stream @@ -3640,78 +3667,78 @@ BT ET endstream endobj -687 0 obj << +692 0 obj << /Type /Page -/Contents 688 0 R -/Resources 686 0 R +/Contents 693 0 R +/Resources 691 0 R /MediaBox [0 0 595.276 841.89] -/Parent 690 0 R -/Annots [ 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R ] +/Parent 695 0 R +/Annots [ 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R ] >> endobj -676 0 obj << +681 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [408.982 586.91 420.937 595.323] /Subtype /Link /A << /S /GoTo /D (cite.metcalf) >> >> endobj -677 0 obj << +682 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [277.684 514.913 289.639 523.326] /Subtype /Link /A << /S /GoTo /D (cite.Sparse03) >> >> endobj -678 0 obj << +683 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [265.763 502.958 272.737 511.371] /Subtype /Link /A << /S /GoTo /D (cite.DesPat:11) >> >> endobj -679 0 obj << +684 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [276.283 502.958 288.238 511.371] /Subtype /Link /A << /S /GoTo /D (cite.RouXiaXu:11) >> >> endobj -680 0 obj << +685 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [210.166 442.916 222.121 451.329] /Subtype /Link /A << /S /GoTo /D (cite.machiels) >> >> endobj -681 0 obj << +686 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [241.566 370.919 248.54 379.332] /Subtype /Link /A << /S /GoTo /D (cite.sblas97) >> >> endobj -682 0 obj << +687 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [252.056 370.919 259.03 379.332] /Subtype /Link /A << /S /GoTo /D (cite.sblas02) >> >> endobj -683 0 obj << +688 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [227.473 358.964 239.428 367.377] /Subtype /Link /A << /S /GoTo /D (cite.BLAS1) >> >> endobj -684 0 obj << +689 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [243.524 358.964 250.498 367.377] /Subtype /Link /A << /S /GoTo /D (cite.BLAS2) >> >> endobj -685 0 obj << +690 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [254.593 358.964 261.567 367.377] @@ -3719,13 +3746,13 @@ endobj /A << /S /GoTo /D (cite.BLAS3) >> >> endobj 10 0 obj << -/D [687 0 R /XYZ 99.895 716.092 null] +/D [692 0 R /XYZ 99.895 716.092 null] >> endobj -686 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F17 689 0 R >> +691 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F17 694 0 R >> /ProcSet [ /PDF /Text ] >> endobj -708 0 obj << +713 0 obj << /Length 5581 >> stream @@ -3770,29 +3797,29 @@ BT ET endstream endobj -707 0 obj << +712 0 obj << /Type /Page -/Contents 708 0 R -/Resources 706 0 R +/Contents 713 0 R +/Resources 711 0 R /MediaBox [0 0 595.276 841.89] -/Parent 690 0 R -/Annots [ 701 0 R 702 0 R 703 0 R ] +/Parent 695 0 R +/Annots [ 706 0 R 707 0 R 708 0 R ] >> endobj -704 0 obj << +709 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figures/psblas.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 711 0 R +/PTEX.InfoDict 716 0 R /BBox [0 0 197 215] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 712 0 R ->>/Font << /R8 713 0 R>> +/R7 717 0 R +>>/Font << /R8 718 0 R>> >> -/Length 714 0 R +/Length 719 0 R /Filter /FlateDecode >> stream @@ -3811,7 +3838,7 @@ x «Ͻ'ƒÇ›ÇÇùaÚ>=|9Êh±Büuæ¹£$îËLËàq·–ÑÃÊŸ5×k^Þ½;>íN÷Ûi™ZŠ\V+9D£­8îNËLÓG™÷×»~0+¾’”àŠ'¢ˆ±íúmw>o÷;{·=ŸŽûEý—»a¥ÃѲîîÝâ8SË4Â%ÕÇ¥_¾œžNÛ#OαéƒùüÐ endstream endobj -711 0 obj +716 0 obj << /Producer (GPL Ghostscript 9.04) /CreationDate (D:20111215145523+01'00') @@ -3821,16 +3848,16 @@ endobj /Author (sfilippo@donald \(Salvatore Filippone\)) >> endobj -712 0 obj +717 0 obj << /Type /ExtGState /OPM 1 >> endobj -713 0 obj +718 0 obj << /BaseFont /JEJNJE#2BTimes-Roman -/FontDescriptor 715 0 R +/FontDescriptor 720 0 R /Type /Font /FirstChar 32 /LastChar 116 @@ -3839,10 +3866,10 @@ endobj /Subtype /Type1 >> endobj -714 0 obj +719 0 obj 898 endobj -715 0 obj +720 0 obj << /Type /FontDescriptor /FontName /JEJNJE#2BTimes-Roman @@ -3856,10 +3883,10 @@ endobj /MissingWidth 500 /XHeight 460 /CharSet (/A/B/F/I/L/M/P/S/a/c/e/f/g/i/l/n/o/p/r/s/space/t/three/two/zero) -/FontFile3 716 0 R +/FontFile3 721 0 R >> endobj -716 0 obj +721 0 obj << /Filter /FlateDecode /Subtype /Type1C @@ -3879,21 +3906,21 @@ p IZ¹t4¤w!}^€gì½—ú€h9@±^è Ò…s2•=3B2H>ÉçynÞÌû7ŠC‰#ˆþhñÚï-whèÇGtBŒV²Õºø`uÞ1èFæ3ÑvðøçÓ÷à´ÛoÝ34\z"ž“,P&+š´®¿Ú»oB03¼å㣶xsÉÝä!FáŽ/†m'~¼êŒn?àßvaÝDëÑ÷ì+°¥¸5ïšôt0Ü ¶æ+ÉÔ·ÆsRz…t¥J–xFzëþƒöÁQîè`û¼/dŠº2›åž™j@7GÛú.º?Üwyc$O‘œÀI‘(S¥ME®ƒßŒô| Áõ^`‚2!-›’"VîIN™"Ì‚B-ÌÎe³/uV9:Î6:.Ç°ÿMɪH endstream endobj -701 0 obj << +706 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.543 541.042 317.517 551.89] /Subtype /Link /A << /S /GoTo /D (figure.1) >> >> endobj -702 0 obj << +707 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [446.018 471.248 452.992 479.661] /Subtype /Link /A << /S /GoTo /D (cite.BLACS) >> >> endobj -703 0 obj << +708 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [210.398 433.445 217.372 444.294] @@ -3901,17 +3928,17 @@ endobj /A << /S /GoTo /D (section.7) >> >> endobj 14 0 obj << -/D [707 0 R /XYZ 150.705 677.433 null] +/D [712 0 R /XYZ 150.705 677.433 null] >> endobj -710 0 obj << -/D [707 0 R /XYZ 258.703 263.3 null] +715 0 obj << +/D [712 0 R /XYZ 258.703 263.3 null] >> endobj -706 0 obj << -/Font << /F8 526 0 R /F16 523 0 R /F11 709 0 R >> -/XObject << /Im1 704 0 R >> +711 0 obj << +/Font << /F8 530 0 R /F16 527 0 R /F11 714 0 R >> +/XObject << /Im1 709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -722 0 obj << +727 0 obj << /Length 8854 >> stream @@ -3958,52 +3985,52 @@ BT ET endstream endobj -721 0 obj << +726 0 obj << /Type /Page -/Contents 722 0 R -/Resources 720 0 R +/Contents 727 0 R +/Resources 725 0 R /MediaBox [0 0 595.276 841.89] -/Parent 690 0 R -/Annots [ 705 0 R 718 0 R 719 0 R ] +/Parent 695 0 R +/Annots [ 710 0 R 723 0 R 724 0 R ] >> endobj -705 0 obj << +710 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [219.5 609.491 231.455 617.904] /Subtype /Link /A << /S /GoTo /D (cite.METIS) >> >> endobj -718 0 obj << +723 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [210.854 546.467 217.316 558.506] /Subtype /Link /A << /S /GoTo /D (Hfootnote.1) >> >> endobj -719 0 obj << +724 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [155.908 188.124 162.37 200.163] /Subtype /Link /A << /S /GoTo /D (Hfootnote.2) >> >> endobj -723 0 obj << -/D [721 0 R /XYZ 99.895 740.998 null] +728 0 obj << +/D [726 0 R /XYZ 99.895 740.998 null] >> endobj 18 0 obj << -/D [721 0 R /XYZ 99.895 515.919 null] +/D [726 0 R /XYZ 99.895 515.919 null] >> endobj -729 0 obj << -/D [721 0 R /XYZ 115.138 167.688 null] +734 0 obj << +/D [726 0 R /XYZ 115.138 167.688 null] >> endobj -731 0 obj << -/D [721 0 R /XYZ 115.138 158.184 null] +736 0 obj << +/D [726 0 R /XYZ 115.138 158.184 null] >> endobj -720 0 obj << -/Font << /F8 526 0 R /F17 689 0 R /F30 724 0 R /F7 725 0 R /F16 523 0 R /F11 709 0 R /F10 726 0 R /F14 727 0 R /F27 525 0 R /F32 728 0 R /F31 730 0 R >> +725 0 obj << +/Font << /F8 530 0 R /F17 694 0 R /F30 729 0 R /F7 730 0 R /F16 527 0 R /F11 714 0 R /F10 731 0 R /F14 732 0 R /F27 529 0 R /F32 733 0 R /F31 735 0 R >> /ProcSet [ /PDF /Text ] >> endobj -738 0 obj << +743 0 obj << /Length 5348 >> stream @@ -4078,29 +4105,29 @@ BT ET endstream endobj -737 0 obj << +742 0 obj << /Type /Page -/Contents 738 0 R -/Resources 736 0 R +/Contents 743 0 R +/Resources 741 0 R /MediaBox [0 0 595.276 841.89] -/Parent 690 0 R -/Annots [ 733 0 R 734 0 R ] +/Parent 695 0 R +/Annots [ 738 0 R 739 0 R ] >> endobj -735 0 obj << +740 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figures/points.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 741 0 R +/PTEX.InfoDict 746 0 R /BBox [0 0 274 308] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 742 0 R ->>/Font << /R8 743 0 R>> +/R7 747 0 R +>>/Font << /R8 748 0 R>> >> -/Length 744 0 R +/Length 749 0 R /Filter /FlateDecode >> stream @@ -4108,58 +4135,58 @@ x – 󣄠¹3ÊBü=®§«æ±bA‡HŒ}Ï©c·í²»?­é”ׄÿäïÍeùö]_?ü¾¤Ó©d êwßGüðaù´d"®òçæ²¾¾ä}ÍíëÕûe4­ß ,äýÔ×sÿ»º,_ýx÷Ç/w×·¯®~[¾»ZÞ.ø›Œ1¸ð™âuóâ¯ïÿ¼ûùúáoO*žþx/þÃõí½Î22Tø<ᜇd†&Âoî/×ïV˜âÿõèCê1V^õd¨æõãR ¬Û9ŸÎç¶^–ºµÓ¾ÍšÚýÝz¦zõ¯7‹!€S®ûj짔êJÚR¿–ðWZSöN•m˜´ ide«3çûfyÿõROÛú×|J_F¿~]~z2ò–}×òVÐÕämë¦Î€sQ<I<³¦uiüd¸r͵9.Ö¤¢ÆR’ÉÑãY~ОÐCÑÝ¥Ÿ}öçÙ^â<3LA ‰c‹YÒ¶®ôçY¯qž&mCÙØâÌû懣ç—Ñ#|H–_rƧšÇÒ³,wš0s>}yüÇ5ÒNóË p%U¤ –ðW@E’§$§•|¡pxõE`&ÆøåU ™¤ó«›%AÝIUÍ0Gš]ý‘&ûÖM’ î Jšx÷¬…T.ù)~¼C²8˜}~‚­ÛÍWÛ¢íÁvKÑö¶K,8ÛÍ—&†`[C*—ü¨ONÔÇs­ƒ ½m‚ê ò9؆Áu¶!×`{P9¦m‚êKI7oÛB*—ü¨O샹~ñ̳·Ç'­¡Á^ÝIaÏvRy!œzw'ó¤`Íx"0.Ѥb'…iÄù|ùÌs¼žP:-%X/[´^º“#Àa°há…dÞPÓY/)Z‡Ýqˆ&-VŠÖ½ON¬Çtnƒ®G±À¹ÍY–& é›Ë’וB¿Ìœ¤¡¹M…ÁnngäŽ%¤Ò#ØœÃÉÙÇ‚"d;’Àô)ùÃ(˜\X‹³Ž¥²£0}Z¡pø#`Ó†Sò‹%Hvt§Ð̧f£`ú`-Î+”ÐŽQ4ó9ƒ…Ç,x›O/,îf,z»âißn«ªÝìv«$½úæ-ÜŒå`?›“禩™|,ˆ7cïó™;Ìñº@!osõé]Š¦?ݲta0€yýÒ¥¤Zdy›«OïRÜ<%9­äƒ€[}拇ú6m8uõIPžþhǃf>m))…YÞæê“ Ò<%9­äƒ€[}ækçÿÜæ“WO’rõ= A} £ Ñ0'Ë 9‘S,irêÕ÷+\_ã­uâÝ¿›ÑÆE?æóé{¦ƒÙÇá'È‹ÎB#4_²$&†`[–’qq‘‘&/> Mõ5^_'†`[Bý˜OõºÖÁ–%©¡ ª/]07o[šqq ’&/M Íõ5^_'nÞ¶†4.ú1Ÿ6ØsýÜ¥%]Š!ƒCÞgVe@Ù–‹’…$)š5-ƒÃØ5}‡ä²?ÖLg+‡ |>{é>hO‘jøX5~,ê>–0àxÕ},1’š¬ác ”ø±ŠûX€5‹ûXb$3òø³ Ú…t¡í¡=Å>tpº8Õ‡’Ô$iÎ>´-ö¡Ç%ÀšTÔXJR#ÞgL¼í“-J/0®jãȶw.Þâªick£Z,”Ô¤š^”Ñk·ì«éUÝ ‹¯WjÇ‚µÛçƒ.ÁºUE³zÉgýãPˆ,é"›Ñe±ûÌ‹:t˜!*%~ Ö *«QÊÒ@emPMÓ1:¾Þ’àX¼÷(˜®4æ ¤Nƒ¾]þÎJ¦' endstream endobj -741 0 obj +746 0 obj << /Producer (ESP Ghostscript 815.03) /CreationDate (D:20070123225315) /ModDate (D:20070123225315) >> endobj -742 0 obj +747 0 obj << /Type /ExtGState /OPM 1 >> endobj -743 0 obj +748 0 obj << /BaseFont /Times-Roman /Type /Font /Subtype /Type1 >> endobj -744 0 obj +749 0 obj 1397 endobj -733 0 obj << +738 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [294.665 637.885 301.639 646.297] /Subtype /Link /A << /S /GoTo /D (cite.2007c) >> >> endobj -734 0 obj << +739 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [305.735 637.885 312.709 646.297] /Subtype /Link /A << /S /GoTo /D (cite.2007d) >> >> endobj -739 0 obj << -/D [737 0 R /XYZ 150.705 740.998 null] +744 0 obj << +/D [742 0 R /XYZ 150.705 740.998 null] >> endobj -740 0 obj << -/D [737 0 R /XYZ 303.562 347.015 null] +745 0 obj << +/D [742 0 R /XYZ 303.562 347.015 null] >> endobj 22 0 obj << -/D [737 0 R /XYZ 150.705 272.271 null] +/D [742 0 R /XYZ 150.705 272.271 null] >> endobj -736 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F14 727 0 R /F11 709 0 R /F10 726 0 R /F16 523 0 R >> -/XObject << /Im2 735 0 R >> +741 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F14 732 0 R /F11 714 0 R /F10 731 0 R /F16 527 0 R >> +/XObject << /Im2 740 0 R >> /ProcSet [ /PDF /Text ] >> endobj -751 0 obj << +756 0 obj << /Length 5462 >> stream @@ -4247,36 +4274,36 @@ BT ET endstream endobj -750 0 obj << +755 0 obj << /Type /Page -/Contents 751 0 R -/Resources 749 0 R +/Contents 756 0 R +/Resources 754 0 R /MediaBox [0 0 595.276 841.89] -/Parent 690 0 R -/Annots [ 747 0 R 748 0 R ] +/Parent 695 0 R +/Annots [ 752 0 R 753 0 R ] >> endobj -747 0 obj << +752 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [406.358 354.515 413.331 366.47] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj -748 0 obj << +753 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [173.863 318.352 180.837 330.307] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -752 0 obj << -/D [750 0 R /XYZ 99.895 740.998 null] +757 0 obj << +/D [755 0 R /XYZ 99.895 740.998 null] >> endobj -749 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F14 727 0 R /F30 724 0 R >> +754 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F14 732 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -755 0 obj << +760 0 obj << /Length 8657 >> stream @@ -4322,48 +4349,48 @@ BT ET endstream endobj -754 0 obj << +759 0 obj << /Type /Page -/Contents 755 0 R -/Resources 753 0 R +/Contents 760 0 R +/Resources 758 0 R /MediaBox [0 0 595.276 841.89] -/Parent 690 0 R +/Parent 695 0 R >> endobj -756 0 obj << -/D [754 0 R /XYZ 150.705 740.998 null] +761 0 obj << +/D [759 0 R /XYZ 150.705 740.998 null] >> endobj 26 0 obj << -/D [754 0 R /XYZ 150.705 716.092 null] +/D [759 0 R /XYZ 150.705 716.092 null] >> endobj -758 0 obj << -/D [754 0 R /XYZ 150.705 285.279 null] +763 0 obj << +/D [759 0 R /XYZ 150.705 285.279 null] >> endobj -759 0 obj << -/D [754 0 R /XYZ 150.705 264.776 null] +764 0 obj << +/D [759 0 R /XYZ 150.705 264.776 null] >> endobj -760 0 obj << -/D [754 0 R /XYZ 150.705 243.997 null] +765 0 obj << +/D [759 0 R /XYZ 150.705 243.997 null] >> endobj -761 0 obj << -/D [754 0 R /XYZ 150.705 223.218 null] +766 0 obj << +/D [759 0 R /XYZ 150.705 223.218 null] >> endobj -762 0 obj << -/D [754 0 R /XYZ 150.705 190.483 null] +767 0 obj << +/D [759 0 R /XYZ 150.705 190.483 null] >> endobj -763 0 obj << -/D [754 0 R /XYZ 150.705 169.712 null] +768 0 obj << +/D [759 0 R /XYZ 150.705 169.712 null] >> endobj -764 0 obj << -/D [754 0 R /XYZ 150.705 150.854 null] +769 0 obj << +/D [759 0 R /XYZ 150.705 150.854 null] >> endobj -765 0 obj << -/D [754 0 R /XYZ 150.705 134.487 null] +770 0 obj << +/D [759 0 R /XYZ 150.705 134.487 null] >> endobj -753 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F30 724 0 R /F9 757 0 R /F17 689 0 R >> +758 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F30 729 0 R /F9 762 0 R /F17 694 0 R >> /ProcSet [ /PDF /Text ] >> endobj -769 0 obj << +774 0 obj << /Length 6893 >> stream @@ -4428,60 +4455,60 @@ BT ET endstream endobj -768 0 obj << +773 0 obj << /Type /Page -/Contents 769 0 R -/Resources 767 0 R +/Contents 774 0 R +/Resources 772 0 R /MediaBox [0 0 595.276 841.89] -/Parent 784 0 R ->> endobj -770 0 obj << -/D [768 0 R /XYZ 99.895 740.998 null] ->> endobj -771 0 obj << -/D [768 0 R /XYZ 99.895 716.092 null] ->> endobj -772 0 obj << -/D [768 0 R /XYZ 99.895 685.535 null] ->> endobj -773 0 obj << -/D [768 0 R /XYZ 99.895 613.511 null] ->> endobj -774 0 obj << -/D [768 0 R /XYZ 99.895 588.43 null] +/Parent 789 0 R >> endobj 775 0 obj << -/D [768 0 R /XYZ 99.895 563.625 null] +/D [773 0 R /XYZ 99.895 740.998 null] >> endobj 776 0 obj << -/D [768 0 R /XYZ 99.895 526.865 null] +/D [773 0 R /XYZ 99.895 716.092 null] >> endobj 777 0 obj << -/D [768 0 R /XYZ 99.895 502.06 null] +/D [773 0 R /XYZ 99.895 685.535 null] >> endobj 778 0 obj << -/D [768 0 R /XYZ 99.895 477.255 null] +/D [773 0 R /XYZ 99.895 613.511 null] >> endobj 779 0 obj << -/D [768 0 R /XYZ 99.895 449.514 null] +/D [773 0 R /XYZ 99.895 588.43 null] >> endobj 780 0 obj << -/D [768 0 R /XYZ 99.895 419.179 null] +/D [773 0 R /XYZ 99.895 563.625 null] >> endobj 781 0 obj << -/D [768 0 R /XYZ 99.895 388.567 null] +/D [773 0 R /XYZ 99.895 526.865 null] >> endobj 782 0 obj << -/D [768 0 R /XYZ 99.895 369.91 null] +/D [773 0 R /XYZ 99.895 502.06 null] >> endobj 783 0 obj << -/D [768 0 R /XYZ 99.895 351.53 null] +/D [773 0 R /XYZ 99.895 477.255 null] >> endobj -767 0 obj << -/Font << /F8 526 0 R /F30 724 0 R >> -/ProcSet [ /PDF /Text ] +784 0 obj << +/D [773 0 R /XYZ 99.895 449.514 null] +>> endobj +785 0 obj << +/D [773 0 R /XYZ 99.895 419.179 null] +>> endobj +786 0 obj << +/D [773 0 R /XYZ 99.895 388.567 null] +>> endobj +787 0 obj << +/D [773 0 R /XYZ 99.895 369.91 null] >> endobj 788 0 obj << +/D [773 0 R /XYZ 99.895 351.53 null] +>> endobj +772 0 obj << +/Font << /F8 530 0 R /F30 729 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +793 0 obj << /Length 7473 >> stream @@ -4535,60 +4562,60 @@ BT ET endstream endobj -787 0 obj << +792 0 obj << /Type /Page -/Contents 788 0 R -/Resources 786 0 R +/Contents 793 0 R +/Resources 791 0 R /MediaBox [0 0 595.276 841.89] -/Parent 784 0 R -/Annots [ 766 0 R 785 0 R ] +/Parent 789 0 R +/Annots [ 771 0 R 790 0 R ] >> endobj -766 0 obj << +771 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [269.731 674.788 284.454 683.699] /Subtype /Link /A << /S /GoTo /D (subsection.2.3) >> >> endobj -785 0 obj << +790 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [169.998 271.903 176.972 282.751] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj -789 0 obj << -/D [787 0 R /XYZ 150.705 740.998 null] +794 0 obj << +/D [792 0 R /XYZ 150.705 740.998 null] >> endobj 30 0 obj << -/D [787 0 R /XYZ 150.705 716.092 null] +/D [792 0 R /XYZ 150.705 716.092 null] >> endobj -790 0 obj << -/D [787 0 R /XYZ 150.705 671.799 null] +795 0 obj << +/D [792 0 R /XYZ 150.705 671.799 null] >> endobj -791 0 obj << -/D [787 0 R /XYZ 150.705 649.383 null] +796 0 obj << +/D [792 0 R /XYZ 150.705 649.383 null] >> endobj -792 0 obj << -/D [787 0 R /XYZ 150.705 576.158 null] +797 0 obj << +/D [792 0 R /XYZ 150.705 576.158 null] >> endobj -793 0 obj << -/D [787 0 R /XYZ 150.705 530.385 null] +798 0 obj << +/D [792 0 R /XYZ 150.705 530.385 null] >> endobj -794 0 obj << -/D [787 0 R /XYZ 150.705 497.951 null] +799 0 obj << +/D [792 0 R /XYZ 150.705 497.951 null] >> endobj -795 0 obj << -/D [787 0 R /XYZ 150.705 478.303 null] +800 0 obj << +/D [792 0 R /XYZ 150.705 478.303 null] >> endobj 34 0 obj << -/D [787 0 R /XYZ 150.705 424.511 null] +/D [792 0 R /XYZ 150.705 424.511 null] >> endobj -786 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R /F9 757 0 R /F30 724 0 R /F16 523 0 R /F17 689 0 R >> +791 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R /F9 762 0 R /F30 729 0 R /F16 527 0 R /F17 694 0 R >> /ProcSet [ /PDF /Text ] >> endobj -799 0 obj << +804 0 obj << /Length 8440 >> stream @@ -4731,38 +4758,38 @@ BT ET endstream endobj -798 0 obj << +803 0 obj << /Type /Page -/Contents 799 0 R -/Resources 797 0 R +/Contents 804 0 R +/Resources 802 0 R /MediaBox [0 0 595.276 841.89] -/Parent 784 0 R -/Annots [ 796 0 R ] +/Parent 789 0 R +/Annots [ 801 0 R ] >> endobj -796 0 obj << +801 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [269.318 225.936 276.292 236.784] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -800 0 obj << -/D [798 0 R /XYZ 99.895 740.998 null] +805 0 obj << +/D [803 0 R /XYZ 99.895 740.998 null] >> endobj 38 0 obj << -/D [798 0 R /XYZ 99.895 716.092 null] +/D [803 0 R /XYZ 99.895 716.092 null] >> endobj 42 0 obj << -/D [798 0 R /XYZ 99.895 331.305 null] +/D [803 0 R /XYZ 99.895 331.305 null] >> endobj -801 0 obj << -/D [798 0 R /XYZ 342.427 288.724 null] +806 0 obj << +/D [803 0 R /XYZ 342.427 288.724 null] >> endobj -797 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F30 724 0 R /F27 525 0 R /F14 727 0 R >> +802 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F30 729 0 R /F27 529 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -805 0 obj << +810 0 obj << /Length 6708 >> stream @@ -4883,53 +4910,53 @@ BT ET endstream endobj -804 0 obj << +809 0 obj << /Type /Page -/Contents 805 0 R -/Resources 803 0 R +/Contents 810 0 R +/Resources 808 0 R /MediaBox [0 0 595.276 841.89] -/Parent 784 0 R -/Annots [ 802 0 R ] +/Parent 789 0 R +/Annots [ 807 0 R ] >> endobj -802 0 obj << +807 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [452.103 457.229 459.077 469.184] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -806 0 obj << -/D [804 0 R /XYZ 150.705 740.998 null] +811 0 obj << +/D [809 0 R /XYZ 150.705 740.998 null] >> endobj -807 0 obj << -/D [804 0 R /XYZ 150.705 353.756 null] +812 0 obj << +/D [809 0 R /XYZ 150.705 353.756 null] >> endobj -808 0 obj << -/D [804 0 R /XYZ 150.705 337.982 null] +813 0 obj << +/D [809 0 R /XYZ 150.705 337.982 null] >> endobj -809 0 obj << -/D [804 0 R /XYZ 150.705 322.207 null] +814 0 obj << +/D [809 0 R /XYZ 150.705 322.207 null] >> endobj -810 0 obj << -/D [804 0 R /XYZ 150.705 306.433 null] +815 0 obj << +/D [809 0 R /XYZ 150.705 306.433 null] >> endobj -811 0 obj << -/D [804 0 R /XYZ 150.705 290.659 null] +816 0 obj << +/D [809 0 R /XYZ 150.705 290.659 null] >> endobj -812 0 obj << -/D [804 0 R /XYZ 150.705 163.801 null] +817 0 obj << +/D [809 0 R /XYZ 150.705 163.801 null] >> endobj -813 0 obj << -/D [804 0 R /XYZ 150.705 148.027 null] +818 0 obj << +/D [809 0 R /XYZ 150.705 148.027 null] >> endobj -814 0 obj << -/D [804 0 R /XYZ 150.705 132.253 null] +819 0 obj << +/D [809 0 R /XYZ 150.705 132.253 null] >> endobj -803 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F14 727 0 R >> +808 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -817 0 obj << +822 0 obj << /Length 5012 >> stream @@ -5018,39 +5045,39 @@ BT ET endstream endobj -816 0 obj << +821 0 obj << /Type /Page -/Contents 817 0 R -/Resources 815 0 R +/Contents 822 0 R +/Resources 820 0 R /MediaBox [0 0 595.276 841.89] -/Parent 784 0 R +/Parent 789 0 R >> endobj -818 0 obj << -/D [816 0 R /XYZ 99.895 740.998 null] +823 0 obj << +/D [821 0 R /XYZ 99.895 740.998 null] >> endobj -819 0 obj << -/D [816 0 R /XYZ 99.895 716.092 null] +824 0 obj << +/D [821 0 R /XYZ 99.895 716.092 null] >> endobj -820 0 obj << -/D [816 0 R /XYZ 99.895 700.92 null] +825 0 obj << +/D [821 0 R /XYZ 99.895 700.92 null] >> endobj -821 0 obj << -/D [816 0 R /XYZ 99.895 552.932 null] +826 0 obj << +/D [821 0 R /XYZ 99.895 552.932 null] >> endobj -822 0 obj << -/D [816 0 R /XYZ 99.895 534.433 null] +827 0 obj << +/D [821 0 R /XYZ 99.895 534.433 null] >> endobj -823 0 obj << -/D [816 0 R /XYZ 99.895 515.935 null] +828 0 obj << +/D [821 0 R /XYZ 99.895 515.935 null] >> endobj -824 0 obj << -/D [816 0 R /XYZ 147.412 280.287 null] +829 0 obj << +/D [821 0 R /XYZ 147.412 280.287 null] >> endobj -815 0 obj << -/Font << /F8 526 0 R /F27 525 0 R /F30 724 0 R >> +820 0 obj << +/Font << /F8 530 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -829 0 obj << +834 0 obj << /Length 5196 >> stream @@ -5177,48 +5204,48 @@ BT ET endstream endobj -828 0 obj << +833 0 obj << /Type /Page -/Contents 829 0 R -/Resources 827 0 R +/Contents 834 0 R +/Resources 832 0 R /MediaBox [0 0 595.276 841.89] -/Parent 784 0 R -/Annots [ 825 0 R 826 0 R ] +/Parent 789 0 R +/Annots [ 830 0 R 831 0 R ] >> endobj -825 0 obj << +830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [351.231 525.114 358.204 537.069] /Subtype /Link /A << /S /GoTo /D (section.1) >> >> endobj -826 0 obj << +831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [186.34 315.967 193.314 327.923] /Subtype /Link /A << /S /GoTo /D (section.1) >> >> endobj -830 0 obj << -/D [828 0 R /XYZ 150.705 740.998 null] +835 0 obj << +/D [833 0 R /XYZ 150.705 740.998 null] >> endobj 46 0 obj << -/D [828 0 R /XYZ 150.705 716.092 null] +/D [833 0 R /XYZ 150.705 716.092 null] >> endobj 50 0 obj << -/D [828 0 R /XYZ 150.705 679.209 null] +/D [833 0 R /XYZ 150.705 679.209 null] >> endobj 54 0 obj << -/D [828 0 R /XYZ 150.705 482.017 null] +/D [833 0 R /XYZ 150.705 482.017 null] >> endobj 58 0 obj << -/D [828 0 R /XYZ 150.705 272.871 null] +/D [833 0 R /XYZ 150.705 272.871 null] >> endobj -827 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R /F14 727 0 R /F10 726 0 R >> +832 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R /F14 732 0 R /F10 731 0 R >> /ProcSet [ /PDF /Text ] >> endobj -833 0 obj << +838 0 obj << /Length 4255 >> stream @@ -5362,33 +5389,33 @@ BT ET endstream endobj -832 0 obj << +837 0 obj << /Type /Page -/Contents 833 0 R -/Resources 831 0 R +/Contents 838 0 R +/Resources 836 0 R /MediaBox [0 0 595.276 841.89] -/Parent 835 0 R +/Parent 840 0 R >> endobj -834 0 obj << -/D [832 0 R /XYZ 99.895 740.998 null] +839 0 obj << +/D [837 0 R /XYZ 99.895 740.998 null] >> endobj 62 0 obj << -/D [832 0 R /XYZ 99.895 697.758 null] +/D [837 0 R /XYZ 99.895 697.758 null] >> endobj 66 0 obj << -/D [832 0 R /XYZ 99.895 525.4 null] +/D [837 0 R /XYZ 99.895 525.4 null] >> endobj 70 0 obj << -/D [832 0 R /XYZ 99.895 364.999 null] +/D [837 0 R /XYZ 99.895 364.999 null] >> endobj 74 0 obj << -/D [832 0 R /XYZ 99.895 186.024 null] +/D [837 0 R /XYZ 99.895 186.024 null] >> endobj -831 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R >> +836 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -841 0 obj << +846 0 obj << /Length 7953 >> stream @@ -5667,55 +5694,55 @@ BT ET endstream endobj -840 0 obj << +845 0 obj << /Type /Page -/Contents 841 0 R -/Resources 839 0 R +/Contents 846 0 R +/Resources 844 0 R /MediaBox [0 0 595.276 841.89] -/Parent 835 0 R -/Annots [ 836 0 R 837 0 R 838 0 R ] +/Parent 840 0 R +/Annots [ 841 0 R 842 0 R 843 0 R ] >> endobj -836 0 obj << +841 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [188.06 217.606 200.015 226.019] /Subtype /Link /A << /S /GoTo /D (cite.DesignPatterns) >> >> endobj -837 0 obj << +842 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [268.904 217.606 280.86 226.019] /Subtype /Link /A << /S /GoTo /D (cite.Sparse03) >> >> endobj -838 0 obj << +843 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [459.496 215.115 466.47 227.07] /Subtype /Link /A << /S /GoTo /D (figure.4) >> >> endobj -842 0 obj << -/D [840 0 R /XYZ 150.705 740.998 null] +847 0 obj << +/D [845 0 R /XYZ 150.705 740.998 null] >> endobj 78 0 obj << -/D [840 0 R /XYZ 150.705 697.377 null] +/D [845 0 R /XYZ 150.705 697.377 null] >> endobj 82 0 obj << -/D [840 0 R /XYZ 150.705 495.148 null] +/D [845 0 R /XYZ 150.705 495.148 null] >> endobj 86 0 obj << -/D [840 0 R /XYZ 150.705 274.175 null] +/D [845 0 R /XYZ 150.705 274.175 null] >> endobj -843 0 obj << -/D [840 0 R /XYZ 171.358 242.512 null] +848 0 obj << +/D [845 0 R /XYZ 171.358 242.512 null] >> endobj -839 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R /F16 523 0 R >> +844 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R /F16 527 0 R >> /ProcSet [ /PDF /Text ] >> endobj -848 0 obj << +853 0 obj << /Length 6878 >> stream @@ -5903,33 +5930,33 @@ BT ET endstream endobj -847 0 obj << +852 0 obj << /Type /Page -/Contents 848 0 R -/Resources 846 0 R +/Contents 853 0 R +/Resources 851 0 R /MediaBox [0 0 595.276 841.89] -/Parent 835 0 R ->> endobj -849 0 obj << -/D [847 0 R /XYZ 99.895 740.998 null] +/Parent 840 0 R >> endobj -845 0 obj << -/D [847 0 R /XYZ 155.561 667.994 null] +854 0 obj << +/D [852 0 R /XYZ 99.895 740.998 null] >> endobj 850 0 obj << -/D [847 0 R /XYZ 404.863 623.483 null] +/D [852 0 R /XYZ 155.561 667.994 null] +>> endobj +855 0 obj << +/D [852 0 R /XYZ 404.863 623.483 null] >> endobj 90 0 obj << -/D [847 0 R /XYZ 99.895 304.334 null] +/D [852 0 R /XYZ 99.895 304.334 null] >> endobj 94 0 obj << -/D [847 0 R /XYZ 99.895 266.748 null] +/D [852 0 R /XYZ 99.895 266.748 null] >> endobj -846 0 obj << -/Font << /F30 724 0 R /F8 526 0 R /F27 525 0 R >> +851 0 obj << +/Font << /F30 729 0 R /F8 530 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -853 0 obj << +858 0 obj << /Length 4021 >> stream @@ -6031,33 +6058,33 @@ BT ET endstream endobj -852 0 obj << +857 0 obj << /Type /Page -/Contents 853 0 R -/Resources 851 0 R +/Contents 858 0 R +/Resources 856 0 R /MediaBox [0 0 595.276 841.89] -/Parent 835 0 R +/Parent 840 0 R >> endobj -854 0 obj << -/D [852 0 R /XYZ 150.705 740.998 null] +859 0 obj << +/D [857 0 R /XYZ 150.705 740.998 null] >> endobj 98 0 obj << -/D [852 0 R /XYZ 150.705 697.705 null] +/D [857 0 R /XYZ 150.705 697.705 null] >> endobj 102 0 obj << -/D [852 0 R /XYZ 150.705 524.373 null] +/D [857 0 R /XYZ 150.705 524.373 null] >> endobj -855 0 obj << -/D [852 0 R /XYZ 150.705 359.477 null] +860 0 obj << +/D [857 0 R /XYZ 150.705 359.477 null] >> endobj 106 0 obj << -/D [852 0 R /XYZ 150.705 274.846 null] +/D [857 0 R /XYZ 150.705 274.846 null] >> endobj -851 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R >> +856 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -858 0 obj << +863 0 obj << /Length 3701 >> stream @@ -6162,30 +6189,30 @@ BT ET endstream endobj -857 0 obj << +862 0 obj << /Type /Page -/Contents 858 0 R -/Resources 856 0 R +/Contents 863 0 R +/Resources 861 0 R /MediaBox [0 0 595.276 841.89] -/Parent 835 0 R +/Parent 840 0 R >> endobj -859 0 obj << -/D [857 0 R /XYZ 99.895 740.998 null] +864 0 obj << +/D [862 0 R /XYZ 99.895 740.998 null] >> endobj 110 0 obj << -/D [857 0 R /XYZ 99.895 697.187 null] +/D [862 0 R /XYZ 99.895 697.187 null] >> endobj 114 0 obj << -/D [857 0 R /XYZ 99.895 508.701 null] +/D [862 0 R /XYZ 99.895 508.701 null] >> endobj 118 0 obj << -/D [857 0 R /XYZ 99.895 308.26 null] +/D [862 0 R /XYZ 99.895 308.26 null] >> endobj -856 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R >> +861 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -862 0 obj << +867 0 obj << /Length 4306 >> stream @@ -6285,28 +6312,28 @@ BT ET endstream endobj -861 0 obj << +866 0 obj << /Type /Page -/Contents 862 0 R -/Resources 860 0 R +/Contents 867 0 R +/Resources 865 0 R /MediaBox [0 0 595.276 841.89] -/Parent 835 0 R +/Parent 840 0 R >> endobj -863 0 obj << -/D [861 0 R /XYZ 150.705 740.998 null] +868 0 obj << +/D [866 0 R /XYZ 150.705 740.998 null] >> endobj 122 0 obj << -/D [861 0 R /XYZ 150.705 696.955 null] +/D [866 0 R /XYZ 150.705 696.955 null] >> endobj 126 0 obj << -/D [861 0 R /XYZ 150.705 441.917 null] +/D [866 0 R /XYZ 150.705 441.917 null] >> endobj -860 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R >> +865 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -866 0 obj << -/Length 3851 +871 0 obj << +/Length 3665 >> stream 0 g 0 G @@ -6345,19 +6372,19 @@ BT 0 g 0 G /F27 9.9626 Tf -185.305 -23.577 Td [(info)]TJ 0 g 0 G -/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F27 9.9626 Tf -23.758 -30.74 Td [(clip)]TJ +/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F27 9.9626 Tf -23.758 -30.74 Td [(get)]TJ ET q -1 0 0 1 118.405 356.547 cm +1 0 0 1 116.018 356.547 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.842 356.347 Td [(diag)-383(|)-384(Cut)-383(out)-383(main)-384(diagonal)]TJ +/F27 9.9626 Tf 119.455 356.347 Td [(diag)-383(|)-384(Get)-383(main)-383(diagonal)]TJ 0 g 0 G 0 g 0 G -/F30 9.9626 Tf -1.025 -20.088 Td [(call)-525(a%clip_diag\050b,info\051)]TJ/F8 9.9626 Tf -5.978 -25.57 Td [(Returns)-333(a)-334(cop)28(y)-333(of)]TJ/F30 9.9626 Tf 80.753 0 Td [(a)]TJ/F8 9.9626 Tf 8.551 0 Td [(without)-333(the)-334(main)-333(diagonal.)]TJ +/F30 9.9626 Tf 1.362 -20.088 Td [(call)-525(a%get_diag\050d,info\051)]TJ/F8 9.9626 Tf -5.978 -25.57 Td [(Returns)-333(a)-334(cop)28(y)-333(of)-334(th)1(e)-334(main)-333(diagonal.)]TJ 0 g 0 G -/F27 9.9626 Tf -104.248 -22.664 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf -14.944 -22.664 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G @@ -6371,11 +6398,11 @@ BT /F27 9.9626 Tf -80.359 -37.525 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G - 0 -23.577 Td [(b)]TJ + 0 -23.577 Td [(d)]TJ 0 g 0 G -/F8 9.9626 Tf 11.347 0 Td [(A)-333(cop)27(y)-333(of)]TJ/F30 9.9626 Tf 45.385 0 Td [(a)]TJ/F8 9.9626 Tf 8.551 0 Td [(without)-333(the)-334(main)-333(diagonal.)]TJ -40.376 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ +/F8 9.9626 Tf 11.347 0 Td [(A)-333(cop)27(y)-333(of)-333(the)-333(m)-1(ai)1(n)-334(diagonal.)]TJ 13.56 -11.955 Td [(A)-333(one-dimensional)-334(arra)28(y)-333(of)-333(the)-334(appropriate)-333(t)28(yp)-28(e.)]TJ 0 g 0 G -/F27 9.9626 Tf -185.305 -23.577 Td [(info)]TJ +/F27 9.9626 Tf -24.907 -23.577 Td [(info)]TJ 0 g 0 G /F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ 0 g 0 G @@ -6384,106 +6411,101 @@ BT ET endstream endobj -865 0 obj << +870 0 obj << /Type /Page -/Contents 866 0 R -/Resources 864 0 R +/Contents 871 0 R +/Resources 869 0 R /MediaBox [0 0 595.276 841.89] -/Parent 868 0 R +/Parent 873 0 R >> endobj -867 0 obj << -/D [865 0 R /XYZ 99.895 740.998 null] +872 0 obj << +/D [870 0 R /XYZ 99.895 740.998 null] >> endobj 130 0 obj << -/D [865 0 R /XYZ 99.895 696.971 null] +/D [870 0 R /XYZ 99.895 696.971 null] >> endobj 134 0 obj << -/D [865 0 R /XYZ 99.895 347.19 null] +/D [870 0 R /XYZ 99.895 347.19 null] >> endobj -864 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R >> +869 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -871 0 obj << -/Length 4992 +876 0 obj << +/Length 4121 >> stream 0 g 0 G 0 g 0 G BT -/F27 9.9626 Tf 150.705 706.129 Td [(tril)-383(|)-384(Return)-383(the)-383(lo)31(w)32(e)1(r)-384(triangle)]TJ +/F27 9.9626 Tf 150.705 706.129 Td [(clip)]TJ +ET +q +1 0 0 1 169.214 706.328 cm +[]0 d 0 J 0.398 w 0 0 m 3.437 0 l S +Q +BT +/F27 9.9626 Tf 172.651 706.129 Td [(diag)-383(|)-384(Cut)-383(out)-383(main)-384(diagonal)]TJ 0 g 0 G 0 g 0 G -/F30 9.9626 Tf 20.921 -18.389 Td [(call)-525(a%tril\050b,info[,&)]TJ 15.691 -11.956 Td [(&)-525(diag,imin,imax,jmin,jmax,rscale,cscale]\051)]TJ/F8 9.9626 Tf -21.668 -17.458 Td [(Returns)-376(the)-376(lo)28(w)28(er)-376(triangular)-375(part)-376(of)-376(submatrix)]TJ/F30 9.9626 Tf 210.932 0 Td [(A\050imin:imax,jmin:jmax\051)]TJ/F8 9.9626 Tf 115.068 0 Td [(,)]TJ -340.944 -11.955 Td [(optionally)-222(rescaling)-222(ro)28(w)-1(/col)-222(indices)-222(to)-222(the)-222(range)]TJ/F30 9.9626 Tf 205.535 0 Td [(1:imax-imin+1,1:jmax-jmin+1)]TJ/F8 9.9626 Tf 141.219 0 Td [(.)]TJ +/F30 9.9626 Tf -1.025 -19.504 Td [(call)-525(a%clip_diag\050b,info\051)]TJ/F8 9.9626 Tf -5.977 -24.313 Td [(Returns)-333(a)-334(cop)28(y)-333(of)]TJ/F30 9.9626 Tf 80.753 0 Td [(a)]TJ/F8 9.9626 Tf 8.551 0 Td [(without)-333(the)-334(main)-333(diagonal.)]TJ 0 g 0 G -/F27 9.9626 Tf -346.754 -16.357 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf -104.248 -21.721 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -18.141 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -22.32 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G - 0 -18.142 Td [(a)]TJ + 0 -22.321 Td [(a)]TJ 0 g 0 G -/F8 9.9626 Tf 10.551 0 Td [(the)-333(sparse)-334(matrix.)]TJ 14.355 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ -160.398 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ +/F8 9.9626 Tf 10.551 0 Td [(the)-333(sparse)-334(matrix.)]TJ 14.356 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)28(yp)-28(e)]TJ/F30 9.9626 Tf 81.942 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.456 0 Td [(.)]TJ -160.398 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.378 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -80.358 -30.096 Td [(diag)]TJ +/F27 9.9626 Tf -80.358 -36.268 Td [(On)-383(Return)]TJ 0 g 0 G -/F8 9.9626 Tf 25.826 0 Td [(Ho)28(w)-334(man)28(y)-333(additional)-333(diagonals)-334(ab)-27(o)27(v)28(e)-333(the)-333(m)-1(ain)-333(one,)-333(default)-333(0.)]TJ 0 g 0 G -/F27 9.9626 Tf -25.826 -18.142 Td [(imin,imax,jmin,jmax)]TJ + 0 -22.32 Td [(b)]TJ 0 g 0 G -/F8 9.9626 Tf 108.412 0 Td [(Minim)28(um)-333(and)-334(maxim)28(um)-333(ro)27(w)-333(and)-333(column)-333(indices.)]TJ -83.506 -11.955 Td [(T)28(yp)-28(e:)-444(optional.)]TJ +/F8 9.9626 Tf 11.346 0 Td [(A)-333(cop)27(y)-333(of)]TJ/F30 9.9626 Tf 45.386 0 Td [(a)]TJ/F8 9.9626 Tf 8.551 0 Td [(without)-333(the)-334(main)-333(diagonal.)]TJ -40.376 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(y)1(p)-28(e)]TJ/F30 9.9626 Tf 81.942 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.456 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -24.906 -18.141 Td [(rscale,cscale)]TJ +/F27 9.9626 Tf -185.305 -22.32 Td [(info)]TJ 0 g 0 G -/F8 9.9626 Tf 65.202 0 Td [(Whether)-333(to)-334(rescale)-333(ro)28(w/column)-334(indices.)-444(T)28(yp)-28(e:)-445(op)1(tional.)]TJ -0 g 0 G -/F27 9.9626 Tf -65.202 -17.458 Td [(On)-383(Return)]TJ -0 g 0 G -0 g 0 G - 0 -18.141 Td [(b)]TJ +/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F27 9.9626 Tf -23.758 -29.073 Td [(tril)-383(|)-384(Return)-383(the)-383(lo)31(w)32(er)-383(triangle)]TJ 0 g 0 G -/F8 9.9626 Tf 11.346 0 Td [(A)-333(cop)27(y)-333(of)-333(a)-334(sub)1(triangle)-334(of)]TJ/F30 9.9626 Tf 116.591 0 Td [(a)]TJ/F8 9.9626 Tf 5.23 0 Td [(.)]TJ -108.261 -11.956 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -185.304 -18.141 Td [(info)]TJ +/F30 9.9626 Tf 20.921 -19.504 Td [(call)-525(a%tril\050b,info[,&)]TJ 15.691 -11.955 Td [(&)-525(diag,imin,imax,jmin,jmax,rscale,cscale]\051)]TJ/F8 9.9626 Tf -21.668 -24.313 Td [(Returns)-376(the)-376(lo)28(w)28(er)-376(triangular)-375(part)-376(of)-376(submatrix)]TJ/F30 9.9626 Tf 210.932 0 Td [(A\050imin:imax,jmin:jmax\051)]TJ/F8 9.9626 Tf 115.068 0 Td [(,)]TJ -340.944 -11.955 Td [(optionally)-222(rescaling)-222(ro)27(w/col)-222(indices)-222(to)-222(the)-222(range)]TJ/F30 9.9626 Tf 205.535 0 Td [(1:imax-imin+1,1:jmax-jmin+1)]TJ/F8 9.9626 Tf 141.219 0 Td [(.)]TJ 0 g 0 G -/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F27 9.9626 Tf -23.758 -25.128 Td [(triu)-383(|)-384(Return)-383(the)-383(upp)-32(er)-384(triangle)]TJ -0 g 0 G -0 g 0 G -/F30 9.9626 Tf 20.921 -18.389 Td [(call)-525(a%triu\050b,info[,&)]TJ 15.691 -11.955 Td [(&)-525(diag,imin,imax,jmin,jmax,rscale,cscale]\051)]TJ/F8 9.9626 Tf -21.668 -17.458 Td [(Returns)-340(the)-340(upp)-28(er)-340(triangular)-340(part)-340(of)-340(submatrix)]TJ/F30 9.9626 Tf 210.932 0 Td [(A\050imin:imax,jmin:jmax\051)]TJ/F8 9.9626 Tf 115.067 0 Td [(,)]TJ -340.943 -11.955 Td [(optionally)-222(rescaling)-222(ro)28(w)-1(/col)-222(indices)-222(to)-222(the)-222(range)]TJ/F30 9.9626 Tf 205.535 0 Td [(1:imax-imin+1,1:jmax-jmin+1)]TJ/F8 9.9626 Tf 141.219 0 Td [(.)]TJ -0 g 0 G -/F27 9.9626 Tf -346.754 -16.358 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf -346.754 -21.721 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -18.141 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -22.32 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G - 0 -18.141 Td [(a)]TJ + 0 -22.321 Td [(a)]TJ 0 g 0 G -/F8 9.9626 Tf 10.55 0 Td [(the)-333(sparse)-334(matrix.)]TJ 14.356 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ -160.398 -11.956 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ +/F8 9.9626 Tf 10.551 0 Td [(the)-333(sparse)-334(matrix.)]TJ 14.356 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(y)1(p)-28(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ -160.398 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.378 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -80.358 -30.096 Td [(diag)]TJ +/F27 9.9626 Tf -80.358 -34.275 Td [(diag)]TJ 0 g 0 G -/F8 9.9626 Tf 25.826 0 Td [(Ho)28(w)-334(man)28(y)-333(additional)-333(diagonals)-334(b)-27(elo)27(w)-333(the)-333(main)-334(one,)-333(default)-333(0.)]TJ +/F8 9.9626 Tf 25.827 0 Td [(Ho)28(w)-334(man)28(y)-333(additional)-333(diagonals)-334(ab)-27(o)28(v)27(e)-333(the)-333(main)-334(one,)-333(default)-333(0.)]TJ 0 g 0 G -/F27 9.9626 Tf -25.826 -18.141 Td [(imin,imax,jmin,jmax)]TJ +/F27 9.9626 Tf -25.827 -22.321 Td [(imin,imax,jmin,jmax)]TJ 0 g 0 G -/F8 9.9626 Tf 108.412 0 Td [(Minim)28(um)-333(and)-334(maxim)28(um)-333(ro)27(w)-333(and)-333(column)-333(indices.)]TJ -83.506 -11.956 Td [(T)28(yp)-28(e:)-444(optional.)]TJ +/F8 9.9626 Tf 108.412 0 Td [(Minim)28(um)-334(an)1(d)-334(maxim)28(um)-333(ro)27(w)-333(and)-333(column)-333(indices)-1(.)]TJ -83.505 -11.955 Td [(T)28(yp)-28(e:)-444(optional.)]TJ 0 g 0 G -/F27 9.9626 Tf -24.906 -18.141 Td [(rscale,cscale)]TJ +/F27 9.9626 Tf -24.907 -22.32 Td [(rscale,cscale)]TJ 0 g 0 G /F8 9.9626 Tf 65.202 0 Td [(Whether)-333(to)-334(rescale)-333(ro)28(w/column)-334(indices.)-444(T)28(yp)-28(e:)-445(op)1(tional.)]TJ 0 g 0 G -/F27 9.9626 Tf -65.202 -17.458 Td [(On)-383(Return)]TJ +/F27 9.9626 Tf -65.202 -24.313 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G - 0 -18.141 Td [(b)]TJ + 0 -22.32 Td [(b)]TJ 0 g 0 G -/F8 9.9626 Tf 11.346 0 Td [(A)-333(cop)27(y)-333(of)-333(a)-334(sub)1(triangle)-334(of)]TJ/F30 9.9626 Tf 116.591 0 Td [(a)]TJ/F8 9.9626 Tf 5.23 0 Td [(.)]TJ -108.261 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ +/F8 9.9626 Tf 11.346 0 Td [(A)-333(cop)27(y)-333(of)-333(a)-334(subtr)1(iangle)-334(of)]TJ/F30 9.9626 Tf 116.591 0 Td [(a)]TJ/F8 9.9626 Tf 5.23 0 Td [(.)]TJ -108.26 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(y)1(p)-28(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -185.304 -18.142 Td [(info)]TJ +/F27 9.9626 Tf -185.305 -22.321 Td [(info)]TJ 0 g 0 G /F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ 0 g 0 G @@ -6492,502 +6514,574 @@ BT ET endstream endobj -870 0 obj << +875 0 obj << /Type /Page -/Contents 871 0 R -/Resources 869 0 R +/Contents 876 0 R +/Resources 874 0 R /MediaBox [0 0 595.276 841.89] -/Parent 868 0 R +/Parent 873 0 R >> endobj -872 0 obj << -/D [870 0 R /XYZ 150.705 740.998 null] +877 0 obj << +/D [875 0 R /XYZ 150.705 740.998 null] >> endobj 138 0 obj << -/D [870 0 R /XYZ 150.705 697.758 null] +/D [875 0 R /XYZ 150.705 697.242 null] >> endobj 142 0 obj << -/D [870 0 R /XYZ 150.705 392.292 null] +/D [875 0 R /XYZ 150.705 441.217 null] >> endobj -869 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R >> +874 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -877 0 obj << -/Length 7706 +880 0 obj << +/Length 4508 >> stream 0 g 0 G 0 g 0 G BT -/F27 9.9626 Tf 99.895 706.129 Td [(psb)]TJ +/F27 9.9626 Tf 99.895 706.129 Td [(triu)-383(|)-384(Return)-383(the)-383(upp)-32(er)-384(triangle)]TJ +0 g 0 G +0 g 0 G +/F30 9.9626 Tf 20.922 -18.389 Td [(call)-525(a%triu\050b,info[,&)]TJ 15.691 -11.956 Td [(&)-525(diag,imin,imax,jmin,jmax,rscale,cscale]\051)]TJ/F8 9.9626 Tf -21.669 -18.285 Td [(Returns)-340(the)-340(upp)-28(er)-340(triangular)-340(part)-340(of)-340(submatrix)]TJ/F30 9.9626 Tf 210.933 0 Td [(A\050imin:imax,jmin:jmax\051)]TJ/F8 9.9626 Tf 115.067 0 Td [(,)]TJ -340.944 -11.955 Td [(optionally)-222(rescaling)-222(ro)27(w/col)-222(indices)-222(to)-222(the)-222(range)]TJ/F30 9.9626 Tf 205.536 0 Td [(1:imax-imin+1,1:jmax-jmin+1)]TJ/F8 9.9626 Tf 141.219 0 Td [(.)]TJ +0 g 0 G +/F27 9.9626 Tf -346.755 -17.02 Td [(T)32(yp)-32(e:)]TJ +0 g 0 G +/F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ +0 g 0 G +/F27 9.9626 Tf -33.797 -18.472 Td [(On)-383(En)32(try)]TJ +0 g 0 G +0 g 0 G + 0 -18.472 Td [(a)]TJ +0 g 0 G +/F8 9.9626 Tf 10.551 0 Td [(the)-333(sparse)-334(matrix.)]TJ 14.356 -11.956 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ -160.398 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ +0 g 0 G +/F27 9.9626 Tf -80.359 -30.427 Td [(diag)]TJ +0 g 0 G +/F8 9.9626 Tf 25.827 0 Td [(Ho)28(w)-334(man)28(y)-333(additional)-333(diagonals)-334(b)-27(elo)27(w)-333(the)-333(main)-334(one,)-333(default)-333(0.)]TJ +0 g 0 G +/F27 9.9626 Tf -25.827 -18.473 Td [(imin,imax,jmin,jma)-1(x)]TJ +0 g 0 G +/F8 9.9626 Tf 108.413 0 Td [(Minim)28(um)-333(and)-334(maxim)28(um)-333(ro)27(w)-333(and)-333(column)-333(indices.)]TJ -83.506 -11.955 Td [(T)28(yp)-28(e:)-444(optional.)]TJ +0 g 0 G +/F27 9.9626 Tf -24.907 -18.472 Td [(rscale,cscale)]TJ +0 g 0 G +/F8 9.9626 Tf 65.203 0 Td [(Whether)-333(to)-334(rescale)-333(ro)28(w/column)-334(ind)1(ic)-1(es.)-444(T)28(yp)-28(e:)-444(optional.)]TJ +0 g 0 G +/F27 9.9626 Tf -65.203 -18.286 Td [(On)-383(Return)]TJ +0 g 0 G +0 g 0 G + 0 -18.472 Td [(b)]TJ +0 g 0 G +/F8 9.9626 Tf 11.347 0 Td [(A)-333(cop)27(y)-333(of)-333(a)-333(s)-1(u)1(btriangle)-334(of)]TJ/F30 9.9626 Tf 116.59 0 Td [(a)]TJ/F8 9.9626 Tf 5.231 0 Td [(.)]TJ -108.261 -11.955 Td [(A)-333(v)55(ariable)-333(of)-333(t)27(yp)-27(e)]TJ/F30 9.9626 Tf 81.943 0 Td [(psb_Tspmat_type)]TJ/F8 9.9626 Tf 78.455 0 Td [(.)]TJ +0 g 0 G +/F27 9.9626 Tf -185.305 -18.473 Td [(info)]TJ +0 g 0 G +/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F27 9.9626 Tf -23.758 -25.27 Td [(psb)]TJ ET q -1 0 0 1 117.832 706.328 cm +1 0 0 1 117.832 396.085 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 706.129 Td [(set)]TJ +/F27 9.9626 Tf 121.269 395.886 Td [(set)]TJ ET q -1 0 0 1 136.182 706.328 cm +1 0 0 1 136.182 396.085 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 139.619 706.129 Td [(mat)]TJ +/F27 9.9626 Tf 139.619 395.886 Td [(mat)]TJ ET q -1 0 0 1 159.879 706.328 cm +1 0 0 1 159.879 396.085 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 163.316 706.129 Td [(default)-383(|)-384(Set)-383(default)-383(storage)-384(format)]TJ +/F27 9.9626 Tf 163.316 395.886 Td [(default)-383(|)-384(Set)-383(default)-383(storage)-384(format)]TJ 0 g 0 G 0 g 0 G /F30 9.9626 Tf -63.421 -18.389 Td [(call)-1050(psb_set_mat_default\050a\051)]TJ 0 g 0 G -/F27 9.9626 Tf 0 -20.935 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf 0 -18.286 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -19.532 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -18.472 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G - 0 -19.532 Td [(a)]TJ + 0 -18.473 Td [(a)]TJ 0 g 0 G -/F8 9.9626 Tf 10.551 0 Td [(a)-285(v)56(ariable)-285(of)]TJ/F30 9.9626 Tf 55.581 0 Td [(class\050psb_T_base_sparse_mat\051)]TJ/F8 9.9626 Tf 149.286 0 Td [(requesting)-285(a)-284(new)-285(default)-284(s)-1(t)1(or-)]TJ -190.511 -11.955 Td [(age)-333(format.)]TJ 0 -11.956 Td [(T)28(yp)-28(e:)-444(required.)]TJ/F27 9.9626 Tf -24.907 -25.726 Td [(clone)-383(|)-384(Clone)-383(curren)32(t)-383(ob)-64(ject)]TJ +/F8 9.9626 Tf 10.551 0 Td [(a)-285(v)56(ariable)-285(of)]TJ/F30 9.9626 Tf 55.581 0 Td [(class\050psb_T_base_sparse_mat\051)]TJ/F8 9.9626 Tf 149.286 0 Td [(requesting)-285(a)-284(new)-285(default)-284(s)-1(t)1(or-)]TJ -190.511 -11.955 Td [(age)-333(format.)]TJ 0 -11.955 Td [(T)28(yp)-28(e:)-444(required.)]TJ/F27 9.9626 Tf -24.907 -25.27 Td [(clone)-383(|)-384(Clone)-383(curren)32(t)-383(ob)-64(ject)]TJ 0 g 0 G 0 g 0 G -/F30 9.9626 Tf 0 -18.389 Td [(call)-1050(a%clone\050b,info\051)]TJ +/F30 9.9626 Tf 0 -18.39 Td [(call)-1050(a%clone\050b,info\051)]TJ 0 g 0 G -/F27 9.9626 Tf 0 -20.935 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf 0 -18.285 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -19.532 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -18.472 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G - 0 -19.532 Td [(a)]TJ + 0 -18.473 Td [(a)]TJ 0 g 0 G /F8 9.9626 Tf 10.551 0 Td [(the)-333(sparse)-334(matrix.)]TJ 14.356 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -80.359 -32.89 Td [(On)-383(Return)]TJ +/F27 9.9626 Tf -80.359 -30.241 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G - 0 -19.532 Td [(b)]TJ + 0 -18.472 Td [(b)]TJ 0 g 0 G /F8 9.9626 Tf 11.347 0 Td [(A)-333(cop)27(y)-333(of)-333(the)-333(input)-334(ob)-55(ject.)]TJ 0 g 0 G -/F27 9.9626 Tf -11.347 -19.532 Td [(info)]TJ +/F27 9.9626 Tf -11.347 -18.472 Td [(info)]TJ +0 g 0 G +/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ +0 g 0 G + 143.117 -29.888 Td [(21)]TJ +0 g 0 G +ET +endstream +endobj +879 0 obj << +/Type /Page +/Contents 880 0 R +/Resources 878 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 873 0 R +>> endobj +881 0 obj << +/D [879 0 R /XYZ 99.895 740.998 null] +>> endobj +146 0 obj << +/D [879 0 R /XYZ 99.895 697.758 null] +>> endobj +150 0 obj << +/D [879 0 R /XYZ 99.895 387.515 null] +>> endobj +154 0 obj << +/D [879 0 R /XYZ 99.895 264.714 null] +>> endobj +878 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +886 0 obj << +/Length 7793 +>> +stream +0 g 0 G 0 g 0 G -/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F27 9.9626 Tf -23.758 -25.727 Td [(3.2.2)-1150(Named)-383(Constan)31(ts)]TJ +BT +/F27 9.9626 Tf 150.705 706.129 Td [(3.2.2)-1150(Named)-383(Constan)32(ts)]TJ 0 g 0 G - 0 -18.389 Td [(psb)]TJ + 0 -18.427 Td [(psb)]TJ ET q -1 0 0 1 117.832 371.89 cm +1 0 0 1 168.641 687.901 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 371.691 Td [(dupl)]TJ +/F27 9.9626 Tf 172.078 687.702 Td [(dupl)]TJ ET q -1 0 0 1 144.234 371.89 cm +1 0 0 1 195.043 687.901 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 147.671 371.691 Td [(o)32(vwrt)]TJ +/F27 9.9626 Tf 198.48 687.702 Td [(o)32(vwrt)]TJ ET q -1 0 0 1 177.264 371.89 cm +1 0 0 1 228.073 687.901 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q 0 g 0 G BT -/F8 9.9626 Tf 185.682 371.691 Td [(Duplicate)-315(co)-28(e\016cien)28(ts)-315(should)-315(b)-28(e)-315(o)28(v)28(erwritten)-315(\050i.e.)-438(ignore)-315(du-)]TJ -60.88 -11.955 Td [(plications\051)]TJ +/F8 9.9626 Tf 236.492 687.702 Td [(Duplicate)-315(co)-28(e\016cien)28(ts)-315(should)-315(b)-28(e)-315(o)28(v)28(erwritten)-315(\050i.e.)-438(ignore)-315(du-)]TJ -60.881 -11.956 Td [(plications\051)]TJ 0 g 0 G -/F27 9.9626 Tf -24.907 -19.532 Td [(psb)]TJ +/F27 9.9626 Tf -24.906 -20.006 Td [(psb)]TJ ET q -1 0 0 1 117.832 340.403 cm +1 0 0 1 168.641 655.939 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 340.204 Td [(dupl)]TJ +/F27 9.9626 Tf 172.078 655.74 Td [(dupl)]TJ ET q -1 0 0 1 144.234 340.403 cm +1 0 0 1 195.043 655.939 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 147.671 340.204 Td [(add)]TJ +/F27 9.9626 Tf 198.48 655.74 Td [(add)]TJ ET q -1 0 0 1 166.658 340.403 cm +1 0 0 1 217.467 655.939 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q 0 g 0 G BT -/F8 9.9626 Tf 175.076 340.204 Td [(Duplicate)-333(co)-28(e\016cien)28(ts)-334(should)-333(b)-28(e)-333(added;)]TJ +/F8 9.9626 Tf 225.886 655.74 Td [(Duplicate)-333(co)-28(e\016cien)28(ts)-334(should)-333(b)-28(e)-333(added;)]TJ 0 g 0 G -/F27 9.9626 Tf -75.181 -19.532 Td [(psb)]TJ +/F27 9.9626 Tf -75.181 -20.007 Td [(psb)]TJ ET q -1 0 0 1 117.832 320.871 cm +1 0 0 1 168.641 635.932 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 320.672 Td [(dupl)]TJ +/F27 9.9626 Tf 172.078 635.733 Td [(dupl)]TJ ET q -1 0 0 1 144.234 320.871 cm +1 0 0 1 195.043 635.932 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 147.671 320.672 Td [(err)]TJ +/F27 9.9626 Tf 198.48 635.733 Td [(err)]TJ ET q -1 0 0 1 163.046 320.871 cm +1 0 0 1 213.856 635.932 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q 0 g 0 G BT -/F8 9.9626 Tf 171.465 320.672 Td [(Duplicate)-333(co)-28(e\016cien)28(ts)-334(should)-333(trigger)-333(an)-334(error)-333(conditino)]TJ +/F8 9.9626 Tf 222.274 635.733 Td [(Duplicate)-333(co)-28(e\016cien)28(ts)-334(should)-333(trigger)-333(an)-334(error)-333(conditino)]TJ 0 g 0 G -/F27 9.9626 Tf -71.57 -19.532 Td [(psb)]TJ +/F27 9.9626 Tf -71.569 -20.007 Td [(psb)]TJ ET q -1 0 0 1 117.832 301.339 cm +1 0 0 1 168.641 615.925 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 301.14 Td [(up)-32(d)]TJ +/F27 9.9626 Tf 172.078 615.726 Td [(up)-32(d)]TJ ET q -1 0 0 1 141.37 301.339 cm +1 0 0 1 192.179 615.925 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 144.807 301.14 Td [(d\015t)]TJ +/F27 9.9626 Tf 195.616 615.726 Td [(d\015t)]TJ ET q -1 0 0 1 162.68 301.339 cm +1 0 0 1 213.489 615.925 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q 0 g 0 G BT -/F8 9.9626 Tf 171.098 301.14 Td [(Default)-333(up)-28(date)-333(strategy)-334(for)-333(matrix)-333(co)-28(e\016cien)28(ts;)]TJ +/F8 9.9626 Tf 221.907 615.726 Td [(Default)-333(up)-28(date)-333(strategy)-334(for)-333(matrix)-333(co)-28(e\016cien)28(ts;)]TJ 0 g 0 G -/F27 9.9626 Tf -71.203 -19.533 Td [(psb)]TJ +/F27 9.9626 Tf -71.202 -20.007 Td [(psb)]TJ ET q -1 0 0 1 117.832 281.807 cm +1 0 0 1 168.641 595.919 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 281.607 Td [(up)-32(d)]TJ +/F27 9.9626 Tf 172.078 595.719 Td [(up)-32(d)]TJ ET q -1 0 0 1 141.37 281.807 cm +1 0 0 1 192.179 595.919 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 144.807 281.607 Td [(src)32(h)]TJ +/F27 9.9626 Tf 195.616 595.719 Td [(src)32(h)]TJ ET q -1 0 0 1 165.87 281.807 cm +1 0 0 1 216.68 595.919 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q 0 g 0 G BT -/F8 9.9626 Tf 174.289 281.607 Td [(Up)-28(date)-333(strategy)-333(based)-334(on)-333(searc)28(h)-334(in)28(to)-333(the)-334(d)1(ata)-334(structure;)]TJ +/F8 9.9626 Tf 225.098 595.719 Td [(Up)-28(date)-333(strategy)-333(base)-1(d)-333(on)-333(searc)28(h)-334(in)28(to)-333(the)-334(data)-333(structure;)]TJ 0 g 0 G -/F27 9.9626 Tf -74.394 -19.532 Td [(psb)]TJ +/F27 9.9626 Tf -74.393 -20.007 Td [(psb)]TJ ET q -1 0 0 1 117.832 262.275 cm +1 0 0 1 168.641 575.912 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 121.269 262.075 Td [(up)-32(d)]TJ +/F27 9.9626 Tf 172.078 575.713 Td [(up)-32(d)]TJ ET q -1 0 0 1 141.37 262.275 cm +1 0 0 1 192.179 575.912 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 144.807 262.075 Td [(p)-32(erm)]TJ +/F27 9.9626 Tf 195.616 575.713 Td [(p)-32(erm)]TJ ET q -1 0 0 1 171.694 262.275 cm +1 0 0 1 222.504 575.912 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q 0 g 0 G BT -/F8 9.9626 Tf 180.113 262.075 Td [(Up)-28(date)-398(strategy)-398(based)-398(on)-398(additional)-398(p)-28(erm)28(utation)-398(data)-398(\050se)-1(e)]TJ -55.311 -11.955 Td [(to)-28(ols)-333(routine)-333(description\051.)]TJ/F16 11.9552 Tf -24.907 -27.719 Td [(3.3)-1125(Dense)-375(V)94(ector)-375(Data)-375(Structure)]TJ/F8 9.9626 Tf 0 -18.389 Td [(The)]TJ/F30 9.9626 Tf 21.256 0 Td [(psb)]TJ +/F8 9.9626 Tf 230.922 575.713 Td [(Up)-28(date)-398(strategy)-398(based)-398(on)-398(additional)-398(p)-28(erm)28(utation)-398(data)-398(\050s)-1(ee)]TJ -55.311 -11.956 Td [(to)-28(ols)-333(routine)-333(desc)-1(r)1(iption\051.)]TJ/F16 11.9552 Tf -24.906 -27.996 Td [(3.3)-1125(Dense)-375(V)94(ector)-375(Data)-375(Structure)]TJ/F8 9.9626 Tf 0 -18.427 Td [(The)]TJ/F30 9.9626 Tf 21.256 0 Td [(psb)]TJ ET q -1 0 0 1 137.47 204.211 cm +1 0 0 1 188.279 517.533 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 140.608 204.012 Td [(T)]TJ +/F30 9.9626 Tf 191.417 517.334 Td [(T)]TJ ET q -1 0 0 1 146.466 204.211 cm +1 0 0 1 197.275 517.533 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 149.604 204.012 Td [(vect)]TJ +/F30 9.9626 Tf 200.414 517.334 Td [(vect)]TJ ET q -1 0 0 1 171.153 204.211 cm +1 0 0 1 221.963 517.533 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 174.291 204.012 Td [(type)]TJ/F8 9.9626 Tf 25.02 0 Td [(data)-411(structure)-412(encapsulates)-411(the)-411(dense)-412(v)28(ectors)-411(in)-412(a)-411(w)28(a)28(y)]TJ -99.416 -11.955 Td [(similar)-434(to)-435(sparse)-434(matrices,)-459(i.e.)-748(includ)1(ing)-435(a)-434(base)-434(t)28(yp)-28(e)]TJ/F30 9.9626 Tf 242.195 0 Td [(psb)]TJ +/F30 9.9626 Tf 225.101 517.334 Td [(type)]TJ/F8 9.9626 Tf 25.019 0 Td [(data)-411(structure)-412(encapsulates)-411(the)-411(dense)-412(v)28(ectors)-411(in)-412(a)-411(w)28(a)28(y)]TJ -99.415 -11.956 Td [(similar)-434(to)-434(s)-1(p)1(arse)-435(matrices,)-459(i.e.)-748(in)1(c)-1(l)1(uding)-435(a)-434(base)-434(t)28(yp)-28(e)]TJ/F30 9.9626 Tf 242.195 0 Td [(psb)]TJ ET q -1 0 0 1 358.409 192.256 cm +1 0 0 1 409.218 505.578 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 361.547 192.057 Td [(T)]TJ +/F30 9.9626 Tf 412.357 505.378 Td [(T)]TJ ET q -1 0 0 1 367.405 192.256 cm +1 0 0 1 418.215 505.578 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 370.543 192.057 Td [(base)]TJ +/F30 9.9626 Tf 421.353 505.378 Td [(base)]TJ ET q -1 0 0 1 392.092 192.256 cm +1 0 0 1 442.902 505.578 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 395.231 192.057 Td [(vect)]TJ +/F30 9.9626 Tf 446.04 505.378 Td [(vect)]TJ ET q -1 0 0 1 416.779 192.256 cm +1 0 0 1 467.589 505.578 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 419.918 192.057 Td [(type)]TJ/F8 9.9626 Tf 20.921 0 Td [(.)]TJ -340.944 -11.956 Td [(The)-330(user)-330(will)-330(not,)-330(in)-330(general,)-331(access)-330(the)-330(v)28(ector)-330(comp)-28(onen)28(ts)-330(directly)83(,)-330(but)-330(rather)]TJ 0 -11.955 Td [(via)-303(the)-304(routi)1(ne)-1(s)-303(of)-303(sec.)]TJ +/F30 9.9626 Tf 470.727 505.378 Td [(type)]TJ/F8 9.9626 Tf 20.922 0 Td [(.)]TJ -340.944 -11.955 Td [(The)-330(user)-330(will)-330(not,)-330(in)-330(general,)-331(access)-330(the)-330(v)28(ector)-330(comp)-28(onen)28(ts)-330(directly)83(,)-330(but)-330(rather)]TJ 0 -11.955 Td [(via)-303(the)-304(rou)1(tines)-304(of)-303(sec.)]TJ 0 0 1 rg 0 0 1 RG - [-304(6)]TJ + [-303(6)]TJ 0 g 0 G - [(.)-434(Among)-303(other)-303(s)-1(impl)1(e)-304(things,)-309(w)28(e)-304(de\014ne)-303(here)-303(an)-303(e)-1(xtr)1(ac)-1(-)]TJ 0 -11.955 Td [(tion)-321(metho)-28(d)-320(that)-321(can)-321(b)-27(e)-321(used)-321(to)-321(get)-321(a)-320(full)-321(cop)28(y)-321(of)-321(the)-320(part)-321(of)-321(the)-320(v)27(ector)-320(s)-1(t)1(o)-1(r)1(e)-1(d)]TJ 0 -11.955 Td [(on)-333(the)-334(lo)-27(cal)-334(pro)-27(c)-1(ess.)]TJ 14.944 -11.955 Td [(The)-399(t)28(yp)-28(e)-399(declaration)-398(is)-399(sho)28(w)-1(n)-398(in)-399(\014gure)]TJ + [(.)-435(Among)-303(other)-303(sim)-1(p)1(le)-304(things,)-309(w)28(e)-304(de\014ne)-303(here)-303(an)-303(extrac-)]TJ 0 -11.955 Td [(tion)-321(metho)-27(d)-321(that)-321(can)-321(b)-27(e)-321(used)-321(to)-321(get)-320(a)-321(full)-321(cop)28(y)-321(of)-321(th)1(e)-321(part)-321(of)-321(the)-320(v)27(ector)-320(stored)]TJ 0 -11.955 Td [(on)-333(the)-334(lo)-27(cal)-334(pro)-27(ce)-1(ss.)]TJ 14.944 -11.976 Td [(The)-399(t)28(yp)-28(e)-399(declaration)-398(is)-399(sho)28(wn)-399(in)-399(\014gure)]TJ 0 0 1 rg 0 0 1 RG [-399(5)]TJ 0 g 0 G - [-399(where)]TJ/F30 9.9626 Tf 216.941 0 Td [(T)]TJ/F8 9.9626 Tf 9.203 0 Td [(is)-399(a)-399(placeholder)-398(for)-399(the)]TJ -241.088 -11.955 Td [(data)-333(t)27(yp)-27(e)-334(and)-333(precision)-333(v)55(arian)28(ts)]TJ + [-399(where)]TJ/F30 9.9626 Tf 216.941 0 Td [(T)]TJ/F8 9.9626 Tf 9.203 0 Td [(is)-399(a)-399(placeholder)-398(for)-399(the)]TJ -241.088 -11.955 Td [(data)-333(t)28(yp)-28(e)-334(and)-333(precision)-333(v)55(arian)28(ts)]TJ +0 g 0 G +/F27 9.9626 Tf 0 -19.986 Td [(I)]TJ +0 g 0 G +/F8 9.9626 Tf 9.326 0 Td [(In)28(teger;)]TJ +0 g 0 G +/F27 9.9626 Tf -9.326 -20.007 Td [(S)]TJ 0 g 0 G - 166.875 -29.888 Td [(21)]TJ +/F8 9.9626 Tf 11.346 0 Td [(Single)-333(precision)-334(real;)]TJ +0 g 0 G +/F27 9.9626 Tf -11.346 -20.007 Td [(D)]TJ +0 g 0 G +/F8 9.9626 Tf 13.768 0 Td [(Double)-333(precision)-334(real;)]TJ +0 g 0 G +/F27 9.9626 Tf -13.768 -20.007 Td [(C)]TJ +0 g 0 G +/F8 9.9626 Tf 13.256 0 Td [(Single)-333(precision)-334(complex;)]TJ +0 g 0 G +/F27 9.9626 Tf -13.256 -20.007 Td [(Z)]TJ +0 g 0 G +/F8 9.9626 Tf 11.983 0 Td [(Double)-333(precision)-334(complex.)]TJ -11.983 -19.986 Td [(The)-280(ac)-1(tu)1(al)-281(data)-280(is)-281(con)28(tained)-280(in)-281(the)-280(p)-28(olymorphic)-280(c)-1(omp)-27(onen)28(t)]TJ/F30 9.9626 Tf 260.737 0 Td [(v%v)]TJ/F8 9.9626 Tf 15.691 0 Td [(;)-298(the)-281(separati)1(o)-1(n)]TJ -276.428 -11.955 Td [(b)-28(et)28(w)28(een)-427(the)-426(application)-427(and)-426(the)-427(actual)-426(data)-426(is)-427(essen)28(tial)-427(for)-426(cases)-427(where)-426(it)-427(is)]TJ 0 -11.955 Td [(necessary)-426(to)-426(link)-425(to)-426(data)-426(storage)-426(made)-425(a)27(v)56(ailable)-426(elsewhere)-426(outside)-425(the)-426(direct)]TJ 0 -11.956 Td [(con)28(trol)-335(of)-335(the)-336(compiler/appl)1(ic)-1(ati)1(on,)-336(e.g.)-450(data)-335(stored)-335(in)-335(a)-335(graphics)-335(ac)-1(celerator's)]TJ 0 -11.955 Td [(priv)56(ate)-334(memory)84(.)]TJ +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +/F30 9.9626 Tf 36.238 -20.021 Td [(type)-525(psb_T_base_vect_type)]TJ 10.461 -11.955 Td [(TYPE\050KIND_\051,)-525(allocatable)-525(::)-525(v\050:\051)]TJ -10.461 -11.955 Td [(end)-525(type)-525(psb_T_base_vect_type)]TJ 0 -23.911 Td [(type)-525(psb_T_vect_type)]TJ 10.461 -11.955 Td [(class\050psb_T_base_vect_type\051,)-525(allocatable)-525(::)-525(v)]TJ -10.461 -11.955 Td [(end)-525(type)-1050(psb_T_vect_type)]TJ +0 g 0 G +/F8 9.9626 Tf -21.516 -39.795 Td [(Figure)-333(5:)-778(The)-333(PSBLAS)-334(de\014ned)-333(data)-333(t)28(yp)-28(e)-334(that)-333(con)28(tains)-333(a)-334(dense)-333(v)28(ector.)]TJ +0 g 0 G +0 g 0 G +0 g 0 G + 152.152 -43.821 Td [(22)]TJ 0 g 0 G ET endstream endobj -876 0 obj << +885 0 obj << /Type /Page -/Contents 877 0 R -/Resources 875 0 R +/Contents 886 0 R +/Resources 884 0 R /MediaBox [0 0 595.276 841.89] -/Parent 868 0 R -/Annots [ 873 0 R 874 0 R ] +/Parent 873 0 R +/Annots [ 882 0 R 883 0 R ] >> endobj -873 0 obj << +882 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [199.382 165.213 206.356 176.061] +/Rect [250.191 478.535 257.165 489.383] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -874 0 obj << +883 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [292.368 129.347 299.342 140.196] +/Rect [343.178 442.649 350.152 453.497] /Subtype /Link /A << /S /GoTo /D (figure.5) >> >> endobj -878 0 obj << -/D [876 0 R /XYZ 99.895 740.998 null] ->> endobj -146 0 obj << -/D [876 0 R /XYZ 99.895 697.758 null] +887 0 obj << +/D [885 0 R /XYZ 150.705 740.998 null] >> endobj -150 0 obj << -/D [876 0 R /XYZ 99.895 569.732 null] +158 0 obj << +/D [885 0 R /XYZ 150.705 716.092 null] >> endobj -154 0 obj << -/D [876 0 R /XYZ 99.895 402.035 null] +162 0 obj << +/D [885 0 R /XYZ 150.705 547.238 null] >> endobj -158 0 obj << -/D [876 0 R /XYZ 99.895 233.858 null] +888 0 obj << +/D [885 0 R /XYZ 171.961 517.334 null] >> endobj -879 0 obj << -/D [876 0 R /XYZ 121.151 204.012 null] +889 0 obj << +/D [885 0 R /XYZ 392.9 505.378 null] >> endobj -880 0 obj << -/D [876 0 R /XYZ 342.09 192.057 null] +890 0 obj << +/D [885 0 R /XYZ 209.041 146.214 null] >> endobj -875 0 obj << -/Font << /F27 525 0 R /F30 724 0 R /F8 526 0 R /F16 523 0 R >> +884 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F16 527 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -884 0 obj << -/Length 3697 +893 0 obj << +/Length 3036 >> stream 0 g 0 G 0 g 0 G -0 g 0 G BT -/F27 9.9626 Tf 150.705 706.129 Td [(I)]TJ -0 g 0 G -/F8 9.9626 Tf 9.326 0 Td [(In)28(teger;)]TJ -0 g 0 G -/F27 9.9626 Tf -9.326 -21.082 Td [(S)]TJ -0 g 0 G -/F8 9.9626 Tf 11.346 0 Td [(Single)-333(precision)-334(real;)]TJ -0 g 0 G -/F27 9.9626 Tf -11.346 -21.083 Td [(D)]TJ -0 g 0 G -/F8 9.9626 Tf 13.768 0 Td [(Double)-333(precision)-334(real;)]TJ -0 g 0 G -/F27 9.9626 Tf -13.768 -21.082 Td [(C)]TJ -0 g 0 G -/F8 9.9626 Tf 13.256 0 Td [(Single)-333(precision)-334(complex;)]TJ -0 g 0 G -/F27 9.9626 Tf -13.256 -21.083 Td [(Z)]TJ -0 g 0 G -/F8 9.9626 Tf 11.983 0 Td [(Double)-333(precision)-334(complex.)]TJ -11.983 -20.793 Td [(The)-280(ac)-1(tu)1(al)-281(data)-280(is)-281(con)28(tained)-280(in)-281(the)-280(p)-28(olymorphic)-280(c)-1(omp)-27(onen)28(t)]TJ/F30 9.9626 Tf 260.737 0 Td [(v%v)]TJ/F8 9.9626 Tf 15.691 0 Td [(;)-298(the)-280(s)-1(eparati)1(on)]TJ -276.428 -11.955 Td [(b)-28(et)28(w)28(een)-427(the)-426(application)-427(and)-426(the)-427(actual)-426(data)-426(is)-427(essen)28(tial)-427(for)-426(cases)-427(where)-426(it)-427(is)]TJ 0 -11.955 Td [(necessary)-426(to)-426(link)-425(to)-426(data)-426(storage)-426(made)-425(a)27(v)56(ailable)-426(elsewhere)-426(outside)-425(the)-426(direct)]TJ 0 -11.955 Td [(con)28(trol)-335(of)-335(the)-336(compiler/appl)1(ic)-1(ati)1(on,)-336(e.g.)-450(data)-335(stored)-335(in)-335(a)-335(graphics)-335(ac)-1(celerator's)]TJ 0 -11.955 Td [(priv)56(ate)-334(memory)84(.)]TJ -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -/F30 9.9626 Tf 36.238 -20.559 Td [(type)-525(psb_T_base_vect_type)]TJ 10.461 -11.956 Td [(TYPE\050KIND_\051,)-525(allocatable)-525(::)-525(v\050:\051)]TJ -10.461 -11.955 Td [(end)-525(type)-525(psb_T_base_vect_type)]TJ 0 -23.91 Td [(type)-525(psb_T_vect_type)]TJ 10.461 -11.955 Td [(class\050psb_T_base_vect_type\051,)-525(allocatable)-525(::)-525(v)]TJ -10.461 -11.956 Td [(end)-525(type)-1050(psb_T_vect_type)]TJ -0 g 0 G -/F8 9.9626 Tf -21.516 -39.795 Td [(Figure)-333(5:)-778(The)-333(PSBLAS)-334(de\014ned)-333(data)-333(t)28(yp)-28(e)-334(that)-333(con)28(tains)-333(a)-334(dense)-333(v)28(ector.)]TJ -0 g 0 G -0 g 0 G -/F27 9.9626 Tf -14.722 -39.964 Td [(3.3.1)-1150(V)96(ector)-384(Metho)-32(ds)]TJ 0 -18.928 Td [(get)]TJ +/F27 9.9626 Tf 99.895 706.129 Td [(3.3.1)-1150(V)96(ector)-384(Metho)-32(ds)]TJ 0 -20.092 Td [(get)]TJ ET q -1 0 0 1 166.827 362.408 cm +1 0 0 1 116.018 686.236 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 170.264 362.208 Td [(nro)32(ws)-383(|)-384(Get)-383(n)32(um)32(b)-32(er)-383(of)-384(ro)32(ws)-383(in)-383(a)-384(dense)-383(v)32(ector)]TJ +/F27 9.9626 Tf 119.455 686.037 Td [(nro)32(ws)-383(|)-384(Get)-383(n)32(um)32(b)-32(er)-383(of)-384(ro)32(ws)-383(in)-383(a)-384(dense)-383(v)32(ector)]TJ 0 g 0 G 0 g 0 G -/F30 9.9626 Tf -19.559 -18.927 Td [(nr)-525(=)-525(v%get_nrows\050\051)]TJ +/F30 9.9626 Tf -19.56 -20.093 Td [(nr)-525(=)-525(v%get_nrows\050\051)]TJ 0 g 0 G -/F27 9.9626 Tf 0 -22.786 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf 0 -24.663 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -21.082 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -23.585 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G - 0 -21.083 Td [(v)]TJ + 0 -23.586 Td [(v)]TJ 0 g 0 G -/F8 9.9626 Tf 11.028 0 Td [(the)-333(dense)-334(v)28(ector)]TJ 13.878 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ +/F8 9.9626 Tf 11.028 0 Td [(the)-333(dense)-334(v)28(ector)]TJ 13.879 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ 0 g 0 G - -57.285 -34.741 Td [(On)-383(Return)]TJ + -57.286 -36.618 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G - 0 -21.082 Td [(F)96(unction)-384(v)64(alue)]TJ + 0 -23.585 Td [(F)96(unction)-384(v)64(alue)]TJ 0 g 0 G -/F8 9.9626 Tf 78.386 0 Td [(The)-333(n)27(um)28(b)-28(er)-333(of)-333(ro)28(ws)-334(of)-333(dense)-333(v)27(ector)]TJ/F30 9.9626 Tf 159.596 0 Td [(v)]TJ/F8 9.9626 Tf 5.231 0 Td [(.)]TJ/F27 9.9626 Tf -243.213 -27.431 Td [(sizeof)-383(|)-384(Get)-383(memory)-383(o)-32(ccupation)-384(in)-383(b)32(ytes)-384(of)-383(a)-383(dense)-384(v)32(ector)]TJ +/F8 9.9626 Tf 78.387 0 Td [(The)-333(n)28(um)27(b)-27(e)-1(r)-333(of)-333(ro)28(ws)-334(of)-333(dense)-333(v)27(ector)]TJ/F30 9.9626 Tf 159.596 0 Td [(v)]TJ/F8 9.9626 Tf 5.23 0 Td [(.)]TJ/F27 9.9626 Tf -243.213 -30.751 Td [(sizeof)-383(|)-384(Get)-383(memory)-383(o)-32(ccupation)-384(in)-383(b)32(ytes)-384(of)-383(a)-383(dense)-384(v)32(ector)]TJ 0 g 0 G 0 g 0 G -/F30 9.9626 Tf 0 -18.927 Td [(memory_size)-525(=)-525(v%sizeof\050\051)]TJ +/F30 9.9626 Tf 0 -20.092 Td [(memory_size)-525(=)-525(v%sizeof\050\051)]TJ 0 g 0 G -/F27 9.9626 Tf 0 -22.786 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf 0 -24.663 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -21.082 Td [(On)-383(En)32(try)]TJ -0 g 0 G -0 g 0 G -/F8 9.9626 Tf 166.874 -29.888 Td [(22)]TJ -0 g 0 G -ET -endstream -endobj -883 0 obj << -/Type /Page -/Contents 884 0 R -/Resources 882 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 868 0 R ->> endobj -885 0 obj << -/D [883 0 R /XYZ 150.705 740.998 null] ->> endobj -881 0 obj << -/D [883 0 R /XYZ 209.041 433.055 null] ->> endobj -162 0 obj << -/D [883 0 R /XYZ 150.705 391.443 null] ->> endobj -166 0 obj << -/D [883 0 R /XYZ 150.705 353.588 null] ->> endobj -170 0 obj << -/D [883 0 R /XYZ 150.705 174.501 null] ->> endobj -882 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -889 0 obj << -/Length 3905 ->> -stream -0 g 0 G +/F27 9.9626 Tf -33.797 -23.586 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G -BT -/F27 9.9626 Tf 99.895 706.129 Td [(v)]TJ + 0 -23.585 Td [(v)]TJ 0 g 0 G /F8 9.9626 Tf 11.028 0 Td [(the)-333(dense)-334(v)28(ector)]TJ 13.879 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ 0 g 0 G - -57.286 -33.873 Td [(On)-383(Return)]TJ + -57.286 -36.618 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G - 0 -19.926 Td [(F)96(unction)-384(v)64(alue)]TJ + 0 -23.586 Td [(F)96(unction)-384(v)64(alue)]TJ 0 g 0 G -/F8 9.9626 Tf 78.387 0 Td [(The)-333(memory)-334(o)-28(ccupati)1(on)-334(in)-333(b)28(ytes.)]TJ/F27 9.9626 Tf -78.387 -25.895 Td [(get)]TJ +/F8 9.9626 Tf 78.387 0 Td [(The)-333(memory)-334(o)-28(ccupati)1(on)-334(in)-333(b)28(ytes.)]TJ/F27 9.9626 Tf -78.387 -30.75 Td [(get)]TJ ET q -1 0 0 1 116.018 614.679 cm +1 0 0 1 116.018 296.565 cm []0 d 0 J 0.398 w 0 0 m 3.437 0 l S Q BT -/F27 9.9626 Tf 119.455 614.48 Td [(v)32(ect)-383(|)-384(Get)-383(a)-383(cop)32(y)-384(of)-383(the)-383(v)31(ector)-383(con)32(ten)32(ts)]TJ +/F27 9.9626 Tf 119.455 296.366 Td [(v)32(ect)-383(|)-384(Get)-383(a)-383(cop)32(y)-384(of)-383(the)-383(v)31(ector)-383(con)32(ten)32(ts)]TJ 0 g 0 G 0 g 0 G -/F30 9.9626 Tf -19.56 -18.39 Td [(extv)-525(=)-525(v%get_vect\050\051)]TJ +/F30 9.9626 Tf -19.56 -20.093 Td [(extv)-525(=)-525(v%get_vect\050\051)]TJ 0 g 0 G -/F27 9.9626 Tf 0 -21.918 Td [(T)32(yp)-32(e:)]TJ +/F27 9.9626 Tf 0 -24.663 Td [(T)32(yp)-32(e:)]TJ 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -19.925 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -23.585 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G - 0 -19.925 Td [(v)]TJ + 0 -23.586 Td [(v)]TJ 0 g 0 G /F8 9.9626 Tf 11.028 0 Td [(the)-333(dense)-334(v)28(ector)]TJ 13.879 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ 0 g 0 G - -57.286 -33.873 Td [(On)-383(Return)]TJ + -57.286 -36.618 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G - 0 -19.926 Td [(F)96(unction)-384(v)64(alue)]TJ + 0 -23.585 Td [(F)96(unction)-384(v)64(alue)]TJ +0 g 0 G +/F8 9.9626 Tf 78.387 0 Td [(An)-353(allo)-28(catable)-354(arra)28(y)-353(holding)-354(a)-353(cop)28(y)-354(of)-353(the)-354(dense)-353(v)28(ector)-354(con-)]TJ -53.48 -11.955 Td [(ten)28(ts.)]TJ +0 g 0 G + 141.968 -29.888 Td [(23)]TJ +0 g 0 G +ET +endstream +endobj +892 0 obj << +/Type /Page +/Contents 893 0 R +/Resources 891 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 873 0 R +>> endobj +894 0 obj << +/D [892 0 R /XYZ 99.895 740.998 null] +>> endobj +166 0 obj << +/D [892 0 R /XYZ 99.895 716.092 null] +>> endobj +170 0 obj << +/D [892 0 R /XYZ 99.895 676.877 null] +>> endobj +174 0 obj << +/D [892 0 R /XYZ 99.895 482.042 null] +>> endobj +178 0 obj << +/D [892 0 R /XYZ 99.895 287.206 null] +>> endobj +891 0 obj << +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +898 0 obj << +/Length 2941 +>> +stream +0 g 0 G 0 g 0 G -/F8 9.9626 Tf 78.387 0 Td [(An)-353(allo)-28(catable)-354(arra)28(y)-353(holding)-354(a)-353(cop)28(y)-354(of)-353(the)-354(dense)-353(v)28(ector)-354(con-)]TJ -53.48 -11.955 Td [(ten)28(ts.)]TJ/F27 9.9626 Tf -24.907 -25.896 Td [(clone)-383(|)-384(Clone)-383(curren)32(t)-383(ob)-64(ject)]TJ +BT +/F27 9.9626 Tf 150.705 706.129 Td [(clone)-383(|)-384(Clone)-383(curren)32(t)-383(ob)-64(ject)]TJ 0 g 0 G 0 g 0 G /F30 9.9626 Tf 0 -18.389 Td [(call)-1050(x%clone\050y,info\051)]TJ @@ -6996,122 +7090,92 @@ BT 0 g 0 G /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ 0 g 0 G -/F27 9.9626 Tf -33.797 -19.925 Td [(On)-383(En)32(try)]TJ +/F27 9.9626 Tf -33.797 -19.926 Td [(On)-383(En)32(try)]TJ 0 g 0 G 0 g 0 G 0 -19.925 Td [(x)]TJ 0 g 0 G -/F8 9.9626 Tf 11.028 0 Td [(the)-333(dense)-334(v)28(ector.)]TJ 13.879 -11.956 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ +/F8 9.9626 Tf 11.028 0 Td [(the)-333(dense)-334(v)28(ector.)]TJ 13.878 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ 0 g 0 G -/F27 9.9626 Tf -80.359 -33.873 Td [(On)-383(Return)]TJ +/F27 9.9626 Tf -80.358 -33.873 Td [(On)-383(Return)]TJ 0 g 0 G 0 g 0 G 0 -19.925 Td [(y)]TJ 0 g 0 G -/F8 9.9626 Tf 11.028 0 Td [(A)-333(cop)27(y)-333(of)-333(the)-334(in)1(put)-334(ob)-55(ject.)]TJ +/F8 9.9626 Tf 11.028 0 Td [(A)-333(cop)27(y)-333(of)-333(the)-333(input)-334(ob)-55(ject.)]TJ 0 g 0 G -/F27 9.9626 Tf -11.028 -19.925 Td [(info)]TJ +/F27 9.9626 Tf -11.028 -19.926 Td [(info)]TJ 0 g 0 G -/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F16 11.9552 Tf -23.758 -27.889 Td [(3.4)-1125(Preconditioner)-375(data)-375(structure)]TJ/F8 9.9626 Tf 0 -18.389 Td [(Our)-383(base)-383(library)-383(o\013ers)-383(supp)-28(ort)-383(for)-383(simple)-383(w)28(ell)-383(kno)27(wn)-383(preconditioners)-383(lik)28(e)-383(Di-)]TJ 0 -11.955 Td [(agonal)-333(Scaling)-334(or)-333(Blo)-28(c)28(k)-333(Jacobi)-334(with)-333(incomplete)-333(factorization)-334(ILU\0500\051.)]TJ 14.944 -11.955 Td [(A)-427(preconditioner)-428(is)-427(held)-428(in)-427(the)]TJ/F30 9.9626 Tf 142.723 0 Td [(psb)]TJ +/F8 9.9626 Tf 23.758 0 Td [(Return)-333(co)-28(de.)]TJ/F16 11.9552 Tf -23.758 -27.888 Td [(3.4)-1125(Preconditioner)-375(data)-375(structure)]TJ/F8 9.9626 Tf 0 -18.389 Td [(Our)-383(base)-383(library)-383(o\013ers)-383(supp)-28(ort)-383(for)-383(simple)-383(w)28(ell)-383(kno)27(wn)-383(precondition)1(e)-1(r)1(s)-384(lik)28(e)-383(Di-)]TJ 0 -11.956 Td [(agonal)-333(Scaling)-334(or)-333(Blo)-28(c)28(k)-333(Jacobi)-334(with)-333(incomplete)-333(factorization)-333(ILU)-1(\050)1(0\051.)]TJ 14.944 -11.955 Td [(A)-427(preconditioner)-428(is)-427(held)-428(in)-427(the)]TJ/F30 9.9626 Tf 142.723 0 Td [(psb)]TJ ET q -1 0 0 1 273.881 194.892 cm +1 0 0 1 324.691 470.304 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 277.019 194.693 Td [(prec)]TJ +/F30 9.9626 Tf 327.829 470.104 Td [(prec)]TJ ET q -1 0 0 1 298.568 194.892 cm +1 0 0 1 349.378 470.304 cm []0 d 0 J 0.398 w 0 0 m 3.138 0 l S Q BT -/F30 9.9626 Tf 301.707 194.693 Td [(type)]TJ/F8 9.9626 Tf 25.18 0 Td [(data)-427(structure)-428(rep)-28(orted)-427(in)]TJ -226.992 -11.955 Td [(\014gure)]TJ +/F30 9.9626 Tf 352.516 470.104 Td [(type)]TJ/F8 9.9626 Tf 25.18 0 Td [(data)-427(structure)-428(rep)-28(orted)-427(in)]TJ -226.991 -11.955 Td [(\014gure)]TJ 0 0 1 rg 0 0 1 RG [-361(6)]TJ 0 g 0 G - [(.)-527(The)]TJ/F30 9.9626 Tf 61.73 0 Td [(psb_prec_type)]TJ/F8 9.9626 Tf 71.589 0 Td [(data)-361(t)28(yp)-28(e)-361(ma)28(y)-361(con)28(tain)-361(a)-361(simple)-361(preconditioning)]TJ -133.319 -11.956 Td [(matrix)-488(with)-487(the)-488(asso)-28(ciated)-488(comm)28(unication)-488(descriptor.)1(T)-1(h)1(e)-488(in)28(ternal)-488(precondi-)]TJ 0 -11.955 Td [(tioner)-417(is)-417(allo)-28(cated)-417(approp)1(riately)-417(with)-417(the)-417(dynamic)-417(t)28(yp)-28(e)-417(corresp)-28(onding)-417(to)-417(the)]TJ 0 -11.955 Td [(desired)-333(preconditioner.)]TJ + [(.)-527(The)]TJ/F30 9.9626 Tf 61.729 0 Td [(psb_prec_type)]TJ/F8 9.9626 Tf 71.59 0 Td [(data)-361(t)28(yp)-28(e)-361(ma)28(y)-361(con)28(tain)-361(a)-361(simple)-361(preconditionin)1(g)]TJ -133.319 -11.955 Td [(matrix)-488(with)-487(the)-488(asso)-28(ciated)-488(comm)28(unication)-487(des)-1(crip)1(tor.The)-488(in)28(ternal)-488(precondi-)]TJ 0 -11.955 Td [(tioner)-417(is)-417(allo)-28(cated)-417(app)1(ropriately)-417(with)-417(the)-417(dynamic)-417(t)28(yp)-28(e)-417(corresp)-28(onding)-417(to)-417(th)1(e)]TJ 0 -11.955 Td [(desired)-333(preconditioner.)]TJ +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +0 g 0 G +/F46 8.9664 Tf 26.601 -24.852 Td [(type)-525(psb_Tprec_type)]TJ 9.415 -10.959 Td [(class\050psb_T_base_prec_type\051,)-525(allocatable)-525(::)-525(prec)]TJ -9.415 -10.958 Td [(end)-525(type)-525(psb_Tprec_type)]TJ +0 g 0 G +/F8 9.9626 Tf -14.632 -38.799 Td [(Figure)-333(6:)-445(The)-333(PSBLAS)-333(de\014ned)-334(d)1(a)-1(t)1(a)-334(t)28(yp)-28(e)-333(that)-333(con)27(tains)-333(a)-333(preconditioner.)]TJ +0 g 0 G 0 g 0 G - 166.875 -56.434 Td [(23)]TJ +0 g 0 G + 154.905 -246.278 Td [(24)]TJ 0 g 0 G ET endstream endobj -888 0 obj << +897 0 obj << /Type /Page -/Contents 889 0 R -/Resources 887 0 R +/Contents 898 0 R +/Resources 896 0 R /MediaBox [0 0 595.276 841.89] -/Parent 868 0 R -/Annots [ 886 0 R ] +/Parent 873 0 R +/Annots [ 895 0 R ] >> endobj -886 0 obj << +895 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [126.875 179.527 133.849 190.652] +/Rect [177.685 454.939 184.659 466.064] /Subtype /Link /A << /S /GoTo /D (figure.6) >> >> endobj -890 0 obj << -/D [888 0 R /XYZ 99.895 740.998 null] ->> endobj -174 0 obj << -/D [888 0 R /XYZ 99.895 606.108 null] ->> endobj -178 0 obj << -/D [888 0 R /XYZ 99.895 422.346 null] +899 0 obj << +/D [897 0 R /XYZ 150.705 740.998 null] >> endobj 182 0 obj << -/D [888 0 R /XYZ 99.895 250.94 null] +/D [897 0 R /XYZ 150.705 697.758 null] >> endobj -891 0 obj << -/D [888 0 R /XYZ 257.563 194.693 null] +186 0 obj << +/D [897 0 R /XYZ 150.705 526.352 null] >> endobj -887 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R /F16 523 0 R >> -/ProcSet [ /PDF /Text ] +900 0 obj << +/D [897 0 R /XYZ 308.372 470.104 null] >> endobj -895 0 obj << -/Length 533 ->> -stream -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -0 g 0 G -BT -/F46 8.9664 Tf 177.306 444.056 Td [(type)-525(psb_Tprec_type)]TJ 9.415 -10.959 Td [(class\050psb_T_base_prec_type\051,)-525(allocatable)-525(::)-525(prec)]TJ -9.415 -10.959 Td [(end)-525(type)-525(psb_Tprec_type)]TJ -0 g 0 G -/F8 9.9626 Tf -14.632 -38.799 Td [(Figure)-333(6:)-445(The)-333(PSBLAS)-333(de\014ned)-334(d)1(a)-1(t)1(a)-334(t)28(yp)-28(e)-333(that)-333(con)27(tains)-333(a)-333(preconditioner.)]TJ -0 g 0 G -0 g 0 G -0 g 0 G - 154.905 -292.901 Td [(24)]TJ -0 g 0 G -ET -endstream -endobj -894 0 obj << -/Type /Page -/Contents 895 0 R -/Resources 893 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 868 0 R +902 0 obj << +/D [897 0 R /XYZ 206.288 348.671 null] >> endobj 896 0 obj << -/D [894 0 R /XYZ 150.705 740.998 null] ->> endobj -892 0 obj << -/D [894 0 R /XYZ 206.288 395.295 null] ->> endobj -893 0 obj << -/Font << /F46 897 0 R /F8 526 0 R >> +/Font << /F27 529 0 R /F30 729 0 R /F8 530 0 R /F16 527 0 R /F46 901 0 R >> /ProcSet [ /PDF /Text ] >> endobj -900 0 obj << +905 0 obj << /Length 157 >> stream @@ -7125,24 +7189,24 @@ BT ET endstream endobj -899 0 obj << +904 0 obj << /Type /Page -/Contents 900 0 R -/Resources 898 0 R +/Contents 905 0 R +/Resources 903 0 R /MediaBox [0 0 595.276 841.89] -/Parent 902 0 R +/Parent 907 0 R >> endobj -901 0 obj << -/D [899 0 R /XYZ 99.895 740.998 null] +906 0 obj << +/D [904 0 R /XYZ 99.895 740.998 null] >> endobj -186 0 obj << -/D [899 0 R /XYZ 99.895 716.092 null] +190 0 obj << +/D [904 0 R /XYZ 99.895 716.092 null] >> endobj -898 0 obj << -/Font << /F16 523 0 R /F8 526 0 R >> +903 0 obj << +/Font << /F16 527 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -912 0 obj << +917 0 obj << /Length 7321 >> stream @@ -7321,70 +7385,70 @@ BT ET endstream endobj -911 0 obj << +916 0 obj << /Type /Page -/Contents 912 0 R -/Resources 910 0 R +/Contents 917 0 R +/Resources 915 0 R /MediaBox [0 0 595.276 841.89] -/Parent 902 0 R -/Annots [ 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R ] +/Parent 907 0 R +/Annots [ 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R ] >> endobj -903 0 obj << +908 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.897 401.949 439.871 412.798] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -904 0 obj << +909 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 333.522 495.412 344.647] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -905 0 obj << +910 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [379.142 321.844 386.116 332.692] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -906 0 obj << +911 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.897 241.738 439.871 252.586] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -907 0 obj << +912 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 173.311 495.412 184.436] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -908 0 obj << +913 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [396.435 161.632 403.409 172.481] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -913 0 obj << -/D [911 0 R /XYZ 150.705 740.998 null] +918 0 obj << +/D [916 0 R /XYZ 150.705 740.998 null] >> endobj -190 0 obj << -/D [911 0 R /XYZ 150.705 697.283 null] +194 0 obj << +/D [916 0 R /XYZ 150.705 697.283 null] >> endobj -914 0 obj << -/D [911 0 R /XYZ 318.451 539.42 null] +919 0 obj << +/D [916 0 R /XYZ 318.451 539.42 null] >> endobj -910 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F30 724 0 R /F27 525 0 R >> +915 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -919 0 obj << +924 0 obj << /Length 2659 >> stream @@ -7456,43 +7520,43 @@ BT ET endstream endobj -918 0 obj << +923 0 obj << /Type /Page -/Contents 919 0 R -/Resources 917 0 R +/Contents 924 0 R +/Resources 922 0 R /MediaBox [0 0 595.276 841.89] -/Parent 902 0 R -/Annots [ 909 0 R 915 0 R 916 0 R ] +/Parent 907 0 R +/Annots [ 914 0 R 920 0 R 921 0 R ] >> endobj -909 0 obj << +914 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 679.008 326.522 690.133] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -915 0 obj << +920 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [368.549 589.345 444.603 600.47] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -916 0 obj << +921 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.558 577.666 352.532 588.514] /Subtype /Link /A << /S /GoTo /D (table.1) >> >> endobj -920 0 obj << -/D [918 0 R /XYZ 99.895 740.998 null] +925 0 obj << +/D [923 0 R /XYZ 99.895 740.998 null] >> endobj -917 0 obj << -/Font << /F8 526 0 R /F27 525 0 R /F30 724 0 R /F11 709 0 R >> +922 0 obj << +/Font << /F8 530 0 R /F27 529 0 R /F30 729 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -929 0 obj << +934 0 obj << /Length 7891 >> stream @@ -7684,70 +7748,70 @@ BT ET endstream endobj -928 0 obj << +933 0 obj << /Type /Page -/Contents 929 0 R -/Resources 927 0 R +/Contents 934 0 R +/Resources 932 0 R /MediaBox [0 0 595.276 841.89] -/Parent 902 0 R -/Annots [ 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R ] +/Parent 907 0 R +/Annots [ 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R ] >> endobj -921 0 obj << +926 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 361.842 495.412 372.967] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -922 0 obj << +927 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [379.142 350.163 386.116 361.011] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -923 0 obj << +928 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 270.772 495.412 281.897] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -924 0 obj << +929 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [379.353 259.094 386.327 269.942] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -925 0 obj << +930 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 179.703 377.331 190.828] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -926 0 obj << +931 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.897 117.392 439.871 128.24] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -930 0 obj << -/D [928 0 R /XYZ 150.705 740.998 null] +935 0 obj << +/D [933 0 R /XYZ 150.705 740.998 null] >> endobj -194 0 obj << -/D [928 0 R /XYZ 150.705 697.37 null] +198 0 obj << +/D [933 0 R /XYZ 150.705 697.37 null] >> endobj -931 0 obj << -/D [928 0 R /XYZ 318.451 495.047 null] +936 0 obj << +/D [933 0 R /XYZ 318.451 495.047 null] >> endobj -927 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F30 724 0 R /F27 525 0 R >> +932 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -934 0 obj << +939 0 obj << /Length 624 >> stream @@ -7764,21 +7828,21 @@ BT ET endstream endobj -933 0 obj << +938 0 obj << /Type /Page -/Contents 934 0 R -/Resources 932 0 R +/Contents 939 0 R +/Resources 937 0 R /MediaBox [0 0 595.276 841.89] -/Parent 902 0 R +/Parent 907 0 R >> endobj -935 0 obj << -/D [933 0 R /XYZ 99.895 740.998 null] +940 0 obj << +/D [938 0 R /XYZ 99.895 740.998 null] >> endobj -932 0 obj << -/Font << /F27 525 0 R /F8 526 0 R >> +937 0 obj << +/Font << /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -944 0 obj << +949 0 obj << /Length 8416 >> stream @@ -7970,70 +8034,70 @@ BT ET endstream endobj -943 0 obj << +948 0 obj << /Type /Page -/Contents 944 0 R -/Resources 942 0 R +/Contents 949 0 R +/Resources 947 0 R /MediaBox [0 0 595.276 841.89] -/Parent 902 0 R -/Annots [ 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R ] +/Parent 907 0 R +/Annots [ 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R ] >> endobj -936 0 obj << +941 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 382.111 495.412 393.236] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -937 0 obj << +942 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [379.142 370.432 386.116 381.28] /Subtype /Link /A << /S /GoTo /D (table.3) >> >> endobj -938 0 obj << +943 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 291.951 495.412 303.076] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -939 0 obj << +944 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [379.353 280.273 386.327 291.121] /Subtype /Link /A << /S /GoTo /D (table.3) >> >> endobj -940 0 obj << +945 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 201.792 377.331 212.917] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -941 0 obj << +946 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.013 119.329 208.986 128.24] /Subtype /Link /A << /S /GoTo /D (table.2) >> >> endobj -945 0 obj << -/D [943 0 R /XYZ 150.705 740.998 null] +950 0 obj << +/D [948 0 R /XYZ 150.705 740.998 null] >> endobj -198 0 obj << -/D [943 0 R /XYZ 150.705 697.37 null] +202 0 obj << +/D [948 0 R /XYZ 150.705 697.37 null] >> endobj -946 0 obj << -/D [943 0 R /XYZ 318.451 510.309 null] +951 0 obj << +/D [948 0 R /XYZ 318.451 510.309 null] >> endobj -942 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F30 724 0 R /F27 525 0 R >> +947 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -949 0 obj << +954 0 obj << /Length 624 >> stream @@ -8050,21 +8114,21 @@ BT ET endstream endobj -948 0 obj << +953 0 obj << /Type /Page -/Contents 949 0 R -/Resources 947 0 R +/Contents 954 0 R +/Resources 952 0 R /MediaBox [0 0 595.276 841.89] -/Parent 951 0 R +/Parent 956 0 R >> endobj -950 0 obj << -/D [948 0 R /XYZ 99.895 740.998 null] +955 0 obj << +/D [953 0 R /XYZ 99.895 740.998 null] >> endobj -947 0 obj << -/Font << /F27 525 0 R /F8 526 0 R >> +952 0 obj << +/Font << /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -957 0 obj << +962 0 obj << /Length 7033 >> stream @@ -8223,49 +8287,49 @@ BT ET endstream endobj -956 0 obj << +961 0 obj << /Type /Page -/Contents 957 0 R -/Resources 955 0 R +/Contents 962 0 R +/Resources 960 0 R /MediaBox [0 0 595.276 841.89] -/Parent 951 0 R -/Annots [ 952 0 R 953 0 R 954 0 R ] +/Parent 956 0 R +/Annots [ 957 0 R 958 0 R 959 0 R ] >> endobj -952 0 obj << +957 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 344.231 495.412 355.355] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -953 0 obj << +958 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [376.221 332.552 383.195 343.4] /Subtype /Link /A << /S /GoTo /D (table.4) >> >> endobj -954 0 obj << +959 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 264.529 377.331 275.654] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -958 0 obj << -/D [956 0 R /XYZ 150.705 740.998 null] +963 0 obj << +/D [961 0 R /XYZ 150.705 740.998 null] >> endobj -202 0 obj << -/D [956 0 R /XYZ 150.705 697.37 null] +206 0 obj << +/D [961 0 R /XYZ 150.705 697.37 null] >> endobj -959 0 obj << -/D [956 0 R /XYZ 318.451 480.663 null] +964 0 obj << +/D [961 0 R /XYZ 318.451 480.663 null] >> endobj -955 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F30 724 0 R /F27 525 0 R >> +960 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -965 0 obj << +970 0 obj << /Length 6326 >> stream @@ -8424,49 +8488,49 @@ BT ET endstream endobj -964 0 obj << +969 0 obj << /Type /Page -/Contents 965 0 R -/Resources 963 0 R +/Contents 970 0 R +/Resources 968 0 R /MediaBox [0 0 595.276 841.89] -/Parent 951 0 R -/Annots [ 960 0 R 961 0 R 962 0 R ] +/Parent 956 0 R +/Annots [ 965 0 R 966 0 R 967 0 R ] >> endobj -960 0 obj << +965 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [368.549 401.031 444.603 412.156] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -961 0 obj << +966 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [325.411 389.353 332.385 400.201] /Subtype /Link /A << /S /GoTo /D (table.5) >> >> endobj -962 0 obj << +967 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 321.33 326.522 332.455] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -966 0 obj << -/D [964 0 R /XYZ 99.895 740.998 null] +971 0 obj << +/D [969 0 R /XYZ 99.895 740.998 null] >> endobj -206 0 obj << -/D [964 0 R /XYZ 99.895 697.37 null] +210 0 obj << +/D [969 0 R /XYZ 99.895 697.37 null] >> endobj -967 0 obj << -/D [964 0 R /XYZ 267.641 537.464 null] +972 0 obj << +/D [969 0 R /XYZ 267.641 537.464 null] >> endobj -963 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F30 724 0 R /F27 525 0 R >> +968 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -973 0 obj << +978 0 obj << /Length 6665 >> stream @@ -8625,49 +8689,49 @@ BT ET endstream endobj -972 0 obj << +977 0 obj << /Type /Page -/Contents 973 0 R -/Resources 971 0 R +/Contents 978 0 R +/Resources 976 0 R /MediaBox [0 0 595.276 841.89] -/Parent 951 0 R -/Annots [ 968 0 R 969 0 R 970 0 R ] +/Parent 956 0 R +/Annots [ 973 0 R 974 0 R 975 0 R ] >> endobj -968 0 obj << +973 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 350.692 495.412 361.817] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -969 0 obj << +974 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [376.221 339.014 383.195 349.862] /Subtype /Link /A << /S /GoTo /D (table.6) >> >> endobj -970 0 obj << +975 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 270.991 377.331 282.116] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -974 0 obj << -/D [972 0 R /XYZ 150.705 740.998 null] +979 0 obj << +/D [977 0 R /XYZ 150.705 740.998 null] >> endobj -210 0 obj << -/D [972 0 R /XYZ 150.705 697.37 null] +214 0 obj << +/D [977 0 R /XYZ 150.705 697.37 null] >> endobj -975 0 obj << -/D [972 0 R /XYZ 318.451 487.125 null] +980 0 obj << +/D [977 0 R /XYZ 318.451 487.125 null] >> endobj -971 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F7 725 0 R /F30 724 0 R /F27 525 0 R >> +976 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F7 730 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -981 0 obj << +986 0 obj << /Length 7318 >> stream @@ -8822,49 +8886,49 @@ BT ET endstream endobj -980 0 obj << +985 0 obj << /Type /Page -/Contents 981 0 R -/Resources 979 0 R +/Contents 986 0 R +/Resources 984 0 R /MediaBox [0 0 595.276 841.89] -/Parent 951 0 R -/Annots [ 976 0 R 977 0 R 978 0 R ] +/Parent 956 0 R +/Annots [ 981 0 R 982 0 R 983 0 R ] >> endobj -976 0 obj << +981 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [368.549 289.84 444.603 300.965] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -977 0 obj << +982 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [325.411 278.162 332.385 289.01] /Subtype /Link /A << /S /GoTo /D (table.7) >> >> endobj -978 0 obj << +983 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 208.355 326.522 219.48] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -982 0 obj << -/D [980 0 R /XYZ 99.895 740.998 null] +987 0 obj << +/D [985 0 R /XYZ 99.895 740.998 null] >> endobj -214 0 obj << -/D [980 0 R /XYZ 99.895 696.986 null] +218 0 obj << +/D [985 0 R /XYZ 99.895 696.986 null] >> endobj -983 0 obj << -/D [980 0 R /XYZ 267.641 432.072 null] +988 0 obj << +/D [985 0 R /XYZ 267.641 432.072 null] >> endobj -979 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F7 725 0 R /F30 724 0 R /F27 525 0 R >> +984 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F7 730 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -986 0 obj << +991 0 obj << /Length 625 >> stream @@ -8881,21 +8945,21 @@ BT ET endstream endobj -985 0 obj << +990 0 obj << /Type /Page -/Contents 986 0 R -/Resources 984 0 R +/Contents 991 0 R +/Resources 989 0 R /MediaBox [0 0 595.276 841.89] -/Parent 951 0 R +/Parent 956 0 R >> endobj -987 0 obj << -/D [985 0 R /XYZ 150.705 740.998 null] +992 0 obj << +/D [990 0 R /XYZ 150.705 740.998 null] >> endobj -984 0 obj << -/Font << /F27 525 0 R /F8 526 0 R >> +989 0 obj << +/Font << /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -993 0 obj << +998 0 obj << /Length 6709 >> stream @@ -9068,49 +9132,49 @@ BT ET endstream endobj -992 0 obj << +997 0 obj << /Type /Page -/Contents 993 0 R -/Resources 991 0 R +/Contents 998 0 R +/Resources 996 0 R /MediaBox [0 0 595.276 841.89] -/Parent 996 0 R -/Annots [ 988 0 R 989 0 R 990 0 R ] +/Parent 1001 0 R +/Annots [ 993 0 R 994 0 R 995 0 R ] >> endobj -988 0 obj << +993 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [368.549 351.231 444.603 362.356] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -989 0 obj << +994 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [325.411 339.553 332.385 350.401] /Subtype /Link /A << /S /GoTo /D (table.8) >> >> endobj -990 0 obj << +995 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 271.676 326.522 282.801] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -994 0 obj << -/D [992 0 R /XYZ 99.895 740.998 null] +999 0 obj << +/D [997 0 R /XYZ 99.895 740.998 null] >> endobj -218 0 obj << -/D [992 0 R /XYZ 99.895 697.37 null] +222 0 obj << +/D [997 0 R /XYZ 99.895 697.37 null] >> endobj -995 0 obj << -/D [992 0 R /XYZ 267.641 510.406 null] +1000 0 obj << +/D [997 0 R /XYZ 267.641 510.406 null] >> endobj -991 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F27 525 0 R /F30 724 0 R >> +996 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1002 0 obj << +1007 0 obj << /Length 6162 >> stream @@ -9269,49 +9333,49 @@ BT ET endstream endobj -1001 0 obj << +1006 0 obj << /Type /Page -/Contents 1002 0 R -/Resources 1000 0 R +/Contents 1007 0 R +/Resources 1005 0 R /MediaBox [0 0 595.276 841.89] -/Parent 996 0 R -/Annots [ 997 0 R 998 0 R 999 0 R ] +/Parent 1001 0 R +/Annots [ 1002 0 R 1003 0 R 1004 0 R ] >> endobj -997 0 obj << +1002 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 404.491 495.412 415.616] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -998 0 obj << +1003 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [376.221 392.812 383.195 403.66] /Subtype /Link /A << /S /GoTo /D (table.9) >> >> endobj -999 0 obj << +1004 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 324.789 377.331 335.914] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1003 0 obj << -/D [1001 0 R /XYZ 150.705 740.998 null] +1008 0 obj << +/D [1006 0 R /XYZ 150.705 740.998 null] >> endobj -222 0 obj << -/D [1001 0 R /XYZ 150.705 697.37 null] +226 0 obj << +/D [1006 0 R /XYZ 150.705 697.37 null] >> endobj -1004 0 obj << -/D [1001 0 R /XYZ 318.451 540.923 null] +1009 0 obj << +/D [1006 0 R /XYZ 318.451 540.923 null] >> endobj -1000 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F7 725 0 R /F30 724 0 R /F27 525 0 R >> +1005 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F7 730 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1009 0 obj << +1014 0 obj << /Length 5455 >> stream @@ -9463,42 +9527,42 @@ BT ET endstream endobj -1008 0 obj << +1013 0 obj << /Type /Page -/Contents 1009 0 R -/Resources 1007 0 R +/Contents 1014 0 R +/Resources 1012 0 R /MediaBox [0 0 595.276 841.89] -/Parent 996 0 R -/Annots [ 1005 0 R 1006 0 R ] +/Parent 1001 0 R +/Annots [ 1010 0 R 1011 0 R ] >> endobj -1005 0 obj << +1010 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 354.677 336.983 365.802] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1006 0 obj << +1011 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 286.931 326.522 298.056] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1010 0 obj << -/D [1008 0 R /XYZ 99.895 740.998 null] +1015 0 obj << +/D [1013 0 R /XYZ 99.895 740.998 null] >> endobj -226 0 obj << -/D [1008 0 R /XYZ 99.895 697.37 null] +230 0 obj << +/D [1013 0 R /XYZ 99.895 697.37 null] >> endobj -1011 0 obj << -/D [1008 0 R /XYZ 270.132 513.305 null] +1016 0 obj << +/D [1013 0 R /XYZ 270.132 513.305 null] >> endobj -1007 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F7 725 0 R /F27 525 0 R /F30 724 0 R >> +1012 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F7 730 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1016 0 obj << +1021 0 obj << /Length 5462 >> stream @@ -9650,42 +9714,42 @@ BT ET endstream endobj -1015 0 obj << +1020 0 obj << /Type /Page -/Contents 1016 0 R -/Resources 1014 0 R +/Contents 1021 0 R +/Resources 1019 0 R /MediaBox [0 0 595.276 841.89] -/Parent 996 0 R -/Annots [ 1012 0 R 1013 0 R ] +/Parent 1001 0 R +/Annots [ 1017 0 R 1018 0 R ] >> endobj -1012 0 obj << +1017 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 354.677 387.792 365.802] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1013 0 obj << +1018 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 286.931 377.331 298.056] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1017 0 obj << -/D [1015 0 R /XYZ 150.705 740.998 null] +1022 0 obj << +/D [1020 0 R /XYZ 150.705 740.998 null] >> endobj -230 0 obj << -/D [1015 0 R /XYZ 150.705 697.37 null] +234 0 obj << +/D [1020 0 R /XYZ 150.705 697.37 null] >> endobj -1019 0 obj << -/D [1015 0 R /XYZ 320.941 513.305 null] +1024 0 obj << +/D [1020 0 R /XYZ 320.941 513.305 null] >> endobj -1014 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F13 1018 0 R /F27 525 0 R /F30 724 0 R >> +1019 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F13 1023 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1027 0 obj << +1032 0 obj << /Length 7328 >> stream @@ -9858,65 +9922,65 @@ BT ET endstream endobj -1026 0 obj << +1031 0 obj << /Type /Page -/Contents 1027 0 R -/Resources 1025 0 R +/Contents 1032 0 R +/Resources 1030 0 R /MediaBox [0 0 595.276 841.89] -/Parent 996 0 R -/Annots [ 1020 0 R 1021 0 R 1022 0 R 1023 0 R ] +/Parent 1001 0 R +/Annots [ 1025 0 R 1026 0 R 1027 0 R 1028 0 R ] >> endobj -1020 0 obj << +1025 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [382.088 276.095 394.043 286.943] /Subtype /Link /A << /S /GoTo /D (table.12) >> >> endobj -1021 0 obj << +1026 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.464 208.422 336.983 219.547] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1022 0 obj << +1027 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [368.549 141.026 444.603 152.151] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1023 0 obj << +1028 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [326.008 129.347 337.963 140.196] /Subtype /Link /A << /S /GoTo /D (table.12) >> >> endobj -1028 0 obj << -/D [1026 0 R /XYZ 99.895 740.998 null] +1033 0 obj << +/D [1031 0 R /XYZ 99.895 740.998 null] >> endobj -234 0 obj << -/D [1026 0 R /XYZ 99.895 697.37 null] +238 0 obj << +/D [1031 0 R /XYZ 99.895 697.37 null] >> endobj -1029 0 obj << -/D [1026 0 R /XYZ 239.804 675.784 null] +1034 0 obj << +/D [1031 0 R /XYZ 239.804 675.784 null] >> endobj -1030 0 obj << -/D [1026 0 R /XYZ 236.666 658.376 null] +1035 0 obj << +/D [1031 0 R /XYZ 236.666 658.376 null] >> endobj -1031 0 obj << -/D [1026 0 R /XYZ 236.025 640.968 null] +1036 0 obj << +/D [1031 0 R /XYZ 236.025 640.968 null] >> endobj -1032 0 obj << -/D [1026 0 R /XYZ 270.132 455.558 null] +1037 0 obj << +/D [1031 0 R /XYZ 270.132 455.558 null] >> endobj -1025 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F7 725 0 R /F27 525 0 R /F30 724 0 R >> +1030 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F7 730 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1042 0 obj << +1047 0 obj << /Length 6975 >> stream @@ -10044,78 +10108,78 @@ BT ET endstream endobj -1041 0 obj << +1046 0 obj << /Type /Page -/Contents 1042 0 R -/Resources 1040 0 R +/Contents 1047 0 R +/Resources 1045 0 R /MediaBox [0 0 595.276 841.89] -/Parent 996 0 R -/Annots [ 1024 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R ] +/Parent 1001 0 R +/Annots [ 1029 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R ] >> endobj -1024 0 obj << +1029 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.897 655.375 444.852 666.223] /Subtype /Link /A << /S /GoTo /D (table.12) >> >> endobj -1033 0 obj << +1038 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 588.824 495.412 599.949] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1034 0 obj << +1039 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [377.029 577.145 388.984 587.994] /Subtype /Link /A << /S /GoTo /D (table.12) >> >> endobj -1035 0 obj << +1040 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 498.639 377.331 509.764] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1036 0 obj << +1041 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [397.199 462.009 404.172 472.858] /Subtype /Link /A << /S /GoTo /D (equation.1) >> >> endobj -1037 0 obj << +1042 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [396.202 447.541 403.176 458.389] /Subtype /Link /A << /S /GoTo /D (equation.2) >> >> endobj -1038 0 obj << +1043 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [396.507 433.073 403.481 443.921] /Subtype /Link /A << /S /GoTo /D (equation.3) >> >> endobj -1039 0 obj << +1044 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [253.818 191.887 265.774 202.735] /Subtype /Link /A << /S /GoTo /D (table.12) >> >> endobj -1043 0 obj << -/D [1041 0 R /XYZ 150.705 740.998 null] +1048 0 obj << +/D [1046 0 R /XYZ 150.705 740.998 null] >> endobj -1040 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R /F30 724 0 R >> +1045 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1048 0 obj << +1053 0 obj << /Length 6787 >> stream @@ -10225,35 +10289,35 @@ BT ET endstream endobj -1047 0 obj << +1052 0 obj << /Type /Page -/Contents 1048 0 R -/Resources 1046 0 R +/Contents 1053 0 R +/Resources 1051 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1051 0 R -/Annots [ 1044 0 R ] +/Parent 1056 0 R +/Annots [ 1049 0 R ] >> endobj -1044 0 obj << +1049 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [382.088 117.392 394.043 128.24] /Subtype /Link /A << /S /GoTo /D (table.13) >> >> endobj -1049 0 obj << -/D [1047 0 R /XYZ 99.895 740.998 null] +1054 0 obj << +/D [1052 0 R /XYZ 99.895 740.998 null] >> endobj -238 0 obj << -/D [1047 0 R /XYZ 99.895 697.044 null] +242 0 obj << +/D [1052 0 R /XYZ 99.895 697.044 null] >> endobj -1050 0 obj << -/D [1047 0 R /XYZ 270.132 258.477 null] +1055 0 obj << +/D [1052 0 R /XYZ 270.132 258.477 null] >> endobj -1046 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F13 1018 0 R /F7 725 0 R /F10 726 0 R /F30 724 0 R /F27 525 0 R >> +1051 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F13 1023 0 R /F7 730 0 R /F10 731 0 R /F30 729 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1060 0 obj << +1065 0 obj << /Length 7789 >> stream @@ -10409,71 +10473,71 @@ BT ET endstream endobj -1059 0 obj << +1064 0 obj << /Type /Page -/Contents 1060 0 R -/Resources 1058 0 R +/Contents 1065 0 R +/Resources 1063 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1051 0 R -/Annots [ 1045 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R ] +/Parent 1056 0 R +/Annots [ 1050 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R ] >> endobj -1045 0 obj << +1050 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [358.482 655.375 365.455 666.223] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj -1052 0 obj << +1057 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 586.627 495.412 597.752] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1053 0 obj << +1058 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [376.818 574.949 388.773 585.797] /Subtype /Link /A << /S /GoTo /D (table.13) >> >> endobj -1054 0 obj << +1059 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.897 494.523 444.852 505.372] /Subtype /Link /A << /S /GoTo /D (table.13) >> >> endobj -1055 0 obj << +1060 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 425.776 495.412 436.901] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1056 0 obj << +1061 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [377.029 414.098 388.984 424.946] /Subtype /Link /A << /S /GoTo /D (table.13) >> >> endobj -1057 0 obj << +1062 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [310.273 333.395 377.331 344.52] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1061 0 obj << -/D [1059 0 R /XYZ 150.705 740.998 null] +1066 0 obj << +/D [1064 0 R /XYZ 150.705 740.998 null] >> endobj -1058 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F30 724 0 R /F17 689 0 R >> +1063 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F30 729 0 R /F17 694 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1066 0 obj << +1071 0 obj << /Length 4663 >> stream @@ -10530,36 +10594,36 @@ BT ET endstream endobj -1065 0 obj << +1070 0 obj << /Type /Page -/Contents 1066 0 R -/Resources 1064 0 R +/Contents 1071 0 R +/Resources 1069 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1051 0 R -/Annots [ 1062 0 R 1063 0 R ] +/Parent 1056 0 R +/Annots [ 1067 0 R 1068 0 R ] >> endobj -1062 0 obj << +1067 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [162.826 410.238 174.781 419.149] /Subtype /Link /A << /S /GoTo /D (table.13) >> >> endobj -1063 0 obj << +1068 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [203.009 228.974 214.964 239.822] /Subtype /Link /A << /S /GoTo /D (table.13) >> >> endobj -1067 0 obj << -/D [1065 0 R /XYZ 99.895 740.998 null] +1072 0 obj << +/D [1070 0 R /XYZ 99.895 740.998 null] >> endobj -1064 0 obj << -/Font << /F8 526 0 R /F27 525 0 R /F11 709 0 R /F30 724 0 R >> +1069 0 obj << +/Font << /F8 530 0 R /F27 529 0 R /F11 714 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1071 0 obj << +1076 0 obj << /Length 651 >> stream @@ -10577,32 +10641,32 @@ BT ET endstream endobj -1070 0 obj << +1075 0 obj << /Type /Page -/Contents 1071 0 R -/Resources 1069 0 R +/Contents 1076 0 R +/Resources 1074 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1051 0 R -/Annots [ 1068 0 R ] +/Parent 1056 0 R +/Annots [ 1073 0 R ] >> endobj -1068 0 obj << +1073 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [350.345 657.464 357.319 668.312] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj -1072 0 obj << -/D [1070 0 R /XYZ 150.705 740.998 null] +1077 0 obj << +/D [1075 0 R /XYZ 150.705 740.998 null] >> endobj -242 0 obj << -/D [1070 0 R /XYZ 150.705 716.092 null] +246 0 obj << +/D [1075 0 R /XYZ 150.705 716.092 null] >> endobj -1069 0 obj << -/Font << /F16 523 0 R /F8 526 0 R >> +1074 0 obj << +/Font << /F16 527 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1079 0 obj << +1084 0 obj << /Length 7269 >> stream @@ -10801,65 +10865,65 @@ BT ET endstream endobj -1078 0 obj << +1083 0 obj << /Type /Page -/Contents 1079 0 R -/Resources 1077 0 R +/Contents 1084 0 R +/Resources 1082 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1051 0 R -/Annots [ 1073 0 R 1074 0 R 1075 0 R 1076 0 R ] +/Parent 1056 0 R +/Annots [ 1078 0 R 1079 0 R 1080 0 R 1081 0 R ] >> endobj -1073 0 obj << +1078 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [368.549 341.997 444.603 353.122] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1074 0 obj << +1079 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [325.411 330.319 337.366 341.167] /Subtype /Link /A << /S /GoTo /D (table.14) >> >> endobj -1075 0 obj << +1080 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 263.051 361.779 274.176] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1076 0 obj << +1081 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [382.088 184.383 394.043 195.231] /Subtype /Link /A << /S /GoTo /D (table.14) >> >> endobj -1080 0 obj << -/D [1078 0 R /XYZ 99.895 740.998 null] +1085 0 obj << +/D [1083 0 R /XYZ 99.895 740.998 null] >> endobj -246 0 obj << -/D [1078 0 R /XYZ 99.895 697.37 null] +250 0 obj << +/D [1083 0 R /XYZ 99.895 697.37 null] >> endobj -1081 0 obj << -/D [1078 0 R /XYZ 270.132 508.905 null] +1086 0 obj << +/D [1083 0 R /XYZ 270.132 508.905 null] >> endobj -1082 0 obj << -/D [1078 0 R /XYZ 99.895 478.591 null] +1087 0 obj << +/D [1083 0 R /XYZ 99.895 478.591 null] >> endobj -1083 0 obj << -/D [1078 0 R /XYZ 99.895 480.528 null] +1088 0 obj << +/D [1083 0 R /XYZ 99.895 480.528 null] >> endobj -1084 0 obj << -/D [1078 0 R /XYZ 99.895 468.573 null] +1089 0 obj << +/D [1083 0 R /XYZ 99.895 468.573 null] >> endobj -1077 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F27 525 0 R /F30 724 0 R >> +1082 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1090 0 obj << +1095 0 obj << /Length 4119 >> stream @@ -10917,29 +10981,29 @@ BT ET endstream endobj -1089 0 obj << +1094 0 obj << /Type /Page -/Contents 1090 0 R -/Resources 1088 0 R +/Contents 1095 0 R +/Resources 1093 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1051 0 R -/Annots [ 1085 0 R 1087 0 R ] +/Parent 1056 0 R +/Annots [ 1090 0 R 1092 0 R ] >> endobj -1086 0 obj << +1091 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figures/try8x8.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 1093 0 R +/PTEX.InfoDict 1098 0 R /BBox [0 0 436 496] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 1094 0 R ->>/Font << /R8 1095 0 R/R9 1096 0 R>> +/R7 1099 0 R +>>/Font << /R8 1100 0 R/R9 1101 0 R>> >> -/Length 1097 0 R +/Length 1102 0 R /Filter /FlateDecode >> stream @@ -10955,62 +11019,62 @@ QI* d)eI%}QÉ'?+ä°~I*écÂ\‚?XO#~Ã[!©äX‚?fJÇüÁaî‹J8ù9â÷%©¤ s‰ù`=ø Ÿ× ,ªƒ1Œ|?ª$6ŠázžAª@}¡J¢¿R©’#‡z|]ñd•9ÔãýL G„z8¯—÷¬’Ï€äcD¾P%ùàgÌcå‘#<¾®x²J2³jˆÏÕpD„ó¢¼g•mø»ãoÇßþžŸúö§Ç6Úë¸w¶W~ûùñéØ?ûçãK߯åÌÞ>Øíƒ]?Øeµûü`ŸìqÛ{éÏ/m;±ù"×~¢WëÖëj¾Z…3lï²ÛÂ?|Ïz¼Ú½m[{힦„iÿb¬m»¦øóe•Ï¿{üáÛã¯×¿ÿ-3‡à endstream endobj -1093 0 obj +1098 0 obj << /Producer (ESP Ghostscript 815.03) /CreationDate (D:20070118112257) /ModDate (D:20070118112257) >> endobj -1094 0 obj +1099 0 obj << /Type /ExtGState /OPM 1 >> endobj -1095 0 obj +1100 0 obj << /BaseFont /Times-Roman /Type /Font /Subtype /Type1 >> endobj -1096 0 obj +1101 0 obj << /BaseFont /Times-Bold /Type /Font /Subtype /Type1 >> endobj -1097 0 obj +1102 0 obj 3571 endobj -1085 0 obj << +1090 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [213.636 545.73 225.591 554.641] /Subtype /Link /A << /S /GoTo /D (table.14) >> >> endobj -1087 0 obj << +1092 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [457.906 203.856 464.88 216.476] /Subtype /Link /A << /S /GoTo /D (figure.7) >> >> endobj -1091 0 obj << -/D [1089 0 R /XYZ 150.705 740.998 null] +1096 0 obj << +/D [1094 0 R /XYZ 150.705 740.998 null] >> endobj -1092 0 obj << -/D [1089 0 R /XYZ 283.692 243.043 null] +1097 0 obj << +/D [1094 0 R /XYZ 283.692 243.043 null] >> endobj -1088 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R /F11 709 0 R /F16 523 0 R >> -/XObject << /Im3 1086 0 R >> +1093 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F30 729 0 R /F11 714 0 R /F16 527 0 R >> +/XObject << /Im3 1091 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1100 0 obj << +1105 0 obj << /Length 3050 >> stream @@ -11028,21 +11092,21 @@ BT ET endstream endobj -1099 0 obj << +1104 0 obj << /Type /Page -/Contents 1100 0 R -/Resources 1098 0 R +/Contents 1105 0 R +/Resources 1103 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1103 0 R +/Parent 1108 0 R >> endobj -1101 0 obj << -/D [1099 0 R /XYZ 99.895 740.998 null] +1106 0 obj << +/D [1104 0 R /XYZ 99.895 740.998 null] >> endobj -1098 0 obj << -/Font << /F45 1102 0 R /F8 526 0 R >> +1103 0 obj << +/Font << /F45 1107 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1109 0 obj << +1114 0 obj << /Length 8482 >> stream @@ -11309,58 +11373,58 @@ BT ET endstream endobj -1108 0 obj << +1113 0 obj << /Type /Page -/Contents 1109 0 R -/Resources 1107 0 R +/Contents 1114 0 R +/Resources 1112 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1103 0 R -/Annots [ 1104 0 R 1105 0 R 1106 0 R ] +/Parent 1108 0 R +/Annots [ 1109 0 R 1110 0 R 1111 0 R ] >> endobj -1104 0 obj << +1109 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 343.981 495.412 355.106] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1105 0 obj << +1110 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [376.221 332.303 388.176 343.151] /Subtype /Link /A << /S /GoTo /D (table.15) >> >> endobj -1106 0 obj << +1111 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 264.991 412.588 276.116] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1110 0 obj << -/D [1108 0 R /XYZ 150.705 740.998 null] +1115 0 obj << +/D [1113 0 R /XYZ 150.705 740.998 null] >> endobj -250 0 obj << -/D [1108 0 R /XYZ 150.705 697.37 null] +254 0 obj << +/D [1113 0 R /XYZ 150.705 697.37 null] >> endobj -1111 0 obj << -/D [1108 0 R /XYZ 320.941 511.222 null] +1116 0 obj << +/D [1113 0 R /XYZ 320.941 511.222 null] >> endobj -1112 0 obj << -/D [1108 0 R /XYZ 150.705 480.819 null] +1117 0 obj << +/D [1113 0 R /XYZ 150.705 480.819 null] >> endobj -1113 0 obj << -/D [1108 0 R /XYZ 150.705 482.756 null] +1118 0 obj << +/D [1113 0 R /XYZ 150.705 482.756 null] >> endobj -1114 0 obj << -/D [1108 0 R /XYZ 150.705 470.801 null] +1119 0 obj << +/D [1113 0 R /XYZ 150.705 470.801 null] >> endobj -1107 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F27 525 0 R /F30 724 0 R >> +1112 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1121 0 obj << +1126 0 obj << /Length 5866 >> stream @@ -11412,52 +11476,52 @@ BT ET endstream endobj -1120 0 obj << +1125 0 obj << /Type /Page -/Contents 1121 0 R -/Resources 1119 0 R +/Contents 1126 0 R +/Resources 1124 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1103 0 R -/Annots [ 1115 0 R 1117 0 R 1118 0 R ] +/Parent 1108 0 R +/Annots [ 1120 0 R 1122 0 R 1123 0 R ] >> endobj -1115 0 obj << +1120 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [203.009 555.748 214.964 566.597] /Subtype /Link /A << /S /GoTo /D (table.15) >> >> endobj -1117 0 obj << +1122 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [407.019 326.22 413.993 338.84] /Subtype /Link /A << /S /GoTo /D (figure.8) >> >> endobj -1118 0 obj << +1123 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [306.759 302.697 313.733 313.546] /Subtype /Link /A << /S /GoTo /D (figure.7) >> >> endobj -1122 0 obj << -/D [1120 0 R /XYZ 99.895 740.998 null] +1127 0 obj << +/D [1125 0 R /XYZ 99.895 740.998 null] >> endobj -1123 0 obj << -/D [1120 0 R /XYZ 99.895 465.033 null] +1128 0 obj << +/D [1125 0 R /XYZ 99.895 465.033 null] >> endobj -1124 0 obj << -/D [1120 0 R /XYZ 99.895 431.215 null] +1129 0 obj << +/D [1125 0 R /XYZ 99.895 431.215 null] >> endobj -1125 0 obj << -/D [1120 0 R /XYZ 99.895 387.38 null] +1130 0 obj << +/D [1125 0 R /XYZ 99.895 387.38 null] >> endobj -1119 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R /F16 523 0 R /F10 726 0 R /F30 724 0 R >> +1124 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R /F16 527 0 R /F10 731 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1129 0 obj << +1134 0 obj << /Length 3619 >> stream @@ -11475,21 +11539,21 @@ BT ET endstream endobj -1128 0 obj << +1133 0 obj << /Type /Page -/Contents 1129 0 R -/Resources 1127 0 R +/Contents 1134 0 R +/Resources 1132 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1103 0 R +/Parent 1108 0 R >> endobj -1130 0 obj << -/D [1128 0 R /XYZ 150.705 740.998 null] +1135 0 obj << +/D [1133 0 R /XYZ 150.705 740.998 null] >> endobj -1127 0 obj << -/Font << /F31 730 0 R /F8 526 0 R >> +1132 0 obj << +/Font << /F31 735 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1133 0 obj << +1138 0 obj << /Length 347 >> stream @@ -11521,28 +11585,28 @@ BT ET endstream endobj -1132 0 obj << +1137 0 obj << /Type /Page -/Contents 1133 0 R -/Resources 1131 0 R +/Contents 1138 0 R +/Resources 1136 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1103 0 R +/Parent 1108 0 R >> endobj -1116 0 obj << +1121 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figures/try8x8_ov.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 1135 0 R +/PTEX.InfoDict 1140 0 R /BBox [0 0 436 514] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 1136 0 R ->>/Font << /R8 1137 0 R/R9 1138 0 R>> +/R7 1141 0 R +>>/Font << /R8 1142 0 R/R9 1143 0 R>> >> -/Length 1139 0 R +/Length 1144 0 R /Filter /FlateDecode >> stream @@ -11556,48 +11620,48 @@ V óá!Zäÿ/L)ÇÇ8ú:ß=þ êë¼® endstream endobj -1135 0 obj +1140 0 obj << /Producer (ESP Ghostscript 815.03) /CreationDate (D:20070118114343) /ModDate (D:20070118114343) >> endobj -1136 0 obj +1141 0 obj << /Type /ExtGState /OPM 1 >> endobj -1137 0 obj +1142 0 obj << /BaseFont /Times-Roman /Type /Font /Subtype /Type1 >> endobj -1138 0 obj +1143 0 obj << /BaseFont /Times-Bold /Type /Font /Subtype /Type1 >> endobj -1139 0 obj +1144 0 obj 3652 endobj -1134 0 obj << -/D [1132 0 R /XYZ 99.895 740.998 null] ->> endobj -1126 0 obj << -/D [1132 0 R /XYZ 232.883 275.514 null] +1139 0 obj << +/D [1137 0 R /XYZ 99.895 740.998 null] >> endobj 1131 0 obj << -/Font << /F8 526 0 R >> -/XObject << /Im4 1116 0 R >> +/D [1137 0 R /XYZ 232.883 275.514 null] +>> endobj +1136 0 obj << +/Font << /F8 530 0 R >> +/XObject << /Im4 1121 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1145 0 obj << +1150 0 obj << /Length 9366 >> stream @@ -11876,58 +11940,58 @@ BT ET endstream endobj -1144 0 obj << +1149 0 obj << /Type /Page -/Contents 1145 0 R -/Resources 1143 0 R +/Contents 1150 0 R +/Resources 1148 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1103 0 R -/Annots [ 1140 0 R 1141 0 R 1142 0 R ] +/Parent 1108 0 R +/Annots [ 1145 0 R 1146 0 R 1147 0 R ] >> endobj -1140 0 obj << +1145 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.358 295.182 495.412 306.307] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1141 0 obj << +1146 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [256.807 285.441 268.762 294.352] /Subtype /Link /A << /S /GoTo /D (table.16) >> >> endobj -1142 0 obj << +1147 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 215.901 412.588 227.026] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1146 0 obj << -/D [1144 0 R /XYZ 150.705 740.998 null] +1151 0 obj << +/D [1149 0 R /XYZ 150.705 740.998 null] >> endobj -254 0 obj << -/D [1144 0 R /XYZ 150.705 697.37 null] +258 0 obj << +/D [1149 0 R /XYZ 150.705 697.37 null] >> endobj -1147 0 obj << -/D [1144 0 R /XYZ 320.941 466.542 null] +1152 0 obj << +/D [1149 0 R /XYZ 320.941 466.542 null] >> endobj -1148 0 obj << -/D [1144 0 R /XYZ 150.705 435.558 null] +1153 0 obj << +/D [1149 0 R /XYZ 150.705 435.558 null] >> endobj -1149 0 obj << -/D [1144 0 R /XYZ 150.705 435.558 null] +1154 0 obj << +/D [1149 0 R /XYZ 150.705 435.558 null] >> endobj -1150 0 obj << -/D [1144 0 R /XYZ 150.705 423.603 null] +1155 0 obj << +/D [1149 0 R /XYZ 150.705 423.603 null] >> endobj -1143 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F7 725 0 R /F27 525 0 R /F30 724 0 R >> +1148 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F7 730 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1153 0 obj << +1158 0 obj << /Length 1455 >> stream @@ -11955,21 +12019,21 @@ BT ET endstream endobj -1152 0 obj << +1157 0 obj << /Type /Page -/Contents 1153 0 R -/Resources 1151 0 R +/Contents 1158 0 R +/Resources 1156 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1155 0 R +/Parent 1160 0 R >> endobj -1154 0 obj << -/D [1152 0 R /XYZ 99.895 740.998 null] +1159 0 obj << +/D [1157 0 R /XYZ 99.895 740.998 null] >> endobj -1151 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +1156 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1160 0 obj << +1165 0 obj << /Length 8563 >> stream @@ -12212,44 +12276,44 @@ BT ET endstream endobj -1159 0 obj << +1164 0 obj << /Type /Page -/Contents 1160 0 R -/Resources 1158 0 R +/Contents 1165 0 R +/Resources 1163 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1155 0 R -/Annots [ 1156 0 R ] +/Parent 1160 0 R +/Annots [ 1161 0 R ] >> endobj -1156 0 obj << +1161 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 217.135 412.588 228.26] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1161 0 obj << -/D [1159 0 R /XYZ 150.705 740.998 null] +1166 0 obj << +/D [1164 0 R /XYZ 150.705 740.998 null] >> endobj -258 0 obj << -/D [1159 0 R /XYZ 150.705 697.328 null] +262 0 obj << +/D [1164 0 R /XYZ 150.705 697.328 null] >> endobj -1162 0 obj << -/D [1159 0 R /XYZ 320.941 460.425 null] +1167 0 obj << +/D [1164 0 R /XYZ 320.941 460.425 null] >> endobj -1163 0 obj << -/D [1159 0 R /XYZ 150.705 428.452 null] +1168 0 obj << +/D [1164 0 R /XYZ 150.705 428.452 null] >> endobj -1164 0 obj << -/D [1159 0 R /XYZ 150.705 428.452 null] +1169 0 obj << +/D [1164 0 R /XYZ 150.705 428.452 null] >> endobj -1165 0 obj << -/D [1159 0 R /XYZ 150.705 416.497 null] +1170 0 obj << +/D [1164 0 R /XYZ 150.705 416.497 null] >> endobj -1158 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F10 726 0 R /F14 727 0 R /F7 725 0 R /F27 525 0 R /F30 724 0 R >> +1163 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F10 731 0 R /F14 732 0 R /F7 730 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1168 0 obj << +1173 0 obj << /Length 1718 >> stream @@ -12288,29 +12352,29 @@ BT ET endstream endobj -1167 0 obj << +1172 0 obj << /Type /Page -/Contents 1168 0 R -/Resources 1166 0 R +/Contents 1173 0 R +/Resources 1171 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1155 0 R -/Annots [ 1157 0 R ] +/Parent 1160 0 R +/Annots [ 1162 0 R ] >> endobj -1157 0 obj << +1162 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [205.998 645.357 217.953 654.268] /Subtype /Link /A << /S /GoTo /D (table.17) >> >> endobj -1169 0 obj << -/D [1167 0 R /XYZ 99.895 740.998 null] +1174 0 obj << +/D [1172 0 R /XYZ 99.895 740.998 null] >> endobj -1166 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1171 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1172 0 obj << +1177 0 obj << /Length 6539 >> stream @@ -12365,27 +12429,27 @@ BT ET endstream endobj -1171 0 obj << +1176 0 obj << /Type /Page -/Contents 1172 0 R -/Resources 1170 0 R +/Contents 1177 0 R +/Resources 1175 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1155 0 R ->> endobj -1173 0 obj << -/D [1171 0 R /XYZ 150.705 740.998 null] +/Parent 1160 0 R >> endobj -262 0 obj << -/D [1171 0 R /XYZ 150.705 716.092 null] +1178 0 obj << +/D [1176 0 R /XYZ 150.705 740.998 null] >> endobj 266 0 obj << -/D [1171 0 R /XYZ 150.705 673.557 null] +/D [1176 0 R /XYZ 150.705 716.092 null] >> endobj -1170 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +270 0 obj << +/D [1176 0 R /XYZ 150.705 673.557 null] +>> endobj +1175 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1177 0 obj << +1182 0 obj << /Length 6637 >> stream @@ -12461,32 +12525,32 @@ BT ET endstream endobj -1176 0 obj << +1181 0 obj << /Type /Page -/Contents 1177 0 R -/Resources 1175 0 R +/Contents 1182 0 R +/Resources 1180 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1155 0 R -/Annots [ 1174 0 R ] +/Parent 1160 0 R +/Annots [ 1179 0 R ] >> endobj -1174 0 obj << +1179 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 325.282 361.779 336.407] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1178 0 obj << -/D [1176 0 R /XYZ 99.895 740.998 null] +1183 0 obj << +/D [1181 0 R /XYZ 99.895 740.998 null] >> endobj -1179 0 obj << -/D [1176 0 R /XYZ 99.895 234.372 null] +1184 0 obj << +/D [1181 0 R /XYZ 99.895 234.372 null] >> endobj -1175 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R /F11 709 0 R /F16 523 0 R >> +1180 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F30 729 0 R /F11 714 0 R /F16 527 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1183 0 obj << +1188 0 obj << /Length 10049 >> stream @@ -12555,32 +12619,32 @@ BT ET endstream endobj -1182 0 obj << +1187 0 obj << /Type /Page -/Contents 1183 0 R -/Resources 1181 0 R +/Contents 1188 0 R +/Resources 1186 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1155 0 R -/Annots [ 1180 0 R ] +/Parent 1160 0 R +/Annots [ 1185 0 R ] >> endobj -1180 0 obj << +1185 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [408.792 215.702 431.263 226.827] /Subtype /Link /A << /S /GoTo /D (subsubsection.2.3.1) >> >> endobj -1184 0 obj << -/D [1182 0 R /XYZ 150.705 740.998 null] +1189 0 obj << +/D [1187 0 R /XYZ 150.705 740.998 null] >> endobj -1185 0 obj << -/D [1182 0 R /XYZ 150.705 134.155 null] +1190 0 obj << +/D [1187 0 R /XYZ 150.705 134.155 null] >> endobj -1181 0 obj << -/Font << /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R /F10 726 0 R >> +1186 0 obj << +/Font << /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R /F10 731 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1188 0 obj << +1193 0 obj << /Length 2660 >> stream @@ -12613,36 +12677,36 @@ BT ET endstream endobj -1187 0 obj << +1192 0 obj << /Type /Page -/Contents 1188 0 R -/Resources 1186 0 R +/Contents 1193 0 R +/Resources 1191 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1195 0 R +/Parent 1200 0 R >> endobj -1189 0 obj << -/D [1187 0 R /XYZ 99.895 740.998 null] +1194 0 obj << +/D [1192 0 R /XYZ 99.895 740.998 null] >> endobj -1190 0 obj << -/D [1187 0 R /XYZ 99.895 716.092 null] +1195 0 obj << +/D [1192 0 R /XYZ 99.895 716.092 null] >> endobj -1191 0 obj << -/D [1187 0 R /XYZ 99.895 688.251 null] +1196 0 obj << +/D [1192 0 R /XYZ 99.895 688.251 null] >> endobj -1192 0 obj << -/D [1187 0 R /XYZ 99.895 668.049 null] +1197 0 obj << +/D [1192 0 R /XYZ 99.895 668.049 null] >> endobj -1193 0 obj << -/D [1187 0 R /XYZ 99.895 626.428 null] +1198 0 obj << +/D [1192 0 R /XYZ 99.895 626.428 null] >> endobj -1194 0 obj << -/D [1187 0 R /XYZ 99.895 568.7 null] +1199 0 obj << +/D [1192 0 R /XYZ 99.895 568.7 null] >> endobj -1186 0 obj << -/Font << /F8 526 0 R /F30 724 0 R >> +1191 0 obj << +/Font << /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1199 0 obj << +1204 0 obj << /Length 7171 >> stream @@ -12725,32 +12789,32 @@ BT ET endstream endobj -1198 0 obj << +1203 0 obj << /Type /Page -/Contents 1199 0 R -/Resources 1197 0 R +/Contents 1204 0 R +/Resources 1202 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1195 0 R -/Annots [ 1196 0 R ] +/Parent 1200 0 R +/Annots [ 1201 0 R ] >> endobj -1196 0 obj << +1201 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 117.115 412.588 128.24] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1200 0 obj << -/D [1198 0 R /XYZ 150.705 740.998 null] +1205 0 obj << +/D [1203 0 R /XYZ 150.705 740.998 null] >> endobj -270 0 obj << -/D [1198 0 R /XYZ 150.705 697.37 null] +274 0 obj << +/D [1203 0 R /XYZ 150.705 697.37 null] >> endobj -1197 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F11 709 0 R /F27 525 0 R >> +1202 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F11 714 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1204 0 obj << +1209 0 obj << /Length 3156 >> stream @@ -12791,38 +12855,38 @@ BT ET endstream endobj -1203 0 obj << +1208 0 obj << /Type /Page -/Contents 1204 0 R -/Resources 1202 0 R +/Contents 1209 0 R +/Resources 1207 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1195 0 R -/Annots [ 1201 0 R ] +/Parent 1200 0 R +/Annots [ 1206 0 R ] >> endobj -1201 0 obj << +1206 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [274.574 402.324 297.045 413.172] /Subtype /Link /A << /S /GoTo /D (subsubsection.2.3.1) >> >> endobj -1205 0 obj << -/D [1203 0 R /XYZ 99.895 740.998 null] +1210 0 obj << +/D [1208 0 R /XYZ 99.895 740.998 null] >> endobj -1206 0 obj << -/D [1203 0 R /XYZ 99.895 496.913 null] +1211 0 obj << +/D [1208 0 R /XYZ 99.895 496.913 null] >> endobj -1207 0 obj << -/D [1203 0 R /XYZ 99.895 475.051 null] +1212 0 obj << +/D [1208 0 R /XYZ 99.895 475.051 null] >> endobj -1208 0 obj << -/D [1203 0 R /XYZ 99.895 431.215 null] +1213 0 obj << +/D [1208 0 R /XYZ 99.895 431.215 null] >> endobj -1202 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R /F16 523 0 R >> +1207 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R /F16 527 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1213 0 obj << +1218 0 obj << /Length 3493 >> stream @@ -12922,42 +12986,42 @@ BT ET endstream endobj -1212 0 obj << +1217 0 obj << /Type /Page -/Contents 1213 0 R -/Resources 1211 0 R +/Contents 1218 0 R +/Resources 1216 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1195 0 R -/Annots [ 1209 0 R 1210 0 R ] +/Parent 1200 0 R +/Annots [ 1214 0 R 1215 0 R ] >> endobj -1209 0 obj << +1214 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 574.94 412.588 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1210 0 obj << +1215 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 485.277 412.588 496.401] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1214 0 obj << -/D [1212 0 R /XYZ 150.705 740.998 null] +1219 0 obj << +/D [1217 0 R /XYZ 150.705 740.998 null] >> endobj -274 0 obj << -/D [1212 0 R /XYZ 150.705 697.37 null] +278 0 obj << +/D [1217 0 R /XYZ 150.705 697.37 null] >> endobj -1215 0 obj << -/D [1212 0 R /XYZ 150.705 394.838 null] +1220 0 obj << +/D [1217 0 R /XYZ 150.705 394.838 null] >> endobj -1211 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1216 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1220 0 obj << +1225 0 obj << /Length 3277 >> stream @@ -13053,39 +13117,39 @@ BT ET endstream endobj -1219 0 obj << +1224 0 obj << /Type /Page -/Contents 1220 0 R -/Resources 1218 0 R +/Contents 1225 0 R +/Resources 1223 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1195 0 R -/Annots [ 1216 0 R 1217 0 R ] +/Parent 1200 0 R +/Annots [ 1221 0 R 1222 0 R ] >> endobj -1216 0 obj << +1221 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 574.94 361.779 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1217 0 obj << +1222 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 485.277 361.779 496.401] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1221 0 obj << -/D [1219 0 R /XYZ 99.895 740.998 null] +1226 0 obj << +/D [1224 0 R /XYZ 99.895 740.998 null] >> endobj -278 0 obj << -/D [1219 0 R /XYZ 99.895 697.37 null] +282 0 obj << +/D [1224 0 R /XYZ 99.895 697.37 null] >> endobj -1218 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1223 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1225 0 obj << +1230 0 obj << /Length 2243 >> stream @@ -13152,32 +13216,32 @@ BT ET endstream endobj -1224 0 obj << +1229 0 obj << /Type /Page -/Contents 1225 0 R -/Resources 1223 0 R +/Contents 1230 0 R +/Resources 1228 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1195 0 R -/Annots [ 1222 0 R ] +/Parent 1200 0 R +/Annots [ 1227 0 R ] >> endobj -1222 0 obj << +1227 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 574.94 412.588 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1226 0 obj << -/D [1224 0 R /XYZ 150.705 740.998 null] +1231 0 obj << +/D [1229 0 R /XYZ 150.705 740.998 null] >> endobj -282 0 obj << -/D [1224 0 R /XYZ 150.705 697.37 null] +286 0 obj << +/D [1229 0 R /XYZ 150.705 697.37 null] >> endobj -1223 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1228 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1231 0 obj << +1236 0 obj << /Length 5927 >> stream @@ -13285,39 +13349,39 @@ BT ET endstream endobj -1230 0 obj << +1235 0 obj << /Type /Page -/Contents 1231 0 R -/Resources 1229 0 R +/Contents 1236 0 R +/Resources 1234 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1233 0 R -/Annots [ 1227 0 R 1228 0 R ] +/Parent 1238 0 R +/Annots [ 1232 0 R 1233 0 R ] >> endobj -1227 0 obj << +1232 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 453.24 372.239 464.364] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1228 0 obj << +1233 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 209.896 361.779 221.021] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1232 0 obj << -/D [1230 0 R /XYZ 99.895 740.998 null] +1237 0 obj << +/D [1235 0 R /XYZ 99.895 740.998 null] >> endobj -286 0 obj << -/D [1230 0 R /XYZ 99.895 685.412 null] +290 0 obj << +/D [1235 0 R /XYZ 99.895 685.412 null] >> endobj -1229 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +1234 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1236 0 obj << +1241 0 obj << /Length 1587 >> stream @@ -13338,27 +13402,27 @@ BT ET endstream endobj -1235 0 obj << +1240 0 obj << /Type /Page -/Contents 1236 0 R -/Resources 1234 0 R +/Contents 1241 0 R +/Resources 1239 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1233 0 R +/Parent 1238 0 R >> endobj -1237 0 obj << -/D [1235 0 R /XYZ 150.705 740.998 null] +1242 0 obj << +/D [1240 0 R /XYZ 150.705 740.998 null] >> endobj -1238 0 obj << -/D [1235 0 R /XYZ 150.705 716.092 null] +1243 0 obj << +/D [1240 0 R /XYZ 150.705 716.092 null] >> endobj -1239 0 obj << -/D [1235 0 R /XYZ 150.705 664.341 null] +1244 0 obj << +/D [1240 0 R /XYZ 150.705 664.341 null] >> endobj -1234 0 obj << -/Font << /F8 526 0 R /F30 724 0 R >> +1239 0 obj << +/Font << /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1244 0 obj << +1249 0 obj << /Length 4887 >> stream @@ -13463,48 +13527,48 @@ BT ET endstream endobj -1243 0 obj << +1248 0 obj << /Type /Page -/Contents 1244 0 R -/Resources 1242 0 R +/Contents 1249 0 R +/Resources 1247 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1233 0 R -/Annots [ 1240 0 R 1241 0 R ] +/Parent 1238 0 R +/Annots [ 1245 0 R 1246 0 R ] >> endobj -1240 0 obj << +1245 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 574.94 361.779 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1241 0 obj << +1246 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 405.575 372.239 416.7] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1245 0 obj << -/D [1243 0 R /XYZ 99.895 740.998 null] +1250 0 obj << +/D [1248 0 R /XYZ 99.895 740.998 null] >> endobj -290 0 obj << -/D [1243 0 R /XYZ 99.895 697.37 null] +294 0 obj << +/D [1248 0 R /XYZ 99.895 697.37 null] >> endobj -1246 0 obj << -/D [1243 0 R /XYZ 99.895 315.137 null] +1251 0 obj << +/D [1248 0 R /XYZ 99.895 315.137 null] >> endobj -1247 0 obj << -/D [1243 0 R /XYZ 99.895 293.274 null] +1252 0 obj << +/D [1248 0 R /XYZ 99.895 293.274 null] >> endobj -1248 0 obj << -/D [1243 0 R /XYZ 99.895 273.349 null] +1253 0 obj << +/D [1248 0 R /XYZ 99.895 273.349 null] >> endobj -1242 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1247 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1254 0 obj << +1259 0 obj << /Length 6453 >> stream @@ -13609,39 +13673,39 @@ BT ET endstream endobj -1253 0 obj << +1258 0 obj << /Type /Page -/Contents 1254 0 R -/Resources 1252 0 R +/Contents 1259 0 R +/Resources 1257 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1233 0 R -/Annots [ 1249 0 R 1250 0 R ] +/Parent 1238 0 R +/Annots [ 1254 0 R 1255 0 R ] >> endobj -1249 0 obj << +1254 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [311.962 288.004 379.019 299.129] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1250 0 obj << +1255 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 117.115 423.049 128.24] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1255 0 obj << -/D [1253 0 R /XYZ 150.705 740.998 null] +1260 0 obj << +/D [1258 0 R /XYZ 150.705 740.998 null] >> endobj -294 0 obj << -/D [1253 0 R /XYZ 150.705 697.251 null] +298 0 obj << +/D [1258 0 R /XYZ 150.705 697.251 null] >> endobj -1252 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1257 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1258 0 obj << +1263 0 obj << /Length 6087 >> stream @@ -13723,56 +13787,56 @@ BT ET endstream endobj -1257 0 obj << +1262 0 obj << /Type /Page -/Contents 1258 0 R -/Resources 1256 0 R +/Contents 1263 0 R +/Resources 1261 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1233 0 R -/Annots [ 1251 0 R ] +/Parent 1238 0 R +/Annots [ 1256 0 R ] >> endobj -1251 0 obj << +1256 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [261.152 655.098 328.21 666.223] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1259 0 obj << -/D [1257 0 R /XYZ 99.895 740.998 null] ->> endobj -1260 0 obj << -/D [1257 0 R /XYZ 99.895 552.704 null] ->> endobj -1261 0 obj << -/D [1257 0 R /XYZ 99.895 520.824 null] ->> endobj -1262 0 obj << -/D [1257 0 R /XYZ 99.895 487.006 null] ->> endobj -1263 0 obj << -/D [1257 0 R /XYZ 99.895 419.26 null] ->> endobj 1264 0 obj << -/D [1257 0 R /XYZ 99.895 363.469 null] +/D [1262 0 R /XYZ 99.895 740.998 null] >> endobj 1265 0 obj << -/D [1257 0 R /XYZ 99.895 319.634 null] +/D [1262 0 R /XYZ 99.895 552.704 null] >> endobj 1266 0 obj << -/D [1257 0 R /XYZ 99.895 287.753 null] +/D [1262 0 R /XYZ 99.895 520.824 null] >> endobj 1267 0 obj << -/D [1257 0 R /XYZ 99.895 255.873 null] +/D [1262 0 R /XYZ 99.895 487.006 null] >> endobj 1268 0 obj << -/D [1257 0 R /XYZ 99.895 212.037 null] +/D [1262 0 R /XYZ 99.895 419.26 null] >> endobj -1256 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R /F16 523 0 R /F11 709 0 R >> -/ProcSet [ /PDF /Text ] +1269 0 obj << +/D [1262 0 R /XYZ 99.895 363.469 null] +>> endobj +1270 0 obj << +/D [1262 0 R /XYZ 99.895 319.634 null] +>> endobj +1271 0 obj << +/D [1262 0 R /XYZ 99.895 287.753 null] +>> endobj +1272 0 obj << +/D [1262 0 R /XYZ 99.895 255.873 null] >> endobj 1273 0 obj << +/D [1262 0 R /XYZ 99.895 212.037 null] +>> endobj +1261 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F30 729 0 R /F16 527 0 R /F11 714 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1278 0 obj << /Length 6648 >> stream @@ -13905,39 +13969,39 @@ BT ET endstream endobj -1272 0 obj << +1277 0 obj << /Type /Page -/Contents 1273 0 R -/Resources 1271 0 R +/Contents 1278 0 R +/Resources 1276 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1233 0 R -/Annots [ 1269 0 R 1270 0 R ] +/Parent 1238 0 R +/Annots [ 1274 0 R 1275 0 R ] >> endobj -1269 0 obj << +1274 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 576.23 412.588 587.355] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1270 0 obj << +1275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 205.776 423.049 216.901] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1274 0 obj << -/D [1272 0 R /XYZ 150.705 740.998 null] +1279 0 obj << +/D [1277 0 R /XYZ 150.705 740.998 null] >> endobj -298 0 obj << -/D [1272 0 R /XYZ 150.705 697.37 null] +302 0 obj << +/D [1277 0 R /XYZ 150.705 697.37 null] >> endobj -1271 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1276 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1277 0 obj << +1282 0 obj << /Length 2248 >> stream @@ -13974,39 +14038,39 @@ BT ET endstream endobj -1276 0 obj << +1281 0 obj << /Type /Page -/Contents 1277 0 R -/Resources 1275 0 R +/Contents 1282 0 R +/Resources 1280 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1285 0 R +/Parent 1290 0 R >> endobj -1278 0 obj << -/D [1276 0 R /XYZ 99.895 740.998 null] +1283 0 obj << +/D [1281 0 R /XYZ 99.895 740.998 null] >> endobj -1279 0 obj << -/D [1276 0 R /XYZ 99.895 716.092 null] +1284 0 obj << +/D [1281 0 R /XYZ 99.895 716.092 null] >> endobj -1280 0 obj << -/D [1276 0 R /XYZ 99.895 687.975 null] +1285 0 obj << +/D [1281 0 R /XYZ 99.895 687.975 null] >> endobj -1281 0 obj << -/D [1276 0 R /XYZ 99.895 668.326 null] +1286 0 obj << +/D [1281 0 R /XYZ 99.895 668.326 null] >> endobj -1282 0 obj << -/D [1276 0 R /XYZ 99.895 624.491 null] +1287 0 obj << +/D [1281 0 R /XYZ 99.895 624.491 null] >> endobj -1283 0 obj << -/D [1276 0 R /XYZ 99.895 580.655 null] +1288 0 obj << +/D [1281 0 R /XYZ 99.895 580.655 null] >> endobj -1284 0 obj << -/D [1276 0 R /XYZ 99.895 560.73 null] +1289 0 obj << +/D [1281 0 R /XYZ 99.895 560.73 null] >> endobj -1275 0 obj << -/Font << /F8 526 0 R /F30 724 0 R >> +1280 0 obj << +/Font << /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1290 0 obj << +1295 0 obj << /Length 3084 >> stream @@ -14095,39 +14159,39 @@ BT ET endstream endobj -1289 0 obj << +1294 0 obj << /Type /Page -/Contents 1290 0 R -/Resources 1288 0 R +/Contents 1295 0 R +/Resources 1293 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1285 0 R -/Annots [ 1286 0 R 1287 0 R ] +/Parent 1290 0 R +/Annots [ 1291 0 R 1292 0 R ] >> endobj -1286 0 obj << +1291 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 574.94 423.049 586.065] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1287 0 obj << +1292 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 507.194 412.588 518.319] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1291 0 obj << -/D [1289 0 R /XYZ 150.705 740.998 null] +1296 0 obj << +/D [1294 0 R /XYZ 150.705 740.998 null] >> endobj -302 0 obj << -/D [1289 0 R /XYZ 150.705 697.37 null] +306 0 obj << +/D [1294 0 R /XYZ 150.705 697.37 null] >> endobj -1288 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1293 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1296 0 obj << +1301 0 obj << /Length 3991 >> stream @@ -14224,42 +14288,42 @@ BT ET endstream endobj -1295 0 obj << +1300 0 obj << /Type /Page -/Contents 1296 0 R -/Resources 1294 0 R +/Contents 1301 0 R +/Resources 1299 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1285 0 R -/Annots [ 1292 0 R 1293 0 R ] +/Parent 1290 0 R +/Annots [ 1297 0 R 1298 0 R ] >> endobj -1292 0 obj << +1297 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 560.993 372.239 572.118] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1293 0 obj << +1298 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 493.247 361.779 504.372] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1297 0 obj << -/D [1295 0 R /XYZ 99.895 740.998 null] +1302 0 obj << +/D [1300 0 R /XYZ 99.895 740.998 null] >> endobj -306 0 obj << -/D [1295 0 R /XYZ 99.895 685.747 null] +310 0 obj << +/D [1300 0 R /XYZ 99.895 685.747 null] >> endobj -1298 0 obj << -/D [1295 0 R /XYZ 99.895 313.144 null] +1303 0 obj << +/D [1300 0 R /XYZ 99.895 313.144 null] >> endobj -1294 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1299 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1303 0 obj << +1308 0 obj << /Length 5111 >> stream @@ -14363,39 +14427,39 @@ BT ET endstream endobj -1302 0 obj << +1307 0 obj << /Type /Page -/Contents 1303 0 R -/Resources 1301 0 R +/Contents 1308 0 R +/Resources 1306 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1285 0 R -/Annots [ 1299 0 R 1300 0 R ] +/Parent 1290 0 R +/Annots [ 1304 0 R 1305 0 R ] >> endobj -1299 0 obj << +1304 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [311.962 574.94 379.019 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1300 0 obj << +1305 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [264.584 290.009 340.638 301.134] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1304 0 obj << -/D [1302 0 R /XYZ 150.705 740.998 null] +1309 0 obj << +/D [1307 0 R /XYZ 150.705 740.998 null] >> endobj -310 0 obj << -/D [1302 0 R /XYZ 150.705 697.37 null] +314 0 obj << +/D [1307 0 R /XYZ 150.705 697.37 null] >> endobj -1301 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1306 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1309 0 obj << +1314 0 obj << /Length 6817 >> stream @@ -14507,39 +14571,39 @@ BT ET endstream endobj -1308 0 obj << +1313 0 obj << /Type /Page -/Contents 1309 0 R -/Resources 1307 0 R +/Contents 1314 0 R +/Resources 1312 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1285 0 R -/Annots [ 1305 0 R 1306 0 R ] +/Parent 1290 0 R +/Annots [ 1310 0 R 1311 0 R ] >> endobj -1305 0 obj << +1310 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 363.459 361.779 374.584] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1306 0 obj << +1311 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [365.781 141.026 441.835 152.151] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1310 0 obj << -/D [1308 0 R /XYZ 99.895 740.998 null] +1315 0 obj << +/D [1313 0 R /XYZ 99.895 740.998 null] >> endobj -314 0 obj << -/D [1308 0 R /XYZ 99.895 697.37 null] +318 0 obj << +/D [1313 0 R /XYZ 99.895 697.37 null] >> endobj -1307 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1312 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1313 0 obj << +1318 0 obj << /Length 1115 >> stream @@ -14564,27 +14628,27 @@ BT ET endstream endobj -1312 0 obj << +1317 0 obj << /Type /Page -/Contents 1313 0 R -/Resources 1311 0 R +/Contents 1318 0 R +/Resources 1316 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1285 0 R +/Parent 1290 0 R >> endobj -1314 0 obj << -/D [1312 0 R /XYZ 150.705 740.998 null] +1319 0 obj << +/D [1317 0 R /XYZ 150.705 740.998 null] >> endobj -1315 0 obj << -/D [1312 0 R /XYZ 150.705 632.405 null] +1320 0 obj << +/D [1317 0 R /XYZ 150.705 632.405 null] >> endobj -1316 0 obj << -/D [1312 0 R /XYZ 150.705 609.989 null] +1321 0 obj << +/D [1317 0 R /XYZ 150.705 609.989 null] >> endobj -1311 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F16 523 0 R >> +1316 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F16 527 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1322 0 obj << +1327 0 obj << /Length 5215 >> stream @@ -14737,46 +14801,46 @@ BT ET endstream endobj -1321 0 obj << +1326 0 obj << /Type /Page -/Contents 1322 0 R -/Resources 1320 0 R +/Contents 1327 0 R +/Resources 1325 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1324 0 R -/Annots [ 1317 0 R 1318 0 R 1319 0 R ] +/Parent 1329 0 R +/Annots [ 1322 0 R 1323 0 R 1324 0 R ] >> endobj -1317 0 obj << +1322 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [261.152 574.94 328.21 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1318 0 obj << +1323 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [269.918 483.284 345.972 494.409] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1319 0 obj << +1324 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [187.733 381.665 263.787 392.79] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1323 0 obj << -/D [1321 0 R /XYZ 99.895 740.998 null] +1328 0 obj << +/D [1326 0 R /XYZ 99.895 740.998 null] >> endobj -318 0 obj << -/D [1321 0 R /XYZ 99.895 697.37 null] +322 0 obj << +/D [1326 0 R /XYZ 99.895 697.37 null] >> endobj -1320 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1325 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1329 0 obj << +1334 0 obj << /Length 3379 >> stream @@ -14872,39 +14936,39 @@ BT ET endstream endobj -1328 0 obj << +1333 0 obj << /Type /Page -/Contents 1329 0 R -/Resources 1327 0 R +/Contents 1334 0 R +/Resources 1332 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1324 0 R -/Annots [ 1325 0 R 1326 0 R ] +/Parent 1329 0 R +/Annots [ 1330 0 R 1331 0 R ] >> endobj -1325 0 obj << +1330 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [238.542 562.985 314.596 574.11] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1326 0 obj << +1331 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [311.962 483.284 379.019 494.409] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1330 0 obj << -/D [1328 0 R /XYZ 150.705 740.998 null] +1335 0 obj << +/D [1333 0 R /XYZ 150.705 740.998 null] >> endobj -322 0 obj << -/D [1328 0 R /XYZ 150.705 697.37 null] +326 0 obj << +/D [1333 0 R /XYZ 150.705 697.37 null] >> endobj -1327 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1332 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1333 0 obj << +1338 0 obj << /Length 3437 >> stream @@ -14954,24 +15018,24 @@ BT ET endstream endobj -1332 0 obj << +1337 0 obj << /Type /Page -/Contents 1333 0 R -/Resources 1331 0 R +/Contents 1338 0 R +/Resources 1336 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1324 0 R +/Parent 1329 0 R >> endobj -1334 0 obj << -/D [1332 0 R /XYZ 99.895 740.998 null] +1339 0 obj << +/D [1337 0 R /XYZ 99.895 740.998 null] >> endobj -326 0 obj << -/D [1332 0 R /XYZ 99.895 697.37 null] +330 0 obj << +/D [1337 0 R /XYZ 99.895 697.37 null] >> endobj -1331 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R /F10 726 0 R >> +1336 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R /F10 731 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1338 0 obj << +1343 0 obj << /Length 6547 >> stream @@ -15072,32 +15136,32 @@ BT ET endstream endobj -1337 0 obj << +1342 0 obj << /Type /Page -/Contents 1338 0 R -/Resources 1336 0 R +/Contents 1343 0 R +/Resources 1341 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1324 0 R -/Annots [ 1335 0 R ] +/Parent 1329 0 R +/Annots [ 1340 0 R ] >> endobj -1335 0 obj << +1340 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 484.86 412.588 495.985] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1339 0 obj << -/D [1337 0 R /XYZ 150.705 740.998 null] +1344 0 obj << +/D [1342 0 R /XYZ 150.705 740.998 null] >> endobj -330 0 obj << -/D [1337 0 R /XYZ 150.705 697.37 null] +334 0 obj << +/D [1342 0 R /XYZ 150.705 697.37 null] >> endobj -1336 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1341 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1342 0 obj << +1347 0 obj << /Length 692 >> stream @@ -15118,27 +15182,27 @@ BT ET endstream endobj -1341 0 obj << +1346 0 obj << /Type /Page -/Contents 1342 0 R -/Resources 1340 0 R +/Contents 1347 0 R +/Resources 1345 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1324 0 R +/Parent 1329 0 R >> endobj -1343 0 obj << -/D [1341 0 R /XYZ 99.895 740.998 null] +1348 0 obj << +/D [1346 0 R /XYZ 99.895 740.998 null] >> endobj -1344 0 obj << -/D [1341 0 R /XYZ 99.895 716.092 null] +1349 0 obj << +/D [1346 0 R /XYZ 99.895 716.092 null] >> endobj -1345 0 obj << -/D [1341 0 R /XYZ 99.895 688.251 null] +1350 0 obj << +/D [1346 0 R /XYZ 99.895 688.251 null] >> endobj -1340 0 obj << -/Font << /F8 526 0 R /F30 724 0 R >> +1345 0 obj << +/Font << /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1349 0 obj << +1354 0 obj << /Length 5736 >> stream @@ -15235,32 +15299,32 @@ BT ET endstream endobj -1348 0 obj << +1353 0 obj << /Type /Page -/Contents 1349 0 R -/Resources 1347 0 R +/Contents 1354 0 R +/Resources 1352 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1324 0 R -/Annots [ 1346 0 R ] +/Parent 1329 0 R +/Annots [ 1351 0 R ] >> endobj -1346 0 obj << +1351 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 483.284 412.588 494.409] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1350 0 obj << -/D [1348 0 R /XYZ 150.705 740.998 null] +1355 0 obj << +/D [1353 0 R /XYZ 150.705 740.998 null] >> endobj -334 0 obj << -/D [1348 0 R /XYZ 150.705 697.37 null] +338 0 obj << +/D [1353 0 R /XYZ 150.705 697.37 null] >> endobj -1347 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1352 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1354 0 obj << +1359 0 obj << /Length 3271 >> stream @@ -15342,35 +15406,35 @@ BT ET endstream endobj -1353 0 obj << +1358 0 obj << /Type /Page -/Contents 1354 0 R -/Resources 1352 0 R +/Contents 1359 0 R +/Resources 1357 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1357 0 R -/Annots [ 1351 0 R ] +/Parent 1362 0 R +/Annots [ 1356 0 R ] >> endobj -1351 0 obj << +1356 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 495.239 361.779 506.364] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1355 0 obj << -/D [1353 0 R /XYZ 99.895 740.998 null] +1360 0 obj << +/D [1358 0 R /XYZ 99.895 740.998 null] >> endobj -338 0 obj << -/D [1353 0 R /XYZ 99.895 697.37 null] +342 0 obj << +/D [1358 0 R /XYZ 99.895 697.37 null] >> endobj -1356 0 obj << -/D [1353 0 R /XYZ 99.895 382.883 null] +1361 0 obj << +/D [1358 0 R /XYZ 99.895 382.883 null] >> endobj -1352 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1357 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1361 0 obj << +1366 0 obj << /Length 4983 >> stream @@ -15460,35 +15524,35 @@ BT ET endstream endobj -1360 0 obj << +1365 0 obj << /Type /Page -/Contents 1361 0 R -/Resources 1359 0 R +/Contents 1366 0 R +/Resources 1364 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1357 0 R -/Annots [ 1358 0 R ] +/Parent 1362 0 R +/Annots [ 1363 0 R ] >> endobj -1358 0 obj << +1363 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 495.239 412.588 506.364] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1362 0 obj << -/D [1360 0 R /XYZ 150.705 740.998 null] +1367 0 obj << +/D [1365 0 R /XYZ 150.705 740.998 null] >> endobj -342 0 obj << -/D [1360 0 R /XYZ 150.705 697.37 null] +346 0 obj << +/D [1365 0 R /XYZ 150.705 697.37 null] >> endobj -1363 0 obj << -/D [1360 0 R /XYZ 150.705 259.346 null] +1368 0 obj << +/D [1365 0 R /XYZ 150.705 259.346 null] >> endobj -1359 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1364 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1367 0 obj << +1372 0 obj << /Length 3240 >> stream @@ -15570,35 +15634,35 @@ BT ET endstream endobj -1366 0 obj << +1371 0 obj << /Type /Page -/Contents 1367 0 R -/Resources 1365 0 R +/Contents 1372 0 R +/Resources 1370 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1357 0 R -/Annots [ 1364 0 R ] +/Parent 1362 0 R +/Annots [ 1369 0 R ] >> endobj -1364 0 obj << +1369 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 495.239 361.779 506.364] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1368 0 obj << -/D [1366 0 R /XYZ 99.895 740.998 null] +1373 0 obj << +/D [1371 0 R /XYZ 99.895 740.998 null] >> endobj -346 0 obj << -/D [1366 0 R /XYZ 99.895 697.37 null] +350 0 obj << +/D [1371 0 R /XYZ 99.895 697.37 null] >> endobj -1369 0 obj << -/D [1366 0 R /XYZ 99.895 382.883 null] +1374 0 obj << +/D [1371 0 R /XYZ 99.895 382.883 null] >> endobj -1365 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1370 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1373 0 obj << +1378 0 obj << /Length 4992 >> stream @@ -15688,35 +15752,35 @@ BT ET endstream endobj -1372 0 obj << +1377 0 obj << /Type /Page -/Contents 1373 0 R -/Resources 1371 0 R +/Contents 1378 0 R +/Resources 1376 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1357 0 R -/Annots [ 1370 0 R ] +/Parent 1362 0 R +/Annots [ 1375 0 R ] >> endobj -1370 0 obj << +1375 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 495.239 412.588 506.364] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1374 0 obj << -/D [1372 0 R /XYZ 150.705 740.998 null] +1379 0 obj << +/D [1377 0 R /XYZ 150.705 740.998 null] >> endobj -350 0 obj << -/D [1372 0 R /XYZ 150.705 697.37 null] +354 0 obj << +/D [1377 0 R /XYZ 150.705 697.37 null] >> endobj -1375 0 obj << -/D [1372 0 R /XYZ 150.705 259.346 null] +1380 0 obj << +/D [1377 0 R /XYZ 150.705 259.346 null] >> endobj -1371 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1376 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1379 0 obj << +1384 0 obj << /Length 3821 >> stream @@ -15795,38 +15859,38 @@ BT ET endstream endobj -1378 0 obj << +1383 0 obj << /Type /Page -/Contents 1379 0 R -/Resources 1377 0 R +/Contents 1384 0 R +/Resources 1382 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1357 0 R -/Annots [ 1376 0 R ] +/Parent 1362 0 R +/Annots [ 1381 0 R ] >> endobj -1376 0 obj << +1381 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 574.94 361.779 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1380 0 obj << -/D [1378 0 R /XYZ 99.895 740.998 null] +1385 0 obj << +/D [1383 0 R /XYZ 99.895 740.998 null] >> endobj -354 0 obj << -/D [1378 0 R /XYZ 99.895 697.37 null] +358 0 obj << +/D [1383 0 R /XYZ 99.895 697.37 null] >> endobj -1381 0 obj << -/D [1378 0 R /XYZ 99.895 370.928 null] +1386 0 obj << +/D [1383 0 R /XYZ 99.895 370.928 null] >> endobj -1382 0 obj << -/D [1378 0 R /XYZ 99.895 327.092 null] +1387 0 obj << +/D [1383 0 R /XYZ 99.895 327.092 null] >> endobj -1377 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1382 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1386 0 obj << +1391 0 obj << /Length 3654 >> stream @@ -15905,38 +15969,38 @@ BT ET endstream endobj -1385 0 obj << +1390 0 obj << /Type /Page -/Contents 1386 0 R -/Resources 1384 0 R +/Contents 1391 0 R +/Resources 1389 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1357 0 R -/Annots [ 1383 0 R ] +/Parent 1362 0 R +/Annots [ 1388 0 R ] >> endobj -1383 0 obj << +1388 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 574.94 412.588 586.065] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1387 0 obj << -/D [1385 0 R /XYZ 150.705 740.998 null] +1392 0 obj << +/D [1390 0 R /XYZ 150.705 740.998 null] >> endobj -358 0 obj << -/D [1385 0 R /XYZ 150.705 697.37 null] +362 0 obj << +/D [1390 0 R /XYZ 150.705 697.37 null] >> endobj -1388 0 obj << -/D [1385 0 R /XYZ 150.705 370.928 null] +1393 0 obj << +/D [1390 0 R /XYZ 150.705 370.928 null] >> endobj -1389 0 obj << -/D [1385 0 R /XYZ 150.705 339.047 null] +1394 0 obj << +/D [1390 0 R /XYZ 150.705 339.047 null] >> endobj -1384 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1389 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1393 0 obj << +1398 0 obj << /Length 5783 >> stream @@ -16023,32 +16087,32 @@ BT ET endstream endobj -1392 0 obj << +1397 0 obj << /Type /Page -/Contents 1393 0 R -/Resources 1391 0 R +/Contents 1398 0 R +/Resources 1396 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1395 0 R -/Annots [ 1390 0 R ] +/Parent 1400 0 R +/Annots [ 1395 0 R ] >> endobj -1390 0 obj << +1395 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 492.904 372.239 504.029] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1394 0 obj << -/D [1392 0 R /XYZ 99.895 740.998 null] +1399 0 obj << +/D [1397 0 R /XYZ 99.895 740.998 null] >> endobj -362 0 obj << -/D [1392 0 R /XYZ 99.895 696.587 null] +366 0 obj << +/D [1397 0 R /XYZ 99.895 696.587 null] >> endobj -1391 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1396 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1398 0 obj << +1403 0 obj << /Length 3711 >> stream @@ -16085,30 +16149,30 @@ BT ET endstream endobj -1397 0 obj << +1402 0 obj << /Type /Page -/Contents 1398 0 R -/Resources 1396 0 R +/Contents 1403 0 R +/Resources 1401 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1395 0 R +/Parent 1400 0 R >> endobj -1399 0 obj << -/D [1397 0 R /XYZ 150.705 740.998 null] +1404 0 obj << +/D [1402 0 R /XYZ 150.705 740.998 null] >> endobj -1400 0 obj << -/D [1397 0 R /XYZ 150.705 496.913 null] +1405 0 obj << +/D [1402 0 R /XYZ 150.705 496.913 null] >> endobj -1401 0 obj << -/D [1397 0 R /XYZ 150.705 439.185 null] +1406 0 obj << +/D [1402 0 R /XYZ 150.705 439.185 null] >> endobj -1402 0 obj << -/D [1397 0 R /XYZ 150.705 418.983 null] +1407 0 obj << +/D [1402 0 R /XYZ 150.705 418.983 null] >> endobj -1396 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R /F16 523 0 R /F11 709 0 R >> +1401 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F30 729 0 R /F16 527 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1408 0 obj << +1413 0 obj << /Length 4123 >> stream @@ -16219,46 +16283,46 @@ BT ET endstream endobj -1407 0 obj << +1412 0 obj << /Type /Page -/Contents 1408 0 R -/Resources 1406 0 R +/Contents 1413 0 R +/Resources 1411 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1395 0 R -/Annots [ 1403 0 R 1404 0 R 1405 0 R ] +/Parent 1400 0 R +/Annots [ 1408 0 R 1409 0 R 1410 0 R ] >> endobj -1403 0 obj << +1408 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 529.112 372.239 540.237] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1404 0 obj << +1409 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 461.366 361.779 472.491] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1405 0 obj << +1410 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [321.343 405.575 388.401 416.7] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1409 0 obj << -/D [1407 0 R /XYZ 99.895 740.998 null] +1414 0 obj << +/D [1412 0 R /XYZ 99.895 740.998 null] >> endobj -366 0 obj << -/D [1407 0 R /XYZ 99.895 697.37 null] +370 0 obj << +/D [1412 0 R /XYZ 99.895 697.37 null] >> endobj -1406 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F30 724 0 R /F27 525 0 R /F11 709 0 R >> +1411 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F30 729 0 R /F27 529 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1412 0 obj << +1417 0 obj << /Length 5773 >> stream @@ -16338,24 +16402,24 @@ BT ET endstream endobj -1411 0 obj << +1416 0 obj << /Type /Page -/Contents 1412 0 R -/Resources 1410 0 R +/Contents 1417 0 R +/Resources 1415 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1395 0 R +/Parent 1400 0 R >> endobj -1413 0 obj << -/D [1411 0 R /XYZ 150.705 740.998 null] +1418 0 obj << +/D [1416 0 R /XYZ 150.705 740.998 null] >> endobj -370 0 obj << -/D [1411 0 R /XYZ 150.705 696.813 null] +374 0 obj << +/D [1416 0 R /XYZ 150.705 696.813 null] >> endobj -1410 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F11 709 0 R /F27 525 0 R >> +1415 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F11 714 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1416 0 obj << +1421 0 obj << /Length 6993 >> stream @@ -16461,48 +16525,48 @@ BT ET endstream endobj -1415 0 obj << +1420 0 obj << /Type /Page -/Contents 1416 0 R -/Resources 1414 0 R +/Contents 1421 0 R +/Resources 1419 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1395 0 R ->> endobj -1417 0 obj << -/D [1415 0 R /XYZ 99.895 740.998 null] ->> endobj -1418 0 obj << -/D [1415 0 R /XYZ 99.895 702.144 null] ->> endobj -1419 0 obj << -/D [1415 0 R /XYZ 99.895 668.326 null] ->> endobj -1420 0 obj << -/D [1415 0 R /XYZ 99.895 624.491 null] ->> endobj -1421 0 obj << -/D [1415 0 R /XYZ 99.895 556.745 null] +/Parent 1400 0 R >> endobj 1422 0 obj << -/D [1415 0 R /XYZ 99.895 500.954 null] +/D [1420 0 R /XYZ 99.895 740.998 null] >> endobj 1423 0 obj << -/D [1415 0 R /XYZ 99.895 468.52 null] +/D [1420 0 R /XYZ 99.895 702.144 null] >> endobj 1424 0 obj << -/D [1415 0 R /XYZ 99.895 425.182 null] +/D [1420 0 R /XYZ 99.895 668.326 null] >> endobj 1425 0 obj << -/D [1415 0 R /XYZ 99.895 383.395 null] +/D [1420 0 R /XYZ 99.895 624.491 null] >> endobj 1426 0 obj << -/D [1415 0 R /XYZ 99.895 355.499 null] +/D [1420 0 R /XYZ 99.895 556.745 null] >> endobj -1414 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F7 725 0 R >> -/ProcSet [ /PDF /Text ] +1427 0 obj << +/D [1420 0 R /XYZ 99.895 500.954 null] +>> endobj +1428 0 obj << +/D [1420 0 R /XYZ 99.895 468.52 null] >> endobj 1429 0 obj << +/D [1420 0 R /XYZ 99.895 425.182 null] +>> endobj +1430 0 obj << +/D [1420 0 R /XYZ 99.895 383.395 null] +>> endobj +1431 0 obj << +/D [1420 0 R /XYZ 99.895 355.499 null] +>> endobj +1419 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F7 730 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1434 0 obj << /Length 186 >> stream @@ -16516,24 +16580,24 @@ BT ET endstream endobj -1428 0 obj << +1433 0 obj << /Type /Page -/Contents 1429 0 R -/Resources 1427 0 R +/Contents 1434 0 R +/Resources 1432 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1395 0 R +/Parent 1400 0 R >> endobj -1430 0 obj << -/D [1428 0 R /XYZ 150.705 740.998 null] +1435 0 obj << +/D [1433 0 R /XYZ 150.705 740.998 null] >> endobj -374 0 obj << -/D [1428 0 R /XYZ 150.705 716.092 null] +378 0 obj << +/D [1433 0 R /XYZ 150.705 716.092 null] >> endobj -1427 0 obj << -/Font << /F16 523 0 R /F8 526 0 R >> +1432 0 obj << +/Font << /F16 527 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1433 0 obj << +1438 0 obj << /Length 5566 >> stream @@ -16605,30 +16669,30 @@ BT ET endstream endobj -1432 0 obj << +1437 0 obj << /Type /Page -/Contents 1433 0 R -/Resources 1431 0 R +/Contents 1438 0 R +/Resources 1436 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1437 0 R +/Parent 1442 0 R >> endobj -1434 0 obj << -/D [1432 0 R /XYZ 99.895 740.998 null] +1439 0 obj << +/D [1437 0 R /XYZ 99.895 740.998 null] >> endobj -378 0 obj << -/D [1432 0 R /XYZ 99.895 697.37 null] +382 0 obj << +/D [1437 0 R /XYZ 99.895 697.37 null] >> endobj -1435 0 obj << -/D [1432 0 R /XYZ 99.895 235.436 null] +1440 0 obj << +/D [1437 0 R /XYZ 99.895 235.436 null] >> endobj -1436 0 obj << -/D [1432 0 R /XYZ 99.895 213.573 null] +1441 0 obj << +/D [1437 0 R /XYZ 99.895 213.573 null] >> endobj -1431 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +1436 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1440 0 obj << +1445 0 obj << /Length 4638 >> stream @@ -16682,30 +16746,30 @@ BT ET endstream endobj -1439 0 obj << +1444 0 obj << /Type /Page -/Contents 1440 0 R -/Resources 1438 0 R +/Contents 1445 0 R +/Resources 1443 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1437 0 R +/Parent 1442 0 R >> endobj -1441 0 obj << -/D [1439 0 R /XYZ 150.705 740.998 null] +1446 0 obj << +/D [1444 0 R /XYZ 150.705 740.998 null] >> endobj -382 0 obj << -/D [1439 0 R /XYZ 150.705 685.747 null] +386 0 obj << +/D [1444 0 R /XYZ 150.705 685.747 null] >> endobj -1442 0 obj << -/D [1439 0 R /XYZ 150.705 349.01 null] +1447 0 obj << +/D [1444 0 R /XYZ 150.705 349.01 null] >> endobj -1443 0 obj << -/D [1439 0 R /XYZ 150.705 315.192 null] +1448 0 obj << +/D [1444 0 R /XYZ 150.705 315.192 null] >> endobj -1438 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R >> +1443 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1446 0 obj << +1451 0 obj << /Length 4355 >> stream @@ -16756,33 +16820,33 @@ BT ET endstream endobj -1445 0 obj << +1450 0 obj << /Type /Page -/Contents 1446 0 R -/Resources 1444 0 R +/Contents 1451 0 R +/Resources 1449 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1437 0 R +/Parent 1442 0 R >> endobj -1447 0 obj << -/D [1445 0 R /XYZ 99.895 740.998 null] +1452 0 obj << +/D [1450 0 R /XYZ 99.895 740.998 null] >> endobj -386 0 obj << -/D [1445 0 R /XYZ 99.895 697.37 null] +390 0 obj << +/D [1450 0 R /XYZ 99.895 697.37 null] >> endobj -1448 0 obj << -/D [1445 0 R /XYZ 99.895 442.659 null] +1453 0 obj << +/D [1450 0 R /XYZ 99.895 442.659 null] >> endobj -1449 0 obj << -/D [1445 0 R /XYZ 99.895 396.886 null] +1454 0 obj << +/D [1450 0 R /XYZ 99.895 396.886 null] >> endobj -1450 0 obj << -/D [1445 0 R /XYZ 99.895 365.005 null] +1455 0 obj << +/D [1450 0 R /XYZ 99.895 365.005 null] >> endobj -1444 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +1449 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1453 0 obj << +1458 0 obj << /Length 2160 >> stream @@ -16831,24 +16895,24 @@ BT ET endstream endobj -1452 0 obj << +1457 0 obj << /Type /Page -/Contents 1453 0 R -/Resources 1451 0 R +/Contents 1458 0 R +/Resources 1456 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1437 0 R +/Parent 1442 0 R >> endobj -1454 0 obj << -/D [1452 0 R /XYZ 150.705 740.998 null] +1459 0 obj << +/D [1457 0 R /XYZ 150.705 740.998 null] >> endobj -390 0 obj << -/D [1452 0 R /XYZ 150.705 697.37 null] +394 0 obj << +/D [1457 0 R /XYZ 150.705 697.37 null] >> endobj -1451 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R >> +1456 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1457 0 obj << +1462 0 obj << /Length 3020 >> stream @@ -16901,24 +16965,24 @@ BT ET endstream endobj -1456 0 obj << +1461 0 obj << /Type /Page -/Contents 1457 0 R -/Resources 1455 0 R +/Contents 1462 0 R +/Resources 1460 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1437 0 R +/Parent 1442 0 R >> endobj -1458 0 obj << -/D [1456 0 R /XYZ 99.895 740.998 null] +1463 0 obj << +/D [1461 0 R /XYZ 99.895 740.998 null] >> endobj -394 0 obj << -/D [1456 0 R /XYZ 99.895 697.37 null] +398 0 obj << +/D [1461 0 R /XYZ 99.895 697.37 null] >> endobj -1455 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F11 709 0 R /F27 525 0 R /F14 727 0 R >> +1460 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F11 714 0 R /F27 529 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1461 0 obj << +1466 0 obj << /Length 1202 >> stream @@ -16953,24 +17017,24 @@ BT ET endstream endobj -1460 0 obj << +1465 0 obj << /Type /Page -/Contents 1461 0 R -/Resources 1459 0 R +/Contents 1466 0 R +/Resources 1464 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1437 0 R +/Parent 1442 0 R >> endobj -1462 0 obj << -/D [1460 0 R /XYZ 150.705 740.998 null] +1467 0 obj << +/D [1465 0 R /XYZ 150.705 740.998 null] >> endobj -398 0 obj << -/D [1460 0 R /XYZ 150.705 697.37 null] +402 0 obj << +/D [1465 0 R /XYZ 150.705 697.37 null] >> endobj -1459 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R >> +1464 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1465 0 obj << +1470 0 obj << /Length 1484 >> stream @@ -17005,24 +17069,24 @@ BT ET endstream endobj -1464 0 obj << +1469 0 obj << /Type /Page -/Contents 1465 0 R -/Resources 1463 0 R +/Contents 1470 0 R +/Resources 1468 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1467 0 R +/Parent 1472 0 R >> endobj -1466 0 obj << -/D [1464 0 R /XYZ 99.895 740.998 null] +1471 0 obj << +/D [1469 0 R /XYZ 99.895 740.998 null] >> endobj -402 0 obj << -/D [1464 0 R /XYZ 99.895 697.37 null] +406 0 obj << +/D [1469 0 R /XYZ 99.895 697.37 null] >> endobj -1463 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R >> +1468 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1470 0 obj << +1475 0 obj << /Length 1357 >> stream @@ -17057,24 +17121,24 @@ BT ET endstream endobj -1469 0 obj << +1474 0 obj << /Type /Page -/Contents 1470 0 R -/Resources 1468 0 R +/Contents 1475 0 R +/Resources 1473 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1467 0 R +/Parent 1472 0 R >> endobj -1471 0 obj << -/D [1469 0 R /XYZ 150.705 740.998 null] +1476 0 obj << +/D [1474 0 R /XYZ 150.705 740.998 null] >> endobj -406 0 obj << -/D [1469 0 R /XYZ 150.705 697.37 null] +410 0 obj << +/D [1474 0 R /XYZ 150.705 697.37 null] >> endobj -1468 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R >> +1473 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1474 0 obj << +1479 0 obj << /Length 4552 >> stream @@ -17124,24 +17188,24 @@ BT ET endstream endobj -1473 0 obj << +1478 0 obj << /Type /Page -/Contents 1474 0 R -/Resources 1472 0 R +/Contents 1479 0 R +/Resources 1477 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1467 0 R +/Parent 1472 0 R >> endobj -1475 0 obj << -/D [1473 0 R /XYZ 99.895 740.998 null] +1480 0 obj << +/D [1478 0 R /XYZ 99.895 740.998 null] >> endobj -410 0 obj << -/D [1473 0 R /XYZ 99.895 697.37 null] +414 0 obj << +/D [1478 0 R /XYZ 99.895 697.37 null] >> endobj -1472 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +1477 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1478 0 obj << +1483 0 obj << /Length 5199 >> stream @@ -17199,30 +17263,30 @@ BT ET endstream endobj -1477 0 obj << +1482 0 obj << /Type /Page -/Contents 1478 0 R -/Resources 1476 0 R +/Contents 1483 0 R +/Resources 1481 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1467 0 R +/Parent 1472 0 R >> endobj -1479 0 obj << -/D [1477 0 R /XYZ 150.705 740.998 null] +1484 0 obj << +/D [1482 0 R /XYZ 150.705 740.998 null] >> endobj -414 0 obj << -/D [1477 0 R /XYZ 150.705 697.37 null] +418 0 obj << +/D [1482 0 R /XYZ 150.705 697.37 null] >> endobj -1480 0 obj << -/D [1477 0 R /XYZ 150.705 247.391 null] +1485 0 obj << +/D [1482 0 R /XYZ 150.705 247.391 null] >> endobj -1481 0 obj << -/D [1477 0 R /XYZ 150.705 213.573 null] +1486 0 obj << +/D [1482 0 R /XYZ 150.705 213.573 null] >> endobj -1476 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R >> +1481 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1484 0 obj << +1489 0 obj << /Length 5151 >> stream @@ -17280,30 +17344,30 @@ BT ET endstream endobj -1483 0 obj << +1488 0 obj << /Type /Page -/Contents 1484 0 R -/Resources 1482 0 R +/Contents 1489 0 R +/Resources 1487 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1467 0 R +/Parent 1472 0 R >> endobj -1485 0 obj << -/D [1483 0 R /XYZ 99.895 740.998 null] +1490 0 obj << +/D [1488 0 R /XYZ 99.895 740.998 null] >> endobj -418 0 obj << -/D [1483 0 R /XYZ 99.895 697.37 null] +422 0 obj << +/D [1488 0 R /XYZ 99.895 697.37 null] >> endobj -1486 0 obj << -/D [1483 0 R /XYZ 99.895 247.391 null] +1491 0 obj << +/D [1488 0 R /XYZ 99.895 247.391 null] >> endobj -1487 0 obj << -/D [1483 0 R /XYZ 99.895 213.573 null] +1492 0 obj << +/D [1488 0 R /XYZ 99.895 213.573 null] >> endobj -1482 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R >> +1487 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1490 0 obj << +1495 0 obj << /Length 5183 >> stream @@ -17361,30 +17425,30 @@ BT ET endstream endobj -1489 0 obj << +1494 0 obj << /Type /Page -/Contents 1490 0 R -/Resources 1488 0 R +/Contents 1495 0 R +/Resources 1493 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1467 0 R +/Parent 1472 0 R >> endobj -1491 0 obj << -/D [1489 0 R /XYZ 150.705 740.998 null] +1496 0 obj << +/D [1494 0 R /XYZ 150.705 740.998 null] >> endobj -422 0 obj << -/D [1489 0 R /XYZ 150.705 697.37 null] +426 0 obj << +/D [1494 0 R /XYZ 150.705 697.37 null] >> endobj -1492 0 obj << -/D [1489 0 R /XYZ 150.705 247.391 null] +1497 0 obj << +/D [1494 0 R /XYZ 150.705 247.391 null] >> endobj -1493 0 obj << -/D [1489 0 R /XYZ 150.705 213.573 null] +1498 0 obj << +/D [1494 0 R /XYZ 150.705 213.573 null] >> endobj -1488 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R >> +1493 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1496 0 obj << +1501 0 obj << /Length 5239 >> stream @@ -17442,30 +17506,30 @@ BT ET endstream endobj -1495 0 obj << +1500 0 obj << /Type /Page -/Contents 1496 0 R -/Resources 1494 0 R +/Contents 1501 0 R +/Resources 1499 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1500 0 R +/Parent 1505 0 R >> endobj -1497 0 obj << -/D [1495 0 R /XYZ 99.895 740.998 null] +1502 0 obj << +/D [1500 0 R /XYZ 99.895 740.998 null] >> endobj -426 0 obj << -/D [1495 0 R /XYZ 99.895 697.37 null] +430 0 obj << +/D [1500 0 R /XYZ 99.895 697.37 null] >> endobj -1498 0 obj << -/D [1495 0 R /XYZ 99.895 235.436 null] +1503 0 obj << +/D [1500 0 R /XYZ 99.895 235.436 null] >> endobj -1499 0 obj << -/D [1495 0 R /XYZ 99.895 201.618 null] +1504 0 obj << +/D [1500 0 R /XYZ 99.895 201.618 null] >> endobj -1494 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R >> +1499 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1503 0 obj << +1508 0 obj << /Length 5273 >> stream @@ -17523,30 +17587,30 @@ BT ET endstream endobj -1502 0 obj << +1507 0 obj << /Type /Page -/Contents 1503 0 R -/Resources 1501 0 R +/Contents 1508 0 R +/Resources 1506 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1500 0 R +/Parent 1505 0 R >> endobj -1504 0 obj << -/D [1502 0 R /XYZ 150.705 740.998 null] +1509 0 obj << +/D [1507 0 R /XYZ 150.705 740.998 null] >> endobj -430 0 obj << -/D [1502 0 R /XYZ 150.705 697.37 null] +434 0 obj << +/D [1507 0 R /XYZ 150.705 697.37 null] >> endobj -1505 0 obj << -/D [1502 0 R /XYZ 150.705 235.436 null] +1510 0 obj << +/D [1507 0 R /XYZ 150.705 235.436 null] >> endobj -1506 0 obj << -/D [1502 0 R /XYZ 150.705 201.618 null] +1511 0 obj << +/D [1507 0 R /XYZ 150.705 201.618 null] >> endobj -1501 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F14 727 0 R /F11 709 0 R >> +1506 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F14 732 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1509 0 obj << +1514 0 obj << /Length 5346 >> stream @@ -17601,27 +17665,27 @@ BT ET endstream endobj -1508 0 obj << +1513 0 obj << /Type /Page -/Contents 1509 0 R -/Resources 1507 0 R +/Contents 1514 0 R +/Resources 1512 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1500 0 R +/Parent 1505 0 R >> endobj -1510 0 obj << -/D [1508 0 R /XYZ 99.895 740.998 null] +1515 0 obj << +/D [1513 0 R /XYZ 99.895 740.998 null] >> endobj -434 0 obj << -/D [1508 0 R /XYZ 99.895 697.37 null] +438 0 obj << +/D [1513 0 R /XYZ 99.895 697.37 null] >> endobj -1511 0 obj << -/D [1508 0 R /XYZ 99.895 223.48 null] +1516 0 obj << +/D [1513 0 R /XYZ 99.895 223.48 null] >> endobj -1507 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +1512 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1514 0 obj << +1519 0 obj << /Length 5364 >> stream @@ -17675,27 +17739,27 @@ BT ET endstream endobj -1513 0 obj << +1518 0 obj << /Type /Page -/Contents 1514 0 R -/Resources 1512 0 R +/Contents 1519 0 R +/Resources 1517 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1500 0 R +/Parent 1505 0 R >> endobj -1515 0 obj << -/D [1513 0 R /XYZ 150.705 740.998 null] +1520 0 obj << +/D [1518 0 R /XYZ 150.705 740.998 null] >> endobj -438 0 obj << -/D [1513 0 R /XYZ 150.705 697.37 null] +442 0 obj << +/D [1518 0 R /XYZ 150.705 697.37 null] >> endobj -1516 0 obj << -/D [1513 0 R /XYZ 150.705 223.48 null] +1521 0 obj << +/D [1518 0 R /XYZ 150.705 223.48 null] >> endobj -1512 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F8 526 0 R /F27 525 0 R /F11 709 0 R /F14 727 0 R >> +1517 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F8 530 0 R /F27 529 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1521 0 obj << +1526 0 obj << /Length 6381 >> stream @@ -17717,39 +17781,39 @@ BT ET endstream endobj -1520 0 obj << +1525 0 obj << /Type /Page -/Contents 1521 0 R -/Resources 1519 0 R +/Contents 1526 0 R +/Resources 1524 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1500 0 R -/Annots [ 1517 0 R 1518 0 R ] +/Parent 1505 0 R +/Annots [ 1522 0 R 1523 0 R ] >> endobj -1517 0 obj << +1522 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [145.477 501.77 152.451 512.895] /Subtype /Link /A << /S /GoTo /D (figure.9) >> >> endobj -1518 0 obj << +1523 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [146.734 346.63 158.689 357.478] /Subtype /Link /A << /S /GoTo /D (figure.10) >> >> endobj -1522 0 obj << -/D [1520 0 R /XYZ 99.895 740.998 null] +1527 0 obj << +/D [1525 0 R /XYZ 99.895 740.998 null] >> endobj -442 0 obj << -/D [1520 0 R /XYZ 99.895 716.092 null] +446 0 obj << +/D [1525 0 R /XYZ 99.895 716.092 null] >> endobj -1519 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F30 724 0 R >> +1524 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1527 0 obj << +1532 0 obj << /Length 7110 >> stream @@ -17900,102 +17964,102 @@ BT ET endstream endobj -1526 0 obj << +1531 0 obj << /Type /Page -/Contents 1527 0 R -/Resources 1525 0 R +/Contents 1532 0 R +/Resources 1530 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1500 0 R ->> endobj -1528 0 obj << -/D [1526 0 R /XYZ 150.705 740.998 null] ->> endobj -1529 0 obj << -/D [1526 0 R /XYZ 159.073 687.737 null] ->> endobj -1530 0 obj << -/D [1526 0 R /XYZ 159.073 691.025 null] ->> endobj -1532 0 obj << -/D [1526 0 R /XYZ 159.073 680.066 null] +/Parent 1505 0 R >> endobj 1533 0 obj << -/D [1526 0 R /XYZ 159.073 669.107 null] +/D [1531 0 R /XYZ 150.705 740.998 null] >> endobj 1534 0 obj << -/D [1526 0 R /XYZ 159.073 658.148 null] +/D [1531 0 R /XYZ 159.073 687.737 null] >> endobj 1535 0 obj << -/D [1526 0 R /XYZ 159.073 647.189 null] ->> endobj -1536 0 obj << -/D [1526 0 R /XYZ 159.073 636.23 null] +/D [1531 0 R /XYZ 159.073 691.025 null] >> endobj 1537 0 obj << -/D [1526 0 R /XYZ 159.073 625.271 null] +/D [1531 0 R /XYZ 159.073 680.066 null] >> endobj 1538 0 obj << -/D [1526 0 R /XYZ 159.073 614.312 null] +/D [1531 0 R /XYZ 159.073 669.107 null] >> endobj 1539 0 obj << -/D [1526 0 R /XYZ 159.073 603.353 null] +/D [1531 0 R /XYZ 159.073 658.148 null] >> endobj 1540 0 obj << -/D [1526 0 R /XYZ 159.073 592.394 null] +/D [1531 0 R /XYZ 159.073 647.189 null] >> endobj 1541 0 obj << -/D [1526 0 R /XYZ 159.073 581.436 null] +/D [1531 0 R /XYZ 159.073 636.23 null] >> endobj 1542 0 obj << -/D [1526 0 R /XYZ 159.073 570.477 null] +/D [1531 0 R /XYZ 159.073 625.271 null] >> endobj 1543 0 obj << -/D [1526 0 R /XYZ 159.073 559.518 null] +/D [1531 0 R /XYZ 159.073 614.312 null] >> endobj 1544 0 obj << -/D [1526 0 R /XYZ 159.073 548.559 null] +/D [1531 0 R /XYZ 159.073 603.353 null] >> endobj 1545 0 obj << -/D [1526 0 R /XYZ 159.073 537.6 null] +/D [1531 0 R /XYZ 159.073 592.394 null] >> endobj 1546 0 obj << -/D [1526 0 R /XYZ 159.073 526.641 null] +/D [1531 0 R /XYZ 159.073 581.436 null] >> endobj 1547 0 obj << -/D [1526 0 R /XYZ 159.073 515.682 null] +/D [1531 0 R /XYZ 159.073 570.477 null] >> endobj 1548 0 obj << -/D [1526 0 R /XYZ 159.073 504.723 null] +/D [1531 0 R /XYZ 159.073 559.518 null] >> endobj 1549 0 obj << -/D [1526 0 R /XYZ 159.073 493.764 null] +/D [1531 0 R /XYZ 159.073 548.559 null] >> endobj 1550 0 obj << -/D [1526 0 R /XYZ 159.073 482.805 null] +/D [1531 0 R /XYZ 159.073 537.6 null] >> endobj 1551 0 obj << -/D [1526 0 R /XYZ 159.073 471.847 null] +/D [1531 0 R /XYZ 159.073 526.641 null] >> endobj 1552 0 obj << -/D [1526 0 R /XYZ 159.073 460.888 null] +/D [1531 0 R /XYZ 159.073 515.682 null] >> endobj 1553 0 obj << -/D [1526 0 R /XYZ 159.073 449.929 null] +/D [1531 0 R /XYZ 159.073 504.723 null] >> endobj 1554 0 obj << -/D [1526 0 R /XYZ 159.073 438.97 null] +/D [1531 0 R /XYZ 159.073 493.764 null] >> endobj -1523 0 obj << -/D [1526 0 R /XYZ 194.261 394.492 null] +1555 0 obj << +/D [1531 0 R /XYZ 159.073 482.805 null] >> endobj -1524 0 obj << -/D [1526 0 R /XYZ 200.884 149.223 null] +1556 0 obj << +/D [1531 0 R /XYZ 159.073 471.847 null] >> endobj -1525 0 obj << -/Font << /F52 1531 0 R /F45 1102 0 R /F8 526 0 R /F30 724 0 R >> +1557 0 obj << +/D [1531 0 R /XYZ 159.073 460.888 null] +>> endobj +1558 0 obj << +/D [1531 0 R /XYZ 159.073 449.929 null] +>> endobj +1559 0 obj << +/D [1531 0 R /XYZ 159.073 438.97 null] +>> endobj +1528 0 obj << +/D [1531 0 R /XYZ 194.261 394.492 null] +>> endobj +1529 0 obj << +/D [1531 0 R /XYZ 200.884 149.223 null] +>> endobj +1530 0 obj << +/Font << /F52 1536 0 R /F45 1107 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1557 0 obj << +1562 0 obj << /Length 3725 >> stream @@ -18106,30 +18170,30 @@ BT ET endstream endobj -1556 0 obj << +1561 0 obj << /Type /Page -/Contents 1557 0 R -/Resources 1555 0 R +/Contents 1562 0 R +/Resources 1560 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1561 0 R +/Parent 1566 0 R >> endobj -1558 0 obj << -/D [1556 0 R /XYZ 99.895 740.998 null] +1563 0 obj << +/D [1561 0 R /XYZ 99.895 740.998 null] >> endobj -446 0 obj << -/D [1556 0 R /XYZ 99.895 644.457 null] +450 0 obj << +/D [1561 0 R /XYZ 99.895 644.457 null] >> endobj -1559 0 obj << -/D [1556 0 R /XYZ 99.895 638.48 null] +1564 0 obj << +/D [1561 0 R /XYZ 99.895 638.48 null] >> endobj -1560 0 obj << -/D [1556 0 R /XYZ 99.895 638.48 null] +1565 0 obj << +/D [1561 0 R /XYZ 99.895 638.48 null] >> endobj -1555 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R >> +1560 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1564 0 obj << +1569 0 obj << /Length 1400 >> stream @@ -18172,30 +18236,30 @@ BT ET endstream endobj -1563 0 obj << +1568 0 obj << /Type /Page -/Contents 1564 0 R -/Resources 1562 0 R +/Contents 1569 0 R +/Resources 1567 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1561 0 R +/Parent 1566 0 R >> endobj -1565 0 obj << -/D [1563 0 R /XYZ 150.705 740.998 null] +1570 0 obj << +/D [1568 0 R /XYZ 150.705 740.998 null] >> endobj -450 0 obj << -/D [1563 0 R /XYZ 150.705 644.457 null] +454 0 obj << +/D [1568 0 R /XYZ 150.705 644.457 null] >> endobj -1566 0 obj << -/D [1563 0 R /XYZ 150.705 638.48 null] +1571 0 obj << +/D [1568 0 R /XYZ 150.705 638.48 null] >> endobj -1567 0 obj << -/D [1563 0 R /XYZ 150.705 638.48 null] +1572 0 obj << +/D [1568 0 R /XYZ 150.705 638.48 null] >> endobj -1562 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R >> +1567 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1570 0 obj << +1575 0 obj << /Length 1631 >> stream @@ -18252,30 +18316,30 @@ BT ET endstream endobj -1569 0 obj << +1574 0 obj << /Type /Page -/Contents 1570 0 R -/Resources 1568 0 R +/Contents 1575 0 R +/Resources 1573 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1561 0 R +/Parent 1566 0 R >> endobj -1571 0 obj << -/D [1569 0 R /XYZ 99.895 740.998 null] +1576 0 obj << +/D [1574 0 R /XYZ 99.895 740.998 null] >> endobj -454 0 obj << -/D [1569 0 R /XYZ 99.895 641.668 null] +458 0 obj << +/D [1574 0 R /XYZ 99.895 641.668 null] >> endobj -1572 0 obj << -/D [1569 0 R /XYZ 99.895 635.69 null] +1577 0 obj << +/D [1574 0 R /XYZ 99.895 635.69 null] >> endobj -1573 0 obj << -/D [1569 0 R /XYZ 99.895 638.48 null] +1578 0 obj << +/D [1574 0 R /XYZ 99.895 638.48 null] >> endobj -1568 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R >> +1573 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1576 0 obj << +1581 0 obj << /Length 2106 >> stream @@ -18346,30 +18410,30 @@ BT ET endstream endobj -1575 0 obj << +1580 0 obj << /Type /Page -/Contents 1576 0 R -/Resources 1574 0 R +/Contents 1581 0 R +/Resources 1579 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1561 0 R +/Parent 1566 0 R >> endobj -1577 0 obj << -/D [1575 0 R /XYZ 150.705 740.998 null] +1582 0 obj << +/D [1580 0 R /XYZ 150.705 740.998 null] >> endobj -458 0 obj << -/D [1575 0 R /XYZ 150.705 641.668 null] +462 0 obj << +/D [1580 0 R /XYZ 150.705 641.668 null] >> endobj -1578 0 obj << -/D [1575 0 R /XYZ 150.705 635.69 null] +1583 0 obj << +/D [1580 0 R /XYZ 150.705 635.69 null] +>> endobj +1584 0 obj << +/D [1580 0 R /XYZ 150.705 638.48 null] >> endobj 1579 0 obj << -/D [1575 0 R /XYZ 150.705 638.48 null] ->> endobj -1574 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1582 0 obj << +1587 0 obj << /Length 525 >> stream @@ -18383,24 +18447,24 @@ BT ET endstream endobj -1581 0 obj << +1586 0 obj << /Type /Page -/Contents 1582 0 R -/Resources 1580 0 R +/Contents 1587 0 R +/Resources 1585 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1561 0 R +/Parent 1566 0 R >> endobj -1583 0 obj << -/D [1581 0 R /XYZ 99.895 740.998 null] +1588 0 obj << +/D [1586 0 R /XYZ 99.895 740.998 null] >> endobj -462 0 obj << -/D [1581 0 R /XYZ 99.895 716.092 null] +466 0 obj << +/D [1586 0 R /XYZ 99.895 716.092 null] >> endobj -1580 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F30 724 0 R >> +1585 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1587 0 obj << +1592 0 obj << /Length 4778 >> stream @@ -18484,38 +18548,38 @@ BT ET endstream endobj -1586 0 obj << +1591 0 obj << /Type /Page -/Contents 1587 0 R -/Resources 1585 0 R +/Contents 1592 0 R +/Resources 1590 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1561 0 R -/Annots [ 1584 0 R ] +/Parent 1566 0 R +/Annots [ 1589 0 R ] >> endobj -1584 0 obj << +1589 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 408.121 423.049 419.246] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1588 0 obj << -/D [1586 0 R /XYZ 150.705 740.998 null] +1593 0 obj << +/D [1591 0 R /XYZ 150.705 740.998 null] >> endobj -466 0 obj << -/D [1586 0 R /XYZ 150.705 641.668 null] +470 0 obj << +/D [1591 0 R /XYZ 150.705 641.668 null] >> endobj -1589 0 obj << -/D [1586 0 R /XYZ 150.705 635.69 null] +1594 0 obj << +/D [1591 0 R /XYZ 150.705 635.69 null] >> endobj -1590 0 obj << -/D [1586 0 R /XYZ 150.705 638.48 null] +1595 0 obj << +/D [1591 0 R /XYZ 150.705 638.48 null] >> endobj -1585 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +1590 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1594 0 obj << +1599 0 obj << /Length 5254 >> stream @@ -18603,38 +18667,38 @@ BT ET endstream endobj -1593 0 obj << +1598 0 obj << /Type /Page -/Contents 1594 0 R -/Resources 1592 0 R +/Contents 1599 0 R +/Resources 1597 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1598 0 R -/Annots [ 1591 0 R ] +/Parent 1603 0 R +/Annots [ 1596 0 R ] >> endobj -1591 0 obj << +1596 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 541.621 372.239 552.746] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1595 0 obj << -/D [1593 0 R /XYZ 99.895 740.998 null] +1600 0 obj << +/D [1598 0 R /XYZ 99.895 740.998 null] >> endobj -470 0 obj << -/D [1593 0 R /XYZ 99.895 641.668 null] +474 0 obj << +/D [1598 0 R /XYZ 99.895 641.668 null] >> endobj -1596 0 obj << -/D [1593 0 R /XYZ 99.895 635.69 null] +1601 0 obj << +/D [1598 0 R /XYZ 99.895 635.69 null] >> endobj -1597 0 obj << -/D [1593 0 R /XYZ 99.895 638.48 null] +1602 0 obj << +/D [1598 0 R /XYZ 99.895 638.48 null] >> endobj -1592 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +1597 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1602 0 obj << +1607 0 obj << /Length 3660 >> stream @@ -18724,38 +18788,38 @@ BT ET endstream endobj -1601 0 obj << +1606 0 obj << /Type /Page -/Contents 1602 0 R -/Resources 1600 0 R +/Contents 1607 0 R +/Resources 1605 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1598 0 R -/Annots [ 1599 0 R ] +/Parent 1603 0 R +/Annots [ 1604 0 R ] >> endobj -1599 0 obj << +1604 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 408.121 423.049 419.246] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1603 0 obj << -/D [1601 0 R /XYZ 150.705 740.998 null] +1608 0 obj << +/D [1606 0 R /XYZ 150.705 740.998 null] >> endobj -474 0 obj << -/D [1601 0 R /XYZ 150.705 644.457 null] +478 0 obj << +/D [1606 0 R /XYZ 150.705 644.457 null] >> endobj -1604 0 obj << -/D [1601 0 R /XYZ 150.705 638.48 null] +1609 0 obj << +/D [1606 0 R /XYZ 150.705 638.48 null] >> endobj -1605 0 obj << -/D [1601 0 R /XYZ 150.705 638.48 null] +1610 0 obj << +/D [1606 0 R /XYZ 150.705 638.48 null] >> endobj -1600 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +1605 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1608 0 obj << +1613 0 obj << /Length 3695 >> stream @@ -18827,30 +18891,30 @@ BT ET endstream endobj -1607 0 obj << +1612 0 obj << /Type /Page -/Contents 1608 0 R -/Resources 1606 0 R +/Contents 1613 0 R +/Resources 1611 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1598 0 R +/Parent 1603 0 R >> endobj -1609 0 obj << -/D [1607 0 R /XYZ 99.895 740.998 null] +1614 0 obj << +/D [1612 0 R /XYZ 99.895 740.998 null] >> endobj -478 0 obj << -/D [1607 0 R /XYZ 99.895 644.457 null] +482 0 obj << +/D [1612 0 R /XYZ 99.895 644.457 null] >> endobj -1610 0 obj << -/D [1607 0 R /XYZ 99.895 638.48 null] +1615 0 obj << +/D [1612 0 R /XYZ 99.895 638.48 null] >> endobj -1611 0 obj << -/D [1607 0 R /XYZ 99.895 638.48 null] +1616 0 obj << +/D [1612 0 R /XYZ 99.895 638.48 null] >> endobj -1606 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +1611 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1615 0 obj << +1620 0 obj << /Length 4189 >> stream @@ -18944,38 +19008,38 @@ BT ET endstream endobj -1614 0 obj << +1619 0 obj << /Type /Page -/Contents 1615 0 R -/Resources 1613 0 R +/Contents 1620 0 R +/Resources 1618 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1598 0 R -/Annots [ 1612 0 R ] +/Parent 1603 0 R +/Annots [ 1617 0 R ] >> endobj -1612 0 obj << +1617 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 541.621 423.049 552.746] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1616 0 obj << -/D [1614 0 R /XYZ 150.705 740.998 null] +1621 0 obj << +/D [1619 0 R /XYZ 150.705 740.998 null] >> endobj -482 0 obj << -/D [1614 0 R /XYZ 150.705 644.457 null] +486 0 obj << +/D [1619 0 R /XYZ 150.705 644.457 null] >> endobj -1617 0 obj << -/D [1614 0 R /XYZ 150.705 638.48 null] +1622 0 obj << +/D [1619 0 R /XYZ 150.705 638.48 null] >> endobj -1618 0 obj << -/D [1614 0 R /XYZ 150.705 638.48 null] +1623 0 obj << +/D [1619 0 R /XYZ 150.705 638.48 null] >> endobj -1613 0 obj << -/Font << /F16 523 0 R /F27 525 0 R /F8 526 0 R /F30 724 0 R >> +1618 0 obj << +/Font << /F16 527 0 R /F27 529 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1621 0 obj << +1626 0 obj << /Length 910 >> stream @@ -18997,24 +19061,24 @@ BT ET endstream endobj -1620 0 obj << +1625 0 obj << /Type /Page -/Contents 1621 0 R -/Resources 1619 0 R +/Contents 1626 0 R +/Resources 1624 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1598 0 R +/Parent 1603 0 R >> endobj -1622 0 obj << -/D [1620 0 R /XYZ 99.895 740.998 null] +1627 0 obj << +/D [1625 0 R /XYZ 99.895 740.998 null] >> endobj -486 0 obj << -/D [1620 0 R /XYZ 99.895 716.092 null] +490 0 obj << +/D [1625 0 R /XYZ 99.895 716.092 null] >> endobj -1619 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F14 727 0 R /F30 724 0 R >> +1624 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F14 732 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1627 0 obj << +1632 0 obj << /Length 4654 >> stream @@ -19103,42 +19167,42 @@ BT ET endstream endobj -1626 0 obj << +1631 0 obj << /Type /Page -/Contents 1627 0 R -/Resources 1625 0 R +/Contents 1632 0 R +/Resources 1630 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1598 0 R -/Annots [ 1623 0 R 1624 0 R ] +/Parent 1603 0 R +/Annots [ 1628 0 R 1629 0 R ] >> endobj -1623 0 obj << +1628 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [372.153 511.179 439.211 522.304] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1624 0 obj << +1629 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [219.641 421.792 226.103 433.832] /Subtype /Link /A << /S /GoTo /D (Hfootnote.3) >> >> endobj -1628 0 obj << -/D [1626 0 R /XYZ 150.705 740.998 null] +1633 0 obj << +/D [1631 0 R /XYZ 150.705 740.998 null] >> endobj -490 0 obj << -/D [1626 0 R /XYZ 150.705 697.37 null] +494 0 obj << +/D [1631 0 R /XYZ 150.705 697.37 null] >> endobj -1629 0 obj << -/D [1626 0 R /XYZ 165.948 129.79 null] +1634 0 obj << +/D [1631 0 R /XYZ 165.948 129.79 null] >> endobj -1625 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R /F11 709 0 R /F7 725 0 R /F32 728 0 R /F31 730 0 R >> +1630 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R /F11 714 0 R /F7 730 0 R /F32 733 0 R /F31 735 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1636 0 obj << +1641 0 obj << /Length 7157 >> stream @@ -19333,53 +19397,53 @@ BT ET endstream endobj -1635 0 obj << +1640 0 obj << /Type /Page -/Contents 1636 0 R -/Resources 1634 0 R +/Contents 1641 0 R +/Resources 1639 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1638 0 R -/Annots [ 1630 0 R 1631 0 R 1632 0 R 1633 0 R ] +/Parent 1643 0 R +/Annots [ 1635 0 R 1636 0 R 1637 0 R 1638 0 R ] >> endobj -1630 0 obj << +1635 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [317.856 586.895 395.375 598.02] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1631 0 obj << +1636 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [396.921 519.15 463.979 530.274] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1632 0 obj << +1637 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [371.488 451.404 438.546 462.529] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1633 0 obj << +1638 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [318.576 226.248 385.634 237.373] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1637 0 obj << -/D [1635 0 R /XYZ 99.895 740.998 null] +1642 0 obj << +/D [1640 0 R /XYZ 99.895 740.998 null] >> endobj -494 0 obj << -/D [1635 0 R /XYZ 99.895 697.37 null] +498 0 obj << +/D [1640 0 R /XYZ 99.895 697.37 null] >> endobj -1634 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1639 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1645 0 obj << +1650 0 obj << /Length 5992 >> stream @@ -19534,53 +19598,53 @@ BT ET endstream endobj -1644 0 obj << +1649 0 obj << /Type /Page -/Contents 1645 0 R -/Resources 1643 0 R +/Contents 1650 0 R +/Resources 1648 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1638 0 R -/Annots [ 1639 0 R 1640 0 R 1641 0 R 1642 0 R ] +/Parent 1643 0 R +/Annots [ 1644 0 R 1645 0 R 1646 0 R 1647 0 R ] >> endobj -1639 0 obj << +1644 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [372.153 574.94 439.211 586.065] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1640 0 obj << +1645 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [398.111 519.15 474.165 530.274] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1641 0 obj << +1646 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [375.695 463.359 442.753 474.484] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1642 0 obj << +1647 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [398.111 274.069 474.165 285.194] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1646 0 obj << -/D [1644 0 R /XYZ 150.705 740.998 null] +1651 0 obj << +/D [1649 0 R /XYZ 150.705 740.998 null] >> endobj -498 0 obj << -/D [1644 0 R /XYZ 150.705 697.37 null] +502 0 obj << +/D [1649 0 R /XYZ 150.705 697.37 null] >> endobj -1643 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1648 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1650 0 obj << +1655 0 obj << /Length 2003 >> stream @@ -19637,32 +19701,32 @@ BT ET endstream endobj -1649 0 obj << +1654 0 obj << /Type /Page -/Contents 1650 0 R -/Resources 1648 0 R +/Contents 1655 0 R +/Resources 1653 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1638 0 R -/Annots [ 1647 0 R ] +/Parent 1643 0 R +/Annots [ 1652 0 R ] >> endobj -1647 0 obj << +1652 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [321.343 560.993 388.401 572.118] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1651 0 obj << -/D [1649 0 R /XYZ 99.895 740.998 null] +1656 0 obj << +/D [1654 0 R /XYZ 99.895 740.998 null] >> endobj -502 0 obj << -/D [1649 0 R /XYZ 99.895 685.747 null] +506 0 obj << +/D [1654 0 R /XYZ 99.895 685.747 null] >> endobj -1648 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1653 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1654 0 obj << +1659 0 obj << /Length 987 >> stream @@ -19701,24 +19765,24 @@ BT ET endstream endobj -1653 0 obj << +1658 0 obj << /Type /Page -/Contents 1654 0 R -/Resources 1652 0 R +/Contents 1659 0 R +/Resources 1657 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1638 0 R +/Parent 1643 0 R >> endobj -1655 0 obj << -/D [1653 0 R /XYZ 150.705 740.998 null] +1660 0 obj << +/D [1658 0 R /XYZ 150.705 740.998 null] >> endobj -506 0 obj << -/D [1653 0 R /XYZ 150.705 697.37 null] +510 0 obj << +/D [1658 0 R /XYZ 150.705 697.37 null] >> endobj -1652 0 obj << -/Font << /F16 523 0 R /F30 724 0 R /F27 525 0 R /F8 526 0 R >> +1657 0 obj << +/Font << /F16 527 0 R /F30 729 0 R /F27 529 0 R /F8 530 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1658 0 obj << +1663 0 obj << /Length 598 >> stream @@ -19732,24 +19796,24 @@ BT ET endstream endobj -1657 0 obj << +1662 0 obj << /Type /Page -/Contents 1658 0 R -/Resources 1656 0 R +/Contents 1663 0 R +/Resources 1661 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1638 0 R +/Parent 1643 0 R >> endobj -1659 0 obj << -/D [1657 0 R /XYZ 99.895 740.998 null] +1664 0 obj << +/D [1662 0 R /XYZ 99.895 740.998 null] >> endobj -510 0 obj << -/D [1657 0 R /XYZ 99.895 716.092 null] +514 0 obj << +/D [1662 0 R /XYZ 99.895 716.092 null] >> endobj -1656 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F30 724 0 R >> +1661 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1666 0 obj << +1671 0 obj << /Length 8481 >> stream @@ -19908,55 +19972,55 @@ BT ET endstream endobj -1665 0 obj << +1670 0 obj << /Type /Page -/Contents 1666 0 R -/Resources 1664 0 R +/Contents 1671 0 R +/Resources 1669 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1638 0 R -/Annots [ 1660 0 R 1661 0 R 1662 0 R ] +/Parent 1643 0 R +/Annots [ 1665 0 R 1666 0 R 1667 0 R ] >> endobj -1660 0 obj << +1665 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 250.725 423.049 261.849] /Subtype /Link /A << /S /GoTo /D (spdata) >> >> endobj -1661 0 obj << +1666 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [345.53 183.92 412.588 195.045] /Subtype /Link /A << /S /GoTo /D (precdata) >> >> endobj -1662 0 obj << +1667 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [398.111 117.115 474.165 128.24] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1667 0 obj << -/D [1665 0 R /XYZ 150.705 740.998 null] +1672 0 obj << +/D [1670 0 R /XYZ 150.705 740.998 null] >> endobj -514 0 obj << -/D [1665 0 R /XYZ 150.705 697.37 null] +518 0 obj << +/D [1670 0 R /XYZ 150.705 697.37 null] >> endobj -1668 0 obj << -/D [1665 0 R /XYZ 150.705 525.106 null] +1673 0 obj << +/D [1670 0 R /XYZ 150.705 525.106 null] >> endobj -1669 0 obj << -/D [1665 0 R /XYZ 150.705 525.106 null] +1674 0 obj << +/D [1670 0 R /XYZ 150.705 525.106 null] >> endobj -1670 0 obj << -/D [1665 0 R /XYZ 150.705 513.151 null] +1675 0 obj << +/D [1670 0 R /XYZ 150.705 513.151 null] >> endobj -1664 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F11 709 0 R /F14 727 0 R /F10 726 0 R /F7 725 0 R /F27 525 0 R /F30 724 0 R >> +1669 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F11 714 0 R /F14 732 0 R /F10 731 0 R /F7 730 0 R /F27 529 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1675 0 obj << +1680 0 obj << /Length 6694 >> stream @@ -20079,43 +20143,43 @@ BT ET endstream endobj -1674 0 obj << +1679 0 obj << /Type /Page -/Contents 1675 0 R -/Resources 1673 0 R +/Contents 1680 0 R +/Resources 1678 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1677 0 R -/Annots [ 1663 0 R 1671 0 R 1672 0 R ] +/Parent 1682 0 R +/Annots [ 1668 0 R 1676 0 R 1677 0 R ] >> endobj -1663 0 obj << +1668 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [347.301 655.098 423.355 666.223] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1671 0 obj << +1676 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [294.721 520.602 361.779 531.727] /Subtype /Link /A << /S /GoTo /D (descdata) >> >> endobj -1672 0 obj << +1677 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [347.301 117.115 423.355 128.24] /Subtype /Link /A << /S /GoTo /D (vdata) >> >> endobj -1676 0 obj << -/D [1674 0 R /XYZ 99.895 740.998 null] +1681 0 obj << +/D [1679 0 R /XYZ 99.895 740.998 null] >> endobj -1673 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F30 724 0 R /F11 709 0 R /F14 727 0 R >> +1678 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F30 729 0 R /F11 714 0 R /F14 732 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1680 0 obj << +1685 0 obj << /Length 2484 >> stream @@ -20144,21 +20208,21 @@ BT ET endstream endobj -1679 0 obj << +1684 0 obj << /Type /Page -/Contents 1680 0 R -/Resources 1678 0 R +/Contents 1685 0 R +/Resources 1683 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1677 0 R +/Parent 1682 0 R >> endobj -1681 0 obj << -/D [1679 0 R /XYZ 150.705 740.998 null] +1686 0 obj << +/D [1684 0 R /XYZ 150.705 740.998 null] >> endobj -1678 0 obj << -/Font << /F27 525 0 R /F8 526 0 R /F11 709 0 R >> +1683 0 obj << +/Font << /F27 529 0 R /F8 530 0 R /F11 714 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1684 0 obj << +1689 0 obj << /Length 7011 >> stream @@ -20220,60 +20284,60 @@ BT ET endstream endobj -1683 0 obj << +1688 0 obj << /Type /Page -/Contents 1684 0 R -/Resources 1682 0 R +/Contents 1689 0 R +/Resources 1687 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1677 0 R +/Parent 1682 0 R >> endobj -1685 0 obj << -/D [1683 0 R /XYZ 99.895 740.998 null] +1690 0 obj << +/D [1688 0 R /XYZ 99.895 740.998 null] >> endobj -1686 0 obj << -/D [1683 0 R /XYZ 99.895 696.263 null] +1691 0 obj << +/D [1688 0 R /XYZ 99.895 696.263 null] >> endobj -693 0 obj << -/D [1683 0 R /XYZ 99.895 699.619 null] +698 0 obj << +/D [1688 0 R /XYZ 99.895 699.619 null] >> endobj -1687 0 obj << -/D [1683 0 R /XYZ 99.895 643.15 null] +1692 0 obj << +/D [1688 0 R /XYZ 99.895 643.15 null] >> endobj -746 0 obj << -/D [1683 0 R /XYZ 99.895 588.618 null] +751 0 obj << +/D [1688 0 R /XYZ 99.895 588.618 null] >> endobj -745 0 obj << -/D [1683 0 R /XYZ 99.895 534.087 null] +750 0 obj << +/D [1688 0 R /XYZ 99.895 534.087 null] >> endobj -699 0 obj << -/D [1683 0 R /XYZ 99.895 479.555 null] +704 0 obj << +/D [1688 0 R /XYZ 99.895 479.555 null] >> endobj -700 0 obj << -/D [1683 0 R /XYZ 99.895 436.978 null] +705 0 obj << +/D [1688 0 R /XYZ 99.895 436.978 null] >> endobj -717 0 obj << -/D [1683 0 R /XYZ 99.895 394.402 null] +722 0 obj << +/D [1688 0 R /XYZ 99.895 394.402 null] >> endobj -696 0 obj << -/D [1683 0 R /XYZ 99.895 351.272 null] +701 0 obj << +/D [1688 0 R /XYZ 99.895 351.272 null] >> endobj -697 0 obj << -/D [1683 0 R /XYZ 99.895 308.696 null] +702 0 obj << +/D [1688 0 R /XYZ 99.895 308.696 null] >> endobj -1688 0 obj << -/D [1683 0 R /XYZ 99.895 266.119 null] +1693 0 obj << +/D [1688 0 R /XYZ 99.895 266.119 null] >> endobj -692 0 obj << -/D [1683 0 R /XYZ 99.895 223.543 null] +697 0 obj << +/D [1688 0 R /XYZ 99.895 223.543 null] >> endobj -1689 0 obj << -/D [1683 0 R /XYZ 99.895 181.52 null] +1694 0 obj << +/D [1688 0 R /XYZ 99.895 181.52 null] >> endobj -1682 0 obj << -/Font << /F16 523 0 R /F8 526 0 R /F17 689 0 R >> +1687 0 obj << +/Font << /F16 527 0 R /F8 530 0 R /F17 694 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1692 0 obj << +1697 0 obj << /Length 3124 >> stream @@ -20314,93 +20378,93 @@ BT ET endstream endobj -1691 0 obj << +1696 0 obj << /Type /Page -/Contents 1692 0 R -/Resources 1690 0 R +/Contents 1697 0 R +/Resources 1695 0 R /MediaBox [0 0 595.276 841.89] -/Parent 1677 0 R +/Parent 1682 0 R >> endobj -1693 0 obj << -/D [1691 0 R /XYZ 150.705 740.998 null] +1698 0 obj << +/D [1696 0 R /XYZ 150.705 740.998 null] >> endobj -844 0 obj << -/D [1691 0 R /XYZ 150.705 716.092 null] +849 0 obj << +/D [1696 0 R /XYZ 150.705 716.092 null] >> endobj -732 0 obj << -/D [1691 0 R /XYZ 150.705 688.251 null] +737 0 obj << +/D [1696 0 R /XYZ 150.705 688.251 null] >> endobj -698 0 obj << -/D [1691 0 R /XYZ 150.705 632.184 null] +703 0 obj << +/D [1696 0 R /XYZ 150.705 632.184 null] >> endobj -695 0 obj << -/D [1691 0 R /XYZ 150.705 590.562 null] +700 0 obj << +/D [1696 0 R /XYZ 150.705 590.562 null] >> endobj -691 0 obj << -/D [1691 0 R /XYZ 150.705 544.789 null] +696 0 obj << +/D [1696 0 R /XYZ 150.705 544.789 null] >> endobj -694 0 obj << -/D [1691 0 R /XYZ 150.705 512.909 null] +699 0 obj << +/D [1696 0 R /XYZ 150.705 512.909 null] >> endobj -1694 0 obj << -/D [1691 0 R /XYZ 150.705 480.475 null] +1699 0 obj << +/D [1696 0 R /XYZ 150.705 480.475 null] >> endobj -1690 0 obj << -/Font << /F8 526 0 R /F17 689 0 R /F30 724 0 R >> +1695 0 obj << +/Font << /F8 530 0 R /F17 694 0 R /F30 729 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1695 0 obj +1700 0 obj [575.2 657.4 525.9 657.4 543 361.6 591.7 657.4 328.7 361.6 624.5 328.7 986.1 657.4 591.7 657.4 624.5 488.1 466.8 460.2 657.4] endobj -1696 0 obj +1701 0 obj [285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4 456.8] endobj -1697 0 obj +1702 0 obj [892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4 1138.9] endobj -1698 0 obj +1703 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj -1699 0 obj +1704 0 obj [533.6] endobj -1700 0 obj +1705 0 obj [413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4 501.7 501.7 826.4 795.8 752.1 767.4 811.1 722.6 693.1 833.5 795.8 382.6 545.5 825.4 663.6 972.9 795.8 826.4 722.6 826.4 781.6 590.3 767.4 795.8 795.8 1091 795.8 795.8 649.3 295.1 531.3 295.1 531.3 295.1 295.1 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 324.7 560.8 295.1 885.4 590.3 531.3 590.3 560.8 414.1 419.1 413.2 590.3 560.8 767.4 560.8 560.8] endobj -1701 0 obj +1706 0 obj [611.1 611.1 611.1] endobj -1702 0 obj +1707 0 obj [777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500 277.8 833.3 750 833.3 416.7 666.7 666.7 777.8 777.8 444.4] endobj -1703 0 obj +1708 0 obj [339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2] endobj -1704 0 obj +1709 0 obj [569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4] endobj -1705 0 obj +1710 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj -1706 0 obj +1711 0 obj [639.7 565.6 517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5 490.3 465.1] endobj -1707 0 obj +1712 0 obj [613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6] endobj -1708 0 obj +1713 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500] endobj -1709 0 obj +1714 0 obj [670.8 638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6 606.9 606.9 511.1 575 1150] endobj -1710 0 obj +1715 0 obj [726.9 688.4 700 738.4 663.4 638.4 756.7 726.9 376.9 513.4 751.9 613.4 876.9 726.9 750 663.4 750 713.4 550 700 726.9 726.9 976.9 726.9 726.9 600 300 500 300 500 300 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450 475] endobj -1711 0 obj +1716 0 obj [625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.2 531.2 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7 500 562.5 1125] endobj -1712 0 obj << +1717 0 obj << /Length1 1779 /Length2 12324 /Length3 0 @@ -20556,7 +20620,7 @@ xLE3 AŒô7}ùŠN³7Ž–.Æ~é’Ó¼Úä?qÝêxûUÏÆãjR|¿®´]¿ü?o`«x x VÌTÅ yü¦ g4½øT›e‡ˆlì±L/ÇI´_¿Ð endstream endobj -1713 0 obj << +1718 0 obj << /Type /FontDescriptor /FontName /GKACTJ+CMBX10 /Flags 4 @@ -20568,9 +20632,9 @@ endobj /StemV 114 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/Z/a/b/c/colon/comma/d/e/eight/emdash/endash/equal/f/ff/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/period/q/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y/z/zero) -/FontFile 1712 0 R +/FontFile 1717 0 R >> endobj -1714 0 obj << +1719 0 obj << /Length1 1734 /Length2 10564 /Length3 0 @@ -20700,7 +20764,7 @@ BO ­Œ$*Jü1õ‘J{Y^>y†ˆKÃ=ÿb>'¿M¾9Ì|6ðÊN¤ã®ýµì%ÍíWœýÀSù5´öL6Œ_<ûTgÊM3€ìuÆÍ,€\\Co #Ž§Ñ£Gû&òä!=D×*…0DWÙÇÙÏ)@4[ÃZIz1°‹Ö˜y©‹ÄþeRaµi=˜£( Ÿ~7aÙ„¬Üæ<¢ÞÓfë@ÇJ†,˜ì^3Ç«\`D•¦€Úþ²-@ÎÒ‡)e]R³•YÖË&–½ÐÞIÆŒ½OW,aëh俯Ԯb:âôºá÷b€ðHU65uC(½"ÂmÙKxz·˜²›èMtì¯xpÙ§èlª‘¹\€7”S9žcŠ¬juðÀXlØ\‰|f6ƒxD6WYèKr±c]ûŒþ‘)êò Ž÷@Ojñß?цnšiªûJÑ:ˆ{{ž5{b° endstream endobj -1715 0 obj << +1720 0 obj << /Type /FontDescriptor /FontName /GBHFLB+CMBX12 /Flags 4 @@ -20712,9 +20776,9 @@ endobj /StemV 109 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/a/b/c/d/e/eight/emdash/endash/f/fi/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y/z/zero) -/FontFile 1714 0 R +/FontFile 1719 0 R >> endobj -1716 0 obj << +1721 0 obj << /Length1 957 /Length2 3230 /Length3 0 @@ -20772,7 +20836,7 @@ TM $Àsîý5ž¥NfÓ ›‚>¬-^­ŠWÝwîek¯œ©ó$-VËH¨™ëËâÖz:4ø^0A΢,·Z/¦†ª€YCAÇd÷âË»F+aæ+IÅö6ÚG©€ ¥~/Š²Ô¸öVᦴoâUm3b,Ä/¡ŸÛh»)Ô¹öÑe>ÐÍ!ª¼áqkº½W¹ÂéW÷âJRÛ—Å1æ„V€j$¯½X¹YÄfÿÖà ¾3íÖAO`öŸ¥†¸L",ˆ©#ö­SoÔ9Š–ËÐÕ…ãfL%îF$BWF[õ%‘(G™»¢š’1‰+ 0]JäßJíFÎeÜú—P¢tsZy-OšBò ]Q£*Ú–«Ñ•‘1ÙÃúÃvï㥙ˆÜž(Vèח}Ú3y]Ûk]¬¹éeþ|›¿"¼E¯õÄŸæ1ÚL<6I’7"BýÞSw£J½ToÎuFÔYe¹O›xز¦õ¿ 3=âAÀIjÍìgÌôý/Œ>pB”ÓSÂD>ΠÁzV>ì÷üÓTËá~mÄZÂ*1¯D©Xé|eÖˆ61bm”¤‚…@€#JÊ:Ò’ÏFÑ$Û{ß1R6ûÿ³³—D˜ŽâP|šãœ¬óŽ -PæVÍÑëCœ§Ÿ¿¹ D&>IÖÒ°oòé?:|7±¨+ÅIÃå×>´sýíºÎ#{⎗0¥ÈïÈÊôþa¾Ý» ü–ÿä¤*æåü£©÷õΣÔ@#ú^™„Ê…¯0ò^eDô7[ÈËjdogæ%ü‹™Ì3K/Üä=_±Ïƃ€ì,ÑQ'7U„s8ôf¼Ò£9@z$kW@ÈKõâ¨nHae]äI$Md+aÀ¸ t-Êà(U endstream endobj -1717 0 obj << +1722 0 obj << /Type /FontDescriptor /FontName /GNEKJP+CMBX9 /Flags 4 @@ -20784,9 +20848,9 @@ endobj /StemV 117 /XHeight 444 /CharSet (/a/b/c/d/e/f/g/h/i/l/n/o/r/s/t/u) -/FontFile 1716 0 R +/FontFile 1721 0 R >> endobj -1718 0 obj << +1723 0 obj << /Length1 1397 /Length2 9610 /Length3 0 @@ -20893,7 +20957,7 @@ gR ~Š š¹Çüž±×\xÑò<Êýo’[-¯$›LÁ]0. óäájÍÃ0˜KF‚^ú[@] /ßÛÁs9,@\ªf8š3(ŠöˆÊQ•œzQ{§X Ò– Œ{ý3GŽIñòSv»ëL…¬ ^«yR6P^1Xu3ÜBl}#›¶8¦®Gw-cd½üœö8™§´6˜‰!ã´Ýh²¶èÃòêãþ 4 ¶nÖßNu»[šÑc­#•{sTÈ\kð»~¤IÊ×®7-òOhW»¥ @Ò[Ê*$Pã7T1 endstream endobj -1719 0 obj << +1724 0 obj << /Type /FontDescriptor /FontName /XOPWSZ+CMMI10 /Flags 4 @@ -20905,9 +20969,9 @@ endobj /StemV 72 /XHeight 431 /CharSet (/A/C/D/G/I/L/N/O/P/Q/T/U/X/a/alpha/b/beta/c/comma/d/e/f/g/greater/h/i/j/k/l/less/m/n/o/p/period/r/s/t/u/v/w/x/y/z) -/FontFile 1718 0 R +/FontFile 1723 0 R >> endobj -1720 0 obj << +1725 0 obj << /Length1 745 /Length2 1242 /Length3 0 @@ -20945,7 +21009,7 @@ currentfile eexec ñPŠ?–_ %œD3´)‚/Å‘ˆdL£sw(wÞ&Mʺ™E¿Ât æ7â8k¬aò;BFåŸD¦(ÐéJø endstream endobj -1721 0 obj << +1726 0 obj << /Type /FontDescriptor /FontName /RVPZIX+CMMI5 /Flags 4 @@ -20957,9 +21021,9 @@ endobj /StemV 90 /XHeight 431 /CharSet (/i) -/FontFile 1720 0 R +/FontFile 1725 0 R >> endobj -1722 0 obj << +1727 0 obj << /Length1 878 /Length2 3214 /Length3 0 @@ -21007,7 +21071,7 @@ H ­š¤þ.6aÄ÷ÊwØÐ\p'N/ ‹ÀoXüzFk%IÛo‡³êÚi‚Kƒ²\ìÞ23ÌéS[§“ðxGÇ;·°53˜Ê6„Nhb3u…NƒeçwÕ&ÂIÃ*ê¸Ñk±¼¨gFîš#åLkÿ4.ÕÒ…[_bY ¾øa Ú ÿ“Iö{ÊÀªD×Ö,=Á;‘o+x ‹*°SßÏ‘(OǶzÝÉú¬bLçàè_¨§•¸Ž9ú‡ü÷ÖNŸ'FÀ]$7éØñòjQèk­£"œP Ì endstream endobj -1723 0 obj << +1728 0 obj << /Type /FontDescriptor /FontName /ZUYGVH+CMMI7 /Flags 4 @@ -21019,9 +21083,9 @@ endobj /StemV 81 /XHeight 431 /CharSet (/H/I/T/a/comma/i/j/k/m/n) -/FontFile 1722 0 R +/FontFile 1727 0 R >> endobj -1724 0 obj << +1729 0 obj << /Length1 2026 /Length2 14861 /Length3 0 @@ -21201,7 +21265,7 @@ z ›àã™üÿÀPŒáà•Ï€$y_É°¾a9›3“P_*Uþý“‹Ë3ï\(Ó‰Å)_0)ÄbÂãP*Qv¾×%–ޑ祫Ûù>ÍTAO˸UL`¯£'jìò¤Þ=ˆØ eðS)•Æ®¿îu*ïÎ-ô£ì•]2—æk0[] endstream endobj -1725 0 obj << +1730 0 obj << /Type /FontDescriptor /FontName /KYXPCE+CMR10 /Flags 4 @@ -21213,9 +21277,9 @@ endobj /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) -/FontFile 1724 0 R +/FontFile 1729 0 R >> endobj -1726 0 obj << +1731 0 obj << /Length1 769 /Length2 1408 /Length3 0 @@ -21257,7 +21321,7 @@ currentfile eexec µ)&ï¹ó)/@^Ð⵸PY.¾ê—(û½#´±SáRdíúmBq-‡_'ÈI-tñø‚¡ „/÷OþL»™Kô÷6§C€w\³v#ܶ>ì"L‹“+†ò¿ÜÓüà•Â½”þa+‹YEoÎ endstream endobj -1727 0 obj << +1732 0 obj << /Type /FontDescriptor /FontName /YPSQTS+CMR6 /Flags 4 @@ -21269,9 +21333,9 @@ endobj /StemV 83 /XHeight 431 /CharSet (/one/three/two) -/FontFile 1726 0 R +/FontFile 1731 0 R >> endobj -1728 0 obj << +1733 0 obj << /Length1 787 /Length2 1497 /Length3 0 @@ -21315,7 +21379,7 @@ _2 ¡b›x}‰èË÷…¹Òºz’™­ºs7'þõ¸­)Æãõ8-X“ûTåG`û‡9?óPíe•úã“:– “^­‘3¶›‚~§ÍhécîxbkÜå1!o^ëå™KÙWk«ìi7ݱ‚=3OÿÕá£ßø äô¼|ó endstream endobj -1729 0 obj << +1734 0 obj << /Type /FontDescriptor /FontName /EWABFK+CMR7 /Flags 4 @@ -21327,9 +21391,9 @@ endobj /StemV 79 /XHeight 431 /CharSet (/colon/one/three/two) -/FontFile 1728 0 R +/FontFile 1733 0 R >> endobj -1730 0 obj << +1735 0 obj << /Length1 1462 /Length2 8120 /Length3 0 @@ -21438,7 +21502,7 @@ j ë4×éùïwš4“n½]{­ŽÂô§–sú,r/Lˤ/ÝS.$Vܤ˜¶i¼+±WJv契Ž´*ö9Ã6\éu>£ÀtGÁ”Ûý¿Ò'3 (ªh[æ‚ð˜ÅWÿžu º×:=»´bA¦‡àB涌ÂMÄða§Ýw’rº“ºÏÛ–¥,Ë¿OÝS2 ?3w·;§Â/nÊJ0Rã}CpÒSé^™:Ò¶Õzâê3Ì|8¦Võg¾Ã¡µ`Æ~ä17Æ[|~9dy_*z€UIJ@ö®{t”¤åØVKƒÒ;S¯ˆÿ±’m¤£¥‰Hçî³¼ –$úX`ÝWçªÂúôÔ>Œ—:þ8ùæ÷¿³ÁE4•¾Ÿ¼3 w¼>0—Mñoƒ›vºÒL–xy÷rbQ¡ƒUˆ0_tœ¹ºu™'Iá^mÇÉ]*äÉÊ—:¬Ý\ ÛÝxK»gD÷«Ù³Õ=I8­ŠºÒ-œvx`%QÓ¢8ê™ÍEºïê+@eXnž"V¶¼ðæÅ"Ƀe‚¿Sñ:®wS%d›9Ñž#Ä`ž˜íÔ’Õ²ˆð¬ËmûMBeäPnpbÜ“^mäïbÅÃK0¾m1÷R\&òÄe{b"ŒŒW{u“ˆ)W2x cšµ9è¡|課#ᎹºJš¾ì—H1ÒTÚ³v®n-F `¢Çî5*…¨¸G™1–¯}YûŠª¹ª•ÛÚωà?ñõ‚dUfÒ o.nÔIƒ”fDg¬ðŒ/'@Tîø|Ú>1ÐØø£éU.Byþ.‘Ʀ¸25mª¹<Ês Ò—OËÇP œ®Ì÷·bM×v¬mšö¿ý²e…ö;ã{'½ì>Œ;×sáyâlµ’ØÀf9k Ƕz<È#Ž ý¤ËSðž>"zµQµ’N<)W”°ni}À;žá½!“@æe¬Þâ± šÃW&è‚=ù»ä÷óFÝÎXËÙå²Í1.8.†ˆvi˜äƒ. &×SÓ¬Ú74ÀÕRP¹ú´QC‹îNjÁ8Òq½ïàákYDå¢X4Ö±Htç7€ Azd5ZŒ†ã¿¾¹çÓ)05—ØN$HÑé=R§K+‚²h`Pèù†T¿3Œ®'/(#ž+UŠ5¤A³Î-¢ŒT endstream endobj -1731 0 obj << +1736 0 obj << /Type /FontDescriptor /FontName /TDRORS+CMR8 /Flags 4 @@ -21450,9 +21514,9 @@ endobj /StemV 76 /XHeight 431 /CharSet (/B/G/I/L/O/P/T/X/a/b/c/comma/d/e/eight/f/five/four/g/h/hyphen/i/l/m/n/nine/o/one/p/parenleft/parenright/period/q/r/s/seven/six/slash/t/three/two/u/v/w/x/y/zero) -/FontFile 1730 0 R +/FontFile 1735 0 R >> endobj -1732 0 obj << +1737 0 obj << /Length1 1407 /Length2 7564 /Length3 0 @@ -21558,7 +21622,7 @@ e 0? ¢ÀÍT7¦—$ünÕ?È6<ÛªôúL48‹N­úÑ žàTXòª,¯ëIµ¸¢©|¹cÚ`½=úË.Õ¾hémPÁ¤êkþcD÷ÄCx3ø;W6:Ûéf&àz#ôµ­šI˜z¾1¿¤°õÜ$šÕÇ{J»T¢LE/“C endstream endobj -1733 0 obj << +1738 0 obj << /Type /FontDescriptor /FontName /UIKOQU+CMR9 /Flags 4 @@ -21570,9 +21634,9 @@ endobj /StemV 74 /XHeight 431 /CharSet (/B/G/I/L/O/P/X/a/b/c/comma/d/e/eight/equal/f/five/four/g/h/i/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/t/three/two/u/x/z/zero) -/FontFile 1732 0 R +/FontFile 1737 0 R >> endobj -1734 0 obj << +1739 0 obj << /Length1 1050 /Length2 2900 /Length3 0 @@ -21639,7 +21703,7 @@ R c’$”݈9`l¶|‰2*2Nú´u4œýÕâôv=¤rl³MÌp+§’…¶5ô†ÔÀµ‡™iu1Y@ãœ1[;îLE›êGÓa]:œ”Ó³öã_‰Uš¨–‘Îo#¿ÞÅÌ!|NWüÚè endstream endobj -1735 0 obj << +1740 0 obj << /Type /FontDescriptor /FontName /IMOIOS+CMSY10 /Flags 4 @@ -21651,9 +21715,9 @@ endobj /StemV 85 /XHeight 431 /CharSet (/B/H/I/arrowleft/bar/bardbl/braceleft/braceright/bullet/element/greaterequal/lessequal/minus/negationslash/radical/section) -/FontFile 1734 0 R +/FontFile 1739 0 R >> endobj -1736 0 obj << +1741 0 obj << /Length1 766 /Length2 759 /Length3 0 @@ -21691,7 +21755,7 @@ h aaT'/D…/¦v2_ÅIô÷*’XÆé¼VMäGoÆéjeÃï÷‚x"¡‘<Õ©O=}µL¾8QWÃYΞ^L„רFHyü˜ÈB9Ê2Îo¯G¥¾bv0„òÆ… 4…Fv1wz MrÀs1§‡zå; r‘*)!´î Ý·Š´ÿÝÔÕVåÕG•8 z±» Ó(O»û+¸iruþdtîOª=eb®|˜Œ‘Ô¤c<…=>òƒ?†!ÒêuóÿG\ïD3/dÈZ2)#Yboµ£˜B§cn“d¿lXë0 ]Ò%ÉMEÚmu`ò©bNßʾ”ËL›ìsë7§F„“qò¿'Z¿TÇ©c9$À ÑPâü<”»ÏÚ endstream endobj -1737 0 obj << +1742 0 obj << /Type /FontDescriptor /FontName /XNLILI+CMSY7 /Flags 4 @@ -21703,9 +21767,9 @@ endobj /StemV 93 /XHeight 431 /CharSet (/infinity/minus) -/FontFile 1736 0 R +/FontFile 1741 0 R >> endobj -1738 0 obj << +1743 0 obj << /Length1 1572 /Length2 12132 /Length3 0 @@ -21852,7 +21916,7 @@ fi ƒ­Öc@^ÕÝË´rF_¯ŒX"1ÁÖbvßÁŠÀšûòÅ5þŽÎ˜Ž×þpŒÚš5ã0²'ºÞ” ÛJ§­¦ i÷ïI•€LU·+K¹ïø,xæ㤱„‰2Dwé†îÆ®7d-ÿ΀Ðê¡­Î/»€È­ÎÍËIÄÌÃ5|Ÿr¥JÍã3ú‰Ï& endstream endobj -1739 0 obj << +1744 0 obj << /Type /FontDescriptor /FontName /HBJLDT+CMTI10 /Flags 4 @@ -21864,9 +21928,9 @@ endobj /StemV 68 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/I/L/M/N/O/P/R/S/T/U/V/a/b/c/colon/d/e/f/ff/fi/five/g/h/hyphen/i/j/l/m/n/nine/o/one/p/period/q/quoteright/r/s/slash/t/three/two/u/v/w/x/y/zero) -/FontFile 1738 0 R +/FontFile 1743 0 R >> endobj -1740 0 obj << +1745 0 obj << /Length1 1067 /Length2 5106 /Length3 0 @@ -21941,7 +22005,7 @@ Hn4*/ éÆ 'dŠÿDZ@Oëÿ{Ll§æR%M…]> endobj -1742 0 obj << +1747 0 obj << /Length1 1849 /Length2 11542 /Length3 0 @@ -22108,7 +22172,7 @@ Lr~j S“JУt0jºB–¢7å7Ð[=©)ŒZPRŠ¬ ‰•šâ ìùôée\ás° "̺Ùô~\oªÂÈ1É] ,Ø(WÁèT¢ë$¢æ=+Z|GËÒÉÿ ‹¸ÕÙž=٣Ȕ)Šûs‹9@™ÄÁ¿ ç£SÈ.ÃoUSl›Ÿt—<œì¼'棓`ÈÈð.Õ}ÑYCϦ <%ÔK\3/œ;“鹟“*ÍHÕ¦­ƒ{{´$$_gm$Jv‘xasHäÑ`…SºHo‹ß²BLó‰ÊVÑÅ´Œ ü}㣟ÀºO/Xÿ“RPEÃïúðï­|1XïH'˜Y”€b²áIŽh1†Ž*iòš®Ÿµ× CÙ„¼×S…<ŒnCM+dL‰*¼·Û¶)ôhï.³í©*zuv¼ü!ŠQÈ®zxTÿ‡þá+"€=,®>ŽÑW\=ê£+÷*ã.WFogö(Ì姎+Ž‰Ë´ÍÀðªvvp΀›3Åós˜*!vBfýïdV,è¸/œSålJ¾î9‹tO%­ØJ×%`š:µ/R)²Wä^y$AϬLFÛX ŠD¸+þésj»qÒ¥”4h<ÕÇ%‡ü?ÙŠtX׌_ßn}{}”ÙÅEšF%–„U'3ê¿=µP„‚ý½¤¥8É:J u)âÖ‹4Û[n2–¨ŸL®tÏྴÖFTÌG[×Ñ#˜ïïÄV„«ìŒƒ†8M\ÊlôZ[ó.Pº¦û;ªbþ_Ù›Ä4Tzüv¨|4ò‘ÌèýNß+Bb¿XK¨v‘–[ÅâÁÿOñõk³xö¬eå«ÀU\bžã¸>}êšÎÈJ5S˜ÃÃIAÂõuâ¼þ'sieFµ·?iÐ3whöl´¼œÔ˜îÉñ:—²˜IÎQ|Ï2? @•–ÏËS¹Cu›â>ÎaŒóßÀÅ=cžÈák3BÑ;Ôb endstream endobj -1743 0 obj << +1748 0 obj << /Type /FontDescriptor /FontName /BGSLBR+CMTT10 /Flags 4 @@ -22120,9 +22184,9 @@ endobj /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/I/K/L/M/N/O/P/R/S/T/U/W/Y/a/ampersand/asciitilde/asterisk/b/backslash/bracketleft/bracketright/c/colon/comma/d/e/equal/f/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/r/s/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) -/FontFile 1742 0 R +/FontFile 1747 0 R >> endobj -1744 0 obj << +1749 0 obj << /Length1 1029 /Length2 3340 /Length3 0 @@ -22191,7 +22255,7 @@ o võåŸØì¶DgmÜ×BSœx¦d¢¿b.…Õû~á:ت¸ó× 0î•«¡œ{)ì@¿›ù׸ð€¸wŒ¶ªèº¹Î(ß"›’/5>PkxÍBô­Ù¿ ø$?€õþ W(]ï6¶Ä endstream endobj -1745 0 obj << +1750 0 obj << /Type /FontDescriptor /FontName /KMUHVJ+CMTT9 /Flags 4 @@ -22203,989 +22267,996 @@ endobj /StemV 74 /XHeight 431 /CharSet (/T/a/b/c/colon/comma/d/e/l/n/o/p/parenleft/parenright/r/s/t/underscore/y) -/FontFile 1744 0 R +/FontFile 1749 0 R >> endobj -525 0 obj << +529 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GKACTJ+CMBX10 -/FontDescriptor 1713 0 R +/FontDescriptor 1718 0 R /FirstChar 11 /LastChar 124 -/Widths 1709 0 R +/Widths 1714 0 R >> endobj -523 0 obj << +527 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GBHFLB+CMBX12 -/FontDescriptor 1715 0 R +/FontDescriptor 1720 0 R /FirstChar 12 /LastChar 124 -/Widths 1711 0 R +/Widths 1716 0 R >> endobj -1531 0 obj << +1536 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GNEKJP+CMBX9 -/FontDescriptor 1717 0 R +/FontDescriptor 1722 0 R /FirstChar 97 /LastChar 117 -/Widths 1695 0 R +/Widths 1700 0 R >> endobj -709 0 obj << +714 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XOPWSZ+CMMI10 -/FontDescriptor 1719 0 R +/FontDescriptor 1724 0 R /FirstChar 11 /LastChar 122 -/Widths 1706 0 R +/Widths 1711 0 R >> endobj -757 0 obj << +762 0 obj << /Type /Font /Subtype /Type1 /BaseFont /RVPZIX+CMMI5 -/FontDescriptor 1721 0 R +/FontDescriptor 1726 0 R /FirstChar 105 /LastChar 105 -/Widths 1699 0 R +/Widths 1704 0 R >> endobj -726 0 obj << +731 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZUYGVH+CMMI7 -/FontDescriptor 1723 0 R +/FontDescriptor 1728 0 R /FirstChar 59 /LastChar 110 -/Widths 1703 0 R +/Widths 1708 0 R >> endobj -526 0 obj << +530 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KYXPCE+CMR10 -/FontDescriptor 1725 0 R +/FontDescriptor 1730 0 R /FirstChar 11 /LastChar 123 -/Widths 1708 0 R +/Widths 1713 0 R >> endobj -728 0 obj << +733 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YPSQTS+CMR6 -/FontDescriptor 1727 0 R +/FontDescriptor 1732 0 R /FirstChar 49 /LastChar 51 -/Widths 1701 0 R +/Widths 1706 0 R >> endobj -725 0 obj << +730 0 obj << /Type /Font /Subtype /Type1 /BaseFont /EWABFK+CMR7 -/FontDescriptor 1729 0 R +/FontDescriptor 1734 0 R /FirstChar 49 /LastChar 58 -/Widths 1704 0 R +/Widths 1709 0 R >> endobj -730 0 obj << +735 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TDRORS+CMR8 -/FontDescriptor 1731 0 R +/FontDescriptor 1736 0 R /FirstChar 40 /LastChar 121 -/Widths 1700 0 R +/Widths 1705 0 R >> endobj -1102 0 obj << +1107 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UIKOQU+CMR9 -/FontDescriptor 1733 0 R +/FontDescriptor 1738 0 R /FirstChar 39 /LastChar 122 -/Widths 1696 0 R +/Widths 1701 0 R >> endobj -727 0 obj << +732 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IMOIOS+CMSY10 -/FontDescriptor 1735 0 R +/FontDescriptor 1740 0 R /FirstChar 0 /LastChar 120 -/Widths 1702 0 R +/Widths 1707 0 R >> endobj -1018 0 obj << +1023 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XNLILI+CMSY7 -/FontDescriptor 1737 0 R +/FontDescriptor 1742 0 R /FirstChar 0 /LastChar 49 -/Widths 1697 0 R +/Widths 1702 0 R >> endobj -689 0 obj << +694 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HBJLDT+CMTI10 -/FontDescriptor 1739 0 R +/FontDescriptor 1744 0 R /FirstChar 11 /LastChar 121 -/Widths 1707 0 R +/Widths 1712 0 R >> endobj -524 0 obj << +528 0 obj << /Type /Font /Subtype /Type1 /BaseFont /OZJPZO+CMTI12 -/FontDescriptor 1741 0 R +/FontDescriptor 1746 0 R /FirstChar 65 /LastChar 121 -/Widths 1710 0 R +/Widths 1715 0 R >> endobj -724 0 obj << +729 0 obj << /Type /Font /Subtype /Type1 /BaseFont /BGSLBR+CMTT10 -/FontDescriptor 1743 0 R +/FontDescriptor 1748 0 R /FirstChar 37 /LastChar 126 -/Widths 1705 0 R +/Widths 1710 0 R >> endobj -897 0 obj << +901 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KMUHVJ+CMTT9 -/FontDescriptor 1745 0 R +/FontDescriptor 1750 0 R /FirstChar 40 /LastChar 121 -/Widths 1698 0 R +/Widths 1703 0 R >> endobj -527 0 obj << +531 0 obj << /Type /Pages /Count 6 -/Parent 1746 0 R -/Kids [518 0 R 529 0 R 579 0 R 630 0 R 669 0 R 673 0 R] +/Parent 1751 0 R +/Kids [522 0 R 533 0 R 583 0 R 635 0 R 674 0 R 678 0 R] >> endobj -690 0 obj << +695 0 obj << /Type /Pages /Count 6 -/Parent 1746 0 R -/Kids [687 0 R 707 0 R 721 0 R 737 0 R 750 0 R 754 0 R] +/Parent 1751 0 R +/Kids [692 0 R 712 0 R 726 0 R 742 0 R 755 0 R 759 0 R] >> endobj -784 0 obj << +789 0 obj << /Type /Pages /Count 6 -/Parent 1746 0 R -/Kids [768 0 R 787 0 R 798 0 R 804 0 R 816 0 R 828 0 R] +/Parent 1751 0 R +/Kids [773 0 R 792 0 R 803 0 R 809 0 R 821 0 R 833 0 R] >> endobj -835 0 obj << +840 0 obj << /Type /Pages /Count 6 -/Parent 1746 0 R -/Kids [832 0 R 840 0 R 847 0 R 852 0 R 857 0 R 861 0 R] +/Parent 1751 0 R +/Kids [837 0 R 845 0 R 852 0 R 857 0 R 862 0 R 866 0 R] >> endobj -868 0 obj << +873 0 obj << /Type /Pages /Count 6 -/Parent 1746 0 R -/Kids [865 0 R 870 0 R 876 0 R 883 0 R 888 0 R 894 0 R] +/Parent 1751 0 R +/Kids [870 0 R 875 0 R 879 0 R 885 0 R 892 0 R 897 0 R] >> endobj -902 0 obj << +907 0 obj << /Type /Pages /Count 6 -/Parent 1746 0 R -/Kids [899 0 R 911 0 R 918 0 R 928 0 R 933 0 R 943 0 R] +/Parent 1751 0 R +/Kids [904 0 R 916 0 R 923 0 R 933 0 R 938 0 R 948 0 R] >> endobj -951 0 obj << +956 0 obj << /Type /Pages /Count 6 -/Parent 1747 0 R -/Kids [948 0 R 956 0 R 964 0 R 972 0 R 980 0 R 985 0 R] +/Parent 1752 0 R +/Kids [953 0 R 961 0 R 969 0 R 977 0 R 985 0 R 990 0 R] >> endobj -996 0 obj << +1001 0 obj << /Type /Pages /Count 6 -/Parent 1747 0 R -/Kids [992 0 R 1001 0 R 1008 0 R 1015 0 R 1026 0 R 1041 0 R] +/Parent 1752 0 R +/Kids [997 0 R 1006 0 R 1013 0 R 1020 0 R 1031 0 R 1046 0 R] >> endobj -1051 0 obj << +1056 0 obj << /Type /Pages /Count 6 -/Parent 1747 0 R -/Kids [1047 0 R 1059 0 R 1065 0 R 1070 0 R 1078 0 R 1089 0 R] +/Parent 1752 0 R +/Kids [1052 0 R 1064 0 R 1070 0 R 1075 0 R 1083 0 R 1094 0 R] >> endobj -1103 0 obj << +1108 0 obj << /Type /Pages /Count 6 -/Parent 1747 0 R -/Kids [1099 0 R 1108 0 R 1120 0 R 1128 0 R 1132 0 R 1144 0 R] +/Parent 1752 0 R +/Kids [1104 0 R 1113 0 R 1125 0 R 1133 0 R 1137 0 R 1149 0 R] >> endobj -1155 0 obj << +1160 0 obj << /Type /Pages /Count 6 -/Parent 1747 0 R -/Kids [1152 0 R 1159 0 R 1167 0 R 1171 0 R 1176 0 R 1182 0 R] +/Parent 1752 0 R +/Kids [1157 0 R 1164 0 R 1172 0 R 1176 0 R 1181 0 R 1187 0 R] >> endobj -1195 0 obj << +1200 0 obj << /Type /Pages /Count 6 -/Parent 1747 0 R -/Kids [1187 0 R 1198 0 R 1203 0 R 1212 0 R 1219 0 R 1224 0 R] +/Parent 1752 0 R +/Kids [1192 0 R 1203 0 R 1208 0 R 1217 0 R 1224 0 R 1229 0 R] >> endobj -1233 0 obj << +1238 0 obj << /Type /Pages /Count 6 -/Parent 1748 0 R -/Kids [1230 0 R 1235 0 R 1243 0 R 1253 0 R 1257 0 R 1272 0 R] +/Parent 1753 0 R +/Kids [1235 0 R 1240 0 R 1248 0 R 1258 0 R 1262 0 R 1277 0 R] >> endobj -1285 0 obj << +1290 0 obj << /Type /Pages /Count 6 -/Parent 1748 0 R -/Kids [1276 0 R 1289 0 R 1295 0 R 1302 0 R 1308 0 R 1312 0 R] +/Parent 1753 0 R +/Kids [1281 0 R 1294 0 R 1300 0 R 1307 0 R 1313 0 R 1317 0 R] >> endobj -1324 0 obj << +1329 0 obj << /Type /Pages /Count 6 -/Parent 1748 0 R -/Kids [1321 0 R 1328 0 R 1332 0 R 1337 0 R 1341 0 R 1348 0 R] +/Parent 1753 0 R +/Kids [1326 0 R 1333 0 R 1337 0 R 1342 0 R 1346 0 R 1353 0 R] >> endobj -1357 0 obj << +1362 0 obj << /Type /Pages /Count 6 -/Parent 1748 0 R -/Kids [1353 0 R 1360 0 R 1366 0 R 1372 0 R 1378 0 R 1385 0 R] +/Parent 1753 0 R +/Kids [1358 0 R 1365 0 R 1371 0 R 1377 0 R 1383 0 R 1390 0 R] >> endobj -1395 0 obj << +1400 0 obj << /Type /Pages /Count 6 -/Parent 1748 0 R -/Kids [1392 0 R 1397 0 R 1407 0 R 1411 0 R 1415 0 R 1428 0 R] +/Parent 1753 0 R +/Kids [1397 0 R 1402 0 R 1412 0 R 1416 0 R 1420 0 R 1433 0 R] >> endobj -1437 0 obj << +1442 0 obj << /Type /Pages /Count 6 -/Parent 1748 0 R -/Kids [1432 0 R 1439 0 R 1445 0 R 1452 0 R 1456 0 R 1460 0 R] +/Parent 1753 0 R +/Kids [1437 0 R 1444 0 R 1450 0 R 1457 0 R 1461 0 R 1465 0 R] >> endobj -1467 0 obj << +1472 0 obj << /Type /Pages /Count 6 -/Parent 1749 0 R -/Kids [1464 0 R 1469 0 R 1473 0 R 1477 0 R 1483 0 R 1489 0 R] +/Parent 1754 0 R +/Kids [1469 0 R 1474 0 R 1478 0 R 1482 0 R 1488 0 R 1494 0 R] >> endobj -1500 0 obj << +1505 0 obj << /Type /Pages /Count 6 -/Parent 1749 0 R -/Kids [1495 0 R 1502 0 R 1508 0 R 1513 0 R 1520 0 R 1526 0 R] +/Parent 1754 0 R +/Kids [1500 0 R 1507 0 R 1513 0 R 1518 0 R 1525 0 R 1531 0 R] >> endobj -1561 0 obj << +1566 0 obj << /Type /Pages /Count 6 -/Parent 1749 0 R -/Kids [1556 0 R 1563 0 R 1569 0 R 1575 0 R 1581 0 R 1586 0 R] +/Parent 1754 0 R +/Kids [1561 0 R 1568 0 R 1574 0 R 1580 0 R 1586 0 R 1591 0 R] >> endobj -1598 0 obj << +1603 0 obj << /Type /Pages /Count 6 -/Parent 1749 0 R -/Kids [1593 0 R 1601 0 R 1607 0 R 1614 0 R 1620 0 R 1626 0 R] +/Parent 1754 0 R +/Kids [1598 0 R 1606 0 R 1612 0 R 1619 0 R 1625 0 R 1631 0 R] >> endobj -1638 0 obj << +1643 0 obj << /Type /Pages /Count 6 -/Parent 1749 0 R -/Kids [1635 0 R 1644 0 R 1649 0 R 1653 0 R 1657 0 R 1665 0 R] +/Parent 1754 0 R +/Kids [1640 0 R 1649 0 R 1654 0 R 1658 0 R 1662 0 R 1670 0 R] >> endobj -1677 0 obj << +1682 0 obj << /Type /Pages /Count 4 -/Parent 1749 0 R -/Kids [1674 0 R 1679 0 R 1683 0 R 1691 0 R] +/Parent 1754 0 R +/Kids [1679 0 R 1684 0 R 1688 0 R 1696 0 R] >> endobj -1746 0 obj << +1751 0 obj << /Type /Pages /Count 36 -/Parent 1750 0 R -/Kids [527 0 R 690 0 R 784 0 R 835 0 R 868 0 R 902 0 R] +/Parent 1755 0 R +/Kids [531 0 R 695 0 R 789 0 R 840 0 R 873 0 R 907 0 R] >> endobj -1747 0 obj << +1752 0 obj << /Type /Pages /Count 36 -/Parent 1750 0 R -/Kids [951 0 R 996 0 R 1051 0 R 1103 0 R 1155 0 R 1195 0 R] +/Parent 1755 0 R +/Kids [956 0 R 1001 0 R 1056 0 R 1108 0 R 1160 0 R 1200 0 R] >> endobj -1748 0 obj << +1753 0 obj << /Type /Pages /Count 36 -/Parent 1750 0 R -/Kids [1233 0 R 1285 0 R 1324 0 R 1357 0 R 1395 0 R 1437 0 R] +/Parent 1755 0 R +/Kids [1238 0 R 1290 0 R 1329 0 R 1362 0 R 1400 0 R 1442 0 R] >> endobj -1749 0 obj << +1754 0 obj << /Type /Pages /Count 34 -/Parent 1750 0 R -/Kids [1467 0 R 1500 0 R 1561 0 R 1598 0 R 1638 0 R 1677 0 R] +/Parent 1755 0 R +/Kids [1472 0 R 1505 0 R 1566 0 R 1603 0 R 1643 0 R 1682 0 R] >> endobj -1750 0 obj << +1755 0 obj << /Type /Pages /Count 142 -/Kids [1746 0 R 1747 0 R 1748 0 R 1749 0 R] +/Kids [1751 0 R 1752 0 R 1753 0 R 1754 0 R] >> endobj -1751 0 obj << +1756 0 obj << /Type /Outlines /First 7 0 R /Last 7 0 R /Count 1 >> endobj +519 0 obj << +/Title 520 0 R +/A 517 0 R +/Parent 515 0 R +>> endobj 515 0 obj << /Title 516 0 R /A 513 0 R -/Parent 511 0 R +/Parent 7 0 R +/Prev 491 0 R +/First 519 0 R +/Last 519 0 R +/Count -1 >> endobj 511 0 obj << /Title 512 0 R /A 509 0 R -/Parent 7 0 R -/Prev 487 0 R -/First 515 0 R -/Last 515 0 R -/Count -1 +/Parent 491 0 R +/Prev 507 0 R >> endobj 507 0 obj << /Title 508 0 R /A 505 0 R -/Parent 487 0 R +/Parent 491 0 R /Prev 503 0 R +/Next 511 0 R >> endobj 503 0 obj << /Title 504 0 R /A 501 0 R -/Parent 487 0 R +/Parent 491 0 R /Prev 499 0 R /Next 507 0 R >> endobj 499 0 obj << /Title 500 0 R /A 497 0 R -/Parent 487 0 R +/Parent 491 0 R /Prev 495 0 R /Next 503 0 R >> endobj 495 0 obj << /Title 496 0 R /A 493 0 R -/Parent 487 0 R -/Prev 491 0 R +/Parent 491 0 R /Next 499 0 R >> endobj 491 0 obj << /Title 492 0 R /A 489 0 R -/Parent 487 0 R -/Next 495 0 R +/Parent 7 0 R +/Prev 467 0 R +/Next 515 0 R +/First 495 0 R +/Last 511 0 R +/Count -5 >> endobj 487 0 obj << /Title 488 0 R /A 485 0 R -/Parent 7 0 R -/Prev 463 0 R -/Next 511 0 R -/First 491 0 R -/Last 507 0 R -/Count -5 +/Parent 467 0 R +/Prev 483 0 R >> endobj 483 0 obj << /Title 484 0 R /A 481 0 R -/Parent 463 0 R +/Parent 467 0 R /Prev 479 0 R +/Next 487 0 R >> endobj 479 0 obj << /Title 480 0 R /A 477 0 R -/Parent 463 0 R +/Parent 467 0 R /Prev 475 0 R /Next 483 0 R >> endobj 475 0 obj << /Title 476 0 R /A 473 0 R -/Parent 463 0 R +/Parent 467 0 R /Prev 471 0 R /Next 479 0 R >> endobj 471 0 obj << /Title 472 0 R /A 469 0 R -/Parent 463 0 R -/Prev 467 0 R +/Parent 467 0 R /Next 475 0 R >> endobj 467 0 obj << /Title 468 0 R /A 465 0 R -/Parent 463 0 R -/Next 471 0 R +/Parent 7 0 R +/Prev 447 0 R +/Next 491 0 R +/First 471 0 R +/Last 487 0 R +/Count -5 >> endobj 463 0 obj << /Title 464 0 R /A 461 0 R -/Parent 7 0 R -/Prev 443 0 R -/Next 487 0 R -/First 467 0 R -/Last 483 0 R -/Count -5 +/Parent 447 0 R +/Prev 459 0 R >> endobj 459 0 obj << /Title 460 0 R /A 457 0 R -/Parent 443 0 R +/Parent 447 0 R /Prev 455 0 R +/Next 463 0 R >> endobj 455 0 obj << /Title 456 0 R /A 453 0 R -/Parent 443 0 R +/Parent 447 0 R /Prev 451 0 R /Next 459 0 R >> endobj 451 0 obj << /Title 452 0 R /A 449 0 R -/Parent 443 0 R -/Prev 447 0 R +/Parent 447 0 R /Next 455 0 R >> endobj 447 0 obj << /Title 448 0 R /A 445 0 R -/Parent 443 0 R -/Next 451 0 R +/Parent 7 0 R +/Prev 379 0 R +/Next 467 0 R +/First 451 0 R +/Last 463 0 R +/Count -4 >> endobj 443 0 obj << /Title 444 0 R /A 441 0 R -/Parent 7 0 R -/Prev 375 0 R -/Next 463 0 R -/First 447 0 R -/Last 459 0 R -/Count -4 +/Parent 379 0 R +/Prev 439 0 R >> endobj 439 0 obj << /Title 440 0 R /A 437 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 435 0 R +/Next 443 0 R >> endobj 435 0 obj << /Title 436 0 R /A 433 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 431 0 R /Next 439 0 R >> endobj 431 0 obj << /Title 432 0 R /A 429 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 427 0 R /Next 435 0 R >> endobj 427 0 obj << /Title 428 0 R /A 425 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 423 0 R /Next 431 0 R >> endobj 423 0 obj << /Title 424 0 R /A 421 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 419 0 R /Next 427 0 R >> endobj 419 0 obj << /Title 420 0 R /A 417 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 415 0 R /Next 423 0 R >> endobj 415 0 obj << /Title 416 0 R /A 413 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 411 0 R /Next 419 0 R >> endobj 411 0 obj << /Title 412 0 R /A 409 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 407 0 R /Next 415 0 R >> endobj 407 0 obj << /Title 408 0 R /A 405 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 403 0 R /Next 411 0 R >> endobj 403 0 obj << /Title 404 0 R /A 401 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 399 0 R /Next 407 0 R >> endobj 399 0 obj << /Title 400 0 R /A 397 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 395 0 R /Next 403 0 R >> endobj 395 0 obj << /Title 396 0 R /A 393 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 391 0 R /Next 399 0 R >> endobj 391 0 obj << /Title 392 0 R /A 389 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 387 0 R /Next 395 0 R >> endobj 387 0 obj << /Title 388 0 R /A 385 0 R -/Parent 375 0 R +/Parent 379 0 R /Prev 383 0 R /Next 391 0 R >> endobj 383 0 obj << /Title 384 0 R /A 381 0 R -/Parent 375 0 R -/Prev 379 0 R +/Parent 379 0 R /Next 387 0 R >> endobj 379 0 obj << /Title 380 0 R /A 377 0 R -/Parent 375 0 R -/Next 383 0 R +/Parent 7 0 R +/Prev 267 0 R +/Next 447 0 R +/First 383 0 R +/Last 443 0 R +/Count -16 >> endobj 375 0 obj << /Title 376 0 R /A 373 0 R -/Parent 7 0 R -/Prev 263 0 R -/Next 443 0 R -/First 379 0 R -/Last 439 0 R -/Count -16 +/Parent 267 0 R +/Prev 371 0 R >> endobj 371 0 obj << /Title 372 0 R /A 369 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 367 0 R +/Next 375 0 R >> endobj 367 0 obj << /Title 368 0 R /A 365 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 363 0 R /Next 371 0 R >> endobj 363 0 obj << /Title 364 0 R /A 361 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 359 0 R /Next 367 0 R >> endobj 359 0 obj << /Title 360 0 R /A 357 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 355 0 R /Next 363 0 R >> endobj 355 0 obj << /Title 356 0 R /A 353 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 351 0 R /Next 359 0 R >> endobj 351 0 obj << /Title 352 0 R /A 349 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 347 0 R /Next 355 0 R >> endobj 347 0 obj << /Title 348 0 R /A 345 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 343 0 R /Next 351 0 R >> endobj 343 0 obj << /Title 344 0 R /A 341 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 339 0 R /Next 347 0 R >> endobj 339 0 obj << /Title 340 0 R /A 337 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 335 0 R /Next 343 0 R >> endobj 335 0 obj << /Title 336 0 R /A 333 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 331 0 R /Next 339 0 R >> endobj 331 0 obj << /Title 332 0 R /A 329 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 327 0 R /Next 335 0 R >> endobj 327 0 obj << /Title 328 0 R /A 325 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 323 0 R /Next 331 0 R >> endobj 323 0 obj << /Title 324 0 R /A 321 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 319 0 R /Next 327 0 R >> endobj 319 0 obj << /Title 320 0 R /A 317 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 315 0 R /Next 323 0 R >> endobj 315 0 obj << /Title 316 0 R /A 313 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 311 0 R /Next 319 0 R >> endobj 311 0 obj << /Title 312 0 R /A 309 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 307 0 R /Next 315 0 R >> endobj 307 0 obj << /Title 308 0 R /A 305 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 303 0 R /Next 311 0 R >> endobj 303 0 obj << /Title 304 0 R /A 301 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 299 0 R /Next 307 0 R >> endobj 299 0 obj << /Title 300 0 R /A 297 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 295 0 R /Next 303 0 R >> endobj 295 0 obj << /Title 296 0 R /A 293 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 291 0 R /Next 299 0 R >> endobj 291 0 obj << /Title 292 0 R /A 289 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 287 0 R /Next 295 0 R >> endobj 287 0 obj << /Title 288 0 R /A 285 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 283 0 R /Next 291 0 R >> endobj 283 0 obj << /Title 284 0 R /A 281 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 279 0 R /Next 287 0 R >> endobj 279 0 obj << /Title 280 0 R /A 277 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 275 0 R /Next 283 0 R >> endobj 275 0 obj << /Title 276 0 R /A 273 0 R -/Parent 263 0 R +/Parent 267 0 R /Prev 271 0 R /Next 279 0 R >> endobj 271 0 obj << /Title 272 0 R /A 269 0 R -/Parent 263 0 R -/Prev 267 0 R +/Parent 267 0 R /Next 275 0 R >> endobj 267 0 obj << /Title 268 0 R /A 265 0 R -/Parent 263 0 R -/Next 271 0 R +/Parent 7 0 R +/Prev 247 0 R +/Next 379 0 R +/First 271 0 R +/Last 375 0 R +/Count -27 >> endobj 263 0 obj << /Title 264 0 R /A 261 0 R -/Parent 7 0 R -/Prev 243 0 R -/Next 375 0 R -/First 267 0 R -/Last 371 0 R -/Count -27 +/Parent 247 0 R +/Prev 259 0 R >> endobj 259 0 obj << /Title 260 0 R /A 257 0 R -/Parent 243 0 R +/Parent 247 0 R /Prev 255 0 R +/Next 263 0 R >> endobj 255 0 obj << /Title 256 0 R /A 253 0 R -/Parent 243 0 R +/Parent 247 0 R /Prev 251 0 R /Next 259 0 R >> endobj 251 0 obj << /Title 252 0 R /A 249 0 R -/Parent 243 0 R -/Prev 247 0 R +/Parent 247 0 R /Next 255 0 R >> endobj 247 0 obj << /Title 248 0 R /A 245 0 R -/Parent 243 0 R -/Next 251 0 R +/Parent 7 0 R +/Prev 191 0 R +/Next 267 0 R +/First 251 0 R +/Last 263 0 R +/Count -4 >> endobj 243 0 obj << /Title 244 0 R /A 241 0 R -/Parent 7 0 R -/Prev 187 0 R -/Next 263 0 R -/First 247 0 R -/Last 259 0 R -/Count -4 +/Parent 191 0 R +/Prev 239 0 R >> endobj 239 0 obj << /Title 240 0 R /A 237 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 235 0 R +/Next 243 0 R >> endobj 235 0 obj << /Title 236 0 R /A 233 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 231 0 R /Next 239 0 R >> endobj 231 0 obj << /Title 232 0 R /A 229 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 227 0 R /Next 235 0 R >> endobj 227 0 obj << /Title 228 0 R /A 225 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 223 0 R /Next 231 0 R >> endobj 223 0 obj << /Title 224 0 R /A 221 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 219 0 R /Next 227 0 R >> endobj 219 0 obj << /Title 220 0 R /A 217 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 215 0 R /Next 223 0 R >> endobj 215 0 obj << /Title 216 0 R /A 213 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 211 0 R /Next 219 0 R >> endobj 211 0 obj << /Title 212 0 R /A 209 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 207 0 R /Next 215 0 R >> endobj 207 0 obj << /Title 208 0 R /A 205 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 203 0 R /Next 211 0 R >> endobj 203 0 obj << /Title 204 0 R /A 201 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 199 0 R /Next 207 0 R >> endobj 199 0 obj << /Title 200 0 R /A 197 0 R -/Parent 187 0 R +/Parent 191 0 R /Prev 195 0 R /Next 203 0 R >> endobj 195 0 obj << /Title 196 0 R /A 193 0 R -/Parent 187 0 R -/Prev 191 0 R +/Parent 191 0 R /Next 199 0 R >> endobj 191 0 obj << /Title 192 0 R /A 189 0 R -/Parent 187 0 R -/Next 195 0 R +/Parent 7 0 R +/Prev 39 0 R +/Next 247 0 R +/First 195 0 R +/Last 243 0 R +/Count -13 >> endobj 187 0 obj << /Title 188 0 R /A 185 0 R -/Parent 7 0 R -/Prev 39 0 R -/Next 243 0 R -/First 191 0 R -/Last 239 0 R -/Count -13 +/Parent 39 0 R +/Prev 163 0 R >> endobj 183 0 obj << /Title 184 0 R /A 181 0 R -/Parent 39 0 R -/Prev 159 0 R +/Parent 167 0 R +/Prev 179 0 R >> endobj 179 0 obj << /Title 180 0 R /A 177 0 R -/Parent 163 0 R +/Parent 167 0 R /Prev 175 0 R +/Next 183 0 R >> endobj 175 0 obj << /Title 176 0 R /A 173 0 R -/Parent 163 0 R +/Parent 167 0 R /Prev 171 0 R /Next 179 0 R >> endobj 171 0 obj << /Title 172 0 R /A 169 0 R -/Parent 163 0 R -/Prev 167 0 R +/Parent 167 0 R /Next 175 0 R >> endobj 167 0 obj << /Title 168 0 R /A 165 0 R /Parent 163 0 R -/Next 171 0 R +/First 171 0 R +/Last 183 0 R +/Count -4 >> endobj 163 0 obj << /Title 164 0 R /A 161 0 R -/Parent 159 0 R +/Parent 39 0 R +/Prev 87 0 R +/Next 187 0 R /First 167 0 R -/Last 179 0 R -/Count -4 +/Last 167 0 R +/Count -1 >> endobj 159 0 obj << /Title 160 0 R /A 157 0 R -/Parent 39 0 R -/Prev 87 0 R -/Next 183 0 R -/First 163 0 R -/Last 163 0 R -/Count -1 +/Parent 87 0 R +/Prev 91 0 R >> endobj 155 0 obj << /Title 156 0 R /A 153 0 R -/Parent 87 0 R -/Prev 91 0 R +/Parent 91 0 R +/Prev 151 0 R >> endobj 151 0 obj << /Title 152 0 R /A 149 0 R /Parent 91 0 R /Prev 147 0 R +/Next 155 0 R >> endobj 147 0 obj << /Title 148 0 R @@ -23288,19 +23359,19 @@ endobj /Title 92 0 R /A 89 0 R /Parent 87 0 R -/Next 155 0 R +/Next 159 0 R /First 95 0 R -/Last 151 0 R -/Count -15 +/Last 155 0 R +/Count -16 >> endobj 87 0 obj << /Title 88 0 R /A 85 0 R /Parent 39 0 R /Prev 43 0 R -/Next 159 0 R +/Next 163 0 R /First 91 0 R -/Last 155 0 R +/Last 159 0 R /Count -2 >> endobj 83 0 obj << @@ -23386,9 +23457,9 @@ endobj /A 37 0 R /Parent 7 0 R /Prev 15 0 R -/Next 187 0 R +/Next 191 0 R /First 43 0 R -/Last 183 0 R +/Last 187 0 R /Count -4 >> endobj 35 0 obj << @@ -23444,2311 +23515,2316 @@ endobj 7 0 obj << /Title 8 0 R /A 5 0 R -/Parent 1751 0 R +/Parent 1756 0 R /First 11 0 R -/Last 511 0 R +/Last 515 0 R /Count -11 >> endobj -1752 0 obj << -/Names [(Doc-Start) 522 0 R (Hfootnote.1) 729 0 R (Hfootnote.2) 731 0 R (Hfootnote.3) 1629 0 R (Item.1) 758 0 R (Item.10) 772 0 R] -/Limits [(Doc-Start) (Item.10)] ->> endobj -1753 0 obj << -/Names [(Item.100) 1426 0 R (Item.101) 1435 0 R (Item.102) 1436 0 R (Item.103) 1442 0 R (Item.104) 1443 0 R (Item.105) 1448 0 R] -/Limits [(Item.100) (Item.105)] ->> endobj -1754 0 obj << -/Names [(Item.106) 1449 0 R (Item.107) 1450 0 R (Item.108) 1480 0 R (Item.109) 1481 0 R (Item.11) 773 0 R (Item.110) 1486 0 R] -/Limits [(Item.106) (Item.110)] ->> endobj -1755 0 obj << -/Names [(Item.111) 1487 0 R (Item.112) 1492 0 R (Item.113) 1493 0 R (Item.114) 1498 0 R (Item.115) 1499 0 R (Item.116) 1505 0 R] -/Limits [(Item.111) (Item.116)] ->> endobj -1756 0 obj << -/Names [(Item.117) 1506 0 R (Item.118) 1511 0 R (Item.119) 1516 0 R (Item.12) 774 0 R (Item.13) 775 0 R (Item.14) 776 0 R] -/Limits [(Item.117) (Item.14)] ->> endobj 1757 0 obj << -/Names [(Item.15) 777 0 R (Item.16) 778 0 R (Item.17) 779 0 R (Item.18) 780 0 R (Item.19) 781 0 R (Item.2) 759 0 R] -/Limits [(Item.15) (Item.2)] +/Names [(Doc-Start) 526 0 R (Hfootnote.1) 734 0 R (Hfootnote.2) 736 0 R (Hfootnote.3) 1634 0 R (Item.1) 763 0 R (Item.10) 777 0 R] +/Limits [(Doc-Start) (Item.10)] >> endobj 1758 0 obj << -/Names [(Item.20) 782 0 R (Item.21) 783 0 R (Item.22) 790 0 R (Item.23) 791 0 R (Item.24) 792 0 R (Item.25) 793 0 R] -/Limits [(Item.20) (Item.25)] +/Names [(Item.100) 1431 0 R (Item.101) 1440 0 R (Item.102) 1441 0 R (Item.103) 1447 0 R (Item.104) 1448 0 R (Item.105) 1453 0 R] +/Limits [(Item.100) (Item.105)] >> endobj 1759 0 obj << -/Names [(Item.26) 794 0 R (Item.27) 795 0 R (Item.28) 807 0 R (Item.29) 808 0 R (Item.3) 760 0 R (Item.30) 809 0 R] -/Limits [(Item.26) (Item.30)] +/Names [(Item.106) 1454 0 R (Item.107) 1455 0 R (Item.108) 1485 0 R (Item.109) 1486 0 R (Item.11) 778 0 R (Item.110) 1491 0 R] +/Limits [(Item.106) (Item.110)] >> endobj 1760 0 obj << -/Names [(Item.31) 810 0 R (Item.32) 811 0 R (Item.33) 812 0 R (Item.34) 813 0 R (Item.35) 814 0 R (Item.36) 819 0 R] -/Limits [(Item.31) (Item.36)] +/Names [(Item.111) 1492 0 R (Item.112) 1497 0 R (Item.113) 1498 0 R (Item.114) 1503 0 R (Item.115) 1504 0 R (Item.116) 1510 0 R] +/Limits [(Item.111) (Item.116)] >> endobj 1761 0 obj << -/Names [(Item.37) 820 0 R (Item.38) 821 0 R (Item.39) 822 0 R (Item.4) 761 0 R (Item.40) 823 0 R (Item.41) 855 0 R] -/Limits [(Item.37) (Item.41)] +/Names [(Item.117) 1511 0 R (Item.118) 1516 0 R (Item.119) 1521 0 R (Item.12) 779 0 R (Item.13) 780 0 R (Item.14) 781 0 R] +/Limits [(Item.117) (Item.14)] >> endobj 1762 0 obj << -/Names [(Item.42) 1123 0 R (Item.43) 1124 0 R (Item.44) 1125 0 R (Item.45) 1179 0 R (Item.46) 1185 0 R (Item.47) 1190 0 R] -/Limits [(Item.42) (Item.47)] +/Names [(Item.15) 782 0 R (Item.16) 783 0 R (Item.17) 784 0 R (Item.18) 785 0 R (Item.19) 786 0 R (Item.2) 764 0 R] +/Limits [(Item.15) (Item.2)] >> endobj 1763 0 obj << -/Names [(Item.48) 1191 0 R (Item.49) 1192 0 R (Item.5) 762 0 R (Item.50) 1193 0 R (Item.51) 1194 0 R (Item.52) 1206 0 R] -/Limits [(Item.48) (Item.52)] +/Names [(Item.20) 787 0 R (Item.21) 788 0 R (Item.22) 795 0 R (Item.23) 796 0 R (Item.24) 797 0 R (Item.25) 798 0 R] +/Limits [(Item.20) (Item.25)] >> endobj 1764 0 obj << -/Names [(Item.53) 1207 0 R (Item.54) 1208 0 R (Item.55) 1215 0 R (Item.56) 1238 0 R (Item.57) 1239 0 R (Item.58) 1246 0 R] -/Limits [(Item.53) (Item.58)] +/Names [(Item.26) 799 0 R (Item.27) 800 0 R (Item.28) 812 0 R (Item.29) 813 0 R (Item.3) 765 0 R (Item.30) 814 0 R] +/Limits [(Item.26) (Item.30)] >> endobj 1765 0 obj << -/Names [(Item.59) 1247 0 R (Item.6) 763 0 R (Item.60) 1248 0 R (Item.61) 1260 0 R (Item.62) 1261 0 R (Item.63) 1262 0 R] -/Limits [(Item.59) (Item.63)] +/Names [(Item.31) 815 0 R (Item.32) 816 0 R (Item.33) 817 0 R (Item.34) 818 0 R (Item.35) 819 0 R (Item.36) 824 0 R] +/Limits [(Item.31) (Item.36)] >> endobj 1766 0 obj << -/Names [(Item.64) 1263 0 R (Item.65) 1264 0 R (Item.66) 1265 0 R (Item.67) 1266 0 R (Item.68) 1267 0 R (Item.69) 1268 0 R] -/Limits [(Item.64) (Item.69)] +/Names [(Item.37) 825 0 R (Item.38) 826 0 R (Item.39) 827 0 R (Item.4) 766 0 R (Item.40) 828 0 R (Item.41) 860 0 R] +/Limits [(Item.37) (Item.41)] >> endobj 1767 0 obj << -/Names [(Item.7) 764 0 R (Item.70) 1279 0 R (Item.71) 1280 0 R (Item.72) 1281 0 R (Item.73) 1282 0 R (Item.74) 1283 0 R] -/Limits [(Item.7) (Item.74)] +/Names [(Item.42) 1128 0 R (Item.43) 1129 0 R (Item.44) 1130 0 R (Item.45) 1184 0 R (Item.46) 1190 0 R (Item.47) 1195 0 R] +/Limits [(Item.42) (Item.47)] >> endobj 1768 0 obj << -/Names [(Item.75) 1284 0 R (Item.76) 1298 0 R (Item.77) 1315 0 R (Item.78) 1316 0 R (Item.79) 1344 0 R (Item.8) 765 0 R] -/Limits [(Item.75) (Item.8)] +/Names [(Item.48) 1196 0 R (Item.49) 1197 0 R (Item.5) 767 0 R (Item.50) 1198 0 R (Item.51) 1199 0 R (Item.52) 1211 0 R] +/Limits [(Item.48) (Item.52)] >> endobj 1769 0 obj << -/Names [(Item.80) 1345 0 R (Item.81) 1356 0 R (Item.82) 1363 0 R (Item.83) 1369 0 R (Item.84) 1375 0 R (Item.85) 1381 0 R] -/Limits [(Item.80) (Item.85)] +/Names [(Item.53) 1212 0 R (Item.54) 1213 0 R (Item.55) 1220 0 R (Item.56) 1243 0 R (Item.57) 1244 0 R (Item.58) 1251 0 R] +/Limits [(Item.53) (Item.58)] >> endobj 1770 0 obj << -/Names [(Item.86) 1382 0 R (Item.87) 1388 0 R (Item.88) 1389 0 R (Item.89) 1400 0 R (Item.9) 771 0 R (Item.90) 1401 0 R] -/Limits [(Item.86) (Item.90)] +/Names [(Item.59) 1252 0 R (Item.6) 768 0 R (Item.60) 1253 0 R (Item.61) 1265 0 R (Item.62) 1266 0 R (Item.63) 1267 0 R] +/Limits [(Item.59) (Item.63)] >> endobj 1771 0 obj << -/Names [(Item.91) 1402 0 R (Item.92) 1418 0 R (Item.93) 1419 0 R (Item.94) 1420 0 R (Item.95) 1421 0 R (Item.96) 1422 0 R] -/Limits [(Item.91) (Item.96)] +/Names [(Item.64) 1268 0 R (Item.65) 1269 0 R (Item.66) 1270 0 R (Item.67) 1271 0 R (Item.68) 1272 0 R (Item.69) 1273 0 R] +/Limits [(Item.64) (Item.69)] >> endobj 1772 0 obj << -/Names [(Item.97) 1423 0 R (Item.98) 1424 0 R (Item.99) 1425 0 R (cite.2007c) 745 0 R (cite.2007d) 746 0 R (cite.BLACS) 717 0 R] -/Limits [(Item.97) (cite.BLACS)] +/Names [(Item.7) 769 0 R (Item.70) 1284 0 R (Item.71) 1285 0 R (Item.72) 1286 0 R (Item.73) 1287 0 R (Item.74) 1288 0 R] +/Limits [(Item.7) (Item.74)] >> endobj 1773 0 obj << -/Names [(cite.BLAS1) 698 0 R (cite.BLAS2) 699 0 R (cite.BLAS3) 700 0 R (cite.DesPat:11) 693 0 R (cite.DesignPatterns) 844 0 R (cite.KIVA3PSBLAS) 1689 0 R] -/Limits [(cite.BLAS1) (cite.KIVA3PSBLAS)] +/Names [(Item.75) 1289 0 R (Item.76) 1303 0 R (Item.77) 1320 0 R (Item.78) 1321 0 R (Item.79) 1349 0 R (Item.8) 770 0 R] +/Limits [(Item.75) (Item.8)] >> endobj 1774 0 obj << -/Names [(cite.METIS) 732 0 R (cite.MPI1) 1694 0 R (cite.PARA04FOREST) 1687 0 R (cite.PSBLAS) 1688 0 R (cite.RouXiaXu:11) 694 0 R (cite.Sparse03) 692 0 R] -/Limits [(cite.METIS) (cite.Sparse03)] +/Names [(Item.80) 1350 0 R (Item.81) 1361 0 R (Item.82) 1368 0 R (Item.83) 1374 0 R (Item.84) 1380 0 R (Item.85) 1386 0 R] +/Limits [(Item.80) (Item.85)] >> endobj 1775 0 obj << -/Names [(cite.machiels) 695 0 R (cite.metcalf) 691 0 R (cite.sblas02) 697 0 R (cite.sblas97) 696 0 R (descdata) 801 0 R (equation.1) 1029 0 R] -/Limits [(cite.machiels) (equation.1)] +/Names [(Item.86) 1387 0 R (Item.87) 1393 0 R (Item.88) 1394 0 R (Item.89) 1405 0 R (Item.9) 776 0 R (Item.90) 1406 0 R] +/Limits [(Item.86) (Item.90)] >> endobj 1776 0 obj << -/Names [(equation.2) 1030 0 R (equation.3) 1031 0 R (figure.1) 710 0 R (figure.10) 1524 0 R (figure.2) 740 0 R (figure.3) 824 0 R] -/Limits [(equation.2) (figure.3)] +/Names [(Item.91) 1407 0 R (Item.92) 1423 0 R (Item.93) 1424 0 R (Item.94) 1425 0 R (Item.95) 1426 0 R (Item.96) 1427 0 R] +/Limits [(Item.91) (Item.96)] >> endobj 1777 0 obj << -/Names [(figure.4) 845 0 R (figure.5) 881 0 R (figure.6) 892 0 R (figure.7) 1092 0 R (figure.8) 1126 0 R (figure.9) 1523 0 R] -/Limits [(figure.4) (figure.9)] +/Names [(Item.97) 1428 0 R (Item.98) 1429 0 R (Item.99) 1430 0 R (cite.2007c) 750 0 R (cite.2007d) 751 0 R (cite.BLACS) 722 0 R] +/Limits [(Item.97) (cite.BLACS)] >> endobj 1778 0 obj << -/Names [(lstlisting.-1) 1082 0 R (lstlisting.-10) 1589 0 R (lstlisting.-11) 1596 0 R (lstlisting.-12) 1604 0 R (lstlisting.-13) 1610 0 R (lstlisting.-14) 1617 0 R] -/Limits [(lstlisting.-1) (lstlisting.-14)] +/Names [(cite.BLAS1) 703 0 R (cite.BLAS2) 704 0 R (cite.BLAS3) 705 0 R (cite.DesPat:11) 698 0 R (cite.DesignPatterns) 849 0 R (cite.KIVA3PSBLAS) 1694 0 R] +/Limits [(cite.BLAS1) (cite.KIVA3PSBLAS)] >> endobj 1779 0 obj << -/Names [(lstlisting.-15) 1668 0 R (lstlisting.-2) 1112 0 R (lstlisting.-3) 1148 0 R (lstlisting.-4) 1163 0 R (lstlisting.-5) 1529 0 R (lstlisting.-6) 1559 0 R] -/Limits [(lstlisting.-15) (lstlisting.-6)] +/Names [(cite.METIS) 737 0 R (cite.MPI1) 1699 0 R (cite.PARA04FOREST) 1692 0 R (cite.PSBLAS) 1693 0 R (cite.RouXiaXu:11) 699 0 R (cite.Sparse03) 697 0 R] +/Limits [(cite.METIS) (cite.Sparse03)] >> endobj 1780 0 obj << -/Names [(lstlisting.-7) 1566 0 R (lstlisting.-8) 1572 0 R (lstlisting.-9) 1578 0 R (lstnumber.-1.1) 1083 0 R (lstnumber.-1.2) 1084 0 R (lstnumber.-10.1) 1590 0 R] -/Limits [(lstlisting.-7) (lstnumber.-10.1)] +/Names [(cite.machiels) 700 0 R (cite.metcalf) 696 0 R (cite.sblas02) 702 0 R (cite.sblas97) 701 0 R (descdata) 806 0 R (equation.1) 1034 0 R] +/Limits [(cite.machiels) (equation.1)] >> endobj 1781 0 obj << -/Names [(lstnumber.-11.1) 1597 0 R (lstnumber.-12.1) 1605 0 R (lstnumber.-13.1) 1611 0 R (lstnumber.-14.1) 1618 0 R (lstnumber.-15.1) 1669 0 R (lstnumber.-15.2) 1670 0 R] -/Limits [(lstnumber.-11.1) (lstnumber.-15.2)] +/Names [(equation.2) 1035 0 R (equation.3) 1036 0 R (figure.1) 715 0 R (figure.10) 1529 0 R (figure.2) 745 0 R (figure.3) 829 0 R] +/Limits [(equation.2) (figure.3)] >> endobj 1782 0 obj << -/Names [(lstnumber.-2.1) 1113 0 R (lstnumber.-2.2) 1114 0 R (lstnumber.-3.1) 1149 0 R (lstnumber.-3.2) 1150 0 R (lstnumber.-4.1) 1164 0 R (lstnumber.-4.2) 1165 0 R] -/Limits [(lstnumber.-2.1) (lstnumber.-4.2)] +/Names [(figure.4) 850 0 R (figure.5) 890 0 R (figure.6) 902 0 R (figure.7) 1097 0 R (figure.8) 1131 0 R (figure.9) 1528 0 R] +/Limits [(figure.4) (figure.9)] >> endobj 1783 0 obj << -/Names [(lstnumber.-5.1) 1530 0 R (lstnumber.-5.10) 1540 0 R (lstnumber.-5.11) 1541 0 R (lstnumber.-5.12) 1542 0 R (lstnumber.-5.13) 1543 0 R (lstnumber.-5.14) 1544 0 R] -/Limits [(lstnumber.-5.1) (lstnumber.-5.14)] +/Names [(lstlisting.-1) 1087 0 R (lstlisting.-10) 1594 0 R (lstlisting.-11) 1601 0 R (lstlisting.-12) 1609 0 R (lstlisting.-13) 1615 0 R (lstlisting.-14) 1622 0 R] +/Limits [(lstlisting.-1) (lstlisting.-14)] >> endobj 1784 0 obj << -/Names [(lstnumber.-5.15) 1545 0 R (lstnumber.-5.16) 1546 0 R (lstnumber.-5.17) 1547 0 R (lstnumber.-5.18) 1548 0 R (lstnumber.-5.19) 1549 0 R (lstnumber.-5.2) 1532 0 R] -/Limits [(lstnumber.-5.15) (lstnumber.-5.2)] +/Names [(lstlisting.-15) 1673 0 R (lstlisting.-2) 1117 0 R (lstlisting.-3) 1153 0 R (lstlisting.-4) 1168 0 R (lstlisting.-5) 1534 0 R (lstlisting.-6) 1564 0 R] +/Limits [(lstlisting.-15) (lstlisting.-6)] >> endobj 1785 0 obj << -/Names [(lstnumber.-5.20) 1550 0 R (lstnumber.-5.21) 1551 0 R (lstnumber.-5.22) 1552 0 R (lstnumber.-5.23) 1553 0 R (lstnumber.-5.24) 1554 0 R (lstnumber.-5.3) 1533 0 R] -/Limits [(lstnumber.-5.20) (lstnumber.-5.3)] +/Names [(lstlisting.-7) 1571 0 R (lstlisting.-8) 1577 0 R (lstlisting.-9) 1583 0 R (lstnumber.-1.1) 1088 0 R (lstnumber.-1.2) 1089 0 R (lstnumber.-10.1) 1595 0 R] +/Limits [(lstlisting.-7) (lstnumber.-10.1)] >> endobj 1786 0 obj << -/Names [(lstnumber.-5.4) 1534 0 R (lstnumber.-5.5) 1535 0 R (lstnumber.-5.6) 1536 0 R (lstnumber.-5.7) 1537 0 R (lstnumber.-5.8) 1538 0 R (lstnumber.-5.9) 1539 0 R] -/Limits [(lstnumber.-5.4) (lstnumber.-5.9)] +/Names [(lstnumber.-11.1) 1602 0 R (lstnumber.-12.1) 1610 0 R (lstnumber.-13.1) 1616 0 R (lstnumber.-14.1) 1623 0 R (lstnumber.-15.1) 1674 0 R (lstnumber.-15.2) 1675 0 R] +/Limits [(lstnumber.-11.1) (lstnumber.-15.2)] >> endobj 1787 0 obj << -/Names [(lstnumber.-6.1) 1560 0 R (lstnumber.-7.1) 1567 0 R (lstnumber.-8.1) 1573 0 R (lstnumber.-9.1) 1579 0 R (page.1) 521 0 R (page.10) 806 0 R] -/Limits [(lstnumber.-6.1) (page.10)] +/Names [(lstnumber.-2.1) 1118 0 R (lstnumber.-2.2) 1119 0 R (lstnumber.-3.1) 1154 0 R (lstnumber.-3.2) 1155 0 R (lstnumber.-4.1) 1169 0 R (lstnumber.-4.2) 1170 0 R] +/Limits [(lstnumber.-2.1) (lstnumber.-4.2)] >> endobj 1788 0 obj << -/Names [(page.100) 1454 0 R (page.101) 1458 0 R (page.102) 1462 0 R (page.103) 1466 0 R (page.104) 1471 0 R (page.105) 1475 0 R] -/Limits [(page.100) (page.105)] +/Names [(lstnumber.-5.1) 1535 0 R (lstnumber.-5.10) 1545 0 R (lstnumber.-5.11) 1546 0 R (lstnumber.-5.12) 1547 0 R (lstnumber.-5.13) 1548 0 R (lstnumber.-5.14) 1549 0 R] +/Limits [(lstnumber.-5.1) (lstnumber.-5.14)] >> endobj 1789 0 obj << -/Names [(page.106) 1479 0 R (page.107) 1485 0 R (page.108) 1491 0 R (page.109) 1497 0 R (page.11) 818 0 R (page.110) 1504 0 R] -/Limits [(page.106) (page.110)] +/Names [(lstnumber.-5.15) 1550 0 R (lstnumber.-5.16) 1551 0 R (lstnumber.-5.17) 1552 0 R (lstnumber.-5.18) 1553 0 R (lstnumber.-5.19) 1554 0 R (lstnumber.-5.2) 1537 0 R] +/Limits [(lstnumber.-5.15) (lstnumber.-5.2)] >> endobj 1790 0 obj << -/Names [(page.111) 1510 0 R (page.112) 1515 0 R (page.113) 1522 0 R (page.114) 1528 0 R (page.115) 1558 0 R (page.116) 1565 0 R] -/Limits [(page.111) (page.116)] +/Names [(lstnumber.-5.20) 1555 0 R (lstnumber.-5.21) 1556 0 R (lstnumber.-5.22) 1557 0 R (lstnumber.-5.23) 1558 0 R (lstnumber.-5.24) 1559 0 R (lstnumber.-5.3) 1538 0 R] +/Limits [(lstnumber.-5.20) (lstnumber.-5.3)] >> endobj 1791 0 obj << -/Names [(page.117) 1571 0 R (page.118) 1577 0 R (page.119) 1583 0 R (page.12) 830 0 R (page.120) 1588 0 R (page.121) 1595 0 R] -/Limits [(page.117) (page.121)] +/Names [(lstnumber.-5.4) 1539 0 R (lstnumber.-5.5) 1540 0 R (lstnumber.-5.6) 1541 0 R (lstnumber.-5.7) 1542 0 R (lstnumber.-5.8) 1543 0 R (lstnumber.-5.9) 1544 0 R] +/Limits [(lstnumber.-5.4) (lstnumber.-5.9)] >> endobj 1792 0 obj << -/Names [(page.122) 1603 0 R (page.123) 1609 0 R (page.124) 1616 0 R (page.125) 1622 0 R (page.126) 1628 0 R (page.127) 1637 0 R] -/Limits [(page.122) (page.127)] +/Names [(lstnumber.-6.1) 1565 0 R (lstnumber.-7.1) 1572 0 R (lstnumber.-8.1) 1578 0 R (lstnumber.-9.1) 1584 0 R (page.1) 525 0 R (page.10) 811 0 R] +/Limits [(lstnumber.-6.1) (page.10)] >> endobj 1793 0 obj << -/Names [(page.128) 1646 0 R (page.129) 1651 0 R (page.13) 834 0 R (page.130) 1655 0 R (page.131) 1659 0 R (page.132) 1667 0 R] -/Limits [(page.128) (page.132)] +/Names [(page.100) 1459 0 R (page.101) 1463 0 R (page.102) 1467 0 R (page.103) 1471 0 R (page.104) 1476 0 R (page.105) 1480 0 R] +/Limits [(page.100) (page.105)] >> endobj 1794 0 obj << -/Names [(page.133) 1676 0 R (page.134) 1681 0 R (page.135) 1685 0 R (page.136) 1693 0 R (page.14) 842 0 R (page.15) 849 0 R] -/Limits [(page.133) (page.15)] +/Names [(page.106) 1484 0 R (page.107) 1490 0 R (page.108) 1496 0 R (page.109) 1502 0 R (page.11) 823 0 R (page.110) 1509 0 R] +/Limits [(page.106) (page.110)] >> endobj 1795 0 obj << -/Names [(page.16) 854 0 R (page.17) 859 0 R (page.18) 863 0 R (page.19) 867 0 R (page.2) 531 0 R (page.20) 872 0 R] -/Limits [(page.16) (page.20)] +/Names [(page.111) 1515 0 R (page.112) 1520 0 R (page.113) 1527 0 R (page.114) 1533 0 R (page.115) 1563 0 R (page.116) 1570 0 R] +/Limits [(page.111) (page.116)] >> endobj 1796 0 obj << -/Names [(page.21) 878 0 R (page.22) 885 0 R (page.23) 890 0 R (page.24) 896 0 R (page.25) 901 0 R (page.26) 913 0 R] -/Limits [(page.21) (page.26)] +/Names [(page.117) 1576 0 R (page.118) 1582 0 R (page.119) 1588 0 R (page.12) 835 0 R (page.120) 1593 0 R (page.121) 1600 0 R] +/Limits [(page.117) (page.121)] >> endobj 1797 0 obj << -/Names [(page.27) 920 0 R (page.28) 930 0 R (page.29) 935 0 R (page.3) 723 0 R (page.30) 945 0 R (page.31) 950 0 R] -/Limits [(page.27) (page.31)] +/Names [(page.122) 1608 0 R (page.123) 1614 0 R (page.124) 1621 0 R (page.125) 1627 0 R (page.126) 1633 0 R (page.127) 1642 0 R] +/Limits [(page.122) (page.127)] >> endobj 1798 0 obj << -/Names [(page.32) 958 0 R (page.33) 966 0 R (page.34) 974 0 R (page.35) 982 0 R (page.36) 987 0 R (page.37) 994 0 R] -/Limits [(page.32) (page.37)] +/Names [(page.128) 1651 0 R (page.129) 1656 0 R (page.13) 839 0 R (page.130) 1660 0 R (page.131) 1664 0 R (page.132) 1672 0 R] +/Limits [(page.128) (page.132)] >> endobj 1799 0 obj << -/Names [(page.38) 1003 0 R (page.39) 1010 0 R (page.4) 739 0 R (page.40) 1017 0 R (page.41) 1028 0 R (page.42) 1043 0 R] -/Limits [(page.38) (page.42)] +/Names [(page.133) 1681 0 R (page.134) 1686 0 R (page.135) 1690 0 R (page.136) 1698 0 R (page.14) 847 0 R (page.15) 854 0 R] +/Limits [(page.133) (page.15)] >> endobj 1800 0 obj << -/Names [(page.43) 1049 0 R (page.44) 1061 0 R (page.45) 1067 0 R (page.46) 1072 0 R (page.47) 1080 0 R (page.48) 1091 0 R] -/Limits [(page.43) (page.48)] +/Names [(page.16) 859 0 R (page.17) 864 0 R (page.18) 868 0 R (page.19) 872 0 R (page.2) 535 0 R (page.20) 877 0 R] +/Limits [(page.16) (page.20)] >> endobj 1801 0 obj << -/Names [(page.49) 1101 0 R (page.5) 752 0 R (page.50) 1110 0 R (page.51) 1122 0 R (page.52) 1130 0 R (page.53) 1134 0 R] -/Limits [(page.49) (page.53)] +/Names [(page.21) 881 0 R (page.22) 887 0 R (page.23) 894 0 R (page.24) 899 0 R (page.25) 906 0 R (page.26) 918 0 R] +/Limits [(page.21) (page.26)] >> endobj 1802 0 obj << -/Names [(page.54) 1146 0 R (page.55) 1154 0 R (page.56) 1161 0 R (page.57) 1169 0 R (page.58) 1173 0 R (page.59) 1178 0 R] -/Limits [(page.54) (page.59)] +/Names [(page.27) 925 0 R (page.28) 935 0 R (page.29) 940 0 R (page.3) 728 0 R (page.30) 950 0 R (page.31) 955 0 R] +/Limits [(page.27) (page.31)] >> endobj 1803 0 obj << -/Names [(page.6) 756 0 R (page.60) 1184 0 R (page.61) 1189 0 R (page.62) 1200 0 R (page.63) 1205 0 R (page.64) 1214 0 R] -/Limits [(page.6) (page.64)] +/Names [(page.32) 963 0 R (page.33) 971 0 R (page.34) 979 0 R (page.35) 987 0 R (page.36) 992 0 R (page.37) 999 0 R] +/Limits [(page.32) (page.37)] >> endobj 1804 0 obj << -/Names [(page.65) 1221 0 R (page.66) 1226 0 R (page.67) 1232 0 R (page.68) 1237 0 R (page.69) 1245 0 R (page.7) 770 0 R] -/Limits [(page.65) (page.7)] +/Names [(page.38) 1008 0 R (page.39) 1015 0 R (page.4) 744 0 R (page.40) 1022 0 R (page.41) 1033 0 R (page.42) 1048 0 R] +/Limits [(page.38) (page.42)] >> endobj 1805 0 obj << -/Names [(page.70) 1255 0 R (page.71) 1259 0 R (page.72) 1274 0 R (page.73) 1278 0 R (page.74) 1291 0 R (page.75) 1297 0 R] -/Limits [(page.70) (page.75)] +/Names [(page.43) 1054 0 R (page.44) 1066 0 R (page.45) 1072 0 R (page.46) 1077 0 R (page.47) 1085 0 R (page.48) 1096 0 R] +/Limits [(page.43) (page.48)] >> endobj 1806 0 obj << -/Names [(page.76) 1304 0 R (page.77) 1310 0 R (page.78) 1314 0 R (page.79) 1323 0 R (page.8) 789 0 R (page.80) 1330 0 R] -/Limits [(page.76) (page.80)] +/Names [(page.49) 1106 0 R (page.5) 757 0 R (page.50) 1115 0 R (page.51) 1127 0 R (page.52) 1135 0 R (page.53) 1139 0 R] +/Limits [(page.49) (page.53)] >> endobj 1807 0 obj << -/Names [(page.81) 1334 0 R (page.82) 1339 0 R (page.83) 1343 0 R (page.84) 1350 0 R (page.85) 1355 0 R (page.86) 1362 0 R] -/Limits [(page.81) (page.86)] +/Names [(page.54) 1151 0 R (page.55) 1159 0 R (page.56) 1166 0 R (page.57) 1174 0 R (page.58) 1178 0 R (page.59) 1183 0 R] +/Limits [(page.54) (page.59)] >> endobj 1808 0 obj << -/Names [(page.87) 1368 0 R (page.88) 1374 0 R (page.89) 1380 0 R (page.9) 800 0 R (page.90) 1387 0 R (page.91) 1394 0 R] -/Limits [(page.87) (page.91)] +/Names [(page.6) 761 0 R (page.60) 1189 0 R (page.61) 1194 0 R (page.62) 1205 0 R (page.63) 1210 0 R (page.64) 1219 0 R] +/Limits [(page.6) (page.64)] >> endobj 1809 0 obj << -/Names [(page.92) 1399 0 R (page.93) 1409 0 R (page.94) 1413 0 R (page.95) 1417 0 R (page.96) 1430 0 R (page.97) 1434 0 R] -/Limits [(page.92) (page.97)] +/Names [(page.65) 1226 0 R (page.66) 1231 0 R (page.67) 1237 0 R (page.68) 1242 0 R (page.69) 1250 0 R (page.7) 775 0 R] +/Limits [(page.65) (page.7)] >> endobj 1810 0 obj << -/Names [(page.98) 1441 0 R (page.99) 1447 0 R (page.i) 581 0 R (page.ii) 632 0 R (page.iii) 671 0 R (page.iv) 675 0 R] -/Limits [(page.98) (page.iv)] +/Names [(page.70) 1260 0 R (page.71) 1264 0 R (page.72) 1279 0 R (page.73) 1283 0 R (page.74) 1296 0 R (page.75) 1302 0 R] +/Limits [(page.70) (page.75)] >> endobj 1811 0 obj << -/Names [(precdata) 891 0 R (section*.1) 582 0 R (section*.10) 94 0 R (section*.100) 498 0 R (section*.101) 502 0 R (section*.102) 506 0 R] -/Limits [(precdata) (section*.102)] +/Names [(page.76) 1309 0 R (page.77) 1315 0 R (page.78) 1319 0 R (page.79) 1328 0 R (page.8) 794 0 R (page.80) 1335 0 R] +/Limits [(page.76) (page.80)] >> endobj 1812 0 obj << -/Names [(section*.103) 514 0 R (section*.104) 1686 0 R (section*.11) 98 0 R (section*.12) 102 0 R (section*.13) 106 0 R (section*.14) 110 0 R] -/Limits [(section*.103) (section*.14)] +/Names [(page.81) 1339 0 R (page.82) 1344 0 R (page.83) 1348 0 R (page.84) 1355 0 R (page.85) 1360 0 R (page.86) 1367 0 R] +/Limits [(page.81) (page.86)] >> endobj 1813 0 obj << -/Names [(section*.15) 114 0 R (section*.16) 118 0 R (section*.17) 122 0 R (section*.18) 126 0 R (section*.19) 130 0 R (section*.2) 50 0 R] -/Limits [(section*.15) (section*.2)] +/Names [(page.87) 1373 0 R (page.88) 1379 0 R (page.89) 1385 0 R (page.9) 805 0 R (page.90) 1392 0 R (page.91) 1399 0 R] +/Limits [(page.87) (page.91)] >> endobj 1814 0 obj << -/Names [(section*.20) 134 0 R (section*.21) 138 0 R (section*.22) 142 0 R (section*.23) 146 0 R (section*.24) 150 0 R (section*.25) 166 0 R] -/Limits [(section*.20) (section*.25)] +/Names [(page.92) 1404 0 R (page.93) 1414 0 R (page.94) 1418 0 R (page.95) 1422 0 R (page.96) 1435 0 R (page.97) 1439 0 R] +/Limits [(page.92) (page.97)] >> endobj 1815 0 obj << -/Names [(section*.26) 170 0 R (section*.27) 174 0 R (section*.28) 178 0 R (section*.29) 190 0 R (section*.3) 54 0 R (section*.30) 194 0 R] -/Limits [(section*.26) (section*.30)] +/Names [(page.98) 1446 0 R (page.99) 1452 0 R (page.i) 585 0 R (page.ii) 637 0 R (page.iii) 676 0 R (page.iv) 680 0 R] +/Limits [(page.98) (page.iv)] >> endobj 1816 0 obj << -/Names [(section*.31) 198 0 R (section*.32) 202 0 R (section*.33) 206 0 R (section*.34) 210 0 R (section*.35) 214 0 R (section*.36) 218 0 R] -/Limits [(section*.31) (section*.36)] +/Names [(precdata) 900 0 R (section*.1) 586 0 R (section*.10) 94 0 R (section*.100) 498 0 R (section*.101) 502 0 R (section*.102) 506 0 R] +/Limits [(precdata) (section*.102)] >> endobj 1817 0 obj << -/Names [(section*.37) 222 0 R (section*.38) 226 0 R (section*.39) 230 0 R (section*.4) 58 0 R (section*.40) 234 0 R (section*.41) 238 0 R] -/Limits [(section*.37) (section*.41)] +/Names [(section*.103) 510 0 R (section*.104) 518 0 R (section*.105) 1691 0 R (section*.11) 98 0 R (section*.12) 102 0 R (section*.13) 106 0 R] +/Limits [(section*.103) (section*.13)] >> endobj 1818 0 obj << -/Names [(section*.42) 246 0 R (section*.43) 250 0 R (section*.44) 254 0 R (section*.45) 258 0 R (section*.46) 266 0 R (section*.47) 270 0 R] -/Limits [(section*.42) (section*.47)] +/Names [(section*.14) 110 0 R (section*.15) 114 0 R (section*.16) 118 0 R (section*.17) 122 0 R (section*.18) 126 0 R (section*.19) 130 0 R] +/Limits [(section*.14) (section*.19)] >> endobj 1819 0 obj << -/Names [(section*.48) 274 0 R (section*.49) 278 0 R (section*.5) 62 0 R (section*.50) 282 0 R (section*.51) 286 0 R (section*.52) 290 0 R] -/Limits [(section*.48) (section*.52)] +/Names [(section*.2) 50 0 R (section*.20) 134 0 R (section*.21) 138 0 R (section*.22) 142 0 R (section*.23) 146 0 R (section*.24) 150 0 R] +/Limits [(section*.2) (section*.24)] >> endobj 1820 0 obj << -/Names [(section*.53) 294 0 R (section*.54) 298 0 R (section*.55) 302 0 R (section*.56) 306 0 R (section*.57) 310 0 R (section*.58) 314 0 R] -/Limits [(section*.53) (section*.58)] +/Names [(section*.25) 154 0 R (section*.26) 170 0 R (section*.27) 174 0 R (section*.28) 178 0 R (section*.29) 182 0 R (section*.3) 54 0 R] +/Limits [(section*.25) (section*.3)] >> endobj 1821 0 obj << -/Names [(section*.59) 318 0 R (section*.6) 66 0 R (section*.60) 322 0 R (section*.61) 326 0 R (section*.62) 330 0 R (section*.63) 334 0 R] -/Limits [(section*.59) (section*.63)] +/Names [(section*.30) 194 0 R (section*.31) 198 0 R (section*.32) 202 0 R (section*.33) 206 0 R (section*.34) 210 0 R (section*.35) 214 0 R] +/Limits [(section*.30) (section*.35)] >> endobj 1822 0 obj << -/Names [(section*.64) 338 0 R (section*.65) 342 0 R (section*.66) 346 0 R (section*.67) 350 0 R (section*.68) 354 0 R (section*.69) 358 0 R] -/Limits [(section*.64) (section*.69)] +/Names [(section*.36) 218 0 R (section*.37) 222 0 R (section*.38) 226 0 R (section*.39) 230 0 R (section*.4) 58 0 R (section*.40) 234 0 R] +/Limits [(section*.36) (section*.40)] >> endobj 1823 0 obj << -/Names [(section*.7) 70 0 R (section*.70) 362 0 R (section*.71) 366 0 R (section*.72) 370 0 R (section*.73) 378 0 R (section*.74) 382 0 R] -/Limits [(section*.7) (section*.74)] +/Names [(section*.41) 238 0 R (section*.42) 242 0 R (section*.43) 250 0 R (section*.44) 254 0 R (section*.45) 258 0 R (section*.46) 262 0 R] +/Limits [(section*.41) (section*.46)] >> endobj 1824 0 obj << -/Names [(section*.75) 386 0 R (section*.76) 390 0 R (section*.77) 394 0 R (section*.78) 398 0 R (section*.79) 402 0 R (section*.8) 74 0 R] -/Limits [(section*.75) (section*.8)] +/Names [(section*.47) 270 0 R (section*.48) 274 0 R (section*.49) 278 0 R (section*.5) 62 0 R (section*.50) 282 0 R (section*.51) 286 0 R] +/Limits [(section*.47) (section*.51)] >> endobj 1825 0 obj << -/Names [(section*.80) 406 0 R (section*.81) 410 0 R (section*.82) 414 0 R (section*.83) 418 0 R (section*.84) 422 0 R (section*.85) 426 0 R] -/Limits [(section*.80) (section*.85)] +/Names [(section*.52) 290 0 R (section*.53) 294 0 R (section*.54) 298 0 R (section*.55) 302 0 R (section*.56) 306 0 R (section*.57) 310 0 R] +/Limits [(section*.52) (section*.57)] >> endobj 1826 0 obj << -/Names [(section*.86) 430 0 R (section*.87) 434 0 R (section*.88) 438 0 R (section*.89) 446 0 R (section*.9) 78 0 R (section*.90) 450 0 R] -/Limits [(section*.86) (section*.90)] +/Names [(section*.58) 314 0 R (section*.59) 318 0 R (section*.6) 66 0 R (section*.60) 322 0 R (section*.61) 326 0 R (section*.62) 330 0 R] +/Limits [(section*.58) (section*.62)] >> endobj 1827 0 obj << -/Names [(section*.91) 454 0 R (section*.92) 458 0 R (section*.93) 466 0 R (section*.94) 470 0 R (section*.95) 474 0 R (section*.96) 478 0 R] -/Limits [(section*.91) (section*.96)] +/Names [(section*.63) 334 0 R (section*.64) 338 0 R (section*.65) 342 0 R (section*.66) 346 0 R (section*.67) 350 0 R (section*.68) 354 0 R] +/Limits [(section*.63) (section*.68)] >> endobj 1828 0 obj << -/Names [(section*.97) 482 0 R (section*.98) 490 0 R (section*.99) 494 0 R (section.1) 10 0 R (section.10) 486 0 R (section.11) 510 0 R] -/Limits [(section*.97) (section.11)] +/Names [(section*.69) 358 0 R (section*.7) 70 0 R (section*.70) 362 0 R (section*.71) 366 0 R (section*.72) 370 0 R (section*.73) 374 0 R] +/Limits [(section*.69) (section*.73)] >> endobj 1829 0 obj << -/Names [(section.2) 14 0 R (section.3) 38 0 R (section.4) 186 0 R (section.5) 242 0 R (section.6) 262 0 R (section.7) 374 0 R] -/Limits [(section.2) (section.7)] +/Names [(section*.74) 382 0 R (section*.75) 386 0 R (section*.76) 390 0 R (section*.77) 394 0 R (section*.78) 398 0 R (section*.79) 402 0 R] +/Limits [(section*.74) (section*.79)] >> endobj 1830 0 obj << -/Names [(section.8) 442 0 R (section.9) 462 0 R (spbasedata) 850 0 R (spdata) 843 0 R (subsection.2.1) 18 0 R (subsection.2.2) 22 0 R] -/Limits [(section.8) (subsection.2.2)] +/Names [(section*.8) 74 0 R (section*.80) 406 0 R (section*.81) 410 0 R (section*.82) 414 0 R (section*.83) 418 0 R (section*.84) 422 0 R] +/Limits [(section*.8) (section*.84)] >> endobj 1831 0 obj << -/Names [(subsection.2.3) 26 0 R (subsection.2.4) 34 0 R (subsection.3.1) 42 0 R (subsection.3.2) 86 0 R (subsection.3.3) 158 0 R (subsection.3.4) 182 0 R] -/Limits [(subsection.2.3) (subsection.3.4)] +/Names [(section*.85) 426 0 R (section*.86) 430 0 R (section*.87) 434 0 R (section*.88) 438 0 R (section*.89) 442 0 R (section*.9) 78 0 R] +/Limits [(section*.85) (section*.9)] >> endobj 1832 0 obj << -/Names [(subsubsection.2.3.1) 30 0 R (subsubsection.3.1.1) 46 0 R (subsubsection.3.1.2) 82 0 R (subsubsection.3.2.1) 90 0 R (subsubsection.3.2.2) 154 0 R (subsubsection.3.3.1) 162 0 R] -/Limits [(subsubsection.2.3.1) (subsubsection.3.3.1)] +/Names [(section*.90) 450 0 R (section*.91) 454 0 R (section*.92) 458 0 R (section*.93) 462 0 R (section*.94) 470 0 R (section*.95) 474 0 R] +/Limits [(section*.90) (section*.95)] >> endobj 1833 0 obj << -/Names [(table.1) 914 0 R (table.10) 1011 0 R (table.11) 1019 0 R (table.12) 1032 0 R (table.13) 1050 0 R (table.14) 1081 0 R] -/Limits [(table.1) (table.14)] +/Names [(section*.96) 478 0 R (section*.97) 482 0 R (section*.98) 486 0 R (section*.99) 494 0 R (section.1) 10 0 R (section.10) 490 0 R] +/Limits [(section*.96) (section.10)] >> endobj 1834 0 obj << -/Names [(table.15) 1111 0 R (table.16) 1147 0 R (table.17) 1162 0 R (table.2) 931 0 R (table.3) 946 0 R (table.4) 959 0 R] -/Limits [(table.15) (table.4)] +/Names [(section.11) 514 0 R (section.2) 14 0 R (section.3) 38 0 R (section.4) 190 0 R (section.5) 246 0 R (section.6) 266 0 R] +/Limits [(section.11) (section.6)] >> endobj 1835 0 obj << -/Names [(table.5) 967 0 R (table.6) 975 0 R (table.7) 983 0 R (table.8) 995 0 R (table.9) 1004 0 R (title.0) 6 0 R] -/Limits [(table.5) (title.0)] +/Names [(section.7) 378 0 R (section.8) 446 0 R (section.9) 466 0 R (spbasedata) 855 0 R (spdata) 848 0 R (subsection.2.1) 18 0 R] +/Limits [(section.7) (subsection.2.1)] >> endobj 1836 0 obj << -/Names [(vbasedata) 880 0 R (vdata) 879 0 R] -/Limits [(vbasedata) (vdata)] +/Names [(subsection.2.2) 22 0 R (subsection.2.3) 26 0 R (subsection.2.4) 34 0 R (subsection.3.1) 42 0 R (subsection.3.2) 86 0 R (subsection.3.3) 162 0 R] +/Limits [(subsection.2.2) (subsection.3.3)] >> endobj 1837 0 obj << -/Kids [1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R] -/Limits [(Doc-Start) (Item.2)] +/Names [(subsection.3.4) 186 0 R (subsubsection.2.3.1) 30 0 R (subsubsection.3.1.1) 46 0 R (subsubsection.3.1.2) 82 0 R (subsubsection.3.2.1) 90 0 R (subsubsection.3.2.2) 158 0 R] +/Limits [(subsection.3.4) (subsubsection.3.2.2)] >> endobj 1838 0 obj << -/Kids [1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R] -/Limits [(Item.20) (Item.52)] +/Names [(subsubsection.3.3.1) 166 0 R (table.1) 919 0 R (table.10) 1016 0 R (table.11) 1024 0 R (table.12) 1037 0 R (table.13) 1055 0 R] +/Limits [(subsubsection.3.3.1) (table.13)] >> endobj 1839 0 obj << -/Kids [1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1769 0 R] -/Limits [(Item.53) (Item.85)] +/Names [(table.14) 1086 0 R (table.15) 1116 0 R (table.16) 1152 0 R (table.17) 1167 0 R (table.2) 936 0 R (table.3) 951 0 R] +/Limits [(table.14) (table.3)] >> endobj 1840 0 obj << -/Kids [1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R] -/Limits [(Item.86) (equation.1)] +/Names [(table.4) 964 0 R (table.5) 972 0 R (table.6) 980 0 R (table.7) 988 0 R (table.8) 1000 0 R (table.9) 1009 0 R] +/Limits [(table.4) (table.9)] >> endobj 1841 0 obj << -/Kids [1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R] -/Limits [(equation.2) (lstnumber.-15.2)] +/Names [(title.0) 6 0 R (vbasedata) 889 0 R (vdata) 888 0 R] +/Limits [(title.0) (vdata)] >> endobj 1842 0 obj << -/Kids [1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R] -/Limits [(lstnumber.-2.1) (page.10)] +/Kids [1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R] +/Limits [(Doc-Start) (Item.2)] >> endobj 1843 0 obj << -/Kids [1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R 1793 0 R] -/Limits [(page.100) (page.132)] +/Kids [1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R] +/Limits [(Item.20) (Item.52)] >> endobj 1844 0 obj << -/Kids [1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R] -/Limits [(page.133) (page.42)] +/Kids [1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R] +/Limits [(Item.53) (Item.85)] >> endobj 1845 0 obj << -/Kids [1800 0 R 1801 0 R 1802 0 R 1803 0 R 1804 0 R 1805 0 R] -/Limits [(page.43) (page.75)] +/Kids [1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R] +/Limits [(Item.86) (equation.1)] >> endobj 1846 0 obj << -/Kids [1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1811 0 R] -/Limits [(page.76) (section*.102)] +/Kids [1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R] +/Limits [(equation.2) (lstnumber.-15.2)] >> endobj 1847 0 obj << -/Kids [1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R] -/Limits [(section*.103) (section*.41)] +/Kids [1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R] +/Limits [(lstnumber.-2.1) (page.10)] >> endobj 1848 0 obj << -/Kids [1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R] -/Limits [(section*.42) (section*.74)] +/Kids [1793 0 R 1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R] +/Limits [(page.100) (page.132)] >> endobj 1849 0 obj << -/Kids [1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R] -/Limits [(section*.75) (section.7)] +/Kids [1799 0 R 1800 0 R 1801 0 R 1802 0 R 1803 0 R 1804 0 R] +/Limits [(page.133) (page.42)] >> endobj 1850 0 obj << -/Kids [1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R] -/Limits [(section.8) (title.0)] +/Kids [1805 0 R 1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R] +/Limits [(page.43) (page.75)] >> endobj 1851 0 obj << -/Kids [1836 0 R] -/Limits [(vbasedata) (vdata)] +/Kids [1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R] +/Limits [(page.76) (section*.102)] >> endobj 1852 0 obj << -/Kids [1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R] -/Limits [(Doc-Start) (page.10)] +/Kids [1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R] +/Limits [(section*.103) (section*.40)] >> endobj 1853 0 obj << -/Kids [1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R] -/Limits [(page.100) (section*.74)] +/Kids [1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R] +/Limits [(section*.41) (section*.73)] >> endobj 1854 0 obj << -/Kids [1849 0 R 1850 0 R 1851 0 R] -/Limits [(section*.75) (vdata)] +/Kids [1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R] +/Limits [(section*.74) (section.6)] >> endobj 1855 0 obj << -/Kids [1852 0 R 1853 0 R 1854 0 R] -/Limits [(Doc-Start) (vdata)] +/Kids [1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R] +/Limits [(section.7) (table.9)] >> endobj 1856 0 obj << -/Dests 1855 0 R +/Kids [1841 0 R] +/Limits [(title.0) (vdata)] >> endobj 1857 0 obj << +/Kids [1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R] +/Limits [(Doc-Start) (page.10)] +>> endobj +1858 0 obj << +/Kids [1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R] +/Limits [(page.100) (section*.73)] +>> endobj +1859 0 obj << +/Kids [1854 0 R 1855 0 R 1856 0 R] +/Limits [(section*.74) (vdata)] +>> endobj +1860 0 obj << +/Kids [1857 0 R 1858 0 R 1859 0 R] +/Limits [(Doc-Start) (vdata)] +>> endobj +1861 0 obj << +/Dests 1860 0 R +>> endobj +1862 0 obj << /Type /Catalog -/Pages 1750 0 R -/Outlines 1751 0 R -/Names 1856 0 R +/Pages 1755 0 R +/Outlines 1756 0 R +/Names 1861 0 R /URI (http://ce.uniroma2.it/psblas) /PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 2 << /S /r >> 6 << /S /D >> ] >> -/OpenAction 517 0 R +/OpenAction 521 0 R >> endobj -1858 0 obj << +1863 0 obj << /Title (Parallel Sparse BLAS V. 3.2) /Subject (Parallel Sparse Basic Linear Algebra Subroutines) /Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 7725 2014-03-21 08:58:20Z sfilippo $) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords() -/CreationDate (D:20140325100014+01'00') -/ModDate (D:20140325100014+01'00') +/CreationDate (D:20140325114009+01'00') +/ModDate (D:20140325114009+01'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) >> endobj xref -0 1859 +0 1864 0000000001 65535 f 0000000002 00000 f 0000000003 00000 f 0000000004 00000 f 0000000000 00000 f 0000000015 00000 n -0000011980 00000 n -0001007363 00000 n +0000012061 00000 n +0001009577 00000 n 0000000058 00000 n 0000000100 00000 n -0000097539 00000 n -0001007291 00000 n +0000098178 00000 n +0001009505 00000 n 0000000145 00000 n 0000000178 00000 n -0000109149 00000 n -0001007168 00000 n +0000109788 00000 n +0001009382 00000 n 0000000224 00000 n 0000000261 00000 n -0000118982 00000 n -0001007094 00000 n +0000119621 00000 n +0001009308 00000 n 0000000312 00000 n 0000000353 00000 n -0000127321 00000 n -0001007007 00000 n +0000127960 00000 n +0001009221 00000 n 0000000404 00000 n 0000000443 00000 n -0000142585 00000 n -0001006883 00000 n +0000143224 00000 n +0001009097 00000 n 0000000494 00000 n 0000000538 00000 n -0000159332 00000 n -0001006822 00000 n +0000159971 00000 n +0001009036 00000 n 0000000594 00000 n 0000000646 00000 n -0000159765 00000 n -0001006748 00000 n +0000160404 00000 n +0001008962 00000 n 0000000697 00000 n 0000000737 00000 n -0000168825 00000 n -0001006623 00000 n +0000169464 00000 n +0001008837 00000 n 0000000783 00000 n 0000000831 00000 n -0000168885 00000 n -0001006512 00000 n +0000169524 00000 n +0001008726 00000 n 0000000882 00000 n 0000000930 00000 n -0000188324 00000 n -0001006401 00000 n +0000188963 00000 n +0001008615 00000 n 0000000986 00000 n 0000001029 00000 n -0000188385 00000 n -0001006327 00000 n +0000189024 00000 n +0001008541 00000 n 0000001076 00000 n 0000001115 00000 n -0000188446 00000 n -0001006240 00000 n +0000189085 00000 n +0001008454 00000 n 0000001162 00000 n 0000001201 00000 n -0000188507 00000 n -0001006153 00000 n +0000189146 00000 n +0001008367 00000 n 0000001248 00000 n 0000001288 00000 n -0000193185 00000 n -0001006066 00000 n +0000193824 00000 n +0001008280 00000 n 0000001335 00000 n 0000001375 00000 n -0000193245 00000 n -0001005979 00000 n +0000193884 00000 n +0001008193 00000 n 0000001422 00000 n 0000001455 00000 n -0000193303 00000 n -0001005892 00000 n +0000193942 00000 n +0001008106 00000 n 0000001502 00000 n 0000001526 00000 n -0000193363 00000 n -0001005805 00000 n +0000194002 00000 n +0001008019 00000 n 0000001573 00000 n 0000001630 00000 n -0000202214 00000 n -0001005731 00000 n +0000202853 00000 n +0001007945 00000 n 0000001677 00000 n 0000001734 00000 n -0000202275 00000 n -0001005657 00000 n +0000202914 00000 n +0001007871 00000 n 0000001790 00000 n 0000001830 00000 n -0000202336 00000 n -0001005531 00000 n +0000202975 00000 n +0001007745 00000 n 0000001881 00000 n 0000001923 00000 n -0000209810 00000 n -0001005417 00000 n +0000210449 00000 n +0001007631 00000 n 0000001979 00000 n 0000002025 00000 n -0000209870 00000 n -0001005343 00000 n +0000210509 00000 n +0001007557 00000 n 0000002073 00000 n 0000002104 00000 n -0000214288 00000 n -0001005254 00000 n +0000214927 00000 n +0001007468 00000 n 0000002152 00000 n 0000002184 00000 n -0000214349 00000 n -0001005163 00000 n +0000214988 00000 n +0001007377 00000 n 0000002233 00000 n 0000002267 00000 n -0000214473 00000 n -0001005071 00000 n +0000215112 00000 n +0001007285 00000 n 0000002316 00000 n 0000002348 00000 n -0000218572 00000 n -0001004979 00000 n +0000219211 00000 n +0001007193 00000 n 0000002397 00000 n 0000002424 00000 n -0000218633 00000 n -0001004887 00000 n +0000219272 00000 n +0001007101 00000 n 0000002473 00000 n 0000002504 00000 n -0000218694 00000 n -0001004795 00000 n +0000219333 00000 n +0001007009 00000 n 0000002553 00000 n 0000002605 00000 n -0000223397 00000 n -0001004703 00000 n +0000224036 00000 n +0001006917 00000 n 0000002654 00000 n 0000002726 00000 n -0000223459 00000 n -0001004611 00000 n +0000224098 00000 n +0001006825 00000 n 0000002775 00000 n 0000002800 00000 n -0000227708 00000 n -0001004519 00000 n +0000228161 00000 n +0001006733 00000 n 0000002849 00000 n 0000002875 00000 n -0000227769 00000 n -0001004427 00000 n +0000228222 00000 n +0001006641 00000 n 0000002924 00000 n -0000002956 00000 n -0000233158 00000 n -0001004335 00000 n -0000003005 00000 n -0000003029 00000 n -0000233220 00000 n -0001004243 00000 n -0000003078 00000 n -0000003102 00000 n -0000241655 00000 n -0001004151 00000 n -0000003151 00000 n -0000003199 00000 n -0000241716 00000 n -0001004073 00000 n -0000003248 00000 n -0000003273 00000 n -0000241777 00000 n -0001003996 00000 n -0000003330 00000 n -0000003371 00000 n -0000241838 00000 n -0001003866 00000 n -0000003423 00000 n -0000003474 00000 n -0000246131 00000 n -0001003762 00000 n -0000003531 00000 n -0000003571 00000 n -0000246193 00000 n -0001003683 00000 n -0000003620 00000 n -0000003652 00000 n -0000246255 00000 n -0001003590 00000 n -0000003701 00000 n -0000003728 00000 n -0000250729 00000 n -0001003497 00000 n -0000003777 00000 n -0000003809 00000 n -0000250790 00000 n -0001003418 00000 n -0000003858 00000 n -0000003883 00000 n -0000250851 00000 n -0001003340 00000 n -0000003935 00000 n -0000003988 00000 n -0000252398 00000 n -0001003210 00000 n -0000004035 00000 n -0000004079 00000 n -0000261060 00000 n -0001003131 00000 n -0000004128 00000 n -0000004162 00000 n -0000273898 00000 n -0001003038 00000 n -0000004211 00000 n -0000004243 00000 n -0000284728 00000 n -0001002945 00000 n -0000004292 00000 n -0000004325 00000 n -0000293703 00000 n -0001002852 00000 n -0000004374 00000 n -0000004407 00000 n -0000301024 00000 n -0001002759 00000 n -0000004456 00000 n -0000004490 00000 n -0000308685 00000 n -0001002666 00000 n -0000004539 00000 n -0000004572 00000 n -0000317008 00000 n -0001002573 00000 n -0000004621 00000 n -0000004655 00000 n -0000325674 00000 n -0001002480 00000 n -0000004704 00000 n -0000004737 00000 n -0000332837 00000 n -0001002387 00000 n -0000004786 00000 n -0000004820 00000 n -0000339144 00000 n -0001002294 00000 n -0000004869 00000 n -0000004902 00000 n -0000345458 00000 n -0001002201 00000 n -0000004951 00000 n -0000004984 00000 n -0000353959 00000 n -0001002108 00000 n -0000005033 00000 n +0000002955 00000 n +0000232740 00000 n +0001006549 00000 n +0000003004 00000 n +0000003036 00000 n +0000232802 00000 n +0001006457 00000 n +0000003085 00000 n +0000003109 00000 n +0000237708 00000 n +0001006365 00000 n +0000003158 00000 n +0000003182 00000 n +0000237769 00000 n +0001006273 00000 n +0000003231 00000 n +0000003279 00000 n +0000237830 00000 n +0001006195 00000 n +0000003328 00000 n +0000003353 00000 n +0000246352 00000 n +0001006118 00000 n +0000003410 00000 n +0000003451 00000 n +0000246414 00000 n +0001005988 00000 n +0000003503 00000 n +0000003554 00000 n +0000250045 00000 n +0001005884 00000 n +0000003611 00000 n +0000003651 00000 n +0000250106 00000 n +0001005805 00000 n +0000003700 00000 n +0000003732 00000 n +0000250167 00000 n +0001005712 00000 n +0000003781 00000 n +0000003808 00000 n +0000250228 00000 n +0001005619 00000 n +0000003857 00000 n +0000003889 00000 n +0000253738 00000 n +0001005540 00000 n +0000003938 00000 n +0000003963 00000 n +0000253800 00000 n +0001005462 00000 n +0000004015 00000 n +0000004068 00000 n +0000254505 00000 n +0001005332 00000 n +0000004115 00000 n +0000004159 00000 n +0000263167 00000 n +0001005253 00000 n +0000004208 00000 n +0000004242 00000 n +0000276005 00000 n +0001005160 00000 n +0000004291 00000 n +0000004323 00000 n +0000286835 00000 n +0001005067 00000 n +0000004372 00000 n +0000004405 00000 n +0000295810 00000 n +0001004974 00000 n +0000004454 00000 n +0000004487 00000 n +0000303131 00000 n +0001004881 00000 n +0000004536 00000 n +0000004570 00000 n +0000310792 00000 n +0001004788 00000 n +0000004619 00000 n +0000004652 00000 n +0000319115 00000 n +0001004695 00000 n +0000004701 00000 n +0000004735 00000 n +0000327782 00000 n +0001004602 00000 n +0000004784 00000 n +0000004817 00000 n +0000334953 00000 n +0001004509 00000 n +0000004866 00000 n +0000004900 00000 n +0000341261 00000 n +0001004416 00000 n +0000004949 00000 n +0000004982 00000 n +0000347576 00000 n +0001004323 00000 n +0000005031 00000 n 0000005064 00000 n -0000370278 00000 n -0001002029 00000 n +0000356078 00000 n +0001004230 00000 n 0000005113 00000 n 0000005144 00000 n -0000386312 00000 n -0001001899 00000 n -0000005191 00000 n -0000005235 00000 n -0000394628 00000 n -0001001820 00000 n -0000005284 00000 n +0000372398 00000 n +0001004151 00000 n +0000005193 00000 n +0000005224 00000 n +0000388432 00000 n +0001004021 00000 n +0000005271 00000 n 0000005315 00000 n -0000416836 00000 n -0001001727 00000 n +0000396748 00000 n +0001003942 00000 n 0000005364 00000 n 0000005395 00000 n -0000443371 00000 n -0001001634 00000 n +0000418956 00000 n +0001003849 00000 n 0000005444 00000 n -0000005477 00000 n -0000454631 00000 n -0001001555 00000 n -0000005526 00000 n -0000005560 00000 n -0000464133 00000 n -0001001424 00000 n -0000005607 00000 n -0000005653 00000 n -0000464196 00000 n -0001001345 00000 n -0000005702 00000 n -0000005734 00000 n -0000493213 00000 n -0001001252 00000 n -0000005783 00000 n -0000005815 00000 n -0000501356 00000 n -0001001159 00000 n -0000005864 00000 n -0000005896 00000 n -0000505449 00000 n -0001001066 00000 n -0000005945 00000 n -0000005977 00000 n -0000508282 00000 n -0001000973 00000 n -0000006026 00000 n -0000006059 00000 n -0000514959 00000 n -0001000880 00000 n -0000006108 00000 n -0000006143 00000 n -0000522667 00000 n -0001000787 00000 n -0000006192 00000 n -0000006224 00000 n -0000530071 00000 n -0001000694 00000 n -0000006273 00000 n -0000006305 00000 n -0000544677 00000 n -0001000601 00000 n -0000006354 00000 n -0000006386 00000 n -0000551466 00000 n -0001000508 00000 n -0000006435 00000 n -0000006468 00000 n -0000556208 00000 n -0001000415 00000 n -0000006517 00000 n +0000005475 00000 n +0000445491 00000 n +0001003756 00000 n +0000005524 00000 n +0000005557 00000 n +0000456751 00000 n +0001003677 00000 n +0000005606 00000 n +0000005640 00000 n +0000466253 00000 n +0001003546 00000 n +0000005687 00000 n +0000005733 00000 n +0000466316 00000 n +0001003467 00000 n +0000005782 00000 n +0000005814 00000 n +0000495333 00000 n +0001003374 00000 n +0000005863 00000 n +0000005895 00000 n +0000503476 00000 n +0001003281 00000 n +0000005944 00000 n +0000005976 00000 n +0000507569 00000 n +0001003188 00000 n +0000006025 00000 n +0000006057 00000 n +0000510402 00000 n +0001003095 00000 n +0000006106 00000 n +0000006139 00000 n +0000517079 00000 n +0001003002 00000 n +0000006188 00000 n +0000006223 00000 n +0000524787 00000 n +0001002909 00000 n +0000006272 00000 n +0000006304 00000 n +0000532191 00000 n +0001002816 00000 n +0000006353 00000 n +0000006385 00000 n +0000546797 00000 n +0001002723 00000 n +0000006434 00000 n +0000006466 00000 n +0000553586 00000 n +0001002630 00000 n +0000006515 00000 n 0000006548 00000 n -0000562132 00000 n -0001000322 00000 n +0000558328 00000 n +0001002537 00000 n 0000006597 00000 n -0000006629 00000 n -0000569712 00000 n -0001000229 00000 n -0000006678 00000 n -0000006710 00000 n -0000577432 00000 n -0001000136 00000 n -0000006759 00000 n -0000006791 00000 n -0000581573 00000 n -0001000043 00000 n -0000006840 00000 n -0000006873 00000 n -0000585429 00000 n -0000999950 00000 n -0000006922 00000 n +0000006628 00000 n +0000564252 00000 n +0001002444 00000 n +0000006677 00000 n +0000006709 00000 n +0000571832 00000 n +0001002351 00000 n +0000006758 00000 n +0000006790 00000 n +0000579552 00000 n +0001002258 00000 n +0000006839 00000 n +0000006871 00000 n +0000583693 00000 n +0001002165 00000 n +0000006920 00000 n 0000006953 00000 n -0000592592 00000 n -0000999857 00000 n +0000587549 00000 n +0001002072 00000 n 0000007002 00000 n -0000007046 00000 n -0000600082 00000 n -0000999764 00000 n -0000007095 00000 n -0000007139 00000 n -0000603958 00000 n -0000999671 00000 n -0000007188 00000 n -0000007227 00000 n -0000609608 00000 n -0000999578 00000 n -0000007276 00000 n -0000007318 00000 n -0000613517 00000 n -0000999485 00000 n -0000007367 00000 n -0000007406 00000 n -0000619176 00000 n -0000999392 00000 n -0000007455 00000 n -0000007497 00000 n -0000623665 00000 n -0000999299 00000 n -0000007546 00000 n -0000007588 00000 n -0000628035 00000 n -0000999206 00000 n -0000007637 00000 n -0000007678 00000 n -0000634536 00000 n -0000999113 00000 n -0000007727 00000 n -0000007766 00000 n -0000643856 00000 n -0000999020 00000 n -0000007815 00000 n -0000007848 00000 n -0000650061 00000 n -0000998941 00000 n -0000007897 00000 n -0000007934 00000 n -0000658609 00000 n -0000998810 00000 n -0000007981 00000 n -0000008032 00000 n -0000664569 00000 n -0000998731 00000 n -0000008081 00000 n +0000007033 00000 n +0000594712 00000 n +0001001979 00000 n +0000007082 00000 n +0000007126 00000 n +0000602202 00000 n +0001001886 00000 n +0000007175 00000 n +0000007219 00000 n +0000606078 00000 n +0001001793 00000 n +0000007268 00000 n +0000007307 00000 n +0000611728 00000 n +0001001700 00000 n +0000007356 00000 n +0000007398 00000 n +0000615637 00000 n +0001001607 00000 n +0000007447 00000 n +0000007486 00000 n +0000621296 00000 n +0001001514 00000 n +0000007535 00000 n +0000007577 00000 n +0000625785 00000 n +0001001421 00000 n +0000007626 00000 n +0000007668 00000 n +0000630155 00000 n +0001001328 00000 n +0000007717 00000 n +0000007758 00000 n +0000636656 00000 n +0001001235 00000 n +0000007807 00000 n +0000007846 00000 n +0000645976 00000 n +0001001142 00000 n +0000007895 00000 n +0000007928 00000 n +0000652181 00000 n +0001001063 00000 n +0000007977 00000 n +0000008014 00000 n +0000660729 00000 n +0001000932 00000 n +0000008061 00000 n 0000008112 00000 n -0000669778 00000 n -0000998638 00000 n +0000666689 00000 n +0001000853 00000 n 0000008161 00000 n 0000008192 00000 n -0000674706 00000 n -0000998545 00000 n +0000671898 00000 n +0001000760 00000 n 0000008241 00000 n 0000008272 00000 n -0000677500 00000 n -0000998452 00000 n +0000676826 00000 n +0001000667 00000 n 0000008321 00000 n -0000008362 00000 n -0000680939 00000 n -0000998359 00000 n -0000008411 00000 n -0000008449 00000 n -0000682586 00000 n -0000998266 00000 n -0000008498 00000 n -0000008530 00000 n -0000684489 00000 n -0000998173 00000 n -0000008579 00000 n -0000008613 00000 n -0000686265 00000 n -0000998080 00000 n -0000008662 00000 n -0000008694 00000 n -0000691236 00000 n -0000997987 00000 n -0000008743 00000 n -0000008775 00000 n -0000696880 00000 n -0000997894 00000 n -0000008824 00000 n -0000008854 00000 n -0000702604 00000 n -0000997801 00000 n -0000008903 00000 n -0000008933 00000 n -0000708358 00000 n -0000997708 00000 n -0000008982 00000 n -0000009012 00000 n -0000714170 00000 n -0000997615 00000 n -0000009061 00000 n -0000009091 00000 n -0000720014 00000 n -0000997522 00000 n -0000009140 00000 n -0000009170 00000 n -0000725933 00000 n -0000997429 00000 n -0000009219 00000 n -0000009249 00000 n -0000731804 00000 n -0000997350 00000 n -0000009298 00000 n -0000009328 00000 n -0000739026 00000 n -0000997220 00000 n -0000009375 00000 n -0000009411 00000 n -0000752351 00000 n -0000997141 00000 n -0000009460 00000 n -0000009494 00000 n -0000754282 00000 n -0000997048 00000 n -0000009543 00000 n -0000009575 00000 n -0000756446 00000 n -0000996955 00000 n -0000009624 00000 n -0000009670 00000 n -0000759083 00000 n -0000996876 00000 n -0000009719 00000 n -0000009762 00000 n -0000760154 00000 n -0000996746 00000 n -0000009809 00000 n -0000009840 00000 n -0000765509 00000 n -0000996667 00000 n +0000008352 00000 n +0000679620 00000 n +0001000574 00000 n +0000008401 00000 n +0000008442 00000 n +0000683059 00000 n +0001000481 00000 n +0000008491 00000 n +0000008529 00000 n +0000684706 00000 n +0001000388 00000 n +0000008578 00000 n +0000008610 00000 n +0000686609 00000 n +0001000295 00000 n +0000008659 00000 n +0000008693 00000 n +0000688385 00000 n +0001000202 00000 n +0000008742 00000 n +0000008774 00000 n +0000693356 00000 n +0001000109 00000 n +0000008823 00000 n +0000008855 00000 n +0000699000 00000 n +0001000016 00000 n +0000008904 00000 n +0000008934 00000 n +0000704724 00000 n +0000999923 00000 n +0000008983 00000 n +0000009013 00000 n +0000710478 00000 n +0000999830 00000 n +0000009062 00000 n +0000009092 00000 n +0000716290 00000 n +0000999737 00000 n +0000009141 00000 n +0000009171 00000 n +0000722134 00000 n +0000999644 00000 n +0000009220 00000 n +0000009250 00000 n +0000728053 00000 n +0000999551 00000 n +0000009299 00000 n +0000009329 00000 n +0000733924 00000 n +0000999472 00000 n +0000009378 00000 n +0000009408 00000 n +0000741146 00000 n +0000999342 00000 n +0000009455 00000 n +0000009491 00000 n +0000754471 00000 n +0000999263 00000 n +0000009540 00000 n +0000009574 00000 n +0000756402 00000 n +0000999170 00000 n +0000009623 00000 n +0000009655 00000 n +0000758566 00000 n +0000999077 00000 n +0000009704 00000 n +0000009750 00000 n +0000761203 00000 n +0000998998 00000 n +0000009799 00000 n +0000009842 00000 n +0000762274 00000 n +0000998868 00000 n 0000009889 00000 n -0000009919 00000 n -0000771480 00000 n -0000996574 00000 n -0000009968 00000 n +0000009920 00000 n +0000767629 00000 n +0000998789 00000 n +0000009969 00000 n 0000009999 00000 n -0000775854 00000 n -0000996481 00000 n +0000773600 00000 n +0000998696 00000 n 0000010048 00000 n -0000010085 00000 n -0000780095 00000 n -0000996388 00000 n -0000010134 00000 n -0000010171 00000 n -0000784998 00000 n -0000996309 00000 n -0000010220 00000 n -0000010258 00000 n -0000786454 00000 n -0000996179 00000 n -0000010306 00000 n -0000010352 00000 n -0000791865 00000 n -0000996100 00000 n -0000010401 00000 n -0000010436 00000 n -0000800207 00000 n -0000996007 00000 n -0000010485 00000 n -0000010519 00000 n -0000807266 00000 n -0000995914 00000 n -0000010569 00000 n -0000010604 00000 n -0000809861 00000 n -0000995821 00000 n -0000010654 00000 n -0000010690 00000 n -0000811268 00000 n -0000995742 00000 n -0000010740 00000 n -0000010765 00000 n -0000812285 00000 n -0000995626 00000 n -0000010813 00000 n -0000010853 00000 n -0000821659 00000 n -0000995561 00000 n -0000010903 00000 n -0000010936 00000 n -0000011739 00000 n -0000012039 00000 n -0000010988 00000 n -0000011858 00000 n -0000011919 00000 n -0000989647 00000 n -0000991531 00000 n -0000989501 00000 n -0000990376 00000 n -0000991968 00000 n -0000012466 00000 n -0000012285 00000 n -0000012149 00000 n -0000012404 00000 n -0000029202 00000 n -0000029353 00000 n -0000029504 00000 n -0000029661 00000 n -0000029818 00000 n -0000029975 00000 n -0000030137 00000 n -0000030294 00000 n -0000030445 00000 n -0000030602 00000 n -0000030764 00000 n -0000030917 00000 n -0000031070 00000 n -0000031223 00000 n -0000031376 00000 n -0000031529 00000 n -0000031682 00000 n -0000031835 00000 n -0000031987 00000 n -0000032149 00000 n -0000032305 00000 n -0000032466 00000 n -0000032617 00000 n -0000032771 00000 n -0000032923 00000 n -0000033077 00000 n -0000033231 00000 n -0000033385 00000 n -0000033539 00000 n -0000033693 00000 n -0000033847 00000 n -0000034001 00000 n -0000034155 00000 n -0000034309 00000 n -0000034463 00000 n -0000034617 00000 n -0000034770 00000 n -0000034932 00000 n -0000035089 00000 n -0000035251 00000 n -0000035405 00000 n -0000035559 00000 n -0000035713 00000 n -0000035867 00000 n -0000058057 00000 n -0000058209 00000 n -0000036145 00000 n -0000028719 00000 n -0000012537 00000 n -0000036023 00000 n -0000036084 00000 n -0000058363 00000 n -0000058516 00000 n -0000058668 00000 n -0000058822 00000 n -0000058976 00000 n -0000059130 00000 n -0000059280 00000 n -0000059433 00000 n -0000059586 00000 n -0000059740 00000 n -0000059894 00000 n -0000060045 00000 n -0000060197 00000 n -0000060349 00000 n -0000060503 00000 n -0000060657 00000 n -0000060811 00000 n -0000060965 00000 n -0000061116 00000 n -0000061269 00000 n -0000061423 00000 n -0000061577 00000 n -0000061731 00000 n -0000061885 00000 n -0000062039 00000 n -0000062193 00000 n -0000062347 00000 n -0000062501 00000 n -0000062655 00000 n -0000062809 00000 n -0000062963 00000 n -0000063117 00000 n -0000063271 00000 n -0000063425 00000 n -0000063579 00000 n -0000063732 00000 n -0000063885 00000 n -0000064039 00000 n -0000064193 00000 n -0000064347 00000 n -0000064499 00000 n -0000064651 00000 n -0000064803 00000 n -0000064957 00000 n -0000065111 00000 n -0000081143 00000 n -0000065326 00000 n -0000057550 00000 n -0000036242 00000 n -0000065264 00000 n -0000081294 00000 n -0000081447 00000 n -0000081601 00000 n -0000081754 00000 n -0000081907 00000 n -0000082060 00000 n -0000082214 00000 n -0000082368 00000 n -0000082522 00000 n -0000082676 00000 n -0000082830 00000 n -0000082984 00000 n -0000083138 00000 n -0000083292 00000 n -0000083445 00000 n -0000083599 00000 n -0000083753 00000 n -0000083904 00000 n -0000084057 00000 n -0000084211 00000 n -0000084365 00000 n -0000084519 00000 n -0000084670 00000 n -0000084824 00000 n -0000084978 00000 n -0000085132 00000 n -0000085286 00000 n -0000085440 00000 n -0000085590 00000 n -0000085744 00000 n -0000085898 00000 n -0000086053 00000 n -0000086207 00000 n -0000086362 00000 n -0000086513 00000 n -0000086728 00000 n -0000080724 00000 n -0000065410 00000 n -0000086667 00000 n -0000087131 00000 n -0000086950 00000 n -0000086812 00000 n -0000087069 00000 n -0000095990 00000 n -0000096144 00000 n -0000096300 00000 n -0000096457 00000 n -0000096616 00000 n -0000096772 00000 n -0000096926 00000 n -0000097080 00000 n -0000097233 00000 n -0000097386 00000 n -0000097599 00000 n -0000095779 00000 n -0000087202 00000 n -0000991385 00000 n -0000992086 00000 n -0000844242 00000 n -0000840397 00000 n -0000839776 00000 n -0000844305 00000 n -0000844179 00000 n -0000840210 00000 n -0000840272 00000 n -0000844116 00000 n -0000840024 00000 n -0000840086 00000 n -0000108694 00000 n -0000108844 00000 n -0000108997 00000 n -0000103491 00000 n -0000118463 00000 n -0000109270 00000 n -0000103336 00000 n -0000097696 00000 n -0000989939 00000 n -0000109210 00000 n -0000104701 00000 n -0000104947 00000 n -0000104994 00000 n -0000105387 00000 n -0000105408 00000 n -0000105715 00000 n -0000840148 00000 n -0000118614 00000 n -0000118768 00000 n -0000119166 00000 n -0000118308 00000 n -0000109395 00000 n -0000118921 00000 n -0000991677 00000 n -0000990664 00000 n -0000990231 00000 n -0000991096 00000 n -0000990521 00000 n -0000119042 00000 n -0000990807 00000 n -0000119104 00000 n -0000844053 00000 n -0000126891 00000 n -0000127044 00000 n -0000124920 00000 n -0000127382 00000 n -0000124773 00000 n -0000119366 00000 n -0000127197 00000 n -0000127259 00000 n -0000126629 00000 n -0000126748 00000 n -0000126795 00000 n -0000126869 00000 n -0000839962 00000 n -0000839900 00000 n -0000133214 00000 n -0000133365 00000 n -0000133578 00000 n -0000133067 00000 n -0000127546 00000 n -0000133517 00000 n -0000143142 00000 n -0000142404 00000 n -0000133688 00000 n -0000142523 00000 n -0000990085 00000 n -0000142646 00000 n -0000142708 00000 n -0000142770 00000 n -0000142832 00000 n -0000142894 00000 n -0000142956 00000 n -0000143018 00000 n -0000143080 00000 n -0000158961 00000 n -0000151198 00000 n -0000150229 00000 n -0000143277 00000 n -0000150348 00000 n -0000150409 00000 n -0000150470 00000 n -0000150531 00000 n -0000150592 00000 n -0000150652 00000 n -0000150713 00000 n -0000150774 00000 n -0000150834 00000 n -0000150895 00000 n -0000150956 00000 n -0000151017 00000 n -0000151078 00000 n -0000151138 00000 n -0000992204 00000 n -0000159118 00000 n -0000159826 00000 n -0000158814 00000 n -0000151282 00000 n -0000159270 00000 n -0000159393 00000 n -0000159455 00000 n -0000159517 00000 n -0000159579 00000 n -0000159641 00000 n -0000159703 00000 n -0000168612 00000 n -0000169007 00000 n -0000168473 00000 n -0000159974 00000 n -0000168764 00000 n -0000168945 00000 n -0000176036 00000 n -0000176746 00000 n -0000175897 00000 n -0000169130 00000 n -0000176188 00000 n -0000176250 00000 n -0000176312 00000 n -0000176374 00000 n -0000176436 00000 n -0000176498 00000 n -0000176560 00000 n -0000176622 00000 n -0000176684 00000 n -0000182460 00000 n -0000181914 00000 n -0000176843 00000 n -0000182033 00000 n -0000182094 00000 n -0000182155 00000 n -0000182215 00000 n -0000182276 00000 n -0000182337 00000 n -0000182398 00000 n -0000187959 00000 n -0000188111 00000 n -0000188568 00000 n -0000187812 00000 n -0000182557 00000 n -0000188262 00000 n -0000193423 00000 n -0000193005 00000 n -0000188691 00000 n -0000193124 00000 n -0000992322 00000 n -0000201687 00000 n -0000201848 00000 n -0000202003 00000 n -0000202459 00000 n -0000201532 00000 n -0000193520 00000 n -0000202152 00000 n -0000202397 00000 n -0000843990 00000 n -0000209686 00000 n -0000209930 00000 n -0000209506 00000 n -0000202569 00000 n -0000209625 00000 n -0000209748 00000 n -0000214535 00000 n -0000214107 00000 n -0000210027 00000 n -0000214226 00000 n -0000214411 00000 n -0000218754 00000 n -0000218392 00000 n -0000214632 00000 n -0000218511 00000 n -0000223521 00000 n -0000223216 00000 n -0000218851 00000 n -0000223335 00000 n -0000227829 00000 n -0000227528 00000 n -0000223618 00000 n -0000227647 00000 n -0000992440 00000 n -0000233282 00000 n -0000232977 00000 n -0000227926 00000 n -0000233096 00000 n -0000241291 00000 n -0000241443 00000 n -0000242022 00000 n -0000241144 00000 n -0000233379 00000 n -0000241594 00000 n -0000241899 00000 n -0000241961 00000 n -0000246069 00000 n -0000246317 00000 n -0000245888 00000 n -0000242132 00000 n -0000246007 00000 n -0000250517 00000 n -0000250973 00000 n -0000250378 00000 n -0000246414 00000 n -0000250668 00000 n -0000250911 00000 n -0000251856 00000 n -0000251918 00000 n -0000251675 00000 n -0000251083 00000 n -0000251794 00000 n -0000991823 00000 n -0000252459 00000 n -0000252218 00000 n -0000252002 00000 n -0000252337 00000 n -0000992558 00000 n -0000260102 00000 n -0000260252 00000 n -0000260400 00000 n -0000260550 00000 n -0000260700 00000 n -0000260848 00000 n -0000264192 00000 n -0000261183 00000 n -0000259923 00000 n -0000252543 00000 n -0000260998 00000 n -0000261122 00000 n -0000264343 00000 n -0000264490 00000 n -0000264701 00000 n -0000264037 00000 n -0000261319 00000 n -0000264640 00000 n -0000272940 00000 n -0000273088 00000 n -0000273238 00000 n -0000273386 00000 n -0000273536 00000 n -0000273687 00000 n -0000274021 00000 n -0000272761 00000 n -0000264811 00000 n -0000273836 00000 n -0000273959 00000 n -0000275033 00000 n -0000274853 00000 n -0000274170 00000 n -0000274972 00000 n -0000283771 00000 n -0000283919 00000 n -0000284068 00000 n -0000284216 00000 n -0000284366 00000 n -0000284517 00000 n -0000284851 00000 n -0000283592 00000 n -0000275117 00000 n -0000284666 00000 n -0000284789 00000 n -0000285863 00000 n -0000285683 00000 n -0000285000 00000 n -0000285802 00000 n -0000992676 00000 n -0000293194 00000 n -0000293342 00000 n -0000293490 00000 n -0000293826 00000 n -0000293039 00000 n -0000285947 00000 n -0000293641 00000 n -0000293764 00000 n -0000300515 00000 n -0000300663 00000 n -0000300813 00000 n -0000301146 00000 n -0000300360 00000 n -0000293975 00000 n -0000300963 00000 n -0000301084 00000 n -0000308174 00000 n -0000308322 00000 n -0000308472 00000 n -0000308808 00000 n -0000308019 00000 n -0000301295 00000 n -0000308623 00000 n -0000308746 00000 n -0000316501 00000 n -0000316648 00000 n -0000316797 00000 n -0000317131 00000 n -0000316346 00000 n -0000308969 00000 n -0000316947 00000 n -0000317069 00000 n -0000318157 00000 n -0000317976 00000 n -0000317292 00000 n -0000318095 00000 n -0000325164 00000 n -0000325312 00000 n -0000325462 00000 n -0000325796 00000 n -0000325009 00000 n -0000318241 00000 n -0000325613 00000 n -0000325734 00000 n -0000992794 00000 n -0000332325 00000 n -0000332473 00000 n -0000332622 00000 n -0000332963 00000 n -0000332167 00000 n -0000325945 00000 n -0000332773 00000 n -0000332899 00000 n -0000338779 00000 n -0000338929 00000 n -0000339269 00000 n -0000338627 00000 n -0000333112 00000 n -0000339081 00000 n -0000339205 00000 n -0000345092 00000 n -0000345242 00000 n -0000345584 00000 n -0000344940 00000 n -0000339418 00000 n -0000345394 00000 n -0000991241 00000 n -0000345520 00000 n -0000353293 00000 n -0000353445 00000 n -0000353595 00000 n -0000353744 00000 n -0000361679 00000 n -0000354276 00000 n -0000353123 00000 n -0000345735 00000 n -0000353896 00000 n -0000354020 00000 n -0000354084 00000 n -0000354148 00000 n -0000354212 00000 n -0000361831 00000 n -0000361980 00000 n -0000362132 00000 n -0000362284 00000 n -0000362438 00000 n -0000362592 00000 n -0000362746 00000 n -0000362962 00000 n -0000361473 00000 n -0000354438 00000 n -0000362898 00000 n -0000370064 00000 n -0000378627 00000 n -0000370404 00000 n -0000369920 00000 n -0000363073 00000 n -0000370215 00000 n -0000370340 00000 n -0000992917 00000 n -0000378780 00000 n -0000378929 00000 n -0000379081 00000 n -0000379233 00000 n -0000379382 00000 n -0000379534 00000 n -0000379749 00000 n -0000378429 00000 n -0000370580 00000 n -0000379685 00000 n -0000384762 00000 n -0000384914 00000 n -0000385129 00000 n -0000384609 00000 n -0000379886 00000 n -0000385066 00000 n -0000386095 00000 n -0000386375 00000 n -0000385951 00000 n -0000385240 00000 n -0000386248 00000 n -0000393960 00000 n -0000394109 00000 n -0000394261 00000 n -0000394413 00000 n -0000394942 00000 n -0000393789 00000 n -0000386460 00000 n -0000394565 00000 n -0000394689 00000 n -0000394753 00000 n -0000394816 00000 n -0000394879 00000 n -0000403651 00000 n -0000399411 00000 n -0000403802 00000 n -0000404081 00000 n -0000399258 00000 n -0000395079 00000 n -0000403953 00000 n -0000404017 00000 n -0000403311 00000 n -0000403431 00000 n -0000403479 00000 n -0000403554 00000 n -0000403628 00000 n -0000407530 00000 n -0000407344 00000 n -0000404234 00000 n -0000407467 00000 n -0000990951 00000 n -0000993042 00000 n -0000416320 00000 n -0000416469 00000 n -0000416621 00000 n -0000417154 00000 n -0000416158 00000 n -0000407616 00000 n -0000416772 00000 n -0000416898 00000 n -0000416962 00000 n -0000417026 00000 n -0000417090 00000 n -0000423392 00000 n -0000428715 00000 n -0000423544 00000 n -0000423694 00000 n -0000424097 00000 n -0000423230 00000 n -0000417304 00000 n -0000423846 00000 n -0000423909 00000 n -0000423972 00000 n -0000424035 00000 n -0000433102 00000 n -0000428100 00000 n -0000427913 00000 n -0000424234 00000 n -0000428036 00000 n -0000433166 00000 n -0000428592 00000 n -0000428185 00000 n -0000433039 00000 n -0000432699 00000 n -0000432819 00000 n -0000432867 00000 n -0000432942 00000 n -0000433016 00000 n -0000442855 00000 n -0000443004 00000 n -0000443156 00000 n -0000443689 00000 n -0000442693 00000 n -0000433267 00000 n -0000443307 00000 n -0000443433 00000 n -0000443497 00000 n -0000443561 00000 n -0000443625 00000 n -0000445552 00000 n -0000445366 00000 n -0000443851 00000 n -0000445489 00000 n -0000993167 00000 n -0000454417 00000 n -0000457034 00000 n -0000454950 00000 n -0000454273 00000 n -0000445650 00000 n -0000454567 00000 n -0000454694 00000 n -0000454758 00000 n -0000454822 00000 n -0000454886 00000 n -0000457249 00000 n -0000456890 00000 n -0000455112 00000 n -0000457186 00000 n -0000464259 00000 n -0000463946 00000 n -0000457347 00000 n -0000464069 00000 n -0000471237 00000 n -0000471515 00000 n -0000471093 00000 n -0000464396 00000 n -0000471389 00000 n -0000471452 00000 n -0000481892 00000 n -0000482183 00000 n -0000481748 00000 n -0000471639 00000 n -0000482055 00000 n -0000482119 00000 n -0000485539 00000 n -0000485040 00000 n -0000482320 00000 n -0000485163 00000 n -0000485226 00000 n -0000485289 00000 n -0000485352 00000 n -0000485415 00000 n -0000485478 00000 n -0000993292 00000 n -0000492999 00000 n -0000493275 00000 n -0000492855 00000 n -0000485624 00000 n -0000493149 00000 n -0000496759 00000 n -0000497174 00000 n -0000496615 00000 n -0000493399 00000 n -0000496922 00000 n -0000496985 00000 n -0000497048 00000 n -0000497111 00000 n -0000500991 00000 n -0000501141 00000 n -0000501482 00000 n -0000500838 00000 n -0000497285 00000 n -0000501292 00000 n -0000501418 00000 n -0000505083 00000 n -0000505234 00000 n -0000505510 00000 n -0000504930 00000 n -0000501593 00000 n -0000505386 00000 n -0000508068 00000 n -0000508344 00000 n -0000507924 00000 n -0000505621 00000 n -0000508218 00000 n -0000514595 00000 n -0000514744 00000 n -0000515021 00000 n -0000514442 00000 n -0000508455 00000 n -0000514896 00000 n -0000993417 00000 n -0000517120 00000 n -0000516805 00000 n -0000515158 00000 n -0000516928 00000 n -0000516992 00000 n -0000517056 00000 n -0000522305 00000 n -0000522456 00000 n -0000522917 00000 n -0000522152 00000 n -0000517205 00000 n -0000522604 00000 n -0000522728 00000 n -0000522791 00000 n -0000522854 00000 n -0000529707 00000 n -0000529859 00000 n -0000536549 00000 n -0000530134 00000 n -0000529554 00000 n -0000523041 00000 n -0000530007 00000 n -0000537329 00000 n -0000536405 00000 n -0000530258 00000 n -0000536700 00000 n -0000536763 00000 n -0000536826 00000 n -0000536889 00000 n -0000536952 00000 n -0000537014 00000 n -0000537077 00000 n -0000537140 00000 n -0000537203 00000 n -0000537266 00000 n -0000544314 00000 n -0000544464 00000 n -0000544739 00000 n -0000544161 00000 n -0000537453 00000 n -0000544613 00000 n -0000547721 00000 n -0000547158 00000 n -0000544850 00000 n -0000547281 00000 n -0000547344 00000 n -0000547407 00000 n -0000547470 00000 n -0000547533 00000 n -0000547596 00000 n -0000547659 00000 n -0000993542 00000 n -0000551103 00000 n -0000551251 00000 n -0000551528 00000 n -0000550950 00000 n -0000547806 00000 n -0000551402 00000 n -0000555843 00000 n -0000555993 00000 n -0000556333 00000 n -0000555690 00000 n -0000551639 00000 n -0000556145 00000 n -0000556270 00000 n -0000561768 00000 n -0000561919 00000 n -0000562194 00000 n -0000561615 00000 n -0000556444 00000 n -0000562068 00000 n -0000569348 00000 n -0000569500 00000 n -0000569773 00000 n -0000569195 00000 n -0000562318 00000 n -0000569649 00000 n -0000571387 00000 n -0000571072 00000 n -0000569897 00000 n -0000571195 00000 n -0000571259 00000 n -0000571323 00000 n -0000576922 00000 n -0000577072 00000 n -0000577221 00000 n -0000577493 00000 n -0000576760 00000 n -0000571485 00000 n -0000577369 00000 n -0000993667 00000 n -0000581209 00000 n -0000581357 00000 n -0000581635 00000 n -0000581056 00000 n -0000577617 00000 n -0000581509 00000 n -0000585490 00000 n -0000585243 00000 n -0000581746 00000 n -0000585366 00000 n -0000592378 00000 n -0000592654 00000 n -0000592234 00000 n -0000585627 00000 n -0000592528 00000 n -0000593842 00000 n -0000593530 00000 n -0000592778 00000 n -0000593653 00000 n -0000593716 00000 n -0000593779 00000 n -0000599867 00000 n -0000600144 00000 n -0000599723 00000 n -0000593927 00000 n -0000600018 00000 n -0000603743 00000 n -0000604082 00000 n -0000603599 00000 n -0000600268 00000 n -0000603895 00000 n -0000604019 00000 n -0000993792 00000 n -0000609393 00000 n -0000609734 00000 n -0000609249 00000 n -0000604206 00000 n -0000609544 00000 n -0000609670 00000 n -0000613302 00000 n -0000613641 00000 n -0000613158 00000 n -0000609858 00000 n -0000613454 00000 n -0000613578 00000 n -0000618961 00000 n -0000619302 00000 n -0000618817 00000 n -0000613765 00000 n -0000619112 00000 n -0000619238 00000 n -0000623451 00000 n -0000623852 00000 n -0000623307 00000 n -0000619426 00000 n -0000623602 00000 n -0000623726 00000 n -0000623789 00000 n -0000627821 00000 n -0000628225 00000 n -0000627677 00000 n -0000623963 00000 n -0000627971 00000 n -0000628097 00000 n -0000628161 00000 n -0000634323 00000 n -0000634598 00000 n -0000634179 00000 n -0000628336 00000 n -0000634473 00000 n -0000993917 00000 n -0000638872 00000 n -0000638493 00000 n -0000634722 00000 n -0000638616 00000 n -0000638680 00000 n -0000638744 00000 n -0000638808 00000 n -0000643341 00000 n -0000643491 00000 n -0000643643 00000 n -0000643917 00000 n -0000643179 00000 n -0000638996 00000 n -0000643793 00000 n -0000650124 00000 n -0000649874 00000 n -0000644041 00000 n -0000649997 00000 n -0000658053 00000 n -0000657301 00000 n -0000650248 00000 n -0000657424 00000 n -0000657487 00000 n -0000657550 00000 n -0000657613 00000 n -0000657676 00000 n -0000657739 00000 n -0000657802 00000 n -0000657864 00000 n -0000657927 00000 n -0000657990 00000 n -0000658672 00000 n -0000658422 00000 n -0000658176 00000 n -0000658545 00000 n -0000664756 00000 n -0000664383 00000 n -0000658757 00000 n -0000664506 00000 n -0000664630 00000 n -0000664693 00000 n -0000994042 00000 n -0000669968 00000 n -0000669591 00000 n -0000664893 00000 n -0000669714 00000 n -0000669841 00000 n -0000669904 00000 n -0000674956 00000 n -0000674520 00000 n -0000670105 00000 n -0000674643 00000 n -0000674767 00000 n -0000674830 00000 n -0000674893 00000 n -0000677562 00000 n -0000677313 00000 n -0000675093 00000 n -0000677436 00000 n -0000681000 00000 n -0000680753 00000 n -0000677673 00000 n -0000680876 00000 n -0000682648 00000 n -0000682399 00000 n -0000681137 00000 n -0000682522 00000 n -0000684550 00000 n -0000684303 00000 n -0000682759 00000 n -0000684426 00000 n -0000994167 00000 n -0000686327 00000 n -0000686078 00000 n -0000684661 00000 n -0000686201 00000 n -0000691297 00000 n -0000691050 00000 n -0000686438 00000 n -0000691173 00000 n -0000697070 00000 n -0000696693 00000 n -0000691434 00000 n -0000696816 00000 n -0000696942 00000 n -0000697006 00000 n -0000702791 00000 n -0000702418 00000 n -0000697207 00000 n -0000702541 00000 n -0000702665 00000 n -0000702728 00000 n -0000708548 00000 n -0000708171 00000 n -0000702928 00000 n -0000708294 00000 n -0000708420 00000 n -0000708484 00000 n -0000714357 00000 n -0000713984 00000 n -0000708685 00000 n -0000714107 00000 n -0000714231 00000 n -0000714294 00000 n -0000994292 00000 n -0000720204 00000 n -0000719827 00000 n -0000714494 00000 n -0000719950 00000 n -0000720076 00000 n -0000720140 00000 n -0000726056 00000 n -0000725747 00000 n -0000720341 00000 n -0000725870 00000 n -0000725994 00000 n -0000731929 00000 n -0000731617 00000 n -0000726193 00000 n -0000731740 00000 n -0000731866 00000 n -0000738660 00000 n -0000738811 00000 n -0000739088 00000 n -0000738507 00000 n -0000732066 00000 n -0000738963 00000 n -0000748139 00000 n -0000748203 00000 n -0000748267 00000 n -0000746356 00000 n -0000739186 00000 n -0000746479 00000 n -0000746543 00000 n -0000746607 00000 n -0000989793 00000 n -0000746671 00000 n -0000746735 00000 n -0000746799 00000 n -0000746863 00000 n -0000746927 00000 n -0000746990 00000 n -0000747054 00000 n -0000747118 00000 n -0000747182 00000 n -0000747246 00000 n -0000747310 00000 n -0000747374 00000 n -0000747438 00000 n -0000747502 00000 n -0000747564 00000 n -0000747628 00000 n -0000747692 00000 n -0000747756 00000 n -0000747820 00000 n -0000747884 00000 n -0000747948 00000 n -0000748012 00000 n -0000748076 00000 n -0000752537 00000 n -0000752165 00000 n -0000748380 00000 n -0000752288 00000 n -0000752413 00000 n -0000752475 00000 n -0000994417 00000 n -0000754471 00000 n -0000754095 00000 n -0000752635 00000 n -0000754218 00000 n -0000754345 00000 n +0000010079 00000 n +0000777974 00000 n +0000998603 00000 n +0000010128 00000 n +0000010165 00000 n +0000782215 00000 n +0000998510 00000 n +0000010214 00000 n +0000010251 00000 n +0000787118 00000 n +0000998431 00000 n +0000010300 00000 n +0000010338 00000 n +0000788574 00000 n +0000998301 00000 n +0000010386 00000 n +0000010432 00000 n +0000793985 00000 n +0000998222 00000 n +0000010481 00000 n +0000010516 00000 n +0000802327 00000 n +0000998129 00000 n +0000010566 00000 n +0000010600 00000 n +0000809386 00000 n +0000998036 00000 n +0000010650 00000 n +0000010685 00000 n +0000811981 00000 n +0000997943 00000 n +0000010735 00000 n +0000010771 00000 n +0000813388 00000 n +0000997864 00000 n +0000010821 00000 n +0000010846 00000 n +0000814405 00000 n +0000997748 00000 n +0000010894 00000 n +0000010934 00000 n +0000823779 00000 n +0000997683 00000 n +0000010984 00000 n +0000011017 00000 n +0000011820 00000 n +0000012120 00000 n +0000011069 00000 n +0000011939 00000 n +0000012000 00000 n +0000991767 00000 n +0000993651 00000 n +0000991621 00000 n +0000992496 00000 n +0000994088 00000 n +0000012547 00000 n +0000012366 00000 n +0000012230 00000 n +0000012485 00000 n +0000029690 00000 n +0000029840 00000 n +0000029991 00000 n +0000030148 00000 n +0000030305 00000 n +0000030462 00000 n +0000030624 00000 n +0000030781 00000 n +0000030932 00000 n +0000031089 00000 n +0000031251 00000 n +0000031404 00000 n +0000031557 00000 n +0000031710 00000 n +0000031862 00000 n +0000032015 00000 n +0000032168 00000 n +0000032320 00000 n +0000032473 00000 n +0000032635 00000 n +0000032791 00000 n +0000032952 00000 n +0000033106 00000 n +0000033258 00000 n +0000033412 00000 n +0000033565 00000 n +0000033719 00000 n +0000033873 00000 n +0000034027 00000 n +0000034180 00000 n +0000034333 00000 n +0000034487 00000 n +0000034641 00000 n +0000034795 00000 n +0000034949 00000 n +0000035103 00000 n +0000035257 00000 n +0000035411 00000 n +0000035573 00000 n +0000035728 00000 n +0000035890 00000 n +0000036044 00000 n +0000036197 00000 n +0000036351 00000 n +0000036505 00000 n +0000058695 00000 n +0000036783 00000 n +0000029199 00000 n +0000012618 00000 n +0000036661 00000 n +0000036722 00000 n +0000058847 00000 n +0000059001 00000 n +0000059154 00000 n +0000059306 00000 n +0000059460 00000 n +0000059614 00000 n +0000059768 00000 n +0000059918 00000 n +0000060071 00000 n +0000060224 00000 n +0000060378 00000 n +0000060532 00000 n +0000060683 00000 n +0000060835 00000 n +0000060987 00000 n +0000061141 00000 n +0000061295 00000 n +0000061449 00000 n +0000061603 00000 n +0000061754 00000 n +0000061907 00000 n +0000062061 00000 n +0000062215 00000 n +0000062369 00000 n +0000062523 00000 n +0000062677 00000 n +0000062831 00000 n +0000062985 00000 n +0000063139 00000 n +0000063293 00000 n +0000063447 00000 n +0000063601 00000 n +0000063755 00000 n +0000063909 00000 n +0000064063 00000 n +0000064217 00000 n +0000064370 00000 n +0000064523 00000 n +0000064677 00000 n +0000064831 00000 n +0000064985 00000 n +0000065137 00000 n +0000065289 00000 n +0000065441 00000 n +0000065595 00000 n +0000065749 00000 n +0000081781 00000 n +0000065964 00000 n +0000058188 00000 n +0000036880 00000 n +0000065902 00000 n +0000081932 00000 n +0000082085 00000 n +0000082239 00000 n +0000082392 00000 n +0000082545 00000 n +0000082698 00000 n +0000082852 00000 n +0000083006 00000 n +0000083160 00000 n +0000083314 00000 n +0000083468 00000 n +0000083622 00000 n +0000083776 00000 n +0000083930 00000 n +0000084083 00000 n +0000084237 00000 n +0000084391 00000 n +0000084542 00000 n +0000084695 00000 n +0000084849 00000 n +0000085003 00000 n +0000085157 00000 n +0000085308 00000 n +0000085462 00000 n +0000085616 00000 n +0000085770 00000 n +0000085924 00000 n +0000086078 00000 n +0000086228 00000 n +0000086382 00000 n +0000086537 00000 n +0000086692 00000 n +0000086846 00000 n +0000087001 00000 n +0000087152 00000 n +0000087367 00000 n +0000081362 00000 n +0000066048 00000 n +0000087306 00000 n +0000087770 00000 n +0000087589 00000 n +0000087451 00000 n +0000087708 00000 n +0000096629 00000 n +0000096783 00000 n +0000096939 00000 n +0000097096 00000 n +0000097255 00000 n +0000097411 00000 n +0000097565 00000 n +0000097719 00000 n +0000097872 00000 n +0000098025 00000 n +0000098238 00000 n +0000096418 00000 n +0000087841 00000 n +0000993505 00000 n +0000994206 00000 n +0000846362 00000 n +0000842517 00000 n +0000841896 00000 n +0000846425 00000 n +0000846299 00000 n +0000842330 00000 n +0000842392 00000 n +0000846236 00000 n +0000842144 00000 n +0000842206 00000 n +0000109333 00000 n +0000109483 00000 n +0000109636 00000 n +0000104130 00000 n +0000119102 00000 n +0000109909 00000 n +0000103975 00000 n +0000098335 00000 n +0000992059 00000 n +0000109849 00000 n +0000105340 00000 n +0000105586 00000 n +0000105633 00000 n +0000106026 00000 n +0000106047 00000 n +0000106354 00000 n +0000842268 00000 n +0000119253 00000 n +0000119407 00000 n +0000119805 00000 n +0000118947 00000 n +0000110034 00000 n +0000119560 00000 n +0000993797 00000 n +0000992784 00000 n +0000992351 00000 n +0000993216 00000 n +0000992641 00000 n +0000119681 00000 n +0000992927 00000 n +0000119743 00000 n +0000846173 00000 n +0000127530 00000 n +0000127683 00000 n +0000125559 00000 n +0000128021 00000 n +0000125412 00000 n +0000120005 00000 n +0000127836 00000 n +0000127898 00000 n +0000127268 00000 n +0000127387 00000 n +0000127434 00000 n +0000127508 00000 n +0000842082 00000 n +0000842020 00000 n +0000133853 00000 n +0000134004 00000 n +0000134217 00000 n +0000133706 00000 n +0000128185 00000 n +0000134156 00000 n +0000143781 00000 n +0000143043 00000 n +0000134327 00000 n +0000143162 00000 n +0000992205 00000 n +0000143285 00000 n +0000143347 00000 n +0000143409 00000 n +0000143471 00000 n +0000143533 00000 n +0000143595 00000 n +0000143657 00000 n +0000143719 00000 n +0000159600 00000 n +0000151837 00000 n +0000150868 00000 n +0000143916 00000 n +0000150987 00000 n +0000151048 00000 n +0000151109 00000 n +0000151170 00000 n +0000151231 00000 n +0000151291 00000 n +0000151352 00000 n +0000151413 00000 n +0000151473 00000 n +0000151534 00000 n +0000151595 00000 n +0000151656 00000 n +0000151717 00000 n +0000151777 00000 n +0000994324 00000 n +0000159757 00000 n +0000160465 00000 n +0000159453 00000 n +0000151921 00000 n +0000159909 00000 n +0000160032 00000 n +0000160094 00000 n +0000160156 00000 n +0000160218 00000 n +0000160280 00000 n +0000160342 00000 n +0000169251 00000 n +0000169646 00000 n +0000169112 00000 n +0000160613 00000 n +0000169403 00000 n +0000169584 00000 n +0000176675 00000 n +0000177385 00000 n +0000176536 00000 n +0000169769 00000 n +0000176827 00000 n +0000176889 00000 n +0000176951 00000 n +0000177013 00000 n +0000177075 00000 n +0000177137 00000 n +0000177199 00000 n +0000177261 00000 n +0000177323 00000 n +0000183099 00000 n +0000182553 00000 n +0000177482 00000 n +0000182672 00000 n +0000182733 00000 n +0000182794 00000 n +0000182854 00000 n +0000182915 00000 n +0000182976 00000 n +0000183037 00000 n +0000188598 00000 n +0000188750 00000 n +0000189207 00000 n +0000188451 00000 n +0000183196 00000 n +0000188901 00000 n +0000194062 00000 n +0000193644 00000 n +0000189330 00000 n +0000193763 00000 n +0000994442 00000 n +0000202326 00000 n +0000202487 00000 n +0000202642 00000 n +0000203098 00000 n +0000202171 00000 n +0000194159 00000 n +0000202791 00000 n +0000203036 00000 n +0000846110 00000 n +0000210325 00000 n +0000210569 00000 n +0000210145 00000 n +0000203208 00000 n +0000210264 00000 n +0000210387 00000 n +0000215174 00000 n +0000214746 00000 n +0000210666 00000 n +0000214865 00000 n +0000215050 00000 n +0000219393 00000 n +0000219031 00000 n +0000215271 00000 n +0000219150 00000 n +0000224160 00000 n +0000223855 00000 n +0000219490 00000 n +0000223974 00000 n +0000228282 00000 n +0000227981 00000 n +0000224257 00000 n +0000228100 00000 n +0000994560 00000 n +0000232864 00000 n +0000232559 00000 n +0000228379 00000 n +0000232678 00000 n +0000237891 00000 n +0000237528 00000 n +0000232961 00000 n +0000237647 00000 n +0000245987 00000 n +0000246139 00000 n +0000246660 00000 n +0000245840 00000 n +0000237988 00000 n +0000246290 00000 n +0000246476 00000 n +0000246538 00000 n +0000246598 00000 n +0000250289 00000 n +0000249865 00000 n +0000246770 00000 n +0000249984 00000 n +0000253525 00000 n +0000253986 00000 n +0000253386 00000 n +0000250386 00000 n +0000253676 00000 n +0000253862 00000 n +0000993943 00000 n +0000253924 00000 n +0000254566 00000 n +0000254325 00000 n +0000254109 00000 n +0000254444 00000 n +0000994678 00000 n +0000262209 00000 n +0000262359 00000 n +0000262507 00000 n +0000262657 00000 n +0000262807 00000 n +0000262955 00000 n +0000266299 00000 n +0000263290 00000 n +0000262030 00000 n +0000254650 00000 n +0000263105 00000 n +0000263229 00000 n +0000266450 00000 n +0000266597 00000 n +0000266808 00000 n +0000266144 00000 n +0000263426 00000 n +0000266747 00000 n +0000275047 00000 n +0000275195 00000 n +0000275345 00000 n +0000275493 00000 n +0000275643 00000 n +0000275794 00000 n +0000276128 00000 n +0000274868 00000 n +0000266918 00000 n +0000275943 00000 n +0000276066 00000 n +0000277140 00000 n +0000276960 00000 n +0000276277 00000 n +0000277079 00000 n +0000285878 00000 n +0000286026 00000 n +0000286175 00000 n +0000286323 00000 n +0000286473 00000 n +0000286624 00000 n +0000286958 00000 n +0000285699 00000 n +0000277224 00000 n +0000286773 00000 n +0000286896 00000 n +0000287970 00000 n +0000287790 00000 n +0000287107 00000 n +0000287909 00000 n +0000994796 00000 n +0000295301 00000 n +0000295449 00000 n +0000295597 00000 n +0000295933 00000 n +0000295146 00000 n +0000288054 00000 n +0000295748 00000 n +0000295871 00000 n +0000302622 00000 n +0000302770 00000 n +0000302920 00000 n +0000303253 00000 n +0000302467 00000 n +0000296082 00000 n +0000303070 00000 n +0000303191 00000 n +0000310281 00000 n +0000310429 00000 n +0000310579 00000 n +0000310915 00000 n +0000310126 00000 n +0000303402 00000 n +0000310730 00000 n +0000310853 00000 n +0000318608 00000 n +0000318755 00000 n +0000318904 00000 n +0000319238 00000 n +0000318453 00000 n +0000311076 00000 n +0000319054 00000 n +0000319176 00000 n +0000320264 00000 n +0000320083 00000 n +0000319399 00000 n +0000320202 00000 n +0000327272 00000 n +0000327420 00000 n +0000327570 00000 n +0000327905 00000 n +0000327116 00000 n +0000320348 00000 n +0000327721 00000 n +0000327842 00000 n +0000994914 00000 n +0000334438 00000 n +0000334587 00000 n +0000334737 00000 n +0000335079 00000 n +0000334276 00000 n +0000328054 00000 n +0000334889 00000 n +0000335015 00000 n +0000340896 00000 n +0000341046 00000 n +0000341386 00000 n +0000340743 00000 n +0000335228 00000 n +0000341198 00000 n +0000341322 00000 n +0000347210 00000 n +0000347360 00000 n +0000347702 00000 n +0000347057 00000 n +0000341535 00000 n +0000347512 00000 n +0000993361 00000 n +0000347638 00000 n +0000355412 00000 n +0000355564 00000 n +0000355714 00000 n +0000355863 00000 n +0000363799 00000 n +0000356395 00000 n +0000355241 00000 n +0000347853 00000 n +0000356015 00000 n +0000356139 00000 n +0000356203 00000 n +0000356267 00000 n +0000356331 00000 n +0000363951 00000 n +0000364100 00000 n +0000364252 00000 n +0000364404 00000 n +0000364558 00000 n +0000364712 00000 n +0000364866 00000 n +0000365082 00000 n +0000363592 00000 n +0000356557 00000 n +0000365018 00000 n +0000372184 00000 n +0000380747 00000 n +0000372524 00000 n +0000372040 00000 n +0000365193 00000 n +0000372335 00000 n +0000372460 00000 n +0000995038 00000 n +0000380900 00000 n +0000381049 00000 n +0000381201 00000 n +0000381353 00000 n +0000381502 00000 n +0000381654 00000 n +0000381869 00000 n +0000380549 00000 n +0000372700 00000 n +0000381805 00000 n +0000386882 00000 n +0000387034 00000 n +0000387249 00000 n +0000386729 00000 n +0000382006 00000 n +0000387186 00000 n +0000388215 00000 n +0000388495 00000 n +0000388071 00000 n +0000387360 00000 n +0000388368 00000 n +0000396080 00000 n +0000396229 00000 n +0000396381 00000 n +0000396533 00000 n +0000397062 00000 n +0000395909 00000 n +0000388580 00000 n +0000396685 00000 n +0000396809 00000 n +0000396873 00000 n +0000396936 00000 n +0000396999 00000 n +0000405771 00000 n +0000401531 00000 n +0000405922 00000 n +0000406201 00000 n +0000401378 00000 n +0000397199 00000 n +0000406073 00000 n +0000406137 00000 n +0000405431 00000 n +0000405551 00000 n +0000405599 00000 n +0000405674 00000 n +0000405748 00000 n +0000409650 00000 n +0000409464 00000 n +0000406354 00000 n +0000409587 00000 n +0000993071 00000 n +0000995163 00000 n +0000418440 00000 n +0000418589 00000 n +0000418741 00000 n +0000419274 00000 n +0000418278 00000 n +0000409736 00000 n +0000418892 00000 n +0000419018 00000 n +0000419082 00000 n +0000419146 00000 n +0000419210 00000 n +0000425512 00000 n +0000430835 00000 n +0000425664 00000 n +0000425814 00000 n +0000426217 00000 n +0000425350 00000 n +0000419424 00000 n +0000425966 00000 n +0000426029 00000 n +0000426092 00000 n +0000426155 00000 n +0000435222 00000 n +0000430220 00000 n +0000430033 00000 n +0000426354 00000 n +0000430156 00000 n +0000435286 00000 n +0000430712 00000 n +0000430305 00000 n +0000435159 00000 n +0000434819 00000 n +0000434939 00000 n +0000434987 00000 n +0000435062 00000 n +0000435136 00000 n +0000444975 00000 n +0000445124 00000 n +0000445276 00000 n +0000445809 00000 n +0000444813 00000 n +0000435387 00000 n +0000445427 00000 n +0000445553 00000 n +0000445617 00000 n +0000445681 00000 n +0000445745 00000 n +0000447672 00000 n +0000447486 00000 n +0000445971 00000 n +0000447609 00000 n +0000995288 00000 n +0000456537 00000 n +0000459154 00000 n +0000457070 00000 n +0000456393 00000 n +0000447770 00000 n +0000456687 00000 n +0000456814 00000 n +0000456878 00000 n +0000456942 00000 n +0000457006 00000 n +0000459369 00000 n +0000459010 00000 n +0000457232 00000 n +0000459306 00000 n +0000466379 00000 n +0000466066 00000 n +0000459467 00000 n +0000466189 00000 n +0000473357 00000 n +0000473635 00000 n +0000473213 00000 n +0000466516 00000 n +0000473509 00000 n +0000473572 00000 n +0000484012 00000 n +0000484303 00000 n +0000483868 00000 n +0000473759 00000 n +0000484175 00000 n +0000484239 00000 n +0000487659 00000 n +0000487160 00000 n +0000484440 00000 n +0000487283 00000 n +0000487346 00000 n +0000487409 00000 n +0000487472 00000 n +0000487535 00000 n +0000487598 00000 n +0000995413 00000 n +0000495119 00000 n +0000495395 00000 n +0000494975 00000 n +0000487744 00000 n +0000495269 00000 n +0000498879 00000 n +0000499294 00000 n +0000498735 00000 n +0000495519 00000 n +0000499042 00000 n +0000499105 00000 n +0000499168 00000 n +0000499231 00000 n +0000503111 00000 n +0000503261 00000 n +0000503602 00000 n +0000502958 00000 n +0000499405 00000 n +0000503412 00000 n +0000503538 00000 n +0000507203 00000 n +0000507354 00000 n +0000507630 00000 n +0000507050 00000 n +0000503713 00000 n +0000507506 00000 n +0000510188 00000 n +0000510464 00000 n +0000510044 00000 n +0000507741 00000 n +0000510338 00000 n +0000516715 00000 n +0000516864 00000 n +0000517141 00000 n +0000516562 00000 n +0000510575 00000 n +0000517016 00000 n +0000995538 00000 n +0000519240 00000 n +0000518925 00000 n +0000517278 00000 n +0000519048 00000 n +0000519112 00000 n +0000519176 00000 n +0000524425 00000 n +0000524576 00000 n +0000525037 00000 n +0000524272 00000 n +0000519325 00000 n +0000524724 00000 n +0000524848 00000 n +0000524911 00000 n +0000524974 00000 n +0000531827 00000 n +0000531979 00000 n +0000538669 00000 n +0000532254 00000 n +0000531674 00000 n +0000525161 00000 n +0000532127 00000 n +0000539449 00000 n +0000538525 00000 n +0000532378 00000 n +0000538820 00000 n +0000538883 00000 n +0000538946 00000 n +0000539009 00000 n +0000539072 00000 n +0000539134 00000 n +0000539197 00000 n +0000539260 00000 n +0000539323 00000 n +0000539386 00000 n +0000546434 00000 n +0000546584 00000 n +0000546859 00000 n +0000546281 00000 n +0000539573 00000 n +0000546733 00000 n +0000549841 00000 n +0000549278 00000 n +0000546970 00000 n +0000549401 00000 n +0000549464 00000 n +0000549527 00000 n +0000549590 00000 n +0000549653 00000 n +0000549716 00000 n +0000549779 00000 n +0000995663 00000 n +0000553223 00000 n +0000553371 00000 n +0000553648 00000 n +0000553070 00000 n +0000549926 00000 n +0000553522 00000 n +0000557963 00000 n +0000558113 00000 n +0000558453 00000 n +0000557810 00000 n +0000553759 00000 n +0000558265 00000 n +0000558390 00000 n +0000563888 00000 n +0000564039 00000 n +0000564314 00000 n +0000563735 00000 n +0000558564 00000 n +0000564188 00000 n +0000571468 00000 n +0000571620 00000 n +0000571893 00000 n +0000571315 00000 n +0000564438 00000 n +0000571769 00000 n +0000573507 00000 n +0000573192 00000 n +0000572017 00000 n +0000573315 00000 n +0000573379 00000 n +0000573443 00000 n +0000579042 00000 n +0000579192 00000 n +0000579341 00000 n +0000579613 00000 n +0000578880 00000 n +0000573605 00000 n +0000579489 00000 n +0000995788 00000 n +0000583329 00000 n +0000583477 00000 n +0000583755 00000 n +0000583176 00000 n +0000579737 00000 n +0000583629 00000 n +0000587610 00000 n +0000587363 00000 n +0000583866 00000 n +0000587486 00000 n +0000594498 00000 n +0000594774 00000 n +0000594354 00000 n +0000587747 00000 n +0000594648 00000 n +0000595962 00000 n +0000595650 00000 n +0000594898 00000 n +0000595773 00000 n +0000595836 00000 n +0000595899 00000 n +0000601987 00000 n +0000602264 00000 n +0000601843 00000 n +0000596047 00000 n +0000602138 00000 n +0000605863 00000 n +0000606202 00000 n +0000605719 00000 n +0000602388 00000 n +0000606015 00000 n +0000606139 00000 n +0000995913 00000 n +0000611513 00000 n +0000611854 00000 n +0000611369 00000 n +0000606326 00000 n +0000611664 00000 n +0000611790 00000 n +0000615422 00000 n +0000615761 00000 n +0000615278 00000 n +0000611978 00000 n +0000615574 00000 n +0000615698 00000 n +0000621081 00000 n +0000621422 00000 n +0000620937 00000 n +0000615885 00000 n +0000621232 00000 n +0000621358 00000 n +0000625571 00000 n +0000625972 00000 n +0000625427 00000 n +0000621546 00000 n +0000625722 00000 n +0000625846 00000 n +0000625909 00000 n +0000629941 00000 n +0000630345 00000 n +0000629797 00000 n +0000626083 00000 n +0000630091 00000 n +0000630217 00000 n +0000630281 00000 n +0000636443 00000 n +0000636718 00000 n +0000636299 00000 n +0000630456 00000 n +0000636593 00000 n +0000996038 00000 n +0000640992 00000 n +0000640613 00000 n +0000636842 00000 n +0000640736 00000 n +0000640800 00000 n +0000640864 00000 n +0000640928 00000 n +0000645461 00000 n +0000645611 00000 n +0000645763 00000 n +0000646037 00000 n +0000645299 00000 n +0000641116 00000 n +0000645913 00000 n +0000652244 00000 n +0000651994 00000 n +0000646161 00000 n +0000652117 00000 n +0000660173 00000 n +0000659421 00000 n +0000652368 00000 n +0000659544 00000 n +0000659607 00000 n +0000659670 00000 n +0000659733 00000 n +0000659796 00000 n +0000659859 00000 n +0000659922 00000 n +0000659984 00000 n +0000660047 00000 n +0000660110 00000 n +0000660792 00000 n +0000660542 00000 n +0000660296 00000 n +0000660665 00000 n +0000666876 00000 n +0000666503 00000 n +0000660877 00000 n +0000666626 00000 n +0000666750 00000 n +0000666813 00000 n +0000996163 00000 n +0000672088 00000 n +0000671711 00000 n +0000667013 00000 n +0000671834 00000 n +0000671961 00000 n +0000672024 00000 n +0000677076 00000 n +0000676640 00000 n +0000672225 00000 n +0000676763 00000 n +0000676887 00000 n +0000676950 00000 n +0000677013 00000 n +0000679682 00000 n +0000679433 00000 n +0000677213 00000 n +0000679556 00000 n +0000683120 00000 n +0000682873 00000 n +0000679793 00000 n +0000682996 00000 n +0000684768 00000 n +0000684519 00000 n +0000683257 00000 n +0000684642 00000 n +0000686670 00000 n +0000686423 00000 n +0000684879 00000 n +0000686546 00000 n +0000996288 00000 n +0000688447 00000 n +0000688198 00000 n +0000686781 00000 n +0000688321 00000 n +0000693417 00000 n +0000693170 00000 n +0000688558 00000 n +0000693293 00000 n +0000699190 00000 n +0000698813 00000 n +0000693554 00000 n +0000698936 00000 n +0000699062 00000 n +0000699126 00000 n +0000704911 00000 n +0000704538 00000 n +0000699327 00000 n +0000704661 00000 n +0000704785 00000 n +0000704848 00000 n +0000710668 00000 n +0000710291 00000 n +0000705048 00000 n +0000710414 00000 n +0000710540 00000 n +0000710604 00000 n +0000716477 00000 n +0000716104 00000 n +0000710805 00000 n +0000716227 00000 n +0000716351 00000 n +0000716414 00000 n +0000996413 00000 n +0000722324 00000 n +0000721947 00000 n +0000716614 00000 n +0000722070 00000 n +0000722196 00000 n +0000722260 00000 n +0000728176 00000 n +0000727867 00000 n +0000722461 00000 n +0000727990 00000 n +0000728114 00000 n +0000734049 00000 n +0000733737 00000 n +0000728313 00000 n +0000733860 00000 n +0000733986 00000 n +0000740780 00000 n +0000740931 00000 n +0000741208 00000 n +0000740627 00000 n +0000734186 00000 n +0000741083 00000 n +0000750259 00000 n +0000750323 00000 n +0000750387 00000 n +0000748476 00000 n +0000741306 00000 n +0000748599 00000 n +0000748663 00000 n +0000748727 00000 n +0000991913 00000 n +0000748791 00000 n +0000748855 00000 n +0000748919 00000 n +0000748983 00000 n +0000749047 00000 n +0000749110 00000 n +0000749174 00000 n +0000749238 00000 n +0000749302 00000 n +0000749366 00000 n +0000749430 00000 n +0000749494 00000 n +0000749558 00000 n +0000749622 00000 n +0000749684 00000 n +0000749748 00000 n +0000749812 00000 n +0000749876 00000 n +0000749940 00000 n +0000750004 00000 n +0000750068 00000 n +0000750132 00000 n +0000750196 00000 n +0000754657 00000 n +0000754285 00000 n +0000750500 00000 n 0000754408 00000 n -0000756632 00000 n -0000756260 00000 n -0000754569 00000 n -0000756383 00000 n -0000756508 00000 n -0000756570 00000 n -0000759272 00000 n -0000758896 00000 n -0000756730 00000 n -0000759019 00000 n -0000759146 00000 n -0000759209 00000 n -0000760216 00000 n -0000759968 00000 n -0000759383 00000 n -0000760091 00000 n -0000765296 00000 n -0000765698 00000 n -0000765152 00000 n -0000760314 00000 n -0000765445 00000 n -0000765572 00000 n -0000765635 00000 n -0000771267 00000 n -0000771666 00000 n -0000771123 00000 n -0000765809 00000 n -0000771417 00000 n -0000771542 00000 n -0000771604 00000 n -0000994542 00000 n -0000775641 00000 n -0000776043 00000 n -0000775497 00000 n -0000771777 00000 n -0000775790 00000 n -0000775917 00000 n -0000775980 00000 n -0000780281 00000 n -0000779909 00000 n -0000776154 00000 n -0000780032 00000 n -0000780157 00000 n -0000780219 00000 n -0000784785 00000 n -0000785187 00000 n -0000784641 00000 n -0000780392 00000 n -0000784934 00000 n -0000785061 00000 n -0000785124 00000 n -0000786516 00000 n -0000786268 00000 n -0000785298 00000 n -0000786391 00000 n -0000791494 00000 n -0000791646 00000 n -0000791990 00000 n -0000791341 00000 n -0000786627 00000 n -0000791801 00000 n -0000791927 00000 n -0000799540 00000 n -0000799689 00000 n -0000799840 00000 n -0000799992 00000 n -0000800268 00000 n -0000799369 00000 n -0000792152 00000 n -0000800144 00000 n -0000994667 00000 n -0000806602 00000 n -0000806753 00000 n -0000806901 00000 n -0000807053 00000 n -0000807328 00000 n -0000806431 00000 n -0000800379 00000 n -0000807202 00000 n -0000809646 00000 n -0000809923 00000 n -0000809502 00000 n -0000807439 00000 n -0000809798 00000 n -0000811330 00000 n -0000811081 00000 n -0000810034 00000 n -0000811204 00000 n -0000812347 00000 n -0000812099 00000 n -0000811441 00000 n -0000812222 00000 n -0000821148 00000 n -0000821297 00000 n -0000821447 00000 n -0000828991 00000 n -0000821913 00000 n -0000820986 00000 n -0000812445 00000 n -0000821595 00000 n -0000821721 00000 n -0000821785 00000 n -0000821849 00000 n -0000829140 00000 n -0000829292 00000 n -0000829503 00000 n -0000828829 00000 n -0000822075 00000 n -0000829440 00000 n -0000994792 00000 n -0000832358 00000 n -0000832171 00000 n -0000829627 00000 n -0000832294 00000 n -0000840521 00000 n -0000839527 00000 n -0000832456 00000 n -0000839650 00000 n -0000839713 00000 n -0000839838 00000 n -0000840334 00000 n -0000840459 00000 n -0000844432 00000 n -0000843803 00000 n -0000840619 00000 n -0000843926 00000 n -0000844368 00000 n -0000844530 00000 n -0000844674 00000 n -0000845173 00000 n -0000845507 00000 n -0000845855 00000 n -0000845881 00000 n -0000846392 00000 n -0000846430 00000 n -0000847125 00000 n -0000847458 00000 n -0000847538 00000 n -0000847918 00000 n -0000848560 00000 n -0000849224 00000 n -0000849852 00000 n -0000850501 00000 n -0000850791 00000 n -0000851444 00000 n -0000865648 00000 n -0000866080 00000 n -0000878479 00000 n -0000878907 00000 n -0000883193 00000 n -0000883445 00000 n -0000894552 00000 n -0000894887 00000 n -0000896973 00000 n -0000897195 00000 n -0000901386 00000 n -0000901629 00000 n -0000918617 00000 n -0000919152 00000 n -0000921428 00000 n -0000921660 00000 n -0000924043 00000 n -0000924281 00000 n -0000933963 00000 n -0000934340 00000 n -0000943411 00000 n -0000943784 00000 n -0000947834 00000 n -0000948178 00000 n -0000949801 00000 n -0000950037 00000 n -0000963842 00000 n -0000964221 00000 n -0000970494 00000 n -0000970762 00000 n -0000984254 00000 n -0000984743 00000 n -0000989212 00000 n -0000994899 00000 n -0000995019 00000 n -0000995143 00000 n -0000995269 00000 n -0000995395 00000 n -0000995487 00000 n -0001007462 00000 n -0001007649 00000 n -0001007834 00000 n -0001008017 00000 n -0001008202 00000 n -0001008380 00000 n -0001008549 00000 n -0001008720 00000 n -0001008890 00000 n -0001009061 00000 n -0001009231 00000 n -0001009408 00000 n -0001009583 00000 n -0001009760 00000 n -0001009935 00000 n -0001010112 00000 n -0001010286 00000 n -0001010460 00000 n -0001010637 00000 n -0001010812 00000 n -0001010989 00000 n -0001011175 00000 n -0001011396 00000 n -0001011613 00000 n -0001011819 00000 n -0001012008 00000 n -0001012190 00000 n -0001012421 00000 n -0001012648 00000 n -0001012879 00000 n -0001013120 00000 n -0001013353 00000 n -0001013592 00000 n -0001013831 00000 n -0001014070 00000 n -0001014303 00000 n -0001014512 00000 n -0001014697 00000 n -0001014880 00000 n -0001015065 00000 n -0001015248 00000 n -0001015433 00000 n -0001015616 00000 n -0001015796 00000 n -0001015966 00000 n -0001016137 00000 n -0001016307 00000 n -0001016478 00000 n -0001016653 00000 n -0001016830 00000 n -0001017005 00000 n -0001017182 00000 n -0001017356 00000 n -0001017530 00000 n -0001017707 00000 n -0001017882 00000 n -0001018059 00000 n -0001018234 00000 n -0001018411 00000 n -0001018584 00000 n -0001018783 00000 n -0001018989 00000 n -0001019189 00000 n -0001019392 00000 n -0001019593 00000 n -0001019796 00000 n -0001019997 00000 n -0001020200 00000 n -0001020401 00000 n -0001020604 00000 n -0001020805 00000 n -0001021008 00000 n -0001021208 00000 n -0001021408 00000 n -0001021611 00000 n -0001021812 00000 n -0001022015 00000 n -0001022212 00000 n -0001022397 00000 n -0001022595 00000 n +0000754533 00000 n +0000754595 00000 n +0000996538 00000 n +0000756591 00000 n +0000756215 00000 n +0000754755 00000 n +0000756338 00000 n +0000756465 00000 n +0000756528 00000 n +0000758752 00000 n +0000758380 00000 n +0000756689 00000 n +0000758503 00000 n +0000758628 00000 n +0000758690 00000 n +0000761392 00000 n +0000761016 00000 n +0000758850 00000 n +0000761139 00000 n +0000761266 00000 n +0000761329 00000 n +0000762336 00000 n +0000762088 00000 n +0000761503 00000 n +0000762211 00000 n +0000767416 00000 n +0000767818 00000 n +0000767272 00000 n +0000762434 00000 n +0000767565 00000 n +0000767692 00000 n +0000767755 00000 n +0000773387 00000 n +0000773786 00000 n +0000773243 00000 n +0000767929 00000 n +0000773537 00000 n +0000773662 00000 n +0000773724 00000 n +0000996663 00000 n +0000777761 00000 n +0000778163 00000 n +0000777617 00000 n +0000773897 00000 n +0000777910 00000 n +0000778037 00000 n +0000778100 00000 n +0000782401 00000 n +0000782029 00000 n +0000778274 00000 n +0000782152 00000 n +0000782277 00000 n +0000782339 00000 n +0000786905 00000 n +0000787307 00000 n +0000786761 00000 n +0000782512 00000 n +0000787054 00000 n +0000787181 00000 n +0000787244 00000 n +0000788636 00000 n +0000788388 00000 n +0000787418 00000 n +0000788511 00000 n +0000793614 00000 n +0000793766 00000 n +0000794110 00000 n +0000793461 00000 n +0000788747 00000 n +0000793921 00000 n +0000794047 00000 n +0000801660 00000 n +0000801809 00000 n +0000801960 00000 n +0000802112 00000 n +0000802388 00000 n +0000801489 00000 n +0000794272 00000 n +0000802264 00000 n +0000996788 00000 n +0000808722 00000 n +0000808873 00000 n +0000809021 00000 n +0000809173 00000 n +0000809448 00000 n +0000808551 00000 n +0000802499 00000 n +0000809322 00000 n +0000811766 00000 n +0000812043 00000 n +0000811622 00000 n +0000809559 00000 n +0000811918 00000 n +0000813450 00000 n +0000813201 00000 n +0000812154 00000 n +0000813324 00000 n +0000814467 00000 n +0000814219 00000 n +0000813561 00000 n +0000814342 00000 n +0000823268 00000 n +0000823417 00000 n +0000823567 00000 n +0000831111 00000 n +0000824033 00000 n +0000823106 00000 n +0000814565 00000 n +0000823715 00000 n +0000823841 00000 n +0000823905 00000 n +0000823969 00000 n +0000831260 00000 n +0000831412 00000 n +0000831623 00000 n +0000830949 00000 n +0000824195 00000 n +0000831560 00000 n +0000996913 00000 n +0000834478 00000 n +0000834291 00000 n +0000831747 00000 n +0000834414 00000 n +0000842641 00000 n +0000841647 00000 n +0000834576 00000 n +0000841770 00000 n +0000841833 00000 n +0000841958 00000 n +0000842454 00000 n +0000842579 00000 n +0000846552 00000 n +0000845923 00000 n +0000842739 00000 n +0000846046 00000 n +0000846488 00000 n +0000846650 00000 n +0000846794 00000 n +0000847293 00000 n +0000847627 00000 n +0000847975 00000 n +0000848001 00000 n +0000848512 00000 n +0000848550 00000 n +0000849245 00000 n +0000849578 00000 n +0000849658 00000 n +0000850038 00000 n +0000850680 00000 n +0000851344 00000 n +0000851972 00000 n +0000852621 00000 n +0000852911 00000 n +0000853564 00000 n +0000867768 00000 n +0000868200 00000 n +0000880599 00000 n +0000881027 00000 n +0000885313 00000 n +0000885565 00000 n +0000896672 00000 n +0000897007 00000 n +0000899093 00000 n +0000899315 00000 n +0000903506 00000 n +0000903749 00000 n +0000920737 00000 n +0000921272 00000 n +0000923548 00000 n +0000923780 00000 n +0000926163 00000 n +0000926401 00000 n +0000936083 00000 n +0000936460 00000 n +0000945531 00000 n +0000945904 00000 n +0000949954 00000 n +0000950298 00000 n +0000951921 00000 n +0000952157 00000 n +0000965962 00000 n +0000966341 00000 n +0000972614 00000 n +0000972882 00000 n +0000986374 00000 n +0000986863 00000 n +0000991332 00000 n +0000997020 00000 n +0000997140 00000 n +0000997265 00000 n +0000997391 00000 n +0000997517 00000 n +0000997609 00000 n +0001009676 00000 n +0001009863 00000 n +0001010048 00000 n +0001010231 00000 n +0001010416 00000 n +0001010594 00000 n +0001010763 00000 n +0001010934 00000 n +0001011104 00000 n +0001011275 00000 n +0001011445 00000 n +0001011622 00000 n +0001011797 00000 n +0001011974 00000 n +0001012149 00000 n +0001012326 00000 n +0001012500 00000 n +0001012674 00000 n +0001012851 00000 n +0001013026 00000 n +0001013203 00000 n +0001013389 00000 n +0001013610 00000 n +0001013827 00000 n +0001014033 00000 n +0001014222 00000 n +0001014404 00000 n +0001014635 00000 n +0001014862 00000 n +0001015093 00000 n +0001015334 00000 n +0001015567 00000 n +0001015806 00000 n +0001016045 00000 n +0001016284 00000 n +0001016517 00000 n +0001016726 00000 n +0001016911 00000 n +0001017094 00000 n +0001017279 00000 n +0001017462 00000 n +0001017647 00000 n +0001017830 00000 n +0001018010 00000 n +0001018180 00000 n +0001018351 00000 n +0001018521 00000 n +0001018692 00000 n +0001018867 00000 n +0001019044 00000 n +0001019219 00000 n +0001019396 00000 n +0001019570 00000 n +0001019744 00000 n +0001019921 00000 n +0001020096 00000 n +0001020273 00000 n +0001020448 00000 n +0001020625 00000 n +0001020798 00000 n +0001020997 00000 n +0001021204 00000 n +0001021407 00000 n +0001021607 00000 n +0001021807 00000 n +0001022010 00000 n +0001022211 00000 n +0001022414 00000 n +0001022615 00000 n 0001022818 00000 n -0001023081 00000 n -0001023263 00000 n -0001023441 00000 n -0001023611 00000 n -0001023710 00000 n -0001023827 00000 n -0001023943 00000 n -0001024059 00000 n -0001024178 00000 n -0001024305 00000 n -0001024428 00000 n -0001024546 00000 n -0001024663 00000 n -0001024779 00000 n -0001024900 00000 n -0001025025 00000 n -0001025149 00000 n -0001025271 00000 n -0001025389 00000 n -0001025460 00000 n -0001025578 00000 n -0001025699 00000 n -0001025790 00000 n -0001025879 00000 n -0001025919 00000 n -0001026156 00000 n +0001023019 00000 n +0001023222 00000 n +0001023423 00000 n +0001023626 00000 n +0001023826 00000 n +0001024026 00000 n +0001024229 00000 n +0001024427 00000 n +0001024614 00000 n +0001024808 00000 n +0001025030 00000 n +0001025283 00000 n +0001025487 00000 n +0001025667 00000 n +0001025840 00000 n +0001025953 00000 n +0001026070 00000 n +0001026186 00000 n +0001026302 00000 n +0001026421 00000 n +0001026548 00000 n +0001026671 00000 n +0001026789 00000 n +0001026906 00000 n +0001027022 00000 n +0001027143 00000 n +0001027268 00000 n +0001027392 00000 n +0001027514 00000 n +0001027632 00000 n +0001027701 00000 n +0001027819 00000 n +0001027940 00000 n +0001028031 00000 n +0001028120 00000 n +0001028160 00000 n +0001028397 00000 n trailer -<< /Size 1859 -/Root 1857 0 R -/Info 1858 0 R -/ID [<50800F6C0FD1DEFD60F1962A90143899> <50800F6C0FD1DEFD60F1962A90143899>] >> +<< /Size 1864 +/Root 1862 0 R +/Info 1863 0 R +/ID [ ] >> startxref -1026793 +1029034 %%EOF diff --git a/docs/src/datastruct.tex b/docs/src/datastruct.tex index cda8761b..2345e4bf 100644 --- a/docs/src/datastruct.tex +++ b/docs/src/datastruct.tex @@ -725,6 +725,28 @@ A variable of type \verb|psb_Tspmat_type|. \item[info] Return code. \end{description} +\subsubsection*{get\_diag --- Get main diagonal} +\addcontentsline{toc}{paragraph}{get\_diag} +\begin{verbatim} + call a%get_diag(d,info) +\end{verbatim} + +Returns a copy of the main diagonal. +\begin{description} +\item[Type:] Asynchronous. +\item[\bf On Entry] +\item[a] the sparse matrix.\\ +A variable of type \verb|psb_Tspmat_type|.\\ +Scope: {\bf local}.\\ +\end{description} +\begin{description} +\item[\bf On Return] +\item[d] A copy of the main diagonal.\\ +A one-dimensional array of the appropriate type. +\item[info] Return code. +\end{description} + + \subsubsection*{clip\_diag --- Cut out main diagonal} \addcontentsline{toc}{paragraph}{clip\_diag} \begin{verbatim}