<?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>226671</bug_id>
          
          <creation_ts>2021-06-04 18:34:56 -0700</creation_ts>
          <short_desc>FileSystem::readFromFile() should return data as `void*`</short_desc>
          <delta_ts>2021-06-04 21:48:16 -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>Web Template Framework</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767026</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-04 18:34:56 -0700</bug_when>
    <thetext>FileSystem::readFromFile() should return data as `void*` instead of `char*`. This is more flexible and consistent with FileSystem::writeToFile().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767028</commentid>
    <comment_count>1</comment_count>
      <attachid>430638</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-04 18:48:00 -0700</bug_when>
    <thetext>Created attachment 430638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767101</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-04 21:47:30 -0700</bug_when>
    <thetext>Committed r278521 (238520@main): &lt;https://commits.webkit.org/238520@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430638.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767102</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-04 21:48:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/78898641&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430638</attachid>
            <date>2021-06-04 18:48:00 -0700</date>
            <delta_ts>2021-06-04 21:47:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226671-20210604184800.patch</filename>
            <type>text/plain</type>
            <size>24413</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NjE3NWVkMWQ0N2VjNWNlYjkyMjhhODFmMWZlMmI5ODE5NzNkZjRhLi4wNTA1NDViY2YwM2Q4NmEz
ZTBmOWFjZDIxYmQ5MTQ1YTEwOGQ2Nzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMS0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZSgpIHNob3VsZCByZXR1cm4gZGF0YSBh
cyBgdm9pZCpgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjY2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaWxlU3lzdGVtOjpyZWFkRnJvbUZpbGUoKSBzaG91bGQgcmV0dXJuIGRhdGEgYXMgYHZvaWQq
YCBpbnN0ZWFkIG9mIGBjaGFyKmAuIFRoaXMgaXMgbW9yZSBmbGV4aWJsZSBhbmQKKyAgICAgICAg
Y29uc2lzdGVudCB3aXRoIEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKCkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuY3BwOgorICAgICAg
ICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OmJhY2tlbmRDb21tYW5kcyBjb25zdCk6CisK
IDIwMjEtMDYtMDQgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IG1hcmsgcmVjZW50bHkgYWRkZWQgcHJvdG9jb2wgY29tbWFuZHMvZXZl
bnRzIGFzIHBhZ2Utb25seQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwppbmRleCBmNDlkMTg0ODZiMDI4NTNhMTk0ZGY2MmE5OWQ0NDMzYTQ4
YmY1ZTJlLi42N2RlOTIwOTQyMThkYjMzOGJiNjZhOWM5ZmUwMjcyODMxZTUxOGVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKCkgc2hvdWxkIHJldHVybiBkYXRh
IGFzIGB2b2lkKmAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNjY3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZSgpIHNob3VsZCByZXR1cm4gZGF0YSBhcyBgdm9p
ZCpgIGluc3RlYWQgb2YgYGNoYXIqYC4gVGhpcyBpcyBtb3JlIGZsZXhpYmxlIGFuZAorICAgICAg
ICBjb25zaXN0ZW50IHdpdGggRmlsZVN5c3RlbTo6d3JpdGVUb0ZpbGUoKS4KKworICAgICAgICAq
IHd0Zi9GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUltcGw6OmFwcGVu
ZEZpbGVDb250ZW50c1RvRmlsZUhhbmRsZSk6CisgICAgICAgIChXVEY6OkZpbGVTeXN0ZW1JbXBs
OjpyZWFkT3JNYWtlU2FsdCk6CisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAg
KiB3dGYvZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHA6CisgICAgICAgIChXVEY6OkZpbGVTeXN0ZW1J
bXBsOjpyZWFkRnJvbUZpbGUpOgorICAgICAgICAqIHd0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVgu
Y3BwOgorICAgICAgICAoV1RGOjpGaWxlU3lzdGVtSW1wbDo6cmVhZEZyb21GaWxlKToKKyAgICAg
ICAgKiB3dGYvd2luL0ZpbGVTeXN0ZW1XaW4uY3BwOgorICAgICAgICAoV1RGOjpGaWxlU3lzdGVt
SW1wbDo6cmVhZEZyb21GaWxlKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDIyZTFiYWRlNDBlNDRiNTkyZmQ4M2M2NGViMDE1YmYxZWM5ZGE1NGQuLjBlYWMwMTFmM2E5
NTI5OWJhNDI5MjM3YjQ4Mzg3OWI2YWQ2M2Y3MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBA
QAorMjAyMS0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZSgpIHNob3VsZCByZXR1cm4gZGF0YSBhcyBgdm9pZCpg
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NzEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaWxlU3lz
dGVtOjpyZWFkRnJvbUZpbGUoKSBzaG91bGQgcmV0dXJuIGRhdGEgYXMgYHZvaWQqYCBpbnN0ZWFk
IG9mIGBjaGFyKmAuIFRoaXMgaXMgbW9yZSBmbGV4aWJsZSBhbmQKKyAgICAgICAgY29uc2lzdGVu
dCB3aXRoIEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9G
aWxlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVIYW5kbGU6OnJlYWQpOgorICAg
ICAgICAqIHBsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN0
cmVhbTo6cmVhZCk6CisgICAgICAgICogcGxhdGZvcm0vRmlsZVN0cmVhbS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJsb2JSZXNvdXJjZUhhbmRsZTo6cmVhZFN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6Qmxv
YlJlc291cmNlSGFuZGxlOjpyZWFkRGF0YVN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJl
c291cmNlSGFuZGxlOjpyZWFkRmlsZVN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291
cmNlSGFuZGxlOjpub3RpZnlSZWNlaXZlRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9CbG9iUmVzb3VyY2VIYW5kbGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Q3VybENhY2hlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlRW50cnk6OnJl
YWRDYWNoZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZUVudHJ5Ojpsb2FkUmVz
cG9uc2VIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZUVudHJ5Ojpsb2FkRmls
ZVRvQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50
cnkuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZmlsbEJ1ZmZlcldpdGhDb250ZW50c09mRmlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVdpbjo6c3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlKToKKwogMjAyMS0wNi0w
NCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBWZWN0b3I8
dWludDhfdD4gaW5zdGVhZCBvZiBWZWN0b3I8Y2hhcj4gdG8gc3RvcmUgYnl0ZXMgaW4gU2hhcmVk
QnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGVjNWU3YzU3OGRmMjljMjkwMDRlMDk2YWM2MjdiM2QzNmNlZjk0
MjEuLmQ1MWI4ZDYzMmJlZjIzZTViN2I0YjBlY2EwM2E4NmIzZDI3MWZhNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjEtMDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBGaWxlU3lzdGVtOjpyZWFkRnJvbUZpbGUoKSBzaG91bGQgcmV0dXJuIGRh
dGEgYXMgYHZvaWQqYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2NjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKCkgc2hvdWxkIHJldHVybiBkYXRhIGFzIGB2
b2lkKmAgaW5zdGVhZCBvZiBgY2hhcipgLiBUaGlzIGlzIG1vcmUgZmxleGlibGUgYW5kCisgICAg
ICAgIGNvbnNpc3RlbnQgd2l0aCBGaWxlU3lzdGVtOjp3cml0ZVRvRmlsZSgpLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlSU9DaGFubmVsQ3VybC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6SU9DaGFubmVsOjpyZWFkKToKKyAgICAgICAg
KiBTaGFyZWQvUGVyc2lzdGVuY3lVdGlscy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZUZv
ckZpbGUpOgorCiAyMDIxLTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXNlIFZlY3Rvcjx1aW50OF90PiBpbnN0ZWFkIG9mIFZlY3RvcjxjaGFyPiB0byBz
dG9yZSBieXRlcyBpbiBTaGFyZWRCdWZmZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvclNvY2tldC5jcHAKaW5kZXggZDg1ZjBjYmZhMDlkMGJkMDMxOTcwNzAzYTJlYzk3M2YzM2Jl
ZmQ1Ny4uNWIxZThhZDM0YmFmY2FhZjI5YzkyNTUwYjZiYjE0ZDlmNmQ5Njc5MyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUlu
c3BlY3RvclNvY2tldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5jcHAKQEAgLTI3MCw3ICsyNzAsNyBA
QCBTdHJpbmcgUmVtb3RlSW5zcGVjdG9yOjpiYWNrZW5kQ29tbWFuZHMoKSBjb25zdAogICAgIFN0
cmluZyByZXN1bHQ7CiAgICAgaWYgKGF1dG8gc2l6ZSA9IEZpbGVTeXN0ZW06OmZpbGVTaXplKGhh
bmRsZSkpIHsKICAgICAgICAgVmVjdG9yPExDaGFyPiBidWZmZXIoKnNpemUpOwotICAgICAgICBp
ZiAoRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGhhbmRsZSwgcmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oYnVmZmVyLmRhdGEoKSksICpzaXplKSA9PSAqc2l6ZSkKKyAgICAgICAgaWYgKEZpbGVTeXN0
ZW06OnJlYWRGcm9tRmlsZShoYW5kbGUsIGJ1ZmZlci5kYXRhKCksICpzaXplKSA9PSAqc2l6ZSkK
ICAgICAgICAgICAgIHJlc3VsdCA9IFN0cmluZzo6YWRvcHQoV1RGTW92ZShidWZmZXIpKTsKICAg
ICB9CiAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGhhbmRsZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3Bw
CmluZGV4IDgwNGZkNjRmYTQ2MjM1YjA0NGVlNTBlOTIxODUxODNiNjg3OGJkMTIuLjcwNDI0YjJk
NDZmNDg3NWY4OTRmYmEzZjY4ODgwNzM3NDg0NDhhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0ZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCkBA
IC0yNTYsNyArMjU2LDcgQEAgYm9vbCBhcHBlbmRGaWxlQ29udGVudHNUb0ZpbGVIYW5kbGUoY29u
c3QgU3RyaW5nJiBwYXRoLCBQbGF0Zm9ybUZpbGVIYW5kbGUmIHRhcmcKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgc3RhdGljIGludCBidWZmZXJTaXplID0gMSA8PCAxOTsKLSAgICBWZWN0
b3I8Y2hhcj4gYnVmZmVyKGJ1ZmZlclNpemUpOworICAgIFZlY3Rvcjx1aW50OF90PiBidWZmZXIo
YnVmZmVyU2l6ZSk7CiAKICAgICBhdXRvIGZpbGVDbG9zZXIgPSBXVEY6Om1ha2VTY29wZUV4aXQo
W3NvdXJjZV0oKSB7CiAgICAgICAgIFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUgPSBzb3VyY2U7
CkBAIC00OTgsNyArNDk4LDcgQEAgc3RkOjpvcHRpb25hbDxTYWx0PiByZWFkT3JNYWtlU2FsdChj
b25zdCBTdHJpbmcmIHBhdGgpCiAgICAgaWYgKEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMocGF0aCkp
IHsKICAgICAgICAgYXV0byBmaWxlID0gRmlsZVN5c3RlbTo6b3BlbkZpbGUocGF0aCwgRmlsZVN5
c3RlbTo6RmlsZU9wZW5Nb2RlOjpSZWFkKTsKICAgICAgICAgU2FsdCBzYWx0OwotICAgICAgICBh
dXRvIGJ5dGVzUmVhZCA9IHN0YXRpY19jYXN0PHN0ZDo6c2l6ZV90PihGaWxlU3lzdGVtOjpyZWFk
RnJvbUZpbGUoZmlsZSwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2FsdC5kYXRhKCkpLCBzYWx0
LnNpemUoKSkpOworICAgICAgICBhdXRvIGJ5dGVzUmVhZCA9IHN0YXRpY19jYXN0PHN0ZDo6c2l6
ZV90PihGaWxlU3lzdGVtOjpyZWFkRnJvbUZpbGUoZmlsZSwgc2FsdC5kYXRhKCksIHNhbHQuc2l6
ZSgpKSk7CiAgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShmaWxlKTsKICAgICAgICAgaWYg
KGJ5dGVzUmVhZCA9PSBzYWx0LnNpemUoKSkKICAgICAgICAgICAgIHJldHVybiBzYWx0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oIGIvU291cmNlL1dURi93dGYvRmls
ZVN5c3RlbS5oCmluZGV4IGI1NDI3NzIxZmNhMzE1MDQ3ZDNhMDEzODEyYWU3YWEyNGI1MTQ5YjMu
LmY3NTczYTg2NzNiNmIyMTJlYTc2NzY0NjRlMGJiMzU3YTg4ZWUxOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVt
LmgKQEAgLTE1NSw3ICsxNTUsNyBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCB0cnVuY2F0ZUZp
bGUoUGxhdGZvcm1GaWxlSGFuZGxlLCBsb25nIGxvbmcgb2Zmc2V0KTsKIC8vIFJldHVybnMgbnVt
YmVyIG9mIGJ5dGVzIGFjdHVhbGx5IHJlYWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlLgog
V1RGX0VYUE9SVF9QUklWQVRFIGludCB3cml0ZVRvRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUsIGNv
bnN0IHZvaWQqIGRhdGEsIGludCBsZW5ndGgpOwogLy8gUmV0dXJucyBudW1iZXIgb2YgYnl0ZXMg
YWN0dWFsbHkgd3JpdHRlbiBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UuCi1XVEZfRVhQT1JU
X1BSSVZBVEUgaW50IHJlYWRGcm9tRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUsIGNoYXIqIGRhdGEs
IGludCBsZW5ndGgpOyAvLyBGSVhNRTogU2hvdWxkIHVzZSBgdm9pZCpgLgorV1RGX0VYUE9SVF9Q
UklWQVRFIGludCByZWFkRnJvbUZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlLCB2b2lkKiBkYXRhLCBp
bnQgbGVuZ3RoKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIFBsYXRmb3JtRmlsZUhhbmRsZSBvcGVu
QW5kTG9ja0ZpbGUoY29uc3QgU3RyaW5nJiwgRmlsZU9wZW5Nb2RlLCBPcHRpb25TZXQ8RmlsZUxv
Y2tNb2RlPiA9IEZpbGVMb2NrTW9kZTo6RXhjbHVzaXZlKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHVubG9ja0FuZENsb3NlRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9n
bGliL0ZpbGVTeXN0ZW1HbGliLmNwcAppbmRleCBhNTdjYTllMDg0NjQ3NGExYmM5OTZiNzYzNzA1
MzMyMzhmMDA2NThiLi43NWU2OWY0MWY4ODViOWI3ZTdjYWM2ZjZmYzQxZmYyYjRhNjgzMjA5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcApAQCAtMjI0LDcgKzIyNCw3IEBA
IGludCB3cml0ZVRvRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlLCBjb25zdCB2b2lkKiBk
YXRhLCBpbnQgbGVuZ3RoKQogICAgIHJldHVybiBieXRlc1dyaXR0ZW47CiB9CiAKLWludCByZWFk
RnJvbUZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgY2hhciogZGF0YSwgaW50IGxlbmd0
aCkKK2ludCByZWFkRnJvbUZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgdm9pZCogZGF0
YSwgaW50IGxlbmd0aCkKIHsKICAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7CiAgICAg
ZG8gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L0ZpbGVTeXN0ZW1QT1NJWC5jcHAKaW5kZXggYzdkZjQ2
NjMwZTg5MGMzMGM0MTA3MjIyMmYzMGFlZTk1ZTY3OTAxNy4uMTM4YWVjOWNiYzZjZjgwMTk1NzVh
N2QyNjhlMTc4YTBhMmMwN2ViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcG9zaXgvRmls
ZVN5c3RlbVBPU0lYLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9T
SVguY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgaW50IHdyaXRlVG9GaWxlKFBsYXRmb3JtRmlsZUhh
bmRsZSBoYW5kbGUsIGNvbnN0IHZvaWQqIGRhdGEsIGludCBsZW5ndGgpCiAgICAgcmV0dXJuIC0x
OwogfQogCi1pbnQgcmVhZEZyb21GaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGNoYXIq
IGRhdGEsIGludCBsZW5ndGgpCitpbnQgcmVhZEZyb21GaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBo
YW5kbGUsIHZvaWQqIGRhdGEsIGludCBsZW5ndGgpCiB7CiAgICAgZG8gewogICAgICAgICBpbnQg
Ynl0ZXNSZWFkID0gcmVhZChoYW5kbGUsIGRhdGEsIHN0YXRpY19jYXN0PHNpemVfdD4obGVuZ3Ro
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5kZXggZWExYzI2YWE0MzE3ZWFh
Zjk1MjY5MTJmMzQzMmE4OTE2MDYwNWU3OC4uMzc2YTMyYzczNDNhMDc5YjQ4YTM5MDcyM2FhZDc2
NDViOTY0YmE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL0ZpbGVTeXN0ZW1XaW4u
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcApAQCAtMzE2LDcg
KzMxNiw3IEBAIGludCB3cml0ZVRvRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlLCBjb25z
dCB2b2lkKiBkYXRhLCBpbnQgbGVuZ3RoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGJ5
dGVzV3JpdHRlbik7CiB9CiAKLWludCByZWFkRnJvbUZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhh
bmRsZSwgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKK2ludCByZWFkRnJvbUZpbGUoUGxhdGZvcm1G
aWxlSGFuZGxlIGhhbmRsZSwgdm9pZCogZGF0YSwgaW50IGxlbmd0aCkKIHsKICAgICBpZiAoIWlz
SGFuZGxlVmFsaWQoaGFuZGxlKSkKICAgICAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uY3BwCmluZGV4IDdhOWRhYWUwNmEwNDdiYTU1ZTExMTMy
MzU2MzkxNWUyZDI2NzA0YjguLmE4MzUwNTViYWMyOGMyYjc1OWNlZDA5ZGU2ODc0YjliZGY3Nzc3
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxlU3RyZWFtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5jcHAKQEAgLTE2
Nyw3ICsxNjcsNyBAQCB2b2lkIEFzeW5jRmlsZVN0cmVhbTo6Y2xvc2UoKQogICAgIH0pOwogfQog
Ci12b2lkIEFzeW5jRmlsZVN0cmVhbTo6cmVhZChjaGFyKiBidWZmZXIsIGludCBsZW5ndGgpCit2
b2lkIEFzeW5jRmlsZVN0cmVhbTo6cmVhZCh2b2lkKiBidWZmZXIsIGludCBsZW5ndGgpCiB7CiAg
ICAgcGVyZm9ybShbYnVmZmVyLCBsZW5ndGhdKEZpbGVTdHJlYW0mIHN0cmVhbSkgLT4gV1RGOjpG
dW5jdGlvbjx2b2lkKEZpbGVTdHJlYW1DbGllbnQmKT4gewogICAgICAgICBpbnQgYnl0ZXNSZWFk
ID0gc3RyZWFtLnJlYWQoYnVmZmVyLCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQXN5
bmNGaWxlU3RyZWFtLmgKaW5kZXggOTlhOTFiMGM5MTVmNTg1YjhhMWNiNmJlY2RhNGI2ZGJlMTc5
ZTk1YS4uZWJiYTdmMjJjM2JhZDNiMzQzYThmMThlNWY1ODMwYzlkNjM4NGQwOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5oCkBAIC00OSw3ICs0OSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGdldFNpemUoY29uc3QgU3RyaW5nJiBwYXRoLCBzdGQ6Om9wdGlvbmFsPFdh
bGxUaW1lPiBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUpOwogICAgIHZvaWQgb3BlbkZvclJlYWQo
Y29uc3QgU3RyaW5nJiBwYXRoLCBsb25nIGxvbmcgb2Zmc2V0LCBsb25nIGxvbmcgbGVuZ3RoKTsK
ICAgICB2b2lkIGNsb3NlKCk7Ci0gICAgdm9pZCByZWFkKGNoYXIqIGJ1ZmZlciwgaW50IGxlbmd0
aCk7CisgICAgdm9pZCByZWFkKHZvaWQqIGJ1ZmZlciwgaW50IGxlbmd0aCk7CiAKIHByaXZhdGU6
CiAgICAgdm9pZCBzdGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcApp
bmRleCAzYjk2MDIxMDk1OTYzMjVhMGQ0NzQzMmU0NjZmNDVmODJkMTYxMGQxLi43OGI0ZWVhOWU2
ZjVlNDIyNWMwYWViYmRkZjQ2MzFhMmVjZDNkYWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9G
aWxlSGFuZGxlLmNwcApAQCAtOTMsNyArOTMsNyBAQCBpbnQgRmlsZUhhbmRsZTo6cmVhZCh2b2lk
KiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIGlmICghb3BlbigpKQogICAgICAgICByZXR1cm4g
LTE7Ci0gICAgcmV0dXJuIEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZShtX2ZpbGVIYW5kbGUsIHN0
YXRpY19jYXN0PGNoYXIqPihkYXRhKSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gRmlsZVN5c3RlbTo6
cmVhZEZyb21GaWxlKG1fZmlsZUhhbmRsZSwgZGF0YSwgbGVuZ3RoKTsKIH0KIAogaW50IEZpbGVI
YW5kbGU6OndyaXRlKGNvbnN0IHZvaWQqIGRhdGEsIGludCBsZW5ndGgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVTdHJlYW0uY3BwCmluZGV4IDBjOTgwYWFiMDZmYzMxOGM0NjM4MTJhZjA3NDE4
NWM2ZjkxNzNjNGYuLmJhOTE4YjA3ZTkyYjE4ODJkOWQyYWEyOGZmNzgyZDYxNTA2ZmQ4NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCkBAIC05Niw3ICs5Niw3IEBAIHZv
aWQgRmlsZVN0cmVhbTo6Y2xvc2UoKQogICAgIH0KIH0KIAotaW50IEZpbGVTdHJlYW06OnJlYWQo
Y2hhciogYnVmZmVyLCBpbnQgYnVmZmVyU2l6ZSkKK2ludCBGaWxlU3RyZWFtOjpyZWFkKHZvaWQq
IGJ1ZmZlciwgaW50IGJ1ZmZlclNpemUpCiB7CiAgICAgaWYgKCFGaWxlU3lzdGVtOjppc0hhbmRs
ZVZhbGlkKG1faGFuZGxlKSkKICAgICAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZVN0cmVhbS5oCmluZGV4IGRmMjI0Y2YwN2Y0NDI4ZmJkZTkxNWYyYWZkNDZiODA5NjQyNGE5
YzAuLmE2ZjdiZjFmYjhmNzFjMWJlZjk3YWE1NGE2ODMwYjE4MjgxYzg2YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlU3RyZWFtLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIC8v
IFJlYWRzIGEgZmlsZSBpbnRvIHRoZSBwcm92aWRlZCBkYXRhIGJ1ZmZlci4KICAgICAvLyBSZXR1
cm5zIG51bWJlciBvZiBieXRlcyBiZWluZyByZWFkIG9uIHN1Y2Nlc3MuIC0xIG90aGVyd2lzZS4K
ICAgICAvLyBJZiAwIGlzIHJldHVybmVkLCBpdCBtZWFucyB0aGF0IHRoZSByZWFkaW5nIGlzIGNv
bXBsZXRlZC4KLSAgICBpbnQgcmVhZChjaGFyKiBidWZmZXIsIGludCBsZW5ndGgpOworICAgIGlu
dCByZWFkKHZvaWQqIGJ1ZmZlciwgaW50IGxlbmd0aCk7CiAKIHByaXZhdGU6CiAgICAgRmlsZVN5
c3RlbTo6UGxhdGZvcm1GaWxlSGFuZGxlIG1faGFuZGxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDkxNjg3
ZTA5NTk4NGNkZjYxMGJhNTQ1Y2VkYzY1NzU3MTI2MzFmZmMuLjM5MzVmZWI1Y2ZmNWYyZTU4ZDBi
MTFlNGFmODQ4ODNkOGZlNDVkZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2
b2lkIEJsb2JSZXNvdXJjZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VBc3lu
YyhSZXNvdXJjZUhhbmRsZSogaGFuZAogCiAgICAgLy8gUmVhZCBhbGwgdGhlIGRhdGEuCiAgICAg
bV9kYXRhLnJlc2l6ZShzdGF0aWNfY2FzdDxzaXplX3Q+KHJlc3BvbnNlLmV4cGVjdGVkQ29udGVu
dExlbmd0aCgpKSk7Ci0gICAgc3RhdGljX2Nhc3Q8QmxvYlJlc291cmNlSGFuZGxlKj4oaGFuZGxl
KS0+cmVhZFN5bmMocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9kYXRhLmRhdGEoKSksIHN0YXRp
Y19jYXN0PGludD4obV9kYXRhLnNpemUoKSkpOworICAgIHN0YXRpY19jYXN0PEJsb2JSZXNvdXJj
ZUhhbmRsZSo+KGhhbmRsZSktPnJlYWRTeW5jKG1fZGF0YS5kYXRhKCksIHN0YXRpY19jYXN0PGlu
dD4obV9kYXRhLnNpemUoKSkpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKQEAgLTMy
MCw3ICszMjAsNyBAQCB2b2lkIEJsb2JSZXNvdXJjZUhhbmRsZTo6c2VlaygpCiAgICAgICAgIG1f
dG90YWxSZW1haW5pbmdTaXplIC09IG1fcmFuZ2VPZmZzZXQ7CiB9CiAKLWludCBCbG9iUmVzb3Vy
Y2VIYW5kbGU6OnJlYWRTeW5jKGNoYXIqIGJ1ZiwgaW50IGxlbmd0aCkKK2ludCBCbG9iUmVzb3Vy
Y2VIYW5kbGU6OnJlYWRTeW5jKHVpbnQ4X3QqIGJ1ZiwgaW50IGxlbmd0aCkKIHsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC0zNjgsNyArMzY4LDcgQEAgaW50IEJsb2JSZXNvdXJj
ZUhhbmRsZTo6cmVhZFN5bmMoY2hhciogYnVmLCBpbnQgbGVuZ3RoKQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLWludCBCbG9iUmVzb3VyY2VIYW5kbGU6OnJlYWREYXRhU3luYyhjb25zdCBCbG9i
RGF0YUl0ZW0mIGl0ZW0sIGNoYXIqIGJ1ZiwgaW50IGxlbmd0aCkKK2ludCBCbG9iUmVzb3VyY2VI
YW5kbGU6OnJlYWREYXRhU3luYyhjb25zdCBCbG9iRGF0YUl0ZW0mIGl0ZW0sIHZvaWQqIGJ1Ziwg
aW50IGxlbmd0aCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC0zOTAsNyAr
MzkwLDcgQEAgaW50IEJsb2JSZXNvdXJjZUhhbmRsZTo6cmVhZERhdGFTeW5jKGNvbnN0IEJsb2JE
YXRhSXRlbSYgaXRlbSwgY2hhciogYnVmLCBpbnQgbGUKICAgICByZXR1cm4gYnl0ZXNUb1JlYWQ7
CiB9CiAKLWludCBCbG9iUmVzb3VyY2VIYW5kbGU6OnJlYWRGaWxlU3luYyhjb25zdCBCbG9iRGF0
YUl0ZW0mIGl0ZW0sIGNoYXIqIGJ1ZiwgaW50IGxlbmd0aCkKK2ludCBCbG9iUmVzb3VyY2VIYW5k
bGU6OnJlYWRGaWxlU3luYyhjb25zdCBCbG9iRGF0YUl0ZW0mIGl0ZW0sIHZvaWQqIGJ1ZiwgaW50
IGxlbmd0aCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC00NjAsNyArNDYw
LDcgQEAgdm9pZCBCbG9iUmVzb3VyY2VIYW5kbGU6OnJlYWREYXRhQXN5bmMoY29uc3QgQmxvYkRh
dGFJdGVtJiBpdGVtKQogICAgIGlmIChieXRlc1RvUmVhZCA+IG1fdG90YWxSZW1haW5pbmdTaXpl
KQogICAgICAgICBieXRlc1RvUmVhZCA9IG1fdG90YWxSZW1haW5pbmdTaXplOwogCi0gICAgYXV0
byogZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGl0ZW0uZGF0YSgpLmRhdGEo
KS0+ZGF0YSgpKSArIGl0ZW0ub2Zmc2V0KCkgKyBtX2N1cnJlbnRJdGVtUmVhZFNpemU7CisgICAg
YXV0byogZGF0YSA9IGl0ZW0uZGF0YSgpLmRhdGEoKS0+ZGF0YSgpICsgaXRlbS5vZmZzZXQoKSAr
IG1fY3VycmVudEl0ZW1SZWFkU2l6ZTsKICAgICBtX2N1cnJlbnRJdGVtUmVhZFNpemUgPSAwOwog
CiAgICAgY29uc3VtZURhdGEoZGF0YSwgc3RhdGljX2Nhc3Q8aW50PihieXRlc1RvUmVhZCkpOwpA
QCAtNTA2LDcgKzUwNiw3IEBAIHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpkaWRSZWFkKGludCBi
eXRlc1JlYWQpCiAgICAgY29uc3VtZURhdGEobV9idWZmZXIuZGF0YSgpLCBieXRlc1JlYWQpOwog
fQogCi12b2lkIEJsb2JSZXNvdXJjZUhhbmRsZTo6Y29uc3VtZURhdGEoY29uc3QgY2hhciogZGF0
YSwgaW50IGJ5dGVzUmVhZCkKK3ZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpjb25zdW1lRGF0YShj
b25zdCB1aW50OF90KiBkYXRhLCBpbnQgYnl0ZXNSZWFkKQogewogICAgIEFTU0VSVChtX2FzeW5j
KTsKICAgICBSZWY8QmxvYlJlc291cmNlSGFuZGxlPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKQEAg
LTYxNCwxMCArNjE0LDEwIEBAIHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpub3RpZnlSZXNwb25z
ZU9uRXJyb3IoKQogICAgIH0pOwogfQogCi12b2lkIEJsb2JSZXNvdXJjZUhhbmRsZTo6bm90aWZ5
UmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGJ5dGVzUmVhZCkKK3ZvaWQgQmxvYlJl
c291cmNlSGFuZGxlOjpub3RpZnlSZWNlaXZlRGF0YShjb25zdCB1aW50OF90KiBkYXRhLCBpbnQg
Ynl0ZXNSZWFkKQogewogICAgIGlmIChjbGllbnQoKSkKLSAgICAgICAgY2xpZW50KCktPmRpZFJl
Y2VpdmVCdWZmZXIodGhpcywgU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxj
b25zdCB1aW50OF90Kj4oZGF0YSksIGJ5dGVzUmVhZCksIGJ5dGVzUmVhZCk7CisgICAgICAgIGNs
aWVudCgpLT5kaWRSZWNlaXZlQnVmZmVyKHRoaXMsIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEs
IGJ5dGVzUmVhZCksIGJ5dGVzUmVhZCk7CiB9CiAKIHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpu
b3RpZnlGYWlsKEVycm9yIGVycm9yQ29kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5oCmluZGV4IGViYjQ4ODE4YzZhMzMyZDdh
ZThiZjBkMDU4OGJmZDBhNjc0MGZiZTYuLmJmMThjYjU5NjFlYTdhODYxNGIxOTBjYTE0NjlhZjYz
OTdlOWQzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxv
YlJlc291cmNlSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iUmVzb3VyY2VIYW5kbGUuaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShCbG9iRGF0YSosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4
X3Q+JiBkYXRhKTsKIAogICAgIHZvaWQgc3RhcnQoKTsKLSAgICBpbnQgcmVhZFN5bmMoY2hhcios
IGludCk7CisgICAgaW50IHJlYWRTeW5jKHVpbnQ4X3QqLCBpbnQpOwogCiAgICAgYm9vbCBhYm9y
dGVkKCkgY29uc3QgeyByZXR1cm4gbV9hYm9ydGVkOyB9CiAKQEAgLTc5LDIwICs3OSwyMCBAQCBw
cml2YXRlOgogICAgIHZvaWQgZG9TdGFydCgpOwogICAgIHZvaWQgZ2V0U2l6ZUZvck5leHQoKTsK
ICAgICB2b2lkIHNlZWsoKTsKLSAgICB2b2lkIGNvbnN1bWVEYXRhKGNvbnN0IGNoYXIqIGRhdGEs
IGludCBieXRlc1JlYWQpOworICAgIHZvaWQgY29uc3VtZURhdGEoY29uc3QgdWludDhfdCogZGF0
YSwgaW50IGJ5dGVzUmVhZCk7CiAgICAgdm9pZCBmYWlsZWQoRXJyb3IpOwogCiAgICAgdm9pZCBy
ZWFkQXN5bmMoKTsKICAgICB2b2lkIHJlYWREYXRhQXN5bmMoY29uc3QgQmxvYkRhdGFJdGVtJik7
CiAgICAgdm9pZCByZWFkRmlsZUFzeW5jKGNvbnN0IEJsb2JEYXRhSXRlbSYpOwogCi0gICAgaW50
IHJlYWREYXRhU3luYyhjb25zdCBCbG9iRGF0YUl0ZW0mLCBjaGFyKiwgaW50KTsKLSAgICBpbnQg
cmVhZEZpbGVTeW5jKGNvbnN0IEJsb2JEYXRhSXRlbSYsIGNoYXIqLCBpbnQpOworICAgIGludCBy
ZWFkRGF0YVN5bmMoY29uc3QgQmxvYkRhdGFJdGVtJiwgdm9pZCosIGludCk7CisgICAgaW50IHJl
YWRGaWxlU3luYyhjb25zdCBCbG9iRGF0YUl0ZW0mLCB2b2lkKiwgaW50KTsKIAogICAgIHZvaWQg
bm90aWZ5UmVzcG9uc2UoKTsKICAgICB2b2lkIG5vdGlmeVJlc3BvbnNlT25TdWNjZXNzKCk7CiAg
ICAgdm9pZCBub3RpZnlSZXNwb25zZU9uRXJyb3IoKTsKLSAgICB2b2lkIG5vdGlmeVJlY2VpdmVE
YXRhKGNvbnN0IGNoYXIqLCBpbnQpOworICAgIHZvaWQgbm90aWZ5UmVjZWl2ZURhdGEoY29uc3Qg
dWludDhfdCosIGludCk7CiAgICAgdm9pZCBub3RpZnlGYWlsKEVycm9yKTsKICAgICB2b2lkIG5v
dGlmeUZpbmlzaCgpOwogCkBAIC0xMDQsNyArMTA0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
YXN5bmM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFzeW5jRmlsZVN0cmVhbT4gbV9hc3luY1N0cmVh
bTsgLy8gRm9yIGFzeW5jaHJvbm91cyBsb2FkaW5nLgogICAgIHN0ZDo6dW5pcXVlX3B0cjxGaWxl
U3RyZWFtPiBtX3N0cmVhbTsgLy8gRm9yIHN5bmNocm9ub3VzIGxvYWRpbmcuCi0gICAgVmVjdG9y
PGNoYXI+IG1fYnVmZmVyOworICAgIFZlY3Rvcjx1aW50OF90PiBtX2J1ZmZlcjsKICAgICBWZWN0
b3I8bG9uZyBsb25nPiBtX2l0ZW1MZW5ndGhMaXN0OwogICAgIEVycm9yIG1fZXJyb3JDb2RlIHsg
RXJyb3I6Ok5vRXJyb3IgfTsKICAgICBib29sIG1fYWJvcnRlZCB7IGZhbHNlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50cnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5
LmNwcAppbmRleCA2ZDkyNDc1YjVlYjYyMGI3ZGE5YjMzOGU3NmFiYTBmYzg4N2EzZWQ2Li44NDgx
MDdjYzZhZGYwNThkYWE4OGQ4NDY4MDJhMzZmZDhkNzdkZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRyeS5jcHAKQEAg
LTExMywxMiArMTEzLDEyIEBAIGJvb2wgQ3VybENhY2hlRW50cnk6OnJlYWRDYWNoZWREYXRhKFJl
c291cmNlSGFuZGxlKiBqb2IpCiB7CiAgICAgQVNTRVJUKGpvYi0+Y2xpZW50KCkpOwogCi0gICAg
VmVjdG9yPGNoYXI+IGJ1ZmZlcjsKKyAgICBWZWN0b3I8dWludDhfdD4gYnVmZmVyOwogICAgIGlm
ICghbG9hZEZpbGVUb0J1ZmZlcihtX2NvbnRlbnRGaWxlbmFtZSwgYnVmZmVyKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGJ1ZmZlci5zaXplKCkpCi0gICAgICAgIGpvYi0+Z2V0
SW50ZXJuYWwoKS0+Y2xpZW50KCktPmRpZFJlY2VpdmVCdWZmZXIoam9iLCBTaGFyZWRCdWZmZXI6
OmNyZWF0ZShidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKSwgYnVmZmVyLnNpemUoKSk7Cisg
ICAgaWYgKGF1dG8gYnVmZmVyU2l6ZSA9IGJ1ZmZlci5zaXplKCkpCisgICAgICAgIGpvYi0+Z2V0
SW50ZXJuYWwoKS0+Y2xpZW50KCktPmRpZFJlY2VpdmVCdWZmZXIoam9iLCBTaGFyZWRCdWZmZXI6
OmNyZWF0ZShXVEZNb3ZlKGJ1ZmZlcikpLCBidWZmZXJTaXplKTsKIAogICAgIHJldHVybiB0cnVl
OwogfQpAQCAtMTUxLDcgKzE1MSw3IEBAIGJvb2wgQ3VybENhY2hlRW50cnk6OnNhdmVSZXNwb25z
ZUhlYWRlcnMoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAKIGJvb2wgQ3VybENh
Y2hlRW50cnk6OmxvYWRSZXNwb25zZUhlYWRlcnMoKQogewotICAgIFZlY3RvcjxjaGFyPiBidWZm
ZXI7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZlcjsKICAgICBpZiAoIWxvYWRGaWxlVG9CdWZm
ZXIobV9oZWFkZXJGaWxlbmFtZSwgYnVmZmVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBA
IC0yMjMsNyArMjIzLDcgQEAgdm9pZCBDdXJsQ2FjaGVFbnRyeTo6Z2VuZXJhdGVCYXNlRmlsZW5h
bWUoY29uc3QgQ1N0cmluZyYgdXJsKQogICAgIG1fYmFzZW5hbWUgPSBiYXNlTmFtZUJ1aWxkZXIu
dG9TdHJpbmcoKTsKIH0KIAotYm9vbCBDdXJsQ2FjaGVFbnRyeTo6bG9hZEZpbGVUb0J1ZmZlcihj
b25zdCBTdHJpbmcmIGZpbGVwYXRoLCBWZWN0b3I8Y2hhcj4mIGJ1ZmZlcikKK2Jvb2wgQ3VybENh
Y2hlRW50cnk6OmxvYWRGaWxlVG9CdWZmZXIoY29uc3QgU3RyaW5nJiBmaWxlcGF0aCwgVmVjdG9y
PHVpbnQ4X3Q+JiBidWZmZXIpCiB7CiAgICAgLy8gT3BlbiB0aGUgZmlsZQogICAgIEZpbGVTeXN0
ZW06OlBsYXRmb3JtRmlsZUhhbmRsZSBpbnB1dEZpbGUgPSBGaWxlU3lzdGVtOjpvcGVuRmlsZShm
aWxlcGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpSZWFkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRyeS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmgKaW5kZXgg
OGNlMTE0Mzg0OGZiMjMxOGJhMTk5MGVhZDE4ZTE1ZjM3ZDg0MzQ3Yy4uNDcyNzYyYzdmNTUyY2Rj
MGQ5NDRmOTkwY2FhMzBkMjZjODAyM2EyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmgKQEAgLTg5LDcgKzg5LDcgQEAg
cHJpdmF0ZToKICAgICBSZXNvdXJjZUhhbmRsZSogbV9qb2I7CiAKICAgICB2b2lkIGdlbmVyYXRl
QmFzZUZpbGVuYW1lKGNvbnN0IENTdHJpbmcmIHVybCk7Ci0gICAgYm9vbCBsb2FkRmlsZVRvQnVm
ZmVyKGNvbnN0IFN0cmluZyYgZmlsZXBhdGgsIFZlY3RvcjxjaGFyPiYgYnVmZmVyKTsKKyAgICBi
b29sIGxvYWRGaWxlVG9CdWZmZXIoY29uc3QgU3RyaW5nJiBmaWxlcGF0aCwgVmVjdG9yPHVpbnQ4
X3Q+JiBidWZmZXIpOwogICAgIGJvb2wgbG9hZFJlc3BvbnNlSGVhZGVycygpOwogCiAgICAgYm9v
bCBvcGVuQ29udGVudEZpbGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW4uY3BwCmluZGV4IDdmNmNiZWQ2YWM0N2M1YzdkZmMyZDI5YjRmYzI0NTg3Y2QyN2Q0NDUu
LmFiODdhZTg1ZTQ5ZGZiNWYyZDU2NWUyZjkyOWM2ZTU3YWJiOTE1MjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtMTAxMyw3ICsxMDEzLDcgQEAg
Q29sb3IgUmVuZGVyVGhlbWVXaW46OnN5c3RlbUNvbG9yKENTU1ZhbHVlSUQgY3NzVmFsdWVJZCwg
T3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok8KIH0KIAogI2lmIEVOQUJMRShWSURFTykKLXN0YXRpYyB2
b2lkIGZpbGxCdWZmZXJXaXRoQ29udGVudHNPZkZpbGUoRmlsZVN5c3RlbTo6UGxhdGZvcm1GaWxl
SGFuZGxlIGZpbGUsIGxvbmcgbG9uZyBmaWxlc2l6ZSwgVmVjdG9yPGNoYXI+JiBidWZmZXIpCitz
dGF0aWMgdm9pZCBmaWxsQnVmZmVyV2l0aENvbnRlbnRzT2ZGaWxlKEZpbGVTeXN0ZW06OlBsYXRm
b3JtRmlsZUhhbmRsZSBmaWxlLCBsb25nIGxvbmcgZmlsZXNpemUsIFZlY3Rvcjx1aW50OF90PiYg
YnVmZmVyKQogewogICAgIC8vIExvYWQgdGhlIGZpbGUgY29udGVudCBpbnRvIGJ1ZmZlcgogICAg
IGJ1ZmZlci5yZXNpemUoZmlsZXNpemUgKyAxKTsKQEAgLTEwNTgsNyArMTA1OCw3IEBAIFN0cmlu
ZyBSZW5kZXJUaGVtZVdpbjo6c3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICB9CiAKLSAg
ICBWZWN0b3I8Y2hhcj4gZmlsZUNvbnRlbnRzOworICAgIFZlY3Rvcjx1aW50OF90PiBmaWxlQ29u
dGVudHM7CiAgICAgZmlsbEJ1ZmZlcldpdGhDb250ZW50c09mRmlsZShyZXF1ZXN0ZWRGaWxlSGFu
ZGxlLCAqZmlsZXNpemUsIGZpbGVDb250ZW50cyk7CiAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxl
KHJlcXVlc3RlZEZpbGVIYW5kbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUlPQ2hhbm5lbEN1cmwuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxDdXJsLmNwcApp
bmRleCBmYTc2YWM3NjJlYWRhYTA3YjE0Mzc1OGE1NTJjYWIwYmNiYTM0OTM2Li5jNzdmYWEyNzUw
NThlMDIwNmVkNmNhOTFhZmViZTNmODZhOGEwOTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUlPQ2hhbm5lbEN1cmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlSU9DaGFubmVs
Q3VybC5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBJT0NoYW5uZWw6OnJlYWQoc2l6ZV90IG9m
ZnNldCwgc2l6ZV90IHNpemUsIFdvcmtRdWV1ZSYgcXVldWUsIEZ1bmN0aW9uPHZvaWQKICAgICAg
ICAgcmVhZFNpemUgPSBzdGQ6Om1pbihzaXplLCByZWFkU2l6ZSk7CiAgICAgICAgIFZlY3Rvcjx1
aW50OF90PiBidWZmZXIocmVhZFNpemUpOwogICAgICAgICBGaWxlU3lzdGVtOjpzZWVrRmlsZSht
X2ZpbGVEZXNjcmlwdG9yLCBvZmZzZXQsIEZpbGVTeXN0ZW06OkZpbGVTZWVrT3JpZ2luOjpCZWdp
bm5pbmcpOwotICAgICAgICBpbnQgZXJyID0gRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKG1fZmls
ZURlc2NyaXB0b3IsIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGJ1ZmZlci5kYXRhKCkpLCByZWFk
U2l6ZSk7CisgICAgICAgIGludCBlcnIgPSBGaWxlU3lzdGVtOjpyZWFkRnJvbUZpbGUobV9maWxl
RGVzY3JpcHRvciwgYnVmZmVyLmRhdGEoKSwgcmVhZFNpemUpOwogICAgICAgICBlcnIgPSBlcnIg
PCAwID8gZXJyIDogMDsKICAgICAgICAgYXV0byBkYXRhID0gRGF0YShXVEZNb3ZlKGJ1ZmZlcikp
OwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLCBlcnIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvUGVyc2lzdGVuY3lVdGlscy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9QZXJzaXN0ZW5jeVV0aWxzLmNwcAppbmRleCBjNzgwYmM0ZjgxMWFmOGZiMzg3ZmIwZDIy
YzdmZGU0ZjFkMTM2MDg5Li44Nzk3ODc0YjA0NGUxZThkYWQ0NDcyYTg5ODg4MzE1MWFjNzlhZGZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QZXJzaXN0ZW5jeVV0aWxzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QZXJzaXN0ZW5jeVV0aWxzLmNwcApAQCAtNTUsNyAr
NTUsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8S2V5ZWREZWNvZGVyPiBjcmVhdGVGb3JGaWxlKGNvbnN0
IFN0cmluZyYgcGF0aCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgVmVj
dG9yPGNoYXI+IGJ1ZmZlcihieXRlc1RvUmVhZCk7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZl
cihieXRlc1RvUmVhZCk7CiAgICAgc2l6ZV90IHRvdGFsQnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6
cmVhZEZyb21GaWxlKGhhbmRsZSwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSk7CiAKICAg
ICBGaWxlU3lzdGVtOjp1bmxvY2tBbmRDbG9zZUZpbGUoaGFuZGxlKTsKQEAgLTY0LDcgKzY0LDcg
QEAgc3RkOjp1bmlxdWVfcHRyPEtleWVkRGVjb2Rlcj4gY3JlYXRlRm9yRmlsZShjb25zdCBTdHJp
bmcmIHBhdGgpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCB0cnkgdG8gbW9kaWZ5IHRoZSBjb25zdHJ1Y3RvciB0byBwYXNzICYmLgotICAgIHJldHVy
biBLZXllZERlY29kZXI6OmRlY29kZXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
YnVmZmVyLmRhdGEoKSksIGJ1ZmZlci5zaXplKCkpOworICAgIHJldHVybiBLZXllZERlY29kZXI6
OmRlY29kZXIoYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSk7CiB9CiAKIHZvaWQgd3JpdGVU
b0Rpc2soc3RkOjp1bmlxdWVfcHRyPEtleWVkRW5jb2Rlcj4mJiBlbmNvZGVyLCBTdHJpbmcmJiBw
YXRoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGI5M2Q5NGQ5MDQ3MDYzOTkwYWQzODNiNzdhMDZkYTdlM2NmM2E4OTIuLjE5ZTk1OGU1MTJhNjll
NzBkNDU4YzM5ZWI2NGNkN2MwNGY3ZDNkYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNi0wNCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEZpbGVTeXN0ZW06OnJlYWRGcm9t
RmlsZSgpIHNob3VsZCByZXR1cm4gZGF0YSBhcyBgdm9pZCpgCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaWxlU3lzdGVtOjpyZWFkRnJvbUZpbGUoKSBz
aG91bGQgcmV0dXJuIGRhdGEgYXMgYHZvaWQqYCBpbnN0ZWFkIG9mIGBjaGFyKmAuIFRoaXMgaXMg
bW9yZSBmbGV4aWJsZSBhbmQKKyAgICAgICAgY29uc2lzdGVudCB3aXRoIEZpbGVTeXN0ZW06Ondy
aXRlVG9GaWxlKCkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmls
ZU1vbml0b3IuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6cmVhZENvbnRlbnRzT2ZGaWxl
KToKKwogMjAyMS0wNi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVzZSBWZWN0b3I8dWludDhfdD4gaW5zdGVhZCBvZiBWZWN0b3I8Y2hhcj4gdG8gc3RvcmUg
Ynl0ZXMgaW4gU2hhcmVkQnVmZmVyCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvRmlsZU1vbml0b3IuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL0ZpbGVNb25pdG9yLmNwcAppbmRleCAwODMxYWJjOTM2NGFkNzdhYzdlMzdhMzAwZmM1
YjU4YTA4ZTUwZTYwLi5jMWNiODkyNzNjOGFhMWRjZjkxZDMzODQxN2EzYmVmMjRhMTI0MjNjIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmlsZU1vbml0b3Iu
Y3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRvci5j
cHAKQEAgLTEyMCw3ICsxMjAsNyBAQCBzdGF0aWMgU3RyaW5nIHJlYWRDb250ZW50c09mRmlsZShj
b25zdCBTdHJpbmcmIHBhdGgpCiAgICAgfSk7CiAKICAgICAvLyBTaW5jZSB3ZSBjb250cm9sIHRo
ZSB0ZXN0IGZpbGVzLCB3ZSBrbm93IHdlIG9ubHkgbmVlZCBvbmUgcmVhZAotICAgIGludCByZWFk
Qnl0ZXMgPSBGaWxlU3lzdGVtOjpyZWFkRnJvbUZpbGUoc291cmNlLCByZWludGVycHJldF9jYXN0
PGNoYXIqPihidWZmZXIuY2hhcmFjdGVycygpKSwgYnVmZmVyU2l6ZSk7CisgICAgaW50IHJlYWRC
eXRlcyA9IEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZShzb3VyY2UsIGJ1ZmZlci5jaGFyYWN0ZXJz
KCksIGJ1ZmZlclNpemUpOwogICAgIGlmIChyZWFkQnl0ZXMgPCAwKQogICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>