<?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>156868</bug_id>
          
          <creation_ts>2016-04-21 14:12:38 -0700</creation_ts>
          <short_desc>Modern IDB (Workers): Move IDBConnectionProxy into IDBRequest and IDBDatabase</short_desc>
          <delta_ts>2016-04-21 16:24:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>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>
          
          <blocked>149117</blocked>
    
    <blocked>149953</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185945</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-21 14:12:38 -0700</bug_when>
    <thetext>Modern IDB (Workers): Move IDBConnectionProxy into IDBRequest and IDBDatabase

After this, everybody else who used to hold on to their IDBConnectionToServer directly will instead either reference the IDBConnectionProxy held by either the Request or the Database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185974</commentid>
    <comment_count>1</comment_count>
      <attachid>276968</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-04-21 15:15:35 -0700</bug_when>
    <thetext>Created attachment 276968
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186003</commentid>
    <comment_count>2</comment_count>
      <attachid>276968</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-21 16:24:51 -0700</bug_when>
    <thetext>Comment on attachment 276968
Patch v1

Clearing flags on attachment: 276968

Committed r199843: &lt;http://trac.webkit.org/changeset/199843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186004</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-21 16:24:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276968</attachid>
            <date>2016-04-21 15:15:35 -0700</date>
            <delta_ts>2016-04-21 16:24:51 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>20211</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhYjM2Y2MxLi5iZWRjYTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDcg
QEAKIDIwMTYtMDQtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIE1vZGVybiBJREIgKFdvcmtlcnMpOiBNb3ZlIElEQkNvbm5lY3Rpb25Qcm94eSBpbnRvIElE
QlJlcXVlc3QgYW5kIElEQkRhdGFiYXNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2ODY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChObyBiZWhhdmlvciBjaGFuZ2UpLgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFz
ZTo6SURCRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6On5JREJEYXRh
YmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6Om1heWJlQ2xvc2VJblNlcnZlcik6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkRhdGFiYXNlOjpjb25uZWN0aW9uUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJh
c2U6OnNlcnZlckNvbm5lY3Rpb24pOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
T3BlbkRCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0Ojpj
cmVhdGVEZWxldGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Q6
OmNyZWF0ZU9wZW5SZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Q6
OklEQk9wZW5EQlJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCT3BlbkRCUmVxdWVzdDo6
b25TdWNjZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Q6Om9uVXBncmFk
ZU5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpyZXF1ZXN0Q29t
cGxldGVkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Q6Om1heWJlQ3JlYXRl
RGVsZXRlUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1
ZXN0OjptYXliZUNyZWF0ZU9wZW5SZXF1ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0Lmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OklEQlJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6Y29ubmVjdGlvblRvU2VydmVy
KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0Ojpjb25uZWN0aW9uUHJveHkpOgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaDoKKworICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHk6Om9wZW5EYXRhYmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eTo6ZGVsZXRlRGF0YWJh
c2UpOgorCisyMDE2LTA0LTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwog
ICAgICAgICBNb2Rlcm4gSURCIChXb3JrZXJzKTogTW9yZSBJREJDb25uZWN0aW9uUHJveHkgcmVm
YWN0b3JpbmcuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTY4NTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2UuY3BwCmluZGV4IDBiMGZjYTMuLjBmMDViOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCisjaW5j
bHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblRvU2Vy
dmVyLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKICNpbmNsdWRlICJJREJP
YmplY3RTdG9yZS5oIgpAQCAtNDIsMjYgKzQzLDI2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotUmVmPElEQkRhdGFiYXNlPiBJREJEYXRhYmFzZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0
aW9uLCBjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQorUmVmPElEQkRhdGFiYXNlPiBJ
REJEYXRhYmFzZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5JiBjb25uZWN0aW9uUHJveHksIGNvbnN0IElEQlJlc3Vs
dERhdGEmIHJlc3VsdERhdGEpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCRGF0YWJh
c2UoY29udGV4dCwgY29ubmVjdGlvbiwgcmVzdWx0RGF0YSkpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IElEQkRhdGFiYXNlKGNvbnRleHQsIGNvbm5lY3Rpb25Qcm94eSwgcmVzdWx0RGF0YSkp
OwogfQogCi1JREJEYXRhYmFzZTo6SURCRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24sIGNv
bnN0IElEQlJlc3VsdERhdGEmIHJlc3VsdERhdGEpCitJREJEYXRhYmFzZTo6SURCRGF0YWJhc2Uo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkmIGNvbm5lY3Rpb25Qcm94eSwgY29uc3QgSURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkK
ICAgICA6IFdlYkNvcmU6OkFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc2VydmVy
Q29ubmVjdGlvbihjb25uZWN0aW9uKQorICAgICwgbV9jb25uZWN0aW9uUHJveHkoY29ubmVjdGlv
blByb3h5KQogICAgICwgbV9pbmZvKHJlc3VsdERhdGEuZGF0YWJhc2VJbmZvKCkpCiAgICAgLCBt
X2RhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIocmVzdWx0RGF0YS5kYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyKCkpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQkRhdGFiYXNlOjpJREJE
YXRhYmFzZSAtIENyZWF0aW5nIGRhdGFiYXNlICVzIHdpdGggdmVyc2lvbiAlIiBQUkl1NjQgIiBj
b25uZWN0aW9uICUiIFBSSXU2NCwgbV9pbmZvLm5hbWUoKS51dGY4KCkuZGF0YSgpLCBtX2luZm8u
dmVyc2lvbigpLCBtX2RhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwogICAgIHN1c3BlbmRJ
Zk5lZWRlZCgpOwogICAgIHJlbGF4QWRvcHRpb25SZXF1aXJlbWVudCgpOwotICAgIG1fc2VydmVy
Q29ubmVjdGlvbi0+cmVnaXN0ZXJEYXRhYmFzZUNvbm5lY3Rpb24oKnRoaXMpOworICAgIG1fY29u
bmVjdGlvblByb3h5LT5jb25uZWN0aW9uVG9TZXJ2ZXIoKS5yZWdpc3RlckRhdGFiYXNlQ29ubmVj
dGlvbigqdGhpcyk7CiB9CiAKIElEQkRhdGFiYXNlOjp+SURCRGF0YWJhc2UoKQogewotICAgIG1f
c2VydmVyQ29ubmVjdGlvbi0+dW5yZWdpc3RlckRhdGFiYXNlQ29ubmVjdGlvbigqdGhpcyk7Cisg
ICAgbV9jb25uZWN0aW9uUHJveHktPmNvbm5lY3Rpb25Ub1NlcnZlcigpLnVucmVnaXN0ZXJEYXRh
YmFzZUNvbm5lY3Rpb24oKnRoaXMpOwogfQogCiBib29sIElEQkRhdGFiYXNlOjpoYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdApAQCAtMTgwLDcgKzE4MSw3IEBAIFJlZlB0cjxXZWJDb3JlOjpJREJU
cmFuc2FjdGlvbj4gSURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGF1dG8gaW5mbyA9IElE
QlRyYW5zYWN0aW9uSW5mbzo6Y2xpZW50VHJhbnNhY3Rpb24obV9zZXJ2ZXJDb25uZWN0aW9uLmdl
dCgpLCBvYmplY3RTdG9yZXMsIG1vZGUpOworICAgIGF1dG8gaW5mbyA9IElEQlRyYW5zYWN0aW9u
SW5mbzo6Y2xpZW50VHJhbnNhY3Rpb24obV9jb25uZWN0aW9uUHJveHktPmNvbm5lY3Rpb25Ub1Nl
cnZlcigpLCBvYmplY3RTdG9yZXMsIG1vZGUpOwogICAgIGF1dG8gdHJhbnNhY3Rpb24gPSBJREJU
cmFuc2FjdGlvbjo6Y3JlYXRlKCp0aGlzLCBpbmZvKTsKIAogICAgIExPRyhJbmRleGVkREIsICJJ
REJEYXRhYmFzZTo6dHJhbnNhY3Rpb24gLSBBZGRlZCBhY3RpdmUgdHJhbnNhY3Rpb24gJXMiLCBp
bmZvLmlkZW50aWZpZXIoKS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CkBAIC0yNDQs
NyArMjQ1LDcgQEAgdm9pZCBJREJEYXRhYmFzZTo6bWF5YmVDbG9zZUluU2VydmVyKCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgbV9jbG9zZWRJblNlcnZlciA9IHRydWU7Ci0gICAgbV9zZXJ2ZXJD
b25uZWN0aW9uLT5kYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQoKnRoaXMpOworICAgIG1fY29ubmVj
dGlvblByb3h5LT5jb25uZWN0aW9uVG9TZXJ2ZXIoKS5kYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQo
KnRoaXMpOwogfQogCiBjb25zdCBjaGFyKiBJREJEYXRhYmFzZTo6YWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJh
c2UuaAppbmRleCBhMzIxYWZjLi5jOWI4ZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJE
aWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCisjaW5jbHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCiAjaW5jbHVkZSAiSURC
Q29ubmVjdGlvblRvU2VydmVyLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VJbmZvLmgiCiAKQEAg
LTQ0LDcgKzQ1LDcgQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25JbmZvOwogCiBjbGFzcyBJREJEYXRh
YmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPElEQkRhdGFiYXNlPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8SURCRGF0YWJhc2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImLCBjb25zdCBJREJSZXN1bHREYXRhJik7Cisg
ICAgc3RhdGljIFJlZjxJREJEYXRhYmFzZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYsIGNvbnN0IElEQlJlc3VsdERhdGEmKTsK
IAogICAgIHZpcnR1YWwgfklEQkRhdGFiYXNlKCk7CiAKQEAgLTg2LDcgKzg3LDEwIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZmlyZVZlcnNpb25DaGFuZ2VFdmVudChjb25zdCBJREJSZXNvdXJjZUlk
ZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCB1aW50NjRfdCByZXF1ZXN0ZWRWZXJzaW9uKTsK
IAotICAgIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBzZXJ2ZXJDb25uZWN0aW9u
KCkgeyByZXR1cm4gbV9zZXJ2ZXJDb25uZWN0aW9uLmdldCgpOyB9CisgICAgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkmIGNvbm5lY3Rpb25Qcm94eSgpIHsgcmV0dXJuIG1fY29ubmVjdGlv
blByb3h5LmdldCgpOyB9CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoZSBuZWVkIGZvciB0aGlz
IGFjY2Vzc29yLgorICAgIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBzZXJ2ZXJD
b25uZWN0aW9uKCkgeyByZXR1cm4gbV9jb25uZWN0aW9uUHJveHktPmNvbm5lY3Rpb25Ub1NlcnZl
cigpOyB9CiAKICAgICB2b2lkIGRpZENyZWF0ZUluZGV4SW5mbyhjb25zdCBJREJJbmRleEluZm8m
KTsKICAgICB2b2lkIGRpZERlbGV0ZUluZGV4SW5mbyhjb25zdCBJREJJbmRleEluZm8mKTsKQEAg
LTk4LDEzICsxMDIsMTMgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkg
Y29uc3QgZmluYWw7CiAKIHByaXZhdGU6Ci0gICAgSURCRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiwgY29uc3QgSURCUmVz
dWx0RGF0YSYpOworICAgIElEQkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYsIGNvbnN0IElEQlJlc3VsdERhdGEmKTsKIAogICAg
IHZvaWQgZGlkQ29tbWl0T3JBYm9ydFRyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uJik7CiAKICAg
ICB2b2lkIG1heWJlQ2xvc2VJblNlcnZlcigpOwogCi0gICAgUmVmPElEQkNsaWVudDo6SURCQ29u
bmVjdGlvblRvU2VydmVyPiBtX3NlcnZlckNvbm5lY3Rpb247CisgICAgUmVmPElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5PiBtX2Nvbm5lY3Rpb25Qcm94eTsKICAgICBJREJEYXRhYmFzZUlu
Zm8gbV9pbmZvOwogICAgIHVpbnQ2NF90IG1fZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciB7
IDAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T3BlbkRCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJP
cGVuREJSZXF1ZXN0LmNwcAppbmRleCBkNWQ5Nzc2Li5hYjRjMjM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApAQCAt
NDIsMjggKzQyLDE4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPElEQk9wZW5E
QlJlcXVlc3Q+IElEQk9wZW5EQlJlcXVlc3Q6Om1heWJlQ3JlYXRlRGVsZXRlUmVxdWVzdChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXIm
IGRhdGFiYXNlSWRlbnRpZmllcikKK1JlZjxJREJPcGVuREJSZXF1ZXN0PiBJREJPcGVuREJSZXF1
ZXN0OjpjcmVhdGVEZWxldGVSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5JiBjb25uZWN0aW9uUHJveHksIGNvbnN0IElE
QkRhdGFiYXNlSWRlbnRpZmllciYgZGF0YWJhc2VJZGVudGlmaWVyKQogewotICAgIEFTU0VSVChk
YXRhYmFzZUlkZW50aWZpZXIuaXNWYWxpZCgpKTsKLSAgICBhdXRvKiBwcm94eSA9IGNvbnRleHQu
aWRiQ29ubmVjdGlvblByb3h5KCk7Ci0gICAgaWYgKCFwcm94eSkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQk9wZW5EQlJlcXVlc3QoY29udGV4
dCwgcHJveHktPnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCksIGRhdGFiYXNlSWRlbnRpZmll
ciwgMCwgSW5kZXhlZERCOjpSZXF1ZXN0VHlwZTo6RGVsZXRlKSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgSURCT3BlbkRCUmVxdWVzdChjb250ZXh0LCBjb25uZWN0aW9uUHJveHksIGRhdGFi
YXNlSWRlbnRpZmllciwgMCwgSW5kZXhlZERCOjpSZXF1ZXN0VHlwZTo6RGVsZXRlKSk7CiB9CiAK
LVJlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBJREJPcGVuREJSZXF1ZXN0OjptYXliZUNyZWF0ZU9w
ZW5SZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElEQkRhdGFi
YXNlSWRlbnRpZmllciYgZGF0YWJhc2VJZGVudGlmaWVyLCB1aW50NjRfdCB2ZXJzaW9uKQorUmVm
PElEQk9wZW5EQlJlcXVlc3Q+IElEQk9wZW5EQlJlcXVlc3Q6OmNyZWF0ZU9wZW5SZXF1ZXN0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblBy
b3h5JiBjb25uZWN0aW9uUHJveHksIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYgZGF0YWJh
c2VJZGVudGlmaWVyLCB1aW50NjRfdCB2ZXJzaW9uKQogewotICAgIEFTU0VSVChkYXRhYmFzZUlk
ZW50aWZpZXIuaXNWYWxpZCgpKTsKLSAgICBhdXRvKiBwcm94eSA9IGNvbnRleHQuaWRiQ29ubmVj
dGlvblByb3h5KCk7Ci0gICAgaWYgKCFwcm94eSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0K
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQk9wZW5EQlJlcXVlc3QoY29udGV4dCwgcHJveHkt
PnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCksIGRhdGFiYXNlSWRlbnRpZmllciwgdmVyc2lv
biwgSW5kZXhlZERCOjpSZXF1ZXN0VHlwZTo6T3BlbikpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IElEQk9wZW5EQlJlcXVlc3QoY29udGV4dCwgY29ubmVjdGlvblByb3h5LCBkYXRhYmFzZUlk
ZW50aWZpZXIsIHZlcnNpb24sIEluZGV4ZWREQjo6UmVxdWVzdFR5cGU6Ok9wZW4pKTsKIH0KICAg
ICAKLUlEQk9wZW5EQlJlcXVlc3Q6OklEQk9wZW5EQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgdWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0
IElEQkRhdGFiYXNlSWRlbnRpZmllciYgZGF0YWJhc2VJZGVudGlmaWVyLCB1aW50NjRfdCB2ZXJz
aW9uLCBJbmRleGVkREI6OlJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlKQotICAgIDogSURCUmVxdWVz
dChjb250ZXh0LCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcikKK0lEQk9wZW5EQlJlcXVlc3Q6
OklEQk9wZW5EQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkmIGNvbm5lY3Rpb25Qcm94eSwgY29uc3QgSURCRGF0YWJh
c2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZpZXIsIHVpbnQ2NF90IHZlcnNpb24sIEluZGV4
ZWREQjo6UmVxdWVzdFR5cGUgcmVxdWVzdFR5cGUpCisgICAgOiBJREJSZXF1ZXN0KGNvbnRleHQs
IGNvbm5lY3Rpb25Qcm94eSkKICAgICAsIG1fZGF0YWJhc2VJZGVudGlmaWVyKGRhdGFiYXNlSWRl
bnRpZmllcikKICAgICAsIG1fdmVyc2lvbih2ZXJzaW9uKQogewpAQCAtMTI4LDExICsxMTgsNyBA
QCB2b2lkIElEQk9wZW5EQlJlcXVlc3Q6Om9uU3VjY2Vzcyhjb25zdCBJREJSZXN1bHREYXRhJiBy
ZXN1bHREYXRhKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJPcGVuREJSZXF1ZXN0OjpvblN1
Y2Nlc3MoKSIpOwogCi0gICAgYXV0byogY29ubmVjdGlvbiA9IGNvbm5lY3Rpb25Ub1NlcnZlcigp
OwotICAgIGlmICghY29ubmVjdGlvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc2V0UmVzdWx0
KElEQkRhdGFiYXNlOjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKmNvbm5lY3Rp
b24sIHJlc3VsdERhdGEpKTsKKyAgICBzZXRSZXN1bHQoSURCRGF0YWJhc2U6OmNyZWF0ZSgqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjb25uZWN0aW9uUHJveHkoKSwgcmVzdWx0RGF0YSkpOwog
ICAgIG1faXNEb25lID0gdHJ1ZTsKIAogICAgIGVucXVldWVFdmVudChJREJSZXF1ZXN0Q29tcGxl
dGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN1Y2Nlc3NFdmVudCwgZmFsc2UsIGZhbHNl
LCAqdGhpcykpOwpAQCAtMTQwLDExICsxMjYsNyBAQCB2b2lkIElEQk9wZW5EQlJlcXVlc3Q6Om9u
U3VjY2Vzcyhjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQogCiB2b2lkIElEQk9wZW5E
QlJlcXVlc3Q6Om9uVXBncmFkZU5lZWRlZChjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRh
KQogewotICAgIGF1dG8qIGNvbm5lY3Rpb24gPSBjb25uZWN0aW9uVG9TZXJ2ZXIoKTsKLSAgICBp
ZiAoIWNvbm5lY3Rpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZjxJREJEYXRhYmFzZT4g
ZGF0YWJhc2UgPSBJREJEYXRhYmFzZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
ICpjb25uZWN0aW9uLCByZXN1bHREYXRhKTsKKyAgICBSZWY8SURCRGF0YWJhc2U+IGRhdGFiYXNl
ID0gSURCRGF0YWJhc2U6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjb25uZWN0
aW9uUHJveHkoKSwgcmVzdWx0RGF0YSk7CiAgICAgUmVmPElEQlRyYW5zYWN0aW9uPiB0cmFuc2Fj
dGlvbiA9IGRhdGFiYXNlLT5zdGFydFZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbihyZXN1bHREYXRh
LnRyYW5zYWN0aW9uSW5mbygpLCAqdGhpcyk7CiAKICAgICBBU1NFUlQodHJhbnNhY3Rpb24tPmlu
Zm8oKS5tb2RlKCkgPT0gSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGU6OlZlcnNpb25DaGFuZ2Up
OwpAQCAtMTc5LDIwICsxNjEsMTYgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpyZXF1ZXN0Q29t
cGxldGVkKGNvbnN0IElEQlJlc3VsdERhdGEmIGRhdGEpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwg
IklEQk9wZW5EQlJlcXVlc3Q6OnJlcXVlc3RDb21wbGV0ZWQiKTsKIAotICAgIGF1dG8qIGNvbm5l
Y3Rpb24gPSBjb25uZWN0aW9uVG9TZXJ2ZXIoKTsKLSAgICBpZiAoIWNvbm5lY3Rpb24pCi0gICAg
ICAgIHJldHVybjsKLQogICAgIC8vIElmIGFuIE9wZW4gcmVxdWVzdCB3YXMgY29tcGxldGVkIGFm
dGVyIHRoZSBwYWdlIGhhcyBuYXZpZ2F0ZWQsIGxlYXZpbmcgdGhpcyByZXF1ZXN0CiAgICAgLy8g
d2l0aCBhIHN0b3BwZWQgc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0LCB3ZSBuZWVkIHRvIG1lc3Nh
Z2UgYmFjayB0byB0aGUgc2VydmVyIHNvIGl0CiAgICAgLy8gZG9lc24ndCBoYW5nIHdhaXRpbmcg
b24gYSBkYXRhYmFzZSBjb25uZWN0aW9uIG9yIHRyYW5zYWN0aW9uIHRoYXQgd2lsbCBuZXZlciBl
eGlzdC4KICAgICBpZiAobV9jb250ZXh0U3RvcHBlZCkgewogICAgICAgICBzd2l0Y2ggKGRhdGEu
dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgSURCUmVzdWx0VHlwZTo6T3BlbkRhdGFiYXNlU3VjY2Vz
czoKLSAgICAgICAgICAgIGNvbm5lY3Rpb24tPmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQoZGF0
YS5kYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKCksIElEQlJlc291cmNlSWRlbnRpZmllcjo6
ZW1wdHlWYWx1ZSgpKTsKKyAgICAgICAgICAgIGNvbm5lY3Rpb25Qcm94eSgpLmNvbm5lY3Rpb25U
b1NlcnZlcigpLmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQoZGF0YS5kYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyKCksIElEQlJlc291cmNlSWRlbnRpZmllcjo6ZW1wdHlWYWx1ZSgpKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElEQlJlc3VsdFR5cGU6Ok9wZW5EYXRhYmFz
ZVVwZ3JhZGVOZWVkZWQ6Ci0gICAgICAgICAgICBjb25uZWN0aW9uLT5hYm9ydE9wZW5BbmRVcGdy
YWRlTmVlZGVkKGRhdGEuZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcigpLCBkYXRhLnRyYW5z
YWN0aW9uSW5mbygpLmlkZW50aWZpZXIoKSk7CisgICAgICAgICAgICBjb25uZWN0aW9uUHJveHko
KS5jb25uZWN0aW9uVG9TZXJ2ZXIoKS5hYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKGRhdGEuZGF0
YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcigpLCBkYXRhLnRyYW5zYWN0aW9uSW5mbygpLmlkZW50
aWZpZXIoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT3BlbkRCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T3BlbkRCUmVxdWVzdC5oCmluZGV4IDgxYjZmZmYuLjQyOTRkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9wZW5EQlJlcXVlc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmgKQEAgLTM2LDgg
KzM2LDggQEAgY2xhc3MgSURCUmVzdWx0RGF0YTsKIAogY2xhc3MgSURCT3BlbkRCUmVxdWVzdCBm
aW5hbCA6IHB1YmxpYyBJREJSZXF1ZXN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPElE
Qk9wZW5EQlJlcXVlc3Q+IG1heWJlQ3JlYXRlRGVsZXRlUmVxdWVzdChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJik7Ci0gICAgc3RhdGljIFJlZlB0
cjxJREJPcGVuREJSZXF1ZXN0PiBtYXliZUNyZWF0ZU9wZW5SZXF1ZXN0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImLCB1aW50NjRfdCB2ZXJzaW9u
KTsKKyAgICBzdGF0aWMgUmVmPElEQk9wZW5EQlJlcXVlc3Q+IGNyZWF0ZURlbGV0ZVJlcXVlc3Qo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5Jiwg
Y29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJik7CisgICAgc3RhdGljIFJlZjxJREJPcGVuREJS
ZXF1ZXN0PiBjcmVhdGVPcGVuUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkmLCBjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImLCB1
aW50NjRfdCB2ZXJzaW9uKTsKIAogICAgIHZpcnR1YWwgfklEQk9wZW5EQlJlcXVlc3QoKTsKICAg
ICAKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZmlyZUVycm9yQWZ0ZXJWZXJz
aW9uQ2hhbmdlQ29tcGxldGlvbigpOwogCiBwcml2YXRlOgotICAgIElEQk9wZW5EQlJlcXVlc3Qo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlm
aWVyLCBjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImLCB1aW50NjRfdCB2ZXJzaW9uLCBJbmRl
eGVkREI6OlJlcXVlc3RUeXBlKTsKKyAgICBJREJPcGVuREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYsIGNvbnN0IElEQkRhdGFi
YXNlSWRlbnRpZmllciYsIHVpbnQ2NF90IHZlcnNpb24sIEluZGV4ZWREQjo6UmVxdWVzdFR5cGUp
OwogCiAgICAgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50JikgZmluYWw7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXggZjUzYjRjNC4u
ODk4MDllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5jcHAKQEAgLTY5LDkgKzY5LDEwIEBAIFJlZjxJREJSZXF1ZXN0PiBJREJSZXF1ZXN0Ojpj
cmVhdGVHZXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSURCSW5kZXgmCiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCUmVxdWVzdChjb250ZXh0LCBpbmRleCwgcmVxdWVzdGVk
UmVjb3JkVHlwZSwgdHJhbnNhY3Rpb24pKTsKIH0KIAotSURCUmVxdWVzdDo6SURCUmVxdWVzdChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCB1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRp
ZmllcikKK0lEQlJlcXVlc3Q6OklEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkmIGNvbm5lY3Rpb25Qcm94eSkKICAg
ICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fcmVzb3VyY2VJZGVudGlmaWVy
KGNvbm5lY3Rpb25JZGVudGlmaWVyKQorICAgICwgbV9yZXNvdXJjZUlkZW50aWZpZXIoY29ubmVj
dGlvblByb3h5LnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCkpCisgICAgLCBtX2Nvbm5lY3Rp
b25Qcm94eShjb25uZWN0aW9uUHJveHkpCiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CiB9CkBA
IC04MSw2ICs4Miw3IEBAIElEQlJlcXVlc3Q6OklEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgSURCT2JqZWN0U3RvcmUmIG9iamVjdFN0CiAgICAgLCBtX3RyYW5zYWN0
aW9uKCZ0cmFuc2FjdGlvbikKICAgICAsIG1fcmVzb3VyY2VJZGVudGlmaWVyKHRyYW5zYWN0aW9u
LnNlcnZlckNvbm5lY3Rpb24oKSkKICAgICAsIG1fb2JqZWN0U3RvcmVTb3VyY2UoJm9iamVjdFN0
b3JlKQorICAgICwgbV9jb25uZWN0aW9uUHJveHkodHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5jb25u
ZWN0aW9uUHJveHkoKSkKIHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KQEAgLTkyLDYgKzk0
LDcgQEAgSURCUmVxdWVzdDo6SURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBJREJDdXJzb3ImIGN1cnNvciwgSURCVHIKICAgICAsIG1fb2JqZWN0U3RvcmVTb3VyY2Uo
Y3Vyc29yLm9iamVjdFN0b3JlKCkpCiAgICAgLCBtX2luZGV4U291cmNlKGN1cnNvci5pbmRleCgp
KQogICAgICwgbV9wZW5kaW5nQ3Vyc29yKCZjdXJzb3IpCisgICAgLCBtX2Nvbm5lY3Rpb25Qcm94
eSh0cmFuc2FjdGlvbi5kYXRhYmFzZSgpLmNvbm5lY3Rpb25Qcm94eSgpKQogewogICAgIHN1c3Bl
bmRJZk5lZWRlZCgpOwogCkBAIC0xMDMsNiArMTA2LDcgQEAgSURCUmVxdWVzdDo6SURCUmVxdWVz
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBJREJJbmRleCYgaW5kZXgsIElEQlRy
YW4KICAgICAsIG1fdHJhbnNhY3Rpb24oJnRyYW5zYWN0aW9uKQogICAgICwgbV9yZXNvdXJjZUlk
ZW50aWZpZXIodHJhbnNhY3Rpb24uc2VydmVyQ29ubmVjdGlvbigpKQogICAgICwgbV9pbmRleFNv
dXJjZSgmaW5kZXgpCisgICAgLCBtX2Nvbm5lY3Rpb25Qcm94eSh0cmFuc2FjdGlvbi5kYXRhYmFz
ZSgpLmNvbm5lY3Rpb25Qcm94eSgpKQogewogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogfQpAQCAt
NDA3LDE3ICs0MTEsNiBAQCB2b2lkIElEQlJlcXVlc3Q6OnNldFJlc3VsdChSZWY8SURCRGF0YWJh
c2U+JiYgZGF0YWJhc2UpCiAgICAgbV9kYXRhYmFzZVJlc3VsdCA9IFdURk1vdmUoZGF0YWJhc2Up
OwogfQogCi0vLyBGSVhNRTogVGVtcG9yYXJpbHkgcmVxdWlyZWQgZHVyaW5nIGJyaW5ndXAgb2Yg
SURCLWluLVdvcmtlcnMuCi0vLyBPbmNlIGFsbCBJREIgb2JqZWN0IHJlbGlhbmNlIG9uIHRoZSBJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIgaGFzIGJlZW4gc2hpZnRlZCB0byByZWxpYW5jZSBvbgotLy8g
SURCQ29ubmVjdGlvblByb3h5LCByZW1vdmUgdGhpcy4KLUlEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyKiBJREJSZXF1ZXN0Ojpjb25uZWN0aW9uVG9TZXJ2ZXIoKQotewotICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKLSAgICBhdXRvKiBwcm94eSA9IGNvbnRleHQgPyBjb250ZXh0LT5pZGJDb25uZWN0
aW9uUHJveHkoKSA6IG51bGxwdHI7Ci0gICAgcmV0dXJuIHByb3h5ID8gJnByb3h5LT5jb25uZWN0
aW9uVG9TZXJ2ZXIoKSA6IG51bGxwdHI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IDEwYmM4NmIuLmUyNDYzZTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKQEAgLTQ4LDYg
KzQ4LDcgQEAgY2xhc3MgU2NvcGVHdWFyZDsKIGNsYXNzIFRocmVhZFNhZmVEYXRhQnVmZmVyOwog
CiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKK2NsYXNzIElEQkNvbm5lY3Rpb25Qcm94eTsKIGNsYXNz
IElEQkNvbm5lY3Rpb25Ub1NlcnZlcjsKIH0KIApAQCAtMTA0LDE3ICsxMDUsMTQgQEAgcHVibGlj
OgogICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CiAKIHByb3RlY3Rl
ZDoKLSAgICBJREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCB1aW50NjRfdCBjb25u
ZWN0aW9uSWRlbnRpZmllcik7CisgICAgSURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkmKTsKIAogICAgIHZvaWQgZW5xdWV1ZUV2
ZW50KFJlZjxFdmVudD4mJik7CiAgICAgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50Jikgb3ZlcnJp
ZGU7CiAKICAgICB2b2lkIHNldFJlc3VsdChSZWY8SURCRGF0YWJhc2U+JiYpOwogCi0gICAgLy8g
RklYTUU6IFRlbXBvcmFyaWx5IHJlcXVpcmVkIGR1cmluZyBicmluZ3VwIG9mIElEQi1pbi1Xb3Jr
ZXJzLgotICAgIC8vIE9uY2UgYWxsIElEQiBvYmplY3QgcmVsaWFuY2Ugb24gdGhlIElEQkNvbm5l
Y3Rpb25Ub1NlcnZlciBoYXMgYmVlbiBzaGlmdGVkIHRvIHJlbGlhbmNlIG9uCi0gICAgLy8gSURC
Q29ubmVjdGlvblByb3h5LCByZW1vdmUgdGhpcy4KLSAgICBJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Ub1NlcnZlciogY29ubmVjdGlvblRvU2VydmVyKCk7CisgICAgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkmIGNvbm5lY3Rpb25Qcm94eSgpIHsgcmV0dXJuIG1fY29ubmVjdGlvblByb3h5
LmdldCgpOyB9CiAKICAgICAvLyBGSVhNRTogUHJvdGVjdGVkIGRhdGEgbWVtYmVycyBhcmVuJ3Qg
Z3JlYXQgZm9yIG1haW50YWluYWJpbGl0eS4KICAgICAvLyBDb25zaWRlciBhZGRpbmcgcHJvdGVj
dGVkIGhlbHBlciBmdW5jdGlvbnMgYW5kIG1ha2luZyB0aGVzZSBwcml2YXRlLgpAQCAtMTcwLDYg
KzE2OCw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPElEQkN1cnNvcj4gbV9wZW5kaW5nQ3Vyc29y
OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjb3BlR3VhcmQ+IG1fY3Vyc29yUmVxdWVzdE5vdGlm
aWVyOworCisgICAgUmVmPElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5PiBtX2Nvbm5lY3Rp
b25Qcm94eTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IGQxMTY5ZmQuLjBj
ZmFlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5o
IgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiSURCRXJyb3IuaCIKKyNpbmNs
dWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25JbmZvLmgi
CiAjaW5jbHVkZSAiSW5kZXhlZERCLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKQEAgLTQ4LDcgKzQ5
LDYgQEAgY2xhc3MgSURCS2V5OwogY2xhc3MgSURCS2V5RGF0YTsKIGNsYXNzIElEQk9iamVjdFN0
b3JlOwogY2xhc3MgSURCT2JqZWN0U3RvcmVJbmZvOwotY2xhc3MgSURCT3BlbkRCUmVxdWVzdDsK
IGNsYXNzIElEQlJlc3VsdERhdGE7CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25u
ZWN0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAKaW5kZXggOWM2YWFhYS4uZGVlNGE1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Q
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Qcm94eS5jcHAKQEAgLTU3LDMyICs1NywyNCBAQCBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXImIElEQkNvbm5lY3Rpb25Qcm94eTo6Y29ubmVjdGlvblRvU2VydmVyKCkKIAogUmVmUHRy
PElEQk9wZW5EQlJlcXVlc3Q+IElEQkNvbm5lY3Rpb25Qcm94eTo6b3BlbkRhdGFiYXNlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYg
ZGF0YWJhc2VJZGVudGlmaWVyLCB1aW50NjRfdCB2ZXJzaW9uKQogewotICAgIC8vIEZJWE1FOiBH
ZXQgcmlkIG9mIHRoZSBuZWVkIGZvciBJREIgb2JqZWN0cyB0byBob2xkIGEgcmVmZXJlbmNlIHRv
IHRoZSBJREJDb25uZWN0aW9uVG9TZXJ2ZXIsCi0gICAgLy8gd2hpY2ggd2lsbCBlbmFibGUgdGhl
bSB0byBvcGVyYXRlIG9uIFdvcmtlciB0aHJlYWRzLgorICAgIC8vIEZJWE1FOiBIYW5kbGUgV29y
a2VycwogICAgIGlmICghaXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
Ci0gICAgYXV0byByZXF1ZXN0ID0gSURCT3BlbkRCUmVxdWVzdDo6bWF5YmVDcmVhdGVPcGVuUmVx
dWVzdChjb250ZXh0LCBkYXRhYmFzZUlkZW50aWZpZXIsIHZlcnNpb24pOwotICAgIGlmICghcmVx
dWVzdCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBtX2Nvbm5lY3Rpb25Ub1NlcnZl
ci0+b3BlbkRhdGFiYXNlKCpyZXF1ZXN0KTsKLSAgICByZXR1cm4gcmVxdWVzdDsKKyAgICBhdXRv
IHJlcXVlc3QgPSBJREJPcGVuREJSZXF1ZXN0OjpjcmVhdGVPcGVuUmVxdWVzdChjb250ZXh0LCAq
dGhpcywgZGF0YWJhc2VJZGVudGlmaWVyLCB2ZXJzaW9uKTsKKyAgICBtX2Nvbm5lY3Rpb25Ub1Nl
cnZlci0+b3BlbkRhdGFiYXNlKHJlcXVlc3QuZ2V0KCkpOworICAgIHJldHVybiBXVEZNb3ZlKHJl
cXVlc3QpOwogfQogCiBSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCQ29ubmVjdGlvblByb3h5
OjpkZWxldGVEYXRhYmFzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBJ
REJEYXRhYmFzZUlkZW50aWZpZXImIGRhdGFiYXNlSWRlbnRpZmllcikKIHsKLSAgICAvLyBGSVhN
RTogR2V0IHJpZCBvZiB0aGUgbmVlZCBmb3IgSURCIG9iamVjdHMgdG8gaG9sZCBhIHJlZmVyZW5j
ZSB0byB0aGUgSURCQ29ubmVjdGlvblRvU2VydmVyLAotICAgIC8vIHdoaWNoIHdpbGwgZW5hYmxl
IHRoZW0gdG8gb3BlcmF0ZSBvbiBXb3JrZXIgdGhyZWFkcy4KKyAgICAvLyBGSVhNRTogSGFuZGxl
IFdvcmtlcnMKICAgICBpZiAoIWlzTWFpblRocmVhZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAotICAgIGF1dG8gcmVxdWVzdCA9IElEQk9wZW5EQlJlcXVlc3Q6Om1heWJlQ3JlYXRlRGVs
ZXRlUmVxdWVzdChjb250ZXh0LCBkYXRhYmFzZUlkZW50aWZpZXIpOwotICAgIGlmICghcmVxdWVz
dCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBtX2Nvbm5lY3Rpb25Ub1NlcnZlci0+
ZGVsZXRlRGF0YWJhc2UoKnJlcXVlc3QpOwotICAgIHJldHVybiByZXF1ZXN0OworICAgIGF1dG8g
cmVxdWVzdCA9IElEQk9wZW5EQlJlcXVlc3Q6OmNyZWF0ZURlbGV0ZVJlcXVlc3QoY29udGV4dCwg
KnRoaXMsIGRhdGFiYXNlSWRlbnRpZmllcik7CisgICAgbV9jb25uZWN0aW9uVG9TZXJ2ZXItPmRl
bGV0ZURhdGFiYXNlKHJlcXVlc3QuZ2V0KCkpOworICAgIHJldHVybiBXVEZNb3ZlKHJlcXVlc3Qp
OwogfQogCiB9IC8vIG5hbWVzYXBjZSBJREJDbGllbnQK
</data>

          </attachment>
      

    </bug>

</bugzilla>