[Yaffs-archive] YAFFS - YAFFS2 starts

Charles Manning manningc2@actrix.gen.nz
Mon, 4 Nov 2002 13:57:57 +1300


--------------Boundary-00=_LC11BBLD92CDOF69AODV
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

I have started working on YAFFS2.

The main purpose behind YAFFS2 is to support the larger NAND parts with 2kB 
pages and zero rewrite.  But wait, there's more... lower RAM footprint, 
faster,...

YAFFS2 needs at least a 1kB chunk size. On 512byte pages you can do this by 
just using two pages per chunk. This means a bit more wasted space at the end 
of files. Thus, probably the best approach will be to use YAFFS1 on NAND 
arrays less than, say, 128MB.

Since almost all the algorithms are the same for YAFFS1 and YAFFS2, I expect 
to keep the code together with YAFFS1 or YAFFS2 being run-time selectable (ie 
as a flag in the device structure).

Any ideas/input/wishes more than welcome.

Herewith a brief outline.

-- CHarles




--------------Boundary-00=_LC11BBLD92CDOF69AODV
Content-Type: text/html;
  charset="iso-8859-1";
  name="yaffs2.html"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="yaffs2.html"

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMi8vRU4iPgo8SFRNTD4K
PEhFQUQ+Cgk8TUVUQSBIVFRQLUVRVUlWPSJDT05URU5ULVRZUEUiIENPTlRFTlQ9InRleHQvaHRt
bDsgY2hhcnNldD1pc28tODg1OS0xIj4KCTxUSVRMRT48L1RJVExFPgoJPE1FVEEgTkFNRT0iR0VO
RVJBVE9SIiBDT05URU5UPSJTdGFyT2ZmaWNlLzUuMiAoTGludXgpIj4KCTxNRVRBIE5BTUU9IkFV
VEhPUiIgQ09OVEVOVD0iICI+Cgk8TUVUQSBOQU1FPSJDUkVBVEVEIiBDT05URU5UPSIyMDAyMTAw
NDsxNTA2MTAwMCI+Cgk8TUVUQSBOQU1FPSJDSEFOR0VEQlkiIENPTlRFTlQ9IiAiPgoJPE1FVEEg
TkFNRT0iQ0hBTkdFRCIgQ09OVEVOVD0iMjAwMjExMDQ7MTM0MzU5MDAiPgo8L0hFQUQ+CjxCT0RZ
Pgo8SDE+WUFGRlMyPC9IMT4KPEg0PlN1bW1hcnk8L0g0Pgo8UD5UaGUgb3JpZ2luYWwgbW90aXZh
dGlvbiBmb3IgWUFGRlMgMiB3YXMgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcKTkFORCB3aXRo
IDJrQiBwYWdlcyBpbnN0ZWFkIG9mIDUxMi1ieXRlIHBhZ2VzIGFuZCBzdHJpY3RseSBzZXF1ZW50
aWFsCnBhZ2Ugd3JpdGluZyBvcmRlci4gCjwvUD4KPFA+VG8gYWNoaWV2ZSB0aGlzLCBhIG5ldyBk
ZXNpZ24gaXMgdXNlZCB3aGljaCBhbHNvIHJlYWxpc2VzIHRoZQpmb2xsb3dpbmcgYmVuZWZpdHM6
PC9QPgo8VUw+Cgk8TEk+PFA+emVybyBwYWdlIHJld3JpdGVzIG1lYW5zIGZhc3RlciBvcGVyYXRp
b24uIChZQUZGUzEgdXNlcyBhCglzaW5nbGUgcmV3cml0ZSBpbiB0aGUgc3BhcmUgYXJlYSB0byBk
ZWxldGUgYSBwYWdlKS48L1A+Cgk8TEk+PFA+YWJpbGl0eSB0byBleHBsb2l0IHNpbXVsdGFuZW91
cyBwYWdlIHByb2dyYW1taW5nIG9uIHNvbWUKCWNoaXBzLjwvUD4KCTxMST48UD5pbXByb3ZlcyBw
ZXJmb3JtYW5jZSByZWxhdGl2ZSB0byBZQUZGUzEgc3BlZWQod3JpdGU6MS41eCB0bwoJNXgsIGRl
bGV0ZTogNHgsIGdhcmJhZ2UgY29sbGVjdGlvbjogMngpPC9QPgoJPExJPjxQPmxvd2VyIFJBTSBm
b290cHJpbnQgKGFwcHJveC4gMjUlIHRvIDUwJSBvZiBZQUZGUzEpLjwvUD4KCTxMST48UD5DYW4g
c3VwcG9ydCBUb3NoaWJhL1NhbmRpc2sgTUxDIHBhcnRzLjwvUD4KPC9VTD4KPFA+TW9zdCBvZiBZ
QUZGUyBhbmQgWUFGRlMyIGNvZGUgaXMgY29tbW9uLCB0aGVyZWZvcmUgdGhlIGNvZGUgd2lsbAps
aWtlbHkgYmUga2VwdCBjb21tb24gd2l0aCBZQUZGUyB2cyBZQUZGUzIgYmVpbmcgcnVuLXRpbWUg
c2VsZWN0ZWQuPC9QPgo8SDQ+TWV0aG9kPC9IND4KPFA+VGhlIG1haW4gcGhpbG9zb3BoaWNhbCBk
aWZmZXJlbmNlIGJldHdlZW4gWUFGRlMgYW5kIFlBRkZTMiBpcyBob3cKZGlzY2FyZGVkIHN0YXR1
cyBpcyB0cmFja2VkLiBTaW5jZSB3ZSBjYW4ndCBkbyBhbnkgcmUtd3JpdGluZywgd2UKY2FuJ3Qg
dXNlIHRoZSAmcXVvdDtkaXNjYXJkZWQmcXVvdDsgZmxhZ3MgaW4gWUFGRlMyLjwvUD4KPFA+PEJS
PjxCUj4KPC9QPgo8UD5JbnN0ZWFkIFlBRkZTMiB1c2VzIHR3byBtZWNoYW5pc21zIHRvIHJlc29s
dmUgZGF0YSBzdGF0ZS48L1A+CjxVTD4KCTxMST48UD5ZQUZGUzIgY2h1bmtzIGhhdmUgbW9yZSB0
YWcgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBhIGJsb2NrCglzZXF1ZW5jZSBJZC4gRnJvbSB0aGF0
IHdlIGNhbiBkZXRlcm1pbmUgdGhlIGNodW5rIHNlcXVlbmNlIElkIHNpbmNlCgl0aGUgY2h1bmtz
IGFyZSBhbGxvY2F0ZWQgc2VxdWVudGlhbGx5IGluIGEgYmxvY2suIFRodXMgd2UgYWx3YXlzCglr
bm93IHRoZSBwYXRjaCBvcmRlciBmb3IgYWxsIGNodW5rcyBpbiB0aGUgc3lzdGVtLjwvUD4KCTxM
ST48UD5UaGUgYWJvdmUgaGVscHMgdXMgdHJhY2sgc3RhbGUgLXZzLSBmcmVzaCBkYXRhLCBidXQg
ZG9lcyBub3QKCWhlbHAgZGV0ZXJtaW5lIHdoZW4gYSBmaWxlL29iamVjdCBpcyBkZWxldGVkLiBE
ZWxldGlvbiBpcyBhY2hpZXZlZAoJYnkgbW92aW5nIHRoZSBvYmplY3QgdG8gdGhlICZxdW90O3Vu
bGlua2VkJnF1b3Q7IGRpcmVjdG9yeS4gV2UgYWxzbwoJa2VlcCB0cmFjayBvZiB0aGUgbnVtYmVy
IG9mIGNodW5rcyAoYm90aCBzdGFsZSBhbmQgY3VycmVudCkgaW4gdGhlCglzeXN0ZW0gZm9yIGVh
Y2ggb2JqZWN0LiBXaGlsZSB0aGlzIG51bWJlciBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUKCXN0
aWxsIGNodW5rcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvYmplY3Qgd2Uga2VlcCB0aGUgZGVsZXRp
b24KCXJlY29yZC4gV2hlbiB0aGUgbGFzdCB0cmFjZSBvZiB0aGUgb2JqZWN0IGhhcyBiZWVuIHJl
YWxseSBlcmFzZWQKCWZyb20gTkFORCwgd2UgY2FuIGZvcmdldCBhYm91dCB0aGUgZGVsZXRpb24g
cmVjb3JkIHRvby4gCgk8L1A+Cgk8TEk+PFA+U2luY2UgdGhlcmUgaXMgbm8gZGVsZXRpb24sIGEg
cmVzaXplIChzaHJpbmtpbmcpIG9mIGEgZmlsZQoJd2lsbCBzdGlsbCBoYXZlIHZhbGlkIGRhdGEg
Y2h1bmtzIHBhc3QgdGhlIGVuZCBvZiBmaWxlIG9uIHRoZSBOQU5ELgoJSG93ZXZlciwgd2Ugd3Jp
dGUgYSBuZXcgT2JqZWN0SGVhZGVyIGF0IHRoZSB0aW1lIG9mIHRoZSByZXNpemUsCgl0aGVyZWZv
cmUgdGhpcyBzaG93cyB0aGUgc2hydW5rZW4gZmlsZSBzaXplLjwvUD4KPC9VTD4KPFA+VGhpcyBj
aGFuZ2VzIGVyYXN1cmUgc2xpZ2h0bHk6PC9QPgo8VUw+Cgk8TEk+PFA+RHVyaW5nIGdhcmJhZ2Ug
Y29sbGVjdGlvbiB3ZSBjYW4ndCBqdXN0IGxvb2sgYXQgY2h1bmsgc3RhdGUKCWZsYWdzLCBpbnN0
ZWFkIHdlIG11c3QgcmVhZCB0aGUgdGFncyBvZiBlYWNoIGNodW5rIHRvIGRldGVybWluZQoJd2hp
Y2ggb2JqZWN0J3MgY2h1bmsgY291bnQgd2UgbXVzdCBkZWNyZW1lbnQuIFRoaXMgc3RlcCBtdXN0
IGFsc28gYmUKCXBlcmZvcm1lZCB3aGVuIGEgYmxvY2sgaXMgZXJhc2VkIChhcyBwYXJ0IG9mIGRl
bGV0aW9uKS48L1A+CjwvVUw+CjxQPlRoaXMgbWFrZXMgZXJhc3VyZSAmYW1wOyBnYXJiYWdlIGNv
bGxlY3Rpb24gbW9yZSBleHBlbnNpdmUgKGJ5CmFkZGluZyByZWFkcyksIGJ1dCByZW1lbWJlciB0
aGF0IGlvbiBZQUZGUzIgd2UgZG9uJ3QgbmVlZCB0byBkbyBwYWdlCmRlbGV0aW9ucyB3aGljaCBh
cmUgbXVjaCBtb3JlIGV4cGVuc2l2ZSBvcGVyYXRpb25zLiBUaHVzLCBhbGwtdXAKWUFGRlMyIHdp
bnMuPC9QPgo8SDQ+VGFnIHN0cnVjdHVyZTwvSDQ+CjxQPkVhY2ggY2h1bmsgaW4gWUFGRlMyIGhh
cyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOjwvUD4KPFRBQkxFIFdJRFRIPTEwMCUgQk9SREVS
PTEgQ0VMTFBBRERJTkc9NCBDRUxMU1BBQ0lORz0zPgoJPENPTCBXSURUSD00NSo+Cgk8Q09MIFdJ
RFRIPTgzKj4KCTxDT0wgV0lEVEg9NjQqPgoJPENPTCBXSURUSD02NCo+Cgk8VEhFQUQ+CgkJPFRS
IFZBTElHTj1UT1A+CgkJCTxUSCBXSURUSD0xOCU+CgkJCQk8UD5GaWVsZDwvUD4KCQkJPC9USD4K
CQkJPFRIIFdJRFRIPTMyJT4KCQkJCTxQPkNvbW1lbnQ8L1A+CgkJCTwvVEg+CgkJCTxUSCBXSURU
SD0yNSU+CgkJCQk8UD5TaXplIGZvciAxa2IgY2h1bmtzPC9QPgoJCQk8L1RIPgoJCQk8VEggV0lE
VEg9MjUlPgoJCQkJPFA+U2l6ZSBmb3IgMmtCIGNodW5rczwvUD4KCQkJPC9USD4KCQk8L1RSPgoJ
PC9USEVBRD4KCTxUQk9EWT4KCQk8VFIgVkFMSUdOPVRPUD4KCQkJPFREIFdJRFRIPTE4JT4KCQkJ
CTxQPmJsb2NrU3RhdGU8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0zMiU+CgkJCQk8UD5CbG9j
ayBzdGF0ZS4gbm9uLTB4RkYgZm9yIGJhZCBibG9jazwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRI
PTI1JT4KCQkJCTxQPjEgYnl0ZTwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJCTxQ
PjEgYnl0ZTwvUD4KCQkJPC9URD4KCQk8L1RSPgoJCTxUUiBWQUxJR049VE9QPgoJCQk8VEQgV0lE
VEg9MTglPgoJCQkJPFA+Y2h1bmtJZDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTMyJT4KCQkJ
CTxQPjMyLWJpdCBjaHVuayBJZDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJCTxQ
PjQgYnl0ZXM8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yNSU+CgkJCQk8UD40IGJ5dGVzPC9Q
PgoJCQk8L1REPgoJCTwvVFI+CgkJPFRSIFZBTElHTj1UT1A+CgkJCTxURCBXSURUSD0xOCU+CgkJ
CQk8UD5vYmplY3RJZDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTMyJT4KCQkJCTxQPjMyLWJp
dCBvYmplY3QgSWQ8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yNSU+CgkJCQk8UD40IGJ5dGVz
PC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjUlPgoJCQkJPFA+NCBieXRlczwvUD4KCQkJPC9U
RD4KCQk8L1RSPgoJCTxUUiBWQUxJR049VE9QPgoJCQk8VEQgV0lEVEg9MTglPgoJCQkJPFA+bkJ5
dGVzPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MzIlPgoJCQkJPFA+TnVtYmVyIG9mIGRhdGEg
Ynl0ZXMgaW4gdGhpcyBjaHVuazwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJCTxQ
PjIgYnl0ZXM8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yNSU+CgkJCQk8UD4yIGJ5dGVzPC9Q
PgoJCQk8L1REPgoJCTwvVFI+CgkJPFRSIFZBTElHTj1UT1A+CgkJCTxURCBXSURUSD0xOCU+CgkJ
CQk8UD5ibG9ja1NlcXVlbmNlPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MzIlPgoJCQkJPFA+
c2VxdWVuY2UgbnVtYmVyIGZvciB0aGlzIGJsb2NrPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9
MjUlPgoJCQkJPFA+NCBieXRlczwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJCTxQ
PjQgYnl0ZXM8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFIgVkFMSUdOPVRPUD4KCQkJPFREIFdJ
RFRIPTE4JT4KCQkJCTxQPnRhZ3NFY2M8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0zMiU+CgkJ
CQk8UD5FQ0Mgb24gdGFncyBhcmVhPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjUlPgoJCQkJ
PFA+MyBieXRlczwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJCTxQPjMgYnl0ZXM8
L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFIgVkFMSUdOPVRPUD4KCQkJPFREIFdJRFRIPTE4JT4K
CQkJCTxQPmVjYzwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTMyJT4KCQkJCTxQPkVDQywgMyBi
eXRlcy8yNTYgYnl0ZXMgb2YgZGF0YTwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJ
CTxQPjEyIGJ5dGVzPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjUlPgoJCQkJPFA+MjQgYnl0
ZXM8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFIgVkFMSUdOPVRPUD4KCQkJPFREIFdJRFRIPTE4
JT4KCQkJCTxQPjxCPlRvdGFsPC9CPjwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTMyJT4KCQkJ
CTxQPjxCUj4KCQkJCTwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTI1JT4KCQkJCTxQIEFMSUdO
PUxFRlQ+PEI+MzAgYnl0ZXM8L0I+PC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjUlPgoJCQkJ
PFA+PEI+NDIgYnl0ZXM8L0I+PC9QPgoJCQk8L1REPgoJCTwvVFI+Cgk8L1RCT0RZPgo8L1RBQkxF
Pgo8UD48QlI+PEJSPgo8L1A+CjxQPlRvIGdldCBlbm91Z2ggc3BhcmUgYnl0ZXMgZm9yIHRoaXMg
dGFnZ2luZyBzdHJ1Y3R1cmUgcmVxdWlyZXMgYQpjaHVuay1zaXplIG9mIGF0IGxlYXN0IDFrQi48
L1A+CjxQPlRoZSBibG9ja1NlcXVlbmNlIGluY3JlbWVudHMgZWFjaCB0aW1lIGEgYmxvY2sgaXMg
YWxsb2NhdGVkLiAoaWUuCnRoZSBmaXJzdCBibG9jayBhbGxvY2F0ZWQgaXMgYmxvY2sgMSwgYW5k
IHNvIG9uKS48L1A+CjxIND5TY2FubmluZzwvSDQ+CjxQPlRoZSBvbmx5IHJlYXNvbiB3ZSBuZWVk
IHRvIGtlZXAgdHJhY2sgb2YgZGF0YSBzdGF0dXMgb24gTkFORCBpcyB0bwpiZSBhYmxlIHRvIHJl
Y3JlYXRlIHRoZSBmaWxlIHN5c3RlbSBzdGF0ZSBkdXJpbmcgc2Nhbm5pbmcuIFNpbmNlIHdlCm5v
IGxvbmdlciBoYXZlIGNodW5rIGRlbGV0aW9uIHN0YXR1cyBmbGFncyB3ZSB1c2UgYSBzbGlnaHRs
eQpkaWZmZXJlbnQgcHJvY2VzcyBmb3Igc2Nhbm5pbmcgYSBZQUZGUzIgc3lzdGVtLjwvUD4KPFA+
SW4gZWZmZWN0LCBZQUZGUzIgcmVjcmVhdGVzIGl0cyBzdGF0ZSBieSAmcXVvdDtyZXBsYXlpbmcg
dGhlCnRhcGUmcXVvdDsuIGllLiBpdCBzY2FucyB0aGUgY2h1bmtzIGluIHRoZWlyIGFsbG9jYXRp
b24gb3JkZXIgKGJsb2NrCnNlcXVlbmNlIElkIG9yZGVyKSByYXRoZXIgdGhhbiBpbiB0aGVpciBv
cmRlciBvbiB0aGUgbWVkaWEuIFRoaXMKaW1wbGllcyB0aGF0IGF0IHN0YXJ0IHVwLCB0aGUgYmxv
Y2tzIG11c3QgYmUgcmVhZCBhbmQgdGhlaXIgYmxvY2sKc2VxdWVuY2UgZGV0ZXJtaW5lZC48L1A+
CjxIND5QZXJmb3JtYW5jZTwvSDQ+CjxQPlRpbWVzIGZvciAya0IgcmVhZCh1bml0cyBvZiAxdVMp
LjwvUD4KPFRBQkxFIFdJRFRIPTkzNyBCT1JERVI9MSBDRUxMUEFERElORz00IENFTExTUEFDSU5H
PTM+Cgk8Q09MIFdJRFRIPTE3NT4KCTxDT0wgV0lEVEg9MTc2PgoJPENPTCBXSURUSD0xNzc+Cgk8
Q09MIFdJRFRIPTE3Nj4KCTxDT0wgV0lEVEg9MTczPgoJPFRIRUFEPgoJCTxUUiBWQUxJR049VE9Q
PgoJCQk8VEggV0lEVEg9MTc1PgoJCQkJPFA+T3BlcmF0aW9uPC9QPgoJCQk8L1RIPgoJCQk8VEgg
V0lEVEg9MTc2PgoJCQkJPFA+WUFGRlMxPC9QPgoJCQk8L1RIPgoJCQk8VEggV0lEVEg9MTc3PgoJ
CQkJPFA+WUFGRlMyICg1MTJiIHBhZ2VzKTwvUD4KCQkJPC9USD4KCQkJPFRIIFdJRFRIPTE3Nj4K
CQkJCTxQPllBRkZTMiAoMmtCIHBhZ2VzKTwvUD4KCQkJPC9USD4KCQkJPFRIIFdJRFRIPTE3Mz4K
CQkJCTxQPllBRkZTMigya0IgcGFnZXMsIHgxNik8L1A+CgkJCTwvVEg+CgkJPC9UUj4KCTwvVEhF
QUQ+Cgk8VEJPRFk+CgkJPFRSPgoJCQk8VEQgV0lEVEg9MTc1IFZBTElHTj1UT1A+CgkJCQk8UD5T
ZWVrIAoJCQkJPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTc2IFZBTElHTj1CT1RUT00gU0RW
QUw9IjQwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+NDA8L1A+CgkJCTwvVEQ+
CgkJCTxURCBXSURUSD0xNzcgVkFMSUdOPUJPVFRPTSBTRFZBTD0iNDAiIFNETlVNPSI1MTI5OyI+
CgkJCQk8UCBBTElHTj1SSUdIVD40MDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTE3NiBWQUxJ
R049Qk9UVE9NIFNEVkFMPSIxMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjEw
PC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTczIFZBTElHTj1CT1RUT00gU0RWQUw9IjEwIiBT
RE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MTA8L1A+CgkJCTwvVEQ+CgkJPC9UUj4K
CQk8VFI+CgkJCTxURCBXSURUSD0xNzUgVkFMSUdOPVRPUD4KCQkJCTxQPlJlYWQ8L1A+CgkJCTwv
VEQ+CgkJCTxURCBXSURUSD0xNzYgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMjIwIiBTRE5VTT0iNTEy
OTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MjIwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTc3
IFZBTElHTj1CT1RUT00gU0RWQUw9IjIyMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJ
R0hUPjIyMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTE3NiBWQUxJR049Qk9UVE9NIFNEVkFM
PSIyMjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4yMjA8L1A+CgkJCTwvVEQ+
CgkJCTxURCBXSURUSD0xNzMgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMTEwIiBTRE5VTT0iNTEyOTsi
PgoJCQkJPFAgQUxJR049UklHSFQ+MTEwPC9QPgoJCQk8L1REPgoJCTwvVFI+CgkJPFRSPgoJCQk8
VEQgV0lEVEg9MTc1IFZBTElHTj1UT1A+CgkJCQk8UD5Ub3RhbDwvUD4KCQkJPC9URD4KCQkJPFRE
IFdJRFRIPTE3NiBWQUxJR049Qk9UVE9NIFNEVkFMPSIyNjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8
UCBBTElHTj1SSUdIVD4yNjA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0xNzcgVkFMSUdOPUJP
VFRPTSBTRFZBTD0iMjYwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MjYwPC9Q
PgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTc2IFZBTElHTj1CT1RUT00gU0RWQUw9IjIzMCIgU0RO
VU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjIzMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJ
RFRIPTE3MyBWQUxJR049Qk9UVE9NIFNEVkFMPSIxMjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBB
TElHTj1SSUdIVD4xMjA8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBXSURUSD0x
NzUgVkFMSUdOPVRPUD4KCQkJCTxQPk1CL3M8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0xNzYg
VkFMSUdOPUJPVFRPTSBTRFZBTD0iNy42IiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklH
SFQ+Ny42PC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTc3IFZBTElHTj1CT1RUT00gU0RWQUw9
IjcuNiIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjcuNjwvUD4KCQkJPC9URD4K
CQkJPFREIFdJRFRIPTE3NiBWQUxJR049Qk9UVE9NIFNEVkFMPSI4LjciIFNETlVNPSI1MTI5OyI+
CgkJCQk8UCBBTElHTj1SSUdIVD44Ljc8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0xNzMgVkFM
SUdOPUJPVFRPTSBTRFZBTD0iMTYuNyIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hU
PjE2Ljc8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBXSURUSD0xNzUgVkFMSUdO
PVRPUD4KCQkJCTxQPlJlbGF0aXZlIHNwZWVkPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTc2
IFZBTElHTj1CT1RUT00gU0RWQUw9IjEiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdI
VD4xPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MTc3IFZBTElHTj1CT1RUT00gU0RWQUw9IjEi
IFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xPC9QPgoJCQk8L1REPgoJCQk8VEQg
V0lEVEg9MTc2IFZBTElHTj1CT1RUT00gU0RWQUw9IjEuMSIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQ
IEFMSUdOPVJJR0hUPjEuMTwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTE3MyBWQUxJR049Qk9U
VE9NIFNEVkFMPSIyLjIiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4yLjI8L1A+
CgkJCTwvVEQ+CgkJPC9UUj4KCTwvVEJPRFk+CjwvVEFCTEU+CjxQPjxCUj48QlI+CjwvUD4KPFA+
VGltZXMgZm9yIDJrQiB3cml0ZXModW5pdHMgb2YgMXVTKS48L1A+CjxUQUJMRSBXSURUSD0xMDAl
IEJPUkRFUj0xIENFTExQQURESU5HPTQgQ0VMTFNQQUNJTkc9Mz4KCTxDT0wgV0lEVEg9NTEqPgoJ
PENPTCBXSURUSD01MSo+Cgk8Q09MIFdJRFRIPTUxKj4KCTxDT0wgV0lEVEg9NTEqPgoJPENPTCBX
SURUSD01MSo+Cgk8VEhFQUQ+CgkJPFRSIFZBTElHTj1UT1A+CgkJCTxUSCBXSURUSD0yMCU+CgkJ
CQk8UD5PcGVyYXRpb248L1A+CgkJCTwvVEg+CgkJCTxUSCBXSURUSD0yMCU+CgkJCQk8UD5ZQUZG
UzE8L1A+CgkJCTwvVEg+CgkJCTxUSCBXSURUSD0yMCU+CgkJCQk8UD5ZQUZGUzIgKDUxMmIgcGFn
ZXMpPC9QPgoJCQk8L1RIPgoJCQk8VEggV0lEVEg9MjAlPgoJCQkJPFA+WUFGRlMyICgya0IgcGFn
ZXMpPC9QPgoJCQk8L1RIPgoJCQk8VEggV0lEVEg9MjAlPgoJCQkJPFA+WUFGRlMyKDJrQiBwYWdl
cywgeDE2KTwvUD4KCQkJPC9USD4KCQk8L1RSPgoJPC9USEVBRD4KCTxUQk9EWT4KCQk8VFI+CgkJ
CTxURCBXSURUSD0yMCUgVkFMSUdOPVRPUD4KCQkJCTxQPlNlZWs8L1A+CgkJCTwvVEQ+CgkJCTxU
RCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iNDAiIFNETlVNPSI1MTI5OyI+CgkJCQk8
UCBBTElHTj1SSUdIVD40MDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9U
VE9NIFNEVkFMPSI0MCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjQwPC9QPgoJ
CQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjEwIiBTRE5VTT0i
NTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MTA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0y
MCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMTAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1S
SUdIVD4xMDwvUD4KCQkJPC9URD4KCQk8L1RSPgoJCTxUUj4KCQkJPFREIFdJRFRIPTIwJSBWQUxJ
R049VE9QPgoJCQkJPFA+UHJvZ3JhbTwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJ
R049Qk9UVE9NIFNEVkFMPSI4MDAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD44
MDA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iODAw
IiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+ODAwPC9QPgoJCQk8L1REPgoJCQk8
VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjIwMCIgU0ROVU09IjUxMjk7Ij4KCQkJ
CTxQIEFMSUdOPVJJR0hUPjIwMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049
Qk9UVE9NIFNEVkFMPSIyMDAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4yMDA8
L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPVRPUD4K
CQkJCTxQPlNlZWs8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBT
RFZBTD0iNDAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD40MDwvUD4KCQkJPC9U
RD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSI0MCIgU0ROVU09IjUxMjk7
Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjQwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZB
TElHTj1CT1RUT00gU0RWQUw9IjEwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+
MTA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMTAi
IFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xMDwvUD4KCQkJPC9URD4KCQk8L1RS
PgoJCTxUUj4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049VE9QPgoJCQkJPFA+UmVhZDwvUD4KCQkJ
PC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIyMjAiIFNETlVNPSI1
MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4yMjA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0y
MCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMjIwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049
UklHSFQ+MjIwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RW
QUw9IjIyMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjIyMDwvUD4KCQkJPC9U
RD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIxMTAiIFNETlVNPSI1MTI5
OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xMTA8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJ
CTxURCBXSURUSD0yMCUgVkFMSUdOPVRPUD4KCQkJCTxQPlRvdGFsPC9QPgoJCQk8L1REPgoJCQk8
VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjEzMjAiIFNETlVNPSI1MTI5OyI+CgkJ
CQk8UCBBTElHTj1SSUdIVD4xMzIwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElH
Tj1CT1RUT00gU0RWQUw9IjEzMjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4x
MzIwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjY2
MCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjY2MDwvUD4KCQkJPC9URD4KCQkJ
PFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSI0NDAiIFNETlVNPSI1MTI5OyI+CgkJ
CQk8UCBBTElHTj1SSUdIVD40NDA8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBX
SURUSD0yMCUgVkFMSUdOPVRPUD4KCQkJCTxQPk1CL3M8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURU
SD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMS41IiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJ
R049UklHSFQ+MS41PC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00g
U0RWQUw9IjEuNSIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjEuNTwvUD4KCQkJ
PC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIzIiBTRE5VTT0iNTEy
OTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MzwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBW
QUxJR049Qk9UVE9NIFNEVkFMPSI0LjUiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdI
VD40LjU8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdO
PVRPUD4KCQkJCTxQPlJlbGF0aXZlIHNwZWVkPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAl
IFZBTElHTj1CT1RUT00gU0RWQUw9IjEiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdI
VD4xPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjEi
IFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xPC9QPgoJCQk8L1REPgoJCQk8VEQg
V0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjIiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBB
TElHTj1SSUdIVD4yPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00g
U0RWQUw9IjMiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4zPC9QPgoJCQk8L1RE
PgoJCTwvVFI+Cgk8L1RCT0RZPgo8L1RBQkxFPgo8UD48QlI+PEJSPgo8L1A+CjxQPlRpbWVzIGZv
ciAxTUIgZGVsZXRlICh1bml0cyBvZiAxdVMpLjwvUD4KPFRBQkxFIFdJRFRIPTEwMCUgQk9SREVS
PTEgQ0VMTFBBRERJTkc9NCBDRUxMU1BBQ0lORz0zPgoJPENPTCBXSURUSD01MSo+Cgk8Q09MIFdJ
RFRIPTUxKj4KCTxDT0wgV0lEVEg9NTEqPgoJPENPTCBXSURUSD01MSo+Cgk8Q09MIFdJRFRIPTUx
Kj4KCTxUSEVBRD4KCQk8VFIgVkFMSUdOPVRPUD4KCQkJPFRIIFdJRFRIPTIwJT4KCQkJCTxQPk9w
ZXJhdGlvbjwvUD4KCQkJPC9USD4KCQkJPFRIIFdJRFRIPTIwJT4KCQkJCTxQPllBRkZTMTwvUD4K
CQkJPC9USD4KCQkJPFRIIFdJRFRIPTIwJT4KCQkJCTxQPllBRkZTMiAoNTEyYiBwYWdlcyk8L1A+
CgkJCTwvVEg+CgkJCTxUSCBXSURUSD0yMCU+CgkJCQk8UD5ZQUZGUzIgKDJrQiBwYWdlcyk8L1A+
CgkJCTwvVEg+CgkJCTxUSCBXSURUSD0yMCU+CgkJCQk8UD5ZQUZGUzIoMmtCIHBhZ2VzLCB4MTYp
PC9QPgoJCQk8L1RIPgoJCTwvVFI+Cgk8L1RIRUFEPgoJPFRCT0RZPgoJCTxUUj4KCQkJPFREIFdJ
RFRIPTIwJSBWQUxJR049VE9QPgoJCQkJPFA+U2VlazwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRI
PTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIyMDQ4MCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFM
SUdOPVJJR0hUPjIwNDgwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RU
T00gU0RWQUw9IjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4wPC9QPgoJCQk8
L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjAiIFNETlVNPSI1MTI5
OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4wPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZB
TElHTj1CT1RUT00gU0RWQUw9IjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4w
PC9QPgoJCQk8L1REPgoJCTwvVFI+CgkJPFRSPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1UT1A+
CgkJCQk8UD5Qcm9ncmFtPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RU
T00gU0RWQUw9IjQwOTYwMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjQwOTYw
MDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIwIiBT
RE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MDwvUD4KCQkJPC9URD4KCQkJPFREIFdJ
RFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJ
R049UklHSFQ+MDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNE
VkFMPSIwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MDwvUD4KCQkJPC9URD4K
CQk8L1RSPgoJCTxUUj4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049VE9QPgoJCQkJPFA+RXJhc2U8
L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMTI4MDAw
IiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MTI4MDAwPC9QPgoJCQk8L1REPgoJ
CQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjEyODAwMCIgU0ROVU09IjUxMjk7
Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjEyODAwMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIw
JSBWQUxJR049Qk9UVE9NIFNEVkFMPSIxNjAwMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdO
PVJJR0hUPjE2MDAwPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00g
U0RWQUw9IjE2MDAwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MTYwMDA8L1A+
CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPVRPUD4KCQkJ
CTxQPlRvdGFsPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RW
QUw9IjU1ODA4MCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjU1ODA4MDwvUD4K
CQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIxMjgwMDAiIFNE
TlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xMjgwMDA8L1A+CgkJCTwvVEQ+CgkJCTxU
RCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMTYwMDAiIFNETlVNPSI1MTI5OyI+CgkJ
CQk8UCBBTElHTj1SSUdIVD4xNjAwMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJ
R049Qk9UVE9NIFNEVkFMPSIxNjAwMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hU
PjE2MDAwPC9QPgoJCQk8L1REPgoJCTwvVFI+CgkJPFRSPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElH
Tj1UT1A+CgkJCQk8UD5NQi9zPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1C
T1RUT00gU0RWQUw9IjEuOCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjEuODwv
UD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSI3LjgiIFNE
TlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD43Ljg8L1A+CgkJCTwvVEQ+CgkJCTxURCBX
SURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iNjIuNSIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQ
IEFMSUdOPVJJR0hUPjYyLjU8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJP
VFRPTSBTRFZBTD0iNjIuNSIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjYyLjU8
L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPVRPUD4K
CQkJCTxQPlJlbGF0aXZlIHNwZWVkPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElH
Tj1CT1RUT00gU0RWQUw9IjEiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xPC9Q
PgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjQiIFNETlVN
PSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD40PC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9
MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjM0IiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049
UklHSFQ+MzQ8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZB
TD0iMzQiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4zNDwvUD4KCQkJPC9URD4K
CQk8L1RSPgoJPC9UQk9EWT4KPC9UQUJMRT4KPFA+PEJSPjxCUj4KPC9QPgo8UD5UaW1lcyBmb3Ig
MU1CIG9mIGdhcmJhZ2UgY29sbGVjdGlvbiBhdCA1MCUgZGlydHkgKHVuaXRzIG9mIDF1UykuPC9Q
Pgo8VEFCTEUgV0lEVEg9MTAwJSBCT1JERVI9MSBDRUxMUEFERElORz00IENFTExTUEFDSU5HPTM+
Cgk8Q09MIFdJRFRIPTUxKj4KCTxDT0wgV0lEVEg9NTEqPgoJPENPTCBXSURUSD01MSo+Cgk8Q09M
IFdJRFRIPTUxKj4KCTxDT0wgV0lEVEg9NTEqPgoJPFRIRUFEPgoJCTxUUiBWQUxJR049VE9QPgoJ
CQk8VEggV0lEVEg9MjAlPgoJCQkJPFA+T3BlcmF0aW9uPC9QPgoJCQk8L1RIPgoJCQk8VEggV0lE
VEg9MjAlPgoJCQkJPFA+WUFGRlMxPC9QPgoJCQk8L1RIPgoJCQk8VEggV0lEVEg9MjAlPgoJCQkJ
PFA+WUFGRlMyICg1MTJiIHBhZ2VzKTwvUD4KCQkJPC9USD4KCQkJPFRIIFdJRFRIPTIwJT4KCQkJ
CTxQPllBRkZTMiAoMmtCIHBhZ2VzKTwvUD4KCQkJPC9USD4KCQkJPFRIIFdJRFRIPTIwJT4KCQkJ
CTxQPllBRkZTMigya0IgcGFnZXMsIHgxNik8L1A+CgkJCTwvVEg+CgkJPC9UUj4KCTwvVEhFQUQ+
Cgk8VEJPRFk+CgkJPFRSPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1UT1A+CgkJCQk8UD5EZWxl
dGUgMU1CPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9
IjU1ODA4MCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjU1ODA4MDwvUD4KCQkJ
PC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIxMjgwMDAiIFNETlVN
PSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xMjgwMDA8L1A+CgkJCTwvVEQ+CgkJCTxURCBX
SURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMTYwMDAiIFNETlVNPSI1MTI5OyI+CgkJCQk8
UCBBTElHTj1SSUdIVD4xNjAwMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049
Qk9UVE9NIFNEVkFMPSIxNjAwMCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjE2
MDAwPC9QPgoJCQk8L1REPgoJCTwvVFI+CgkJPFRSPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1U
T1A+CgkJCQk8UD5Xcml0ZSAwLjVNQjwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJ
R049Qk9UVE9NIFNEVkFMPSIzMzc5MjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdI
VD4zMzc5MjA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZB
TD0iMzM3OTIwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MzM3OTIwPC9QPgoJ
CQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjE2ODk2MCIgU0RO
VU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjE2ODk2MDwvUD4KCQkJPC9URD4KCQkJPFRE
IFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIxMTI2NDAiIFNETlVNPSI1MTI5OyI+CgkJ
CQk8UCBBTElHTj1SSUdIVD4xMTI2NDA8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJCTxU
RCBXSURUSD0yMCUgVkFMSUdOPVRPUD4KCQkJCTxQPlRvdGFsPC9QPgoJCQk8L1REPgoJCQk8VEQg
V0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9Ijg5NjAwMCIgU0ROVU09IjUxMjk7Ij4KCQkJ
CTxQIEFMSUdOPVJJR0hUPjg5NjAwMDwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJ
R049Qk9UVE9NIFNEVkFMPSI0NjU5MjAiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdI
VD40NjU5MjA8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZB
TD0iMTg0OTYwIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049UklHSFQ+MTg0OTYwPC9QPgoJ
CQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjEyODY0MCIgU0RO
VU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjEyODY0MDwvUD4KCQkJPC9URD4KCQk8L1RS
PgoJCTxUUj4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049VE9QPgoJCQkJPFA+TUIvczwvUD4KCQkJ
PC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSIxLjEiIFNETlVNPSI1
MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xLjE8L1A+CgkJCTwvVEQ+CgkJCTxURCBXSURUSD0y
MCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iMi4xIiBTRE5VTT0iNTEyOTsiPgoJCQkJPFAgQUxJR049
UklHSFQ+Mi4xPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RW
QUw9IjUuNCIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hUPjUuNDwvUD4KCQkJPC9U
RD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSI3LjciIFNETlVNPSI1MTI5
OyI+CgkJCQk8UCBBTElHTj1SSUdIVD43Ljc8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCQk8VFI+CgkJ
CTxURCBXSURUSD0yMCUgVkFMSUdOPVRPUD4KCQkJCTxQPlJlbGF0aXZlIHNwZWVkPC9QPgoJCQk8
L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZBTElHTj1CT1RUT00gU0RWQUw9IjEiIFNETlVNPSI1MTI5
OyI+CgkJCQk8UCBBTElHTj1SSUdIVD4xPC9QPgoJCQk8L1REPgoJCQk8VEQgV0lEVEg9MjAlIFZB
TElHTj1CT1RUT00gU0RWQUw9IjEuOSIgU0ROVU09IjUxMjk7Ij4KCQkJCTxQIEFMSUdOPVJJR0hU
PjEuOTwvUD4KCQkJPC9URD4KCQkJPFREIFdJRFRIPTIwJSBWQUxJR049Qk9UVE9NIFNEVkFMPSI0
LjkiIFNETlVNPSI1MTI5OyI+CgkJCQk8UCBBTElHTj1SSUdIVD40Ljk8L1A+CgkJCTwvVEQ+CgkJ
CTxURCBXSURUSD0yMCUgVkFMSUdOPUJPVFRPTSBTRFZBTD0iNyIgU0ROVU09IjUxMjk7Ij4KCQkJ
CTxQIEFMSUdOPVJJR0hUPjc8L1A+CgkJCTwvVEQ+CgkJPC9UUj4KCTwvVEJPRFk+CjwvVEFCTEU+
CjxQPjxCUj48QlI+CjwvUD4KPFA+JElkJDwvUD4KPFA+PEJSPjxCUj4KPC9QPgo8UD48QlI+PEJS
Pgo8L1A+CjwvQk9EWT4KPC9IVE1MPg==

--------------Boundary-00=_LC11BBLD92CDOF69AODV--


---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.