<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Humm, I see it with hg view (appended). &nbsp;</div><div><br></div><div>Satish, my main repo looks hosed. &nbsp;I see this:</div><div><br></div><div><div>~/Codes/petsc-dev&gt;hg update</div><div>abort: crosses branches (merge branches or use --clean to discard changes)</div><div>~/Codes/petsc-dev&gt;hg merge</div><div>abort: branch 'default' has 3 heads - please merge with an explicit rev</div><div>(run 'hg heads .' to see heads)</div><div>~/Codes/petsc-dev&gt;hg heads</div><div>changeset: &nbsp; 22496:8e2a98268179</div><div>tag: &nbsp; &nbsp; &nbsp; &nbsp; tip</div><div>user: &nbsp; &nbsp; &nbsp; &nbsp;Barry Smith &lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt;</div><div>date: &nbsp; &nbsp; &nbsp; &nbsp;Wed Mar 14 16:42:25 2012 -0500</div><div>files: &nbsp; &nbsp; &nbsp; src/vec/is/interface/f90-custom/zindexf90.c src/vec/vec/interface/f90-custom/zvectorf90.c</div><div>description:</div><div>undoing manually changes I put in because Satish had a better fix</div><div><br></div><div><br></div><div>changeset: &nbsp; 22492:bda4df63072d</div><div>user: &nbsp; &nbsp; &nbsp; &nbsp;Mark F. Adams &lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt;</div><div>date: &nbsp; &nbsp; &nbsp; &nbsp;Wed Mar 14 17:39:52 2012 -0400</div><div>files: &nbsp; &nbsp; &nbsp; src/ksp/pc/impls/gamg/tools.c</div><div>description:</div><div>fix for unsymmetric matrices.</div><div><br></div><div><br></div><div>changeset: &nbsp; 22469:b063baf366e4</div><div>user: &nbsp; &nbsp; &nbsp; &nbsp;Mark F. Adams &lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt;</div><div>date: &nbsp; &nbsp; &nbsp; &nbsp;Wed Mar 14 14:22:28 2012 -0400</div><div>files: &nbsp; &nbsp; &nbsp; src/ksp/pc/impls/gamg/tools.c</div><div>description:</div><div>added fix for preallocation for unsymetric matrices.</div><div><br></div></div><div>Mark</div><div><br></div><div>my 'hg view' on my merge repo:</div><div><br></div><div>Revision: 22492</div><div>Branch: default</div><div>Author: Mark F. Adams &lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt; &nbsp;2012-03-14 17:39:52</div><div>Committer: Mark F. Adams &lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt; &nbsp;2012-03-14 17:39:52</div><div>Tags: tip</div><div>Parent: 22491:451bbbd291c2 (Small fixes to the BT linesearch)</div><div><br></div><div>&nbsp; &nbsp; fix for unsymmetric matrices.</div><div><br></div><div><br></div><div>------------------------ src/ksp/pc/impls/gamg/tools.c ------------------------</div><div>@@ -103,7 +103,7 @@</div><div>&nbsp; &nbsp;PetscErrorCode ierr;</div><div>&nbsp; &nbsp;PetscInt &nbsp; &nbsp; &nbsp; Istart,Iend,Ii,jj,ncols,nnz0,nnz1, NN, MM, nloc;</div><div>&nbsp; &nbsp;PetscMPIInt &nbsp; &nbsp;mype, npe;</div><div>- &nbsp;Mat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Gmat = *a_Gmat, tGmat;</div><div>+ &nbsp;Mat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Gmat = *a_Gmat, tGmat, matTrans;</div><div>&nbsp; &nbsp;MPI_Comm &nbsp; &nbsp; &nbsp; wcomm = ((PetscObject)Gmat)-&gt;comm;</div><div>&nbsp; &nbsp;const PetscScalar *vals;</div><div>&nbsp; &nbsp;const PetscInt *idx;</div><div>@@ -127,6 +127,10 @@</div><div>&nbsp; &nbsp;ierr = MatDiagonalScale( Gmat, diag, diag ); CHKERRQ(ierr);</div><div>&nbsp; &nbsp;ierr = VecDestroy( &amp;diag ); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHKERRQ(ierr);</div><div>&nbsp;</div><div>+ &nbsp;if( symm ) {</div><div>+ &nbsp; &nbsp;ierr = MatTranspose( Gmat, MAT_INITIAL_MATRIX, &amp;matTrans ); &nbsp; &nbsp;CHKERRQ(ierr);</div><div>+ &nbsp;}</div><div>+</div><div>&nbsp; &nbsp;/* filter - dup zeros out matrix */</div><div>&nbsp; &nbsp;ierr = PetscMalloc( nloc*sizeof(PetscInt), &amp;d_nnz ); CHKERRQ(ierr);</div><div>&nbsp; &nbsp;ierr = PetscMalloc( nloc*sizeof(PetscInt), &amp;o_nnz ); CHKERRQ(ierr);</div><div>@@ -135,6 +139,12 @@</div><div>&nbsp; &nbsp; &nbsp;d_nnz[jj] = ncols;</div><div>&nbsp; &nbsp; &nbsp;o_nnz[jj] = ncols;</div><div>&nbsp; &nbsp; &nbsp;ierr = MatRestoreRow(Gmat,Ii,&amp;ncols,PETSC_NULL,PETSC_NULL); CHKERRQ(ierr);</div><div>+ &nbsp; &nbsp;if( symm ) {</div><div>+ &nbsp; &nbsp; &nbsp;ierr = MatGetRow(matTrans,Ii,&amp;ncols,PETSC_NULL,PETSC_NULL); CHKERRQ(ierr);</div><div>+ &nbsp; &nbsp; &nbsp;d_nnz[jj] += ncols;</div><div>+ &nbsp; &nbsp; &nbsp;o_nnz[jj] += ncols;</div><div>+ &nbsp; &nbsp; &nbsp;ierr = MatRestoreRow(matTrans,Ii,&amp;ncols,PETSC_NULL,PETSC_NULL); CHKERRQ(ierr);</div><div>+ &nbsp; &nbsp;}</div><div>&nbsp; &nbsp; &nbsp;if( d_nnz[jj] &gt; nloc ) d_nnz[jj] = nloc;</div><div>&nbsp; &nbsp; &nbsp;if( o_nnz[jj] &gt; (MM-nloc) ) o_nnz[jj] = MM - nloc;</div><div>&nbsp; &nbsp;}</div><div>@@ -142,6 +152,9 @@</div><div>&nbsp; &nbsp;CHKERRQ(ierr);</div><div>&nbsp; &nbsp;ierr = PetscFree( d_nnz ); CHKERRQ(ierr);&nbsp;</div><div>&nbsp; &nbsp;ierr = PetscFree( o_nnz ); CHKERRQ(ierr);&nbsp;</div><div>+ &nbsp;if( symm ) {</div><div>+ &nbsp; &nbsp;ierr = MatDestroy( &amp;matTrans ); &nbsp;CHKERRQ(ierr);</div><div>+ &nbsp;}</div><div>&nbsp;</div><div><br></div><div><br></div><div><br></div><div><div>On Mar 14, 2012, at 5:53 PM, John Mousel wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Mark,<br><br>No change. Can you give me the location that you patched so I can check to make sure it pulled?<br>I don't see it on the petsc-dev change log.<br><br>John<br><br><div class="gmail_quote">On Wed, Mar 14, 2012 at 4:40 PM, Mark F. Adams <span dir="ltr">&lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">John, I've committed these changes, give a try.<br>
<span class="HOEnZb"><font color="#888888"><br>
Mark<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mar 14, 2012, at 3:46 PM, Satish Balay wrote:<br>
<br>
&gt; This is the usual merge [with uncommited changes] issue.<br>
&gt;<br>
&gt; You could use 'hg shelf' extension to shelve your local changes and<br>
&gt; then do a merge [as Sean would suggest] - or do the merge in a<br>
&gt; separate/clean clone [I normally do this..]<br>
&gt;<br>
&gt; i.e<br>
&gt; cd ~/Codes<br>
&gt; hg clone petsc-dev petsc-dev-merge<br>
&gt; cd petsc-dev-merge<br>
&gt; hg pull ssh://<!-- <a href="http://petsc@petsc.cs.iit.edu//hg/petsc/petsc-dev" target="_blank"> --><a href="mailto:petsc@petsc.cs.iit.edu">petsc@petsc.cs.iit.edu</a>//hg/petsc/petsc-dev<!-- </a> --> &nbsp; #just to be sure, look for latest chagnes before merge..<br>
&gt; hg merge<br>
&gt; hg commit<br>
&gt; hg push ssh://<!-- <a href="http://petsc@petsc.cs.iit.edu//hg/petsc/petsc-dev" target="_blank"> --><a href="mailto:petsc@petsc.cs.iit.edu">petsc@petsc.cs.iit.edu</a>//hg/petsc/petsc-dev<!-- </a> --><br>
&gt;<br>
&gt; [now update your petsc-dev to latest]<br>
&gt; cd ~/Codes/petsc-dev<br>
&gt; hg pull<br>
&gt; hg update<br>
&gt;<br>
&gt; Satish<br>
&gt;<br>
&gt; On Wed, 14 Mar 2012, Mark F. Adams wrote:<br>
&gt;<br>
&gt;&gt; Great, that seems to work.<br>
&gt;&gt;<br>
&gt;&gt; I did a 'hg commit tools.c'<br>
&gt;&gt;<br>
&gt;&gt; and I want to push this file only. &nbsp;I guess its the only thing in the change set so 'hg push' should be fine. &nbsp;But I see this:<br>
&gt;&gt;<br>
&gt;&gt; ~/Codes/petsc-dev/src/ksp/pc/impls/gamg&gt;hg update<br>
&gt;&gt; abort: crosses branches (merge branches or use --clean to discard changes)<br>
&gt;&gt; ~/Codes/petsc-dev/src/ksp/pc/impls/gamg&gt;hg merge<br>
&gt;&gt; abort: outstanding uncommitted changes (use 'hg status' to list changes)<br>
&gt;&gt; ~/Codes/petsc-dev/src/ksp/pc/impls/gamg&gt;hg status<br>
&gt;&gt; M include/petscmat.h<br>
&gt;&gt; M include/private/matimpl.h<br>
&gt;&gt; M src/ksp/pc/impls/gamg/agg.c<br>
&gt;&gt; M src/ksp/pc/impls/gamg/gamg.c<br>
&gt;&gt; M src/ksp/pc/impls/gamg/gamg.h<br>
&gt;&gt; M src/ksp/pc/impls/gamg/geo.c<br>
&gt;&gt; M src/mat/coarsen/coarsen.c<br>
&gt;&gt; M src/mat/coarsen/impls/hem/hem.c<br>
&gt;&gt; M src/mat/coarsen/impls/mis/mis.c<br>
&gt;&gt;<br>
&gt;&gt; Am I ready to do a push?<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Mark<br>
&gt;&gt;<br>
&gt;&gt; On Mar 14, 2012, at 2:44 PM, Satish Balay wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; If commit is the last hg operation that you've done - then 'hg rollback' would undo this commit.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Satish<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wed, 14 Mar 2012, Mark F. Adams wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Damn, I'm not preallocating the graph perfectly for unsymmetric matrices and PETSc now dies on this.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I have a fix but I committed it with other changes that I do not want to commit. &nbsp;The changes are all in one file so I should be able to just commit this file.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Anyone know how to delete a commit?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I've tried:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ~/Codes/petsc-dev/src/ksp/pc/impls/gamg&gt;hg strip 22487:26ffb9eef17f<br>
&gt;&gt;&gt;&gt; hg: unknown command 'strip'<br>
&gt;&gt;&gt;&gt; 'strip' is provided by the following extension:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &nbsp; mq &nbsp;manage a stack of patches<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; use "hg help extensions" for information on enabling extensions<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; But have not figured out how to load extensions.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Mark<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Mar 14, 2012, at 12:54 PM, John Mousel wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Mark,<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I have a non-symmetric matrix. I am running with the following options.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; -pc_type gamg -pc_gamg_sym_graph -ksp_monitor_true_residual<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; and with the inclusion of -pc_gamg_sym_graph, I get a new malloc error:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 0]PETSC ERROR: --------------------- Error Message ------------------------------------<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: Argument out of range!<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: New nonzero at (5150,9319) caused a malloc!<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: ------------------------------------------------------------------------<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: Petsc Development HG revision: 587b25035091aaa309c87c90ac64c13408ecf34e &nbsp;HG Date: Wed Mar 14 09:22:54 2012 -0500<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: See docs/index.html for manual pages.<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: ------------------------------------------------------------------------<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: ../JohnRepo/VFOLD_exe on a linux-deb named <a href="http://wv.iihr.uiowa.edu/" target="_blank">wv.iihr.uiowa.edu</a> by jmousel Wed Mar 14 11:51:35 2012<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: Libraries linked from /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/linux-debug/lib<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: Configure run at Wed Mar 14 09:46:39 2012<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: Configure options --download-blacs=1 --download-hypre=1 --download-metis=1 --download-ml=1 --download-mpich=1 --download-parmetis=1 --download-scalapack=1 --with-blas-lapack-dir=/opt/intel11/mkl/lib/em64t --with-cc=gcc --with-cmake=/usr/local/bin/cmake --with-cxx=g++ --with-fc=ifort PETSC_ARCH=linux-debug<br>

