<?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>203422</bug_id>
          
          <creation_ts>2019-10-25 09:58:11 -0700</creation_ts>
          <short_desc>[iOS][WK2] Use sendWithAsyncReply() to simplify the prepareToSuspend logic</short_desc>
          <delta_ts>2019-10-25 16:01:35 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203370</see_also>
          <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>
          <dependson>203437</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1583875</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-25 09:58:11 -0700</bug_when>
    <thetext>Use sendWithAsyncReply() to simplify the prepareToSuspend logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583883</commentid>
    <comment_count>1</comment_count>
      <attachid>381938</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-25 10:05:50 -0700</bug_when>
    <thetext>Created attachment 381938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583958</commentid>
    <comment_count>2</comment_count>
      <attachid>381938</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-25 12:25:37 -0700</bug_when>
    <thetext>Comment on attachment 381938
Patch

Clearing flags on attachment: 381938

Committed r251599: &lt;https://trac.webkit.org/changeset/251599&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583959</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-25 12:25:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583962</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-25 12:26:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/56627275&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381938</attachid>
            <date>2019-10-25 10:05:50 -0700</date>
            <delta_ts>2019-10-25 12:25:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203422-20191025100550.patch</filename>
            <type>text/plain</type>
            <size>21521</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUyYTRlZDA0ODE0MGM2M2U4
