[Checkins] SVN: z3c.rml/trunk/ - Implemented ``pageBreakBefore`` and ``frameBreakBefore`` attributes for

Stephen Richter cvs-admin at zope.org
Wed Dec 19 17:34:18 UTC 2012


Log message for revision 128783:
  - Implemented ``pageBreakBefore`` and ``frameBreakBefore`` attributes for
    paragraph styles.
  

Changed:
  U   z3c.rml/trunk/CHANGES.txt
  U   z3c.rml/trunk/src/z3c/rml/stylesheet.py
  A   z3c.rml/trunk/src/z3c/rml/tests/expected/rml-examples-048-paragraph-flow-controls.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-examples-048-paragraph-flow-controls.rml

-=-
Modified: z3c.rml/trunk/CHANGES.txt
===================================================================
--- z3c.rml/trunk/CHANGES.txt	2012-12-19 17:16:48 UTC (rev 128782)
+++ z3c.rml/trunk/CHANGES.txt	2012-12-19 17:34:18 UTC (rev 128783)
@@ -15,6 +15,9 @@
 
 - Implemented ``codesnippet`` directive.
 
+- Implemented ``pageBreakBefore`` and ``frameBreakBefore`` attributes for
+  paragraph styles.
+
 - Added ``maxLineLength`` and ``newLineChars`` attributes to the ``pre``
   directive.
 

Modified: z3c.rml/trunk/src/z3c/rml/stylesheet.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/stylesheet.py	2012-12-19 17:16:48 UTC (rev 128782)
+++ z3c.rml/trunk/src/z3c/rml/stylesheet.py	2012-12-19 17:34:18 UTC (rev 128783)
@@ -147,14 +147,12 @@
         title=u'Page Break Before',
         description=(u'Specifies whether a page break should be inserted '
                      u'before the directive.'),
-        default=False,
         required=False)
 
     frameBreakBefore = attr.Boolean(
         title=u'Frame Break Before',
         description=(u'Specifies whether a frame break should be inserted '
                      u'before the directive.'),
-        default=False,
         required=False)
 
 