&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: ------------------------------------------------------------------------<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: MatSetValues_MPIAIJ() line 506 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/mat/impls/aij/mpi/mpiaij.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: MatSetValues() line 1141 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/mat/interface/matrix.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: scaleFilterGraph() line 155 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/impls/gamg/tools.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: PCGAMGgraph_AGG() line 865 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/impls/gamg/agg.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: PCSetUp_GAMG() line 516 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/impls/gamg/gamg.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: PCSetUp() line 832 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/interface/precon.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: KSPSetUp() line 261 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/ksp/interface/itfunc.c<br>
&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: KSPSolve() line 385 in /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/ksp/interface/itfunc.c<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; John<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Wed, Mar 14, 2012 at 11:27 AM, Mark F. Adams &lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Mar 14, 2012, at 11:56 AM, John Mousel wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Mark,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The matrix is asymmetric. Does this require the setting of an option?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Yes: &nbsp;-pc_gamg_sym_graph<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Mark<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I pulled petsc-dev this morning, so I should have (at least close to) the latest code.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; John<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Wed, Mar 14, 2012 at 10:54 AM, Mark F. Adams &lt;<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Mar 14, 2012, at 11:08 AM, John Mousel wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I'm getting the following error when using GAMG.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; petsc-dev/src/ksp/pc/impls/gamg/agg.c:508: smoothAggs: Assertion `sgid==-1' failed.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Is it possible that your matrix is structurally asymmetric?<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; This code is evolving fast and so you will need to move to the dev version if you are not already using it. (I think I fixed a bug that hit this assert).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; When I try to alter the type of aggregation at the command line using -pc_gamg_type pa, I'm getting<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; [0]PETSC ERROR: [1]PETSC ERROR: --------------------- Error Message ------------------------------------<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; [1]PETSC ERROR: Unknown type. Check for miss-spelling or missing external package needed for type:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; see <a href="http://www.mcs.anl.gov/petsc/documentation/installation.html#external" target="_blank">http://www.mcs.anl.gov/petsc/documentation/installation.html#external</a>!<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; [1]PETSC ERROR: Unknown GAMG type pa given!<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Has there been a change in the aggregation options? I just pulled petsc-dev this morning.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Yes, this option is gone now. &nbsp;You can use -pc_gamg_type agg for now.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Mark<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; John<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br>
</blockquote></div><br></body></html>