<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>149861</bug_id>
          
          <creation_ts>2015-10-06 16:34:49 -0700</creation_ts>
          <short_desc>Rename IDBRequestIdentifier to IDBResourceIdentifier</short_desc>
          <delta_ts>2015-10-06 17:08:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131158</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-10-06 16:34:49 -0700</bug_when>
    <thetext>Rename IDBRequestIdentifier to IDBResourceIdentifier

Turns out having an object representing a connection + UID pair is useful for more than just IDBRequests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131159</commentid>
    <comment_count>1</comment_count>
      <attachid>262556</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-10-06 16:38:37 -0700</bug_when>
    <thetext>Created attachment 262556
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131167</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-10-06 17:08:14 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/190653</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262556</attachid>
            <date>2015-10-06 16:38:37 -0700</date>
            <delta_ts>2015-10-06 17:06:00 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>34748</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjA1MmZkOS4uYjQ1NWJjOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTkwNiw3ICs5MDYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQkRhdGFiYXNlSW5mby5jcHAKICAgICBNb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCRXJyb3IuY3BwCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlJlcXVlc3REYXRhLmNwcAotICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0
SWRlbnRpZmllci5jcHAKKyAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJ
ZGVudGlmaWVyLmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRh
LmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3Bw
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0NTQ5ZDEzLi41ZGI4YTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDkgQEAKKzIwMTUtMTAtMDYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlbmFtZSBJREJSZXF1ZXN0SWRlbnRpZmllciB0byBJREJSZXNvdXJjZUlkZW50aWZp
ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk4
NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgKE5vIGNoYW5nZSBpbiBiZWhhdmlvcikuCisKKyAgICAgICAgVHVybnMgb3V0IGhh
dmluZyBhbiBvYmplY3QgcmVwcmVzZW50aW5nIGEgKGNvbm5lY3Rpb24gSUQgKyB1bmlxdWUgSUQg
cGFpcikgaXMgdXNlZnVsIGZvciBtb3JlIHRoYW4ganVzdCBJREJSZXF1ZXN0cy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpvcGVuRGF0YWJhc2UpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJSZXF1ZXN0OjpJREJSZXF1ZXN0KToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuaDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVxdWVzdDo6cmVzb3VyY2VJZGVudGlmaWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVxdWVzdDo6cmVxdWVzdElkZW50aWZpZXIp
OiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0
RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdERhdGE6OnJlcXVlc3RJZGVudGlm
aWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVu
dGlmaWVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpuZXh0
UmVzb3VyY2VOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
OjpJREJSZXNvdXJjZUlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJ
ZGVudGlmaWVyOjplbXB0eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRl
bnRpZmllcjo6ZGVsZXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRl
bnRpZmllcjo6aXNIYXNoVGFibGVEZWxldGVkVmFsdWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5o
LgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjppc0VtcHR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcjo6aGFzaCk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXI6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjpjb25uZWN0aW9uSWRlbnRpZmllcik6CisgICAg
ICAgIChXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXJIYXNoOjpoYXNoKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllckhhc2g6OmVxdWFsKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllckhhc2hUcmFpdHM6OmVtcHR5VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVySGFzaFRyYWl0czo6aXNFbXB0eVZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllckhhc2hUcmFpdHM6
OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXNvdXJjZUlk
ZW50aWZpZXJIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQlJlc3VsdERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
UmVzdWx0RGF0YTo6SURCUmVzdWx0RGF0YSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0lEQlJlc3VsdERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlc3VsdERhdGE6
OnJlcXVlc3RJZGVudGlmaWVyKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisKIDIwMTUtMTAtMDYgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBWDogQVJJQSAxLjE6IGFyaWEtb3JpZW50YXRpb24gbm93IGRlZmF1bHRzIHRvIHVu
ZGVmaW5lZCwgc3VwcG9ydGVkIG9uIG1vcmUgZWxlbWVudHMsIGFuZCByb2xlLXNwZWNpZmljIGRl
ZmF1bHRzIGFyZSBkZWZpbmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAppbmRl
eCBhY2Y4YjM5Li41NjIzNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcApA
QCAtNTUsOCArNTUsOCBAQCB2b2lkIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlRGF0YWJh
c2UoSURCT3BlbkRCUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURC
Q29ubmVjdGlvblRvU2VydmVyOjpkZWxldGVEYXRhYmFzZSAtICVzIiwgcmVxdWVzdC5kYXRhYmFz
ZUlkZW50aWZpZXIoKS5kZWJ1Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgQVNTRVJU
KCFtX29wZW5EQlJlcXVlc3RNYXAuY29udGFpbnMocmVxdWVzdC5yZXF1ZXN0SWRlbnRpZmllcigp
KSk7Ci0gICAgbV9vcGVuREJSZXF1ZXN0TWFwLnNldChyZXF1ZXN0LnJlcXVlc3RJZGVudGlmaWVy
KCksICZyZXF1ZXN0KTsKKyAgICBBU1NFUlQoIW1fb3BlbkRCUmVxdWVzdE1hcC5jb250YWlucyhy
ZXF1ZXN0LnJlc291cmNlSWRlbnRpZmllcigpKSk7CisgICAgbV9vcGVuREJSZXF1ZXN0TWFwLnNl
dChyZXF1ZXN0LnJlc291cmNlSWRlbnRpZmllcigpLCAmcmVxdWVzdCk7CiAgICAgCiAgICAgSURC
UmVxdWVzdERhdGEgcmVxdWVzdERhdGEoKnRoaXMsIHJlcXVlc3QpOwogICAgIG1fZGVsZWdhdGUt
PmRlbGV0ZURhdGFiYXNlKHJlcXVlc3REYXRhKTsKQEAgLTc2LDggKzc2LDggQEAgdm9pZCBJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6Om9wZW5EYXRhYmFzZShJREJPcGVuREJSZXF1ZXN0JiByZXF1ZXN0
KQogewogICAgIExPRyhJbmRleGVkREIsICJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Om9wZW5EYXRh
YmFzZSAtICVzIiwgcmVxdWVzdC5kYXRhYmFzZUlkZW50aWZpZXIoKS5kZWJ1Z1N0cmluZygpLnV0
ZjgoKS5kYXRhKCkpOwogCi0gICAgQVNTRVJUKCFtX29wZW5EQlJlcXVlc3RNYXAuY29udGFpbnMo
cmVxdWVzdC5yZXF1ZXN0SWRlbnRpZmllcigpKSk7Ci0gICAgbV9vcGVuREJSZXF1ZXN0TWFwLnNl
dChyZXF1ZXN0LnJlcXVlc3RJZGVudGlmaWVyKCksICZyZXF1ZXN0KTsKKyAgICBBU1NFUlQoIW1f
b3BlbkRCUmVxdWVzdE1hcC5jb250YWlucyhyZXF1ZXN0LnJlc291cmNlSWRlbnRpZmllcigpKSk7
CisgICAgbV9vcGVuREJSZXF1ZXN0TWFwLnNldChyZXF1ZXN0LnJlc291cmNlSWRlbnRpZmllcigp
LCAmcmVxdWVzdCk7CiAgICAgCiAgICAgSURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEoKnRoaXMs
IHJlcXVlc3QpOwogICAgIG1fZGVsZWdhdGUtPm9wZW5EYXRhYmFzZShyZXF1ZXN0RGF0YSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKaW5kZXggMDNmZGIzZC4uZTBhM2NjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rp
b25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtMjksNyArMjksNyBAQAogI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdh
dGUuaCIKLSNpbmNsdWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIklEQlJl
c291cmNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC01OSw3ICs1OSw3IEBA
IHByaXZhdGU6CiAgICAgCiAgICAgUmVmPElEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlPiBt
X2RlbGVnYXRlOwogCi0gICAgSGFzaE1hcDxJREJSZXF1ZXN0SWRlbnRpZmllciwgUmVmUHRyPElE
QkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdD4+IG1fb3BlbkRCUmVxdWVzdE1hcDsKKyAgICBIYXNo
TWFwPElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElEQkNsaWVudDo6SURCT3BlbkRCUmVx
dWVzdD4+IG1fb3BlbkRCUmVxdWVzdE1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIElEQkNsaWVu
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QlJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJSZXF1ZXN0SW1wbC5jcHAKaW5kZXggODAwNTc5Ni4uMDVjNGE4MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVz
dEltcGwuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBJREJDbGllbnQgewogCiBJREJS
ZXF1ZXN0OjpJREJSZXF1ZXN0KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvbiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICA6IElEQk9wZW5EQlJlcXVlc3QoY29u
dGV4dCkKLSAgICAsIG1fcmVxdWVzdElkZW50aWZpZXIoY29ubmVjdGlvbikKKyAgICAsIG1fcmVz
b3VyY2VJZGVudGlmaWVyKGNvbm5lY3Rpb24pCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKaW5kZXgg
MTdmYjQ1OS4uMjY4MmMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3Qu
aCIKLSNpbmNsdWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIklEQlJlc291
cmNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVy
OwogCiBjbGFzcyBJREJSZXF1ZXN0IDogcHVibGljIFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Qs
IHB1YmxpYyBSZWZDb3VudGVkPElEQlJlcXVlc3Q+IHsKIHB1YmxpYzoKLSAgICBjb25zdCBJREJS
ZXF1ZXN0SWRlbnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3Jl
cXVlc3RJZGVudGlmaWVyOyB9CisgICAgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXNv
dXJjZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlSWRlbnRpZmllcjsgfQog
CiAgICAgdmlydHVhbCBSZWZQdHI8SURCQW55PiByZXN1bHQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgZXJyb3JDb2RlKEV4Y2VwdGlv
bkNvZGUmKSBjb25zdCBvdmVycmlkZTsKQEAgLTcyLDcgKzcyLDcgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIGZpbmFsIHsgUmVmQ291bnRl
ZDxJREJSZXF1ZXN0Pjo6cmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdl
dCgpIG92ZXJyaWRlIGZpbmFsIHsgUmVmQ291bnRlZDxJREJSZXF1ZXN0Pjo6ZGVyZWYoKTsgfQog
Ci0gICAgSURCUmVxdWVzdElkZW50aWZpZXIgbV9yZXF1ZXN0SWRlbnRpZmllcjsKKyAgICBJREJS
ZXNvdXJjZUlkZW50aWZpZXIgbV9yZXNvdXJjZUlkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBJREJDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmgKaW5kZXggZjQ0ZTAwNi4uYmFhNmJiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVl
c3REYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlJlcXVlc3REYXRhLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKIAogI2luY2x1ZGUgIklEQkRhdGFiYXNlSWRlbnRpZmllci5oIgotI2luY2x1ZGUgIklE
QlJlcXVlc3RJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiSURCUmVzb3VyY2VJZGVudGlmaWVyLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsMTEgKzQyLDExIEBAIGNsYXNzIElEQlJl
cXVlc3REYXRhIHsKIHB1YmxpYzoKICAgICBJREJSZXF1ZXN0RGF0YShjb25zdCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIGNvbnN0IElEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVz
dCYpOwogCi0gICAgSURCUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3JlcXVlc3RJZGVudGlmaWVyOyB9CisgICAgSURCUmVzb3VyY2VJZGVudGlm
aWVyIHJlcXVlc3RJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0SWRlbnRpZmll
cjsgfQogICAgIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYgZGF0YWJhc2VJZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZUlkZW50aWZpZXI7IH0KIAogcHJpdmF0ZToKLSAg
ICBJREJSZXF1ZXN0SWRlbnRpZmllciBtX3JlcXVlc3RJZGVudGlmaWVyOworICAgIElEQlJlc291
cmNlSWRlbnRpZmllciBtX3JlcXVlc3RJZGVudGlmaWVyOwogICAgIElEQkRhdGFiYXNlSWRlbnRp
ZmllciBtX2RhdGFiYXNlSWRlbnRpZmllcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdElkZW50aWZp
ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTQ0MGQxLi4wMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRl
bnRpZmllci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIklEQlJlcXVlc3RJZGVudGlmaWVyLmgiCi0K
LSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25U
b1NlcnZlci5oIgotI2luY2x1ZGUgIklEQlJlcXVlc3RJbXBsLmgiCi0jaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgdWludDY0X3QgbmV4
dFJlcXVlc3ROdW1iZXIoKQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgc3Rh
dGljIHVpbnQ2NF90IGN1cnJlbnROdW1iZXIgPSAwOwotICAgIHJldHVybiArK2N1cnJlbnROdW1i
ZXI7Ci19Ci0KLUlEQlJlcXVlc3RJZGVudGlmaWVyOjpJREJSZXF1ZXN0SWRlbnRpZmllcigpCi0g
ICAgOiBtX3JlcXVlc3ROdW1iZXIobmV4dFJlcXVlc3ROdW1iZXIoKSkKLXsKLX0KLQotSURCUmVx
dWVzdElkZW50aWZpZXI6OklEQlJlcXVlc3RJZGVudGlmaWVyKGNvbnN0IElEQkNsaWVudDo6SURC
Q29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0aW9uKQotICAgIDogbV9pZGJDbGllbnRTZXJ2ZXJD
b25uZWN0aW9uTnVtYmVyKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKQotICAgICwgbV9yZXF1ZXN0
TnVtYmVyKG5leHRSZXF1ZXN0TnVtYmVyKCkpCi17Ci19Ci0KLUlEQlJlcXVlc3RJZGVudGlmaWVy
OjpJREJSZXF1ZXN0SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1Nl
cnZlciYgY29ubmVjdGlvbiwgY29uc3QgSURCQ2xpZW50OjpJREJSZXF1ZXN0JiByZXF1ZXN0KQot
ICAgIDogbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVtYmVyKGNvbm5lY3Rpb24uaWRlbnRp
ZmllcigpKQotICAgICwgbV9yZXF1ZXN0TnVtYmVyKHJlcXVlc3QucmVxdWVzdElkZW50aWZpZXIo
KS5tX3JlcXVlc3ROdW1iZXIpCi17Ci19Ci0KLUlEQlJlcXVlc3RJZGVudGlmaWVyIElEQlJlcXVl
c3RJZGVudGlmaWVyOjplbXB0eVZhbHVlKCkKLXsKLSAgICBJREJSZXF1ZXN0SWRlbnRpZmllciBy
ZXN1bHQ7Ci0gICAgcmVzdWx0Lm1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9IDA7
Ci0gICAgcmVzdWx0Lm1fcmVxdWVzdE51bWJlciA9IDA7Ci0gICAgcmV0dXJuIFdURjo6bW92ZShy
ZXN1bHQpOwotfQotCi1JREJSZXF1ZXN0SWRlbnRpZmllciBJREJSZXF1ZXN0SWRlbnRpZmllcjo6
ZGVsZXRlZFZhbHVlKCkKLXsKLSAgICBJREJSZXF1ZXN0SWRlbnRpZmllciByZXN1bHQ7Ci0gICAg
cmVzdWx0Lm1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9IHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50NjRfdD46Om1heCgpOwotICAgIHJlc3VsdC5tX3JlcXVlc3ROdW1iZXIgPSBzdGQ6
Om51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKTsKLSAgICByZXR1cm4gV1RGOjptb3ZlKHJl
c3VsdCk7Ci19Ci0KLWJvb2wgSURCUmVxdWVzdElkZW50aWZpZXI6OmlzSGFzaFRhYmxlRGVsZXRl
ZFZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9u
TnVtYmVyID09IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpCi0gICAgICAgICYm
IG1fcmVxdWVzdE51bWJlciA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
aGFyZWQvSURCUmVxdWVzdElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMTQyMDI1Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTE3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIElEQlJlcXVlc3RJZGVudGlmaWVy
X2gKLSNkZWZpbmUgSURCUmVxdWVzdElkZW50aWZpZXJfaAotCi0jaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCi0KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIElEQkNsaWVudCB7Ci1jbGFzcyBJREJDb25uZWN0aW9u
VG9TZXJ2ZXI7Ci1jbGFzcyBJREJSZXF1ZXN0OwotfQotCi1jbGFzcyBJREJSZXF1ZXN0SWRlbnRp
ZmllciB7Ci1wdWJsaWM6Ci0gICAgSURCUmVxdWVzdElkZW50aWZpZXIoY29uc3QgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImKTsKLSAgICBJREJSZXF1ZXN0SWRlbnRpZmllcihjb25z
dCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIGNvbnN0IElEQkNsaWVudDo6SURC
UmVxdWVzdCYpOwotCi0gICAgc3RhdGljIElEQlJlcXVlc3RJZGVudGlmaWVyIGRlbGV0ZWRWYWx1
ZSgpOwotICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdDsKLQotICAgIHN0
YXRpYyBJREJSZXF1ZXN0SWRlbnRpZmllciBlbXB0eVZhbHVlKCk7Ci0gICAgYm9vbCBpc0VtcHR5
KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAhbV9yZXF1ZXN0TnVtYmVyICYmICFtX2lk
YkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXI7Ci0gICAgfQotCi0gICAgdW5zaWduZWQgaGFz
aCgpIGNvbnN0Ci0gICAgewotICAgICAgICB1aW50NjRfdCBoYXNoQ29kZXNbMl0gPSB7IHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciks
IHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX3JlcXVlc3ROdW1iZXIpIH07Ci0gICAgICAgIHJldHVy
biBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnk8c2l6ZW9mKGhhc2hDb2Rlcyk+KGhhc2hDb2Rlcyk7
Ci0gICAgfQotICAgIAotICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBJREJSZXF1ZXN0SWRlbnRp
ZmllciYgb3RoZXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbV9pZGJDbGllbnRTZXJ2
ZXJDb25uZWN0aW9uTnVtYmVyID09IG90aGVyLm1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51
bWJlcgotICAgICAgICAgICAgJiYgbV9yZXF1ZXN0TnVtYmVyID09IG90aGVyLm1fcmVxdWVzdE51
bWJlcjsKLSAgICB9Ci0gICAgCi0gICAgdWludDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXI7IH0KLSAgICAK
LXByaXZhdGU6Ci0gICAgSURCUmVxdWVzdElkZW50aWZpZXIoKTsKLSAgICB1aW50NjRfdCBtX2lk
YkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgeyAwIH07Ci0gICAgdWludDY0X3QgbV9yZXF1
ZXN0TnVtYmVyOwotfTsKLQotc3RydWN0IElEQlJlcXVlc3RJZGVudGlmaWVySGFzaCB7Ci0gICAg
c3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSURCUmVxdWVzdElkZW50aWZpZXImIGEpIHsgcmV0
dXJuIGEuaGFzaCgpOyB9Ci0gICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgSURCUmVxdWVzdElk
ZW50aWZpZXImIGEsIGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiBiKSB7IHJldHVybiBhID09
IGI7IH0KLSAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRl
ZCA9IGZhbHNlOwotfTsKLQotc3RydWN0IElEQlJlcXVlc3RJZGVudGlmaWVySGFzaFRyYWl0cyA6
IFdURjo6Q3VzdG9tSGFzaFRyYWl0czxJREJSZXF1ZXN0SWRlbnRpZmllcj4gewotICAgIHN0YXRp
YyBjb25zdCBib29sIGhhc0lzRW1wdHlWYWx1ZUZ1bmN0aW9uID0gdHJ1ZTsKLSAgICBzdGF0aWMg
Y29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7Ci0KLSAgICBzdGF0aWMgSURCUmVx
dWVzdElkZW50aWZpZXIgZW1wdHlWYWx1ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gSURCUmVx
dWVzdElkZW50aWZpZXI6OmVtcHR5VmFsdWUoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBp
c0VtcHR5VmFsdWUoY29uc3QgSURCUmVxdWVzdElkZW50aWZpZXImIGlkZW50aWZpZXIpCi0gICAg
ewotICAgICAgICByZXR1cm4gaWRlbnRpZmllci5pc0VtcHR5KCk7Ci0gICAgfQotCi0gICAgc3Rh
dGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKElEQlJlcXVlc3RJZGVudGlmaWVyJiBpZGVu
dGlmaWVyKQotICAgIHsKLSAgICAgICAgaWRlbnRpZmllciA9IElEQlJlcXVlc3RJZGVudGlmaWVy
OjpkZWxldGVkVmFsdWUoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1
ZShjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgaWRlbnRpZmllcikKLSAgICB7Ci0gICAgICAg
IHJldHVybiBpZGVudGlmaWVyLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7Ci0gICAgfQotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi1uYW1lc3BhY2UgV1RGIHsKLQotdGVtcGxhdGU8
PiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllcj4gOiBXZWJD
b3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHMgeyB9OwotdGVtcGxhdGU8PiBzdHJ1
Y3QgRGVmYXVsdEhhc2g8V2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI+IHsKLSAgICB0eXBl
ZGVmIFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaCBIYXNoOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV1RGCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLSNlbmRp
ZiAvLyBJREJSZXF1ZXN0SWRlbnRpZmllcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlmaWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZDI1Y2UKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
b3VyY2VJZGVudGlmaWVyLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQlJlc291cmNlSWRlbnRpZmllci5oIgorCisjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuaCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0SW1wbC5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIHVpbnQ2NF90IG5leHRSZXNv
dXJjZU51bWJlcigpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBzdGF0aWMg
dWludDY0X3QgY3VycmVudE51bWJlciA9IDA7CisgICAgcmV0dXJuICsrY3VycmVudE51bWJlcjsK
K30KKworSURCUmVzb3VyY2VJZGVudGlmaWVyOjpJREJSZXNvdXJjZUlkZW50aWZpZXIoKQorICAg
IDogbV9yZXNvdXJjZU51bWJlcihuZXh0UmVzb3VyY2VOdW1iZXIoKSkKK3sKK30KKworSURCUmVz
b3VyY2VJZGVudGlmaWVyOjpJREJSZXNvdXJjZUlkZW50aWZpZXIoY29uc3QgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24pCisgICAgOiBtX2lkYkNvbm5lY3Rpb25J
ZGVudGlmaWVyKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKQorICAgICwgbV9yZXNvdXJjZU51bWJl
cihuZXh0UmVzb3VyY2VOdW1iZXIoKSkKK3sKK30KKworSURCUmVzb3VyY2VJZGVudGlmaWVyOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXIoY29uc3QgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2
ZXImIGNvbm5lY3Rpb24sIGNvbnN0IElEQkNsaWVudDo6SURCUmVxdWVzdCYgcmVxdWVzdCkKKyAg
ICA6IG1faWRiQ29ubmVjdGlvbklkZW50aWZpZXIoY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpCisg
ICAgLCBtX3Jlc291cmNlTnVtYmVyKHJlcXVlc3QucmVzb3VyY2VJZGVudGlmaWVyKCkubV9yZXNv
dXJjZU51bWJlcikKK3sKK30KKworSURCUmVzb3VyY2VJZGVudGlmaWVyIElEQlJlc291cmNlSWRl
bnRpZmllcjo6ZW1wdHlWYWx1ZSgpCit7CisgICAgSURCUmVzb3VyY2VJZGVudGlmaWVyIHJlc3Vs
dDsKKyAgICByZXN1bHQubV9pZGJDb25uZWN0aW9uSWRlbnRpZmllciA9IDA7CisgICAgcmVzdWx0
Lm1fcmVzb3VyY2VOdW1iZXIgPSAwOworICAgIHJldHVybiBXVEY6Om1vdmUocmVzdWx0KTsKK30K
KworSURCUmVzb3VyY2VJZGVudGlmaWVyIElEQlJlc291cmNlSWRlbnRpZmllcjo6ZGVsZXRlZFZh
bHVlKCkKK3sKKyAgICBJREJSZXNvdXJjZUlkZW50aWZpZXIgcmVzdWx0OworICAgIHJlc3VsdC5t
X2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46
Om1heCgpOworICAgIHJlc3VsdC5tX3Jlc291cmNlTnVtYmVyID0gc3RkOjpudW1lcmljX2xpbWl0
czx1aW50NjRfdD46Om1heCgpOworICAgIHJldHVybiBXVEY6Om1vdmUocmVzdWx0KTsKK30KKwor
Ym9vbCBJREJSZXNvdXJjZUlkZW50aWZpZXI6OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9pZGJDb25uZWN0aW9uSWRlbnRpZmllciA9PSBzdGQ6Om51bWVy
aWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkKKyAgICAgICAgJiYgbV9yZXNvdXJjZU51bWJlciA9
PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNl
SWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlJlc291cmNlSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmMzOGQxZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwxMTcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIElEQlJlc291cmNlSWRlbnRpZmllcl9oCisjZGVmaW5lIElEQlJl
c291cmNlSWRlbnRpZmllcl9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitu
YW1lc3BhY2UgSURCQ2xpZW50IHsKK2NsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjsKK2NsYXNz
IElEQlJlcXVlc3Q7Cit9CisKK2NsYXNzIElEQlJlc291cmNlSWRlbnRpZmllciB7CitwdWJsaWM6
CisgICAgSURCUmVzb3VyY2VJZGVudGlmaWVyKGNvbnN0IElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyJik7CisgICAgSURCUmVzb3VyY2VJZGVudGlmaWVyKGNvbnN0IElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblRvU2VydmVyJiwgY29uc3QgSURCQ2xpZW50OjpJREJSZXF1ZXN0Jik7CisK
KyAgICBzdGF0aWMgSURCUmVzb3VyY2VJZGVudGlmaWVyIGRlbGV0ZWRWYWx1ZSgpOworICAgIGJv
b2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdDsKKworICAgIHN0YXRpYyBJREJSZXNv
dXJjZUlkZW50aWZpZXIgZW1wdHlWYWx1ZSgpOworICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gIW1fcmVzb3VyY2VOdW1iZXIgJiYgIW1faWRiQ29ubmVjdGlv
bklkZW50aWZpZXI7CisgICAgfQorCisgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0CisgICAgewor
ICAgICAgICB1aW50NjRfdCBoYXNoQ29kZXNbMl0gPSB7IG1faWRiQ29ubmVjdGlvbklkZW50aWZp
ZXIsIG1fcmVzb3VyY2VOdW1iZXIgfTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFz
aE1lbW9yeTxzaXplb2YoaGFzaENvZGVzKT4oaGFzaENvZGVzKTsKKyAgICB9CisgICAgCisgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgb3RoZXIpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9pZGJDb25uZWN0aW9uSWRlbnRpZmllciA9PSBvdGhl
ci5tX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyCisgICAgICAgICAgICAmJiBtX3Jlc291cmNlTnVt
YmVyID09IG90aGVyLm1fcmVzb3VyY2VOdW1iZXI7CisgICAgfQorICAgIAorICAgIHVpbnQ2NF90
IGNvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGJDb25uZWN0aW9uSWRl
bnRpZmllcjsgfQorICAgIAorcHJpdmF0ZToKKyAgICBJREJSZXNvdXJjZUlkZW50aWZpZXIoKTsK
KyAgICB1aW50NjRfdCBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyIHsgMCB9OworICAgIHVpbnQ2
NF90IG1fcmVzb3VyY2VOdW1iZXI7Cit9OworCitzdHJ1Y3QgSURCUmVzb3VyY2VJZGVudGlmaWVy
SGFzaCB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgSURCUmVzb3VyY2VJZGVudGlm
aWVyJiBhKSB7IHJldHVybiBhLmhhc2goKTsgfQorICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0
IElEQlJlc291cmNlSWRlbnRpZmllciYgYSwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiBi
KSB7IHJldHVybiBhID09IGI7IH0KKyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJl
VG9FbXB0eU9yRGVsZXRlZCA9IGZhbHNlOworfTsKKworc3RydWN0IElEQlJlc291cmNlSWRlbnRp
Zmllckhhc2hUcmFpdHMgOiBXVEY6OkN1c3RvbUhhc2hUcmFpdHM8SURCUmVzb3VyY2VJZGVudGlm
aWVyPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24gPSB0
cnVlOworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKwor
ICAgIHN0YXRpYyBJREJSZXNvdXJjZUlkZW50aWZpZXIgZW1wdHlWYWx1ZSgpCisgICAgeworICAg
ICAgICByZXR1cm4gSURCUmVzb3VyY2VJZGVudGlmaWVyOjplbXB0eVZhbHVlKCk7CisgICAgfQor
CisgICAgc3RhdGljIGJvb2wgaXNFbXB0eVZhbHVlKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmll
ciYgaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIHJldHVybiBpZGVudGlmaWVyLmlzRW1wdHko
KTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoSURCUmVz
b3VyY2VJZGVudGlmaWVyJiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgaWRlbnRpZmllciA9
IElEQlJlc291cmNlSWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKCk7CisgICAgfQorCisgICAgc3Rh
dGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiBpZGVu
dGlmaWVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIuaXNIYXNoVGFibGVEZWxl
dGVkVmFsdWUoKTsKKyAgICB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVz
cGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OklEQlJl
c291cmNlSWRlbnRpZmllcj4gOiBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXJIYXNoVHJh
aXRzIHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OklEQlJlc291
cmNlSWRlbnRpZmllcj4geworICAgIHR5cGVkZWYgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlm
aWVySGFzaCBIYXNoOworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJREJSZXNvdXJjZUlkZW50aWZpZXJfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJl
c3VsdERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlJlc3VsdERhdGEuY3BwCmluZGV4IGIzODczMTQuLjU3ZThkNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzdWx0RGF0YS5j
cHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JREJSZXN1bHRE
YXRhOjpJREJSZXN1bHREYXRhKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiByZXF1ZXN0SWRl
bnRpZmllciwgY29uc3QgSURCRXJyb3ImIGVycm9yKQorSURCUmVzdWx0RGF0YTo6SURCUmVzdWx0
RGF0YShjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCBjb25z
dCBJREJFcnJvciYgZXJyb3IpCiAgICAgOiBtX3JlcXVlc3RJZGVudGlmaWVyKHJlcXVlc3RJZGVu
dGlmaWVyKQogICAgICwgbV9lcnJvcihlcnJvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzdWx0RGF0YS5oCmluZGV4IGQ2NmMz
ZjAuLjgyNTY3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJSZXN1bHREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQlJlc3VsdERhdGEuaApAQCAtMjksMjIgKzI5LDIyIEBACiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKICNpbmNsdWRlICJJREJFcnJvci5oIgotI2luY2x1ZGUg
IklEQlJlcXVlc3RJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiSURCUmVzb3VyY2VJZGVudGlmaWVy
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSURCUmVxdWVzdElkZW50aWZpZXI7
CitjbGFzcyBJREJSZXNvdXJjZUlkZW50aWZpZXI7CiAKIGNsYXNzIElEQlJlc3VsdERhdGEgewog
cHVibGljOgotICAgIElEQlJlc3VsdERhdGEoY29uc3QgSURCUmVxdWVzdElkZW50aWZpZXImLCBj
b25zdCBJREJFcnJvciYpOworICAgIElEQlJlc3VsdERhdGEoY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJiwgY29uc3QgSURCRXJyb3ImKTsKIAotICAgIElEQlJlcXVlc3RJZGVudGlmaWVyIHJl
cXVlc3RJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0SWRlbnRpZmllcjsgfQor
ICAgIElEQlJlc291cmNlSWRlbnRpZmllciByZXF1ZXN0SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fcmVxdWVzdElkZW50aWZpZXI7IH0KICAgICAKICAgICBjb25zdCBJREJFcnJvciYgZXJy
b3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CiAgICAgCiBwcml2YXRlOgotICAgIElEQlJl
cXVlc3RJZGVudGlmaWVyIG1fcmVxdWVzdElkZW50aWZpZXI7CisgICAgSURCUmVzb3VyY2VJZGVu
dGlmaWVyIG1fcmVxdWVzdElkZW50aWZpZXI7CiAgICAgSURCRXJyb3IgbV9lcnJvcjsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA2MDA0ZTI0Li5lMmViZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTIxLDggKzE5MjEsNiBAQAogCQk1MTBBNThF
NTFCQUE0MEIxMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2VydmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFMzFCQUE0MEFFMDBDMTkyODIg
LyogSW5Qcm9jZXNzSURCU2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNTEwQTU4RjkxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3RE
YXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
MEE1OEY1MUJBQ0M0QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgKi87IH07CiAJCTUx
MEE1OEZBMUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RjYxQkFDQzRBNTAwQzE5Mjgy
IC8qIElEQlJlcXVlc3REYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJNTEwQTU4RkIxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVu
dGlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMEE1OEU2MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmllci5jcHAgKi87
IH07Ci0JCTUxMEE1OEZDMUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RTcx
QkFBNDFDOTAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwRDRBMzMxMDMxNjVFRTAwNDlF
QTU0IC8qIFNvY2tldFN0cmVhbUVycm9yQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBENEEyRDEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0
U3RyZWFtRXJyb3JCYXNlLmNwcCAqLzsgfTsKIAkJNTEwRDRBMzQxMDMxNjVFRTAwNDlFQTU0IC8q
IFNvY2tldFN0cmVhbUVycm9yQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwRDRBMkUxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUVy
cm9yQmFzZS5oICovOyB9OwogCQk1MTBENEEzNjEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3Ry
ZWFtSGFuZGxlQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTBENEEzMDEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtSGFuZGxlQmFz
ZS5jcHAgKi87IH07CkBAIC0xOTYxLDYgKzE5NTksOCBAQAogCQk1MTNGMTQ1NDBBQjYzNEM0MDAw
OTREREYgLyogSWNvbkxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEzRjE0NTIwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2FkZXIuaCAqLzsg
fTsKIAkJNTE0MDVDODgxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQwNUM4
NjE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmNwcCAqLzsgfTsKIAkJ
NTE0MDVDODkxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0MDVDODcxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNDVCMTA5MUJDNDhFMkUwMEU4NjIxOSAv
KiBJREJSZXNvdXJjZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE0NUIxMDcxQkM0ODkwQjAwRTg2MjE5IC8qIElEQlJlc291cmNl
SWRlbnRpZmllci5jcHAgKi87IH07CisJCTUxNDVCMTBBMUJDNDhFMkUwMEU4NjIxOSAvKiBJREJS
ZXNvdXJjZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxNDVCMTA4MUJDNDg5MEIwMEU4NjIxOSAvKiBJREJSZXNvdXJjZUlkZW50aWZp
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MTQ4NDUzRTFCQjlEMDdFMDA2QTcyRUQgLyogSURCRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0ODQ1M0MxQkI5RDA3NjAwNkE3MkVEIC8q
IElEQkVycm9yLmNwcCAqLzsgfTsKIAkJNTE0ODQ1M0YxQkI5RDA3RTAwNkE3MkVEIC8qIElEQkVy
cm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ4
NDUzRDFCQjlEMDc2MDA2QTcyRUQgLyogSURCRXJyb3IuaCAqLzsgfTsKIAkJNTE0QjNGNzMwQzcy
MjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVt
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTky
NTMsOCArOTI1Myw2IEBACiAJCTUxMEEzMjZFMTgzMTg0MzEwMDNDNTMyNiAvKiBJREJTZXJ2ZXJD
b25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlNlcnZlckNv
bm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwQTU4RTIxQkFBNDBB
RTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJblByb2Nlc3NJREJTZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTBBNThFMzFCQUE0MEFFMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2Vy
dmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluUHJvY2Vzc0lEQlNlcnZl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MTBBNThFNjFCQUE0MUM5MDBDMTky
ODIgLyogSURCUmVxdWVzdElkZW50aWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCUmVxdWVzdElkZW50aWZpZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk1MTBBNThFNzFCQUE0MUM5MDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCUmVxdWVzdElkZW50aWZp
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwQTU4RUYxQkFCNzIwRjAwQzE5
MjgyIC8qIElEQlNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJREJTZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTBBNThGMDFC
QUI3MjBGMDBDMTkyODIgLyogSURCU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IElEQlNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTBBNThG
NTFCQUNDNEE1MDBDMTkyODIgLyogSURCUmVxdWVzdERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSURCUmVxdWVzdERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtOTMwNiw2ICs5MzA0LDggQEAKIAkJNTEzRjE0NTIwQUI2MzRDNDAwMDk0
RERGIC8qIEljb25Mb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElj
b25Mb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0MDVDODYxOTBCMDE0
NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MTQwNUM4NzE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9u
UmVjdEdhdGhlcmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdGlv
blJlY3RHYXRoZXJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQ1QjEwNzFC
QzQ4OTBCMDBFODYyMTkgLyogSURCUmVzb3VyY2VJZGVudGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlJlc291cmNlSWRlbnRpZmllci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNDVCMTA4MUJDNDg5MEIwMEU4NjIxOSAvKiBJREJS
ZXNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURC
UmVzb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNDg0
NTNDMUJCOUQwNzYwMDZBNzJFRCAvKiBJREJFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJREJFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxNDg0NTNEMUJCOUQwNzYwMDZBNzJFRCAvKiBJREJFcnJvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJREJFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTRCM0Y3MjBDNzIyMDQ3MDAwNTMwREYgLyogRmlsZVN5c3RlbS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU3lzdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNjY1Nyw4ICsxNjY1Nyw4IEBACiAJCQkJNTE0ODQ1M0QxQkI5RDA3NjAwNkE3
MkVEIC8qIElEQkVycm9yLmggKi8sCiAJCQkJNTEwQTU4RjUxQkFDQzRBNTAwQzE5MjgyIC8qIElE
QlJlcXVlc3REYXRhLmNwcCAqLywKIAkJCQk1MTBBNThGNjFCQUNDNEE1MDBDMTkyODIgLyogSURC
UmVxdWVzdERhdGEuaCAqLywKLQkJCQk1MTBBNThFNjFCQUE0MUM5MDBDMTkyODIgLyogSURCUmVx
dWVzdElkZW50aWZpZXIuY3BwICovLAotCQkJCTUxMEE1OEU3MUJBQTQxQzkwMEMxOTI4MiAvKiBJ
REJSZXF1ZXN0SWRlbnRpZmllci5oICovLAorCQkJCTUxNDVCMTA3MUJDNDg5MEIwMEU4NjIxOSAv
KiBJREJSZXNvdXJjZUlkZW50aWZpZXIuY3BwICovLAorCQkJCTUxNDVCMTA4MUJDNDg5MEIwMEU4
NjIxOSAvKiBJREJSZXNvdXJjZUlkZW50aWZpZXIuaCAqLywKIAkJCQk1MUQ3MjM2QTFCQjYwQkZF
MDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5jcHAgKi8sCiAJCQkJNTFENzIzNkIxQkI2MEJGRTAw
NDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuaCAqLywKIAkJCQk1MTBBNThFMjFCQUE0MEFFMDBDMTky
ODIgLyogSW5Qcm9jZXNzSURCU2VydmVyLmNwcCAqLywKQEAgLTI0MjU1LDcgKzI0MjU1LDYgQEAK
IAkJCQkyNEY1NEVBRDEwMUZFOTE0MDAwQUU3NDEgLyogQXBwbGljYXRpb25DYWNoZUhvc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBOEY2QkMxMERCNTVDREMwMDFEQjc5NCAvKiBBcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMkFBQzU5MERDMkEzQjEwMEEy
MEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEw
QTU4RkMxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5QjQxNzA2NDEyNTY2MkIzMDA2QjI4RkMgLyogQXBwbHlCbG9ja0VsZW1lbnRD
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUREOTA5OUU2NDkyMDA1NkU1ODEgLyog
QXBwbHlTdHlsZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkREOEY2MEQ5MUU2QUYw
MDBGODlFRSAvKiBBcmNoaXZlLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NTM2LDYgKzI2NTM1LDcg
QEAKIAkJCQk3QTY3NEJEQzBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9hZERlZmVycmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDVDOUQwMDE5QzdCNTJFMDBCM0M1QzEgLyogUGFnZU92
ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENUM5RDAyMTlDN0I1MkUwMEIzQzVDMSAvKiBQ
YWdlT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNDVCMTBBMUJDNDhF
MkUwMEU4NjIxOSAvKiBJREJSZXNvdXJjZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUZCREI2MUExMTZENjAzN0UwMEJCMzM5NCAvKiBQYWdlUnVsZUNvbGxlY3Rvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjM4MjA4OTUxNDdEMzVGOTAwMTBCQzA2IC8qIFBhZ2VSdW50aW1lQWdlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1RjM2RDNCMThGNzU4NzIwMDU0QzAyNCAvKiBQYWdlU2Ny
aXB0RGVidWdTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzAwODYsNiArMzAwODYsNyBAQAog
CQkJCTI2NzcyNjAwMUE1QjNBRDkwMDNDMjRERCAvKiBORkFUb0RGQS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0VGNDNFMDBFNjc0MTEwMDAxQzEyODcgLyogTmluZVBpZWNlSW1hZ2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThDNEE4MDAwOUQ1NjMyNzAwMDNBQzhEIC8qIE5vZGUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTE0NUIxMDkxQkM0OEUyRTAwRTg2MjE5IC8qIElEQlJlc291cmNl
SWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTI5REY4NTFCQjVCODA3MDAzMjJB
MTYgLyogSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODU0RkU3MzIwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVGaWx0ZXJDb25kaXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODU0RkU3MzQwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVJ
dGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDI4LDcgKzMxMDI5LDYgQEAKIAkJCQlB
MDhDRjE1NDE1MkI3N0IzMDA5QzU3NzUgLyogV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDFEM0NGODYxNEJEMEEzMDAwRkU5OTcwIC8qIFdlYkdMU2hh
cmVkT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZGOTk1QTE1MUE3MDc1NjIwMEE3MzVG
NCAvKiBXZWJHTFN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwQTU4RkIxQkFDQzdGMjAw
QzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5
QzdCOUU1MTA0MkQzMkYwMDA5RDQ0NyAvKiBXZWJHTFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkY5OTVBMjMxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMVHJhbnNmb3JtRmVlZGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEMzRjFGNUExMEM4ODcxMjAwRDcyQ0UxIC8qIFdlYkdM
VW5pZm9ybUxvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="287766"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>