Added: z3c.rml/trunk/src/z3c/rml/tests/expected/rml-examples-048-paragraph-flow-controls.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/expected/rml-examples-048-paragraph-flow-controls.pdf	                        (rev 0)
+++ z3c.rml/trunk/src/z3c/rml/tests/expected/rml-examples-048-paragraph-flow-controls.pdf	2012-12-19 17:34:18 UTC (rev 128783)
@@ -0,0 +1,359 @@
+%PDF-1.4
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 7 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Helvetica-Bold
+<< /BaseFont /Helvetica-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Helvetica-Oblique
+<< /BaseFont /Helvetica-Oblique
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'FormXob.0086924a45e007495af99df70126eb1b': class PDFImageXObject 
+5 0 obj
+<< /BitsPerComponent 8
+ /ColorSpace /DeviceRGB
+ /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Height 197
+ /Length 6121
+ /Subtype /Image
+ /Type /XObject
+ /Width 309 >>
+stream
+Gb"/l^Q0\[&]ap8-\i2ucj=5N-F&B2*&rS,^lh8#OU4]pO9j*&8<te-&f(K\V^$3 at 4V$^JLNqAj>&-nb>+sIunDF=o/>mXT=rr[$BDR%WJ%V4up&1g&Nh&*l4]U%geQ"JnQNZ=Gr;>]n!F(J*G^*p#HHF]L]j at 1dnK,0gdo5Qk9Wg(ia2d<t]\dS4fiZ""E`J5*R(34cG?Z\d(Ddn=n!REP5/)I">_)R_X]?t<pIq_8k+_1;h)d['Ib!M:+kn2^\b4G8-6aqbcHaXfekc2,eh+Ii#S,\!4)V at QVjiKmXB$imM=oHfhRR.pg<%lQ\QkS]X2?9B(@*nTXoRU9lF+g;htlGu=i52B_tMK[>Nb24efmBAbN\7?-qgiM?9+l[j9FF.,f.0h,>aJ4T!e!f,pt&fi'8;(*m1jGCFE+ba:p/WD<ouuX6c5I-s:ZLqYA2P!U[PtR<;;bdFp=&[cQM%N$<iV$I?kC3-U)t;rn&%L!J9tA,u&+FWS_sB?0'_Ps\.Bf^Kd#gq^i'S8XFnm?hQ8h*`M!I.cTKB8#$E3$C_[&B'eK'#<<Deibmfd#R(?bFpYeKj;LRI*:X"\u3Q4gG/V2jsDUN&5D[g\o"M#0jMaZjodn0GFi#iD][AA at Tl:)F)SU1E-I*/`/9Fq9Jg&:aE9];Se4m3$Aih"79r!PMYD2+DXe.Ld'E)=1"GY.*q/:i4NfORKJ8Y0YaP^$6%+??_6>DLQ#8>d_(GFJ\b#3L at 5S@_XgeOYG<"LZBEN]52BJs0"[=2T^ATc;!pi#Y_)&U5_n)bcW'Ypt2WsBA[kJ1/7hnHh[okpVZ%6'1+LiGmhO'&U(Aq:iq=]S]>I&TX4;1+ecDtDqI\,X=(=*+\eaf`p=>RcFTS,"6`R&Jf4:T+YbehB)d`n8'gNj$IG<"LZaMQg!6S1u!E(`dM3Dp,Bpe4%o$]AX9!iCu=?ak97=kJIZK29DK(/Qs#rFl9lps.>"get3:*6A1&I-[@
 :)d#5O&286kk?2\2nOu<c_<4m]gk(<t0P[FFi8?[m6gtMjYRLU<T5IlBJ@`ki:CFtSGFjQI(-J+JgRmb]K?l at W\$1+S+^jR`f.ClK(:GCEi6sBkKj!&_J:l0)"LinMkICJ)!BBjZ\+kWq1C_0!i2q>uCgcd,6bpNNnP$ErGbuY._BruaKl%)TpiP9%"aA^)pN-oHZ`ojPi"f-J\c$4C3;?07n-P"c)T"%AP(m,lL4Fp&l7m0b(:GC1_Bs!4qMj;0["-+O8K&Aj2!!N@&Q1lCcA(kq0>;`.`V5JfqR`A%GP:;&l6`u)A<_RlI'WOl25L34n+?PD at .?ogLaX:BSta<WS\8Jd$_%k$a&i9IWi%D#bAScZ5hj4.8GhI4pWN$>@rSn/_tiRA!Wu'H>9A6-h:WLWrkgr3h>G7\r`4KOYJ34*9u0eUm$Tf)q=>%5;Yd<_rj2k?kMs#RlLOS*msu,EVn^O2.0i%j4E(&/n9lq;6r.I0hIc:O.qCO=V.e/\VlU_ZBk1P"pQLL"fl_,&1F]Z7X\^Utk%s#65I^q^7?pdd;5NRC.8ACV1Xo65 at 9]F/Ufhn"`K&c_pl6Ia6d*)C(M7+=;(e(-,42XJhV at YMWK?Kdp`NS6Vae68g>)Ds/=r8"\P2"@1qD4uT2()BO.@/VcbB1OWHp0H*W=K>`A@)cAMS7iJ1o>_*bb^?`=1S2UMX$F.#Va#;(e'B^q>/9DjQN^@`RGTpmr\Ac"AQC/F5K<R at H%OW^YX3 at pRsfi)B+oWgjOWiCP>4-L4l=YHBSsOO+6!af2%g]lDfd46S.`"q497efY+daX[@8,$g]00c&G7\_ at o"Kc,46qqsR"._!U0BrYm6l?T3TQV$!&.rr&@8(.MD5#j<mG^*,6]=eLP+arFZ`]Fc/-50,YI$$="[k06(<R-?gn>+IdiC6hJSg#>`Q52h;[i!2@]P-Pg/?lPZfs!6hgA5"Xq+p6BIjHb=$,QYA>EA at 5qMjrMH0s
 qTrr1*]T=Fp-TD+iQMu:3bhi$%"<PKuR#9U:%Q&MMTWB(Iq$I\ragkJV\@Q0T8]W]$uOEW)PdMEWqYma4fIQt`k`4]>:EcI!GVrJQ^*Pn[KCS@>/1%:g#^BB$(pDaCpA#NFj^3-$^l_idh2_Vjlp<-eP<-#!ep#K%9]_r?8j5A:,e!u4a]Le5e:nGV4kUgoH7G8s;M^W%rStJ.G``4R]P-fT*X\pFq5&lHZW*f=W"c7-N3l4f)3EO2O$1aE,:<7HNr^J2,&(bSo9Md5E9dWfdl`IVrT/#^$AAC\W1JGV&0;@A#]-2Rko+E<7XU.d/1*toY((kdfMAFZ20Xq3CQ:'HCDE[`YT.18mh\psIZ?piQ'CGnrn_cc^`Z/i9H$ZTN:K!o?M6iAg)G*VN%hCl!)3Hg,(Ss6=M&.(;SD^uhR'uV]F2cbjB45L]S9-<#dN#XdAfUF_b!=p\)B+bqo_l0V8eeV8Tb"%GJal;]0f]FA.6e:1:He*NYdHbS at 4M]aENCqRKd+iH.>i6N?bjT<9r9DQ",ZE=b/eC9#u.C.!N+^u>(jV<re2i5fr]:mD?S*s>'PXhPUA3Y?TPnl;^Fuojs[DBDV$p1I:*NRl#0tY6oT+":IoD0h-<(2qkf[h9a<S]]Dq;af.-&tBN(KHr+n+8_Q6g?f^Pq\(SYYraCt+.eCkfLG+eVRYA_ms%\+uq<TuL"7a8-ZF-t at PQ=Q^[eTLK_, at Bm&mBiQlUJ9T`q)$Lnn2(L8CE8?P^XLc]l%AX\^4;=R6iAjD67$gO<D7hr7X[/h3[(\d53>Y]T,7?U&oH-V>NK!U2p:$cr;gVpKtW*iaOncsP1V34C:Z;/UHQ$7"P3t._eul7^ZG6f435R$T2 at M'TWZB<prA!tV9-(M?Ln'&2[6alOr,$J^%1.I:HeIs%<pRp+HIaRB")hg`)9Rrgc<dC78HA=K=cm5(VlB#m13S%0CIq"mnY"[;04C",Pc;l"t/2ET7:9ga!
 rTmTHKu#h'YNgf64:2NN/S(XV+obM*[$[KrPpgZ'!)1Q$HDJ._d+dTUH"qHSs'bQ8(t$f7V('ITbT_nZi;Do^@!.jU)i^&2nZK?@$m9+W.["qerO:&E4-8G[Y(@X'Rn%2ai;IE-q[%7n7)3F/[qgh7#Du[b<uC=^hQ\dqdak`]_WbfZQds:.3&j%l#/2^QGFcGt0#dZKpAg^p94AFB-S-@"KZ<#99h?8kp"=RkTrY4O7,feb^K_GSGNtMSI+7lLdEcnF7r1ch+CBB>AcW]S'A*Z$NDc;=_a_9)[q<(FQD)THN>"?!FgU_-`+kKI(b3n2'1BKdm2T>ueR_-><7!Yc/_'/\%So?(PU9X:T$;N4.+>]fbsea[!]p0OTW<fXQgX('D<0?=nid12<]%S+[lSptO#^Z_hF'/rk\moGinb+1u*5X+INk8&luQ4]R[[?>'_UiDV at Tg_teOP.85=DiPTCecsWUOrUiHJl!I,JIdGS>."hN(`cgW`o8q/pU3<XAoA^m@!(hPF,N+C<&*Rt"^S1 at D=Q9CpfcHR$nfI7-h0oNp$BO.<!bb`+)bF?[13]QD.#9<q)UFBpk/>$4hrI0q6SHl!r&gLbAk?seYiV#ZV'a]0UrZ\(a[]7Z8\n\lgp)52-#5=DE>5')se\0 at .F74$stC#^!-q2>X/**U0gi=Zf$\!XFW/1DtGc^-njf<+q)#Y9Am4_C6uF`E6HoP.,6[#*jaG<7b`@8ASR#d)&lkQiF*&kAOE&<"WjhuaL0G#-Sft"P6PAJ:RtRQ*#t#k)r%kq-.W8We>(J+*XgB_hc7WOna8!;Xduhq2Tc'`lWA%E8Ji;@'(lApkQ`:$GZRm6nF2cNm^<;d#-METQV(d*PhT<Do1JD$QZS:V[gS)p+1',1.0AGU+uT_[0#nUt"KrgKgc##1^^Q-6QDc/pMo@:_nA8:FE at L0b?Ib&Y>b[ZZ&k,7)2]aW8AYBi:Au;"6OO;KkH.A!U6Sqn8J
 LVGIL@?nQ6+T[`cV9]AFB'Uja&+6jlO71pTr4nKbMXggi?&p4][JK5aC9?Hh"W-=-hAgKQ$bjt+.mF_&`(AI2E"'uH4C^hZBk^C<T7E](8%(t;U?.#r,h7:,umO_XrFCBs*+`IBphY]@?=L*n9r!iNGX1+X.1j'l[S0'4J8&Ur4]G5BTH<XSSF]snZ!#$`Rd+gES\8l(2HmmEL/&:;[_`F3>^Mg:\C2$6?8bX8Mbgh4#h-!X39#-8p+Z)AYklfHcAuslfo.AZ/YgaK`mfYV;YS3ULC`A=&h>.>UHA=JJI'bpL\X=Z-1eR[*HN08.iRVl]8\.ctFmo\m:JGiJDM[)g,iPLEkOHjl9.T)(t#B-)9CVQDmuNMM'gDkqmg^$]?S&^(dPUVt7cD(.i^9MkeUt18.G0?G["L[kqH*;akRCI;Z at GD-QO!pOBWZZBSlOPtOtGJr`OXVh.0;XA>_E=&hk&9soY]\#;(Si;35/^6..cr66]of]b;5LDH1+:UbRqhE"8V+M&l(djjg.ieX`)#Ue,th5G3SVlNgA3m=(gLSTJ:iI&./:5qW[;E4h>bg;\qC6NY at bJrt.Gk>t*Lp'g<9Hs&*<XI$"Ts,Ba)4AXsK:.QrQFL9bq,I4.%HU/-0t9pF^hm<>WsQnMi;5)TSuLO]O"NO%'7<bgS4I$"%5$?Pb2qkd4FC'SZ at r8Jf),0_rnpXehnASaifah&&n.0%I)0(eM3b<`X!?:Vi?8jYK_Vne]/3M8od+ZdT^^,4Wr;ot=.tS#`qBuABHTK>@@N3hBZ?BIAR,WY:Zsa*H'.QX2%&LsO)q80Ii1-7aFr27#iN.c,SVrfCTGK[\t/Um73ZhgcpgN3A/P=M0`PF-'9NO)KHaq$#Q$87Ab+8>YEC%tas\Q\E;dfQg#pf_,5K"E2a=tRcINl>,CBk6Be$lZ-l;ZbjhHn*MbkC-oS&/^oq/_SEAIA>;EAPRj<(3GpsNqqK[37#Jna96/;%Jg
 N.qjaLV&J</,<:gN,0bN5*],`f=o#nLAZu'/(c*idN6+/fLa7[jM*@i,#2Nc-RVk")'ssCT[BWq&5j#+%8bU3+bZ(Ync`Pj85i^1dL_)VB!VOu4?U"=.5:qS:"<Z85r^kb\Tr.u[>BWApQX=WW&,8U\9E%JW9<^@Z#rj!%HSb.,TE-e&bS7L4gj],Z(Y$T'gY*,;q`.MN$<U<Mpb]1iV`Tn<);hO&i3^U`Zb[D-R-.tna5)^4XF^eD/7,\nM-c0GOO=lmO>E7;/%S5E-QUu[k12 at fb`PAlcJn-)lu-5Doepn;9uST1[CVFiXX<gFFHuG*$ICTZe<]B9?95X,qG^Z%-JjGpOI-c#/e&AelQVql^mMf?oT7a[Vf5#Qe_RB!=h;1UK^">ACO3Z^qmdq\?PBM0`[.\j7]ASi8B*,l]uZhM%-A\VkA?VqbnMSnEIB($^_4Dm8",*_3[BmmO>CAoGl^ue4Kh1Kh^":^'7P4l^mMfi8A\4iff:Y$W&dmrM^8jpsqSS2W/IWDL\Yg%fULjb"b\4lShG"^U3Fq^&`u[ES]Ui0G0],T,'*gS#!mV[Z"Ch%QO7-_KH<cS)""M!$(p]An0Xq at K9`LOkZMnY]qKd"""(jqpPUcn<o$h(=7,IP>Nh>?ktXlF8*s#:d+'OXU[>c>dq3HXP_+d:CFtSVdXZTW12TAZiD(nVBP^;YM[E>#?6I]fH^p4YRP"V2G&P5D&K`Z*H:M9L>WhZ at 2f7X51:(u_W$u<Y]qKd^as:hnA/`UJkoK2dh$,"P;IM"2Vkgl!=,7_(:UMmVBOmUdkJ at e=kJJ5GU>uaeo,*K8ddo%a=M/"0FQVHAmpl[/=pP]3;?07E!s"V%06^+BaATbnOu<;Kh^"RDHlFumNGsR2U`5m!pV,-<a#J551:'jJnJN at D-J$.n?%%0Cgcd,6bpO9@<;m`YRP%29TfT5T#mprl7`U8UgY%I+j at eMBgCKbe4L+a_.O[<:RHiQ#`E>
 Y1b>54#d^a,)Vf0[Mq\uG$FoV:)M20oE&\r/<FZr!>JMe+2T&"nX\\H_NGO?o>"j_]\D*=oW\Ft!/U6eZ2QOhKCq&>*fPFTJk?2\rgNNRUBaAT2QT_dZNG/Y^_<X%c))c7b+Z@\a49*;W"Lm=JHu)iCBaAUmZ`r,a)Vqi>!UD\M))d6 at Ab08/AeQ-~>endstream
+endobj
+% 'FormXob.c8ba08e347e6847214d84c863a661d07': class PDFImageXObject 
+6 0 obj
+<< /BitsPerComponent 8
+ /ColorSpace /DeviceRGB
+ /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Height 45
+ /Length 6345
+ /Subtype /Image
+ /Type /XObject
+ /Width 2008 >>
+stream
+Gb"/l^M at +F(<?FgZ/la at kpGXm3R*^:-A=Nu[=uG79WFn-9&$!o0a%Q43"V8ti5KTh=L`>_PS==SM+pNL-W1X)>0#dm+i=er1NUi)1\Y4hpS?,j08h(22fF0%]DBg`B,1jTzzzzzzzzzzzzzzzzzzzk[`]qf;lL_m>oGng:FS8q+e=j5Q,n at fi@?+-A+3PQ<c?bbO5Agc+B$Id_>Il2qd,\3IgA4:UZTq_3I9s6<aMGUe<@G]-lDbS\4;)1aDaqC85=>/A#Wsz!!!#BkN:Sj=)L,O<V=lOIruckUD;b4bqGBj[8 at rjd18J?3jMl4At5m`PL/$2q763],HgjJ\@qk%NV>XrS7I$B5_fZ<8ig+dHJ+9kj2/3Ne[D!<eH#XMz!+=.fhl]C1SiM;dk\GW0f\Jbs<p9=+;<qD=s%8]d*R.rXrIpZL^&;Kg5[HPHGRf\3eYMm'9^NPp?BkQlz!!$]?,.34sq=tWSr7IYO_%CL#bi^Hk&cO`X5+8;0PL._T1)%jNM2D#`h*87kiIaV68T?l>p+'>nlY+sGBg?G;Y=\fqz!!'CG[qcS:l^Q"Dl"Fu(&Su=.'X_gHq!U=o5#p^be'WQfLgI9pjZ^&.RS*Ehg!s=6[/J,WX\1 at Y[\('9>6t90z!!"h&C.5;;=gWc3nW;=i>\,.,a](-iK\#;S4FXH at lQemrC@=,Q2dX";0-nYP5;&W%<JT/e<=9:N"TSN&z0[QoBCAs=jdYYlhA%9Z/iK2WNk%d`P8Vm.!]'CWS$daRs50,JPi;ioYz!'oS"T71X_,!AM6Fril7b<g17c+B#t*8UMLr[8is-&CVHO$;2u^@CpjP8N:@8N%=JMV'`UO3&=e*>LY1.R.%LFRi,.nmE)Ql&%I=I?S2(*R,[U3.ai"33V=4:"]Bp3T+Q2*e`$2l5&Q4=99/M6o4YuHM-p`bO#N>=1<e\q!tIM^\cm`=_#4PI*Y?`C+#308fp5*;gS<M'BpoPG?UObLt!
 \U:iXoA<CnggAq$],8nI2fz!!%P;n/Sm(.`TJD5%H at 6DJqb=An*fArg(UEOcO8q>!aAG*q?4TYgU>CrBk9oeSd9J at 2-6HbDIa\0).-Nn(K1Q3G<+ZUpd!J2]c#?<!p_u,9s3k;hklqjEm!r<*ahGTk6tUm1sF!(BcP#U\WUDBr_$X at 0.;3:-Ks][,&Tuk!0SSD6G!1+\P0APZU<Mrm8?g3dC>iftl4 at TAOtlq;;0XlG]aOq\Lp-20L-4,(8i*Aopo(3>8QLPV at UR@BrBq91>,:(SEoW_CHAL3NMWPOmeHRm&/q&Jdp2W:/;Q:3cV;Wz!!'fSAW.;'\I(:a4rQPMd-s;r8qRmUoMR"B,LgHiBLZ^<d+m>N^YZN7rM42mKF`CA1+gb)%#=JpT[f8"QlUHVrJK1?269.AT[0^>&^?'4*XSh]*dkV\jr;TP<EX.NN1L!i:2,iVj(6(fi5^Z>p9\,[R&`jU=`ZI4(KW*l=1>4'HRZMR.*%]2g-B>TO@\]cDOGGqUh)IObZ<X#d)IJ,7A\i.[-bD'8+6YDXraZ6f'V#9=uYmsggUHfz!.`UneV]:qO-0(el%)e9s"nAfebWrGX0BW&X?*24SR28?[&:9L8\Hn(%[A^?(hfn8hWcS7S?Z`Idcq_*dYr<PHq$VCr9kWUNomgb4H^ab.MK5_iu<tJ1N^hA5HX[;[-dkKLU8X5/&$@Mq0BZ_pWGYe3_fCBrJR#LdYupOom1,iA?kG6Y(].,m5LufXtuH&.T!fJ-L`KI6)7_Te]:A+C=P'12`P=Kz!!(q:dcqH5-akllG0lFUoX[;ap!LpL<`CYFUT-db35%(/N812llMKV*K2Q at 48S]kjVD?lVC%3bpk81K`^S<C.ip/DZK?EFAi>h at 9\nr&6hIf8X7t8pu\GUH9n3Og;oPn$&nNKK7As182V32QWiEB?B];9.=<4a]hQWO(kdM*"k:"o#XH4nML"onW'!!!!YBllGAj.3t:B[_
 b=IH1:Pj^Q+El%mfKN44GFLujWuK0A>daqc31U8[!W)%N@;N`Q`\f!`f, at J=2fI?&&4o36Y<o];3Q'7Q]f1ST"%1spWQ#bN#\UW<klm`";.0]D+p]4]H(l/G.niN6VH#>%q8S1gaD$NY*B`MDTb<i,/r&$9<imO-<S"OX)LROUq4W at hr3WfLct9?.smH!KqUz!!!#M%AsLPBap*1>nl&!LmK!^7<_;8SS^_DH0*&`%mS`*9ZYF)D,&n"/+<#N(@C;MQ7>%"D)A<]?P>mdUe at P33sKris!,"D(10<GZ8/GpU\VpgZfT/L5e-_m3l/NWCY]tO^lQ7Bm*1P-&8j&%XN^+Oj[@8us3!LmVWY5`If2'8G+.r=Zh-Mj$'VOrXgG1._<Ia!V.VO>X8E+J7P.h%g1B6PR[Kdb+)%!`]WhM<z!!$ecdfb[Jf%K3I42KC-s#&#de;eME*Xgf3kk5`#s"b++hq^NHR[e4p$teI[ldI[)d at SbpU<H+_8sTO2"Xguo,W@@QauFFNY?(g\<L@@t2Z2+4q:]Ck)@,=#K$rRlD8%_3V.FCHlp!BeXn,5-^lQ7BN4"c(=H(4aR?lZebJWYZ]bdSAQgVH_:k"[8]R0?WeV_[*)uo%ek_*t_9tM1"(Cd[cCq6iN>!;8\OY#XBQ(K2QW+A\bl;`2KY*(V(^%KL^X+b6M'H^h\a^q=rKFgHU+bUCnBH:[)L&-FW(T+I$3>KQ!<taCXHbmJ^7<lPuO4Nf@"2_96e&r0k;gr:g)]84i(1uugCo!"?1F(WCF[tR`cluu#,O<J?XkBr?kSq6FG%F28NHUR')qf&M`T:5RF3FYL`er'QbIB=6+r=kHG^<Neipra2\K>)4.PK?skHiYpj54+gQHZ^O_72tK>0<'1P3M&l at 8GJN'n:fP]-fAYA4=[.)mmbI.4t-U]EOL9 at 5sBF/cG]E9Wl?V8Xp>Y#U+j463s9]bP8]`.<sMEHb"55Zn#YYXC_K5cS<qn
 N@\tuM:(gu+\lfS]1+T1RL7Z8?O"=b"_LIb7^Jj_;`"mY8hCn7A)DQ<)6c3&bd5gHI'$])8Z:1M)QN2hKK81F+9)P#dBR9Dr2bh"M&,*bJ+:t'eZDO!`@n\B_u`$G+>B&I$r4DMN)s*'Y26g=a*:NPqdB7KBptHBZY8nWLd,NIYiVpdae(pLf^f$DYt89-==Js'B^AtHKFgHU+bUCnCEtLVqk,H;^#![J)YQo7XdnIUmlhh"CO!8!7Y[2^3F84]W];bEC2V9".V#obh:hAJ[VB#l/82/(9+/p&FE2d#4]NN(F#Ed+VrTl#J008b)=+m+b\(3d::/JOS!<d=`_JpEWlQd>G(A%q1\k3f%GcMTo8>@dhA at K`+g!9c"R.n#TNlpEXc9[tKA/u;hXUFlC`XV3r<7ic63n`f&4.aC>+0Zia3^nY^D#hQi%^VjfqUa[=DN/h]8W]3GYP[=WVLI-YH0i-e=X1Da]35QW at P@NhUo34h'/tr9#J*4q-#XJ$e4\*Wo:.Q+QkcIJ04e7XkK&jV5d\Ll"lbt>9WS&l*JK[GU"M3ofV,^iJ.q5J<*h at g:c3:G/1r2S[I<=MjEo:g"ekL1*C9\T,J^bb7;fGknp;J=4goL.Z"g*#U+j463naA>ZK7c8,U)I^i+7.7RV!;9G.MAD_u- at G#6_Ap$>_$4.i+N0+CjhN%iij/=WN%Bip'11ojI-1"!!UGj\uX6edjr]s[[]Lu45N4e4:U*:Pb5K;3`oR<<LpGe*c\&g.,'dq=:r:`V+5VrGM:Zkb\b?KXVccMb]3H%PZkn`An:LD=_\:OgZ[F]"O5*NotrKFgHU+bUCnX"!pn4hiMQBJalh/&RQ`6[nH)T5!XP)`49L.]KW(FPL`OH1n*7GYin,s!D*^#q[p at .3*XYM=5T$1154R7M.6-d<oTFDkJOsg$"*&g<VJYr%tPSVAB]K)o_Tkj[A_!It$_Nh6Z:7gAC'JdPA5EZ30m0Au8ima'&b
 i&5/W7FYG0*_Y6C;)EgB^pR6Kul5l-?2]3E]Yd]`_mMI=J3L4[a#U+j463n`f:8YD5lW[YW7H:qEg6JZ%Tt)R at SL;6eG\Io\mN2r$"6jtmSSkS0GYil,[bo\R`=p<2dH3\4lKjT"2LN(%b)YUC7:eFRn63r50/poknC+c<rB at m!'#uXX-^kQqE-84b5\#_m8>9\-O`=lQNjV\-*@p"q;pLC3:]'$jbrS$SA;WtmUjH[@)ihMcX"oI,OAEXJOd0hQFD)s?9=$\GGYXE,#U+j463n`f&6cY]F27S"^)@XN:F>OP!jt8.m25im(j8a/(*h at NCeO)6[h38>qMe4!g'XtRX3o`t(uAQ\!uh?)^6,*pPJmM at o=9f\m:a4GTP9gV[)uqL\&RM!K`7"""+H[KP42O<CXa<lIm/=$3RRE8B-H\lN-QgM7 at KE3k/3i,)/k?FXp)AXb=Io at DZ3+&d:7B\d4. at HUmYdqAFG3i.;M6`Jn&.;q^uBg[H\daUbiJNH%?Mn#U+j463s]UZo%4P_dSiqNIud)f0nA4]G$[#S6DYJdb'dF<;he?a'PfQ:msp at X'o&NDWfK:8R&5_)%We`=E^\&IV`?)'=q7/eWHWHkhEH_18\6&WRHUX8;p9taXm$7[5Qpf$R+OF5;N!Kl%+dKJW1f,[.EIJ"+H\:brE16N$4[$EVXm"lL\K,GN&5OhSIaE;SQT=/A99;YP'F%2Q'gg>&!)-)4[>E0j<Zd8@<?sY+0pU\+\SC0'YIl469QkV2<O.V:PhnKFgHU+bUDq7+F-_K<@bBB_2b2B8JU3(u+jpJl`hA2QPH*DJ^&>%=`Hj$b=8P+HTbW>'oXb&>MmhLU<AlpF#l_:8-7Q[B2c.hkp?1=J/1`6X$n[40+K5p=e7aEhsc^R[TErblL'.[D+Co3Q2;4>`c)Rm`":#s5KlT&-'g7n%RS+&?biT^[K6nH8=,H*oB'CS2Vn""`7/Z!2]XtD(DEZZ1E^bb"i
 T9)mfJ9p>XNo"k(n#nr9b5A]HPT9q7"#)^5P2KFgHU+b\3'b-n:?5.kadCt+X#ps2q[P8gsbM";^YV^XDq[.`5!VdUdG?)j;HAaj5/_LG?;4fP55D"H>Tb_ at u%T"i(HSup8Pn$>8XoA$dLD5AuYo?@:`cA=U41rr]lhr8B;924HoMc6O[YkaF1eX2#RY6ADt/=^/63BG_O7SU5QkaruPf,]$pN5oMBAJo?LCI02a4lO+qhEf4[J'?tVQiI*dz`s*dQ8lSJ8i'5iAn06#i^5WE9_2 at mh_iOPtZ?T4kBn5SuC?[gc0(g:sC04'h[sJ_tGO0F1cXU2aa,\q6WU;*T1uD5kXR^djXR\g5baE/T3,q^C'I/gMX_`cnHZ?IagIE@[q=&l]q,LUYF2,_onh)lg>4=WU[#28Od>C.SjPTZ(3el'_hgGTsnGNgsz!!$+Y4Rp#1(=TQ&PU<;j*P,D`4%6Tu6>8cmK;;2%F'*aaL@]$/`-H*k<i\!TZ@@i"C.EE"*,AlH1I/PJNLnJ=\7j-jjtQ7;^8Dl\A8c7rXpfMWa at pZj8^eibOcFQi7QYfIXq%i*1k$*e0uDTr,sthljX+=B*V&4DmFO?fX8`=e-tf<b9D%U:NB+TOz!!!#MJt$s+g!2s,`l9+*B=N+HO.SLtj at F,tinlpV46XPhH\3)+eKaI&.2VD)eLFLPL,L'LBlldCCWNar)(QF at lrt@\C9mA[m1r=9;H<*&Xk;4e)i:+q'<5DMS4HkE<-<*)2[;HeQRQckL'Pm-<`<"?0<RJKY&7rd[V"5VHS21U:Do?C,q>FpW`=*1[GXh)<5&5ka(R&r+B"6W7 at .qo%[2CrDuB9OeV"g+z!!!",Q20C:?U+I!4#8V:SA- at 7Oe5.u3TRV#<Ecf(Zr1J>CW?<kJ%TafT&s.0'#lp#Yp%Zg6hR8Q.lSN8Fc[*\g_.03YJ$Elmo2N=H98rMWiFd[_#cDZT4c_Rpf*#iX49+OL&@\SR$X
 Fip/\!h98b>A(MQG5gU/$`IEe+^PCZA2&McSo%h1`t=sq)8k+5O;H:FsugiHj7cU9Vr[W(n.$0aMHQ*LA;]stY!]smb5p!9ui=atndmJVs0WXaDARtQEW%n^?&>rqdb#YtKGJsKi.3M>2WSR\HQHj-,b@?#'a82!OD#=g7C7XI?jIP/CSJHl/TzJE=)KJ!_;@B)&;FBQ8lsYHmcp3 at Dto6or%&)_5D^]*b at 3/l%nsI.d$%,/"?]q;(cu[i\!i]/g\hkfiBmd+'58OpRa'BfY"M21:q_5QLibzJ<PM'8F*R^"onW'z!!!#'p1U?PSiM:9fi8+Szz!*FTTisXu3bH;``zz!5R<`*CMmEZ&\kbzz!%/$7+ft_Ezz!78m6j6,lZn4cp+Xr79?zzzzzzX9&>)@BDpR~>endstream
+endobj
+% 'F4': class PDFType1Font 
+7 0 obj
+% Font Courier
+<< /BaseFont /Courier
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+8 0 obj
+% Page dictionary
+<< /Contents 18 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page2': class PDFPage 
+9 0 obj
+% Page dictionary
+<< /Contents 19 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page3': class PDFPage 
+10 0 obj
+% Page dictionary
+<< /Contents 20 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page4': class PDFPage 
+11 0 obj
+% Page dictionary
+<< /Contents 21 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page5': class PDFPage 
+12 0 obj
+% Page dictionary
+<< /Contents 22 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page6': class PDFPage 
+13 0 obj
+% Page dictionary
+<< /Contents 23 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page7': class PDFPage 
+14 0 obj
+% Page dictionary
+<< /Contents 24 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 17 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.0086924a45e007495af99df70126eb1b 5 0 R
+ /FormXob.c8ba08e347e6847214d84c863a661d07 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R15': class PDFCatalog 
+15 0 obj
+% Document Root
+<< /Outlines 25 0 R
+ /PageMode /UseNone
+ /Pages 17 0 R
+ /Type /Catalog >>
+endobj
+% 'R16': class PDFInfo 
+16 0 obj
+<< /Author (\(anonymous\))
+ /CreationDate (D:20121219123141+05'00')
+ /Creator (\(unspecified\))
+ /Keywords ()
+ /Producer (ReportLab PDF Library - www.reportlab.com)
+ /Subject (\(unspecified\))
+ /Title (\(anonymous\)) >>
+endobj
+% 'R17': class PDFPages 
+17 0 obj
+% page tree
+<< /Count 7
+ /Kids [ 8 0 R
+ 9 0 R
+ 10 0 R
+ 11 0 R
+ 12 0 R
+ 13 0 R
+ 14 0 R ]
+ /Type /Pages >>
+endobj
+% 'R18': class PDFStream 
+18 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 2049 >>
+stream
+Gb"/';01JM&q9S6s22RAg9G at TU+!!^F#320^:'64:87CKTe at Mp8Z542!<F_Mp\-6fMK5ddS\B4nj4GQ\_!^4:Da-KY.)o$qrg"#@%kG6%9diSI[AG4-10VAcQ`J;f&!n*KQ;Y"r>FItU@"TWUqjG`C^6m?KTul'@Y^R9\>>**ShpJ"!@Uhj=V0-Wu<#Y/*WOm(^o`qV5*?<nj:/=BPV]eGdMjA at o9]0qWo5'8b0/%3\NG\Z-MC=K$q(g2_2Nr+hlV+CHbA'2$P;JUp;U>emH1<6VS#*GTk9QMZZRk.dj/:bV73UZES7Zi10=#klACVkS(\q%kGuDWQ_&NAf?CoDN@^jHg7TRsL&Ea=e*5<KOc)6;Ah!Y??E>Z*Q-`G#cP3082.74b&rdF?<[`1 at S/aU/hl'9U70/iCqDb,$#gKo`r+!$c?VL!0W[B\5hZ;g-[V)RJDP!n%s'M4XSbaQIHR7V1ZG-[hXl`Op1<TTNPUOj$)Z2nQ)G;!j5GRTVF;mgY,A=GVsX*&Mhj#8@[T+(U(d#Lgbo,msWq]?$/B/Z!Nr)kh[VnD*dljSbcFqVdE<d'WCb:_/LUMajjV8/afj]8Dm*b.N<[$JRSM\ej$,IOnq0mXAI.cWU2O"H:jchQ'Q??-$CJ.\(3S5k8Ub]_-GQ,Z3"+IbjS;Mc;'QhO`*!FN-R`(>%_]bGu:8borl6;f2s29Cn2MCG(#O&#h"N\_EXdIJjXH(L%X7E[!+kHNbEF.RRbJ/W<j/3MMB0q-A87<iIJ?_`+f_#B&1^9t,-\=\i&AX&m8BO&0Fi,Zr''E5qoIL_t0_h'jm.60?\>jib\-i<^1UX'V&[OCmZ7iQljh/mst+kM'q^hZ+h,al[bA-M[,7?]MoG5YtFkE)=tk>M*a=b"tq41WTS_[HQkN$dHT`+'RX2q_G>YZ8MoiTa9u7[6r at dPk&c0\DhKXQ]8raFPk*+3dQTZ*+507035@:SCtWNSC3!KuPc4;JQ^
 g2!>Eb]^@)?mh at 8j8Hi#%#Ceb7/N>n.MY9af/Z2Wo<BEamfN\uO8tm357<g39Gp:S3k7mPL4]F=$K(E<kG%EQE at I1NIfeWBH!^k"ZaGC?`ifSS5B3BDY!C3LrA)?O2dZl;9 at na>J&XVUAARi'5O0RqrD6U;X/1N[lT]6Z<6:CH at U)K3j.Supl_#O at Ip#E7E<uCfk]n9ssbM%%X;RqU40i$\P#ha0Qd1o2"CA>hM:d9S+6[+3YJS/`ndIkV/G8BApOcW)>3*GCca[:'/2Jrrn&_\n/&e./NB3!Q8f#!abh2Z4Rb*abHmKFYSjj=+/@uDu\5"$:9pGM"QlWMs+_:7>L!ZV0K\"Z^W-a,Fn18KJAR"Q-G<0c'QXG1OpBd:3q#1[C8rLgO%#B/hCg2MNjTO\3 at d.'^g5_OdPn>::qmr=*W%0eg=/<Di<4glVE(3foE&'>3(oc2D!,>#4e2#H:'A=CQdT0k\9:SL#7j8n`S:S5Vq"cfCAI#Tqd"Jm'Bd/nZpn^M]5m+1A5<Tl]A=r8cp9C6jnXm*L*J]&:-a"nHA_a1r$!$\/pe:VGER%dP`$-[4;Y=:f,d8<Y1/m]dllpVXU.i(t;!I.B/2kF"D)S?o"28WS;=k8A<4cs\M2n3,?(/2$^EdJ3Dn>66gaPi";6ilb;QpQ&h8GNai.-hd%Zmq_khR9HMKbn6$Z'Kj6OL-F>`p;7mG6nN2.,Z at F6pKo<?Kf?5KquPg-]nWqY\::D@>Ccb06M;fNphn#:_g]e$ksfTh>83'M:Y([;N(MiLrSU6B>5,0=KASGkrpl\o`<5W*o?QiGhpu=rpZI76g#H;%i%:H*^fW9*&cEX*H%L.9M^Oe;DXjbdJq.E]-mD&k_&<Pj;3VV-Y:X_q,*BZQeP at K_s%oqhqVi at jcb1KJ`irVjBogS+jpK;h!qXU"kDE6dSAJj+9tFq-CgQPrAMtjpB2-+mjqh1LLckP.</JN?`!N2.K6?+?^:/"XGd
 J"!1hQW:Lu80.Z<c-iI;O9Nk:W>QD$Bf1Un=0D?i$afC&Jg#^!.Kr!hY2DKL0oJ'('7?N~>endstream
