[dev] Names that conflicts with PEAR

Blues blues@ds6.pg.gda.pl
Sun, 18 Aug 2002 19:02:53 +0200 (CEST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---------------------- multipart/mixed attachment
Horde tries to provide Auth class. The same name is provided by PEAR, and 
if someone uses PEAR and Horde together it can make some confusions.
This patch changes name from Auth* to Horde_Auth*

There is more class with exactly the same names like in PEAR - this should 
be changed too - Cache, Data, MIME*,... I think that every class provided 
by horde should become Horde_* prefix, but these conflicting have to.

Now question - horde uses some parts of PEAR. Why does not use Auth (and
other) class from there? If something is missing is that class should
added there, not in horde's own classes.

-- 
---------------------------------
pozdr.  Paweł Gołaszewski        
---------------------------------
CPU not found - software emulation...

---------------------- multipart/mixed attachment
LS0tIC4vbGliL0F1dGgvZnRwLnBocC5vcmcJRnJpIEFwciAgNSAwMzoyNDoy
NSAyMDAyDQorKysgLi9saWIvQXV0aC9mdHAucGhwCVN1biBBdWcgMTggMTg6
MTQ6MDAgMjAwMg0KQEAgLTIsMTAgKzIsMTAgQEANCiAvLyAkSG9yZGU6IGhv
cmRlL2xpYi9BdXRoL2Z0cC5waHAsdiAxLjQuMi4zIDIwMDIvMDQvMDUgMDE6
MjQ6MjUgam9uIEV4cCAkDQogDQogSG9yZGU6OmZ1bmN0aW9uQ2hlY2soJ2Z0
cF9jb25uZWN0JywgdHJ1ZSwNCi0gICAgJ0F1dGhfZnRwOiBSZXF1aXJlZCBG
VFAgZnVuY3Rpb25zIHdlcmUgbm90IGZvdW5kLicpOw0KKyAgICAnSG9yZGVf
QXV0aF9mdHA6IFJlcXVpcmVkIEZUUCBmdW5jdGlvbnMgd2VyZSBub3QgZm91
bmQuJyk7DQogDQogLyoqDQotICogVGhlIEF1dGhfZnRwIGNsYXNzIHByb3Zp
ZGVzIGFuIEZUUCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSG9yZGUNCisgKiBU
aGUgSG9yZGVfQXV0aF9mdHAgY2xhc3MgcHJvdmlkZXMgYW4gRlRQIGltcGxl
bWVudGF0aW9uIG9mIHRoZSBIb3JkZQ0KICAqIGF1dGhlbnRpY2F0aW9uIHN5
c3RlbS4NCiAgKg0KICAqIEBhdXRob3IgIENodWNrIEhhZ2VuYnVjaCA8Y2h1
Y2tAaG9yZGUub3JnPg0KQEAgLTE0LDcgKzE0LDcgQEANCiAgKiBAc2luY2Ug
ICBIb3JkZSAxLjMNCiAgKiBAcGFja2FnZSBob3JkZS5hdXRoDQogICovDQot
Y2xhc3MgQXV0aF9mdHAgZXh0ZW5kcyBBdXRoIHsNCitjbGFzcyBIb3JkZV9B
dXRoX2Z0cCBleHRlbmRzIEhvcmRlX0F1dGggew0KIA0KICAgICAvKioNCiAg
ICAgICogSGFzaCBjb250YWluaW5nIGNvbm5lY3Rpb24gcGFyYW1ldGVycy4N
CkBAIC02MCw3ICs2MCw3IEBADQogICAgICAqLw0KICAgICBmdW5jdGlvbiBh
dXRoZW50aWNhdGUoJHVzZXJJRCwgJGNyZWRlbnRpYWxzKQ0KICAgICB7DQot
ICAgICAgICBpZiAoQXV0aDo6Y2hlY2tBdXRoKCR1c2VySUQpKSB7DQorICAg
ICAgICBpZiAoSG9yZGVfQXV0aDo6Y2hlY2tBdXRoKCR1c2VySUQpKSB7DQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICB9DQogDQpAQCAt
NjgsNyArNjgsNyBAQA0KIA0KICAgICAgICAgaWYgKCRmdHAgJiYgQGZ0cF9s
b2dpbigkZnRwLCAkdXNlcklELCAkY3JlZGVudGlhbHNbJ3Bhc3N3b3JkJ10p
KSB7DQogICAgICAgICAgICAgQGZ0cF9xdWl0KCRmdHApOw0KLSAgICAgICAg
ICAgIEF1dGg6OnNldEF1dGgoJHVzZXJJRCwgJGNyZWRlbnRpYWxzKTsNCisg
ICAgICAgICAgICBIb3JkZV9BdXRoOjpzZXRBdXRoKCR1c2VySUQsICRjcmVk
ZW50aWFscyk7DQogICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAg
ICB9DQogDQotLS0gLi9saWIvQXV0aC9pbWFwLnBocC5vcmcJRnJpIEFwciAg
NSAwMzoyNDoyNSAyMDAyDQorKysgLi9saWIvQXV0aC9pbWFwLnBocAlTdW4g
QXVnIDE4IDE4OjE1OjAyIDIwMDINCkBAIC0yLDEwICsyLDEwIEBADQogLy8g
JEhvcmRlOiBob3JkZS9saWIvQXV0aC9pbWFwLnBocCx2IDEuNC4yLjMgMjAw
Mi8wNC8wNSAwMToyNDoyNSBqb24gRXhwICQNCiANCiBIb3JkZTo6ZnVuY3Rp
b25DaGVjaygnaW1hcF9vcGVuJywgdHJ1ZSwNCi0gICAgJ0F1dGhfaW1hcDog
UmVxdWlyZWQgSU1BUCBmdW5jdGlvbnMgd2VyZSBub3QgZm91bmQuJyk7DQor
ICAgICdIb3JkZV9BdXRoX2ltYXA6IFJlcXVpcmVkIElNQVAgZnVuY3Rpb25z
IHdlcmUgbm90IGZvdW5kLicpOw0KIA0KIC8qKg0KLSAqIFRoZSBBdXRoX2lt
YXAgY2xhc3MgcHJvdmlkZXMgYW4gSU1BUCBpbXBsZW1lbnRhdGlvbiBvZiB0
aGUgSG9yZGUNCisgKiBUaGUgSG9yZGVfQXV0aF9pbWFwIGNsYXNzIHByb3Zp
ZGVzIGFuIElNQVAgaW1wbGVtZW50YXRpb24gb2YgdGhlIEhvcmRlDQogICog
YXV0aGVudGljYXRpb24gc3lzdGVtLg0KICAqDQogICogUGFyYW1ldGVyczoN
CkBAIC0yMCw3ICsyMCw3IEBADQogICogQHNpbmNlICAgSG9yZGUgMS4zDQog
ICogQHBhY2thZ2UgaG9yZGUuYXV0aA0KICAqLw0KLWNsYXNzIEF1dGhfaW1h
cCBleHRlbmRzIEF1dGggew0KK2NsYXNzIEhvcmRlX0F1dGhfaW1hcCBleHRl
bmRzIEhvcmRlX0F1dGggew0KIA0KICAgICAvKioNCiAgICAgICogSGFzaCBj
b250YWluaW5nIGNvbm5lY3Rpb24gcGFyYW1ldGVycy4NCkBAIC04Miw3ICs4
Miw3IEBADQogICAgICAqLw0KICAgICBmdW5jdGlvbiBhdXRoZW50aWNhdGUo
JHVzZXJJRCwgJGNyZWRlbnRpYWxzKQ0KICAgICB7DQotICAgICAgICBpZiAo
QXV0aDo6Y2hlY2tBdXRoKCR1c2VySUQpKSB7DQorICAgICAgICBpZiAoSG9y
ZGVfQXV0aDo6Y2hlY2tBdXRoKCR1c2VySUQpKSB7DQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7DQogICAgICAgICB9DQogDQpAQCAtOTEsNyArOTEsNyBA
QA0KIA0KICAgICAgICAgaWYgKCRpbWFwKSB7DQogICAgICAgICAgICAgQGlt
YXBfY2xvc2UoJGltYXApOw0KLSAgICAgICAgICAgIEF1dGg6OnNldEF1dGgo
JHVzZXJJRCwgJGNyZWRlbnRpYWxzKTsNCisgICAgICAgICAgICBIb3JkZV9B
dXRoOjpzZXRBdXRoKCR1c2VySUQsICRjcmVkZW50aWFscyk7DQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICB9DQogDQotLS0gLi9saWIv
QXV0aC9sZGFwLnBocC5vcmcJVHVlIE1heSAyMSAwMToyODoxNiAyMDAyDQor
KysgLi9saWIvQXV0aC9sZGFwLnBocAlTdW4gQXVnIDE4IDE4OjE3OjAzIDIw
MDINCkBAIC0yLDEwICsyLDEwIEBADQogLy8gJEhvcmRlOiBob3JkZS9saWIv
QXV0aC9sZGFwLnBocCx2IDEuNS4yLjQgMjAwMi8wNS8yMCAyMzoyODoxNiBj
aHVjayBFeHAgJA0KIA0KIEhvcmRlOjpmdW5jdGlvbkNoZWNrKCdsZGFwX2Nv
bm5lY3QnLCB0cnVlLA0KLSAgICAnQXV0aF9sZGFwOiBSZXF1aXJlZCBMREFQ
IGZ1bmN0aW9ucyB3ZXJlIG5vdCBmb3VuZC4nKTsNCisgICAgJ0hvcmRlX0F1
dGhfbGRhcDogUmVxdWlyZWQgTERBUCBmdW5jdGlvbnMgd2VyZSBub3QgZm91
bmQuJyk7DQogDQogLyoqDQotICogVGhlIEF1dGhfbGRhcCBjbGFzcyBwcm92
aWRlcyBhbiBMREFQIGltcGxlbWVudGF0aW9uIG9mIHRoZSBIb3JkZQ0KKyAq
IFRoZSBIb3JkZV9BdXRoX2xkYXAgY2xhc3MgcHJvdmlkZXMgYW4gTERBUCBp
bXBsZW1lbnRhdGlvbiBvZiB0aGUgSG9yZGUNCiAgKiBhdXRoZW50aWNhdGlv
biBzeXN0ZW0uDQogICoNCiAgKiBSZXF1aXJlZCB2YWx1ZXMgZm9yICRwYXJh
bXM6DQpAQCAtMTgsNyArMTgsNyBAQA0KICAqIEBzaW5jZSAgIEhvcmRlIDEu
Mw0KICAqIEBwYWNrYWdlIGhvcmRlLmF1dGgNCiAgKi8NCi1jbGFzcyBBdXRo
X2xkYXAgZXh0ZW5kcyBBdXRoIHsNCitjbGFzcyBIb3JkZV9BdXRoX2xkYXAg
ZXh0ZW5kcyBIb3JkZV9BdXRoIHsNCiANCiAgICAgLyoqIEFuIGFycmF5IG9m
IGNhcGFiaWxpdGllcywgc28gdGhhdCB0aGUgZHJpdmVyIGNhbiByZXBvcnQg
d2hpY2gNCiAgICAgICAgIG9wZXJhdGlvbnMgaXQgc3VwcG9ydHMgYW5kIHdo
aWNoIGl0IGRvZXNuJ3QuDQpAQCAtNzIsNyArNzIsNyBAQA0KICAgICAgKi8N
CiAgICAgZnVuY3Rpb24gYXV0aGVudGljYXRlKCR1c2VySUQsICRjcmVkZW50
aWFscykNCiAgICAgew0KLSAgICAgICAgaWYgKEF1dGg6OmNoZWNrQXV0aCgk
dXNlcklEKSkgew0KKyAgICAgICAgaWYgKEhvcmRlX0F1dGg6OmNoZWNrQXV0
aCgkdXNlcklEKSkgew0KICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAg
ICAgICAgfQ0KIA0KQEAgLTExMCw3ICsxMTAsNyBAQA0KICAgICAgICAgJGJp
bmQgPSBAbGRhcF9iaW5kKCRsZGFwLCAkZG4sICRjcmVkZW50aWFsc1sncGFz
c3dvcmQnXSk7DQogICAgICAgICBpZiAoJGJpbmQgIT0gZmFsc2UpIHsNCiAg
ICAgICAgICAgICBAbGRhcF9jbG9zZSgkbGRhcCk7DQotICAgICAgICAgICAg
QXV0aDo6c2V0QXV0aCgkdXNlcklELCAkY3JlZGVudGlhbHMpOw0KKyAgICAg
ICAgICAgIEhvcmRlX0F1dGg6OnNldEF1dGgoJHVzZXJJRCwgJGNyZWRlbnRp
YWxzKTsNCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgIH0N
CiANCi0tLSAuL2xpYi9BdXRoL21jYWwucGhwLm9yZwlGcmkgQXByICA1IDAz
OjI0OjI2IDIwMDINCisrKyAuL2xpYi9BdXRoL21jYWwucGhwCVN1biBBdWcg
MTggMTg6MTg6MzcgMjAwMg0KQEAgLTEsMTAgKzEsMTAgQEANCiA8P3BocA0K
IC8vICRIb3JkZTogaG9yZGUvbGliL0F1dGgvbWNhbC5waHAsdiAxLjQuMi4z
IDIwMDIvMDQvMDUgMDE6MjQ6MjYgam9uIEV4cCAkDQogDQotSG9yZGU6OmZ1
bmN0aW9uQ2hlY2soJ21jYWxfb3BlbicsIHRydWUsICdBdXRoX21jYWw6IFJl
cXVpcmVkIE1DQUwgZnVuY3Rpb25zIHdlcmUgbm90IGZvdW5kLicpOw0KK0hv
cmRlOjpmdW5jdGlvbkNoZWNrKCdtY2FsX29wZW4nLCB0cnVlLCAnSG9yZGVf
QXV0aF9tY2FsOiBSZXF1aXJlZCBNQ0FMIGZ1bmN0aW9ucyB3ZXJlIG5vdCBm
b3VuZC4nKTsNCiANCiAvKioNCi0gKiBUaGUgQXV0aF9tY2FsIGNsYXNzIHBy
b3ZpZGVzIGFuIE1DQUwgaW1wbGVtZW50YXRpb24gb2YgdGhlIEhvcmRlDQor
ICogVGhlIEhvcmRlX0F1dGhfbWNhbCBjbGFzcyBwcm92aWRlcyBhbiBNQ0FM
IGltcGxlbWVudGF0aW9uIG9mIHRoZSBIb3JkZQ0KICAqIGF1dGhlbnRpY2F0
aW9uIHN5c3RlbS4NCiAgKg0KICAqIEBhdXRob3IgIENodWNrIEhhZ2VuYnVj
aCA8Y2h1Y2tAaG9yZGUub3JnPg0KQEAgLTEyLDcgKzEyLDcgQEANCiAgKiBA
c2luY2UgICBIb3JkZSAxLjMNCiAgKiBAcGFja2FnZSBob3JkZS5hdXRoDQog
ICovDQotY2xhc3MgQXV0aF9tY2FsIGV4dGVuZHMgQXV0aCB7DQorY2xhc3Mg
SG9yZGVfQXV0aF9tY2FsIGV4dGVuZHMgSG9yZGVfQXV0aCB7DQogDQogICAg
IC8qKiBBbiBhcnJheSBvZiBjYXBhYmlsaXRpZXMsIHNvIHRoYXQgdGhlIGRy
aXZlciBjYW4gcmVwb3J0IHdoaWNoDQogICAgICAgICBvcGVyYXRpb25zIGl0
IHN1cHBvcnRzIGFuZCB3aGljaCBpdCBkb2Vzbid0Lg0KQEAgLTUyLDcgKzUy
LDcgQEANCiAgICAgICovDQogICAgIGZ1bmN0aW9uIGF1dGhlbnRpY2F0ZSgk
dXNlcklELCAkY3JlZGVudGlhbHMpDQogICAgIHsNCi0gICAgICAgIGlmIChB
dXRoOjpjaGVja0F1dGgoJHVzZXJJRCkpIHsNCisgICAgICAgIGlmIChIb3Jk
ZV9BdXRoOjpjaGVja0F1dGgoJHVzZXJJRCkpIHsNCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsNCiAgICAgICAgIH0NCiANCkBAIC02MCw3ICs2MCw3IEBA
DQogDQogICAgICAgICBpZiAoJG1jYWwpIHsNCiAgICAgICAgICAgICBAbWNh
bF9jbG9zZSgkbWNhbCk7DQotICAgICAgICAgICAgQXV0aDo6c2V0QXV0aCgk
dXNlcklELCAkY3JlZGVudGlhbHMpOw0KKyAgICAgICAgICAgIEhvcmRlX0F1
dGg6OnNldEF1dGgoJHVzZXJJRCwgJGNyZWRlbnRpYWxzKTsNCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgIH0NCiANCi0tLSAuL2xpYi9B
dXRoL3NxbC5waHAub3JnCUZyaSBBcHIgIDUgMDM6MjQ6MjYgMjAwMg0KKysr
IC4vbGliL0F1dGgvc3FsLnBocAlTdW4gQXVnIDE4IDE4OjE5OjM2IDIwMDIN
CkBAIC0yLDcgKzIsNyBAQA0KIC8vICRIb3JkZTogaG9yZGUvbGliL0F1dGgv
c3FsLnBocCx2IDEuMjEuMi4zIDIwMDIvMDQvMDUgMDE6MjQ6MjYgam9uIEV4
cCAkDQogDQogLyoqDQotICogVGhlIEF1dGhfc3FsIGNsYXNzIHByb3ZpZGVz
IGEgc3FsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBIb3JkZQ0KKyAqIFRoZSBI
b3JkZV9BdXRoX3NxbCBjbGFzcyBwcm92aWRlcyBhIHNxbCBpbXBsZW1lbnRh
dGlvbiBvZiB0aGUgSG9yZGUNCiAgKiBhdXRoZW50aWNhdGlvbiBzeXN0ZW0u
DQogICoNCiAgKiBSZXF1aXJlZCB2YWx1ZXMgZm9yICRwYXJhbXM6DQpAQCAt
MzIsNyArMzIsNyBAQA0KICAqIEBzaW5jZSAgIEhvcmRlIDEuMw0KICAqIEBw
YWNrYWdlIGhvcmRlLmF1dGgNCiAgKi8NCi1jbGFzcyBBdXRoX3NxbCBleHRl
bmRzIEF1dGggew0KK2NsYXNzIEhvcmRlX0F1dGhfc3FsIGV4dGVuZHMgSG9y
ZGVfQXV0aCB7DQogDQogICAgIC8qKiBBbiBhcnJheSBvZiBjYXBhYmlsaXRp
ZXMsIHNvIHRoYXQgdGhlIGRyaXZlciBjYW4gcmVwb3J0IHdoaWNoDQogICAg
ICAgICBvcGVyYXRpb25zIGl0IHN1cHBvcnRzIGFuZCB3aGljaCBpdCBkb2Vz
bid0Lg0KQEAgLTE0NSw3ICsxNDUsNyBAQA0KICAgICAgKi8NCiAgICAgZnVu
Y3Rpb24gYXV0aGVudGljYXRlKCR1c2VySUQsICRjcmVkZW50aWFscykNCiAg
ICAgew0KLSAgICAgICAgaWYgKEF1dGg6OmNoZWNrQXV0aCgkdXNlcklEKSkg
ew0KKyAgICAgICAgaWYgKEhvcmRlX0F1dGg6OmNoZWNrQXV0aCgkdXNlcklE
KSkgew0KICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgfQ0K
IA0KQEAgLTE2NCw3ICsxNjQsNyBAQA0KICAgICAgICAgICAgICRyb3cgPSAk
cmVzdWx0LT5mZXRjaFJvdyhEQl9HRVRNT0RFX0FTU09DKTsNCiAgICAgICAg
ICAgICBpZiAoaXNfYXJyYXkoJHJvdykpIHsNCiAgICAgICAgICAgICAgICAg
JHJlc3VsdC0+ZnJlZSgpOw0KLSAgICAgICAgICAgICAgICBBdXRoOjpzZXRB
dXRoKCR1c2VySUQsICRjcmVkZW50aWFscyk7DQorICAgICAgICAgICAgICAg
IEhvcmRlX0F1dGg6OnNldEF1dGgoJHVzZXJJRCwgJGNyZWRlbnRpYWxzKTsN
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAg
fSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgJHJlc3VsdC0+ZnJlZSgpOw0K
LS0tIC4vbGliL0NhdGVnb3J5L3NxbC5waHAub3JnCUZyaSBBcHIgIDUgMDM6
MjQ6MjcgMjAwMg0KKysrIC4vbGliL0NhdGVnb3J5L3NxbC5waHAJU3VuIEF1
ZyAxOCAxODoxMTo1NyAyMDAyDQpAQCAtMjIyLDcgKzIyMiw3IEBADQogICAg
ICAgICAgICAgICAgICAgICAgICAgICcgVkFMVUVTICglcywgJXMsICVzLCAl
cywgJXMsICVzKScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlz
LT5wYXJhbXNbJ3RhYmxlJ10sICRpZCwgJHRoaXMtPmRiLT5xdW90ZSgkdGhp
cy0+cGFyYW1zWydncm91cCddKSwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgJHRoaXMtPmRiLT5xdW90ZSgkbmFtZSksICR0aGlzLT5kYi0+cXVvdGUo
JGRhdGEpLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZGIt
PnF1b3RlKEF1dGg6OmdldEF1dGgoKSksICRzZXIpOw0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAkdGhpcy0+ZGItPnF1b3RlKEhvcmRlX0F1dGg6Omdl
dEF1dGgoKSksICRzZXIpOw0KIA0KICAgICAgICAgLyogRXhlY3V0ZSB0aGUg
cXVlcnkuICovDQogICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmRiLT5xdWVy
eSgkcXVlcnkpOw0KLS0tIC4vbGliL0F1dGgucGhwLm9yZwlGcmkgQXByICA1
IDAzOjI0OjE4IDIwMDINCisrKyAuL2xpYi9BdXRoLnBocAlTdW4gQXVnIDE4
IDE4OjEwOjU1IDIwMDINCkBAIC00LDE1ICs0LDE1IEBADQogcmVxdWlyZV9v
bmNlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9TZWNyZXQucGhwJzsNCiANCiAv
KioNCi0gKiBUaGUgQXV0aDo6IGNsYXNzIHByb3ZpZGVzIGEgY29tbW9uIGFi
c3RyYWN0ZWQgaW50ZXJmYWNlIGludG8gdGhlDQotICogdmFyaW91cyBiYWNr
ZW5kcyBmb3IgdGhlIEhvcmRlIGF1dGhlbnRpY2F0aW9uIHN5c3RlbS4NCisg
KiBUaGUgSG9yZGVfQXV0aDo6IGNsYXNzIHByb3ZpZGVzIGEgY29tbW9uIGFi
c3RyYWN0ZWQgaW50ZXJmYWNlIGludG8NCisgKiB0aGUgdmFyaW91cyBiYWNr
ZW5kcyBmb3IgdGhlIEhvcmRlIGF1dGhlbnRpY2F0aW9uIHN5c3RlbS4NCiAg
Kg0KICAqIEBhdXRob3IgIENodWNrIEhhZ2VuYnVjaCA8Y2h1Y2tAaG9yZGUu
b3JnPg0KICAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMS4yMi4yLjQgJA0KICAq
IEBzaW5jZSAgIEhvcmRlIDEuMw0KICAqIEBwYWNrYWdlIGhvcmRlLmF1dGgN
CiAgKi8NCi1jbGFzcyBBdXRoIHsNCitjbGFzcyBIb3JkZV9BdXRoIHsNCiAN
CiAgICAgLyoqIEFuIGFycmF5IG9mIGNhcGFiaWxpdGllcywgc28gdGhhdCB0
aGUgZHJpdmVyIGNhbiByZXBvcnQgd2hpY2gNCiAgICAgICAgIG9wZXJhdGlv
bnMgaXQgc3VwcG9ydHMgYW5kIHdoaWNoIGl0IGRvZXNuJ3QuDQpAQCAtNDIs
NyArNDIsNyBAQA0KICAgICAgICAgJGRyaXZlciA9IHN0cnRvbG93ZXIoYmFz
ZW5hbWUoJGRyaXZlcikpOw0KIA0KICAgICAgICAgaWYgKGVtcHR5KCRkcml2
ZXIpIHx8IChzdHJjbXAoJGRyaXZlciwgJ25vbmUnKSA9PSAwKSkgew0KLSAg
ICAgICAgICAgIHJldHVybiBuZXcgQXV0aDsNCisgICAgICAgICAgICByZXR1
cm4gbmV3IEhvcmRlX0F1dGg7DQogICAgICAgICB9DQogDQogICAgICAgICBA
aW5jbHVkZV9vbmNlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9BdXRoLycgLiAk
ZHJpdmVyIC4gJy5waHAnOw0KQEAgLTgyLDcgKzgyLDcgQEANCiANCiAgICAg
ICAgICRzaWduYXR1cmUgPSBtZDUoc3RydG9sb3dlcigkZHJpdmVyKSAuICdd
WycgLiBAaW1wbG9kZSgnXVsnLCAkcGFyYW1zKSk7DQogICAgICAgICBpZiAo
IWlzc2V0KCRpbnN0YW5jZXNbJHNpZ25hdHVyZV0pKSB7DQotICAgICAgICAg
ICAgJGluc3RhbmNlc1skc2lnbmF0dXJlXSA9ICZBdXRoOjpmYWN0b3J5KCRk
cml2ZXIsICRwYXJhbXMpOw0KKyAgICAgICAgICAgICRpbnN0YW5jZXNbJHNp
Z25hdHVyZV0gPSAmSG9yZGVfQXV0aDo6ZmFjdG9yeSgkZHJpdmVyLCAkcGFy
YW1zKTsNCiAgICAgICAgIH0NCiANCiAgICAgICAgIHJldHVybiAkaW5zdGFu
Y2VzWyRzaWduYXR1cmVdOw0KQEAgLTk4LDcgKzk4LDcgQEANCiAgICAgICov
DQogICAgIGZ1bmN0aW9uIGF1dGhlbnRpY2F0ZSgkdXNlcklELCAkY3JlZGVu
dGlhbHMpDQogICAgIHsNCi0gICAgICAgIHJldHVybiBBdXRoOjpjaGVja0F1
dGgoJHVzZXJJRCk7DQorICAgICAgICByZXR1cm4gSG9yZGVfQXV0aDo6Y2hl
Y2tBdXRoKCR1c2VySUQpOw0KICAgICB9DQogDQogICAgIC8qKg0KLS0tIC4v
bGliL1JlZ2lzdHJ5LnBocC5vcmcJU3VuIEFwciAxNCAxODozODo0MCAyMDAy
DQorKysgLi9saWIvUmVnaXN0cnkucGhwCVN1biBBdWcgMTggMTg6Mzc6NDMg
MjAwMg0KQEAgLTU3MSw3ICs1NzEsNyBAQA0KIA0KICAgICAgICAgLyogRG9u
J3QgbG9hZCBhbiBhY3R1YWwgcHJlZnMgZHJpdmVyIG9yIGNhY2hlIGd1ZXN0
DQogICAgICAgICAgKiBwcmVmZXJlbmNlcy4gKi8NCi0gICAgICAgIGlmICgh
QXV0aDo6Z2V0QXV0aCgpKSB7DQorICAgICAgICBpZiAoIUhvcmRlX0F1dGg6
OmdldEF1dGgoKSkgew0KICAgICAgICAgICAgICRwcmVmcyA9ICZQcmVmczo6
ZmFjdG9yeSgnbm9uZScsICRhcHAsICcnLCAnJywgYXJyYXkoKSk7DQogICAg
ICAgICAgICAgJHByZWZzLT5zZXREZWZhdWx0cygkdGhpcy0+Z2V0UGFyYW0o
J2ZpbGVyb290JywgJ2hvcmRlJykgLiAnL2NvbmZpZy9wcmVmcy5waHAnKTsN
CiAgICAgICAgICAgICAkcHJlZnMtPnNldERlZmF1bHRzKCR0aGlzLT5nZXRQ
YXJhbSgnZmlsZXJvb3QnKSAuICcvY29uZmlnL3ByZWZzLnBocCcpOw0KQEAg
LTU4NSw3ICs1ODUsNyBAQA0KICAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+
cHJlZnNDYWNoZVskYXBwXSkpIHsNCiAgICAgICAgICAgICBnbG9iYWwgJGNv
bmY7DQogICAgICAgICAgICAgJHByZWZzID0gJlByZWZzOjpmYWN0b3J5KCRj
b25mWydwcmVmcyddWydkcml2ZXInXSwgJGFwcCwNCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQXV0aDo6Z2V0QXV0aCgpLCBBdXRo
OjpnZXRDcmVkZW50aWFsKCdwYXNzd29yZCcpLA0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBIb3JkZV9BdXRoOjpnZXRBdXRoKCks
IEhvcmRlX0F1dGg6OmdldENyZWRlbnRpYWwoJ3Bhc3N3b3JkJyksDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb25mWydwcmVm
cyddWydwYXJhbXMnXSk7DQogICAgICAgICAgICAgJHByZWZzLT5zZXREZWZh
dWx0cygkdGhpcy0+Z2V0UGFyYW0oJ2ZpbGVyb290JywgJ2hvcmRlJykgLiAn
L2NvbmZpZy9wcmVmcy5waHAnKTsNCiAgICAgICAgICAgICAkcHJlZnMtPnNl
dERlZmF1bHRzKCR0aGlzLT5nZXRQYXJhbSgnZmlsZXJvb3QnKSAuICcvY29u
ZmlnL3ByZWZzLnBocCcpOw0KLS0tIC4vdGVtcGxhdGVzL3dtbC9sb2dpbi91
c2VyLmluYy5vcmcJVGh1IE1hciAyOSAxNzo0Nzo0OSAyMDAxDQorKysgLi90
ZW1wbGF0ZXMvd21sL2xvZ2luL3VzZXIuaW5jCVN1biBBdWcgMTggMTg6MjE6
MzIgMjAwMg0KQEAgLTEgKzEgQEANCi08cD48Pz0gc3ByaW50ZihfKCJXZWxj
b21lLCAlcyIpLCB1Y2ZpcnN0KEF1dGg6OmdldEF1dGgoKSkpID8+PC9wPg0K
KzxwPjw/PSBzcHJpbnRmKF8oIldlbGNvbWUsICVzIiksIHVjZmlyc3QoSG9y
ZGVfQXV0aDo6Z2V0QXV0aCgpKSkgPz48L3A+DQotLS0gLi9sb2dpbi5waHAu
b3JnCVNhdCBKdW4gIDggMDY6MTU6NTUgMjAwMg0KKysrIC4vbG9naW4ucGhw
CVN1biBBdWcgMTggMTg6MjM6MTggMjAwMg0KQEAgLTE5LDkgKzE5LDkgQEAN
CiAgICAgICAgIGV4aXQ7DQogICAgIH0gZWxzZSB7DQogICAgICAgICAkZW50
cnkgPSBzcHJpbnRmKCdVc2VyICVzIFslc10gbG9nZ2VkIG91dCBvZiBIb3Jk
ZScsDQotICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGg6OmdldEF1dGgo
KSwgJEhUVFBfU0VSVkVSX1ZBUlNbJ1JFTU9URV9BRERSJ10pOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICBIb3JkZV9BdXRoOjpnZXRBdXRoKCksICRI
VFRQX1NFUlZFUl9WQVJTWydSRU1PVEVfQUREUiddKTsNCiAgICAgICAgIEhv
cmRlOjpsb2dNZXNzYWdlKCRlbnRyeSwgX19GSUxFX18sIF9fTElORV9fLCBM
T0dfTk9USUNFKTsNCi0gICAgICAgIEF1dGg6OmNsZWFyQXV0aCgpOw0KKyAg
ICAgICAgSG9yZGVfQXV0aDo6Y2xlYXJBdXRoKCk7DQogICAgICAgICBzZXNz
aW9uX2Rlc3Ryb3koKTsNCiAgICAgICAgIEBzZXNzaW9uX3N0YXJ0KCk7DQog
ICAgIH0NCkBAIC0yOSwxMSArMjksMTEgQEANCiANCiBpZiAoaXNzZXQoJEhU
VFBfUE9TVF9WQVJTWydob3JkZV91c2VyJ10pICYmDQogICAgIGlzc2V0KCRI
VFRQX1BPU1RfVkFSU1snaG9yZGVfcGFzcyddKSkgew0KLSAgICAkYXV0aCA9
ICZBdXRoOjpzaW5nbGV0b24oJGNvbmZbJ2F1dGgnXVsnZHJpdmVyJ10sICRj
b25mWydhdXRoJ11bJ3BhcmFtcyddKTsNCisgICAgJGF1dGggPSAmSG9yZGVf
QXV0aDo6c2luZ2xldG9uKCRjb25mWydhdXRoJ11bJ2RyaXZlciddLCAkY29u
ZlsnYXV0aCddWydwYXJhbXMnXSk7DQogICAgIGlmICgkYXV0aC0+YXV0aGVu
dGljYXRlKEhvcmRlOjpnZXRGb3JtRGF0YSgnaG9yZGVfdXNlcicpLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgncGFzc3dvcmQnID0+
IEhvcmRlOjpnZXRGb3JtRGF0YSgnaG9yZGVfcGFzcycpKSkpIHsNCiAgICAg
ICAgICRlbnRyeSA9IHNwcmludGYoJ0xvZ2luIHN1Y2Nlc3MgZm9yICVzIFsl
c10gdG8gSG9yZGUnLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBBdXRo
OjpnZXRBdXRoKCksICRIVFRQX1NFUlZFUl9WQVJTWydSRU1PVEVfQUREUidd
KTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgSG9yZGVfQXV0aDo6Z2V0
QXV0aCgpLCAkSFRUUF9TRVJWRVJfVkFSU1snUkVNT1RFX0FERFInXSk7DQog
ICAgICAgICAkbGV2ZWwgPSBMT0dfSU5GTzsNCiAgICAgfSBlbHNlIHsNCiAg
ICAgICAgICRlbnRyeSA9IHNwcmludGYoJ0ZBSUxFRCBMT0dJTiBmb3IgJXMg
WyVzXSB0byBIb3JkZScsDQpAQCAtNDMsNyArNDMsNyBAQA0KICAgICBIb3Jk
ZTo6bG9nTWVzc2FnZSgkZW50cnksIF9fRklMRV9fLCBfX0xJTkVfXywgJGxl
dmVsKTsNCiB9DQogDQotaWYgKEF1dGg6OmdldEF1dGgoKSkgew0KK2lmIChI
b3JkZV9BdXRoOjpnZXRBdXRoKCkpIHsNCiAgICAgaWYgKEhvcmRlOjpnZXRG
b3JtRGF0YSgndXJsJykpIHsNCiAgICAgICAgIGhlYWRlcignTG9jYXRpb246
ICcgLiBIb3JkZTo6dXJsKEhvcmRlOjpnZXRGb3JtRGF0YSgndXJsJyksIHRy
dWUpKTsNCiAgICAgICAgIGV4aXQ7DQpAQCAtNjAsNyArNjAsNyBAQA0KICAg
ICAgICAgICAgICAgICAgJ2xvZ291dCcgID0+IF8oIllvdSBoYXZlIGJlZW4g
bG9nZ2VkIG91dC48YnIgLz5UaGFuayB5b3UgZm9yIHVzaW5nIHRoZSBzeXN0
ZW0uIiksDQogICAgICAgICAgICAgICAgICAnZmFpbGVkJyAgPT4gXygiTG9n
aW4gZmFpbGVkIGZvciBzb21lIHJlYXNvbi4gTW9zdCBsaWtlbHkgeW91ciB1
c2VybmFtZSBvciBwYXNzd29yZCB3YXMgZW50ZXJlZCBpbmNvcnJlY3RseS4i
KSk7DQogDQotaWYgKEF1dGg6OmdldEF1dGgoKSkgew0KK2lmIChIb3JkZV9B
dXRoOjpnZXRBdXRoKCkpIHsNCiAgICAgJHRpdGxlID0gXygiTXkgU3VtbWFy
eSIpOw0KICAgICAkanNfb25Mb2FkID0gbnVsbDsNCiAgICAgaWYgKCRwcmVm
cy0+Z2V0VmFsdWUoJ3N1bW1hcnlfcmVmcmVzaF90aW1lJykpIHsNCkBAIC02
OCw3ICs2OCw3IEBADQogICAgICAgICAkcmVmcmVzaF91cmwgPSBIb3JkZTo6
YXBwbGljYXRpb25VcmwoJ2xvZ2luLnBocCcpOw0KICAgICB9DQogICAgIGlu
Y2x1ZGVfb25jZSBIT1JERV9CQVNFIC4gJy9saWIvTWVudS5waHAnOw0KLSAg
ICAkZnVsbG5hbWUgPSBBdXRoOjpnZXRBdXRoKCk7DQorICAgICRmdWxsbmFt
ZSA9IEhvcmRlX0F1dGg6OmdldEF1dGgoKTsNCiAgICAgJHRlbXBsYXRlID0g
J3VzZXIuaW5jJzsNCiAgICAgJGNvbHVtbnMgPSBhcnJheSgpOw0KICAgICBm
b3JlYWNoICgkcmVnaXN0cnktPmFwcGxpY2F0aW9ucyBhcyAkYXBwID0+ICRp
bmZvKSB7DQotLS0gLi9tYWludGVuYW5jZS5waHAub3JnCVN1biBBcHIgMTQg
MTc6MjM6NTAgMjAwMg0KKysrIC4vbWFpbnRlbmFuY2UucGhwCVN1biBBdWcg
MTggMTg6MjM6NTYgMjAwMg0KQEAgLTE0LDcgKzE0LDcgQEANCiBpbmNsdWRl
X29uY2UgSE9SREVfQkFTRSAuICcvbGliL01haW50ZW5hbmNlLnBocCc7DQog
DQogLyogTWFrZSBzdXJlIHRoZXJlIGlzIGEgdXNlciBsb2dnZWQgaW4uICov
DQotaWYgKCFBdXRoOjpnZXRBdXRoKCkpIHsNCitpZiAoIUhvcmRlX0F1dGg6
OmdldEF1dGgoKSkgew0KICAgICBoZWFkZXIoJ0xvY2F0aW9uOiAnIC4gSG9y
ZGU6OnVybCgkcmVnaXN0cnktPmdldFBhcmFtKCd3ZWJyb290JywgJ2hvcmRl
JykgLiAnL2xvZ2luLnBocD91cmw9JyAuIHVybGVuY29kZShIb3JkZTo6c2Vs
ZlVybCgpKSwgdHJ1ZSkpOw0KICAgICBlY2hvICJcbiI7DQogICAgIGV4aXQ7
DQotLS0gLi9wcmVmcy5waHAub3JnCVRodSBBcHIgMTggMDA6NTg6MjYgMjAw
Mg0KKysrIC4vcHJlZnMucGhwCVN1biBBdWcgMTggMTg6MjQ6MjcgMjAwMg0K
QEAgLTIzLDcgKzIzLDcgQEANCiByZXF1aXJlX29uY2UgSE9SREVfQkFTRSAu
ICcvbGliL1ByZWZzVUkucGhwJzsNCiByZXF1aXJlIEhPUkRFX0JBU0UgLiAn
L2NvbmZpZy9wcmVmcy5waHAnOw0KIA0KLWlmICghQXV0aDo6Z2V0QXV0aCgp
KSB7DQoraWYgKCFIb3JkZV9BdXRoOjpnZXRBdXRoKCkpIHsNCiAgICAgaGVh
ZGVyKCdMb2NhdGlvbjogJyAuIEhvcmRlOjphcHBsaWNhdGlvblVybCgnbG9n
aW4ucGhwJyksIHRydWUpOw0KICAgICBleGl0Ow0KIH0NCi0tLSAuL3Byb2Js
ZW0ucGhwLm9yZwlTdW4gQXByIDE0IDE3OjI5OjU0IDIwMDINCisrKyAuL3By
b2JsZW0ucGhwCVN1biBBdWcgMTggMTg6MjQ6NTYgMjAwMg0KQEAgLTIwLDcg
KzIwLDcgQEANCiByZXF1aXJlX29uY2UgSE9SREVfQkFTRSAuICcvbGliL0lk
ZW50aXR5LnBocCc7DQogcmVxdWlyZV9vbmNlIEhPUkRFX0JBU0UgLiAnL2xp
Yi92ZXJzaW9uLnBocCc7DQogDQotaWYgKCFBdXRoOjpnZXRBdXRoKCkpIHsN
CitpZiAoIUhvcmRlX0F1dGg6OmdldEF1dGgoKSkgew0KICAgICByZXR1cm5U
b1BhZ2UoKTsNCiB9DQogDQo=
---------------------- multipart/mixed attachment--