<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>146477</bug_id>
          
          <creation_ts>2006-09-05 16:38 0000</creation_ts>
          <short_desc>Please add setup tool to pam_pkcs11</short_desc>
          <delta_ts>2006-09-05 22:24:15 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dberkholz@gentoo.org</reporter>
          <assigned_to>crypto@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2006-09-05 16:38:53 0000</bug_when>
            <thetext>Red Hat created a simple setup tool for pam_pkcs11 that is required for app-admin/authconfig to work with it properly. Please add it and revbump.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2006-09-05 16:39:15 0000</bug_when>
            <thetext>Created an attachment (id=96129)
ebuild patch

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2006-09-05 16:39:44 0000</bug_when>
            <thetext>Created an attachment (id=96130)
pam_pkcs11-0.5.3-setup-tool.patch

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2006-09-05 22:24:15 0000</bug_when>
            <thetext>Fixed with dragonheart&apos;s OK.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96129</attachid>
            <date>2006-09-05 16:39 0000</date>
            <desc>ebuild patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC91c3IvcG9ydGFnZS9zeXMtYXV0aC9wYW1fcGtjczExL3BhbV9wa2NzMTEtMC41LjMuZWJ1
aWxkCTIwMDYtMDctMDIgMTg6NDI6MjkuMDAwMDAwMDAwIC0wNzAwCisrKyBzeXMtYXV0aC9wYW1f
cGtjczExL3BhbV9wa2NzMTEtMC41LjMtcjEuZWJ1aWxkCTIwMDYtMDktMDUgMDA6NTQ6MDAuMDAw
MDAwMDAwIC0wNzAwCkBAIC0yLDYgKzIsOCBAQAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAjICRIZWFkZXI6IC92YXIv
Y3Zzcm9vdC9nZW50b28teDg2L3N5cy1hdXRoL3BhbV9wa2NzMTEvcGFtX3BrY3MxMS0wLjUuMy5l
YnVpbGQsdiAxLjMgMjAwNi8wNy8wMyAwMToyNzoxOCB2YXBpZXIgRXhwICQKIAoraW5oZXJpdCBl
dXRpbHMKKwogREVTQ1JJUFRJT049IlBLQ1MxMSBQYW0gbGlicmFyeSIKIEhPTUVQQUdFPSJodHRw
Oi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9wYW1fcGtjczExIgogU1JDX1VSST0iaHR0cDovL3d3
dy5vcGVuc2MtcHJvamVjdC5vcmcvZmlsZXMvcGFtX3BrY3MxMS8ke1B9LnRhci5neiIKQEAgLTE4
LDYgKzIwLDE0IEBACiAJcGNzYy1saXRlPyAoIHN5cy1hcHBzL3Bjc2MtbGl0ZSApCiAJZGV2LWxp
YnMvb3BlbnNzbCIKIAorc3JjX3VucGFjaygpIHsKKwl1bnBhY2sgJHtBfQorCisJIyBTaW1wbGUg
c2V0dXAgdG9vbCwgZnJvbSBSZWQgSGF0CisJIyBOZWVkZWQgZm9yIGFwcC1hZG1pbi9hdXRoY29u
ZmlnCisJZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQfS1zZXR1cC10b29sLnBhdGNoCit9CisKIHNy
Y19jb21waWxlKCkgewogCQllY29uZiBcCiAJCQkkKHVzZV93aXRoIGN1cmwpIFwK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>96130</attachid>
            <date>2006-09-05 16:39 0000</date>
            <desc>pam_pkcs11-0.5.3-setup-tool.patch</desc>
            <filename>pam_pkcs11-0.5.3-setup-tool.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIHBhbV9wa2NzMTEtMC41LjMvc3JjL3Rvb2xzL01ha2VmaWxlLmFtLnNldHVwCTIwMDYtMDct
