diff --git a/Changelog b/Changelog index 601e02bb..f63c7117 100644 --- a/Changelog +++ b/Changelog @@ -1,6 +1,8 @@ Changelog. A lot less detailed than usual, at least for past history. +2007/05/22: Defined psb_precinit. + 2007/05/15: Defined psb_sizeof. 2007/05/15: Merged in various fixes coming from tests on SP5 and diff --git a/Make.inc b/Make.inc index 0d1ed531..4ee173be 100644 --- a/Make.inc +++ b/Make.inc @@ -10,9 +10,9 @@ F90=/usr/local/gcc42/bin/gfortran FC=/usr/local/gcc42/bin/gfortran F77=$(FC) CC=/usr/local/gcc42/bin/gcc -F90COPT=-O3 -ggdb -pg -FCOPT=-O3 -ggdb -pg -CCOPT=-O3 -ggdb -pg +F90COPT=-O3 +FCOPT=-O3 +CCOPT=-O3 # # Which flag does your compiler use for module inclusion? # Most compilers use -I but Sun uses -M @@ -26,7 +26,7 @@ FIFLAG=-I # MPI_FINC=-DMPI_H or MPI_FINC=-DMPI_MOD # # If necessary add an include dir # ########################################################## -F90LINK=/usr/local/mpich-gcc42/bin/mpif90 +F90LINK=/usr/local/mpich-gcc42/bin/mpif90 -pg FLINK=/usr/local/mpich-gcc42/bin/mpif77 MPF90=/usr/local/mpich-gcc42/bin/mpif90 MPF77=/usr/local/mpich-gcc42/bin/mpif77 diff --git a/Makefile b/Makefile index 6390ae09..66079666 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ include Make.inc -#PREC=../mld2p4 -PREC=prec +PREC=../mld2p4 +#PREC=prec library: diff --git a/base/modules/psb_error_mod.F90 b/base/modules/psb_error_mod.F90 index f9fe734f..7b70c051 100644 --- a/base/modules/psb_error_mod.F90 +++ b/base/modules/psb_error_mod.F90 @@ -54,7 +54,7 @@ module psb_error_mod integer,dimension(5) :: i_err_data=0 ! array of integer data to complete the error msg ! real(kind(1.d0))(dim=10) :: r_err_data=0.d0 ! array of real data to complete the error msg ! complex(dim=10) :: c_err_data=0.c0 ! array of complex data to complete the error msg - character(len=20) :: a_err_data='' ! array of character data to complete the error msg + character(len=40) :: a_err_data='' ! array of character data to complete the error msg type(psb_errstack_node), pointer :: next ! pointer to the next element in the stack end type psb_errstack_node @@ -175,7 +175,8 @@ contains subroutine psb_errpop(err_c, r_name, i_e_d, a_e_d) integer, intent(out) :: err_c - character(len=20), intent(out) :: r_name, a_e_d + character(len=20), intent(out) :: r_name + character(len=40), intent(out) :: a_e_d integer, intent(out) :: i_e_d(5) type(psb_errstack_node), pointer :: old_node @@ -201,7 +202,8 @@ contains integer, intent(in) :: ictxt integer :: err_c - character(len=20) :: r_name, a_e_d + character(len=20) :: r_name + character(len=40) :: a_e_d integer :: i_e_d(5) integer :: nprow, npcol, me, mypcol integer, parameter :: ione=1, izero=0 @@ -252,7 +254,8 @@ contains subroutine psb_serror() integer :: err_c - character(len=20) :: r_name, a_e_d + character(len=20) :: r_name + character(len=40) :: a_e_d integer :: i_e_d(5) integer, parameter :: ione=1, izero=0 @@ -283,7 +286,8 @@ contains subroutine psb_errmsg(err_c, r_name, i_e_d, a_e_d,me) integer, intent(in) :: err_c - character(len=20), intent(in) :: r_name, a_e_d + character(len=20), intent(in) :: r_name + character(len=40), intent(in) :: a_e_d integer, intent(in) :: i_e_d(5) integer, optional :: me diff --git a/docs/pdf/precs.tex b/docs/pdf/precs.tex index 4b6f5044..3ecbc99a 100644 --- a/docs/pdf/precs.tex +++ b/docs/pdf/precs.tex @@ -24,9 +24,9 @@ module \verb|psb_prec_mod|. -\subroutine{psb\_precset}{Sets the preconditioner type} +\subroutine{psb\_precinit}{Initialize a preconditioner} -\syntax{call psb\_precset}{prec, ptype, info} +\syntax{call psb\_precinit}{prec, ptype, info} \begin{description} \item[\bf On Entry] diff --git a/docs/userguide.pdf b/docs/userguide.pdf index e6d3a35b..3f3f58ce 100644 --- a/docs/userguide.pdf +++ b/docs/userguide.pdf @@ -555,7 +555,7 @@ endobj << /S /GoTo /D (section*.171) >> endobj 376 0 obj -(psb\137precset) +(psb\137precinit) endobj 377 0 obj << /S /GoTo /D (section*.174) >> @@ -636,7 +636,7 @@ ET 0 g 0 G 1 0 0 1 -350.8992 -402.6932 cm BT -/F29 9.9626 Tf 355.8805 402.6932 Td[(b)32(y)-383(Sal)-1(v)64(ator)1(e)-384(Fili)-1(pp)-32(on)1(e)]TJ 12.8891 -18.5969 Td[(and)-383(A)-1(lfredo)-383(Butt)-1(ar)1(i)]TJ/F8 9.9626 Tf -115.3393 -25.2387 Td[(\134T)83(or)-333(V)83(ergata")-333(Un)1(iv)28(e)-1(r)1(s)-1(it)28(y)-333(of)-333(Rome)-1(.)-444(Ma)28(y)-333(17,)-333(2007)]TJ +/F29 9.9626 Tf 355.8805 402.6932 Td[(b)32(y)-383(Sal)-1(v)64(ator)1(e)-384(Fili)-1(pp)-32(on)1(e)]TJ 12.8891 -18.5969 Td[(and)-383(A)-1(lfredo)-383(Butt)-1(ar)1(i)]TJ/F8 9.9626 Tf -115.3393 -25.2387 Td[(\134T)83(or)-333(V)83(ergata")-333(Un)1(iv)28(e)-1(r)1(s)-1(it)28(y)-333(of)-333(Rome)-1(.)-444(Ma)28(y)-333(22,)-333(2007)]TJ ET 1 0 0 1 99.8954 90.4377 cm 0 g 0 G @@ -4481,11 +4481,11 @@ S Q 1 0 0 1 -130.4364 -624.4352 cm BT -/F8 9.9626 Tf 133.4253 624.4352 Td[(pr)1(e)-1(cs)-1(et)]TJ +/F8 9.9626 Tf 133.4253 624.4352 Td[(pr)1(e)-1(cin)1(it)]TJ ET -1 0 0 1 163.9497 624.4352 cm +1 0 0 1 166.6618 624.4352 cm 0 g 0 G -1 0 0 1 -163.9497 -624.4352 cm +1 0 0 1 -166.6618 -624.4352 cm BT /F8 9.9626 Tf 172.1235 624.4352 Td[(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)]TJ ET @@ -4717,7 +4717,7 @@ endobj 524 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [113.8431 621.5018 164.946 632.35] +/Rect [113.8431 621.5018 167.6581 632.35] /Subtype /Link /A << /S /GoTo /D (section*.171) >> >> endobj @@ -28357,7 +28357,7 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1395 0 obj << -/Length 6732 +/Length 6730 >> stream 1 0 0 1 99.8954 740.9981 cm @@ -28382,9 +28382,9 @@ S Q 1 0 0 1 -125.1626 -680.226 cm BT -/F18 14.3462 Tf 130.0045 680.226 Td[(pre)-1(cset|Se)-1(ts)-375(the)-376(pre)-1(condi)-1(ti)-1(oner)-376(t)31(yp)-31(e)]TJ -30.1091 -35.7686 Td[(Syn)32(t)-1(ax)]TJ/F8 9.9626 Tf 97.6894 -21.8209 Td[(call)-333(psb)]TJ +/F18 14.3462 Tf 130.0045 680.226 Td[(pre)-1(cini)-1(t|Ini)-1(ti)-1(ali)-1(ze)-375(a)-375(pre)-1(condi)-1(ti)-1(oner)]TJ -30.1091 -35.7686 Td[(Syn)32(t)-1(ax)]TJ/F8 9.9626 Tf 96.3334 -21.8209 Td[(call)-333(psb)]TJ ET -1 0 0 1 231.4468 622.6364 cm +1 0 0 1 230.0907 622.6364 cm q []0 d 0 J @@ -28393,9 +28393,9 @@ q 2.9888 0.1992 l S Q -1 0 0 1 -231.4468 -622.6364 cm +1 0 0 1 -230.0907 -622.6364 cm BT -/F8 9.9626 Tf 234.4356 622.6364 Td[(pr)1(e)-1(cs)-1(et)-333(\050)]TJ/F19 9.9626 Tf 37.7197 0 Td[(pr)51(e)51(c,)-357(ptyp)51(e,)-357(info)]TJ/F8 9.9626 Tf 69.8874 0 Td[(\051)]TJ +/F8 9.9626 Tf 233.0795 622.6364 Td[(pr)1(e)-1(cin)1(it)-333(\050)]TJ/F19 9.9626 Tf 40.4318 0 Td[(pr)51(e)51(c,)-357(ptyp)51(e,)-357(info)]TJ/F8 9.9626 Tf 69.8874 0 Td[(\051)]TJ ET 1 0 0 1 94.9141 598.7261 cm 0 g 0 G @@ -30456,7 +30456,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /WFFOBT+CMR9 def +/FontName /LQXJVW+CMR9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -30540,14 +30540,14 @@ endobj /FirstChar 40 /LastChar 115 /Widths 1467 0 R -/BaseFont /WFFOBT+CMR9 +/BaseFont /LQXJVW+CMR9 /FontDescriptor 923 0 R >> endobj 923 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /WFFOBT+CMR9 +/FontName /LQXJVW+CMR9 /ItalicAngle 0 /StemV 74 /XHeight 431 @@ -30583,7 +30583,7 @@ stream /ItalicAngle -14.035 def /isFixedPitch false def end readonly def -/FontName /RFPQTO+CMSY7 def +/FontName /ABTLGJ+CMSY7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -30616,14 +30616,14 @@ endobj /FirstChar 0 /LastChar 49 /Widths 1469 0 R -/BaseFont /RFPQTO+CMSY7 +/BaseFont /ABTLGJ+CMSY7 /FontDescriptor 837 0 R >> endobj 837 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 -/FontName /RFPQTO+CMSY7 +/FontName /ABTLGJ+CMSY7 /ItalicAngle -14.035 /StemV 93 /XHeight 431 @@ -30659,7 +30659,7 @@ stream /ItalicAngle 0 def /isFixedPitch true def end readonly def -/FontName /AXNRZP+CMTT9 def +/FontName /LBKIWG+CMTT9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -30733,14 +30733,14 @@ endobj /FirstChar 39 /LastChar 122 /Widths 1471 0 R -/BaseFont /AXNRZP+CMTT9 +/BaseFont /LBKIWG+CMTT9 /FontDescriptor 698 0 R >> endobj 698 0 obj << /Ascent 611 /CapHeight 611 /Descent -222 -/FontName /AXNRZP+CMTT9 +/FontName /LBKIWG+CMTT9 /ItalicAngle 0 /StemV 74 /XHeight 431 @@ -30776,7 +30776,7 @@ stream /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /PFUPIR+CMMI5 def +/FontName /ESUEGR+CMMI5 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -30809,14 +30809,14 @@ endobj /FirstChar 105 /LastChar 105 /Widths 1473 0 R -/BaseFont /PFUPIR+CMMI5 +/BaseFont /ESUEGR+CMMI5 /FontDescriptor 620 0 R >> endobj 620 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /PFUPIR+CMMI5 +/FontName /ESUEGR+CMMI5 /ItalicAngle -14.04 /StemV 90 /XHeight 431 @@ -30852,7 +30852,7 @@ stream /ItalicAngle -14.035 def /isFixedPitch false def end readonly def -/FontName /ILFCRS+CMSY10 def +/FontName /BAFYBJ+CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -30914,14 +30914,14 @@ endobj /FirstChar 0 /LastChar 120 /Widths 1475 0 R -/BaseFont /ILFCRS+CMSY10 +/BaseFont /BAFYBJ+CMSY10 /FontDescriptor 590 0 R >> endobj 590 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 -/FontName /ILFCRS+CMSY10 +/FontName /BAFYBJ+CMSY10 /ItalicAngle -14.035 /StemV 85 /XHeight 431 @@ -30957,7 +30957,7 @@ stream /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /RCHOBK+CMMI7 def +/FontName /VXVRYQ+CMMI7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31011,14 +31011,14 @@ endobj /FirstChar 59 /LastChar 121 /Widths 1477 0 R -/BaseFont /RCHOBK+CMMI7 +/BaseFont /VXVRYQ+CMMI7 /FontDescriptor 587 0 R >> endobj 587 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /RCHOBK+CMMI7 +/FontName /VXVRYQ+CMMI7 /ItalicAngle -14.04 /StemV 81 /XHeight 431 @@ -31054,7 +31054,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /GEIOAL+CMR8 def +/FontName /SRREDA+CMR8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31157,14 +31157,14 @@ endobj /FirstChar 40 /LastChar 121 /Widths 1479 0 R -/BaseFont /GEIOAL+CMR8 +/BaseFont /SRREDA+CMR8 /FontDescriptor 577 0 R >> endobj 577 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /GEIOAL+CMR8 +/FontName /SRREDA+CMR8 /ItalicAngle 0 /StemV 76 /XHeight 431 @@ -31200,7 +31200,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /TEBLAH+CMR6 def +/FontName /YGDTSU+CMR6 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31234,14 +31234,14 @@ endobj /FirstChar 49 /LastChar 50 /Widths 1481 0 R -/BaseFont /TEBLAH+CMR6 +/BaseFont /YGDTSU+CMR6 /FontDescriptor 573 0 R >> endobj 573 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /TEBLAH+CMR6 +/FontName /YGDTSU+CMR6 /ItalicAngle 0 /StemV 83 /XHeight 431 @@ -31277,7 +31277,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /GXRBEQ+CMR7 def +/FontName /HDJWHV+CMR7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31316,14 +31316,14 @@ endobj /FirstChar 43 /LastChar 58 /Widths 1483 0 R -/BaseFont /GXRBEQ+CMR7 +/BaseFont /HDJWHV+CMR7 /FontDescriptor 570 0 R >> endobj 570 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /GXRBEQ+CMR7 +/FontName /HDJWHV+CMR7 /ItalicAngle 0 /StemV 79 /XHeight 431 @@ -31359,7 +31359,7 @@ stream /ItalicAngle 0 def /isFixedPitch true def end readonly def -/FontName /DSGWVP+CMTT10 def +/FontName /JQRWIO+CMTT10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31486,14 +31486,14 @@ endobj /FirstChar 40 /LastChar 126 /Widths 1485 0 R -/BaseFont /DSGWVP+CMTT10 +/BaseFont /JQRWIO+CMTT10 /FontDescriptor 565 0 R >> endobj 565 0 obj << /Ascent 611 /CapHeight 611 /Descent -222 -/FontName /DSGWVP+CMTT10 +/FontName /JQRWIO+CMTT10 /ItalicAngle 0 /StemV 69 /XHeight 431 @@ -31529,7 +31529,7 @@ stream /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /PBKHZF+CMMI10 def +/FontName /ZDQTCZ+CMMI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31626,14 +31626,14 @@ endobj /FirstChar 11 /LastChar 122 /Widths 1487 0 R -/BaseFont /PBKHZF+CMMI10 +/BaseFont /ZDQTCZ+CMMI10 /FontDescriptor 559 0 R >> endobj 559 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /PBKHZF+CMMI10 +/FontName /ZDQTCZ+CMMI10 /ItalicAngle -14.04 /StemV 72 /XHeight 431 @@ -31669,7 +31669,7 @@ stream /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /KIYJTC+CMTI10 def +/FontName /YLVLSR+CMTI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -31819,14 +31819,14 @@ endobj /FirstChar 11 /LastChar 122 /Widths 1489 0 R -/BaseFont /KIYJTC+CMTI10 +/BaseFont /YLVLSR+CMTI10 /FontDescriptor 544 0 R >> endobj 544 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /KIYJTC+CMTI10 +/FontName /YLVLSR+CMTI10 /ItalicAngle -14.04 /StemV 68 /XHeight 431 @@ -31862,7 +31862,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /JTHRAA+CMR10 def +/FontName /DLKXEB+CMR10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -32034,14 +32034,14 @@ endobj /FirstChar 11 /LastChar 123 /Widths 1491 0 R -/BaseFont /JTHRAA+CMR10 +/BaseFont /DLKXEB+CMR10 /FontDescriptor 412 0 R >> endobj 412 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /JTHRAA+CMR10 +/FontName /DLKXEB+CMR10 /ItalicAngle 0 /StemV 69 /XHeight 431 @@ -32077,7 +32077,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /OEHRCU+CMBX10 def +/FontName /GXJZUR+CMBX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -32217,14 +32217,14 @@ endobj /FirstChar 12 /LastChar 123 /Widths 1493 0 R -/BaseFont /OEHRCU+CMBX10 +/BaseFont /GXJZUR+CMBX10 /FontDescriptor 409 0 R >> endobj 409 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 -/FontName /OEHRCU+CMBX10 +/FontName /GXJZUR+CMBX10 /ItalicAngle 0 /StemV 114 /XHeight 444 @@ -32260,7 +32260,7 @@ stream /ItalicAngle -14.04 def /isFixedPitch false def end readonly def -/FontName /TEBHRJ+CMTI12 def +/FontName /TJVVMT+CMTI12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -32330,14 +32330,14 @@ endobj /FirstChar 65 /LastChar 121 /Widths 1495 0 R -/BaseFont /TEBHRJ+CMTI12 +/BaseFont /TJVVMT+CMTI12 /FontDescriptor 406 0 R >> endobj 406 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /TEBHRJ+CMTI12 +/FontName /TJVVMT+CMTI12 /ItalicAngle -14.04 /StemV 63 /XHeight 431 @@ -32373,7 +32373,7 @@ stream /ItalicAngle 0 def /isFixedPitch false def end readonly def -/FontName /QPSLUQ+CMBX12 def +/FontName /HBUIWK+CMBX12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def @@ -32509,14 +32509,14 @@ endobj /FirstChar 12 /LastChar 124 /Widths 1497 0 R -/BaseFont /QPSLUQ+CMBX12 +/BaseFont /HBUIWK+CMBX12 /FontDescriptor 403 0 R >> endobj 403 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 -/FontName /QPSLUQ+CMBX12 +/FontName /HBUIWK+CMBX12 /ItalicAngle 0 /StemV 109 /XHeight 444 @@ -33411,7 +33411,7 @@ endobj >> endobj 1508 0 obj << /Title (Parallel Sparse BLAS V. 2.1) /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 1702 2007-04-16 09:47:33Z sfilippo $) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords() -/CreationDate (D:20070517113452+02'00') +/CreationDate (D:20070522125649+02'00') /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4) >> endobj xref @@ -33422,403 +33422,403 @@ xref 0000000004 00000 f 0000000000 00000 f 0000000009 00000 n -0000009981 00000 n +0000009982 00000 n 0001105464 00000 n 0000000052 00000 n 0000000094 00000 n -0000116263 00000 n +0000116265 00000 n 0001105392 00000 n 0000000139 00000 n 0000000172 00000 n -0000129191 00000 n +0000129193 00000 n 0001105269 00000 n 0000000218 00000 n 0000000255 00000 n -0000135507 00000 n +0000135509 00000 n 0001105195 00000 n 0000000306 00000 n 0000000347 00000 n -0000158431 00000 n +0000158433 00000 n 0001105108 00000 n 0000000398 00000 n 0000000437 00000 n -0000170382 00000 n +0000170384 00000 n 0001105021 00000 n 0000000488 00000 n 0000000532 00000 n -0000185608 00000 n +0000185610 00000 n 0001104947 00000 n 0000000583 00000 n 0000000623 00000 n -0000197556 00000 n +0000197558 00000 n 0001104824 00000 n 0000000669 00000 n 0000000705 00000 n -0000197618 00000 n +0000197620 00000 n 0001104713 00000 n 0000000756 00000 n 0000000804 00000 n -0000207918 00000 n +0000207920 00000 n 0001104652 00000 n 0000000860 00000 n 0000000900 00000 n -0000220053 00000 n +0000220055 00000 n 0001104528 00000 n 0000000951 00000 n 0000001002 00000 n -0000231233 00000 n +0000231235 00000 n 0001104467 00000 n 0000001058 00000 n 0000001098 00000 n -0000242287 00000 n +0000242289 00000 n 0001104380 00000 n 0000001149 00000 n 0000001201 00000 n -0000242477 00000 n +0000242479 00000 n 0001104269 00000 n 0000001252 00000 n 0000001304 00000 n -0000242539 00000 n +0000242541 00000 n 0001104195 00000 n 0000001351 00000 n 0000001403 00000 n -0000255399 00000 n +0000255401 00000 n 0001104108 00000 n 0000001450 00000 n 0000001502 00000 n -0000255526 00000 n +0000255528 00000 n 0001104021 00000 n 0000001549 00000 n 0000001602 00000 n -0000266492 00000 n +0000266494 00000 n 0001103934 00000 n 0000001649 00000 n 0000001702 00000 n -0000266617 00000 n +0000266619 00000 n 0001103847 00000 n 0000001750 00000 n 0000001796 00000 n -0000266742 00000 n +0000266744 00000 n 0001103760 00000 n 0000001844 00000 n 0000001888 00000 n -0000276128 00000 n +0000276130 00000 n 0001103673 00000 n 0000001936 00000 n 0000001980 00000 n -0000276255 00000 n +0000276257 00000 n 0001103599 00000 n 0000002028 00000 n 0000002074 00000 n -0000277233 00000 n +0000277235 00000 n 0001103473 00000 n 0000002120 00000 n 0000002163 00000 n -0000287838 00000 n +0000287840 00000 n 0001103397 00000 n 0000002211 00000 n 0000002245 00000 n -0000300814 00000 n +0000300816 00000 n 0001103306 00000 n 0000002294 00000 n 0000002326 00000 n -0000312916 00000 n +0000312918 00000 n 0001103214 00000 n 0000002375 00000 n 0000002408 00000 n -0000323445 00000 n +0000323447 00000 n 0001103122 00000 n 0000002457 00000 n 0000002490 00000 n -0000331873 00000 n +0000331875 00000 n 0001103030 00000 n 0000002539 00000 n 0000002573 00000 n -0000340841 00000 n +0000340843 00000 n 0001102938 00000 n 0000002622 00000 n 0000002655 00000 n -0000350861 00000 n +0000350863 00000 n 0001102846 00000 n 0000002704 00000 n 0000002738 00000 n -0000359989 00000 n +0000359991 00000 n 0001102754 00000 n 0000002787 00000 n 0000002820 00000 n -0000369871 00000 n +0000369873 00000 n 0001102662 00000 n 0000002869 00000 n 0000002903 00000 n -0000378306 00000 n +0000378308 00000 n 0001102570 00000 n 0000002952 00000 n 0000002985 00000 n -0000390080 00000 n +0000390082 00000 n 0001102478 00000 n 0000003034 00000 n 0000003065 00000 n -0000412312 00000 n +0000412314 00000 n 0001102400 00000 n 0000003114 00000 n 0000003145 00000 n -0000431904 00000 n +0000431906 00000 n 0001102271 00000 n 0000003192 00000 n 0000003236 00000 n -0000441048 00000 n +0000441050 00000 n 0001102192 00000 n 0000003285 00000 n 0000003316 00000 n -0000466740 00000 n +0000466742 00000 n 0001102099 00000 n 0000003365 00000 n 0000003396 00000 n -0000498495 00000 n +0000498497 00000 n 0001102006 00000 n 0000003445 00000 n 0000003478 00000 n -0000517755 00000 n +0000517757 00000 n 0001101927 00000 n 0000003527 00000 n 0000003561 00000 n -0000527313 00000 n +0000527315 00000 n 0001101796 00000 n 0000003608 00000 n 0000003654 00000 n -0000536295 00000 n +0000536297 00000 n 0001101717 00000 n 0000003703 00000 n 0000003735 00000 n -0000559087 00000 n +0000559089 00000 n 0001101624 00000 n 0000003784 00000 n 0000003816 00000 n -0000563909 00000 n +0000563911 00000 n 0001101531 00000 n 0000003865 00000 n 0000003897 00000 n -0000569970 00000 n +0000569972 00000 n 0001101438 00000 n 0000003946 00000 n 0000003978 00000 n -0000574158 00000 n +0000574160 00000 n 0001101345 00000 n 0000004027 00000 n 0000004060 00000 n -0000583034 00000 n +0000583036 00000 n 0001101252 00000 n 0000004109 00000 n 0000004144 00000 n -0000594175 00000 n +0000594177 00000 n 0001101159 00000 n 0000004193 00000 n 0000004225 00000 n -0000604086 00000 n +0000604088 00000 n 0001101066 00000 n 0000004274 00000 n 0000004306 00000 n -0000618170 00000 n +0000618172 00000 n 0001100973 00000 n 0000004355 00000 n 0000004387 00000 n -0000626727 00000 n +0000626729 00000 n 0001100880 00000 n 0000004436 00000 n 0000004469 00000 n -0000633423 00000 n +0000633425 00000 n 0001100787 00000 n 0000004518 00000 n 0000004549 00000 n -0000639366 00000 n +0000639368 00000 n 0001100694 00000 n 0000004598 00000 n 0000004630 00000 n -0000648012 00000 n +0000648014 00000 n 0001100601 00000 n 0000004679 00000 n 0000004711 00000 n -0000654658 00000 n +0000654660 00000 n 0001100508 00000 n 0000004760 00000 n 0000004792 00000 n -0000659550 00000 n +0000659552 00000 n 0001100415 00000 n 0000004841 00000 n 0000004874 00000 n -0000666234 00000 n +0000666236 00000 n 0001100322 00000 n 0000004923 00000 n 0000004954 00000 n -0000676408 00000 n +0000676410 00000 n 0001100229 00000 n 0000005003 00000 n 0000005047 00000 n -0000687536 00000 n +0000687538 00000 n 0001100136 00000 n 0000005097 00000 n 0000005141 00000 n -0000693928 00000 n +0000693930 00000 n 0001100043 00000 n 0000005191 00000 n 0000005233 00000 n -0000700269 00000 n +0000700271 00000 n 0001099950 00000 n 0000005283 00000 n 0000005324 00000 n -0000709559 00000 n +0000709561 00000 n 0001099857 00000 n 0000005374 00000 n 0000005413 00000 n -0000721768 00000 n +0000721770 00000 n 0001099778 00000 n 0000005463 00000 n 0000005496 00000 n -0000722659 00000 n +0000722661 00000 n 0001099647 00000 n 0000005543 00000 n 0000005594 00000 n -0000727536 00000 n +0000727538 00000 n 0001099568 00000 n 0000005644 00000 n 0000005675 00000 n -0000734401 00000 n +0000734403 00000 n 0001099475 00000 n 0000005725 00000 n 0000005756 00000 n -0000740599 00000 n +0000740601 00000 n 0001099382 00000 n 0000005806 00000 n 0000005837 00000 n -0000744581 00000 n +0000744583 00000 n 0001099289 00000 n 0000005887 00000 n 0000005928 00000 n -0000749285 00000 n +0000749287 00000 n 0001099196 00000 n 0000005978 00000 n 0000006016 00000 n -0000751743 00000 n +0000751745 00000 n 0001099103 00000 n 0000006066 00000 n 0000006098 00000 n -0000754610 00000 n +0000754612 00000 n 0001099010 00000 n 0000006148 00000 n 0000006182 00000 n -0000757158 00000 n +0000757160 00000 n 0001098917 00000 n 0000006232 00000 n 0000006264 00000 n -0000763237 00000 n +0000763239 00000 n 0001098824 00000 n 0000006314 00000 n 0000006346 00000 n -0000770078 00000 n +0000770080 00000 n 0001098731 00000 n 0000006396 00000 n 0000006426 00000 n -0000777126 00000 n +0000777128 00000 n 0001098638 00000 n 0000006476 00000 n 0000006506 00000 n -0000784197 00000 n +0000784199 00000 n 0001098545 00000 n 0000006556 00000 n 0000006586 00000 n -0000791252 00000 n +0000791254 00000 n 0001098452 00000 n 0000006636 00000 n 0000006666 00000 n -0000798332 00000 n +0000798334 00000 n 0001098359 00000 n 0000006716 00000 n 0000006746 00000 n -0000805058 00000 n +0000805060 00000 n 0001098266 00000 n 0000006796 00000 n 0000006826 00000 n -0000811662 00000 n +0000811664 00000 n 0001098187 00000 n 0000006876 00000 n 0000006906 00000 n -0000820104 00000 n +0000820106 00000 n 0001098057 00000 n 0000006953 00000 n 0000006989 00000 n -0000830564 00000 n +0000830566 00000 n 0001097978 00000 n 0000007039 00000 n 0000007073 00000 n -0000832850 00000 n +0000832852 00000 n 0001097885 00000 n 0000007123 00000 n 0000007155 00000 n -0000835441 00000 n +0000835443 00000 n 0001097792 00000 n 0000007205 00000 n 0000007251 00000 n -0000838374 00000 n +0000838376 00000 n 0001097699 00000 n 0000007301 00000 n 0000007344 00000 n -0000841203 00000 n +0000841205 00000 n 0001097620 00000 n 0000007394 00000 n 0000007428 00000 n -0000842485 00000 n +0000842487 00000 n 0001097490 00000 n 0000007475 00000 n 0000007506 00000 n -0000849547 00000 n +0000849549 00000 n 0001097411 00000 n 0000007556 00000 n 0000007586 00000 n -0000857413 00000 n +0000857415 00000 n 0001097318 00000 n 0000007636 00000 n 0000007667 00000 n -0000863275 00000 n +0000863277 00000 n 0001097225 00000 n 0000007717 00000 n 0000007754 00000 n -0000869752 00000 n +0000869754 00000 n 0001097146 00000 n 0000007804 00000 n 0000007842 00000 n -0000871786 00000 n +0000871788 00000 n 0001097016 00000 n 0000007890 00000 n 0000007936 00000 n 0000879289 00000 n 0001096937 00000 n 0000007986 00000 n -0000008020 00000 n +0000008021 00000 n 0000886790 00000 n 0001096844 00000 n -0000008070 00000 n -0000008104 00000 n +0000008071 00000 n +0000008105 00000 n 0000895032 00000 n 0001096751 00000 n -0000008154 00000 n -0000008189 00000 n +0000008155 00000 n +0000008190 00000 n 0000898393 00000 n 0001096672 00000 n -0000008239 00000 n -0000008279 00000 n +0000008240 00000 n +0000008280 00000 n 0000899779 00000 n 0001096556 00000 n -0000008327 00000 n -0000008367 00000 n +0000008328 00000 n +0000008368 00000 n 0000910311 00000 n 0001096491 00000 n -0000008417 00000 n -0000008451 00000 n -0000009733 00000 n -0000010042 00000 n -0000008503 00000 n -0000009855 00000 n -0000009918 00000 n +0000008418 00000 n +0000008452 00000 n +0000009734 00000 n +0000010043 00000 n +0000008504 00000 n +0000009856 00000 n +0000009919 00000 n 0001092136 00000 n 0001079300 00000 n 0001091972 00000 n @@ -33832,134 +33832,134 @@ xref 0001036354 00000 n 0001054057 00000 n 0001093317 00000 n -0000010615 00000 n -0000010429 00000 n -0000010152 00000 n -0000010551 00000 n -0000047076 00000 n -0000040333 00000 n -0000010686 00000 n -0000046951 00000 n -0000047014 00000 n -0000040779 00000 n -0000040934 00000 n -0000041088 00000 n -0000041249 00000 n -0000041410 00000 n -0000041570 00000 n -0000041731 00000 n -0000041886 00000 n -0000042046 00000 n -0000042212 00000 n -0000042373 00000 n -0000042538 00000 n -0000042699 00000 n -0000042860 00000 n -0000043017 00000 n -0000043174 00000 n -0000043331 00000 n -0000043488 00000 n -0000043646 00000 n -0000043804 00000 n -0000043961 00000 n -0000044119 00000 n -0000044274 00000 n -0000044432 00000 n -0000044589 00000 n -0000044747 00000 n -0000044904 00000 n -0000045062 00000 n -0000045220 00000 n -0000045378 00000 n -0000045536 00000 n -0000045694 00000 n -0000045851 00000 n -0000046009 00000 n -0000046166 00000 n -0000046321 00000 n -0000046478 00000 n -0000046636 00000 n -0000046794 00000 n -0000092018 00000 n -0000084180 00000 n -0000047173 00000 n -0000091954 00000 n -0000084682 00000 n -0000084838 00000 n -0000084996 00000 n -0000085153 00000 n -0000085311 00000 n -0000085469 00000 n -0000085627 00000 n -0000085784 00000 n -0000085941 00000 n -0000086099 00000 n -0000086257 00000 n -0000086415 00000 n -0000086573 00000 n -0000086731 00000 n -0000086889 00000 n -0000087046 00000 n -0000087202 00000 n -0000087359 00000 n -0000087516 00000 n -0000087674 00000 n -0000087833 00000 n -0000087992 00000 n -0000088151 00000 n -0000088310 00000 n -0000088466 00000 n -0000088623 00000 n -0000088782 00000 n -0000088941 00000 n -0000089100 00000 n -0000089259 00000 n -0000089416 00000 n -0000089575 00000 n -0000089734 00000 n -0000089893 00000 n -0000090052 00000 n -0000090211 00000 n -0000090370 00000 n -0000090529 00000 n -0000090687 00000 n -0000090845 00000 n -0000091003 00000 n -0000091159 00000 n -0000091318 00000 n -0000091477 00000 n -0000091636 00000 n -0000091795 00000 n -0000102992 00000 n -0000100807 00000 n -0000092102 00000 n -0000102929 00000 n -0000101037 00000 n -0000101191 00000 n -0000101350 00000 n -0000101508 00000 n -0000101667 00000 n -0000101825 00000 n -0000101981 00000 n -0000102137 00000 n -0000102296 00000 n -0000102455 00000 n -0000102614 00000 n -0000102770 00000 n -0000103540 00000 n -0000103354 00000 n -0000103076 00000 n -0000103476 00000 n -0000116325 00000 n -0000114971 00000 n -0000103611 00000 n -0000115161 00000 n -0000115319 00000 n -0000115479 00000 n -0000115637 00000 n -0000115793 00000 n -0000115950 00000 n -0000116106 00000 n +0000010616 00000 n +0000010430 00000 n +0000010153 00000 n +0000010552 00000 n +0000047077 00000 n +0000040334 00000 n +0000010687 00000 n +0000046952 00000 n +0000047015 00000 n +0000040780 00000 n +0000040935 00000 n +0000041089 00000 n +0000041250 00000 n +0000041411 00000 n +0000041571 00000 n +0000041732 00000 n +0000041887 00000 n +0000042047 00000 n +0000042213 00000 n +0000042374 00000 n +0000042539 00000 n +0000042700 00000 n +0000042861 00000 n +0000043018 00000 n +0000043175 00000 n +0000043332 00000 n +0000043489 00000 n +0000043647 00000 n +0000043805 00000 n +0000043962 00000 n +0000044120 00000 n +0000044275 00000 n +0000044433 00000 n +0000044590 00000 n +0000044748 00000 n +0000044905 00000 n +0000045063 00000 n +0000045221 00000 n +0000045379 00000 n +0000045537 00000 n +0000045695 00000 n +0000045852 00000 n +0000046010 00000 n +0000046167 00000 n +0000046322 00000 n +0000046479 00000 n +0000046637 00000 n +0000046795 00000 n +0000092019 00000 n +0000084181 00000 n +0000047174 00000 n +0000091955 00000 n +0000084683 00000 n +0000084839 00000 n +0000084997 00000 n +0000085154 00000 n +0000085312 00000 n +0000085470 00000 n +0000085628 00000 n +0000085785 00000 n +0000085942 00000 n +0000086100 00000 n +0000086258 00000 n +0000086416 00000 n +0000086574 00000 n +0000086732 00000 n +0000086890 00000 n +0000087047 00000 n +0000087203 00000 n +0000087360 00000 n +0000087517 00000 n +0000087675 00000 n +0000087834 00000 n +0000087993 00000 n +0000088152 00000 n +0000088311 00000 n +0000088467 00000 n +0000088624 00000 n +0000088783 00000 n +0000088942 00000 n +0000089101 00000 n +0000089260 00000 n +0000089417 00000 n +0000089576 00000 n +0000089735 00000 n +0000089894 00000 n +0000090053 00000 n +0000090212 00000 n +0000090371 00000 n +0000090530 00000 n +0000090688 00000 n +0000090846 00000 n +0000091004 00000 n +0000091160 00000 n +0000091319 00000 n +0000091478 00000 n +0000091637 00000 n +0000091796 00000 n +0000102994 00000 n +0000100808 00000 n +0000092103 00000 n +0000102931 00000 n +0000101038 00000 n +0000101192 00000 n +0000101351 00000 n +0000101509 00000 n +0000101668 00000 n +0000101826 00000 n +0000101982 00000 n +0000102139 00000 n +0000102298 00000 n +0000102457 00000 n +0000102616 00000 n +0000102772 00000 n +0000103542 00000 n +0000103356 00000 n +0000103078 00000 n +0000103478 00000 n +0000116327 00000 n +0000114973 00000 n +0000103613 00000 n +0000115163 00000 n +0000115321 00000 n +0000115481 00000 n +0000115639 00000 n +0000115795 00000 n +0000115952 00000 n +0000116108 00000 n 0001035195 00000 n 0001019070 00000 n 0001035031 00000 n @@ -33971,847 +33971,847 @@ xref 0000931066 00000 n 0000931130 00000 n 0000931194 00000 n -0000133449 00000 n -0000129318 00000 n -0000128239 00000 n -0000116422 00000 n +0000133451 00000 n +0000129320 00000 n +0000128241 00000 n +0000116424 00000 n 0001018096 00000 n 0001007230 00000 n 0001017932 00000 n -0000128413 00000 n -0000128568 00000 n -0000128723 00000 n +0000128415 00000 n +0000128570 00000 n +0000128725 00000 n 0001005987 00000 n 0000993078 00000 n 0001005823 00000 n -0000128878 00000 n -0000129035 00000 n +0000128880 00000 n +0000129037 00000 n 0000992676 00000 n 0000989686 00000 n 0000992515 00000 n 0000989366 00000 n 0000986611 00000 n 0000989205 00000 n -0000129254 00000 n +0000129256 00000 n 0000985572 00000 n 0000976066 00000 n 0000985410 00000 n -0000135443 00000 n +0000135445 00000 n 0000941302 00000 n 0000941628 00000 n -0000135569 00000 n -0000133327 00000 n -0000129479 00000 n -0000135380 00000 n +0000135571 00000 n +0000133329 00000 n +0000129481 00000 n +0000135382 00000 n 0000975432 00000 n 0000969920 00000 n 0000975269 00000 n 0000968949 00000 n 0000964204 00000 n 0000968786 00000 n -0000135165 00000 n -0000135284 00000 n -0000135358 00000 n -0000144057 00000 n -0000146584 00000 n -0000143907 00000 n -0000135746 00000 n -0000146456 00000 n -0000146141 00000 n -0000146298 00000 n -0000146520 00000 n -0000145879 00000 n -0000145998 00000 n -0000146045 00000 n -0000146119 00000 n +0000135167 00000 n +0000135286 00000 n +0000135360 00000 n +0000144059 00000 n +0000146586 00000 n +0000143909 00000 n +0000135748 00000 n +0000146458 00000 n +0000146143 00000 n +0000146300 00000 n +0000146522 00000 n +0000145881 00000 n +0000146000 00000 n +0000146047 00000 n +0000146121 00000 n 0000931388 00000 n 0000931711 00000 n -0000158493 00000 n -0000157906 00000 n -0000146748 00000 n -0000158368 00000 n -0000158056 00000 n -0000158212 00000 n -0000170955 00000 n -0000170196 00000 n -0000158616 00000 n -0000170318 00000 n +0000158495 00000 n +0000157908 00000 n +0000146750 00000 n +0000158370 00000 n +0000158058 00000 n +0000158214 00000 n +0000170957 00000 n +0000170198 00000 n +0000158618 00000 n +0000170320 00000 n 0000963893 00000 n 0000961111 00000 n 0000963729 00000 n -0000170445 00000 n -0000170509 00000 n -0000170572 00000 n -0000170636 00000 n -0000170700 00000 n -0000170764 00000 n -0000170828 00000 n -0000170891 00000 n -0000182276 00000 n -0000181274 00000 n -0000171090 00000 n -0000181396 00000 n -0000181459 00000 n -0000181522 00000 n -0000181585 00000 n -0000181648 00000 n -0000181711 00000 n -0000181774 00000 n -0000181837 00000 n -0000181900 00000 n -0000181963 00000 n -0000182026 00000 n -0000182089 00000 n -0000182152 00000 n -0000182215 00000 n +0000170447 00000 n +0000170511 00000 n +0000170574 00000 n +0000170638 00000 n +0000170702 00000 n +0000170766 00000 n +0000170830 00000 n +0000170893 00000 n +0000182278 00000 n +0000181276 00000 n +0000171092 00000 n +0000181398 00000 n +0000181461 00000 n +0000181524 00000 n +0000181587 00000 n +0000181650 00000 n +0000181713 00000 n +0000181776 00000 n +0000181839 00000 n +0000181902 00000 n +0000181965 00000 n +0000182028 00000 n +0000182091 00000 n +0000182154 00000 n +0000182217 00000 n 0001093553 00000 n -0000185671 00000 n -0000185422 00000 n -0000182360 00000 n -0000185544 00000 n -0000198374 00000 n -0000197026 00000 n -0000185794 00000 n -0000197493 00000 n -0000197680 00000 n -0000197176 00000 n -0000197332 00000 n -0000197744 00000 n -0000197807 00000 n -0000197870 00000 n -0000197933 00000 n -0000197996 00000 n -0000198059 00000 n -0000198122 00000 n -0000198185 00000 n -0000198248 00000 n -0000198311 00000 n -0000207981 00000 n -0000207540 00000 n -0000198484 00000 n -0000207662 00000 n -0000207726 00000 n -0000207790 00000 n -0000207854 00000 n -0000220179 00000 n -0000219868 00000 n -0000208091 00000 n -0000219990 00000 n -0000220115 00000 n -0000231296 00000 n -0000230552 00000 n -0000220289 00000 n -0000230849 00000 n -0000230913 00000 n -0000230694 00000 n -0000230977 00000 n -0000231041 00000 n -0000231105 00000 n -0000231169 00000 n -0000242664 00000 n -0000241927 00000 n -0000231419 00000 n -0000242224 00000 n -0000242349 00000 n -0000242069 00000 n +0000185673 00000 n +0000185424 00000 n +0000182362 00000 n +0000185546 00000 n +0000198376 00000 n +0000197028 00000 n +0000185796 00000 n +0000197495 00000 n +0000197682 00000 n +0000197178 00000 n +0000197334 00000 n +0000197746 00000 n +0000197809 00000 n +0000197872 00000 n +0000197935 00000 n +0000197998 00000 n +0000198061 00000 n +0000198124 00000 n +0000198187 00000 n +0000198250 00000 n +0000198313 00000 n +0000207983 00000 n +0000207542 00000 n +0000198486 00000 n +0000207664 00000 n +0000207728 00000 n +0000207792 00000 n +0000207856 00000 n +0000220181 00000 n +0000219870 00000 n +0000208093 00000 n +0000219992 00000 n +0000220117 00000 n +0000231298 00000 n +0000230554 00000 n +0000220291 00000 n +0000230851 00000 n +0000230915 00000 n +0000230696 00000 n +0000230979 00000 n +0000231043 00000 n +0000231107 00000 n +0000231171 00000 n +0000242666 00000 n +0000241929 00000 n +0000231421 00000 n +0000242226 00000 n +0000242351 00000 n +0000242071 00000 n 0000960177 00000 n 0000952368 00000 n 0000960014 00000 n -0000242413 00000 n -0000242601 00000 n +0000242415 00000 n +0000242603 00000 n 0001093671 00000 n -0000255653 00000 n -0000254385 00000 n -0000242800 00000 n -0000255335 00000 n -0000254559 00000 n -0000254714 00000 n -0000255462 00000 n -0000254870 00000 n -0000255025 00000 n -0000255589 00000 n -0000255180 00000 n -0000266867 00000 n -0000265811 00000 n -0000255802 00000 n -0000266429 00000 n -0000266554 00000 n -0000265969 00000 n -0000266679 00000 n -0000266124 00000 n -0000266804 00000 n -0000266277 00000 n -0000276510 00000 n -0000275608 00000 n -0000266990 00000 n -0000276064 00000 n -0000276191 00000 n -0000275758 00000 n -0000276318 00000 n -0000275911 00000 n -0000276382 00000 n -0000276446 00000 n -0000277295 00000 n -0000277048 00000 n -0000276633 00000 n -0000277170 00000 n -0000288028 00000 n -0000286833 00000 n -0000277379 00000 n -0000287774 00000 n -0000287901 00000 n -0000287964 00000 n -0000287007 00000 n -0000287159 00000 n -0000287313 00000 n -0000287466 00000 n -0000287619 00000 n -0000290540 00000 n -0000290181 00000 n -0000288177 00000 n -0000290477 00000 n -0000290323 00000 n +0000255655 00000 n +0000254387 00000 n +0000242802 00000 n +0000255337 00000 n +0000254561 00000 n +0000254716 00000 n +0000255464 00000 n +0000254872 00000 n +0000255027 00000 n +0000255591 00000 n +0000255182 00000 n +0000266869 00000 n +0000265813 00000 n +0000255804 00000 n +0000266431 00000 n +0000266556 00000 n +0000265971 00000 n +0000266681 00000 n +0000266126 00000 n +0000266806 00000 n +0000266279 00000 n +0000276512 00000 n +0000275610 00000 n +0000266992 00000 n +0000276066 00000 n +0000276193 00000 n +0000275760 00000 n +0000276320 00000 n +0000275913 00000 n +0000276384 00000 n +0000276448 00000 n +0000277297 00000 n +0000277050 00000 n +0000276635 00000 n +0000277172 00000 n +0000288030 00000 n +0000286835 00000 n +0000277381 00000 n +0000287776 00000 n +0000287903 00000 n +0000287966 00000 n +0000287009 00000 n +0000287161 00000 n +0000287315 00000 n +0000287468 00000 n +0000287621 00000 n +0000290542 00000 n +0000290183 00000 n +0000288179 00000 n +0000290479 00000 n +0000290325 00000 n 0001093789 00000 n -0000301006 00000 n -0000299968 00000 n -0000290637 00000 n -0000300750 00000 n -0000300878 00000 n -0000300942 00000 n -0000300134 00000 n -0000300288 00000 n -0000300442 00000 n -0000300597 00000 n -0000302239 00000 n -0000302054 00000 n -0000301168 00000 n -0000302176 00000 n -0000313106 00000 n -0000312069 00000 n -0000302323 00000 n -0000312852 00000 n -0000312979 00000 n -0000313042 00000 n -0000312235 00000 n -0000312389 00000 n -0000312543 00000 n -0000312698 00000 n -0000314339 00000 n -0000314154 00000 n -0000313268 00000 n -0000314276 00000 n -0000323637 00000 n -0000322922 00000 n -0000314423 00000 n -0000323381 00000 n -0000323509 00000 n -0000323573 00000 n -0000323072 00000 n -0000323226 00000 n -0000332062 00000 n -0000331354 00000 n -0000323799 00000 n -0000331810 00000 n -0000331936 00000 n -0000331999 00000 n -0000331504 00000 n -0000331655 00000 n +0000301008 00000 n +0000299970 00000 n +0000290639 00000 n +0000300752 00000 n +0000300880 00000 n +0000300944 00000 n +0000300136 00000 n +0000300290 00000 n +0000300444 00000 n +0000300599 00000 n +0000302241 00000 n +0000302056 00000 n +0000301170 00000 n +0000302178 00000 n +0000313108 00000 n +0000312071 00000 n +0000302325 00000 n +0000312854 00000 n +0000312981 00000 n +0000313044 00000 n +0000312237 00000 n +0000312391 00000 n +0000312545 00000 n +0000312700 00000 n +0000314341 00000 n +0000314156 00000 n +0000313270 00000 n +0000314278 00000 n +0000323639 00000 n +0000322924 00000 n +0000314425 00000 n +0000323383 00000 n +0000323511 00000 n +0000323575 00000 n +0000323074 00000 n +0000323228 00000 n +0000332064 00000 n +0000331356 00000 n +0000323801 00000 n +0000331812 00000 n +0000331938 00000 n +0000332001 00000 n +0000331506 00000 n +0000331657 00000 n 0001093907 00000 n -0000341033 00000 n -0000340318 00000 n -0000332224 00000 n -0000340777 00000 n -0000340905 00000 n -0000340969 00000 n -0000340468 00000 n -0000340622 00000 n -0000351051 00000 n -0000350342 00000 n -0000341207 00000 n -0000350798 00000 n -0000350924 00000 n -0000350987 00000 n -0000350492 00000 n -0000350643 00000 n -0000360180 00000 n -0000359467 00000 n -0000351225 00000 n -0000359925 00000 n -0000360053 00000 n -0000360117 00000 n -0000359617 00000 n -0000359771 00000 n -0000370061 00000 n -0000369352 00000 n -0000360342 00000 n -0000369808 00000 n -0000369934 00000 n -0000369997 00000 n -0000369502 00000 n -0000369653 00000 n -0000378498 00000 n -0000377784 00000 n -0000370223 00000 n -0000378242 00000 n +0000341035 00000 n +0000340320 00000 n +0000332226 00000 n +0000340779 00000 n +0000340907 00000 n +0000340971 00000 n +0000340470 00000 n +0000340624 00000 n +0000351053 00000 n +0000350344 00000 n +0000341209 00000 n +0000350800 00000 n +0000350926 00000 n +0000350989 00000 n +0000350494 00000 n +0000350645 00000 n +0000360182 00000 n +0000359469 00000 n +0000351227 00000 n +0000359927 00000 n +0000360055 00000 n +0000360119 00000 n +0000359619 00000 n +0000359773 00000 n +0000370063 00000 n +0000369354 00000 n +0000360344 00000 n +0000369810 00000 n +0000369936 00000 n +0000369999 00000 n +0000369504 00000 n +0000369655 00000 n +0000378500 00000 n +0000377786 00000 n +0000370225 00000 n +0000378244 00000 n 0000951928 00000 n 0000949612 00000 n 0000951767 00000 n -0000378370 00000 n -0000378434 00000 n -0000377934 00000 n -0000378087 00000 n -0000390461 00000 n -0000389397 00000 n -0000378660 00000 n -0000390017 00000 n -0000390143 00000 n -0000390207 00000 n -0000390271 00000 n -0000390335 00000 n -0000390398 00000 n -0000389555 00000 n -0000389710 00000 n -0000389862 00000 n +0000378372 00000 n +0000378436 00000 n +0000377936 00000 n +0000378089 00000 n +0000390463 00000 n +0000389399 00000 n +0000378662 00000 n +0000390019 00000 n +0000390145 00000 n +0000390209 00000 n +0000390273 00000 n +0000390337 00000 n +0000390400 00000 n +0000389557 00000 n +0000389712 00000 n +0000389864 00000 n 0001094025 00000 n -0000401120 00000 n -0000399776 00000 n -0000390635 00000 n -0000401056 00000 n -0000399966 00000 n -0000400121 00000 n -0000400275 00000 n -0000400430 00000 n -0000400587 00000 n -0000400744 00000 n -0000400901 00000 n -0000412501 00000 n -0000411952 00000 n -0000401230 00000 n -0000412249 00000 n -0000412375 00000 n -0000412438 00000 n -0000412094 00000 n -0000424457 00000 n -0000423443 00000 n -0000412675 00000 n -0000424393 00000 n -0000423617 00000 n -0000423773 00000 n -0000423928 00000 n -0000424083 00000 n -0000424238 00000 n -0000430200 00000 n -0000429677 00000 n -0000424593 00000 n -0000430137 00000 n -0000429827 00000 n -0000429982 00000 n -0000431968 00000 n -0000431542 00000 n -0000430310 00000 n -0000431840 00000 n -0000431684 00000 n -0000441237 00000 n -0000440363 00000 n -0000432052 00000 n -0000440985 00000 n -0000441111 00000 n -0000441174 00000 n -0000440521 00000 n -0000440675 00000 n -0000440830 00000 n +0000401122 00000 n +0000399778 00000 n +0000390637 00000 n +0000401058 00000 n +0000399968 00000 n +0000400123 00000 n +0000400277 00000 n +0000400432 00000 n +0000400589 00000 n +0000400746 00000 n +0000400903 00000 n +0000412503 00000 n +0000411954 00000 n +0000401232 00000 n +0000412251 00000 n +0000412377 00000 n +0000412440 00000 n +0000412096 00000 n +0000424459 00000 n +0000423445 00000 n +0000412677 00000 n +0000424395 00000 n +0000423619 00000 n +0000423775 00000 n +0000423930 00000 n +0000424085 00000 n +0000424240 00000 n +0000430202 00000 n +0000429679 00000 n +0000424595 00000 n +0000430139 00000 n +0000429829 00000 n +0000429984 00000 n +0000431970 00000 n +0000431544 00000 n +0000430312 00000 n +0000431842 00000 n +0000431686 00000 n +0000441239 00000 n +0000440365 00000 n +0000432054 00000 n +0000440987 00000 n +0000441113 00000 n +0000441176 00000 n +0000440523 00000 n +0000440677 00000 n +0000440832 00000 n 0001094143 00000 n -0000447140 00000 n -0000451984 00000 n -0000446990 00000 n -0000441386 00000 n -0000451793 00000 n -0000451483 00000 n -0000451857 00000 n -0000451920 00000 n -0000451638 00000 n -0000451148 00000 n -0000451267 00000 n -0000451314 00000 n -0000451388 00000 n -0000451461 00000 n -0000455891 00000 n -0000455706 00000 n -0000452135 00000 n -0000455828 00000 n +0000447142 00000 n +0000451986 00000 n +0000446992 00000 n +0000441388 00000 n +0000451795 00000 n +0000451485 00000 n +0000451859 00000 n +0000451922 00000 n +0000451640 00000 n +0000451150 00000 n +0000451269 00000 n +0000451316 00000 n +0000451390 00000 n +0000451463 00000 n +0000455893 00000 n +0000455708 00000 n +0000452137 00000 n +0000455830 00000 n 0000948735 00000 n 0000942051 00000 n 0000948573 00000 n -0000466932 00000 n -0000466216 00000 n -0000455975 00000 n -0000466676 00000 n -0000466804 00000 n -0000466868 00000 n -0000466366 00000 n -0000466521 00000 n -0000481831 00000 n -0000476289 00000 n -0000475289 00000 n -0000467094 00000 n -0000475911 00000 n -0000475447 00000 n -0000475974 00000 n -0000476037 00000 n -0000476100 00000 n -0000476163 00000 n -0000476226 00000 n -0000475602 00000 n -0000475757 00000 n -0000486321 00000 n -0000480915 00000 n -0000480729 00000 n -0000476425 00000 n -0000480851 00000 n -0000486384 00000 n -0000481709 00000 n -0000480999 00000 n -0000486258 00000 n +0000466934 00000 n +0000466218 00000 n +0000455977 00000 n +0000466678 00000 n +0000466806 00000 n +0000466870 00000 n +0000466368 00000 n +0000466523 00000 n +0000481833 00000 n +0000476291 00000 n +0000475291 00000 n +0000467096 00000 n +0000475913 00000 n +0000475449 00000 n +0000475976 00000 n +0000476039 00000 n +0000476102 00000 n +0000476165 00000 n +0000476228 00000 n +0000475604 00000 n +0000475759 00000 n +0000486323 00000 n +0000480917 00000 n +0000480731 00000 n +0000476427 00000 n +0000480853 00000 n +0000486386 00000 n +0000481711 00000 n +0000481001 00000 n +0000486260 00000 n 0001094261 00000 n -0000485923 00000 n -0000486042 00000 n -0000486089 00000 n -0000486163 00000 n -0000486236 00000 n -0000498751 00000 n -0000497971 00000 n -0000486483 00000 n -0000498431 00000 n -0000498559 00000 n -0000498623 00000 n -0000498687 00000 n -0000498121 00000 n -0000498276 00000 n -0000506446 00000 n -0000506261 00000 n -0000498938 00000 n -0000506383 00000 n -0000518011 00000 n -0000517396 00000 n -0000506556 00000 n -0000517691 00000 n -0000517819 00000 n -0000517883 00000 n -0000517947 00000 n -0000517538 00000 n -0000526589 00000 n -0000526230 00000 n -0000518198 00000 n -0000526526 00000 n -0000526372 00000 n -0000527377 00000 n -0000527127 00000 n -0000526699 00000 n -0000527249 00000 n -0000536421 00000 n -0000536110 00000 n -0000527461 00000 n -0000536232 00000 n -0000536358 00000 n +0000485925 00000 n +0000486044 00000 n +0000486091 00000 n +0000486165 00000 n +0000486238 00000 n +0000498753 00000 n +0000497973 00000 n +0000486485 00000 n +0000498433 00000 n +0000498561 00000 n +0000498625 00000 n +0000498689 00000 n +0000498123 00000 n +0000498278 00000 n +0000506448 00000 n +0000506263 00000 n +0000498940 00000 n +0000506385 00000 n +0000518013 00000 n +0000517398 00000 n +0000506558 00000 n +0000517693 00000 n +0000517821 00000 n +0000517885 00000 n +0000517949 00000 n +0000517540 00000 n +0000526591 00000 n +0000526232 00000 n +0000518200 00000 n +0000526528 00000 n +0000526374 00000 n +0000527379 00000 n +0000527129 00000 n +0000526701 00000 n +0000527251 00000 n +0000536423 00000 n +0000536112 00000 n +0000527463 00000 n +0000536234 00000 n +0000536360 00000 n 0001094379 00000 n -0000547571 00000 n -0000547076 00000 n -0000536570 00000 n -0000547376 00000 n -0000547220 00000 n -0000547441 00000 n -0000547506 00000 n -0000550821 00000 n -0000550566 00000 n -0000547707 00000 n -0000550691 00000 n -0000550756 00000 n -0000559416 00000 n -0000558720 00000 n -0000550945 00000 n -0000559021 00000 n -0000559152 00000 n -0000558866 00000 n -0000559218 00000 n -0000559284 00000 n -0000559350 00000 n -0000564168 00000 n -0000563542 00000 n -0000559553 00000 n -0000563844 00000 n -0000563973 00000 n -0000563688 00000 n -0000564038 00000 n -0000564103 00000 n -0000570101 00000 n -0000569437 00000 n -0000564292 00000 n -0000569904 00000 n -0000570035 00000 n -0000569592 00000 n -0000569748 00000 n -0000574287 00000 n -0000573790 00000 n -0000570225 00000 n -0000574093 00000 n -0000574222 00000 n -0000573937 00000 n +0000547573 00000 n +0000547078 00000 n +0000536572 00000 n +0000547378 00000 n +0000547222 00000 n +0000547443 00000 n +0000547508 00000 n +0000550823 00000 n +0000550568 00000 n +0000547709 00000 n +0000550693 00000 n +0000550758 00000 n +0000559418 00000 n +0000558722 00000 n +0000550947 00000 n +0000559023 00000 n +0000559154 00000 n +0000558868 00000 n +0000559220 00000 n +0000559286 00000 n +0000559352 00000 n +0000564170 00000 n +0000563544 00000 n +0000559555 00000 n +0000563846 00000 n +0000563975 00000 n +0000563690 00000 n +0000564040 00000 n +0000564105 00000 n +0000570103 00000 n +0000569439 00000 n +0000564294 00000 n +0000569906 00000 n +0000570037 00000 n +0000569594 00000 n +0000569750 00000 n +0000574289 00000 n +0000573792 00000 n +0000570227 00000 n +0000574095 00000 n +0000574224 00000 n +0000573939 00000 n 0001094501 00000 n -0000583165 00000 n -0000582502 00000 n -0000574411 00000 n -0000582968 00000 n -0000583099 00000 n -0000582658 00000 n -0000582812 00000 n -0000586166 00000 n -0000585780 00000 n -0000583315 00000 n -0000585906 00000 n -0000585971 00000 n -0000586036 00000 n -0000586101 00000 n -0000594569 00000 n -0000593643 00000 n -0000586264 00000 n -0000594109 00000 n -0000594240 00000 n -0000593799 00000 n -0000593955 00000 n -0000594306 00000 n -0000594372 00000 n -0000594438 00000 n -0000594503 00000 n -0000604215 00000 n -0000603397 00000 n -0000594706 00000 n -0000604021 00000 n -0000604150 00000 n -0000603562 00000 n -0000603716 00000 n -0000603867 00000 n -0000609229 00000 n -0000608641 00000 n -0000604352 00000 n -0000608767 00000 n -0000608833 00000 n -0000608899 00000 n -0000608965 00000 n -0000609031 00000 n -0000609097 00000 n -0000609163 00000 n -0000618493 00000 n -0000617640 00000 n -0000609340 00000 n -0000618105 00000 n -0000618234 00000 n -0000617796 00000 n -0000617952 00000 n -0000618299 00000 n -0000618364 00000 n -0000618428 00000 n +0000583167 00000 n +0000582504 00000 n +0000574413 00000 n +0000582970 00000 n +0000583101 00000 n +0000582660 00000 n +0000582814 00000 n +0000586168 00000 n +0000585782 00000 n +0000583317 00000 n +0000585908 00000 n +0000585973 00000 n +0000586038 00000 n +0000586103 00000 n +0000594571 00000 n +0000593645 00000 n +0000586266 00000 n +0000594111 00000 n +0000594242 00000 n +0000593801 00000 n +0000593957 00000 n +0000594308 00000 n +0000594374 00000 n +0000594440 00000 n +0000594505 00000 n +0000604217 00000 n +0000603399 00000 n +0000594708 00000 n +0000604023 00000 n +0000604152 00000 n +0000603564 00000 n +0000603718 00000 n +0000603869 00000 n +0000609231 00000 n +0000608643 00000 n +0000604354 00000 n +0000608769 00000 n +0000608835 00000 n +0000608901 00000 n +0000608967 00000 n +0000609033 00000 n +0000609099 00000 n +0000609165 00000 n +0000618495 00000 n +0000617642 00000 n +0000609342 00000 n +0000618107 00000 n +0000618236 00000 n +0000617798 00000 n +0000617954 00000 n +0000618301 00000 n +0000618366 00000 n +0000618430 00000 n 0001094626 00000 n -0000621427 00000 n -0000621037 00000 n -0000618617 00000 n -0000621163 00000 n -0000621229 00000 n -0000621295 00000 n -0000621361 00000 n -0000626856 00000 n -0000626197 00000 n -0000621512 00000 n -0000626662 00000 n -0000626791 00000 n -0000626353 00000 n -0000626506 00000 n -0000633686 00000 n -0000632891 00000 n -0000626980 00000 n -0000633357 00000 n -0000633488 00000 n -0000633047 00000 n -0000633201 00000 n -0000633554 00000 n -0000633620 00000 n -0000639495 00000 n -0000639000 00000 n -0000633810 00000 n -0000639301 00000 n -0000639430 00000 n -0000639147 00000 n -0000648143 00000 n -0000647643 00000 n -0000639632 00000 n -0000647946 00000 n -0000648077 00000 n -0000647790 00000 n -0000649893 00000 n -0000649507 00000 n -0000648280 00000 n -0000649633 00000 n -0000649698 00000 n -0000649763 00000 n -0000649828 00000 n +0000621429 00000 n +0000621039 00000 n +0000618619 00000 n +0000621165 00000 n +0000621231 00000 n +0000621297 00000 n +0000621363 00000 n +0000626858 00000 n +0000626199 00000 n +0000621514 00000 n +0000626664 00000 n +0000626793 00000 n +0000626355 00000 n +0000626508 00000 n +0000633688 00000 n +0000632893 00000 n +0000626982 00000 n +0000633359 00000 n +0000633490 00000 n +0000633049 00000 n +0000633203 00000 n +0000633556 00000 n +0000633622 00000 n +0000639497 00000 n +0000639002 00000 n +0000633812 00000 n +0000639303 00000 n +0000639432 00000 n +0000639149 00000 n +0000648145 00000 n +0000647645 00000 n +0000639634 00000 n +0000647948 00000 n +0000648079 00000 n +0000647792 00000 n +0000649895 00000 n +0000649509 00000 n +0000648282 00000 n +0000649635 00000 n +0000649700 00000 n +0000649765 00000 n +0000649830 00000 n 0001094751 00000 n -0000654789 00000 n -0000654289 00000 n -0000649978 00000 n -0000654592 00000 n -0000654723 00000 n -0000654436 00000 n -0000659679 00000 n -0000659186 00000 n -0000654913 00000 n -0000659485 00000 n -0000659614 00000 n -0000659333 00000 n -0000666365 00000 n -0000665865 00000 n -0000659803 00000 n -0000666168 00000 n -0000666299 00000 n -0000666012 00000 n -0000676537 00000 n -0000676040 00000 n -0000666515 00000 n -0000676343 00000 n -0000676472 00000 n -0000676187 00000 n -0000678499 00000 n -0000678109 00000 n -0000676674 00000 n -0000678235 00000 n -0000678301 00000 n -0000678367 00000 n -0000678433 00000 n -0000687665 00000 n -0000687169 00000 n -0000678597 00000 n -0000687471 00000 n -0000687600 00000 n -0000687316 00000 n +0000654791 00000 n +0000654291 00000 n +0000649980 00000 n +0000654594 00000 n +0000654725 00000 n +0000654438 00000 n +0000659681 00000 n +0000659188 00000 n +0000654915 00000 n +0000659487 00000 n +0000659616 00000 n +0000659335 00000 n +0000666367 00000 n +0000665867 00000 n +0000659805 00000 n +0000666170 00000 n +0000666301 00000 n +0000666014 00000 n +0000676539 00000 n +0000676042 00000 n +0000666517 00000 n +0000676345 00000 n +0000676474 00000 n +0000676189 00000 n +0000678501 00000 n +0000678111 00000 n +0000676676 00000 n +0000678237 00000 n +0000678303 00000 n +0000678369 00000 n +0000678435 00000 n +0000687667 00000 n +0000687171 00000 n +0000678599 00000 n +0000687473 00000 n +0000687602 00000 n +0000687318 00000 n 0001094876 00000 n -0000694257 00000 n -0000693559 00000 n -0000687802 00000 n -0000693862 00000 n -0000693993 00000 n -0000693706 00000 n -0000694059 00000 n -0000694125 00000 n -0000694191 00000 n -0000700592 00000 n -0000699901 00000 n -0000694381 00000 n -0000700204 00000 n -0000700333 00000 n -0000700048 00000 n -0000700398 00000 n -0000700462 00000 n -0000700527 00000 n -0000709690 00000 n -0000709192 00000 n -0000700716 00000 n -0000709493 00000 n -0000709624 00000 n -0000709339 00000 n -0000714338 00000 n -0000713890 00000 n -0000709827 00000 n -0000714016 00000 n -0000714081 00000 n -0000714145 00000 n -0000714209 00000 n -0000714274 00000 n -0000721899 00000 n -0000721071 00000 n -0000714462 00000 n -0000721702 00000 n -0000721833 00000 n -0000721236 00000 n -0000721390 00000 n -0000721546 00000 n -0000722723 00000 n -0000722468 00000 n -0000722036 00000 n -0000722594 00000 n +0000694259 00000 n +0000693561 00000 n +0000687804 00000 n +0000693864 00000 n +0000693995 00000 n +0000693708 00000 n +0000694061 00000 n +0000694127 00000 n +0000694193 00000 n +0000700594 00000 n +0000699903 00000 n +0000694383 00000 n +0000700206 00000 n +0000700335 00000 n +0000700050 00000 n +0000700400 00000 n +0000700464 00000 n +0000700529 00000 n +0000709692 00000 n +0000709194 00000 n +0000700718 00000 n +0000709495 00000 n +0000709626 00000 n +0000709341 00000 n +0000714340 00000 n +0000713892 00000 n +0000709829 00000 n +0000714018 00000 n +0000714083 00000 n +0000714147 00000 n +0000714211 00000 n +0000714276 00000 n +0000721901 00000 n +0000721073 00000 n +0000714464 00000 n +0000721704 00000 n +0000721835 00000 n +0000721238 00000 n +0000721392 00000 n +0000721548 00000 n +0000722725 00000 n +0000722470 00000 n +0000722038 00000 n +0000722596 00000 n 0001095001 00000 n -0000727865 00000 n -0000727344 00000 n -0000722808 00000 n -0000727470 00000 n -0000727601 00000 n -0000727667 00000 n -0000727733 00000 n -0000727799 00000 n -0000734725 00000 n -0000734210 00000 n -0000727989 00000 n -0000734336 00000 n -0000734465 00000 n -0000734530 00000 n -0000734595 00000 n -0000734660 00000 n -0000740928 00000 n -0000740407 00000 n -0000734875 00000 n -0000740533 00000 n -0000740664 00000 n -0000740730 00000 n -0000740796 00000 n -0000740862 00000 n -0000744710 00000 n -0000744390 00000 n -0000741078 00000 n -0000744516 00000 n -0000744645 00000 n -0000749416 00000 n -0000749093 00000 n -0000744821 00000 n -0000749219 00000 n -0000749350 00000 n -0000751872 00000 n -0000751552 00000 n -0000749553 00000 n -0000751678 00000 n -0000751807 00000 n +0000727867 00000 n +0000727346 00000 n +0000722810 00000 n +0000727472 00000 n +0000727603 00000 n +0000727669 00000 n +0000727735 00000 n +0000727801 00000 n +0000734727 00000 n +0000734212 00000 n +0000727991 00000 n +0000734338 00000 n +0000734467 00000 n +0000734532 00000 n +0000734597 00000 n +0000734662 00000 n +0000740930 00000 n +0000740409 00000 n +0000734877 00000 n +0000740535 00000 n +0000740666 00000 n +0000740732 00000 n +0000740798 00000 n +0000740864 00000 n +0000744712 00000 n +0000744392 00000 n +0000741080 00000 n +0000744518 00000 n +0000744647 00000 n +0000749418 00000 n +0000749095 00000 n +0000744823 00000 n +0000749221 00000 n +0000749352 00000 n +0000751874 00000 n +0000751554 00000 n +0000749555 00000 n +0000751680 00000 n +0000751809 00000 n 0001095126 00000 n -0000754741 00000 n -0000754418 00000 n -0000751983 00000 n -0000754544 00000 n -0000754675 00000 n -0000757287 00000 n -0000756967 00000 n -0000754852 00000 n -0000757093 00000 n -0000757222 00000 n -0000763368 00000 n -0000763045 00000 n -0000757398 00000 n -0000763171 00000 n -0000763302 00000 n -0000770337 00000 n -0000769887 00000 n -0000763505 00000 n -0000770013 00000 n -0000770142 00000 n -0000770207 00000 n -0000770272 00000 n -0000777389 00000 n -0000776934 00000 n -0000770487 00000 n -0000777060 00000 n -0000777191 00000 n -0000777257 00000 n -0000777323 00000 n -0000784456 00000 n -0000784006 00000 n -0000777539 00000 n -0000784132 00000 n -0000784261 00000 n -0000784326 00000 n -0000784391 00000 n +0000754743 00000 n +0000754420 00000 n +0000751985 00000 n +0000754546 00000 n +0000754677 00000 n +0000757289 00000 n +0000756969 00000 n +0000754854 00000 n +0000757095 00000 n +0000757224 00000 n +0000763370 00000 n +0000763047 00000 n +0000757400 00000 n +0000763173 00000 n +0000763304 00000 n +0000770339 00000 n +0000769889 00000 n +0000763507 00000 n +0000770015 00000 n +0000770144 00000 n +0000770209 00000 n +0000770274 00000 n +0000777391 00000 n +0000776936 00000 n +0000770489 00000 n +0000777062 00000 n +0000777193 00000 n +0000777259 00000 n +0000777325 00000 n +0000784458 00000 n +0000784008 00000 n +0000777541 00000 n +0000784134 00000 n +0000784263 00000 n +0000784328 00000 n +0000784393 00000 n 0001095251 00000 n -0000791515 00000 n -0000791060 00000 n -0000784606 00000 n -0000791186 00000 n -0000791317 00000 n -0000791383 00000 n -0000791449 00000 n -0000798591 00000 n -0000798141 00000 n -0000791665 00000 n -0000798267 00000 n -0000798396 00000 n -0000798461 00000 n -0000798526 00000 n -0000805189 00000 n -0000804866 00000 n -0000798741 00000 n -0000804992 00000 n -0000805123 00000 n -0000811791 00000 n -0000811471 00000 n -0000805326 00000 n -0000811597 00000 n -0000811726 00000 n -0000820169 00000 n -0000819572 00000 n -0000811928 00000 n -0000820038 00000 n -0000819728 00000 n -0000819882 00000 n -0000825145 00000 n -0000825211 00000 n -0000825277 00000 n -0000824954 00000 n -0000820267 00000 n -0000825080 00000 n +0000791517 00000 n +0000791062 00000 n +0000784608 00000 n +0000791188 00000 n +0000791319 00000 n +0000791385 00000 n +0000791451 00000 n +0000798593 00000 n +0000798143 00000 n +0000791667 00000 n +0000798269 00000 n +0000798398 00000 n +0000798463 00000 n +0000798528 00000 n +0000805191 00000 n +0000804868 00000 n +0000798743 00000 n +0000804994 00000 n +0000805125 00000 n +0000811793 00000 n +0000811473 00000 n +0000805328 00000 n +0000811599 00000 n +0000811728 00000 n +0000820171 00000 n +0000819574 00000 n +0000811930 00000 n +0000820040 00000 n +0000819730 00000 n +0000819884 00000 n +0000825147 00000 n +0000825213 00000 n +0000825279 00000 n +0000824956 00000 n +0000820269 00000 n +0000825082 00000 n 0001095376 00000 n -0000830695 00000 n -0000830372 00000 n -0000825375 00000 n -0000830498 00000 n -0000830629 00000 n -0000832979 00000 n -0000832659 00000 n -0000830806 00000 n -0000832785 00000 n -0000832914 00000 n -0000835572 00000 n -0000835249 00000 n -0000833090 00000 n -0000835375 00000 n -0000835506 00000 n -0000838503 00000 n -0000838183 00000 n -0000835683 00000 n -0000838309 00000 n -0000838438 00000 n -0000841334 00000 n -0000841011 00000 n -0000838614 00000 n -0000841137 00000 n -0000841268 00000 n -0000842549 00000 n -0000842294 00000 n -0000841445 00000 n -0000842420 00000 n +0000830697 00000 n +0000830374 00000 n +0000825377 00000 n +0000830500 00000 n +0000830631 00000 n +0000832981 00000 n +0000832661 00000 n +0000830808 00000 n +0000832787 00000 n +0000832916 00000 n +0000835574 00000 n +0000835251 00000 n +0000833092 00000 n +0000835377 00000 n +0000835508 00000 n +0000838505 00000 n +0000838185 00000 n +0000835685 00000 n +0000838311 00000 n +0000838440 00000 n +0000841336 00000 n +0000841013 00000 n +0000838616 00000 n +0000841139 00000 n +0000841270 00000 n +0000842551 00000 n +0000842296 00000 n +0000841447 00000 n +0000842422 00000 n 0001095501 00000 n -0000849678 00000 n -0000849180 00000 n -0000842647 00000 n -0000849481 00000 n -0000849612 00000 n -0000849327 00000 n -0000857542 00000 n -0000857048 00000 n -0000849802 00000 n -0000857348 00000 n -0000857477 00000 n -0000857195 00000 n -0000863406 00000 n -0000862908 00000 n -0000857666 00000 n -0000863209 00000 n -0000863340 00000 n -0000863055 00000 n -0000869881 00000 n -0000869387 00000 n -0000863530 00000 n -0000869687 00000 n -0000869816 00000 n -0000869534 00000 n -0000871851 00000 n -0000871594 00000 n -0000870005 00000 n -0000871720 00000 n +0000849680 00000 n +0000849182 00000 n +0000842649 00000 n +0000849483 00000 n +0000849614 00000 n +0000849329 00000 n +0000857544 00000 n +0000857050 00000 n +0000849804 00000 n +0000857350 00000 n +0000857479 00000 n +0000857197 00000 n +0000863408 00000 n +0000862910 00000 n +0000857668 00000 n +0000863211 00000 n +0000863342 00000 n +0000863057 00000 n +0000869883 00000 n +0000869389 00000 n +0000863532 00000 n +0000869689 00000 n +0000869818 00000 n +0000869536 00000 n +0000871853 00000 n +0000871596 00000 n +0000870007 00000 n +0000871722 00000 n 0000879549 00000 n 0000878754 00000 n -0000871962 00000 n +0000871964 00000 n 0000879224 00000 n 0000879353 00000 n 0000878910 00000 n @@ -34930,7 +34930,7 @@ trailer /Size 1509 /Root 1507 0 R /Info 1508 0 R -/ID [<5A0705F15924AD4C1C915CF13BA58CB9> <5A0705F15924AD4C1C915CF13BA58CB9>] +/ID [<0ED73C49BB12ACE01F1DFCFBAC76045C> <0ED73C49BB12ACE01F1DFCFBAC76045C>] >> startxref 1116152 diff --git a/prec/psb_dprecinit.f90 b/prec/psb_dprecinit.f90 new file mode 100644 index 00000000..44934cd4 --- /dev/null +++ b/prec/psb_dprecinit.f90 @@ -0,0 +1,70 @@ +!!$ +!!$ Parallel Sparse BLAS v2.0 +!!$ (C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata +!!$ Alfredo Buttari University of Rome Tor Vergata +!!$ +!!$ Redistribution and use in source and binary forms, with or without +!!$ modification, are permitted provided that the following conditions +!!$ are met: +!!$ 1. Redistributions of source code must retain the above copyright +!!$ notice, this list of conditions and the following disclaimer. +!!$ 2. Redistributions in binary form must reproduce the above copyright +!!$ notice, this list of conditions, and the following disclaimer in the +!!$ documentation and/or other materials provided with the distribution. +!!$ 3. The name of the PSBLAS group or the names of its contributors may +!!$ not be used to endorse or promote products derived from this +!!$ software without specific written permission. +!!$ +!!$ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +!!$ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +!!$ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +!!$ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS +!!$ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +!!$ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +!!$ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +!!$ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +!!$ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +!!$ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +!!$ POSSIBILITY OF SUCH DAMAGE. +!!$ +!!$ +subroutine psb_dprecinit(p,ptype,info) + + use psb_base_mod + use psb_prec_mod, psb_protect_name => psb_dprecinit + implicit none + type(psb_dprec_type), intent(inout) :: p + character(len=*), intent(in) :: ptype + integer, intent(out) :: info + + info = 0 + + call psb_realloc(ifpsz,p%iprcparm,info) + if (info == 0) call psb_realloc(dfpsz,p%dprcparm,info) + if (info /= 0) return + p%iprcparm(:) = 0 + + select case(toupper(ptype(1:len_trim(ptype)))) + case ('NONE','NOPREC') + p%iprcparm(:) = 0 + p%iprcparm(p_type_) = noprec_ + p%iprcparm(f_type_) = f_none_ + + case ('DIAG') + p%iprcparm(:) = 0 + p%iprcparm(p_type_) = diag_ + p%iprcparm(f_type_) = f_none_ + + case ('BJAC') + p%iprcparm(:) = 0 + p%iprcparm(p_type_) = bjac_ + p%iprcparm(f_type_) = f_ilu_n_ + p%iprcparm(ilu_fill_in_) = 0 + + case default + write(0,*) 'Unknown preconditioner type request "',ptype,'"' + info = 2 + + end select + +end subroutine psb_dprecinit diff --git a/prec/psb_dprecset.f90 b/prec/psb_dprecset.f90 index 98f7ce2d..e82f8fb8 100644 --- a/prec/psb_dprecset.f90 +++ b/prec/psb_dprecset.f90 @@ -28,52 +28,78 @@ !!$ POSSIBILITY OF SUCH DAMAGE. !!$ !!$ -subroutine psb_dprecset(p,ptype,info,iv,rs,rv) +subroutine psb_dprecseti(p,what,val,info) use psb_base_mod - use psb_prec_mod, psb_protect_name => psb_dprecset + use psb_prec_mod, psb_protect_name => psb_dprecseti implicit none type(psb_dprec_type), intent(inout) :: p - character(len=*), intent(in) :: ptype + integer :: what, val integer, intent(out) :: info - integer, optional, intent(in) :: iv(:) - real(kind(1.d0)), optional, intent(in) :: rs - real(kind(1.d0)), optional, intent(in) :: rv(:) - - character(len=len(ptype)) :: typeup - integer :: isz, err, nlev_, ilev_, i info = 0 + select case(what) + case (f_type_) + if (p%iprcparm(p_type_) /= bjac_) then + write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& + & 'ignoring user specification' + return + endif + p%iprcparm(f_type_) = val + + case (ilu_fill_in_) + if ((p%iprcparm(p_type_) /= bjac_).or.(p%iprcparm(f_type_) /= f_ilu_n_)) then + write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& + & 'ignoring user specification' + return + endif + p%iprcparm(ilu_fill_in_) = val + + case default + write(0,*) 'WHAT is invalid, ignoring user specification' + + end select + return - call psb_realloc(ifpsz,p%iprcparm,info) - if (info == 0) call psb_realloc(dfpsz,p%dprcparm,info) - if (info /= 0) return - p%iprcparm(:) = 0 +end subroutine psb_dprecseti - select case(toupper(ptype(1:len_trim(ptype)))) - case ('NONE','NOPREC') - p%iprcparm(:) = 0 - p%iprcparm(p_type_) = noprec_ - p%iprcparm(f_type_) = f_none_ - case ('DIAG') - p%iprcparm(:) = 0 - p%iprcparm(p_type_) = diag_ - p%iprcparm(f_type_) = f_none_ +subroutine psb_dprecsetd(p,what,val,info) - case ('BJAC') - p%iprcparm(:) = 0 - p%iprcparm(p_type_) = bjac_ - p%iprcparm(f_type_) = f_ilu_n_ - p%iprcparm(ilu_fill_in_) = 0 + use psb_base_mod + use psb_prec_mod, psb_protect_name => psb_dprecsetd + implicit none + type(psb_dprec_type), intent(inout) :: p + integer :: what + real(kind(1.d0)) :: val + integer, intent(out) :: info +! +! This will have to be changed if/when we put together an ILU(eps) +! factorization. +! + select case(what) +!!$ case (f_type_) +!!$ if (p%iprcparm(p_type_) /= bjac_) then +!!$ write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& +!!$ & 'ignoring user specification' +!!$ return +!!$ endif +!!$ p%iprcparm(f_type_) = val +!!$ +!!$ case (ilu_fill_in_) +!!$ if ((p%iprcparm(p_type_) /= bjac_).or.(p%iprcparm(f_type_) /= f_ilu_n_)) then +!!$ write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& +!!$ & 'ignoring user specification' +!!$ return +!!$ endif +!!$ p%iprcparm(ilu_fill_in_) = val + case default - write(0,*) 'Unknown preconditioner type request "',ptype,'"' - err = 2 + write(0,*) 'WHAT is invalid, ignoring user specification' end select + return - info = err - -end subroutine psb_dprecset +end subroutine psb_dprecsetd diff --git a/prec/psb_prec_mod.f90 b/prec/psb_prec_mod.f90 index 30b461a2..fedc3797 100644 --- a/prec/psb_prec_mod.f90 +++ b/prec/psb_prec_mod.f90 @@ -55,29 +55,60 @@ module psb_prec_mod end subroutine psb_zprecbld end interface - interface psb_precset - subroutine psb_dprecset(prec,ptype,info,iv,rs,rv) + interface psb_precinit + subroutine psb_dprecinit(prec,ptype,info) use psb_base_mod use psb_prec_type implicit none type(psb_dprec_type), intent(inout) :: prec character(len=*), intent(in) :: ptype integer, intent(out) :: info - integer, optional, intent(in) :: iv(:) - real(kind(1.d0)), optional, intent(in) :: rs - real(kind(1.d0)), optional, intent(in) :: rv(:) - end subroutine psb_dprecset - subroutine psb_zprecset(prec,ptype,info,iv,rs,rv) + end subroutine psb_dprecinit + subroutine psb_zprecinit(prec,ptype,info) use psb_base_mod use psb_prec_type implicit none type(psb_zprec_type), intent(inout) :: prec character(len=*), intent(in) :: ptype integer, intent(out) :: info - integer, optional, intent(in) :: iv(:) - real(kind(1.d0)), optional, intent(in) :: rs - real(kind(1.d0)), optional, intent(in) :: rv(:) - end subroutine psb_zprecset + end subroutine psb_zprecinit + end interface + + interface psb_precset + subroutine psb_dprecseti(prec,what,val,info) + use psb_base_mod + use psb_prec_type + implicit none + type(psb_dprec_type), intent(inout) :: prec + integer :: what, val + integer, intent(out) :: info + end subroutine psb_dprecseti + subroutine psb_dprecsetd(prec,what,val,info) + use psb_base_mod + use psb_prec_type + implicit none + type(psb_dprec_type), intent(inout) :: prec + integer :: what + real(kind(1.d0)) :: val + integer, intent(out) :: info + end subroutine psb_dprecsetd + subroutine psb_zprecseti(prec,what,val,info) + use psb_base_mod + use psb_prec_type + implicit none + type(psb_zprec_type), intent(inout) :: prec + integer :: what, val + integer, intent(out) :: info + end subroutine psb_zprecseti + subroutine psb_zprecsetd(prec,what,val,info) + use psb_base_mod + use psb_prec_type + implicit none + type(psb_zprec_type), intent(inout) :: prec + integer :: what + real(kind(1.d0)) :: val + integer, intent(out) :: info + end subroutine psb_zprecsetd end interface diff --git a/prec/psb_zprecinit.f90 b/prec/psb_zprecinit.f90 new file mode 100644 index 00000000..d6ff3431 --- /dev/null +++ b/prec/psb_zprecinit.f90 @@ -0,0 +1,73 @@ +!!$ +!!$ Parallel Sparse BLAS v2.0 +!!$ (C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata +!!$ Alfredo Buttari University of Rome Tor Vergata +!!$ +!!$ Redistribution and use in source and binary forms, with or without +!!$ modification, are permitted provided that the following conditions +!!$ are met: +!!$ 1. Redistributions of source code must retain the above copyright +!!$ notice, this list of conditions and the following disclaimer. +!!$ 2. Redistributions in binary form must reproduce the above copyright +!!$ notice, this list of conditions, and the following disclaimer in the +!!$ documentation and/or other materials provided with the distribution. +!!$ 3. The name of the PSBLAS group or the names of its contributors may +!!$ not be used to endorse or promote products derived from this +!!$ software without specific written permission. +!!$ +!!$ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +!!$ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +!!$ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +!!$ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS +!!$ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +!!$ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +!!$ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +!!$ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +!!$ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +!!$ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +!!$ POSSIBILITY OF SUCH DAMAGE. +!!$ +!!$ +subroutine psb_zprecinit(p,ptype,info) + + use psb_base_mod + use psb_prec_mod, psb_protect_name => psb_zprecinit + implicit none + + type(psb_zprec_type), intent(inout) :: p + character(len=*), intent(in) :: ptype + integer, intent(out) :: info + + info = 0 + + call psb_realloc(ifpsz,p%iprcparm,info) + if (info == 0) call psb_realloc(dfpsz,p%dprcparm,info) + if (info /= 0) return + p%iprcparm(:) = 0 + + select case(toupper(ptype(1:len_trim(ptype)))) + case ('NONE','NOPREC') + p%iprcparm(:) = 0 + p%iprcparm(p_type_) = noprec_ + p%iprcparm(f_type_) = f_none_ + + case ('DIAG') + p%iprcparm(:) = 0 + p%iprcparm(p_type_) = diag_ + p%iprcparm(f_type_) = f_none_ + + case ('BJAC') + p%iprcparm(:) = 0 + p%iprcparm(p_type_) = bjac_ + p%iprcparm(f_type_) = f_ilu_n_ + p%iprcparm(ilu_fill_in_) = 0 + + case default + write(0,*) 'Unknown preconditioner type request "',ptype,'"' + + info = 2 + + end select + + +end subroutine psb_zprecinit diff --git a/prec/psb_zprecset.f90 b/prec/psb_zprecset.f90 index 51b5919c..551ec04c 100644 --- a/prec/psb_zprecset.f90 +++ b/prec/psb_zprecset.f90 @@ -28,53 +28,78 @@ !!$ POSSIBILITY OF SUCH DAMAGE. !!$ !!$ -subroutine psb_zprecset(p,ptype,info,iv,rs,rv) +subroutine psb_zprecseti(p,what,val,info) use psb_base_mod - use psb_prec_mod, psb_protect_name => psb_zprecset + use psb_prec_mod, psb_protect_name => psb_zprecseti implicit none - type(psb_zprec_type), intent(inout) :: p - character(len=*), intent(in) :: ptype + integer :: what, val integer, intent(out) :: info - integer, optional, intent(in) :: iv(:) - real(kind(1.d0)), optional, intent(in) :: rs - real(kind(1.d0)), optional, intent(in) :: rv(:) - - character(len=len(ptype)) :: typeup - integer :: isz, err, nlev_, ilev_, i info = 0 - - call psb_realloc(ifpsz,p%iprcparm,info) - if (info == 0) call psb_realloc(dfpsz,p%dprcparm,info) - if (info /= 0) return - p%iprcparm(:) = 0 + select case(what) + case (f_type_) + if (p%iprcparm(p_type_) /= bjac_) then + write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& + & 'ignoring user specification' + return + endif + p%iprcparm(f_type_) = val + + case (ilu_fill_in_) + if ((p%iprcparm(p_type_) /= bjac_).or.(p%iprcparm(f_type_) /= f_ilu_n_)) then + write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& + & 'ignoring user specification' + return + endif + p%iprcparm(ilu_fill_in_) = val + + case default + write(0,*) 'WHAT is invalid, ignoring user specification' + + end select + return + +end subroutine psb_zprecseti - select case(toupper(ptype(1:len_trim(ptype)))) - case ('NONE','NOPREC') - p%iprcparm(:) = 0 - p%iprcparm(p_type_) = noprec_ - p%iprcparm(f_type_) = f_none_ - case ('DIAG') - p%iprcparm(:) = 0 - p%iprcparm(p_type_) = diag_ - p%iprcparm(f_type_) = f_none_ +subroutine psb_zprecsetd(p,what,val,info) - case ('BJAC') - p%iprcparm(:) = 0 - p%iprcparm(p_type_) = bjac_ - p%iprcparm(f_type_) = f_ilu_n_ - p%iprcparm(ilu_fill_in_) = 0 + use psb_base_mod + use psb_prec_mod, psb_protect_name => psb_zprecsetd + implicit none + type(psb_zprec_type), intent(inout) :: p + integer :: what + real(kind(1.d0)) :: val + integer, intent(out) :: info +! +! This will have to be changed if/when we put together an ILU(eps) +! factorization. +! + select case(what) +!!$ case (f_type_) +!!$ if (p%iprcparm(p_type_) /= bjac_) then +!!$ write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& +!!$ & 'ignoring user specification' +!!$ return +!!$ endif +!!$ p%iprcparm(f_type_) = val +!!$ +!!$ case (ilu_fill_in_) +!!$ if ((p%iprcparm(p_type_) /= bjac_).or.(p%iprcparm(f_type_) /= f_ilu_n_)) then +!!$ write(0,*) 'WHAT is invalid for current preconditioner ',p%iprcparm(p_type_),& +!!$ & 'ignoring user specification' +!!$ return +!!$ endif +!!$ p%iprcparm(ilu_fill_in_) = val + case default - write(0,*) 'Unknown preconditioner type request "',ptype,'"' - err = 2 + write(0,*) 'WHAT is invalid, ignoring user specification' end select + return - info = err - -end subroutine psb_zprecset +end subroutine psb_zprecsetd diff --git a/test/fileread/df_sample.f90 b/test/fileread/df_sample.f90 index 56d58c93..91127ec3 100644 --- a/test/fileread/df_sample.f90 +++ b/test/fileread/df_sample.f90 @@ -203,13 +203,13 @@ program df_sample igsmth=-1 select case(iprec) case(noprec_) - call psb_precset(pre,'noprec',info) + call psb_precinit(pre,'noprec',info) case(diag_) - call psb_precset(pre,'diag',info) + call psb_precinit(pre,'diag',info) case(bjac_) - call psb_precset(pre,'bjac',info) + call psb_precinit(pre,'bjac',info) case default - call psb_precset(pre,'bjac',info) + call psb_precinit(pre,'bjac',info) end select ! building the preconditioner diff --git a/test/pargen/ppde90.f90 b/test/pargen/ppde90.f90 index 1f61fe25..1bc42c33 100644 --- a/test/pargen/ppde90.f90 +++ b/test/pargen/ppde90.f90 @@ -154,13 +154,13 @@ program pde90 if(iam == psb_root_) write(0,'("Setting preconditioner to : ",a)')pr_to_str(iprec) select case(iprec) case(noprec_) - call psb_precset(pre,'noprec',info) + call psb_precinit(pre,'noprec',info) case(diag_) - call psb_precset(pre,'diag',info) + call psb_precinit(pre,'diag',info) case(bjac_) - call psb_precset(pre,'bjac',info) + call psb_precinit(pre,'bjac',info) case default - call psb_precset(pre,'bjac',info) + call psb_precinit(pre,'bjac',info) end select call psb_barrier(ictxt)