MWVhOWRjN2ZjMTRkZTcwM2E5NWU4MDAuLjlkZDE5YWJkOTg2MWJhZTcwNDM3MTAwNGI2ZDk5NDY3
NDVlNWVjYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTktMTAtMjUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXVtXSzJdIFVzZSBzZW5kV2l0
aEFzeW5jUmVwbHkoKSB0byBzaW1wbGlmeSB0aGUgcHJlcGFyZVRvU3VzcGVuZCBsb2dpYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzNDIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIHNlbmRXaXRo
QXN5bmNSZXBseSgpIHRvIHNpbXBsaWZ5IHRoZSBwcmVwYXJlVG9TdXNwZW5kIGxvZ2ljIGFuZCBt
YWtlIGl0IGVhc2llciB0bworICAgICAgICB1bmRlcnN0YW5kLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6cHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmdTeW5jKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfcHJvY2Vzc1dpbGxTdXNw
ZW5kSW1taW5lbnRseUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQ
cm94eTo6c2VuZFByZXBhcmVUb1N1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzc1Byb3h5Ojpwcm9jZXNzUmVhZHlUb1N1c3BlbmQpOiBEZWxldGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc1Ro
cm90dGxlcjo6cHJvY2Vzc1JlYWR5VG9TdXNwZW5kKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vz
c1Rocm90dGxlcjo6c2VuZFByZXBhcmVUb1N1c3BlbmRJUEMpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Qcm9jZXNzVGhyb3R0bGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRs
ZXJDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzZW5kUHJlcGFyZVRvU3VzcGVuZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1JlYWR5VG9TdXNwZW5kKTog
RGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcmVw
YXJlVG9TdXNwZW5kKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTktMTAtMjUgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZWdyZXNzaW9u
KHIyNTEwNjcpIFdlYlByb2Nlc3NlcyB3aXRoIHNlcnZpY2Ugd29ya2VycyBubyBsb25nZXIga2Vl
cCB0aGVpciBuZXR3b3JrIHByb2Nlc3MgYWxpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggYTE2NzIwMWI0NjgzMGE2NjcyMDU5YTA3
ZTJlNTNhYmU2NjBmNjJhOC4uMTBiYzFkYmJjNWVlYTdmYTZmY2IwZmEzYmIxZmE1N2Q1ZDgxOWYw
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAKQEAgLTIwNzcsMTMgKzIwNzcsMTIgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cHJvY2Vzc0Rp
ZFRyYW5zaXRpb25Ub0JhY2tncm91bmQoKQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwcm9jZXNz
V2lsbFN1c3BlbmRJbW1pbmVudGx5Rm9yVGVzdGluZ1N5bmMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHByZXBhcmVUb1N1c3BlbmQoMCwgdHJ1
ZSk7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBwcmVwYXJlVG9TdXNwZW5kKHRydWUs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6
cHJlcGFyZVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9TdXNwZW5kSUQsIGJvb2wgaXNTdXNw
ZW5zaW9uSW1taW5lbnQpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJv
b2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVw
IC0gTmV0d29ya1Byb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoJSIgUFJJdTY0ICIpLCBpc1N1c3Bl
bnNpb25JbW1pbmVudDogJWQiLCB0aGlzLCByZXF1ZXN0VG9TdXNwZW5kSUQsIGlzU3VzcGVuc2lv
bkltbWluZW50KTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0
d29ya1Byb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoKSwgaXNTdXNwZW5zaW9uSW1taW5lbnQ6ICVk
IiwgdGhpcywgaXNTdXNwZW5zaW9uSW1taW5lbnQpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgZm9yIChhdXRvJiBzZXJ2ZXIgOiBt
X2lkYlNlcnZlcnMudmFsdWVzKCkpCkBAIC0yMDk2LDE0ICsyMDk1LDEwIEBAIHZvaWQgTmV0d29y
a1Byb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQodWludDY0X3QgcmVxdWVzdFRvU3VzcGVuZElELCBi
b29sIGlzU3VzcGVuCiAKICAgICBsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsOjpZZXMpOwogCi0g
ICAgUmVmUHRyPENhbGxiYWNrQWdncmVnYXRvcj4gY2FsbGJhY2tBZ2dyZWdhdG9yOwotICAgIGlm
IChyZXF1ZXN0VG9TdXNwZW5kSUQpIHsKLSAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2Fs
bGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoW3RoaXMsIHJlcXVlc3RUb1N1c3BlbmRJRF0gewotICAg
ICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9j
ZXNzOjpub3RpZnlQcm9jZXNzUmVhZHlUb1N1c3BlbmQoJSIgUFJJdTY0ICIpIFNlbmRpbmcgUHJv
Y2Vzc1JlYWR5VG9TdXNwZW5kIElQQyBtZXNzYWdlIiwgdGhpcywgcmVxdWVzdFRvU3VzcGVuZElE
KTsKLSAgICAgICAgICAgIGlmIChwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpKQotICAgICAgICAg
ICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQ
cm9jZXNzUHJveHk6OlByb2Nlc3NSZWFkeVRvU3VzcGVuZChyZXF1ZXN0VG9TdXNwZW5kSUQpLCAw
KTsKLSAgICAgICAgfSk7Ci0gICAgfQorICAgIFJlZlB0cjxDYWxsYmFja0FnZ3JlZ2F0b3I+IGNh
bGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFt0aGlzLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewor
ICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nl
c3M6OnByZXBhcmVUb1N1c3BlbmQoKSBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiLCB0aGlz
KTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9KTsKIAogICAgIHBsYXRmb3Jt
UHJlcGFyZVRvU3VzcGVuZChbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogICAgIHBsYXRmb3Jt
U3luY0FsbENvb2tpZXMoW2NhbGxiYWNrQWdncmVnYXRvcl0geyB9KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCAyYTk1NWZkYWJlYzcxOGM5
YjhmYzgwNmIyZWQ0ZWM2ZjRlNDQyMDc4Li40YjUxODZhNDg4ZmRlODRmM2IwYmQyNmI0MDlhNGZm
YTE2NmZiMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCkBAIC0xNzUsNyArMTc1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2b2lkIHBy
b2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nU3luYyhDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwotICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0
VG9TdXNwZW5kSUQsIGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQpOworICAgIHZvaWQgcHJlcGFy
ZVRvU3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgcHJvY2Vzc0RpZFJlc3VtZSgpOwogICAgIHZvaWQgcmVzdW1l
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGRhZjc5YTlhNjVjZDQ0ZjliYzYzODk5NGJlNjRiM2Nk
OTAxMDE1ZmUuLjI5YWRmYmU5YWI0Y2RmZjhlNmI0NmIyYTg0MGUyODY0MzY1YTNhNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5t
ZXNzYWdlcy5pbgpAQCAtNzUsNyArNzUsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgUHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0ZvcmVncm91bmQoKQog
CiAgICAgUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmdTeW5jKCkgLT4gKCkg
U3luY2hyb25vdXMKLSAgICBQcmVwYXJlVG9TdXNwZW5kKHVpbnQ2NF90IHJlcXVlc3RUb1N1c3Bl
bmRJRCwgYm9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCkKKyAgICBQcmVwYXJlVG9TdXNwZW5kKGJv
b2wgaXNTdXNwZW5zaW9uSW1taW5lbnQpIC0+ICgpIEFzeW5jCiAgICAgUHJvY2Vzc0RpZFJlc3Vt
ZSgpCiAKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNzY4YTRkODU3NDJk
YTUxZmEyNjVhY2E5OTkwMzBhNTlmOTk1ZGZlZi4uYTNmODU0NjU2ZDA1MzVjMTg1YzRmYWM5OTk1
MGYyY2ZiYzRhYjljMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCkBAIC03NjExLDcgKzc2MTEsNyBAQCAtIChfV0tGcmFtZUhhbmRsZSAqKV9t
YWluRnJhbWUKIC0gKHZvaWQpX3Byb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5n
CiB7CiAgICAgaWYgKF9wYWdlKQotICAgICAgICBfcGFnZS0+cHJvY2VzcygpLnNlbmRQcmVwYXJl
VG9TdXNwZW5kKDAsIFdlYktpdDo6SXNTdXNwZW5zaW9uSW1taW5lbnQ6Olllcyk7CisgICAgICAg
IF9wYWdlLT5wcm9jZXNzKCkuc2VuZFByZXBhcmVUb1N1c3BlbmQoV2ViS2l0OjpJc1N1c3BlbnNp
b25JbW1pbmVudDo6WWVzLCBbXSB7IH0pOwogfQogCiAtICh2b2lkKV9wcm9jZXNzRGlkUmVzdW1l
Rm9yVGVzdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggYWY3YzkyN2U1MGUzMTJmNGE2MDJlZWJjYzMz
ZDA2NTc5NWU0OTQzMi4uYWY1YzU1MjhiMjdlZjA0ZDAzOTIwMDcxNzdlZWE4NGZlMjg2ZTE0MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCkBAIC0xMDc0LDEwICsxMDc0LDkgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpzZW5kUHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmcoKQogICAg
ICAgICBzZW5kU3luYyhNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlByb2Nlc3NXaWxsU3VzcGVu
ZEltbWluZW50bHlGb3JUZXN0aW5nU3luYygpLCBNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlBy
b2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nU3luYzo6UmVwbHkoKSwgMCk7CiB9
CiAgICAgCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNlbmRQcmVwYXJlVG9TdXNwZW5kKHVp
bnQ2NF90IHJlcXVlc3RUb1N1c3BlbmRJRCwgSXNTdXNwZW5zaW9uSW1taW5lbnQgaXNTdXNwZW5z
aW9uSW1taW5lbnQpCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNlbmRQcmVwYXJlVG9TdXNw
ZW5kKElzU3VzcGVuc2lvbkltbWluZW50IGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKGNhblNlbmRN
ZXNzYWdlKCkpCi0gICAgICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpQcmVwYXJl
VG9TdXNwZW5kKHJlcXVlc3RUb1N1c3BlbmRJRCwgaXNTdXNwZW5zaW9uSW1taW5lbnQgPT0gSXNT
dXNwZW5zaW9uSW1taW5lbnQ6OlllcyksIDApOworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6TmV0d29ya1Byb2Nlc3M6OlByZXBhcmVUb1N1c3BlbmQoaXNTdXNwZW5zaW9uSW1taW5l
bnQgPT0gSXNTdXNwZW5zaW9uSW1taW5lbnQ6OlllcyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZW5kUHJvY2Vzc0RpZFJlc3Vt
ZSgpCkBAIC0xMDg2LDExICsxMDg1LDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZW5k
UHJvY2Vzc0RpZFJlc3VtZSgpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNz
OjpQcm9jZXNzRGlkUmVzdW1lKCksIDApOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6
OnByb2Nlc3NSZWFkeVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9TdXNwZW5kSUQpCi17Ci0g
ICAgbV90aHJvdHRsZXIucHJvY2Vzc1JlYWR5VG9TdXNwZW5kKHJlcXVlc3RUb1N1c3BlbmRJRCk7
Ci19Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkU2V0QXNzZXJ0aW9uU3RhdGUoQXNz
ZXJ0aW9uU3RhdGUpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IDcxZTUwNDRkNDM3ZDA1MmIzN2YyYWYy
ZGFkNDE3MzM1MjAzNTQwN2MuLmUxMGYwZTAyYjdjMzdiNzc1MDFiMTUxNjJkZWYxZDY4YTdmZmMy
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5oCkBAIC0xNTksOCArMTU5LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
U2hvdWxkRG93bmdyYWRlUmVmZXJyZXJGb3JUZXN0aW5nKGJvb2wsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzRm9y
VGVzdGluZyhQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICNlbmRpZgotCi0gICAgdm9pZCBwcm9jZXNzUmVhZHlUb1N1c3BlbmQodWludDY0X3QgcmVx
dWVzdFRvU3VzcGVuZElEKTsKICAgICAKICAgICB2b2lkIHNlbmRQcm9jZXNzRGlkVHJhbnNpdGlv
blRvRm9yZWdyb3VuZCgpOwogICAgIHZvaWQgc2VuZFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9CYWNr
Z3JvdW5kKCk7CkBAIC0yMDgsNyArMjA2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyQ2Fs
bGJhY2tTdGF0ZXMoKTsKIAogICAgIC8vIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQKLSAgICB2b2lk
IHNlbmRQcmVwYXJlVG9TdXNwZW5kKHVpbnQ2NF90IHJlcXVlc3RUb1N1c3BlbmRJRCwgSXNTdXNw
ZW5zaW9uSW1taW5lbnQpIGZpbmFsOworICAgIHZvaWQgc2VuZFByZXBhcmVUb1N1c3BlbmQoSXNT
dXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CiAg
ICAgdm9pZCBkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgZmluYWw7CiAKICAg
ICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDMxZGI0OGFiZmUyZmU2ZTc4ZmQyZWUzNjNjODc3NWY4NzIzMWIxMDYuLjUwNThkOGRk
NWE2YWYyNWI1YTBhMTQ0NTE5OWVmYjQzOWM4M2EzYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KQEAgLTMxLDcgKzMxLDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94
eSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICBUZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2Vz
V2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoV2ViS2l0OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBh
Z2VJRCkgLT4gKGJvb2wgaGFuZGxlZCkgU3luY2hyb25vdXMKIAotICAgIFByb2Nlc3NSZWFkeVRv
U3VzcGVuZCh1aW50NjRfdCBwZW5kaW5nUmVxdWVzdFRvU3VzcGVuZElEKQogICAgIFNldElzSG9s
ZGluZ0xvY2tlZEZpbGVzKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpCiAKICAgICAjIERpYWdu
b3N0aWMgbWVzc2FnZXMgbG9nZ2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUHJvY2Vzc1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNz
VGhyb3R0bGVyLmNwcAppbmRleCA2ZjkwNGRjZmVjZGU2MzliZjg2MzRhZDExYjE5ZjFmNjQ4ODRh
MjJmLi43YzQ1ZjIwMWRmNzU0NTQ0MzRmY2U4ZWRiZjVmYmM4M2I4MjhlNTY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMTIzLDEzICsxMjMs
MTEgQEAgdm9pZCBQcm9jZXNzVGhyb3R0bGVyOjpwcmVwYXJlVG9TdXNwZW5kVGltZW91dFRpbWVy
RmlyZWQoKQogICAgIHVwZGF0ZUFzc2VydGlvblN0YXRlTm93KCk7CiB9CiAgICAgCi12b2lkIFBy
b2Nlc3NUaHJvdHRsZXI6OnByb2Nlc3NSZWFkeVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9T
dXNwZW5kSUQpCit2b2lkIFByb2Nlc3NUaHJvdHRsZXI6OnByb2Nlc3NSZWFkeVRvU3VzcGVuZCgp
CiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQocmVxdWVzdFRvU3VzcGVuZElEKTsKLSAgICBpZiAoIW1f
cGVuZGluZ1JlcXVlc3RUb1N1c3BlbmRJRCB8fCAqbV9wZW5kaW5nUmVxdWVzdFRvU3VzcGVuZElE
ICE9IHJlcXVlc3RUb1N1c3BlbmRJRCkKLSAgICAgICAgcmV0dXJuOworICAgIFJFTEVBU0VfTE9H
KFByb2Nlc3NTdXNwZW5zaW9uLCAiW1BJRDogJWRdICVwIC0gUHJvY2Vzc1Rocm90dGxlcjo6cHJv
Y2Vzc1JlYWR5VG9TdXNwZW5kKCkgVXBkYXRpbmcgcHJvY2VzcyBhc3NlcnRpb24gdG8gYWxsb3cg
c3VzcGVuc2lvbiIsIG1fcHJvY2Vzc0lkZW50aWZpZXIsIHRoaXMpOwogCi0gICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICJbUElEOiAlZF0gJXAgLSBQcm9jZXNzVGhyb3R0bGVyOjpw
cm9jZXNzUmVhZHlUb1N1c3BlbmQoJSIgUFJJdTY0ICIpIFVwZGF0aW5nIHByb2Nlc3MgYXNzZXJ0
aW9uIHRvIGFsbG93IHN1c3BlbnNpb24iLCBtX3Byb2Nlc3NJZGVudGlmaWVyLCB0aGlzLCByZXF1
ZXN0VG9TdXNwZW5kSUQpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcGVuZGluZ1JlcXVlc3RUb1N1
c3BlbmRJRCk7CiAgICAgY2xlYXJQZW5kaW5nUmVxdWVzdFRvU3VzcGVuZCgpOwogCiAgICAgaWYg
KG1fYXNzZXJ0aW9uLT5zdGF0ZSgpICE9IEFzc2VydGlvblN0YXRlOjpTdXNwZW5kZWQpCkBAIC0x
NTIsNyArMTUwLDEwIEBAIHZvaWQgUHJvY2Vzc1Rocm90dGxlcjo6c2VuZFByZXBhcmVUb1N1c3Bl
bmRJUEMoSXNTdXNwZW5zaW9uSW1taW5lbnQgaXNTdXNwZW5zaW9uCiAgICAgfSBlbHNlIHsKICAg
ICAgICAgbV9wZW5kaW5nUmVxdWVzdFRvU3VzcGVuZElEID0gZ2VuZXJhdGVQcmVwYXJlVG9TdXNw
ZW5kUmVxdWVzdElEKCk7CiAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
W1BJRDogJWRdICVwIC0gUHJvY2Vzc1Rocm90dGxlcjo6c2VuZFByZXBhcmVUb1N1c3BlbmRJUEMo
KSBTZW5kaW5nIFByZXBhcmVUb1N1c3BlbmQoJSIgUFJJdTY0ICIsIGlzU3VzcGVuc2lvbkltbWlu
ZW50OiAlZCkgSVBDIiwgbV9wcm9jZXNzSWRlbnRpZmllciwgdGhpcywgKm1fcGVuZGluZ1JlcXVl
c3RUb1N1c3BlbmRJRCwgaXNTdXNwZW5zaW9uSW1taW5lbnQgPT0gSXNTdXNwZW5zaW9uSW1taW5l
bnQ6Olllcyk7Ci0gICAgICAgIG1fcHJvY2Vzcy5zZW5kUHJlcGFyZVRvU3VzcGVuZCgqbV9wZW5k
aW5nUmVxdWVzdFRvU3VzcGVuZElELCBpc1N1c3BlbnNpb25JbW1pbmVudCk7CisgICAgICAgIG1f
cHJvY2Vzcy5zZW5kUHJlcGFyZVRvU3VzcGVuZChpc1N1c3BlbnNpb25JbW1pbmVudCwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXF1ZXN0VG9TdXNwZW5kSUQgPSAqbV9w
ZW5kaW5nUmVxdWVzdFRvU3VzcGVuZElEXSgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKHdl
YWtUaGlzICYmIG1fcGVuZGluZ1JlcXVlc3RUb1N1c3BlbmRJRCAmJiAqbV9wZW5kaW5nUmVxdWVz
dFRvU3VzcGVuZElEID09IHJlcXVlc3RUb1N1c3BlbmRJRCkKKyAgICAgICAgICAgICAgICBwcm9j
ZXNzUmVhZHlUb1N1c3BlbmQoKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgc2V0QXNzZXJ0
aW9uU3RhdGUoaXNTdXNwZW5zaW9uSW1taW5lbnQgPT0gSXNTdXNwZW5zaW9uSW1taW5lbnQ6Olll
cyA/IEFzc2VydGlvblN0YXRlOjpTdXNwZW5kZWQgOiBBc3NlcnRpb25TdGF0ZTo6QmFja2dyb3Vu
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVy
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmgKaW5kZXggYjU4
MDYyMzVmZjRmYjVjMTI0NjZhMDg3NmJmNmZmNGI3ZTEzZDE0My4uOTc2MjI4YjQ5N2EwOGI1NDQ5
OWFkMzY4OWJkNGQ0YTE0YjQwOWEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUHJvY2Vzc1Rocm90dGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NUaHJvdHRsZXIuaApAQCAtNDUsNyArNDUsNyBAQCBlbnVtIGNsYXNzIElzU3VzcGVuc2lvbklt
bWluZW50IDogYm9vbCB7IE5vLCBZZXMgfTsKIAogY2xhc3MgUHJvY2Vzc1Rocm90dGxlckNsaWVu
dDsKIAotY2xhc3MgUHJvY2Vzc1Rocm90dGxlciA6IHByaXZhdGUgUHJvY2Vzc0Fzc2VydGlvbjo6
Q2xpZW50IHsKK2NsYXNzIFByb2Nlc3NUaHJvdHRsZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UHJvY2Vzc1Rocm90dGxlcj4sIHByaXZhdGUgUHJvY2Vzc0Fzc2VydGlvbjo6Q2xpZW50IHsKIHB1
YmxpYzoKICAgICBlbnVtIEZvcmVncm91bmRBY3Rpdml0eUNvdW50ZXJUeXBlIHsgfTsKICAgICB0
eXBlZGVmIFJlZkNvdW50ZXI8Rm9yZWdyb3VuZEFjdGl2aXR5Q291bnRlclR5cGU+IEZvcmVncm91
bmRBY3Rpdml0eUNvdW50ZXI7CkBAIC02MCw3ICs2MCw2IEBAIHB1YmxpYzoKICAgICBCYWNrZ3Jv
dW5kQWN0aXZpdHlUb2tlbiBiYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpIGNvbnN0OwogICAgIAog
ICAgIHZvaWQgZGlkQ29ubmVjdFRvUHJvY2VzcyhQcm9jZXNzSUQpOwotICAgIHZvaWQgcHJvY2Vz
c1JlYWR5VG9TdXNwZW5kKHVpbnQ2NF90IHBlbmRpbmdSZXF1ZXN0VG9TdXNwZW5kSUQpOwogICAg
IGJvb2wgc2hvdWxkQmVSdW5uYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZENvdW50
ZXIudmFsdWUoKSB8fCBtX2JhY2tncm91bmRDb3VudGVyLnZhbHVlKCk7IH0KIAogcHJpdmF0ZToK
QEAgLTcwLDYgKzY5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldEFzc2VydGlvblN0YXRlKEFz
c2VydGlvblN0YXRlKTsKICAgICB2b2lkIHByZXBhcmVUb1N1c3BlbmRUaW1lb3V0VGltZXJGaXJl
ZCgpOwogICAgIHZvaWQgc2VuZFByZXBhcmVUb1N1c3BlbmRJUEMoSXNTdXNwZW5zaW9uSW1taW5l
bnQpOworICAgIHZvaWQgcHJvY2Vzc1JlYWR5VG9TdXNwZW5kKCk7CiAKICAgICAvLyBQcm9jZXNz
QXNzZXJ0aW9uQ2xpZW50CiAgICAgdm9pZCB1aUFzc2VydGlvbldpbGxFeHBpcmVJbW1pbmVudGx5
KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNz
VGhyb3R0bGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0
bGVyQ2xpZW50LmgKaW5kZXggMGRjODkwZWY4MjFlZmNhNzEyMzYwYzI1YjYyZDk1M2Q2OTNlMzM5
NS4uZDZjZDAzYzI5ODYyNzc2Y2U3NjVlNTdhYWZkNGMyYmNmMTI3ZTA3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlckNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXJDbGllbnQuaApAQCAtMzYsNyAr
MzYsNyBAQCBjbGFzcyBQcm9jZXNzVGhyb3R0bGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5Qcm9jZXNzVGhyb3R0bGVyQ2xpZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2Vu
ZFByZXBhcmVUb1N1c3BlbmQodWludDY0X3QgcmVxdWVzdFRvU3VzcGVuZElELCBJc1N1c3BlbnNp
b25JbW1pbmVudCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZW5kUHJlcGFyZVRvU3VzcGVuZChJ
c1N1c3BlbnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNlbmRQcm9jZXNzRGlkUmVzdW1lKCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgPSAwOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGMyNGY4MDgzYjdi
MmMwOTQ3MjhmMTdhMmU4MzQ2MDE4YzgzOTdjOGEuLjBhZWE1YmE5NmVhMGIyNTRjZjQ4ODdiYTli
ZDc0MDJlNTBhNjBiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcApAQCAtMTIxNywxMCArMTIxNyw5IEBAIFJlZlB0cjxBUEk6Ok9iamVjdD4gV2ViUHJv
Y2Vzc1Byb3h5Ojp0cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKEFQSTo6T2JqZWN0KiBvYmplCiAg
ICAgcmV0dXJuIFVzZXJEYXRhOjp0cmFuc2Zvcm0ob2JqZWN0LCBUcmFuc2Zvcm1lcigpKTsKIH0K
IAotdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRQcmVwYXJlVG9TdXNwZW5kKHVpbnQ2NF90IHJl
cXVlc3RUb1N1c3BlbmRJRCwgSXNTdXNwZW5zaW9uSW1taW5lbnQgaXNTdXNwZW5zaW9uSW1taW5l
bnQpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZFByZXBhcmVUb1N1c3BlbmQoSXNTdXNwZW5z
aW9uSW1taW5lbnQgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBpZiAoY2FuU2VuZE1lc3NhZ2UoKSkKLSAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6UHJlcGFyZVRvU3VzcGVuZChyZXF1ZXN0
VG9TdXNwZW5kSUQsIGlzU3VzcGVuc2lvbkltbWluZW50ID09IElzU3VzcGVuc2lvbkltbWluZW50
OjpZZXMpLCAwKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6
OlByZXBhcmVUb1N1c3BlbmQoaXNTdXNwZW5zaW9uSW1taW5lbnQgPT0gSXNTdXNwZW5zaW9uSW1t
aW5lbnQ6OlllcyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OnNlbmRQcm9jZXNzRGlkUmVzdW1lKCkKQEAgLTEyMjksMTEgKzEyMjgsNiBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZFByb2Nlc3NEaWRSZXN1bWUoKQogICAgICAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpQcm9jZXNzRGlkUmVzdW1lKCksIDApOwogfQogCi12
b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1JlYWR5VG9TdXNwZW5kKHVpbnQ2NF90IHJlcXVl
c3RUb1N1c3BlbmRJRCkKLXsKLSAgICBtX3Rocm90dGxlci5wcm9jZXNzUmVhZHlUb1N1c3BlbmQo
cmVxdWVzdFRvU3VzcGVuZElEKTsKLX0KLQogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFz
c2VydGlvblN0YXRlKEFzc2VydGlvblN0YXRlIHN0YXRlKQogewogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGMw
ZTA0MWM1MmMyZTlhYWMzZWZlYTJiNWM4Y2Q1NzZlZGQ3OGViM2YuLjA2MzJiNjk3NThkZTkxOGNk
NjhmNGFkYzdjZmM2ODMwMTIxYmFmMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCkBAIC0yMjMsOCArMjIzLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCB3aW5k
b3dTZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFuZ2VkKCk7CiAKLSAgICB2b2lkIHByb2Nlc3NSZWFk
eVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9TdXNwZW5kSUQpOwotCiAgICAgdm9pZCBzZXRJ
c0hvbGRpbmdMb2NrZWRGaWxlcyhib29sKTsKIAogICAgIFByb2Nlc3NUaHJvdHRsZXImIHRocm90
dGxlcigpIHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9CkBAIC0yOTgsOSArMjk2LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JNYWluRnJhbWUoY29uc3QgVVJM
Jik7CiAKICAgICAvLyBQcm9jZXNzVGhyb3R0bGVyQ2xpZW50Ci0gICAgdm9pZCBzZW5kUHJlcGFy
ZVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9TdXNwZW5kSUQsIElzU3VzcGVuc2lvbkltbWlu
ZW50KSBvdmVycmlkZTsKLSAgICB2b2lkIHNlbmRQcm9jZXNzRGlkUmVzdW1lKCkgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkgb3ZlcnJpZGU7
CisgICAgdm9pZCBzZW5kUHJlcGFyZVRvU3VzcGVuZChJc1N1c3BlbnNpb25JbW1pbmVudCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKKyAgICB2b2lkIHNlbmRQcm9jZXNzRGlk
UmVzdW1lKCkgZmluYWw7CisgICAgdm9pZCBkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25T
dGF0ZSkgZmluYWw7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBlbnVtIFNhbmRib3hFeHRl
bnNpb25UeXBlIDogdWludDMyX3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGViNGIyOWM5YjljYTUwNzZhNDNhYzY5
ZDA3YjliZjA2NWViMGViZDkuLjFmZWY4ZWQxMGRmMGUwNjhmYjE5YTRhNWMzZTA2ZTllYzIzZTFm
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4KQEAgLTM3LDcgKzM3LDYgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbih1aW50NjRf
dCBwbHVnaW5Qcm9jZXNzVG9rZW4pIC0+IChJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkhhbmRs
ZSwgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91c0luaXRpYWxpemF0aW9uKSBTeW5jaHJvbm91cwog
I2VuZGlmCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkgLT4gKHN0cnVjdCBXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkluZm8gY29ubmVjdGlvbkluZm8pIFN5bmNocm9u
b3VzCi0gICAgUHJvY2Vzc1JlYWR5VG9TdXNwZW5kKHVpbnQ2NF90IHJlcXVlc3RUb1N1c3BlbmRJ
RCkKIAogICAgIFNldElzSG9sZGluZ0xvY2tlZEZpbGVzKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmls
ZXMpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAzYTc5MDAy
NWIxM2I2NjM0ODk1OWMwNDM5MjAwNzgwMzVhODI1Yzc3Li5kMjBhMzQxZjUyZTk0YTNjMGU3OWRh
NTViZGYyZTgyMTRkMDY3ZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCkBAIC0xMzc3LDE5ICsxMzc3LDE2IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRBbGxHZW9s
b2NhdGlvblBlcm1pc3Npb25zKCkKIH0KICNlbmRpZgogCi12b2lkIFdlYlByb2Nlc3M6OnByZXBh
cmVUb1N1c3BlbmQodWludDY0X3QgcmVxdWVzdFRvU3VzcGVuZElELCBib29sIGlzU3VzcGVuc2lv
bkltbWluZW50KQordm9pZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNw
ZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJv
Y2Vzczo6cHJlcGFyZVRvU3VzcGVuZCglIiBQUkl1NjQgIikgaXNTdXNwZW5zaW9uSW1taW5lbnQ6
ICVkIiwgdGhpcywgcmVxdWVzdFRvU3VzcGVuZElELCBpc1N1c3BlbnNpb25JbW1pbmVudCk7Cisg
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByZXBh
cmVUb1N1c3BlbmQoKSBpc1N1c3BlbnNpb25JbW1pbmVudDogJWQiLCB0aGlzLCBpc1N1c3BlbnNp
b25JbW1pbmVudCk7CiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gc3VzcGVuc2lvblNjb3BlKG1faXNT
dXNwZW5kaW5nLCB0cnVlKTsKICAgICBtX3Byb2Nlc3NJc1N1c3BlbmRlZCA9IHRydWU7CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6
UHJld2FybWVkV2ViQ29udGVudCkgewotICAgICAgICBpZiAocmVxdWVzdFRvU3VzcGVuZElEKSB7
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJv
Y2Vzczo6cHJlcGFyZVRvU3VzcGVuZCgpIFNlbmRpbmcgUHJvY2Vzc1JlYWR5VG9TdXNwZW5kKCUi
IFBSSXU2NCAiKSBJUEMgbWVzc2FnZSIsIHRoaXMsIHJlcXVlc3RUb1N1c3BlbmRJRCk7Ci0gICAg
ICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzUHJveHk6OlByb2Nlc3NSZWFkeVRvU3VzcGVuZChyZXF1ZXN0VG9TdXNwZW5kSUQpLCAwKTsK
LSAgICAgICAgfQotICAgICAgICByZXR1cm47CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NT
dXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCkgUHJvY2VzcyBp
cyByZWFkeSB0byBzdXNwZW5kIiwgdGhpcyk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcigpOwogICAgIH0KICNlbmRpZgogCkBAIC0xNDE3LDE2ICsxNDE0LDE0IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9TdXNwZW5kSUQsIGJv
b2wgaXNTdXNwZW5zaW9uCiAgICAgdXBkYXRlRnJlZXplclN0YXR1cygpOwogI2VuZGlmCiAKLSAg
ICBtYXJrQWxsTGF5ZXJzVm9sYXRpbGUoW3RoaXMsIHJlcXVlc3RUb1N1c3BlbmRJRF0oYm9vbCBz
dWNjZXNzKSB7CisgICAgbWFya0FsbExheWVyc1ZvbGF0aWxlKFt0aGlzLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHN1Y2Nlc3MpIG11dGFibGUg
ewogICAgICAgICBpZiAoc3VjY2VzcykKICAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NT
dXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUoKSBTdWNj
ZXNzZnVseSBtYXJrZWQgYWxsIGxheWVycyBhcyB2b2xhdGlsZSIsIHRoaXMpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2Vi
UHJvY2Vzczo6bWFya0FsbExheWVyc1ZvbGF0aWxlKCkgRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVy
cyBhcyB2b2xhdGlsZSIsIHRoaXMpOwogCi0gICAgICAgIGlmIChyZXF1ZXN0VG9TdXNwZW5kSUQp
IHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQ
cm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCkgU2VuZGluZyBQcm9jZXNzUmVhZHlUb1N1c3BlbmQo
JSIgUFJJdTY0ICIpIElQQyBtZXNzYWdlIiwgdGhpcywgcmVxdWVzdFRvU3VzcGVuZElEKTsKLSAg
ICAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBy
b2Nlc3NQcm94eTo6UHJvY2Vzc1JlYWR5VG9TdXNwZW5kKHJlcXVlc3RUb1N1c3BlbmRJRCksIDAp
OwotICAgICAgICB9CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAg
LSBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCkgUHJvY2VzcyBpcyByZWFkeSB0byBzdXNw
ZW5kIiwgdGhpcyk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDdlZDYyYTYyOWFjNmJiYTJh
MjY0NGJiOTM0MDJmNzZkMzhhMGI5MzEuLjk1NTA5OGIzOGY3NTA4Y2ZmODM4MTljNGNkOTg4MTFk
NWZjMjNkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMjM0LDcg
KzIzNCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0
bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcyk7CiAKLSAgICB2b2lkIHByZXBhcmVU
b1N1c3BlbmQodWludDY0X3QgcmVxdWVzdFRvU3VzcGVuZElELCBib29sIGlzU3VzcGVuc2lvbklt
bWluZW50KTsKKyAgICB2b2lkIHByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNpb25JbW1p
bmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHByb2Nlc3NEaWRS
ZXN1bWUoKTsKIAogICAgIHZvaWQgc2VuZFByZXdhcm1JbmZvcm1hdGlvbihjb25zdCBVUkwmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5k
ZXggZmIxNTRlZDdhMWFkZjMxZDNmYTg3NGMwMTI3OWVjZTY1NDg4OGQyZS4uYjlmOWY2MGQwYzdh
NjM2ZjdjMjk0ZWM4NDM3M2JlOTM1MDliMGNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTkzLDcgKzkzLDcgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRW5zdXJlQXV0b21hdGlvblNlc3Np
b25Qcm94eShTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIpCiAgICAgRGVzdHJveUF1dG9tYXRpb25T
ZXNzaW9uUHJveHkoKQogCi0gICAgUHJlcGFyZVRvU3VzcGVuZCh1aW50NjRfdCByZXF1ZXN0VG9T
dXNwZW5kSUQsIGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQpCisgICAgUHJlcGFyZVRvU3VzcGVu
ZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50KSAtPiAoKSBBc3luYwogICAgIFByb2Nlc3NEaWRS
ZXN1bWUoKQogCiAgICAgTWFpblRocmVhZFBpbmcoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>