MDcgMTM6NDY6MzQuMDAwMDAwMDAwICswMjAwCisrKyBwYW1fcGtjczExLTAuNS4zL3NyYy90b29s
cy9NYWtlZmlsZS5hbQkyMDA2LTA3LTA3IDEzOjQ2OjM0LjAwMDAwMDAwMCArMDIwMApAQCAtOCwx
MSArOCwxMSBAQAogQU1fTERGTEFHUyA9ICQoUENTQ19MSUJTKQogCiBpZiBIQVZFX1BDU0MKLWJp
bl9QUk9HUkFNUyA9IGNhcmRfZXZlbnRtZ3IgcGtjczExX2V2ZW50bWdyIHBrbG9naW5fZmluZGVy
IHBrY3MxMV9pbnNwZWN0CitiaW5fUFJPR1JBTVMgPSBjYXJkX2V2ZW50bWdyIHBrY3MxMV9ldmVu
dG1nciBwa2xvZ2luX2ZpbmRlciBwa2NzMTFfaW5zcGVjdCBwa2NzMTFfc2V0dXAKIGNhcmRfZXZl
bnRtZ3JfU09VUkNFUyA9IGNhcmRfZXZlbnRtZ3IuYwogY2FyZF9ldmVudG1ncl9MREFERCA9IEBM
SUJTQ0NPTkZAIEBMSUJDT01NT05ACiBlbHNlCi1iaW5fUFJPR1JBTVMgPSBwa2NzMTFfZXZlbnRt
Z3IgcGtsb2dpbl9maW5kZXIgcGtjczExX2luc3BlY3QKK2Jpbl9QUk9HUkFNUyA9IHBrY3MxMV9l
dmVudG1nciBwa2xvZ2luX2ZpbmRlciBwa2NzMTFfaW5zcGVjdCBwa2NzMTFfc2V0dXAKIGVuZGlm
CiAKIHBrbG9naW5fZmluZGVyX1NPVVJDRVMgPSBwa2xvZ2luX2ZpbmRlci5jCkBAIC0yMywzICsy
Myw2IEBACiAKIHBrY3MxMV9pbnNwZWN0X1NPVVJDRVMgPSBwa2NzMTFfaW5zcGVjdC5jCiBwa2Nz
MTFfaW5zcGVjdF9MREFERCA9ICQoRklOREVSX09CSlMpIEBMSUJNQVBQRVJTQAorCitwa2NzMTFf
c2V0dXBfU09VUkNFUyA9IHBrY3MxMV9zZXR1cC5jCitwa2NzMTFfc2V0dXBfTERBREQgPSBATElC
U0NDT05GQCBATElCQ09NTU9OQAotLS0gcGFtX3BrY3MxMS0wLjUuMy9zcmMvdG9vbHMvTWFrZWZp
bGUuaW4uc2V0dXAJMjAwNi0wNy0wNyAxMzo0NjozNC4wMDAwMDAwMDAgKzAyMDAKKysrIHBhbV9w
a2NzMTEtMC41LjMvc3JjL3Rvb2xzL01ha2VmaWxlLmluCTIwMDYtMDctMDcgMTM6NDY6MzQuMDAw
MDAwMDAwICswMjAwCkBAIC0xNiw3ICsxNiw3IEBACiAKICMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0
aCBhdXRvbWFrZSB0byBjcmVhdGUgTWFrZWZpbGUuaW4KIAotU09VUkNFUyA9ICQoY2FyZF9ldmVu
dG1ncl9TT1VSQ0VTKSAkKHBrY3MxMV9ldmVudG1ncl9TT1VSQ0VTKSAkKHBrY3MxMV9pbnNwZWN0
X1NPVVJDRVMpICQocGtsb2dpbl9maW5kZXJfU09VUkNFUykKK1NPVVJDRVMgPSAkKGNhcmRfZXZl
bnRtZ3JfU09VUkNFUykgJChwa2NzMTFfZXZlbnRtZ3JfU09VUkNFUykgJChwa2NzMTFfaW5zcGVj
dF9TT1VSQ0VTKSAkKHBrY3MxMV9zZXR1cF9TT1VSQ0VTKSAkKHBrbG9naW5fZmluZGVyX1NPVVJD
RVMpCiAKIHNyY2RpciA9IEBzcmNkaXJACiB0b3Bfc3JjZGlyID0gQHRvcF9zcmNkaXJACkBAIC00
MywxMSArNDMsMTEgQEAKIHRhcmdldF90cmlwbGV0ID0gQHRhcmdldEAKIEBIQVZFX1BDU0NfRkFM
U0VAYmluX1BST0dSQU1TID0gcGtjczExX2V2ZW50bWdyJChFWEVFWFQpIFwKIEBIQVZFX1BDU0Nf
RkFMU0VACXBrbG9naW5fZmluZGVyJChFWEVFWFQpIFwKLUBIQVZFX1BDU0NfRkFMU0VACXBrY3Mx
MV9pbnNwZWN0JChFWEVFWFQpCitASEFWRV9QQ1NDX0ZBTFNFQAlwa2NzMTFfaW5zcGVjdCQoRVhF
RVhUKSBwa2NzMTFfc2V0dXAkKEVYRUVYVCkKIEBIQVZFX1BDU0NfVFJVRUBiaW5fUFJPR1JBTVMg
PSBjYXJkX2V2ZW50bWdyJChFWEVFWFQpIFwKIEBIQVZFX1BDU0NfVFJVRUAJcGtjczExX2V2ZW50
bWdyJChFWEVFWFQpIFwKIEBIQVZFX1BDU0NfVFJVRUAJcGtsb2dpbl9maW5kZXIkKEVYRUVYVCkg
XAotQEhBVkVfUENTQ19UUlVFQAlwa2NzMTFfaW5zcGVjdCQoRVhFRVhUKQorQEhBVkVfUENTQ19U
UlVFQAlwa2NzMTFfaW5zcGVjdCQoRVhFRVhUKSBwa2NzMTFfc2V0dXAkKEVYRUVYVCkKIHN1YmRp
ciA9IHNyYy90b29scwogRElTVF9DT01NT04gPSAkKHNyY2RpcikvTWFrZWZpbGUuYW0gJChzcmNk
aXIpL01ha2VmaWxlLmluCiBBQ0xPQ0FMX000ID0gJCh0b3Bfc3JjZGlyKS9hY2xvY2FsLm00CkBA
IC03Myw2ICs3Myw5IEBACiBhbV9fREVQRU5ERU5DSUVTXzIgPSAuLi9wYW1fcGtjczExL21hcHBl
cl9tZ3IubyBcCiAJLi4vcGFtX3BrY3MxMS9wYW1fY29uZmlnLm8KIHBrY3MxMV9pbnNwZWN0X0RF
UEVOREVOQ0lFUyA9ICQoYW1fX0RFUEVOREVOQ0lFU18yKQorYW1fcGtjczExX3NldHVwX09CSkVD
VFMgPSBwa2NzMTFfc2V0dXAuJChPQkpFWFQpCitwa2NzMTFfc2V0dXBfT0JKRUNUUyA9ICQoYW1f
cGtjczExX3NldHVwX09CSkVDVFMpCitwa2NzMTFfc2V0dXBfREVQRU5ERU5DSUVTID0KIGFtX3Br
bG9naW5fZmluZGVyX09CSkVDVFMgPSBwa2xvZ2luX2ZpbmRlci4kKE9CSkVYVCkKIHBrbG9naW5f
ZmluZGVyX09CSkVDVFMgPSAkKGFtX3BrbG9naW5fZmluZGVyX09CSkVDVFMpCiBwa2xvZ2luX2Zp
bmRlcl9ERVBFTkRFTkNJRVMgPSAkKGFtX19ERVBFTkRFTkNJRVNfMikKQEAgLTg4LDEwICs5MSwx
MSBAQAogTElOSyA9ICQoTElCVE9PTCkgLS10YWc9Q0MgLS1tb2RlPWxpbmsgJChDQ0xEKSAkKEFN
X0NGTEFHUykgJChDRkxBR1MpIFwKIAkkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAKIFNP
VVJDRVMgPSAkKGNhcmRfZXZlbnRtZ3JfU09VUkNFUykgJChwa2NzMTFfZXZlbnRtZ3JfU09VUkNF
UykgXAotCSQocGtjczExX2luc3BlY3RfU09VUkNFUykgJChwa2xvZ2luX2ZpbmRlcl9TT1VSQ0VT
KQorCSQocGtjczExX2luc3BlY3RfU09VUkNFUykgJChwa2NzMTFfc2V0dXBfU09VUkNFUykgXAor
CSQocGtsb2dpbl9maW5kZXJfU09VUkNFUykKIERJU1RfU09VUkNFUyA9ICQoYW1fX2NhcmRfZXZl
bnRtZ3JfU09VUkNFU19ESVNUKSBcCiAJJChwa2NzMTFfZXZlbnRtZ3JfU09VUkNFUykgJChwa2Nz
MTFfaW5zcGVjdF9TT1VSQ0VTKSBcCi0JJChwa2xvZ2luX2ZpbmRlcl9TT1VSQ0VTKQorCSQocGtj
czExX3NldHVwX1NPVVJDRVMpICQocGtsb2dpbl9maW5kZXJfU09VUkNFUykKIEVUQUdTID0gZXRh
Z3MKIENUQUdTID0gY3RhZ3MKIERJU1RGSUxFUyA9ICQoRElTVF9DT01NT04pICQoRElTVF9TT1VS
Q0VTKSAkKFRFWElORk9TKSAkKEVYVFJBX0RJU1QpCkBAIC0xODgsNiArMTkyLDcgQEAKIGFjX2N0
X0Y3NyA9IEBhY19jdF9GNzdACiBhY19jdF9SQU5MSUIgPSBAYWNfY3RfUkFOTElCQAogYWNfY3Rf
U1RSSVAgPSBAYWNfY3RfU1RSSVBACithY19wdF9QS0dfQ09ORklHID0gQGFjX3B0X1BLR19DT05G
SUdACiBhbV9fZmFzdGRlcENDX0ZBTFNFID0gQGFtX19mYXN0ZGVwQ0NfRkFMU0VACiBhbV9fZmFz
dGRlcENDX1RSVUUgPSBAYW1fX2Zhc3RkZXBDQ19UUlVFQAogYW1fX2Zhc3RkZXBDWFhfRkFMU0Ug
PSBAYW1fX2Zhc3RkZXBDWFhfRkFMU0VACkBAIC0yNDEsNiArMjQ2LDggQEAKIHBrY3MxMV9ldmVu
dG1ncl9MREFERCA9IEBMSUJTQ0NPTkZAIEBMSUJDT01NT05AICQoQ1JZUFRPX0xJQlMpCiBwa2Nz
MTFfaW5zcGVjdF9TT1VSQ0VTID0gcGtjczExX2luc3BlY3QuYwogcGtjczExX2luc3BlY3RfTERB
REQgPSAkKEZJTkRFUl9PQkpTKSBATElCTUFQUEVSU0AKK3BrY3MxMV9zZXR1cF9TT1VSQ0VTID0g
cGtjczExX3NldHVwLmMKK3BrY3MxMV9zZXR1cF9MREFERCA9IEBMSUJTQ0NPTkZAIEBMSUJDT01N
T05ACiBhbGw6IGFsbC1hbQogCiAuU1VGRklYRVM6CkBAIC0zMTEsNiArMzE4LDkgQEAKIHBrY3Mx
MV9pbnNwZWN0JChFWEVFWFQpOiAkKHBrY3MxMV9pbnNwZWN0X09CSkVDVFMpICQocGtjczExX2lu
c3BlY3RfREVQRU5ERU5DSUVTKSAKIAlAcm0gLWYgcGtjczExX2luc3BlY3QkKEVYRUVYVCkKIAkk
KExJTkspICQocGtjczExX2luc3BlY3RfTERGTEFHUykgJChwa2NzMTFfaW5zcGVjdF9PQkpFQ1RT
KSAkKHBrY3MxMV9pbnNwZWN0X0xEQUREKSAkKExJQlMpCitwa2NzMTFfc2V0dXAkKEVYRUVYVCk6
ICQocGtjczExX3NldHVwX09CSkVDVFMpICQocGtjczExX3NldHVwX0RFUEVOREVOQ0lFUykgCisJ
QHJtIC1mIHBrY3MxMV9zZXR1cCQoRVhFRVhUKQorCSQoTElOSykgJChwa2NzMTFfc2V0dXBfTERG
TEFHUykgJChwa2NzMTFfc2V0dXBfT0JKRUNUUykgJChwa2NzMTFfc2V0dXBfTERBREQpICQoTElC
UykKIHBrbG9naW5fZmluZGVyJChFWEVFWFQpOiAkKHBrbG9naW5fZmluZGVyX09CSkVDVFMpICQo
cGtsb2dpbl9maW5kZXJfREVQRU5ERU5DSUVTKSAKIAlAcm0gLWYgcGtsb2dpbl9maW5kZXIkKEVY
RUVYVCkKIAkkKExJTkspICQocGtsb2dpbl9maW5kZXJfTERGTEFHUykgJChwa2xvZ2luX2ZpbmRl
cl9PQkpFQ1RTKSAkKHBrbG9naW5fZmluZGVyX0xEQUREKSAkKExJQlMpCkBAIC0zMjQsNiArMzM0
LDcgQEAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9j
YXJkX2V2ZW50bWdyLlBvQGFtX19xdW90ZUAKIEBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFt
X19xdW90ZUAuLyQoREVQRElSKS9wa2NzMTFfZXZlbnRtZ3IuUG9AYW1fX3F1b3RlQAogQEFNREVQ
X1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3BrY3MxMV9pbnNwZWN0
LlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQo
REVQRElSKS9wa2NzMTFfc2V0dXAuUG9AYW1fX3F1b3RlQAogQEFNREVQX1RSVUVAQGFtX19pbmNs
dWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3BrbG9naW5fZmluZGVyLlBvQGFtX19xdW90ZUAK
IAogLmMubzoKLS0tIC9kZXYvbnVsbAkyMDA2LTA3LTA3IDA4OjA1OjU0LjU5MjcxMzAwMCArMDIw
MAorKysgcGFtX3BrY3MxMS0wLjUuMy9zcmMvdG9vbHMvcGtjczExX3NldHVwLmMJMjAwNi0wNy0w
NyAxMzo1NDo0NS4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSw1MTkgQEAKKy8qCisgKiBQS0NT
IzExIENhcmQgdmlld2VyIHRvb2wKKyAqIENvcHlyaWdodCAoQykgMjAwNiBSZWQgSGF0LCBJbmMu
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKworI2RlZmluZSBfR05VX1NPVVJDRQorCisjaWZk
ZWYgSEFWRV9DT05GSUdfSAorI2luY2x1ZGUgPGNvbmZpZy5oPgorI2VuZGlmCisKKyNpbmNsdWRl
IDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5j
bHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4K
KyNpbmNsdWRlIDxkbGZjbi5oPgorI2luY2x1ZGUgIi4uL3NjY29uZi9zY2NvbmYuaCIKKyNpbmNs
dWRlICIuLi9jb21tb24vZGVidWcuaCIKKyNpbmNsdWRlICIuLi9jb21tb24vZXJyb3IuaCIKKwor
I2RlZmluZSBQQU1fUEtDUzExX0NPTkYgIi9ldGMvcGFtX3BrY3MxMS9wYW1fcGtjczExLmNvbmYi
CisjZGVmaW5lIEVWRU5UTUdSX0NPTkYgIi9ldGMvcGFtX3BrY3MxMS9wa2NzMTFfZXZlbnRtZ3Iu
Y29uZiIKKworc3RhdGljIGNvbnN0IGNoYXIgSW5zX2FjdGlvbltdID0gImluc19hY3Rpb249IjsK
K3N0YXRpYyBjb25zdCBjaGFyIFJtX2FjdGlvbltdID0gInJtX2FjdGlvbj0iOworc3RhdGljIGNv
bnN0IGNoYXIgVXNlX21vZHVsZVtdID0gInVzZV9tb2R1bGU9IjsKK3N0YXRpYyBjb25zdCBjaGFy
IExpc3RfbW9kdWxlc1tdID0gImxpc3RfbW9kdWxlcyI7CisKK2VudW0gcGFyYW1zIHsgSU5TX0FD
VElPTiwgUk1fQUNUSU9OLCBVU0VfTU9EVUxFLCBMSVNUX01PRFVMRVMgfTsKKworc3RhdGljIGNv
bnN0IGNoYXIgY29uc3QgKnBhcmFtX25hbWVzW10gPSB7IEluc19hY3Rpb24sIFJtX2FjdGlvbiwg
VXNlX21vZHVsZSwgTGlzdF9tb2R1bGVzIH07CitzdGF0aWMgaW50IHBuX3NpemVzW10gPSB7IHNp
emVvZihJbnNfYWN0aW9uKSwgc2l6ZW9mKFJtX2FjdGlvbiksIHNpemVvZihVc2VfbW9kdWxlKSwg
c2l6ZW9mKExpc3RfbW9kdWxlcykgfTsKKworI2RlZmluZSBOVU1fUEFSQU1TIChzaXplb2YocGFy
YW1fbmFtZXMpL3NpemVvZihwYXJhbV9uYW1lc1swXSkpCisKK2NvbnN0IGNoYXIgKnNjY29uZl9y
ZXBsYWNlX3N0cihzY2NvbmZfYmxvY2sgKiBibG9jaywgY29uc3QgY2hhciAqb3B0aW9uLCBjb25z
dCBjaGFyICp2YWx1ZSkKK3sKKyAgICBzY2NvbmZfbGlzdCAqbGlzdCA9IE5VTEw7CisgICAgc2Nj
b25mX2l0ZW0gKml0ZW07CisKKyAgICBzY2NvbmZfbGlzdF9hZGQoJmxpc3QsIHZhbHVlKTsKKyAg
ICBpdGVtID0gc2Njb25mX2l0ZW1fYWRkKE5VTEwsIGJsb2NrLCBOVUxMLCBTQ0NPTkZfSVRFTV9U
WVBFX1ZBTFVFLCBvcHRpb24sIGxpc3QpOworCisgICAgLyogbm93IGNsZWFyIG91dCB0aGUgaXRl
bSBsaXN0ICovCisgICAgc2Njb25mX2xpc3RfZGVzdHJveShpdGVtLT52YWx1ZS5saXN0KTsKKyAg
ICBpdGVtLT52YWx1ZS5saXN0ID0gbGlzdDsgIC8qIGFkb3B0ICovCisgICAgcmV0dXJuIHZhbHVl
OworfQorCitpbnQgc2Njb25mX3JlcGxhY2Vfc3RyX2xpc3Qoc2Njb25mX2Jsb2NrICogYmxvY2ss
IGNvbnN0IGNoYXIgKm9wdGlvbiwgY29uc3QgY2hhciAqdmFsdWUpCit7CisgICAgc2Njb25mX2xp
c3QgKmxpc3QgPSBOVUxMOworICAgIHNjY29uZl9pdGVtICppdGVtOworICAgIGNoYXIgKmxzdGl0
ZW0gPSBOVUxMOworICAgIGNoYXIgKm5leHQ7CisgICAgCisgICAgd2hpbGUgKHZhbHVlICE9IE5V
TEwpIHsKKyAgICAgICAgaWYgKChuZXh0PXN0cmNocih2YWx1ZSwgJywnKSkgIT0gTlVMTCkgewor
ICAgICAgICAgICAgbHN0aXRlbSA9IHN0cm5kdXAodmFsdWUsIG5leHQtdmFsdWUpOworICAgICAg
ICAgICAgbmV4dCsrOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbHN0
aXRlbSA9IHN0cmR1cCh2YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGxzdGl0ZW0gPT0g
TlVMTCkKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBzY2NvbmZfbGlzdF9hZGQoJmxp
c3QsIGxzdGl0ZW0pOworICAgICAgICB2YWx1ZSA9IG5leHQ7CisgICAgICAgIGZyZWUobHN0aXRl
bSk7CisgICAgfQorICAgICAgICAKKyAgICBpdGVtID0gc2Njb25mX2l0ZW1fYWRkKE5VTEwsIGJs
b2NrLCBOVUxMLCBTQ0NPTkZfSVRFTV9UWVBFX1ZBTFVFLCBvcHRpb24sIGxpc3QpOworCisgICAg
Lyogbm93IGNsZWFyIG91dCB0aGUgaXRlbSBsaXN0ICovCisgICAgc2Njb25mX2xpc3RfZGVzdHJv
eShpdGVtLT52YWx1ZS5saXN0KTsKKyAgICBpdGVtLT52YWx1ZS5saXN0ID0gbGlzdDsgIC8qIGFk
b3B0ICovCisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBsaXN0X21vZHVsZXModm9pZCkKK3sKKyAg
ICBjb25zdCBzY2NvbmZfYmxvY2sgKnBhbV9wa2NzMTE7CisgICAgc2Njb25mX2Jsb2NrICoqcGtj
czExX2Jsb2NrczsKKyAgICBzY2NvbmZfY29udGV4dCAqY3R4ID0gTlVMTDsKKyAgICBpbnQgaTsK
KyAgICBpbnQgcmVzdWx0ID0gMTsKKworICAgIC8qCisgICAgICogbG9vcCB0aHJvdWdoIGxvb2tp
bmcgZm9yIHNtYXJ0IGNhcmQgZW50cmllcworICAgICAqLworICAgIGN0eCA9IHNjY29uZl9uZXco
UEFNX1BLQ1MxMV9DT05GKTsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHsKKyAgICAJZ290byBiYWls
OworICAgIH0KKyAgICBpZiAoc2Njb25mX3BhcnNlKGN0eCkgPD0gMCApIHsKKyAgICAJZ290byBi
YWlsOworICAgIH0KKyAgICBwYW1fcGtjczExID0gc2Njb25mX2ZpbmRfYmxvY2soY3R4LCBOVUxM
LCAicGFtX3BrY3MxMSIpOworICAgIGlmICghcGFtX3BrY3MxMSkgeworICAgIAlnb3RvIGJhaWw7
CisgICAgfQorICAgIHBrY3MxMV9ibG9ja3MgPSBzY2NvbmZfZmluZF9ibG9ja3MoY3R4LCBwYW1f
cGtjczExLCAicGtjczExX21vZHVsZSIsIE5VTEwpOworICAgIGlmICghcGtjczExX2Jsb2Nrcykg
eworICAgIAlnb3RvIGJhaWw7CisgICAgfQorCisgICAgLyogbGlzdCBvbmx5IHRob3NlIHNtYXJ0
IGNhcmRzIHdoaWNoIGFyZSBhY3R1YWxseSBpbnN0YWxsZWQgKi8KKyAgICBmb3IgKGk9MDsgcGtj
czExX2Jsb2Nrc1tpXTsgaSsrKSB7CisgICAgCXZvaWQgKmxpYmhhbmRsZTsKKyAgICAJY29uc3Qg
Y2hhciAqcGF0aCA9IAorICAgIAkJc2Njb25mX2dldF9zdHIocGtjczExX2Jsb2Nrc1tpXSwgIm1v
ZHVsZSIsIE5VTEwpOworICAgIAkvKiBjaGVjayB0byBzZWUgaWYgdGhlIG1vZHVsZSBleGlzdHMg
b24gdGhlIHN5c3RlbSAqLworICAgIAlpZiAoIXBhdGggfHwgKnBhdGggPT0gMCkgeworICAgIAkJ
Y29udGludWU7CisgICAgCX0KKyAgICAJLyogdmVyaWZ5IHRoZSBtb2R1bGUgZXhpc3RzICovCisg
ICAgICAgIGlmICgobGliaGFuZGxlPWRsb3BlbihwYXRoLCBSVExEX0xBWlkpKSAhPSBOVUxMKSB7
CisgICAgCSAgICBkbGNsb3NlKGxpYmhhbmRsZSk7CisgICAgCSAgICBpZiAocGtjczExX2Jsb2Nr
c1tpXSAmJiBwa2NzMTFfYmxvY2tzW2ldLT5uYW1lCisgICAgCSAgICAgICAgJiYgcGtjczExX2Js
b2Nrc1tpXS0+bmFtZS0+ZGF0YSkgeworICAgIAkJICAgIHByaW50ZigiJXNcbiIsIHBrY3MxMV9i
bG9ja3NbaV0tPm5hbWUtPmRhdGEpOworICAgIAkgICAgfQorICAgIAl9CisgICAgfQorICAgIAor
ICAgIHJlc3VsdCA9IDA7CisKK2JhaWw6IAorICAgIGlmIChjdHgpIHsKKyAgICAJc2Njb25mX2Zy
ZWUoY3R4KTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaW50IHByaW50X2RlZmF1
bHRfbW9kdWxlKHZvaWQpCit7CisgICAgY29uc3Qgc2Njb25mX2Jsb2NrICpwYW1fcGtjczExOwor
ICAgIHNjY29uZl9jb250ZXh0ICpjdHggPSBOVUxMOworICAgIGludCByZXN1bHQgPSAxOworCisg
ICAgLyoKKyAgICAqIHJlYWQgdGhlIGJhc2UgcGFtX3BrY3MxMS5jb25mCisgICAgKi8KKyAgICBj
dHggPSBzY2NvbmZfbmV3KFBBTV9QS0NTMTFfQ09ORik7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7
CisgICAgICAgIGdvdG8gYmFpbDsKKyAgICB9CisgICAgaWYgKHNjY29uZl9wYXJzZShjdHgpIDw9
IDApIHsKKyAgICAgICAgZ290byBiYWlsOworICAgIH0KKyAgICBwYW1fcGtjczExID0gc2Njb25m
X2ZpbmRfYmxvY2soY3R4LCBOVUxMLCAicGFtX3BrY3MxMSIpOworICAgIGlmICghcGFtX3BrY3Mx
MSkgeworICAgICAgICBnb3RvIGJhaWw7CisgICAgfQorICAgIHByaW50ZigiJXNcbiIsIHNjY29u
Zl9nZXRfc3RyKHBhbV9wa2NzMTEsICJ1c2VfcGtjczExX21vZHVsZSIsICIiKSk7CisgICAgcmVz
dWx0ID0gMDsKKworICAgIGJhaWw6IAorICAgIGlmIChjdHgpIHsKKyAgICAgICAgc2Njb25mX2Zy
ZWUoY3R4KTsKKyAgICB9CisgICAgY3R4ID0gTlVMTDsKKworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKK2ludCBzZXRfZGVmYXVsdF9tb2R1bGUoY29uc3QgY2hhciAqbW9kKQoreworCXNjY29uZl9i
bG9jayAqcGFtX3BrY3MxMSwgKnBrY3MxMV9ldmVudG1ncjsKKwlzY2NvbmZfYmxvY2sgKiptb2R1
bGVzID0gTlVMTDsKKwlzY2NvbmZfY29udGV4dCAqY3R4ID0gTlVMTDsKKwlzY2NvbmZfY29udGV4
dCAqZWN0eCA9IE5VTEw7CisJY29uc3QgY2hhciAqbGliID0gTlVMTDsKKwlpbnQgcmVzdWx0ID0g
MTsKKworCS8qCisJICogd3JpdGUgb3V0IHBhbV9wa2NzMTEuY29uZgorCSAqLworCWN0eCA9IHNj
Y29uZl9uZXcoUEFNX1BLQ1MxMV9DT05GKTsKKwlpZiAoY3R4ID09IE5VTEwpIHsKKwkJZ290byBi
YWlsOworCX0KKwlpZiAoc2Njb25mX3BhcnNlKGN0eCkgPD0gMCkgeworCQlnb3RvIGJhaWw7CisJ
fQorCXBhbV9wa2NzMTEgPSAoc2Njb25mX2Jsb2NrICopc2Njb25mX2ZpbmRfYmxvY2soY3R4LCBO
VUxMLCAicGFtX3BrY3MxMSIpOworCWlmICghcGFtX3BrY3MxMSkgeworCQlnb3RvIGJhaWw7CisJ
fQorCXNjY29uZl9yZXBsYWNlX3N0cihwYW1fcGtjczExLCAidXNlX3BrY3MxMV9tb2R1bGUiLCBt
b2QpOworCisJbW9kdWxlcyA9IHNjY29uZl9maW5kX2Jsb2NrcyhjdHgsIHBhbV9wa2NzMTEsICJw
a2NzMTFfbW9kdWxlIiwgbW9kKTsKKwlpZiAoIW1vZHVsZXMgfHwgIW1vZHVsZXNbMF0pIHsKKwkJ
Z290byBiYWlsOworCX0KKwlsaWIgPSBzY2NvbmZfZ2V0X3N0cihtb2R1bGVzWzBdLCAibW9kdWxl
IiwgTlVMTCk7CisJaWYgKCFsaWIpIHsKKwkJZ290byBiYWlsOworCX0KKwlyZXN1bHQgPSBzY2Nv
bmZfd3JpdGUoY3R4LCBOVUxMKTsKKwlpZiAocmVzdWx0ICE9IDApIHsKKwkgICAgZ290byBiYWls
OworCX0KKworCWVjdHggPSBzY2NvbmZfbmV3KEVWRU5UTUdSX0NPTkYpOworCWlmIChlY3R4ID09
IE5VTEwpIHsKKwkJZ290byBiYWlsOworCX0KKwlpZiAoc2Njb25mX3BhcnNlKGVjdHgpIDw9IDAp
IHsKKwkJZ290byBiYWlsOworCX0KKwlwa2NzMTFfZXZlbnRtZ3IgPSAoc2Njb25mX2Jsb2NrICop
CisJCQlzY2NvbmZfZmluZF9ibG9jayhlY3R4LCBOVUxMLCAicGtjczExX2V2ZW50bWdyIik7CisJ
aWYgKCFwa2NzMTFfZXZlbnRtZ3IpIHsKKwkJZ290byBiYWlsOworCX0KKwlzY2NvbmZfcmVwbGFj
ZV9zdHIocGtjczExX2V2ZW50bWdyLCAicGtjczExX21vZHVsZSIsIGxpYik7CisJcmVzdWx0ID0g
c2Njb25mX3dyaXRlKGVjdHgsIE5VTEwpOworCitiYWlsOiAKKwlpZiAobW9kdWxlcykgeworCQlm
cmVlKG1vZHVsZXMpOworCX0KKwlpZiAoY3R4KSB7CisJCXNjY29uZl9mcmVlKGN0eCk7CisJfQor
CWlmIChlY3R4KSB7CisJCXNjY29uZl9mcmVlKGVjdHgpOworCX0KKwkKKwlyZXR1cm4gcmVzdWx0
OworfQorCitpbnQgcHJpbnRfY2FyZF9pbnNlcnRfYWN0aW9uKHZvaWQpCit7CisJY29uc3Qgc2Nj
b25mX2Jsb2NrICpwa2NzMTFfZXZlbnRtZ3I7CisJc2Njb25mX2Jsb2NrICoqZXZlbnRfYmxvY2tz
ID0gTlVMTDsKKwlzY2NvbmZfY29udGV4dCAqY3R4ID0gTlVMTDsKKwljb25zdCBzY2NvbmZfbGlz
dCAqYWN0aW9uTGlzdCA9IE5VTEw7CisgICAgaW50IHJlc3VsdCA9IDE7CisKKwkvKgorCSAqIHJl
YWQgdGhlIHBrY3MxMV9ldmVudG1nci5jb25mIHRvIGdldCBvdXIgYWN0aW9uCisJICovCisJY3R4
ID0gc2Njb25mX25ldyhFVkVOVE1HUl9DT05GKTsKKwlpZiAoY3R4ID09IE5VTEwpIHsKKwkJZ290
byBiYWlsOworCX0KKwlpZiAoc2Njb25mX3BhcnNlKGN0eCkgPD0gMCkgeworCQlnb3RvIGJhaWw7
CisJfQorCXBrY3MxMV9ldmVudG1nciA9IHNjY29uZl9maW5kX2Jsb2NrKGN0eCwgTlVMTCwgInBr
Y3MxMV9ldmVudG1nciIpOworCWlmICghcGtjczExX2V2ZW50bWdyKSB7CisJCWdvdG8gYmFpbDsK
Kwl9CisJZXZlbnRfYmxvY2tzID0gc2Njb25mX2ZpbmRfYmxvY2tzKGN0eCwgcGtjczExX2V2ZW50
bWdyLCAiZXZlbnQiLCAKKwkJCQkJCSJjYXJkX2luc2VydCIpOworCWlmICghZXZlbnRfYmxvY2tz
IHx8ICFldmVudF9ibG9ja3NbMF0pIHsKKwkJZ290byBiYWlsOworCX0KKwlhY3Rpb25MaXN0ID0g
c2Njb25mX2ZpbmRfbGlzdChldmVudF9ibG9ja3NbMF0sImFjdGlvbiIpOworCWlmIChhY3Rpb25M
aXN0KSB7CisJICAgY2hhciAqbHN0ID0gc2Njb25mX2xpc3Rfc3RyZHVwKGFjdGlvbkxpc3QsICJc
biIpOworCSAgIGlmIChsc3QgIT0gTlVMTCkgeworCSAgICAgICBwcmludGYoIiVzXG4iLCBsc3Qp
OworCSAgICAgICBmcmVlKGxzdCk7CisJICAgfQorCX0KKwlyZXN1bHQgPSAwOworCitiYWlsOgor
CWlmIChldmVudF9ibG9ja3MpIHsKKwkJZnJlZShldmVudF9ibG9ja3MpOworCX0KKwlpZiAoY3R4
KSB7CisJCXNjY29uZl9mcmVlKGN0eCk7CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworaW50
IHNldF9jYXJkX2luc2VydF9hY3Rpb24oY29uc3QgY2hhciAqYWN0KQoreworCXNjY29uZl9ibG9j
ayAqcGtjczExX2V2ZW50bWdyOworCXNjY29uZl9ibG9jayAqKmluc2VydF9ibG9ja3MgPSBOVUxM
OworCXNjY29uZl9jb250ZXh0ICpjdHggPSBOVUxMOworICAgIGludCByZXN1bHQgPSAxOworCisJ
LyoKKwkgKiB3cml0ZSBvdXQgcGtjczExX2V2ZW50bWdyLmNvbmYKKwkgKi8KKwljdHggPSBzY2Nv
bmZfbmV3KEVWRU5UTUdSX0NPTkYpOworCWlmIChjdHggPT0gTlVMTCkgeworCQlnb3RvIGJhaWw7
CisJfQorCWlmIChzY2NvbmZfcGFyc2UoY3R4KSA8PSAwKSB7CisJCWdvdG8gYmFpbDsKKwl9CisJ
cGtjczExX2V2ZW50bWdyID0gKHNjY29uZl9ibG9jayAqKQorCQkJc2Njb25mX2ZpbmRfYmxvY2so
Y3R4LCBOVUxMLCAicGtjczExX2V2ZW50bWdyIik7CisJaWYgKCFwa2NzMTFfZXZlbnRtZ3IpIHsK
KwkJZ290byBiYWlsOworCX0KKwlpbnNlcnRfYmxvY2tzID0gc2Njb25mX2ZpbmRfYmxvY2tzKGN0
eCwgcGtjczExX2V2ZW50bWdyLCAKKwkJCQkJCSJldmVudCIsICJjYXJkX2luc2VydCIpOworCWlm
ICghaW5zZXJ0X2Jsb2NrcyB8fCAhaW5zZXJ0X2Jsb2Nrc1swXSkgeworCQlnb3RvIGJhaWw7CisJ
fQorCisJc2Njb25mX3JlcGxhY2Vfc3RyX2xpc3QoaW5zZXJ0X2Jsb2Nrc1swXSwgImFjdGlvbiIs
IGFjdCk7CisKKwlyZXN1bHQgPSBzY2NvbmZfd3JpdGUoY3R4LCBOVUxMKTsKKworYmFpbDoKKwlp
ZiAoaW5zZXJ0X2Jsb2NrcykgeworCQlmcmVlKGluc2VydF9ibG9ja3MpOworCX0KKwlpZiAoY3R4
KSB7CisJCXNjY29uZl9mcmVlKGN0eCk7CisJfQorCXJldHVybiByZXN1bHQ7Cit9CisKK2ludCBw
cmludF9jYXJkX3JlbW92ZV9hY3Rpb24odm9pZCkKK3sKKwljb25zdCBzY2NvbmZfYmxvY2sgKnBr
Y3MxMV9ldmVudG1ncjsKKwlzY2NvbmZfYmxvY2sgKipldmVudF9ibG9ja3MgPSBOVUxMOworCXNj
Y29uZl9jb250ZXh0ICpjdHggPSBOVUxMOworCWNvbnN0IHNjY29uZl9saXN0ICphY3Rpb25MaXN0
ID0gTlVMTDsKKyAgICBpbnQgcmVzdWx0ID0gMTsKKworCS8qCisJICogcmVhZCB0aGUgcGtjczEx
X2V2ZW50bWdyLmNvbmYgdG8gZ2V0IG91ciBhY3Rpb24KKwkgKi8KKwljdHggPSBzY2NvbmZfbmV3
KEVWRU5UTUdSX0NPTkYpOworCWlmIChjdHggPT0gTlVMTCkgeworCQlnb3RvIGJhaWw7CisJfQor
CWlmIChzY2NvbmZfcGFyc2UoY3R4KSA8PSAwKSB7CisJCWdvdG8gYmFpbDsKKwl9CisJcGtjczEx
X2V2ZW50bWdyID0gc2Njb25mX2ZpbmRfYmxvY2soY3R4LCBOVUxMLCAicGtjczExX2V2ZW50bWdy
Iik7CisJaWYgKCFwa2NzMTFfZXZlbnRtZ3IpIHsKKwkJZ290byBiYWlsOworCX0KKwlldmVudF9i
bG9ja3MgPSBzY2NvbmZfZmluZF9ibG9ja3MoY3R4LCBwa2NzMTFfZXZlbnRtZ3IsICJldmVudCIs
IAorCQkJCQkJImNhcmRfcmVtb3ZlIik7CisJaWYgKCFldmVudF9ibG9ja3MgfHwgIWV2ZW50X2Js
b2Nrc1swXSkgeworCQlnb3RvIGJhaWw7CisJfQorCWFjdGlvbkxpc3QgPSBzY2NvbmZfZmluZF9s
aXN0KGV2ZW50X2Jsb2Nrc1swXSwiYWN0aW9uIik7CisJaWYgKGFjdGlvbkxpc3QpIHsKKwkgICBj
aGFyICpsc3QgPSBzY2NvbmZfbGlzdF9zdHJkdXAoYWN0aW9uTGlzdCwgIlxuIik7CisJICAgaWYg
KGxzdCAhPSBOVUxMKSB7CisJICAgICAgIHByaW50ZigiJXNcbiIsIGxzdCk7CisJICAgICAgIGZy
ZWUobHN0KTsKKwkgICB9CisJfQorCXJlc3VsdCA9IDA7CisKK2JhaWw6CisJaWYgKGV2ZW50X2Js
b2NrcykgeworCQlmcmVlKGV2ZW50X2Jsb2Nrcyk7CisJfQorCWlmIChjdHgpIHsKKwkJc2Njb25m
X2ZyZWUoY3R4KTsKKwl9CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitpbnQgc2V0X2NhcmRfcmVt
b3ZlX2FjdGlvbihjb25zdCBjaGFyICphY3QpCit7CisJc2Njb25mX2Jsb2NrICpwa2NzMTFfZXZl
bnRtZ3I7CisJc2Njb25mX2Jsb2NrICoqaW5zZXJ0X2Jsb2NrcyA9IE5VTEw7CisJc2Njb25mX2Nv
bnRleHQgKmN0eCA9IE5VTEw7CisgICAgaW50IHJlc3VsdCA9IDE7CisKKwkvKgorCSAqIHdyaXRl
IG91dCBwa2NzMTFfZXZlbnRtZ3IuY29uZgorCSAqLworCWN0eCA9IHNjY29uZl9uZXcoRVZFTlRN
R1JfQ09ORik7CisJaWYgKGN0eCA9PSBOVUxMKSB7CisJCWdvdG8gYmFpbDsKKwl9CisJaWYgKHNj
Y29uZl9wYXJzZShjdHgpIDw9IDApIHsKKwkJZ290byBiYWlsOworCX0KKwlwa2NzMTFfZXZlbnRt
Z3IgPSAoc2Njb25mX2Jsb2NrICopCisJCQlzY2NvbmZfZmluZF9ibG9jayhjdHgsIE5VTEwsICJw
a2NzMTFfZXZlbnRtZ3IiKTsKKwlpZiAoIXBrY3MxMV9ldmVudG1ncikgeworCQlnb3RvIGJhaWw7
CisJfQorCWluc2VydF9ibG9ja3MgPSBzY2NvbmZfZmluZF9ibG9ja3MoY3R4LCBwa2NzMTFfZXZl
bnRtZ3IsIAorCQkJCQkJImV2ZW50IiwgImNhcmRfcmVtb3ZlIik7CisJaWYgKCFpbnNlcnRfYmxv
Y2tzIHx8ICFpbnNlcnRfYmxvY2tzWzBdKSB7CisJCWdvdG8gYmFpbDsKKwl9CisKKwlzY2NvbmZf
cmVwbGFjZV9zdHJfbGlzdChpbnNlcnRfYmxvY2tzWzBdLCAiYWN0aW9uIiwgYWN0KTsKKworCXJl
c3VsdCA9IHNjY29uZl93cml0ZShjdHgsIE5VTEwpOworCitiYWlsOgorCWlmIChpbnNlcnRfYmxv
Y2tzKSB7CisJCWZyZWUoaW5zZXJ0X2Jsb2Nrcyk7CisJfQorCWlmIChjdHgpIHsKKwkJc2Njb25m
X2ZyZWUoY3R4KTsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KKworaW50IG1haW4oaW50IGFyZ2Ms
IGNvbnN0IGNoYXIgKiphcmd2KQoreworICAgIGludCBpOworICAgIGludCBwbmFtZTsKKyAgICBj
b25zdCBjaGFyICpwYXJhbXNbTlVNX1BBUkFNU107CisgICAgCisgICAgbWVtc2V0KHBhcmFtcywg
J1wwJywgc2l6ZW9mKHBhcmFtcykpOworICAgIAorICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjOyBp
KyspIHsKKyAgICAJZm9yIChwbmFtZSA9IDA7IHBuYW1lIDwgTlVNX1BBUkFNUzsgcG5hbWUrKykg
eworICAgIAkgICAgaWYgKHBhcmFtX25hbWVzW3BuYW1lXVtwbl9zaXplc1twbmFtZV0tMl0gPT0g
Jz0nKSB7CisgICAgCSAgICAgICAgaWYgKHN0cm5jbXAoYXJndltpXSwgcGFyYW1fbmFtZXNbcG5h
bWVdLCBwbl9zaXplc1twbmFtZV0tMSkgPT0gMCkgeworICAgIAkgICAgICAgICAgICBwYXJhbXNb
cG5hbWVdID0gYXJndltpXSArIHBuX3NpemVzW3BuYW1lXSAtIDE7CisgICAgCSAgICAgICAgfQor
ICAgIAkgICAgICAgIGVsc2UgaWYgKHN0cm5jbXAoYXJndltpXSwgcGFyYW1fbmFtZXNbcG5hbWVd
LCBwbl9zaXplc1twbmFtZV0tMikgPT0gMAorICAgIAkgICAgICAgICAgICAmJiBhcmd2W2ldW3Bu
X3NpemVzW3BuYW1lXS0yXSA9PSAnXDAnKSB7CisgICAgCSAgICAgICAgICAgIHBhcmFtc1twbmFt
ZV0gPSAodm9pZCAqKTE7CisgICAgCSAgICAgICAgfQorICAgIAkgICAgfQorICAgIAkgICAgZWxz
ZSB7CisgICAgICAgIAkgICAgaWYgKHN0cmNtcChhcmd2W2ldLCBwYXJhbV9uYW1lc1twbmFtZV0p
ID09IDApIHsKKyAgICAgICAgCSAgICAgICAgcGFyYW1zW3BuYW1lXSA9ICh2b2lkICopMTsKKyAg
ICAgICAgCSAgICB9CisgICAgICAgIAl9IAorICAgICAgICB9CisgICAgfQorICAgIAorICAgIGZv
ciAocG5hbWUgPSAwOyBwbmFtZSA8IE5VTV9QQVJBTVM7IHBuYW1lKyspIHsKKwkgICAgaWYgKHBh
cmFtc1twbmFtZV0gIT0gTlVMTCkKKwkgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICBp
ZiAocG5hbWUgPT0gTlVNX1BBUkFNUykgeworCURCRygiTm8gY29ycmVjdCBwYXJhbWV0ZXIgc3Bl
Y2lmaWVkIik7CisJcHJpbnRmKCJ1c2FnZTogcGtjczExX3NldHVwIFtsaXN0X21vZHVsZXNdIFt1
c2VfbW9kdWxlWz08bW9kdWxlX25hbWU+XV1cbiIKKwkgICAgICAgIiAgICAgICAgICAgICAgICAg
ICAgW2luc19hY3Rpb25bPTxleGVjdXRhYmxlLGV4ZWN1dGFibGUsLi4uPl1dXG4iCisJICAgICAg
ICIgICAgICAgICAgICAgICAgICAgIFtybV9hY3Rpb25bPTxleGVjdXRhYmxlLGV4ZWN1dGFibGUs
Li4uPl1dXG4iKTsKKyAgICB9CisgICAgCisgICAgaWYgKHBhcmFtc1tMSVNUX01PRFVMRVNdICE9
IE5VTEwpIHsKKyAgICAgICAgREJHKCJMaXN0IG1vZHVsZXM6Iik7CisgICAgICAgIHJldHVybiBs
aXN0X21vZHVsZXMoKTsKKyAgICB9IAorICAgIGVsc2UgeworICAgICAgICBpZiAocGFyYW1zW1VT
RV9NT0RVTEVdID09ICh2b2lkICopMSkgeworICAgICAgICAgICAgREJHKCJQcmludCBkZWZhdWx0
IG1vZHVsZToiKTsKKyAgICAgICAgICAgIGlmICgoaT1wcmludF9kZWZhdWx0X21vZHVsZSgpKSAh
PSAwKSB7CisgICAgICAgICAgICAgICAgREJHMSgiUHJpbnQgZGVmYXVsdCBtb2R1bGUgZmFpbGVk
IHdpdGg6ICVkIiwgaSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJh
bXNbVVNFX01PRFVMRV0gIT0gTlVMTCkgeworICAgICAgICAgICAgREJHMSgiU2V0IGRlZmF1bHQg
bW9kdWxlOiAlcyIsIHBhcmFtc1tVU0VfTU9EVUxFXSk7CisgICAgICAgICAgICBpZiAoKGk9c2V0
X2RlZmF1bHRfbW9kdWxlKHBhcmFtc1tVU0VfTU9EVUxFXSkpICE9IDApIHsKKyAgICAgICAgICAg
ICAgICBEQkcxKCJTZXQgZGVmYXVsdCBtb2R1bGUgZmFpbGVkIHdpdGg6ICVkIiwgaSk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHBhcmFtc1tJTlNfQUNUSU9OXSA9PSAodm9pZCAqKTEpIHsKKyAgICAgICAgICAgIERCRygi
UHJpbnQgY2FyZCBpbnNlcnQgYWN0aW9uOiIpOworICAgICAgICAgICAgaWYgKChpPXByaW50X2Nh
cmRfaW5zZXJ0X2FjdGlvbigpKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgREJHMSgiUHJpbnQg
Y2FyZCBpbnNlcnQgYWN0aW9uIGZhaWxlZCB3aXRoOiAlZCIsIGkpOworICAgICAgICAgICAgICAg
IHJldHVybiBpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IH0gICAgICAgCisgICAgICAgIGVsc2UgaWYgKHBhcmFtc1tJTlNfQUNUSU9OXSAhPSBOVUxMKSB7
CisgICAgICAgICAgICBEQkcxKCJTZXQgY2FyZCBpbnNlcnQgYWN0aW9uOiAlcyIsIHBhcmFtc1tJ
TlNfQUNUSU9OXSk7CisgICAgICAgICAgICBpZiAoKGk9c2V0X2NhcmRfaW5zZXJ0X2FjdGlvbihw
YXJhbXNbSU5TX0FDVElPTl0pKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgREJHMSgiU2V0IGNh
cmQgaW5zZXJ0IGFjdGlvbiBmYWlsZWQgd2l0aDogJWQiLCBpKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gaTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAocGFyYW1zW1JN
X0FDVElPTl0gPT0gKHZvaWQgKikxKSB7CisgICAgICAgICAgICBEQkcoIlByaW50IGNhcmQgcmVt
b3ZlIGFjdGlvbjoiKTsKKyAgICAgICAgICAgIGlmICgoaT1wcmludF9jYXJkX3JlbW92ZV9hY3Rp
b24oKSkgIT0gMCkgeworICAgICAgICAgICAgICAgIERCRzEoIlNldCBjYXJkIHJlbW92ZSBhY3Rp
b24gZmFpbGVkIHdpdGg6ICVkIiwgaSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfSAgICAgICAgCisgICAg
ICAgIGVsc2UgaWYgKHBhcmFtc1tSTV9BQ1RJT05dICE9IE5VTEwpIHsKKyAgICAgICAgICAgIERC
RzEoIlNldCBjYXJkIHJlbW92ZSBhY3Rpb246ICVzIiwgcGFyYW1zW1JNX0FDVElPTl0pOworICAg
ICAgICAgICAgaWYgKChpPXNldF9jYXJkX3JlbW92ZV9hY3Rpb24ocGFyYW1zW1JNX0FDVElPTl0p
KSAhPSAwKSB7CisgICAgICAgICAgICAgICAgREJHMSgiU2V0IGNhcmQgcmVtb3ZlIGFjdGlvbiBm
YWlsZWQgd2l0aDogJWQiLCBpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSAgICAgICAgCisgICAgfQorICAgIERCRygiUHJvY2VzcyBjb21wbGV0
ZWQiKTsKKyAgICByZXR1cm4gMDsKK30K
</data>        

          </attachment>
    </bug>

</bugzilla>