+endobj
+% 'R19': class PDFStream 
+19 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1590 >>
+stream
+Gb"/&9lo&I&A<G1s'`s7.NOp(.I]]m[YIQA8S1jZWATk\Ee2<.KTm`!!gJoJqX/qZ7AWV at A:!G_[Ubg,Z1%&^p4ED at oGb<T=U";*"ZNmk"<jiR#_XR5o`BSJ?!b1U]Pqp8"=_ZNJJSi<1_K*A/0[X5"fs2 at rUCiO^6_hu,)GkG]TfPR['J at O;<eD-FDY5fRRaT.$`b?S6T;K4e*'Be+ at P9BrGWX9aV5Am,hA:u2n-B#rmY`0pX=@)$7R1kI@?.+Z!?E[iWinNlX1/tp#X.CB.jUeSo`g9E?kZcpQ)Ffl!!p4/jt;2.ZuIsGq-*V?H>)9E^(GCdAQ-g;*\JD)q),_\9Bo2AOnidTMaU+[[SN3I(0Yh3iB9&)MG3-ln?<>[BeOKHuGp/]c*E/JAd:o"samGaLKJXaD-Ve"TiCTX4Eh1:^3^MC/\UP<^S\2Up2"6Urf(FYq-@:/QVe*Z18!qRd\)6$4#.gU89rWk%4s+dSWj6`gm=8XU!/[0\tI@]8gca at F.)Pq:(f-0uXAtQB956+PRi$RMI^'g$XD at OW(;Tqub@>c>"ffF'=T%q at b<M+JZ/U'*;C&Nfr3j$b7V;mXANZ<pi/7h0(C9XD8Hdra83TksXW8.%V[_CPI(]c at IB<]Pqgu)Q#4piMB43ji\&&6%B at 0_,6R#rAXd!]Z:VLENl)1ac4Tu[<j70IqW(GmK;g*gjgc<CkQWD,4Xn9`.!jV\"olgnT4_0&hX at 0kQT".Id3rRh$\L6lY at 9=+1sW]nTF=)*OEA]U$rK6*En`MlR09f:GV\\)48IXqYSH]"Q=ib4["F)N:27&r0+&AVI/r<fs;VlcL*'s0+]MkmnQg0g/81t-^d=Ql at SRA`S-eaB6]0%V[Tgr>0t!/FN?BTL6O[M9[1mBEeBTulrJ<Geh&K@,PmLJL+)5?5hY`@\lbKqdN=Ca1g`J:,1RU7S.kiAEP;3-Z7Ag]l at 665$2T[(VE=MaWG'UmE at h%rh,4D
 QNThobEi!Zi-n6MXg,WeeK:,0NE'W1tAMSE/91=^;Bh.u>LF(GUST3ZUg<MrbQEnYTgL(Bm[M9MZ19>M:0r':t)%Z-i+6>F%fk_ at RYuQ%h7b;C7F\^+nmrp7JF/WX$dY-.&I6boU,=Ct/1KMiTGdF5_CKj at Y</7,I7R?2mF2NNPb\HbXaAb+,0sf^bj_h)')e)N:DofrJ&SH$[X at -NS]h]]^Ul%S?U1$SrC3r:mdul*tBZN":6T<XilPt+`NS()]F=$`qZ"iKJ?J1TC`&"D8[BA\'_0">(S#PJGQ6*[_M&<L^ZuZB8L;Asc"rZVL4]Ua:=DjrYU(`;TP./ueWB'<eg"D,2nP1"5;:bHq3eprue4gcmg?Eplr!G[bf(a_;(`^-u^jR;NM"W"Bd;F!1E(-0:+6%L^"aV*`IH0>(lR8eRRZ8Q'SFF]jT(m\W(lECji>:R+o1 at jW1e?WpdJc;_rt!Ku*1H7.1#="^6_kfMS_)N/#4,[u@,IOGn\=1Q*Vp5LP"R[)"@\GH>$"\c?(ZO9!Gh&Z-6CMkgq%uf.A[mp!-\o0_Mu at d=Z]U^rC]kWE/K7m4u_c!U=3IEVui;%rr?qfAZ>~>endstream
+endobj
+% 'R20': class PDFStream 
+20 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 601 >>
+stream
+GasIc9omaW&A;01J!a_3956Q6(H3hB2umE3F5Z=/P9uCF_+En^mhr`32nLQ>ng2QP]_CP_3&%qRJ!YM49b-J@#;..&J]g;FrWPLIbJir3_IEXll7g&,GesaEB:^f/,RkpS_s622ThfF\G6fsP&)WXP40/2^lHUBC1jZO+)r<jZ'CrUGd<Za<=&4L9OAV)oO`@*h+d!YQ?7sf5A+r2]&MTNjR?1$1a;CV5WjAe,'?3J""Y\f/=YB,*?R2A0B-&=<,c.im?F#i1Tid2G9JB4Q,.O^P=f-2;ig<duRFp`SY!(e:&?VV/7<nGco4071-U:\oX*44]49k8-MpA4OI0RP7Yj0aK2\srI%G$9$Q*-dgC-OAsF1e-"S;G:c\09/Dig9>1`%QHVTMuh/2]*qSG3pC$0K/!(*,Sn"7KcZ-/$!l5Ctc1GA(u-VRS"k`pet#!A!?:[E>m)rY0aV'kGd95JpIj`&RAUnWcCpemLM at e@q,un*GgLD'>_p9U0Ci0QR0jspj<jLA?S_t?d2F(d!X-1bqqZ3U, at pF1sUi)*AS$o&UcG[$jYPAFs*:1h`GMnADa/f!tk;j2*R#6qasJb>l4\LM[Tm~>endstream
+endobj
+% 'R21': class PDFStream 
+21 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 582 >>
+stream
+GatUo995Pr'SZ9Pr.hW&F?s_Q^l59cNS:=h[[QHbR)NkM(dcCj"\+oPhhqeUU/[+/, at 85'TC:QF_nkQpp7=.W-Gb#O_$,u'>^@%)=+!bJkI9d0RK-Df9lMajC/j+]*BufbHmB/%5JC"f75t+t5cS&Dl!B^ihX=:jh#U[1NdXt>2b8BAH++']\,O/,Og#*/GVKjd-V9"_`oPirf%[?G*kTp39SKa5=pB^9WWp%jj1L0b(SOEGMGKf/gfqHW"LDb/7:@>#A=]9lALc5().,i[<&,(kk"958oQ;#AS4/>SSaA6si,k*_TP&34?ob.,:imA$7[Y:abHp]84!eN,Sg+eF!37bBk>baG:lRPMlud$(p.#'Cc0g$pli\0Fnd84;5[&/N!rRkJC8tJ3d,Wb[l18S]CKe+H77W!VA(TqLb#%`A3I2Q*4;do'/Z#@\m#IrA6h>3!3fVdmUA96B]1S4Elge_1C?pDQ2=i$E^,K!F)afH!$td/*gJ&h*qsUDDoXhbI;`q1^(?<]52)"!+m-3Y9&2K%Xk[jWIi,8mZ/Zdf5h:4p)UJ87i?U$fB\n\oO-sYpG;UG^:~>endstream
+endobj
+% 'R22': class PDFStream 
+22 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1411 >>
+stream
+Gb"/&gMYb8&:HLqIi.5mDP>K(7GS"Z7G9"PJ/E5D2=9^k>YuH%]C]F*q!WQqPXmfSX#=YK%,2E:fpt-EcHM<::lM$Bq^`Y[T@\2`-D;]]onJV\b%Ua6?EZ"8mOg.R>>!!mf[;%6+)N\W#=$ZT/XB==2g"`Y%BQ24Bkp#fncdjTiQ?,OV+n)d<+tBPY3gG?r^?)@O,gC#9HT>08 at oGd/6^$W.Y5bh/[?*f?X@!PdAH_,k><3PkGpH"CaS-YeerC,X)bP&PB8GJ,c=`?o&>)\DjJ[pbXo1/ca#)eNurZuQ8uuY1!LJC^<@@,P*O4l=O*g,T-n3_3-rKG$JT2"rno]R[h88+Mf[#LW!`Xq2"$s(l2c/brK%6K3gR+4K/>9$ot)bF`_HheJ'@%#b'XenM3;J!PX4Jr.$b^sX]-$GX/-GpoS/n2ltF/!`Kp-kQqfoGS0k][Uk3Sr\.K=dUiqjQ]),Z)Nc;23`i_MFKF1bE,E?^G0@/WjE(AWH_M%g;Ln.?rD5Dr!h9_JB<[aVuk^sGb-Xh#r^I+5,A/>WQcp#BpEK7>-3Zff/AoY,F-]\k+U^)<EU[\Y3YFX_Y5_2_^2:I;.+`hQf?nRD0&3J$SWCl'0OZ$<hiUFei332/3a*qI$Co;(;>':MViXP)!GnYAe;JK*5oo#>>Ke0oX6eYQtXY:@C)@[lp?gje"1O,Zmf at io3-_[,?b%k%SFHGq9Mr at F2LjjE`^;@bf#oa$BoLK9T8]DJJfh'43\rKEGnuZm(QRTVr8eg?%B4QS1C:I0#&2gVlAMRJl$BS^c8Mt9.&6*pT:og]77Ki,%?la"i/8 at Nk!F-4bPWNaa[p2HM)(V3%=!O]l[BND`^h(Enp0;d7OZ*'YJqj?q at p"um)D[;Q)YPMR/V_igl?,O"1bHR_+fl8F\e.8"Wac#G->4d2g5$F$#^7>ODmsOO?"8YQq3I[s/(#D"2A4??@j?@I!Leq/nTKg3Fc]IP-_Vc2Ws6;
 b'0?NIOS_?)UE*U4]:;9Dcm!:KU-dK)U.D3a$AOEWnK.Tt",Im3KhuRfI67'?(ikC*TWsZg*ij4\J=D,5St;&:Uq8d'9V8t?qH1f at r(c2op)():n<dJ<"lrrsk"lclL10o`b`4RM5;>jpR2pYCCPHc4'PF>JG?kklZT"mWW,Hi3,mZbg<$S+LA8%CFhLd9b0H<3j"LrCQIDGVLmiP[(A@[sl7:2[oh.03Gn_[*]%0&,RR9 at GK3^%`F>4k":#r$<RZA<Qq.IpJes3nNR5F^!5.IoRZSjO<8:L#V(FY=cT%QN<p3<:in[I$F(['&aLgq(mDcd&D%\p0Z<:UB;"2Ef<^VqL\ac_`?jg3E9bUYmFnKrs44$(\`gr#":))SsSij!f(43%Ok,27uiG806Ze5jKI"4T^j#0E))e9E<'~>endstream
+endobj
+% 'R23': class PDFStream 
+23 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1507 >>
+stream
+Gb"/f>Ar7S'Z])5j?&m at AV6mOZ>@^4bLQe5cu*R`'mldQA"+K-.MV+mhgU't(HGV:\(rh+_+<S,,'bfUF!6rJN1ZpC/8LuPAorKe:m07C:.Z441j_TVZdY,-e!"Z#V'HR]BbHE7 at i.`pEeYg-j?oBdFS>\c7dib$.&JPF7G#D6Kb_jqk/uIWBsb39[GTI"'?u!Y$9Gp?5-96rFt0dp1l]su!g,K;Z72k=4ZU84[f4/Y;&ncZBpslp`,Ua`OdJqBeU.uWl'RC)T\&>ujBX-OP`F<Q-dcHeb-GE$r(pRb(F%.MQq_gqB9P0oW]Vg'nPG1b8JP%0ddX<Tnkk!'Le[Es14ABYm#qI]TE&ojm]BbWJ/?[qBgC9Ic8l/D+E7%DD3dM,OmNg/[rl=ZbrAK0W!U?,FeId8C0D7S]p3np\1+Df,r6phGE-R-Z<Y8Q>"DB)O]sTGY/7]A\J6tloXe/p:Sq?!RG2mMk(2V>+\YgS:DM30=,qs:[dKXhEC(g-f'^!-`.CU_/sq%0'feY,>><O3jZK7rm(R87nW&2ae=%;1Y7n(F(\8I08@,Pt[YDh7RuE,1Ni%.WUJ[OTa2q7N-QAl!LIa(h'K+MCVc4"fKJ-oq>ECGhRR+_ki)*Ri-7dh)i_,&VU5\;&aW$<6Cb]d<P]r++&cM'u-mVWBeY\La1oPS]SCFC:]QQB:/_:HdLp!i\V8fR$eDRTs7[6ij%VR.iCos?s+XAg.]CEQ2-8d!*B__g<#*Z9AOUW?aJZoi56>T`O#p/G4pJX3P?/XtR0"j0390u*M=X)m at Z-WP%'V=#ZOBic1!_UN8-&gps<j,/29^C at Umlk+^UH@;im#7c$_leeZb*An->>\!EOXaU[Z>)t=;;=4SJRpG&lp]I(L>,8R(*%pW+2ank.tjmo<=<_tgUsT/ZZTN8Irtkd9*EhOQ**%h37SUk%0P)tW7JTt35RTbPHRi at X;"]K=Y)r"2\H;%&m"!4<m95M,`EL
 M:E4Lefcc:eSCg7%Mr*tj]!!B<7^sORhN!4WK>eHE+r4Udis"13:aDb:"M9WYmG5jCG"0+Z>d?gD!PT9U)MHnc'?""r<qY.tB>E7Bb;GmLoq;2nM(sGLXY\A at JjgtLhu1tNS)4C<K>tXT0(Ind_@=l1gp65])B49)IFFk?h(.?*[roa@`W]">=X\`Ad)\'CU968qO'Ul"<VFk>4(k at 7r9QEg99Oe1B,t4/$b*?7ea1NKdV5Vk=1M(mX`NfkUN"qd[MeitK]rlcp=n4-&Z3HVqa1<EiG2+uW,-C`Ne,//%sAGb4,^$_!2(5H]g]VsTg%)I'r%F2L4]U=B1)hVL_#=124=tCO$dJ'=WcFFL=>*?D*>XCa&1Yqf%Kq<miesO)1)?Sc$aOXCdLaECj4#K^([>ApB)n,%G`W_*cFg>f=MJA*38s#p8FTocX0o)lp&%hUri/\nul>'P4X!93?Bl7f9ZH]Sq!tPito56nEoE-//Rb.^Z)tJ]WN6daZ!I+kk*phCg.kk~>endstream
+endobj
+% 'R24': class PDFStream 
+24 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 735 >>
+stream
+Gau0 at 997OU&AD62J!f8JWiVaP09-;f+gFpr#]Y!NC$V$oVg]>/53)",m7Jl0#F$R;4o$/j9i;I[%R+11!T8A6pDXT)LNX25A-1K2n?H7O:<UUUbCS9EQLh2JCK06<4R3'KH4B6AG@)GjqF_<n7M,5SfLdM%:6%isC\nc+CP&nH^Oc(jg:&lcrFZ#>HBh8=U<"7=2k2:3W'j"UQ](a#Fi+a%b8@;'-5TPoa;@nb\Smpc?SS.=\Do[G@$cd)'46k<:S)i4Q%]dk3d]!"eN:lf>`/s4>#[KuI4`%A>g'G64f`0QqNqC=31WI,e$h^>2X0!B;i5T.TNqb)_0AnUW]RkLOAT42^aTRJ-'>)Fm^1]AZOh'mXb.jehP!jkKCA(VLZm]U)GX->i,MkM<rqB4!J3(tlD"YNX6;@l*i2B/$";?O#U-cVq%]Er;m]&N4iW,;"RfC_Gj`SHF;UMNeUp>\_']=g>).2aNV0B!$(@0hb&_u-0G7L,!=X,X)Xr7eU(0q@$;&_\,_59I^%)!DRpA]M8F4\oT:VX\e67-Tj/E^YW#Mr!Cip.2EQp^'G`^=PRs7i_X(aRt+-B%c(k&'C[a$@D[D,3E\7f4q$)t)P;:oCD-)>&uaM0#0J!'*:`;`FHrg`>o_^c%3kuK'$Iu6c7'0&$/2.SCXa^.gESMGu$UT6sY&;FmgBe"jR"Ce#:fd.Q*%jc[Q''BrRGW at 61g$N.fe*@:_`G]O7J&;~>endstream
+endobj
+% 'R25': class PDFOutlines 
+25 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 26
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000585 00000 n
+0000000807 00000 n
+0000007207 00000 n
+0000013790 00000 n
+0000013949 00000 n
+0000014343 00000 n
+0000014737 00000 n
+0000015132 00000 n
+0000015527 00000 n
+0000015922 00000 n
+0000016317 00000 n
+0000016713 00000 n
+0000016851 00000 n
+0000017122 00000 n
+0000017282 00000 n
+0000019474 00000 n
+0000021207 00000 n
+0000021950 00000 n
+0000022674 00000 n
+0000024228 00000 n
+0000025878 00000 n
+0000026757 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(P3\2724\251R\311s_\335+\214\\\035K6) (P3\2724\251R\311s_\335+\214\\\035K6)] 
+
+ /Info 16 0 R
+ /Root 15 0 R
+ /Size 26 >>
+startxref
+26809
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-examples-048-paragraph-flow-controls.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-examples-048-paragraph-flow-controls.rml	                        (rev 0)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-examples-048-paragraph-flow-controls.rml	2012-12-19 17:34:18 UTC (rev 128783)
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="test_048_paragraph_flow_controls.pdf">
+
+<template pageSize="a4" leftMargin="72" showBoundary="1">
+    <pageTemplate id="page1" pageSize="a4 portrait">
+ 		<pageGraphics>
+            <setFont name="Helvetica-Bold" size="18"/>
+    	    <drawString x="35" y="783">RML Example 48: Paragraph flow controls</drawString>
+            <setFont name="Helvetica-Oblique" size="12" />
+    		<image file="logo_no_bar.png" preserveAspectRatio="1" x="488" y="749" width="72" height="72"/>
+    		<image file="strapline.png" preserveAspectRatio="1" x="35" y="0" width="525" />
+    		</pageGraphics>
+
+		<frame id="1" x1="35" y1="450" width="525" height="185"/>
+		<frame id="2" x1="35" y1="247.5" width="525" height="185"/>
+		<frame id="3" x1="35" y1="45" width="525" height="185"/>
+	</pageTemplate>
+   
+<pageTemplate id="continued" pageSize="a4 portrait">
+		<pageGraphics>
+            <setFont name="Helvetica-Bold" size="18"/>
+		    <drawString x="35" y="783">RML Example 48: Paragraph flow controls</drawString>
+            <setFont name="Helvetica-Oblique" size="12" />
+			<image file="logo_no_bar.png" preserveAspectRatio="1" x="488" y="749" width="72" height="72"/>
+			<image file="strapline.png" preserveAspectRatio="1" x="35" y="0" width="525" />
+
+		</pageGraphics>
+
+		<frame id="1" x1="35" y1="515" width="525" height="215"/>
+		<frame id="2" x1="35" y1="280" width="525" height="215"/>
+		<frame id="3" x1="35" y1="45" width="525" height="215"/>
+	</pageTemplate>
+
+</template>
+
+<stylesheet>
+		<paraStyle 
+        name="intro" 
+        fontName="Helvetica" 
+        fontSize="12" 
+        leading="12"
+
+        spaceAfter="12"/>
+	<paraStyle 
+        name="heading"
+    	fontName="Helvetica-Bold"
+    	fontSize="24"
+    	leading="12"
+    	spaceBefore = "24"
+	/>
+    <paraStyle 
+        name="h1" 
+        fontName="Helvetica-Bold" 
+        fontSize="16" 
+        spaceBefore = "0.5 cm" 
+        spaceAfter="24"/>
+    <paraStyle 
+        name="h2" 
+        fontName="Helvetica-Bold" 
+        fontSize="14"  
+        spaceBefore = "12" 
+        spaceAfter="12"/>
+    <paraStyle 
+        name="heading-normal"
+        fontName="Helvetica-Bold" 
+        fontSize="12" 
+        keepWithNext="0"
+        spaceBefore = "12"
+        spaceAfter = "12"
+    />
+    <paraStyle 
+        name="heading-keep-with-next"
+        fontName="Helvetica-Bold" 
+        fontSize="12" 
+        keepWithNext="1"
+        spaceBefore = "12"
+        spaceAfter = "12"
+    />
+    <paraStyle 
+        name="heading-page-break"
+        fontName="Helvetica-Bold" 
+        fontSize="12" 
+        pageBreakBefore="1"
+        spaceBefore = "12"
+        spaceAfter = "12"
+    />
+    <paraStyle 
+        name="heading-frame-break"
+        fontName="Helvetica-Bold" 
+        fontSize="12" 
+        frameBreakBefore="1"
+        spaceBefore = "12"
+        spaceAfter = "12"
+    />
+    <paraStyle 
+        name="sample-no-widows" 
+        fontName="Helvetica-Oblique" 
+        fontSize="10" 
+        leading="12" 
+        allowWidows="0"
+        textColor="green"/>
+    <paraStyle 
+        name="sample-yes-orphans" 
+        fontName="Helvetica-Oblique" 
+        fontSize="10" 
+        leading="12" 
+        allowOrphans="1"
+        textColor="green"/>
+    <paraStyle 
+        name="normal" 
+        fontName="Helvetica" 
+        fontSize="10" 
+        leading="12" 
+        spaceBefore="6" 
+        spaceAfter="6"/>
+    <paraStyle 
+        name="sample" 
+        fontName="Helvetica-Oblique" 
+        fontSize="10" 
+        leading="12" 
+        spaceBefore="6" 
+        spaceAfter="6" 
+        textColor="green"/>
+</stylesheet>
+
+<story firstPageTemplate="page1">
+<storyPlace x="35" y="660" width="525" height="73" origin="page">
+<para style="intro">RML (Report Markup Language) is ReportLab's own language for specifying the appearance of a printed page, which is converted into PDF by the utility rml2pdf.</para>
+<hr color="white" thickness="8pt"/>
+<para style="intro">These RML samples showcase techniques and features for generating various types of ouput and are distributed within our commercial package as test cases. Each should be self explanatory and stand alone.</para>
+<illustration height="3" width="525" align="center">
+<fill color="(0,0.99,0.97,0.0)"/>
+<rect x="0" y = "-12" width="525" height="3" round="1" fill="1"/>
+</illustration>
+</storyPlace>
+
+<setNextTemplate name="continued"/>
+
+
+<para style="h1" alignment="center">Paragraph flow controls</para>
+<para style="intro">One of the most common uses of RML is the creation of dynamic documents from raw content. However, variable content lengths can cause problems around page and frame breaks. RML has a number of built in features to deal with these.</para>
+<para style="h2">keepTogether</para>
+<para style="intro">The keepTogether tag may be wrapped around flowables and indicates that everything within should remain on the same frame. See below a paragraph WITHOUT a keepTogether tag enclosing it. Notice that the paragraph is allowed to overflow into the next frame:</para>
+<para style="sample">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. Proin sit amet felis convallis velit laoreet semper ut id felis. </para>
+<para style="intro">Now see the exact same paragraph with <font face="courier">&lt;keepTogether&gt;</font> tags used. Note the entire paragraph goes together onto the next frame.</para>
+<keepTogether>
+<para style="sample">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. Proin sit amet felis convallis velit laoreet semper ut id felis. </para>
+</keepTogether>
+<para style="normal">Using the tag &lt;nextPage/&gt; will now break to the next page</para>
+<nextPage/>
+<para style="h2">keepWithNext</para>
+<para style="intro">The keepWithNext attribute is assigned to paragraph styles and tells them to stay in the same frame as the following content. If subsequent content overflows, keepWithNext will cause the preceding paragraph to overflow as well.</para>
+<para style="normal">Below is a paragraph heading that does NOT have keepWithNext turned on. It's styles are defined as below:</para>
+<codesnippet language="xml"><![CDATA[
+    <paraStyle 
+        name="heading-no-keep"
+        fontName="Helvetica-Bold" 
+        fontSize="12" 
+        keepWithNext="0"
+    />
+    ]]>
+
+</codesnippet>
+<para style="normal">Note how the following paragraph of text (using keep together) overflows onto the next page without bringing the heading with it:</para>
+<para style="heading-normal">Heading with no "keep with next"</para>
+<keepTogether>
+<para style="sample">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel nunc a purus ullamcorper fermentum id nec felis. Sed suscipit, elit quis bibendum gravida, mauris tortor iaculis justo, id pharetra neque nisi ut turpis. Nulla sit amet risus tortor. Integer congue ullamcorper nisi vitae elementum. Pellentesque eget justo nec lacus porta placerat. Sed nunc ligula, tempus nec ultrices non, posuere nec magna. Quisque laoreet magna sed erat congue euismod. Phasellus libero nisi, volutpat vel sagittis vel, dapibus sed neque.</para>
+</keepTogether>
+<para style="normal">Now see the same example using keepWithNext. Note that the heading goes to the next frame with the following paragraph.</para>
+<para style="heading-keep-with-next">Heading with "keep with next"</para>
+<keepTogether>
+<para style="sample">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel nunc a purus ullamcorper fermentum id nec felis. Sed suscipit, elit quis bibendum gravida, mauris tortor iaculis justo, id pharetra neque nisi ut turpis. Nulla sit amet risus tortor. Integer congue ullamcorper nisi vitae elementum. Pellentesque eget justo nec lacus porta placerat. Sed nunc ligula, tempus nec ultrices non, posuere nec magna. Quisque laoreet magna sed erat congue euismod. Phasellus libero nisi, volutpat vel sagittis vel, dapibus sed neque.</para>
+</keepTogether>
+<para style="normal">We will use the &lt;nextFrame/&gt; tag this time to move on. Note that because we are on the last frame of the page, this has the same effect as &lt;nextFrame/&gt;.</para>
+<nextFrame/>
+<para style="h2">pageBreakBefore and frameBreakBefore</para>
+<para style="intro">Paragraphs can also be given the attribute of pageBreakBefore, which will enforce a page break before rendering the content. See a heading below without this attribute.</para>
+<para style="heading-normal">Heading without a page break</para>
+<para style="normal">And now one below with pageBreakBefore set. Not surprisingly, it appears on the next page.</para>
+<para style="heading-page-break">Heading with a page break</para>
+<para style="normal">A similar attribute allows for automatic frame breaks. See a normal heading below:</para>
+<para style="heading-normal">Normal heading</para>
+<para style="normal">And now one with frameBreakBefore set</para>
+<para style="heading-frame-break">Heading (in the next frame)</para>
+<para style="normal">&lt;nextPage/&gt; again.</para>
+<nextPage/>
+<para style="h2">Widow control</para>
+<para style="intro">Widows are single lines of text which overflow into the next frame. A paragraph style, allowWidows, can be set to "0" in order to prevent this from happening. See a paragraph below which allows a widow:</para>
+<para style="sample">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. Proin sit amet felis convallis velit laoreet semper ut id felis. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet lao
 reet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Pellentesque quis urna id neque adipiscing ultricies. Integer sem mauris, venenatis eget ornare vel, varius eu sapien.</para>
+<para style="normal">Isn't that single line above ugly?</para>
+<para style="normal">Let's try again with a new paragraph style whose settings prevent widows:</para>
+<para style="sample-no-widows">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. Proin sit amet felis convallis velit laoreet semper ut id felis. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, si
 t amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Pellentesque quis urna id neque adipiscing ultricies. Integer sem mauris, venenatis eget ornare vel, varius eu sapien.</para>
+<para style="normal">As shown, allowWidows="0" means that a second line of text will overflow as well.</para>
+<nextPage/>
+<para style="h2">Orphan control</para>
+<para style="normal">Orphas are single lines of text which remain at the end of a frame. Unlike widows, orphan control is on by default and the allowOrphans tag can be used to turn it off. Let's put in a some sample text to get near the end of the paragraph</para>
+<para style="sample">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. </para>
+<para style="normal">And now show that, with the normal paragraph style, orphans are not possible:</para>
+<para style="sample">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. Proin sit amet felis convallis velit laoreet semper ut id felis. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet lao
 reet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Pellentesque quis urna id neque adipiscing ultricies. Integer sem mauris, venenatis eget ornare vel, varius eu sapien.</para>
+<para>Now let's try that again, copying the last frame exactly, but with a paragraph style with orphans allowed</para>
+<nextFrame/>
+<para style="h2">Orphan control</para>
+<para style="normal">Orphas are single lines of text which remain at the end of a frame. Unlike widows, orphan control is on by default and the allowOrphans tag can be used to turn it off. Let's put in a some sample text to get near the end of the paragraph</para>
+<para style="sample">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. </para>
+<para style="normal">And now show that, with the new paragraph style, orphans ARE possible:</para>
+<para style="sample-yes-orphans">Etiam fringilla faucibus libero, at bibendum risus luctus ac. Aliquam erat volutpat. Curabitur at odio non erat tincidunt semper. Proin pulvinar volutpat dolor, viverra blandit neque blandit in. Ut augue quam, vehicula et iaculis vitae, vehicula eu ligula. Aliquam erat volutpat. Donec ultrices magna vel massa rhoncus sed laoreet nunc posuere. Sed sed auctor felis. Vivamus lacinia sem sed mi molestie at malesuada velit consequat. Vestibulum malesuada mauris vel libero tempor hendrerit. Vivamus vel quam sem, sit amet tincidunt metus. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Mauris vel quam nibh, vel posuere justo. Proin sit amet felis convallis velit laoreet semper ut id felis. Phasellus nibh turpis, varius et feugiat ac, pharetra id leo. In laoreet gravida lorem, 
 sit amet laoreet mi pretium nec. Integer ultricies est at odio tincidunt gravida. Maecenas convallis tellus nec nisl volutpat volutpat. Pellentesque quis urna id neque adipiscing ultricies. Integer sem mauris, venenatis eget ornare vel, varius eu sapien.</para>
+</story>
+</document>



More information about the checkins mailing list