Re: (ITS#8959) duplicate symbols
by quanah@symas.com
--On Friday, January 25, 2019 7:42 AM +0000 Rupert Gallagher
<ruga(a)protonmail.com> wrote:
>
> It is evident from the bug report that the linker is reading twice from
> the same path inside openldap's source folder.
>
>
> The linker just follows your instructions.
Again, there is a problem specific to your build environment.
Just for kicks, I downloaded and built OpenLDAP 2.4.47 today on my OSX
laptop (Darwin 18.2.0) with the current Xcode release.
It builds just fine with zero issues.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
4 years, 8 months
Re: (ITS#8875) [Patch] Performance problems in back-mdb with large DITs and many aliases
by quanah@symas.com
--On Friday, January 25, 2019 1:51 PM +0000 hbohnenkamp(a)united-internet.de
wrote:
> While writing the test scripts I was wondering if somebody else did
> ever do something similar. There are of course tests in the test
> directory of the Openldap sources, but are there any (regression)
> tests made (e.g. for Openldap release candidates) which try to
> simulate large productive setups?
Hi Henrik,
I've been expanding the regression test cases (See tests/data/regressions)
and made it possible to run "make its" to trigger executing them prior to
releases. However for obvious reasons that clearly isn't going to include
large datasets.
I've been quite interested in setting adding tests for large data sets that
are stored and executed outside of the regular set of OpenLDAP tests and
source tree but so far haven't had a specific case that required such a
thing.
So if this issue turns out to require testing against a large data set, it
could be the first item for that work.
Warm regards,
Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
4 years, 8 months
Re: (ITS#8875) [Patch] Performance problems in back-mdb with large DITs and many aliases
by hbohnenkamp@united-internet.de
Some months have passed but I finally found the time to set up a test
rig for regression testing of my patch under LIVE conditions. I'll
describe the setup below.
The good news is, today I found the first bug in my patch (handling of
scope=one searches is incorrect). I say "good" news because it shows
that the testing setup is doing something right.
In related news, it turns out that apparently the implementation of
alias-dereferencing in the hdb backend seems to be faulty, too... not
wrt performance, but pureley from a functional point of view. We found
a search request which should return around 6700 entries, but only
deliveres around 6150. My patched mdb-implementation returns more
closely to 6700 entries, but for obvious reasons also that might be
wrong still. I had not the time yet to find out what goes wrong in the
hdb backend. I'll open a bug if I manage to reproduce it somehow
under lab conditions.
My test setup is like this:
I use the productive LDAP content of my company of about 2.4 million
Entries, slapcated from the LDAP master, to test against. All user
passwd hashes are replaced with a default hash so that the test tool
can bind successfully. Slapd configuration is essentially the same as
for our productive slaves (esp. the ACLs).
As test cases I use slapd logfiles of our productive clusters (approx
24 million log lines (stats) per server per 24h). Mostly binds and
searches. Those are directed against the hdb-configured slapd and a
patched-mdb-configured slapd (v 2.4.47). Results are compared: whether
binds succeed or fail, and the returned search results. I will extend
the tester to also include other operations, but this is waht is
relevant to test the patch, I guess.
In the taxonomy of test-methods I would classify this as "advanced
monkey testing".
While writing the test scripts I was wondering if somebody else did
ever do something similar. There are of course tests in the test
directory of the Openldap sources, but are there any (regression)
tests made (e.g. for Openldap release candidates) which try to
simulate large productive setups?
--
Henrik Bohnenkamp
4 years, 8 months
Re: (ITS#8959) duplicate symbols
by ruga@protonmail.com
This is a multi-part message in MIME format.
--b1_4735ab60e16b531e1cbee2b5bac08b8c
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
SXQgaXMgZXZpZGVudCBmcm9tIHRoZSBidWcgcmVwb3J0IHRoYXQgdGhlIGxpbmtlciBpcyByZWFk
aW5nIHR3aWNlIGZyb20gdGhlIHNhbWUgcGF0aCBpbnNpZGUgb3BlbmxkYXAncyBzb3VyY2UgZm9s
ZGVyLgoKVGhlIGxpbmtlciBqdXN0IGZvbGxvd3MgeW91ciBpbnN0cnVjdGlvbnMuCgpPbiBGcmks
IEphbiAyNSwgMjAxOSBhdCAwMTozMSwgUXVhbmFoIEdpYnNvbi1Nb3VudCA8cXVhbmFoQHN5bWFz
LmNvbT4gd3JvdGU6Cgo+IC0tT24gVGh1cnNkYXksIEphbnVhcnkgMjQsIDIwMTkgMTA6NTkgUE0g
KzAwMDAgcnVnYUBwcm90b25tYWlsLmNvbSB3cm90ZToKPgo+PiBUaGlzIGlzIGEgbXVsdGktcGFy
dCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0Lgo+Pgo+PiAtLWIxXzI2NjVhMzUzNjdiOWYyOWQyOWU0
YjBlZmMwNWM3OTgxCj4+IENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+
PiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQKPj4KPj4gTXkgYnVpbGQgZW52aXJv
bm1lbnQgd29ya3Mgd2VsbCBmb3IgbWFueSBvcGVuIHNvdXJjZSBwcm9qZWN0cy4KPgo+IE9wZW5M
REFQIGJ1aWxkcyBhY3Jvc3MgZG96ZW5zIG9mIGxpbnV4IGRpc3RyaWJ1dGlvbnMgYW5kIG9wZXJh
dGluZyBzeXN0ZW1zCj4ganVzdCBmaW5lLiBUaGUgZXJyb3IgeW91J3ZlIHByb3ZpZGVkIGNsZWFy
bHkgaW5kaWNhdGVzIHRoZXJlJ3MgYSBwcm9ibGVtCj4gd2l0aCB0aGUgc2V0dXAgb24geW91ciBz
eXN0ZW0gYW5kIGRvZXMgbm90IHNob3cgYW55IGluZGljYXRpb24gb2YgYSBwcm9ibGVtCj4gd2l0
aCB0aGUgT3BlbkxEQVAgYnVpbGQgcHJvY2Vzcy4gQXMgd2FzIGFscmVhZHkgbm90ZWQsIHRoZXJl
IGFyZSBubwo+IGR1cGxpY2F0ZSBzeW1ib2xzIGluIHRoZSBPcGVuTERBUCBzb3VyY2UgY29kZS4g
SSB3b3VsZCBndWVzcyB0aGF0IHlvdQo+IHBlcmhhcHMgaGF2ZSBhbm90aGVyIGluc3RhbGxhdGlv
biBvZiBPcGVuTERBUCdzIGxpYmxiZXIgdGhhdCdzIGdldHRpbmcKPiBpbmNvcnJlY3RseSBpbmNs
dWRlZCBkdXJpbmcgdGhlIGxpbmsgcGhhc2UuIFJlZ2FyZGxlc3MsIHRoZSBPcGVuTERBUCBJVFMK
PiBzeXN0ZW0gaXMgZm9yIHJlcG9ydGluZyBidWdzIGluIHRoZSBPcGVuTERBUCBzb2Z0d2FyZS4g
SXQgaXMgbm90IGZvcgo+IHJlcG9ydGluZyBpc3N1ZXMgd2l0aCB5b3VyIGJ1aWxkIGVudmlyb25t
ZW50LiBUaGlzIElUUyB3aWxsIHJlbWFpbiBjbG9zZWQuCj4KPiBJZiB5b3UgbmVlZCBhZGRpdGlv
bmFsIGFzc2lzdGFuY2Ugd2l0aCBjb21waWxpbmcgT3BlbkxEQVAsIHlvdSBtYXkgd2lzaCB0bwo+
IGFzayBvbiB0aGUgb3BlbmxkYXAtdGVjaG5pY2FsQG9wZW5sZGFwLm9yZyBtYWlsaW5nIGxpc3Qu
IEhvd2V2ZXIgSSB3b3VsZAo+IGZpcnN0IHJlc29sdmUgd2hhdGV2ZXIncyBicm9rZW4gaW4geW91
ciBidWlsZCBlbnZpcm9ubWVudCBhcyBpdCdzIGNsZWFybHkKPiBub3QgYW4gT3BlbkxEQVAgaXNz
dWUuCj4KPiBXYXJtIHJlZ2FyZHMsCj4gUXVhbmFoCj4KPiAtLQo+Cj4gUXVhbmFoIEdpYnNvbi1N
b3VudAo+IFByb2R1Y3QgQXJjaGl0ZWN0Cj4gU3ltYXMgQ29ycG9yYXRpb24KPiBQYWNrYWdlZCwg
Y2VydGlmaWVkLCBhbmQgc3VwcG9ydGVkIExEQVAgc29sdXRpb25zIHBvd2VyZWQgYnkgT3BlbkxE
QVA6Cj4gPGh0dHA6Ly93d3cuc3ltYXMuY29tPg==
--b1_4735ab60e16b531e1cbee2b5bac08b8c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
PGRpdj5JdCBpcyBldmlkZW50IGZyb20gdGhlIGJ1ZyByZXBvcnQgdGhhdCB0aGUgbGlua2VyIGlz
IHJlYWRpbmcgdHdpY2UgZnJvbSB0aGUgc2FtZSBwYXRoIGluc2lkZSBvcGVubGRhcCdzIHNvdXJj
ZSBmb2xkZXIuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGUgbGlua2VyIGp1c3QgZm9sbG93
cyB5b3VyIGluc3RydWN0aW9ucy4mbmJzcDs8L2Rpdj4gPGRpdj48YnI+PC9kaXY+PGRpdj48YnI+
PC9kaXY+PGRpdj48YnI+PC9kaXY+T24gRnJpLCBKYW4gMjUsIDIwMTkgYXQgMDE6MzEsIFF1YW5h
aCBHaWJzb24tTW91bnQgJmx0OzxhIGhyZWY9Im1haWx0bzpxdWFuYWhAc3ltYXMuY29tIiBjbGFz
cz0iIj5xdWFuYWhAc3ltYXMuY29tPC9hPiZndDsgd3JvdGU6PGJsb2NrcXVvdGUgY2xhc3M9InBy
b3Rvbm1haWxfcXVvdGUiIHR5cGU9ImNpdGUiPiAgLS1PbiBUaHVyc2RheSwgSmFudWFyeSAyNCwg
MjAxOSAxMDo1OSBQTSArMDAwMCBydWdhQHByb3Rvbm1haWwuY29tIHdyb3RlOjxicj48YnI+Jmd0
OyBUaGlzIGlzIGEgbXVsdGktcGFydCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0Ljxicj4mZ3Q7PGJy
PiZndDsgLS1iMV8yNjY1YTM1MzY3YjlmMjlkMjllNGIwZWZjMDVjNzk4MTxicj4mZ3Q7IENvbnRl
bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtODxicj4mZ3Q7IENvbnRlbnQtVHJhbnNm
ZXItRW5jb2Rpbmc6IGJhc2U2NDxicj4mZ3Q7PGJyPiZndDsgTXkgYnVpbGQgZW52aXJvbm1lbnQg
d29ya3Mgd2VsbCBmb3IgbWFueSBvcGVuIHNvdXJjZSBwcm9qZWN0cy48YnI+PGJyPk9wZW5MREFQ
IGJ1aWxkcyBhY3Jvc3MgZG96ZW5zIG9mIGxpbnV4IGRpc3RyaWJ1dGlvbnMgYW5kIG9wZXJhdGlu
ZyBzeXN0ZW1zPGJyPmp1c3QgZmluZS4gIFRoZSBlcnJvciB5b3UndmUgcHJvdmlkZWQgY2xlYXJs
eSBpbmRpY2F0ZXMgdGhlcmUncyBhIHByb2JsZW08YnI+d2l0aCB0aGUgc2V0dXAgb24geW91ciBz
eXN0ZW0gYW5kIGRvZXMgbm90IHNob3cgYW55IGluZGljYXRpb24gb2YgYSBwcm9ibGVtPGJyPndp
dGggdGhlIE9wZW5MREFQIGJ1aWxkIHByb2Nlc3MuICBBcyB3YXMgYWxyZWFkeSBub3RlZCwgdGhl
cmUgYXJlIG5vPGJyPmR1cGxpY2F0ZSBzeW1ib2xzIGluIHRoZSBPcGVuTERBUCBzb3VyY2UgY29k
ZS4gIEkgd291bGQgZ3Vlc3MgdGhhdCB5b3U8YnI+cGVyaGFwcyBoYXZlIGFub3RoZXIgaW5zdGFs
bGF0aW9uIG9mIE9wZW5MREFQJ3MgbGlibGJlciB0aGF0J3MgZ2V0dGluZzxicj5pbmNvcnJlY3Rs
eSBpbmNsdWRlZCBkdXJpbmcgdGhlIGxpbmsgcGhhc2UuICBSZWdhcmRsZXNzLCB0aGUgT3BlbkxE
QVAgSVRTPGJyPnN5c3RlbSBpcyBmb3IgcmVwb3J0aW5nIGJ1Z3MgaW4gdGhlIE9wZW5MREFQIHNv
ZnR3YXJlLiAgSXQgaXMgbm90IGZvcjxicj5yZXBvcnRpbmcgaXNzdWVzIHdpdGggeW91ciBidWls
ZCBlbnZpcm9ubWVudC4gIFRoaXMgSVRTIHdpbGwgcmVtYWluIGNsb3NlZC48YnI+PGJyPklmIHlv
dSBuZWVkIGFkZGl0aW9uYWwgYXNzaXN0YW5jZSB3aXRoIGNvbXBpbGluZyBPcGVuTERBUCwgeW91
IG1heSB3aXNoIHRvPGJyPmFzayBvbiB0aGUgb3BlbmxkYXAtdGVjaG5pY2FsQG9wZW5sZGFwLm9y
ZyBtYWlsaW5nIGxpc3QuICBIb3dldmVyIEkgd291bGQ8YnI+Zmlyc3QgcmVzb2x2ZSB3aGF0ZXZl
cidzIGJyb2tlbiBpbiB5b3VyIGJ1aWxkIGVudmlyb25tZW50IGFzIGl0J3MgY2xlYXJseTxicj5u
b3QgYW4gT3BlbkxEQVAgaXNzdWUuPGJyPjxicj5XYXJtIHJlZ2FyZHMsPGJyPlF1YW5haDxicj48
YnI+PGJyPi0tPGJyPjxicj5RdWFuYWggR2lic29uLU1vdW50PGJyPlByb2R1Y3QgQXJjaGl0ZWN0
PGJyPlN5bWFzIENvcnBvcmF0aW9uPGJyPlBhY2thZ2VkLCBjZXJ0aWZpZWQsIGFuZCBzdXBwb3J0
ZWQgTERBUCBzb2x1dGlvbnMgcG93ZXJlZCBieSBPcGVuTERBUDo8YnI+Jmx0O2h0dHA6Ly93d3cu
c3ltYXMuY29tJmd0Ozxicj48YnI+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJy
PjwvZGl2Pg==
--b1_4735ab60e16b531e1cbee2b5bac08b8c--
4 years, 8 months
Re: (ITS#8959) duplicate symbols
by quanah@symas.com
--On Thursday, January 24, 2019 10:59 PM +0000 ruga(a)protonmail.com wrote:
> This is a multi-part message in MIME format.
>
> --b1_2665a35367b9f29d29e4b0efc05c7981
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: base64
>
> My build environment works well for many open source projects.
OpenLDAP builds across dozens of linux distributions and operating systems
just fine. The error you've provided clearly indicates there's a problem
with the setup on your system and does not show any indication of a problem
with the OpenLDAP build process. As was already noted, there are no
duplicate symbols in the OpenLDAP source code. I would guess that you
perhaps have another installation of OpenLDAP's liblber that's getting
incorrectly included during the link phase. Regardless, the OpenLDAP ITS
system is for reporting bugs in the OpenLDAP software. It is not for
reporting issues with your build environment. This ITS will remain closed.
If you need additional assistance with compiling OpenLDAP, you may wish to
ask on the openldap-technical(a)openldap.org mailing list. However I would
first resolve whatever's broken in your build environment as it's clearly
not an OpenLDAP issue.
Warm regards,
Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
4 years, 8 months
(ITS#8961) Crash when deleting olcDbIndex (back-mdb)
by h.b.furuseth@usit.uio.no
Full_Name: Hallvard Breien Furuseth
Version: RE24 de23e57b13fa25ffc9b9c204fd22a50dbde6c0b2
OS: Linux: Fedora 28
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (193.90.49.117)
ch_malloc(0) asserts when completely deleting olcDbIndex from
an MDB database.
$ mkdir db.foo
$ servers/slapd/slapd -h ldapi://ldapi/ -f slapd.conf -d0 &
$ ldapmodify -H ldapi://ldapi/ -QYEXTERNAL <<EOF
dn: olcDatabase={1}mdb,cn=config
changetype: modify
delete: olcDbIndex
-
EOF
modifying entry "olcDatabase={1}mdb,cn=config"
slapd: ch_malloc.c:107: ch_calloc: Assertion `0' failed.
ldap_result: Can't contact LDAP server (-1)
$ cat slapd.conf
include schema/core.schema
authz-regexp ,cn=peercred,cn=external,cn=auth cn=admin
database config
rootdn cn=admin
database mdb
suffix o=foo
directory db.foo
index cn eq
4 years, 8 months
Re: (ITS#8959) duplicate symbols
by ruga@protonmail.com
This is a multi-part message in MIME format.
--b1_2665a35367b9f29d29e4b0efc05c7981
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
TXkgYnVpbGQgZW52aXJvbm1lbnQgd29ya3Mgd2VsbCBmb3IgbWFueSBvcGVuIHNvdXJjZSBwcm9q
ZWN0cy4KCk9uIFRodSwgSmFuIDI0LCAyMDE5IGF0IDE5OjU2LCBIb3dhcmQgQ2h1IDxoeWNAc3lt
YXMuY29tPiB3cm90ZToKCj4gcnVnYUBwcm90b25tYWlsLmNvbSB3cm90ZToKPj4gRnVsbF9OYW1l
OiBSdXBlcnQKPj4gVmVyc2lvbjogMi40LjQ3Cj4+IE9TOiBEYXJ3aW4gYWxpY2UgMTcuNy4wIERh
cndpbiBLZXJuZWwgVmVyc2lvbiAxNy43LjA6IEZyaSBOb3YgMiAyMDo0MzoxNiBQRFQgMjAxODsg
cm9vdDp4bnUtNDU3MC43MS4xN34xL1JFTEVBU0VfWDg2XzY0IHg4Nl82NAo+PiBVUkw6IGZ0cDov
L2Z0cC5vcGVubGRhcC5vcmcvaW5jb21pbmcvCj4+IFN1Ym1pc3Npb24gZnJvbTogKE5VTEwpICg1
LjE3MC4xMjAuMTI2KQo+Pgo+Pgo+PiBOT1RFCj4+Cj4+PiBtYWtlCj4+Cj4+IFsuLi5dCj4+IGR1
cGxpY2F0ZSBzeW1ib2wgX2Jlcl9pbnRfb3B0aW9ucyBpbjoKPj4gL29wdC9zcmMvb3BlbmxkYXAt
Mi40LjQ3L2xpYnJhcmllcy9saWJsYmVyLy5saWJzL2xpYmxiZXIuYShvcHRpb25zLm8pCj4+IC4u
Ly4uL2xpYnJhcmllcy9saWJsYmVyLy5saWJzL2xpYmxiZXIuYShvcHRpb25zLm8pCj4+IGR1cGxp
Y2F0ZSBzeW1ib2wgX2Jlcl9zZXRfb3B0aW9uIGluOgo+PiAvb3B0L3NyYy9vcGVubGRhcC0yLjQu
NDcvbGlicmFyaWVzL2xpYmxiZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubykKPj4gLi4vLi4v
bGlicmFyaWVzL2xpYmxiZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubykKPj4gZHVwbGljYXRl
IHN5bWJvbCBfYmVyX2dldF9vcHRpb24gaW46Cj4+IC9vcHQvc3JjL29wZW5sZGFwLTIuNC40Ny9s
aWJyYXJpZXMvbGlibGJlci8ubGlicy9saWJsYmVyLmEob3B0aW9ucy5vKQo+PiAuLi8uLi9saWJy
YXJpZXMvbGlibGJlci8ubGlicy9saWJsYmVyLmEob3B0aW9ucy5vKQo+PiBsZDogMyBkdXBsaWNh
dGUgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NAo+PiBjbGFuZy03OiBlcnJvcjogbGlu
a2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUKPj4gaW52
b2NhdGlvbikKPj4gbWFrZVsyXTogKioqIFthcGl0ZXN0XSBFcnJvciAxCj4+IG1ha2VbMl06ICoq
KiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCj4+IGR1cGxpY2F0ZSBzeW1ib2wgX2Jl
cl9pbnRfb3B0aW9ucyBpbjoKPj4gL29wdC9zcmMvb3BlbmxkYXAtMi40LjQ3L2xpYnJhcmllcy9s
aWJsYmVyLy5saWJzL2xpYmxiZXIuYShvcHRpb25zLm8pCj4+IC4uLy4uL2xpYnJhcmllcy9saWJs
YmVyLy5saWJzL2xpYmxiZXIuYShvcHRpb25zLm8pCj4+IGR1cGxpY2F0ZSBzeW1ib2wgX2Jlcl9z
ZXRfb3B0aW9uIGluOgo+PiAvb3B0L3NyYy9vcGVubGRhcC0yLjQuNDcvbGlicmFyaWVzL2xpYmxi
ZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubykKPj4gLi4vLi4vbGlicmFyaWVzL2xpYmxiZXIv
LmxpYnMvbGlibGJlci5hKG9wdGlvbnMubykKPj4gZHVwbGljYXRlIHN5bWJvbCBfYmVyX2dldF9v
cHRpb24gaW46Cj4+IC9vcHQvc3JjL29wZW5sZGFwLTIuNC40Ny9saWJyYXJpZXMvbGlibGJlci8u
bGlicy9saWJsYmVyLmEob3B0aW9ucy5vKQo+PiAuLi8uLi9saWJyYXJpZXMvbGlibGJlci8ubGli
cy9saWJsYmVyLmEob3B0aW9ucy5vKQo+PiBsZDogMyBkdXBsaWNhdGUgc3ltYm9scyBmb3IgYXJj
aGl0ZWN0dXJlIHg4Nl82NAo+PiBjbGFuZy03OiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVk
IHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUKPj4gaW52b2NhdGlvbikKPj4gbWFrZVsy
XTogKioqIFtkbnRlc3RdIEVycm9yIDEKPj4gbWFrZVsxXTogKioqIFthbGwtY29tbW9uXSBFcnJv
ciAxCj4+IG1ha2U6ICoqKiBbYWxsLWNvbW1vbl0gRXJyb3IgMQo+Pgo+Pgo+PiBDT01NRU5UCj4+
Cj4+IFNpbGx5IGJ1ZywgdHJpcHBpbmcgdGhlIGNvbXBpbGVyLgo+Cj4gU291bmRzIGxpa2UgYSBs
aW5rZXIgYnVnIG9yIHNvbWUgb3RoZXIgcHJvYmxlbSBpbiB5b3VyIGJ1aWxkIGVudmlyb25tZW50
Lgo+IFRoZXJlIGFyZSBubyBkdXBsaWNhdGUgc3ltYm9scyBhbnl3aGVyZSBpbiB0aGlzIHNvdXJj
ZSB0cmVlLgo+Cj4gLS0KPiAtLSBIb3dhcmQgQ2h1Cj4gQ1RPLCBTeW1hcyBDb3JwLiBodHRwOi8v
d3d3LnN5bWFzLmNvbQo+IERpcmVjdG9yLCBIaWdobGFuZCBTdW4gaHR0cDovL2hpZ2hsYW5kc3Vu
LmNvbS9oeWMvCj4gQ2hpZWYgQXJjaGl0ZWN0LCBPcGVuTERBUCBodHRwOi8vd3d3Lm9wZW5sZGFw
Lm9yZy9wcm9qZWN0Lw==
--b1_2665a35367b9f29d29e4b0efc05c7981
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
ICAgPGRpdj5NeSBidWlsZCBlbnZpcm9ubWVudCB3b3JrcyB3ZWxsIGZvciBtYW55IG9wZW4gc291
cmNlIHByb2plY3RzLiZuYnNwOzwvZGl2PiA8ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj5P
biBUaHUsIEphbiAyNCwgMjAxOSBhdCAxOTo1NiwgSG93YXJkIENodSAmbHQ7PGEgaHJlZj0ibWFp
bHRvOmh5Y0BzeW1hcy5jb20iIGNsYXNzPSIiPmh5Y0BzeW1hcy5jb208L2E+Jmd0OyB3cm90ZTo8
YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+ICBydWdhQHBy
b3Rvbm1haWwuY29tIHdyb3RlOjxicj4mZ3Q7IEZ1bGxfTmFtZTogUnVwZXJ0PGJyPiZndDsgVmVy
c2lvbjogMi40LjQ3PGJyPiZndDsgT1M6IERhcndpbiBhbGljZSAxNy43LjAgRGFyd2luIEtlcm5l
bCBWZXJzaW9uIDE3LjcuMDogRnJpIE5vdiAgMiAyMDo0MzoxNiBQRFQgMjAxODsgcm9vdDp4bnUt
NDU3MC43MS4xN34xL1JFTEVBU0VfWDg2XzY0IHg4Nl82NDxicj4mZ3Q7IFVSTDogZnRwOi8vZnRw
Lm9wZW5sZGFwLm9yZy9pbmNvbWluZy88YnI+Jmd0OyBTdWJtaXNzaW9uIGZyb206IChOVUxMKSAo
NS4xNzAuMTIwLjEyNik8YnI+Jmd0Ozxicj4mZ3Q7PGJyPiZndDsgTk9URTxicj4mZ3Q7PGJyPiZn
dDsmZ3Q7IG1ha2U8YnI+Jmd0Ozxicj4mZ3Q7IFsuLi5dPGJyPiZndDsgZHVwbGljYXRlIHN5bWJv
bCBfYmVyX2ludF9vcHRpb25zIGluOjxicj4mZ3Q7ICAgICAvb3B0L3NyYy9vcGVubGRhcC0yLjQu
NDcvbGlicmFyaWVzL2xpYmxiZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubyk8YnI+Jmd0OyAg
ICAgLi4vLi4vbGlicmFyaWVzL2xpYmxiZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubyk8YnI+
Jmd0OyBkdXBsaWNhdGUgc3ltYm9sIF9iZXJfc2V0X29wdGlvbiBpbjo8YnI+Jmd0OyAgICAgL29w
dC9zcmMvb3BlbmxkYXAtMi40LjQ3L2xpYnJhcmllcy9saWJsYmVyLy5saWJzL2xpYmxiZXIuYShv
cHRpb25zLm8pPGJyPiZndDsgICAgIC4uLy4uL2xpYnJhcmllcy9saWJsYmVyLy5saWJzL2xpYmxi
ZXIuYShvcHRpb25zLm8pPGJyPiZndDsgZHVwbGljYXRlIHN5bWJvbCBfYmVyX2dldF9vcHRpb24g
aW46PGJyPiZndDsgICAgIC9vcHQvc3JjL29wZW5sZGFwLTIuNC40Ny9saWJyYXJpZXMvbGlibGJl
ci8ubGlicy9saWJsYmVyLmEob3B0aW9ucy5vKTxicj4mZ3Q7ICAgICAuLi8uLi9saWJyYXJpZXMv
bGlibGJlci8ubGlicy9saWJsYmVyLmEob3B0aW9ucy5vKTxicj4mZ3Q7IGxkOiAzIGR1cGxpY2F0
ZSBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0PGJyPiZndDsgY2xhbmctNzogZXJyb3I6
IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlPGJy
PiZndDsgaW52b2NhdGlvbik8YnI+Jmd0OyBtYWtlWzJdOiAqKiogW2FwaXRlc3RdIEVycm9yIDE8
YnI+Jmd0OyBtYWtlWzJdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLjxicj4m
Z3Q7IGR1cGxpY2F0ZSBzeW1ib2wgX2Jlcl9pbnRfb3B0aW9ucyBpbjo8YnI+Jmd0OyAgICAgL29w
dC9zcmMvb3BlbmxkYXAtMi40LjQ3L2xpYnJhcmllcy9saWJsYmVyLy5saWJzL2xpYmxiZXIuYShv
cHRpb25zLm8pPGJyPiZndDsgICAgIC4uLy4uL2xpYnJhcmllcy9saWJsYmVyLy5saWJzL2xpYmxi
ZXIuYShvcHRpb25zLm8pPGJyPiZndDsgZHVwbGljYXRlIHN5bWJvbCBfYmVyX3NldF9vcHRpb24g
aW46PGJyPiZndDsgICAgIC9vcHQvc3JjL29wZW5sZGFwLTIuNC40Ny9saWJyYXJpZXMvbGlibGJl
ci8ubGlicy9saWJsYmVyLmEob3B0aW9ucy5vKTxicj4mZ3Q7ICAgICAuLi8uLi9saWJyYXJpZXMv
bGlibGJlci8ubGlicy9saWJsYmVyLmEob3B0aW9ucy5vKTxicj4mZ3Q7IGR1cGxpY2F0ZSBzeW1i
b2wgX2Jlcl9nZXRfb3B0aW9uIGluOjxicj4mZ3Q7ICAgICAvb3B0L3NyYy9vcGVubGRhcC0yLjQu
NDcvbGlicmFyaWVzL2xpYmxiZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubyk8YnI+Jmd0OyAg
ICAgLi4vLi4vbGlicmFyaWVzL2xpYmxiZXIvLmxpYnMvbGlibGJlci5hKG9wdGlvbnMubyk8YnI+
Jmd0OyBsZDogMyBkdXBsaWNhdGUgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDxicj4m
Z3Q7IGNsYW5nLTc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUg
MSAodXNlIC12IHRvIHNlZTxicj4mZ3Q7IGludm9jYXRpb24pPGJyPiZndDsgbWFrZVsyXTogKioq
IFtkbnRlc3RdIEVycm9yIDE8YnI+Jmd0OyBtYWtlWzFdOiAqKiogW2FsbC1jb21tb25dIEVycm9y
IDE8YnI+Jmd0OyBtYWtlOiAqKiogW2FsbC1jb21tb25dIEVycm9yIDE8YnI+Jmd0Ozxicj4mZ3Q7
PGJyPiZndDsgQ09NTUVOVDxicj4mZ3Q7PGJyPiZndDsgU2lsbHkgYnVnLCB0cmlwcGluZyB0aGUg
Y29tcGlsZXIuPGJyPjxicj5Tb3VuZHMgbGlrZSBhIGxpbmtlciBidWcgb3Igc29tZSBvdGhlciBw
cm9ibGVtIGluIHlvdXIgYnVpbGQgZW52aXJvbm1lbnQuPGJyPlRoZXJlIGFyZSBubyBkdXBsaWNh
dGUgc3ltYm9scyBhbnl3aGVyZSBpbiB0aGlzIHNvdXJjZSB0cmVlLjxicj48YnI+LS08YnI+ICAt
LSBIb3dhcmQgQ2h1PGJyPiAgQ1RPLCBTeW1hcyBDb3JwLiAgICAgICAgICAgaHR0cDovL3d3dy5z
eW1hcy5jb208YnI+ICBEaXJlY3RvciwgSGlnaGxhbmQgU3VuICAgICBodHRwOi8vaGlnaGxhbmRz
dW4uY29tL2h5Yy88YnI+ICBDaGllZiBBcmNoaXRlY3QsIE9wZW5MREFQICBodHRwOi8vd3d3Lm9w
ZW5sZGFwLm9yZy9wcm9qZWN0Lzxicj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj48
YnI+PC9kaXY+
--b1_2665a35367b9f29d29e4b0efc05c7981--
4 years, 8 months