<?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>157552</bug_id>
          
          <creation_ts>2016-05-10 19:08:07 -0700</creation_ts>
          <short_desc>Remove scrolledContentOffset() from rendering code</short_desc>
          <delta_ts>2016-05-10 21:47:23 -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>New Bugs</component>
          <version>WebKit Nightly Build</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191789</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-10 19:08:07 -0700</bug_when>
    <thetext>Remove scrolledContentOffset() from rendering code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191793</commentid>
    <comment_count>1</comment_count>
      <attachid>278570</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-10 19:09:36 -0700</bug_when>
    <thetext>Created attachment 278570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191820</commentid>
    <comment_count>2</comment_count>
      <attachid>278570</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-10 21:47:20 -0700</bug_when>
    <thetext>Comment on attachment 278570
Patch

Clearing flags on attachment: 278570

Committed r200671: &lt;http://trac.webkit.org/changeset/200671&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191821</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-10 21:47:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278570</attachid>
            <date>2016-05-10 19:09:36 -0700</date>
            <delta_ts>2016-05-10 21:47:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157552-20160510191024.patch</filename>
            <type>text/plain</type>
            <size>26078</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc2ZWI1OGQ3Mzc2Y2U3
YjhjNDI5Y2EwNGJmYjBlN2RhNGUyOTJjYi4uNzcxMzVjNDhiYjVlN2FiZGYyMTFhOGJkMjg4NDQx
MWRjZjg3MTE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU5IEBACiAyMDE2LTA1LTEwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSBzY3Jv
bGxlZENvbnRlbnRPZmZzZXQoKSBmcm9tIHJlbmRlcmluZyBjb2RlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc1NTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBp
cyBtaXNsZWFkaW5nIGJlY2F1c2UgaXQgcmV0dXJucyBhIHNjcm9sbFBvc2l0aW9uKCkuCisgICAg
ICAgIEp1c3QgdXNlIHRoZSBuYW1lIHNjcm9sbFBvc2l0aW9uKCksIHJldHVybmluZyBhIFNjcm9s
bFBvc2l0aW9uIChJbnRQb2ludCksCisgICAgICAgIGFuZCBmaXggY2FsbGVycyB0aGF0IG5lZWQg
dG8gY29udmVydCB0byBsYXlvdXQgc2l6ZS4KKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVVu
aXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFic29sdXRlTGluZURpcmVjdGlvblBvaW50VG9M
b2NhbFBvaW50SW5CbG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRTdGF0ZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpwYWludE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2VsZWN0aW9u
R2FwUmVjdHNGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWlu
dFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om9mZnNldEZvckNvbnRlbnRzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzY3JvbGxQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbE9m
ZnNldEZvclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6aXNDYW5kaWRhdGVGb3JPcGFxdWVu
ZXNzVGVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Om9mZnNldEZyb21Db250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVyZmxvd1JlY3RGb3JQ
cm9wYWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbGVkQ29udGVu
dE9mZnNldCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5ZXJFeHRlbmRlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbmxpbmU6Om9mZnNldEZyb21Db250YWluZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTGF5ZXJQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bWFwTGF5ZXJDbGlwUmVj
dHNUb0ZyYWdtZW50YXRpb25MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkOjpvZmZzZXRGcm9tQ29udGFpbmVyKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGVjb3JhdGlvbnNDbGlwUmVjdEZvckJveElu
TmFtZWRGbG93RnJhZ21lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjptYXBMb2NhbFRvQ29udGFpbmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cHVzaE1hcHBpbmdUb0NvbnRhaW5lcik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Om1hcEFic29sdXRlVG9Mb2NhbFBvaW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6b2Zmc2V0RnJvbUNvbnRhaW5lcik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpoaXRJbm5lclRleHRFbGVtZW50KToKKworMjAxNi0w
NS0xMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBI
b3Jpem9udGFsbHktc2Nyb2xsYWJsZSBpdGVtcyB3aXRoIGEgM2QgdHJhbnNmb3JtIGFyZSByZW5k
ZXJlZCBpbmNvcnJlY3RseSBpbiBSVEwgd2hlbiBjb250YWluZXIgaGFzIC13ZWJraXQtb3ZlcmZs
b3ctc2Nyb2xsOiB0b3VjaAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU3NDgyCiAgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI2MjA0Nzk0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKaW5kZXggNjIyZjQzNmNlNWU3MDdkNzNmYzMx
ZGExNGE2MGI3NDZjN2I0ODE5NS4uNGMwZTJmNjAxY2RhNjU1Y2Q0MWQ4MDkxOWUwN2YwZjU0ZjM5
MzI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcApAQCAtOTcyLDcg
Kzk3Miw3IEBAIGJvb2wgaXNMb2dpY2FsRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
cCkKIHN0YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xv
Y2FsUG9pbnRJbkJsb2NrKFJvb3RJbmxpbmVCb3gmIHJvb3QsIGludCBsaW5lRGlyZWN0aW9uUG9p
bnQpCiB7CiAgICAgUmVuZGVyQmxvY2tGbG93JiBjb250YWluaW5nQmxvY2sgPSByb290LmJsb2Nr
RmxvdygpOwotICAgIEZsb2F0UG9pbnQgYWJzb2x1dGVCbG9ja1BvaW50ID0gY29udGFpbmluZ0Js
b2NrLmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCkpIC0gY29udGFpbmluZ0Jsb2NrLnNjcm9s
bGVkQ29udGVudE9mZnNldCgpOworICAgIEZsb2F0UG9pbnQgYWJzb2x1dGVCbG9ja1BvaW50ID0g
Y29udGFpbmluZ0Jsb2NrLmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCkpIC0gdG9GbG9hdFNp
emUoY29udGFpbmluZ0Jsb2NrLnNjcm9sbFBvc2l0aW9uKCkpOwogCiAgICAgaWYgKGNvbnRhaW5p
bmdCbG9jay5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICByZXR1cm4gSW50UG9p
bnQobGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1dGVCbG9ja1BvaW50LngoKSwgcm9vdC5ibG9j
a0RpcmVjdGlvblBvaW50SW5MaW5lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRT
dGF0ZS5jcHAKaW5kZXggOTY3N2M4YzE2N2ZjNzljZThiYTg2OTc1OTFiMDAwZDViZTk1M2E3OS4u
ZmM4MDE4M2VjZmRhM2Y2ZjY1NmJjYTMxMTFhYjI4YTg4OGU4YjQzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCkBAIC03NSw3ICs3NSw3IEBAIExheW91dFN0YXRl
OjpMYXlvdXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3RhdGU+IG5leHQsIFJlbmRlckJv
eCogcmVuZGVyZXIsCiAgICAgICAgICAgICBtX2NsaXBwZWQgPSB0cnVlOwogICAgICAgICB9CiAK
LSAgICAgICAgbV9wYWludE9mZnNldCAtPSByZW5kZXJlci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0
KCk7CisgICAgICAgIG1fcGFpbnRPZmZzZXQgLT0gdG9MYXlvdXRTaXplKHJlbmRlcmVyLT5zY3Jv
bGxQb3NpdGlvbigpKTsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBlc3RhYmxpc2ggYSBuZXcgcGFn
ZSBoZWlnaHQsIHRoZW4gY2FjaGUgdGhlIG9mZnNldCB0byB0aGUgdG9wIG9mIHRoZSBmaXJzdCBw
YWdlLgpAQCAtMTQxLDcgKzE0MSw3IEBAIExheW91dFN0YXRlOjpMYXlvdXRTdGF0ZShSZW5kZXJP
YmplY3QmIHJvb3QpCiAgICAgICAgICAgICBtX2NsaXBwZWQgPSB0cnVlOwogICAgICAgICAgICAg
YXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8UmVuZGVyQm94PigqY29udGFpbmVyKTsKICAg
ICAgICAgICAgIG1fY2xpcFJlY3QgPSBMYXlvdXRSZWN0KHRvTGF5b3V0UG9pbnQobV9wYWludE9m
ZnNldCksIGNvbnRhaW5lckJveC5jYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwotICAgICAg
ICAgICAgbV9wYWludE9mZnNldCAtPSBjb250YWluZXJCb3guc2Nyb2xsZWRDb250ZW50T2Zmc2V0
KCk7CisgICAgICAgICAgICBtX3BhaW50T2Zmc2V0IC09IHRvTGF5b3V0U2l6ZShjb250YWluZXJC
b3guc2Nyb2xsUG9zaXRpb24oKSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAxNjNjZGQ0MjViNWE2NWZjNzRkNzZkYTY1
ZjIxOGJmYjg5ODE0YjQzLi5hOTBiNWU4NGZmNjU1ODZkMWQ1NTUzYmYyNjhlOGFjZTMwOTEyYjEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTE1NzEsNyAr
MTU3MSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzCiAKICAgICAvLyBBZGp1c3Qgb3VyIHBh
aW50aW5nIHBvc2l0aW9uIGlmIHdlJ3JlIGluc2lkZSBhIHNjcm9sbGVkIGxheWVyIChlLmcuLCBh
biBvdmVyZmxvdzphdXRvIGRpdikuCiAgICAgTGF5b3V0UG9pbnQgc2Nyb2xsZWRPZmZzZXQgPSBw
YWludE9mZnNldDsKLSAgICBzY3JvbGxlZE9mZnNldC5tb3ZlKC1zY3JvbGxlZENvbnRlbnRPZmZz
ZXQoKSk7CisgICAgc2Nyb2xsZWRPZmZzZXQubW92ZUJ5KC1zY3JvbGxQb3NpdGlvbigpKTsKIAog
ICAgIC8vIENvbHVtbiBydWxlcyBuZWVkIHRvIGFjY291bnQgZm9yIHNjcm9sbGluZyBhbmQgY2xp
cHBpbmcuCiAgICAgLy8gRklYTUU6IENsaXBwaW5nIG9mIGNvbHVtbiBydWxlcyBkb2VzIG5vdCB3
b3JrLiBXZSB3aWxsIG5lZWQgYSBzZXBhcmF0ZSBwYWludCBwaGFzZSBmb3IgY29sdW1uIHJ1bGVz
IEkgc3VzcGVjdCBpbiBvcmRlciB0byBnZXQKQEAgLTE3NTQsNyArMTc1NCw3IEBAIEdhcFJlY3Rz
IFJlbmRlckJsb2NrOjpzZWxlY3Rpb25HYXBSZWN0c0ZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdCoKICAgICAgICAgcmV0dXJuIEdhcFJlY3RzKCk7CiAKICAgICBGbG9hdFBv
aW50IGNvbnRhaW5lclBvaW50ID0gbG9jYWxUb0NvbnRhaW5lclBvaW50KEZsb2F0UG9pbnQoKSwg
cmVwYWludENvbnRhaW5lciwgVXNlVHJhbnNmb3Jtcyk7Ci0gICAgTGF5b3V0UG9pbnQgb2Zmc2V0
RnJvbVJlcGFpbnRDb250YWluZXIoY29udGFpbmVyUG9pbnQgLSBzY3JvbGxlZENvbnRlbnRPZmZz
ZXQoKSk7CisgICAgTGF5b3V0UG9pbnQgb2Zmc2V0RnJvbVJlcGFpbnRDb250YWluZXIoY29udGFp
bmVyUG9pbnQgLSB0b0Zsb2F0U2l6ZShzY3JvbGxQb3NpdGlvbigpKSk7CiAKICAgICBMb2dpY2Fs
U2VsZWN0aW9uT2Zmc2V0Q2FjaGVzIGNhY2hlKCp0aGlzKTsKICAgICBMYXlvdXRVbml0IGxhc3RU
b3AgPSAwOwpAQCAtMTc4Myw3ICsxNzgzLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRTZWxl
Y3Rpb24oUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE8KICAg
ICAgICAgICAgICAgICAgICAgZmxpcEZvcldyaXRpbmdNb2RlKGxvY2FsQm91bmRzKTsKICAgICAg
ICAgICAgICAgICAgICAgZ2FwUmVjdHNCb3VuZHMgPSBsb2NhbFRvQ29udGFpbmVyUXVhZChGbG9h
dFJlY3QobG9jYWxCb3VuZHMpLCAmbGF5ZXItPnJlbmRlcmVyKCkpLmVuY2xvc2luZ0JvdW5kaW5n
Qm94KCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChsYXllci0+cmVuZGVyZXIoKS5pc0JveCgp
KQotICAgICAgICAgICAgICAgICAgICAgICAgZ2FwUmVjdHNCb3VuZHMubW92ZShsYXllci0+cmVu
ZGVyQm94KCktPnNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGdhcFJlY3RzQm91bmRzLm1vdmVCeShsYXllci0+cmVuZGVyQm94KCktPnNjcm9sbFBvc2l0
aW9uKCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBsYXllci0+YWRkQmxv
Y2tTZWxlY3Rpb25HYXBzQm91bmRzKGdhcFJlY3RzQm91bmRzKTsKICAgICAgICAgICAgIH0KQEAg
LTI0ODcsNyArMjQ4Nyw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KGNvbnN0IEhp
dFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1CiAgICAgYm9vbCBjaGVj
a0NoaWxkcmVuID0gIXVzZUNsaXAgfHwgKGhhc0NvbnRyb2xDbGlwKCkgPyBsb2NhdGlvbkluQ29u
dGFpbmVyLmludGVyc2VjdHMoY29udHJvbENsaXBSZWN0KGFkanVzdGVkTG9jYXRpb24pKSA6IGxv
Y2F0aW9uSW5Db250YWluZXIuaW50ZXJzZWN0cyhvdmVyZmxvd0NsaXBSZWN0KGFkanVzdGVkTG9j
YXRpb24sIG5hbWVkRmxvd0ZyYWdtZW50LCBJbmNsdWRlT3ZlcmxheVNjcm9sbGJhclNpemUpKSk7
CiAgICAgaWYgKGNoZWNrQ2hpbGRyZW4pIHsKICAgICAgICAgLy8gSGl0IHRlc3QgZGVzY2VuZGFu
dHMgZmlyc3QuCi0gICAgICAgIExheW91dFNpemUgc2Nyb2xsZWRPZmZzZXQobG9jYWxPZmZzZXQg
LSBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7CisgICAgICAgIExheW91dFNpemUgc2Nyb2xsZWRP
ZmZzZXQobG9jYWxPZmZzZXQgLSB0b0xheW91dFNpemUoc2Nyb2xsUG9zaXRpb24oKSkpOwogCiAg
ICAgICAgIGlmIChoaXRUZXN0QWN0aW9uID09IEhpdFRlc3RGbG9hdCAmJiBoaXRUZXN0RmxvYXRz
KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwgdG9MYXlvdXRQb2ludChzY3Jv
bGxlZE9mZnNldCkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0yNjU5LDcgKzI2NTks
NyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyQmxvY2s6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3Qg
TGF5b3V0UG9pbnQmIHBvaW50LCBjb25zdCBSZQogdm9pZCBSZW5kZXJCbG9jazo6b2Zmc2V0Rm9y
Q29udGVudHMoTGF5b3V0UG9pbnQmIG9mZnNldCkgY29uc3QKIHsKICAgICBvZmZzZXQgPSBmbGlw
Rm9yV3JpdGluZ01vZGUob2Zmc2V0KTsKLSAgICBvZmZzZXQgKz0gc2Nyb2xsZWRDb250ZW50T2Zm
c2V0KCk7CisgICAgb2Zmc2V0ICs9IHRvTGF5b3V0U2l6ZShzY3JvbGxQb3NpdGlvbigpKTsKICAg
ICBvZmZzZXQgPSBmbGlwRm9yV3JpdGluZ01vZGUob2Zmc2V0KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA1NTM2MWEzZWU1ZWZlYzI0
MzhhZmFiNzBlODg5NjQ3MjVkYTc5OWE1Li5lMDBjNzZlNTk0ODEwYWNmNDczYjM2MzA3OTQxMjk0
Yjg3OTRhYjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtNTY0LDcgKzU2NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRCbG9j
ayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFnZUxvZ2ljYWxICiAKICAgICAg
ICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgICAgICAvLyBBZGp1c3QgcmVwYWlu
dCByZWN0IGZvciBzY3JvbGwgb2Zmc2V0Ci0gICAgICAgICAgICByZXBhaW50UmVjdC5tb3ZlKC1z
Y3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7CisgICAgICAgICAgICByZXBhaW50UmVjdC5tb3ZlQnko
LXNjcm9sbFBvc2l0aW9uKCkpOwogCiAgICAgICAgICAgICAvLyBEb24ndCBhbGxvdyB0aGlzIHJl
Y3QgdG8gc3BpbGwgb3V0IG9mIG91ciBvdmVyZmxvdyBib3guCiAgICAgICAgICAgICByZXBhaW50
UmVjdC5pbnRlcnNlY3QoTGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNmMxNjAyZDRmMDI1NzhhZjkwNzc2
ZDRiZWRmMmNjYzUyNjk4YWE3My4uOWZjMGEzNjY1YTU3YTk4MjIwNGY2NzhkMmI1MzY4NTBjZDgy
NjUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTk5MCwxNCAr
OTkwLDEzIEBAIGJvb2wgUmVuZGVyQm94OjpuZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRp
b24oKSBjb25zdAogICAgIHJldHVybiBzdHlsZSgpLnBhZGRpbmdTdGFydCgpLmlzUGVyY2VudE9y
Q2FsY3VsYXRlZCgpIHx8IHN0eWxlKCkucGFkZGluZ0VuZCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRl
ZCgpOwogfQogCi1JbnRTaXplIFJlbmRlckJveDo6c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCkgY29u
c3QKK1Njcm9sbFBvc2l0aW9uIFJlbmRlckJveDo6c2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewog
ICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBJbnRTaXplKCk7Cisg
ICAgICAgIHJldHVybiB7IDAsIDAgfTsKIAogICAgIEFTU0VSVChoYXNMYXllcigpKTsKLSAgICAv
LyBGSVhNRTogUmVuZGVyZXIgY29kZSBuZWVkcyBzY3JvbGxPZmZzZXQvc2Nyb2xsUG9zaXRpb24g
ZGlzYW1iaWd1YXRpb24uCi0gICAgcmV0dXJuIGxheWVyKCktPnNjcm9sbGVkQ29udGVudE9mZnNl
dCgpOworICAgIHJldHVybiBsYXllcigpLT5zY3JvbGxQb3NpdGlvbigpOwogfQogCiBMYXlvdXRT
aXplIFJlbmRlckJveDo6Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpIGNvbnN0CkBAIC0xMDEw
LDcgKzEwMDksNyBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6Y2FjaGVkU2l6ZUZvck92ZXJmbG93
Q2xpcCgpIGNvbnN0CiB2b2lkIFJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsT2Zm
c2V0Rm9yUmVwYWludChMYXlvdXRSZWN0JiBwYWludFJlY3QpIGNvbnN0CiB7CiAgICAgZmxpcEZv
cldyaXRpbmdNb2RlKHBhaW50UmVjdCk7Ci0gICAgcGFpbnRSZWN0Lm1vdmUoLXNjcm9sbGVkQ29u
dGVudE9mZnNldCgpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KKyAgICBw
YWludFJlY3QubW92ZUJ5KC1zY3JvbGxQb3NpdGlvbigpKTsgLy8gRm9yIG92ZXJmbG93OmF1dG8v
c2Nyb2xsL2hpZGRlbi4KIAogICAgIC8vIERvIG5vdCBjbGlwIHNjcm9sbCBsYXllciBjb250ZW50
cyB0byByZWR1Y2UgdGhlIG51bWJlciBvZiByZXBhaW50cyB3aGlsZSBzY3JvbGxpbmcuCiAgICAg
aWYgKHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpIHsKQEAgLTE0NzYsNyArMTQ3NSw3IEBAIHN0
YXRpYyBib29sIGlzQ2FuZGlkYXRlRm9yT3BhcXVlbmVzc1Rlc3QoY29uc3QgUmVuZGVyQm94JiBj
aGlsZEJveCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKGNoaWxkTGF5
ZXItPmhhc1RyYW5zZm9ybSgpIHx8IGNoaWxkTGF5ZXItPmlzVHJhbnNwYXJlbnQoKSB8fCBjaGls
ZExheWVyLT5oYXNGaWx0ZXIoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
aWYgKCFjaGlsZEJveC5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKS5pc1plcm8oKSkKKyAgICAgICAg
aWYgKCFjaGlsZEJveC5zY3JvbGxQb3NpdGlvbigpLmlzWmVybygpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKQEAgLTIxMDgsNyArMjEwNyw3IEBA
IExheW91dFNpemUgUmVuZGVyQm94OjpvZmZzZXRGcm9tQ29udGFpbmVyKFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyLCBjb25zdCBMYXlvdXRQCiAgICAgICAgIG9mZnNldCArPSB0b3BMZWZ0TG9jYXRp
b25PZmZzZXQoKTsKIAogICAgIGlmIChpczxSZW5kZXJCb3g+KHJlbmRlcmVyKSkKLSAgICAgICAg
b2Zmc2V0IC09IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIpLnNjcm9sbGVkQ29udGVudE9m
ZnNldCgpOworICAgICAgICBvZmZzZXQgLT0gdG9MYXlvdXRTaXplKGRvd25jYXN0PFJlbmRlckJv
eD4ocmVuZGVyZXIpLnNjcm9sbFBvc2l0aW9uKCkpOwogCiAgICAgaWYgKHN0eWxlKCkucG9zaXRp
b24oKSA9PSBBYnNvbHV0ZVBvc2l0aW9uICYmIHJlbmRlcmVyLmlzSW5GbG93UG9zaXRpb25lZCgp
ICYmIGlzPFJlbmRlcklubGluZT4ocmVuZGVyZXIpKQogICAgICAgICBvZmZzZXQgKz0gZG93bmNh
c3Q8UmVuZGVySW5saW5lPihyZW5kZXJlcikub2Zmc2V0Rm9ySW5GbG93UG9zaXRpb25lZElubGlu
ZSh0aGlzKTsKQEAgLTQ5MzgsNyArNDkzNyw3IEBAIExheW91dFJlY3QgUmVuZGVyQm94OjpvdmVy
Zmxvd1JlY3RGb3JQYWludFJlamVjdGlvbihSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogbmFtCiAg
ICAgICAgIHJldHVybiBvdmVyZmxvd1JlY3Q7CiAKICAgICBvdmVyZmxvd1JlY3QudW5pdGUobGF5
b3V0T3ZlcmZsb3dSZWN0KCkpOwotICAgIG92ZXJmbG93UmVjdC5tb3ZlKC1zY3JvbGxlZENvbnRl
bnRPZmZzZXQoKSk7CisgICAgb3ZlcmZsb3dSZWN0Lm1vdmVCeSgtc2Nyb2xsUG9zaXRpb24oKSk7
CiAgICAgcmV0dXJuIG92ZXJmbG93UmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDY1Nzg1NTJjZWVmNGU2YjY2NjIyOTc4MWYzM2EyY2YwNzE4MDdmZTIuLjE2
M2VkMmFjZGE1Y2YzMGNiMWY3Y2JmNWY4MzJhNzFiODFkMWVkODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTU3NCw3ICs1NzQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIG5lZWRzUHJlZmVycmVkV2lkdGhzUmVjYWxjdWxhdGlvbigpIGNvbnN0OwogICAgIHZp
cnR1YWwgdm9pZCBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIC8q
IGludHJpbnNpY1NpemUgKi8sIGRvdWJsZSYgLyogaW50cmluc2ljUmF0aW8gKi8pIGNvbnN0IHsg
fQogCi0gICAgSW50U2l6ZSBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdDsKKyAgICBTY3Jv
bGxQb3NpdGlvbiBzY3JvbGxQb3NpdGlvbigpIGNvbnN0OwogICAgIExheW91dFNpemUgY2FjaGVk
U2l6ZUZvck92ZXJmbG93Q2xpcCgpIGNvbnN0OwogICAgIHZvaWQgYXBwbHlDYWNoZWRDbGlwQW5k
U2Nyb2xsT2Zmc2V0Rm9yUmVwYWludChMYXlvdXRSZWN0JiBwYWludFJlY3QpIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApp
bmRleCBkZmI5NjJjNDQ5NTg2ODk4MjRkZmZlZGMwOTcyNzYxZGI2MWJmNzIxLi45NzBhYTI3NGRm
MTZkMTUyYzg0NGRlMGQwYWE3MDMxZDFhNjRlZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTcyNyw4ICs3MjcsNyBAQCB2
b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllckV4dGVuZGVkKGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjbwogICAgICAgICBjb250ZXh0LmNsaXAodGhpc0JveC5vdmVy
Zmxvd0NsaXBSZWN0KHJlY3QubG9jYXRpb24oKSwgY3VycmVudFJlbmRlck5hbWVkRmxvd0ZyYWdt
ZW50KCkpKTsKICAgICAgICAgCiAgICAgICAgIC8vIEFkanVzdCB0aGUgcGFpbnQgcmVjdCB0byBy
ZWZsZWN0IGEgc2Nyb2xsZWQgY29udGVudCBib3ggd2l0aCBib3JkZXJzIGF0IHRoZSBlbmRzLgot
ICAgICAgICBJbnRTaXplIG9mZnNldCA9IHRoaXNCb3guc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7
Ci0gICAgICAgIHNjcm9sbGVkUGFpbnRSZWN0Lm1vdmUoLW9mZnNldCk7CisgICAgICAgIHNjcm9s
bGVkUGFpbnRSZWN0Lm1vdmVCeSgtdGhpc0JveC5zY3JvbGxQb3NpdGlvbigpKTsKICAgICAgICAg
c2Nyb2xsZWRQYWludFJlY3Quc2V0V2lkdGgoYkxlZnQgKyBsYXllcigpLT5zY3JvbGxXaWR0aCgp
ICsgYlJpZ2h0KTsKICAgICAgICAgc2Nyb2xsZWRQYWludFJlY3Quc2V0SGVpZ2h0KGJvcmRlclRv
cCgpICsgbGF5ZXIoKS0+c2Nyb2xsSGVpZ2h0KCkgKyBib3JkZXJCb3R0b20oKSk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCAyNzcyYmM5NWE1
Njc2NmY3YTcxYTM5YjY2MTViZDZhNWU5MDUyMWY2Li41MGFhZWMxMWYyNDkxZjcwZmE0NjAyYzEy
ZTI5ZmMwMzZkNTYxNDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5l
LmNwcApAQCAtMTMxOCw3ICsxMzE4LDcgQEAgTGF5b3V0U2l6ZSBSZW5kZXJJbmxpbmU6Om9mZnNl
dEZyb21Db250YWluZXIoUmVuZGVyRWxlbWVudCYgY29udGFpbmVyLCBjb25zdCBMYXkKICAgICAg
ICAgb2Zmc2V0ICs9IG9mZnNldEZvckluRmxvd1Bvc2l0aW9uKCk7CiAKICAgICBpZiAoaXM8UmVu
ZGVyQm94Pihjb250YWluZXIpKQotICAgICAgICBvZmZzZXQgLT0gZG93bmNhc3Q8UmVuZGVyQm94
Pihjb250YWluZXIpLnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICBvZmZzZXQgLT0g
dG9MYXlvdXRTaXplKGRvd25jYXN0PFJlbmRlckJveD4oY29udGFpbmVyKS5zY3JvbGxQb3NpdGlv
bigpKTsKIAogICAgIGlmIChvZmZzZXREZXBlbmRzT25Qb2ludCkKICAgICAgICAgKm9mZnNldERl
cGVuZHNPblBvaW50ID0gKGlzPFJlbmRlckJveD4oY29udGFpbmVyKSAmJiBjb250YWluZXIuc3R5
bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKSB8fCBpczxSZW5kZXJGbG93VGhyZWFk
Pihjb250YWluZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggNWE2ZDRjNGY5ZWJmMzI5NzhjMDg5YzI0M2JlMDNlMjA0ZDZlOTNmZC4uN2MyNjJiZTUyZjM4
YTdmZDExNTBmMzQyNzVkM2EzNGUwODY5YWFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC0xMzQ2LDIwICsxMzQ2LDE2IEBAIGJvb2wgUmVuZGVyTGF5ZXI6
OnVwZGF0ZUxheWVyUG9zaXRpb24oKQogICAgIFJlbmRlckxheWVyKiBwb3NpdGlvbmVkUGFyZW50
OwogICAgIGlmIChyZW5kZXJlcigpLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIChwb3NpdGlv
bmVkUGFyZW50ID0gZW5jbG9zaW5nQW5jZXN0b3JGb3JQb3NpdGlvbihyZW5kZXJlcigpLnN0eWxl
KCkucG9zaXRpb24oKSkpKSB7CiAgICAgICAgIC8vIEZvciBwb3NpdGlvbmVkIGxheWVycywgd2Ug
c3VidHJhY3Qgb3V0IHRoZSBlbmNsb3NpbmcgcG9zaXRpb25lZCBsYXllcidzIHNjcm9sbCBvZmZz
ZXQuCi0gICAgICAgIGlmIChwb3NpdGlvbmVkUGFyZW50LT5yZW5kZXJlcigpLmhhc092ZXJmbG93
Q2xpcCgpKSB7Ci0gICAgICAgICAgICBMYXlvdXRTaXplIG9mZnNldCA9IHBvc2l0aW9uZWRQYXJl
bnQtPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOwotICAgICAgICAgICAgbG9jYWxQb2ludCAtPSBv
ZmZzZXQ7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHBvc2l0aW9uZWRQYXJlbnQtPnJlbmRlcmVy
KCkuaGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgICAgICAgICBsb2NhbFBvaW50IC09IHRvTGF5b3V0
U2l6ZShwb3NpdGlvbmVkUGFyZW50LT5zY3JvbGxQb3NpdGlvbigpKTsKICAgICAgICAgCiAgICAg
ICAgIGlmIChyZW5kZXJlcigpLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIHBvc2l0aW9uZWRQ
YXJlbnQtPnJlbmRlcmVyKCkuaXNJbkZsb3dQb3NpdGlvbmVkKCkgJiYgaXM8UmVuZGVySW5saW5l
Pihwb3NpdGlvbmVkUGFyZW50LT5yZW5kZXJlcigpKSkgewogICAgICAgICAgICAgTGF5b3V0U2l6
ZSBvZmZzZXQgPSBkb3duY2FzdDxSZW5kZXJJbmxpbmU+KHBvc2l0aW9uZWRQYXJlbnQtPnJlbmRl
cmVyKCkpLm9mZnNldEZvckluRmxvd1Bvc2l0aW9uZWRJbmxpbmUoJmRvd25jYXN0PFJlbmRlckJv
eD4ocmVuZGVyZXIoKSkpOwogICAgICAgICAgICAgbG9jYWxQb2ludCArPSBvZmZzZXQ7CiAgICAg
ICAgIH0KICAgICB9IGVsc2UgaWYgKHBhcmVudCgpKSB7Ci0gICAgICAgIGlmIChwYXJlbnQoKS0+
cmVuZGVyZXIoKS5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICAgICAgSW50U2l6ZSBzY3Jv
bGxPZmZzZXQgPSBwYXJlbnQoKS0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7Ci0gICAgICAgICAg
ICBsb2NhbFBvaW50IC09IHNjcm9sbE9mZnNldDsKLSAgICAgICAgfQorICAgICAgICBpZiAocGFy
ZW50KCktPnJlbmRlcmVyKCkuaGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgICAgICAgICBsb2NhbFBv
aW50IC09IHRvTGF5b3V0U2l6ZShwYXJlbnQoKS0+c2Nyb2xsUG9zaXRpb24oKSk7CiAgICAgfQog
ICAgIAogICAgIGJvb2wgcG9zaXRpb25Pck9mZnNldENoYW5nZWQgPSBmYWxzZTsKQEAgLTU0NDQs
NyArNTQ0MCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6Om1hcExheWVyQ2xpcFJlY3RzVG9GcmFnbWVu
dGF0aW9uTGF5ZXIoQ2xpcFJlY3RzJiBjbGlwUmVjdHMpIGNvCiAKICAgICBMYXlvdXRQb2ludCBw
b3J0aW9uTG9jYXRpb24gPSBmbG93VGhyZWFkUG9ydGlvblJlY3QubG9jYXRpb24oKTsKICAgICBM
YXlvdXRSZWN0IHJlZ2lvbkNvbnRlbnRCb3ggPSBuYW1lZEZsb3dGcmFnbWVudC0+ZnJhZ21lbnRD
b250YWluZXIoKS5jb250ZW50Qm94UmVjdCgpOwotICAgIExheW91dFNpemUgbW92ZU9mZnNldCA9
IHBvcnRpb25Mb2NhdGlvbiAtIHJlZ2lvbkNvbnRlbnRCb3gubG9jYXRpb24oKSArIG5hbWVkRmxv
d0ZyYWdtZW50LT5mcmFnbWVudENvbnRhaW5lcigpLnNjcm9sbGVkQ29udGVudE9mZnNldCgpOwor
ICAgIExheW91dFNpemUgbW92ZU9mZnNldCA9IHBvcnRpb25Mb2NhdGlvbiAtIHJlZ2lvbkNvbnRl
bnRCb3gubG9jYXRpb24oKSArIHRvTGF5b3V0U2l6ZShuYW1lZEZsb3dGcmFnbWVudC0+ZnJhZ21l
bnRDb250YWluZXIoKS5zY3JvbGxQb3NpdGlvbigpKTsKIAogICAgIENsaXBSZWN0IG5ld092ZXJm
bG93Q2xpcFJlY3QgPSBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpOwogICAgIG5ld092ZXJm
bG93Q2xpcFJlY3QubW92ZShtb3ZlT2Zmc2V0KTsKQEAgLTU3NjIsNyArNTc1OCw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnJlcGFpbnRCbG9ja1NlbGVjdGlvbkdhcHMoKQogICAgICAgICByZXR1cm47
CiAKICAgICBMYXlvdXRSZWN0IHJlY3QgPSBtX2Jsb2NrU2VsZWN0aW9uR2Fwc0JvdW5kczsKLSAg
ICByZWN0Lm1vdmUoLXNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsKKyAgICByZWN0Lm1vdmVCeSgt
c2Nyb2xsUG9zaXRpb24oKSk7CiAgICAgaWYgKHJlbmRlcmVyKCkuaGFzT3ZlcmZsb3dDbGlwKCkg
JiYgIXVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCiAgICAgICAgIHJlY3QuaW50ZXJzZWN0KGRv
d25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dDbGlwUmVjdChMYXlvdXRQb2lu
dCgpLCBudWxscHRyKSk7IC8vIEZJWE1FOiBSZWdpb25zIG5vdCBhY2NvdW50ZWQgZm9yLgogICAg
IGlmIChyZW5kZXJlcigpLmhhc0NsaXAoKSkKQEAgLTY5NTgsNyArNjk1NCw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnBhaW50TmFtZWRGbG93VGhyZWFkSW5zaWRlUmVnaW9uKEdyYXBoaWNzQ29udGV4
dCYgY29udGV4dCwgUmVuCiAgICAgQ3VycmVudFJlbmRlclJlZ2lvbk1haW50YWluZXIgcmVnaW9u
TWFpbnRhaW5lcigqcmVnaW9uKTsKICAgICByZWdpb24tPnNldFJlZ2lvbk9iamVjdHNSZWdpb25T
dHlsZSgpOwogCi0gICAgTGF5b3V0U2l6ZSBtb3ZlT2Zmc2V0ID0gcmVnaW9uLT5mbG93VGhyZWFk
UG9ydGlvbkxvY2F0aW9uKCkgLSAocGFpbnRPZmZzZXQgKyByZWdpb25Db250ZW50Qm94LmxvY2F0
aW9uKCkpICsgcmVnaW9uLT5mcmFnbWVudENvbnRhaW5lcigpLnNjcm9sbGVkQ29udGVudE9mZnNl
dCgpOworICAgIExheW91dFNpemUgbW92ZU9mZnNldCA9IHJlZ2lvbi0+Zmxvd1RocmVhZFBvcnRp
b25Mb2NhdGlvbigpIC0gKHBhaW50T2Zmc2V0ICsgcmVnaW9uQ29udGVudEJveC5sb2NhdGlvbigp
KSArIHRvTGF5b3V0U2l6ZShyZWdpb24tPmZyYWdtZW50Q29udGFpbmVyKCkuc2Nyb2xsUG9zaXRp
b24oKSk7CiAgICAgRmxvYXRQb2ludCBhZGp1c3RlZFBhaW50T2Zmc2V0ID0gcm91bmRQb2ludFRv
RGV2aWNlUGl4ZWxzKHRvTGF5b3V0UG9pbnQobW92ZU9mZnNldCksIHJlbmRlcmVyKCkuZG9jdW1l
bnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKICAgICBjb250ZXh0LnNhdmUoKTsKICAgICBjb250
ZXh0LnRyYW5zbGF0ZSgtYWRqdXN0ZWRQYWludE9mZnNldC54KCksIC1hZGp1c3RlZFBhaW50T2Zm
c2V0LnkoKSk7CkBAIC03MDQ2LDcgKzcwNDIsNyBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6
OmhpdFRlc3RGbG93VGhyZWFkSWZSZWdpb25Gb3JGcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbQog
ICAgICAgICBpZiAoIWZyYWdtZW50LmJhY2tncm91bmRSZWN0LmludGVyc2VjdHMoaGl0VGVzdExv
Y2F0aW9uKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIExheW91dFNpemUgaGl0
VGVzdE9mZnNldCA9IHBvcnRpb25Mb2NhdGlvbiAtIChmcmFnbWVudC5sYXllckJvdW5kcy5sb2Nh
dGlvbigpICsgcmVnaW9uQ29udGVudEJveC5sb2NhdGlvbigpKSArIHJlZ2lvbi5mcmFnbWVudENv
bnRhaW5lcigpLnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICBMYXlvdXRTaXplIGhp
dFRlc3RPZmZzZXQgPSBwb3J0aW9uTG9jYXRpb24gLSAoZnJhZ21lbnQubGF5ZXJCb3VuZHMubG9j
YXRpb24oKSArIHJlZ2lvbkNvbnRlbnRCb3gubG9jYXRpb24oKSkgKyB0b0xheW91dFNpemUocmVn
aW9uLmZyYWdtZW50Q29udGFpbmVyKCkuc2Nyb2xsUG9zaXRpb24oKSk7CiAKICAgICAgICAgLy8g
QWx3YXlzIGlnbm9yZSBjbGlwcGluZywgc2luY2UgdGhlIFJlbmRlckZsb3dUaHJlYWQgaGFzIG5v
dGhpbmcgdG8gZG8gd2l0aCB0aGUgYm91bmRzIG9mIHRoZSBGcmFtZVZpZXcuCiAgICAgICAgIEhp
dFRlc3RSZXF1ZXN0IG5ld1JlcXVlc3QocmVxdWVzdC50eXBlKCkgfCBIaXRUZXN0UmVxdWVzdDo6
SWdub3JlQ2xpcHBpbmcgfCBIaXRUZXN0UmVxdWVzdDo6RGlzYWxsb3dVc2VyQWdlbnRTaGFkb3dD
b250ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZWY4ZWNm
ZmJhZWZiZTRhNWVmOWI1NWQ5ZjZhZDFmNzIzOGRkMDMxNC4uYTE5NTEzZjI5NTRiNDQ2MWQ2NWNm
MTU1MzY4YzFmZmJkYmE2YTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKQEAgLTc1OCwxMCArNzU4LDYgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIHVuc2lnbmVkIFVw
ZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJTY3JvbGxGbGFnczsKICAgICB2b2lkIHVwZGF0ZUxheWVy
UG9zaXRpb25zQWZ0ZXJTY3JvbGwoUmVuZGVyR2VvbWV0cnlNYXAqLCBVcGRhdGVMYXllclBvc2l0
aW9uc0FmdGVyU2Nyb2xsRmxhZ3MgPSBOb0ZsYWcpOwogCi0gICAgZnJpZW5kIEludFNpemUgUmVu
ZGVyQm94OjpzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdDsKLSAgICAvLyBGSVhNRTogcmVu
YW1lIHRoaXMgdG9zY3JvbGxlZENvbnRlbnRQb3NpdGlvbigpLCBvciByZW1vdmUgaXQuCi0gICAg
SW50U2l6ZSBzY3JvbGxlZENvbnRlbnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiB0b0ludFNpemUo
bV9zY3JvbGxQb3NpdGlvbik7IH0KLQogICAgIFNjcm9sbE9mZnNldCBjbGFtcFNjcm9sbE9mZnNl
dChjb25zdCBTY3JvbGxPZmZzZXQmKSBjb25zdDsKIAogICAgIFJlbmRlckxheWVyKiBlbmNsb3Np
bmdQYWdpbmF0aW9uTGF5ZXJJblN1YnRyZWUoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwg
UGFnaW5hdGlvbkluY2x1c2lvbk1vZGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBlMWE0NzhiMTIwMmJkOTZkOWJiNTgw
YWU2NmI2ZTcwMDQ2ZDhkZjMzLi41MjA3MjhkNmQ2MTQyYjI0YWViYTJhNjU2MDA3NWIwYzY5MTQ3
N2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcApAQCAtODIyLDkgKzgyMiw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVH
ZW9tZXRyeSgpCiAjZWxzZQogICAgIGlmIChjb21wQW5jZXN0b3IgJiYgY29tcEFuY2VzdG9yLT5u
ZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkgewogICAgICAgICBhdXRvJiByZW5kZXJCb3ggPSBk
b3duY2FzdDxSZW5kZXJCb3g+KGNvbXBBbmNlc3Rvci0+cmVuZGVyZXIoKSk7Ci0gICAgICAgIExh
eW91dFNpemUgc2Nyb2xsT2Zmc2V0ID0gY29tcEFuY2VzdG9yLT5zY3JvbGxlZENvbnRlbnRPZmZz
ZXQoKTsKICAgICAgICAgTGF5b3V0UG9pbnQgc2Nyb2xsT3JpZ2luKHJlbmRlckJveC5ib3JkZXJM
ZWZ0KCksIHJlbmRlckJveC5ib3JkZXJUb3AoKSk7Ci0gICAgICAgIGdyYXBoaWNzTGF5ZXJQYXJl
bnRMb2NhdGlvbiA9IHNjcm9sbE9yaWdpbiAtIHNjcm9sbE9mZnNldDsKKyAgICAgICAgZ3JhcGhp
Y3NMYXllclBhcmVudExvY2F0aW9uID0gc2Nyb2xsT3JpZ2luIC0gdG9MYXlvdXRTaXplKGNvbXBB
bmNlc3Rvci0+c2Nyb2xsT2Zmc2V0KCkpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuY3Bw
CmluZGV4IDBkYzVhZjQ2ZGI3YjFjOGMwNzY5OTdlMWMzZGIzNGZkOTZmYmY1MmEuLmFhNTRiOTU0
NGJjNTMyMWJmOGI0MmI1ZTllMzg2ODI4MWM5ZDI5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuY3BwCkBAIC02
MTAsNyArNjEwLDcgQEAgTGF5b3V0U2l6ZSBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQ6Om9m
ZnNldEZyb21Db250YWluZXIoUmVuZGVyRWxlbWVudCYgZW5jbG8KICAgICAKICAgICBMYXlvdXRT
aXplIG9mZnNldCh0cmFuc2xhdGVkUGh5c2ljYWxQb2ludC54KCksIHRyYW5zbGF0ZWRQaHlzaWNh
bFBvaW50LnkoKSk7CiAgICAgaWYgKGlzPFJlbmRlckJveD4oZW5jbG9zaW5nQ29udGFpbmVyKSkK
LSAgICAgICAgb2Zmc2V0IC09IGRvd25jYXN0PFJlbmRlckJveD4oZW5jbG9zaW5nQ29udGFpbmVy
KS5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKKyAgICAgICAgb2Zmc2V0IC09IHRvTGF5b3V0U2l6
ZShkb3duY2FzdDxSZW5kZXJCb3g+KGVuY2xvc2luZ0NvbnRhaW5lcikuc2Nyb2xsUG9zaXRpb24o
KSk7CiAgICAgcmV0dXJuIG9mZnNldDsKIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggN2ZiMDMzODI3NzYxY2Yx
ZGZmMGVmZTQyMjdhOTRlMzlhMWQ5NmI2MS4uYzJiZTEwMGZmNTBkYzNlNWU3MzFhNTdmMGY1MjM3
OGZkNDkwYmQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHAKQEAgLTI5NiwyNiArMjk2LDI2IEBAIExheW91dFJlY3QgUmVuZGVy
TmFtZWRGbG93VGhyZWFkOjpkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1lZEZsb3dGcmFn
bWVudChjCiAgICAgZmxpcEZvcldyaXRpbmdNb2RlTG9jYWxDb29yZGluYXRlcyh2aXN1YWxPdmVy
Zmxvd1JlY3QpOwogCiAgICAgLy8gVGFrZSB0aGUgc2Nyb2xsZWQgb2Zmc2V0IG9mIHRoaXMgb2Jq
ZWN0J3MgcGFyZW50cyBpbnRvIGNvbnNpZGVyYXRpb24uCi0gICAgSW50U2l6ZSBzY3JvbGxlZENv
bnRlbnRPZmZzZXQ7CisgICAgU2Nyb2xsUG9zaXRpb24gc2Nyb2xsUG9zaXRpb247CiAgICAgUmVu
ZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IGJveC5jb250YWluaW5nQmxvY2soKTsKICAgICB3
aGlsZSAoY29udGFpbmluZ0Jsb2NrICYmICFpczxSZW5kZXJWaWV3PigqY29udGFpbmluZ0Jsb2Nr
KSkgewogICAgICAgICBpZiAoY29udGFpbmluZ0Jsb2NrLT5pc1JlbmRlck5hbWVkRmxvd1RocmVh
ZCgpKSB7CiAgICAgICAgICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBmbG93IHRocmVhZCwgdGFr
ZSB0aGUgc2Nyb2xsZWQgb2Zmc2V0IG9mIHRoZSByZWdpb24gaW50byBjb25zaWRlcmF0aW9uLgog
ICAgICAgICAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayA9PSB0aGlzKTsKLSAgICAgICAgICAg
IHNjcm9sbGVkQ29udGVudE9mZnNldCArPSBmcmFnbWVudC5mcmFnbWVudENvbnRhaW5lcigpLnNj
cm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb24gKz0gdG9J
bnRTaXplKGZyYWdtZW50LmZyYWdtZW50Q29udGFpbmVyKCkuc2Nyb2xsUG9zaXRpb24oKSk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgc2Nyb2xsZWRD
b250ZW50T2Zmc2V0ICs9IGNvbnRhaW5pbmdCbG9jay0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7
CisgICAgICAgIHNjcm9sbFBvc2l0aW9uICs9IHRvSW50U2l6ZShjb250YWluaW5nQmxvY2stPnNj
cm9sbFBvc2l0aW9uKCkpOwogICAgICAgICBjb250YWluaW5nQmxvY2sgPSBjb250YWluaW5nQmxv
Y2stPmNvbnRhaW5pbmdCbG9jaygpOwogICAgIH0KIAotICAgIGlmICghc2Nyb2xsZWRDb250ZW50
T2Zmc2V0LmlzWmVybygpKSB7CisgICAgaWYgKCFzY3JvbGxQb3NpdGlvbi5pc1plcm8oKSkgewog
ICAgICAgICBpZiAoc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQotICAgICAg
ICAgICAgc2Nyb2xsZWRDb250ZW50T2Zmc2V0ID0gLXNjcm9sbGVkQ29udGVudE9mZnNldDsKKyAg
ICAgICAgICAgIHNjcm9sbFBvc2l0aW9uID0gLXNjcm9sbFBvc2l0aW9uOwogICAgICAgICAKLSAg
ICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LmluZmxhdGVYKHNjcm9sbGVkQ29udGVudE9mZnNldC53
aWR0aCgpKTsKLSAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LmluZmxhdGVZKHNjcm9sbGVkQ29u
dGVudE9mZnNldC5oZWlnaHQoKSk7CisgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5pbmZsYXRl
WChzY3JvbGxQb3NpdGlvbi54KCkpOworICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3QuaW5mbGF0
ZVkoc2Nyb2xsUG9zaXRpb24ueSgpKTsKICAgICB9CiAgICAgCiAgICAgLy8gTGF5ZXJzIGFyZSBp
biBwaHlzaWNhbCBjb29yZGluYXRlcyBzbyB0aGUgb3JpZ2luIG11c3QgYmUgbW92ZWQgdG8gdGhl
IHBoeXNpY2FsIHRvcC1sZWZ0IG9mIHRoZSBmbG93dGhyZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAxYTZhMWQ0NTY4OTRkMTg3YWNmNzJhMTY1Y2Zk
YmNhMWM1OWQ2OTdiLi5mOTlmZTg5NTM4ZWYyMzU1MzMwOWRmMzgyYTNjNGI5YjI3MDgxODI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTI0OCw3ICsx
MjQ4LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnQKICAgICB9CiAKICAgICBpZiAoaXM8UmVu
ZGVyQm94PigqcGFyZW50KSkKLSAgICAgICAgdHJhbnNmb3JtU3RhdGUubW92ZSgtZG93bmNhc3Q8
UmVuZGVyQm94PigqcGFyZW50KS5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKSk7CisgICAgICAgIHRy
YW5zZm9ybVN0YXRlLm1vdmUoLXRvTGF5b3V0U2l6ZShkb3duY2FzdDxSZW5kZXJCb3g+KCpwYXJl
bnQpLnNjcm9sbFBvc2l0aW9uKCkpKTsKIAogICAgIHBhcmVudC0+bWFwTG9jYWxUb0NvbnRhaW5l
cihyZXBhaW50Q29udGFpbmVyLCB0cmFuc2Zvcm1TdGF0ZSwgbW9kZSwgd2FzRml4ZWQpOwogfQpA
QCAtMTI2NCw3ICsxMjY0LDcgQEAgY29uc3QgUmVuZGVyT2JqZWN0KiBSZW5kZXJPYmplY3Q6OnB1
c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE8KICAgICAvLyBGSVhN
RTogdGhpcyBzaG91bGQgY2FsbCBvZmZzZXRGcm9tQ29udGFpbmVyIHRvIHNoYXJlIGNvZGUsIGJ1
dCBJJ20gbm90IHN1cmUgaXQncyBldmVyIGNhbGxlZC4KICAgICBMYXlvdXRTaXplIG9mZnNldDsK
ICAgICBpZiAoaXM8UmVuZGVyQm94PigqY29udGFpbmVyKSkKLSAgICAgICAgb2Zmc2V0ID0gLWRv
d25jYXN0PFJlbmRlckJveD4oKmNvbnRhaW5lcikuc2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7Cisg
ICAgICAgIG9mZnNldCA9IC10b0xheW91dFNpemUoZG93bmNhc3Q8UmVuZGVyQm94PigqY29udGFp
bmVyKS5zY3JvbGxQb3NpdGlvbigpKTsKIAogICAgIGdlb21ldHJ5TWFwLnB1c2godGhpcywgb2Zm
c2V0LCBmYWxzZSk7CiAgICAgCkBAIC0xMjc2LDcgKzEyNzYsNyBAQCB2b2lkIFJlbmRlck9iamVj
dDo6bWFwQWJzb2x1dGVUb0xvY2FsUG9pbnQoTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlLCBUcmFu
c2Zvcm1TdAogICAgIGlmIChhdXRvKiBwYXJlbnQgPSB0aGlzLT5wYXJlbnQoKSkgewogICAgICAg
ICBwYXJlbnQtPm1hcEFic29sdXRlVG9Mb2NhbFBvaW50KG1vZGUsIHRyYW5zZm9ybVN0YXRlKTsK
ICAgICAgICAgaWYgKGlzPFJlbmRlckJveD4oKnBhcmVudCkpCi0gICAgICAgICAgICB0cmFuc2Zv
cm1TdGF0ZS5tb3ZlKGRvd25jYXN0PFJlbmRlckJveD4oKnBhcmVudCkuc2Nyb2xsZWRDb250ZW50
T2Zmc2V0KCkpOworICAgICAgICAgICAgdHJhbnNmb3JtU3RhdGUubW92ZSh0b0xheW91dFNpemUo
ZG93bmNhc3Q8UmVuZGVyQm94PigqcGFyZW50KS5zY3JvbGxQb3NpdGlvbigpKSk7CiAgICAgfQog
fQogCkBAIC0xMzQyLDcgKzEzNDIsNyBAQCBMYXlvdXRTaXplIFJlbmRlck9iamVjdDo6b2Zmc2V0
RnJvbUNvbnRhaW5lcihSZW5kZXJFbGVtZW50JiBjb250YWluZXIsIGNvbnN0IExheQogCiAgICAg
TGF5b3V0U2l6ZSBvZmZzZXQ7CiAgICAgaWYgKGlzPFJlbmRlckJveD4oY29udGFpbmVyKSkKLSAg
ICAgICAgb2Zmc2V0IC09IGRvd25jYXN0PFJlbmRlckJveD4oY29udGFpbmVyKS5zY3JvbGxlZENv
bnRlbnRPZmZzZXQoKTsKKyAgICAgICAgb2Zmc2V0IC09IHRvTGF5b3V0U2l6ZShkb3duY2FzdDxS
ZW5kZXJCb3g+KGNvbnRhaW5lcikuc2Nyb2xsUG9zaXRpb24oKSk7CiAKICAgICBpZiAob2Zmc2V0
RGVwZW5kc09uUG9pbnQpCiAgICAgICAgICpvZmZzZXREZXBlbmRzT25Qb2ludCA9IGlzPFJlbmRl
ckZsb3dUaHJlYWQ+KGNvbnRhaW5lcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sLmNwcAppbmRleCAzMjFlNTBkZGRkZTc3ZTNjZjhlMzcyMmY2Njc4MzEw
ZGQ3ZjMwYWQ2Li4yMzI1ZGQ5ZGMzOTVmNWVhZTcyYTJmNWU5M2IwMDAzMzFiODBhZTc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAgLTEx
OSw3ICsxMTksNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpoaXRJbm5lclRleHRFbGVtZW50
KEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgTGF5b3V0UAogICAgICAgICByZXR1cm47CiAK
ICAgICBMYXlvdXRQb2ludCBhZGp1c3RlZExvY2F0aW9uID0gYWNjdW11bGF0ZWRPZmZzZXQgKyBs
b2NhdGlvbigpOwotICAgIExheW91dFBvaW50IGxvY2FsUG9pbnQgPSBwb2ludEluQ29udGFpbmVy
IC0gdG9MYXlvdXRTaXplKGFkanVzdGVkTG9jYXRpb24gKyBpbm5lclRleHQtPnJlbmRlckJveCgp
LT5sb2NhdGlvbigpKSArIHNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgIExheW91dFBvaW50
IGxvY2FsUG9pbnQgPSBwb2ludEluQ29udGFpbmVyIC0gdG9MYXlvdXRTaXplKGFkanVzdGVkTG9j
YXRpb24gKyBpbm5lclRleHQtPnJlbmRlckJveCgpLT5sb2NhdGlvbigpKSArIHRvTGF5b3V0U2l6
ZShzY3JvbGxQb3NpdGlvbigpKTsKICAgICByZXN1bHQuc2V0SW5uZXJOb2RlKGlubmVyVGV4dCk7
CiAgICAgcmVzdWx0LnNldElubmVyTm9uU2hhcmVkTm9kZShpbm5lclRleHQpOwogICAgIHJlc3Vs
dC5zZXRMb2NhbFBvaW50KGxvY2FsUG9pbnQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>